ConceptioArchiveGoogle Patents
Google Patentsopen access

Key encryption and decryption — Intrenational Business Machines Corporation (US10108558B2)

Intrenational Business Machines Corporation · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
patent, google patents, intellectual property, US10108558B2, Intrenational Business Machines Corporation, Paul M. Greco, en, 2018

ABSTRACT

Abstract

Provided is a data storage drive for encrypting data, comprising a microprocessor and circuitry coupled to the microprocessor and adapted to receive a session encrypted data key and to decrypt the session encrypted data key using a session key, wherein a result is a data key that is capable of being used to encrypt clear text and to decrypt cipher text written to a storage medium. Also provided is a system, comprising a microprocessor and circuitry coupled to the microprocessor and adapted to receive a session encrypted data key and to decrypt the session encrypted data key using a private key, wherein a result is a secret key that is capable of being used to encrypt clear text and to decrypt cipher text written to a storage medium.

Description

BACKGROUND

1. Field

Embodiments of the invention relate to key encryption and decryption.

2. Description of the Related Art

Data storage drives (e.g. tape drives) are known for providing cost effective storage and retrieval of large quantities of data. The data in data storage drives is stored on data storage media that are, in turn, stored in storage bins having storage shelves or the like inside the data storage drive in a fashion that renders the media, and its resident data, accessible for physical retrieval. Such media is commonly termed “removable media.” Data storage media may comprise any type of media on which data may be stored and which may serve as removable media, including but not limited to magnetic media (such as magnetic tape or disks), optical media (such as optical tape or disks), electronic media (such as PROM, EEPROM, flash PROM, Compactflash™, Smartmedia™, Memory Stick™, etc.), or other suitable media. Typically, the data stored in data storage drives is resident on data storage media that is contained within a cartridge and referred to as a data storage media cartridge. An example of a data storage media cartridge that is widely employed in data storage drives for mass data storage is a magnetic tape cartridge.

In some conventional systems, a host computer sends encrypted data to a data storage drive. The encrypted data is stored on the data storage media. However, for situations in which data is received unencrypted at the data storage drive, there is a need in the art for encrypting the data prior to storage on the data storage media.

SUMMARY OF EMBODIMENTS OF THE INVENTION

Provided is a data storage drive for encrypting data, comprising a microprocessor and circuitry coupled to the microprocessor and adapted to receive a session encrypted data key and to decrypt the session encrypted data key using a session key, wherein a result is a data key that is capable of being used to encrypt clear text and to decrypt cipher text written to a storage medium.

Also provided is a system, comprising a microprocessor and circuitry coupled to the microprocessor and adapted to receive a session encrypted data key and to decrypt the session encrypted data key using a private key, wherein a result is a secret key that is capable of being used to encrypt clear text and to decrypt cipher text written to a storage medium.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers represent corresponding parts throughout:

FIG. 1 illustrates details of a computing architecture in accordance with certain embodiments.

FIG. 2 illustrates a hardware block diagram of a symmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments.

FIG. 3 illustrates a hardware block diagram of an asymmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several embodiments of the invention. It is understood that other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the invention.

Certain embodiments provide a symmetric encryption circuit that receives a session encrypted data key (SEDK) and a session key. The session key is used to unwrap the session encrypted data key to produce a data key, wherein the data key is capable of being used to encrypt clear text input to a data storage drive for storage on a data storage medium and to decrypt cipher text read from a data storage medium and that is to be output to a host. The symmetric encryption circuit enables unwrapping the session encrypted data key internal to an Application Specific Integrated Circuit (ASIC) such that the result of the decryption (i.e. unwrapping), which is a data key, is not accessible external to the ASIC.

In certain embodiments, it is assumed that any eavesdropper could know the SEDK and that the key required to decrypt the SEDK, the session key, was either passed to the data storage drive over some secure link (e.g. with IP security (IPsec), Secure Sockets Layer (SSL), or Transport Layer Security (TLS)) or somehow known to the ASIC and the sender before any eavesdropper could listen.

When the SEDK is wrapped with symmetric encryption, a symmetric decryption is required, and embodiments provide hardware in which multiplexors (MUXes) are controlled so that the value unwrapped from the SEDK, the data key that is used to encrypt or decrypt user data, is not accessible to an entity outside the ASIC (e.g. by the microprocessor). In this case, the controls for the multiplexors are intertwined such that if one multiplexor selects a certain input, another multiplexor selects a certain input.

Certain embodiments provide an asymmetric encryption circuit. When the SEDK is wrapped with asymmetric encryption, an asymmetric decryption is required, typically using the private key of a public-private key pair set. In this case the private key may only be accessible by hardware internal to the ASIC, and the requirements to intertwine the controls for the multiplexors is much reduced—one only need assure that the private key, and the result of the decryption with the private key, is not accessible external to the ASIC.

FIG. 1 illustrates details of a computing architecture in accordance with certain embodiments. A host 100 is connected via a communication path 190 to a data storage drive 120 . The host 100 includes one or more applications 110 . In certain embodiments, the data storage drive 120 may reside in a data storage library, while, in other embodiments, the data storage drive 120 does not reside in a data storage library.

The data storage drive 120 includes an encryption circuit 130 and data storage media 170 . The encryption circuit 130 includes a microprocessor 140 , a host attachment 142 (e.g. a Fibre Channel (FC) chip, Serial Attached SCSI (SAS), parallel SCSI, Enterprise Systems Connection (ESCON), Fiber Connectivity (FICON), etc.)), a data flow chip 144 , memory 146 , and firmware 150 . In certain embodiments, the encryption circuit 130 is a symmetric encryption circuit, and in certain alternative embodiments, the encryption circuit 130 is an asymmetric encryption circuit. A chip may be described as providing logic circuitry that implements some functionality. The data flow chip 144 enables data from the microprocessor 140 or host attachment 142 to be encrypted and stored in the data storage media 170 . The data flow chip 144 also enables the encrypted data from the data storage drive 120 to be decrypted. In certain embodiments, the data flow chip 144 is an ASIC. In certain embodiments, the microprocessor 140 is part of the circuitry of the data flow chip 144 .

The data storage drive 120 is also connected to a key manager 160 , which includes devices 164 . The key manager 160 generates keys that may be used to encrypt data using the data flow circuitry 144 .

The host 100 , data storage drive 120 , and key manager 160 may each comprise any code running on a computing device known in the art, such as a server, mainframe, workstation, personal computer, hand held computer, laptop telephony device, network appliance, etc.

The communication path 190 may comprise, for example, any type of network, such as a Storage Area Network (SAN), a peer-to-peer network, a spoke and hub network, a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, an Intranet, etc.

