Password generation with key and derivation parameter
US-2018248689-A1 · Aug 30, 2018 · US
US10587406B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10587406-B1 |
| Application number | US-201615380956-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 15, 2016 |
| Priority date | Dec 15, 2016 |
| Publication date | Mar 10, 2020 |
| Grant date | Mar 10, 2020 |
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.
Data within a file system may be protected using a key rotation scheme. The key rotation scheme may include a data key and a metadata key. The data key may be used to encrypt data portions of the file system while the metadata key may be used to encrypt the metadata of the file system. The metadata key may be generated based at least in part on a user input and may be rotated at the end of a key rotation interval.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: one or more processors; and memory including executable instructions that, as a result of being executed by the one or more processors; cause the system to: encrypt a set of data objects, maintained within a file system, using a data key; encrypt metadata of the file system using a metadata key, wherein the metadata indicates storage addresses of the set of data objects in the file system and the metadata key is generated based at least in part on a user input such that the metadata key can be recreated using the user input; receive a request to access a data object of the set of data objects maintained within the file system; decrypt at least a portion of the metadata using the metadata key to obtain a first metadata; locate the data object in the file system based at least in part on the first metadata; decrypt the data object using the data key; rotate the metadata key at a first frequency, wherein the metadata key for each rotation is based at least in part on the user input and a number of iterations of a cryptographic hash function, the number of iterations increased each rotation until a new user input is provided; and rotate the data key at a second frequency, the first frequency being higher than the second frequency. 2. The system of claim 1 , wherein the memory further includes executable instructions that, as a result of being executed by the one or more processors, cause the system to encrypt a portion of the data key with the metadata key by at least including the data key in a root node of the metadata. 3. The system of claim 1 , wherein the user input comprises a username and password of a user associated with the file system. 4. The system of claim 1 , wherein the executable instructions that cause the system to rotate the metadata key further include executable instructions that, as a result of being executed by the one or more processors, cause the system to generate a next metadata key based at least in part on combining the user input with a random value selected from a plurality of random values. 5. A computer-implemented method, comprising: generating a metadata key based at least in part on an input and a data key; encrypting a data object maintained within a file system with the data key; encrypting metadata of the file system with the metadata key, wherein the metadata indicates a storage location of the data object within the file system; and rotating the metadata key by at least: decrypting the metadata of the file system with the metadata key; generating a new metadata key based at least in part on the input and a number of iterations of the metadata key since the input was provided; and encrypting the metadata of the file system with the new metadata key. 6. The computer-implemented method of claim 5 , wherein the computer-implemented method further comprises encrypting the data key with the metadata key. 7. The computer-implemented method of claim 6 , wherein encrypting the data key with the metadata key further comprises storing data key material in a particular location within the metadata of the file system, where the data key material is useable to recreate the data key. 8. The computer-implemented method of claim 5 , wherein the computer-implemented method further comprises encrypting a portion of the data object with the metadata key, where the portion of the data object encrypted with the metadata key is indicated in the metadata. 9. The computer-implemented method of claim 8 , wherein the portion of the data object encrypted with the metadata key includes a header. 10. The computer-implemented method of claim 5 , wherein the computer-implemented method further comprises: receiving an application program interface request including input and information indicating the data object; fulfilling the application program interface request by at least: recreating the metadata key based at least in part on the input; decrypting the metadata of the file system with the metadata key; determining a location of the data object based at least in part on the metadata; and decrypting the data object using the data key; and returning the data object in response to the application program interface request. 11. The computer-implemented method of claim 5 , wherein generating the metadata key further comprises generating the metadata key by at least performing a cryptographic function over the input. 12. The computer-implemented method of claim 5 , wherein the computer-implemented method further comprises encrypting a footer of the data object with the metadata key. 13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least: receive a request to create a storage volume; generate a data key useable for encrypting data stored within the storage volume; generate a metadata key based at least in part on an input obtained from a computing device associated with the storage volume, and a number of iterations of the metadata key since the input was obtained; and encrypt metadata of the storage volume based at least in part on the metadata key, wherein the metadata indicates a storage address of the data within the storage volume. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to: determine a rotation interval has been invalidated; generate a new metadata key using a key rotation scheme; and encrypt metadata of the storage volume based at least in part on the new metadata key. 15. The non-transitory computer-readable storage medium of claim 14 , wherein generating the new metadata key further comprises generating the new metadata key using a particular pseudo-random value of a set of pseudo-random values, the particular pseudo-random value having been selected based at least in part on a particular order assigned to the set of pseudo-random values. 16. The non-transitory computer-readable storage medium of claim 14 , wherein the key rotation scheme comprises incrementing a value until the input is modified, the value indicating a number of repetitions performed when generating the new metadata key. 17. The non-transitory computer-readable storage medium of claim 14 , wherein the key rotation scheme comprises decrementing a value until the value reaches a threshold at which point the input is modified and the value is reset. 18. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to: decrypt metadata of the storage volume using the metadata key; determine one or more locations of data comprising a data object based at least in part on the metadata; obtain the data comprising the data object from the one or more locations; and decrypt the data using the data key. 19. The non-transitory computer-readable storage medium of claim 18 , wherein the instructions that cause the computer system to determine the one or more locations further cause the computer system to trace one or more nodes of the metadata of the storage volume, where the one or more nodes indicate location information for data within the storage volume. 20. The non-tr
File encryption · CPC title
to a system of files or objects, e.g. local or distributed file system or database · CPC title
the keys or algorithms being changed during operation · CPC title
Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title
involving random numbers or seeds · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.