IP Library › Granted Patent US 9,094,413
Granted Patent B2
US 9,094,413 · App. 13/848,347 · Granted Jul 28, 2015

Configuration profile validation on iOS Using SSL and redirect

Inventors: Harvey Tuch (Cambridge, MA); Mark Zeren (Cambridge, MA); Craig F. Newell (Cambridge, MA)
Assignee: VMware, Inc.
H04L63/102G06F21/33G06F21/6218G06F21/6281H04L9/3265H04L9/3268H04L63/0823H04L63/168
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,094,413
App. No.
13/848,347
Filed
Mar 21, 2013
Granted
Jul 28, 2015
Kind
B2
Art Unit
2494
USPC
713/156
Abstract

An application management agent running on a wireless communications device restricts access to device functionality (e.g., applications and device features) unless the application management agent has determined that a particular configuration profile has been installed on the device (after which the application management agent permits access to device functionality, and an operating system of the device enforces policy settings specified in the configuration profile). The application management agent confirms the presence of the configuration profile by initiating an SSL handshake with a client certificate request for a client SSL certificate embedded in the configuration profile. Validation against the embedded client SSL certificate implicitly confirms the presence of the configuration profile and validates the content of the configuration profile.

Claims (49)

1. A method to confirm that a configuration profile has been installed on a mobile device, the mobile device comprising a processor configured to perform operations comprising:

receiving, by an application installed on the mobile device and configured to permit or deny access to certain resources on the device, an https server certificate, a first copy of a client SSL certificate, and a first copy of a root certificate from a server that has previously transmitted a configuration profile to the mobile device, wherein (i) the configuration profile specifies security-related properties to be implemented by an operating system on the mobile device, (ii) the configuration profile includes a second copy of the client SSL certificate signed by a second copy of the root certificate and the second copy of the root certificate, and (iii) the https server certificate has been signed by the first copy of the root certificate;

requesting the operating system to launch a web browser using a loopback URL, wherein the loopback URL points to an https server run by the application, wherein the https server certificate is installed on the https server;

presenting, by the web browser, the client SSL certificate to the https server in response to a client certificate request received during an SSL handshake;

determining, by the application, that the first copy of the client SSL certificate matches the second copy of the client SSL certificate;

receiving a confirmation from the application that the client SSL certificate is trusted if the configuration profile has been installed by the operation system, the SSL handshake was successfully completed, and the first copy of the client SSL certificate matches the second copy of the client SSL certificate, thereby enabling the operating system to verify that the client SSL certificate included in the configuration profile matches the client SSL certificate received from the server; and

permitting, by the application, access to the certain resources on the device.

2. The method of claim 1 , wherein the certain resources on the device include a plurality of business-related applications that are configured to access data managed by an employer of an owner of the mobile device.

3. The method of claim 2 , wherein the security-related properties include VPN settings that enable the business-related applications to securely communicate with servers managed by the employer.

4. The method of claim 1 , further comprising:

determining that the SSL handshake was not successfully completed;

requesting the operating system to redirect the web browser to a URL pointing at the server that had previously transmitted the configuration profile to the mobile device; and

downloading a signed copy of the configuration profile for installation, wherein the signed copy was signed by the root certificate.

5. The method of claim 4 , wherein the owner of the mobile device can request a removal of the configuration profile through the application.

6. The method of claim 1 , wherein the configuration profile is encrypted and signed.

7. The method of claim 1 , the processor configured to perform further operations to provision the configuration profile to the device by over-the-air transmission, an email, a URL, or a direct physical connection.

8. One or more computer-readable non-transitory storage media embodying software to confirm that a configuration profile has been installed on a mobile device, the mobile device comprising a processor configured to execute the software, the software being operable when executed to:

receive, by an application installed on the mobile device and configured to permit or deny access to certain resources on the device, an https server certificate, a first copy of a client SSL certificate, and a first copy of a root certificate from a server that has previously transmitted a configuration profile to the mobile device, wherein (i) the configuration profile specifies security-related properties to be implemented by an operating system on the mobile device, (ii) the configuration profile includes a second copy of the client SSL certificate signed by a second copy of the root certificate and the second copy of the root certificate, and (iii) the https server certificate has been signed by the first copy of the root certificate;

