IP Library Granted Patent US 10,275,956
Granted Patent B1
US 10,275,956 · App. 15/469,800 · Granted Apr 30, 2019

Sharing keys

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 10,275,956
App. No.
15/469,800
Granted
Apr 30, 2019
Kind
B1
Abstract

The subject matter described in this specification includes a computer-readable medium storing instructions that cause one or more processors to perform various operations including receiving, from a first client device associated with a user account of a first user, a request for sharing a key. The key is associated with the user account of the first user, and permits access to a resource. The operations include generating, at a server, one or more representations of the key, transmitting the representations of the key to the first client device, and receiving, from a second client device associated with a user account of a second user, a request to access the key. The request to access the key is derived from one of the one or more representations of the key. The operations further include communicating, to the second client device, a message indicating whether access to the key has been granted.

Claims (73)

1. A computer-implemented method comprising:

receiving, by a user device of a first user, data indicating a user input indicative of a request to share a key of the first user with a second user, the key being configured to provide access to a resource associated with a credential issuing authority, the second user having a credential issued by the credential issuing authority;

in response to receiving the user input indicative of the request to share the key of the first user with the second user, displaying, by the user device, one or more user interfaces that include interactive elements specifying settings for sharing the key;

receiving, by the user device, key configuration data that includes (i) a user selection of a type of representation of the key from among a plurality of key representation types using the interactive elements, (ii) a user selection of a method for transmitting the representation of the key from among a plurality of methods to transmit the representation of the key using the interactive elements, (iii) a time period during which the key is accessible to the second user, and (iv) an indication whether the second user is permitted to forward the representation of the key to users other than the first user;

obtaining, by the user device and from a server system associated with the credential issuing authority, data for the representation of the key according to the key configuration data; and

transmitting, by the user device, the representation of the key to a destination device of the second user based on the method for transmitting the representation of the key.

2. The computer-implemented method of claim 1 , wherein the interactive elements comprise at least (i) first elements indicating different key representation types, and (ii) second elements indicating different methods to transmit the representation of the key; and

wherein the second elements include a selectable element for sharing the key over a network and a selectable element for sharing the key by locally outputting the representation of the key at the user device.

3. The computer-implemented method of claim 1 , wherein:

the representation of the key includes a QR code, an ultrasonic wave, an audible acoustic wave, or an alphanumeric code; and

an identification of the key is encoded within the representation of the key.

4. The computer-implemented method of claim 1 , further comprising:

receiving, by the user device through the user interface, data indicating a maximum number of times the key is permitted to be accessed after the key is shared;

providing, to the server system, the data indicating the maximum number of times that the key is permitted to be accessed after the key is shared; and

receiving, by the user device through the user interface, data indicating that (I) the second user is permitted to forward the representation of the key to users other than the first user, (II) a number of the users other than the first user that the key is permitted to be forwarded to.

5. The computer-implemented method of claim 1 , wherein the method for transmitting the representation of the key comprises transmitting the representation of the key directly from the user device to the destination device.

6. The computer-implemented method of claim 1 , wherein transmitting, by the user device, the representation of the key to the destination device based on the method for transmitting the representation of the key comprises:

transmitting, by the user device, the representation of the key to the destination device using infrared communications or a Wi-Fi communication.

7. The computer-implemented method of claim 1 , further comprising:

receiving, by the user device, data indicative of a history of access to the key, the history comprising data indicative of one or more clients or users who have accessed the key; and

receiving, by the user device, a request to revoke access to the key.

8. The computer-implemented method of claim 1 , further comprising:

transmitting, from the user device to the server system, data indicative of the request to share the key; and

receiving, by the user device from the server system, a reference code,

wherein obtaining, by the user device, the representation of the key comprises:

generating the representation of the key using the reference code received from the server system.

9. The computer-implemented method of claim 1 , further comprising:

transmitting, by the user device to the server system, a request for sharing the key,

wherein obtaining data for the representation of the key comprises:

receiving, by the user device and from the server system, data for generating the representation of the key;

generating, by the user device, the representation of the key based on the received data for generating the representation of the key and according to the key configuration data;

transmitting, by the user device and to the server system, a request to validate the generated representation of the key; and

receiving, by the user device and from the server system, data indicating that the generated representation of the key is valid.

10. A system comprising:

one or more computing devices in a user device of a first user and one or more storage devices storing instructions which when executed by the one or more computing devices, cause the one or more computing devices to perform operations comprising:

