Abstract:
The present disclosure relates to a method comprising : - the generation, by a computing device (400), of a first key ( K ) and a bootstrapping key ( b k ); - the provision of the first key and an identifier (id) of the bootstrapping key to an electronic device (100) and the provision of the bootstrapping key and the identifier to a server (102); - the fully homomorphic encryption, by the electronic device, of a first data value, stored in the electronic device, by using the first key; and - the provision, by the electronic device, of the encrypted first data value ( c 1 , ...,c N ) and of the identifier, to the server.
Abstract:
A method of managing memory (1084) in an integrated circuit card (108) using a Java Card platform, said integrated circuit card (108) comprising a non-volatile memory portion (51) and a RAM memory portion (52), said method comprising a procedure for the allocation of one or more transient arrays in said RAM memory portion (52), said procedure comprising creating in a non-volatile memory heap (51) one or more array pointers (RA1, RA2, RA3), corresponding to one or more transient arrays (RB1, RB2, RB3) to be allocated, each array pointer (RA1, RA2, RA3) comprising a transient array size (BS) and a transient array address (LA; IA), wherein said creating (205) operation comprises creating one or more array pointers (RA) comprising as transient array address a logical address (LA; IA) of the area of the RAM memory portion in which the respective transient array (RB1, RB2, RB3) is to be allocated said procedure (200) further comprising assigning (210) then in said RAM memory (52) area memory only to transient arrays (RB1, RB2, RB3), corresponding to said respective one or more array pointers (RA), which comprise at least a value different from zero.
Abstract:
Method for concealing a subscription identifier (SI), in particular Subscription Permanent Identifier (SUPI), at a user equipment (11) of a mobile communication network, comprising a mobile equipment (11a) and an integrated circuit card (12) which stores subscription data for accessing said mobile communication network including said subscription identifier (PI), said method comprising, upon receiving at said user equipment (11) a corresponding request (RQT) by a server (13) to provide a corresponding subscription identifier (PI, CI), performing an Elliptical Curve encryption of said subscription identifier (PI) generating a concealed subscription identifier (CI), said concealing operation (100) comprising that said mobile equipment (11a) of the user equipment (11) sends an identity retrieve command, in particular a GET IDENTITY command (GI), to an integrated circuit card (12) in the mobile equipment (11a), said Elliptical Curve encryption including performing at the integrated circuit card (12) the operations of: generating an ephemeral key pair (ephPrK, ephPuK) comprising an ephemeral private key (ephPrK) and ephemeral public key (ephPuK), performing a first scalar multiplication (Eq. 1) of the ephemeral private key (ephPrK) by a generator value (G) to obtain said ephemeral public key (ephPuK), generating a Shared secret key (ShS) performing a second scalar multiplication (Eq. 2) of the Ephemeral Private key (ephPrK) by a server public key (srvPuK); using said shared secret key (ShS) to derive keys to encrypt the subscription identifier (SI), which is to be sent to said server (13) as concealed subscription identifier (CI) as response of said identity retrieve command (GI),
said scalar multiplication being performed iteratively performing and iteration (i) comprising a set of operations for each bit of the Ephemeral Private key (ephPrK), said method comprising performing, before receiving said identity retrieve command (GI) at the card (12), a pre-calculation of said ephemeral key pair (ephPrK, ephPuK) comprising an ephemeral private key (ephPrK) and ephemeral public key (ephPuK) and said shared secret key (ShS), said pre-calculation including performing an interruptible calculation (100) of said first (Eq. 1) and second (Eq. 2) scalar multiplication during the execution time of given periodic commands, in particular APDU STATUS commands, sent by the mobile equipment (11) to the card (12), storing a respective state of completion (EPuKState, ShSState) of said calculation (100), said interruptible calculation (100) including checking (110, 130) at the beginning of each of said execution time said respective state of completion (EPuKState, ShSState), if said respective state of completion (EPuKState, ShSState) indicates that completion of the computation of a valid ephemeral key pair or shared secret (ShS), storing the corresponding values of ephemeral private key (ephPrK), ephemeral public key (ephPuK) and shared secret (ShS) in a table in a memory, in particular a flash memory, of the integrated circuit card (12) at the user equipment (11).
Abstract:
A tamper resistant device (11; 21) implementing an embedded Universal Integrated Circuit Card (15) comprising at least a security domain (P0) in which at least a telecommunication profile (Pj) is stored, said device (21) comprising a physical interface (18) configured to allow access from a processor (13) configured to operate with at least a mobile telecommunications network to said at least a telecommunication profile (Pj. Said tamper resistant device (21) a further security domain (PS0) storing at least an application profile (Si; PSi) and a further physical interface (17) configured to allow access from an application processor (12) to said at least an application profile (Si; PSi) stored in said further security domain (PSO), said single tamper resistant device (21) being configured to enable accessibility to the at least an application profile (PSi) if corresponding commands (C) are received in signals exchanged on the first interface (17) and to enable accessibility to the telecommunication profile (Pj) if corresponding commands (C) are received in signals exchanged on the second interface (18).
Abstract:
A method for performing a management of a multi-subscription SIM module (108a), said multi-subscription SIM module (108a) comprising at least one memory (1084a) adapted to store at least a first (P1) and a second (P2) profile associated with a respective first and a second mobile network operator, said memory (1084) comprising a volatile portion (1084R), said operation of storing including installing or updating (1004) profiles (PI, P2) by downloading one or more downloaded profiles (Pd) from a remote host (30a), said management including selecting one or more enabled profiles (Ps) comprising an application to be executed and allocating a partition of the volatile portion (1084R) of the memory to said one or more enabled profile (Ps), specifically, dividing (2005) the area of the volatile memory (1084R) in a partition (OSP) for the operative system, a partition (SPP) for the each of the one or more enabled profiles and a partition for a downloaded profile (DPP), said partition for the enabled profile (SPP) and partition for a downloaded profile (DPP) having the same size, allocating (2010) the partition for the enabled profile (SPP) to the enabled profile (Ps), maintaining the partition for a downloaded profile (DPP) not accessible, during a profile download operation (1004), accessing (2015) only the partition for a downloaded profile (DPP) allocating said partition for a downloaded profile (DPP) to the downloaded profile (Pd), during a profile change operation (1006) swapping (2020) the downloading profile (Pd) from the partition for a downloaded profile (DPP) to one of the partitions for the enabled profile (SPP).
Abstract:
A method for performing a remote management of a multi-subscription SIM module (108a) is disclosed. The multi-subscription SIM module (108a) comprises at least one memory adapted to store a first (P1) and a second (P2) profile associated with a respective first (MNO1) and a second (MNO2) mobile network operator, such that a respective content may be associated with each profile (P1, P2). Specifically, the method comprises receiving a remote management message from a remote host (30a, 30b), wherein the remote management message comprises a remote management command, and a sender address and/or a destination address. Next, the remote management message is processed in order to determine the sender address and/or the destination address and a target profile (P1; P2) of the remote management command is determined as a function of the sender address and/or the destination address. Accordingly, once having determined the target profile, the remote management command may be executed in order to interact with the content of the target profile (P1; P2).