request the operating system to launch a web browser using a loopback URL, wherein the loopback URL points to an https server run by the application, wherein the https server certificate is installed on the https server;

present, by the web browser, the client SSL certificate to the https server in response to a client certificate request received during an SSL handshake;

determine, by the application, that the first copy of the client SSL certificate matches the second copy of the client SSL certificate;

receive a confirmation from the application that the client SSL certificate is trusted if the configuration profile has been installed by the operation system, the SSL handshake was successfully completed, and the first copy of the client SSL certificate matches the second copy of the client SSL certificate, thereby enabling the operating system to verify that the client SSL certificate included in the configuration profile matches the client SSL certificate received from the server; and

permit, by the application, access to the certain resources on the device.

9. The media of claim 8 , wherein the certain resources on the device include a plurality of business-related applications that are configured to access data managed by an employer of an owner of the mobile device.

10. The media of claim 8 , wherein the security-related properties include VPN settings that enable the business-related applications to securely communicate with servers managed by the employer.

11. The media of claim 8 , the software being further operable when executed to:

determine that the SSL handshake was not successfully completed;

request the operating system to redirect the web browser to a URL pointing at the server that had previously transmitted the configuration profile to the mobile device; and

download a signed copy of the configuration profile for installation, wherein the signed copy was signed by the root certificate.

12. The media of claim 11 , wherein the owner of the mobile device can request a removal of the configuration profile through the application.

13. The media of claim 8 , wherein the configuration profile is encrypted and signed.

14. The media of claim 8 , the processor configured to perform further operations to provision the configuration profile to the device by over-the-air transmission, an email, a URL, or a direct physical connection.

15. A mobile device comprising:

a local storage; and

a processor configured execute instructions stored in the local storage to perform the steps of:

receiving, by an application installed on the mobile device and configured to permit or deny access to certain resources on the device, an https server certificate, a first copy of a client SSL certificate, and a first copy of a root certificate from a server that has previously transmitted a configuration profile to the mobile device, wherein (i) the configuration profile specifies security-related properties to be implemented by an operating system on the mobile device, (ii) the configuration profile includes a second copy of the client SSL certificate signed by a second copy of the root certificate and the second copy of the root certificate, and (iii) the https server certificate has been signed by the first copy of the root certificate;

requesting the operating system to launch a web browser using a loopback URL, wherein the loopback URL points to an https server run by the application, wherein the https server certificate is installed on the https server;

presenting, by the web browser, the client SSL certificate to the https server in response to a client certificate request received during an SSL handshake;

determining, by the application, that the first copy of the client SSL certificate matches the second copy of the client SSL certificate;

receiving a confirmation from the application that the client SSL certificate is trusted if the configuration profile has been installed by the operation system, the SSL handshake was successfully completed, and the first copy of the client SSL certificate matches the second copy of the client SSL certificate, thereby enabling the operating system to verify that the client SSL certificate included in the configuration profile matches the client SSL certificate received from the server; and

permitting, by the application, access to the certain resources on the device.

16. The system of claim 15 , wherein the certain resources on the device include a plurality of business-related applications that are configured to access data managed by an employer of an owner of the mobile device.

17. The system of claim 15 , wherein the security-related properties include VPN settings that enable the business-related applications to securely communicate with servers managed by the employer.

18. The system of claim 15 , the processor being configured perform further steps of:

determining that the SSL handshake was not successfully completed;

requesting the operating system to redirect the web browser to a URL pointing at the server that had previously transmitted the configuration profile to the mobile device; and

downloading a signed copy of the configuration profile for installation, wherein the signed copy was signed by the root certificate.

19. The system of claim 18 , wherein the owner of the mobile device can request a removal of the configuration profile through the application.

20. The system of claim 15 , wherein the configuration profile is encrypted and signed.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2013
From: TUCH, HARVEY; ZEREN, MARK; NEWELL, CRAIG F.
To: VMWARE, INC.
Reel/Frame 030063/0091 →
Continuity (1)
Related Publication 20140289511A1 · Sep 25, 2014