FIG. 2 illustrates a hardware block diagram of a symmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments. In the hardware block diagram, a microprocessor 140 , a host attachment 142 , and a data flow chip 144 are coupled to each other.

The data flow chip 144 may include a random seed generator 220 that generates random numbers. The data flow chip 144 may also include a circuit which can check the root Certificate of Authority (CA), check block 214 , that checks that a signature (on a message or certificate) can be traced back to a root certificate of authority signature.

The data flow chip 144 may include several multiplexors (MUXes), depending on the level of flexibility required. A multiplexor may be described as device that combines (“multiplexes”) signals for transmission over a single medium. Certain embodiments may implement Advanced Encryption Standard (AES) encryption, which is a subset of symmetric secret-key cryptography, for encrypting user data which is written to a storage medium. The same algorithm, AES, may also be used to wrap data keys into SEDKs, for exchange of key material between the key manager 160 and the data storage drive 120 . Alternatively asymmetric encryption, such as RSA or ECC, may be used to wrap symmetric AES data keys to create SEDKs. The AES was adopted by the National Institute of Standards and Technology (NIST) as US Federal Information Processing Standard (FIPS) PUB 197 on Nov. 26, 2001. Certain embodiments implement AES, which may be used to encrypt user data, include Galois/Counter Mode (GCM) Message Authentication Code (MAC) by encrypting data with a GCM key. GCM is further described in “The Galois/Counter Mode of Operation (GCM)” by David A. McGrew and John Viega, May 31, 2005.

The data flow chip 144 includes MUX 0 230 (i.e. a first multiplexor), which, in certain embodiments, selects one of four keys to be used as a GCM key. In certain embodiments, MUX 0 230 selects one of the following four keys: a session key, a Data Key 1 (sometimes referred to as “Backup” Data Key 1 ), a Data Key 2 (sometimes referred to as “Standard” Data Key 2 ), or a Secret Key. The session key is write only an

BACKGROUND

1. Field

Embodiments of the invention relate to key encryption and decryption.

2. Description of the Related Art

Data storage drives (e.g. tape drives) are known for providing cost effective storage and retrieval of large quantities of data. The data in data storage drives is stored on data storage media that are, in turn, stored in storage bins having storage shelves or the like inside the data storage drive in a fashion that renders the media, and its resident data, accessible for physical retrieval. Such media is commonly termed “removable media.” Data storage media may comprise any type of media on which data may be stored and which may serve as removable media, including but not limited to magnetic media (such as magnetic tape or disks), optical media (such as optical tape or disks), electronic media (such as PROM, EEPROM, flash PROM, Compactflash™, Smartmedia™, Memory Stick™, etc.), or other suitable media. Typically, the data stored in data storage drives is resident on data storage media that is contained within a cartridge and referred to as a data storage media cartridge. An example of a data storage media cartridge that is widely employed in data storage drives for mass data storage is a magnetic tape cartridge.

In some conventional systems, a host computer sends encrypted data to a data storage drive. The encrypted data is stored on the data storage media. However, for situations in which data is received unencrypted at the data storage drive, there is a need in the art for encrypting the data prior to storage on the data storage media.

SUMMARY OF EMBODIMENTS OF THE INVENTION

Provided is a data storage drive for encrypting data, comprising a microprocessor and circuitry coupled to the microprocessor and adapted to receive a session encrypted data key and to decrypt the session encrypted data key using a session key, wherein a result is a data key that is capable of being used to encrypt clear text and to decrypt cipher text written to a storage medium.

Also provided is a system, comprising a microprocessor and circuitry coupled to the microprocessor and adapted to receive a session encrypted data key and to decrypt the session encrypted data key using a private key, wherein a result is a secret key that is capable of being used to encrypt clear text and to decrypt cipher text written to a storage medium.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers represent corresponding parts throughout:

FIG. 1 illustrates details of a computing architecture in accordance with certain embodiments.

FIG. 2 illustrates a hardware block diagram of a symmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments.

FIG. 3 illustrates a hardware block diagram of an asymmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several embodiments of the invention. It is understood that other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the invention.

Certain embodiments provide a symmetric encryption circuit that receives a session encrypted data key (SEDK) and a session key. The session key is used to unwrap the session encrypted data key to produce a data key, wherein the data key is capable of being used to encrypt clear text input to a data storage drive for storage on a data storage medium and to decrypt cipher text read from a data storage medium and that is to be output to a host. The symmetric encryption circuit enables unwrapping the session encrypted data key internal to an Application Specific Integrated Circuit (ASIC) such that the result of the decryption (i.e. unwrapping), which is a data key, is not accessible external to the ASIC.

In certain embodiments, it is assumed that any eavesdropper could know the SEDK and that the key required to decrypt the SEDK, the session key, was either passed to the data storage drive over some secure link (e.g. with IP security (IPsec), Secure Sockets Layer (SSL), or Transport Layer Security (TLS)) or somehow known to the ASIC and the sender before any eavesdropper could listen.

When the SEDK is wrapped with symmetric encryption, a symmetric decryption is required, and embodiments provide hardware in which multiplexors (MUXes) are controlled so that the value unwrapped from the SEDK, the data key that is used to encrypt or decrypt user data, is not accessible to an entity outside the ASIC (e.g. by the microprocessor). In this case, the controls for the multiplexors are intertwined such that if one multiplexor selects a certain input, another multiplexor selects a certain input.

Certain embodiments provide an asymmetric encryption circuit. When the SEDK is wrapped with asymmetric encryption, an asymmetric decryption is required, typically using the private key of a public-private key pair set. In this case the private key may only be accessible by hardware internal to the ASIC, and the requirements to intertwine the controls for the multiplexors is much reduced—one only need assure that the private key, and the result of the decryption with the private key, is not accessible external to the ASIC.

FIG. 1 illustrates details of a computing architecture in accordance with certain embodiments. A host 100 is connected via a communication path 190 to a data storage drive 120 . The host 100 includes one or more applications 110 . In certain embodiments, the data storage drive 120 may reside in a data storage library, while, in other embodiments, the data storage drive 120 does not reside in a data storage library.

The data storage drive 120 includes an encryption circuit 130 and data storage media 170 . The encryption circuit 130 includes a microprocessor 140 , a host attachment 142 (e.g. a Fibre Channel (FC) chip, Serial Attached SCSI (SAS), parallel SCSI, Enterprise Systems Connection (ESCON), Fiber Connectivity (FICON), etc.)), a data flow chip 144 , memory 146 , and firmware 150 . In certain embodiments, the encryption circuit 130 is a symmetric encryption circuit, and in certain alternative embodiments, the encryption circuit 130 is an asymmetric encryption circuit. A chip may be described as providing logic circuitry that implements some functionality. The data flow chip 144 enables data from the microprocessor 140 or host attachment 142 to be encrypted and stored in the data storage media 170 . The data flow chip 144 also enables the encrypted data from the data storage drive 120 to be decrypted. In certain embodiments, the data flow chip 144 is an ASIC. In certain embodiments, the microprocessor 140 is part of the circuitry of the data flow chip 144 .

