Server-assisted regeneration of a strong secret from a weak secret
AssigneeRSA Security Inc.
InventorBurton S. Kaliski JR.
Life of this patent
Estimating the term…
Abstract
Methods for regenerating a strong secret for a user, based on input of a weak secret, such as a password, are assisted by communications exchanges with a set of independent servers. Each server holds a distinct secret value (i.e., server secret data). The strong secret is a function of the user's weak secret and of the server secret data, and a would-be attacker cannot feasibly compute the strong secret without access to both the user's weak secret and the server secret data. Any attacker has only a limited opportunity to guess the weak secret, even if he has access to all messages transmitted in the generation and regeneration processes plus a subset (but not all) of the server secret data.
Claims40
A method for deriving a strong secret from a first secret, the method comprising the steps of:
- providing each of at least one servers with a respective server secret;
- and
- participating in a blind function evaluation protocol of a function by at least one of the servers with a client resulting in the generation of a strong secret by the client, the function taking as input the respective server secret and client information derived from a first secret, the function generating as output a strong secret component, the blind function evaluation protocol designed such that the client cannot determine each of the respective server secrets and such that each server cannot determine the first secret and such that each server cannot determine either the respective strong secret component or the strong secret.
A system for decrypting encrypted secrets using a first secret, comprising:
- at least one servers each comprising a respective server secret and a blind function evaluator for participating in a blind function evaluation protocol of a function with a client, the blind function evaluation protocol resulting in the generation of a strong secret revealed to the client but not the at least one servers, the function taking as input the server secret and client information derived from a first secret, the function generating as output a strong secret output, the blind function evaluation protocol designed such that the client cannot determine each of the respective server secrets and such that each server cannot determine each respective strong secret component or the strong secret.
A system for decrypting encrypted secrets using a first secret, comprising:
- a client in communication with at least one servers, the at least one servers each comprising a respective server secret and a blind function evaluator for participating in a blind function evaluation protocol with the client, the blind function evaluation protocol resulting in the generation of a strong secret component revealed to the client but not the servers, the function taking as input each respective server secret and client information derived from a first secret, the function generating as output a strong secret component, the blind function evaluation protocol designed such that the client cannot determine each of the respective server secrets and such that each server cannot determine either the respective strong secret component or the strong secret, the client comprising:
- a receiver for receiving encrypted secrets;
- a decryption function for decrypting the encrypted secrets with a key derived from the strong secret.
Dependencies are inferred from the claim text.