IP Library Granted Patent US 7,752,450
Granted Patent B1
US 7,752,450 · App. 11/226,520 · Granted Jul 6, 2010

Local caching of one-time user passwords

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 7,752,450
App. No.
11/226,520
Granted
Jul 6, 2010
Kind
B1
Abstract

An intermediate network device includes a local caching module that caches user information from a remote server before a local user requests the information. In particular, the local caching module securely obtains and caches one-time passwords for a local user. The local caching device maintains separate sets of one-time passwords for each user. The local caching module may access the locally cached one-time passwords to authenticate a local user to a resource protected by a one-time password.

Claims (53)

1. A method comprising:

determining that a probability that a local user will send a network authentication request is above a threshold;

obtaining, by an intermediate network device comprising a microprocessor, a sequence of one-time passwords generated for the local user from a remote one-time password server based on the determination;

storing the sequence of one-time passwords in a local cache associated with the intermediate network device;

accessing the local cache in response to the network authentication request received from a client device associated with the local user to select a current one-time password from the sequence of one-time passwords in the local cache; and

determining, by the intermediate network device comprising the microprocessor, whether to grant the network authentication request by comparing a one-time password specified by the network authentication request to the current one-time password selected from the sequence of one-time passwords.

2. The method of claim 1 , wherein accessing the local cache comprises accessing the local cache in response to the network authentication request only when a network connection from the intermediate network device to the one-time password server is unavailable.

3. The method of claim 1 , further comprising forwarding the network authentication request from the intermediate network device to the one-time password server when a network connection to the one-time password server is available.

4. The method of claim 1 , wherein obtaining one-time passwords comprises obtaining the sequence of one-time passwords from the remote one-time password server without sending a request for the sequence of one-time passwords.

5. The method of claim 1 , wherein determining that the probability that the user will send the network authentication request is above the threshold comprises:

receiving data about activities of the local user; and

processing the data with a predictive behavior model to determine whether the probability that the local user will send the network authentication request is above the threshold.

6. The method of claim 5 , wherein the predictive behavior model comprises a set of condition-action rules.

7. The method of claim 1 , further comprising allowing an administrator to control storage of the sequence of one-time passwords within the local cache.

8. The method of claim 7 , further comprising obtaining the sequence of one-time passwords for the local user from the remote one-time password server upon a request from the administrator.

9. The method of claim 1 , further comprising determining whether the current one-time password has expired and, when the current one-time password is determined to have expired, selecting a next one of the sequence of one-time passwords as the current one-time password.

10. The method of claim 1 , wherein obtaining the sequence of one-time passwords comprises maintaining a number of valid one-time passwords for the local user and requesting additional one-time passwords for the local user from the one-time password server when the number of valid one-time passwords in the cache for the local user has dropped below a threshold number.

11. A system comprising:

a one-time password server that generates a sequence of one-time passwords for a local user;

a client device associated with the local user; and

an intermediate network device comprising a microprocessor and a local caching module that includes a data acquisition module that obtains the sequence of one-time passwords from the one-time password server based on a determination that a probability that the local user will send the network authentication request is above a threshold, wherein the local caching module stores the sequence of one-time passwords in a local cache, accesses the local cache in response to a network authentication request received from the client device associated with the local user to select a current one-time password from the sequence of one-time passwords in the local cache,

wherein the intermediate network device determines whether to grant the network authentication request by comparing a one-time password specified within the network authentication request to the current one-time password selected from the sequence of one-time passwords.

12. The system of claim 11 , wherein the local caching module accesses the local cache in response to the network authentication request only when a network connection from the intermediate network device to the one-time password server is unavailable.

13. The system of claim 11 , wherein the local caching module forwards the network authentication request to the one-time password server when a network connection from the intermediate network device to the one-time password server is available.

14. The system of claim 11 , wherein the one-time password server distributes the sequence of one-time passwords to the local caching module without a request for the sequence of one-time passwords from the local caching module.

15. The system of claim 11 , wherein the local caching module stores a predictive behavior model for calculating whether the probability that the local user will send the network authentication request is above the threshold, and wherein when the predictive behavior model indicates that the probability that the local user will send the network authentication request is above the threshold, the data acquisition element sends a request to the remote one-time password server to send the sequence of one-time passwords associated with the local user.

16. The system of claim 15 , wherein the predictive behavior model comprises a set of condition-action rules.

17. The system of claim 15 , further comprising a cache-alert device that supplies information relevant to determining whether the network authentication request is likely to be received in the near future.

18. The system device of claim 11 , further comprising a management interface through which an administrator of the intermediate network device controls behavior of the local caching module.

19. The system of claim 11 , further comprising a client device interface that intercepts the network authentication request on behalf of the local caching module.

20. The system of claim 11 , wherein the local caching module determines whether the current one-time password has expired and, when the local caching module determines that the current one-time password has expired, the local caching module is configured to select a next one of the sequence of one-time passwords as the current one-time password.

21. The system of claim 11 , wherein the local caching module includes a data acquisition element that maintains a number of valid one-time passwords for the local user and retrieves additional one-time passwords for the local user from the one-time password server when the number of valid cached one-time passwords for the local user has dropped below a threshold number.

22. An intermediate network device comprising:

a microprocessor;

a data acquisition element executing on the microprocessor that obtains a sequence of one-time passwords generated for a local user from a one-time password server based on a determination that a probability that the local user will send a network authentication request is above a threshold;

a local cache that stores the sequence of one-time passwords; and