The data storage drive 120 is also connected to a key manager 160 , which includes devices 164 . The key manager 160 generates keys that may be used to encrypt data using the data flow circuitry 144 .

The host 100 , data storage drive 120 , and key manager 160 may each comprise any code running on a computing device known in the art, such as a server, mainframe, workstation, personal computer, hand held computer, laptop telephony device, network appliance, etc.

The communication path 190 may comprise, for example, any type of network, such as a Storage Area Network (SAN), a peer-to-peer network, a spoke and hub network, a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, an Intranet, etc.

FIG. 2 illustrates a hardware block diagram of a symmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments. In the hardware block diagram, a microprocessor 140 , a host attachment 142 , and a data flow chip 144 are coupled to each other.

The data flow chip 144 may include a random seed generator 220 that generates random numbers. The data flow chip 144 may also include a circuit which can check the root Certificate of Authority (CA), check block 214 , that checks that a signature (on a message or certificate) can be traced back to a root certificate of authority signature.

The data flow chip 144 may include several multiplexors (MUXes), depending on the level of flexibility required. A multiplexor may be described as device that combines (“multiplexes”) signals for transmission over a single medium. Certain embodiments may implement Advanced Encryption Standard (AES) encryption, which is a subset of symmetric secret-key cryptography, for encrypting user data which is written to a storage medium. The same algorithm, AES, may also be used to wrap data keys into SEDKs, for exchange of key material between the key manager 160 and the data storage drive 120 . Alternatively asymmetric encryption, such as RSA or ECC, may be used to wrap symmetric AES data keys to create SEDKs. The AES was adopted by the National Institute of Standards and Technology (NIST) as US Federal Information Processing Standard (FIPS) PUB 197 on Nov. 26, 2001. Certain embodiments implement AES, which may be used to encrypt user data, include Galois/Counter Mode (GCM) Message Authentication Code (MAC) by encrypting data with a GCM key. GCM is further described in “The Galois/Counter Mode of Operation (GCM)” by David A. McGrew and John Viega, May 31, 2005.

The data flow chip 144 includes MUX 0 230 (i.e. a first multiplexor), which, in certain embodiments, selects one of four keys to be used as a GCM key. In certain embodiments, MUX 0 230 selects one of the following four keys: a session key, a Data Key 1 (sometimes referred to as “Backup” Data Key 1 ), a Data Key 2 (sometimes referred to as “Standard” Data Key 2 ), or a Secret Key. The session key is write only and is stored in a Write Only (W/O) register by the microprocessor 140 . The session key is negotiated between the data storage drive 120 and the key manager 160 . Data Key 1 is write only and is a backup data key that may be written by the microprocessor 140 . Data Key 2 is hardware read and write (H/W R/W) and is a data key decrypted from the Session Encrypted Data Key (SEDK). An SEDK may be described as Data Key 2 encrypted with the session key. Data Key 2 is written into a Data Key 2 register 284 , and the Data Key 2 register 284 may only be read by MUX 0

230 . Therefore, the Data Key 2 register value is both readable and writable (R/W), but only by hardware (H/W), thus the Data Key 2 register 284 is H/W R/W. The Secret Key is read-only to the symmetric encryption circuits shown in FIG. 2 . In certain embodiments, the Secret Key may be a fixed value, or a settable non-volatile value (e.g. Programmable Read Only Memory (PROM)), that exists in an Application Specific Integrated Circuit (ASIC) which is only readable internal to the ASIC in the data storage drive 120 and that is set at the time of manufacture of the data storage drive 120 . In certain alternative embodiments, the Secret Key may be the output of some other circuit that may have actively negotiated a Secret Key (e.g. a shared secret may have been negotiated via a Diffie-Hellman (D-H) key exchange), and the secret key may be that shared secret or derived from that shared secret. In yet other embodiments, the Secret Key may have been transmitted to the drive wrapped in a public key (e.g. with RSA or ECC key encryption techniques), where the ASIC has the associated private key and unwraps the Secret Key into a register, which is only readable by the symmetric encryption circuit shown in FIG. 2 . The Secret Key may then be provided, for example, to the host 100 . The Secret Key may be used to encrypt or decrypt data as needed. Although MUX 0 is illustrated with four inputs, in certain embodiments, MUX 0 may receive as few as two inputs.

In certain embodiments, the data flow chip 144 includes MUX 1 240 (i.e. a second multiplexor). MUX 1

240 selects the source of the Session Encrypted Data Key (SEDK). The source may be the host attachment 142 or the microprocessor 140 (e.g. if received from a RS-422 serial interface) to a wired or wireless Ethernet network). In certain alternative embodiments, the data flow chip 144 may have the source of the SEDK hard selected (i.e. MUX 1

240 is not used).

MUX 2 270 (i.e. a third multiplexor) selects which signal is to be input to the decryption block. The signal may either be the output of the encryption block 260 (i.e. an “encryption block”) to perform a decryption on-the-fly check as part of a standard write; the SEDK 244 output from the SEDK register 242 ; when decryption of the data key is being performed, the output of the CipherText interface (I/F) register 264 ; or data that is being read from the data storage medium 267 as part of a standard Read. In certain alternative embodiments in which “decryption-on-the-fly” is not available, the data flow chip 144 may not implement MUX 2

270 . In certain embodiments, the output of MUX 2

270 may bypass decryption and be input to MUX 3

290 .

DEMUX 280 is a demultiplexor that selects which direction the decryption block 272 output is sent. The decryption block 272 output may be sent either to MUX 3 290 bound for the host attachment 142 or to the Data Key 2 register 284 and the rest of message register 288 . For example, Data Key 2 may be the first 32 bytes of an encrypted message and this portion is sent to the Data Key 2 register 284 , while the remaining portion of the encrypted message after the first 32 bytes is sent to the rest of message register 288 . As an alternative example, the Data Key 2 may be the second 32 bytes of the encrypted message and is sent to the Data Key 2 register 284 , and the remaining portion of the encrypted message is sent to the rest of message register 288 .

MUX 3 (i.e. a fourth multiplexor) 290 selects either the output of DEMUX 280 or a decryption bypass as a source of data to output to the host attachment 142 . In certain embodiments that do not allow for transfer of cipher text, the data flow chip 144 may not implement MUX 3

