Homomorphic encryption for password authentication
AssigneeKoninklijke Philips N.V.
InventorsSebastiaan Jacobus Antonius De Hoogh, Alan Pestrin
Life of this patent
Estimating the term…
Abstract
Some embodiments are directed to a server device (100) and a client device (200) arranged to authenticating a user of client device (200). The user has access to an authentication string. Server device (100) is configured to encrypt a set of character/position data according to a homomorphic encryption algorithm. The client device allows the user to select a subset from the encrypted set from which a verification number is computed using the homomorphic operation.
Claims28
A server device for authenticating a user from a client device comprising:
- a storage circuit,
- wherein the storage circuit is arranged to store a first verification number,
- wherein the first verification number is computed from a subset of a set of character/position data,
- wherein the subset is indicated by an authentication string,
- wherein the set of character/position data comprises a number for the combinations of a character from the character set and a position in the authentication string,
- wherein the user has access to the authentication string,
- wherein the authenticating string has multiple characters at multiple positions,
- wherein the characters are selected from a character set;
- and
- a processor circuit,
- wherein the processor circuit is arranged to encrypt the set of character/position data,
- wherein the set of character/position data is encrypted according to a homomorphic encryption algorithm,
- wherein the processor circuit is arranged to send the encrypted set to the client device,
- wherein the processor circuit is arranged to receive a second verification number from the client device,
- wherein the second verification number is computed by homomorphically computing an encrypted second verification number from a subset of the encrypted set,
- wherein the subset is indicated by the authentication string,
- wherein the processor circuit is arranged to verify the correspondence between the first verification number and the encrypted second verification number so as to authenticate the user to access a service provided by the server.
A client device for authenticating a user to a server device comprising:
- a processor circuit,
- wherein the processor circuit is arranged to receive a set of character/position data,
- wherein the set of character/position data is encrypted according to a homomorphic encryption algorithm,
- wherein the encrypted set of character/position data comprise a number for the combinations of a character from the character set and a position in an authentication string,
- wherein the processor circuit is arranged to homomorphically compute an encrypted second verification number from a subset of the encrypted set of character/position data,
- wherein the subset is indicated by the authentication string,
- wherein the user has access to the authentication string,
- wherein the authenticating string has multiple characters at multiple positions,
- wherein the characters are selected from a character set,
- wherein the processor circuit is arranged to send the encrypted second verification number to the server device and the user is authorized to access a service via the client device provided by the server device when the second verification number corresponds to a first verification number stored at the server device.
A method for authenticating a user from a client device comprising:
- storing a first verification number,
- wherein the first verification number is computed from a subset of a set of character/position data,
- wherein the subset is indicated by the authentication string,
- wherein the set of character/position data comprises a number for the combinations of a character from the character set and a position in an authentication string,
- wherein the user has access to the authentication string,
- wherein the authenticating string has multiple characters at multiple positions,
- wherein the characters are selected from a character set;
- encrypting the set of character/position data,
- wherein the set of character/position data is encrypted according to a homomorphic encryption algorithm;
- sending the encrypted set to the client device;
- receiving a second verification number from the client device,
- wherein the second verification number is computed by homomorphically computing an encrypted second verification number from a subset of the encrypted set,
- wherein the said is indicated by the authentication string;
- and
- verifying the correspondence between the first verification number and the encrypted second verification number so as to authenticate the user to access a service provided by the server.
A method for authenticating a user to a server device comprising:
- receiving a set of character/position data,
- wherein the set of character/position data is encrypted according to a homomorphic encryption algorithm,
- wherein the encrypted set of character/position data comprises a number for the combinations of a character from the character set and a position in an authentication string,
- wherein the user has access to the authentication string,
- wherein the authenticating string has multiple characters at multiple positions,
- wherein the characters are selected from a character set;
- homomorphically computing an encrypted second verification number from a subset of the encrypted set of character/position data,
- wherein the subset is indicated by the authentication string,
- sending the encrypted second verification number to the server device and the user is authorized to access a service via the client device provided by the server device when the second verification number corresponds to a first verification number stored at the server device.
Dependencies are inferred from the claim text.