FR3071943A1 - Controle d'acces a un service - Google Patents

Controle d'acces a un service Download PDF

Info

Publication number
FR3071943A1
FR3071943A1 FR1759286A FR1759286A FR3071943A1 FR 3071943 A1 FR3071943 A1 FR 3071943A1 FR 1759286 A FR1759286 A FR 1759286A FR 1759286 A FR1759286 A FR 1759286A FR 3071943 A1 FR3071943 A1 FR 3071943A1
Authority
FR
France
Prior art keywords
terminal
access
cryptographic
service
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.)
Granted
Application number
FR1759286A
Other languages
English (en)
Other versions
FR3071943B1 (fr
Inventor
Emmanuelle Dottax
Sebastien Nerot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1759286A priority Critical patent/FR3071943B1/fr
Publication of FR3071943A1 publication Critical patent/FR3071943A1/fr
Application granted granted Critical
Publication of FR3071943B1 publication Critical patent/FR3071943B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/27Individual registration on entry or exit involving the use of a pass with central registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00507Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks keyless data carrier having more than one function
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C2009/00753Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
    • G07C2009/00769Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means
    • G07C2009/00793Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means by Hertzian waves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (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), comprenant : envoi d'une donnée de défi à un terminal (T1) ; réception d'un premier code MAC (MC1) généré par le terminal accompagné d'un identifiant du terminal et de droits d'accès (RG1) pour accéder au service ; dérivation d'une première clé mère cryptographique (OK_0) à partir d'une clé maîtresse cryptographique (CMK_0), de l'identifiant du terminal et des droits d'accès ; génération d'un deuxième code MAC à partir de la première donnée de défi et de la première clé mère cryptographique (OK_0); et gestion de l'accès du terminal au service à partir d'une comparaison des premier et deuxième codes MAC. L'invention vise également un procédé de traitement, mis en œuvre par le terminal (T1), pour accéder au service (SR), ainsi que le système de contrôle (SY) et le terminal (T1) correspondant.

Description

Arrière-plan de l'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.
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éployé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, les portiques de sécurité, les transports, l'accès à des services Internet...
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 autres 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.
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 (i.e. le terminal du véhicule hébergeant l'application correspondante) et de requérir l'accès à des services conformément aux droits d'accès dont il dispose.
Dans du contrôle d'accès à un véhicule, par exemple, les droits d'accès sont généralement 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 à son tour.
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, permanents ou non, à 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 au service concerné. De cette manière, le propriétaire d'un véhicule peut ainsi déléguer des droits d'accès plus ou moins limités à son véhicule.
La délégation de droits d'accès présente toutefois certaines difficultés, notamment lorsque l'on souhaite révoquer ultérieurement des droits d'accès qui ont été délégués à des tiers. Lorsque le propriétaire cède ou vend sa voiture à un tiers, par exemple, il peut en effet être souhaitable de révoquer des droits d'accès qui ont été délégués dans le passé et qui sont toujours en vigueur. Dans certains cas, la révocation des droits nécessite de récupérer toutes les données signées qui ont été fournies dans le passé à des tiers, ce qui n'est pas toujours possible. Il existe donc un besoin pour une solution permettant de révoquer efficacement des droits d'accès délégués au préalable à des tiers.
Par ailleurs, 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.
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 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 ;
- génération d'un deuxième code MAC à partir de la première donnée de défi et de la première clé mère cryptographique; et
- gestion de l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC.
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.
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.
Selon un mode de réalisation particulier, le procédé de contrôle comprend :
- réception, en provenance d'un deuxième terminal, d'un identifiant du deuxième terminal et de deuxièmes droits d'accès pour accéder au service ;
- dérivation d'une deuxième clé mère cryptographique, différente de la première clé mère cryptographique, à partir de la clé maîtresse cryptographique, de l'identifiant du deuxième terminal et des deuxièmes droits d'accès ; et
- envoi, au deuxième terminal, de la deuxième clé mère cryptographique de sorte à permettre au deuxième terminal d'accéder au service selon les deuxièmes droits d'accès.
Selon un mode de réalisation particulier, le procédé de contrôle comprend :
- envoi d'une deuxième donnée de défi au deuxième terminal ;
- réception, en réponse à l'envoi de la deuxième donnée de défi, d'un troisième code MAC généré par le deuxième terminal accompagné d'un identifiant du deuxième terminal et des deuxièmes droits d'accès pour accéder au service ;
- dérivation d'une deuxième clé mère cryptographique, différente de la première clé mère cryptographique, à partir de la clé maîtresse cryptographique, de l'identifiant du deuxième terminal et des deuxièmes droits d'accès ;
- génération d'un quatrième code MAC à partir de la deuxième donnée de défi et à partir de la deuxième clé mère cryptographique ; et
- gestion de l'accès du deuxième terminal au service à partir d'une comparaison des troisième et quatrième codes MAC.
Selon un mode de réalisation particulier, le procédé de contrôle comprend une étape de révocation de la clé maîtresse cryptographique causant la révocation de chaque clé cryptographique dérivée directement ou indirectement de la clé maîtresse cryptographique.
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 les étapes suivantes :
- 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 d'une 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 de premiers droits d'accès pour accéder au service, de sorte à permettre au système de contrôle de contrôler, à partir d'une clé maîtresse cryptographique dont est dérivée la première clé mère cryptographique, si le premier terminal est autorisé à accéder au service selon les premiers droits d'accès.
Selon un mode de réalisation particulier, l'étape de génération du premier code MAC comprend la récupération de la première clé mère cryptographique stockée dans une mémoire locale du premier terminal.
Selon un mode de réalisation particulier, le premier terminal est un terminal de télécommunications et la mémoire locale étant une mémoire sécurisée d'une carte SIM ou d'un module d'identité de souscripteur embarqué.
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 ;
- 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 droits d'accès ; et
- enregistrement de la première clé mère cryptographique.
Selon un mode de réalisation particulier, le procédé de traitement comprend :
- réception, en provenance d'un deuxième terminal, d'un identifiant du deuxième terminal et de deuxièmes droits d'accès pour accéder au service ;
- dérivation d'une clé fille cryptographique à partir de la première clé mère cryptographique, de l'identifiant du deuxième terminal et des deuxième droits d'accès ; et
- envoi, au deuxième terminal, de la clé fille cryptographique de sorte à permettre au deuxième terminal d'accéder au service selon les deuxièmes droits.
Selon un mode de réalisation particulier, le procédé de traitement comprend l'envoi, au système de contrôle, d'une commande de révocation requérant la révocation de la clé fille cryptographique.
Dans un mode particulier de réalisation, les différentes étapes du procédé de contrôle et du procédé de traitement définis ci-avant sont déterminées par des instructions de programmes d'ordinateurs.
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 système de contrôle, un terminal, ou plus généralement un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d’au moins l'un des procédés tels que définis 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.
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.
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.
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 concerne également le système de contrôle et le premier terminal mentionnés ci-avant.
En particulier, l'invention concerne un système de contrôle configuré pour contrôler l'accès à un service, comprenant :
- un module d'envoi configuré pour envoyer une première donnée de défi à un premier terminal ;
- un module de réception configuré 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 dérivation configuré pour dérivée 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 ;
- un module de génération configuré pour générer un deuxième code MAC à partir de la première donnée de défi de la première clé mère cryptographique; et
- un module de gestion configuré pour contrôler l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC.
L'invention concerne également un terminal, dit premier terminal, configuré pour accéder à un service dont l'accès est contrôlé par un système de contrôle, comprenant :
- un module de réception configuré pour recevoir une donnée de défi en provenance du système de contrôle ;
- un module de génération configuré pour générer un premier code MAC à partir de la donnée de défi et d'une première clé mère cryptographique ; et
- un module d'envoi configuré pour envoyer au système de contrôle le premier code MAC accompagné d'un identifiant du premier terminal et de premiers droits d'accès pour accéder au service, de sorte à permettre au système de contrôle de contrôler, à partir d'une clé maîtresse cryptographique dont est dérivée la première clé mère cryptographique, si le premier terminal est autorisé à accéder au service selon les premiers droits d'accès.
A noter que les différents modes de réalisation définis précédemment en relation avec le procédé de contrôle, d'une part, et avec le procédé de traitement, d'autre part, s'appliquent par analogie au système de contrôle et au terminal (dit « premier terminal ») définis ci-avant.
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 » (module de réception, module de dérivation, module de génération etc.) peut correspondre dans ce document aussi bien à un composant logiciel, qu’à un composant matériel ou à un ensemble de composants matériels et logiciels.
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 des terminaux 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 mode de réalisation particulier de l’invention ;
- la figure 6 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 mode de réalisation particulier de l’invention ; et
- 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 mode de réalisation particulier de l’invention.
Description détaillée de plusieurs modes de réalisation
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.
Les modes de réalisation décrit ci-dessous s'inscrivent 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 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 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.
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 par dérivation d'une clé cryptographique maîtresse de façon à permettre à des utilisateurs d'accéder au service considéré.
Plus particulièrement, l'invention, selon ses 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 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 ;
- génération d'un deuxième code MAC à partir de la première donnée de défi et de la première clé mère cryptographique; 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.
En outre, l'invention, selon ses 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 les étapes suivantes :
- 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 d'une 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 de premiers droits d'accès pour accéder au service, de sorte à permettre au système de contrôle de contrôler, à partir d'une clé maîtresse cryptographique dont est dérivée la première clé mère cryptographique (OK_0), 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.
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é.
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, un premier terminal de communication Tl et un deuxième terminal de communication T2. 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.
Dans cet exemple, un premier utilisateur U1 utilise un terminal Tl pour accéder au service SR. De même, un second utilisateur U2 utilise un terminal T2 pour accéder au service SR. Les terminaux Tl et T2 peuvent être de quelconques terminaux, tels que des terminaux mobiles par exemple. On suppose ici que ces terminaux Tl et T2 sont des téléphones portables de type smartphone. On suppose en outre que l'utilisateur U1 est le propriétaire de la voiture SR et, en tant que tel, détient tous les droits d'accès (ou droits d'utilisateur) pour utiliser la voiture SR.
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 légitime Ul, et éventuellement du tiers U2, 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.
Par ailleurs, le serveur DP2 est configuré pour interagir avec l'utilisateur Ul, et éventuellement l'utilisateur U2, afin de fournir les clés cryptographiques adéquates pour accéder au service SR. Dans l'exemple représenté en figure 1, le serveur DP2 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.
Comme illustré en figure 1 et expliqué ci-après, le serveur DP2 est ici configuré pour transmettre une clé mère cryptographique OK_0 au terminal Tl de l'utilisateur Ul, cette clé OK_0 étant dérivée d'une clé maîtresse cryptographique CMK_0. Cette clé mère OK_0 vise ici à permettre à l'utilisateur Ul d'accéder au service SR à l'aide de son terminal Tl.
De même, selon un exemple particulier, le serveur DP2 est configuré pour envoyer au terminal T2 de l'utilisateur U2 une deuxième clé mère cryptographique OK_1, différente de la première clé mère OK_0, cette deuxième clé mère OK_1 étant également dérivée à partir de la clé cryptographique maîtresse CMK_0.
Par ailleurs, le dispositif DPI est apte à communiquer avec les terminaux Tl et T2 afin de vérifier que leur utilisateur respectif Ul et U2 sont autorisés à accéder à la voiture SR. Pour ce faire, et comme décrit plus en détail ultérieurement, les terminaux Tl et T2 sont configurés pour envoyer au dispositif DPI divers codes MAC, notés ici MCI, MC3 et MC5, selon le mode de réalisation considéré (figure 1).
Selon un exemple particulier, le terminal Tl de l'utilisateur Ul peut en outre transmettre au terminal T2 de l'utilisateur U2 une clé fille cryptographique UK_0, cette clé UK_0 étant dérivée à partir de la clé mère OK_0. Cette clé fille UK_0 vise à permettre à l'utilisateur Ul de déléguer à un tiers tout ou partie de ses droits d'accès au service SR concerné, comme expliqué ultérieurement.
La figure 2 représente schématiquement la structure du serveur DP2 conformément à un mode de réalisation particulier de l'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.
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.
Dans l’exemple envisagé ici, la mémoire 14 est une mémoire non volatile réinscriptible configuré pour stocker la clé maîtresse cryptographique CMK_0 dont l'usage sera décrit ultérieurement. Selon un exemple 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.
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.
Le module de communication MD2 est configuré pour assurer la communication avec l'extérieur et notamment les terminaux utilisateurs Tl et T2. 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 les terminaux Tl et T2. Dans l'exemple considéré ici, ces communications sont assurées via Internet.
Le module de de traitement MD4 est configuré pour réaliser un certain nombre de traitements conformes à l'invention. Dans cet exemple, le module de traitement MD4 est en particulier configuré pour déterminer la première clé mère cryptographique OK_0 et éventuellement aussi la deuxième clé mère cryptographique OK_1, comme déjà représentées en figure 1. Selon un exemple particulier, le module de traitement MD4 est implémenté dans un HSM, comme déjà mentionné ci-dessus.
La figure 3 représente schématiquement la structure du dispositif électronique DPI conformément à un mode de réalisation particulier de l'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.
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.
Dans l’exemple envisagé ici, la mémoire 24 est une mémoire non volatile réinscriptible configuré pour stocker 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 »).
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.
Le module de communication MD10 est configuré pour assurer la communication avec l'extérieur et notamment les terminaux utilisateurs Tl et T2. 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 les terminaux Tl et T2. Dans l'exemple considéré ici, ces communications sont des communications sans fil de type NFC, Bluetooth ou autre.
Le module de traitement MD12 est configuré pour réaliser un certain nombre de traitements conformes à l'invention. Dans cet exemple, le module de traitement MD12 est en particulier configuré pour vérifier si un code MAC transmis par un terminal utilisateur Tl ou T2 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 utilisateur Tl ou T2, 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é cidessus.
Le module de contrôle d'accès MD14 est configuré pour contrôler (ou gérer) l'accès du terminal Tl, et éventuellement du terminal T2, 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 Ul ou U2 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.
La figure 4 représente schématiquement la structure du terminal Tl conformément à un mode de réalisation particulier de l'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.
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.
Dans l’exemple envisagé ici, la mémoire 34 est une mémoire non volatile réinscriptible configuré pour stocker la clé cryptographique mère OK_0 dont l'usage sera décrit ultérieurement. La mémoire 34 peut en outre enregistrer d'autres données utiles à l'invention telles que par exemple un identifiant ID1 du terminal Tl.
La première interface de communication 36 permet la communication entre le terminal Tl et l'interface de communication 16 du serveur DP2.
La deuxième interface de communication 38 permet la communication entre le terminal Tl et le dispositif DPI (et plus particulièrement avec l'interface de communication 26 de ce dernier), et le cas échéant entre le terminal Tl et le terminal T2.
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.
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 les terminaux utilisateurs Tl et T2 (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 les terminaux Tl et T2 sont de type NFC, Bluetooth ou autre.
Le module de traitement MD22 est configuré pour réaliser un certain nombre de traitements conformes à l'invention. 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 à partir d'une donnée de défi envoyée au préalable par le dispositif DPI et à partir de la première clé mère cryptographique OK_0 (figure 1), 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 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 U1 dans cet exemple.
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.
On supposera que la structure (non représentée) du terminal T2 est analogue à celle du terminal Tl et comporte en particulier un processeur configuré pour exécuter un programme d'ordinateur stocké dans une mémoire non volatile du terminal T2.
Le fonctionnement des modules MD2, MD4 (figure 2), MD10-MD14 (figure 3) et MD20, MD22 (figure 4) décrits ci-avant apparaîtra plus précisément dans les exemples de réalisation décrits ci-après. On comprendra que ces modules MD2 à MD22 ne représentent que des exemples de mise en œuvre non limitatifs de l'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.
On comprendra en outre que le système de contrôle SY et les terminaux Tl et T2 représenté 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 des terminaux Tl et T2 ne sont décrits ici que pour faciliter la compréhension de l'invention, ces éléments n'étant pas obligatoires pour mettre en œuvre l'invention.
Un mode de réalisation particulier est à présent décrit en référence à la figure 5. Plus précisément, le serveur DP2 et le dispositif DPI 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.
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 S2-S6). 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.
Lors de cet enrôlement initial, le terminal Tl envoie (S2) 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. Ces droits d'accès RG1 peuvent se présenter 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.
Le serveur DP2 reçoit (S2) la requête d'enrôlement en provenance du terminal Tl puis détermine (S4) la première clé mère cryptographique OK_0 déjà représentée en figure 1. 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 S4 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.
Dans un exemple particulier, la requête d'enrôlement envoyée par le terminal Tl en S2 comporte en outre un identifiant du service SR, c'est-à-dire identifiant de la voiture de l'utilisateur U1 dans cet exemple. Le serveur DP2 peut prendre également en compte cet identifiant du service SR pour déterminer en S4 la clé mère OK_0. 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é.
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 directement 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 et, en particulier, permet de révoquer facilement des droits d'accès attribués préalablement à des utilisateurs, comme expliqué par la suite.
Avant de calculer (S4) la clé 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 et/ou pour réaliser une procédure de vérification afin de vérifier que le terminal Tl (associé ici à l'utilisateur Ul) est autorisé à recevoir la clé mère OK_0.
Selon une variante, le terminal Tl ne fournit pas les droits d'accès RG1 en S2. 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 S4 pour calculer la clé mère OK_0.
Comme représenté en figure 5, le serveur DP2 envoie (S6) ensuite au terminal Tl la clé mère cryptographique OK_0 obtenue en S4. Dans cet exemple, cet envoi S6 comprend en outre les droits d'accès RG1. Cet envoi est fait de préférence de façon sécurisée.
Une fois reçue (S6), le terminal Tl enregistre (S8) 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'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 UniversalIntegrated 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.
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).
Le dispositif DPI envoie (SIO) alors au terminal Tl une donnée de défi (ou « challenge » en anglais) notée cl.
Dans le présent exposé, cette donnée de défi cl et toutes les autres données de défi considérées ultérieurement dans le présent exposé peuvent se présenter sous une quelconque forme appropriée utilisable par un terminal destinataire pour générer un code MAC comme expliqué ci-après. Une telle donne de défi peut 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.
Une fois la donnée de défi cl reçue (SIO), le terminal Tl génère (S12) un code MAC (pour « Code d'Authentiflcation de Message »), noté MCI, à partir de la clé mère OK_0 (récupérée depuis sa mémoire 34) et de la donnée de défi cl.
De façon bien connue, un code MAC est un code accompagnant 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 MCI et de tous les 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é mère OK_0 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.
Lors d'une étape d'envoi S14, le terminal Tl envoie au dispositif DPI le code MAC MCI ainsi que son identifiant ID1 et les droits d'accès RG1.
Une fois ces données reçues (S14), 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 S16 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 déjà utilisé par le serveur DP2 lors de son étape de dérivation S4.
Le dispositif DPI vérifie ensuite, à partir de la clé mère OK_0, que le code MAC MCI reçu est valide. Pour ce faire, le dispositif DPI génère (S18) à son tour un code MAC, noté ici MC2, à partir de la clé mère OK_0 et de la donnée de défi cl précédemment envoyée au terminal Tl en S10. Ce code MAC MC2 est obtenu en effectuant le même calcul que lors de l'étape de calcul S12 réalisée par le terminal Tl.
Le dispositif DPI compare (S20) ensuite le code MAC MCI reçu en S14 avec le code MAC MC2 calculé en S18 et détermine si ces deux codes MAC coïncident. Dans cet exemple, le dispositif DPI vérifie si MCI et MC2 sont identiques.
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 S20 entre les codes MAC MCI et MC2.
Plus précisément, lors d'une étape S22, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en S20 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 S20. Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.
Le dispositif DPI envoie (S24) ensuite au terminal Tl une réponse DEC1 indiquant sa décision concernant la demande d'accès du terminal Tl au service SR.
Dans cet exemple, s'il est détecté en S20 que les codes MAC MCI et MC2 sont identiques, le dispositif DPI autorise (S22) l'accès au service SR selon les droits d'accès RG1 et envoie (S24) une réponse DEC1 positive au terminal Tl. Dans le cas contraire (codes MAC MCI et MC2 différents), le dispositif DPI bloque l'accès du terminal Tl au service SR et envoie une réponse négative en S24 pour en informer le terminal Tl.
La présente invention permet ainsi de sécuriser l'accès d'un service en fournissant à des utilisateurs des droits d'accès associés à une clé mère cryptographique, cette dernière étant dérivée d'une clé maîtresse cryptographique d'ordre supérieur. 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é mère cryptographique. En revanche, l'utilisateur ne transmet pas sa clé mère cryptographique puisque le système de contrôle est capable de la retrouver lui-même 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, la clé mère cryptographique OK_0 n'est diffusé 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. En effet, il suffit que la clé maîtresse CMK_0 soit révoquée pour que toutes les clés dérivées de cette clé maîtresse le soit également. La révocation de la clé maîtresse CMK_0 peut se faire de différentes façons. On peut par exemple informer explicitement le serveur DPI de la révocation. En réponse à une commande de révocation de la clé maîtresse CMK_0, le serveur DPI ne distribue plus de clés dérivées de cette clé maîtresse CMK_0. Par ailleurs, le serveur DPI peut éventuellement informer le dispositif DPI de la révocation, de sorte que le dispositif DPI n'utilise plus la clé maîtresse CMK_0 pour vérifier les authentifications. De ce fait, toutes les clés dérivées à partir de la clé maîtresse CMK_0 sont automatiquement révoquées également.
Dans un autre exemple, on peut procéder au changement de clé maîtresse directement au niveau du dispositif DPI contrôlant l'accès au service SR. Dans ce cas, le dispositif DPI remplace la clé maîtresse CMK_0 par une nouvelle clé maîtresse CMK_1. Ceci a également pour effet de révoquer toutes les clés dérivées à partir de l'ancienne clé maîtresse CMK_0, puisque le dispositif DPI sera dorénavant incapable de les calculer. Cette procédure de remplacement de clé maîtresse peut éventuellement être effectuée à l'aide un dispositif spécifique détenu par l'utilisateur (ou propriétaire) du service SR.
Selon une variante, le système de contrôle SY reçoit une commande de révocation de la clé maîtresse CMK_0 (ou une notification que la clé maîtresse CMK_0 n'est plus valide) avant de réaliser l'étape S16 (figure 5) de détermination de la clé mère OK_0. Sur réception de cette commande de révocation, le système de contrôle SY détermine que le code MAC MCI reçu en S14 est invalide et refuse l'accès au service SR. Cette commande de révocation peut être reçue directement par le dispositif DPI ou, alternativement, cette commande peut être reçue par le serveur DP2 puis transmise par toute méthode de communication appropriée au dispositif DPI.
On suppose à présent que l'utilisateur U1 souhaite déléguer à l'utilisateur U2 certains droits d'accès à son véhicule SR. Pour ce faire, plusieurs modes de réalisation sont possibles, comme décrits ci-après en référence aux figures 6 et 7.
Plus précisément, selon un mode de réalisation représenté en figure 6, le serveur DP2 et le dispositif DPI 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. Le terminal T2 met également en œuvre un procédé de traitement en exécutant un programme d'ordinateur.
On suppose à présent que le terminal Tl s'est enrôlé (étapes S2-S6) auprès du serveur DP2 et contient en mémoire la clé mère cryptographique OK_0 (étape S8), comme précédemment décrit en référence à la figure 5. Le terminal Tl a éventuellement déjà accédé au service SR (étapes S10-S24) bien que cela ne soit pas nécessaire.
On suppose en outre que l'utilisateur U1 souhaite à présent déléguer à l'utilisateur U2 certains droits d'accès, notés RG2, pour utiliser son véhicule SR. Comme représenté en figure 6, les terminaux Tl et T2 interagissent ensemble afin de réaliser une phase de délégation des droits d'accès RG2 depuis le terminal Tl du propriétaire U1 vers le terminal T2 du tiers U2 (étapes S30-S34). Pour ce faire, les utilisateurs U1 et U2 positionnent par exemple leur terminaux respectifs U1 et U2 à proximité l'un de l'autre afin que ceux-ci communiquent en NFC ou Bluetooth par exemple.
Dans les exemples qui suivent, on suppose que l'utilisateur U1 ne peut déléguer que tout ou partie des droits d'accès dont il est lui-même titulaire. Autrement dit, les deuxièmes droits d'accès RG2 correspondent à tout ou partie des premiers droits d'accès RG1, bien que d'autres modes de réalisation soient possibles.
Comme représenté en figure 6, lors de cette phase de délégation de droits d'accès, le terminal T2 envoie (S30) au terminal Tl une requête d'accès comportant un identifiant ID2 du terminal T2 et les droits d'accès RG2 qu'il requière pour accéder au service SR.
Une fois ces données reçues (S30), le terminal Tl dérive une clé fille cryptographique UK_0 à partir de la première clé mère cryptographique OK_0, de l'identifiant ID2 du deuxième terminal et des deuxième droits d'accès RG2. Autrement dit, le terminal Tl détermine la clé fille cryptographique UK_0 par dérivation à partir de la clé mère cryptographique OK_0 et en prenant en entrée l'identifiant ID2 et les droits d'accès RG2. Pour ce faire, le terminal récupère la clé mère cryptographique OK_0 dans sa mémoire locale 34. Cette dérivation S32 est réalisée par calcul en exécutant un algorithme de dérivation DERIV de façon analogue aux étapes S4 et S16 représentées en figure 5.
On entend ici par « clé fille », le fait que la clé UK_0 est dérivée de la clé mère OK_1 qui est d'un ordre supérieur.
Selon une variante, le terminal T2 ne fournit pas les droits d'accès RG2 en S30. C'est le terminal Tl qui détermine lui-même les droits d'accès RG2 et qui les utilise en S32 pour calculer la clé fille UK_0.
Avant de calculer (S32) la clé fille UK_0, le terminal Tl peut réaliser une procédure d'authentification appropriée du terminal T2 et/ou une procédure de vérification pour vérification que le terminal T2 (associé à l'utilisateur U2) est autorisé à recevoir cette clé fille UK_0.
Comme représenté en figure 6, le terminal Tl envoie (S34) ensuite au terminal T2 la clé fille cryptographique UK_0 obtenue en S32, de sorte à permettre au terminal T2 d'accéder au service SR selon les deuxièmes droits RG2. Cet envoi S34 est de préférence réalisé de façon sécurisé. Dans cet exemple, le terminal Tl envoie (S34) en outre au terminal T2 les droits d'accès RG2 ainsi que l'identifiant ID1 du terminal Tl et les droits d'accès RG1 associés au terminal Tl.
Le terminal T2 enregistre (S36) ensuite la clé fille UK_0 et les autres données reçues en S34 dans sa mémoire.
Le terminal Tl a ainsi réalisé une délégation de pouvoir au bénéfice du terminal T2 de l'utilisateur U2. Le terminal T2 détient à présent en mémoire notamment la clé fille UK_0 obtenue par dérivation de la clé mère OK_0. Cette clé fille UK_0 peut être utilisée par le terminal T2 lors de chaque accès au service SR.
Bien entendu, les deuxièmes droits d'accès RG2 peuvent être plus limités, notamment dans le temps et/ou en ce qui concerne les fonctionnalités accessibles de la voiture SR, que les premiers droits d'accès RG1.
On suppose que l'utilisateur U2 souhaite à présent accéder au service SR considéré. Pour ce faire, le terminal T2 coopère avec le dispositif DPI de façon analogue à l'interaction décrite précédemment entre le terminal Tl et le dispositif DPI en référence aux étapes S10-S24 (figure 5). Plus précisément, l'utilisateur U2 positionne par exemple son terminal T2 à proximité de la voiture SR de sorte à ce que le terminal T2 puisse coopérer avec le dispositif électronique DPI (figure 1).
Le dispositif DPI envoie (S38) alors au terminal T2 une donnée de défi notée c2. Cette donnée de défi c2 se caractérise de la même manière que la donnée de défi cl déjà décrite ci-avant en référence à la figure 5.
Une fois cette donnée de défi c2 reçue (S38), le terminal T2 génère (S40) un code MAC noté MC3 à partir de la clé fille UK_0 et de la donnée de défi c2.
Lors d'une étape d'envoi S42, le terminal T2 envoie au dispositif DPI le code MAC MC3 ainsi que son identifiant ID2, les droits d'accès RG2, l'identifiant ID1 du terminal Tl et les droits d'accès RG1 du terminal Tl.
Une fois ces données reçues (S42), le dispositif DPI effectue une double dérivation afin d'obtenir la clé fille UK_0 à partir de la clé maîtresse CMK_0.
Plus précisément, le dispositif DPI dérive (S44) 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, comme déjà décrit en référence à l'étape S16 (figure 5).
Le dispositif DPI dérive (S46) ensuite la clé fille cryptographique UK_0 à partir de la première clé mère cryptographique OK_0, de l'identifiant ID2 du terminal T2 et des droits d'accès RG2, de façon analogue à la dérivation S44. Autrement dit, le dispositif DPI détermine en S46 la clé fille UK_0 par dérivation à partir de la clé mère OK_0 et en prenant en entrée l'identifiant ID2 et les droits d'accès RG2. Cette dérivation est réalisée en exécutant l'algorithme de dérivation DERIV déjà mentionné ci-avant.
Lors des étapes S44 et S46, les droits d'accès RG1 puis RG2 peuvent ainsi fournir au dispositif DPI les informations nécessaires pour déterminer quel « chemin » de dérivation doit être adopté, c'est-à-dire pour déterminer comment l'opération de dérivation doit être exécutée.
Le dispositif DPI vérifie ensuite, à partir de la clé fille UK_0, que le code MAC MC3 reçu est valide. Pour ce faire, le dispositif DPI génère (S48) à son tour un code MAC, noté ici MC4, à partir de la clé fille UK_0 et de la donnée de défi c2 précédemment envoyée au terminal T2 en S38. Ce code MAC MC4 est obtenu en effectuant le même calcul que lors de l'étape de calcul S40 réalisée par le terminal T2.
Le dispositif DPI compare (S50) ensuite le code MAC MC3 reçu en S42 avec le code MAC MC4 calculé en S48 et détermine si ces deux codes MAC sont coïncident (i.e. sont identiques).
Le dispositif DPI gère ensuite l'accès du terminal T2 au service SR à partir du résultat de la comparaison effectuée en S50 entre les codes MAC MC3 et MC4.
Plus précisément, lors d'une étape S52, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en S50 si le terminal T2 est autorisé à accéder au service SR selon les droits d'accès RG2. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en S50. Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.
Le dispositif DPI envoie (S54) ensuite au terminal T2 une réponse DEC2 indiquant sa décision concernant la demande d'accès du terminal T2 au service SR.
Dans cet exemple, s'il est détecté en S50 que les codes MAC MC3 et MC4 sont identiques, le dispositif DPI autorise (S52) l'accès au service SR selon les droits d'accès RG2 et envoie (S54) une réponse DEC2 positive au terminal T2. Dans le cas contraire (codes MAC MC3 et MC4 différents), le dispositif DPI bloque (S52) l'accès du terminal T2 au service SR et envoie une réponse DEC2 négative en S54 pour en informer le terminal T2.
Il est ainsi possible pour le propriétaire U1 de déléguer certains droits d'accès à un tiers U2 afin que ce dernier bénéficie de tout ou partie du service SR.
Une variante de réalisation est à présent décrite en référence à la figure 7. Cette variante diffère du mode de réalisation de la figure 6 en ce que la phase de délégation des droits d'accès est réalisée cette fois entre le terminal T2 et le système de contrôle SY. Le terminal Tl n'intervient pas dans cette phase de délégation.
Le serveur DP2 et le dispositif DPI 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 T2 met également en œuvre un procédé de traitement en exécutant un programme d'ordinateur.
On suppose ici également que le terminal Tl s'est enrôlé (étapes S2-S6) auprès du serveur DP2 comme précédemment décrit en référence à la figure 5. Le terminal Tl a éventuellement déjà accédé au service SR (étapes S10-S24) bien que cela ne soit pas nécessaire.
Dans un premier temps, on suppose en outre que l'utilisateur U2 souhaite obtenir certains droits d'accès, notés RG2, pour utiliser le véhicule SR du propriétaire Ul. Comme représenté en figure 7, le terminal Tl et le serveur DP2 interagissent ici ensemble afin de réaliser une phase de délégation des droits d'accès RG2 (étapes S60-S64). Pour ce faire, le terminal T2 communique par exemple avec le serveur DP2 via Internet ou tout autre réseau de communication approprié.
On suppose ici aussi que l'utilisateur U2 ne peut se voir attribué des droits d'accès RG2 allant au-delà des droits d'accès RG1 dont le propriétaire U1 est titulaire. Autrement dit, les deuxièmes droits d'accès RG2 correspondent à tout ou partie des premiers droits d'accès RG1, bien que d'autres modes de réalisation soient possibles.
Comme représenté en figure 7, lors de cette phase de délégation de droits d'accès, le terminal T2 envoie (S60) au serveur DP2 une requête d'accès comportant un identifiant ID2 du terminal T2 et les droits d'accès RG2 qu'il requière pour accéder au service SR.
Une fois ces données reçues (S60), le dispositif DPI dérive (S62) une deuxième clé mère cryptographique OK_1, différente de la première clé mère OK_0, à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID2 du deuxième terminal T2 et des deuxième droits d'accès RG2. Autrement dit, le serveur DP2 détermine cette nouvelle clé mère OK_1 par dérivation à partir de la clé maîtresse CMK_0 et en prenant en entrée l'identifiant ID2 et les droits d'accès RG2. Pour ce faire, le serveur DP2 récupère la clé maîtresse CMK_0 dans sa mémoire locale 14. Cette dérivation S62 est réalisée par calcul en exécutant un algorithme de dérivation DERIV de façon analogue aux étapes S4 et S16 représentées en figure 5. A noter que cette deuxième clé mère OK_1 est du même ordre que la première clé mère OK_0 décrite précédemment.
Selon une variante, le terminal T2 ne fournit pas les droits d'accès RG2 en S60. C'est le serveur DP2 qui détermine lui-même les droits d'accès RG2 et qui les utilise en S62 pour calculer la deuxième clé mère OK_1.
Avant de calculer (S62) la deuxième clé mère OK_1, le serveur DP2 peut réaliser une procédure d'authentification appropriée du terminal T2 et/ou une procédure de vérification pour vérifier que le terminal T2 (associé à l'utilisateur U2) est autorisé à recevoir cette clé mère OK_1.
Comme représenté en figure 7, le serveur DP2 envoie (S64) ensuite au terminal T2 la deuxième clé mère cryptographique OK_1 obtenue en S62, de sorte à permettre au terminal T2 d'accéder au service SR selon les deuxièmes droits RG2. Dans cet exemple, le serveur DP2 envoie (S64) en outre au terminal T2 les droits d'accès RG2.
Selon un exemple particulier, le serveur DP2 ne procède à l'envoi S64 que sur réception d'une commande du terminal Tl confirmant que l'utilisateur U2 est autorisé à obtenir les droits d'accès considérés.
Toujours dans l'exemple représenté en figure 7, le terminal T2 enregistre (S66) ensuite la deuxième clé mère OK_1 et les droits d'accès RG2 dans sa mémoire. A noter que l'identifiant ID2 du terminal T2 est également stockée dans sa mémoire.
Le dispositif DPI a ainsi réalisé une délégation de pouvoir au bénéfice du terminal T2 de l'utilisateur U2. Le terminal T2 détient à présent en mémoire notamment la deuxième clé mère OK_1 obtenue par dérivation à partir de la clé maîtresse CMK_0. Cette clé mère OK_1 peut être utilisée par le terminal T2 lors de chaque accès au service SR.
De même que pour la variante représentée en figure 6, les deuxièmes droits d'accès RG2 peuvent être plus limités que les premiers droits d'accès RG1, notamment dans le temps et/ou en ce qui concerne les fonctionnalités accessibles de la voiture SR,.
On suppose que l'utilisateur U2 souhaite à présent accéder au service SR considéré. Pour ce faire, le terminal T2 coopère avec le dispositif DPI de façon analogue à l'interaction décrite précédemment entre le terminal Tl et le dispositif DPI en référence aux étapes S10-S24 (figure 5). Plus précisément, l'utilisateur U2 positionne par exemple son terminal T2 à proximité de la voiture SR de sorte à ce que le terminal T2 puisse coopérer avec le dispositif électronique DPI (figure 1).
Le dispositif DPI envoie (S68) alors au terminal T2 un donnée de défi notée c3. Cette donnée de défi c3 se caractérise de la même manière que la donnée de défi cl déjà décrite ci-avant en référence à la figure 5.
Une fois cette donnée de défi c3 reçue (S68), le terminal T2 génère (S70) un code MAC noté MC5 à partir de la deuxième clé mère OK_1 et de la donnée de défi c3.
Lors d'une étape d'envoi S72, le terminal T2 envoie au dispositif DPI le code MAC MC5 ainsi que son identifiant ID2 et les droits d'accès RG2.
Une fois ces données reçues (S72), le dispositif DPI dérive (S74) la deuxième clé mère cryptographique OK_1 à partir de la clé maîtresse cryptographique CMK_0, de l'identifiant ID2 du terminal T2 et des droits d'accès RG2, de la même manière qu'à l'étape précédente S62 réalisée par le serveur DP2.
Le dispositif DPI vérifie ensuite, à partir de la deuxième clé mère OK_1, que le code MAC MC5 reçu est valide. Pour ce faire, le dispositif DPI génère (S76) à son tour un code MAC, noté ici MC6, à partir de la deuxième clé mère OK_1 et de la donnée de défi c3 précédemment envoyée au terminal T2 en S68. Ce code MAC MC6 est obtenu en effectuant le même calcul que lors de l'étape de calcul S70 réalisée au préalable par le terminal T2.
Le dispositif DPI compare (S78) ensuite le code MAC MC5 reçu en S72 avec le code MAC MC6 calculé en S76 et détermine si ces deux codes MAC sont coïncident (i.e. sont identiques).
Le dispositif DPI gère ensuite l'accès du terminal T2 au service SR à partir du résultat de la comparaison effectuée en S78 entre les codes MAC MC5 et MC6.
Plus précisément, lors d'une étape S80, le dispositif DPI détermine à partir du résultat de la comparaison réalisée en S78 si le terminal T2 est autorisé à accéder au service SR selon les droits d'accès RG2. Autrement dit, le dispositif DPI contrôle l'accès au service SR en fonction du résultat obtenu en S78. Ce contrôle peut se concrétiser par une autorisation d'accès ou par un blocage.
Le dispositif DPI envoie (S82) ensuite au terminal T2 une réponse DEC3 indiquant sa décision concernant la demande d'accès du terminal T2 au service SR.
Dans cet exemple, s'il est détecté en S78 que les codes MAC MC5 et MC6 sont identiques, le dispositif DPI autorise (S80) l'accès au service SR selon les droits d'accès RG2 et envoie (S82) une réponse DEC3 positive au terminal T2. Dans le cas contraire (codes MAC MC5 et MC6 différents), le dispositif DPI bloque (S80) l'accès du terminal T2 au service SR et envoie une réponse DEC3 négative en S82 pour en informer le terminal T2.
Il est ainsi possible pour l'utilisateur U2 d'obtenir des droits d'accès RG2 délégués par le propriétaire U1 à l'aide du système de contrôle SY, et plus particulièrement à partir du serveur DP2 dans cet exemple. Dans une variante, la phase de délégation correspondant aux étapes S60-S64 de la figure 7 est réalisée par le dispositif DPI.
L'invention permet au titulaire de droits d'accès à un service de déléguer certains droits à un tiers afin que celui-ci accède à tout ou partie du service avec le consentement du titulaire. L'accès au service par des tiers est ainsi possible de façon sécurisée.
L'invention permet en particulier de contrôler les droits d'accès délégués aux tiers, en adaptant au besoin les fonctionnalités de service accessibles selon les droits délégués et/ou la durée de validité des droits délégués.
L'invention permet aussi de faciliter la révocation des droits d'accès délégués à des tiers. Par exemple, si la clé maîtresse CMK_0 est révoquée ou n'est plus valide pour une raison quelconque (par exemple parce qu'une nouvelle clé maîtresse CMK_1 est valide en remplacement de CMK_0), le système de contrôle SY détermine en S4 (figure 6) ou en S74 (figure 7) une clé mère différente de celle utilisée par le terminal Tl, et le système de contrôle SY en déduit alors que la demande d'accès du terminal T2 doit être rejetée (car les codes MACs sont différents). De même, si la première clé mère OK_0 est révoquée ou n'est plus valide pour une raison quelconque (par exemple parce qu'une nouvelle clé maîtresse CMK_1 est valide en remplacement de CMK_0), le système de contrôle SY obtient en S46 (figure 6) une clé fille différente de la clé UK_0 attendue, et le système de contrôle SY en déduit alors que la demande d'accès du terminal T2 doit être rejetée.
Ainsi, il est par exemple possible pour le propriétaire U1 (ou une autorité tierce) de demander la révocation de la clé maîtresse CMK_0 lorsqu'il vend sa voiture à un tiers, causant ainsi la révocation immédiate et automatique de tous les droits d'accès susceptibles d'avoir été délégués dans le passé à des tiers. Cette révocation ne nécessite aucune récupération de données depuis les terminaux des tiers concernés, ni d'interaction particulière avec les terminaux de ces tiers. Une telle révocation ne nécessite pas non plus de transmettre au système de contrôle SY, et en particulier au dispositif DPI, des informations liées à tous les utilisateurs qui avaient des droits d'accès au service SR considéré.
Selon une variante, le système de contrôle SY reçoit une commande de révocation de la clé maîtresse CMK_0 avant de réaliser l'étape S44 (figure 6) ou S74 (figure 7). Cette commande de révocation peut être envoyée par un quelconque terminal de communication ou serveur, tel que le serveur DP2. Un tiers ou une autorité compétente peut ainsi à tout moment mettre fin à la validité d'une clé maîtresse associée au service SR concerné. Selon un exemple particulier, cette demande de révocation a pour effet, au niveau du système de contrôle SY, de changer la clé maîtresse CMK_0 en une nouvelle clé maîtresse CMK_1. Ceci a pour conséquence que tous les codes MACs calculés ultérieurement à partir de clés dérivées de CMK_0 sont invalides. Sur réception de cette commande de révocation, le système de contrôle SY détermine que le code MAC reçu depuis le terminal T2 est invalide et refuse l'accès au service SR. Cette commande de révocation peut être reçue directement par le dispositif DPI ou, alternativement, cette commande peut être reçue par le serveur DP2 puis transmise par toute méthode de communication appropriée au dispositif DPI. Si le dispositif DPI reçoit directement cette commande de révocation, il peut en informer le serveur DP2 ou le serveur DP2 peut en être informé indépendamment du dispositif DPI par tout autre moyen, de sorte que le serveur DP2 ait connaissance de la révocation de la clé maîtresse CMK_0.
Selon un autre exemple, la commande de révocation reçue par le système de contrôle SY cause la révocation d'au moins l'une parmi les clés cryptographiques OK_0, OK_1 et UK_0 précédemment décrites, bloquant ainsi l'accès à chaque utilisateur utilisant la clé en question, ou une clé dérivée directement ou indirectement de celle-ci.
Les commandes de révocation mentionnées ci-avant peuvent par exemple être envoyées par le terminal Tl au système de contrôle SY.
Dans un exemple de réalisation particulier, le premier tiers U2 à qui ont été délégués certains droits d'accès au service SR peut par exemple être autorisé par le propriétaire U1 à déléguer à son tour certains droits d'accès à d'autres tiers. Une telle sous-délégation peut, par exemple, être réalisée de façon analogue à l'un des modes de réalisation représentés en figures 6 et 7. Dans ce cas, la révocation de la clé dérivée fournie au premier tiers U1 permet de mettre fin instantanément à l'accès du tiers Ul, et de tous autres tiers bénéficiant d'une sous-délégation par le tiers Ul ou par le tiers U2, au service SR concerné.
Selon une variante, le système de contrôle SY reçoit une commande de révocation de la première clé mère OK_0 avant de réaliser l'étape S44 (figure 6) ou S74 (figure 7). Cette commande de révocation peut être envoyée par un quelconque terminal de communication ou serveur, tel que le serveur DP2. Un tiers ou une autorité compétente peut ainsi à tout moment mettre fin à la validité d'une clé mère associée au service SR concerné. Cette demande de révocation a pour effet, au niveau du système de contrôle SY, de changer la clé mère OK_0 en une nouvelle clé mère notée OK_1 par exemple. Sur réception de cette commande de révocation, le système de contrôle SY détermine que le code MAC reçu depuis le terminal T2 est invalide et refuse l'accès au service SR. Cette commande de révocation peut être reçue directement par le dispositif DPI ou, alternativement, cette commande peut être reçue par le serveur DP2 puis transmise par toute méthode de communication appropriée au dispositif DPI. Dans cet cas, le dispositif DPI peut garder en mémoire, dans une liste noire, l'identifiant de la clé mère OK_0 qui a été révoquée.
Selon une variante de réalisation, le dispositif DPI et le serveur DP2 forme un seul et même dispositif. Dans ce cas, le système de contrôle peut stocker la clé mère OK_0 calculée en S4 (figure 5) de sorte qu'il ne soit pas nécessaire de la recalculer ultérieurement en S16. Cette variante s'applique de façon analogue pour les modes de réalisation représentées en figures 6 et 7.
Dans les modes de réalisation décrits ci-avant, les codes MAC générés par les terminaux clients Tl et T2, 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 du code MAC prend é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 être prise en compte lors des étapes S40 et S48 (figure 6), ou encore lors des étapes S70 et S76 (figure 7), cette donnée additionnelle spécifiant par exemple les fonctionnalités (ou actions) que l'utilisateur est effectivement autorisé à exécuter en lien avec le service SR considéré (ouvrir le véhicule avec droit de démarrage, ouvrir le coffre seulement...).
Un homme du métier comprendra que les modes de réalisation et variantes décrits ciavant 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.

Claims (15)

  1. REVENDICATIONS
    1. Procédé de contrôle, mis en œuvre par un système de contrôle (SY), pour contrôler l'accès à un service (SR), le procédé comprenant les étapes suivantes :
    - envoi d'une première donnée de défi (cl) à un premier terminal (Tl) ;
    - réception, en réponse audit envoi, d'un premier code MAC (MCI) généré par le premier terminal accompagné d'un identifiant (ID1) du premier terminal et de premiers droits d'accès (RG1) pour accéder au service ;
    - dérivation d'une première clé mère cryptographique (OK_0) à partir d'une clé maîtresse cryptographique (CMK_0), de l'identifiant du premier terminal et des premiers droits d'accès ;
    - génération d'un deuxième code MAC (MC2) à partir de la première donnée de défi (cl) et de la première clé mère cryptographique (OK_0); et
    - gestion de l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC.
  2. 2. Procédé selon la revendication 1, dans lequel, au cours de l'étape de gestion d'accès, le système de contrôle autorise l'accès du premier terminal (Tl) au service (SR) selon les premiers droits d'accès (RG1) seulement s'il est déterminé lors de ladite comparaison que les premier et deuxième codes MAC coïncident.
  3. 3. Procédé selon la revendication 1 ou 2, comprenant, préalablement à l'envoi de la première donnée de défi (cl), un enrôlement comprenant les étapes suivantes :
    - réception, en provenance du premier terminal (Tl), de l'identifiant (ID1) du premier terminal et des premiers droits d'accès (RG1) pour accéder au service ;
    - dérivation de la première clé mère cryptographique (OK_0) à partir de la clé maîtresse cryptographique (CMK_0), 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 (OK_0) de sorte à permettre au premier terminal d'accéder au service (SR) selon les premiers droits si les premier et deuxième codes MAC coïncident.
  4. 4. Procédé selon l'une quelconque des revendications 1 à 3, comprenant :
    - réception, en provenance d'un deuxième terminal (T2), d'un identifiant (ID2) du deuxième terminal et de deuxièmes droits d'accès (RG2) pour accéder au service (SR);
    - dérivation d'une deuxième clé mère cryptographique (OK_1), différente de la première clé mère cryptographique (OK_0), à partir de la clé maîtresse cryptographique (CMK_0), de l'identifiant (ID2) du deuxième terminal et des deuxièmes droits d'accès (RG2) ; et
    - envoi, au deuxième terminal, de la deuxième clé mère cryptographique (OK_1) de sorte à permettre au deuxième terminal d'accéder au service (SR) selon les deuxièmes droits d'accès.
  5. 5. Procédé selon la revendication 4, comprenant :
    - envoi d'une deuxième donnée de défi (c3) au deuxième terminal (T2) ;
    - réception, en réponse à l'envoi de la deuxième donnée de défi, d'un troisième code MAC (MC5) généré par le deuxième terminal accompagné d'un identifiant (ID2) du deuxième terminal et des deuxièmes droits d'accès (RG2) pour accéder au service ;
    - dérivation d'une deuxième clé mère cryptographique (OK_1), différente de la première clé mère cryptographique (OK_0), à partir de la clé maîtresse cryptographique (CMK_0), de l'identifiant du deuxième terminal et des deuxièmes droits d'accès ;
    - génération d'un quatrième code MAC (MC6) à partir de la deuxième donnée de défi (c3) et à partir de la deuxième clé mère cryptographique (OK_1) ; et
    - gestion de l'accès du deuxième terminal au service à partir d'une comparaison des troisième et quatrième codes MAC.
  6. 6. Procédé selon l'une quelconque des revendications 1 à 5, le procédé comprenant une étape de révocation de la clé maîtresse cryptographique (CMK_0) causant la révocation de chaque clé cryptographique dérivée directement ou indirectement de la clé maîtresse cryptographique.
  7. 7. Procédé de traitement, mis en œuvre par un premier terminal (Tl), pour accéder à un service (SR) dont l'accès est contrôlé par un système de contrôle (SY), comprenant les étapes suivantes :
    - réception d'une donnée de défi (cl) en provenance du système de contrôle ;
    - génération d'un premier code MAC (MCI) à partir de la donnée de défi et d'une première clé mère cryptographique (OK_0) ; et
    - envoi, au système de contrôle, du premier code MAC (MCI) accompagné d'un identifiant (ID1) du premier terminal et de premiers droits d'accès (RG1) pour accéder au service, de sorte à permettre au système de contrôle de contrôler, à partir d'une clé maîtresse cryptographique (CMK_0) dont est dérivée la première clé mère cryptographique (OK_0), si le premier terminal est autorisé à accéder au service selon les premiers droits d'accès.
  8. 8. Procédé selon la revendication 7, dans lequel l'étape de génération du premier code MAC comprend la récupération de la première clé mère cryptographique (OK_0) stockée dans une mémoire locale du premier terminal (Tl).
  9. 9. Procédé selon la revendication 8, le premier terminal étant un terminal de télécommunications et la mémoire locale étant une mémoire sécurisée d'une carte SIM ou d'un module d'identité de souscripteur embarqué.
  10. 10. Procédé selon l'une quelconque des revendications 7 à 9, comprenant, préalablement à la génération du premier code MAC, un enrôlement comprenant :
    - envoi, au système de contrôle (SY), de l'identifiant (ID1) du premier terminal et des premiers droits d'accès (RG1) pour accéder au service ;
    - réception, en provenance du système de contrôle, de la première clé mère cryptographique (OK_0) dérivée à partir d'une clé maîtresse cryptographique (CMK_0), de l'identifiant du premier terminal et des droits d'accès ; et
    - enregistrement de la première clé mère cryptographique (OK_0).
  11. 11. Procédé selon l'une quelconque des revendications 7 à 10, comprenant :
    - réception, en provenance d'un deuxième terminal (T2), d'un identifiant (ID2) du deuxième terminal et de deuxièmes droits d'accès (RG2) pour accéder au service ;
    - dérivation d'une clé fille cryptographique (UK_0) à partir de la première clé mère cryptographique (OK_0), de l'identifiant (ID2) du deuxième terminal et des deuxième droits d'accès (RG2) ; et
    - envoi, au deuxième terminal, de la clé fille cryptographique (UK_0) de sorte à permettre au deuxième terminal d'accéder au service (SR) selon les deuxièmes droits.
  12. 12. Procédé selon la revendication 11, comprenant l'envoi, au système de contrôle (SY), d'une commande de révocation requérant la révocation de la clé fille cryptographique (UK_0).
  13. 13. Programme d'ordinateur (PG1, PG2 ; PG3) comportant des instructions pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 12 lorsque ledit programme est exécuté par un ordinateur.
  14. 14. Système de contrôle (SY) configuré pour contrôler l'accès à un service (SR), comprenant :
    - un module d'envoi configuré pour envoyer une première donnée de défi (cl) à un premier terminal (Tl) ;
    - un module de réception configuré pour recevoir, en réponse audit envoi, un premier code MAC (MCI) généré par le premier terminal accompagné d'un identifiant (ID1) du premier terminal et de premiers droits d'accès (RG1) pour accéder au service ;
    - un module de dérivation configuré pour dérivée une première clé mère cryptographique (OK_0) à partir d'une clé maîtresse cryptographique (CMK_0), de l'identifiant du premier terminal et des premiers droits d'accès ;
    - un module de génération configuré pour générer un deuxième code MAC (MC2) à partir de la première donnée de défi (cl) de la première clé mère cryptographique (OK_0); et
    - un module de gestion configuré pour contrôler l'accès du premier terminal au service à partir d'une comparaison des premier et deuxième codes MAC.
  15. 15. Terminal (Tl), dit premier terminal, configuré pour accéder à un service (SR) dont l'accès est contrôlé par un système de contrôle (SY), comprenant :
    - un module de réception configuré pour recevoir une donnée de défi (cl) en provenance du système de contrôle ;
    - un module de génération configuré pour générer un premier code MAC (MCI) à partir de la donnée de défi et d'une première clé mère cryptographique (OK_0) ; et
    - un module d'envoi configuré pour envoyer au système de contrôle le premier
    5 code MAC (MCI) accompagné d'un identifiant (ID1) du premier terminal et de premiers droits d'accès (RG1) pour accéder au service, de sorte à permettre au système de contrôle de contrôler, à partir d'une clé maîtresse cryptographique (CMK_0) dont est dérivée la première clé mère cryptographique (OK_0), si le premier terminal est autorisé à accéder au service selon les premiers droits
    10 d'accès.
FR1759286A 2017-10-04 2017-10-04 Controle d'acces a un service Active FR3071943B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1759286A FR3071943B1 (fr) 2017-10-04 2017-10-04 Controle d'acces a un service

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1759286A FR3071943B1 (fr) 2017-10-04 2017-10-04 Controle d'acces a un service
FR1759286 2017-10-04

Publications (2)

Publication Number Publication Date
FR3071943A1 true FR3071943A1 (fr) 2019-04-05
FR3071943B1 FR3071943B1 (fr) 2019-10-25

Family

ID=61521555

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1759286A Active FR3071943B1 (fr) 2017-10-04 2017-10-04 Controle d'acces a un service

Country Status (1)

Country Link
FR (1) FR3071943B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552270A (zh) * 2020-04-29 2020-08-18 北京汽车股份有限公司 用于车载诊断的安全认证和数据传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258118B1 (en) * 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
WO2016156682A1 (fr) * 2015-04-01 2016-10-06 Valeo Comfort And Driving Assistance Procédé de chargement d'une clé virtuelle au sein d'un terminal utilisateur et terminal utilisateur associé
WO2016156681A1 (fr) * 2015-04-01 2016-10-06 Valeo Comfort And Driving Assistance Procédé de chargement d'une clé virtuelle et terminal utilisateur associé

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258118B1 (en) * 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
WO2016156682A1 (fr) * 2015-04-01 2016-10-06 Valeo Comfort And Driving Assistance Procédé de chargement d'une clé virtuelle au sein d'un terminal utilisateur et terminal utilisateur associé
WO2016156681A1 (fr) * 2015-04-01 2016-10-06 Valeo Comfort And Driving Assistance Procédé de chargement d'une clé virtuelle et terminal utilisateur associé

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552270A (zh) * 2020-04-29 2020-08-18 北京汽车股份有限公司 用于车载诊断的安全认证和数据传输方法及装置

Also Published As

Publication number Publication date
FR3071943B1 (fr) 2019-10-25

Similar Documents

Publication Publication Date Title
EP3348085B1 (fr) Procédé de chargement d'une clé virtuelle au sein d'un terminal utilisateur et terminal utilisateur associé
EP2819052B1 (fr) Procédé et serveur de traitement d'une requête d'accès d'un terminal à une ressource informatique
FR3067197A1 (fr) Procede de selection d'une tranche de reseau relative a une application
EP3741148B1 (fr) Technique de détermination d'une clé destinée à sécuriser une communication entre un équipement utilisateur et un serveur applicatif
WO2006021661A2 (fr) Procede d'authentification securisee pour la mise en œuvre de services sur un reseau de transmission de donnees
EP2871876A1 (fr) Technique de configuration d'accès sécurisé d'un terminal invité à un réseau hôte
FR3071943B1 (fr) Controle d'acces a un service
EP2348763B1 (fr) Procédé d'authentification d'un terminal mobile pour accéder à un serveur d'applications
EP3824676A1 (fr) Dispositifs et procedes de gestion d'un attachement d'un dispositif de communication a un reseau d'un operateur
FR3103990A1 (fr) Procédés et applications de contrôle d’accès distribué à un réseau de télécommunications
FR3028369A1 (fr) Procede et systeme de gestion d'identites d'utilisateurs destine a etre mis en oeuvre lors d'une communication entre deux navigateurs web
FR3071945B1 (fr) Securisation de l'acces a un service
EP3948626A1 (fr) Procedes et dispositifs permettant de prouver la connaissance d'une donnee par un utilisateur d'une chaine de blocs
EP1413158B1 (fr) Procede d'acces a un service specifique propose par un operateur virtuel et carte a puce d'un dispositif correspondant
EP2446608B1 (fr) Technique de contrôle d'accès par une entité cliente à un service
WO2023083769A1 (fr) Procédé de traitement d'au moins un paquet de données, dispositif et système associés.
WO2021165625A1 (fr) Procede de calcul d'une cle de session, procede de recuperation d'une telle cle de session
EP3925253A1 (fr) Récupération de clé réseau, envoi de clé réseau, gestion de récupération de clé réseau, terminal, serveur de médiation et point d'accès les mettant en ?uvre
WO2023057701A1 (fr) Procédé, dispositif et système d'enregistrement d'un terminal à un réseau de communication
EP4079012A1 (fr) Technique d'administration d'un profil d'acces a un reseau de communication
WO2024141553A1 (fr) Procédé amélioré de provisionnement d'un équipement utilisateur avec un profil de souscription d'un opérateur final
WO2020148492A1 (fr) Autorisation du chargement d'une application dans un élément de sécurité
WO2017060624A1 (fr) Moyens de gestion d'accès à des données
EP3663945A1 (fr) Module électronique connectable formé de grappes d'éléments sécurisés
FR3067538A1 (fr) Procede de controle de l'obtention par un terminal d'un fichier de configuration

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

CA Change of address

Effective date: 20230220

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20230220

PLFP Fee payment

Year of fee payment: 7