IP Library Granted Patent US 7,448,080
Granted Patent B2
US 7,448,080 · App. 10/609,011 · Granted Nov 4, 2008

Method for implementing secure corporate communication

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,448,080
App. No.
10/609,011
Granted
Nov 4, 2008
Kind
B2
Abstract

A mobile or other device connects to a server via a publicly accessible network such as the Internet. After installation upon the device, a virtual private network (VPN) client connects to the server and downloads a VPN profile. In one embodiment the device creates public/private key pairs and requests enrollment of a digital certificate. In another embodiment a digital certificate and public/private key pairs are provided. The device also receives a digital certificate from the server and verifies the server certificate by requesting the user to supply a portion of a fingerprint for the certificate. The invention further includes an automatic content updating (ACU) client that downloads a user profile for the VPN, requests certificate enrollment, and updates the VPN client and other applications when new content is available. A security service manager (SSM) server includes, or is in communication with, a Web server, multiple databases, an enrollment gateway and an internal certification authority (CA). A VPN policy manager application creates and manages VPN profiles and/or policies and communicates with the SSM server. The SSM server, which may reside on an enterprise intranet, may further communicate with one or more external CAs.

Claims (88)

1. A method comprising:

(a) initiating a connection via a publicly accessible network from a wireless device, wherein

the wireless device includes an unprovisioned virtual private network (VPN) program and an unprovisioned automatic content updating (ACU) program, and

the ACU program is configured, upon provisioning, to communicate with one or more remotely-located devices on behalf of at least one additional program that is distinct from the ACU and VPN programs;

(b) prior to step (c), validating and storing a returned certificate corresponding to one of the one or more remotely-located devices so as to create a trust relationship with that remotely-located device, wherein said validating and storing includes requiring input of multiple characters from a user of the wireless devices, wherein the multiple characters are a portion of an identifier for the certificate corresponding to one of the one or more remotely-located devices;

(c) receiving, in the wireless device and using the connection, information for provisioning the ACU program;

(d) provisioning the ACU program based upon the information received in step (c);

(e) receiving in the wireless device, via the publicly accessible network and using the provisioned ACU program, information for provisioning the VPN program;

(f) provisioning the VPN program based upon the information received in step (e); and

(g) creating a secure communication link using the provisioned VPN program.

2. The method of claim 1 , wherein the information received in step (c) comprises an ACU certificate corresponding to the wireless device and the information received in step (e) comprises a VPN certificate corresponding to the wireless device.

3. The method of claim 1 , further comprising:

(h) determining whether an update to the VPN program is available;

(i) receiving the update; and

(j) implementing the update.

4. The method of claim 1 , further comprising:

(h) sending, prior to step (e), a certificate enrollment request for forwarding to an external certification authority (CA).

5. The method of claim 1 , further comprising:

(h) determining whether an update is available for the at least one additional program; and

(i) receiving an update for the at least one additional program.

6. The method of claim 1 , further comprising:

(h) fetching, from one of the one or more remotely-located devices, content or content metadata applicable to the at least one additional program; and

(i) storing, by the at least one additional program, the fetched content or content metadata.

7. The method of claim 1 , wherein the ACU program communicates using a SyncML protocol.

8. The method of claim 1 , further comprising:

(h) storing, in a configuration record for the VPN program, an Internet Access Point (IAP) to be used when communicating with one of the one or more remotely-located devices on behalf of the VPN program.

9. The method of claim 1 , wherein the ACU program communicates using a simple request-response protocol, and wherein a protocol transaction consists of a single request-response pair.

10. The method of claim 1 , further comprising:

(h) fetching, from one of the one or more remotely-located devices, content metadata applicable to the at least one additional program;

(i) comparing fetched metadata to locally stored metadata; and

(j) fetching new or updated content from the one of the one or more remotely-located devices based upon the comparison.

11. The method of claim 10 , wherein the ACU program includes in fetch requests in steps (h) and (j) content identifications (IDs) required by the one of the one or more remotely-located devices.

12. The method of claim 1 , further comprising:

(h) fetching, from multiple databases in one of the one or more remotely-located devices, metadata about multiple types of content.

13. The method of claim 1 , wherein the ACU program transmits requests containing properties used by one of the one or more remotely-located devices to filter requests.

14. The method of claim 1 , wherein messages generated by the ACU program and communicated to one of the one or more remotely-located devices include a message identifier, a target database identifier, and a security level.

15. The method of claim 14 , wherein a first security level is required to receive configuration information for the VPN program and a second security level is required to receive another type of information.

16. The method of claim 14 , wherein at least one message generated by the ACU program includes an element indicating that the at least one message is a last message relating to a specific task.

