IP Library Granted Patent US 8,959,347
Granted Patent B2
US 8,959,347 · App. 13/433,067 · Granted Feb 17, 2015

Methods and systems of data security in browser storage

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,959,347
App. No.
13/433,067
Granted
Feb 17, 2015
Kind
B2
Abstract

Mechanisms and methods are provided for managing OAuth access in a database network system, and extending the OAuth flow of authentication to securely store the OAuth encrypted refresh token in the storage available with current browsers or any other non-secure storage on user system.

Claims (48)

1. A nontransient machine readable medium storing one or more machine instructions, which when invoked cause a processor to implement a method comprising:

at a server that includes at least a processor system having at least one processor and a memory system, receiving a passcode and content, to be used by a service provider server on behalf of the user;

if the passcode is authenticated, wherein authenticating the pass code comprises determining whether the passcode stored with the content and a passcode provided by a user previously match one another, performing the following,

placing, by the server, the content and passcode into an object;

creating, by the server, an encryption key;

encrypting, by the server, the object having the content and the passcode with the encryption key, therein forming an encrypted object; and

sending from the server to the user system the encrypted object and a unique identifier for the private key.

2. The nontransient machine readable medium of claim 1 , the object including at least a Binary Large Object (BLOB), the method further comprising converting the content and passcode into binary format and placing the passcode and content that were converted into the BLOB.

3. The nontransient machine readable medium of claim 1 , the object including at least a file.

4. The non-transitory machine readable medium of claim 3 , the encrypting of the content and passcode yielding a result that is saved as plain text in the object.

5. A non-transitory machine readable medium storing one or more machine instructions, which when invoked cause a processor to implement a method comprising:

at a server that includes at least a processor system having at least one processor and a memory system, receiving a passcode and content, to be used by a service provider server on behalf of the user;

if the passcode is authenticated, wherein authenticating the pass code comprises determining whether the passcode stored with the content and a passcode provided by a user previously match one another, performing the following,

placing, by the server, the content and passcode into an object;

creating, by the server, an encryption key;

encrypting, by the server, the object having the content and the passcode with the encryption key, therein forming an encrypted object; and

sending from the server to the user system the encrypted object and a unique identifier for the private key;

the encrypting of the passcode including at least applying a one-way hash function to the passcode.

6. The nontransient machine readable medium of claim 1 , the method further comprising: storing the content and passcode that were encrypted in a local database at the server.

7. The nontransient machine readable medium of claim 6 , the content being a token for refreshing an access to another server.

8. The nontransient machine readable medium of claim 6 , the method further comprising:

sending the content from the server to another server; and

in response to the sending, receiving a token from the other server.

9. A nontransient machine readable medium storing one or more machine instructions, which when invoked cause a processor to implement a method comprising:

receiving, at a server that includes at least a processor system having at least one processor and a memory system, a passcode and encrypted content to be used by a service provider server on behalf of the user and a unique key identifier;

in response to the receiving, performing the following,

querying a local database for the encryption key based on the key identifier;

decrypting the encrypted content with the key;

determining whether the passcode stored previously with the content and the passcode provided by the user match one another; and

returning the decrypted content to the user if the passcode that was stored with the content and the passcode provided by the user match one another;

wherein prior to the receiving of the encrypted passcode and encrypted content and a unique key identifier, receiving at the server, from a user device, the content and the passcode for encryption;

in response,

creating, by the server, a file;

placing, by the server, the passcode and content in the file,

generating, by the server, a unique encryption key and unique identifier of the key,

storing in a storage location of the memory system the unique encryption key in association with a unique identifier,

encrypting, by the server, the file in which the pass code and content were placed with the unique encryption key, therein creating the encrypted passcode and the encrypted content;

sending from the server to the user device the encrypted file and the unique key identifier for storage at the user device.

10. The nontransient machine readable medium of claim 9 , the method further comprising creating a log of the receiving, of the encrypted passcode if the passcode decrypted and the passcode provided by the user do not match one another.

11. The non-transitory machine readable medium of claim 1 , the method further comprising:

the encrypting of the passcode including at least applying a one-way hash function to the passcode.

12. A non-transitory machine readable medium storing one or more machine instructions, which when invoked cause a processor to implement a method comprising:

at a server that includes at least a processor system having at least one processor and a memory system, receiving a passcode and content, to be used by a service provider server on behalf of the user;

if the passcode is authenticated, wherein authenticating the pass code comprises determining whether the passcode stored with the content and a passcode provided by a user previously match one another, performing the following,

placing, by the server, the content and passcode into an object;

creating, by the server, an encryption key;

encrypting, by the server, the object having the content and the passcode with the encryption key, therein forming an encrypted object; and

sending from the server to the user system the encrypted object and a unique identifier that identifies the private key.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2012
From: GUPTA, AKHILESH
To: SALESFORCE.COM, INC.
Reel/Frame 027949/0396 →