Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PART 2 OF REMOTE SIM PROVISIONING OF A SUBSCRIBER ENTITY
Document Type and Number:
WIPO Patent Application WO/2021/001034
Kind Code:
A1
Abstract:
There is provided mechanisms for remote provisioning of a SIM profile to a subscriber entity. A method is performed by a remote SIM provisioning server. The method comprises obtaining a request from an MNO entity for generation of the SIM profile. The method comprises generating the SIM profile. The method comprises providing, to a storage entity, a key-value pair of the SIM profile. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an BID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The method comprises providing, to the subscriber entity requesting download of the SIM profile, the SIM profile.

Inventors:
AHMED ABU SHOHEL (FI)
ULLAH KAZI WALI (FI)
SALMELA PATRIK (FI)
Application Number:
EP2019/067832
Publication Date:
January 07, 2021
Filing Date:
July 03, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04W8/20; H04W12/04; H04W8/18
Foreign References:
US20180294949A12018-10-11
EP3293993A12018-03-14
US20180014178A12018-01-11
US20170064552A12017-03-02
US20160142906A12016-05-19
Other References:
GSM ASSOCIATION, GSM ASSOCIATION, GSMA FLOOR2 THE WALBROOK BUILDING 25 WALLBROOK LONDON, UK, 6 January 2015 (2015-01-06), XP040676486
V2 GSMA: "GSM Association Non-confidential Official Document SGP.21 -RSP Architecture Security Classification: Non-confidential", 23 August 2016 (2016-08-23), XP055404424, Retrieved from the Internet [retrieved on 20170906]
Attorney, Agent or Firm:
ERICSSON (SE)
Download PDF:
Claims:
CLAIMS

1. A method for remote provisioning of a SIM profile to a subscriber entity (300), the method being performed by a remote SIM provisioning server (100), the method comprising:

obtaining (S102) a request from an MNO entity (400) for generation of the SIM profile;

generating (S104) the SIM profile;

providing (S106), to a storage entity (200), a key-value pair of the SIM profile, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

providing (S110), to the subscriber entity (300) requesting download of the SIM profile, the SIM profile.

2. The method according to claim 1, further comprising:

obtaining (S108), from the subscriber entity (300), a request for download of the SIM profile.

3. The method according to claim 1 or 2, further comprising:

providing (Siioa), to the subscriber entity (300), an ICCID of the SIM profile when providing the SIM profile.

4. The method according to claim 1, wherein the remote SIM provisioning server (too) is an SM-DP+ entity.

5. A method for remote provisioning of a SIM profile to a subscriber entity (300), the method being performed by a storage entity (200), the method comprising:

obtaining (S202), from a remote SIM provisioning server (too), a key-value pair of the SIM profile, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

providing (S204), to the subscriber entity (300) presenting the key of the key- value pair, the value of the key-value pair.

6. The method according to claim 5, further comprising:

providing (S206), to an MNO entity (400) presenting key material, the value of the key-value pair.

7. A method for remote provisioning of a SIM profile to a subscriber entity (300), the method being performed by the subscriber entity (300), the method comprising: obtaining (S304), from a remote SIM provisioning server (100), the SIM profile upon requesting download of the SIM profile;

comparing (S310) a locally computed value of a key-value pair of the SIM profile to a value of the key-value pair as downloaded from a storage entity (200), the key- value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

accepting (S312) the SIM profile as valid only when the locally computed value matches the downloaded value.

8. The method according to claim 7, further comprising:

requesting (S302) download of the SIM profile from the remote SIM

provisioning server (too).

9. The method according to claim 7, further comprising: obtaining (8304a) an ICCID of the SIM profile from the remote SIM

provisioning server (100) when downloading the SIM profile.

10. The method according to claim 7, further comprising:

requesting (S306) download of the value from the storage entity (200) by presenting the key of the key-value pair to the storage entity (200).

11. The method according to claim 7, further comprising:

providing (S308) a locally computed value of the key to the storage entity (200) in order to download the value of the key-value pair from the storage entity (200).

12. The method according to claim 7, wherein the subscriber entity (300) is an iUICC or an eUICC.

13. A method for remote provisioning of a SIM profile to a subscriber entity (300), the method being performed by an MNO entity (400), the method comprising:

providing (S402) a request to a remote SIM provisioning server (100) for generation of the SIM profile;

obtaining (S406) a value of a key-value pair of the SIM profile from a storage entity (200) using the key of the key-value pair, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

comparing (S408) a locally computed value of the key-value pair to the obtained value of the key-value pair; and when the locally computed value is not identical to the obtained value:

performing (S410) a predetermined action.

14. The method according to claim 13, wherein the key-value pair is published by a publisher entity, and wherein performing the predetermined action comprises:

identifying (S4ioa) the publisher entity.

15. The method according to claim 13, wherein the key is obtained from the remote SIM provisioning server (100) or computed locally by the MNO entity (400).

16. The method according to claim 13, further comprising:

requesting (S404) download of the value from the storage entity (200) by presenting key material to the storage entity (200).

17. The method according to claim 16, wherein the key material is defined by any of: the key of the key-value pair, a hash of the IMSI, and an identifier of the MNO entity (400).

18. The method according to any of claims 1, 5, 7, 13, wherein the

profile/subscription unique data elements for the SIM profile is provided as a hash of the profile/subscription unique data elements for the SIM profile.

19. The method according to any of the preceding claims, wherein the

profile/subscription unique data elements are defined by a triplet: IMSI, Ki, and OPc.

20. The method according to any of claims 1, 5, 7, 13, wherein the key-value pair as value comprises a hash of the EID of the subscriber entity (300), the ICCID of the SIM profile, IMSI, and the MNO identifier.

21. The method according to claim 20, wherein the hash of EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier is provided as a triplet: hash of EID of the subscriber entity (300) and ICCID of the SIM profile, hash of IMSI, and an MNO identifier.

22. The method according to claim 20, wherein the hash of EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier is provided as a four-tuple: the EID, or hash thereof, of the subscriber entity (300), the ICCID, or hash thereof, of the SIM profile, hash of IMSI, and an MNO identifier.

23. A remote SIM provisioning server (too) for remote provisioning of a SIM profile to a subscriber entity (300), the remote SIM provisioning server (too) comprising processing circuitry (no), the processing circuitry being configured to cause the remote SIM provisioning server (too) to: obtain a request from an MNO entity (400) for generation of the SIM profile; generate the SIM profile; provide, to a storage entity (200), a key-value pair of the SIM profile, the key- value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

provide, to the subscriber entity (300) requesting download of the SIM profile, the SIM profile.

24. A storage entity (200) for remote provisioning of a SIM profile to a subscriber entity (300), the storage entity (200) comprising processing circuitry (210), the processing circuitry being configured to cause the storage entity (200) to: obtain, from a remote SIM provisioning server (too), a key-value pair of the SIM profile, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by

profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an

EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