290 .

MUX 4 252 (i.e. a fifth multiplexor) selects whether data to be encrypted is coming from the host attachment 142 or from the microprocessor 140 via a ClearText interface (I/F) register 250 . In certain embodiments that do not allow for clear text to be passed in by the microprocessor, the data flow chip 144 may not implement MUX 4

252 .

A ClearText I/F register 250 stores clear text (i.e. data that has not been encrypted). An encryption block 260 performs encryption, for example, in a GCM mode. A decryption block 272 (i.e. a “decryption block”) performs decryption, for example, in GCM mode. A CipherText I/F register 264 stores encrypted data.

The microprocessor 140 is able to read the Data Key 2 register 284 , the cipher text I/F register 264 , and the rest of message register 288 . The microprocessor 140 is also able to write to the ClearText I/ F register 250 .

Initially, the data storage drive 120 builds a key exchange message in memory 146 and calculates a digital signature with firmware 150 . One or more initial messages sent may not be encrypted. These initial messages may be sent by the microprocessor 140 directly to a port 292 (e.g. a RS-422 port) (out-of-band) or to the decryption bypass line (in-band). In-band refers to the initial messages traveling on a same host attachment 142 that data travels on to the drive (e.g. Fibre Channel), while out-of-band refers to the initial messages not traveling on the same host attachment as the data travels on (e.g. IP link bridged to RS-422). These initial messages are used to negotiate a session key with the key manager 160 . Once a session key is negotiated, the data contents of each message is encrypted with the session key.

In certain embodiments, the microprocessor 140 of data storage drive 120 writes the session key as input to MUX 0

230 . The session key is output from MUX 0

230 as key 234 and sent as input to the encryption block 260 . ClearText is then provided to the encryption block 260 in one of two ways, either the data is received from the host attachment 142 , or the microprocessor 140 fills the ClearText I/F register 250 (or sends a series of writes to a given register). MUX 4

252 selects which of these two provides input to the encryption block 260 , and this multiplexor is typically controlled by register bits set by the microprocessor. The microprocessor 140 then causes encryption of the clear text to occur with the key 234 in encryption block 260 . The encrypted data output is collected in the CipherText I/ F register 264 . This encrypted data is then passed by the microprocessor 140 out to the port 292 or to the decryption bypass line.

After the session key is established, the key manager 160 sends the data storage drive 120 a Session Encrypted Data Key (SEDK). The data storage drive 120 receives the SEDK and MUX 1

240 selects the source of the SEDK. The output of MUX 1

240 is the SEDK, which is stored into the SEDK register 242 . The SEDK 244 in the SEDK register 242 is also an input to MUX 2

270 . Control logic in the data storage drive 120 sets the select lines such that MUX 0

230 selects the Session Key. This causes MUX 2

270 to select the input line with SEDK 244 (i.e. the SEDK 244 stored in SEDK register 242 ). MUX 2

270 outputs the SEDK to the decryption block 272 , which decrypts the SEDK with the session key. The decryption block 272 outputs the decrypted data as input to DEMUX 280 . DEMUX 280 outputs the decrypted data into registers

284 and 288 . In particular, the output of DEMUX 280 is a Data Key 2 portion 282 that is sent to Data Key 2 register 284 and a rest of message portion 286 that is sent to rest of message register 288 .

Once Data Key 2 is stored in the Data Key 2 register, the microprocessor 140 may set the select lines such that the Data Key 2 is selected by MUX 0

230 . Data Key 2 is output from MUX 0

230 as key 234 and sent as input to the encryption block 260 . Either the microprocessor 140 fills the ClearText I/F register or the host attachment 142 fills the ClearText I/ F register 250 . Clear text output from the ClearText I/F register 250 is input to MUX 4

252 . The microprocessor 140 sets control bits which are processed by ASIC control logic to control the select lines of MUX 4

252 selects the clear text and outputs the clear text to encryption block 260 . The microprocessor 140 then causes encryption of the clear text to occur with Data Key 2 in encryption block 260 . The encrypted data (cipher text 262 ) is collected in the CipherText I/F register 264 and is sent to data storage medium 266 (e.g. in data storage media 170 ).

The microprocessor 140 may set the select lines such that Data Key 1 is selected by MUX 0

230 . Data Key 1 is output from MUX 0

230 as key 234 and sent as input to the encryption block 260 . Either the microprocessor 140 fills the ClearText I/F register or the host attachment 142 fills the ClearText I/ F register 250 . Clear text output from the ClearText I/F register 250 is input to MUX 4

252 . The microprocessor 140 sets control bits which are processed by ASIC control logic to control the select lines of MUX 4

252 so that it selects the clear text and outputs the clear text to encryption block 260 . The microprocessor 140 then causes encryption of the clear text to occur with Data Key 1 in encryption block 260 . The encrypted data (cipher text 262 ) is collected in the CipherText I/F register 264 and is sent to data storage medium 266 in data storage media 170 . If the Data Key was passed to the data storage drive 120 in the clear (i.e. without being encrypted), or if the SEDK was unwrapped by code running on the microprocessor 140 , then the microprocessor 140 would typically program the Data Key into the ASIC, which would be Data Key 1 . On the other hand, if the SEDK was unwrapped in decryption hardware (e.g. by decryption block 272 ), then it can travel though demux 280 and be latched as Data Key 2 .

The microprocessor 140 may set the select lines such that the Secret Key is selected by MUX 0

230 . Secret Key is output from MUX 0

230 as key 234 and sent as input to the encryption block 260 . Either the microprocessor 140 fills the ClearText I/F register or the host attachment 142 fills the ClearText I/ F register 250 . Clear text output from the ClearText I/F register 250 is input to MUX 4

252 . The microprocessor 140 sets control bits which are processed by ASIC control logic to control the select lines of MUX 4

252 so that it selects the clear text and outputs the clear text to encryption block 260 . The microprocessor 140 then causes encryption of the clear text to occur with Secret Key in encryption block 260 . The encrypted data (cipher text 262 ) is collected in the CipherText I/F register 264 and is sent to data storage medium 266 in data storage media 170 . The Secret Key may be used when data is to be encrypted with a previously shared secret (e.g. set at time of manufacture, or based on public key decryption of an SEDK in hardware).

