# US 2019/0173669 A1 · Method of sharing a key serving to derive session keys for encrypting and authenticating communications between an object and a server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0173669 A1
- Document ID: US20190173669A1
- Status: Published application
- Kind: A1
- Application number: 16/205,812
- Filed: 2018-11-30
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: Idemia Identity & Security France
- Applicants: Idemia Identity & Security France
- Inventors: Julien BRINGER; Vincent BOUATOU
- Web page: https://patentgrep.com/patent/US20190173669A1

## CPC

- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 63/061: {for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838)}
- H04L 2463/061: applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The invention relates to a method of sharing of a reference key (AppKey) between a connected object (1) and at least one server (2), the method comprising the steps of: application (102) by the object (1) of a function (f) to at least one datum (DevEUI, AppEUI, DevNonce) and to a key (KSE) specific to a secure element of the object (1) to generate the reference key, transmission (108) to the server (2) of a join request of the object (1) to a network of connected objects, comprising the datum, the key (KSE) of the secure element (4) not being transmitted to the server (2), obtaining, by the server (2), of the key (KSE) of the secure element (4) on the basis of the request, application (208) by the server (2) of the function (f) to the datum and to the key (KSE) obtained by the server (2), so as to obtain the reference key.

## Claims

### Claim 1

A method of sharing of a reference key between an object which can connect to a network of connected objects and at least one server, the method comprising:
applying, by the object, a first predetermined function to at least one first datum and to a key specific to a secure element of the object, so as to generate the reference key,
transmitting to the server a join request of the object to the network of connected objects, the join request comprising the first datum, wherein the key specific to the secure element is not transmitted by the object to the server,
obtaining, by the server, the key specific to the secure element on the basis of the join request,
applying, by the server, the first predetermined function to the first datum and to the key obtained by the server, so as to obtain the reference key.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
applying, by the object, a second predetermined function to a second datum and to the reference key, so as to generate an integrity code,
transmitting to the server the generated integrity code,
and wherein obtaining the key specific to the secure element comprises:
for at least one key of a secure candidate element stored by the server:
a) applying the first predetermined function to the first datum transmitted in the join request and to a key of a secure candidate element stored by the server, so as to generate a candidate reference key),
b) applying the second predetermined function to the second datum transmitted in the join request and to the generated candidate reference key), so as to generate a candidate integrity code),
selecting a candidate reference key having served to generate a candidate integrity code equal to the integrity code relative to the join request.

### Claim 3 (depends on 2)

The method according to claim 2, further comprising:
applying, by the object, a third predetermined function to a unique identifier of the secure element of the object and to a random datum having a value included in a predetermined finite set, so as to generate a nonce,
transmitting the nonce to the server,
for at least one unique identifier of a secure candidate element and for at least one candidate value of the predetermined finite set, applying the third predetermined function to the candidate identifier and to the candidate value, so as to generate a candidate nonce,
selecting at least one key of a secure candidate element associated, in a correspondence table, to a candidate identifier having served to generate a candidate nonce equal to the nonce transmitted in the join request, wherein step a) is conducted only for each selected key of a secure candidate element.

### Claim 4 (depends on 3)

The method according to claim 3, wherein the random datum is a counter incremented by the object for each new join request.

### Claim 5 (depends on 3)

The method according to claim 3, wherein the third function comprises a hash function applied to the identifier of the secure element of the object and to the random datum, followed by a truncation.

### Claim 6 (depends on 3)

The method according to claim 3, wherein the nonce is a datum DevNonce according to the specification LoRaWAN.

### Claim 7 (depends on 3)

The method according to claim 3, wherein the nonce is included in the join request.

### Claim 8 (depends on 1)

The method according to claim 1, wherein obtaining the key specific to the secure element comprises:
finding, in a first correspondence table, an identifier of a secure element associated with the first datum transmitted in the join request,
finding, in a second correspondence table separate to the first correspondence table, of a key associated with the unique identifier of a secure element identified in the first correspondence table.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the join request is a message according to the specification LoRaWAN.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the first datum is or depends on at least one of the following data:
a unique identifier specific to the object,
a unique application identifier specific to an application provider of the object,
a nonce.

### Claim 11 (depends on 1)

The method according to claim 1, wherein the reference key serves to derive session keys for encrypting and authenticating communications between the object and the server or serves to share another key between the object and the server.

### Claim 12

A system comprising an object which can connect to a network of connected objects, and at least one server, wherein the object is configured to:
apply a first predetermined function to at least one first datum and to a key specific to a secure element of the object, so as to generate the reference key,
transmit to the server a join request of the object to the network of connected objects, the join request comprising the first datum, the key specific to the secure element however not being transmitted by the object to the server,
and wherein the server is configured to:
obtain the key specific to the secure element on the basis of the join request,
apply the first predetermined function to the first datum and to the key obtained by the server, so as to obtain the reference key.