provide, to the subscriber entity (300) presenting the key of the key-value pair, the value of the key- value pair. 25. A subscriber entity (300) for remote provisioning of a SIM profile to the subscriber entity (300), the subscriber entity (300) comprising processing circuitry (310), the processing circuitry being configured to cause the subscriber entity (300) to: obtain, from a remote SIM provisioning server (100), the SIM profile upon requesting download of the SIM profile; compare a locally computed value of a key-value pair of the SIM profile to a value of the key-value pair as downloaded from a storage entity (200), the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

accept the SIM profile as valid only when the locally computed value matches the downloaded value.

26. An MNO entity (400) for remote provisioning of a SIM profile to a subscriber entity (300), the MNO entity (400) comprising processing circuitry (410), the processing circuitry being configured to cause the MNO entity (400) to: provide a request to a remote SIM provisioning server (too) for generation of the SIM profile;

obtain a value of a key-value pair of the SIM profile from a storage entity (200) using the key of the key-value pair, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

compare a locally computed value of the key-value pair to the obtained value of the key-value pair; and when the locally computed value is not identical to the obtained value:

perform a predetermined action. 27. A computer program (1520a) for remote provisioning of a SIM profile to a subscriber entity (300), the computer program comprising computer code which, when run on processing circuitry (110) of a remote SIM provisioning server (100), causes the remote SIM provisioning server (100) to: obtain (S102) a request from an MNO entity (400) for generation of the SIM profile;

generate (S104) the SIM profile;

provide (S106), to a storage entity (200), a key-value pair of the SIM profile, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

provide (S110), to the subscriber entity (300) requesting download of the SIM profile, the SIM profile.

28. A computer program (1520b) for remote provisioning of a SIM profile to a subscriber entity (300), the computer program comprising computer code which, when run on processing circuitry (210) of a storage entity (200), causes the storage entity (200) to: obtain (S202), from a remote SIM provisioning server (100), a key-value pair of the SIM profile, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier

comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

provide (S204), to the subscriber entity (300) presenting the key of the key- value pair, the value of the key-value pair.

29. A computer program (1520c) for remote provisioning of a SIM profile to a subscriber entity (300), the computer program comprising computer code which, when run on processing circuitry (310) of the subscriber entity (300), causes the subscriber entity (300) to: obtain (S304), from a remote SIM provisioning server (100), the SIM profile upon requesting download of the SIM profile;

compare (S310) a locally computed value of a key-value pair of the SIM profile to a value of the key-value pair as downloaded from a storage entity (200), the key- value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

accept (S312) the SIM profile as valid only when the locally computed value matches the downloaded value.

30. A computer program (i52od) for remote provisioning of a SIM profile to a subscriber entity (300), the computer program comprising computer code which, when run on processing circuitry (410) of an MNO entity (400), causes the MNO entity (400) to: provide (S402) a request to a remote SIM provisioning server (too) for generation of the SIM profile;

obtain (S406) a value of a key-value pair of the SIM profile from a storage entity (200) using the key of the key-value pair, the key-value pair comprising a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value, wherein the unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile, and wherein the binding information of the at least one profile specific element is represented by an EID of the subscriber entity (300), ICCID of the SIM profile, IMSI, and an MNO identifier; and

compare (S408) a locally computed value of the key-value pair to the obtained value of the key-value pair; and when the locally computed value is not identical to the obtained value:

perform (S410) a predetermined action.

31. A computer program product (1510a, 1510b, 1510c, i5iod) comprising a computer program (1520a, 1520b, 1520c, i52od) according to at least one of claims 27, 28, 29, and 30, and a computer readable storage medium (1530) on which the computer program is stored.

Description:
PART 2 OF REMOTE SIM PROVISIONING OF A SUBSCRIBER ENTITY TECHNICAL FIELD

Embodiments presented herein relate to methods, a remote SIM provisioning server, a storage entity, a subscriber entity, an MNO entity, computer programs, and a computer program product for remote provisioning of a SIM profile to the subscriber entity.

BACKGROUND

Remote SIM provisioning (RSP; where SIM is short for subscriber identity module) for consumer devices is described in“SGP.22 - RSP Technical Specification”, Version 2.2.1, 18 December 2018, published by the GSM Association (GSMA). According to this document, the subscriber entity first makes a contract with a mobile network operator (MNO). Secondly, optionally, the subscriber entity requests profile download from the MNO. Thirdly, the subscriber entity downloads a subscription profile from a server (enhanced Subscription Manager Data Preparation (SM-DP+) server) to the embedded universal integrated circuit card (eUICC) in the

communication device to be provisioned. Section 3.1 of the aforementioned document describes the profile download initiation process. It indicates how the user orders a subscription from the MNO. Request/response methods are used for the MNO to request the SM-DP+ to generate a SIM profile. After profile generation, the subscriber entity can download the generated profile by contacting the SM-DP+ using the communication device. The communication device is assumed to comprise a local profile assistant (LPA) and the eUICC. The LPA acts as a proxy between the SM-DP+ and the eUICC during profile download.

In the RSP trust model, the GSMA certificate issuer (Cl) issues certificates for SM- DP+ servers and eUICC manufacturers (EUMs) which in turn issue certificate for the eUICCs. The trust is established between the eUICC and the SM-DP+ server based on their respective certificate and the trust chain established from the GSMA CL In this model, an MNO can make a profile order to any SM-DP+ provider for a SIM profile generation and target it to any eUICC. An attacker with control of an SM-DP+ provider might generate a SIM profile and thus be able to target the SIM profile for any eUICC. With the increasing number of SM-DP+ providers, any malicious SM- DP+ provider might cause significant harm to the RSP trust model. Current manual audit and forensics based detection mechanisms are slow to respond to such attack scenarios. The current trust model lacks auditability for a provisioned profile and thus makes it cumbersome for an auditor to monitor provisioned profiles by an SM- DP+ server. Some examples of attacks a malicious SM-DP+ server could perform are presented next.

A malicious SM-DP+ server could clone a valid international mobile subscriber identity (IMSI) and key pair from an earlier provisioned one and retarget it to a new eUICC. This causes billing and/or subscriber identity fraud. Currently, neither the eUICC nor the MNO is capable of to reliably detect such an attack i.e., if the same IMSI and key is installed in multiple eUICCs.

A malicious SM-DP+ server could prepare profiles for a set of IMSIs with an invalid key pair for a set of eUICCs. A malicious SM-DP+ server could trick the user to download the SIM profile or can register such a SIM profile in a discovery server (SM-DS) and let the user download the SIM profile to the eUICC. When a large number of communication devices with invalid IMSI and subscriber keys request to connect to the network of the MNO, this could create large amounts of traffic.

Further, an MNO might block all IMSIs with invalid subscriber keys, resulting in service denial even for the valid subscriptions using those blocked IMSIs.

A malicious SM-DP+ server could create SIM profiles for a particular eUICC and trick the user to download those SIM profiles. By downloading many SIM profiles, this might exhaust the memory of the targeted eUICC.

