IP Library Granted Patent US 9,813,399
Granted Patent B2
US 9,813,399 · App. 14/856,742 · Granted Nov 7, 2017

Secure remote user device unlock for carrier locked user devices

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,813,399
App. No.
14/856,742
Granted
Nov 7, 2017
Kind
B2
Abstract

System and method of unlocking a user device. A carrier unlock request is received for a user device that may have an unlock application that has been deactivated or flashed. One or more verifications are performed to determine whether the user device is eligible for the carrier unlock requested. Upon determining that the user device is eligible for the carrier unlock, an unlock command is sent to either the user device or an alternate computing device that initiated the unlock request. The unlock command is operative to disable a comparison of a device carrier code of the user device to a subscriber identity module (SIM) carrier code stored in a SIM card of the user device. In various embodiments, the unlock command may be sent either directly to the modem of the user device via USSD or as a QR code to the alternate computing device.

Claims (49)

1. An integrity server comprising:

a processor;

a network interface coupled to the processor configured to enable communications via a communication network;

a storage device for content and programming;

a program stored in the storage device, wherein execution of the program by the processor configures the integrity server to perform acts comprising:

receiving a carrier unlock request from a user device having an unlock application that has been deactivated or flashed;

performing one or more verifications to determine whether the user device is eligible for the carrier unlock requested; and

sending an unlock command directly to a modem of the user device upon determining that the user device is eligible for the carrier unlock, wherein the unlock command is operative to disable a comparison of a device carrier code of the user device to a subscriber identity module (SIM) carrier code stored in a SIM card of the user device.

2. The integrity server of claim 1 , wherein the unlock request from the user device and the unlock command are via unstructured supplementary service data (USSD) protocol.

3. The integrity server of claim 1 , wherein execution of the program further configures the integrity server to perform acts comprising sending an unlock error message to the user device upon determining that the user device is ineligible for the carrier unlock.

4. The integrity server of claim 1 , wherein:

the carrier unlock request includes an encrypted modem key of the modem of the user device, which is integrity protected by a trusted key of a trusted environment of the user device; and

execution of the program further configures the integrity server to perform acts comprising decrypting the encrypted modem key into a decrypted modem key in response to a validation of the trusted key as belonging to the user device.

5. The integrity server of claim 4 , wherein the validation of the trusted key is performed by a trusted third-party.

6. The integrity server of claim 4 , wherein execution of the program further configures the integrity server to perform acts comprising using the decrypted modem key to validate the carrier unlock request that is integrity protected by the trusted key.

7. The integrity server of claim 4 , wherein execution of the program further configures the integrity server to perform acts comprising providing integrity protection to the unlock command and a modem data packet in the unlock command via the decrypted modem key prior to the sending of the unlock command directly to the modem of the user device.

8. The integrity server of claim 7 , wherein the modem data packet includes information that is operative to permanently disable a comparison of the device carrier code to the SIM carrier code when the unlock scenario includes a permanent carrier unlock of the user device, or temporarily disable the comparison of the device carrier code to the SIM carrier code for a predetermined period of time when the unlock scenario includes a temporary carrier unlock of the user device.

9. The integrity server of claim 1 , wherein the unlock command is specific for the user device in that the unlock command is not operative on other devices.

10. The integrity server of claim 1 , wherein an unlock scenario is based on factors that include at least one of: (i) whether the carrier unlock is a permanent or a temporary carrier unlock of the user device, (ii) a geographical region specified by the carrier unlock, and (iii) an unlock time duration when the carrier unlock is a temporary carrier unlock.

11. An integrity server comprising:

a processor;

a network interface coupled to the processor configured to enable communications via a communication network;

a storage device for content and programming;

a program stored in the storage device, wherein execution of the program by the processor configures the integrity server to perform acts comprising:

receiving a carrier unlock request from an alternate computing device for a user device having an unlock application that has been deactivated or flashed;

performing one or more verifications to determine whether the user device is eligible for the carrier unlock requested; and

