IP Library Granted Patent US 11,012,436
Granted Patent B2
US 11,012,436 · App. 16/021,240 · Granted May 18, 2021

Sharing credentials

Inventors: Bjorn Hamel (Dublin, CA); Jonathan David Ruggiero (Danville, CA)
Assignee: Workday, Inc.
H04L63/083G06F16/27G06F21/31G06F21/45G06F21/604G06Q10/105H04L9/0819H04L9/0891H04L9/3213H04L9/3226H04L9/3247H04L63/0428G06F21/6245
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 11,012,436
App. No.
16/021,240
Granted
May 18, 2021
Kind
B2
Abstract

A system for providing an application includes an interface and a processor. The interface is configured to receive an indication to provide an application to a device. The processor is configured to provide the application to the device. The application is configured to receive a request for credentialed information associated with a user from a requesting server; determine whether a stored credential satisfies the request for the credentialed information; and in response to a determination that the stored credential satisfies the request for the credentialed information: determine a response credential for responding to the request; determine that the user approves sharing the credentialed information indicated by the response credential; and provide the response credential to the requesting server.

Claims (106)

1. A system for providing an application, comprising:

an interface configured to:

receive an indication to provide an application to a device; and

a processor configured to:

provide the application to the device, wherein the application is configured to:

receive a request for credentialed information associated with a user from a requesting server;

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of personal information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

2. A system for sharing credential information, comprising:

an interface configured to:

receive a request for the credentialed information associated with a user from a requesting server; and

a processor configured to:

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of personal information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

3. The system of claim 2 , wherein the processor is further configured to:

receive a credential sharing application issued by the server system; and

install the credential sharing application.

4. The system of claim 2 , wherein the request for the credentialed information is in response to a user request to perform an action.

5. The system of claim 4 , wherein the credentialed information is based at least in part on the action.

6. The system of claim 2 , wherein determining whether the stored credential satisfies the request for the credentialed information comprises unlocking local storage and scanning stored credentials.

7. The system of claim 2 , wherein determining the response credential comprises determining a set of stored credentials that satisfies the request for the credentialed information.

8. The system of claim 7 , wherein determining the response credential further comprises prompting the user to select a credential of the set of stored credentials that satisfy the request for the credentialed information.

9. The system of claim 7 , wherein determining the response credential further comprises automatically selecting a credential of the set of stored credentials that satisfy the request for the credentialed information that indicates a least personal information.

10. The system of claim 2 , wherein the request for the credentialed information is in response to a user accessing a URL, scanning a bar code, receiving a push notification, or scanning a QR code.

11. The system of claim 2 , wherein a credential verifier is configured to:

look up a key based at least in part on a ID stored by the credential;

determine whether the response credential has been revoked using a revocation ledger;

determine an authenticity of the response credential by checking an issuer signature;

determine whether the response credential satisfies the request for the credentialed information; and

provide an indication that the response credential satisfies the request for the credentialed information.

12. The system of claim 2 , wherein an authenticity of the response credential is determined by additionally checking a credential holder signature or a credential verifier binding.

13. The system of claim 2 , wherein determining that the user approves sharing the information indicated by the stored credential comprises providing privacy information to the user and receiving an approval indication; including a local user system authentication, from the user that the user approves the privacy information.

14. The system of claim 2 , wherein the processor is further configured to, in response to a determination that the stored credential does not satisfy the request for the credentialed information:

determine whether an available credential available to the user satisfies the request for the credentialed information;

in response to a determination that the available credential satisfies the request for the credentialed information:

provide an available indication of the available credential;

create a just in time server credential request;

provide the just in time server credential request to a server system;

receive the available credential;

determine that the user approves sharing the information indicated by the available credential;

provide the available credential to a credential verifier.

15. The system of claim 2 , wherein the processor is further configured to store a stored indication that the stored credential was shared with the requesting server.

16. The system of claim 2 , wherein the processor is further configured to receive a verify indication from a credential verifier that the credential was verified.

17. The system of claim 2 , wherein the processor is further configured to provide satisfied indication to the user that the request for credentialed information was satisfied.

18. A method for providing an application, comprising:

receiving an indication to provide an application to a device; and

providing, using a processor, the application to the device, wherein the application is configured to:

receive a request for credentialed information associated with a user from a requesting server;

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of personal information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

19. A computer program product for providing an application, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication to provide an application to a device; and

providing the application to the device, wherein the application is configured to:

receive a request for credentialed information associated with a user from a requesting server;

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of personal information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

20. A system for providing an application, comprising:

an interface configured to:

receive an indication to provide an application to a device; and

a processor configured to:

provide the application to the device, wherein the application is configured to:

receive a request for credentialed information associated with a user from a requesting server;

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of verification information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

21. A system for sharing credential information, comprising:

an interface configured to:

receive a request for the credentialed information associated with a user from a requesting server; and

a processor configured to:

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of verification information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

22. A method for providing an application, comprising:

receiving an indication to provide an application to a device; and

providing, using a processor, the application to the device, wherein the application is configured to:

receive a request for credentialed information associated with a user from a requesting server;

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of verification information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

23. A computer program product for providing an application, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication to provide an application to a device; and

providing the application to the device, wherein the application is configured to:

receive a request for credentialed information associated with a user from a requesting server;

determine whether two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information; and

in response to a determination that two or more stored credentials of a set of stored credentials satisfy the request for the credentialed information:

determine a response credential for responding to the request, comprising to select as the response credential a stored credential of the two or more stored credentials having a lowest level of specificity of verification information of the user;

determine that the user approves sharing the information indicated by the response credential; and

provide the response credential to the requesting server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2018
From: HAMEL, BJORN; RUGGIERO, JONATHAN DAVID
To: WORKDAY, INC.
Reel/Frame 046892/0813 →
Continuity (2)
Provisional Application 62648854 · Mar 27, 2018
Related Publication 20190303559A1 · Oct 3, 2019