These types of attacks generally require tricking the user of the eUICC to download a profile from the malicious SM-DP+ server. Users can be tricked to do this in many ways, for example by means of phishing mail or by events being registered to the SM- DS. In some setups, the LPA might be configured to automatically download a SIM profile from the SM-DP+ server by querying the default SM-DP+ address or a discovery server address.

In view of the above, there is a need for improved remote provisioning of SIM profiles to subscriber entities, such as eUICCs. SUMMARY

An object of embodiments herein is to provide efficient remote provisioning of a SIM profile to a subscriber entity.

According to a first aspect there is presented a method for remote provisioning of a SIM profile to a subscriber entity. The method is performed by a remote SIM provisioning server. The method comprises obtaining a request from an MNO entity for generation of the SIM profile. The method comprises generating the SIM profile. The method comprises providing, to a storage entity, a key-value pair of the SIM profile. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The method comprises providing, to the subscriber entity requesting download of the SIM profile, the SIM profile.

According to a second aspect there is presented a remote SIM provisioning server for remote provisioning of a SIM profile to a subscriber entity. The remote SIM

provisioning server comprises processing circuitry. The processing circuitry is configured to cause the remote SIM provisioning server to obtain a request from an MNO entity for generation of the SIM profile. The processing circuitry is configured to cause the remote SIM provisioning server to generate the SIM profile. The processing circuitry is configured to cause the remote SIM provisioning server to provide, to a storage entity, a key-value pair of the SIM profile. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The processing circuitry is configured to cause the remote SIM provisioning server to provide, to the subscriber entity requesting download of the SIM profile, the SIM profile. According to a third aspect there is presented a computer program for remote provisioning of a SIM profile to a subscriber entity. The computer program comprises computer program code which, when run on processing circuitry of a remote SIM provisioning server, causes the remote SIM provisioning server to perform a method according to the first aspect.

According to a fourth aspect there is presented a method for remote provisioning of a SIM profile to a subscriber entity. The method is performed by a storage entity. The method comprises obtaining, from a remote SIM provisioning server, a key-value pair of the SIM profile. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by

profile/subscription unique data elements for the SIM profile. The binding

information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The method comprises providing, to the subscriber entity presenting the key of the key- value pair, the value of the key-value pair.

According to a fifth aspect there is presented a storage entity for remote provisioning of a SIM profile to a subscriber entity. The storage entity comprises processing circuitry. The processing circuitry is configured to cause the storage entity to obtain, from a remote SIM provisioning server, a key-value pair of the SIM profile. The key- value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The processing circuitry is configured to cause the storage entity to provide, to the subscriber entity presenting the key of the key- value value pair, the value of the key- value pair.

According to a sixth aspect there is presented a computer program for remote provisioning of a SIM profile to a subscriber entity. The computer program comprises computer program code which, when run on processing circuitry of a storage entity, causes the storage entity to perform a method according to the fourth aspect.

According to a seventh aspect there is presented a method for remote provisioning of a SIM profile to a subscriber entity. The method is performed by the subscriber entity. The method comprises obtaining, from a remote SIM provisioning server, the SIM profile upon requesting download of the SIM profile. The method comprises comparing a locally computed value of a key-value pair of the SIM profile to a value of the key-value pair as downloaded from a storage entity. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The method comprises accepting the SIM profile as valid only when the locally computed value matches the downloaded value.

According to an eight aspect there is presented a subscriber entity for remote provisioning of a SIM profile to the subscriber entity. The subscriber entity comprises processing circuitry . The processing circuitry is configured to cause the subscriber entity to obtain, from a remote SIM provisioning server. The SIM profile upon requesting download of the SIM profile. The processing circuitry is configured to cause the subscriber entity to compare a locally computed value of a key-value pair of the SIM profile to a value of the key-value pair as downloaded from a storage entity. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The processing circuitry is configured to cause the subscriber entity to accept the SIM profile as valid only when the locally computed value matches the downloaded value. According to a tenth aspect there is presented a computer program for remote provisioning of a SIM profile to a subscriber entity. The computer program comprises computer program code which, when run on processing circuitry of a subscriber entity, causes the subscriber entity to perform a method according to the seventh aspect.

According to an eleventh aspect there is presented a method for remote provisioning of a SIM profile to a subscriber entity. The method is performed by an MNO entity. The method comprises providing a request to a remote SIM provisioning server for generation of the SIM profile. The method comprises obtaining a value of a key-value pair of the SIM profile from a storage entity using the key of the key-value pair. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The method comprises comparing a locally computed value of the key-value pair to the obtained value of the key-value pair. The method comprises, when the locally computed value is not identical to the obtained value, performing a predetermined action.

According to a twelfth aspect there is presented an MNO entity for remote

provisioning of a SIM profile to a subscriber entity. The MNO entity comprises processing circuitry. The processing circuitry is configured to cause the MNO entity to provide a request to a remote SIM provisioning server for generation of the SIM profile. The processing circuitry is configured to cause the MNO entity to obtain a value of a key-value pair of the SIM profile from a storage entity using the key of the key-value pair. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity, ICCID of the SIM profile, IMSI, and an MNO identifier. The processing circuitry is configured to cause the MNO entity to compare a locally computed value of the key-value pair to the obtained value of the key-value pair. The processing circuitry is configured to cause the MNO entity to, when the locally computed value is not identical to the obtained value, perform a predetermined action. According to a thirteenth aspect there is presented a computer program for remote provisioning of a SIM profile to a subscriber entity, the computer program

comprising computer program code which, when run on processing circuitry of an MNO entity, causes the MNO entity to perform a method according to the eleventh aspect. According to a fourteenth aspect there is presented a computer program product comprising a computer program according to at least one of the third aspect, the sixth aspect, the tenth aspect, and the thirteenth aspect, and a computer readable storage medium on which the computer program is stored. The computer readable storage medium can be a non-transitory computer readable storage medium. Advantageously these methods, these remote SIM provisioning servers, these storage entities, these subscriber entities, these MNO entities, and these computer programs provide subscription transparency.

Advantageously these methods, these remote SIM provisioning servers, these storage entities, these subscriber entities, these MNO entities, and these computer programs efficiently mitigate the attack scenarios described above.

Advantageously these methods, these remote SIM provisioning servers, these storage entities, these subscriber entities, these MNO entities, and these computer programs provide auditability of a subscription or subscription critical information.

Advantageously, the subscriber entity is enabled to check the published subscription critical fields in the storage entity matches with the subscription information contained within the downloaded SIM profile. The storage entity prevents the cloning of the same subscription critical information for another subscriber entity as the hash of the critical information can only be present in the storage entity once, and it cannot be overwritten. The values returned when querying the storage entity enables the subscriber entity to detect if the downloaded SIM profile is not meant for that particular subscriber entity.

Advantageously these methods, these remote SIM provisioning servers, these storage entities, these subscriber entities, these MNO entities, and these computer programs detect targeted attack using crafted SIM profiles towards a subscriber entity

Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.

Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