17. The method of claim 14 , wherein the ACU program requests configuration information in a single message.

18. The method of claim 1 , further comprising:

(h) using the certificate stored in step (b) to validate subsequent responses from that remotely-located device.

19. The method of claim 18 , wherein:

the certificate corresponding to the one of the one or more remotely-located devices is validated based on a hash calculated over an entire ACU message, except for a signature element of that ACU message,

the hash is signed with a private key held by the one of the one or more remotely-located devices, and

the certificate corresponding to the one of the one or more remotely-located devices is included in a first response from the one of the one or more remotely-located devices and is used by the wireless device to verify the signature and identify and authenticate a sender.

20. An apparatus comprising:

a transceiver configured to provide a wireless interface to a publicly accessible network; and

a processor configured to perform steps that include

(a) initiating a connection via the publicly accessible network, wherein

the apparatus includes an unprovisioned virtual private network (VPN) program and an unprovisioned automatic content updating (ACU) program, and

the ACU program is configured, upon provisioning, to communicate with one or more remotely-located devices on behalf of at least one additional program that is distinct from the ACU and VPN programs,

(b) prior to step (c), validating and storing a returned certificate corresponding to one of the one or more remotely-located devices so as to create a trust relationship with that remotely-located device, wherein said validating and storing includes requiring input of multiple characters from a user of the wireless devices, wherein the multiple characters are a portion of an identifier for the certificate corresponding to one of the one or more remotely-located devices;

(c) receiving, using the connection, information for provisioning the ACU program,

(d) provisioning the ACU program based upon the information received in step (c),

(e) receiving, via the publicly accessible network and using the provisioned ACU program, information for provisioning the VPN program,

(f) provisioning the VPN program based upon the information received in step (e), and

(g) creating a secure communication link using the provisioned VPN program.

21. The apparatus of claim 20 , wherein the information received in step (c) comprises an ACU certificate corresponding to the apparatus and information received in step (e) comprises a VPN certificate corresponding to the apparatus.

22. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) determining whether an update to the VPN program is available,

(i) receiving the update, and

(j) implementing the update.

23. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) sending, prior to step (c), a certificate enrollment request for forwarding to an external certification authority (CA).

24. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) determining whether an update is available for the at least one additional program, and

(j) receiving an update for the at least one additional program.

25. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) fetching, from one of the one or more remotely-located devices, content or content metadata applicable to the at least one additional program, and

(i) storing, by the at least one additional program, the fetched content or content metadata.

26. The apparatus of claim 20 , wherein the ACU program communicates using a SyncML protocol.

27. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) storing, in a configuration record for the VPN program, an Internet Access Point (IAP) to be used when communicating with one of the one or more remotely-located devices on behalf of the VPN program.

28. The apparatus of claim 20 , wherein the ACU program communicates using a simple request-response protocol, and wherein a protocol transaction consists of a single request-response pair.

29. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) fetching, from one of the one or more remotely-located devices, content metadata applicable to the at least one additional program,

(i) comparing fetched metadata to locally stored metadata, and

(j) fetching new or updated content from the one of the one or more remotely-located devices based upon the comparison.

30. The apparatus of claim 29 , wherein the ACU program includes in fetch requests in steps (h) and (j) content identifications (IDs) required by the one of the one or more remotely-located devices.

31. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) fetching, from multiple databases in one of the one or more remotely-located devices, metadata about multiple types of content.

32. The apparatus of claim 20 , wherein the ACU program transmits requests containing properties used by one of the one or more remotely-located devices to filter requests.

33. The apparatus of claim 20 , wherein messages generated by the ACU program and communicated one of the one or more remotely-located devices include a message identifier, a target database identifier, and a security level.

34. The apparatus of claim 33 , wherein a first security level is required to receive configuration information for the VPN program and a second security level is required to receive another type of information.

35. The apparatus of claim 33 , wherein at least one message generated by the ACU program includes an element indicating that the at least one message is a last message relating to a specific task.

36. The apparatus of claim 33 , wherein the ACU program requests configuration information in a single message.

37. The apparatus of claim 20 , wherein the processor is further configured to perform steps that include

(h) using the certificate stored in step (b) to validate subsequent responses from that remotely-located device.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2020
From: NOKIA TECHNOLOGIES OY
To: WSOU INVESTMENTS LLC
Reel/Frame 052694/0303 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035570/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: NOKIA INC.
To: NOKIA CORPORATION
Reel/Frame 034768/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2003
From: KARJALA, JARI; PALOJARVI, JARI
To: NOKIA, INC.
Reel/Frame 014612/0220 →