sending an unlock command to the alternate computing device for the user device, upon determining that the user device is eligible for the carrier unlock.

12. The integrity server of claim 11 , wherein the unlock command is in the form of a quick response (QR) code.

13. The integrity server of claim 12 , wherein the QR unlock command is specific for the user device in that it is not operative to unlock other devices.

14. The integrity server of claim 12 , wherein the unlock command is configured to be at least one of (i) displayed on a user interface of the alternate computing device, and (ii) printed by a printer associated with the alternate computing device, such that it can be scanned by the user device.

15. The integrity server of claim 11 , wherein the unlock command is operative to disable a comparison of a device carrier code of the user device to a subscriber identity module (SIM) carrier code stored in a SIM card of the user device.

16. The integrity server of claim 11 , wherein the unlock request from the alternate computing device is received via a web page of the integrity server.

17. The integrity server of claim 11 , further comprising sending an unlock error message to the alternate computing device upon determining that the user device is ineligible for the carrier unlock.

18. The integrity server of claim 11 , wherein execution of the program further configures the integrity server to perform acts comprising providing integrity protection to the unlock command and a modem data packet in the unlock command prior to the sending of the unlock command in QR code to the user device via the alternate computing device.

19. The integrity server of claim 18 , wherein the modem data packet includes information that is operative to permanently disable a comparison of the device carrier code to the SIM carrier code when an unlock scenario includes a permanent carrier unlock of the user device, or temporarily disable the comparison of the device carrier code to the SIM carrier code for a predetermined period of time when the unlock scenario includes a temporary carrier unlock of the user device.

20. The integrity server of claim 11 , wherein the unlock scenario is based on factors that include at least one of: (i) whether the carrier unlock is a permanent carrier unlock of the user device or a temporary carrier unlock of the user device, (ii) a geographical region specified by the carrier unlock, and (iii) an unlock time duration when the carrier unlock is a temporary carrier unlock.

21. An integrity server comprising:

a processor;

a network interface coupled to the processor configured to enable communications via a communication network;

a storage device for content and programming;

a program stored in the storage device, wherein execution of the program by the processor configures the integrity server to perform acts comprising:

receiving a carrier unlock request;

determining a source of the unlock request;

upon determining that the source of the unlock request is a user device:

upon determining that the unlock request is not valid, sending an indication to the user device that the unlock request is not valid; and

upon determining that the unlock request is valid, sending an unlock command directly to a modem of the user device;

upon determining that the source of the unlock request is an alternate computing device:

upon determining that the unlock request is not valid, sending an indication to the alternate computing device that the request is not valid; and

upon determining that the unlock request is valid, sending an unlock command as a QR code to the alternate computing device to be read by the user device on a display of the alternate computing device or a printout therefrom.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT INTERNATIONAL INCORPORATED; IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2020
From: DEUTSCHE TELEKOM AG
To: T-MOBILE USA, INC.; IBSV LLC
Reel/Frame 052969/0381 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2020
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: T-MOBILE USA, INC.; IBSV LLC; METROPCS COMMUNICATIONS, INC.; METROPCS WIRELESS, INC.; T-MOBILE SUBSIDIARY IV CORPORATION; LAYER3 TV, INC.; PUSHSPRING, INC.
Reel/Frame 052969/0314 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 30, 2016
From: T-MOBILE USA, INC.
To: DEUTSCHE TELEKOM AG
Reel/Frame 041225/0910 →
SECURITY AGREEMENT Recorded Nov 17, 2015
From: T-MOBILE USA, INC.; METROPCS COMMUNICATIONS, INC.; T-MOBILE SUBSIDIARY IV CORPORATION
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS ADMINISTRATIVE AGENT
Reel/Frame 037125/0885 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2015
From: VELUSAMY, SENTHIL KUMAR MULLUPPADI
To: T-MOBILE U.S.A, INC.
Reel/Frame 036588/0893 →