FIG. 3 illustrates a hardware block diagram of an asymmetric encryption circuit that enables encryption and decryption of data in accordance with certain embodiments. In the hardware block diagram, a microprocessor 140 , a host attachment 142 , and a data flow chip 144 are coupled to each other. A public decryption key block 312 enables public key unwrapping. A public-private key set is established at some point (e.g. at time of manufacture of the data storage drive 120 or at a later time by a controlled process that has physical access to the data storage drive 120 and knowledge of some special procedure). In an alternative embodiment, the private key is hard coded into the ASIC's circuitry using VHDL (Very-High-Speed Integrated Circuit (VHSIC) Hardware Description Language) or Verilog, which would result in all ASICs made with this VHDL or Verilog having the same key), and the private key of this public-private key pair is stored involatilely in the ASIC (e.g. PROM) in a register that may only be read internal to the ASIC (e.g. the microprocessor 140 cannot read the private key because the microprocessor 140 is external to the ASIC). The public key may either be programmed into registers that can be read external to the ASIC or stored separately from the ASIC, potentially in publicly accessible memory space. This public key may be stored in a certificate signed by a root Certificate of Authority (CA).

The external key manager 160 obtains the data storage drive's 120 public key and uses the public key to wrap a Data Key to create the SEDK, which is sent to the data storage drive 120 and input to the data flow chip 144 (i.e. ASIC) either directly from the host attachment 142 or by the microprocessor 140 (where MUX 240 selects which). The SEDK is then provided to the public key decryption block 312 , which decrypts the SEDK with the private key to create the Secret Key, which will be used as the Data Key.

Use of the secret key in this manner eliminates the key distribution problem associated with the session key. Additionally, use of the secret key in this manner closes many attack vectors. For example, a hacker is not able to break the SEDK without somehow ascertaining the private key stored inside the ASIC in a register space that is not accessible by external entities. Moreover, use of the secret key in this manner does not rely on interlocked control of the multiplexors to avoid escape of the data key.

Examples of public key cryptography techniques that may be used with embodiments include RSA or ECC encryption techniques. In certain embodiments, the Diffie-Hellman key exchange, which requires active negotiation, may be used.

The root CA check block 214 that provides circuitry to check the root CA's signature requires public key capability. In certain embodiments, the public key decryption block 312 provides one set of public key circuitry that may be used to either check a root CA's signature or to unwrap SEDKs. That is, in certain embodiments, one set of public key circuitry may be used in different ways depending on the task being accomplished. In certain alternative embodiments, two separate circuits may be used to check a root CA's signature and to unwrap SEDKs (i.e. blocks 312 , 214 ).

Moreover, to check a root CA's signature, the CA's public key is stored in the ASIC. For example, the public key may either be stored in a PROM at time of manufacture or may be hard coded in VHDL (or Verilog). With the latter, in the case that a CA's private or “signing” key is compromised, the CA would have to use a new public-private key pair. Certain embodiments may allow the public key stored in the ASIC to be updated (e.g. if one had physical access to the drive and knew some special procedure).

In certain embodiments, the <figure-callout id="140" label="microprocessor" filenames="US1010

CLAIMS

Claims ( 9 )

What is claimed is:

1. An Application Specific Integrated Circuit (ASIC), comprising:

a microprocessor;

a host attachment; and

circuitry coupled directly to the microprocessor and directly to the host attachment, the circuitry comprising:

a root Certificate of Authority check block that checks a root Certificate of Authority (CA) signature;

a first multiplexor that selects a encrypted data key from inputs of a first encrypted data key from the microprocessor and a second encrypted data key from the host attachment, wherein the encrypted data key is created by using a public key of a public-private key pair to wrap a data key;

a register coupled to the first multiplexor that stores the encrypted data key;

a public key decryption block coupled to the register and to a second multiplexor, wherein the public key decryption block receives the encrypted data key and unwraps the encrypted data key using a private key of the public-private key pair to produce the data key for use in encrypting and decrypting data;

a second multiplexor coupled to the public key decryption block that receives the data key as input from the public key decryption block, wherein the second multiplexor selects the data key received from the public key decryption block from inputs of a first session key, a backup data key, a standard data key, and the data key received from the public key decryption block;

an encryption block coupled to the second multiplexor that receives clear text and the data key, wherein the clear text is selected from first clear text from the microprocessor and second clear text from the host attachment, and wherein the encryption block encrypts the clear text with the data key to generate encrypted text; and

a decryption block coupled to the second multiplexor that receives a piece of encrypted data selected from the encrypted data key and the encrypted text from the encryption block, wherein the decryption block decrypts the piece of encrypted data.

2. The ASIC of claim 1 , wherein registers used by the microprocessor cannot be seen by an emulator when the microprocessor performs the checking and the unwrapping.

3. The ASIC of claim 1 , further comprising:

the circuitry storing the private key.

4. The ASIC of claim 3 , wherein the private key is stored in a register space inside the ASIC that is not accessible by external entities.

5. The ASIC of claim 1 , wherein the circuitry further comprises:

a third multiplexor that selects the clear text from inputs of the first clear text from the microprocessor and the second clear text from the host attachment; and

a fourth multiplexor that selects the piece of encrypted data from inputs of the session encrypted data key and the encrypted text from the encryption block.

6. A system, comprising:

a microprocessor;

a host attachment coupled to the microprocessor; and

circuitry coupled to the microprocessor and to the host attachment, the circuitry comprising an Application Specific Integrated Circuit (ASIC) for encryption and decryption that includes a first multiplexor, a second multiplexor, a public key decryption block, a decryption block, an encryption block, and a demultiplexor;

wherein the first multiplexor selects an encrypted data key from inputs of a first encrypted data key from the microprocessor and a second encrypted data key from the host attachment, and wherein the encrypted data key is input to the public key decryption block;

wherein the public key decryption block is coupled to the first multiplexor and to the second multiplexor and decrypts the encrypted data key using a private key to obtain a secret key, and wherein the secret key is input to the second multiplexor;

wherein the second multiplexor is coupled to the decryption block and to the encryption block and selects the secret key, from inputs of a first key, a backup data key, a standard data key, and the secret key, wherein the secret key is input to the decryption block and to the encryption block;

wherein the encryption block encrypts clear text using the secret key to generate encrypted text;

wherein the decryption block decrypts the encrypted text using the secret key;

wherein a demultiplexor is coupled to the decryption block, receives the decrypted text, and selects one of storage of the decrypted text and forwarding of the decrypted text to the host attachment; and

wherein the circuitry controls the first multiplexor and the second multiplexor so that the secret key, after the decryption, is not accessible to an entity outside the ASIC.

7. The system of claim 6 , further comprising:

a key appliance;

a data storage drive coupled to the key appliance, wherein the circuitry is implemented at the data storage drive; and

the key appliance obtaining a public key that is part of a public-private key pair from the data storage drive, using the public key to wrap the secret key to create the encrypted data key, and sending the encrypted data key to the data storage drive.

8. The system of claim 6 , wherein the private key is part of a public-private key pair.