BRIEF DESCRIPTION OF THE DRAWINGS

The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:

Fig. 1 is a schematic diagram illustrating a communication network according to embodiments;

Figs. 2, 3, 4, and 5 are flowcharts of methods according to embodiments;

Fig. 6 is a signalling diagram according to an embodiment;

Fig. 7 is a schematic diagram showing functional units of a remote SIM provisioning server according to an embodiment; Fig. 8 is a schematic diagram showing functional modules of a remote SIM

provisioning server according to an embodiment;

Fig. 9 is a schematic diagram showing functional units of a storage entity according to an embodiment; Fig. 10 is a schematic diagram showing functional modules of a storage entity according to an embodiment;

Fig. li is a schematic diagram showing functional units of a subscriber entity according to an embodiment; Fig. 12 is a schematic diagram showing functional modules of a subscriber entity according to an embodiment;

Fig. 13 is a schematic diagram showing functional units of an MNO entity according to an embodiment;

Fig. 14 is a schematic diagram showing functional modules of an MNO entity according to an embodiment; and

Fig. 15 shows one example of a computer program product comprising computer readable means according to an embodiment.

DETAILED DESCRIPTION

The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the

description. Any step or feature illustrated by dashed lines should be regarded as optional.

Fig. 1 is a schematic diagram illustrating a communications network 10 where embodiments presented herein can be applied. The communications network 10 comprises a radio access network 20 and a combined core network and service network 40. In turn, the radio access network 20 comprises a radio access network node 30, and the combined core network and service network 40 comprises a remote SIM provisioning server too, a storage entity 200, and an MNO entity 400. The radio access network node 30 provides network access to, and thus serves, a terminal device 50. In turn, the terminal device 50 comprises a subscriber entity 300. In some examples the remote SIM provisioning server 100 is an SM-DP+ entity. In some examples the storage entity 200 is a server, for example a log server. In some examples the subscriber entity 300 is an integrated universal integrated circuit card (iUICC) or an eUICC. The terminal device 50 could be any of a user equipment (UE), network equipped vehicle, network equipped sensor, or a so-called Internet of Things (IoT) device. As the skilled person understands, the radio access network 20 as well as combined core network and service network 40 might comprise a plurality of functions, nodes, devices, and entities for facilitating communication between the terminal device 50 and the combined core network and service network 40. As noted above, there is a need for improved remote provisioning of SIM profiles to subscriber entities 300, such as eUICCs.

The embodiments disclosed herein thus relate to mechanisms for remote

provisioning of a SIM profile to a subscriber entity 300. In order to obtain such mechanisms there is provided a remote SIM provisioning server 100, a method performed by the remote SIM provisioning server 100, a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the remote SIM provisioning server 100, causes the remote SIM provisioning server 100 to perform the method. In order to obtain such mechanisms there is further provided a storage entity 200, a method performed by the storage entity 200, and a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the storage entity 200, causes the storage entity 200 to perform the method. In order to obtain such mechanisms there is further provided a subscriber entity 300, a method performed by the subscriber entity 300, and a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the subscriber entity 300, causes the subscriber entity 300 to perform the method. In order to obtain such mechanisms there is further provided an MNO entity 400, a method performed by the MNO entity 400, and a computer program product comprising code, for example in the form of a computer program, that when run on processing circuitry of the MNO entity 400, causes the MNO entity 400 to perform the method. Reference is now made to Fig. 2 illustrating a method for remote provisioning of a SIM profile to a subscriber entity 300 as performed by the remote SIM provisioning server 100 according to an embodiment.

S102: The remote SIM provisioning server 100 obtains a request from an MNO entity 400 for generation of the SIM profile.

S104: The remote SIM provisioning server 100 generates the SIM profile.

S106: The remote SIM provisioning server 100 provides, to a storage entity 200, a key-value pair of the SIM profile. The key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding

information of the at least one profile specific element is represented by an EID of the subscriber entity 300 (i.e., the identity of the subscriber entity 300), ICCID of the SIM profile, IMSI, and an MNO identifier.

S110: The remote SIM provisioning server too provides, to the subscriber entity 300 requesting download of the SIM profile, the SIM profile.

Embodiments relating to further details of remote provisioning of a SIM profile to a subscriber entity 300 as performed by the remote SIM provisioning server too will now be disclosed.

Non-limiting examples of profile/subscription unique data are: profile identifier (given by the Integrated Circuit Card Identifier; ICCID, i.e., an identifier of the actual SIM card itself ), subscriber identifier (given by the IMSI), subscriber key (Ki), and Operator key (OPc). The ICCID uniquely identifies a SIM profile. The subscriber identifier (given by the IMSI), subscriber key (Ki), and Operator key (OPc) uniquely identifies a subscription. A triplet (IMSI, Ki, OPc) can be defined as a unique subscription, considering that the same IMSI might be reused for a different subscription. During profile download the profile is bound to an eUICC (EID). A SIM profile might thus comprise such profile/subscription unique data. A protected SIM profile is thus one example of profile/subscription unique data. There may be different triggers for the remote SIM provisioning server 100 to provide the SIM profile to the subscriber entity 300. In some aspects, an explicit request for download of the SIM profile as received from the subscriber entity 300 triggers the provision of the SIM profile to the subscriber entity 300. That is, according to an embodiment, the remote SIM provisioning server 100 is configured to perform (optional) step S108:

S108: The remote SIM provisioning server 100 obtains, from the subscriber entity 300, a request for download of the SIM profile.

The SIM profile is then provided to the subscriber entity 300 in response thereto. There could be further data or information that is provided to the subscriber entity 300 together with the SIM profile in S110. For example, an ICCID of the SIM profile could be provided to the subscriber entity 300 together with the SIM profile in S110. That is, according to an embodiment, the remote SIM provisioning server 100 is configured to perform (optional) step Snoa as part of S110:

Snoa: The remote SIM provisioning server 100 provides, to the subscriber entity 300, an ICCID of the SIM profile when providing the SIM profile.

Reference is now made to Fig. 3 illustrating a method for remote provisioning of a SIM profile to a subscriber entity 300 as performed by the storage entity 200 according to an embodiment. S202: The storage entity 200 obtains, from a remote SIM provisioning server 100, a key-value pair of the SIM profile. As above, the key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity 300, ICCID of the SIM profile, IMSI, and an MNO identifier.

S204: The storage entity 200 provides, to the subscriber entity 300 presenting the key of the key-value pair, the value of the key-value pair. Embodiments relating to further details of remote provisioning of a SIM profile to a subscriber entity 300 as performed by the storage entity 200 will now be disclosed.

It is understood that the ICCID of the SIM profile should be in a valid range of ICCIDs of the MNO entity 400.

In some aspects, the value of the key- value pair is also provided to the MNO entity 400. This requires the MNO entity 400 to present key material, such as the key of the key-value pair or another key, or key-derived information, to the storage entity 200 for the storage entity 200 to provide the value of the key-value pair to the MNO entity 400. That is, according to an embodiment, the storage entity 200 is configured to perform (optional) step S206:

