Privacy-enhancing method for linking ESIM profiles
By using a hash algorithm to generate temporary EID (TEID) in eSIM profile download, the security and privacy risks of the profile download to the error card are solved, the download efficiency and security are improved, and the effective utilization of resources is ensured.
Patent Information
- Application Number
- CN202080015284.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-04-08
- Filing Date
- 2020-02-07
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2040-02-07
AI Technical Summary
The existing eSIM profile download mechanism poses security and privacy risks, and cannot ensure that the profile is downloaded to the correct eUICC card, and the download process is complex and inefficient, resulting in waste of resources.
The EID-based hashing algorithm is used to generate temporary EID (TEID), transmit TEID through a secure communication channel, and the download server verifies TEID to ensure that the profile is downloaded to the correct eUICC card and avoid reuse of resources.
Improve the security and privacy of eSIM profile download, avoid resource waste, ensure that the profile is downloaded to the expected card, and improve the efficiency and security of the system.
Smart Images

Figure CN113439449B_ABST
Abstract
Description
Background Art
[0001] Service providers for communication devices generally require that the communication device have appropriate credentials to access and be able to use services. The credentials securely and uniquely identify a subscription or account with the service provider and enable the communication device to access and use services associated with the subscription. When the communication device is a mobile communication device, the service provider may be referred to as a mobile network operator (MNO), and the services may include, for example, mobile voice calls, text messaging, or Internet data services.
[0002] The credentials may reside in a secure container called a Universal Integrated Circuit Card (UICC) or "SIM card". The UICC may support remote provisioning of credentials, in which case it may be referred to as an eUICC or eSIM. The credentials may be provisioned to the eUICC / eSIM when manufactured or remotely provisioned to the eUICC / eSIM while the eUICC / eSIM resides in the communication device.
[0003] Mobile operators may require that an eSIM profile be associated with a specific eUICC card. Each eUICC card has a permanent unique identifier called an eUICC ID (EID). The EID may be shared with the mobile operator when ordering a new subscription and associated eSIM profile. The mobile operator may link the profile to the EID.
[0004] It is with respect to these and other considerations that the disclosure made is presented herein. Summary of the invention
[0005] The eSIM download procedure performs mutual authentication of the eUICC card and the download server. First, the eUICC card authenticates the download server. If this succeeds, the download server authenticates the eUICC card. The EID is transmitted to the download server as part of this second step, but only after the download server is trusted. This is the only available protocol where the EID is communicated to the download server.
[0006] The GSMA eSIM v3 specification includes an API on the device that can be used to obtain information about the device and the eUICC card, and to start a profile download. The intention is that an application on the device, for example acting on behalf of a mobile operator, can obtain device information and send the device information to the operator, which creates a profile that can be downloaded. Information about the profile is then sent to the device, which downloads the profile. For privacy reasons, the EID is not communicated through the device API. Therefore, the operator does not know the EID of the eUICC card and cannot link the profile to the card. Therefore, the profile can therefore potentially be downloaded to any card and not just the intended card, exposing security and privacy risks.
[0007] The GSMA eSIM v3 specification includes a mechanism that can be used to bundle an API transaction on a device with a profile download. The operator server and the device compute some shared session state, which is used as part of the download procedure. The operator server can ensure that the entire transaction occurs in a single session: the API interaction is followed by the download. However, the implementation is cumbersome, and if the download is incomplete (e.g., the connection is lost during the download) and needs to be retried, the entire API procedure must be repeated.
[0008] The disclosed embodiments describe techniques for securely allowing profiles to be downloaded to the correct eUICC card without exposing the EID of the eUICC card. In some embodiments, based on the EID, a hash is generated. The hash can be linked to the profile download order by the eSIM server and verified by the server based on knowledge of the underlying EID when the profile was downloaded.
[0009] In one embodiment, using a secure hash algorithm, a nonce and an EID, a temporary EID (TEID) may be generated. Upon request, the eUICC may generate a TEID value using the latest nonce. The TEID value may be sent to the mobile operator via an application on the device that communicates with the operator's server, for example as part of the GSMA eSIM Local Profile Assistant (LPA) API. When the operator requests preparation of an eSIM profile for download, it associates the TEID with the profile.
[0010] Profile downloads proceed in the normal manner until the download server identifies the profile to be downloaded. At this point, the download server has been authenticated by the eUICC and has received the EID from the eUICC. If the profile is linked to a TEID, the download server checks the first part of the TEID to determine the algorithm and random number, calculates the hash, and compares the hash value to the stored TEID value. If they match, the EID is verified and the profile can be downloaded. If they do not match, this may be an attempt to download the profile to another eUICC and the download is rejected.
[0011] In a discovery scenario, a mobile network operator may pre-arrange profiles available for a mobile device for download. The mobile device may communicate with a server to determine whether a profile is available for the mobile device. The TEID may have previously been associated with a profile download sequence and is used to identify the sequence. The server may search its records to match the TEID with the TEID for the mobile device. Once located, the procedures described herein may be used to verify the identity of the mobile device before providing a subscription profile.
[0012] The technology disclosed herein can therefore improve security and privacy when configuring mobile devices, preventing subscription profiles from being downloaded to any card other than the intended one. In addition, by providing a standardized method for more securely identifying mobile devices, various systems can operate more efficiently by avoiding repeated and inefficient attempts to identify devices and download profiles, thereby saving the use of memory, processing resources, network resources, etc. Other technical effects besides those mentioned herein can also be achieved by the implementation of the technology disclosed herein.
[0013] This summary is provided to introduce a selection of concepts in a simplified form, which are further described in the detailed description below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is this summary intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all of the disadvantages noted in any part of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The detailed description is described with reference to the accompanying drawings. In the detailed description herein, reference is made to the accompanying drawings which form part of this specification and which illustrate specific embodiments or examples by way of illustration. The drawings herein are not drawn to scale. Throughout the several drawings, like numbers represent like elements.
[0015] Figure 1 Depicted are examples of network environments in which aspects of the disclosure may be implemented.
[0016] Figure 2 An example of a computing device in which aspects of the disclosure may be implemented is depicted.
[0017] Figure 3 An example environment for provisioning of mobile devices is depicted.
[0018] Figure 4 An example system for provisioning of a mobile device is described.
[0019] Figure 5A An example system for provisioning of a mobile device is described.
[0020] Figure 5B An example system for provisioning of a mobile device is depicted.
[0021] Figure 6 An operating procedure for provisioning of a mobile device is described.
[0022] Figure 7 An operating procedure for provisioning of a mobile device is described. DETAILED DESCRIPTION
[0023] A device that is capable of communicating on a mobile network but has not yet been configured to do so typically obtains its provisioning information by obtaining information describing the credentials to be provisioned, such as an activation code for an eSIM profile. The GSMA eSIM specification defines multiple methods for a device to determine this provisioning information. It can be provided by the operator to the user of the device, who then enters it (e.g., scans a QR code containing the information). Alternatively, the user device can determine the provisioning information using a global discovery server (e.g., SM-DS), which may also be referred to as a discovery server. The device finds the eSIM download server (e.g., SM-DP+) that it needs to contact to provision its eSIM, and communicates with the server. The eSIM download server may also be referred to as an eSIM server or a download server.
[0024] In the current (v2) and ongoing (v3) GSMA eSIM specifications, mobile operators can require that an eSIM profile be associated with a specific eUICC card. Each card has a permanent unique identifier, called the eUICC ID (EID). The EID is disclosed to the end user through various means including device interfaces. When ordering a new subscription and associated eSIM profile, the end user can share the EID with the mobile operator. When the end user shares the EID with the mobile operator, the operator can link the profile to the EID.
[0025] The eSIM download procedure performs mutual authentication of the eUICC card and the download server. First, the card authenticates the download server. If successful, the download server will then authenticate the card. The EID is transmitted to the download server as part of this second step - only after the download server is trusted. This is the only protocol where the EID is communicated to the download server.
[0026] The GSMA eSIM v3 specification includes an API on the device that can be used to obtain information about the device and the eUICC card, and to start a profile download. The intention is that an application on the device, for example acting on behalf of a mobile operator, gets the device information and sends it to the operator, which creates the profile to be downloaded. Information about the profile is then sent to the device, which downloads the profile. For privacy reasons, the EID is not communicated through the device API. Therefore, the operator does not know the EID of the eUICC card and cannot link the profile to the card. Therefore, the profile can therefore be downloaded to any card (not just the intended card).
[0027] The GSMA eSIM v3 specification includes a mechanism to bundle an API transaction on a device with a profile download. In this mechanism, the operator server and the device compute some shared session state, which is used as part of the download procedure. The server can ensure that the entire transaction occurs in a single session: the API interaction is followed by the download. However, the implementation is cumbersome, and if the download is incomplete (e.g., the connection is lost during the download) and needs to be retried, the entire API procedure must be repeated.
[0028] This disclosure describes an approach based on the EID using a hash that can be linked to the profile download order by the eSIM server and verified by the server based on the knowledge of the underlying EID when the profile was downloaded.
[0029] In an embodiment, a temporary EID (TEID) may be defined as follows:
[0030] TEID = alg || random number || hash (alg || random number || EID)
[0031] Where "alg" is a value identifying a secure hash algorithm (e.g., SHA256)
[0032] "Nonce" is a random number (e.g., 128 bits)
[0033] “EID” is the eUICC ID
[0034] “||” indicates concatenation
[0035] "hash" is the computation of the hash function identified by "alg"
[0036] When requested, the eUICC may generate a TEID value with a fresh random number. This value may be sent to the mobile operator via an application on the device communicating with the operator's server, for example as part of the GSM eSIM LPA API.
[0037] When an operator requests preparation of an eSIM profile for download, it may associate the TEID with the profile.
[0038] Profile downloading proceeds in the normal manner until the download server identifies the profile to be downloaded. At this point, the download server has been authenticated by the eUICC and has received the EID from the eUICC. If the profile is linked to a TEID, the download server will check the first part of the TEID to determine the "alg" and "random number", calculate the "hash (alg||random number||EID)", and compare them to the stored TEID value. If they match, the EID will be confirmed and the profile can be downloaded. If they do not match, the download server can then determine that this is an attempt to download the profile to another eUICC and the download is rejected. It will be appreciated that hash algorithms other than SHA-256, such as SHA-512, SM3 and other algorithms.
[0039] In some embodiments, the discovery of eSIM profiles can be implemented using the described TEID. In the discovery scenario, if the operator has the EID of the mobile device, the operator can pre-arrange the available profiles for the mobile device to download. In contrast to the activation code that identifies the eSIM profile to be downloaded, the mobile device can communicate with the mobile operator server (SM-DP+) to determine whether the profile is available for the mobile device. When the mobile device is turned on, the device can use an available communication network such as Wifi to contact the mobile operator server and obtain its profile. The mobile device may have been previously provided with information about the location of the mobile operator server, or the operator may place an event record in the discovery server (e.g., SM-DS) that identifies where to obtain the profile for the EID. Based on the EID, the discovery server can provide a record for a server with a matching EID indicating that the profile is to be downloaded. The mobile device can then contact the identified server, provide its EID, and obtain the pre-arranged profile.
[0040] In an embodiment, the discovery scenario can implement the discovery scenario without disclosing the full EID, but using the TEID. The TEID can be associated with the profile download order and used to identify the order. The mobile operator server or discovery server can search its records to match the TEID with the TEID for the mobile device. Once located, the procedures described herein can be used to verify the identity of the mobile device before providing the subscription profile.
[0041] The technology described herein can be implemented for devices communicating with various wireless communication systems such as CDMA, TDMA, FDMA, OFDMA and SC-FDMA. CDMA systems can implement radio technologies such as CDMA 2000, Universal Terrestrial Radio Access (UTRA), etc. TDMA systems can implement radio technologies such as Global System for Mobile Communications (GSM). OFDMA systems can implement radio technologies such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDMA, etc. The technology described herein can be used for the above-mentioned systems and radio technologies and other systems and radio technologies. However, the following description describes a cellular system for the purpose of example, although the technology is applicable outside of cellular applications.
[0042] Figure 1 1 is a block diagram conceptually illustrating an example of a wireless communication system 100 according to aspects of the present disclosure. The wireless communication system 100 includes a base station (or cell) 105 and a mobile device 115. The base station 105 can communicate with the mobile device 115 under the control of a base station controller (not shown), which can be part of a core network or base station 105. The wireless communication system 100 can support operation on multiple carriers. A multi-carrier transmitter can transmit modulated signals on multiple carriers simultaneously. For example, each communication link 125 can be a multi-carrier signal modulated according to the various radio technologies described above.
[0043] The base station 105 can communicate wirelessly with the mobile device 115 via one or more base station antennas. The base station 105 site can provide communication coverage for the corresponding coverage area. The mobile device 115 can be located throughout the wireless communication system 100 and can be fixed or mobile. The mobile device 115 can also be referred to as a user equipment (UE), a mobile station, a mobile unit, a subscriber unit, a remote unit, a mobile device, a wireless communication device, a remote device, a mobile terminal, a wireless terminal, a mobile phone, a mobile client, a client or other suitable terms. The mobile device 115 can be a cellular phone, a wireless modem, a wireless communication device, a handheld device, a tablet computer, a notebook computer, etc. The communication link 125 shown in the wireless communication system 100 may include an uplink (UL) transmission from the mobile device 115 to the base station 105 and / or a downlink (DL) transmission from the base station 105 to the mobile device 115.
[0044] In at least some embodiments, a computing device that implements part or all of one or more of the techniques described herein may include a general-purpose computer system that includes or is configured to access one or more computer-accessible media. Figure 2 Such a general purpose computing device 200 is illustrated. In the illustrated embodiment, the computing device 200 includes one or more processors 210a, 210b, and / or 210n (which may be referred to herein individually as "processor 210" or in the plural as "processors 210") coupled to a system memory 220 via an input / output (I / O) interface 230. The computing device 200 also includes a network interface 240 coupled to the I / O interface 230.
[0045] In various embodiments, computing device 200 may be a uniprocessor system including one processor 210 or a multiprocessor system including a plurality of processors 210 (e.g., two, four, eight, or other suitable number). Processor 210 may be any suitable processor capable of executing instructions. For example, in various embodiments, processor 210 may be a general-purpose or embedded processor implementing any of a variety of instruction set architectures (ISAs), such as an x86, ARM, PowerPC, SPARC, or MIPS ISA, or any other suitable ISA. In a multiprocessor system, each of processors 210 may typically (but not necessarily) implement the same ISA.
[0046] The system memory 220 may be configured to store instructions and data accessible by the processor(s) 210. In various embodiments, the system memory 220 may be implemented using any suitable storage technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash type memory, or any other type of memory. In the illustrated embodiment, program instructions and data that implement one or more desired functions, such as those described above, are shown as code 225 and data 226 stored in the system memory 220.
[0047] In one embodiment, the I / O interface 230 may be configured to coordinate I / O traffic between the processor 210, the system memory 220, and any peripheral devices in the device, including the network interface 240 or other peripheral interfaces. In some embodiments, the I / O interface 230 may perform any necessary protocol, timing, or other data transformations to convert data signals from one component (e.g., the system memory 220) into a suitable format for use by another component (e.g., the processor 210). In some embodiments, the I / O interface 230 may include support for devices attached via various types of peripheral buses, such as, for example, a variation of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard. In some embodiments, the functionality of the I / O interface 230 may be split into two or more separate components, such as, for example, a north bridge and a south bridge. In addition, in some embodiments, some or all of the functionality of the I / O interface 230, such as an interface to the system memory 220, may be directly incorporated into the processor 210.
[0048] The network interface 240 may be configured to allow data to be exchanged between the computing device 200 and other devices 260 or devices 260 attached to the network 250 or networks 250, such as, for example. Figures 1 to 7 Other computer systems or devices as shown. In various embodiments, the network interface 240 can support communication via any suitable wired or wireless general data network, such as, for example, an Ethernet type. In addition, the network interface 240 can support communication via a telecommunications / telephone network, such as an analog voice network or a digital fiber optic communication network, via a storage area network, such as a Fibre Channel SAN, a cellular voice and / or data network, or via any other suitable type of network and / or protocol. When the network interface 240 provides cellular communications, its operation can be supported by a credential device 280, which can provide authentication, authorization, and other related information and services.
[0049] In some embodiments, system memory 220 may be one embodiment of a computer-accessible medium configured to store the computer-accessible medium as described herein. Figures 1 to 7The program instructions and data described are used to implement the corresponding embodiments of the corresponding methods and systems. However, in other embodiments, the program instructions and / or data may be received, sent, or stored on different types of computer-accessible media. In general, the computer-accessible medium may include a non-transitory storage medium or memory medium, such as a magnetic or optical medium, such as a disk or DVD / CD, coupled to the computing device 200 via the I / O interface 230. The non-transitory computer-accessible storage medium may also include any volatile or non-volatile medium, such as RAM (e.g., SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc., which may be included in some embodiments of the computing device 200 as system memory 220 or other types of memory. Multiple computing devices (such as Figure 2 Some or all of the computer programs described herein (including those illustrated) may be used in various embodiments to implement the described functionality; for example, software components running on various different devices and servers may collaborate to provide functionality. In some embodiments, portions of the described functionality may be implemented using storage devices, network devices, or dedicated computer systems, in addition to or in lieu of being implemented using general-purpose computer systems. The term "computing device" as used herein refers to at least all of these types of devices, and is not limited to these types of devices. For purposes of this specification and claims, the phrase "computer-readable storage medium" and its variations do not include waves, signals, and / or other transient and / or intangible communication media.
[0050] As used herein, a communication device may refer to devices including, but not limited to, smartphones, cellular-enabled tablets and laptops, companion devices (e.g., smart watches), and non-consumer devices (telematics devices in cars, cellular-connected utility meters, any of which may include some number of credential devices 280), etc. Figure 3 , a credential device 280, such as a UICC or eUICC, may be included in the communication device 200 to ensure the integrity and security of personal data and to enable communication with a mobile communication provider. Such a communication device 200 may embody Figure 2 , and in some embodiments may include one or more network interfaces 240 for communicating over a cellular network.
[0051] The 3rd Generation Partnership Project (3GPP) has defined specifications for communication devices, covering technologies such as Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS) and Long Term Evolution (LTE). The 3rd Generation Partnership Project 2 (3GPP) has defined other specifications including Code Division Multiple Access (CDMA). For communication devices that comply with these 3GPP or 3GPP2 specifications, their associated credentials are usually embedded in a SIM card. A SIM card can be a removable physical smart card that complies with the UICC specification ETSI TS 102221. The SIM card can be installed when the communication device is manufactured or at a point of sale. Alternatively, a SIM card can be purchased from a mobile operator for a communication device that is obtained separately and has a physical slot that complies with the UICC specification.
[0052] The credentials for accessing the communication services provided by the MNO 320 may include both data and instructions. When the instructions are executed on a processor (such as a processor of the credential device 280 within the mobile communication device 200), the instructions may be configured to cause communication between the processor and a communication service server so that the communication service server can authenticate the credentials and enable the communication service. A credential set may be associated with a subscription for a communication service from a particular communication service provider. Multiple credential sets may be provided for multiple subscriptions.
[0053] The eUICC may enable service subscriptions used by a communication device to be securely reconfigured without physically adding or removing the eUICC from the communication device. The eUICC may hold one or more eUICC profiles, where one eUICC profile is typically active at a time. As used herein, an eUICC profile generally refers to client information associated with a network subscription, and embodiments are not limited to any particular eUICC system. An eUICC profile may include a combination of file structures, data, and applications associated with service credentials configured on a credential device, and enable a communication device to use subscription services associated with the profile.
[0054] For example, the GSM Association (GSMA) has defined a method for remote provisioning of communication devices for subscription services without physically exchanging SIM cards in a machine-to-machine scenario using an eUICC. Some automotive telematics systems are examples of systems that use eUICC devices.
[0055] Figure 3An example environment for configuration of profiles is described. The MNO 320 may own or otherwise control one or more MNO servers 352 via an interface 321. The MNO server may include an SM-DP+. The communication device, also referred to as a user equipment (UE) 200, may be, for example, a mobile communication device that includes a credential device 280. The credential device 280 may refer to a physically removable device that includes an electronic credential, such as a removable eUICC, or may be a non-removable device that is electronically configured with subscription credentials, such as a soldered eUICC, etc. According to some embodiments, the credential device 280 may also refer to a software container that may include one or more electronic profiles and may be electronically configured with subscription credentials.
[0056] Once provisioned with credentials on credential device 280, UE 20 may be configured to use the provisioned credentials to access MNO subscription services via network connection 314. Network connection 314 may also enable UE 200 to access enterprise services or resources. Network connection 314 may be any type of computer network connection, including wired, WiFi, cellular data connections, etc.
[0057] In some embodiments, voucher device 280 may be a removable or non-removable eUICC, which may be provided by MNO 320 or other manufacturer.
[0058] Figure 4 An example logical structure is depicted for a voucher device 280, which may include an eUICC 430 containing a profile 410. Each profile may have a globally unique identifier, referred to as an ICCID 414. In some embodiments, an eUICC 430 may be identified by a globally unique value referred to as an eUICC-ID or EID 404.
[0059] The credential device 280 may be implemented by an eUICC 430, which may be Figure 3 A physical UICC may be another embodiment. Figure 4 As depicted, subscription manager 420 may be in communication with voucher device 280 , such as eUICC 430 .
[0060] At least one of the profiles 410 contained in the eUICC 430 may be used to provide a connection to the subscription manager 420 for profile management. The profile may be designated as a provisioning profile 425.
[0061] In some scenarios, a device capable of communicating on a mobile network may connect directly with a mobile operator or another entity that resells mobile operator services, such as a mobile virtual network operator (MVNO) or other reseller, and pay for a mobile data plan. The mobile operator may interact with the device and allow the user of the device to sign up for services from the operator. For example, the device may use an application that provides a mobile plan interface that allows the user to select a data plan for the device. The mobile operator may activate an account for the user and activate an eSIM profile that the device may download.
[0062] When doing so, in order to deliver the eSIM profile to the device's eUICC, the EID needs to be provided to the download server, as the mobile operator requires that the profile be downloaded to a specified card. However, the EID is a unique value that can uniquely identify a user, and therefore exposing the EID, such as through a client-server interface, may be a privacy concern. Therefore, it is desirable to limit the exposure of the EID by avoiding sending the EID as a clear text value over any channel that is not strongly authenticated.
[0063] In one embodiment, a cryptographic hash may be applied to the EID. The hash may be calculated using a random number (nonce) concatenated with the EID. The random number and hash value may then be transmitted in place of the actual EID. In some embodiments, the eUICC may generate the random number using a strong random number generator. The random number may be appended to the EID. In one embodiment, an indication of a hash algorithm may also be appended, such as SHA-256, SHA-512, or SM3. The hash may be applied to the entire concatenated value and transmitted to the download server along with the algorithm indication and the random number. The EID value itself is not sent and therefore not exposed.
[0064] When a profile download is requested, the connection between the download server and the eUICC may be strongly authenticated, such as using a Transport Layer Security (TLS) channel. The eUICC may send the EID to the download server over an authenticated channel. In order to be able to download the correct profile to the eUICC, an activation code for a download request from a mobile operator may be linked to a specific EID. If the profile is pre-arranged by the mobile operator and the device has or can obtain the address of the download server, the activation code may not be sent to the mobile device. By transmitting a hash value, the transmission of the EID between the eUICC and the mobile operator and between the mobile operator and the download server may be avoided. In other words, the derived hash value may be associated with the order of profile downloads rather than the actual EID.
[0065] During the profile download process, the eSIM server obtains the actual EID from the eUICC via an authenticated channel. The eSIM server now has the information it needs to independently calculate a hash based on the previously stored algorithm, random number, and the current EID. The eSIM server can compare the newly calculated hash value with the previously stored hash value. If they match, the download can then continue. If the profile is pre-arranged by the mobile operator, the eSIM server can search its records to match the TEID with the TEID for the mobile device. Once located, the procedures described herein can be used to verify the identity of the mobile device before providing the subscription profile.
[0066] refer to Figure 5A According to an embodiment of the present disclosure, a mobile device 512 having an eUICC 510 may calculate a TEID and send the TEID to an MNO 530. The MNO 530 may store the TEID in a data store 550. The data store 550 may include TEID information for various mobile devices. The MNO 530 may provide an activation code to the eUICC 510. The activation code may include subscription information (e.g., a server address and an associated token). The eUICC 510 may send its EID and the received activation code to the eSIM server 540. The eSIM server 540 may access the data store 550 to obtain a stored TEID previously sent to the MNO 530 and stored in the data store 550. The eSIM server 540 may obtain a first portion of the received TEID to determine an algorithm and a random number, and calculate a hash of the algorithm indication, the random number, and the EID. The eSIM server 540 may then compare the calculated value with the stored TEID value. If they match, the EID is verified, and the profile may be downloaded to the eUICC 510. If they do not match, the download may be rejected.
[0067] refer to Figure 5B, another embodiment of the present disclosure in a discovery scenario is shown. A mobile device 512 having an eUICC 510 may calculate a TEID and send the TEID to an MNO 530. The MNO 530 may provide the TEID to an eSIM server 540. The eSIM server 540 may access TEID information for multiple mobile devices. The mobile device 512 may have been previously configured with a server address for the eSIM server 540. Alternatively, the eSIM server 540 may send the TEID and the eSIM server information to a discovery server 560. The eUICC 510 may send its EID to the discovery server 560 to obtain an address for the eSIM server 540. The eUICC 510 may send its EID to the eSIM server 540. The eSIM server 540 may access previously stored TEID information, obtain a first portion of the received TEID to determine an algorithm and a random number, and calculate a hash of the algorithm indication, the random number, and the EID. The eSIM server 540 may also calculate a hash for previously stored (multiple) TEIDs. The eSIM server 540 may then compare the calculated value with the stored TEID value(s) to determine if there is a match. If a matching record is found, the EID is verified and a matching profile may be downloaded to the eUICC 510. If there is no matching record, the download may be rejected.
[0068] Figure 6 An example operating program according to an embodiment of the present disclosure for configuring a mobile device is illustrated. In an embodiment, the operating program may be implemented in a computing device. The computing device may have a memory having computer executable instructions stored thereon, which, when executed, causes the computing device to perform the described operations.
[0069] refer to Figure 6 , operation 600 begins the operating procedure. Operation 600 may be followed by operation 602. Operation 602 illustrates determining, by a mobile device in communication with a mobile network operator, a data plan for accessing a mobile communication network operated by the mobile network operator.
[0070] Operation 602 may be followed by operation 604. Operation 604 illustrates generating, by the mobile device, a temporary EID (TEID) based on an indicator of the hash algorithm, a random number, and a hash generated using the hash algorithm. In an embodiment, the hash is generated based on the indicator, the random number, and the EID of the mobile device.
[0071] Operation 604 may be followed by operation 606. Operation 606 illustrates sending the TEID by the mobile device to the mobile network operator, instead of using the EID of the device, to identify the mobile device. In an embodiment, the TEID is stored in a data store and an eSIM profile for the mobile device is associated with the TEID.
[0072] Operation 606 may be followed by operation 608. Operation 608 illustrates receiving, by the mobile device, an activation code associated with the data plan from the mobile network operator.
[0073] Operation 608 may be followed by operation 610. Operation 610 illustrates sending, by the mobile device, the EID of the device to the eSIM server indicated by the activation code over a secure communication channel.
[0074] Operation 610 may be followed by operation 612. Operation 612 illustrates receiving, by the mobile device via the secure communication channel, subscription credentials for accessing a mobile communication network operated by a mobile network operator according to a data plan. In an embodiment, the subscription credentials are provided based in part on verification of a hash contained in a stored TEID in a data store against a hash generated using an indicator and a nonce contained in the stored TEID and the device EID received over the secure communication channel.
[0075] Figure 7 An example operating procedure according to an embodiment of the present disclosure for configuring a mobile device is illustrated. In an embodiment, the operating procedure may be implemented in a computing device. The computing device may have a memory having computer executable instructions stored thereon, which, when executed, causes the computing device to perform the described operations.
[0076] refer to Figure 7 , operation 700 begins the operating procedure. Operation 700 may be followed by operation 702. Operation 702 illustrates receiving an EID associated with a mobile device and an activation code associated with an eSIM profile associated with a temporary EID (TEID) for the mobile device. In an embodiment, the eSIM profile is associated with a data plan of the mobile device for accessing a mobile network operated by a mobile network operator.
[0077] Operation 702 may be followed by operation 704. Operation 704 illustrates accessing the TEID from the data store. In an embodiment, the TEID is generated based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm. In an embodiment, the hash is generated based on the indicator, the random number, and the EID of the mobile device.
[0078] Operation 704 may be followed by operation 706. Operation 706 illustrates generating a hash using the indicator and the random number contained in the stored TEID and the received EID of the mobile device.
[0079] Operation 706 may be followed by operation 708. Operation 708 illustrates verifying that the generated hash matches the hash contained in the TEID accessed from the data store.
[0080] Operation 708 may be followed by operation 710. Operation 710 illustrates, based on the authentication, sending subscription credentials to the mobile device for accessing the mobile network according to the data plan.
[0081] The various features and processes described above can be used independently of each other or in combination in various ways. All possible combinations and sub-combinations are intended to fall within the scope of the present disclosure. In addition, certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular order, and the blocks or states related thereto may be performed in other appropriate orders. For example, the blocks or states described may be performed in an order different from that specifically disclosed, or multiple blocks or states may be combined into a single block or state. The example blocks or states may be performed in series, in parallel, or in other ways. Blocks or states may be added or removed from the disclosed example embodiments. The example systems and components described herein may be different from the described configurations. For example, elements may be added, removed, or rearranged compared to the disclosed example embodiments.
[0082] It should also be understood that various items are illustrated as being stored in memory or on storage devices when in use, and that for the purpose of memory management and data integrity, these items or portions thereof may be transferred between memory and other storage devices. Alternatively, in other embodiments, some or all of the software modules and / or systems and / or systems may be executed in the memory of another device and communicate with the illustrated computing system via inter-computer communication. In addition, in some embodiments, some or all of the systems and / or modules may be implemented or provided in other ways, such as at least partially implemented or provided in firmware and / or hardware, including but not limited to one or more application specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and / or embedded controllers), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the modules, systems, and data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, memory, network, or portable media product, to be read by an appropriate drive or via an appropriate connection. The systems, modules, and data structures may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagation signal) on various computer-readable transmission media, including wireless-based and wire / cable-based media, and may take various forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). In other embodiments, such computer program products may also take other forms. Thus, the present disclosure may be practiced using other computer system configurations.
[0083] Unless expressly stated otherwise, or understood in the context of use, conditional language used herein, such as "may," "might," "might," "perhaps," "for example," and the like, is generally intended to convey that certain embodiments include but other embodiments do not include certain features, elements, and / or steps. Thus, such conditional language is generally not intended to imply that features, elements, and / or steps are in any way required for one or more embodiments, or to imply that one or more embodiments must include logic for determining whether such features, elements, and / or steps are included or will be performed in any particular embodiment with or without author input or prompting. The terms "comprising," "including," "having," and the like are synonymous and are used inclusively in an open-ended manner and do not exclude additional elements, features, actions, operations, and the like. In addition, the term "or" is used in its inclusive sense (and not its exclusive sense) such that when used, for example, to connect a list of elements, the term "or" means one, some, or all of the elements in the list.
[0084] Although certain example embodiments have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention disclosed herein. Therefore, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or module is necessary or indispensable. In fact, the novel methods and systems described herein may be implemented in a variety of other forms; in addition, various omissions, substitutions, and changes in the form of the methods and systems described in the present invention may be made without departing from the spirit of the invention disclosed herein. The attached claims and their equivalents are intended to cover such forms or modifications that fall within the scope and spirit of certain inventions of the invention disclosed herein.
[0085] The disclosure presented herein encompasses the subject matter set forth in the following example clauses.
[0086] Example Clause A, a method of configuring a mobile device, the mobile device being configured to communicate on a mobile communication network operated by a mobile network operator, the method comprising:
[0087] determining, by a mobile device in communication with a mobile network operator, a data plan for accessing a mobile communications network operated by the mobile network operator;
[0088] generating, by the mobile device, a temporary EID (TEID) based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm, wherein the hash is generated based on the indicator, the random number, and an EID of the mobile device;
[0089] sending, by the mobile device, to the mobile network operator the TEID in place of using the EID of the device to identify the mobile device, wherein the TEID is stored in a data store and an eSIM profile for the mobile device is associated with the TEID;
[0090] receiving, by the mobile device, an activation code associated with the data plan from the mobile network operator;
[0091] sending, by the mobile device, the EID of the device to the eSIM server indicated by the activation code over a secure communication channel; and
[0092] Subscription credentials for accessing a mobile communication network operated by a mobile network operator under a data plan are received by a mobile device via a secure communication channel, the subscription credentials being provided based in part on verification of a hash contained in a TEID stored in a data store against a hash generated using an indicator and a random number contained in the stored TEID and an EID of the device received on the secure communication channel.
[0093] Example clause B, the method of example clause A, wherein the eSIM server is an SM-DP+ server, and the location of the SM-DP+ server is included in the activation code.
[0094] Example Clause C, the method of any of Example Clauses A to B, wherein the activation code identifies a SIM profile to be obtained from the mobile network operator.
[0095] Example Clause D, the method of any of Example Clauses A through C, wherein the TEID is a concatenation of the hash algorithm indicator, the random number, and the generated hash.
[0096] Example Clause E, the method of any of Example Clauses A to D, wherein the verifying comprises: generating a hash using a hash algorithm, the hash algorithm using the indicator, the random number, and the received EID.
[0097] Example Clause F, the method of any of Example Clauses A to E, wherein the hash algorithm is one of the following: SHA-256, SHA-512, or SM3.
[0098] Although example clauses A to F are described above with respect to methods, in the context of the present disclosure it should be understood that the subject matter of example clauses A to F may additionally or alternatively be implemented by a system, a computer-readable medium, or a device.
[0099] Example Clause G. A computing device comprising:
[0100] A memory having instructions stored thereon, which, when executed by a processor of a computing device, cause the computing device to perform operations, including:
[0101] receiving an EID associated with a mobile device and an activation code associated with an eSIM profile associated with a temporary EID (TEID) for the mobile device, wherein the eSIM profile is associated with a data plan of the mobile device for accessing a mobile network operated by a mobile network operator;
[0102] accessing the TEID from a data store, wherein the TEID is generated based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm, and wherein the hash is generated based on the indicator, the random number, and an EID of the mobile device;
[0103] generating a hash using the indicator and the random number contained in the stored TEID of the mobile device and the received EID;
[0104] verifying that the generated hash matches the hash contained in the TEID accessed from the data store; and
[0105] Based on the authentication, subscription credentials for accessing the mobile network under the data plan are sent to the mobile device.
[0106] Example clause H, the computing device of example clause G, wherein the computing device is a SM-DP+ server, and the location of the SM-DP+ server is included in the activation code.
[0107] Example clause I, the computing device of any of example clauses G to H, wherein the activation code identifies a subscription credential to be sent to the mobile device.
[0108] Example Clause J, the computing device of any of Example Clauses G to I, wherein the TEID is a concatenation of the hash algorithm indicator, the random number, and the generated hash.
[0109] Example clause K, the computing device of any of example clauses G to J, wherein the hash algorithm is one of the following: SHA-256, SHA-512, or SM3.
[0110] Although example clauses G through K are described above with respect to a computing device, in the context of the present disclosure, it should be understood that the subject matter of example clauses G through K may additionally or alternatively be implemented by a system, method, or computer-readable medium.
[0111] Example Clause L, a method of configuring a mobile device, the mobile device being configured to communicate on a mobile communication network operated by a mobile network operator, the method comprising:
[0112] determining, by a mobile device in communication with a mobile network operator, a data plan for accessing a mobile communications network operated by the mobile network operator;
[0113] generating, by the mobile device, a temporary EID (TEID) based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm, wherein the hash is generated based on the indicator, the random number, and an EID of the mobile device;
[0114] sending, by the mobile device, the TEID to the mobile network operator, instead of using the EID of the device, to identify the mobile device, wherein the TEID is stored in a data store and an eSIM profile for the mobile device is associated with the TEID;
[0115] The mobile device sends the EID of the device to the eSIM server over a secure communication channel; and
[0116] Receiving, by a mobile device via a secure communication channel, subscription credentials for accessing a mobile communication network operated by a mobile network operator under a data plan, the subscription credentials being provided based in part on:
[0117] Verification of a hash contained in the stored TEID in the data store against a hash generated using the indicator and the random number contained in the stored TEID and the EID of the device received over the secure communication channel.
[0118] Example Clause M, the method of Example Clause L, wherein the subscription credentials are further provided based in part on:
[0119] Based on the TEID, it is determined that delivery of subscription credentials to the mobile device is pending.
[0120] Example clause N. The method of any of example clauses L to M, wherein determining that delivery of subscription credentials to the mobile device is pending comprises:
[0121] The TEID is matched with the stored TEID associated with the pending subscription credentials.
[0122] Example clause O, the method of any one of example clauses L to N, wherein the eSIM server is an SM-DP+ server.
[0123] Example Clause P, the method of any of Example Clauses L to O, wherein the location of the eSIM server is provided by a discovery server.
[0124] Example clause Q, the method of any of example clauses L to P, wherein the TEID is a concatenation of the hash algorithm indicator, the random number, and the generated hash.
[0125] Example clause R, the method of any of example clauses L to Q, wherein the verifying comprises generating a hash using a hash algorithm using the indicator, the random number, and the received EID.
[0126] Example clause S, the method of any of example clauses L to R, wherein the hash algorithm is one of the following: SHA-256, SHA-512, or SM3.
[0127] Example Clause T, the method of any of Example Clauses L to S, wherein the subscription credentials are prearranged to be usable with respect to the mobile device.
[0128] Although example clauses L to T are described above with respect to methods, it should be understood in the context of the present disclosure that the subject matter of example clauses L to T may additionally or alternatively be implemented by a system, a computer-readable medium, or via a device.
Claims
1. A method of configuring a mobile device, the mobile device being configured to communicate on a mobile communication network operated by a mobile network operator, the method comprising: determining, by the mobile device in communication with the mobile network operator, a data plan for accessing the mobile communications network operated by the mobile network operator; Generating, by the mobile device, a temporary embedded universal integrated circuit card identifier TEID based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm, wherein the hash is generated based on the indicator, the random number, and an embedded universal integrated circuit card identifier EID of the mobile device; sending, by the mobile device, the TEID to the mobile network operator, instead of using the EID of the device, to identify the mobile device, wherein the TEID is stored in a data store and an eSIM profile for the mobile device is associated with the TEID; receiving, by the mobile device, an activation code associated with the data plan from the mobile network operator; The mobile device sends the EID of the device to the eSIM server indicated by the activation code over a secure communication channel; as well as receiving, by the mobile device via the secure communication channel, subscription credentials for accessing the mobile communication network operated by the mobile network operator in accordance with the data plan, the subscription credentials being provided based in part on: the hash contained in the TEID stored in the data store, verification of a hash generated using the indicator and a random number contained in the stored TEID and the EID of the device received over the secure communication channel.
2. The method of claim 1 , wherein the eSIM server is an SM-DP+ server, and a location of the SM-DP+ server is included in the activation code.
3. The method of claim 1, wherein the activation code identifies a SIM profile to be obtained from the mobile network operator.
4. The method of claim 1, wherein the TEID is a concatenation of the hash algorithm indicator, a random number, and the generated hash.
5. The method of claim 1, wherein the verifying comprises: A hash is generated using the hash algorithm, the hash algorithm using the indicator, a random number, and the received EID.
6. The method of claim 1, wherein the hash algorithm is one of the following: SHA-256, SHA-512, or SM3.
7. A computing device comprising: A memory storing instructions which, when executed by a processor of the computing device, cause the computing device to perform operations, the operations comprising: receiving an embedded universal integrated circuit card identity (EID) associated with a mobile device and an activation code associated with an eSIM profile for the mobile device associated with a temporary embedded universal integrated circuit card identity (TEID), wherein the eSIM profile is associated with a data plan for the mobile device for accessing a mobile network operated by a mobile network operator; accessing the TEID from a data store, wherein the TEID is generated based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm, and wherein the hash is generated based on the indicator, the random number, and an embedded universal integrated circuit card identifier of the mobile device; generating a hash using the indicator and a random number contained in the stored TEID and the received EID of the mobile device; verifying that the generated hash matches the hash contained in the TEID accessed from the data store; as well as Based on the verification, subscription credentials for accessing the mobile network according to the data plan are sent to the mobile device.
8. The computing device of claim 7, wherein the computing device is a SM-DP+ server, a location of the SM-DP+ server being included in the activation code.
9. The computing device of claim 7, wherein the activation code identifies the subscription credentials to be sent to the mobile device.
10. The computing device of claim 7, wherein the TEID is a concatenation of the hash algorithm indicator, a random number, and the generated hash.
11. The computing device of claim 7, wherein the hash algorithm is one of: SHA-256, SHA-512, or SM3.
12. A method of configuring a mobile device, the mobile device being configured to communicate on a mobile communication network operated by a mobile network operator, the method comprising: determining, by the mobile device in communication with the mobile network operator, a data plan for accessing the mobile communications network operated by the mobile network operator; Generating, by the mobile device, a temporary embedded universal integrated circuit card identifier TEID based on an indicator of a hash algorithm, a random number, and a hash generated using the hash algorithm, wherein the hash is generated based on the indicator, the random number, and an embedded universal integrated circuit card identifier EID of the mobile device; sending, by the mobile device, the TEID to the mobile network operator, instead of using the EID of the device, to identify the mobile device, wherein the TEID is stored in a data store and an eSIM profile for the mobile device is associated with the TEID; The mobile device sends the EID of the device to the eSIM server over a secure communication channel; as well as receiving, by the mobile device via the secure communication channel, subscription credentials for accessing the mobile communication network operated by the mobile network operator in accordance with the data plan, the subscription credentials being provided based in part on: The hash contained in the TEID stored in the data store, verification of a hash generated using the indicator and a random number contained in the stored TEID and the EID of the device received over the secure communication channel.
13. The method of claim 12, wherein the subscription credentials are provided based in part on: Based on the TEID, it is determined that delivery of the subscription credentials to the mobile device is pending.
14. The method of claim 13, wherein determining that delivery of the subscription credentials to the mobile device is pending comprises: The TEID is matched with the stored TEID associated with the pending subscription credentials.
15. The method of claim 12, wherein the eSIM server is an SM-DP+ server.
16. The method of claim 12, wherein the location of the eSIM server is provided by a discovery server.
17. The method of claim 12, wherein the TEID is a concatenation of the hash algorithm indicator, a random number, and the generated hash.
18. The method of claim 12, wherein the verifying comprises: A hash is generated using the hash algorithm, the hash algorithm using the indicator, a random number, and the received EID.
19. The method of claim 12, wherein the hash algorithm is one of the following: SHA-256, SHA-512, or SM3.
20. The method of claim 12, wherein the subscription credentials are pre-arranged to be available to the mobile device.
Citation Information
Patent Citations
Delegated profile and policy management
CN107925871A
Method for forming a trust relationship, and embedded UICC therefor
US20140287725A1