FR3071945B1 - SECURING ACCESS TO SERVICE - Google Patents
SECURING ACCESS TO SERVICE Download PDFInfo
- Publication number
- FR3071945B1 FR3071945B1 FR1759296A FR1759296A FR3071945B1 FR 3071945 B1 FR3071945 B1 FR 3071945B1 FR 1759296 A FR1759296 A FR 1759296A FR 1759296 A FR1759296 A FR 1759296A FR 3071945 B1 FR3071945 B1 FR 3071945B1
- Authority
- FR
- France
- Prior art keywords
- terminal
- cryptographic
- access
- data
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
L'invention concerne un procédé de contrôle, réalisé par un système de contrôle (SY), pour contrôler l'accès à un service (SR), le procédé comprenant : envoi d'une donnée de défi à un terminal (T1) ; réception d'un premier code MAC généré par le terminal accompagné d'un identifiant du terminal et de droits d'accès pour accéder au service ; dérivation d'une première clé mère cryptographique à partir d'une clé maîtresse cryptographique (CMK_0), de l'identifiant du terminal et des premiers droits d'accès ; dérivation d'une première clé temporaire cryptographique à partir de la première clé mère cryptographique ; génération d'un deuxième code MAC à partir de la première clé temporaire cryptographique, des droits d'accès et de la donnée de défi ; et gestion de l'accès du terminal au service à partir d'une comparaison des premier et deuxième codes MAC. L'invention concerne également un procédé de traitement mis en œuvre par le terminal (T1), ainsi que le système de contrôle (SY) et le terminal (T1) correspondant.The invention relates to a control method, performed by a control system (SY), for controlling access to a service (SR), the method comprising: sending challenge data to a terminal (T1); receiving a first MAC code generated by the terminal accompanied by an identifier of the terminal and access rights to access the service; derivation of a first cryptographic master key from a cryptographic master key (CMK_0), the identifier of the terminal and the first access rights; deriving a first cryptographic temporary key from the first cryptographic parent key; generation of a second MAC code from the first temporary cryptographic key, the access rights and the challenge data; and management of terminal access to the service based on a comparison of the first and second MAC codes. The invention also relates to a processing method implemented by the terminal (T1), as well as the control system (SY) and the corresponding terminal (T1).
Description
Arrière-plan de l'inventionBackground of the invention
La présente invention concerne le contrôle d'accès à un service et porte plus particulièrement sur la gestion de l'accès d'utilisateurs à un service à l'aide de clés cryptographiques.The present invention relates to the control of access to a service and more particularly to the management of the access of users to a service using cryptographic keys.
Les services d'authentification et de sécurité visant à contrôler l'accès à de quelconques services, au moyen par exemple d'une communication NFC ou autre, se sont considérablement développés ces dernières années. Ces services se manifestent notamment dans de nombreuses applications de la vie courante telles que le contrôle des portes d'une maison ou d'un véhicule, le contrôle de portiques de sécurité, l'accès aux transports ou à des services Internet...Authentication and security services to control access to any services, for example through NFC or other communication, have grown significantly in recent years. These services are particularly evident in many everyday applications such as controlling the doors of a house or a vehicle, the control of security gates, access to transport or Internet services ...
Il est par exemple possible aujourd'hui de contrôler l'accès à une voiture de sorte que son utilisation (ouverture des portes, démarrage etc.) ne soit autorisée qu'au travers d'une clé électronique (ou clé numérique) détenue par le propriétaire du véhicule. De nombreuses fonctions, ou « services », peuvent être déclenchées à l'aide d'une telle clé, telles que le contrôle du démarrage du moteur, de la fonction GPS, de l'autoradio du véhicule etc.For example, it is now possible to control access to a car so that its use (opening of doors, starting etc.) is authorized only through an electronic key (or digital key) held by the car. vehicle owner. Many functions, or "services", can be triggered using such a key, such as the control of the engine start, the GPS function, the car radio of the vehicle etc.
Pour déclencher ces services, il est nécessaire de posséder les droits d'accès (ou droits d'utilisation) appropriés. Typiquement, le propriétaire d'un véhicule utilise un dispositif portable, un téléphone portable par exemple, sur lequel est hébergée une application dédiée qui communique avec le fournisseur de services correspondant (i.e. le véhicule, dans le cas présent). Ce dispositif de contrôle permet au propriétaire de s'identifier auprès du fournisseur de services et de requérir l'accès à des services conformément aux droits d'accès dont il dispose.To trigger these services, it is necessary to have the appropriate rights of access (or rights of use). Typically, the owner of a vehicle uses a portable device, for example a mobile phone, on which is housed a dedicated application that communicates with the corresponding service provider (i.e. the vehicle, in this case). This control device allows the owner to identify himself to the service provider and request access to services in accordance with the access rights he has.
Dans le cas du contrôle d'accès à un véhicule, par exemple, les droits d'accès sont typiquement attribués en premier lieu au propriétaire. Les tiers ne sont généralement pas en mesure d'obtenir librement les droits d'accès à un service, en particulier si celui-ci est payant ou privatif. Le propriétaire d'une voiture peut toutefois souhaiter prêter certains de ses droits d'accès à un tiers de confiance afin que celui-ci en bénéficie également.In the case of access control to a vehicle, for example, access rights are typically assigned first to the owner. Third parties are generally not able to freely obtain access rights to a service, especially if it is paid or private. The owner of a car may however wish to lend some of his access rights to a trusted third party so that he also benefits.
Le document FR 2 989 799 décrit par exemple une méthode permettant au titulaire de droits d'accès à un service de déléguer tout ou partie de ses droits à un tiers. Cette délégation prend la forme d'un prêt de certains droits à un tiers. Pour ce faire, le titulaire transmet au tiers des données signées à l'aide de sa clé privée cryptographique. Ces données signées peuvent ensuite être utilisées par le tiers pour accéder de façon sécurisée au service concerné.Document FR 2 989 799 for example describes a method enabling the holder of access rights to a service to delegate all or part of his rights to a third party. This delegation takes the form of a loan of certain rights to a third party. To do this, the holder transmits to the third party signed data using his cryptographic private key. This signed data can then be used by the third party to securely access the service concerned.
Il est souhaitable d'améliorer encore d'avantage la sécurisation de l'accès à des services, afin notamment d'éviter tous accès ou usages non autorisés dudit service.It is desirable to further improve the securing of access to services, in particular to prevent any unauthorized access or use of said service.
Objet et résumé de l'invention A cet effet, la présente invention concerne un procédé de contrôle, mis en œuvre par un système de contrôle, pour contrôler l'accès à un service, le procédé comprenant les étapes suivantes : - envoi d'une première donnée de défi à un premier terminal ; - réception, en réponse audit envoi, d'un premier code MAC généré par le premier terminal accompagné d'un identifiant (ID1) du premier terminal et de premiers droits d'accès pour accéder au service ; - dérivation d'une première clé mère cryptographique à partir d'une clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; - dérivation d'une première clé temporaire cryptographique à partir de la première clé mère cryptographique ; - génération d'un deuxième code MAC à partir de la première clé temporaire cryptographique, des premiers droits d'accès et de la première donnée de défi ; et - gestion de l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC.OBJECT AND SUMMARY OF THE INVENTION For this purpose, the present invention relates to a control method, implemented by a control system, for controlling access to a service, the method comprising the following steps: sending a first challenge data to a first terminal; receiving, in response to said sending, a first MAC code generated by the first terminal accompanied by an identifier (ID1) of the first terminal and first access rights to access the service; deriving a first cryptographic master key from a cryptographic master key, the identifier of the first terminal and the first access rights; deriving a first cryptographic temporary key from the first cryptographic master key; generating a second MAC code from the first cryptographic temporary key, the first access rights and the first challenge data; and - managing the access of the first terminal to the service from a comparison of the first and second MAC codes.
La présente invention permet ainsi de sécuriser l'accès d'un service en fournissant à des utilisateurs une ou des clés temporaires cryptographiques pour bénéficier de certains droits d'accès. Ces clés temporaires sont issues d'une clé maîtresse cryptographique au travers d'une double dérivation de clé. L'usage de clés temporaires cryptographiques est avantageux en ce que celles-ci peuvent être renouvelées régulièrement, rendant ainsi plus difficile tous accès illicites à un service donné. En effet, un tiers malveillant ne disposera que d'un temps restreint pour obtenir l'accès au service pendant qu'une clé temporaire est en cours de validité, réduisant ainsi les risques de fraudes. Chaque changement de clé temporaire rend plus difficile l'accès frauduleux à un service.The present invention thus makes it possible to secure the access of a service by providing users with one or more temporary cryptographic keys to benefit from certain access rights. These temporary keys come from a cryptographic master key through a double key derivation. The use of temporary cryptographic keys is advantageous in that they can be renewed regularly, thus making it more difficult for any illicit access to a given service. Indeed, a malicious third party will have only a limited time to obtain access to the service while a temporary key is valid, thus reducing the risk of fraud. Each temporary key change makes it more difficult to fraudulently access a service.
De manière avantageuse, on peut définir la période de validité d'une clé temporaire de sorte à ce qu'une tentative d'accès frauduleuse ait peu de chance d'aboutir avant expiration de la clé temporaire en cours de validité. L'invention permet aussi de faciliter la révocation des droits d'accès susceptibles d'avoir été attribués à un utilisateur.Advantageously, it is possible to define the period of validity of a temporary key so that an attempt at fraudulent access is unlikely to succeed before expiration of the valid temporary key. The invention also facilitates the revocation of access rights that may have been assigned to a user.
Selon un mode de réalisation particulier, au cours de l'étape de gestion d'accès, le système de contrôle autorise l'accès du premier terminal au service selon les premiers droits d'accès seulement s'il est déterminé lors de ladite comparaison que les premier et deuxième codes MAC coïncident.According to a particular embodiment, during the access management step, the control system authorizes the access of the first terminal to the service according to the first access rights only if it is determined during said comparison that the first and second MAC codes coincide.
Selon un mode de réalisation particulier, la première clé temporaire cryptographique est dérivée de sorte qu'elle ne soit considérée comme valide par le système de contrôle que pour une période de temps prédéfinie.According to a particular embodiment, the first cryptographic temporary key is derived so that it is considered valid by the control system only for a predefined period of time.
Selon un mode de réalisation particulier, le procédé de contrôle comprend, préalablement à l'envoi de la première donnée de défi, un enrôlement comprenant les étapes suivantes : - réception, en provenance du premier terminal, de l'identifiant du premier terminal et des premiers droits d'accès pour accéder au service ; - dérivation de la première clé mère cryptographique à partir de la clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; et - envoi, au premier terminal, de la première clé mère cryptographique de sorte à permettre au premier terminal d'accéder au service selon les premiers droits si les premier et deuxième codes MAC coïncident.According to a particular embodiment, the control method comprises, prior to the sending of the first challenge data, an enrollment comprising the following steps: reception, from the first terminal, of the identifier of the first terminal and the first access rights to access the service; deriving the first cryptographic master key from the cryptographic master key, the identifier of the first terminal and the first access rights; and sending, to the first terminal, the first cryptographic master key so as to allow the first terminal to access the service according to the first rights if the first and second MAC codes coincide.
Selon un mode de réalisation particulier, le procédé de contrôle comprend : - réception en provenance du premier terminal, en réponse à l'envoi de la première donnée de défi, d'une donnée de dérivation, d'une donnée temporelle indiquant la validité dans le temps du premier code MAC reçu, et d'une donnée d'authentification du premier code MAC reçu ; - génération d'un code MAC additionnel à partir d'une clé mère cryptographique dérivée de la clé maîtresse cryptographique et à partir de la donnée de dérivation et de la donnée temporelle ; - vérification que le code MAC additionnel coïncide avec la donnée d'authentification reçue ; et - dans l'affirmative, détermination de la première clé temporaire cryptographique par dérivation à partir de la première clé mère cryptographique et de la donnée de dérivation.According to a particular embodiment, the control method comprises: reception from the first terminal, in response to the sending of the first challenge data, of a derivation data, of a temporal data item indicating the validity in the time of the first MAC code received, and an authentication datum of the first MAC code received; generating additional MAC code from a cryptographic master key derived from the cryptographic master key and from the derivation data and the time data; - checking that the additional MAC code coincides with the authentication data received; and if so, determining the first cryptographic temporary key by derivation from the first cryptographic master key and the derivation data.
Selon un mode de réalisation particulier, le procédé de contrôle comprend, préalablement à l'envoi de la première donnée de défi, un enrôlement comprenant les étapes suivantes : - réception, en provenance du premier terminal, de l'identifiant du premier terminal et des premiers droits d'accès pour accéder au service ; - dérivation de la première clé mère cryptographique à partir de la clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; - dérivation de la clé première temporaire cryptographique à partir de la première clé mère cryptographique et de la donnée de dérivation ; - détermination de la donnée d'authentification en calculant un code MAC à partir d'une clé mère cryptographique dérivée de la clé maîtresse cryptographique et à partir de la donnée de dérivation et de la donnée temporelle ; - envoi, au premier terminal, de la première clé temporaire cryptographique et de la donnée d'authentification de sorte à permettre au premier terminal d'accéder au service selon les premiers droits d'accès si les premier et deuxième codes MAC coïncident.According to a particular embodiment, the control method comprises, prior to the sending of the first challenge data, an enrollment comprising the following steps: reception, from the first terminal, of the identifier of the first terminal and the first access rights to access the service; deriving the first cryptographic master key from the cryptographic master key, the identifier of the first terminal and the first access rights; deriving the temporary cryptographic key from the first cryptographic master key and the derivation data; determination of the authentication data by calculating a MAC code from a cryptographic master key derived from the cryptographic master key and from the derivation data and the temporal data; sending, to the first terminal, the first cryptographic temporary key and the authentication data so as to allow the first terminal to access the service according to the first access rights if the first and second MAC codes coincide.
Selon un mode de réalisation particulier, la première clé temporaire cryptographique est dérivée à partir de la première clé mère cryptographique et d'une donnée temporelle.According to a particular embodiment, the first cryptographic temporary key is derived from the first cryptographic master key and a time data item.
Selon un mode de réalisation particulier, la donnée temporelle est une donnée déterminée à partir d'un point courant dans le temps, la donnée temporelle définissant une durée de temps pendant laquelle la première clé temporaire cryptographique est valide.According to a particular embodiment, the temporal data is a datum determined from a current point in time, the temporal datum defining a duration of time during which the first cryptographic temporary key is valid.
Selon un mode de réalisation particulier, le procédé de contrôle comprend, préalablement à l'envoi de la première donnée de défi, un enrôlement comprenant les étapes suivantes : - réception, en provenance du premier terminal, de l'identifiant du premier terminal et des premiers droits d'accès pour accéder au service ; - dérivation de la première clé mère cryptographique à partir de la clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; - dérivation de la première clé temporaire cryptographique à partir de la première clé mère cryptographique et d'une donnée temporelle ; - envoi, au premier terminal, de la première clé temporaire cryptographique de sorte à permettre au premier terminal d'accéder au service selon les premiers droits si les premier et deuxième codes MAC coïncident.According to a particular embodiment, the control method comprises, prior to the sending of the first challenge data, an enrollment comprising the following steps: reception, from the first terminal, of the identifier of the first terminal and the first access rights to access the service; deriving the first cryptographic master key from the cryptographic master key, the identifier of the first terminal and the first access rights; deriving the first cryptographic temporary key from the first cryptographic master key and a temporal datum; sending, to the first terminal, the first cryptographic temporary key so as to allow the first terminal to access the service according to the first rights if the first and second MAC codes coincide.
Selon un mode de réalisation particulier, la première clé temporaire cryptographique est déterminée par dérivation à partir de la première clé mère cryptographique, de la donnée temporelle et d'une donnée de dérivation correspondant à ladite première clé temporaire cryptographique parmi une pluralité de clés temporaires cryptographique susceptibles d'être obtenues par dérivation à partir de la première clé mère cryptographique et de ladite donnée temporelle ; ladite donnée de dérivation étant reçue du premier terminal en réponse de l'envoi de la première donnée de défi.According to a particular embodiment, the first cryptographic temporary key is determined by derivation from the first cryptographic master key, the time data and a derivative datum corresponding to said first cryptographic temporary key from a plurality of cryptographic temporary keys. obtainable by derivation from the first cryptographic master key and said temporal data; said derivation data being received from the first terminal in response to sending the first challenge data.
Selon un mode de réalisation particulier, le procédé de contrôle comprend, préalablement à l'envoi de la première donnée de défi, un enrôlement comprenant les étapes suivantes : - réception, en provenance du premier terminal, de l'identifiant du premier terminal et des premiers droits d'accès pour accéder au service ; - dérivation de la première clé mère cryptographique à partir de la clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; - dérivation de la première clé temporaire cryptographique à partir de la première clé mère cryptographique, de la donnée temporelle et de la donnée dérivation ; et - envoi, au premier terminal, de la première clé temporaire cryptographique de sorte à permettre au premier terminal d'accéder au service selon les premiers droits si les premier et deuxième codes MAC coïncident.According to a particular embodiment, the control method comprises, prior to the sending of the first challenge data, an enrollment comprising the following steps: reception, from the first terminal, of the identifier of the first terminal and the first access rights to access the service; deriving the first cryptographic master key from the cryptographic master key, the identifier of the first terminal and the first access rights; deriving the first cryptographic temporary key from the first cryptographic master key, the time data and the derivation data; and sending, to the first terminal, the first cryptographic temporary key so as to allow the first terminal to access the service according to the first rights if the first and second MAC codes coincide.
Dans un mode particulier de réalisation, les différentes étapes du procédé de contrôle sont déterminées par des instructions de programmes d'ordinateurs.In a particular embodiment, the various steps of the control method are determined by computer program instructions.
En conséquence, l'invention vise aussi au moins un programme d'ordinateur sur un support d'informations correspondant, chaque programme étant susceptible d'être mis en œuvre dans un dispositif tel qu'un ordinateur, ou plus généralement dans un système de contrôle, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d’un procédé de contrôle tel que défini ci-dessus. L'invention vise aussi un support d'enregistrement (ou support d’informations) lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus. L'invention concerne également un procédé de traitement, mis en œuvre par un premier terminal, pour accéder à un service dont l'accès est contrôlé par un système de contrôle, comprenant : - réception d'une donnée de défi en provenance du système de contrôle ; - génération d'un premier code MAC à partir de la donnée de défi et de premiers droits d'accès au service et à partir d'une première clé temporaire cryptographique dérivée de la première clé mère cryptographique ; et - envoi, au système de contrôle, du premier code MAC accompagné d'un identifiant du premier terminal et des premiers droits d'accès, de sorte à permettre au système de contrôle de contrôler si le premier terminal est autorisé à accéder au service selon les premiers droits d'accès.Accordingly, the invention also relates to at least one computer program on a corresponding information carrier, each program being capable of being implemented in a device such as a computer, or more generally in a control system. , this program comprising instructions adapted to the implementation of the steps of a control method as defined above. The invention also relates to a recording medium (or information carrier) readable by a computer, and including instructions of a computer program as mentioned above. The invention also relates to a processing method, implemented by a first terminal, for accessing a service whose access is controlled by a control system, comprising: receiving a challenge data from the control system; control; generating a first MAC code from the challenge data and first access rights to the service and from a first cryptographic temporary key derived from the first cryptographic master key; and - sending, to the control system, the first MAC code accompanied by an identifier of the first terminal and the first access rights, so as to allow the control system to check whether the first terminal is authorized to access the service according to the first access rights.
Selon un mode de réalisation particulier, le procédé de traitement comprend, en réponse à l'envoi du premier code MAC, la réception d'une réponse du système de contrôle indiquant si le premier terminal Tl est autorisé à accéder au service selon les premiers droits d'accès.According to a particular embodiment, the processing method comprises, in response to the sending of the first MAC code, receiving a response from the control system indicating whether the first terminal T1 is authorized to access the service according to the first rights access.
Selon un mode de réalisation particulier, le procédé de traitement comprend, préalablement à la génération du premier code MAC, un enrôlement comprenant : - envoi, au système de contrôle, de l'identifiant du premier terminal et des premiers droits d'accès pour accéder au service ; et - réception, en provenance du système de contrôle, de la première clé mère cryptographique dérivée à partir d'une clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; et - dérivation de la première clé temporaire cryptographique à partir de la première clé mère cryptographique.According to a particular embodiment, the processing method comprises, prior to the generation of the first MAC code, an enrollment comprising: sending, to the control system, the identifier of the first terminal and the first access rights to access in the service ; and receiving, from the control system, the first cryptographic master key derived from a cryptographic master key, the identifier of the first terminal and the first access rights; and deriving the first cryptographic temporary key from the first cryptographic master key.
Selon un mode de réalisation particulier, le procédé de traitement comprend, préalablement à la génération du premier code MAC : - détermination d'une donnée temporelle et d'une donnée de dérivation, la donnée temporelle étant représentative de la validité dans le temps du premier code MAC ; - détermination d'une donnée d'authentification du premier code MAC en calculant un code MAC à partir d'une clé mère cryptographique dérivée de la clé maîtresse cryptographique et à partir de la donnée de dérivation et de la donnée temporelle ; la première clé temporaire cryptographique étant dérivée à partir de la première clé mère cryptographique et de la donnée de dérivation ; et - envoi au système de contrôle, en réponse à la donnée de défi, de la donnée temporelle, de la donnée de dérivation et de la donnée d'authentification.According to a particular embodiment, the processing method comprises, prior to the generation of the first MAC code: - determination of a time data and a derivation data, the time data being representative of the validity in time of the first MAC code; determining authentication data of the first MAC code by calculating a MAC code from a cryptographic master key derived from the cryptographic master key and from the derivation data and the time data; the first cryptographic temporary key being derived from the first cryptographic master key and the derivation data; and - sending to the control system, in response to the challenge data, the time data, the derivation data and the authentication data.
Selon un mode de réalisation particulier, le procédé de traitement comprend, préalablement à la génération du premier code MAC, la réception, en provenance du système de contrôle, d'une deuxième clé mère cryptographique, différente de la première clé mère cryptographique, dérivée à partir de la clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; dans lequel la donnée d'authentification est déterminée en tant que code MAC à partir de la deuxième clé mère cryptographique, de la donnée de dérivation et de la donnée temporelle.According to a particular embodiment, the processing method comprises, prior to the generation of the first MAC code, receiving, from the control system, a second cryptographic master key, different from the first cryptographic master key, derived from from the cryptographic master key, the identifier of the first terminal and the first access rights; wherein the authentication data is determined as MAC code from the second cryptographic master key, the derivation data and the time data.
Selon un mode de réalisation particulier, le procédé de traitement comprend, préalablement à la génération du premier code MAC, la détermination d'une donnée temporelle ; la première clé temporaire cryptographique étant dérivée à partir de la première clé mère cryptographique et de la donnée temporelle.According to a particular embodiment, the processing method comprises, prior to the generation of the first MAC code, the determination of a time data; the first cryptographic temporary key being derived from the first cryptographic master key and the time data.
Selon un mode de réalisation particulier, la première clé temporaire cryptographique est déterminée par dérivation à partir de la première clé mère cryptographique, de la première donnée temporelle et d'une donnée de dérivation correspondant à ladite première clé temporaire cryptographique parmi une pluralité de clés temporaires cryptographique susceptibles d'être obtenues par dérivation à partir de la première clé mère cryptographique et de la première donnée temporelle, le procédé comprenant un envoi de la donnée de dérivation au système de contrôle en réponse à la donnée de défi.According to a particular embodiment, the first cryptographic temporary key is determined by derivation from the first cryptographic master key, the first time datum and a derivation datum corresponding to said first cryptographic temporary key from among a plurality of temporary keys. cryptographic method obtainable by derivation from the first cryptographic master key and the first time data, the method comprising sending the derivation data to the control system in response to the challenge data.
Selon un mode de réalisation particulier, le procédé de traitement comprend, préalablement à la génération du premier code MAC, un enrôlement comprenant : - envoi, au système de contrôle, de l'identifiant du premier terminal et des premiers droits d'accès pour accéder au service ; et - réception, en provenance du système de contrôle, de la première clé temporaire cryptographique.According to a particular embodiment, the processing method comprises, prior to the generation of the first MAC code, an enrollment comprising: sending, to the control system, the identifier of the first terminal and the first access rights to access in the service ; and receiving, from the control system, the first cryptographic temporary key.
Selon un mode de réalisation particulier, lors dudit enrôlement, le premier terminal reçoit une pluralité de clés temporaires cryptographiques, le procédé comprenant une étape de sélection, parmi les clés temporaires cryptographiques reçues, d'une clé en tant que première clé temporaire cryptographique.According to a particular embodiment, during said enrollment, the first terminal receives a plurality of cryptographic temporary keys, the method comprising a step of selecting, among the cryptographic temporary keys received, a key as the first temporary cryptographic key.
Dans un mode particulier de réalisation, les différentes étapes du procédé de traitement sont déterminées par des instructions de programmes d'ordinateurs.In a particular embodiment, the various steps of the processing method are determined by instructions of computer programs.
En conséquence, l'invention vise aussi au moins un programme d'ordinateur sur un support d'informations correspondant, chaque programme étant susceptible d'être mis en œuvre dans un terminal ou un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d’un procédé de traitement tel que défini ci-dessus. L'invention vise aussi un support d'enregistrement (ou support d’informations) lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus. A noter que les programmes mentionnés dans le présent exposé peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.Accordingly, the invention also relates to at least one computer program on a corresponding information carrier, each program being capable of being implemented in a terminal or a computer, this program comprising instructions adapted to the implementation of steps of a treatment method as defined above. The invention also relates to a recording medium (or information carrier) readable by a computer, and including instructions of a computer program as mentioned above. Note that the programs mentioned in this presentation may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form , or in any other desirable form.
De plus, les supports d'enregistrement mentionnés ci-avant peuvent être n’importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur. D'autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.In addition, the recording media mentioned above can be any entity or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard. On the other hand, the recording media may correspond to a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be downloaded in particular on an Internet type network.
Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. L'invention vise également un système de contrôle pour contrôler l'accès à un service, le système de contrôle comprenant : - un module de communication configuré pour envoyer une première donnée de défi à un premier terminal et pour recevoir, en réponse audit envoi, un premier code MAC généré par le premier terminal accompagné d'un identifiant du premier terminal et de premiers droits d'accès pour accéder au service ; - un module de traitement configuré pour : o dériver une première clé mère cryptographique à partir d'une clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; o dériver une première clé temporaire cryptographique à partir de la première clé mère cryptographique ; o générer un deuxième code MAC à partir de la première clé temporaire cryptographique, des premiers droits d'accès et de la première donnée de défi ; et - un module de contrôle configuré pour gérer l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC. L'invention vise également un terminal, dit premier terminal, pour accéder à un service dont l'accès est contrôlé par un système de contrôle, ledit premier terminal comprenant : - un module de communication configuré pour recevoir une donnée de défi en provenance du système de contrôle ; et - un module de traitement configuré pour : o générer un premier code MAC à partir de la donnée de défi et de premiers droits d'accès au service et à partir d'une première clé temporaire cryptographique dérivée de la première clé mère cryptographique ; et o envoyer, au système de contrôle, le premier code MAC accompagné d'un identifiant du premier terminal et des premiers droits d'accès, de sorte à permettre au système de contrôle de contrôler si le premier terminal est autorisé à accéder au service selon les premiers droits d'accès.Alternatively, the recording media may correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question. The invention also relates to a control system for controlling access to a service, the control system comprising: a communication module configured to send a first challenge data item to a first terminal and to receive, in response to said sending, a first MAC code generated by the first terminal accompanied by an identifier of the first terminal and first access rights to access the service; a processing module configured to: derive a first cryptographic master key from a cryptographic master key, the identifier of the first terminal and the first access rights; deriving a first cryptographic temporary key from the first cryptographic master key; generating a second MAC code from the first cryptographic temporary key, the first access rights and the first challenge data; and a control module configured to manage the access of the first terminal to the service from a comparison of the first and second MAC codes. The invention also relates to a terminal, said first terminal, for accessing a service whose access is controlled by a control system, said first terminal comprising: a communication module configured to receive challenge data from the system control ; and a processing module configured to: generate a first MAC code from the challenge data and first access rights to the service and from a first cryptographic temporary key derived from the first cryptographic master key; and o sending, to the control system, the first MAC code accompanied by an identifier of the first terminal and the first access rights, so as to allow the control system to control whether the first terminal is authorized to access the service according to the first access rights.
Selon un mode de réalisation, l’invention est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme « module » peut correspondre dans ce document aussi bien à un composant logiciel, qu’à un composant matériel ou à un ensemble de composants matériels et logiciels. A noter que les différents modes de réalisation définis ci-avant en relation avec le procédé de contrôle, d'une part, et avec le procédé de traitement, d'autre part, ainsi que les avantages associés à ces procédés, s'appliquent par analogie au système de contrôle et au premier terminal tels que définis ci-avant.According to one embodiment, the invention is implemented by means of software and / or hardware components. In this context, the term "module" may correspond in this document as well to a software component, a hardware component or a set of hardware and software components. It should be noted that the various embodiments defined above in relation to the control method, on the one hand, and with the treatment method, on the other hand, as well as the advantages associated with these processes, apply by way of analogy to the control system and the first terminal as defined above.
Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures: - la figure 1 déjà décrite représente schématiquement un environnement comprenant un système de contrôle et un terminal selon un mode de réalisation particulier de l'invention ; - la figure 2 représente schématiquement la structure d'un serveur compris dans le système de contrôle représenté en figure 1, selon un mode de réalisation particulier de l’invention ; - la figure 3 représente schématiquement la structure d'un dispositif électronique compris dans le système de contrôle représenté en figure 1, selon un mode de réalisation particulier de l’invention ; - la figure 4 représente schématiquement la structure d'un terminal de communication, selon un mode de réalisation particulier de l’invention ; - la figure 5 représente, sous forme d’un diagramme, les étapes d'un procédé de contrôle et les étapes d'un procédé de traitement, selon un premier mode de réalisation de l’invention ; - la figure 6 représente, sous forme d’un diagramme, une variante du premier mode de réalisation illustré en figure 5 ; - la figure 7 représente, sous forme d’un diagramme, les étapes d'un procédé de contrôle et les étapes d'un procédé de traitement, selon un deuxième mode de réalisation de l’invention ; - la figure 8 représente, sous forme d’un diagramme, une variante du deuxième mode de réalisation illustré en figure 7 ; - la figure 9 représente, sous forme d'un diagramme, les étapes d'un procédé de contrôle et les étapes d'un procédé de traitement, selon un troisième mode de réalisation de l’invention ; et - la figure 10 représente, sous forme d’un diagramme, une variante du troisième mode de réalisation illustré en figure 9.BRIEF DESCRIPTION OF THE DRAWINGS Other features and advantages of the present invention will emerge from the description given below, with reference to the accompanying drawings which illustrate embodiments having no limiting character. In the figures: - Figure 1 already described schematically shows an environment comprising a control system and a terminal according to a particular embodiment of the invention; - Figure 2 schematically shows the structure of a server included in the control system shown in Figure 1, according to a particular embodiment of the invention; FIG. 3 diagrammatically represents the structure of an electronic device included in the control system represented in FIG. 1, according to one particular embodiment of the invention; FIG. 4 schematically represents the structure of a communication terminal, according to a particular embodiment of the invention; FIG. 5 represents, in the form of a diagram, the steps of a control method and the steps of a treatment method, according to a first embodiment of the invention; FIG. 6 represents, in the form of a diagram, a variant of the first embodiment illustrated in FIG. 5; FIG. 7 represents, in the form of a diagram, the steps of a control method and the steps of a processing method, according to a second embodiment of the invention; FIG. 8 represents, in the form of a diagram, a variant of the second embodiment illustrated in FIG. 7; FIG. 9 represents, in the form of a diagram, the steps of a control method and the steps of a processing method, according to a third embodiment of the invention; and FIG. 10 represents, in the form of a diagram, a variant of the third embodiment illustrated in FIG. 9.
Description détaillée de plusieurs modes de réalisationDetailed description of several embodiments
Comme indiqué précédemment, le présent exposé concerne le contrôle de l'accès à des services par des utilisateurs. Divers modes de réalisation de l'invention sont à présent décrits ci-après.As noted above, this paper is about controlling access to services by users. Various embodiments of the invention are now described hereinafter.
Les modes de réalisation décrit ci-dessous s'inscrivent dans le cadre d'un contrôle d'accès à un véhicule tel qu'une voiture par exemple, et notamment pour l'accès à certaines fonctionnalités d'une telle voiture. On comprend toutefois que la présente invention s'applique plus généralement au contrôle d'accès à un quelconque service ou à diverses fonctionnalités d'un tel service. A titre d'exemple, le service géré dans le cadre de l'invention peut ainsi concerner le contrôle des portes d'une maison ou d'un véhicule, le contrôle de portiques de sécurité, l'accès à des transports ou encore l'accès à des services Internet. Le service concerné peut également prendre la forme d'un quelconque dispositif électronique ou électromécanique, telle qu'une télévision ou une console de jeux vidéo par exemple, dont l'accès ou le déclenchement de fonctionnalités est contrôlé grâce à l'invention. L'invention propose d'améliorer le contrôle d'accès d'utilisateurs à un service donné, à savoir l'utilisation d'une voiture dans le cas présent. Pour ce faire, le principe de l'invention repose sur la génération de clés cryptographiques, et notamment de clés cryptographiques temporaires, par dérivation d'une clé cryptographique maîtresse de façon à permettre à des utilisateurs d'accéder au service considéré.The embodiments described below are part of an access control to a vehicle such as a car for example, and in particular for access to certain features of such a car. However, it is understood that the present invention more generally applies to controlling access to any service or to various features of such a service. For example, the service managed in the context of the invention may thus concern the control of the doors of a house or a vehicle, the control of security gates, the access to transport or the access to Internet services. The service concerned may also take the form of any electronic or electromechanical device, such as a television or a video game console, for example, whose access or triggering of functions is controlled by the invention. The invention proposes to improve the access control of users to a given service, namely the use of a car in this case. To do this, the principle of the invention is based on the generation of cryptographic keys, including temporary cryptographic keys, by derivation of a master cryptographic key so as to allow users to access the service.
Plus particulièrement, l'invention, selon différents modes de réalisation, concerne un procédé de contrôle, mis en œuvre par un système de contrôle, pour contrôler l'accès à un service, le procédé comprenant les étapes suivantes : - envoi d'une première donnée de défi à un premier terminal ; - réception, en réponse audit envoi, d'un premier code MAC (pour « Code d'Authentification de Message ») généré par le premier terminal accompagné d'un identifiant du premier terminal et de premiers droits d'accès pour accéder au service ; - dérivation d'une première clé mère cryptographique à partir d'une clé maîtresse cryptographique, de l'identifiant du premier terminal et des premiers droits d'accès ; - dérivation d'une première clé temporaire cryptographique à partir de la première clé mère cryptographique ; - génération d'un deuxième code MAC à partir de la première clé temporaire cryptographique, des premiers droits d'accès et de la première donnée de défi ; et - gestion de l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC. L'invention concerne également le système de contrôle correspondant.More particularly, the invention, according to various embodiments, relates to a control method, implemented by a control system, to control access to a service, the method comprising the following steps: - sending a first challenge data to a first terminal; receiving, in response to said sending, a first MAC code (for "Message Authentication Code") generated by the first terminal accompanied by an identifier of the first terminal and first access rights to access the service; deriving a first cryptographic master key from a cryptographic master key, the identifier of the first terminal and the first access rights; deriving a first cryptographic temporary key from the first cryptographic master key; generating a second MAC code from the first cryptographic temporary key, the first access rights and the first challenge data; and - managing the access of the first terminal to the service from a comparison of the first and second MAC codes. The invention also relates to the corresponding control system.
En outre, l'invention, selon différents modes de réalisation, concerne un procédé de traitement, mis en œuvre par un premier terminal, pour accéder à un service dont l'accès est contrôlé par un système de contrôle, comprenant : - réception d'une donnée de défi en provenance du système de contrôle ; - génération d'un premier code MAC à partir de la donnée de défi et de premiers droits d'accès au service et à partir d'une première clé temporaire cryptographique dérivée de la première clé mère cryptographique ; et - envoi, au système de contrôle, du premier code MAC accompagné d'un identifiant du premier terminal et des premiers droits d'accès, de sorte à permettre au système de contrôle de contrôler si le premier terminal est autorisé à accéder au service selon les premiers droits d'accès. L'invention concerne également le premier terminal correspondant. D'autres aspects et avantages de la présente invention ressortiront des exemples de réalisation décrits ci-dessous en référence aux dessins mentionnés ci-avant.In addition, the invention, according to various embodiments, relates to a processing method, implemented by a first terminal, to access a service whose access is controlled by a control system, comprising: - reception of challenge data from the control system; generating a first MAC code from the challenge data and first access rights to the service and from a first cryptographic temporary key derived from the first cryptographic master key; and - sending, to the control system, the first MAC code accompanied by an identifier of the first terminal and the first access rights, so as to allow the control system to check whether the first terminal is authorized to access the service according to the first access rights. The invention also relates to the corresponding first terminal. Other aspects and advantages of the present invention will emerge from the exemplary embodiments described below with reference to the drawings mentioned above.
Sauf indications contraires, les éléments communs ou analogues à plusieurs figures portent les mêmes signes de référence et présentent des caractéristiques identiques ou analogues, de sorte que ces éléments communs ne sont généralement pas à nouveau décrits par souci de simplicité.Unless otherwise indicated, the elements common or similar to several figures bear the same reference signs and have identical or similar characteristics, so that these common elements are generally not described again for the sake of simplicity.
La figure 1 représente, de manière schématique, un environnement comprenant un système de contrôle SY, contrôlant l'accès à un service SR, et un terminal de communication Tl. Comme déjà indiqué, le service SR correspond ici à une voiture dont certaines fonctionnalités sont contrôlées par le système de contrôle SY. Le type du ou des fonctionnalités dont l'accès est contrôlé peut varier selon le cas.FIG. 1 schematically represents an environment comprising a control system SY controlling access to an SR service and a communication terminal T1. As already indicated, the service SR here corresponds to a car, some of whose functionalities are controlled by the SY control system. The type of feature (s) whose access is controlled may vary depending on the case.
Dans cet exemple, un utilisateur U1 utilise le terminal Tl pour accéder au service SR. Le terminal Tl peut être un quelconque terminal de communication, tel qu'un terminal mobile par exemple. On suppose ici que ce terminal Tl est un téléphone portable de type smartphone.In this example, a user U1 uses the terminal T1 to access the service SR. The terminal T1 may be any communication terminal, such as a mobile terminal for example. It is assumed here that this terminal T1 is a smartphone type mobile phone.
Le système de contrôle SY comporte ici un dispositif électronique DPI et un serveur DP2. Le dispositif DPI est configuré pour gérer l'accès de l'utilisateur U1 au service SR. Le dispositif DPI peut être disposé dans la voiture ou, alternativement, hors de la voiture, de sorte à permettre le contrôle de certaines fonctionnalités de la voiture, telles que le contrôle du mécanise d'ouverture des portes, le contrôle du démarrage du moteur, le contrôle de la fonction GPS ou encore de l'autoradio, etc. Le dispositif DPI se présente par exemple sous la forme d'un boîtier électronique fixé ou non à la voiture SR. La structure du dispositif DPI, selon un exemple particulier, est décrite plus en détail ci-après en référence à la figure 3.The control system SY here comprises a DPI electronic device and a DP2 server. The DPI device is configured to manage the access of the user U1 to the SR service. The DPI device can be placed in the car or, alternatively, out of the car, so as to allow the control of certain features of the car, such as the control of the opening mechanism of the doors, the engine start control, control of the GPS function or the car radio, etc. The DPI device is for example in the form of an electronic box attached or not to the SR car. The structure of the device DPI, according to a particular example, is described in more detail below with reference to FIG.
Par ailleurs, le serveur DP2 est configuré pour interagir avec l'utilisateur Ul afin de fournir notamment la ou les clés cryptographiques adéquates pour accéder au service SR. Dans l'exemple représenté en figure 1, le serveur SV2 et le dispositif DPI sont deux équipements séparés. Selon une variante, le serveur DP2 et le dispositif DPI forment un seul et même dispositif. La structure du serveur DP2, selon un exemple particulier, est décrite plus en détail ci-après en référence à la figure 2.Furthermore, the DP2 server is configured to interact with the user Ul to provide the particular cryptographic key or keys to access the SR service. In the example shown in FIG. 1, the server SV2 and the device DPI are two separate devices. According to one variant, the server DP2 and the device DPI form a single device. The structure of the server DP2, according to a particular example, is described in more detail below with reference to FIG.
La figure 2 représente schématiquement la structure du serveur DP2 conformément à un mode de réalisation particulier de l'invention.FIG. 2 diagrammatically represents the structure of the server DP2 according to a particular embodiment of the invention.
Plus précisément, le serveur DP2 comprend dans cet exemple au moins un processeur 10, une première mémoire non volatile 12, une deuxième mémoire non volatile 14 et une interface de communication 16. Le serveur DP2 peut en outre comprendre d'autres éléments non représentés, tels qu'une mémoire volatile réinscriptible (RAM), qui sont bien connus de l'homme du métier.More precisely, the server DP2 comprises in this example at least one processor 10, a first non-volatile memory 12, a second non-volatile memory 14 and a communication interface 16. The server DP2 may furthermore comprise other elements that are not represented, such as a rewritable volatile memory (RAM), which are well known to those skilled in the art.
La mémoire 12 est une mémoire non volatile réinscriptible ou une mémoire morte (ROM), cette mémoire constituant un support d'enregistrement (ou support d'informations) conforme à un mode de réalisation particulier, lisible par le serveur DP2, et sur lequel est enregistré un programme d'ordinateur PG1 conforme à un mode de réalisation particulier. Ce programme d'ordinateur PG1 comporte des instructions pour l'exécution d'étapes d'un procédé de contrôle selon un mode de réalisation particulier, comme décrit ultérieurement.The memory 12 is a rewritable non-volatile memory or a read-only memory (ROM), this memory constituting a recording medium (or information carrier) according to a particular embodiment, readable by the server DP2, and on which is recorded a computer program PG1 according to a particular embodiment. This computer program PG1 includes instructions for executing steps of a control method according to a particular embodiment, as described later.
Dans l’exemple envisagé ici, la mémoire 14 est une mémoire non volatile réinscriptible configuré pour stocker en particulier la clé maîtresse cryptographique CMK_0 dont l'usage sera décrit ultérieurement. Selon un exemple particulier de réalisation, la clé maîtresse cryptographique CMK_0, et toutes autres éventuelles clés cryptographiques, sont gérées par un HSM (pour « Hardware Security Module ») au niveau du serveur.In the example envisaged here, the memory 14 is a rewritable non-volatile memory configured to store in particular the cryptographic master key CMK_0 whose use will be described later. According to a particular embodiment, the cryptographic master key CMK_0, and any other cryptographic keys, are managed by an HSM (for "Hardware Security Module") at the server.
Le processeur 10 piloté par le programme d'ordinateur PG1, met ici en œuvre un module de communication MD2 et un module de traitement MD4.The processor 10 controlled by the computer program PG1 here implements an MD2 communication module and an MD4 processing module.
Le module de communication MD2 est configuré pour assurer la communication avec l'extérieur et notamment le terminal utilisateur Tl. Cette communication est réalisée ici en utilisant l'interface 16 qui peut être tout type d'interface de communication approprié (filaire ou sans fil) pour communiquer avec le terminal Tl. Dans l'exemple considéré ici, ces communications sont assurées via Internet.The communication module MD2 is configured to provide communication with the outside and in particular the user terminal T1. This communication is carried out here using the interface 16 which can be any type of suitable communication interface (wired or wireless). to communicate with the terminal T1. In the example considered here, these communications are provided via the Internet.
Le module de de traitement MD4 est configuré pour réaliser un certain nombre de traitements conformes à l'invention qui seront décrits ultérieurement dans différentes modes de réalisation. Dans cet exemple, le module de traitement MD4 est en particulier configuré pour déterminer une ou des clés cryptographiques dérivées de la clé maîtresse CMK_0. Selon un exemple particulier, le module de traitement MD4 est implémenté dans un HSM, comme déjà mentionné ci-dessus.The processing module MD4 is configured to perform a number of processes according to the invention which will be described later in different embodiments. In this example, the processing module MD4 is in particular configured to determine one or more cryptographic keys derived from the master key CMK_0. In a particular example, the processing module MD4 is implemented in an HSM, as already mentioned above.
La figure 3 représente schématiquement la structure du dispositif électronique DPI conformément à un mode de réalisation particulier de l'invention.Figure 3 schematically shows the structure of the electronic device DPI according to a particular embodiment of the invention.
Plus précisément, le dispositif DPI comprend dans cet exemple au moins un processeur 20, une première mémoire non volatile 22, une deuxième mémoire non volatile 24 et une interface de communication 26. Le dispositif DPI peut en outre comprendre d'autres éléments non représentés, tels qu'une mémoire volatile réinscriptible (RAM), qui sont bien connus de l'homme du métier.More precisely, the device DPI comprises in this example at least one processor 20, a first non-volatile memory 22, a second non-volatile memory 24 and a communication interface 26. The device DPI may furthermore comprise other elements that are not represented. such as a rewritable volatile memory (RAM), which are well known to those skilled in the art.
La mémoire 22 est une mémoire non volatile réinscriptible ou une mémoire morte (ROM), cette mémoire constituant un support d'enregistrement (ou support d'informations) conforme à un mode de réalisation particulier, lisible par le dispositif DPI, et sur lequel est enregistré un programme d'ordinateur PG2 conforme à un mode de réalisation particulier. Ce programme d'ordinateur PG2 comporte des instructions pour l'exécution d'étapes d'un procédé de contrôle selon un mode de réalisation particulier, comme décrit ultérieurement.The memory 22 is a rewritable non-volatile memory or a read only memory (ROM), this memory constituting a recording medium (or information carrier) according to a particular embodiment, readable by the DPI device, and on which is recorded a PG2 computer program according to a particular embodiment. This computer program PG2 includes instructions for executing steps of a control method according to a particular embodiment, as described later.
Dans l’exemple envisagé ici, la mémoire 24 est une mémoire non volatile réinscriptible configuré pour stocker en particulier la clé maîtresse cryptographique CMK_0 dont l'usage sera décrit ultérieurement. Cette mémoire 24 peut être située, par exemple, dans une partie sécurisée du processeur 20 ou dans un mémoire sécurisée distincte du processeur 20, tel que dans un élément sécurisé (ou « secure element »).In the example envisaged here, the memory 24 is a rewritable non-volatile memory configured to store in particular the cryptographic master key CMK_0 whose use will be described later. This memory 24 may be located, for example, in a secure portion of the processor 20 or in a separate secure memory of the processor 20, such as in a secure element (or "secure element").
Le processeur 20 piloté par le programme d'ordinateur PG2, met ici en œuvre un certain nombre de modules, à savoir : un module de communication MD10, un module de traitement MD12 et un module de contrôle d'accès MD14.The processor 20 controlled by the computer program PG2 here implements a number of modules, namely: an MD10 communication module, an MD12 processing module and an MD14 access control module.
Le module de communication MD10 est configuré pour assurer la communication avec l'extérieur et notamment le terminal utilisateur Tl. Cette communication est réalisée ici en utilisant l'interface 26 qui peut être tout type d'interface de communication approprié (filaire ou sans fil) pour communiquer avec le terminal Tl. Dans l'exemple considéré ici, ces communications sont des communications sans fil de type NFC, Bluetooth ou autre.The communication module MD10 is configured to provide communication with the outside and in particular the user terminal T1. This communication is carried out here using the interface 26 which can be any type of appropriate communication interface (wired or wireless). to communicate with the terminal T1. In the example considered here, these communications are wireless communications type NFC, Bluetooth or other.
Le module de traitement MD12 est configuré pour réaliser un certain nombre de traitements qui seront décrits ultérieurement dans différents modes de réalisation. Dans cet exemple, le module de traitement MD12 est en particulier configuré pour vérifier si un code MAC transmis par le terminal utilisateur Tl est valide. Pour ce faire, le module de traitement MD12 dérive la clé maîtresse cryptographique CMK_0 et utilise la clé ainsi obtenue par dérivation pour générer un code MAC qu'il compare avec un autre code MAC fourni par le terminal Tl, comme expliqué plus en détail ultérieurement. Selon un exemple particulier, le module de traitement MD12 est implémenté dans un élément sécurisé, comme déjà mentionné ci-dessus.The processing module MD12 is configured to perform a number of treatments which will be described later in different embodiments. In this example, the processing module MD12 is in particular configured to check whether a MAC code transmitted by the user terminal T1 is valid. To do this, the processing module MD12 derives the cryptographic master key CMK_0 and uses the key thus obtained by derivation to generate a MAC code that it compares with another MAC code provided by the terminal T1, as explained in more detail later. According to a particular example, the processing module MD12 is implemented in a secure element, as already mentioned above.
Le module de contrôle d'accès MD14 est configuré pour contrôler (ou gérer) l'accès du terminal Tl au service SR considéré. Ce contrôle est réalisé à partir du résultat de la vérification effectuée au préalable par le module de traitement MD12. Le contrôle d'accès réalisé par le module MD14 peut notamment conduire à autoriser, l'utilisateur U1 par exemple, à accéder à tout ou partie du service SR ou peut conduire au refus de l'accès de tout ou partie du service SR.The access control module MD14 is configured to control (or manage) the access of the terminal Tl to the SR service considered. This check is made from the result of the verification previously carried out by the processing module MD12. The access control performed by the MD14 module may in particular lead to authorizing the U1 user, for example, to access all or part of the SR service or may lead to the denial of access to all or part of the SR service.
La figure 4 représente schématiquement la structure du terminal Tl conformément à un mode de réalisation particulier de l'invention.Figure 4 schematically shows the structure of the terminal T1 according to a particular embodiment of the invention.
Plus précisément, le terminal Tl comprend dans cet exemple au moins un processeur 30, une première mémoire non volatile 32, une deuxième mémoire non volatile 34, une interface de communication 36 et une deuxième interface de communication 38. Le terminal Tl peut en outre comprendre d'autres éléments non représentés, tels qu'une mémoire volatile réinscriptible (RAM) ou une interface homme-machine, qui sont bien connus de l'homme du métier.More specifically, the terminal T1 comprises in this example at least one processor 30, a first non-volatile memory 32, a second non-volatile memory 34, a communication interface 36 and a second communication interface 38. The terminal T1 can furthermore comprise other elements not shown, such as a rewritable volatile memory (RAM) or a human-machine interface, which are well known to those skilled in the art.
La mémoire 32 est une mémoire non volatile réinscriptible ou une mémoire morte (ROM), cette mémoire constituant un support d'enregistrement (ou support d'informations) conforme à un mode de réalisation particulier, lisible par le terminal Tl, et sur lequel est enregistré un programme d'ordinateur PG3 conforme à un mode de réalisation particulier. Ce programme d'ordinateur PG2 comporte des instructions pour l'exécution d'étapes d'un procédé de traitement selon un mode de réalisation particulier, comme décrit ultérieurement.The memory 32 is a rewritable non-volatile memory or a read only memory (ROM), this memory constituting a recording medium (or information carrier) according to a particular embodiment, readable by the terminal T1, and on which is recorded a PG3 computer program according to a particular embodiment. This computer program PG2 includes instructions for performing steps of a processing method according to a particular embodiment, as described later.
Dans l’exemple envisagé ici, la mémoire 34 est une mémoire non volatile réinscriptible configuré pour stocker en particulier une ou des clés cryptographiques, comme décrit plus en détail ultérieurement dans différents modes de réalisation. La mémoire 34 peut en outre enregistrer d'autres données utiles au terminal Tl telles que par exemple un identifiant ID1 du terminal Tl.In the example envisaged here, the memory 34 is a rewritable non-volatile memory configured to store in particular one or more cryptographic keys, as described in more detail later in different embodiments. The memory 34 may furthermore save other useful data to the terminal T1, such as, for example, an identifier ID1 of the terminal T1.
La première interface de communication 36 est configurée pour permettre la communication entre le terminal Tl et l'interface de communication 16 du serveur DP2.The first communication interface 36 is configured to allow communication between the terminal T1 and the communication interface 16 of the server DP2.
La deuxième interface de communication 38 configurée pour permettre la communication entre le terminal Tl et le dispositif DPI (et plus particulièrement avec l'interface de communication 26 de ce dernier).The second communication interface 38 configured to allow communication between the terminal T1 and the DPI device (and more particularly with the communication interface 26 of the latter).
Le processeur 30 piloté par le programme d'ordinateur PG3, met ici en œuvre un certain nombre de modules, à savoir : un module de communication MD20 et un module de traitement MD22.The processor 30 controlled by the computer program PG3 here implements a number of modules, namely: an MD20 communication module and an MD22 processing module.
Le module de communication MD20 est configuré pour assurer les communications avec l'extérieur et notamment avec le serveur DP2 (en utilisant l'interface 36) et avec le terminal utilisateur Tl (en utilisant l'interface 38). Dans l'exemple considéré ici, les communications avec le serveur DP2 sont réalisées par Internet tandis que les communications avec le dispositif DPI sont de type NFC, Bluetooth ou autre.The communication module MD20 is configured to provide communications with the outside and in particular with the server DP2 (using the interface 36) and with the user terminal T1 (using the interface 38). In the example considered here, the communications with the DP2 server are performed over the Internet while the communications with the DPI device are of the NFC, Bluetooth or other type.
Le module de traitement MD22 est configuré pour réaliser un certain nombre de traitements qui seront décrits plus en détails ultérieurement dans différents modes de réalisation. Dans cet exemple, le module de traitement MD22 est en particulier configuré pour générer un code MAC destiné à être transmis au dispositif DPI du système de contrôle SY en vue d'accéder au service SR. La génération d'un tel code MAC, qui s'effectue notamment à partir d'une donnée de défi envoyée au préalable par le dispositif DPI, sera décrite plus en détail ultérieurement dans des exemples particuliers. Selon un exemple particulier, le module de traitement MD22 est implémenté dans un élément sécurisé. Le terminal Tl est par exemple un téléphone portable, type smartphone, et l'élément sécurisé est par exemple une carte SIM ou un module eUICC (pour « embedded Universal Integrated Circuit Card»}. Cet élément sécurisé peut être configuré pour stocker des données secrètes telles que des clés cryptographiques et pour exécuter des fonctions cryptographiques. L'envoi d'un tel code MAC par le module de communication MD20 au dispositif DPI permet de requérir l'accès au service SR, c'est-à-dire l'accès à certaines fonctionnalités de la voiture du propriétaire Ul dans cet exemple.The processing module MD22 is configured to perform a number of treatments which will be described in more detail later in different embodiments. In this example, the processing module MD22 is in particular configured to generate a MAC code intended to be transmitted to the device DPI of the control system SY in order to access the service SR. The generation of such a MAC code, which is performed in particular from a challenge data previously sent by the DPI device, will be described in more detail later in particular examples. In a particular example, the processing module MD22 is implemented in a secure element. The terminal T1 is for example a mobile phone, type smartphone, and the secure element is for example a SIM card or an eUICC module (for "embedded Universal Integrated Circuit Card"}. This secure element can be configured to store secret data such as cryptographic keys and to perform cryptographic functions The sending of such a MAC code by the communication module MD20 to the device DPI makes it possible to request access to the service SR, that is to say the access to some features of the car of the owner Ul in this example.
Dans un mode de réalisation particulier, les modules MD20 et MD22 sont contrôlés à l'aide d'une application logicielle (ou « app ») spécifique mis en œuvre dans le terminal Tl.In a particular embodiment, the MD20 and MD22 modules are controlled using a specific software application (or "app") implemented in the terminal T1.
On comprendra que les modules MD2, MD4 (figure 2), MD10-MD14 (figure 3) et MD20, MD22 (figure 4) décrits ci-avant ne représentent que des exemples de mise en œuvre non limitatifs de l'invention.It will be understood that the modules MD2, MD4 (FIG. 2), MD10-MD14 (FIG. 3) and MD20, MD22 (FIG. 4) described above represent only nonlimiting exemplary embodiments of the invention.
Plus généralement, on comprendra que certains éléments généralement présents dans un serveur, dans un terminal de communication, ou encore dans un dispositif électronique destiné à coopérer avec un tel terminal, ont été volontairement omis car ils ne sont pas utiles à la compréhension de la présente invention.More generally, it will be understood that certain elements generally present in a server, in a communication terminal, or in an electronic device intended to cooperate with such a terminal, have been omitted voluntarily because they are not useful for the understanding of the present invention. invention.
Plus généralement, le système de contrôle SY et les terminaux Tl et T2 représentés en figures 1-4 ne constituent que des exemples de réalisation non limitatifs, d'autres mises en œuvre étant possibles dans le cadre de l'invention. L'homme du métier comprendra en particulier que certains éléments du système de contrôle SY et du terminalMore generally, the control system SY and the terminals T1 and T2 shown in FIGS. 1-4 are only nonlimiting exemplary embodiments, other implementations being possible within the scope of the invention. Those skilled in the art will understand in particular that certain elements of the SY control system and the terminal
Tl ne sont décrits ici que pour faciliter la compréhension de l'invention, ces éléments n'étant pas nécessaires pour mettre en œuvre l'invention.Tl are described here only to facilitate the understanding of the invention, these elements not being necessary to implement the invention.
Divers exemples de réalisation de l'invention sont à présent décrits à partir des figures 5 à 10.Various embodiments of the invention are now described from FIGS. 5 to 10.
Figure 5 : premier mode de réalisationFigure 5: first embodiment
Un mode de réalisation particulier est à présent décrit en référence à la figure 5. Plus précisément, le dispositif DPI et le serveur DP2 mettent collectivement en œuvre un procédé de contrôle en exécutant respectivement les programmes d'ordinateur PG1 et PG2. En parallèle, le terminal Tl met en œuvre un procédé de traitement en exécutant le programme d'ordinateur PG3.A particular embodiment is now described with reference to FIG. 5. More precisely, the device DPI and the server DP2 collectively implement a control method by executing respectively the computer programs PG1 and PG2. In parallel, the terminal T1 implements a method of processing by executing the computer program PG3.
Dans un premier temps, le terminal Tl de l'utilisateur U1 et le serveur DP2 coopèrent ensemble pour réaliser une phase dite d'enrôlement (étapes E2-E8). On suppose ici que cet enrôlement ne se produit qu'une seule fois, par exemple lorsque le propriétaire U1 vient de faire l'acquisition de sa voiture SR et configure son terminal Tl en interagissant avec le serveur DP2 afin de pouvoir accéder par la suite librement à sa voiture. D'autres modes de réalisation sont toutefois possibles.In a first step, the terminal T1 of the user U1 and the server DP2 cooperate together to perform a so-called enrollment phase (steps E2-E8). It is assumed here that this enrollment occurs only once, for example when the owner U1 has just acquired his car SR and configures his terminal T1 by interacting with the server DP2 in order to subsequently have free access to his car. Other embodiments are possible, however.
Comme représenté en figure 5, lors de cet enrôlement initial, le terminal Tl envoie (E2) au serveur DP2 une requête d'enrôlement comportant l'identifiant ID1 du terminal Tl et, éventuellement, des droits d'accès RG1 représentatifs des droits que requière l'utilisateur U1 pour accéder au service SR.As represented in FIG. 5, during this initial enrollment, the terminal T1 sends (E2) to the server DP2 an enrollment request comprising the identifier ID1 of the terminal T1 and, optionally, access rights RG1 representative of the rights required by the user U1 to access the SR service.
Dans les différents modes de réalisation décrits dans ce document, les droits d'accès RG1 peuvent se présenter par exemple sous la forme d'un identifiant ou d'un code correspondant aux droits d'accès requis. Ces droits d'accès spécifient par exemple les fonctionnalités auxquelles l'utilisateur U1 souhaite accéder (c.-à-d. utiliser), et éventuellement aussi la durée ou la période de temps pendant laquelle chacune de ces fonctionnalités peuvent être accédées.In the various embodiments described in this document, the access rights RG1 may for example be in the form of an identifier or a code corresponding to the required access rights. These access rights specify, for example, the functionalities that the user U1 wishes to access (ie use), and possibly also the duration or the period of time during which each of these functionalities can be accessed.
Le serveur DP2 reçoit (E2) la requête d'enrôlement en provenance du terminal Tl puis détermine (E4) une première clé mère cryptographique OK_0. Pour ce faire, le serveur DP2 récupère la clé maîtresse cryptographique CMK_0 dans sa mémoire et dérive la clé mère cryptographique OK_0 à partir de la clé maîtresse CMK_0, de l'identifiant ID1 et des droits d'accès RG1. Autrement dit, le serveur DP2 détermine en E4 la première clé mère cryptographique OK_0 par dérivation à partir de la clé maîtresse CMK_0 et en prenant en entrée l'identifiant ID1 et les droits d'accès RG1. Cette dérivation est réalisée par calcul en exécutant un algorithme de dérivation approprié dont le choix et l'implémentation sont définis par l'homme du métier.The server DP2 receives (E2) the enrollment request from the terminal T1 and determines (E4) a first cryptographic key OK_0. To do this, the DP2 server retrieves the cryptographic master key CMK_0 from its memory and derives the cryptographic master key OK_0 from the master key CMK_0, the identifier ID1 and the access rights RG1. In other words, the server DP2 determines at E4 the first cryptographic master key OK_0 by derivation from the master key CMK_0 and taking as input the identifier ID1 and the access rights RG1. This derivation is performed by calculation by executing an appropriate derivation algorithm whose choice and implementation are defined by those skilled in the art.
Dans un exemple particulier, la requête d'enrôlement envoyée par le terminal Tl en E2 comporte en outre un identifiant du service SR, c'est-à-dire identifiant de la voiture de l'utilisateur Ul dans cet exemple. Le serveur DP2 peut prendre également en compte cet identifiant du service SR pour déterminer en E4 la clé mère OK_0 (et éventuellement aussi la clé mère OK_0_bisl déterminée en E6 comme expliqué ci-après). De cette manière, lorsqu'une pluralité de services sont possibles, le serveur DP2 peut déterminer la clé mère OK_0 propre au service SR considéré.In a particular example, the enrollment request sent by the terminal T1 at E2 further comprises an identifier of the service SR, that is to say, the identifier of the car of the user U1 in this example. The server DP2 can also take into account this identifier of the service SR to determine in E4 the mother key OK_0 (and possibly also the mother key OK_0_bisl determined at E6 as explained below). In this way, when a plurality of services are possible, the server DP2 can determine the mother key OK_0 specific to the service SR considered.
Dans ce document, on nommera « DERIV » l'algorithme de dérivation utilisé pour effectuer les différentes opérations de dérivation de clés cryptographiques. Cet algorithme prend en entrée certains paramètres pour dériver une clé cryptographique d'un certain ordre (ou rang) de sorte à obtenir une clé cryptographique d'un ordre (ou rang) inférieur. On considère ici que la clé CMK_0 est une clé maîtresse dans le sens où c'est la clé à partir de laquelle toutes les autres clés utilisées, pour un service donné SR, sont dérivées directement ou indirectement, comme expliqué tout au long du présent exposé. Une clé d'ordre inférieur présente un lien intrinsèque avec la clé d'ordre immédiatement supérieur dont elle est issue, et également avec chaque autre clé d'ordre encore supérieure dont elle est éventuellement indirectement issue. Ce lien, qui résulte du mécanisme de dérivation utilisé, permet de contrôler efficacement la validité des différentes clés cryptographiques attribuées aux utilisateurs. En particulier, l'expiration ou la révocation d'une première clé cryptographique a pour conséquence de rendre invalide, non seulement ladite première clé, mais également toutes éventuelles clés d'ordre inférieur qui sont dérivées directement ou indirectement à partir de ladite première clé.In this document, we will name "DERIV" the derivation algorithm used to perform the various cryptographic key derivation operations. This algorithm takes as input some parameters to derive a cryptographic key of a certain order (or rank) so as to obtain a cryptographic key of a lower order (or rank). It is considered here that the key CMK_0 is a master key in the sense that it is the key from which all the other keys used, for a given service SR, are derived directly or indirectly, as explained throughout this presentation. . A lower order key has an intrinsic link with the next higher order key from which it is derived, and also with each other higher order key from which it is possibly indirectly derived. This link, which results from the derivation mechanism used, makes it possible to effectively control the validity of the various cryptographic keys allocated to the users. In particular, the expiry or revocation of a first cryptographic key has the consequence of rendering invalid, not only said first key, but also any lower order keys which are derived directly or indirectly from said first key.
Avant de calculer (E4) la clé première mère OK_0, le serveur DP2 peut coopérer avec le terminal Tl pour réaliser une procédure d'authentification appropriée du terminal Tl pour vérifier que le terminal Tl est autorisé à recevoir la clé mère OK_0.Before calculating (E4) the first mother key OK_0, the server DP2 can cooperate with the terminal T1 to carry out an appropriate authentication procedure of the terminal T1 to verify that the terminal T1 is authorized to receive the mother key OK_0.
Selon une variante, le terminal Tl ne fournit pas les droits d'accès RG1 en E2. C'est le serveur DP2 qui détermine lui-même les droits d'accès RG1 auxquels l'utilisateur Ul peut prétendre et qui utilise ceux-ci en E4 pour calculer la clé mère OK_0.According to one variant, the terminal T1 does not provide access rights RG1 in E2. It is the DP2 server which itself determines the access rights RG1 which the user Ul can claim and which uses them in E4 to calculate the mother key OK_0.
Comme représenté en figure 5, le serveur DP2 détermine (E6) ensuite une deuxième clé mère cryptographique OK_0_bisl, différente de la première clé mère OK_0 obtenue en E4. Pour ce faire, le serveur DP2 dérive en E6 la deuxième clé mère OK_0_bisl à partir de la clé maîtresse CMK_0, de l'identifiant ID1 et des droits d'accès RG1. Autrement dit, le serveur DP2 détermine en E6 la deuxième clé mère OK_0_bisl par dérivation à partir de la clé maîtresse CMK_0 et en prenant en entrée l'identifiant ID1 et les droits d'accès RG1, de façon analogue au calcul de la première clé mère OK_0 en E4. Cette deuxième dérivation E6 est également réalisée par calcul en exécutant l'algorithme de dérivation DERIV. Afin de garantir que la clé mère OK_0_bisl obtenue en E6 est différente de la mère OK_0 obtenue en E4, les dérivations réalisées en E4 et E6 peuvent prendre en entrée une donnée supplémentaire, appelée par exemple « type de clé », et qui prendrait différentes valeurs selon que l'on veut obtenir par dérivation OK_0 (en E4) ou OK_Obisl (en E6).As represented in FIG. 5, the server DP2 then determines (E6) a second cryptographic key OK_0_bisl, different from the first mother key OK_0 obtained at E4. To do this, the server DP2 derives in E6 the second mother key OK_0_bisl from the master key CMK_0, the identifier ID1 and access rights RG1. In other words, the server DP2 determines at E6 the second mother key OK_0_bisl by derivation from the master key CMK_0 and taking as input the identifier ID1 and the access rights RG1, similarly to the calculation of the first master key OK_0 in E4. This second derivation E6 is also performed by calculation by executing the derivation algorithm DERIV. In order to guarantee that the mother key OK_0_bisl obtained at E6 is different from the mother OK_0 obtained at E4, the taps carried out at E4 and E6 can take as input additional data, called for example "type of key", and which would take different values depending on whether one wants to get by derivation OK_0 (in E4) or OK_Obisl (in E6).
Le serveur DP2 envoie (E8) ensuite au terminal Tl les clés mères cryptographiques OK_0 et OK_0_bisl obtenues respectivement en E4 et E6. Dans cet exemple, cet envoi E8 comprend en outre les droits d'accès RG1. Cet envoi est fait de préférence de façon sécurisée.The server DP2 then sends (E8) to the terminal T1 the cryptographic mother keys OK_0 and OK_0_bisl obtained respectively at E4 and E6. In this example, this sending E8 also includes access rights RG1. This sending is preferably done securely.
Une fois reçus (E8), le terminal Tl enregistre (E10) les clés mères OK_0 et OK_0_bisl et les droits d'accès RG1 dans sa mémoire 34 (figure 4). Dans un exemple particulier, le premier terminal Tl est un terminal de télécommunications, de type smartphone par exemple, et la mémoire locale 34 est une mémoire sécurisée d'un élément sécurisé (ou dispositif sécurisé), d'une carte SIM ou d'un module d'identité de souscripteur embarqué (de type eUICC pour « embedded Universal Integrated Circuit Card»}.Once received (E8), the terminal T1 registers (E10) mother keys OK_0 and OK_0_bisl and access rights RG1 in its memory 34 (Figure 4). In a particular example, the first terminal T1 is a telecommunications terminal, of the smartphone type for example, and the local memory 34 is a secure memory of a secure element (or secure device), a SIM card or a embedded subscriber identity module (eUICC type for embedded Universal Integrated Circuit Card).
Le terminal Tl est ainsi enrôlé auprès du serveur DP2, et plus généralement du système de contrôle SY, dans le sens où le terminal Tl s'est identifié auprès du serveur DP2 et détient à présent en mémoire les clés mères OK_0 et OK_0_bisl obtenues chacune par dérivation à partir de la clé maîtresse CMK_0. Ces clés mères OK_0 et OK_0_bisl peuvent être utilisées par le terminal Tl lors de chaque accès au service SR.The terminal T1 is thus enrolled with the server DP2, and more generally with the control system SY, in the sense that the terminal T1 has identified itself with the server DP2 and now holds in memory the mother keys OK_0 and OK_0_bisl, each obtained by derivation from master key CMK_0. These mother keys OK_0 and OK_0_bisl can be used by the terminal Tl during each access to the SR service.
On suppose que l'utilisateur Ul souhaite à présent accéder au service SR considéré. Pour ce faire, l'utilisateur Ul positionne par exemple son terminal Tl à proximité de sa voiture SR de sorte à ce que le terminal Tl puisse coopérer avec le dispositif électronique DPI (figure 1).It is assumed that the user Ul now wants to access the considered SR service. To do this, the user U1 positions for example his terminal T1 near his car SR so that the terminal T1 can cooperate with the electronic device DPI (Figure 1).
Le dispositif DPI envoie (E12) alors au terminal Tl une donnée de défi (ou « challenge » en anglais) notée clO.The device DPI sends (E12) then to the terminal T1 a challenge data (or "challenge" in English) denoted by clO.
Dans le présent exposé, cette donnée de défi clO et toutes autres données de défi considérées ultérieurement peuvent se présenter sous une quelconque forme appropriée exploitable par un terminal destinataire pour générer un code MAC comme expliqué ci-après. Une telle donnée de défi peut notamment prendre la forme d'une série d'au moins un caractère, de type alphanumérique ou autre par exemple. Cette donnée de défit cl, comme toutes les données de défi évoquées dans ce document, se caractérise en ce qu'elle est de préférence imprédictible, ou du moins difficile à prédire, pour une entité extérieure afin de rendre difficile tout accès non autorisé au service SR.In the present disclosure, this challenge data cl0 and any other challenge data considered later may be in any suitable form exploitable by a destination terminal to generate a MAC code as explained hereinafter. Such a challenge datum can in particular take the form of a series of at least one character, of alphanumeric or other type for example. This challenge data, like all of the challenge data discussed in this document, is characterized by being unpredictable, or at least difficult to predict, for an outside entity to make unauthorized access to the service difficult. SR.
Comme représenté en figure 5, une fois la donnée de défi clO reçue (E12), le terminal Tl détermine (E14) une donnée d'authentification AUTH_D1 en calculant un code MAC à partir de la deuxième clé mère cryptographique OK_0_bisl et à partir d'une donnée de dérivation DERIV_D et d'une donnée temporelle TIME_V. Pour ce faire, le terminal Tl détermine au préalable la donnée de dérivation DERIV_D et la donnée temporelle TIME_V selon une quelconque manière appropriée.As represented in FIG. 5, once the challenge data has been received (E12), the terminal T1 determines (E14) an authentication datum AUTH_D1 by calculating a MAC code from the second cryptographic key OK_0_bisl and from a derivation data DERIV_D and a time data TIME_V. To do this, the terminal T1 first determines the derivation data DERIV_D and the time data TIME_V in any appropriate manner.
Plus précisément, la donnée temporelle TIME_V est une donnée représentative de la validité dans le temps d'une clé temporaire cryptographique OK_0_T1 qui est déterminée ici en E16 (figure 5). Par ailleurs, la donnée de dérivation DERIV_D est ici une donnée choisie par le terminal Tl et qui intervient ultérieurement dans le calcul de la clé temporaire cryptographique OK_0_T1, comme expliqué ci-après.More precisely, the time datum TIME_V is a datum representative of the validity in time of a cryptographic temporary key OK_0_T1 which is determined here at E16 (FIG. 5). Furthermore, the derivation data DERIV_D is here a data item chosen by the terminal T1 and which is used later in the calculation of the temporary cryptographic key OK_0_T1, as explained hereinafter.
Le terminal Tl dérive (E16) ensuite la clé temporaire cryptographique OK_0_T1 mentionnée ci-dessus, à partir de la première clé mère cryptographique OK_0 et de la donnée de dérivation DERIV_D. Autrement dit, la clé temporaire cryptographique OK_0_T1 est déterminée en E16 par dérivation à partir de la première clé mère OK_0 et en prenant en entrée la donnée de dérivation DERIV_D. La clé temporaire OK_0_T1 déterminée en E16 peut donc varier en fonction notamment de la donnée de dérivation DERIV_D choisie par le terminal Tl.The terminal T1 derives (E16) then the temporary cryptographic key OK_0_T1 mentioned above, from the first cryptographic key OK_0 and the derivation data DERIV_D. In other words, the cryptographic temporary key OK_0_T1 is determined in E16 by derivation from the first mother key OK_0 and taking as input the derivation data DERIV_D. The temporary key OK_0_T1 determined in E16 can therefore vary depending in particular on the derivation data DERIV_D chosen by the terminal T1.
Dans le présent exposé, une « clé temporaire cryptographique » (ou clé provisoire cryptographique) désigne une clé cryptographique dont la validité dans le temps est limitée. Une telle clé temporaire n'est valide que pendant une période de temps prédéfinie.In this presentation, a "cryptographic temporary key" (or cryptographic temporary key) designates a cryptographic key whose validity in time is limited. Such a temporary key is only valid for a predefined period of time.
Dans le mode de réalisation décrit ici, le terminal Tl utilise (E16) la donnée de dérivation DERIV_D pour dériver la clé temporaire OK_0_T1. Comme décrit ci-dessus en E14, cette donnée de dérivation DERIV_D est en outre prise en entrée avec la donnée temporelle TIME_V pour déterminer la donnée d'authentification AUTH_D1. Comme expliqué par la suite, l'usage combiné de la donnée de dérivation DERVIV_D et de la donnée temporelle TIME_V permet de conférer une validité limitée dans le temps à la clé temporaire OK_0_T1.In the embodiment described here, the terminal T1 uses (E16) the derivation data DERIV_D to derive the temporary key OK_0_T1. As described above in E14, this derivation data DERIV_D is further taken as input with time data TIME_V to determine the authentication data AUTH_D1. As explained below, the combined use of the derivation data DERVIV_D and time data TIME_V makes it possible to confer a validity limited in time to the temporary key OK_0_T1.
Lors d'une étape de calcul E18, le terminal Tl génère un code MAC, noté MC10, à partir de la clé temporaire OK_0_T1 et de la donnée de défi clO.During a calculation step E18, the terminal T1 generates a MAC code, denoted MC10, from the temporary key OK_0_T1 and the challenge data item cl0.
De façon bien connue, un code MAC (pour « Code d'Authentification de Message ») est un code pouvant accompagner des données dans le but d'assurer l'intégrité de ces dernières, permettant ainsi de vérifier que celles-ci n'ont subi aucune modification, après une transmission par exemple. Dans le présent document, le calcul du code MAC MC10 et de tous les autres codes MAC considérés ultérieurement est réalisé en exécutant un algorithme (noté « MAC » dans les figures) à partir d'une clé secrète, à savoir la clé temporaire OK_0_T1 dans cet exemple. L'utilisation d'un tel code MAC permet d'authentifier son expéditeur. Le choix et l'implémentation du calcul d'un tel code MAC sont définis par l'homme du métier selon chaque cas d'usage.In a well-known manner, a MAC code (for "Message Authentication Code") is a code that can accompany data in order to ensure the integrity of the latter, thus making it possible to verify that these have not undergone any modification, after a transmission for example. In this document, the calculation of the MAC code MC10 and all the other MAC codes considered later is performed by executing an algorithm (denoted "MAC" in the figures) from a secret key, namely the temporary key OK_0_T1 in this example. The use of such a MAC code makes it possible to authenticate its sender. The choice and the implementation of the calculation of such a MAC code are defined by the person skilled in the art according to each use case.
Lors d'une étape d'envoi E20, le terminal Tl envoie au dispositif DPI le code MAC MC10 ainsi que l'identifiant ID1 du terminal Tl, les droits d'accès RG1, la donnée de dérivation DERIV_D, la donnée temporelle TIME_V et la donnée d'authentification AUTH_D1. Une fois ces données reçues (E20), le dispositif DPI procède à l'étape E22.During a sending step E20, the terminal T1 sends to the device DPI the MAC code MC10 as well as the identifier ID1 of the terminal T1, the access rights RG1, the data of derivation DERIV_D, the time data TIME_V and the AUTH_D1 authentication data. Once this data has been received (E20), the DPI device proceeds to step E22.
Lors de l'étape E22, le dispositif DPI dérive la première clé mère cryptographique OK_0 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1. Autrement dit, le dispositif DPI détermine en E22 la première clé mère cryptographique OK_0 par dérivation à partir de la clé maîtresse CMK_0 et en prenant en entrée l'identifiant ID1 et les droits d'accès RG1. Cette dérivation est réalisée en exécutant l'algorithme de dérivation DERIV de la même manière que lors de l'étape de dérivation E4 réalisée par le serveur DP2.In step E22, the device DPI derives the first cryptographic master key OK_0 from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1. In other words, the device DPI determines in E22 the first cryptographic master key OK_0 by derivation from the master key CMK_0 and taking as input the identifier ID1 and the access rights RG1. This derivation is performed by executing the derivation algorithm DERIV in the same way as during the derivation step E4 performed by the server DP2.
Le dispositif DPI dérive (E24) également la deuxième clé mère cryptographique OK_0_bisl à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1. Autrement dit, le dispositif DPI détermine en E24 la deuxième clé mère cryptographique OK_0_bisl par dérivation à partir de la clé maîtresse CMK_0 et en prenant en entrée l'identifiant ID1 et les droits d'accès RG1, de la même manière que lors de l'étape de dérivation E6 réalisée par le serveur DP2.The device DPI derives (E24) also the second cryptographic master key OK_0_bisl from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1. In other words, the device DPI determines in E24 the second cryptographic master key OK_0_bisl by derivation from the master key CMK_0 and taking as input the identifier ID1 and the access rights RG1, in the same way as in the derivation step E6 performed by the server DP2.
Au cours d'une étape de vérification E26, le dispositif DPI vérifie la donnée d'authentification AUTH_D1 reçue en E20. Pour ce faire, le dispositif DPI recalcule la donnée d'authentification AUTH_D1 en générant un code MAC à partir de la deuxième clé mère OK_0_bisl obtenu en E24 et à partir de la donnée de dérivation DERIV_D et de la donnée temporelle TIME_V reçues en E20. Le calcul de ce code MAC est réalisé de la même manière que lors du calcul E14 réalisée par le terminal Tl (figure 5). Si le code MAC ainsi obtenu en E26 est identique à la donnée d'authentification AUTH_D1 reçue en E20, le dispositif DPI détecte que la donnée d'authentification AUTH_D1 est valide et procède à l'étape E28. Dans le cas contraire, le procédé prend fin et le dispositif DPI informe éventuellement le terminal Tl que les données reçues sont invalides.During a verification step E26, the DPI device checks the authentication data AUTH_D1 received at E20. To do this, the DPI device recalculates the authentication data AUTH_D1 by generating a MAC code from the second mother key OK_0_bisl obtained in E24 and from the derivation data DERIV_D and time data TIME_V received in E20. The computation of this MAC code is carried out in the same way as during the calculation E14 carried out by the terminal T1 (FIG. 5). If the MAC code thus obtained at E26 is identical to the authentication data AUTH_D1 received at E20, the device DPI detects that the authentication data AUTH_D1 is valid and proceeds to step E28. In the opposite case, the process terminates and the DPI device optionally informs the terminal T1 that the received data are invalid.
Au cours d'une étape de vérification E28, le dispositif DPI vérifie la validité de la donnée temporelle TIME_V. Pour ce faire, le dispositif DPI détermine dans cet exemple un point courant dans le temps, tel que par exemple une date courante et/ou une heure courante, et détermine si la donnée temporelle TIME_V est valide à partir de ce point courant dans le temps. Dans un exemple particulier, le dispositif DPI détermine à partir de la donnée temporelle TIME_V une période de temps (période d'une heure ou d'un jour, par exemple) pendant laquelle l'utilisateur Ul est autorisé à accéder au service SR, et détecte que la donnée temporelle TIME_V est valide si la date et l'heure courantes définissent un point courant dans le temps compris dans cette période de temps prédéterminée. Autrement dit, la validité dans le temps des données envoyées par le terminal Tl en E20, et en particulier de la donnée d'authentification AUTH_D1, est déterminée par la donnée temporelle TIME_V.During a verification step E28, the DPI device checks the validity of the time data TIME_V. To do this, the device DPI determines in this example a current point in time, such as for example a current date and / or a current time, and determines if the time datum TIME_V is valid from this current point in time. . In a particular example, the device DPI determines from the time data TIME_V a period of time (period of one hour or a day, for example) during which the user Ul is authorized to access the service SR, and detects that the time datum TIME_V is valid if the current date and time define a current point in time within this predetermined period of time. In other words, the validity in time of the data sent by the terminal Tl in E20, and in particular the authentication data AUTH_D1, is determined by the time data TIME_V.
Le dispositif DPI dérive (E30) ensuite la clé temporaire cryptographique OK_0_T1 à partir de la première clé mère OK_0 et de la donnée de dérivation DERIV_D. Pour ce faire, le dispositif DPI détermine la clé temporaire OK_0_T1 par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée de dérivation DERIV_D reçue en E20. La vérification préalable de la donnée de dérivation DERIV_D (E26) et de la donnée temporelle TIME_V (E28) permet de s'assurer que la clé temporaire OK_0_T1 est toujours valide au moment du traitement.The device DPI derives (E30) then the temporary cryptographic key OK_0_T1 from the first mother key OK_0 and the derivation data DERIV_D. To do this, the device DPI determines the temporary key OK_0_T1 by derivation from the mother key OK_0 and taking as input the derivation data DERIV_D received in E20. The prior checking of the derivation data DERIV_D (E26) and the time data TIME_V (E28) ensures that the temporary key OK_0_T1 is still valid at the time of processing.
Lors d'une étape E32, le dispositif DPI génère à son tour un code MAC, noté ici MC11, à partir de la clé temporaire cryptographique OK_0_T1 obtenue en E30 et de la donnée de défi clO envoyée en E12. Ce code MAC MC12 est obtenu en effectuant le même calcul que lors de l'étape de calcul E18 réalisée par le terminal Tl.During a step E32, the device DPI in turn generates a MAC code, here noted MC11, from the temporary cryptographic key OK_0_T1 obtained in E30 and the challenge data clO sent in E12. This MC12 MAC code is obtained by performing the same calculation as during the calculation step E18 performed by the terminal T1.
Le dispositif DPI compare (E34) ensuite le code MAC MC10 reçu en E20 avec le code MAC MC11 calculé en E30 et détermine si ces deux codes MAC coïncident. Dans cet exemple, le dispositif DPI vérifie si MCI et MC2 sont identiques.The device DPI compares (E34) then the MAC code MC10 received in E20 with the MAC code MC11 calculated in E30 and determines whether these two MAC codes coincide. In this example, the DPI device checks whether MCI and MC2 are identical.
Le dispositif DPI gère ensuite l'accès du terminal Tl au service SR à partir du résultat de la comparaison effectuée en E34 entre les codes MAC MC10 et MC11.The device DPI then manages the access of the terminal Tl to the service SR from the result of the comparison made in E34 between the MAC codes MC10 and MC11.
Plus précisément, lors d'une étape E36, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en E34 si le terminal Tl est autorisé à accéder au service SR selon les droits d'accès RG1. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en E34 (MC10 = MC11 ?). Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.More precisely, during a step E36, the device DPI determines from the result of the comparison carried out at E34 whether the terminal T1 is authorized to access the service SR according to the access rights RG1. In other words, the DPI device controls access to the SR service according to the result obtained in E34 (MC10 = MC11?). This control can be concretized by an authorization of access or a blocking.
Le dispositif DPI peut également envoyer (E38) au terminal Tl une réponse DECIO indiquant sa décision concernant la demande d'accès du terminal Tl au service SR.The device DPI can also send (E38) to the terminal T1 a DECIO response indicating its decision concerning the request for access of the terminal T1 to the service SR.
Dans cet exemple, s'il est détecté en E34 que les codes MAC MC10 et MC11 sont identiques, le dispositif DPI autorise (E36) l'accès au service SR selon les droits d'accès RG1 et envoie (E38) une réponse DECIO positive au terminal Tl. Dans le cas contraire (codes MAC MC10 et MC11 différents), le dispositif DPI bloque l'accès du terminal Tl au service SR et envoie une réponse DECIO négative en E38 au terminal Tl.In this example, if it is detected in E34 that the MAC codes MC10 and MC11 are identical, the device DPI authorizes (E36) the access to the service SR according to the access rights RG1 and sends (E38) a positive DECIO response at the terminal T1. Otherwise (different MAC codes MC10 and MC11), the device DPI blocks the access of the terminal T1 to the service SR and sends a negative DECIO response at E38 to the terminal T1.
La présente invention permet ainsi de sécuriser l'accès d'un service en fournissant à des utilisateurs une ou des clés temporaires cryptographiques pour bénéficier de certains droits d'accès. Ces clés temporaires sont issues d'une clé maîtresse cryptographique au travers d'une double dérivation de clé, comme décrit ci-avant dans un exemple particulier (dérivation de CMK_0 puis de OK_0). L'usage de clés temporaires cryptographiques est avantageux en ce que celles-ci peuvent être renouvelées régulièrement, rendant ainsi plus difficile tous accès illicites à un service donné. En effet, un tiers malveillant ne disposera que d'un temps restreint pour obtenir l'accès au service pendant qu'une clé temporaire est en cours de validité, réduisant ainsi les risques de fraudes. Chaque changement de clé temporaire rend plus difficile l'accès frauduleux à un service.The present invention thus makes it possible to secure the access of a service by providing users with one or more temporary cryptographic keys to benefit from certain access rights. These temporary keys come from a cryptographic master key through a double key derivation, as described above in a particular example (derivation of CMK_0 and OK_0). The use of temporary cryptographic keys is advantageous in that they can be renewed regularly, thus making it more difficult for any illicit access to a given service. Indeed, a malicious third party will have only a limited time to obtain access to the service while a temporary key is valid, thus reducing the risk of fraud. Each temporary key change makes it more difficult to fraudulently access a service.
De manière avantageuse, on peut définir la période de validité d'une clé temporaire de sorte à ce qu'une tentative d'accès frauduleuse ait peu de chance d'aboutir avant expiration de la clé temporaire en cours de validité.Advantageously, it is possible to define the period of validity of a temporary key so that an attempt at fraudulent access is unlikely to succeed before expiration of the valid temporary key.
Lorsqu'un utilisateur souhaite accéder au service, il transmet au système de contrôle, via son terminal, un code MAC généré à partir de sa clé temporaire cryptographique. En revanche, l'utilisateur ne transmet pas sa clé temporaire cryptographique, ni même sa clé mère cryptographique OK_0, puisque le système de contrôle est capable de retrouver lui-même ces clés par calcul. Ce procédé permet ainsi de sécuriser l'accès au service tout en limitant la diffusion des clés cryptographiques. Dans l'exemple ci-dessus, les clés mères cryptographiques OK_0 et OK_0_bisl ne sont diffusées qu'une fois, lors de l'enrôlement. L'invention permet aussi de faciliter la révocation des droits d'accès susceptibles d'avoir été attribués à un utilisateur. Par exemple, si la clé maîtresse CMK_0 est révoquée ou a expiré, le système de contrôle SY calcule en E22 et E24 (figure 5) des clés mères différentes des clés OK_0 et OK_0_bisl et en déduit ensuite que la demande d'accès du terminal Tl doit être rejetée.When a user wishes to access the service, he transmits to the control system, via his terminal, a MAC code generated from his cryptographic temporary key. On the other hand, the user does not transmit his cryptographic temporary key, or even his cryptographic key OK_0, since the control system is able to find these keys by calculation itself. This method thus makes it possible to secure access to the service while limiting the distribution of cryptographic keys. In the above example, OK_0 and OK_0_bisl cryptographic master keys are only served once, during enrollment. The invention also facilitates the revocation of access rights that may have been assigned to a user. For example, if the master key CMK_0 is revoked or has expired, the control system SY calculates in E22 and E24 (FIG. 5) different mother keys of the keys OK_0 and OK_0_bisl and then deduces that the access request from the terminal Tl must be rejected.
Le système SY, et en particulier le véhicule SR, n'est pas forcément au courant que la clé maîtresse CMK_0 a été révoquée ou n'est plus valide. Cependant, si une procédure de révocation a modifié CMK_0 de sorte que c'est une nouvelle clé maîtresse CMK_1 qui est à présent utilisée par le véhicule SR à la place de CMK_0, alors toutes les clés dérivées à partir de la clé CMK_0 produiront des codes MACs invalides. Dans cet exemple, une procédure de révocation consiste à changer la clé maîtresse (en remplaçant CMK_0 par CMK_1 par exemple).The system SY, and in particular the vehicle SR, is not necessarily aware that the master key CMK_0 has been revoked or is no longer valid. However, if a revocation procedure has changed CMK_0 so that it is a new master key CMK_1 that is now used by the SR instead of CMK_0, then all keys derived from the CMK_0 will produce codes Invalid MACs. In this example, a revocation procedure consists of changing the master key (replacing CMK_0 by CMK_1 for example).
Dans le mode réalisation représenté en figure 5, une deuxième clé mère cryptographique OK_0_bisl est utilisée (E14) pour générer le code MAC correspondant à la donnée d'authentification AUTH_D1. L'usage de cette clé additionnelle OK_0_bisl, différente de la première clé mère OK_0 utilisée en E18 pour calculer le code MAC MC10, permet de sécuriser encore d'avantage l'accès au service SR.In the embodiment shown in FIG. 5, a second cryptographic key OK_0_bisl is used (E14) to generate the MAC code corresponding to the authentication datum AUTH_D1. The use of this additional key OK_0_bisl, different from the first mother key OK_0 used in E18 to calculate the MC10 MAC code, makes it possible to further secure access to the SR service.
Selon une variante de réalisation, on utilise la première clé mère OK_0 en E14 (figure 5), à la place de la deuxième clé mère OK_0_bisl, pour calculer aussi la donnée d'authentification AUTH_D1. De la même manière, la première clé mère OK_0 est utilisée en E26 par le dispositif DPI pour recalculer la donnée d'authentification AUTH_D1. Dans ce cas, les étapes E6 et E24 représentées en figure 5 visant à déterminer cette deuxième clé mère OK_0_bisl ne sont pas réalisées. Cette variante permet de simplifier quelque peu les traitements réalisés par le système de contrôle SY.According to an alternative embodiment, the first mother key OK_0 is used in E14 (FIG. 5), instead of the second mother key OK_0_bisl, to also calculate the authentication datum AUTH_D1. In the same way, the first mother key OK_0 is used in E26 by the device DPI to recalculate the authentication data AUTH_D1. In this case, the steps E6 and E24 represented in FIG. 5 to determine this second mother key OK_0_bisl are not performed. This variant makes it possible to simplify somewhat the treatments performed by the SY control system.
Figure 6 : variante du premier mode de réalisationFigure 6: Variant of the first embodiment
Dans le mode de réalisation représenté en figure 5, le terminal Tl reçoit notamment la clé mère cryptographique OK_0 lui permettant de déterminer un clé temporaire cryptographique en fonction notamment de la date et de l'heure courantes. Le terminal Tl choisit la donnée temporelle TIME_V et la donnée de dérivation DERIV_D de sorte que la clé temporaire OK_0_T1 soit valide pendant une période de temps suffisamment longue pour calculer le code MAC (étape E18, figure 5) et pour que le système de contrôle SY vérifie ensuite (étapes E22-E38) le code MAC reçu avec cette même clé temporaire OK_0_T1. L'envoi E8 (figure 5) de la clé mère cryptographique OK_0 suppose toutefois que le terminal Tl soit un terminal de confiance. En particulier, on optera de préférence pour ce mode de réalisation si le terminal Tl dispose d'une mémoire suffisamment sécurisée pour stocker la clé mère OK_0 et, éventuellement, la clé mère OK_0_bisl.In the embodiment shown in FIG. 5, the terminal T1 notably receives the cryptographic key OK_0 enabling it to determine a cryptographic temporary key as a function, in particular, of the current date and time. The terminal T1 selects the time data TIME_V and the derivation data DERIV_D so that the temporary key OK_0_T1 is valid for a period of time long enough to calculate the MAC code (step E18, FIG. 5) and for the control system SY then checks (steps E22-E38) the MAC code received with this same temporary key OK_0_T1. The sending E8 (FIG. 5) of the OK_0 cryptographic key, however, assumes that the terminal T1 is a trusted terminal. In particular, this embodiment will preferably be chosen if the terminal T1 has a sufficiently secure memory for storing the mother key OK_0 and, possibly, the mother key OK_0_bisl.
Une variante du mode de réalisation de la figure 5 est à présent décrite en référence à la figure 6. On suppose ici que le terminal Tl ne présente pas le niveau de confiance requis pour recevoir et stocker en sécurité la clé mère cryptographique OK_0 et, éventuellement, la clé mère OK_0_bisl. C'est le cas par exemple lorsque le terminal Tl ne contient pas d'élément sécurisé tel qu'une carte SIM ou un module eUICC. Aussi, cette variante diffère du mode de réalisation de la figure 5 en ce que le serveur DP2 ne fournit pas la clé mère OK_0, et éventuellement la clé mère OK_0_bisl, au terminal Tl mais fournit directement à celui-ci une ou une pluralité de clés temporaires cryptographiques ainsi qu'une donnée d'authentification associée à chaque clé temporaire fournie, de sorte à permettre au terminal Tl d'accéder ensuite au service SR considéré. Le serveur DP2 détermine chaque clé temporaire de la même manière que la clé temporaire OK_0_T1 déterminée par le terminal Tl dans le mode de réalisation de la figure 5 (étape E16).A variant of the embodiment of FIG. 5 is now described with reference to FIG. 6. It is assumed here that the terminal T1 does not have the level of confidence required to safely receive and store the OK_0 cryptographic master key and possibly , the mother key OK_0_bisl. This is the case, for example, when the terminal T1 does not contain a secure element such as a SIM card or an eUICC module. Also, this variant differs from the embodiment of FIG. 5 in that the server DP2 does not supply the mother key OK_0, and possibly the mother key OK_0_bisl, to the terminal Tl but supplies directly to it one or a plurality of keys and a piece of authentication data associated with each temporary key provided, so as to allow the terminal T1 to then access the SR service considered. The server DP2 determines each temporary key in the same manner as the temporary key OK_0_T1 determined by the terminal T1 in the embodiment of FIG. 5 (step E16).
Plus particulièrement, comme représenté en figure 6, le terminal Tl et le serveur DP2 coopèrent ensemble pour réaliser une phase dite d'enrôlement (étapes E50-E58). On suppose ici que cet enrôlement ne se produit qu'une seule fois, par exemple lorsque l'utilisateur Ul vient de faire l'acquisition de sa voiture SR et configure son terminal Tl en interagissant avec le serveur DP2 afin de pouvoir accéder par la suite librement à sa voiture. D'autres modes de réalisation sont toutefois possibles.More particularly, as shown in FIG. 6, the terminal T1 and the server DP2 cooperate together to perform a so-called enrollment phase (steps E50-E58). It is assumed here that this enrollment occurs only once, for example when the user Ul has just acquired his car SR and configures his terminal T1 by interacting with the server DP2 in order to be able to access thereafter freely to his car. Other embodiments are possible, however.
Lors de cet enrôlement initial, le terminal Tl envoie (E50) au serveur DP2 une requête d'enrôlement de façon identique à l'étape E2 représenté en figure 5. Cette requête d'enrôlement comporte l'identifiant ID1 du terminal Tl et, éventuellement, des droits d'accès RG1 représentatifs des droits que requière l'utilisateur Ul pour accéder au service SR. Ces droits d'accès RG1 se caractérisent de la même manière que décrit précédemment en référence à la figure 5.During this initial enrollment, the terminal T1 sends (E50) to the server DP2 an enrollment request in identical manner to the step E2 shown in FIG. 5. This enrollment request comprises the identifier ID1 of the terminal T1 and, if necessary, , RG1 access rights representative of the rights required by the user Ul to access the SR service. These access rights RG1 are characterized in the same manner as described above with reference to FIG.
Le serveur DP2 reçoit (E50) la requête d'enrôlement en provenance du terminal Tl puis détermine une première clé mère cryptographique OK_0 (étape E52) et une deuxième clé mère cryptographique OK_0_bisl (étape E54) de la même manière que décrit précédemment en référence respectivement aux étapes E4 et E6 de la figure 5.The server DP2 receives (E50) the enrollment request from the terminal T1 and then determines a first cryptographic key OK_0 (step E52) and a second cryptographic key OK_0_bisl (step E54) in the same manner as described above with reference respectively in steps E4 and E6 of FIG.
Le serveur DP2 détermine (E56) ensuite au moins une clé temporaire cryptographique par dérivation à partir de la première clé mère OK_0. Comme représenté en figure 6, on suppose ici que le serveur DP2 détermine en E56 les clés temporaires cryptographiques OK_0_T1, OK_0_T2 et ΟΚ_0_Τ3 par dérivation à partir de la clé mère OK_0 et d'une donnée de dérivation DERIV_D respective. Pour ce faire, le serveur DP2 détermine au préalable les données de dérivation DERIV_D puis détermine les clés temporaires OK_0_T1, OK_0_T2 et OK_0_T3 de façon analogue au calcul E16 décrit ci-avant en référence à la figure 5. Au cours de cette étape de traitement E56 (figure 6), le serveur DP2 détermine également, de façon analogue à l'étape E14 représentée en figure 5, des données d'authentification AUTH_D1, AUTH_D2 et AUTH_D3 associées respectivement aux clés temporaires OK_0_T1, OK_0_T2 et OK_0_T3. Dans cette exemple, chacune des données d'authentification AUTH_D1, AUTH_D2 et AUTH_D3 est donc déterminée en calculant un code MAC correspondant, à partir de la deuxième clé mère OK_0_bisl, d'une donnée temporelle TIME_V et d'une donnée de dérivation DERIV_D.The server DP2 then determines (E56) at least one temporary cryptographic key by derivation from the first mother key OK_0. As represented in FIG. 6, it is assumed here that the server DP2 determines at E56 the cryptographic temporary keys OK_0_T1, OK_0_T2 and ΟΚ_0_Τ3 by derivation from the mother key OK_0 and a respective derivation data DERIV_D. To do this, the server DP2 first determines the derivation data DERIV_D then determines the temporary keys OK_0_T1, OK_0_T2 and OK_0_T3 in a similar way to the calculation E16 described above with reference to Figure 5. During this processing step E56 (FIG. 6), the server DP2 also determines, analogously to the step E14 represented in FIG. 5, authentication data AUTH_D1, AUTH_D2 and AUTH_D3 associated respectively with the temporary keys OK_0_T1, OK_0_T2 and OK_0_T3. In this example, each of the authentication data AUTH_D1, AUTH_D2 and AUTH_D3 is thus determined by calculating a MAC code corresponding, from the second mother key OK_0_bisl, a time data TIME_V and a derivation data DERIV_D.
Les données temporelles TIME_V et les données de dérivation DERIV_D se caractérisent de la même manière que décrit précédemment en référence à la figure 5.The time data TIME_V and the derivation data DERIV_D are characterized in the same manner as described above with reference to FIG.
Comme représenté en figure 6, le serveur DP2 envoie (E58) ensuite au terminal Tl un ensemble de données PCK1 comprenant les clés temporaires OK_0_T1, OK_0_T2 et OK_0_T3 ainsi que les données d'authentification associées AUTH_D1, AUTH_D2 et AUTH_D3.As represented in FIG. 6, the server DP2 then sends (E58) to the terminal T1 a set of data PCK1 comprising the temporary keys OK_0_T1, OK_0_T2 and OK_0_T3 as well as the associated authentication data AUTH_D1, AUTH_D2 and AUTH_D3.
Une fois reçues (E58), le terminal Tl enregistre (E59) ces données dans sa mémoire 34 (figure 4).Once received (E58), the terminal T1 stores (E59) these data in its memory 34 (FIG. 4).
Le terminal Tl est ainsi enrôlé auprès du serveur DP2, et plus généralement du système de contrôle SY, dans le sens où le terminal Tl s'est identifié auprès du serveur DP2 et détient à présent en mémoire des clés temporaires cryptographiques déterminées par double dérivation à partir de la clé maîtresse CMK_0. Ces clés temporaires OK_0_T1, OK_0_T2 et OK_0_T3 peuvent être utilisées par le terminal Tl pour accéder au service SR.The terminal T1 is thus enrolled with the server DP2, and more generally with the control system SY, in the sense that the terminal T1 has identified itself with the server DP2 and now holds in memory temporary cryptographic keys determined by double derivation to from the master key CMK_0. These temporary keys OK_0_T1, OK_0_T2 and OK_0_T3 can be used by the terminal Tl to access the SR service.
On suppose que l'utilisateur Ul souhaite à présent accéder au service SR considéré. Pour ce faire, l'utilisateur Ul positionne par exemple son terminal Tl à proximité de sa voiture SR de sorte à ce que le terminal Tl puisse coopérer avec le dispositif électronique DPI (figure 1).It is assumed that the user Ul now wants to access the considered SR service. To do this, the user U1 positions for example his terminal T1 near his car SR so that the terminal T1 can cooperate with the electronic device DPI (Figure 1).
Le dispositif DPI envoie (E60) au terminal Tl une donnée de défi notée ici cil.The device DPI sends (E60) to the terminal T1 a challenge datum noted here cil.
Comme représenté en figure 6, une fois la donnée de défi cl reçue (E60), le terminal Tl détermine (E62) un point courant dans le temps, à savoir dans cet exemple : la date courante et/ou l'heure courante (données temporelles).As represented in FIG. 6, once the challenge data item C1 has been received (E60), the terminal T1 determines (E62) a current point in time, namely in this example: the current date and / or the current time (data temporal).
Le terminal Tl sélectionne (E64) alors, en fonction du point courant dans le temps déterminée en E62, une clé applicable parmi les clés temporaires OK_0_T1, OK_0_T2 et OK_0_T3 reçues en E60. Dans cette exemple, on suppose que le terminal Tl détermine, en fonction des date et/ou heure courantes, que la clé temporaire OK_0_T2 est celle à utiliser et sélectionne donc celle-ci au cours de l'étape E64.The terminal T1 selects (E64) then, according to the current point in the time determined in E62, an applicable key among the temporary keys OK_0_T1, OK_0_T2 and OK_0_T3 received in E60. In this example, it is assumed that the terminal T1 determines, according to the date and / or current time, that the temporary key OK_0_T2 is the one to use and therefore selects it during the step E64.
Lors d'une étape de calcul E66, le terminal Tl génère un code MAC, noté MC12, à partir de la clé temporaire OK_0_T2 sélectionnée en E64 et à partir de la donnée de défi cil reçue en E60. La génération E66 de ce code MAC MC12 s'effectue de façon analogue au calcul E18 décrit ci-avant en référence à la figure 5.During a calculation step E66, the terminal T1 generates a MAC code, denoted MC12, from the temporary key OK_0_T2 selected in E64 and from the challenge datil received in E60. The generation E66 of this MAC code MC12 is performed in a similar manner to the calculation E18 described above with reference to FIG.
Lors d'une étape d'envoi E68, le terminal Tl envoie au dispositif DPI le code MAC MC12 ainsi que l'identifiant ID1 du terminal Tl, les droits d'accès RG1, la donnée de dérivation DERIV_D associée à la clé temporaire OK_0_T2, la donnée temporelle TIME_V associée à la clé temporaire OK_0_T2, et également la donnée d'authentification AUTH_D2 associée à la clé temporaire OK_0_T2. Une fois ces données reçues (E68), le dispositif DPI réalise un traitement (étapes E70-E86) analogue à celui décrit précédemment en référence aux étapes E22-E38 (figure 5).During a sending step E68, the terminal T1 sends the device DPI the MAC code MC12 as well as the identifier ID1 of the terminal T1, the access rights RG1, the derivation data DERIV_D associated with the temporary key OK_0_T2, the time data TIME_V associated with the temporary key OK_0_T2, and also the authentication data AUTH_D2 associated with the temporary key OK_0_T2. Once these data have been received (E68), the DPI device performs a processing (steps E70-E86) similar to that described above with reference to steps E22-E38 (FIG. 5).
Plus particulièrement, lors de l'étape de dérivation E70, le dispositif DPI dérive la première clé mère cryptographique OK_0 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1 de la même manière que lors de l'étape de dérivation E52 réalisée par le serveur DP2.More particularly, during the derivation step E70, the device DPI derives the first cryptographic master key OK_0 from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1 in the same way than during the derivation step E52 performed by the server DP2.
Le dispositif DPI dérive (E72) également la deuxième clé mère cryptographique OK_0_bisl à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1 de la même manière que lors de l'étape de dérivation E54 réalisée par le serveur DP2.The device DPI derives (E72) also the second cryptographic master key OK_0_bisl from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1 in the same manner as during the derivation step E54 performed by the DP2 server.
Au cours d'une étape de vérification E74, le dispositif DPI vérifie la donnée d'authentification AUTH_D2, de la même manière que lors de l'étape de calcul E56 réalisée par le serveur DP2. Le dispositif DPI génère ainsi un code MAC à partir de la deuxième clé mère OK_0_bisl et à partir de la donnée de dérivation DERIV_D et de la donnée temporelle TIME_V reçues en E68. Si le code MAC ainsi obtenu en E74 est identique à la donnée d'authentification AUTH_D2 reçue en E68, le dispositif DPI détecte que la donnée d'authentification AUTH_D2 est valide et procède à l'étape E76. Dans le cas contraire, le procédé prend fin et le dispositif DPI informe éventuellement le terminal Tl que les données reçues sont invalides.During a verification step E74, the device DPI verifies the authentication data AUTH_D2, in the same way as during the calculation step E56 performed by the server DP2. The device DPI thus generates a MAC code from the second mother key OK_0_bisl and from the derivation data DERIV_D and time data TIME_V received in E68. If the MAC code thus obtained in E74 is identical to the authentication data AUTH_D2 received in E68, the DPI detects that the authentication data AUTH_D2 is valid and proceeds to step E76. In the opposite case, the process terminates and the DPI device optionally informs the terminal T1 that the received data are invalid.
Au cours d'une étape de vérification E76, le dispositif DPI vérifie la validité de la donnée temporelle TIME_V reçue en E68, de façon identique à l'étape E28 représentée en figure 5. Le dispositif DPI détermine par exemple un point courant dans le temps, tel que par exemple une date courante et/ou une heure courante, et détermine si la donnée temporelle TIME_V est valide à partir de ce point courant dans le temps.During a verification step E76, the device DPI checks the validity of the time data TIME_V received in E68, identically to the step E28 shown in FIG. 5. The device DPI determines for example a current point in time. , such as for example a current date and / or a current time, and determines whether the time datum TIME_V is valid from this current point in time.
Toujours en référence à la figure 6, le dispositif DPI dérive (E78) ensuite la clé temporaire cryptographique OK_0_T2 à partir de la première clé mère OK_0 obtenue en E70 et de la donnée de dérivation DERIV_D reçue en E68, de la même manière que lors de l'étape E56 réalisée par le serveur DP2.Still referring to FIG. 6, the device DPI derives (E78) then the cryptographic temporary key OK_0_T2 from the first mother key OK_0 obtained in E70 and from the derivation data DERIV_D received in E68, in the same manner as when step E56 performed by the server DP2.
Lors d'une étape de calcul E80, le dispositif DPI génère à son tour un code MAC, noté ici MC13, à partir de la clé temporaire cryptographique OK_0_T2 obtenue en E78 et de la donnée de défi cil envoyée en E60. Ce code MAC MC13 est ici obtenu en effectuant le même calcul que lors de l'étape de calcul E66 réalisée par le terminal Tl pour générer le code MAC MC12.During a calculation step E80, the device DPI in turn generates a MAC code, denoted here MC13, from the temporary cryptographic key OK_0_T2 obtained in E78 and the challenge data cil sent in E60. This MC13 MAC code is here obtained by performing the same calculation as in the calculation step E66 performed by the terminal T1 to generate the MC12 MAC code.
Le dispositif DPI compare (E82) ensuite le code MAC MC12 reçu en E68 avec le code MAC MC13 calculé en E80 et détermine si ces deux codes MAC sont identiques (ou coïncident), ce façon analogue à l'étape E34 représentée en figure 5.The device DPI compares (E82) then the MAC code MC12 received in E68 with the MAC code MC13 calculated in E80 and determines if these two MAC codes are identical (or coincide), this way analogous to the step E34 represented in FIG.
Le dispositif DPI gère ensuite l'accès du terminal Tl au service SR à partir du résultat de la comparaison effectuée en E82 entre les codes MAC MC12 et MC13. Pour ce faire, le dispositif DPI réalise les étapes E84 et E86 de façon analogue aux étapes E36 et E38 représentées en figure 5. En particulier, comme représenté en figure 6, le dispositif DPI autorise ou bloque l'accès du terminal Tl au service SR (étape E84) et envoie une décision DEC11 positive ou négative au terminal Tl (étape E86).The device DPI then manages the access of the terminal T1 to the service SR from the result of the comparison made in E82 between the MAC codes MC12 and MC13. To do this, the DPI device performs steps E84 and E86 similarly to steps E36 and E38 shown in FIG. 5. In particular, as shown in FIG. 6, the DPI device authorizes or blocks the access of the terminal T1 to the SR service. (step E84) and sends a positive or negative decision DEC11 to the terminal T1 (step E86).
La variante représentée en figure 6 permet ainsi avantageusement de mettre à profit les ressources disponibles au niveau du système de contrôle SY, et plus précisément ici du serveur DP2, pour déterminer une ou des clés temporaires cryptographiques susceptibles d'être utilisées par le terminal Tl pour accéder au service SR. En outre, cela permet de ne pas diffuser une ou des clés mères cryptographiques, au caractère sensible, depuis le système de contrôle SY vers un terminal client lorsque ce dernier ne présente pas un niveau de confiance suffisant.The variant represented in FIG. 6 thus advantageously makes it possible to take advantage of the resources available at the level of the control system SY, and more specifically here of the server DP2, to determine one or more temporary cryptographic keys that can be used by the terminal T1 to access the SR service. In addition, this makes it possible not to broadcast one or more sensitive cryptographic motherboards from the SY control system to a client terminal when the latter does not have a sufficient level of confidence.
De la même façon que pour la figure 5, il est possible d'utiliser aussi en E56 (figure 6) la première clé mère cryptographique OK_0 pour calculer les données d'authentification AUTH_D1, AUTH_D2 et AUTH_D3.In the same way as for FIG. 5, it is possible to use also in E56 (FIG. 6) the first cryptographic master key OK_0 to calculate the authentication data AUTH_D1, AUTH_D2 and AUTH_D3.
Figure 7 : deuxième mode de réalisationFigure 7: second embodiment
Un autre mode de réalisation est à présent décrit en référence à la figure 7. Plus précisément, le dispositif DPI et le serveur DP2 mettent collectivement en œuvre un procédé de contrôle en exécutant respectivement les programmes d'ordinateur PG1 et PG2. En parallèle, le terminal Tl met en œuvre un procédé de traitement en exécutant le programme d'ordinateur PG3.Another embodiment is now described with reference to FIG. 7. More specifically, the DPI device and the DP2 server collectively implement a control method by respectively executing the computer programs PG1 and PG2. In parallel, the terminal T1 implements a method of processing by executing the computer program PG3.
Dans un premier temps, le terminal Tl de l'utilisateur Ul et le serveur DP2 coopèrent ensemble pour réaliser une phase dite d'enrôlement (étapes E90-E96) de façon similaire aux étapes E2-E8 représentées en figure 5, à la différence qu'aucune deuxième clé temporaire OK_0_bisl n'est ici utilisée.In a first step, the terminal T1 of the user U1 and the server DP2 cooperate together to perform a so-called enrollment phase (steps E90-E96) similarly to the steps E2-E8 shown in FIG. 5, with the difference that no second temporary key OK_0_bisl is used here.
On suppose ici aussi que cet enrôlement ne se produit qu'une seule fois, par exemple lorsque le propriétaire Ul vient de faire l'acquisition de sa voiture SR et configure son terminal Tl en interagissant avec le serveur DP2 afin de pouvoir accéder par la suite librement à sa voiture. D'autres modes de réalisation sont toutefois possibles.It is also assumed here that this enrollment occurs only once, for example when the owner Ul has just acquired his car SR and configures his terminal T1 by interacting with the server DP2 in order to be able to access thereafter freely to his car. Other embodiments are possible, however.
Comme représenté en figure 7, le terminal Tl envoie (E90) au serveur DP2, lors de cet enrôlement initial, une requête d'enrôlement comportant l'identifiant ID1 du terminal Tl et, éventuellement, des droits d'accès RG1 représentatifs des droits que requière l'utilisateur Ul pour accéder au service SR.As represented in FIG. 7, the terminal T1 sends (E90) to the server DP2, during this initial enrollment, an enrollment request comprising the identifier ID1 of the terminal T1 and, optionally, access rights RG1 representative of the rights that requires the user Ul to access the SR service.
Le serveur DP2 dérive (E92) une première clé mère cryptographique OK_0 à partir de la clé maîtresse CMK_0, de l'identifiant ID1 et des droits d'accès RG1, de façon identique à l'étape E4 représentée en figure 5.The server DP2 derives (E92) a first cryptographic master key OK_0 from the master key CMK_0, the identifier ID1 and the access rights RG1, in a manner identical to the step E4 represented in FIG.
Le serveur DP2 envoie (E96) ensuite la clé mère cryptographique OK_0, et éventuellement les droits d'accès RG1, au terminal Tl.The server DP2 then sends (E96) the cryptographic master key OK_0, and optionally the access rights RG1, to the terminal T1.
Une fois reçus (E96), le terminal Tl enregistre (E98) la clé mère OK_0 et les droits d'accès RG1 dans sa mémoire 34 (figure 4). Dans un exemple particulier, le premier terminal Tl est un terminal de télécommunications, de type smartphone par exemple, et la mémoire locale 34 est une mémoire sécurisée d'une carte SIM ou d'un module d'identité de souscripteur embarqué (de type eUICC pour « embedded Universal Integrated Circuit Card»}.Once received (E96), the terminal T1 stores (E98) the mother key OK_0 and access rights RG1 in its memory 34 (Figure 4). In a particular example, the first terminal T1 is a telecommunications terminal, of the smartphone type for example, and the local memory 34 is a secure memory of a SIM card or an on-board subscriber identity module (eUICC type) for "embedded Universal Integrated Circuit Card"}.
Le terminal Tl est ainsi enrôlé auprès du serveur DP2, et plus généralement du système de contrôle SY, dans le sens où le terminal Tl s'est identifié auprès du serveur DP2 et détient à présent en mémoire la clé mère OK_0 obtenue par dérivation à partir de la clé maîtresse CMK_0. Cette clé mère OK_0 peut être utilisée par le terminal Tl lors de chaque accès au service SR.The terminal T1 is thus enrolled with the server DP2, and more generally with the control system SY, in the sense that the terminal T1 has identified itself with the server DP2 and now holds in memory the mother key OK_0 obtained by derivation from the master key CMK_0. This mother key OK_0 can be used by the terminal T1 at each access to the SR service.
On suppose que l'utilisateur Ul souhaite à présent accéder au service SR considéré. Pour ce faire, l'utilisateur Ul positionne par exemple son terminal Tl à proximité de sa voiture SR de sorte à ce que le terminal Tl puisse coopérer avec le dispositif électronique DPI (figure 1).It is assumed that the user Ul now wants to access the considered SR service. To do this, the user U1 positions for example his terminal T1 near his car SR so that the terminal T1 can cooperate with the electronic device DPI (Figure 1).
Le dispositif DPI envoie (E100) au terminal Tl une donnée de défi notée cl2.The device DPI sends (E100) to the terminal T1 a challenge data item denoted by cl2.
Lors d'une étape E102, le terminal Tl détermine une donnée temporelle DTI représentative de la validité dans le temps d'une clé temporaire cryptographique OK_0_T5 calculée ici en E104 (figure 7). Pour ce faire, le terminal Tl détermine au préalable la donnée temporelle DTI selon une quelconque manière appropriée.During a step E102, the terminal T1 determines a time datum DTI representative of the validity in time of a cryptographic temporary key OK_0_T5 calculated here at E104 (FIG. 7). To do this, the terminal T1 first determines the time data DTI in any appropriate manner.
Plus particulièrement, dans cet exemple de réalisation, le terminal Tl détermine un point courant dans le temps, défini ici par la date courante et/ou l'heure courante. Le terminal Tl détermine alors en E102 la donnée temporelle DTI en fonction de la date courante et/ou de l'heure courante.More particularly, in this embodiment, the terminal T1 determines a current point in time, defined here by the current date and / or the current time. The terminal T1 then determines in E102 the time datum DTI as a function of the current date and / or the current time.
Au cours d'une étape E104, le terminal Tl dérive une clé temporaire cryptographique OK_0_T5 (déjà mentionnée ci-avant) à partir de la clé mère OK_0 reçue en E96 et de la donnée temporelle DTI déterminée en E102. Autrement dit, la clé temporaire OK_0_T5 est déterminée par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée temporelle DTI.During a step E104, the terminal T1 derives a cryptographic temporary key OK_0_T5 (already mentioned above) from the mother key OK_0 received at E96 and the time datum DTI determined at E102. In other words, the temporary key OK_0_T5 is determined by derivation from the mother key OK_0 and taking as input the time data DTI.
Le terminal Tl génère ensuite un code MAC, noté MC14, à partir de la clé temporaire OK_0_T5 et de la donnée de défi cl2, de façon analogue à l'étape E18 (figure 5) ou à l'étape E66 (figure 6).The terminal T1 then generates a MAC code, denoted MC14, from the temporary key OK_0_T5 and the challenge data item cl2, analogously to the step E18 (FIG. 5) or to the step E66 (FIG. 6).
Lors d'une étape d'envoi E108, le terminal Tl envoie au dispositif DPI le code MAC MC14 ainsi que l'identifiant ID1 du terminal Tl et les droits d'accès RG1. Une fois ces données reçues (El08), le dispositif DPI procède à l'étape El 10.During a sending step E108, the terminal T1 sends to the device DPI the MAC code MC14 as well as the identifier ID1 of the terminal T1 and the access rights RG1. Once these data have been received (El08), the DPI device proceeds to step El10.
Lors de l'étape El 10, le dispositif DPI dérive la clé mère cryptographique OK_0 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1, de façon identique à l'étape E22 (figure 5) ou à l'étape E92 (figure 7).During step El 10, the device DPI derives the cryptographic master key OK_0 from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1, identically to step E22. (Figure 5) or step E92 (Figure 7).
Le dispositif DP2 détermine (El 12) en outre une donnée temporelle, notée ici DT2, en fonction d'un point courant dans le temps. Pour ce faire, le dispositif DP2 détermine dans cet exemple la date courante et/ou l'heure courante, et en déduit la donnée temporelle DT2. Dans un exemple particulier, le dispositif DP2 (et plus généralement, le système de contrôle SY) est configuré pour que la donnée temporelle DT2 déterminée en El 12 corresponde à une période de temps prédéfinie, c'est-à-dire une fenêtre (ou créneau) temporelle, pendant laquelle une clé temporaire cryptographique (OK_0_T5, dans cet exemple) est valide.The device DP2 determines (El 12) in addition a time data, denoted here DT2, as a function of a current point in time. To do this, the device DP2 determines in this example the current date and / or the current time, and deduces the time data DT2. In a particular example, the device DP2 (and more generally, the control system SY) is configured so that the time data DT2 determined in E12 corresponds to a predefined period of time, that is to say a window (or time slot, during which a temporary cryptographic key (OK_0_T5, in this example) is valid.
Dans l'exemple considéré ici, on suppose que la donnée temporelle DT2 est identique à la donnée temporelle DTI. Cela peut toutefois ne pas être le cas si le terminal Tl tarde trop longtemps avant d'envoyer son code MAC MC14 en E108 au dispositif DPI.In the example considered here, it is assumed that the temporal data item DT2 is identical to the temporal data item DTI. However, this may not be the case if the terminal Tl takes too long before sending its MAC code MC14 to E108 to the DPI device.
Le dispositif DPI dérive (El 14) alors la clé temporaire cryptographique OK_0_T5 à partir de la clé mère OK_0 et de la donnée temporelle DT2. Pour ce faire, le dispositif DPI détermine la clé temporaire OK_0_T5 par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée temporelle DT2 déterminée en El 12. L'obtention préalable de la donnée temporelle DT2 permet de déterminer la clé temporaire OK_0_T5 qui est en cours de validité au moment du traitement.The device DPI derives (El 14) then the cryptographic temporary key OK_0_T5 from the mother key OK_0 and the time data DT2. To do this, the device DPI determines the temporary key OK_0_T5 by derivation from the mother key OK_0 and taking as input the time data DT2 determined in El 12. The prior obtaining of the temporal data DT2 makes it possible to determine the temporary key OK_0_T5 which is valid at the time of processing.
Selon un exemple particulier, on fixe une durée de validité prédéfinie pour différentes clés temporaires. Cette durée de validité est fixée à 1 heure par exemple. Les données temporelles associées à chacune des clés temporaires correspondent à des heures fixes pleines, par exemple les heures « 13h00 », « 14h00 », « 15h00 »... Ainsi, toutes les heures, une nouvelle clé temporaire est valable pendant 1 heure. Le système de contrôle SY vérifie ainsi de la manière suivante : il regarde quelle heure il est en El 12 et en déduit la valeur de la donnée temporelle DT6. Si l'heure courante est « 13h45 », il en déduit que la donnée temporelle DT2 correspond à l'heure de « 13h00 ». Selon une variante, la valeur de la donnée temporelle DT2 peut être également envoyée par le terminal Tl, et le système de contrôle SY vérifie que cette date et/ou heure n'a pas expirée par rapport à la durée de validité fixée.In a particular example, a predefined validity period is fixed for different temporary keys. This period of validity is fixed at 1 hour for example. The temporal data associated with each of the temporary keys correspond to fixed fixed times, for example the hours "1 pm", "2 pm", "3 pm" ... Thus, every hour, a new temporary key is valid for 1 hour. The control system SY thus checks in the following manner: it looks what time it is in El 12 and deduces the value of the time data DT6. If the current time is "13h45", he deduces that the time data DT2 corresponds to the time of "13h00". According to one variant, the value of the temporal data DT2 can also be sent by the terminal T1, and the control system SY checks that this date and / or time has not expired with respect to the fixed period of validity.
Selon une variante, la donnée temporelle DT2 est différente de la donnée temporelle DTI mais suffisamment proche pour que le dispositif DPI obtienne en El 14 la même clé temporaire cryptographique OK_0_T5 que celle déterminée par le terminal Tl en E104.According to one variant, the temporal datum DT2 is different from the temporal datum DTI but sufficiently close for the device DPI to obtain at El14 the same cryptographic temporary key OK_0_T5 as that determined by the terminal T1 at E104.
Lors d'une étape El 16, le dispositif DPI génère à son tour un code MAC, noté ici MC15, à partir de la clé temporaire cryptographique OK_0_T5 obtenue en El 14 et de la donnée de défi cl2 envoyé en E100. Ce code MAC MC15 est obtenu en effectuant le même calcul que lors de l'étape de calcul E106 réalisée par le terminal Tl.During a step El 16, the device DPI in turn generates a MAC code, here noted MC15, from the temporary cryptographic key OK_0_T5 obtained in El 14 and the challenge data cl2 sent in E100. This MAC code MC15 is obtained by performing the same calculation as during the calculation step E106 performed by the terminal T1.
Le dispositif DPI compare (El 18) ensuite le code MAC MC14 reçu en E108 avec le code MAC MC15 calculé en El 16 et détermine si ces deux codes MAC coïncident. Dans cet exemple, le dispositif DPI vérifie si MC14 et MC15 sont identiques.The device DPI compares (El 18) then the MAC code MC14 received in E108 with the MAC code MC15 calculated in El 16 and determines whether these two MAC codes coincide. In this example, the DPI device checks if MC14 and MC15 are identical.
Le dispositif DPI gère ensuite l'accès du terminal Tl au service SR à partir du résultat de la comparaison effectuée en El 18 entre les codes MAC MC14 et MC15, de façon analogue aux étapes E34-E38 décrites ci-avant en référence à la figure 5.The device DPI then manages the access of the terminal T1 to the service SR from the result of the comparison made in El 18 between the MAC codes MC14 and MC15, similarly to the steps E34-E38 described above with reference to FIG. 5.
Plus précisément, lors d'une étape de traitement E120, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en El 18 si le terminal Tl est autorisé à accéder au service SR selon les droits d'accès RG1. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en El 18 (MC14 = MC15 ?). Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.More precisely, during a processing step E120, the device DPI determines from the result of the comparison made in El 18 if the terminal T1 is authorized to access the service SR according to the access rights RG1. In other words, the DPI device controls access to the SR service according to the result obtained in El 18 (MC14 = MC15?). This control can be concretized by an authorization of access or a blocking.
Le dispositif DPI peut également envoyer (E122) au terminal Tl une réponse DEC12 indiquant sa décision concernant la demande d'accès du terminal Tl au service SR.The device DPI can also send (E122) to the terminal T1 a response DEC12 indicating its decision concerning the access request of the terminal T1 to the service SR.
Dans cet exemple, s'il est détecté en El 18 que les codes MAC MC14 et MC15 sont identiques, le dispositif DPI autorise (E120) l'accès au service SR selon les droits d'accès RG1 et envoie (E122) une réponse DEC12 positive au terminal Tl. Dans le cas contraire (codes MAC MC14 et MC15 différents), le dispositif DPI bloque (E120) l'accès du terminal Tl au service SR et envoie (E122) une réponse DEC12 négative pour en informer le terminal Tl.In this example, if it is detected in El 18 that the MAC codes MC14 and MC15 are identical, the device DPI authorizes (E120) access to the service SR according to the access rights RG1 and sends (E122) a response DEC12 positive to the terminal T1. In the opposite case (different MAC codes MC14 and MC15), the device DPI blocks (E120) the access of the terminal T1 to the service SR and sends (E122) a negative response DEC12 to inform the terminal T1.
Ce mode de réalisation particulier permet avantageusement à un terminal de confiance de garder en mémoire une clé mère cryptographique à partir de laquelle peut être déterminée une clé temporaire applicable pour une période de temps donnée. Le terminal peut ainsi, dans cette période de temps, utiliser cette clé temporaire pour obtenir l'accès au service concerné.This particular embodiment advantageously allows a trusted terminal to keep in memory a cryptographic key from which can be determined a temporary key applicable for a given period of time. The terminal can thus, in this period of time, use this temporary key to obtain access to the service concerned.
Figure 8 : variante du deuxième mode de réalisationFigure 8: Variant of the second embodiment
Dans le mode de réalisation représenté en figure 7, l'envoi E96 de la clé mère cryptographique OK_0 suppose toutefois que le terminal Tl soit un terminal de confiance. En particulier, on optera de préférence pour ce mode de réalisation si le terminal Tl dispose d'une mémoire suffisamment sécurisée pour stocker la clé mère OK_0.In the embodiment shown in FIG. 7, the sending E96 of the cryptographic key OK_0 assumes, however, that the terminal T1 is a trusted terminal. In particular, this embodiment will preferably be chosen if the terminal T1 has a sufficiently secure memory for storing the mother key OK_0.
Une variante du mode de réalisation de la figure 7 est à présent décrite en référence à la figure 8. On suppose ici que le terminal Tl ne présente pas le niveau de confiance requis pour recevoir et stocker en sécurité la clé mère cryptographique OK_0. C'est le cas par exemple lorsque le terminal Tl ne contient pas d'élément sécurisé tel qu'une carte SIM ou un module eUICC. Aussi, cette variante diffère du mode de réalisation de la figure 7 en ce que le serveur DP2 ne fournit pas la clé mère OK_0 au terminal Tl mais fournit directement à celui-ci une ou une pluralité de clés temporaires cryptographiques, de sorte à permettre au terminal Tl d'accéder ensuite au service SR considéré. Le serveur DP2 détermine chaque clé temporaire de la même manière que la clé temporaire OK_0_T5 déterminée par le terminal Tl dans le mode de réalisation de la figure 7 (étape E104).A variant of the embodiment of FIG. 7 is now described with reference to FIG. 8. It is assumed here that the terminal T1 does not have the level of confidence required to receive and securely store the OK_0 cryptographic master key. This is the case, for example, when the terminal T1 does not contain a secure element such as a SIM card or an eUICC module. Also, this variant differs from the embodiment of FIG. 7 in that the server DP2 does not supply the mother key OK_0 to the terminal T1 but supplies it directly with one or a plurality of temporary cryptographic keys, so as to enable the Tl terminal then access the SR service considered. The server DP2 determines each temporary key in the same manner as the temporary key OK_0_T5 determined by the terminal T1 in the embodiment of FIG. 7 (step E104).
Plus particulièrement, comme représenté en figure 8, le terminal Tl et le serveur DP2 coopèrent ensemble pour réaliser une phase dite d'enrôlement (étapes E130-E136). On suppose ici que cet enrôlement ne se produit qu'une seule fois, par exemple lorsque l'utilisateur Ul vient de faire l'acquisition de sa voiture SR et configure son terminal Tl en interagissant avec le serveur DP2 afin de pouvoir accéder par la suite librement à sa voiture. D'autres modes de réalisation sont toutefois possibles.More particularly, as shown in FIG. 8, the terminal T1 and the server DP2 cooperate together to perform a so-called enrollment phase (steps E130-E136). It is assumed here that this enrollment occurs only once, for example when the user Ul has just acquired his car SR and configures his terminal T1 by interacting with the server DP2 in order to be able to access thereafter freely to his car. Other embodiments are possible, however.
Lors de cet enrôlement initial, le terminal Tl envoie (E130) au serveur DP2 une requête d'enrôlement de façon identique à l'étape E90 représentée en figure 7. Cette requête d'enrôlement comporte l'identifiant ID1 du terminal Tl et, éventuellement, des droits d'accès RG1 représentatifs des droits que requière l'utilisateur Ul pour accéder au service SR. Ces droits d'accès RG1 se caractérisent de la même manière que décrit précédemment.During this initial enrollment, the terminal T1 sends (E130) to the server DP2 an enrollment request in identical manner to the step E90 shown in FIG. 7. This enrollment request comprises the identifier ID1 of the terminal T1 and, if appropriate, , RG1 access rights representative of the rights required by the user Ul to access the SR service. These access rights RG1 are characterized in the same manner as described above.
Le serveur DP2 reçoit (E130) la requête d'enrôlement en provenance du terminal Tl puis détermine une première clé mère cryptographique OK_0 (étape E132) de la même manière que lors de l'étape E92 représentée en figure 7.The server DP2 receives (E130) the enrollment request from the terminal T1 and then determines a first cryptographic master key OK_0 (step E132) in the same manner as in the step E92 represented in FIG. 7.
Le serveur DP2 détermine (E134) ensuite au moins une clé temporaire cryptographique par dérivation à partir de la première clé mère OK_0 et d'une donnée temporelle. Comme représenté en figure 8, on suppose ici que le serveur DP2 détermine en E134 les clés temporaires cryptographiques OK_0_T5, OK_0_T6 et OK_0_T7 par dérivation à partir de la clé mère OK_0 et de données temporelles respectives. Pour ce faire, le serveur DP2 détermine au préalable les données temporelles puis détermine les clés temporaires OK_0_T5, OK_0_T6 et OK_0_T7 de façon analogue à l'étape E104 représentée en figure 7. Chaque donnée temporelle est représentative de la période de temps (ou fenêtre temporelle) pendant laquelle la clé temporaire correspondante est valide. La donnée temporelle correspondant à chacune des clés temporaires OK_0_T5, OK_0_T6 et OK_0_T7 peut être choisie de façon arbitraire. La période de temps pendant laquelle une clé temporaire est valide peut être fixée à 1 heure ou 1 jour par exemple.The server DP2 then determines (E134) at least one temporary cryptographic key by derivation from the first mother key OK_0 and a time data item. As represented in FIG. 8, it is assumed here that the server DP2 determines at E134 the cryptographic temporary keys OK_0_T5, OK_0_T6 and OK_0_T7 by derivation from the mother key OK_0 and respective temporal data. To do this, the server DP2 determines the temporal data beforehand and then determines the temporary keys OK_0_T5, OK_0_T6 and OK_0_T7 in a similar way to the step E104 represented in FIG. 7. Each time data is representative of the time period (or time window ) during which the corresponding temporary key is valid. The temporal data corresponding to each of the temporary keys OK_0_T5, OK_0_T6 and OK_0_T7 can be chosen arbitrarily. The period of time during which a temporary key is valid can be set to 1 hour or 1 day for example.
Comme représenté en figure 8, le serveur DP2 envoie (E136) ensuite au terminal Tl un ensemble de données PCK2 comprenant les clés temporaires OK_0_T5, OK_0_T6 et OK_0_T7.As represented in FIG. 8, the server DP2 then sends (E136) to the terminal T1 a set of data PCK2 comprising the temporary keys OK_0_T5, OK_0_T6 and OK_0_T7.
Une fois reçues (E136), le terminal Tl enregistre (E138) ces données dans sa mémoire 34 (figure 4).Once received (E136), the terminal T1 stores (E138) these data in its memory 34 (FIG. 4).
Le terminal Tl est ainsi enrôlé auprès du serveur DP2, et plus généralement du système de contrôle SY, dans le sens où le terminal Tl s'est identifié auprès du serveur DP2 et détient à présent en mémoire des clés temporaires cryptographiques déterminées par double dérivation à partir de la clé maîtresse CMK_0. Ces clés temporaires OK_0_T5, OK_0_T6 et OK_0_T7 peuvent être utilisées par le terminal Tl pour accéder au service SR.The terminal T1 is thus enrolled with the server DP2, and more generally with the control system SY, in the sense that the terminal T1 has identified itself with the server DP2 and now holds in memory temporary cryptographic keys determined by double derivation to from the master key CMK_0. These temporary keys OK_0_T5, OK_0_T6 and OK_0_T7 can be used by the terminal Tl to access the SR service.
On suppose que l'utilisateur Ul souhaite à présent accéder au service SR considéré. Pour ce faire, l'utilisateur Ul positionne par exemple son terminal Tl à proximité de sa voiture SR de sorte à ce que le terminal Tl puisse coopérer avec le dispositif électronique DPI (figure 1).It is assumed that the user Ul now wants to access the considered SR service. To do this, the user U1 positions for example his terminal T1 near his car SR so that the terminal T1 can cooperate with the electronic device DPI (Figure 1).
Le dispositif DPI envoie (E140) alors au terminal Tl une donnée de défi notée cl3.The device DPI sends (E140) then to the terminal T1 a challenge data denoted cl3.
Lors d'une étape E142, le terminal Tl détermine un point courant dans le temps, à savoir dans cet exemple : la date courante et/ou l'heure courante, constituant une donnée temporelle.During a step E142, the terminal T1 determines a current point in time, namely in this example: the current date and / or the current time, constituting a time data.
Le terminal Tl sélectionne (E144) alors, en fonction du point courant dans le temps déterminée en E142, une clé applicable parmi les clés temporaires OK_0_T5, OK_0_T6 et OK_0_T7 reçues en E136. Dans cette exemple, on suppose que le terminal Tl détermine, en fonction des date et/ou heure courantes, que la clé temporaire OK_0_T6 est celle à utiliser et sélectionne donc celle-ci au cours de l'étape E144.The terminal T1 selects (E144) then, according to the current point in the time determined in E142, an applicable key among the temporary keys OK_0_T5, OK_0_T6 and OK_0_T7 received in E136. In this example, it is assumed that the terminal T1 determines, according to the date and / or current time, that the temporary key OK_0_T6 is the one to use and therefore selects it in the step E144.
Lors d'une étape de calcul E146, le terminal Tl génère un code MAC, noté MC16, à partir de la clé temporaire OK_0_T6 sélectionnée en E144 et à partir de la donnée de défi cl3 reçue en E140. La génération E146 de ce code MAC MC16 s'effectue de façon analogue au calcul E106 représenté en figure 7.During a calculation step E146, the terminal T1 generates a MAC code, denoted MC16, from the temporary key OK_0_T6 selected at E144 and from the challenge data item cl3 received at E140. The generation E146 of this MAC code MC16 is performed in a similar manner to the calculation E106 shown in FIG.
Lors d'une étape d'envoi E148, le terminal Tl envoie au dispositif DPI le code MAC MC16 ainsi que l'identifiant ID1 du terminal Tl et les droits d'accès RG1. Une fois ces données reçues (E148), le dispositif DPI réalise un traitement (étapes E150-E162) analogue à celui décrit précédemment en référence aux étapes E110-E122 (figure 7).During a sending step E148, the terminal T1 sends the device DPI MAC code MC16 as well as the identifier ID1 of the terminal T1 and the access rights RG1. Once these data have been received (E148), the DPI device performs a processing (steps E150-E162) similar to that described previously with reference to steps E110-E122 (FIG. 7).
Plus précisément, lors de l'étape E150, le dispositif DPI dérive la clé mère cryptographique OK_0 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1, de façon identique à l'étape E22 (figure 5) ou à l'étape E132 (figure 8) par exemple.More precisely, during step E150, the device DPI derives the cryptographic master key OK_0 from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1, in a manner identical to the step E22 (Figure 5) or step E132 (Figure 8) for example.
Le dispositif DP2 détermine (E152) en outre une donnée temporelle, notée ici DT3, représentative d'un point courant dans le temps. Pour ce faire, le dispositif DP2 détermine dans cet exemple la date courante et/ou l'heure courante, et en déduit la donnée temporelle DT3. Dans un exemple particulier, le dispositif DP2 est configuré pour que la donnée temporelle DT3 déterminée en E152 corresponde à une période de temps prédéfinie, c'est-à-dire une fenêtre (ou créneau) temporelle, dans laquelle se situe le point courant dans le temps. Ainsi, la donnée temporelle DT3 peut varier selon la fenêtre temporelle dans laquelle se situe le dispositif DP2 lors de son traitement au cours des étapes E150-E162. La donnée temporelle DT3 est par exemple déterminée de la même façon que la donnée temporelle DT2, comme décrit précédemment en référence à l'étape E112 (figure 7).The device DP2 determines (E152) furthermore a time data item, here denoted DT3, representative of a current point in time. To do this, the device DP2 determines in this example the current date and / or the current time, and deduces the time data DT3. In a particular example, the device DP2 is configured so that the time data DT3 determined in E152 corresponds to a predefined period of time, that is to say a window (or time slot), in which is the current point in the weather. Thus, the time data DT3 may vary according to the time window in which the device DP2 is located during its processing during steps E150-E162. The time data DT3 is for example determined in the same way as the time data DT2, as described previously with reference to step E112 (FIG. 7).
Le dispositif DPI dérive (E154) alors la clé temporaire cryptographique OK_0_T6 à partir de la clé mère OK_0 et de la donnée temporelle DT3. Pour ce faire, le dispositif DPI détermine la clé temporaire OK_0_T6 par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée temporelle DT3 déterminée en E152. L'obtention préalable de la donnée temporelle DT3 permet de déterminer la clé temporaire OK_0_T6 qui est en cours de validité au moment du traitement. On suppose dans le cas présent que la donnée temporelle DT3 est ici identique à la donnée temporelle précédemment utilisée en E134 par le serveur DP2 pour obtenir, par dérivation de la clé mère OK_0, la clé temporaire OK_0_T6. Le dispositif DPI obtient donc ici en E154 la clé temporaire OK_0_T6.The device DPI derives (E154) then the cryptographic temporary key OK_0_T6 from the mother key OK_0 and the time data DT3. To do this, the device DPI determines the temporary key OK_0_T6 by derivation from the mother key OK_0 and taking as input the time data DT3 determined in E152. Prior obtaining of the temporal data DT3 makes it possible to determine the temporary key OK_0_T6 which is valid at the time of the processing. Suppose in this case that the time data DT3 is here identical to the time data previously used in E134 by the server DP2 to obtain, by derivation of the mother key OK_0, the temporary key OK_0_T6. The device DPI thus obtains here in E154 the temporary key OK_0_T6.
Lors d'une étape E156, le dispositif DPI génère à son tour un code MAC, noté ici MC17, à partir de la clé temporaire cryptographique OK_0_T6 obtenue en E154 et de la donnée de défi cl3 envoyée en E140. Ce code MAC MC17 est obtenu en effectuant le même calcul que celui réalisé par le serveur DP2, lors de l'étape E134, pour déterminer la clé temporaire OK_0_T6.During a step E156, the device DPI in turn generates a MAC code, here noted MC17, from the temporary cryptographic key OK_0_T6 obtained in E154 and the challenge data cl3 sent in E140. This MAC code MC17 is obtained by performing the same calculation as that carried out by the server DP2, during the step E134, to determine the temporary key OK_0_T6.
Le dispositif DPI compare (E158) ensuite le code MAC MC16 reçu en E148 avec le code MAC MC17 calculé en E156 et détermine si ces deux codes MAC coïncident. Dans cet exemple, le dispositif DPI vérifie si MC16 et MC17 sont identiques.The device DPI compares (E158) then the MC16 MAC code received in E148 with the MAC code MC17 calculated in E156 and determines whether these two MAC codes coincide. In this example, the DPI device checks whether MC16 and MC17 are identical.
Le dispositif DPI gère ensuite l'accès du terminal Tl au service SR à partir du résultat de la comparaison effectuée en E158 entre les codes MAC MC16 et MC17, de façon analogue aux étapes E118-E122 décrites ci-avant en référence à la figure 7.The device DPI then manages the access of the terminal T1 to the service SR from the result of the comparison made in E158 between the MAC codes MC16 and MC17, similarly to the steps E118-E122 described above with reference to FIG. .
Plus précisément, lors d'une étape E160, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en E158 si le terminal Tl est autorisé à accéder au service SR selon les droits d'accès RG1. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en E158 (MC16 = MC17 ?). Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.More precisely, during a step E160, the device DPI determines from the result of the comparison performed in E158 if the terminal T1 is authorized to access the service SR according to the access rights RG1. In other words, the DPI device controls access to the SR service according to the result obtained in E158 (MC16 = MC17?). This control can be concretized by an authorization of access or a blocking.
Le dispositif DPI peut également envoyer (E162) au terminal Tl une réponse DEC13 indiquant sa décision concernant la demande d'accès du terminal Tl au service SR.The device DPI can also send (E162) to the terminal T1 a response DEC13 indicating its decision concerning the access request of the terminal T1 to the service SR.
Dans cet exemple, s'il est détecté en E158 que les codes MAC MC16 et MC17 sont identiques, le dispositif DPI autorise (E160) l'accès au service SR selon les droits d'accès RG1 et envoie (E162) une réponse DEC13 positive au terminal Tl. Dans le cas contraire (codes MAC MC16 et MC17 différents), le dispositif DPI bloque (E160) l'accès du terminal Tl au service SR et envoie (E162) une réponse DEC13 négative pour en informer le terminal Tl.In this example, if it is detected in E158 that the MAC codes MC16 and MC17 are identical, the device DPI authorizes (E160) the access to the service SR according to the access rights RG1 and sends (E162) a positive answer DEC13 at the terminal T1. Otherwise (different MAC codes MC16 and MC17), the device DPI blocks (E160) the access of the terminal T1 to the service SR and sends (E162) a negative response DEC13 to inform the terminal T1.
La variante représentée en figure 8 permet ainsi avantageusement de mettre à profit les ressources disponibles au niveau du système de contrôle SY, et plus précisément ici du serveur DP2, pour déterminer une ou des clés temporaires cryptographiques susceptibles d'être utilisées par le terminal Tl pour accéder au service SR. En outre, cela permet de ne pas diffuser une clé mère cryptographique, au caractère sensible, depuis le système de contrôle SY vers terminal client lorsque ce dernier ne présente pas un niveau de confiance suffisant.The variant represented in FIG. 8 thus advantageously makes it possible to take advantage of the resources available at the level of the control system SY, and more precisely here of the server DP2, to determine one or more temporary cryptographic keys that can be used by the terminal T1 to access the SR service. In addition, this makes it possible not to broadcast a sensitive, cryptographic key mother from the SY control system to the client terminal when the latter does not have a sufficient level of confidence.
Les modes de réalisation des figures 7 et 8 sont avantageux en ce qu'il n'est pas nécessaire de déterminer une donnée d'authentification pour chaque clé temporaire cryptographique, comme cela est le cas dans les modes de réalisation des figures 5 et 6 par exemple, rendant ainsi les traitements moins complexes et plus économes en ressources.The embodiments of FIGS. 7 and 8 are advantageous in that it is not necessary to determine an authentication datum for each cryptographic temporary key, as is the case in the embodiments of FIGS. 5 and 6 example, making the processing less complex and more resource-efficient.
Figure 9 : troisième mode de réalisationFigure 9: Third Embodiment
Un autre mode de réalisation, proche de celui représenté en figure 7, est à présent décrit en référence à la figure 9. Plus précisément, le dispositif DPI et le serveur DP2 mettent collectivement en œuvre un procédé de contrôle en exécutant respectivement les programmes d'ordinateur PG1 et PG2. En parallèle, le terminal Tl met en œuvre un procédé de traitement en exécutant le programme d'ordinateur PG3.Another embodiment, similar to that shown in FIG. 7, is now described with reference to FIG. 9. More specifically, the DPI device and the DP2 server collectively implement a control method by respectively executing the programs of FIG. computer PG1 and PG2. In parallel, the terminal T1 implements a method of processing by executing the computer program PG3.
Comme décrit ci-après, ce mode de réalisation diffère de celui représenté en figure 7 en ce qu'une donnée de dérivation DERIV_D est en outre utilisée pour déterminer la ou les clés temporaires cryptographiques.As described below, this embodiment differs from that shown in FIG. 7 in that a derivation data item DERIV_D is furthermore used to determine the cryptographic temporary key (s).
Dans un premier temps, on suppose que le terminal Tl de l'utilisateur Ul et le serveur DP2 coopèrent ensemble pour réaliser une phase dite d'enrôlement (étapes E170-E174) de façon identique aux étapes E90-E96 représentées en figures 7.In a first step, it is assumed that the terminal T1 of the user U1 and the server DP2 cooperate together to perform a so-called enrollment phase (steps E170-E174) identically to the steps E90-E96 shown in FIGS.
On suppose ici aussi que cet enrôlement ne se produit qu'une seule fois, par exemple lorsque le propriétaire Ul vient de faire l'acquisition de sa voiture SR et configure son terminal Tl en interagissant avec le serveur DP2 afin de pouvoir accéder par la suite librement à sa voiture. D'autres modes de réalisation sont toutefois possibles.It is also assumed here that this enrollment occurs only once, for example when the owner Ul has just acquired his car SR and configures his terminal T1 by interacting with the server DP2 in order to be able to access thereafter freely to his car. Other embodiments are possible, however.
Comme représenté en figure 9, le terminal Tl envoie (E170) au serveur DP2, lors de cet enrôlement initial, une requête d'enrôlement comportant l'identifiant ID1 du terminal Tl et, éventuellement, des droits d'accès RG1 représentatifs des droits que requière l'utilisateur U1 pour accéder au service SR. Ces droits d'accès RG1 se caractérisent comme déjà décrits ci-avant en référence aux précédents modes de réalisation.As represented in FIG. 9, the terminal T1 sends (E170) to the server DP2, during this initial enrollment, an enrollment request comprising the identifier ID1 of the terminal T1 and, optionally, access rights RG1 representative of the rights that requires user U1 to access the SR service. These access rights RG1 are characterized as already described above with reference to the previous embodiments.
Le serveur DP2 dérive (E172) une première clé mère cryptographique OK_0 à partir de la clé maîtresse CMK_0, de l'identifiant ID1 et des droits d'accès RG1, de façon identique à l'étape E4 représentée en figure 5 ou à l'étape E92 représentée en figure 7.The server DP2 derives (E172) a first cryptographic master key OK_0 from the master key CMK_0, the identifier ID1 and the access rights RG1, identically to the step E4 represented in FIG. step E92 shown in FIG.
Le serveur DP2 envoie (E174) ensuite la clé mère cryptographique OK_0, et éventuellement les droits d'accès RG1, au terminal Tl.The server DP2 then sends (E174) the cryptographic master key OK_0, and possibly the access rights RG1, to the terminal T1.
Une fois reçus (E174), le terminal Tl enregistre (E176) la clé mère OK_0 et les droits d'accès RG1 dans sa mémoire 34 (figure 4). Dans un exemple particulier, le premier terminal Tl est un terminal de télécommunications, de type smartphone par exemple, et la mémoire locale 34 est une mémoire sécurisée d'une carte SIM ou d'un module d'identité de souscripteur embarqué (de type eUICC pour « embedded Universal Integrated Circuit Card»}.Once received (E174), the terminal T1 stores (E176) the mother key OK_0 and access rights RG1 in its memory 34 (Figure 4). In a particular example, the first terminal T1 is a telecommunications terminal, of the smartphone type for example, and the local memory 34 is a secure memory of a SIM card or an on-board subscriber identity module (eUICC type) for "embedded Universal Integrated Circuit Card"}.
Le terminal Tl est ainsi enrôlé auprès du serveur DP2, et plus généralement du système de contrôle SY, dans le sens où le terminal Tl s'est identifié auprès du serveur DP2 et détient à présent en mémoire la clé mère OK_0 obtenue par dérivation à partir de la clé maîtresse CMK_0. Cette clé mère OK_0 peut être utilisée par le terminal Tl lors de chaque accès au service SR.The terminal T1 is thus enrolled with the server DP2, and more generally with the control system SY, in the sense that the terminal T1 has identified itself with the server DP2 and now holds in memory the mother key OK_0 obtained by derivation from the master key CMK_0. This mother key OK_0 can be used by the terminal T1 at each access to the SR service.
On suppose que l'utilisateur U1 souhaite à présent accéder au service SR considéré. Pour ce faire, l'utilisateur U1 positionne par exemple son terminal Tl à proximité de sa voiture SR de sorte à ce que le terminal Tl puisse coopérer avec le dispositif électronique DPI (figure 1).It is assumed that the user U1 now wishes to access the SR service considered. To do this, the user U1 positions for example its terminal T1 near its car SR so that the terminal T1 can cooperate with the electronic device DPI (Figure 1).
Le dispositif DPI envoie (E178) alors au terminal Tl une donnée de défi notée cl4.The device DPI then sends (E178) to the terminal T1 a challenge data item denoted cl4.
Lors d'une étape E180, le terminal Tl détermine une donnée temporelle DT5 de façon analogue à l'étape E102 (figure 7). Cette donnée temporelle DT5 est représentative de la validité dans le temps d'une clé temporaire cryptographique OK_0_T8 calculée ici en E184. Pour ce faire, le terminal Tl détermine au préalable la donnée temporelle DT5 selon une quelconque manière appropriée.During a step E180, the terminal T1 determines a time data DT5 similarly to the step E102 (FIG. 7). This time data DT5 is representative of the validity in time of a cryptographic temporary key OK_0_T8 calculated here at E184. To do this, the terminal T1 first determines the time data DT5 in any appropriate manner.
Plus particulièrement, dans cet exemple de réalisation, le terminal Tl détermine un point courant dans le temps, défini ici par la date courante et/ou l'heure courante. Le terminal Tl détermine alors en E180 la donnée temporelle DT5 en fonction de la date courante et/ou de l'heure courante.More particularly, in this embodiment, the terminal T1 determines a current point in time, defined here by the current date and / or the current time. The terminal T1 then determines in E180 the time data DT5 as a function of the current date and / or the current time.
Ce mode de réalisation diffère de celui représenté en figure 7 en ce que le terminal Tl détermine (E182) en outre une donnée de dérivation DERIV_D et utilise celle-ci lors d'une étape de dérivation E184 pour déterminer la clé temporaire cryptographique OK_0_T8 déjà mentionnée ci-avant.This embodiment differs from that represented in FIG. 7 in that the terminal T1 determines (E182) furthermore a derivation data item DERIV_D and uses it during a derivation step E184 to determine the temporary cryptographic key OK_0_T8 already mentioned. above.
Plus précisément, le terminal Tl sélectionne en E182 une donnée de dérivation DERIV_D selon une quelconque méthode appropriée. Le terminal Tl dérive (E184) ensuite la clé temporaire cryptographique OK_0_T8 à partir de la clé mère OK_0, de la donnée temporelle DT5 obtenue en E180 et la donnée de dérivation DERIV_D obtenue en E182. Autrement dit, la clé temporaire OK_0_T8 est déterminée par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée temporelle DT5 et la donnée de dérivation DERIV_D.More precisely, the terminal T1 selects at E182 a derivation data item DERIV_D according to any appropriate method. The terminal T1 derives (E184) then the temporary cryptographic key OK_0_T8 from the mother key OK_0, the time data DT5 obtained in E180 and the derivation data DERIV_D obtained in E182. In other words, the temporary key OK_0_T8 is determined by derivation from the mother key OK_0 and taking as input the time data DT5 and the derivation data DERIV_D.
La donnée DERIV_D est par exemple choisie (E182) par le terminal Tl en fonction de la donnée temporelle DT5 déterminés en E180 et/ou en fonction d'un historique de clés temporaires générées dans le passé par le terminal Tl. Selon un exemple particulier, le terminal Tl peut générer jusqu'à un nombre maximum prédéfini de clés temporaires différentes applicables pour une même une période de temps (ou fenêtre temporelle) prédéterminée. A chaque demande d'accès au service SR, le terminal Tl peut par exemple générer une nouvelle clé temporaire. Dans un exemple particulier, un maximum de n clés temporaires distinctes peuvent être générées successivement par le terminal Tl pour accéder à différents moments au service SR dans une période de temps prédéfinie (n = 10, par exemple). L'utilisation d'une telle donnée de dérivation DERIV_D permet donc au terminal Tl de déterminer une nouvelle clé temporaire applicable pour une période de temps prédéfinie à chaque itération de l'étape E184.The data DERIV_D is for example chosen (E182) by the terminal T1 as a function of the time data DT5 determined in E180 and / or according to a history of temporary keys generated in the past by the terminal T1. According to one particular example, the terminal T1 can generate up to a predefined maximum number of different temporary keys applicable for the same a predetermined period of time (or time window). At each request for access to the SR service, the terminal T1 may for example generate a new temporary key. In a particular example, a maximum of n distinct temporary keys can be generated successively by the terminal T1 to access different times in the SR service in a predefined period of time (n = 10, for example). The use of such a derivation data DERIV_D thus allows the terminal T1 to determine a new temporary key applicable for a predefined period of time at each iteration of step E184.
Le terminal Tl génère (E186) ensuite un code MAC, noté MC18, à partir de la clé temporaire OK_0_T8 et de la donnée de défi cl4, de façon analogue à l'étape E18 (figure 5) ou à l'étape E106 (figure 7) par exemple.The terminal T1 then generates (E186) a MAC code, denoted MC18, from the temporary key OK_0_T8 and the challenge data item cl4, analogously to the step E18 (FIG. 5) or to the step E106 (FIG. 7) for example.
Lors d'une étape d'envoi E188, le terminal Tl envoie au dispositif DPI le code MAC MC18 ainsi que l'identifiant ID1 du terminal Tl, les droits d'accès RG1 et la donnée de dérivation DERIV_D déterminée en E182. Une fois ces données reçues (E188), le dispositif DPI procède à l'étape E190.During a sending step E188, the terminal T1 sends the device DPI MAC code MC18 as well as the identifier ID1 of the terminal T1, the access rights RG1 and the derivation data DERIV_D determined in E182. Once this data has been received (E188), the DPI device proceeds to step E190.
Lors de l'étape E190, le dispositif DPI dérive la clé mère cryptographique OK_0 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1, de façon identique à l'étape E172, ou encore à l'étape E22 (figure 5) ou à l'étape E92 (figure 7) par exemple.In step E190, the device DPI derives the cryptographic master key OK_0 from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1, identically to the step E172. or again in step E22 (FIG. 5) or step E92 (FIG. 7) for example.
Le dispositif DP2 détermine (E192) en outre, de façon analogue à l'étape El 12 (figure 7), une donnée temporelle, notée ici DT6, représentative d'un point courant dans le temps. Pour ce faire, le dispositif DP2 détermine dans cet exemple la date courante et/ou l'heure courante, et en déduit la donnée temporelle DT6. Dans un exemple particulier, le dispositif DP2 est configuré pour que la donnée temporelle DT6 déterminée en E192 corresponde à une période de temps prédéfinie, c'est-à-dire une fenêtre (ou créneau) temporelle, dans laquelle se situe le point courant dans le temps. Ainsi, la donnée temporelle DT6 peut varier selon la fenêtre temporelle dans laquelle se situe le dispositif DP2 lors de son traitement au cours des étapes E188-E202.The device DP2 further determines (E192), analogously to the step E12 (FIG. 7), a time datum, denoted herein DT6, representative of a current point in time. To do this, the device DP2 determines in this example the current date and / or the current time, and deduces the time data DT6. In a particular example, the device DP2 is configured so that the time data DT6 determined in E192 corresponds to a predefined period of time, that is to say a window (or time slot), in which the current point is located in the weather. Thus, the temporal data DT6 may vary according to the time window in which the device DP2 is located during its processing during the steps E188-E202.
Dans l'exemple considéré ici, on suppose que la donnée temporelle DT6 est identique à la donnée temporelle DT5. Cela peut toutefois ne pas être le cas si le terminal Tl tarde trop longtemps avant d'envoyer au dispositif DPI son code MAC MC18 en E188 (figure 9) ou si le terminal Tl utilise une clé obsolète en E184.In the example considered here, it is assumed that the time data DT6 is identical to the time data DT5. However, this may not be the case if the terminal Tl delays too long before sending the DPI device its MAC code MC18 at E188 (FIG. 9) or if the terminal T1 uses an obsolete key at E184.
Le dispositif DPI dérive (E194) alors la clé temporaire cryptographique OK_0_T8 à partir de la clé mère OK_0, de la donnée temporelle DT6 et de la donnée de dérivation DERIV_D. Autrement dit, le dispositif DPI détermine la clé temporaire OK_0_T8 par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée temporelle DT6 déterminée en E192 et de la donnée de dérivation DERIV_D reçue en E188. L'obtention préalable de la donnée temporelle DT6 et de la donnée de dérivation DERIV_D permet ainsi de déterminer la clé temporaire OK_0_T6 qui est en cours de validité au moment du traitement.The device DPI derives (E194) then the cryptographic temporary key OK_0_T8 from the mother key OK_0, the temporal data DT6 and the derivation data DERIV_D. In other words, the device DPI determines the temporary key OK_0_T8 by derivation from the mother key OK_0 and taking as input the time data DT6 determined in E192 and the derivation data DERIV_D received in E188. Prior obtaining of the time data DT6 and the derivation data DERIV_D thus makes it possible to determine the temporary key OK_0_T6 which is valid at the time of processing.
Selon un exemple particulier, on fixe auprès du système de contrôle SY une durée de validité prédéfinie pour chaque clé temporaire. Cette durée de validité est fixée à 1 heure par exemple. Les données temporelles associées à chacune des clés temporaires correspondent à des heures fixes pleines, par exemple les heures « 13h00 », « 14h00 », « 15h00 »... Ainsi, toutes les heures, une nouvelle clé temporaire est valable pendant 1 heure. Le système de contrôle SY vérifie ainsi de la manière suivante : il regarde quelle heure il est en E192 et en déduit la valeur de la donnée temporelle DT6. Si l'heure courante est « 13h45 », il en déduit que la donnée temporelle DT6 correspond à l'heure de « 13h00 ». Selon une variante, la valeur de la donnée temporelle DT6 pourrait être également envoyée par le terminal Tl, et le système de contrôle SY vérifie que cette date et/ou heure n'a pas expirée par rapport à la durée de validité fixée.According to a particular example, the SY control system has a predefined validity period for each temporary key. This period of validity is fixed at 1 hour for example. The temporal data associated with each of the temporary keys correspond to fixed fixed times, for example the hours "1 pm", "2 pm", "3 pm" ... Thus, every hour, a new temporary key is valid for 1 hour. The control system SY thus checks in the following manner: it looks what time it is in E192 and deduces the value of the time data DT6. If the current time is "13h45", he deduces that the time data DT6 corresponds to the time of "13h00". According to one variant, the value of the temporal data DT6 could also be sent by the terminal T1, and the control system SY checks that this date and / or time has not expired with respect to the fixed period of validity.
Lors d'une étape de calcul E196 (figure 9), le dispositif DPI génère à son tour un code MAC, noté ici MC19, à partir de la clé temporaire cryptographique OK_0_T8 obtenue en E194 et de la donnée de défi cl4 envoyé en E178. Ce code MAC MC19 est obtenu en effectuant le même calcul que lors de l'étape de calcul E186 réalisée par le terminal Tl.During a calculation step E196 (FIG. 9), the device DPI in turn generates a MAC code, here noted MC19, from the temporary cryptographic key OK_0_T8 obtained in E194 and the challenge data cl4 sent at E178. This MAC code MC19 is obtained by performing the same calculation as in the calculation step E186 performed by the terminal T1.
Le dispositif DPI compare (E198) ensuite le code MAC MC18 reçu en E188 avec le code MAC MC19 calculé en E196 et détermine si ces deux codes MAC coïncident. Dans cet exemple, le dispositif DPI vérifie si MC18 et MC19 sont identiques.The device DPI compares (E198) then the MAC code MC18 received in E188 with the MAC code MC19 calculated in E196 and determines whether these two MAC codes coincide. In this example, the DPI device checks whether MC18 and MC19 are identical.
Le dispositif DPI gère ensuite l'accès du terminal Tl au service SR à partir du résultat de la comparaison effectuée en E198 entre les codes MAC MC18 et MC19, de façon analogue aux étapes E34-E38 (figure 5) ou aux étapes E118-E122 (figure 7) par exemple.The device DPI then manages the access of the terminal T1 to the service SR from the result of the comparison made in E198 between the MAC codes MC18 and MC19, similarly to the steps E34-E38 (FIG. 5) or to the steps E118-E122 (Figure 7) for example.
Plus précisément, lors d'une étape E200, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en E198 si le terminal Tl est autorisé à accéder au service SR selon les droits d'accès RG1. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en E198 (MC18 = MC19 ?). Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.More precisely, during a step E200, the device DPI determines from the result of the comparison performed in E198 if the terminal T1 is authorized to access the service SR according to the access rights RG1. In other words, the DPI device controls access to the SR service according to the result obtained in E198 (MC18 = MC19?). This control can be concretized by an authorization of access or a blocking.
Le dispositif DPI peut également envoyer (E202) au terminal Tl une réponse DEC14 indiquant sa décision concernant la demande d'accès du terminal Tl au service SR.The device DPI can also send (E202) to the terminal T1 a response DEC14 indicating its decision concerning the access request of the terminal T1 to the service SR.
Dans cet exemple, s'il est détecté en E198 que les codes MAC MC18 et MC19 sont identiques, le dispositif DPI autorise (E200) l'accès au service SR selon les droits d'accès RG1 et envoie (E202) une réponse DEC14 positive au terminal Tl. Dans le cas contraire (codes MAC MC18 et MC19 différents), le dispositif DPI bloque (E200) l'accès du terminal Tl au service SR et envoie (E202) une réponse DEC14 négative pour en informer le terminal Tl.In this example, if it is detected in E198 that the MAC codes MC18 and MC19 are identical, the DPI device authorizes (E200) access to the SR service according to the access rights RG1 and sends (E202) a positive DEC14 response. at the terminal T1. In the opposite case (different MAC codes MC18 and MC19), the device DPI blocks (E200) the access of the terminal T1 to the service SR and sends (E202) a negative answer DEC14 to inform the terminal T1.
Comme décrit précédemment, l'utilisation d'une donnée de dérivation DERIV_D lors des étapes E184 et E194 (figure 9) permet avantageusement de générer plusieurs clés temporaires cryptographiques applicables pour une période de temps prédéfinie. Ainsi, le terminal Tl peut générer et utiliser une nouvelle clé temporaire cryptographique à chaque fois qu'il demande l'accès au service SR dans une période de temps prédéfinie. Il est de ce fait plus difficile pour un tiers malveillant de déterminer la clé temporaire applicable à un instant donné, ce qui sécurise encore d'avantage l'accès au service considéré.As described above, the use of a derivation data item DERIV_D during steps E184 and E194 (FIG. 9) advantageously makes it possible to generate several cryptographic temporary keys applicable for a predefined period of time. Thus, the terminal T1 can generate and use a new cryptographic temporary key each time it requests access to the SR service in a predefined period of time. It is therefore more difficult for a malicious third party to determine the temporary key applicable at a given time, which further secures access to the service in question.
Figure 10 : variante du troisième mode de réalisationFigure 10: Variant of the third embodiment
Dans le mode de réalisation représenté en figure 9, l'envoi E174 de la clé mère cryptographique OK_0 suppose toutefois que le terminal Tl soit un terminal de confiance. En particulier, on optera de préférence pour ce mode de réalisation si le terminal Tl dispose d'une mémoire suffisamment sécurisée pour stocker la clé mère OK_0.In the embodiment shown in FIG. 9, the sending E174 of the OK_0 cryptographic key, however, assumes that the terminal T1 is a trusted terminal. In particular, this embodiment will preferably be chosen if the terminal T1 has a sufficiently secure memory for storing the mother key OK_0.
Une variante du mode de réalisation de la figure 9 est à présent décrite en référence à la figure 10. On suppose ici que le terminal Tl ne présente pas le niveau de confiance requis pour recevoir et stocker en sécurité la clé mère cryptographique OK_0. C'est le cas par exemple lorsque le terminal Tl ne contient pas d'élément sécurisé tel qu'une carte SIM ou un module eUICC. Aussi, cette variante diffère du mode de réalisation de la figure 9 en que le serveur DP2 ne fournit pas la clé mère OK_0 au terminal Tl mais fournit directement à celui-ci une ou une pluralité de clés temporaires cryptographiques, de sorte à permettre au terminal Tl d'accéder ensuite au service SR considéré. Le serveur DP2 détermine chaque clé temporaire de la même manière que la clé temporaire OK_0_T8 déterminée par le terminal Tl dans le mode de réalisation de la figure 9 (étape E184).A variant of the embodiment of FIG. 9 is now described with reference to FIG. 10. It is assumed here that the terminal T1 does not have the level of confidence required to receive and securely store the OK_0 cryptographic master key. This is the case, for example, when the terminal T1 does not contain a secure element such as a SIM card or an eUICC module. Also, this variant differs from the embodiment of FIG. 9 in that the server DP2 does not supply the mother key OK_0 to the terminal T1 but supplies it directly with one or a plurality of temporary cryptographic keys, so as to enable the terminal Tl then access the SR service considered. The server DP2 determines each temporary key in the same manner as the temporary key OK_0_T8 determined by the terminal T1 in the embodiment of FIG. 9 (step E184).
Plus particulièrement, comme représenté en figure 10, le terminal Tl et le serveur DP2 coopèrent ensemble pour réaliser une phase dite d'enrôlement (étapes E210-E216). On suppose ici que cet enrôlement ne se produit qu'une seule fois, par exemple lorsque l'utilisateur Ul vient de faire l'acquisition de sa voiture SR et configure son terminal Tl en interagissant avec le serveur DP2 afin de pouvoir accéder par la suite librement à sa voiture. D'autres modes de réalisation sont toutefois possibles.More particularly, as represented in FIG. 10, the terminal T1 and the server DP2 cooperate together to carry out a so-called enrollment phase (steps E210-E216). It is assumed here that this enrollment occurs only once, for example when the user Ul has just acquired his car SR and configures his terminal T1 by interacting with the server DP2 in order to be able to access thereafter freely to his car. Other embodiments are possible, however.
Lors de cet enrôlement initial, le terminal Tl envoie (E210) au serveur DP2 une requête d'enrôlement de façon identique à l'étape E2 représentée en figure 5 ou encore à l'étape E170 représentée en figure 9. Cette requête d'enrôlement comporte l'identifiant ID1 du terminal Tl et, éventuellement, des droits d'accès RG1 représentatifs des droits que requière l'utilisateur Ul pour accéder au service SR. Ces droits d'accès RG1 se caractérisent de la même manière que décrit dans les modes de réalisation précédents.During this initial enrollment, the terminal T1 sends (E210) to the DP2 server an enrollment request in identical manner to the step E2 shown in FIG. 5 or again to the step E170 represented in FIG. 9. This enrollment request comprises the identifier ID1 of the terminal T1 and, optionally, access rights RG1 representative of the rights required by the user Ul to access the service SR. These access rights RG1 are characterized in the same manner as described in the previous embodiments.
Le serveur DP2 reçoit (E210) la requête d'enrôlement en provenance du terminal Tl puis détermine une première clé mère cryptographique OK_0 (étape E212) de façon identique à l'étape E4 représentée en figure 5 ou encore à l'étape E172 représentée en figure 9.The server DP2 receives (E210) the enrollment request from the terminal T1 and then determines a first cryptographic master key OK_0 (step E212) identically to the step E4 represented in FIG. 5 or again in the step E172 represented in FIG. figure 9.
Le serveur DP2 détermine (E214) ensuite au moins une clé temporaire cryptographique par dérivation à partir de la première clé mère OK_0, d'une donnée temporelle et d'une donnée de dérivation. Comme représenté en figure 10, on suppose ici que le serveur DP2 détermine en E214 les clés temporaires cryptographiques suivantes : - les clés temporaires OK_0_T81 et OK_0_T82 applicables pendant une première période de temps prédéfinie ; - les clés temporaires OK_0_T91 et OK_0_T92 applicables pendant une deuxième période de temps prédéfinie ; - les clés temporaires OK_0_T101 et OK_0_T102 applicables pendant une troisième période de temps prédéfinie.The server DP2 determines (E214) then at least one temporary cryptographic key by derivation from the first mother key OK_0, a time data and a derivation data. As represented in FIG. 10, it is assumed here that the server DP2 determines in E214 the following temporary cryptographic keys: the temporary keys OK_0_T81 and OK_0_T82 applicable for a first predefined period of time; - the temporary keys OK_0_T91 and OK_0_T92 applicable for a second predefined period of time; - the temporary keys OK_0_T101 and OK_0_T102 applicable for a third predefined period of time.
Chacune de ces clés temporaires OK_0_T81, OK_0_T82, OK_0_T91, OK_0_T92, OK_0_T101 et OK_0_T102 est déterminée par le serveur DP2 par dérivation à partir de la clé mère OK_0, d'une donnée temporelle respective et d'une donnée de dérivation respective. Pour ce faire, le serveur DP2 détermine au préalable les données temporelles et les données de dérivation puis détermine les clés temporaires listées ci-dessus de façon analogue à l'étape E184 représentée en figure 9.Each of these temporary keys OK_0_T81, OK_0_T82, OK_0_T91, OK_0_T92, OK_0_T101 and OK_0_T102 is determined by the DP2 server by derivation from the mother key OK_0, respective time data and a respective derivative data. To do this, the server DP2 determines the temporal data and the derivation data beforehand and then determines the temporary keys listed above in a similar manner to the step E184 represented in FIG. 9.
Comme représenté en figure 10, le serveur DP2 envoie (E216) ensuite au terminal Tl un ensemble de données PCK3 comprenant les clés temporaires OK_0_T81, OK_0_T82, OK_0_T91, OK_0_T92, OK_0_T101 et OK_0_T102 déterminées à l'étape E214. Dans l'exemple considéré ici, le serveur DP2 ne fournit au terminal Tl ni les données temporelles ni les données de dérivation correspondant aux clés temporaires transmises, ce qui permet de renforcer la sécurité du contrôle d'accès au service SR.As represented in FIG. 10, the server DP2 then sends (E216) to the terminal T1 a set of data PCK3 comprising the temporary keys OK_0_T81, OK_0_T82, OK_0_T91, OK_0_T92, OK_0_T101 and OK_0_T102 determined in step E214. In the example considered here, the DP2 server provides the terminal T1 neither the time data nor the derivation data corresponding to the transmitted temporary keys, which makes it possible to reinforce the security of the access control to the SR service.
Une fois reçues (E216), le terminal Tl enregistre (E218) les données PCK3 dans sa mémoire 34 (figure 4).Once received (E216), the terminal T1 stores (E218) the PCK3 data in its memory 34 (FIG. 4).
Le terminal Tl est ainsi enrôlé auprès du serveur DP2, et plus généralement du système de contrôle SY, dans le sens où le terminal Tl s'est identifié auprès du serveur DP2 et détient à présent en mémoire des clés temporaires cryptographiques déterminées par double dérivation à partir de la clé maîtresse CMK_0. Ces clés temporaires OK_0_T81, OK_0_T82 etc. peuvent être utilisées par le terminal Tl pour accéder au service SR.The terminal T1 is thus enrolled with the server DP2, and more generally with the control system SY, in the sense that the terminal T1 has identified itself with the server DP2 and now holds in memory temporary cryptographic keys determined by double derivation to from the master key CMK_0. These temporary keys OK_0_T81, OK_0_T82 etc. can be used by the terminal T1 to access the SR service.
On suppose que l'utilisateur Ul souhaite à présent accéder au service SR considéré. Pour ce faire, l'utilisateur Ul positionne par exemple son terminal Tl à proximité de sa voiture SR de sorte à ce que le terminal Tl puisse coopérer avec le dispositif électronique DPI (figure 1).It is assumed that the user Ul now wants to access the considered SR service. To do this, the user U1 positions for example his terminal T1 near his car SR so that the terminal T1 can cooperate with the electronic device DPI (Figure 1).
Le dispositif DPI envoie (E220) alors au terminal Tl une donnée de défi notée cl5.The device DPI sends (E220) then to the terminal T1 a challenge data item denoted by cl5.
Lors d'une étape E222, le terminal Tl détermine un point courant dans le temps, à savoir dans cet exemple : la date courante et/ou l'heure courante, constituant une donnée temporelle.During a step E222, the terminal T1 determines a current point in time, namely in this example: the current date and / or the current time, constituting time data.
Le terminal Tl sélectionne (E224) alors, en fonction du point courant dans le temps déterminée en E222, une clé applicable parmi les clés temporaires reçues en E216 dans les données PCK3. Dans cette exemple, on suppose que le terminal Tl détermine, en fonction de la date courante et/ou de l'heure courante, que la clé temporaire OK_0_T91 doit être utilisée et sélectionne donc celle-ci au cours de l'étape E224.The terminal T1 selects (E224) then, according to the current point in time determined in E222, an applicable key among the temporary keys received in E216 in the PCK3 data. In this example, it is assumed that the terminal T1 determines, based on the current date and / or the current time, that the temporary key OK_0_T91 must be used and therefore selects it during the step E224.
Lors d'une étape de calcul E226, le terminal Tl génère un code MAC, noté MC20, à partir de la clé temporaire OK_0_T91 sélectionnée en E224 et à partir de la donnée de défi cl5 reçue en E220. La génération E226 de ce code MAC MC20 s'effectue de façon analogue à l'étape E18 (figure 5) ou à l'étape E186 (figure 9) par exemple.During a calculation step E226, the terminal T1 generates a MAC code, denoted MC20, from the temporary key OK_0_T91 selected at E224 and from the challenge data item cl5 received at E220. Generation E226 of this MAC code MC20 is carried out analogously to step E18 (FIG. 5) or step E186 (FIG. 9), for example.
Lors d'une étape d'envoi E228, le terminal Tl envoie au dispositif DPI le code MAC MC20, l'identifiant ID1 du terminal Tl, les droits d'accès RG1 ainsi qu'une donnée de dérivation DERIV_D correspondant à la clé temporaire cryptographique OK_0_91 sélectionnée en E224. Une fois ces données reçues (E228), le dispositif DPI réalise les étapes E230-E242 décrites ci-après.During a sending step E228, the terminal T1 sends to the device DPI the MAC code MC20, the identifier ID1 of the terminal T1, the access rights RG1 and a derivation data DERIV_D corresponding to the temporary key cryptographic OK_0_91 selected in E224. Once this data has been received (E228), the DPI device performs the steps E230-E242 described below.
Plus précisément, lors de l'étape E230, le dispositif DPI dérive la clé mère cryptographique OK_0 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID1 du terminal Tl et des droits d'accès RG1, de façon identique à l'étape E212 (figure 10), à l'étape E22 (figure 5) ou encore à l'étape E190 (figure 9) par exemple.More precisely, during step E230, the device DPI derives the cryptographic master key OK_0 from the cryptographic master key CMK_0, the identifier ID1 of the terminal T1 and the access rights RG1, in a manner identical to the step E212 (FIG. 10), step E22 (FIG. 5) or even step E190 (FIG. 9), for example.
Le dispositif DP2 détermine (E232) en outre une donnée temporelle, notée ici DT8, représentative d'un point courant dans le temps. Pour ce faire, le dispositif DP2 détermine dans cet exemple la date courante et/ou l'heure courante, et en déduit la donnée temporelle DT8. Dans un exemple particulier, le dispositif DP2 est configuré pour que la donnée temporelle DT8 déterminée en E232 corresponde à une période de temps prédéfinie, c'est-à-dire une fenêtre (ou créneau) temporelle, dans laquelle se situe le point courant dans le temps. Ainsi, la donnée temporelle DT8 peut varier selon la fenêtre temporelle dans laquelle se situe le dispositif DP2 lors de son traitement au cours des étapes E230-E242. La donnée temporelle DT8 est par exemple déterminée de la même façon que la donnée temporelle DT6, comme décrit précédemment en référence à l'étape E192 (figure 7).The device DP2 further determines (E232) a time data, denoted here DT8, representative of a current point in time. To do this, the device DP2 determines in this example the current date and / or the current time, and deduces the time data DT8. In a particular example, the device DP2 is configured so that the time data DT8 determined in E232 corresponds to a predefined period of time, that is to say a window (or time slot), in which is the current point in the weather. Thus, the time data DT8 may vary according to the time window in which the device DP2 is located during its processing during steps E230-E242. The time data DT8 is for example determined in the same way as the time data DT6, as described above with reference to step E192 (FIG. 7).
Le dispositif DPI dérive (E234) alors la clé temporaire cryptographique OK_0_T91 à partir de la clé mère OK_0, de la donnée temporelle DT8 et de la donnée de dérivation DERIV_D. Pour ce faire, le dispositif DPI détermine la clé temporaire OK_0_T91 par dérivation à partir de la clé mère OK_0 et en prenant en entrée la donnée temporelle DT8 déterminée en E232 et la donnée de dérivation DERIV_D reçue en E228. L'obtention préalable de la donnée temporelle DT8 permet de déterminer la clé temporaire qui est en cours de validité au moment du traitement. On suppose que le dispositif DPI obtient ici en E234 la clé temporaire OK_0_T91 dans la mesure où le terminal Tl a transmis suffisamment rapidement son code MAC MC20 (E228) au dispositif DPI.The device DPI derives (E234) then the cryptographic temporary key OK_0_T91 from the mother key OK_0, the temporal data DT8 and the derivation data DERIV_D. To do this, the device DPI determines the temporary key OK_0_T91 by derivation from the mother key OK_0 and taking as input the time data DT8 determined in E232 and the derivation data DERIV_D received in E228. Prior obtaining of the temporal data DT8 makes it possible to determine the temporary key which is valid at the time of the processing. It is assumed that the device DPI here obtains at E234 the temporary key OK_0_T91 insofar as the terminal T1 has transmitted its MAC code MC20 (E228) sufficiently quickly to the device DPI.
Lors d'une étape E236, le dispositif DPI génère à son tour un code MAC, noté ici MC21, à partir de la clé temporaire cryptographique OK_0_T91 obtenue en E234 et de la donnée de défi cl5 envoyée en E220. Ce code MAC MC21 est obtenu en effectuant le même calcul que celui réalisé par le serveur DP2, lors de l'étape E214, pour déterminer la clé temporaire OK_0_T91.During a step E236, the device DPI generates in turn a MAC code, noted here MC21, from the temporary cryptographic key OK_0_T91 obtained in E234 and the challenge data cl5 sent in E220. This MAC code MC21 is obtained by performing the same calculation as that carried out by the server DP2, during the step E214, to determine the temporary key OK_0_T91.
Le dispositif DPI compare (E238) ensuite le code MAC MC20 reçu en E228 avec le code MAC MC21 calculé en E236 et détermine si ces deux codes MAC coïncident. Dans cet exemple, le dispositif DPI vérifie si MC20 et MC21 sont identiques.The device DPI compares (E238) then the MAC code MC20 received in E228 with the MAC code MC21 calculated in E236 and determines whether these two MAC codes coincide. In this example, the DPI device checks whether MC20 and MC21 are identical.
Le dispositif DPI gère ensuite l'accès du terminal Tl au service SR à partir du résultat de la comparaison effectuée en E238 entre les codes MAC MC20 et MC21, de façon analogue aux étapes E34-E38 représentées en figure 5 ou aux étapes E198-E202 représentées en figure 9.The device DPI then manages the access of the terminal T1 to the service SR from the result of the comparison made in E238 between the MAC codes MC20 and MC21, similarly to the steps E34-E38 shown in FIG. 5 or in the steps E198-E202 represented in Figure 9.
Plus précisément, lors d'une étape E240, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en E238 si le terminal Tl est autorisé à accéder au service SR selon les droits d'accès RG1. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en E238 (MC20 = MC21 ?). Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage. Pour ce faire, le dispositif DPI peut si besoin se reporter à une base de données dans laquelle est enregistré l'identifiant de chaque utilisateur et les droits d'accès associés.More precisely, during a step E240, the device DPI determines from the result of the comparison performed in E238 whether the terminal T1 is authorized to access the service SR according to the access rights RG1. In other words, the DPI device controls access to the SR service according to the result obtained in E238 (MC20 = MC21?). This control can be concretized by an authorization of access or a blocking. To do this, the DPI device may if necessary refer to a database in which is recorded the identifier of each user and the associated access rights.
Le dispositif DPI peut également envoyer (E242) au terminal Tl une réponse DEC15 indiquant sa décision concernant la demande d'accès du terminal Tl au service SR.The device DPI can also send (E242) to the terminal T1 a response DEC15 indicating its decision concerning the access request of the terminal T1 to the service SR.
Dans cet exemple, s'il est détecté en E238 que les codes MAC MC20 et MC21 sont identiques, le dispositif DPI autorise (E240) l'accès au service SR selon les droits d'accès RG1 et envoie (E242) une réponse DEC15 positive au terminal Tl. Dans le cas contraire (codes MAC MC20 et MC21 différents), le dispositif DPI bloque (E240) l'accès du terminal Tl au service SR et envoie (E242) une réponse DEC15 négative pour en informer le terminal Tl. A noter que, dans les différents modes de réalisation et variantes décrits ci-avant, l'ordre dans lequel sont réalisées les différentes étapes n'est pas limitatif, d'autres séquences d'exécution des étapes étant possibles dans le cadre de l'invention.In this example, if it is detected in E238 that the MAC codes MC20 and MC21 are identical, the DPI device authorizes (E240) access to the SR service according to the access rights RG1 and sends (E242) a positive DEC15 response. at the terminal T1. In the opposite case (different MAC codes MC20 and MC21), the device DPI blocks (E240) the access of the terminal T1 to the service SR and sends (E242) a negative answer DEC15 to inform the terminal T1. note that, in the various embodiments and variants described above, the order in which the different steps are performed is not limiting, other sequences of execution of the steps being possible within the scope of the invention .
Selon une variante de réalisation, le dispositif DPI et le serveur DP2 forment un seul et même dispositif. Dans ce cas, le système de contrôle peut stocker notamment la clé mère OK_0 de sorte qu'il ne soit pas nécessaire de la recalculer ultérieurement (lors des étapes E22, E70, El 10, E150, E190 et E230, par exemple). Cette variante s'applique à tous les modes de réalisation et variantes décrits ci-avant.According to an alternative embodiment, the DPI device and the DP2 server form a single device. In this case, the control system can store in particular the mother key OK_0 so that it is not necessary to recalculate later (during steps E22, E70, El 10, E150, E190 and E230, for example). This variant applies to all the embodiments and variants described above.
Dans les modes de réalisation et variantes décrits ci-avant, les codes MAC générés par le terminal client Tl, ainsi que par le système de contrôle SY, sont obtenus à partir d'une clé cryptographique et d'une donnée de défi. Selon une variante, le calcul de chaque code MAC peut prendre également en entrée une donnée additionnelle (ou donnée d'information), dont la nature et le format peuvent être adaptés selon le cas. Cette donnée additionnelle peut par exemple spécifier les fonctionnalités (ou actions) que l'utilisateur est autorisé à exécuter en lien avec le service SR considéré (ouvrir le véhicule avec droit de démarrage, ouvrir le coffre seulement...).In the embodiments and variants described above, the MAC codes generated by the client terminal T1, as well as by the control system SY, are obtained from a cryptographic key and a challenge data item. According to one variant, the computation of each MAC code can also take as input additional data (or information data), the nature and the format of which can be adapted according to the case. This additional data may for example specify the functionalities (or actions) that the user is authorized to execute in connection with the SR service considered (open the vehicle with start right, open the safe only ...).
Un homme du métier comprendra que les modes de réalisation et variantes décrits ci-avant ne constituent que des exemples non limitatifs de mise en œuvre de l'invention. En particulier, l'homme du métier pourra envisager une quelconque adaptation ou combinaison des modes de réalisation et variantes décrits ci-avant afin de répondre à un besoin bien particulier.Those skilled in the art will understand that the embodiments and variants described above are only non-limiting examples of implementation of the invention. In particular, those skilled in the art may consider any adaptation or combination of the embodiments and variants described above to meet a particular need.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1759296A FR3071945B1 (en) | 2017-10-04 | 2017-10-04 | SECURING ACCESS TO SERVICE |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1759296 | 2017-10-04 | ||
FR1759296A FR3071945B1 (en) | 2017-10-04 | 2017-10-04 | SECURING ACCESS TO SERVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3071945A1 FR3071945A1 (en) | 2019-04-05 |
FR3071945B1 true FR3071945B1 (en) | 2019-10-25 |
Family
ID=61521558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1759296A Active FR3071945B1 (en) | 2017-10-04 | 2017-10-04 | SECURING ACCESS TO SERVICE |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3071945B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181196B2 (en) * | 2003-05-15 | 2007-02-20 | Lucent Technologies Inc. | Performing authentication in a communications system |
TWI293844B (en) * | 2005-01-11 | 2008-02-21 | Ind Tech Res Inst | A system and method for performing application layer service authentication and providing secure access to an application server |
-
2017
- 2017-10-04 FR FR1759296A patent/FR3071945B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
FR3071945A1 (en) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3632087B1 (en) | Selection of a network slice in relation to an application | |
EP3271901B1 (en) | Electronics unit, method carried out in an electronics unit of said type, method for sharing a time frame between a server and an electronics unit, and method for synchronizing a server and an electronics unit | |
WO2016108012A1 (en) | Method for signing up a user to a service for controlling at least one vehicle functionality by means of a user terminal | |
WO2006021661A2 (en) | Secured authentication method for providing services on a data transmission network | |
EP3656142B1 (en) | Loading of a new subscription profile into an embedded subscriber identification module | |
FR3072853A1 (en) | METHODS FOR LOADING A PROFILE INTO A SECURE ELEMENT, MANAGER AND CUSTOMIZABLE SECURITY ELEMENT | |
FR3071945B1 (en) | SECURING ACCESS TO SERVICE | |
FR3071943B1 (en) | CONTROL OF ACCESS TO A SERVICE | |
EP1897360A2 (en) | Device and method for managing communication credits associated to use of services by a terminal | |
EP4260210A1 (en) | Management method for authenticating a user of a device on an equipment item by pasword | |
EP2448235B1 (en) | Electronic entity managing a credit for using a resource in which access to same is controlled by a control device | |
WO2007113409A1 (en) | Method and device for managing instances of a computer application | |
WO2022148919A1 (en) | Method for managing a request to activate a packet data session for a terminal | |
EP4268441A1 (en) | Method for processing a request to set up a call | |
EP3162019A1 (en) | Method and device for establishing a communication | |
FR3067538A1 (en) | METHOD FOR CONTROLLING THE OBTAINING BY A TERMINAL OF A CONFIGURATION FILE | |
EP2506546B1 (en) | Method for managing voice messages obtained from a set of at least two different voice message systems | |
WO2021165625A1 (en) | Method for calculating a session key, and method for recovering such a session key | |
FR3136329A1 (en) | Method and device for registering a user with a telecommunications operator. | |
FR3128089A1 (en) | Method and device for selecting a base station | |
FR3042362A1 (en) | MEANS FOR MANAGING ACCESS TO DATA | |
WO2019012198A1 (en) | Method for informing about the conditions of updating of an application | |
WO2016193590A1 (en) | Telecommunications terminal and method for controlling access to data in such a terminal | |
EP2100430A2 (en) | Telecommunication method and system allowing at least two distinct users to access the same information set | |
WO2012045807A1 (en) | Method for displaying services on a terminal screen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20190405 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |