The described embodiments set forth a technique for enabling mobile devices to dynamically support different authentication algorithms when authenticating with Mobile Network Operators (MNOs).
Most mobile devices are configured to operate with removable Universal Integrated Circuit Cards (UICCs) that enable the mobile devices to access services provided by MNOs. Typically, a UICC takes the form of a small removable card—commonly referred to as a Subscriber Identity Module (SIM) card—that is configured to be inserted into a UICC-receiving bay included in a mobile device. In present implementations, a UICC corresponds to a particular MNO, and includes at least a microprocessor and a read-only memory (ROM) that stores (i) an MNO profile, and (ii) code for an operating system (OS) configured to execute on the microprocessor. The OS, upon activation, connects to an MNO (e.g., via a baseband component included in the mobile device) and carries out an authentication algorithm with the MNO using parameters included in the MNO profile. One drawback of this design is that authentication algorithm flexibility is severely constrained, as the content stored on SIM cards is not designed to be modified after being manufactured. As a result, an adoption of a new authentication algorithm by an MNO would require widespread distribution of replacement SIM cards that are designed to utilize the new authentication algorithm, which is largely impractical.
Notably, in more recent implementations, UICCs are being embedded directly into system boards of mobile devices. These embedded UICCs (eUICCs) can provide several advantages over traditional, removable UICCs. For example, some eUICCs include a rewritable memory and enable usage of electronic Subscriber Identity Modules (eSIMs) that provide similar functionality as the traditional removable SIM cards described above. eSIMs, however, are more flexible than SIM cards, as eSIMs can be electronically added to, modified within, and removed from the rewritable memory of the eUICC. This flexibility creates potential for mobile devices and MNOs to implement features that can enhance efficiency and user satisfaction.
In some embodiments, a method is set forth for enabling a mobile device to dynamically support different authentication algorithms. The method is carried out by an eUICC included in the mobile device, and includes the steps of (1) receiving a selection of an eSIM that is managed by the eUICC, (2) querying the eSIM for an identifier that corresponds to an authentication algorithm that is implemented by the eUICC, (3) querying the eSIM for authentication parameters that correspond to the authentication algorithm, (4) providing, to the authentication algorithm, the authentication parameters, and (5) executing the authentication algorithm in accordance with the authentication parameters.
In other embodiments, a method is set forth for enabling a mobile device to dynamically support different authentication algorithms. The method is carried out by an eUICC included in the mobile device, and includes the steps of (1) receiving a selection of an eSIM that is managed by the eUICC, (2) querying the eSIM for first logic that corresponds to a first authentication algorithm that is specific to the eSIM, (3) querying the eSIM for first authentication parameters that correspond to the first authentication algorithm, (4) providing, to the first authentication algorithm, the first authentication parameters, and (5) executing the first authentication algorithm in accordance with the first authentication parameters.
Other embodiments set forth an eUICC configured to dynamically support different authentication algorithms. Specifically, the eUICC includes (1) a memory configured to store: a plurality of eSIMs, and a plurality of authentication algorithms, and (2) a processor configured to carry out steps that include: (i) receiving a selection of an eSIM from the plurality of eSIMs, (ii) querying the eSIM for an identifier that corresponds to a particular authentication algorithm included in the plurality of authentication algorithms, (iii) querying the eSIM for authentication parameters that correspond to the particular authentication algorithm, (iv) providing, to the particular authentication algorithm, the authentication parameters, and (v) executing the particular authentication algorithm in accordance with the authentication parameters.
Other embodiments set forth a mobile device configured to dynamically support different authentication algorithms. Specifically, the mobile device includes an embedded Universal Integrated Circuit Card (eUICC) that is configured to carry out steps that include: (1) receiving a selection of an eSIM that is managed by the eUICC, (2) querying the eSIM for first logic that corresponds to a first authentication algorithm that is specific to the eSIM, (3) querying the eSIM for first authentication parameters that correspond to the first authentication algorithm, (4) providing, to the first authentication algorithm, the first authentication parameters, and (5) executing the first authentication algorithm in accordance with the first authentication parameters.
Other embodiments include a non-transitory computer readable medium configured to store instructions that, when executed by a processor, cause the processor to implement any of the foregoing steps.
This Summary is provided merely for purposes of summarizing some example embodiments so as to provide a basic understanding of some aspects of the subject matter described herein. Accordingly, it will be appreciated that the above-described features are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.
Other aspects and advantages of the embodiments described herein will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.
The included drawings are for illustrative purposes and serve only to provide examples of possible structures and arrangements for the disclosed inventive apparatuses and methods for providing wireless computing devices. These drawings in no way limit any changes in form and detail that may be made to the embodiments by one skilled in the art without departing from the spirit and scope of the embodiments. The embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
Representative applications of apparatuses and methods according to the presently described embodiments are provided in this section. These examples are being provided solely to add context and aid in the understanding of the described embodiments. It will thus be apparent to one skilled in the art that the presently described embodiments can be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the presently described embodiments. Other applications are possible, such that the following examples should not be taken as limiting.
The embodiments described herein set forth two different techniques for enabling a mobile device to dynamically support different authentication algorithms. The different authentication algorithms described herein pertain to algorithms that are used by the mobile device to establish a secure connection with an MNO so that the mobile device can consume services provided by the MNO.
A first of the two techniques involves configuring an eUICC included in the mobile device to implement various authentication algorithms that are utilized by different MNOs (e.g., MNOs with which the mobile device is designed to interact). Specifically, this technique involves the eUICC storing executable code for each of the various authentication algorithms. According to this technique, the eUICC is configured to manage at least one eSIM, where the eSIM includes (i) an identifier that corresponds to one of the various authentication algorithms implemented by the eUICC, and (ii) authentication parameters that are compatible with the authentication algorithm. In this manner, when the eUICC is tasked with connecting to an MNO that corresponds to a particular eSIM, the eUICC identifies, based on the identifier included in the particular eSIM, the authentication algorithm to use, and provides to the authentication algorithm the authentication parameters included in the particular eSIM. In turn, the eUICC establishes a secure connection with the MNO in accordance with the authentication algorithm. Thus, according to the first technique, MNOs and mobile devices can achieve authentication algorithm flexibility by exchanging new or updated eSIMs that include the necessary information (i.e., (i) the identifier, and (ii) the authentication parameters), so long as the eUICC is configured to implement the authentication algorithm to which the identifier corresponds. In situations where the eUICC does not immediately support an authentication algorithm referenced by an eSIM, the eUICC can be updated (e.g., through an over the air (OTA) update) to support the new algorithm, which can involve receiving the executable code—also referred to herein as “logic”—that corresponds to the authentication algorithm.
A second of the two techniques does not involve storing executable code for the various authentication algorithms within the eUICC (as with the first technique), but instead involves configuring the eUICC to interface with an eSIM to extract (i) executable code for an authentication algorithm used by an MNO that corresponds to the eSIM, and (ii) authentication parameters that are compatible with the authentication algorithm. In turn, the eUICC can implement the extracted authentication algorithm (by executing the executable code), and provide the extracted authentication parameters to the extracted authentication algorithm to establish a secure connection with the MNO. Thus, according to the second technique, MNOs and mobile devices can achieve authentication algorithm flexibility by exchanging new or updated eSIMs that include the necessary information (i.e., (i) the executable code, and (ii) the authentication parameters) to implement different authentication algorithms.
The embodiments set forth herein further enable MNOs to reconfigure, e.g., via an OTA trigger, the authentication algorithms utilized by mobile devices that subscribe to services provided by the MNOs. To implement this feature, eSIMs can be configured to store different sets of authentication parameters for different authentication algorithms that are currently implemented—or will eventually be implemented—by the MNOs that correspond to the eSIMs. For example, an eSIM included in a mobile device can include a first set of authentication parameters (e.g., MILENAGE parameters) that correspond to a first authentication algorithm (e.g., MILENAGE authentication algorithm), and can further include a second set of authentication parameters (e.g., TUAK parameters) that correspond to a second authentication algorithm (e.g., TUAK authentication algorithm). According to this example, the MNO that corresponds to the eSIM can dynamically switch from utilizing the first authentication algorithm to utilizing the second authentication algorithm, and indicate the switch to the eSIM (e.g., via an OTA trigger). In turn, the eSIM correspondingly utilizes the second set of authentication parameters and the second authentication algorithm when attempting to authenticate with the MNO, thereby achieving the above-described flexible authentication algorithm techniques.
In accordance with various embodiments described herein, the terms “wireless communication device,” “wireless device,” “mobile device,” “mobile station,” and “user equipment” (UE) may be used interchangeably herein to describe one or more common consumer electronic devices that may be capable of performing procedures associated with various embodiments of the disclosure. In accordance with various implementations, any one of these consumer electronic devices may relate to: a cellular phone or a smart phone, a tablet computer, a laptop computer, a notebook computer, a personal computer, a netbook computer, a media player device, an electronic book device, a MiFi® device, a wearable computing device, as well as any other type of electronic computing device having wireless communication capability that can include communication via one or more wireless communication protocols such as used for communication on: a wireless wide area network (WWAN), a wireless metro area network (WMAN) a wireless local area network (WLAN), a wireless personal area network (WPAN), a near field communication (NFC), a cellular wireless network, a fourth generation (4G) LTE, LTE Advanced (LTE-A), and/or 5G or other present or future developed advanced cellular wireless networks.
The wireless communication device, in some embodiments, can also operate as part of a wireless communication system, which can include a set of client devices, which can also be referred to as stations, client wireless devices, or client wireless communication devices, interconnected to an access point (AP), e.g., as part of a WLAN, and/or to each other, e.g., as part of a WPAN and/or an “ad hoc” wireless network. In some embodiments, the client device can be any wireless communication device that is capable of communicating via a WLAN technology, e.g., in accordance with a wireless local area network communication protocol. In some embodiments, the WLAN technology can include a Wi-Fi (or more generically a WLAN) wireless communication subsystem or radio, the Wi-Fi radio can implement an Institute of Electrical and Electronics Engineers (IEEE) 802.11 technology, such as one or more of: IEEE 802.11a; IEEE 802.11b; IEEE 802.11g; IEEE 802.11-2007; IEEE 802.11n; IEEE 802.11-2012; IEEE 802.11ac; or other present or future developed IEEE 802.11 technologies.
Additionally, it should be understood that the UEs described herein may be configured as multi-mode wireless communication devices that are also capable of communicating via different third generation (3G) and/or second generation (2G) RATs. In these scenarios, a multi-mode UE can be configured to prefer attachment to LTE networks offering faster data rate throughput, as compared to other 3G legacy networks offering lower data rate throughputs. For instance, in some implementations, a multi-mode UE may be configured to fall back to a 3G legacy network, e.g., an Evolved High Speed Packet Access (HSPA+) network or a Code Division Multiple Access (CDMA) 2000 Evolution-Data Only (EV-DO) network, when LTE and LTE-A networks are otherwise unavailable.
As shown in
At step 258, the eUICC 108 receives the eSIM 212, and at step 260, the eUICC 108 stores the eSIM 212 within the eUICC 108 (e.g., in a non-volatile memory accessible to the eUICC 108). At step 262, the eUICC 108 receives a request to activate the eSIM 212 (e.g., from the main OS 202). At step 264, the eUICC 108—specifically, the authentication algorithm selector 210—extracts from the eSIM 212 (i) the authentication algorithm identifier 214, and (ii) the authentication algorithm parameters 216. At step 266, the authentication algorithm selector 210 selects an authentication algorithm logic 208 that corresponds to the extracted authentication algorithm identifier 214. At step 268, the authentication algorithm selector 210 provides the authentication algorithm parameters 216 to the selected authentication algorithm logic 208. Finally, at step 270, the eUICC 108 authenticates with the MNO 114 using the selected authentication algorithm.
At step 360, the eUICC 108 receives the eSIM 304, and, at step 362, the eUICC 108 stores the eSIM 304. At step 364, the eUICC 108 receives a request to activate the eSIM 304 (e.g., from the main OS 202). At step 366, the eUICC 108 accesses (i) the authentication algorithm logic 308, and (ii) the authentication algorithm parameters 310 included in the eSIM 304. Finally, at step 368, the eUICC 108 authenticates with the MNO 114 using the selected authentication algorithm.
The computing device 400 also include a storage device 440, which can comprise a single disk or a plurality of disks (e.g., hard drives), and includes a storage management module that manages one or more partitions within the storage device 440. In some embodiments, storage device 440 can include flash memory, semiconductor (solid state) memory or the like. The computing device 400 can also include a Random Access Memory (RAM) 420 and a Read-Only Memory (ROM) 422. The ROM 422 can store programs, utilities or processes to be executed in a non-volatile manner. The RAM 420 can provide volatile data storage, and stores instructions related to the operation of the computing device 400. The computing device 400 can further include a secure element 450, which can represent the eUICC 108 illustrated in
The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, hard disk drives, solid state drives, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.
The present application claims the benefit of U.S. Provisional Application No. 62/119,755, filed Feb. 23, 2015, the content of which is incorporated herein by reference in its entirety for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
6690930 | Dupre | Feb 2004 | B1 |
8411858 | Muhanna | Apr 2013 | B2 |
9020479 | Somayajula | Apr 2015 | B1 |
9247424 | Haggerty et al. | Jan 2016 | B2 |
9438600 | Haggerty et al. | Sep 2016 | B2 |
20020009199 | Ala-Laurila | Jan 2002 | A1 |
20050108171 | Bajikar et al. | May 2005 | A1 |
20050182802 | Beaudou | Aug 2005 | A1 |
20060046693 | Tran | Mar 2006 | A1 |
20060120351 | Rajagopalan | Jun 2006 | A1 |
20070213050 | Jiang | Sep 2007 | A1 |
20090125996 | Guccione | May 2009 | A1 |
20100062808 | Cha | Mar 2010 | A1 |
20100151823 | Dagorn | Jun 2010 | A1 |
20100162370 | Altay | Jun 2010 | A1 |
20100203864 | Howard | Aug 2010 | A1 |
20110119492 | Palanigounder | May 2011 | A1 |
20120108204 | Schell | May 2012 | A1 |
20120108205 | Schell | May 2012 | A1 |
20120108207 | Schell | May 2012 | A1 |
20120108295 | Schell | May 2012 | A1 |
20120115441 | Schell | May 2012 | A1 |
20120117635 | Schell | May 2012 | A1 |
20120135710 | Schell | May 2012 | A1 |
20120260095 | Von Hauck | Oct 2012 | A1 |
20130005402 | Bradley | Jan 2013 | A1 |
20130017862 | Lee | Jan 2013 | A1 |
20130058216 | Krishnaswamy | Mar 2013 | A1 |
20130095794 | Lhamon | Apr 2013 | A1 |
20130122864 | Haggerty | May 2013 | A1 |
20130132854 | Raleigh | May 2013 | A1 |
20130137484 | Torres | May 2013 | A1 |
20130157673 | Brusilovsky | Jun 2013 | A1 |
20130165073 | Madsen | Jun 2013 | A1 |
20130165075 | Rishy-Maharaj | Jun 2013 | A1 |
20130210388 | Li | Aug 2013 | A1 |
20130219180 | Saino | Aug 2013 | A1 |
20130227646 | Haggerty | Aug 2013 | A1 |
20130303122 | Li | Nov 2013 | A1 |
20130312014 | Tsai | Nov 2013 | A1 |
20130331063 | Cormier | Dec 2013 | A1 |
20130344855 | Li | Dec 2013 | A1 |
20140051422 | Mittal | Feb 2014 | A1 |
20140087790 | Babbage | Mar 2014 | A1 |
20140101449 | Trujillo Gonzalez | Apr 2014 | A1 |
20140141760 | Ganesh | May 2014 | A1 |
20140219448 | Froels | Aug 2014 | A1 |
20140228039 | Zhao | Aug 2014 | A1 |
20140237101 | Park | Aug 2014 | A1 |
20140308991 | Lee | Oct 2014 | A1 |
20140315535 | Bajko | Oct 2014 | A1 |
20150031337 | Adenuga | Jan 2015 | A1 |
20150056960 | Egner | Feb 2015 | A1 |
20150072650 | Xia | Mar 2015 | A1 |
20150089214 | Dupre | Mar 2015 | A1 |
20150110035 | Lee | Apr 2015 | A1 |
20150163056 | Nix | Jun 2015 | A1 |
20150281198 | Lee | Oct 2015 | A1 |
20150281957 | Hartel | Oct 2015 | A1 |
20150304506 | Zhu | Oct 2015 | A1 |
20150334111 | Ziat | Nov 2015 | A1 |
20150350879 | Li | Dec 2015 | A1 |
20150350881 | Weiss | Dec 2015 | A1 |
20150382178 | Park | Dec 2015 | A1 |
20160014280 | Brunsman | Jan 2016 | A1 |
20160088467 | Reddem | Mar 2016 | A1 |
20160142906 | Park | May 2016 | A1 |
20160174069 | Bruner | Jun 2016 | A1 |
20160182110 | Selvaraj | Jun 2016 | A1 |
20160316368 | Gan | Oct 2016 | A1 |
20160353274 | Chichierchia | Dec 2016 | A1 |
20170041864 | Kaliner | Feb 2017 | A1 |
20170142162 | Zhang | May 2017 | A1 |
20170152355 | Kunc | Jun 2017 | A1 |
20170155516 | Bergius | Jun 2017 | A1 |
20190364416 | Dumoulin | Nov 2019 | A1 |
20200045544 | Yu | Feb 2020 | A1 |
Number | Date | Country |
---|---|---|
1906560 | Jan 2007 | CN |
2448216 | May 2012 | EP |
2675203 | Dec 2013 | EP |
2012221511 | Nov 2012 | JP |
2015512209 | Apr 2015 | JP |
20140081234 | Jun 2014 | KR |
2012058446 | May 2012 | WO |
2012058446 | May 2012 | WO |
2012154600 | Nov 2012 | WO |
2013123233 | Aug 2013 | WO |
2014043040 | Mar 2014 | WO |
WO-2014043040 | Mar 2014 | WO |
2014122588 | Aug 2014 | WO |
WO-2014122588 | Aug 2014 | WO |
WO 2015177397 | Nov 2015 | WO |
Entry |
---|
Japanese Patent Application No. 2016-017394—Office Action dated Apr. 14, 2017. |
European Patent Application No. 16152557.1, Extended European Search Report dated Apr. 14, 2016. |
Australian Patent Application No. 2016200820—Examination Report dated Nov. 24, 2016. |
“Universal Mobile Telecommunications System (UMTS); 3G Security; Security Architecture”, 3GPP TS 33.102, Version 3.6.0, Release 1999, Oct. 2000, pp. 1-64. |
“Universal Mobile Telecommunications System (UMTS); LTE; Specification of the TUAK algorithm set: A second example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*; Document 1: Algorithm specification”, 3GPP TS 35.231, Version 12.1.0, Release 12, Oct. 2014, pp. 1-29. |
“Universal Mobile Telecommunications System (UMTS); LTE; 3G Security; Specification of the Milenage algorithm set: An example algorithm set for the 3GPP authentication and key generation functions f1, f1*, f2, f3, f4, f5 and f5*, Document 2: Algorithm specification”, 3GPP TS 35.206, Version 9.0.0, Release 9, Feb. 2010, pp. 1-33. |
Japanese Patent Application No. 2016-017394—Second Office Action dated Mar. 2, 2018. |
Japanese Patent Application No. 2016-017394—Final Office Action dated Sep. 21, 2018. |
Chinese Application Patent No. 201610095037.6—First Office Action dated Dec. 4, 2018. |
Chinese Application Patent No. 201610095037.6—Second Office Action dated Jan. 3, 2019. |
European Patent Application 16152557.1—First Communication Pursuant to Art. 94 (3) EPC dated Feb. 26, 2019. |
Japanese Patent Application No. 2016-017394—Examiner's Pre-Review Report (EPRR) dated Mar. 26, 2019. |
Chinese Application Patent No. 201610095037.6—Third Office Action dated Aug. 2, 2019. |
Indian Patent Application No. 201614002793—First Examination Report dated Nov. 20, 2019. |
Number | Date | Country | |
---|---|---|---|
20160249214 A1 | Aug 2016 | US |
Number | Date | Country | |
---|---|---|---|
62119755 | Feb 2015 | US |