IP Library Granted Patent US 10,516,653
Granted Patent B2
US 10,516,653 · App. 15/196,763 · Granted Dec 24, 2019

Public key pinning for private networks

Inventor: Jonathon Deriso (Suwanee, GA)
Assignee: AirWatch, LLC
H04L63/0442H04L9/3242H04L9/3247H04L9/3263H04L63/0823H04L63/0876H04L63/126H04L63/166
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 10,516,653
App. No.
15/196,763
Granted
Dec 24, 2019
Kind
B2
Abstract

Disclosed are various approaches for validating public keys pinned to services or servers on private networks. A client device can request a first certificate from a trust service. The client device can then validate that the first certificate from the trust service is signed by a preinstalled certificate stored on the client device. Subsequently, the client device can receive a uniform resource locator identifying a network location of an secure sockets layer (SSL) pinning service, wherein the SSL pinning service is configured to provide a hash value for a first public key issued to a computing device. Finally, the client device can receive a second public key from the trust service, wherein the second public key is configured to encrypt network traffic sent to the SSL pinning service.

Claims (48)

1. A system, comprising:

a first computing device comprising a processor and a memory;

an application comprising machine readable instructions stored in the memory that, when executed by the processor, cause the first computing device to at least:

request a first certificate from a trust service;

validate that the first certificate from the trust service is signed by a preinstalled certificate on the first computing device;

in response to transmitting a first request to the trust service, receive a uniform resource locator (URL) identifying a network location of a secure sockets layer (SSL) pinning service, wherein the SSL pinning service is configured to provide a hash value for a first public key issued to a second computing device;

receive a second public key from the trust service;

in response to transmitting a second request, receive the first public key from the SSL pinning service; and

validate a management service by comparing the first public key from the SSL pinning service to the second public key from the trust service, wherein the management service is executed on the second computing device and configured to manage an operation of the first computing device.

2. The system of claim 1 , wherein the second request comprises an identifier for the second computing device, and the application further comprises machine readable instructions that cause the first computing device to at least:

receive from the SSL pinning service the hash value for the first public key issued to the second computing device.

3. The system of claim 2 , wherein the second computing device comprises an enrollment server and the application further comprises machine readable instructions that cause the first computing device to at least send an enrollment request for the first computing device to the enrollment server.

4. The system of claim 1 , wherein the first computing device, the trust service, and the SSL pinning service are connected to a local area network (LAN) that is unconnected to the Internet.

5. The system of claim 1 , wherein:

the URL identifying the network location of the SSL pinning service comprises a second URL;

the application further comprises machine readable instructions that cause the first computing device to at least receive a first URL identifying the network location of the trust service; and

the application causes the first computing device to request the first certificate from the trust service based at least in part on receipt of the first URL identifying the network location of the trust service.

6. The system of claim 1 , wherein the application further comprises machine readable instructions that cause the first computing device to initiate enrollment of the first computing device with the management service, wherein a respective request for the first certificate from the trust service is based at least in part on initiation of the enrollment of the first computing device with the management service.

7. The system of claim 1 , wherein the preinstalled certificate is bundled with the application.

8. A method, comprising:

requesting, with a client device, a first certificate from a trust service;

validating, with the client device, that the first certificate from the trust service is signed by a preinstalled certificate stored on the client device;

in response to transmitting a first request to the trust service, receiving, with the client device, a uniform resource locator (URL) identifying a network location of a secure sockets layer (SSL) pinning service, wherein the SSL pinning service is configured to provide a hash value for a first public key issued to a computing device;

receiving, with the client device, a second public key from the trust service;

in response to transmitting a second request, receiving, with the client device, the first public key from the SSL pinning service; and

validating, with the client device, a management service by comparing the first public key to the second public key from the trust service, wherein the management service is executed on the computing device and configured to manage an operation of the client device.

9. The system of claim 1 , wherein the first computing device, the trust service, and the SSL pinning service are connected to a local area network (LAN) on a private network that requires authorization in order for access.

10. The method of claim 8 , wherein the second request comprises an identifier for the computing device, and further comprising:

receiving, with the client device, the hash value for the first public key issued to the computing device from the SSL pinning service.

11. The method of claim 8 , further comprising sending an enrollment request for the client device to the computing device.

12. The method of claim 8 , wherein the client device, the trust service, and the SSL pinning service are connected to a local area network (LAN) that is unconnected to the Internet.

13. The method of claim 8 , wherein the URL identifying the network location of the SSL pinning service comprises a second URL and the method further comprises:

receiving, with the client device, a first URL identifying the network location of the trust service; and

wherein requesting, with the client device, the first certificate from the trust service is based at least in part on receiving the first URL identifying the network location of the trust service.

14. The method of claim 8 , further comprising initiating, with the client device, enrollment of the client device with a management service, wherein requesting the first certificate from the trust service is based at least in part on initiating the enrollment of the client device with the management service.

15. A non-transitory computer readable medium comprising machine readable instructions that, when executed by a processor of a first computing device, cause the first computing device to at least:

request a first certificate from a trust service;

validate that the first certificate from the trust service is signed by a preinstalled certificate on the first computing device;

in response to transmitting a first request to the trust service, receive a uniform resource locator (URL) identifying a network location of a secure sockets layer (SSL) pinning service, wherein the SSL pinning service is configured to provide a hash value for a first public key issued to a second computing device;

receive a second public key from the trust service;

in response to transmitting a second request, receive the first public key from the SSL pinning service; and

validate a management service by comparing the first public key to the second public key from the trust service, wherein the management service is executed on the second computing device and configured to manage an operation of the first computing device.

16. The non-transitory computer readable medium of claim 15 , wherein the second request comprises an identifier for the second computing device and further comprising machine readable instructions that cause the first computing device to at least:

receive from the SSL pinning service the hash value for the first public key issued to the second computing device.

17. The non-transitory computer readable medium of claim 15 , wherein the second computing device comprises an enrollment server and further comprises machine readable instructions that cause the first computing device to at least send an enrollment request for the first computing device to the enrollment server.

18. The non-transitory computer readable medium of claim 15 , wherein the first computing device, the trust service, and the SSL pinning service are connected to a local area network (LAN) that is unconnected to the Internet.

19. The non-transitory computer readable medium of claim 15 , wherein the URL identifying the network location of the SSL pinning service comprises a second URL and further comprising machine readable instructions that cause the first computing device to at least receive a first URL identifying the network location of the trust service, and wherein the machine readable instructions cause the first computing device to request the first certificate from the trust service based at least in part on receipt of the first URL identifying the network location of the trust service.

20. The non-transitory computer readable medium of claim 15 , further comprising machine readable instructions that cause the first computing device to at least initiate enrollment of the first computing device with a management service, wherein the request for the first certificate from the trust service is based at least in part on initiation of the enrollment of the first computing device with the management service.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: AIRWATCH LLC
To: OMNISSA, LLC
Reel/Frame 068327/0670 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2016
From: DERISO, JONATHON
To: AIRWATCH LLC
Reel/Frame 039065/0001 →
Continuity (1)
Related Publication 20180007021A1 · Jan 4, 2018
Cited By (1)
US 12,210,815