Automotive nonce-misuse-resistant authenticated encryption
US-2019356468-A1 · Nov 21, 2019 · US
US11368287B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11368287-B2 |
| Application number | US-202016877523-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 19, 2020 |
| Priority date | May 19, 2020 |
| Publication date | Jun 21, 2022 |
| Grant date | Jun 21, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments include encrypting an object such that the creator of the encrypted object can be identified. Aspects include receiving, by a processor, an unencrypted object that includes plaintext and metadata that describes the plaintext and obtaining, by the processor in response to a request from a user, a data encryption key (DEK) and a nonce key for the unencrypted object, the nonce key being unique to the user. Aspects also include encrypting, by the processor, the unencrypted object. The encrypting includes generating a nonce based at least in part of the plaintext and the nonce key and generating ciphertext and a metadata authentication tag comprising a signature of the metadata, the generating based at least in part on the plaintext, the metadata, the DEK, and the nonce. Aspects further include creating an encrypted object that includes the ciphertext, the metadata, and the metadata authentication tag.
Opening claim text (preview).
What is claimed is: 1. A method for encrypting an object such that the creator of the encrypted object can be identified comprising: receiving, by a processor, an unencrypted object that comprises plaintext and metadata that describes the plaintext; obtaining, by the processor in response to a request from a user, a data encryption key (DEK) and a nonce key for the unencrypted object, the nonce key being unique to the user, wherein a plurality of nonce keys correspond to the DEK, each of the plurality of nonce keys correspond to different users, and the nonce key is included in the plurality of nonce keys; encrypting, by the processor, the unencrypted object, the encrypting comprising: generating a nonce based at least in part of the plaintext and the nonce key; and generating ciphertext and a metadata authentication tag comprising a signature of the metadata, the generating based at least in part on the plaintext, the metadata, the DEK, and the nonce; and creating an encrypted object that includes the ciphertext, the metadata, and the metadata authentication tag. 2. The method of claim 1 , wherein the nonce is generated once, and in response to the encrypted object being created the nonce is linked to the encrypted object via a pointer to the nonce in the encrypted object or linked to the encrypted object via inclusion of the nonce in the encrypted object. 3. The method of claim 1 , wherein the generating the nonce comprises executing a nonce encryption algorithm that takes as input the plaintext and the nonce key, and that outputs the nonce. 4. The method of claim 3 , wherein the nonce encryption algorithm is an Advanced Encryption Standard with Cipher-based Message Authentication Code (AES-CMAC) encryption algorithm. 5. The method of claim 1 , wherein the encrypting the unencrypted object is performed using an Advanced Encryption Standard with Galois/Counter Mode (AES-GCM) encryption algorithm. 6. The method of claim 1 , further comprising: receiving, by the processor, a second encrypted object, the second encrypted object having been previously generated by encrypting a second object based at least in part on the DEK and a second nonce; obtaining a plurality of nonce keys correspond to the DEK, wherein each of the plurality of nonce keys corresponds to a specific user; obtaining a copy of a second unencrypted object corresponding to the second encrypted object; creating a plurality of nonces, each of the plurality of nonces being created using one of the plurality of nonce keys; determining that one of the plurality of nonces that matches the second nonce and identifying the specific user associated with nonce key used to generate the one of the plurality of nonces as the creator of the second encrypted object. 7. The method of claim 6 , wherein obtaining the copy of a second unencrypted object includes decrypting the second encrypted object using the DEK and the second nonce. 8. A system comprising: one or more processors for executing computer-readable instructions, the computer-readable instructions controlling the one or more processors to perform operations comprising: receiving an unencrypted object that comprises plaintext and metadata that describes the plaintext; obtaining, in response to a request from a user, a data encryption key (DEK) and a nonce key for the unencrypted object, the nonce key being unique to the user, wherein a plurality of nonce keys correspond to the DEK, each of the plurality of nonce keys correspond to different users, and the nonce key is included in the plurality of nonce keys; encrypting the unencrypted object, the encrypting comprising: generating a nonce based at least in part of the plaintext and the nonce key; and generating ciphertext and a metadata authentication tag comprising a signature of the metadata, the generating based at least in part on the plaintext, the metadata, the DEK, and the nonce; and creating an encrypted object that includes the ciphertext, the metadata, and the metadata authentication tag. 9. The system of claim 8 , wherein the nonce is generated once, and in response to the encrypted object being created the nonce is linked to the encrypted object via a pointer to the nonce in the encrypted object or linked to the encrypted object via inclusion of the nonce in the encrypted object. 10. The system of claim 8 , wherein the generating the nonce comprises executing a nonce encryption algorithm that takes as input the plaintext and the nonce key, and that outputs the nonce. 11. The system of claim 10 , wherein the nonce encryption algorithm is an Advanced Encryption Standard with Cipher-based Message Authentication Code (AES-CMAC) encryption algorithm. 12. The system of claim 8 , wherein the encrypting the unencrypted object is performed using an Advanced Encryption Standard with Galois/Counter Mode (AES-GCM) encryption algorithm. 13. The system of claim 8 , wherein the operations further comprise: receiving, by the processor, a second encrypted object, the second encrypted object having been previously generated by encrypting a second object based at least in part on the DEK and a second nonce; obtaining a plurality of nonce keys correspond to the DEK, wherein each of the plurality of nonce keys corresponds to a specific user; obtaining a copy of a second unencrypted object corresponding to the second encrypted object; creating a plurality of nonces, each of the plurality of nonces being created using one of the plurality of nonce keys; determining that one of the plurality of nonces that matches the second nonce and identifying the specific user associated with nonce key used to generate the one of the plurality of nonces as the creator of the second encrypted object. 14. The system of claim 13 , wherein obtaining the copy of a second unencrypted object includes decrypting the second encrypted object using the DEK and the second nonce. 15. A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising: receiving an unencrypted object that comprises plaintext and metadata that describes the plaintext; obtaining, in response to a request from a user, a data encryption key (DEK) and a nonce key for the unencrypted object, the nonce key being unique to the user, wherein a plurality of nonce keys correspond to the DEK, each of the plurality of nonce keys correspond to different users, and the nonce key is included in the plurality of nonce keys; encrypting the unencrypted object, the encrypting comprising: generating a nonce based at least in part of the plaintext and the nonce key; and generating ciphertext and a metadata authentication tag comprising a signature of the metadata, the generating based at least in part on the plaintext, the metadata, the DEK, and the nonce; and creating an encrypted object that includes the ciphertext, the metadata, and the metadata authentication tag. 16. The computer program product of claim 15 , wherein the nonce is generated once, and in response to the encrypted object being created the nonce is linked to the encrypted object via a pointer to the nonce in the encrypted object or linked to the encrypted object via inclusion of the nonce in the encrypted object. 17. The computer program product of claim 15 , wherein the generating the nonce comprises executing a nonce encryption algorithm that takes as input the plaintext and the nonce key, and that outputs the nonce.
involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title
Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM] · CPC title
Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms · CPC title
Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title
using a plurality of keys or algorithms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.