IP Library Granted Patent US 9,065,856
Granted Patent B2
US 9,065,856 · App. 13/794,689 · Granted Jun 23, 2015

Securing communication over a network using client system authorization and dynamically assigned proxy servers

Inventors: Junaid Islam (San Jose, CA); Brent Bilger (Los Altos Hills, CA); Ted Schroeder (Saratoga, CA)
Assignee: VIDDER, INC.
H04L63/20H04L63/0428H04L63/08H04L63/10H04L63/0281H04L63/0876H04L63/105G06F21/57
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 9,065,856
App. No.
13/794,689
Granted
Jun 23, 2015
Kind
B2
Abstract

A method for securing communication over a network is disclosed. A trust broker system receives a request to connect to applications and resources from a client system. The trust broker system determines whether the client system is authorized to connect to the requested applications and resources. In response to determining the client system has authorization to connect to the requested applications and resources, the trust broker system determines, from a plurality of potential proxy servers, a proxy server associated with the requested server system and transmits an identification value for the client system to the requested server system. The trust broker system then transmits the identification value to the client system and transmits contact information for the determined proxy server to the client system, wherein all communication between the client system and the requested server system passes through the proxy server.

Claims (70)

1. A method for providing secure access to network resources, comprising:

at a trust broker system having one or more processors and memory storing one or more programs for execution by the one or more processors, wherein the trust broker system enables a client system to connect to a server system through a secure communication session:

receiving, from the client system, a request to access network applications and resources associated with and hosted by the server system;

locating a first virtual domain of a plurality of virtual domains, wherein:

each virtual domain provides a respective logical set of network applications and resources, distinct from other virtual domains, wherein a respective logical set of network applications and information corresponds to a subset of network resources provided by the server system, and

the first virtual domain provides the requested network applications and resources;

determining whether the client system is authorized to access the requested network applications and resources, including:

determining the identity of a user associated with the client system; and

determining whether the user associated with the client system is authorized to access the requested network applications and resources, including

retrieving stored permissions of the user associated with the client system; and

determining, based on the stored permissions associated with the user, that the user is permitted to access the first virtual domain;

in response to determining that the client system has authorization to access the requested network applications and resources:

determining, from a plurality of potential proxy servers, a proxy server associated with the server system;

transmitting an identification value for the client system to the determined proxy server, wherein the identification value is an encrypted value identifying the client system;

transmitting the identification value to the client system; and

transmitting, to the client system, contact information for connecting to the determined proxy server, wherein all communication between the client system and the server system associated with the requested network applications and resources passes through the determined proxy server.

2. The method of claim 1 , wherein determining a proxy server associated with the server system further includes:

determining the specific server system associated with the requested network applications and resources by examining a lookup table stored on the trust broker system.

3. The method of claim 2 , wherein determining a proxy server associated with the server system further includes:

determining the proxy server currently associated with the determined server system.

4. An electronic device for providing secure access to network resources, wherein the electronic device comprises a trust broker system which enables a client system to connect to a server system through a secure communication session, comprising:

one or more processors;

memory storing one or more programs to be executed by the one or more processors;

the one or more programs comprising instructions for:

receiving, from the client system, a request to access network applications and resources associated with and hosted by the server system;

locating a first virtual domain of a plurality of virtual domains, wherein:

each virtual domain provides a respective logical set of network applications and resources, distinct from other virtual domains, wherein a respective logical set of network applications and information corresponds to a subset of network resources provided by the server system, and

the first virtual domain provides the requested network applications and resources;

determining whether the client system is authorized to access the requested network applications and resources, including:

determining the identity of a user associated with the client system; and

determining whether the user associated with the client system is authorized to access the requested network applications and resources, including

retrieving stored permissions of the user associated with the client system; and

determining, based on the stored permissions associated with the user, that the user is permitted to access the first virtual domain;

in response to determining that the client system has authorization to access the requested network applications and resources:

determining, from a plurality of potential proxy servers, a proxy server associated with the server system;

transmitting an identification value for the client system to the determined proxy server, wherein the identification value is an encrypted value identifying the client system;

transmitting the identification value to the client system; and

transmitting, to the client system, contact information for connecting to the determined proxy server, wherein all communication between the client system and the server system associated with the requested network applications and resources passes through the determined proxy server.

5. The device of claim 4 , wherein the instructions for determining a proxy server associated with the server system further include instructions for:

determining the specific server system associated with the requested network applications and resources by examining a lookup table stored on the trust broker system.

6. The device of claim 5 , wherein the instructions for determining a proxy server associated with the server system further include instructions for:

determining the proxy server currently associated with the determined server system.

7. A non-transitory computer readable storage medium storing one or more programs configured for execution by an electronic device, wherein the electronic device comprises a trust broker system which enables a client system to connect to a server system through a secure communication session, the one or more programs comprising instructions for:

receiving, from the client system, a request to access network applications and resources associated with and hosted by the server system;

locating a first virtual domain of a plurality of virtual domains, wherein:

each virtual domain provides a respective logical set of network applications and resources, distinct from other virtual domains, wherein a respective logical set of network applications and information corresponds to a subset of network resources provided by the server system, and

the first virtual domain provides the requested network applications and resources;

determining whether the client system is authorized to access the requested network applications and resources, including:

determining the identity of a user associated with the client system; and

determining whether the user associated with the client system is authorized to access the requested network applications and resources, including

retrieving stored permissions of the user associated with the client system; and

determining, based on the stored permissions associated with the user, that the user is permitted to access the first virtual domain;

in response to determining that the client system has authorization to access the requested network applications and resources:

determining, from a plurality of potential proxy servers, a proxy server associated with the server system;

transmitting an identification value for the client system to the determined proxy server, wherein the identification value is an encrypted value identifying the client system;

transmitting the identification value to the client system; and

transmitting, to the client system, contact information for connecting to the determined proxy server, wherein all communication between the client system and the server system associated with the requested network applications and resources passes through the determined proxy server.

8. The non-transitory computer readable storage medium of claim 7 , wherein the instructions for determining a proxy server associated with the server system further include instructions for:

determining the specific server system associated with the requested network applications and resources by examining a lookup table stored on the trust broker system.

9. The non-transitory computer readable storage medium of claim 8 , wherein the instructions for determining a proxy server associated with the server system further include instructions for:

determining the proxy server currently associated with the determined server system.

10. The method of claim 1 , wherein determining whether the client system is authorized to access the requested network applications and resources further includes:

verifying hardware and/or software integrity of the client system; and

verifying the identity of the user associated with the client system, including receiving a unique user identifier that is encrypted with a one-time session-based key that is changed for each communication session.

11. The device of claim 4 , wherein the instructions determining whether the client system is authorized to access the requested network applications and resources further include instructions for:

verifying hardware and/or software integrity of the client system; and

verifying the identity of the user associated with the client system, including receiving a unique user identifier that is encrypted with a one-time session-based key that is changed for each communication session.

12. The non-transitory computer readable storage medium of claim 7 , wherein the instructions determining whether the client system is authorized to access the requested network applications and resources further include instructions for:

verifying hardware and/or software integrity of the client system; and

verifying the identity of the user associated with the client system, including receiving a unique user identifier that is encrypted with a one-time session-based key that is changed for each communication session.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: MCI COMMUNICATIONS SERVICES, INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 047592/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: VIDDER, INC.
To: MCI COMMUNICATIONS SERVICES, INC.
Reel/Frame 047532/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2014
From: ISLAM, JUNAID; BILGER, BRENT; SCHROEDER, TED
To: VIDDER, INC.
Reel/Frame 033387/0795 →
Continuity (2)
Provisional Application 61759963 · Feb 1, 2013
Related Publication 20140223537A1 · Aug 7, 2014