S206: The storage entity 200 provides, to an MNO entity 400 presenting key material, the value of the key-value pair.

Examples of key material will be disclosed below.

In some aspects not only the value is provided by the storage entity 200 to the MNO entity 400 in S206. In some examples the storage entity 200 in S206 provides the complete content of the key- value pair, except any key/ value used by the MNO entity 400 for querying the storage entity 200, to the MNO entity 400. For example, if the MNO entity 400 queries the storage entity 200 with H(IMSI) the MNO entity 400 might need the key (defined as H(IMSI, Ki, OPc)) of the key-value pair from the storage entity 200 to be able to verify the entry.

Reference is now made to Fig. 4 illustrating a method for remote provisioning of a SIM profile to a subscriber entity 300 as performed by the subscriber entity 300 according to an embodiment.

S304: The subscriber entity 300 obtains, from a remote SIM provisioning server too, the SIM profile upon requesting download of the SIM profile.

S310: The subscriber entity 300 compares a locally computed value of a key-value pair of the SIM profile to a value of the key-value pair as downloaded from a storage entity 200. As above, the key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding

information of the at least one profile specific element is represented by an EID of the subscriber entity 300, ICCID of the SIM profile, IMSI, and an MNO identifier.

S312: The subscriber entity 300 accepts the SIM profile as valid only when the locally computed value matches the downloaded value.

Embodiments relating to further details of remote provisioning of a SIM profile to a subscriber entity 300 as performed by the subscriber entity 300 will now be disclosed. As disclosed above, in some aspects, the provision of the SIM profile to the subscriber entity 300 is triggered by an explicit request for download of the SIM profile from the subscriber entity 300. That is, according to an embodiment, the subscriber entity 300 is configured to perform (optional) step S302:

S302: The subscriber entity 300 requests download of the SIM profile from the remote SIM provisioning server too.

The SIM profile is then provided to the subscriber entity 300 and thus obtained by the subscriber entity 300 in S304 in response thereto. In other aspect the subscriber entity 300 does by itself not provide any explicit request for download of the SIM profile.

As disclosed above, there could be further data or information that is provided to the subscriber entity 300 together with the SIM profile in S304. For example, an ICCID of the SIM profile could be provided to the subscriber entity 300 together with the SIM profile. That is, according to an embodiment, the subscriber entity 300 is configured to perform (optional) step 8304a as part of S304: 8304a: The subscriber entity 300 obtains an ICCID of the SIM profile from the remote SIM provisioning server too when downloading the SIM profile.

The subscriber entity 300 might use the ICCID to verify that the same SIM profile has not been installed twice; if there is already one SIM profile with a specific ICCID, a new SIM profile with the same ICCID will not be accepted/installed by the subscriber entity 300. In some aspects, the subscriber entity 300 presents the key of the key-value pair in order to download the value of the key-value pair from the storage entity 200. That is, according to an embodiment, the subscriber entity 300 is configured to perform (optional) step S306: S306: The subscriber entity 300 requests download of the value from the storage entity 200 by presenting the key of the key-value pair to the storage entity 200.

In some aspects the subscriber entity 300 needs to present some key material, such as a locally computed value of the key for the subscriber entity 300 to download the value of the key-value pair. In particular, according to an embodiment, the subscriber entity 300 is configured to perform (optional) step S308:

S308: The subscriber entity 300 provides a locally computed value of the key to the storage entity 200 in order to download the value of the key-value pair from the storage entity 200.

Reference is now made to Fig. 5 illustrating a method for remote provisioning of a SIM profile to a subscriber entity 300 as performed by the MNO entity 400 according to an embodiment.

S402: The MNO entity 400 provides a request to a remote SIM provisioning server 100 for generation of the SIM profile.

S406: The MNO entity 400 obtains a value of a key-value pair of the SIM profile from a storage entity 200 using the key of the key-value pair. As above, the key-value pair comprises a unique identifier comprising at least one profile specific element of the SIM profile as key and binding information of the at least one profile specific element as value. The unique identifier comprising at least one profile specific element of the SIM profile is represented by profile/subscription unique data elements for the SIM profile. The binding information of the at least one profile specific element is represented by an EID of the subscriber entity 300, ICCID of the SIM profile, IMSI, and an MNO identifier.

S408: The MNO entity 400 compares a locally computed value of the key-value pair to the obtained value of the key-value pair.

S410: The MNO entity 400, when the locally computed value is not identical to the obtained value, performs a predetermined action. Embodiments relating to further details of remote provisioning of a SIM profile to a subscriber entity 300 as performed by the MNO entity 400 will now be disclosed.

There could be different ways for the MNO entity 400 to obtain the value of a key- value pair of the SIM profile from the storage entity 200 in S406. In some aspects the MNO entity 400 actively queries the storage entity 200 for new SIM profiles, for example by providing a range of ICCIDs to the storage entity 200. In other aspects the storage entity 200 publishes notifications of new log entries and upon being made aware of such a notification the MNO entity 400 could obtain the value of the key- value pair of the SIM profile upon presenting the key of the key-value pair to the storage entity 200.

There may be different predetermined actions for the MNO entity 400 to perform in S410. In some aspects the key-value pair is published by a publisher entity. The publisher entity might be a SM-DP+ entity and thus be represented by the remote SIM provisioning server 100. The storage entity 200 might record and store the (authenticated) identity of the publisher entity so that it can be used later to identify the publisher of a specific entry of the key-value pair. The MNO entity 400 might then identify the publisher entity when performing the predetermined action. That is, according to an embodiment, the MNO entity 400 is configured to perform (optional) step S4ioa as part of S410: S4ioa: The MNO entity 400 identifies the publisher entity.

The MNO entity 400 could thereby verify that the entry recorded in the storage entity 200 matches the subscription that the MNO entity 400 has ordered the remote SIM provisioning server too to produce and download to the subscriber entity 300.

If the information received from the storage entity 200 does not match (i.e., when the another obtained or locally computed value is not identical to the obtained value) this means that the remote SIM provisioning server too (identified by the log entry) is not the same as the one the MNO entity 400 has ordered the subscription to be provided from. In turn, this is an indication of a malicious remote SIM provisioning server too. In this case the MNO entity 400 might be configured to investigate further and potentially apply some consequences to the remote SIM provisioning server too if it turns out it has acted maliciously. The key of the key-value pair might by the MNO entity 400 obtained from the remote SIM provisioning server 100 or be computed locally by the MNO entity 400.

As disclosed above, in some aspects, the value of the key-value pair is also provided to the MNO entity 400. This requires the MNO entity 400 to present key material, such as the key of the key- value pair or another key, or key-derived information, to the storage entity 200 for the storage entity 200 to provide the value of the key- value pair to the MNO entity 400. That is, according to an embodiment, the MNO entity 400 is configured to perform (optional) step S404:

