IP Library Granted Patent US 8,689,299
Granted Patent B2
US 8,689,299 · App. 13/334,890 · Granted Apr 1, 2014

System and method for accessing a software application

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 8,689,299
App. No.
13/334,890
Granted
Apr 1, 2014
Kind
B2
Abstract

Systems and methods for managing a user identity on a mobile device are provided. The system comprises the mobile device comprising a user agent and a client application, the user agent and the client application in communication with each other. The system further comprises an identity provider in communication with the mobile device, and a client service in communication with the mobile device. The user agent is configured to communicate with the identity provider and retrieve the user identity for the client application, and the client application is configured to transmit the user identity to the client service.

Claims (60)

1. A method of managing credential information, the credential information for accessing a software application on a computing device, the method performed by the computing device comprising an application program interface (API) associated with the software application and a user agent in communication with the API, the method comprising:

obtaining the credential information using the computing device;

sending the credential information and an application identification (ID) of the software application from the API to the user agent;

storing the credential information in association with the application ID in a key store using the user agent;

encrypting the key store; and

accessing the software application by at least:

sending a request from the API to the user agent for the credential information, the request including the application ID;

decrypting the key store;

retrieving the credential information associated with the application ID when the application ID exists in the key store;

encrypting the key store; and

sending the credential information from the user agent, through the API, to the software application to provide access to the software application.

2. The method of claim 1 wherein, before storing the credential information in the key store, the user agent decrypts the key store using a shared secret, the shared secret being derived from a key of the computing device and a public key of a server.

3. The method of claim 1 further comprising:

associating with the key store a time stamp of when the credential information and the application ID were stored using the user agent;

sending the time stamp with the copy of the encrypted key store to a server; and

when accessing the software application when the computing device is in communication with the server, the method further comprising:

determining if a more recent key store is available from the server based on the time stamp of the key store;

if the more recent key store is available, the user agent retrieving from the sever the more recent key store;

decrypting the more recent key store;

determining if the application ID exists in the more recent key store and, if so, retrieving the credential information associated with the application ID using the user agent;

encrypting the more recent key store; and

sending the credential information from the user agent, through the API, to the software application to provide access to the software application.

4. The method of claim 1 wherein the credential information comprises a username and a password received through a graphical user interface (GUI).

5. The method of claim 1 wherein the credential information comprises a username.

6. The method of claim 5 further comprising:

creating a personal private identification (PPID) by combining the application ID and a user identification; and

incorporating the PPID into the credential information.

7. The method of claim 6 wherein the PPID is created by computing a hash value of a combination of the application ID and the user identification, and truncating the hash value to a predetermined number of bits.

8. The method of claim 1 further comprising activating the user agent after signing into an operating system on the computing device.

9. The method of claim 1 further comprising activating the user agent after signing into the user agent.

10. A non-transitory computer readable medium comprising computer executable instructions for managing credential information, the credential information for accessing a software application on a computing device, the computer executable instructions performed by the computing device comprising an application program interface (API) associated with the software application and a user agent in communication with the API, the computer executable instructions comprising:

obtaining the credential information using the computing device;

sending the credential information and an application identification (ID) of the software application from the API to the user agent;

storing the credential information in association with the application ID in a key store using the user agent;

encrypting the key store; and

accessing the software application by at least:

sending a request from the API to the user went for the credential information the request including the application ID;

decrypting the key store;

retrieving the credential information associated with the application ID when the application ID exists in the key store,

encrypting the key store; and

sending the credential information from the user agent, through the API, to the software application to provide access to the software application.

11. The non-transitory computer readable medium of claim 10 wherein, before storing the credential information in the key store, the user agent decrypts the key store using a shared secret, the shared secret being derived from a key of the computing device and a public key of a server.

12. The non-transitory computer readable medium of claim 10 , wherein the computer executable instructions further comprise:

associating with the key store a time stamp of when the credential information and the application ID were stored using the user agent;

sending the time stamp with the copy of the encrypted key store to a server; and

when accessing the software application when the computing device is communication with server, the computer executable instructions further comprise:

determining if a more recent key store is available from the server based on the time stamp of the key store;

if the more recent key store is available, the user agent retrieving from the sever the more recent key store;

decrypting the more recent key store;

determining if the application ID exists in the more recent key store and, if so, retrieving the credential information associated with the application ID using the user agent;

encrypting the more recent key store; and

sending the credential information from the user agent, through the API, to the software application to provide access to the software application.

13. The non-transitory computer readable medium of claim 10 wherein the credential information comprises a username and a password received through a graphical user interface (GUI).

14. The non-transitory computer readable medium of claim 10 wherein the credential information comprises a username.

15. The non-transitory computer readable medium of claim 14 wherein the computer executable instructions further comprise:

creating a personal private identification (PPID) by combining the application ID and a user identification; and

incorporating the PPID into the credential information.

16. The non-transitory computer readable medium of claim 15 wherein the PPID is created by computing a hash value of a combination of the application ID and the user identification, and truncating the hash value to a predetermined number of bits.

17. The non-transitory computer readable medium of claim 10 wherein the computer executable instructions further comprise activating the user aaent after signing into an operating system on the computing device.

18. The non-transitory computer readable medium of claim 10 wherein the computer executable instructions further comprise activating the user agent after signing into the user agent.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Feb 5, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032164/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2012
From: MCBRIDE, BRIAN EVERETT; CHIDAMBARAM, AVINASH; CORNET, JEROME BERTRAND NICOLAS
To: RESEARCH IN MOTION LIMITED
Reel/Frame 027846/0897 →