9. The system of claim 6 , wherein the private key is stored in a register space inside the ASIC that is not accessible by external entities.

US15/617,800

2007-04-10

2017-06-08

Key encryption and decryption

Expired - Fee Related

US10108558B2

( en )

Priority Applications (1)

Application Number

Priority Date

Filing Date

Title

US15/617,800

US10108558B2

( en )

2007-04-10

2017-06-08

Key encryption and decryption

Applications Claiming Priority (3)

Application Number

Priority Date

Filing Date

Title

US11/733,669

US9008317B2

( en )

2007-04-10

2007-04-10

Key encryption and decryption

US14/627,763

US9747223B2

( en )

2007-04-10

2015-02-20

Key encryption and decryption

US15/617,800

US10108558B2

( en )

2007-04-10

2017-06-08

Key encryption and decryption

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

US14/627,763

Continuation

US9747223B2

( en )

2007-04-10

2015-02-20

Key encryption and decryption

Publications (2)

Publication Number

Publication Date

US20170270057A1

US20170270057A1 ( en )

2017-09-21

US10108558B2

true

US10108558B2 ( en )

2018-10-23

Family

ID=41449026

Family Applications (3)

Application Number

Title

Priority Date

Filing Date

US11/733,669

Expired - Fee Related

US9008317B2

( en )

2007-04-10

2007-04-10

Key encryption and decryption

US14/627,763

Expired - Fee Related

US9747223B2

( en )

2007-04-10

2015-02-20

Key encryption and decryption

US15/617,800

Expired - Fee Related

US10108558B2

( en )

2007-04-10

2017-06-08

Key encryption and decryption

Family Applications Before (2)

Application Number

Title

Priority Date

Filing Date

US11/733,669

Expired - Fee Related

US9008317B2

( en )

2007-04-10

2007-04-10

Key encryption and decryption

US14/627,763

Expired - Fee Related

US9747223B2

( en )

2007-04-10

2015-02-20

Key encryption and decryption

Country Status (1)

Country

Link

US

( 3 )

US9008317B2

( en )

Families Citing this family (36)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US9008317B2

( en )

2007-04-10

2015-04-14

International Business Machines Corporation

Key encryption and decryption

US8656186B2

( en )

*

2007-05-01

2014-02-18

International Business Machines Corporation

Use of indirect data keys for encrypted tape cartridges

US8494166B2

( en )

*

2007-05-01

2013-07-23

International Business Machines Corporation

Use of indirect data keys for encrypted tape cartridges

US8423789B1

( en )

2007-05-22

2013-04-16

Marvell International Ltd.

Key generation techniques

CN102637457B

( en )

*

2011-02-14

2015-06-17

张国飙

Confidential type 3Dm-ROM (three-dimensional mask programmable-read only memory)

US20150317255A1

( en )

*

2011-02-15

2015-11-05

Chengdu Haicun Ip Technology Llc

Secure Printed Memory

US20120210438A1

( en )

*

2011-02-15

2012-08-16

Guobiao Zhang

Secure Three-Dimensional Mask-Programmed Read-Only Memory

CN102158759B

( en )

*

2011-04-22

2013-11-06

深圳创维数字技术股份有限公司

Program recording method, playback method of recorded program and set top box

GB2508052A

( en )

*

2012-11-18

2014-05-21

Nds Ltd

Glitch resistant device

IL228523A0

( en )

*

2013-09-17

2014-03-31

Nds Ltd

Private data processing in a cloud-based environment

US9729319B2

( en )

*

2014-12-15

2017-08-08

Nxp Usa, Inc.

Key management for on-the-fly hardware decryption within integrated circuits

US10608817B2

( en )

2016-07-06

2020-03-31

Masimo Corporation

Secure and zero knowledge data sharing for cloud applications

US11030618B1

( en )

2016-09-30

2021-06-08

Winkk, Inc.

Authentication and personal data sharing for partner services using out-of-band optical mark recognition

US11637694B2

( en )

2018-07-16

2023-04-25

Winkk, Inc.

Secret material exchange and authentication cryptography operations

US11928193B2

( en )

2019-12-10

2024-03-12

Winkk, Inc.

Multi-factor authentication using behavior and machine learning

US12335399B2

( en )

2019-12-10

2025-06-17

Winkk, Inc.

User as a password

US12153678B2

( en )

2019-12-10

2024-11-26

Winkk, Inc.

Analytics with shared traits

US11328042B2

( en )

2019-12-10

2022-05-10

Winkk, Inc.

Automated transparent login without saved credentials or passwords

US11588794B2

( en )

2019-12-10

2023-02-21

Winkk, Inc.

Method and apparatus for secure application framework and platform

US11936787B2

( en )

2019-12-10

2024-03-19

Winkk, Inc.

User identification proofing using a combination of user responses to system turing tests using biometric methods

US11574045B2

( en )

2019-12-10

2023-02-07

Winkk, Inc.

Automated ID proofing using a random multitude of real-time behavioral biometric samplings

US11652815B2

( en )

2019-12-10

2023-05-16

Winkk, Inc.

Security platform architecture

US11553337B2

( en )

2019-12-10

2023-01-10

Winkk, Inc.

Method and apparatus for encryption key exchange with enhanced security through opti-encryption channel

US12143419B2

( en )

2019-12-10

2024-11-12

Winkk, Inc.

Aggregated trust framework

US11657140B2

( en )

2019-12-10

2023-05-23

Winkk, Inc.

Device handoff identification proofing using behavioral analytics

US12073378B2

( en )

2019-12-10

2024-08-27

Winkk, Inc.

Method and apparatus for electronic transactions using personal computing devices and proxy services

US12341790B2

( en )

2019-12-10

2025-06-24

Winkk, Inc.

Device behavior analytics

US12132763B2

( en )

2019-12-10

2024-10-29

Winkk, Inc.

Bus for aggregated trust framework

EP4088214A4

( en )

*

2020-02-21

2023-08-30

Hewlett-Packard Development Company, L.P.

COMPUTING DEVICES FOR ENCRYPTION AND DECRYPTION OF DATA

US11184160B2

( en )

*

2020-02-26

2021-11-23

International Business Machines Corporation

Channel key loading in a computing environment

US12095751B2

( en )

2021-06-04

2024-09-17

Winkk, Inc.

Encryption for one-way data stream

US11843943B2

( en )

2021-06-04

2023-12-12

Winkk, Inc.

Dynamic key exchange for moving target

CN113505383A

( en )

*

2021-07-02

2021-10-15

中国科学院计算技术研究所

ECDSA algorithm execution system and method

US11824999B2

( en )

*

2021-08-13

2023-11-21

Winkk, Inc.

Chosen-plaintext secure cryptosystem and authentication