S404: The MNO entity 400 requests download of the value from the storage entity 200 by presenting key material to the storage entity 200.

The key material might be defined by any of: the key of the key-value pair, a hash of the IMSI, and an identifier of the MNO entity 400.

As disclosed above, in some aspects not only the value is provided by the storage entity 200 to the MNO entity 400 in S206. In some examples the MNO entity 400 thus in S406 obtains from the storage entity 200 more than used the value of the key- value pair. In some examples the MNO entity 400 thus in S406 obtains the complete content of the key-value pair except any key/value used by the MNO entity 400 for querying the storage entity 200.

Embodiments applicable for each of the remote SIM provisioning server too, the storage entity 200, the subscriber entity 300, and the MNO entity 400 will now be disclosed.

There could be different ways to provide the profile/subscription unique data elements. In some examples, the profile/subscription unique data elements for the SIM profile is provided as a hash of the profile/subscription unique data elements for the SIM profile. In some examples, the profile/subscription unique data elements are defined by a triplet: IMSI, Ki, and OPc, where Ki is the subscriber key, and where OPc is the operator (i.e., MNO) key.

There could be different examples of the key-value pair. According to an

embodiment, the key-value pair as value comprises a hash of the EID of the subscriber entity 300, the ICCID of the SIM profile, IMSI of the subscriber entity

300, and the MNO identifier. In some examples, the hash of EID of the subscriber entity 300, ICCID of the SIM profile, IMSI, and an MNO identifier is provided as a triplet: hash of EID of the subscriber entity 300 and ICCID of the SIM profile, hash of IMSI, and an MNO identifier. In some examples, the hash of EID of the subscriber entity 300, ICCID of the SIM profile, IMSI, and an MNO identifier is provided as a four-tuple: the EID, or hash thereof, of the subscriber entity 300, the ICCID, or hash thereof, of the SIM profile, hash of IMSI, and an MNO identifier.

In summary, according to some examples, a record with the hash of subscription specific critical information (IMSI, Ki, and OPc) as a key and subscription binding information (e.g.,), hash of EID, hash of IMSI and MNO identifier as values is stored by the storage entity 200. Examples of critical information are parameters of the subscription data that if modified will make the subscription unusable. This uniquely binds a subscription to a subscriber entity bounded profile. Only provisioned can write to the data structure and others (e.g., the MNO entity 400 and the subscriber entity 300) can only read from the storage entity 200. During SIM profile download from the remote SIM provisioning server 100, the subscriber entity 300 locally computes the key from the downloaded SIM profile data, computes the hash of IMSI, and locates the MNO identifier (e.g. mobile country code (MCC) and mobile network code (MNC) of the IMSI). These pieces of data can be provided to the subscriber entity 300. Then the subscriber entity 300, by using the key, can query the storage entity 200 to get the values. The subscriber entity 300 compares the published values for a subscription unique key against locally computed values. A matched value guarantees to the subscriber entity 300 that the subscription is published in an auditable log and that it is bound to the subscriber entity 300.

One particular embodiment for remote provisioning of a SIM profile to a subscriber entity 300 based on at least some of the above disclosed embodiments will now be disclosed in detail with reference to the signalling diagram of Fig. 6. In Fig. 6, the notation“[Signature]” in a message means that the message is digitally signed by the sender of the message.

S501: An MNO entity 400 orders/confirms a SIM profile to a remote SIM

provisioning server too. The SIM profile contains IMSI, ICCID, subscriber secrets and MNO parameters. A SIM profile is generated at the remote SIM provisioning server too and protected using a random key. S502: The remote SIM provisioning server 100 returns the profile identifier (ICCID) of the generated SIM profile to the MNO entity 400.

S503: If an eUICC identity (EID) is provided during step S501 by the MNO entity 400, the remote SIM provisioning server 100 publishes an entry to the storage entity 200 with the unique subscription information as a key (e.g., H(IMSI, Ki, OPc)), and binding information as a value (e.g., H(EID, ICCID), H(IMSI), and MNO identifier. Here Ή’ implies a one way cryptographic hash function. The MNO identifier, which could be the MNC and the MCC of the IMSI, or found from the ICCID, can be used to identify entries relating to a specific MNO entity 400. If the EID is not known, this step occurs as 8503a after S505.

S504: The remote SIM provisioning server 100 receives confirmation of success of publication of the SIM profile from the storage entity 200. This step only is

performed after step S503 has been completed, and this if instead 8503a is

performed, this step occurs as 8504a. S505: The subscriber entity 300 requests downloading of the SIM profile from the remote SIM provisioning server 100. If S503 and S504 have not been performed, 8503a and 8504a are performed next. If the remote SIM provisioning server 100 learns the EID at this stage, the remote SIM provisioning server 100 bounds the SIM profile for the particular EID. S506: The remote SIM provisioning server 100 sends the bounded SIM profile to the subscriber entity 300.

S507: The subscriber entity 300 decrypts the profile. The subscriber entity 300 requests the publication state of a subscription by calculating the key as H (IMSI, Ki, OPc) from the downloaded SIM profile data. S508: The subscriber entity 300 receives the binding value for the key i.e., H(EID,

ICCID), H(IMSI), and MNO identifier matching the key from the storage entity 200.

S509: The subscriber entity 300 compares the binding value for the key. The subscriber entity 300 already knows its EID, ICCID, and IMSI from the SIM profile. Thus, the subscriber entity 300 locally computes H(IMSI), H(EID, ICCID), and MNO identifier. These values should match the values received from the storage entity 200. If there is a match it means that the remote SIM provisioning server 100 has registered this exact SIM profile to this exact subscriber entity 300. Any deviation of result triggers an error message to the user of the subscriber entity 300.

S510: The MNO entity 400 monitors the storage entity 200 for entries concerning the ICCID address space of the MNO entity 400 to verify that they are valid. This monitoring can be performed e.g. periodically or the storage entity 200 can send notifications to the MNO entity 400 whenever there is a new entry related to the specific MNO entity 400. The entry can be mapped to the MNO entity 400 by the MNC that is part of each ICCID and is unique for each MNO entity 400. Before the MNO entity 400 verifies an entry, a SIM profile installed on a subscriber entity 300 will be seem valid to the subscriber entity 300 (assuming the check performed by the subscriber entity 300 in S507-S508 was successful).

Aspects relating to auditability will now be disclosed.

The subscriber entity 300 checks the publication of a subscription in the storage entity 200 during SIM profile installation. This ensures that the subscriber entity 300 does not download or store SIM profiles without explicit publication at the storage entity 200. The subscriber entity 300 only accepts SIM profiles with a valid value for a key in the storage entity 200. In one form of attack, a malicious remote SIM provisioning server 100 clones the subscription data to a different SIM profile. To accept such a cloned SIM profile, the malicious remote SIM provisioning server 100 has to publish the key (which would be same as the earlier key) to the storage entity 200. This creates a conflict with respect to keys in the storage entity 200, and the entry with the duplicated key is thus not added to the storage entity 200. Optionally, and alarm is raised. In another form of attack, a malicious remote SIM provisioning server 100 could create a key with IMSI, and invalid Ki values e.g., an IMSI from an MNO range with a random Ki value. This will create a valid new key for a

subscription in the storage entity 200, thus a subscriber entity 300 might install such a SIM profile. However, when the SIM profile is used the subscriber entity 300 will not be able to authenticate with the MNO entity 400. An MNO entity 400 receiving unsuccessful authentication exchanges with a subscriber entity 300 can use the storage entity 200 to check if an invalid SIM profile has been provisioned for the subscriber entity 300. This can be detected by querying the storage entity 200 by the MNO entity 400. An MNO entity 400 can query a subscription publication using this H(IMSI) attribute from the storage entity 200, the IMSI being used would be the one used in the unsuccessful authentication exchanges. For example, when the subscriber entity 300 (or the terminal device comprising the subscriber entity 300) attaches to the network using an IMSI with invalid Ki information, the MNO entity 400 queries the storage entity 200 using H(IMSI) and detects the malicious subscription information and the remote SIM provisioning server 100 associated with this. The storage entity 200 will return the hash of the critical parameters and the MNO entity 400 can calculate the corresponding hash value based on its own stored critical parameters. If the hash value from the storage entity 200 does not match the hash value generated by the MNO entity 400, this means that the entry in the storage entity 200 comprises invalid data.

If a malicious remote SIM provisioning server 100 intends to perform an attack on an individual subscriber entity 300, such a malicious remote SIM provisioning server 100 might try to cause the subscriber entity 300 to download multiple SIM profiles in order to fill up the memory of the subscriber entity 300. Such a malicious remote SIM provisioning server too could e.g. use a SM-DS to create events for multiple SIM profiles for the subscriber entity 300. The SIM profile entries might be queried from the storage entity 200 to find out which remote SIM provisioning server too that provisioned them. In addition, The MNO entity 400 might detect such a malicious remote SIM provisioning server too if the subscriber entity 300 tries to use one of the invalid SIM profiles.

Aspects relating to data structures will now be disclosed.

The storage entity 200 stores keys and values where e.g. H(IMSI, Ki, OPc)) acts as a key and e.g. H(EID,ICCID), H(IMSI) and MNO ID act as values. The key

