Identification of a creator of an encrypted object

US11368287B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11368287-B2
Application numberUS-202016877523-A
CountryUS
Kind codeB2
Filing dateMay 19, 2020
Priority dateMay 19, 2020
Publication dateJun 21, 2022
Grant dateJun 21, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title

  • H04L9/0637Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11368287B2 cover?
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 bein…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L9/0637. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 21 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).