Secure remote user device unlock
First Claim
1. One or more non-transitory computer-readable media storing computer-executable instructions that upon execution cause one or more processors to perform acts comprising:
- receiving a carrier unlock request for a user device;
determining one or more verifications to be performed based at least on an unlock scenario requested by the carrier unlock request for the user device;
performing the one or more verifications to determine whether the user device is eligible for a carrier unlock; and
sending an unlock command to the user device in response to determining that the user device is eligible for the carrier unlock, the unlock command to disable a comparison of a device carrier code stored in a memory of the user device to a subscriber identity module (SIM) carrier code stored in a SIM card of the user device, wherein the comparison of the device carrier code stored in the memory of the user device to the SIM carrier code stored in the SIM card is for determining whether the user device is able to initiate a normal boot up to use a wireless network of a wireless communication carrier identified by the SIM carrier code or boot into a limited functionality mode.
7 Assignments
0 Petitions
Accused Products
Abstract
A device unlock application on a user device may interact with a server to automatically carrier unlock the user device. The server may receive a carrier unlock request for a user device. The server may determine one or more verifications to be performed based at least on a unlock scenario requested by the carrier unlock request. The server may perform the one or more verifications to determine whether the user device is eligible for a carrier unlock. The server may send a unlock command to the user device in response to determining that the user device is eligible for the carrier unlock. The unlock command may 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.
-
Citations
20 Claims
-
1. One or more non-transitory computer-readable media storing computer-executable instructions that upon execution cause one or more processors to perform acts comprising:
-
receiving a carrier unlock request for a user device; determining one or more verifications to be performed based at least on an unlock scenario requested by the carrier unlock request for the user device; performing the one or more verifications to determine whether the user device is eligible for a carrier unlock; and sending an unlock command to the user device in response to determining that the user device is eligible for the carrier unlock, the unlock command to disable a comparison of a device carrier code stored in a memory of the user device to a subscriber identity module (SIM) carrier code stored in a SIM card of the user device, wherein the comparison of the device carrier code stored in the memory of the user device to the SIM carrier code stored in the SIM card is for determining whether the user device is able to initiate a normal boot up to use a wireless network of a wireless communication carrier identified by the SIM carrier code or boot into a limited functionality mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method, comprising:
-
receiving a carrier unlock registration request from a device unlock application on a user device at a server that registers the user device with the server for receiving remote carrier unlock from the server, the carrier unlock registration request including at least an encrypted device key of the user device that is integrity protected by a trusted key assigned to a trusted environment of the user device that is an isolated execution space on the user device, the trusted key being inaccessible to applications stored on the user device that are outside of the isolated execution space and lack privilege to access the isolated execution space via a secure communication channel; and decrypting, at the server, the encrypted device key into a decrypted device key in response to a validation of the trusted key by a trusted third-party authority as belonging to the user device; receiving, at the server, a carrier unlock request for the user device that is integrity protected by the device key; validating, at the server, the carrier unlock request that is integrity protected by the device key using the decrypted device key; and determining, at the server, whether to fulfill the carrier unlock request following a validation of the carrier unlock request via the decrypted device key. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A server, comprising:
-
one or more processors; and memory having instructions stored therein, the instructions, when executed by the one or more processors, cause the one or more processors to perform acts comprising; receiving a carrier unlock request for a user device that is initiated by a device unlock application on the user device; determining one or more verifications to be performed based at least on whether a permanent carrier unlock or a temporary carrier unlock is requested by the carrier unlock request for the user device; performing the one or more verifications to determine whether the user device is eligible for a carrier unlock; and sending an unlock command to the user device in response to determining that the user device is eligible for the carrier unlock, the unlock command to disable a comparison of a device carrier code stored in the user device to a subscriber identity module (SIM) carrier code stored in a SIM card of the user device, wherein disabling the comparison of the device carrier code stored in the memory of the user device and the SIM carrier code stored in the SIM in response to the unlock command allows the user device to use a wireless network of a wireless communication carrier regardless of a carrier code of the wireless communication carrier. - View Dependent Claims (18, 19, 20)
-
Specification