Distribution and recovery of a user secret

US11057210B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11057210-B1
Application numberUS-201916550836-A
CountryUS
Kind codeB1
Filing dateAug 26, 2019
Priority dateSep 30, 2015
Publication dateJul 6, 2021
Grant dateJul 6, 2021

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.

A user device can segment a secret (e.g., a data recovery key) into a master segment and a shared segment such that possession of both segments is necessary and sufficient to reconstruct the secret. The user device can provide the master segment to a server system. The user device can further segment the shared segment to generate a set of M shares such that any subset of the shares that includes at least a threshold number t of the shares can be used to reconstruct the shared segment, while fewer than t shares provide no information about the shared segment. The M shares can be distributed to shareholder devices. To reconstruct the secret, a recovery device can obtain the master segment and at least t of the M shares, then reconstruct the secret.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating, at a user device, a secret, wherein the secret is a cryptographic key used by the user device to encrypt user data; identifying, at the user device, a set of M shareholder devices, wherein M is an integer greater than 2; generating, by the user device, from the secret, a primary segment and a shared segment such that the primary segment and the shared segment are necessary and sufficient inputs to an algorithm to reconstruct the secret; computing, by the user device, based on the shared segment, a set of M shares such that the shared segment is reconstructible using any subset of the shares that includes at least a threshold number t of the M shares and is not reconstructible using any subset of the shares that includes fewer than the threshold number t of the M shares, wherein the threshold number t is greater than 1 and less than M; providing, by the user device, the primary segment to a server system for storage; and providing, by the user device, a different one of the M shares to each of the M shareholder devices for storage. 2. The method of claim 1 wherein the secret corresponds to a recovery key usable to recover access to user data stored at the server system. 3. The method of claim 1 wherein identifying the set of M shareholder devices includes: prompting the user to select M contacts from a contacts list of the user; and identifying a shareholder device associated with each of the selected contacts. 4. The method of claim 1 further comprising: generating, by the user device, a private/public key pair based on the shared segment; and providing, by the user device, the public key to the server system for storage. 5. The method of claim 1 further comprising: obtaining, at a recovery device, the respective one of the M shares from each of at least the threshold number t of the M shareholder devices such that at least t of the M shares are obtained; reconstructing, by the recovery device, the shared segment using the at least the threshold number t of the M shares; providing, by the recovery device, a proof to the server system that the recovery device has reconstructed the shared segment; receiving, at the recovery device, the primary segment from the server system, wherein the primary segment is received in response to the proof; and reconstructing, by the recovery device, the secret using the received primary segment and the reconstructed shared segment. 6. The method of claim 5 further comprising: generating, by the user device, a first private/public key pair based on the shared segment; and providing, by the user device, the public key to the server system for storage, wherein providing, by the recovery device, a proof to the server system that the recovery device has reconstructed the shared segment includes: generating, by the recovery device, a reconstructed private/public key pair based on the reconstructed shared segment; and using the reconstructed private/public key pair to respond to a challenge from the server system. 7. The method of claim 5 wherein, for at least a first shareholder device of the M shareholder devices, obtaining the respective one of the M shares includes: presenting, at a user interface of the recovery device, a confirmation code, wherein the confirmation code is providable by a user operating the recovery device to a shareholder operating the first shareholder device and wherein the first shareholder device provides the respective one of the M shares to the recovery device in response to the confirmation code. 8. The method of claim 5 wherein the user device and the recovery device are different devices. 9. A method comprising: receiving, at a server system, a primary key segment from a user device, the primary key segment associated with a user account maintained at the server system for a user; storing, by the server system, the primary key segment in a data repository in association with the user account; subsequently receiving, by the server system, a request from a recovery device for the primary key segment; determining, by the server system, whether the recovery device is in possession of a shared key segment corresponding to the primary key segment, wherein the shared key segment was previously used to compute a set of M shares, wherein M is an integer greater than 2 and wherein the M shares were computed such that the shared key segment is reconstructible using any subset of the shares that includes at least a threshold number t of the M shares and is not reconstructible using any subset of the shares that includes fewer than the threshold number t of the M shares, wherein the threshold number t is greater than 1 and less than M, and wherein the M shares were distributed among M shareholder devices, wherein the determining includes determining whether the recovery device has obtained at least the threshold number t of the M shares from the shareholder devices; and in response to determining that the recovery device is in possession of the shared key segment, sending the primary key segment to the recovery device. 10. The method of claim 9 further comprising: at a time prior to sending the primary key segment, performing a user identity verification operation with the recovery device, wherein the primary key segment is sent only if the user identity verification operation succeeds. 11. The method of claim 9 further comprising: receiving, from the user device, at the server system, a public key associated with the primary key segment and the user account, the public key having been determined by the user device based on the shared key segment; and storing, by the server system, the public key in the data repository in association with the user account and the primary key segment, wherein determining whether the recovery device is in possession of the shared key segment includes: sending a cryptographic challenge to the recovery device; receiving a response from the recovery device, the response including a digital signature; and determining, based at least in part on the digital signature and the public key, whether the recovery device is in possession of the shared key segment. 12. The method of claim 9 wherein the recovery device and the user device are different devices. 13. The method of claim 9 wherein the primary key segment and the shared key segment are together usable to reconstruct a user secret, the user secret including a recovery key that is usable to recover access to secured user data associated with the user account. 14. A method comprising: initiating, at a recovery device, a recovery process with a server system for recovery of a user secret that was previously enrolled in a recovery service of the server system, wherein as a result of the previous enrollment, the server system stores a primary segment generated from the user secret and a set of M shareholder devices each stores a respective one of a set of M shares of a shared segment generated from the user secret, wherein M is an integer greater than 2 and wherein the shared segment is reconstructible using any subset of the shares that includes at least a threshold number t of the M shares and is not reconstructible using any subset of the shares that includes fewer than the threshold number t of the M shares, wherein the threshold number t is greater than 1 and less than M; obtaining, by the recovery device, from at least the threshold number t of the M shareholder devices, the respective shares stored thereby, such that at least the threshold number t of the M shares are obtained; reconstructing, b

Assignees

Inventors

Classifications

  • using challenge-response · CPC title

  • using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083) · CPC title

  • H04L9/0894Primary

    Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage · CPC title

  • Secret sharing or secret splitting, e.g. threshold schemes · CPC title

  • involving digital signatures · 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 US11057210B1 cover?
A user device can segment a secret (e.g., a data recovery key) into a master segment and a shared segment such that possession of both segments is necessary and sufficient to reconstruct the secret. The user device can provide the master segment to a server system. The user device can further segment the shared segment to generate a set of M shares such that any subset of the shares that includ…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04L9/0894. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 06 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).