The present invention and the corresponding advantages and features provided thereby will be best understood and appreciated upon review of the following detailed description of the invention, taken in conjunction with the following drawings, where like numerals represent like elements, in which:
A method provides improved security for subsidy control of a handset device, such as a cellular telephone, by among other things, using asymmetric digital signature verification to verify an activation file. In an exemplary embodiment of the present invention, a handset device is enabled for subsidy control via a SIM card. The handset is operative to send an activation file request to the SIM card, to receive an asymmetrically digitally signed activation file from the SIM card, and to verify the asymmetric digital signature of the activation file via the public key and to install the activation file in handset memory. In another exemplary embodiment of the present invention, a SIM card device is enabled for subsidy control of a handset device. The SIM card device is operative to receive an activation file request from a handset device, to bind an activation file template to the handset device to thereby generate a bound activation file for the handset, to asymmetrically digitally sign the bound activation file via a private key to thereby generate an asymmetrically digitally signed activation file; and to send the asymmetrically digitally signed activation file to the handset device.
As such, a method and apparatus is disclosed that enhances SIM-locking security by insuring that the handset device does not contain all of the critical information necessary for generating the unlock state. In particular, the asymmetric digital signature on the activation file that governs subsidy locking is generated using a private key that that is not contained in the handset device. Therefore, even if a hacker manages to get unauthorized software code to execute on the handset device, critical information needed to unlock the phone is simply not available in any form on the device. In addition, by binding the signed activation file to the handset device, the activation file may only be used to activate a single handset. Further, the responsibility of password management is moved from the handset manufacturer to the network operator, or eliminated if password-less subsidy unlock is used. Other advantages will be recognized by those of ordinary skill in the art.
In particular, the handset device 100 is preferably a device that connects to a wireless communications service, such as a cellular telephone service. For purposes of illustration only, a cellular telephone handset device 100 is exemplified, and includes: a controller 120 memory 110 including an activation file 112, a root certificate containing a public key 114, a handset identifier 116; and software modules 118; an asymmetric signature verification module 130; a user interface 140; and a transceiver 145 In this example, the controller 120 executes software instructions obtained from the memory 110 via a memory bus 122 to control the operation of the handset device 100. The controller 120 is operatively coupled to the memory 110, the asymmetric signature verification module 130, the user interface 140, and the transceiver 145. Alternatively, signature verification may be performed by the controller 120.
In this example, the controller 120 may be, for example, a DSP, microcontroller, central processing unit, baseband processor, co-processor, or any suitable processing device. In addition it may be discrete logic, or any suitable combination of hardware, software or firmware or any suitable structure. The controller 120 is preferably implemented with a “secure boot” capability. During securing booting, the controller 120 verifies all executed code, such as software modules 118, against a root of trust embedded in the hardware prior to execution. For example, a root certificate embedded in the software image may be verified by the secure boot, using a chain of trust rooted in a hardware root public key. The root certificate is used to validate the signature on an operator root certificate file, which is then used to validate the signature on an activation file 112. This secure booting method insures that code in the memory 110 has not been modified by hackers to bypass the security checks of the subsidy locking implementation. If a software modification is detected, then the code would need to be re-signed using a private key in order to pass the secure boot process. The private key is not held in the handset device 100 so that the handset device 100 cannot digitally sign any software. Likewise, without access to the private key, malicious code cannot be run in the handset device 100 to generate an activation file 112 with a valid asymmetric digital signature that will verify against the public key 114.
A dedicated asymmetric signature verification module 130 may be operatively coupled to the controller 120 for the purpose of performing signature verification. For example, an asymmetrically digitally signed activation file 212 and a public key 114 may be passed to the asymmetric signature verification module 130 for verification. The verification status 126 may be passed back to the controller 120. Alternatively, asymmetric signature verification may be performed by the controller 120 rather than via a separate asymmetric signature verification module 130. A user interface 140 may be operatively coupled to the controller 120. This user interface 140 provides a means for user input of a password 132 for use in subsidy unlocking of the handset device 100.
A transceiver 145 provides a means for wireless communication between the handset device 100 and the wireless network device 200. Any suitable wireless communication band, format, and topology may be used as is known in the art of wireless communication. The transceiver 145 may be operatively coupled to the controller 120 via a transceiver bus 128. For example, the controller 120 may use the transceiver to transmit information from the handset device 100 to the wireless network device 200 where this information may be further routed and directed to a receiving unit, such as a handset device of another user. The transceiver 145 also receives information from the wireless network device 200. In particular, network messages, including messages for subsidy control may be transmitted by the wireless network device 200 to the handset device 100. In this way, the handset device 100 may receive network messages, such as an activation request, an unlock request, or an update parameters request, from the network operator as a means of controlling the subsidy of the handset device 100.
Operational instructions, or software, executing on the controller 120 is stored in memory 110 that may include a single memory device or a plurality of memory devices. Such memory 110 may include any memory element that stores digital data including, but not limited to, RAM, ROM, flash memory, hard disk drive, distributed memory such as servers on a network, or CD-ROM or any suitable storage medium. It will be recognized that such memory may be integrated with the controller or take any suitable configuration.
The memory 110 is operative to store an activation file 112. The handset device 100 may be manufactured with an empty activation file 112 and with the handset device 100 set to a default state where the handset is subsidy locked but will not operate on any operator network until a valid activation file 112 has been stored. While the activation file 112 is described as a file, it may be any grouping of binary data such as, but not limited to a data stream, data block, binary file, or other data structure as are known in the art.
A root certificate containing the public key 114 may be stored in the memory 110 of the handset device 100. The root certificate 114 may be securely stored in such a way as to prevent overwriting of its contents, or to prevent copying its contents to another handset 100. The public key with the root certificate 114 provides a means for the handset 100 to verify an asymmetric digital signature of any file or data block that is provided to the handset 100 from a signor holding a paired private key. For example, a wireless network operator may provide the handset 100 manufacturer with a root certificate containing a public key 114 and request that the root certificate containing a public key 114 be provisioned into a handset device 100. The wireless network operator may then subsidize the sale of this handset 100 to a customer who signs a service contract to use the wireless network. The root certificate 114 may be provisioned to the handset device 100 in a manner such that it is digitally signed by the manufacturer and bound to the handset identifier 116, such as the serial number or IMEI, thereby preventing the root certificate 114 from being used by another handset 100. The handset identifier 116 could be a value stored in the memory. It could also be a unique value embedded in the controller. In fact, it is preferably the unique ID value of the controller, since a serial number or IMEI are provisioned into the phone and could potentially be duplicated into multiple handsets. The bound signature of the root certificate 114 may be validated by the handset controller 120 during secure booting or during the subsidy lock status checking which could occur after the secure boot process is complete.
To insure that a subsidized handset 100 is actually used on the subsidizing operator's network, the handset device 100 may further be manufactured with a default subsidy locked state and with no network operator specific SIM lock data. In this way, the handset 100 is effectively subsidy locked to not operate on any network. The handset device 100 may be further manufactured to only operate for emergency calling (911) or in a special test SIM mode until a valid activation of the handset occurs. The activation feature is useful to secure handsets while in transit to the operator—if stolen they are of no use until activated by an operator SIM card.
To activate the handset device 100, the handset device 100 must receive and verify an asymmetrically digitally signed activation file 214 that has been signed using a private key that is paired to the public key contained in the root certificate 114. The handset device 100 verifies the signature of the activation file 214 using the root certificate containing the public key 114. This verification may be performed by the controller 120 or by the dedicated asymmetric signature verification module 130. Subsidy security is insured by verifying the signature of the activation file 214 against a trusted certificate 114. This verification may be a single level, where the digital signature of the activation file 214 is verified against the root certificate containing the public key 114. Alternatively, the activation file 214 may further contain a certificate chain, consisting of one or more certificates, where each certificate is verified against a previously validated certificate in a hierarchy. For example, the activation file 214 may include an intermediate certificate and a device certificate in addition to the digital signature. The handset would use the root certificate 114 to first validate the received intermediate certificate. The validated intermediate certificate would then be used to validate the received device certificate. The validated device certificate would then be used to validate the signature of the activation file 214.
If the handset device 100 verifies the activation file 214, then the contents of the file 214 may be stored into the activation file 112 in the handset memory 110. The handset 100 is thereby activated for use while now being subsidy locked to a particular operator network, or other locking parameter, as specified in the stored activation file. If the stored activation file 112 indicates a locked state, then it also specifies which SIM cards are accepted. If the activation file 112 specifies an unlocked state, then any SIM card is accepted. In addition to verifying the signature of the activation file 214, the handset device may verify that the activation file 112 is bound to the particular handset 100 each time the subsidy lock status is checked (i.e. each power-up or SIM insertion). If the signature of the stored activation file 112 does not verify, then only test SIM cards are accepted for use in the handset device 100. While the asymmetrically digitally signed activation file 214 is described as a file, it is understood that it may be any grouping of binary data such as, but not limited to a data stream, data block, binary file, or other data structure as are known in the art.
A handset identifier 116 may be stored in the handset memory 110. Preferably, the handset identifier 116 would be an unchangeable unique ID value stored in the controller IC that was programmed there by the controller IC manufacturer. During activation, the handset device 100 may send an activation file request 212 including this handset identifier 116. The signing device, such as the SIM card 150, may generate an asymmetrically digitally signed activation file 214 with the handset identifier 116 bound to the signed file by, for example, including the handset identifier 116 in the activation file template 162 prior to digital signing. The handset identifier 116 may be generated during manufacturing of the handset 100 or of the handset components such that each handset 100 has a unique identifier 116. For example, a unique ID of the controller IC may be stored in the controller IC by the manufacturer of the controller IC. As a result, the asymmetrically digitally signed activation file 214 generated by the signing device can only be used to activate one handset device—the device 100 that is coupled to that signor.
The SIM card 150 is a smart card enabled for subsidy control of a handset device 100. The SIM card 150 may include memory 160 operative to store an activation file template 162, a private key 164, a software application 166, a certificate chain 168, and an unlock password 169. The SIM card 150 may include a controller 170 operatively coupled to the memory 160 through a memory bus 172. The controller 170 may be operative to receive an activation file request 212 from the handset device, to bind the activation file template 162 to the handset device 100 to thereby generate a bound activation file 182, to asymmetrically digitally sign the bound activation file 182 via the private key 164 to thereby generate an asymmetrically digitally signed activation file 178 and 214; and to send the asymmetrically digitally signed activation file 214 to the handset device 100. The SIM card 150 may further be limited to activating a single handset device 100 to thereby enhance subsidy security. The controller may be operatively coupled to an asymmetric digital signor 180 and to an asymmetric signature verification module 190.
In this example, the controller 170 may be, for example, a DSP, microcontroller, central processing unit, baseband processor, co-processor, or any suitable processing device. In addition it may be discrete logic, or any suitable combination of hardware, software or firmware or any suitable structure. The controller 170 may also be implemented with a secure boot capability.
A dedicated asymmetric digital signor module 180 may be operatively coupled to the controller 170 for the purpose of signing the bound activation file 178. The controller 170 provides the bound activation file 182 and the private key 164 to the asymmetric digital signor 180. The asymmetric digital signor 180 signs the bound activation file 182 using the private key 164 by any algorithm that signs a data block such as, but not limited to, RSA, RSA-DSS, Full Domain Hash, DSA, ECDSA, and SHA algorithms as are known in the art. The signed activation file 178 may then be sent to the handset device 100 as the asymmetrically digitally signed activation file 214. Alternatively, asymmetric digital signing may be performed by the controller 170 rather than via a separate asymmetric digital signing module 180.
A dedicated asymmetric signature verification module 190 may be operatively coupled to the controller 170 for the purpose of performing signature verification. Alternatively, asymmetric signature verification may be performed by the controller 170 rather than via a separate asymmetric signature verification module 190. The handset device 100 may receive a message from the wireless network device 200 that is, in turn, passed to the SIM card device 150 as a network message 215. This network message 215 may be an asymmetrically digitally signed file 215 containing updated locking parameters. The signature of the network message 215 may be verified by the SIM card 150 using the root certificate 168 to insure the authenticity of the message 215. The controller 170, or the asymmetric signature verification module 190, may perform this verification. If the asymmetric signature verification module 190 is used, then the verification status 174 may be passed back to the controller 170.
Subsidy security is insured by verifying the signature of the network message 215 against a trusted certificate 168. This verification may be a single level, where the digital signature of the network message 215 is verified against the root certificate 168. Alternatively, the network message 215 may further contain a certificate chain, consisting of one or more certificates, where each certificate is verified against a previously validated certificate in a hierarchy. For example, the network message 215 may include an intermediate certificate and a device certificate in addition to the digital signature. The SIM card would use the root certificate 168 to first validate the received intermediate certificate. The validated intermediate certificate would then be used to validate the received device certificate. The validated device certificate would then be used to validate the signature of the network message 215.
Operational instructions, or software, executing on the SIM card controller 170 is stored in memory 160 that may include a single memory device or a plurality of memory devices. Such memory 160 may include any memory element that stores digital data including, but not limited to, RAM, ROM, flash memory, hard disk drive, distributed memory such as servers on a network, or CD-ROM or any suitable storage medium. It will be recognized that such memory may be integrated with the controller or take any suitable configuration.
The memory 160 may be operative to store the activation file template 162. The activation file template 162 personalizes the SIM card to a specific network provider. The activation file template 162 holds a lock state, such as locked or unlocked. The activation file template 162 holds locking parameters, such as a subsidy lock state, home public land mobile network (HPLMN) information, international mobile subscriber identifier (IMSI), and group identifiers (GID1/GID2), that are coded with values that bind the handset to the issuing service provider and the customer. In response to a valid activation file request 212, the SIM card 150 may bind the activation file template 162 to the particular handset device 100 by inserting a binding parameter, such as a handset identifier 116 received with the activation file request 212, into the activation file template 162, to generate a bound activation file 182. The bound activation file 182 is then asymmetrically digitally signed by the SIM card 150 using the private key 164 on the SIM card 150 prior to being sent to the handset device 100. The handset device 100 will verify the digital signature of this asymmetrically digitally signed activation file 214 prior to installation of the activation file 112 into the handset device 100.
The activation file template 162 may include a digital signature—one that is provisioned by the network provider prior to installation of the card 150. For example, the network provider may provision a common activation file template 162 in a large number of SIM cards 150. This common activation file template 162 would be valid for a large number of SIM cards 150. Each activation file template 162 may be verified against a root certificate 168 that is securely stored in the card 150 to prevent tampering. In the event that the network operator were to need to update or replace the common activation file template 162, then a new activation file template may be sent to each SIM card via the network communicating with each handset device 100. The new activation file template may be digitally signed by the network provider. The SIM card 150 may verify the digital signature of the updated activation file template using the root certificate 168 prior to storing the new template in the activation file template 162 location in the SIM card memory 160.
The memory 160 may be operative to store a private key 164 used for asymmetric digital signing of the bound activation file 182 prior to sending an asymmetrically digitally signed activation file 214 to the handset device. The private key 164 must be secured on the SIM card 150 such that it cannot be read externally. The memory 160 may be operative to store a software application 166 for execution by the SIM card controller 170.
The memory 160 may be operative to store a root certificate 168 containing a public key that may be used to validate received network messages 215. The memory 160 may be operative to store an unlock password 169 or, alternatively, a hash of an unlock password. The unlock password 169 may be compared to a password provided by the handset device 100 as part of an activation file request 212 for unlocking the handset.
The wireless network device 200 is a device enabled for wireless communication with the handset device 100 and that serves as a link between the handset device 100 and the overall wireless network. The wireless network device 200 may include a controller 204, memory 202, and a transceiver 206. The controller 204 may be operatively coupled to the memory 202 by a memory bus 208 and operatively coupled to the transceiver 206 by a transceiver bus 210. A wireless network device 200 may be embodied as any suitable operating device in a wireless network including, but not limited to, a base station, a hub, a repeating transmitter, a mobile station, or combinations thereof. The wireless network device 200 provides a path for wireless communications between the handset device 100 and the controlling services of the wireless network provider.
A network-initiated unlock request may be signed by the network, bound to the SIM serial number (IMSI). Alternatively, a network-initiated unlock request may be signed by the network, bound to the handset serial number (IMEI) or be bound to both the SIM IMSI and the handset IMEI. In addition, the network-initiated unlock request may be executed as a challenge/response that includes a nonce so as to protect against a replay attack as is known in the art. The network may also include the IMEI of the device in the network-initiated unlock request so that the request is only valid for the desired device & SIM IMSI number pair. A network-initiated unlock would use OTA to install a new activation file template (whose lock state is set to unlocked), which would trigger the phone to send an activation request (without password) which would then be processed to unlock the phone. In step 275, the SIM card 150 binds the activation file template 162 to the handset device 100 and sets the activation file template to the unlock state to thereby generate a bound activation file 182 for the handset 100.
In step 276, if the correct password was entered, the SIM card 150 asymmetrically digitally signs the bound activation file 182 via the private key 164. The digital signing method may be any algorithm that signs a data block such as, but not limited to, RSA, RSA-DSS, Full Domain Hash, DSA, ECDSA, and SHA algorithms as are known in the art. Signing of the activation file is bypassed if the activation file does not verify. In step 278, the SIM card 150 sends the asymmetrically digitally signed activation file with unlock state 214 to the handset device 100.
If the password does verify, then in step 377, the SIM card 150 binds the activation file template 162 to the handset device 100—such that the activation file may only be used with this particular handset 100—to thereby generate a bound activation file 182 for the handset 100. The SIM card 150 also sets the activation file template to the unlock state. In step 378, the SIM card 150 asymmetrically digitally signs the bound activation file 182 with an unlock state via the private key 164. During signing, the SIM card 150 may bind the handset identifier 116 from the handset device 100 to the asymmetrically digitally signed activation file 214 such that this signed file may only be used with this particular handset 100. The digital signing method may be any algorithm that signs a data block such as, but not limited to, RSA, RSA-DSS, Full Domain Hash, DSA, ECDSA, and SHA algorithms as are known in the art. In step 379, the SIM card 150 sends the asymmetrically digitally signed activation file with unlock state 214 to the handset device 100. In step 380, the handset device 100 verifies the asymmetric digital signature of the activation file 214 via the public key 114. Further verification or installation of the activation file is bypassed if the signature of the activation file does not verify. If the signature does verify, then in step 382 the handset device 100 may compare the handset identifier bound to the signed activation file 214 by the SIM card 150 with the handset identifier 116 held in the handset 100 to insure that the activation file corresponds to this handset 100. In step 384, if the signature checking and handset identifier check pass, the handset device 100 installs the activation file with unlock state 112 into memory 110. As a result, the handset device 100 is unlocked.
The exemplary embodiment is extendable to meeting industry standards, such as 3GPP 22.022, wherein several locking layers are described. For example, the 3GPP 22.022 describes personalization (locking) layers including network (HPLMN), service provider (GID1), corporate (GID2), IMSI 3 digit, and IMSI all digit. By providing asymmetric digitally signed activation files for each of the five personalization layers, all five personalization layers may be implemented in the handset.
In step 410, the SIM card 150 binds the activation file template 162 to the handset device 100—such that the activation file may only be used with this particular handset 100—to thereby generate a bound activation file 182 for the handset 100. In step 410, the SIM card 150 asymmetrically digitally signs the bound activation file 182 with the updated lock state and update locking parameters via the private key 164. The digital signing method may be any algorithm that signs a data block such as, but not limited to, RSA, RSA-DSS, Full Domain Hash, DSA, ECDSA, and SHA algorithms as are known in the art. In step 412, the SIM card 150 sends the asymmetrically digitally signed activation file with updated parameters 214 to the handset device 100. In step 414, the handset device 100 verifies the asymmetric digital signature of the activation file 214 via the public key 114. Further verification or installation of the activation file is bypassed if the signature of the activation file does not verify. In addition, the handset device 100 may compare the handset identifier bound to the signed activation file 214 by the SIM card 150 with the handset identifier 116 held in the handset 100 to insure that the activation file corresponds to this handset 100. In step 416, if signature check and handset identifier checks pass, the handset device 100 installs the activation file with updated parameters 112 into memory 110. As a result, the subsidy parameters of the handset device 100 are updated.
By default, the SIM card 150 may be enabled to only activate a single handset device 100 to prevent unauthorized activation, unlocking, or parameter updating. Only one handset may be unlocked for each SIM card 150 unless the unlocking is initiated by the wireless network. However, the SIM card 150 may be further enabled to activate additional handsets 100 though the use of messages transmitted from the wireless network into the handset device 100 and passed on to the SIM card 150. Asymmetric digital signatures may be used to secure these messages which would be verified in the SIM card device 150 using the root certificate 168 and intermediate and device certificates received along with these messages and asymmetric digital signature verification. In addition, SIM card revocation could be supported using asymmetrically digitally signed messages from the wireless network. The asymmetrically digitally signed activation file 214 received by the handset from the SIM card contains an asymmetric digital signature. The handset preferably also receives a certificate chain consisting of a device certificate and intermediate certificate. If a certificate chain is received with the activation file, then the public key may be used to validate the received intermediate certificate, which is then used to validate the received device cert, which is then used to validate the signature on the received activation file.
The above detailed description of the invention, and the examples described therein, has been presented for the purposes of illustration and description. While the principles of the invention have been described above in connection with a specific device, it is to be clearly understood that this description is made only by way of example and not as a limitation on the scope of the invention.