IP Library Granted Patent US 9,768,962
Granted Patent B2
US 9,768,962 · App. 13/831,581 · Granted Sep 19, 2017

Minimal disclosure credential verification and revocation

Inventors: Tolga Acar (Sammamish, WA); Christian Paquin (Bellevue, WA); Duy Lan Nguyen (Redmond, WA); Melissa Chase (Redmond, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L9/3226H04L9/3213H04L9/3218
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,768,962
App. No.
13/831,581
Granted
Sep 19, 2017
Kind
B2
Abstract

The subject disclosure is directed towards credential verification for accessing a service provider. A user may prove to the service provider the validity of the credential by communicating a non-revocation component that is based upon a prime-order cryptographic group without a bilinear pairing. In order to authenticate the user, a verification mechanism within an identity management system applies private cryptographic data, including a verifier-designated private key to the non-revocation component, which proves that the user's identity and therefore, the credential is not revoked. The presentation proof includes a hash value that is computed using the credential's commitment and the prime-order cryptographic group. By verifying that the hash value was computed using that commitment, the verification mechanism validates the credential and permits access to the service provider.

Claims (35)

1. A computer-implemented method for execution by a verifier for a service provider, the method comprising:

receiving from a computing device of a user a verification request for completing an electronic transaction with an online property included in the service provider;

accessing a non-revocation component stored in the verification request and comprising a user identifier of the user, the non-revocation component corresponding to a minimal disclosure credential that is associated with identifying the computing device, the non-revocation component corresponding to a prime-order cryptographic group-based scheme including an accumulator computed using the user identifier, a verifier-designated cryptographic key corresponding to the verifier and at least one valid identifier or at least one revoked identifier, the user identifier being generated by a third party identity provider such that the user remains anonymous;

granting or denying the electronic transaction by determining the user identifier's membership or non-membership in the accumulator based on applying the verifier-designated cryptographic key to the non-revocation component to verify that the non-revocation component is computed using the verifier-designated cryptographic key; and

in response to determining that the minimal disclosure credential is a prior credential being used to complete the electronic transaction while another minimal disclosure credential associated with the computing device is a pending credential, updating the non-revocation component to revoke the minimal disclosure credential and the other minimal disclosure credential, and generating a new minimal disclosure credential associated with the computing device by accumulating at least the user identifier of the minimal disclosure credential into the accumulator.

2. The method of claim 1 further comprising validating a commitment for a revocation attribute corresponding to the user identifier.

3. The method of claim 1 further comprises if the user identifier is a member of the accumulator comprising the at least one valid identifier or if the user identifier is a non-member of the accumulator comprising the at least one revoked identifier, instructing the service provider to grant the verification request.

4. The method of claim 1 further comprises if the user identifier is a non-member of the accumulator comprising the at least one valid identifier or if the user identifier is a member of the accumulator comprising the at least one revoked identifier, instructing the service provider to deny the verification request.

5. The method of claim 1 further comprising generating a challenge based upon a prime-order cyclic group of the non-revocation component, processing a witness to an identifier and verifying non-revocation of the identifier based upon the witness and a commitment to the identifier that is computed using the challenge.

6. The method of claim 1 , wherein applying the verifier-designated cryptographic key further comprises using a verifier-designated private key, based upon a discrete logarithmic group, to prove non-revocation of the minimal disclosure credential.

7. The method of claim 1 , wherein applying the verifier-designated cryptographic key further comprises verifying a presentation proof generated for the minimal disclosure credential by using a prime-order cyclic subgroup construction or an elliptical curve construction of the prime-order cryptographic group to compute mathematical numbers for comparison with components of the presentation proof.

8. The method of claim 1 , wherein applying the verifier-designated cryptographic key further comprises generating the verifier-designated cryptographic key using a standardized cryptographic group, and applying the verifier-designated cryptographic key to the non-revocation component to determine validity of the minimal disclosure credential.

9. The method of claim 1 further comprising generating a public cryptographic key and a private cryptographic key from a prime-order cyclic subgroup or elliptic curve.

10. An apparatus implemented in hardware comprising:

a verifier comprising logic stored in hardware memory and executed on a logic circuit, the verifier being operative to:

receive from a computing device of a user a verification request for completing an electronic transaction with an online property included in a service provider;

access a non-revocation component stored in the verification request and comprising a user identifier of the user, the non-revocation component corresponding to a minimal disclosure credential that is associated with identifying the computing device, the non-revocation component corresponding to a prime-order cryptographic group-based scheme including an accumulator computed using the user identifier, a verifier-designated cryptographic key corresponding to the verifier and at least one valid identifier or at least one revoked identifier, the user identifier being generated, by a third party identity provider, such that the user remains anonymous;

grant or deny the electronic transaction by determining the user identifier's membership or non-membership in the accumulator based on applying the verifier-designated cryptographic key to the non-revocation component to verify that the non-revocation component is computed using the verifier-designated cryptographic key; and

in response to determining that the minimal disclosure credential is a prior credential being used to complete the electronic transaction while another minimal disclosure credential associated with the computing device is a pending credential, update the non-revocation component to revoke the minimal disclosure credential and the other minimal disclosure credential, and generate a new minimal disclosure credential associated with the computing device by accumulating at least the user identifier of the minimal disclosure credential into the accumulator.

11. The apparatus of claim 10 , the verifier being further operative to validate a commitment for a revocation attribute corresponding to a user identifier.

12. The apparatus of claim 10 , the verifier being further operative to instruct the service provider to grant the verification request if the user identifier is a member of the accumulator comprising the at least one valid identifier or if the user identifier is a non-member of the accumulator comprising the at least one revoked identifier.

13. The apparatus of claim 10 , the verifier being further operative to instruct the service provider to deny the verification request if the user identifier is a non-member of the accumulator comprising the at least one valid identifier or if the user identifier is a member of the accumulator comprising the at least one revoked identifier.

14. The apparatus of claim 10 , the verifier being further operative to generate a challenge based upon a prime-order cyclic group of the non-revocation component, processing a witness to an identifier and verify non-revocation of the identifier based upon the witness and a commitment to the identifier that is computed using the challenge.

15. The apparatus of claim 10 , wherein applying the verifier-designated cryptographic key includes the verifier being further operative to use a verifier-designated private key, based upon a discrete logarithmic group, to prove non-revocation of the minimal disclosure credential.

16. The apparatus of claim 10 , wherein applying the verifier-designated cryptographic key includes the verifier being further operative to verify a presentation proof generated for the minimal disclosure credential by using a prime-order cyclic subgroup construction or an elliptical curve construction of the prime-order cryptographic group to compute mathematical numbers for comparison with components of the presentation proof.

17. The apparatus of claim 10 , wherein applying the verifier-designated cryptographic key includes the verifier being further operative to generate the verifier-designated cryptographic key using a standardized cryptographic group, and applying the verifier-designated cryptographic key to the non-revocation component to determine validity of the minimal disclosure credential.

18. The apparatus of claim 10 , the verifier being further operative to generate a public cryptographic key and a private cryptographic key from a prime-order cyclic subgroup or elliptic curve.

19. Computer-readable storage hardware having computer-executable instructions, which when executed, cause a computer to perform steps, comprising:

receiving from a computing device of a user a verification request for completing an electronic transaction with an online property included in a service provider;

accessing a non-revocation component stored in the verification request and comprising a user identifier of the user, the non-revocation component corresponding to a minimal disclosure credential that is associated with identifying the computing device, the non-revocation component corresponding to a prime-order cryptographic group-based scheme including an accumulator computed using the user identifier, a verifier-designated cryptographic key corresponding to the verifier and at least one valid identifier or at least one revoked identifier, the user identifier being generated, by a third party identity provider, such that the user remains anonymous;

granting or denying the electronic transaction by determining the user identifier's membership or non-membership in the accumulator based on applying the verifier-designated cryptographic key to the non-revocation component to verify that the non-revocation component is computed using the verifier-designated cryptographic key; and

in response to determining that the minimal disclosure credential is a prior credential being used to complete the electronic transaction while another minimal disclosure credential associated with the computing device is a pending credential, updating the non-revocation component to revoke the minimal disclosure credential and the other minimal disclosure credential, and generating a new minimal disclosure credential associated with the computing device by accumulating at least the user identifier of the minimal disclosure credential into the accumulator.

20. The computer-readable storage hardware of claim 19 having further computer-executable instructions comprising:

instructing the service provider to deny the verification request if the user identifier is a non-member of the accumulator comprising the at least one valid identifier or if the user identifier is a member of the accumulator comprising the at least one revoked identifier, or

instructing the service provider to grant the verification request if the user identifier is a member of the accumulator comprising the at least one valid identifier or if the user identifier is a non-member of the accumulator comprising the at least one revoked identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: ACAR, TOLGA; PAQUIN, CHRISTIAN; NGUYEN, DUY LAN; CHASE, MELISSA
To: MICROSOFT CORPORATION
Reel/Frame 031989/0572 →
Continuity (1)
Related Publication 20140281525A1 · Sep 18, 2014