Selective Encryption System and Method for I/O Operations
First Claim
1. A method for classifying data stored in a storage device of a computer comprising:
- compiling a database of identifiers of allocation units of general-use data, in which each allocation unit comprises a predetermined integral multiple number of minimum I/O units of the device;
automatically determining whether each of a plurality of test allocation units corresponds to general-use data by determining whether the test allocation unit corresponds to any identifier of allocation units of general-use data in the database.
0 Assignments
0 Petitions
Accused Products
Abstract
Upon occurrence of a trigger condition, writes of allocation units of data (including code) to a device, such as writes of blocks to a disk, are first encrypted. Each allocation unit is preferably a predetermined integral multiple number of minimum I/O units. A data structure is marked to indicate which units are encrypted. Upon reads from the device, only those allocation units marked as encrypted are decrypted. The disk protected by selective encryption is preferably the virtual disk of a virtual machine (VM). The trigger condition is preferably either that the virtual disk has been initialized or that the VM has been powered on. Mechanisms are also provided for selectively declassifying (storing in unencrypted form) already-encrypted, stored data, and for determining which data units represent public, general-use data units that do not need to be encrypted. The “encrypt-on-write” feature of the invention may be used in conjunction with a “copy-on-write” technique.
-
Citations
5 Claims
-
1. A method for classifying data stored in a storage device of a computer comprising:
-
compiling a database of identifiers of allocation units of general-use data, in which each allocation unit comprises a predetermined integral multiple number of minimum I/O units of the device; automatically determining whether each of a plurality of test allocation units corresponds to general-use data by determining whether the test allocation unit corresponds to any identifier of allocation units of general-use data in the database. - View Dependent Claims (2, 3, 4, 5)
-
Specification