receiving data indicating a user input indicative of a request to share a key of a first user with a second user, the key being configured to provide access to a resource associated with a credential issuing authority, the second user having a credential issued by the credential issuing authority;

in response to receiving the user input indicative of the request to share the key of the first user with the second user, displaying one or more user interfaces that include interactive elements specifying settings for sharing the key;

receiving key configuration data that includes (i) a user selection of a type of representation of the key from among a plurality of key representation types using the interactive elements, (ii) a user selection of a method for transmitting the representation of the key from among a plurality of methods to transmit the representation of the key using the interactive elements, (iii) a time period during which the key is accessible to the second user, and (iv) an indication whether the second user is permitted to forward the representation of the key to users other than the first user;

obtaining, from a server system associated with the credential issuing authority, data for the representation of the key according to the key configuration data; and

transmitting the representation of the key to a destination device of the second user based on the method for transmitting the representation of the key.

11. The system of claim 10 , wherein:

the interactive elements comprise at least (i) first elements indicating different key representation types, and (ii) second elements indicating different methods to transmit the representation of the key; and

the second elements include a selectable element for sharing the key over a network and a selectable element for sharing the key by locally outputting the representation of the key at the user device.

12. The system of claim 10 , wherein:

the representation of the key includes a QR code, an ultrasonic wave, an audible acoustic wave, or an alphanumeric code; and

an identification of the key is encoded within the representation of the key.

13. The system of claim 10 , wherein the method for transmitting the representation of the key comprises transmitting the representation of the key directly from the user device to the destination device.

14. The system of claim 10 , wherein the operations further comprise:

receiving data indicative of a history of access to the key, the history comprising data indicative of one or more clients or users who have accessed the key; and

receiving a request to revoke access to the key.

15. The system of claim 10 , wherein the operations further comprise:

transmitting, to the server system, a request for sharing the key,

wherein obtaining data for the representation of the key comprises:

receiving, from the server system, data for generating the representation of the key;

generating the representation of the key based on the received data for generating the representation of the key and according to the key configuration data;

transmitting, to the server system, a request to validate the generated representation of the key; and

receiving, from the server system, data indicating that the generated representation of the key is valid.

16. One or more non-transitory computer-readable storage media including instructions, which upon execution by one or more processors, cause the one or more processors in a user device of a first user to perform operations comprising:

receiving data indicating a user input indicative of a request to share a key of the first user with a second user, the key being configured to provide access to a resource associated with a credential issuing authority, the second user having a credential issued by the credential issuing authority;

in response to receiving the user input indicative of the request to share the key of the first user with the second user, displaying one or more user interfaces that include interactive elements specifying settings for sharing the key;

receiving key configuration data that includes (i) a user selection of a type of representation of the key from among a plurality of key representation types using the interactive elements, (ii) a user selection of a method for transmitting the representation of the key from among a plurality of methods to transmit the representation of the key using the interactive elements, (iii) a time period during which the key is accessible to the second user, and (iv) an indication whether the second user is permitted to forward the representation of the key to users other than the first user;

obtaining, from a server system associated with the credential issuing authority, data for the representation of the key according to the key configuration data; and

transmitting the representation of the key to a destination device of the second user based on the method for transmitting the representation of the key.

17. The one or more non-transitory computer-readable storage media of claim 16 , wherein:

the interactive elements comprise at least (i) first elements indicating key representation types, and (ii) second elements indicating different methods to transmit the representation of the key; and

the second elements include a selectable element for sharing the key over a network and a selectable element for sharing the key by locally outputting the representation of the key at the user device.

18. The one or more non-transitory computer-readable storage media of claim 16 , wherein:

the representation of the key includes a QR code, an ultrasonic wave, an audible acoustic wave, or an alphanumeric code; and

an identification of the key is encoded within the representation of the key.

19. The one or more non-transitory computer-readable storage media of claim 16 , wherein the method for transmitting the representation of the key comprises transmitting the representation of the key directly from the user device to the destination device.

20. The one or more non-transitory computer-readable storage media of claim 16 , wherein the operations further comprise:

receiving data indicative of a history of access to the key, the history comprising data indicative of one or more clients or users who have accessed the key; and

receiving a request to revoke access to the key.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072909/0870 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2017
From: GEHRET, JOHN; ZIRAKNEJAD, SIAMAK
To: MICROSTRATEGY INCORPORATED
Reel/Frame 042104/0778 →