an authentication element executing on the microprocessor that accesses the local cache in response to the network authentication request received from a client device associated with a local user to select a current one-time password from the sequence of one-time passwords in the local cache,

wherein the authentication elements determines whether to grant the network authentication request by comparing a one-time password specified within the network authentication request to the current one-time password selected from the sequence of one-time passwords.

23. The intermediate network device of claim 22 , wherein the authentication element accesses the local cache in response to the network authentication request only when a network connection from the network device to the one-time password server is unavailable.

24. The intermediate network device of claim 22 , wherein the local caching module forwards the network authentication request to the one-time password server when a network connection from the network device to the one-time password server is available.

25. The intermediate network device of claim 22 , wherein the data acquisition element maintains a number of valid one-time passwords for the local user and retrieves additional one-time passwords for the local user from the one-time password server when the number of valid cached one-time passwords for the local user has dropped below a threshold number.

26. A non-transitory computer-readable medium comprising instructions that cause a programmable microprocessor of an intermediate network device to:

obtain a sequence of one-time passwords generated for a local user from a remote one-time password server based on a determination that a probability that the local user will send a network authentication request is above a threshold;

store the sequence of one-time passwords in a local cache associated with the intermediate network device;

access the local cache in response to the network authentication request received from a client device associated with the local user to select a current one-time password from the sequence of one-time passwords in the local cache; and

determine whether to grant the network authentication request by comparing a one-time password specified within the network authentication request to the current one-time password selected from the sequence of one-time passwords.

27. The method of claim 1 , wherein the one-time passwords in the sequence expire at different respective times, and wherein obtaining the sequence of one-time passwords comprises determining a number of one-time passwords to obtain such that at least one of the sequence of one-time passwords will be valid for a predetermined period of time from a current time.

28. The method of claim 1 , wherein the one-time passwords in the sequence expire after a single use by the local user, and wherein obtaining the sequence of one-time passwords comprises obtaining a number of one-time passwords such that a predetermined number of authentication requests can be granted for the local user.

29. A system comprising:

a central office network comprising a one-time password server configured to generate a sequence of one-time passwords for a local user; and

a local office network comprising a client device associated with the local user and an intermediate network device connected to the client device and connected to the one-time password server, wherein the intermediate network device is configured to obtain the sequence of one-time passwords from the one-time password server based on a determination that a probability that the local user will send the network authentication request is above a threshold, to store the sequence of one-time passwords in a local cache of the intermediate network device, to receive a network authentication request from the client device, and, in response to the network authentication request, to determine whether a connection between the intermediate network device and the one-time password server is available,

wherein the intermediate network device comprising a microprocessor is configured to send the network connection request to the one-time password server without accessing the local cache when the connection is determined to be available, and

wherein the intermediate network device is configured to select a current one-time password from the sequence of one-time passwords in the local cache when the connection is determined not to be available and to determine whether to grant the network authentication request by comparing a one-time password specified within the network authentication request to the current one-time password selected from the sequence of one-time passwords.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY 14633493 WHICH WAS ENTERED INCORRECTLY AS 14633793 PREVIOUSLY RECORDED ON REEL 71176 FRAME 315. ASSIGNOR(S) HEREBY CONFIRMS THE FIRST LIEN NEWCO SECURITY AGREEMENT. Recorded Nov 10, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 073818/0515 →
FIRST LIEN NEWCO SECURITY AGREEMENT Recorded May 5, 2025
From: PULSE SECURE, LLC; IVANTI, INC.; IVANTI US LLC; IVANTI SECURITY HOLDINGS LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 071176/0315 →
SECURITY INTEREST Recorded May 3, 2025
From: PULSE SECURE LLC
To: ALTER DOMUS (US) LLC
Reel/Frame 071165/0027 →
NOTICE OF SUCCESSION OF AGENCY FOR SECURITY INTEREST AT REEL/FRAME 054665/0873 Recorded Apr 29, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 071123/0386 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; IVANTI, INC.; MOBILEIRON, INC.; IVANTI US LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 054665/0062 →
SECURITY INTEREST Recorded Dec 9, 2020
From: CELLSEC, INC.; PULSE SECURE, LLC; INVANTI, INC.; MOBILEIRON, INC.; INVANTI US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 054665/0873 →
RELEASE OF SECURITY INTEREST : RECORDED AT REEL/FRAME - 053638-0220 Recorded Dec 1, 2020
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: PULSE SECURE, LLC
Reel/Frame 054559/0368 →
SECURITY INTEREST Recorded Aug 29, 2020
From: PULSE SECURE, LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 053638/0220 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 042380/0859 Recorded Aug 29, 2020
From: CERBERUS BUSINESS FINANCE, LLC, AS AGENT
To: PULSE SECURE, LLC
Reel/Frame 053638/0259 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2020
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
Reel/Frame 053271/0307 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL 037338, FRAME 0408 Recorded May 1, 2017
From: US BANK NATIONAL ASSOCIATION
To: PULSE SECURE, LLC
Reel/Frame 042381/0568 →
GRANT OF SECURITY INTEREST PATENTS Recorded May 1, 2017
From: PULSE SECURE, LLC
To: CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT
Reel/Frame 042380/0859 →
SECURITY INTEREST Recorded Dec 21, 2015
From: PULSE SECURE, LLC
To: U.S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037338/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: JUNIPER NETWORKS, INC.
To: PULSE SECURE, LLC
Reel/Frame 034036/0904 →
SECURITY INTEREST Recorded Oct 23, 2014
From: PULSE SECURE, LLC; SMOBILE SYSTEMS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 034037/0526 →