H(IMSI,Ki,OPc)) is used by an subscriber entity 300 to query a SIM profile publication from the storage entity 200. The MNO entity 400 can use H(IMSI) to find publication records for an IMSI, while the MNO identity can be used by the MNO entity 400 to query/request all entries belonging to its subscribers. The MNO entity 400 can then verify that the SIM profiles have been issued with correct credentials by calculating the entry key, e.g. H(IMSI, Ki, OPc), for any of its subscriptions and verify it is used as a key, and it can even verify the EID it has been provisioned to. A centralized authenticated data structure, such as a certificate transparency log, or a decentralized structures such as blockchain, can act as an immutable audit record and be stored as a record in the storage entity 200. The data structure should provide immutability and append-only properties. Aspects relating to security will now be disclosed.

A remote SIM provisioning server 100 provider cannot target the same subscription information to multiple subscriber entities 300. If a malicious remote SIM

provisioning server 100 intends to retarget existing subscription information (i.e., a clone), the key will point to the same earlier published key and the storage entity 200 will not accept the new entry for the same key. Additionally, the entry is bound to the EID, thus it cannot retarget the same publication to multiple subscriber entities 300. The ICCID is a value in each record held by the storage entity 200, which would protect against a malicious remote SIM provisioning server too installing the same SIM profile to the subscriber entity 300 multiple times as the subscriber entity 300 maintains an internal register, which checks uniqueness of each SIM profile based on ICCID value. Two SIM profiles with the same ICCID are not accepted by a subscriber entity 300.

A remote SIM provisioning server too might create a new SIM profile for an invalid IMSI or Ki (where IMSI is selected from an MNO range and Ki is random-valued) and publish such information as a key to the storage entity 200, thereby binding to an EID. The subscriber entity 300 will accept such a SIM profile. However, the network attachment procedure for a terminal device comprising the subscriber entity 300 will fail for such an IMSI. This can trigger the MNO entity 400 to query all published subscriptions for H(IMSI) from the storage entity 200. The MNO entity 400 can detect any mismatch in the storage entity 200 compared to its own view.

Fig. 7 schematically illustrates, in terms of a number of functional units, the components of a remote SIM provisioning server too according to an embodiment. Processing circuitry no is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1510a (as in Fig. 15), e.g. in the form of a storage medium 130. The processing circuitry 110 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry 110 is configured to cause the remote SIM provisioning server 100 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 130 may store the set of operations, and the processing circuitry 110 may be configured to retrieve the set of operations from the storage medium 130 to cause the remote SIM provisioning server 100 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 110 is thereby arranged to execute methods as herein disclosed.

The storage medium 130 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

The remote SIM provisioning server 100 may further comprise a communications interface 120 for communications with other entities, nodes, functions, servers, and devices of the communication network in Fig. 1. As such the communications interface 120 may comprise one or more transmitters and receivers, comprising analogue and digital components.

The processing circuitry 110 controls the general operation of the remote SIM provisioning server 100 e.g. by sending data and control signals to the

communications interface 120 and the storage medium 130, by receiving data and reports from the communications interface 120, and by retrieving data and instructions from the storage medium 130. Other components, as well as the related functionality, of the remote SIM provisioning server too are omitted in order not to obscure the concepts presented herein.

Fig. 8 schematically illustrates, in terms of a number of functional modules, the components of a remote SIM provisioning server too according to an embodiment. The remote SIM provisioning server too of Fig. 8 comprises a number of functional modules; an obtain module 110a configured to perform step S102, a generate module 110b configured to perform step S104, a provide module 110c configured to perform step S106, and a provide module noe configured to perform step S110. The remote SIM provisioning server 100 of Fig. 8 may further comprise a number of optional functional modules, such as any of an obtain module nod configured to perform step S108, and a provide module nof configured to perform step Snoa. In general terms, each functional module lioa-nof may be implemented in hardware or in software. Preferably, one or more or all functional modules lioa-nof may be implemented by the processing circuitry no, possibly in cooperation with the communications interface 120 and the storage medium 130. The processing circuitry no may thus be arranged to from the storage medium 130 fetch instructions as provided by a functional module lioa-nof and to execute these instructions, thereby performing any steps of the remote SIM provisioning server 100 as disclosed herein.

Fig. 9 schematically illustrates, in terms of a number of functional units, the components of a storage entity 200 according to an embodiment. Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1510b (as in Fig. 15), e.g. in the form of a storage medium 230. The processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry 210 is configured to cause the storage entity 200 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the storage entity 200 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed.

The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

The storage entity 200 may further comprise a communications interface 220 for communications with other entities, nodes, functions, servers, and devices of the communication network in Fig. 1. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components.