US12438731B2

( en )

2022-09-21

2025-10-07

Winkk, Inc.

Diophantine system for digital signatures

US12368578B2

( en )

*

2023-08-31

2025-07-22

Dell Products L.P.

Secret management in distributed systems using passphrases

Citations (29)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US4430584A

( en )

1980-05-29

1984-02-07

Texas Instruments Incorporated

Modular input/output system

US4719458A

( en )

1986-02-24

1988-01-12

Chrysler Motors Corporation

Method of data arbitration and collision detection in a data bus

US5109493A

( en )

1989-06-30

1992-04-28

Poget Computer Corp.

Structure and method for tying down an unused multi-user bus

US5235641A

( en )

1990-03-13

1993-08-10

Hitachi, Ltd.

File encryption method and file cryptographic system

US5687237A

( en )

*

1995-11-13

1997-11-11

Pitney Bowes Inc.

Encryption key management system for an integrated circuit

US6069857A

( en )

1991-02-15

2000-05-30

Discovision Associates

Optical disc system having improved circuitry for performing blank sector check on readable disc

US6069957A

( en )

1997-03-07

2000-05-30

Lucent Technologies Inc.

Method and apparatus for providing hierarchical key system in restricted-access television system

US6134660A

( en )

1997-06-30

2000-10-17

Telcordia Technologies, Inc.

Method for revoking computer backup files using cryptographic techniques

US20020023032A1

( en )

2000-08-18

2002-02-21

Hewlett-Packard Company

Trusted system

US20020188856A1

( en )

*

2001-06-11

2002-12-12

Brian Worby

Storage device with cryptographic capabilities

US20030074319A1

( en )

2001-10-11

2003-04-17

International Business Machines Corporation

Method, system, and program for securely providing keys to encode and decode data in a storage cartridge

US6636966B1

( en )

2000-04-03

2003-10-21

Dphi Acquisitions, Inc.

Digital rights management within an embedded storage device

US6690795B1

( en )

1997-03-04

2004-02-10

Lucent Technologies Inc.

Multiple keys for decrypting data in restricted-access television system

US20040078584A1

( en )

2002-08-23

2004-04-22

General Instrument Corp.

Interchip transport bus copy protection

US20040123112A1

( en )

2002-12-19

2004-06-24

International Business Machines Corporation

Security object providing encryption scheme and key

US20040228493A1

( en )

*

2003-05-14

2004-11-18

Kenneth Ma

Method and system for disaster recovery of data from a storage device

US20050005092A1

( en )

2003-06-26

2005-01-06

Jeong Seung-Youl

Method and apparatus for protecting data during storage/retrieval

US20050091491A1

( en )

*

2003-10-28

2005-04-28

Dphi Acquisitions, Inc.

Block-level storage device with content security

US20050152670A1

( en )

2004-01-14

2005-07-14

Quantum Corporation

Auxiliary memory in a tape cartridge

US20050216750A1

( en )

2004-03-23

2005-09-29

Harris Corporation

Modular cryptographic device providing status determining features and related methods

US20050220305A1

( en )

2004-04-06

2005-10-06

Kazuhisa Fujimoto

Storage system executing encryption and decryption processing

US20060059373A1

( en )

2004-09-10

2006-03-16

International Business Machines Corporation

Integrated circuit chip for encryption and decryption using instructions supplied through a secure interface

US20060059369A1

( en )

2004-09-10

2006-03-16

International Business Machines Corporation

Circuit chip for cryptographic processing having a secure interface to an external memory

US20060059368A1

( en )

2004-09-10

2006-03-16

International Business Machines Corporation

System and method for processing by distinct entities securely configurable circuit chips

JP3824297B2

( en )

2001-06-25

2006-09-20

インターナショナル・ビジネス・マシーンズ・コーポレーション

Authentication method, authentication system, and external storage device performed between external storage device and system device

US20060236129A1

( en )

2005-04-18

2006-10-19

Yasuyuki Mimatsu

Method for managing external storage devices

US20070280483A1

( en )

2006-06-06

2007-12-06

Red Hat, Inc.

Methods and systems for key recovery for a token

US20080165959A1

( en )

*

2006-02-16

2008-07-10

Samsung Electronics Co. Ltd.

Encrypted data players and encrypted data player systems

US20090327746A1

( en )

2007-04-10

2009-12-31

International Business Machines Corporation

Key encryption and decryption

2007

2007-04-10

US

US11/733,669

patent/US9008317B2/en

not_active

Expired - Fee Related

2015

2015-02-20

US

US14/627,763

patent/US9747223B2/en

not_active

Expired - Fee Related

2017

2017-06-08

US

US15/617,800

patent/US10108558B2/en

not_active

Expired - Fee Related

Patent Citations (31)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US4430584A

( en )

1980-05-29

1984-02-07

Texas Instruments Incorporated

Modular input/output system

US4719458A

( en )

1986-02-24

1988-01-12

Chrysler Motors Corporation

Method of data arbitration and collision detection in a data bus

US5109493A

( en )

1989-06-30

1992-04-28

Poget Computer Corp.

Structure and method for tying down an unused multi-user bus

US5235641A

( en )

1990-03-13

1993-08-10

Hitachi, Ltd.

File encryption method and file cryptographic system

US6069857A

( en )

1991-02-15

2000-05-30

Discovision Associates

Optical disc system having improved circuitry for performing blank sector check on readable disc

US5687237A

( en )

*

1995-11-13

1997-11-11

Pitney Bowes Inc.

Encryption key management system for an integrated circuit

US6690795B1

( en )

1997-03-04

2004-02-10

Lucent Technologies Inc.

Multiple keys for decrypting data in restricted-access television system

US6069957A

( en )

1997-03-07

2000-05-30

Lucent Technologies Inc.

Method and apparatus for providing hierarchical key system in restricted-access television system

US6134660A

( en )

1997-06-30

2000-10-17

Telcordia Technologies, Inc.

Method for revoking computer backup files using cryptographic techniques

US6636966B1

( en )

2000-04-03

2003-10-21

Dphi Acquisitions, Inc.

Digital rights management within an embedded storage device

US20020023032A1

( en )

2000-08-18

2002-02-21

Hewlett-Packard Company

Trusted system

US20020188856A1

( en )

*

2001-06-11

2002-12-12

Brian Worby

Storage device with cryptographic capabilities

JP3824297B2

( en )

2001-06-25

2006-09-20

インターナショナル・ビジネス・マシーンズ・コーポレーション

Authentication method, authentication system, and external storage device performed between external storage device and system device

US20030074319A1

( en )

2001-10-11

2003-04-17

International Business Machines Corporation

