Security System Using Physical Key for Cryptographic Processes
Claim Score by NHIP
Abstract
One embodiment of the invention is based on the recognition that by keeping the encryption key (DEK) in a key device, and using the key device to perform all encryption and decryption, where the DEK is not supplied to the computing system, the above noted security problems can be overcome. The encrypted information is stored in the computing system and not in the key device. However, without the key device, it is not possible to access the encrypted information stored in the computing system. Thus, the function of the key device is similar to that of a physical key used in daily life for unlocking a door or drawer, except that the user gains access to protected information instead of access to a building, drawer or car.

Term
Projected expiry 18 March 2031.
- Priority and filed
- Published
- Today
- Projected expiry
25 claims: 5 independent, 20 dependent
- 1Broadest claimClaim Score 83, broad(NHIP)A device for cryptographic process comprising:a cipher engine that encrypts or decrypts data from a host;a storage for storing cipher keys used in encryption and/or decryption of the data from the host, wherein said device does not store the data that is encrypted or decrypted by the cipher engine;and a controller that manages interactions of the cipher engine and the storage with the host.
- 11A host computing system having a memory and an operating system, said computing system running a computer program to create in the system a file that behaves like a disk drive to the operating system of the system for storing encrypted information sent to it by a key device that is connected to the system and that performs cryptographic processes, and to translate accesses to this file by the system into commands, wherein when a command to read or write is issued by the system to the file, the computer program when executed by the system will cause a cipher engine in the key device to perform encryption and/or decryption of data from such file and/or to be stored into such file.
- 18A method for cryptographic process comprising:supplying a key device including a cipher engine that encrypts or decrypts data from a host;and a storage for storing cipher keys used in encryption and/or decryption of the data from the host, wherein said device does not store the data that is encrypted or decrypted by the cipher engine;and supplying a storage medium storing a computer program for creating in the host a file that behaves like a disk drive to an operating system of the host, and for translating accesses to this file by the host into commands, wherein the cipher engine performs encryption and/or decryption of data from such file and/or to be stored into such file in response to the commands.
- 19A method for cryptographic process comprising:supplying a key device including a cipher engine that encrypts or decrypts data from a host;and a storage for storing cipher keys used in encryption and/or decryption of the data from the host, wherein said device does not store the data that is encrypted or decrypted by the cipher engine;and supplying information for obtaining a computer program for creating in the host a file that behaves like a disk drive to an operating system of the host, and for translating accesses to this file by the host into commands, wherein the cipher engine performs encryption and/or decryption of data from such file and/or to be stored into such file in response to the commands.
- 20A computer readable storage medium storing a computer program for use in a computing system having a memory and an operating system, wherein when the computer program is executed by the computing system, a file that behaves like a disk drive to the operating system of the system is created in the memory of the system for storing encrypted information sent to it by a key device that is connected to the system and that performs cryptographic processes, and accesses to this file by the system are translated into commands, wherein when a command to read or write is issued by the system to the file, the computer program when executed by the system will cause a cipher engine in the key device to perform encryption and/or decryption of data from such file and/or to be stored into such file.
Independent claims5
95 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
p-0002Encryption is the process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a data encryption key (DEK).
p-0003Encryption has long been associated with computers. Indeed, many early advances in computer technology were driven by war time efforts to encrypt and decrypt information. The guiding principle behind modern encryption is that the encryption method (algorithm) may be public knowledge. What makes the encryption secure is the existence of a key that is known only to the entities who encrypt or who are allowed to decrypt the encrypted information. The key must be guarded and held secret in order to protect the encrypted information—if an attacker learns the key, he can decrypt the information. For example, AES 128 encryption requires a digital key 128 bits long, and AES256 requires a key of 256 bits. If the key is known for a particular block of encrypted information, then the data can be decrypted.
p-0004Modern computer systems use a variety of encryption methods to secure the information stored on them, including methods that derive a key from a password supplied by the user. These methods all have a significant drawback: the program that is performing the encryption and decryption operate inside the computer environment. This means that the encryption logic, along with the encryption keys, are all stored in the computer RAM. Any method that can read that RAM can copy the encryption key, allowing an attacker to decrypt the protected information.
p-0005Under current common operating systems, access to read the key from the RAM might require “root” or “administrator” privileges. Such privileges may or may not require a password, which may or may not be the same password required to create the key. Thus, the security of the encrypted information is jeopardized unless all parts of the overall system security are tightly maintained.
p-0006Even worse, the key exists in RAM even after the computer's power is turned off. The RAM data decays slowly (over seconds or minutes) which allows an attacker an easy way to get a copy of the key: he simply powers off the computer, and then quickly boots his own program (from a USB key or a CDROM, for example) which scans and makes a copy of the memory as it was before the power-down. Once he has this copy (which takes only a few seconds), the attacker can analyze the entire RAM image at his leisure looking for potential keys. This is known as a “cold boot” attack.
p-0007Another possible attack is known as a “key logger”. Malicious software might be installed (e.g. from a virus) on a computer system to record all keystrokes entered on the keyboard. Passwords entered to unlock an encryption scheme are recorded along with everything else the user types. The logged key-strokes are subsequently sent to the attacker who then has the necessary password to bypass the security.
p-0008A low-tech version of a key-logger attack is someone looking over the shoulder of the user as he types his password. A slightly higher tech version involves using a video camera, possibly with mirrors for a bit of obfuscation, to record the typist's every move. It is also possible to analyze the low-level electronic noise that most keyboards and computers emit to learn what keys are being typed.
Encrypted External Drives
p-0009Encrypted external drives like USB flash keys do not store their encryption keys on the computer. All cryptographic functions are performed by the external device. Because of this, encrypted external drives offer more security than software encryption.
p-0010For an example of such approach, see US 2006/0242151 and US 2006/0239449.
p-0011Unfortunately, the user loses their data should the drive be lost or broken. Backups of the data are usually stored in the clear. Furthermore, after moving a private file to the encrypted drive, traces of the unencrypted file still remain on the originating computer.
p-0012Since data is stored on the external drive, space is limited by what the drive can hold. Upgrades are an additional cost. Encrypted drives usually employ password protection. Passwords are vulnerable to key-loggers, spy-ware, trojans, and hackers. A password may be compromised without the user's knowledge.
Key Stored on USB Devices
p-0013USB key devices have been proposed. These devices do not perform the encryption in the USB key. Instead, a factory-programmed DEK or user supplied DEK is stored on the USB key. This DEK is given to software when the key is plugged in. Software uses the DEK to perform the encryption and decryption. For an example of such approach, see US 2004/0250087A1.
p-0014Since the DEK is located in the computer during decryption, it is still vulnerable to attacks that compromise the computer system.
SUMMARY
p-0015The need for data protection is not limited to personal computers, but applies to many other computing systems such as cellular phones, iPads, game controllers, digital picture frames, personal digital assistants and other portable intelligent devices with data stored therein. As described herein below, computing systems include all such devices.
p-0016One embodiment of the invention is based on the recognition that by keeping the encryption key (DEK) in a key device, and using the key device to perform all encryption and decryption, where the DEK is not supplied to the computing system, the above noted security problems can be overcome. The encrypted information is stored in the computing system and not in the key device. However, without the key device, it is not possible to access the encrypted information stored in the computing system.
p-0017Thus, the function of the key device is similar to that of a physical key used in daily life for unlocking a door or drawer, except that the user gains access to protected information instead of access to a building, drawer or car.
p-0018One embodiment of the invention is directed to a device for cryptographic process, such as a key device. The device comprises a cipher engine that encrypts or decrypts data from a host computing system, a storage for storing cipher keys (DEK) used in encryption and/or decryption of the data from the host, and a controller that manages interactions of the cipher engine and the storage with the host. The device does not store therein the data that is encrypted or decrypted by the cipher engine, but sends the encrypted or decrypted data to the host computing system.
p-0019Software is installed in computer systems to work with the key device described above, to send data to the key device for encryption or decryption, so that the encrypted or decrypted data from the key device may be stored in computer systems. Such computing systems do not perform the encryption and/or decryption of the data which is performed exclusively by the key device. In this manner, the above described problems such as “cold boot” attack or key logger can be avoided. To store the encrypted data, a file is created in a memory of the computer system, as described below.
p-0020Thus, an embodiment of another aspect of the invention is directed to a host computing system having a memory and an operating system. The computing system executes a computer program to create in the system a file that behaves like a disk drive to the operating system of the system for storing encrypted information sent to it by a key device that is connected to the system and that performs cryptographic processes, and to translate accesses to this file by the system into commands, wherein when a command to read or write is issued by the computing system to the file, the computer program when executed by the computing system will cause a cipher engine in the key device to perform encryption and/or decryption of data from such file and/or to be stored into such file.
p-0021It is preferable to supply the user with both the key device and the computer program described above, so that the user can load the computer program into a computing system, and so that the above described cryptographic processes can be carried out for information protection. Thus, another embodiment of the invention is directed to supplying both the key device and the computer program described above. In one implementation of this embodiment, the computer program is supplied on a computer readable medium, such as a magnetic disk, magnetic tape, optical disk, flash memory or other types of non-volatile memory. In another implementation of this embodiment, the computer program may be downloaded from the world wide web through the internet, such as by using a link to a website where the link and instructions for the download are supplied on a storage medium such as an instruction manual or one of the above referenced computer readable media.
p-0022Yet another embodiment of the invention is directed to a computer readable medium storing a computer program for use in a computing system having a memory and an operating system, wherein when the computer program is executed by the computing system, a file that behaves like a disk drive to the operating system of the system is created in the memory of the system for storing encrypted information sent to it by a key device that is connected to the system and that performs cryptographic processes, and wherein accesses to this file by the system are translated into commands, so that when a command to read or write is issued by the system to the file, the computer program when executed by the system will cause a cipher engine in the key device to perform encryption and/or decryption of data from such file and/or to be stored into such file.
p-0023All patents, patent applications, articles, books, specifications, standards, other publications, documents and things referenced herein are hereby incorporated herein by this reference in their entirety for all purposes. To the extent of any inconsistency or conflict in the definition or use of a term between any of the incorporated publications, documents or things and the text of the present document, the definition or use of the term in the present document shall prevail.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0024<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram of a computing system, a storage medium storing a computer program and a key device to illustrate an embodiment of the invention.
p-0025<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram of the key device of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0026<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating the software components of the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref> in communication with the key device of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0027<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow chart illustrating an operation of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref> in connection with the key device of <figref idrefs="DRAWINGS">FIG. 1</figref> to create a disk encryption key (DEK) in the key device and a file-based-drive in the computing system.
p-0028<figref idrefs="DRAWINGS">FIG. 5</figref> is a flow chart illustrating an operation of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref> to create a DEK.
p-0029<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow chart illustrating an operation of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref> to create a file based-drive in the computing system for storing encrypted information.
p-0030<figref idrefs="DRAWINGS">FIGS. 7 and 8</figref> are flow charts illustrating write and read operations of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0031<figref idrefs="DRAWINGS">FIG. 9</figref> is a flow chart illustrating how the computing system recognizes a key device and allows the key device to operate when connected to the computing system without having to re-boot the computing system.
p-0032<figref idrefs="DRAWINGS">FIGS. 10 and 11</figref> are computer screen shots illustrating the effects when the key device is connected with and disconnected from the computing system.
p-0033<figref idrefs="DRAWINGS">FIGS. 12 and 13</figref> are computer screen shots illustrating the secure move, delete and copy features.
p-0034<figref idrefs="DRAWINGS">FIG. 14</figref> is a computer screen shot illustrating password entry.
p-0035<figref idrefs="DRAWINGS">FIG. 15</figref> is a computer screen shot illustrating the process for creating a new key device and a duplicate key device.
p-0036<figref idrefs="DRAWINGS">FIG. 16</figref> is a schematic view illustrating the creation of slave key devices from a master key.
p-0037<figref idrefs="DRAWINGS">FIGS. 17 and 18</figref> are schematic views illustrating the encryption and decryption of DEK using a password.
p-0038Identical components in this application are labeled by the same numerals.
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
p-0039<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram of a computing system <b>100</b>, a storage medium <b>102</b> storing a computer program and a key device <b>104</b> to illustrate an embodiment of the invention. Computing system <b>100</b> includes a memory <b>112</b>, a controller <b>114</b> such as a processor and operating system <b>116</b>. The computer program in medium <b>102</b> is supplied to computing system <b>100</b>, which creates a file for storing encrypted data from key device <b>104</b>. From the point of view of the operating system <b>116</b>, this file is a drive. For this reason, this file is also referred to as a file-based drive herein. When this file is shown on a graphical display, such as a computer screen, it appears as a logical drive. When data is stored in this file, the data is said to be stored in a partition of computing system <b>100</b>. Thus, the term file, file-based drive and partition are used interchangeably herein.
p-0040After the computer program in medium <b>102</b> is downloaded to computing system <b>100</b>, it is executed by controller <b>114</b> to perform the functions of the system <b>100</b> in the manner described below. The computing system creates the file-based drive for storing encrypted data from the key device <b>104</b>. The computing system <b>100</b> may then send data to the key device for encryption. After the data has been encrypted by the key device, the key device does not store the encrypted data in itself, but sends it back to the computing system <b>100</b>, which then stores it in the file-based drive that has been created. To decrypt the encrypted data in the file-based drive, the computing system <b>100</b> sends such data to the key device <b>104</b>. After the encrypted data has been decrypted by the key device, the key device sends it back to the computing system <b>100</b>. Preferably the key device <b>104</b> has a USB interface <b>118</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) that connects to system <b>100</b> through connector <b>120</b>. Interfaces other than USB may also be used, such as RFID, Smart Card, PCIe, and other interfaces.
p-0041Key device <b>104</b> also includes an encryption or cipher engine <b>120</b>, a memory <b>122</b> and controller <b>124</b> which preferably is a central processoring unit (CPU). When unencrypted data is sent by system <b>100</b> to device <b>104</b>, the engine <b>120</b> encrypts the data using a key (DEK) stored in memory <b>122</b> under the control of CPU <b>124</b>, and the encrypted data is returned to system <b>100</b>, again under the control of CPU <b>124</b>. Similarly, for decrypting encrypted data which is sent to device <b>104</b> by system <b>100</b>, engine <b>120</b> decrypts the data using a key (DEK) stored in memory <b>122</b> under the control of CPU <b>124</b>, and the decrypted data is returned to system <b>100</b>, under the control of CPU <b>124</b>.
p-0042Ways other than a storage medium <b>102</b> storing a computer program may be used for loading the computer program for creating the file-based drive, such as where the computer program is downloaded from a website using a link, where the link and instructions for the download are supplied on a storage medium such as an instruction manual or a computer readable media. The instructions for the download may also be supplied through the website.
p-0043<figref idrefs="DRAWINGS">FIG. 2</figref> is a block diagram of the key device <b>104</b> of <figref idrefs="DRAWINGS">FIG. 1</figref>. Key device <b>104</b> includes a host USB interface <b>118</b> connected to a host computing system <b>100</b>. Data and information related to keys is relayed through interface <b>118</b> between the system <b>100</b> on one hand and engine <b>120</b> and cipher and key manager <b>132</b> on the other. The cipher and key manager <b>132</b> may be one of the processes or applications carried out by the CPU (in the hardware) <b>124</b> of <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0044<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating the software components of the computer program in medium <b>102</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> in communication with the key device of <figref idrefs="DRAWINGS">FIG. 1</figref>. The computer program includes an installer <b>152</b>, a service <b>154</b> and a driver <b>156</b> for interacting with the key device <b>104</b>. The installer <b>152</b> initializes the key device <b>104</b> and creates a file in the directory of the computing system. Service <b>154</b> makes this file look and act like a disk drive to the operating system <b>116</b>. Driver <b>156</b> intercepts all accesses to and from the key device <b>104</b> and translates them to commands for the key device <b>104</b>, instructing it to encrypt or decrypt the data. The integration of these three parts creates a seamless experience for the user. The user accesses the encrypted partition/drive (which is just a file). These accesses are intercepted by service <b>154</b> and driver <b>156</b> and sent to the key device <b>104</b> for encryption or decryption.
p-0045In addition, the computer program in medium <b>102</b> includes a shell extension for the secure move, secure cut and paste, and secure delete functions described below. A password application in the program described below asks the user for his or her password (if enabled) whenever the key device <b>104</b> is plugged in to system <b>100</b>. Manager application (running on host computer) <b>132</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) is used to manage the size and number of encrypted partitions, password modification, and device duplication.
p-0046<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow chart illustrating an operation of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIGS. 1 and 3</figref> in connection with the key device of <figref idrefs="DRAWINGS">FIG. 1</figref> to create a disk encryption key (DEK) in the key device and a file-based-drive in the computing system. In block <b>202</b>, installer <b>152</b> asks for and collects, from the user of system <b>100</b>, device and disk installation parameters such as options regarding the DEK (e.g. whether a key recovery phrase will be used, options regarding duplicate and master keys, non-recovery keys, passwords for key generation and so on), and the file-based-drive (e.g. size of partition). The user is then queried as to whether a DEK is to be created (diamond <b>204</b>). If the answer is yes, then the installer sends command to device <b>104</b> to generate a DEK (block <b>206</b>). The process of file creation will be described below. After the file or file-based-drive is created, the installer is so notified by device <b>104</b>. The user is then queried as to whether a file-based-drive in the computing system is to be created (diamond <b>208</b>). If the answer is yes, then the installer <b>152</b>, a service <b>154</b> and a driver <b>156</b> will cooperate with device <b>104</b> to create a file or file-based-drive visible or recognizable by the operating system <b>116</b> as described below (block <b>210</b>). The key device <b>104</b> and system <b>100</b> are then ready to perform data protection through cryptographic processes.
p-0047<figref idrefs="DRAWINGS">FIG. 5</figref> is a flow chart illustrating an operation of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref> to create a DEK. After the user indicates that a DEK is to be created from diamond <b>204</b>, the installer sends a DEK command to the service (block <b>222</b>) which passes it to the driver (block <b>224</b>). The driver passes the set DEK command to the device (block <b>226</b>). The device <b>104</b> creates the DEK under the control of manager <b>132</b> in CPU <b>124</b> (block <b>228</b>). The DEK is stored in the device <b>104</b> and remains in device <b>104</b> and not sent to the system <b>100</b> to perform cryptographic processes.
p-0048<figref idrefs="DRAWINGS">FIG. 6</figref> is a flow chart illustrating an operation of the computing system <b>100</b> executing the computer program in medium <b>102</b> of <figref idrefs="DRAWINGS">FIG. 1</figref> to create a file based-drive in the computing system for storing encrypted information. After the user indicates that a file-based-drive in the computing system is to be created from diamond <b>208</b>, the installer sends a Create Disk Image File Command to the service (block <b>232</b>). The service creates a disk image blank file (block <b>234</b>) with a file identifier from the device <b>104</b>, noting the file name and directory pathway. The service notifies the installer after the file has been created, and the installer then sends a Disk Attach Command to service <b>154</b> (block <b>236</b>). Service <b>154</b> passes this command to driver <b>156</b> (block <b>238</b>), which creates from the disk image blank file a file-based drive (block <b>240</b>), so that to the operating system, this file appears to be a logical drive, where logical block addresses (“LBA”) in the file system of the operating system <b>116</b> are mapped on a one-to-one basis to offsets in this file-based drive, or file, which has the file name and pathway in the operating system directory. The operating system is now able to access the file so created. The installer then sends Disk Initialize Command to the service (block <b>242</b>), which initializes and formats the file-based drive, or file (block <b>244</b>). This file-based drive, or file, is the partition for storing encrypted data.
p-0049<figref idrefs="DRAWINGS">FIGS. 7 and 8</figref> are flow charts illustrating write and read operations of the computing system executing the computer program of <figref idrefs="DRAWINGS">FIG. 1</figref>. As shown in <figref idrefs="DRAWINGS">FIG. 7</figref>, to encrypt data, the operating system submits data to be encrypted and a write command for writing the encrypted data to certain LBA to the driver <b>156</b> (block <b>252</b>), which locates the file-based drive using the file name and pathway in the operating system directory, ascertains the offset of file-based file corresponding to the LBA of the write command, and sends the command and data to the key device <b>104</b> (block <b>254</b>). Device <b>104</b> encrypts the data from the computing system <b>100</b> under the control of manager <b>132</b> in CPU <b>124</b> (block <b>256</b>) and returns the encrypted data to driver <b>156</b> (block <b>258</b>). Manager <b>132</b> selects a key from memory <b>122</b>, causes the selected key to be sent from the memory to engine <b>120</b>, which performs the encryption of the data from the operating system using the selected key. The driver then writes the encrypted data to the file-based-drive it located at the offset address corresponding to the LBA of the write command (block <b>260</b>).
p-0050For decrypting encrypted data, as shown in <figref idrefs="DRAWINGS">FIG. 8</figref>, the operating system submits a read command for reading data from certain LBA to the driver <b>156</b> (block <b>262</b>), which ascertains the offset of the file-based file corresponding to the LBA of the read command, and sends the command to the key device <b>104</b> along with the encrypted data located at the offset address corresponding to the LBA of the read command (blocks <b>264</b>, <b>266</b>). Device <b>104</b> decrypts the data from the computing system <b>100</b> using a key in memory <b>122</b> selected by manager <b>132</b> (block <b>268</b>) and returns (block <b>270</b>) the decrypted data to the driver which in turn returns it to the operating system (block <b>272</b>).
p-0051The computer program in medium <b>102</b> in <figref idrefs="DRAWINGS">FIG. 1</figref> also enables the controller or CPU <b>124</b> of the key device to manage interactions of the cipher engine <b>120</b> and the storage <b>122</b> with the host the computing system <b>100</b> as soon as the device is connected to system <b>100</b> without the system <b>100</b> having to re-boot. This is illustrated in the flow chart <figref idrefs="DRAWINGS">FIG. 9</figref>.
p-0052When the key device is plugged in (block <b>302</b>), the operating system <b>116</b> starts the driver <b>156</b> (USB enumeration) (block <b>304</b>). The driver tells the service that a key device has been plugged in (block <b>306</b>). The service queries the device <b>104</b> for identifier (block <b>308</b>). This request is transmitted by the driver to the device <b>104</b> (block <b>310</b>). The identifier is returned by the device <b>104</b> (block <b>312</b>), which identifier is carried or transmitted by the driver to the service (<b>314</b>). The service searches the memory <b>112</b> in the system <b>100</b> for a file-based-drive with such identifier (block <b>318</b>). When the identifier matches one in memory <b>112</b>, the service informs the driver and the driver in turn informs the operating system <b>116</b> that a USB drive has been plugged or inserted to the system <b>100</b> (block <b>320</b>), even though the device <b>104</b> is not a USB mass storage device. The operating system <b>116</b> will then automatically read from the device <b>104</b> and display the drive on a display or any other kind of graphic user interface for interaction with users. This allows the user to use the key device for cryptographic processes without having to re-boot system <b>100</b> as soon as device <b>104</b> is connected to system <b>100</b>.
p-0053When device <b>104</b> is disconnected from system <b>100</b>, this is detected by driver <b>156</b>, which informs the operating system <b>116</b>, which will then remove the drive from the display or any other kind of graphic user interface. These features are illustrated in <figref idrefs="DRAWINGS">FIGS. 10 and 11</figref>, which are computer screen shots. As shown in <figref idrefs="DRAWINGS">FIG. 10</figref>, the display screen of system <b>100</b> displays a drive “CipherGuard Drive” when device <b>104</b> is connected to system <b>100</b>. But once device <b>104</b> is disconnected from system <b>100</b>, this drive disappears, as illustrated in <figref idrefs="DRAWINGS">FIG. 11</figref>. Once the device <b>104</b> is disconnected from system <b>100</b>, the data in the file-based drive in system <b>100</b> is no longer accessible to users, since system <b>100</b> does not have access to the DEK.
p-0054The computer program in medium <b>102</b> includes a shell extension for the secure move, secure cut and paste, and secure delete functions described below. Secure move, paste, and delete is a shell extension to Windows. They can be invoked only when the key device <b>104</b> is connected to the system <b>100</b>.
p-0055When the user selects one of these options (Secure move, paste, and delete), system <b>100</b> will complete the requested transfer (move or paste), and then the program in medium <b>102</b> as executed by controller <b>114</b> will cause the operating system <b>116</b> to automatically overwrite the original file with garbage data. After this is done, the program in medium <b>102</b> as executed by controller <b>114</b> will request the operating system <b>116</b> to delete the data that is in the original file in a manner that the deleted data does not end up in the Recycle Bin.
p-0056The feature above is illustrated in <figref idrefs="DRAWINGS">FIGS. 12 and 13</figref>, which are computer screen shots. As shown in <figref idrefs="DRAWINGS">FIG. 12</figref>, once the device <b>104</b> is connected to system <b>100</b>, in addition to the various options for manipulating data offered by system <b>100</b>, an additional option “secure delete” is offered to the user. If this option is selected, then the program in medium <b>102</b> as executed by controller <b>114</b> will request the operating system <b>116</b> to delete the data by overwriting it with garbage data, so that there will not be any trace of the original data in system <b>100</b> at all, whether in the recycle bin or otherwise. <figref idrefs="DRAWINGS">FIG. 13</figref> illustrates the option of “secure move” by which the user may securely move data from an unsecured partition or file into the file-based-drive “CipherGuard Drive.” Once this is done, the original file or data in the unsecured partition or file will be automatically overwritten with garbage data, leaving no trace of it.
DEK Generation
p-0057A DEK is first generated and stored in memory <b>122</b> of device <b>104</b> in plaintext form. The DEK is stored in a secure partition in device <b>104</b>, such as memory <b>122</b>, and not supplied to any entity outside of device <b>104</b>. The DEK may be stored in Flash memory in a standard way. A skilled attacker can retrieve the saved DEK, but he would not really need to as he already has the key. To protect the DEK in case an attacker obtains possession of the device, passwords may be used to encrypt the DEK as described below, so that confidential and protected data retrieval is not possible without the password. In case the user loses the device <b>104</b>, then the encrypted data stored in the file-based-drive in system <b>100</b> cannot be decrypted and accessed. To enable the user to recover the DEK, in one embodiment, a seed such as a seed value is provided by the user for generating the DEK. This seed value may then be used by the user to regenerate the same DEK value later on. In one implementation of this embodiment, the seed value may be a recovery phrase comprising a string of characters and numbers. The DEK may be generated from this phrase by a known encryption algorithm stored in memory <b>122</b> and sent to engine <b>120</b> for generating the DEK, so that the same DEK may be generated in the future using the same recovery phrase and the same encryption algorithm. As long as the user still knows or has access to the recovery phrase, the DEK can be regenerated and used to recover the encrypted data.
p-0058The recovery phrase may also be used for generating duplicate key devices. This feature is illustrated in <figref idrefs="DRAWINGS">FIG. 15</figref>, which is a computer screen shot. System <b>100</b> queries the user as to whether a duplicate key device or a new key device is desired. If the user selects to make a duplicate key device, the user will be asked to input the recovery phrase to create a duplicate key device. The recovery phrase is passed from system <b>100</b> to a new key device of the type shown in <figref idrefs="DRAWINGS">FIG. 2</figref> to generate the same DEK as the original key device and stored in the new key device, so that the new key device becomes a duplicate key device to the original key device.
p-0059Where the user desires to make a new key device using a DEK that is different from other key devices, the user is asked to input a new passphrase to generate the DEK.
p-0060When the user prefers to generate a DEK stored in the key device that cannot be recovered when the device is lost, this indication is collected by the installer <b>152</b> in block <b>202</b>, and passed to device <b>104</b>. Manager <b>132</b> in controller or CPU <b>124</b> then causes the random number generator <b>103</b> in <figref idrefs="DRAWINGS">FIG. 2</figref> to generate a random number. The manager <b>132</b> then sends this number to engine <b>120</b> for generating a DEK which is then stored in memory <b>122</b>.
Master and Slave Keys
p-0061The master key has a secret DEK. This is stored in the master key's hardware in device <b>104</b>. Each slave key device has a slave ID. This slave ID is public, and is actually part of the filename used for the filed-based-drive. The slave DEK (kept in the slave key device's hardware), is generated by engine <b>120</b> under the control of manager <b>132</b> in CPU <b>124</b>, by encrypting the public slave ID with the secret master DEK as illustrated in <figref idrefs="DRAWINGS">FIG. 16</figref>. Thus, the master key can be used to generate the DEKs of all of the slave key devices, using the secret DEK stored in the master key's hardware. For the master key to recreate the slave DEK, it only needs the slave ID (which is public). Once the Master key has the slave DEK, it can duplicate a slave key or read data protected by the slave key. Having the slave ID by itself is no good without the master DEK.
Password Protection
p-0062In the above data protection scheme, no password is used at all. For some users accustomed to the use of passwords, system <b>100</b> and device <b>104</b> may be configured to allow the use of passwords for encrypting the DEK. This is illustrated in <figref idrefs="DRAWINGS">FIG. 14</figref>, which is a computer screen shot. As shown in <figref idrefs="DRAWINGS">FIG. 14</figref>, the user is asked by system <b>100</b> to input a password, which is then used by system <b>100</b> and device <b>104</b> for encrypting the DEK.
p-0063Normally, the DEK is stored in the key device <b>104</b> in plaintext. Where it is desirable to encrypt the DEK, the DEK generated is only temporarily stored in memory <b>122</b> of device <b>104</b> in plaintext form. When password protection is enabled, an encrypted version of the DEK using the password is stored in the key device <b>104</b> instead. This means that the DEK is protected even if an attacker gets hold of the key device. The encryption and decryption of the DEK is illustrated in the schematic diagrams of <figref idrefs="DRAWINGS">FIGS. 15 and 16</figref>.
p-0064As shown in <figref idrefs="DRAWINGS">FIG. 15</figref>, the password is used in the engine <b>120</b> of <figref idrefs="DRAWINGS">FIGS. 2 and 15</figref> to encrypt a plaintext DEK stored in memory <b>122</b> in device <b>104</b>, to produce an encrypted DEK which is also stored in memory <b>122</b> of device <b>104</b>, overwriting the plaintext DEK. Thus, the system <b>100</b> passes the password inputted by the user to device <b>104</b> through interface <b>118</b> and to manager <b>132</b>. Manager (inside the device <b>104</b>) <b>132</b> fetches the plaintext DEK stored in memory <b>122</b>, and sends both the plaintext DEK and password to engine <b>120</b>, which performs AES encryption of the DEK using the password under the control of manager <b>132</b>. The encrypted DEK is then stored in memory, overwriting the plaintext DEK <b>122</b>.
p-0065When it is desirable to access the DEK value for cryptographic processes, the user will need to again input the correct password to system <b>100</b>. System <b>100</b> passes the password inputted by the user to device <b>104</b> through interface <b>118</b> and to manager <b>132</b>. Manager <b>132</b> fetches the encrypted DEK stored in memory <b>122</b>, and sends both the encrypted DEK and password to engine <b>120</b>, which performs AES decryption of the DEK using the password under the control of manager <b>132</b> to obtain the plaintext DEK, as illustrated in <figref idrefs="DRAWINGS">FIG. 16</figref>. The plaintext DEK is then temporarily used in cryptographic processes, after which the plaintext DEK is discarded and not stored.
p-0066The embodiments of this invention secure the private data on a computer with a physical key. When the key is inserted in a computer, an encrypted partition appears that the user can access like any other drive. Accesses to this partition are automatically encrypted and decrypted in the background by the key itself The encrypted partition can be used to store applications as well as data. Without the key, the encrypted partition remains in the computer, but does not appear to the user.
p-0067Like a physical key, the embodiments of this invention do not require passwords (though they can also be used). Like a physical key, duplicate and master override keys can be created. Like a physical key, the lock mechanism can be changed if the key is lost.
p-0068The invention prevents these types of attack (and others) by sequestering not only the encryption key, but also the logic that uses the key (the encryption and decryption logic) in a separate, secure hardware module (the ‘Device’). Access is controlled by the Device to prevent attackers from learning the secret key.
p-0069Storing encrypted data on the computer's hard drive has the following advantages:
p-00701. The protected data is recoverable should the user lose or break the key device.
p-00712. The amount of encrypted storage space is only limited by the space on the user's computer. Encrypted partitions can be expanded or added at any time without additional expense.
p-00723. Backups are encrypted.
p-0073Having an external device perform the cryptographic functions has the following advantages:
p-00741. The encryption key is hidden from the computer itself. This protects it from hackers, key-loggers, spyware, malware, and other attacks on the computer.
p-00752. The external device acts like a key. It can be inserted or removed at anytime. There is no password or fingerprint logon required. When removed, the encrypted partition just disappears from the computer. This allows other people to use the computer without being able to read the encrypted data.
p-0076Not relying on passwords has the following advantages:
p-00771. The user doesn't have to remember another password. There is nothing to write down or forget.
p-00782. As a physical device, the user knows if it is lost. With passwords, the user's private data may have already been compromised without his knowledge.
p-00793. As physical devices, the embodiments of this invention are not vulnerable to key-loggers, hackers, etc.
p-00804. Users are familiar with the key and lock usage model
p-0081The embodiments of this invention also combine the following features:
p-00821. Optional password protection for users not comfortable with the device-only us-age model
p-00832. Secure Move, Secure Cut and Paste, and Secure Delete to remove traces the unencrypted file from the computer.
p-00843. Secure disposal—once the recovery pass-phrase is changed in the key device, the encrypted data is no longer accessible. This is a 30 second process.
p-00854. The embodiments of this invention can change the encryption used to protect data. This is similar to changing the locks when a physical key is lost.
p-00865. The embodiments of this invention allow for easy duplication of keys. This is for lost mitigation as well as allowing members of the same team access the same encrypted files.
p-00876. The embodiments of this invention allow for the creation of a master key. Users can have their own keys access their own data. Their manager can have a master key that over-rides the encryption on the individual keys.
p-00887. The embodiments of this invention can monitor for periods of inactivity. If it encounters a pre-defined inactivity interval, it can request the user for a password.
p-00898. The embodiments of this invention can be used to encrypt individual files and folders. This is useful for sharing files over email with someone holding a duplicate key or for individual file back ups.
p-00909. The installation takes less than a minute. Many encryption tools take hours to install.
p-0091While the invention has been described above by reference to various embodiments, it will be understood that changes and modifications may be made without departing from the scope of the invention, which is to be defined only by the appended claims and their equivalents.
Contents4
14 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14
Every citation, both waysCites: the store holds 23 of 24
| Document | Relation | Office | Cited during |
|---|---|---|---|
| CN104615929A | Cited by | China | Search report |
| US10445510B2 | Cited by | United States of America | Applicant |
| WO2020067616A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10425225B1 | Cited by | United States of America | Applicant |
| US10389523B2 | Cited by | United States of America | Applicant |
| US10764047B2 | Cited by | United States of America | Applicant |
| US9887843B1 | Cited by | United States of America | Search report |
| CN108055123A | Cited by | China | Search report |
| EP2869232A1 | Cited by | European Patent Office (EPO) | Search report |
| WO2017122950A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10084597B1 | Cited by | United States of America | Applicant |
| US10313123B1 | Cited by | United States of America | Search report |
| US9405913B2 | Cited by | United States of America | Search report |
| US10263778B1 | Cited by | United States of America | Applicant |
| WO2017183799A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2015161392A1 | Cited by | United States of America | Pre-grant |
| US2017344280A1 | Cited by | United States of America | Search report |
| US2017344280A1 | Cited by | United States of America | Search report |
| US10887294B2 | Cited by | United States of America | Search report |
| US2003046568A1 | Cites | United States of America | Pre-grant |
| US2003095659A1 | Cites | United States of America | Pre-grant |
| US2003110382A1 | Cites | United States of America | Pre-grant |
| US2004206812A1 | Cites | United States of America | Pre-grant |
| US2004247129A1 | Cites | United States of America | Pre-grant |
| US2004250087A1 | Cites | United States of America | Pre-grant |
| US2005086471A1 | Cites | United States of America | Pre-grant |
| US2005175182A1 | Cites | United States of America | Pre-grant |
| US2006239449A1 | Cites | United States of America | Pre-grant |
| US2006242151A1 | Cites | United States of America | Pre-grant |
| US2008059379A1 | Cites | United States of America | Pre-grant |
| US2010281479A1 | Cites | United States of America | Pre-grant |
| US5193184A | Cites | United States of America | Pre-grant |
| US5623546A | Cites | United States of America | Pre-grant |
| US5623637A | Cites | United States of America | Pre-grant |
| US5802175A | Cites | United States of America | Pre-grant |
| US5889866A | Cites | United States of America | Pre-grant |
| US6351813B1 | Cites | United States of America | Pre-grant |
| US6567794B1 | Cites | United States of America | Pre-grant |
| US6577734B1 | Cites | United States of America | Pre-grant |
| US6609199B1 | Cites | United States of America | Pre-grant |
| US6708272B1 | Cites | United States of America | Pre-grant |
| US7174628B1 | Cites | United States of America | Pre-grant |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 201113051829 | United States of America | A | |
| US201113051829 | – | – | – |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication
- 20120237024
- Publication, DOCDB
- 2012237024
- Publication, EPODOC
- US2012237024
- Application
- 13051829
- Application, DOCDB
- 201113051829
- Application, EPODOC
- US201113051829
Titles
- English
- Security System Using Physical Key for Cryptographic Processes
Classification
- CPC, 3
- H04L9/0897
- H04L9/0869
- H04L9/0877
- IPC, 2
- H04L9 18
- H04L9 00
- USPC, 2
- 380044000
- 380277000