The processing circuitry 210 controls the general operation of the storage entity 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the storage entity 200 are omitted in order not to obscure the concepts presented herein.

Fig. 10 schematically illustrates, in terms of a number of functional modules, the components of a storage entity 200 according to an embodiment. The storage entity 200 of Fig. 10 comprises a number of functional modules; an obtain module 210a configured to perform step S202, and a provide module 210b configured to perform step S204. The storage entity 200 of Fig. 10 may further comprise a number of optional functional modules, such as a provide module 210c configured to perform step S206. In general terms, each functional module 2ioa-2ioc may be implemented in hardware or in software. Preferably, one or more or all functional modules 210a- 210c may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and the storage medium 230. The processing circuitry 210 may thus be arranged to from the storage medium 230 fetch

instructions as provided by a functional module 2ioa-2ioc and to execute these instructions, thereby performing any steps of the storage entity 200 as disclosed herein.

Fig. 11 schematically illustrates, in terms of a number of functional units, the components of a subscriber entity 300 according to an embodiment. Processing circuitry 310 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1510c (as in Fig. 15), e.g. in the form of a storage medium 330. The processing circuitry 310 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry 310 is configured to cause the subscriber entity 300 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 330 may store the set of operations, and the processing circuitry 310 may be configured to retrieve the set of operations from the storage medium 330 to cause the subscriber entity 300 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 310 is thereby arranged to execute methods as herein disclosed.

The storage medium 330 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

The subscriber entity 300 may further comprise a communications interface 420 for communications with other entities, nodes, functions, servers, and devices of the communication network in Fig. 1. As such the communications interface 420 may comprise one or more transmitters and receivers, comprising analogue and digital components.

The processing circuitry 410 controls the general operation of the subscriber entity 300 e.g. by sending data and control signals to the communications interface 420 and the storage medium 430, by receiving data and reports from the communications interface 420, and by retrieving data and instructions from the storage medium 430. Other components, as well as the related functionality, of the subscriber entity 300 are omitted in order not to obscure the concepts presented herein. Fig. 12 schematically illustrates, in terms of a number of functional modules, the components of a subscriber entity 300 according to an embodiment. The subscriber entity 300 of Fig. 12 comprises a number of functional modules; an obtain module 310b configured to perform step S304, a compare module 3iof configured to perform step S310, and an accept module 3iog configured to perform step S312. The subscriber entity 300 of Fig. 12 may further comprise a number of optional functional modules, such as any of a request module 310a configured to perform step S302, an obtain module 310c configured to perform step 8304a, a request module 3iod configured to perform step S306, and a provide module 3ioe configured to perform step S308. In general terms, each functional module 3ioa-3iog may be implemented in hardware or in software. Preferably, one or more or all functional modules 310a- 3iog may be implemented by the processing circuitry 310, possibly in cooperation with the communications interface 320 and the storage medium 330. The processing circuitry 310 may thus be arranged to from the storage medium 330 fetch

instructions as provided by a functional module 3ioa-3iog and to execute these instructions, thereby performing any steps of the subscriber entity 300 as disclosed herein. Fig. 13 schematically illustrates, in terms of a number of functional units, the components of an MNO entity 400 according to an embodiment. Processing circuitry 410 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product lsiod (as in Fig. 15), e.g. in the form of a storage medium 430. The processing circuitry 410 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

Particularly, the processing circuitry 410 is configured to cause the MNO entity 400 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 430 may store the set of operations, and the processing circuitry 410 may be configured to retrieve the set of operations from the storage medium 430 to cause the MNO entity 400 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 410 is thereby arranged to execute methods as herein disclosed. The storage medium 430 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.

The MNO entity 400 may further comprise a communications interface 420 for communications with other entities, nodes, functions, servers, and devices of the communication network in Fig. 1. As such the communications interface 420 may comprise one or more transmitters and receivers, comprising analogue and digital components.

The processing circuitry 410 controls the general operation of the MNO entity 400 e.g. by sending data and control signals to the communications interface 420 and the storage medium 430, by receiving data and reports from the communications interface 420, and by retrieving data and instructions from the storage medium 430. Other components, as well as the related functionality, of the MNO entity 400 are omitted in order not to obscure the concepts presented herein.

Fig. 14 schematically illustrates, in terms of a number of functional modules, the components of an MNO entity 400 according to an embodiment. The MNO entity 400 of Fig. 14 comprises a number of functional modules; a provide module 410a configured to perform step S402, an obtain module 410c configured to perform step S406, a compare module 4iod configured to perform step S408, and an action module 4ioe configured to perform step S410. The MNO entity 400 of Fig. 14 may further comprise a number of optional functional modules, such as any of a request module 410b configured to perform step S404, and an identify module 4iof configured to perform step S4ioa. In general terms, each functional module 410a- 4iof may be implemented in hardware or in software. Preferably, one or more or all functional modules 4iof may be implemented by the processing circuitry 410, possibly in cooperation with the communications interface 420 and the storage medium 430. The processing circuitry 410 may thus be arranged to from the storage medium 430 fetch instructions as provided by a functional module 4iof and to execute these instructions, thereby performing any steps of the MNO entity 400 as disclosed herein.

Fig. 15 shows one example of a computer program product 1510a, 1510b, 1510c, i5iod comprising computer readable means 1530. On this computer readable means 1530, a computer program 1520a can be stored, which computer program 1520a can cause the processing circuitry 110 and thereto operatively coupled entities and devices, such as the communications interface 120 and the storage medium 130, to execute methods according to embodiments described herein. The computer program 1520a and/or computer program product 1510a may thus provide means for performing any steps of the remote SIM provisioning server 100 as herein disclosed. On this computer readable means 1530, a computer program 1520b can be stored, which computer program 1520b can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 1520b and/or computer program product 1510b may thus provide means for performing any steps of the storage entity 200 as herein disclosed. On this computer readable means 1530, a computer program 1520c can be stored, which computer program 1520c can cause the processing circuitry 410 and thereto operatively coupled entities and devices, such as the communications interface 420 and the storage medium 430, to execute methods according to embodiments described herein. The computer program 1520c and/or computer program product 1510c may thus provide means for performing any steps of the subscriber entity 300 as herein disclosed. On this computer readable means 1530, a computer program i52od can be stored, which computer program 1520c can cause the processing circuitry 410 and thereto operatively coupled entities and devices, such as the communications interface 420 and the storage medium 430, to execute methods according to embodiments described herein. The computer program i52od and/or computer program product i5iod may thus provide means for performing any steps of the MNO entity 400 as herein disclosed.

In the example of Fig. 15, the computer program product 1510a, 1510b, 1510c, i5iod is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 1510a, 1510b, 1510c could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 1520a, 1520b, 1520c, i52od is here schematically shown as a track on the depicted optical disk, the computer program 1520a, 1520b, 1520c, i52od can be stored in any way which is suitable for the computer program product 1510a, 1510b, 1510c, i5iod. The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.