Method, system, and program for securely providing keys to encode and decode data in a storage cartridge

US20040078584A1

( en )

2002-08-23

2004-04-22

General Instrument Corp.

Interchip transport bus copy protection

US20040123112A1

( en )

2002-12-19

2004-06-24

International Business Machines Corporation

Security object providing encryption scheme and key

US20040228493A1

( en )

*

2003-05-14

2004-11-18

Kenneth Ma

Method and system for disaster recovery of data from a storage device

US20050005092A1

( en )

2003-06-26

2005-01-06

Jeong Seung-Youl

Method and apparatus for protecting data during storage/retrieval

US20050091491A1

( en )

*

2003-10-28

2005-04-28

Dphi Acquisitions, Inc.

Block-level storage device with content security

US20050152670A1

( en )

2004-01-14

2005-07-14

Quantum Corporation

Auxiliary memory in a tape cartridge

US20050216750A1

( en )

2004-03-23

2005-09-29

Harris Corporation

Modular cryptographic device providing status determining features and related methods

US20050220305A1

( en )

2004-04-06

2005-10-06

Kazuhisa Fujimoto

Storage system executing encryption and decryption processing

US20060059369A1

( en )

2004-09-10

2006-03-16

International Business Machines Corporation

Circuit chip for cryptographic processing having a secure interface to an external memory

US20060059368A1

( en )

2004-09-10

2006-03-16

International Business Machines Corporation

System and method for processing by distinct entities securely configurable circuit chips

US20060059373A1

( en )

2004-09-10

2006-03-16

International Business Machines Corporation

Integrated circuit chip for encryption and decryption using instructions supplied through a secure interface

US20060236129A1

( en )

2005-04-18

2006-10-19

Yasuyuki Mimatsu

Method for managing external storage devices

US20080165959A1

( en )

*

2006-02-16

2008-07-10

Samsung Electronics Co. Ltd.

Encrypted data players and encrypted data player systems

US20070280483A1

( en )

2006-06-06

2007-12-06

Red Hat, Inc.

Methods and systems for key recovery for a token

US20090327746A1

( en )

2007-04-10

2009-12-31

International Business Machines Corporation

Key encryption and decryption

US9008317B2

( en )

2007-04-10

2015-04-14

International Business Machines Corporation

Key encryption and decryption

US20160357687A1

( en )

2007-04-10

2016-12-08

International Business Machines Corporation

Key encryption and decryption

Non-Patent Citations (27)

* Cited by examiner, † Cited by third party

Title

" Advanced Encryption Standard (AES) ", Federal Information Processing Standards Publication 197, Nov. 2001, pp. 1-51.

" Information Distribution Via ROM Disks ", IBM Corporation, Technical Disclosure Bulletin, vol. 33, No. 12, May 1991, pp. 70-71.

Advisory Action dated Apr. 7, 2011, pp. 7, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Amendment filed Jan. 10, 2017, pp. 13, to Office Action dated Oct. 20, 2016, pp. 23, for U.S. Appl. No. 14/627,763, filed Feb. 20, 2015.

Corrected Notice of Allowability dated Jan. 21, 2015, pp. 2, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

D.A. McGrew, et al., " The Galois/Counter Mode of Operation (GCM) ", May 2005, pp. 1-44.

Final Office Action dated Dec. 17, 2010, pp. 59, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Final Office Action dated Dec. 8, 2011, pp. 28, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Final Office Action dated Feb. 16, 2017, pp. 24 for U.S. Appl. No. 14/627,763, filed Feb. 20, 2015.

Notice of Allowance dated Apr. 27, 2017, pp. 8, for U.S. Appl. No. 14/627,763, filed Feb. 20, 2015.

Notice of Allowance dated Dec. 10, 2014, pp. 11, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Notice of Appeal dated Apr. 13, 2011, pp. 1, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Notice of Panel Decision dated Jun. 10, 2011, pp. 2, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Office Action dated Jul. 1, 2011, pp. 24, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Office Action dated Jul. 9, 2010, pp. 35, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Office Action dated Oct. 20, 2016, pp. 23, for U.S. Appl. No. 14/627,763, filed Feb. 20, 2015.

Pre-Appeal Brief Request for Review dated Apr. 13, 2011, pp. 6, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Preliminary Amendment dated Feb. 20, 2015, pp. 6, for U.S. Appl. No. 14/627,763, filed Feb. 20, 2015.

Requirement for Restriction/Election dated Aug. 4, 2014, pp. 6, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Response dated Apr. 13, 2017, pp. 6, to Final Office Action dated Feb. 16, 2017, pp. 24 for U.S. Appl. No. 14/627,763, filed Feb. 20, 2015.

Response dated Mar. 17, 2011, pp. 21, to Office Action dated Jul. 9, 2010, pp. 35, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Response dated Mar. 8, 2012, pp. 18, to Final Office Action dated Dec. 8, 2011, pp. 28, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Response dated Oct. 11, 2010, pp. 19, to Office Action dated Jul. 9, 2010, pp. 35, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Response dated Oct. 3, 2011, pp. 22, to Office Action dated Jul. 1, 2011, pp. 24, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

Response dated Oct. 3, 2014, pp. 8, to Requirement for Restriction/Election dated Aug. 4, 2014, pp. 6, for U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

U.S. Appl. No. 11/733,669, filed Apr. 10, 2007.

U.S. Appl. No. 14/627,763, filed Feb. 20, 2015, pp. 20.

Also Published As

Publication number

Publication date

US20170270057A1

( en )

2017-09-21

US20160357687A1

( en )

2016-12-08

US9008317B2

( en )

2015-04-14

US9747223B2

( en )

2017-08-29

US20090327746A1

( en )

2009-12-31

Similar Documents

Publication

Publication Date

Title

US9747223B2

( en )

2017-08-29

Key encryption and decryption

US12184773B2

( en )

2024-12-31

Communication network with cryptographic key management for symmetric cryptography

US7428306B2

( en )

2008-09-23

Encryption apparatus and method for providing an encrypted file system

CN105406969B

( en )

2020-03-13

Data encryption device and method

US20080104417A1

( en )

2008-05-01

System and method for file encryption and decryption

JP7325689B2

( en )

2023-08-14

Ciphertext conversion system, conversion key generation method, and conversion key generation program

US12200099B2

( en )

2025-01-14

Multi-party cryptographic systems and methods

EP4042309A1

( en )

2022-08-17

Hybrid content protection architecture

JP7486688B2

( en )

2024-05-17

Ciphertext conversion system, ciphertext conversion method, and ciphertext conversion program

US7802102B2

( en )

2010-09-21

Method for efficient and secure data migration between data processing systems

Related documents

Record · ID 607270
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.