IP Library Granted Patent US 8,898,753
Granted Patent B1
US 8,898,753 · App. 13/424,285 · Granted Nov 25, 2014

On-demand service security system and method for managing a risk of access as a condition of permitting access to the on-demand service

Inventors: Forrest A. Junod (San Francisco, CA); Robert C. Fly (Moraga, CA); Peter Dapkus (Oakland, CA); Scott W. Yancey (San Francisco, CA); Steven S. Lawrance (San Francisco, CA); Simon Z. Fell (San Francisco, CA)
Assignee: salesforce.com, inc.
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,898,753
App. No.
13/424,285
Granted
Nov 25, 2014
Kind
B1
Abstract

Provided are mechanisms and methods for managing a risk of access to an on-demand service as a condition of permitting access to the on-demand service. These mechanisms and methods for providing such management can help prohibit an unauthorized user from accessing an account of an authorized user when the authorized user inadvertently loses login information. The ability to provide such management may lead to an improved security feature for accessing on-demand services.

Claims (47)

1. A method, comprising:

receiving a request to access an on-demand service from a requestor at the on-demand service, the request including credentials for logging into the on-demand service;

determining, utilizing a hardware processor, that the requestor from which the request to access the on-demand service is received is a potentially risky source, the determination being based at least on:

information about the requestor, and

information about one of a plurality of entities of the on-demand service to which the access is requested, wherein the information about the one of the plurality of entities is stored by the on-demand service;

in response to the request to access the on-demand service and the determination that the requestor is the potentially risky source, managing access to the on-demand service by:

identifying information previously stored in association with the credentials that were received in the request to access the on-demand service, the information previously stored in association with the credentials indicating a message destination,

sending, by the on-demand service, a token to the message destination,

after sending the token to the message destination, challenging the requestor to provide the token to the on-demand service,

determining whether the token is provided by the requestor to the on-demand service in response to the challenge,

identifying the requestor as authenticated in response to a determination that the token is provided by the requestor to the on-demand service, and permitting the requested access to the on-demand service by the authenticated requestor, and

identifying the requestor as non-authenticated in response to a determination that the token is not provided by the requestor to the on-demand service, and prohibiting the requested access to the on-demand service by the non-authenticated requestor.

2. The method of claim 1 , wherein the on-demand service includes an on-demand database service.

3. The method of claim 2 , wherein the on-demand service includes a multi-tenant on-demand database service.

4. The method of claim 1 , wherein managing access to the on-demand service further includes generating the token.

5. The method of claim 4 , wherein the token is generated in response to a valid username and a valid password being entered by the requestor.

6. The method of claim 5 , wherein the token generated in response to the valid username and the valid password entered by the requestor is generated based on the valid username.

7. The method of claim 1 , wherein the determination that the requestor is the potentially risky source is further based at least on a device associated with the requestor.

8. The method of claim 7 , wherein it is determined that the requestor is the potentially risky source because the device associated with the requestor has not previously been associated with at least one of a plurality of users identified by the information about the one of the plurality of entities of the on-demand service to which the access is requested.

9. The method of claim 7 , wherein it is determined that the requestor is the potentially risky source because the device associated with the requestor has previously been associated with at least one of a plurality of users identified by the information about the one of the plurality of entities of the on-demand service to which the access is requested.

10. The method of claim 1 , wherein determining that the requestor is the potentially risky source includes comparing the information about the requestor with a list of at least one of users and entities pre-determined to be granted access to the on-demand service.

11. A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to cause a computer to implement a method comprising:

receiving a request to access an on-demand service from a requestor at the on-demand service, the request including credentials for logging into the on-demand service;

determining that the requestor from which the request to access the on-demand service is received is a potentially risky source, the determination being based at least on:

information about the requestor, and

information about one of a plurality of entities of the on-demand service to which the access is requested, wherein the information about the one of the plurality of entities is stored by the on-demand service;

in response to the request to access the on-demand service and the determination that the requestor is the potentially risky source, managing access to the on-demand service by:

identifying information previously stored in association with the credentials that were received in the request to access the on-demand service, the information previously stored in association with the credentials indicating a message destination,

sending, by the on-demand service, a token to the message destination,

after sending the token to the message destination, challenging the requestor to provide the token to the on-demand service,

determining whether the token is provided by the requester to the on-demand service in response to the challenge,

identifying the requestor as authenticated in response to a determination that the token is provided by the requestor to the on-demand service, and permitting the requested access to the on-demand service by the authenticated requestor, and

identifying the requestor as non-authenticated in response to a determination that the token is not provided by the requestor to the on-demand service, and prohibiting the requested access to the on-demand service by the non-authenticated requestor.

12. An apparatus, comprising:

a hardware processor; and

one or more stored sequences of instructions which, when executed by the hardware processor, cause the hardware processor to carry out the steps of:

receiving a request to access an on-demand service from a requestor at the on-demand service, the request including credentials for logging into the on-demand service;

determining that the requestor from which the request to access the on-demand service is received is a potentially risky source, the determination being based at least on:

information about the requestor, and

information about one of a plurality of entities of the on-demand service to which the access is requested, wherein the information about the one of the plurality of entities is stored by the on-demand service;

in response to the request to access the on-demand service and the determination that the requestor is the potentially risky source, managing access to the on-demand service by:

identifying information previously stored in association with the credentials that were received in the request to access the on-demand service, the information previously stored in association with the credentials indicating a message destination,

sending, by the on-demand service, a token to the message destination,

after sending the token to the message destination, challenging the requestor to provide the token to the on-demand service,

determining whether the token is provided by the requestor to the on-demand service in response to the challenge,

identifying the requestor as authenticated in response to a determination that the token is provided by the requestor to the on-demand service, and permitting the requested access to the on-demand service by the authenticated requestor, and

identifying the requestor as non-authenticated in response to a determination that the token is not provided by the requestor to the on-demand service, and prohibiting the requested access to the on-demand service by the non-authenticated requestor.

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 Sep 12, 2014
From: JUNOD, FORREST A.; FLY, ROBERT C.; DAPKUS, PETER; YANCEY, SCOTT W.; LAWRANCE, STEVEN S.; FELL, SIMON Z.
To: SALESFORCE.COM, INC.
Reel/Frame 033733/0268 →
Continuity (2)
Continuation 12271661 · Nov 14, 2008
Provisional Application 60988263 · Nov 15, 2007