« Procédé d'inscription d'un utilisateur à un service de commande d'une fonctionnalité d'un véhicule au moyen d'un terminal utilisateur »
DOMAINE TECHNIQUE AUQUEL SE RAPPORTE L'INVENTION La présente invention concerne la commande de fonctionnalités d'un véhicule au moyen d'un terminal utilisateur, tel qu'un téléphone portable.
Elle concerne plus particulièrement un procédé d'inscription d'un utilisateur à un service de commande d'une fonctionnalité d'un véhicule au moyen d'un terminal utilisateur.
L'invention s'applique particulièrement avantageusement dans le cas où cette fonctionnalité est le déverrouillage des portes du véhicule.
ARRIERE-PLAN TECHNOLOGIQUE
On a proposé de commander certaines fonctionnalités d'un véhicule automobile, telles que le déverrouillage des portes du véhicule, au moyen d'un terminal utilisateur, par exemple un téléphone portable couramment, utilisé par l'utilisateur du véhicule.
Afin de ne permettre cette commande qu'aux personnes effectivement autorisées, on utilise une clé virtuelle mémorisée dans le terminal utilisateur et dont une unité électronique de commande du véhicule vérifie la validité avant de commander le déverrouillage des portes.
De telles clés virtuelles sont distribuées aux seules personnes ayant souscrit à un service de commande des fonctionnalités au moyen du terminal utilisateur.
OBJET DE L'INVENTION
Dans ce contexte, la présente invention propose un procédé d'inscription d'un utilisateur à un service de commande d'au moins une fonctionnalité d'un véhicule au moyen d'un terminal utilisateur, caractérisé en ce qu'il comprend les étapes suivantes :
- communication d'un identifiant de l'utilisateur et d'un identifiant associé au véhicule à un serveur ;
- authentification d'une unité électronique du véhicule par le serveur ;
- en cas d'authentification réussie, inscription de l'identifiant de l'utilisateur et de l'identifiant associé au véhicule en association au niveau du serveur.
L'inscription du véhicule au service, en association avec l'identifiant
utilisateur (qui peut être par exemple un identifiant de son terminal utilisateur), n'est ainsi réalisée que lorsqu'une unité électronique du véhicule désigné par l'identifiant communiqué s'est authentifiée auprès du serveur.
D'autres caractéristiques optionnelles, et donc non limitatives, sont les suivantes :
- l'authentification comprend une étape d'utilisation par le serveur d'une clé cryptographique mémorisée en association avec une référence de l'unité électronique ;
- l'authentification comprend des échanges de données entre le serveur et l'unité électronique via le terminal utilisateur ;
- l'étape d'authentification fait partie d'un processus d'authentification mutuelle entre le serveur et l'unité électronique de commande ;
- le procédé d'inscription comprend une étape de détection d'une action de l'utilisateur sur un objet physique lié au véhicule ;
- l'inscription est conditionnée non seulement par l'authentification réussie, mais en outre par la détection précitée ;
- l'étape de détection est mise en œuvre seulement en cas d'authentification réussie ;
- le procédé d'inscription comprend, en cas de détection réussie, une étape d'émission par l'unité électronique d'un message de lancement du service à destination du serveur, ladite inscription étant effectuée par le serveur à réception du message de lancement du service ;
- le procédé comprend, suite à ladite inscription, une étape d'émission d'une clé virtuelle à destination du terminal ;
- l'objet physique est une clé physique apte à commander le déverrouillage des portes du véhicule ;
- l'objet physique est une commande manuelle du véhicule ;
- l'identifiant de l'utilisateur est un identifiant du terminal utilisateur ;
- le procédé comprend en outre, en cas d'authentification réussie, une étape d'initialisation d'un compteur au sein du serveur et au sein de l'unité électronique ;
- le compteur est initialisé à l'étape d'initialisation avec une valeur d'initialisation mémorisée au sein du serveur et au sein de l'unité électronique ;
- le compteur est incrémenté périodiquement avec une période
mémorisée au sein du serveur et au sein de l'unité électronique ;
- l'étape de communication est réalisée par transmission, par exemple au moyen du terminal utilisateur, de l'identifiant de l'utilisateur et de l'identifiant associé au véhicule ;
- l'étape de communication est réalisée par saisie, au niveau du serveur, de l'identifiant de l'utilisateur et de l'identifiant associé au véhicule.
Le procédé d'inscription peut en outre comprendre les étapes suivantes :
- téléchargement, du serveur au terminal, d'une application (par exemple pré-personnalisée) contenant un message spécifique destiné à une entité électronique de commande correspondant à l'identifiant associé au véhicule ;
- transmission, du fait de l'exécution de l'application sur le terminal, du message spécifique à l'unité de commande du véhicule.
La fonctionnalité est par exemple le déverrouillage ou le verrouillage des portes du véhicule, ou le verrouillage ou déverrouillage du coffre du véhicule, ou bien le verrouillage ou déverrouillage de la boîte à gant du véhicule, ou encore le démarrage ou l'arrêt du moteur du véhicule.
DESCRIPTION DÉTAILLÉE D'UN EXEMPLE DE RÉALISATION La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée.
Sur les dessins annexés :
- la figure 1 représente un exemple de contexte dans lequel peut-être mise en œuvre l'invention, comprenant notamment un véhicule et un terminal utilisateur ;
- la figure 2 représente schématiquement des composants, utiles à la compréhension de l'invention, du véhicule et du terminal utilisateur de la figure 1 ;
- la figure 3 présente les étapes principales d'un procédé d'inscription à un service de commande de fonctionnalités du véhicule au moyen du terminal utilisateur ;
- la figure 4 présente les étapes principales d'un exemple de procédé de commande d'une fonctionnalité du véhicule au moyen du terminal utilisateur ; et
- la figure 5 présente les étapes principales d'un autre exemple de procédé d'inscription à un service de commande de fonctionnalités du véhicule au moyen du terminal utilisateur.
La figure 1 représente un exemple de contexte dans lequel peut être mise en œuvre l'invention.
Dans ce contexte, un véhicule 10 comprend une unité électronique de commande 1 1 (ou ECU pour "Electronic Control Unit") qui peut entrer en communication via une liaison sans fil avec un terminal utilisateur 20, par exemple un téléphone portable (ou téléphone cellulaire), éventuellement de type "téléphone intelligent' ou "smartphone" selon la dénomination anglo-saxonne couramment utilisée, afin d'échanger des données avec ce terminal utilisateur 20, par exemple en vue de la commande de fonctionnalités du véhicule 10 au moyen du terminal utilisateur 20 (une telle fonctionnalité pouvant être par exemple le déverrouillage des portes du véhicule 10), comme expliqué plus bas.
La liaison sans fil utilisée pour communiquer entre l'unité électronique de commande 1 1 et le terminal utilisateur 20 est par exemple de type Bluetooth.
Le terminal utilisateur 20 est par ailleurs conçu pour se connecter à un réseau de téléphonie mobile 30 qui comprend notamment une station de base 32 en communication via une liaison radio avec le terminal utilisateur 20 et une passerelle 34 de connexion à un réseau public 40, par exemple le réseau Internet.
Un serveur 50 est également connecté au réseau public 40 de sorte que le terminal utilisateur 20 et le serveur 50 peuvent entrer en communication et échanger des données via le réseau de téléphonie mobile 30 et le réseau public 40. Le serveur 50 est ici géré par le fabricant de l'unité électronique de commande 1 1 .
La figure 2 représente schématiquement des composants, utiles à la compréhension de l'invention, du véhicule 10 et du terminal utilisateur 20.
Le véhicule 10 comprend notamment l'unité électronique de commande
1 1 déjà mentionnée, un actionneur 15 (conçu ici pour permettre le déverrouillage des portes du véhicule 10), un actionneur 17 (conçu pour permettre le démarrage du véhicule), un module de communication sans fil 16 et une interface utilisateur 18.
Un numéro d'identification VID est attribué au véhicule 10 et un numéro de série N est attribué à l'unité électronique de commande 1 1 . L'association entre le numéro d'identification VID d'un véhicule 10 et le numéro de série N de l'unité électronique de commande 1 1 qui équipe ce véhicule 10 est conservée dans une base de données D gérée par le serveur 50 (qui peut être le constructeur du
véhicule 10 ou un fournisseur).
L'unité électronique de commande comprend un processeur 12 et une unité de mémorisation 14, par exemple une mémoire non-volatile réinscriptible ou un disque dur.
L'unité de mémorisation 14 mémorise notamment des programmes d'ordinateur comprenant des instructions dont l'exécution par le processeur 12 permet la mise en œuvre par l'unité électronique de commande 1 1 des procédés décrits ci-dessous.
L'unité de mémorisation 14 mémorise également des données utilisées dans le cadre des procédés décrits ci-dessous, notamment une clé cryptographique PrK (par exemple une clé privée) et une clé racine (ou clé maître) MK, utilisées comme expliqué dans la suite.
La clé cryptographique PrK et/ou la clé racine MK sont par exemple écrites dans l'unité de mémorisation 14 lors de la fabrication de l'unité électronique de commande 1 1 , avant montage de cette unité électronique de commande 1 1 dans le véhicule 10.
La clé cryptographique PrK et la clé racine MK sont également mémorisées au niveau du serveur 50 (dont on rappelle qu'il est géré par le fabricant de l'unité électronique de commande 1 1 ), en association avec le numéro de série N de l'unité électronique de commande 1 1 .
Dans certaines applications décrites dans la suite, l'unité de mémorisation 14 mémorise en outre des informations de construction d'un compteur diversifié, par exemple une valeur initiale I du compteur et une durée de pas P. Ces informations peuvent elles aussi être écrites dans l'unité de mémorisation 14 lors de la fabrication de l'unité électronique de commande 1 1 , avant montage de cette unité électronique de commande 1 1 dans le véhicule 10, et mémorisées par ailleurs au niveau du serveur 50, en association avec le numéro de série N de l'unité électronique de commande 1 1 .
Ce compteur est diversifié dans le sens où les informations de construction du compteur (ici la valeur initiale I et la durée du pas P) diffèrent d'une unité électronique de commande à l'autre, et donc d'un véhicule à l'autre. Autrement dit, chaque unité électronique de commande (et donc chaque véhicule) mémorise des informations de construction du compteur qui lui sont propres. Le serveur S mémorise ainsi, comme déjà indiqué, ces informations de construction
du compteur en association avec chaque numéro de série d'unité électronique de commande.
Le terminal utilisateur 20 comprend un processeur 22, une mémoire 24 (par exemple une mémoire non-volatile réinscriptible), un module de communication sans fil 26 et un module 28 de communication sur le réseau de téléphonie mobile 30.
Le module de communication sans fil 26 du terminal utilisateur 20 permet d'établir une liaison sans fil (ici de type Bluetooth comme déjà indiqué) avec le module de communication sans fil 16 du véhicule 10 à travers laquelle le processeur 12 de l'unité électronique de commande 1 1 et le processeur 22 du terminal utilisateur 20 peuvent échanger des données, notamment comme exposé plus loin.
Le module de communication 28 permet au terminal utilisateur 20 (et précisément au processeur 22 équipant ce terminal utilisateur 20) d'échanger comme déjà indiqué des données avec d'autres dispositifs connectés au réseau de téléphonie mobile 30 ou au réseau public 40, notamment avec le serveur 50. Dans certains modes de réalisation, le module de communication peut comprendre une carte à puce qui mémorise des données de connexion associées à un abonnement au service de téléphonie mobile et permettant d'établir la connexion sur le réseau de téléphonie mobile 30.
La figure 3 présente les étapes principales d'un procédé d'inscription (ou enrôlement) à un service de commande de fonctionnalités du véhicule 10 au moyen du terminal utilisateur 20.
On remarque qu'avant la mise en œuvre d'un tel procédé, le terminal utilisateur 20 n'est pas spécifiquement préparé pour la commande de fonctionnalités du véhicule 10 et ne comprend aucune donnée associée avec le véhicule 10. Il peut donc s'agir par exemple du téléphone portable couramment utilisé par le propriétaire du véhicule 10.
De même, avant la mise en œuvre du procédé, le terminal utilisateur 20 est inconnu du véhicule 10 qui n'a donc connaissance d'aucune donnée associée à ce terminal utilisateur 20.
On considère que, pour la mise en œuvre du procédé de la figure 3, un utilisateur U (selon un mode de réalisation : le propriétaire du véhicule 10 ; dans un autre mode de réalisation, une personne chargée de la mise en service du
véhicule 10) a accès au véhicule 10 (également référencé V en figure 3) par des moyens classiques (par exemple une clé physique).
Dans le mode de réalisation décrit ici, l'utilisateur U porte et utilise le terminal utilisateur 20 qui, comme décrit ci-dessus, est en communication d'une part avec l'unité électronique de commande 1 1 via une liaison sans fil (par exemple de type Bluetooth) et d'autre part avec le serveur 50 (référencé S en figure 3) via une liaison radio jusqu'à la station de base 31 , puis via le réseau de téléphonie mobile 30 et le réseau public 40.
Le terminal utilisateur 20 peut ainsi être utilisé, dans le mode de réalisation décrit ici, en tant que passerelle permettant un échange de données entre le véhicule V (précisément l'unité électronique de commande 1 1 ) et le serveur S, comme décrit ci-après.
En variante, on pourrait utiliser d'autres moyens de communication entre le véhicule V (i.e. l'unité électronique de commande 1 1 ) et le serveur S, par exemple un module de communication (parfois dénommé "Telematic Control Unit") équipant le véhicule V et conçu pour établir une communication (directe) entre le véhicule V et le réseau de téléphonie mobile 30.
Le procédé de la figure 3 débute à l'étape E2 à laquelle l'utilisateur U communique au serveur S (référencé 50 en figure 1 ) un identifiant utilisateur UID et un identifiant VID du véhicule V (référencé 10 en figure 1 ). Dans un mode de réalisation envisageable, l'utilisateur U se connecte pour ce faire au serveur S (par exemple en saisissant l'adresse http du serveur S dans un navigateur exécuté par le processeur 22 du terminal utilisateur 20) et saisit par exemple les identifiants précités UID, VID dans un formulaire ensuite transmis au serveur S. Dans un autre mode de réalisation envisageable, une application préalablement installée sur le terminal utilisateur 20 demande à l'utilisateur U la saisie des identifiants et les transmet au serveur 50.
En variante, l'identifiant utilisateur UID et l'identifiant VID du véhicule V peuvent avoir été saisis au préalable au niveau du serveur S, par exemple lors de l'achat du véhicule V.
L'identifiant utilisateur UID comprend par exemple les nom et prénom(s) de l'utilisateur, ainsi qu'éventuellement sa date de naissance. On pourrait toutefois utiliser en variante un autre type de donnée pour identifier l'utilisateur ; ainsi, l'identifiant utilisateur pourrait être une adresse électronique, un numéro de
téléphone (par exemple le numéro attribué à l'abonnement au service de téléphonie mobile, tel qu'un numéro MSISDN) ou un identifiant du terminal utilisateur de l'utilisateur U (tel qu'un numéro IMEI).
L'identifiant VID du véhicule est par exemple de type "Vehicle Identification Numbei". On pourrait toutefois utiliser en variante un autre identifiant associé au véhicule 10, notamment le numéro de série N de l'unité électronique de commande 1 1 du véhicule 10.
Le serveur S reçoit l'identifiant utilisateur U et l'identifiant véhicule VID à l'étape E4 et mémorise ces identifiants, à cette étape dans une zone dédiée aux véhicules pour lesquels l'inscription au service de commande de fonctionnalités du véhicule au moyen du terminal utilisateur est en cours.
Le numéro de série N de l'unité électronique de commande 1 1 est par exemple communiqué par l'utilisateur U au serveur S, par exemple lors de l'étape E2. Pour ce faire, le numéro de série N est fourni au préalable à l'utilisateur : il est par exemple imprimé sur une étiquette collée dans le manuel d'utilisation du véhicule et/ou accessible par l'utilisateur au moyen de l'interface utilisateur 18.
Le serveur S peut ainsi déterminer à l'étape E10 la clé cryptographique PrK mémorisée (comme décrit ci-dessus) en association avec ce numéro de série N.
Le serveur S génère alors un défi (en anglais "challenge"), par exemple nombre aléatoire RND (étape E12).
Le serveur S calcule alors à l'étape E14 une réponse RESP associée à ce défi par application d'une fonction cryptographique f utilisant la clé cryptographique PrK, ce que l'on peut écrire : RESP = f(RND,PrK).
Le serveur S peut ainsi émettre à l'étape E16 le défi RND et une partie de la réponse RESP, ici un mot de poids faible LSB (pour "Least Significant Byte") formant partie de la réponse RESP, à destination du véhicule V, précisément de l'unité électronique de commande 1 1 .
On rappelle comme déjà indiqué que le serveur S (référencé 50 en figure 1 ) communique ici avec l'unité électronique de commande 1 1 par l'intermédiaire du terminal utilisateur 20.
L'unité électronique de commande 1 1 reçoit le défi RND et la partie de réponse LSB et calcule à son tour à l'étape E18 la réponse attendue RESP' par application au défi RND reçu de la fonction cryptographique f utilisant la clé
cryptographique PrK mémorisée comme indiqué plus haut dans l'unité de mémorisation 14 : RESP' = f(RND,PrK).
L'unité électronique de commande 1 1 vérifie alors à l'étape E20 que la partie LSB' (correspondant à la partie de la réponse RESP reçue, ici le mot de poids faible) de la réponse RESP' calculée à l'étape E18 est bien égale à la partie de réponse LSB reçue en provenance du serveur S.
Si cette égalité n'est pas vérifiée, l'unité électronique de commande 1 1 procède à l'étape E21 qui met fin au processus d'inscription. En effet, cela signifie que la clé cryptographique utilisée dans le calcul de l'étape E14 diffère de celle utilisée dans le calcul de l'étape E18 et qu'une erreur s'est donc produite (par exemple du fait de l'envoi d'un identifiant véhicule erroné à l'étape E2). Un message d'erreur peut alors par exemple être affiché sur l'interface utilisateur 18 du véhicule V.
Si l'égalité est vérifiée, l'unité électronique de commande 1 1 émet à l'étape E22 une autre partie de la réponse RESP' calculée à l'étape E18, ici un mot de poids fort MSB' (pour "Most Significant Byte"), à destination du serveur S.
Le serveur S reçoit cette autre partie MSB' de la réponse RESP' et vérifie à l'étape E24 que la partie MSB (correspondant à la partie MSB' de la réponse RESP' reçue, ici le mot de poids fort) de la réponse RESP calculée à l'étape E14 est bien égale à la partie de réponse MSB' reçue en provenance de l'unité électronique de commande 1 1 .
Si cette égalité n'est pas vérifiée, le serveur procède à l'étape E25 qui met fin au processeur d'inscription. En effet, cela signifie que le partenaire du serveur S dans la communication n'a pas été en mesure de calculer la réponse attendue, vraisemblablement du fait que le partenaire n'est pas le véhicule attendu et ne détient donc pas la clé cryptographique PrK.
En fonctionnement normal, l'égalité est vérifiée et une authentification mutuelle a ainsi été réalisée entre le serveur S et l'unité électronique de commande 1 1 .
Le serveur S déclenche alors la poursuite du procédé d'inscription en émettant à destination de l'unité électronique de commande 1 1 une commande CMD de vérification de la présence de l'utilisateur U dans le véhicule V (étape E26).
À réception de la commande CMD, l'unité électronique de commande 1 1
commande à l'étape E28 la génération par l'interface utilisateur 18 d'une indication demandant à l'utilisateur U d'effectuer une ou plusieurs action(s) ACT.
Cette indication peut être une indication visuelle (par exemple un signal lumineux ou un affichage sur un écran de l'interface utilisateur 18) et/ou sonore (par exemple un son particulier ou un message vocal). L'action ou les actions demandée(s) peu(ven)t comprendre l'utilisation de la clé physique (par exemple l'appui, éventuellement simultané, sur un ou plusieurs boutons de la clé physique, ou le démarrage et/ou l'arrêt du moteur avec la clé physique) et/ou une action de l'utilisateur U sur le véhicule V, par exemple un appui sur un bouton de l'interface utilisateur 18, une ouverture et/ou une fermeture de porte, et/ou un démarrage et/ou un arrêt du moteur.
L'utilisateur effectue l'action (ou les actions) demandée(s) ACT à l'étape
E30.
L'unité électronique de commande 1 1 détecte à l'étape E32 si l'action effectuée par l'utilisateur U correspond bien à l'action demandée ACT (en laissant par exemple une durée prédéterminée à l'utilisateur pour accomplir l'action).
En cas d'échec (c'est-à-dire si l'utilisateur U n'effectue pas les actions demandées dans le laps de temps imparti), l'unité électronique de commande 1 1 procède à l'étape E34 qui met fin au processus d'inscription. Un message d'erreur peut en outre être affiché sur l'interface utilisateur 18 du véhicule V.
En revanche, si l'utilisateur effectue correctement les actions demandées ACT dans le temps imparti, on considère que toutes les conditions requises pour effectuer l'inscription sont remplies et que le service de commande de fonctionnalités du véhicule au moyen du terminal utilisateur peut être lancé.
On remarque qu'il est possible d'envisager d'autres conditions de validation de l'inscription, par exemple la saisie au niveau de l'interface utilisateur 18 du véhicule 10 d'un code à usage unique reçu et affiché par le terminal utilisateur 20. Un tel code à usage unique peut être émis par le serveur 50, à destination du terminal utilisateur 20, via le réseau public 40, par exemple lors de l'exécution de l'application permettant, dans certains modes de réalisation, la saisie des identifiants à l'étape E2, comme indiqué ci-dessus. En variante, le code à usage unique pourrait être transmis (par exemple sous forme de message court ou SMS, pour "Short Message System") au terminal utilisateur 20 en utilisant le numéro de téléphone (numéro MSISDN) associé à l'abonnement utilisé par le
terminal utilisateur 20, en particulier lorsque ce numéro forme l'identifiant utilisateur, comme également envisagé ci-dessus. Dans ce dernier cas, le serveur 50 est conçu pour émettre des données sur le réseau téléphonique.
Dans certains modes de réalisation, on peut alors procéder au lancement d'un compteur au sein de l'unité électronique de commande 1 1 , en utilisant les informations de construction mémorisées dans l'unité de mémorisation 14 comme déjà indiqué : dans le mode de réalisation décrit ici, le compteur est initialisé à la valeur initiale I et incrémenté périodiquement avec la période P (étape E36). Lorsque le compteur est mémorisé sur un nombre de bits donné, il est remis à zéro lors d'une incrémentation entraînant un dépassement (ou "overflow" selon la dénomination anglo-saxonne parfois utilisée) de la valeur maximale (déterminée par le nombre de bits du compteur).
L'unité électronique de commande 1 1 émet par ailleurs à destination du serveur S un message indiquant que la présence de l'utilisateur a été détecté (par les actions ACT qu'il a effectué à la demande de l'unité électronique de commande 1 1 ) et que le service peut donc être lancé (étape E38).
Le serveur S reçoit ce message et, dans le cas où un compteur est utilisé, lance également le compteur en son sein (étape E40), en association avec l'identifiant véhicule VID et sur la base des informations de construction mémorisées en association avec le numéro de série N de l'entité électronique de commande 1 1 , ici la valeur initiale I et la période P d'incrémentation du compteur.
Le compteur évolue donc en parallèle au sein de l'unité de commande 1 1 et au sein du serveur S, avec éventuellement un très faible décalage entre le compteur mémorisé dans l'unité électronique de commande 1 1 et le compteur mémorisé dans le serveur 50 (dû notamment à la courte durée séparant les étapes E36 et E40), ce qui n'est toutefois pas préjudiciable.
Le serveur S peut alors décider de l'inscription définitive de l'utilisateur U au service et mémorise pour ce faire en association, dans une zone de mémorisation des souscripteurs du service, l'identifiant utilisateur UID, l'identifiant véhicule VID et, dans le cas où un compteur est utilisé, la valeur courante du compteur (qui sera incrémentée périodiquement avec la période P), ainsi qu'éventuellement le numéro de série N (étape E42). L'identifiant utilisateur UID et l'identifiant véhicule VID mémorisés en association peuvent être considérés comme un certificat électronique de propriété du véhicule pour le service proposé.
Le serveur S peut alors communiquer à l'utilisateur U des droits d'accès au service de commande des fonctionnalités du véhicule, par exemple en transmettant au terminal utilisateur 20 une clé virtuelle VK autorisant le terminal utilisateur 20 à commander ces fonctionnalités (e.g. l'ouverture des portes du véhicule), comme dans les exemples présentés ci-dessous. La clé virtuelle VK est mémorisée dans le terminal utilisateur 20 (étape E44). En pratique, la clé virtuelle VK peut être transmise du serveur 50 à une application préalablement téléchargée dans la mémoire 24 du terminal utilisateur 20 et exécutable par le processeur 22 du terminal utilisateur 20, par exemple l'application permettant la mise en œuvre de l'étape E2 comme envisagé ci-dessus. En variante, la clé virtuelle VK pourrait être transmise au terminal utilisateur 20 en utilisant le numéro de téléphone (numéro MSISDN) associé à l'abonnement utilisé par le terminal utilisateur 20, en particulier lorsque ce numéro forme l'identifiant utilisateur, comme également envisagé ci-dessus.
La figure 4 présente les étapes principales d'un exemple de procédé de commande d'une fonctionnalité du véhicule V (référencé 10 en figure 1 ) au moyen du terminal utilisateur T (du type de celui référencé 20 en figure 1 ).
D'autres étapes que celles décrites ci-dessous peuvent naturellement être mises en œuvre en pratique, en particulier au préalable afin d'établir un canal de communication entre l'unité électronique de commande 1 1 du véhicule 10 et le terminal utilisateur 20.
Le procédé de commande décrit ici est particulièrement bien adapté au cas où le véhicule V est loué à un utilisateur pour une période de temps prédéfinie.
On utilise pour ce faire une clé virtuelle VK temporaire, dérivée en prenant en compte la valeur NB1 du compteur (installé en parallèle dans l'unité électronique de commande 1 1 du véhicule V et dans le serveur S comme indiqué ci-dessus) au début de la période de location et la valeur NB2 du compteur en fin de période de location.
Afin de générer la clé virtuelle VK, le serveur S reçoit par exemple du loueur de véhicule l'identifiant véhicule VID, l'heure de début de location et l'heure de fin de location et détermine, sur la base des informations de construction de compteur lues dans l'unité de mémorisation 14, la valeur NB1 du compteur mis en place dans l'unité électronique de commande 1 1 concernée (dont le numéro de
série N est associé à l'identifiant véhicule VID reçu, suite par exemple au procédé de la figure 3) et correspondant à l'heure de début de location, et la valeur NB2 de ce compteur correspondant à l'heure de fin de location.
La clé virtuelle VK est alors générée en utilisant la clé racine MK (mémorisée comme indiqué ci-dessus en association avec le numéro de série N), la valeur de début NB1 et la valeur de fin NB2, par exemple par application d'une fonction de dérivation g à ces éléments : VK = g(MK,NB1 ,NB2).
Le serveur S transmet alors la clé virtuelle VK et les valeurs NB1 , NB2 au terminal usuel T (par exemple un téléphone portable) de l'utilisateur (locataire du véhicule), par exemple après une étape de vérification que ce terminal usuel T est bien éligible au service (sur la base d'un identifiant du terminal, tel qu'un numéro IMEI, et/ou d'un numéro d'abonné associé au terminal, tel qu'un numéro MSISDN) ; la clé virtuelle VK et les valeurs NB1 , NB2 sont alors mémorisées au sein du terminal T. (On remarque que le terminal T utilisé ici n'est donc pas généralement celui utilisé dans le cadre de la figure 3.)
On peut alors procéder à la commande de fonctionnalité du véhicule V au moyen du terminal T.
Pour ce faire, le terminal T émet à l'étape E102 une requête de mise en œuvre de la fonctionnalité, accompagnée de la valeur de début NB1 et de la valeur de fin NB2, à destination de l'unité électronique de commande 1 1 du véhicule V (étape E102).
L'unité électronique de commande 1 1 vérifie alors à l'étape E104 que la valeur courante du compteur qu'elle met en œuvre est bien comprise entre la valeur NB1 et la valeur NB2 (ce qui signifie, d'après la construction décrite ci- dessus des valeurs NB1 et NB2, que l'instant courant est compris dans la période de location).
Dans la négative, l'unité électronique de commande 1 1 met fin au procédé à l'étape E106 sans effectuer la fonctionnalité requise (c'est-à-dire ici sans déverrouiller les portes du véhicule V). Un message d'échec peut éventuellement être transmis au terminal T pour affichage sur le terminal T d'une indication correspondante.
En cas de vérification positive à l'étape E104, le procédé se poursuit à l'étape E108 à laquelle l'unité électronique de commande 1 1 calcule la clé virtuelle VK sur la base de la clé racine MK (mémorisée comme indiqué ci-dessus dans
l'unité de mémorisation 14), la valeur de début NB1 et la valeur de fin NB2, selon le même calcul que celui effectué comme indiqué ci-dessus au sein du serveur S, ici par application de la fonction de dérivation g à ces éléments : l'unité électronique de commande 1 1 calcule dans ce cas VK = g(MK,NB1 ,NB2).
L'unité électronique de commande 1 1 génère alors à l'étape E1 10 un défi, par exemple un nombre aléatoire RND', et émet ce défi à destination du terminal utilisateur T.
Le terminal utilisateur T reçoit ce défi à l'étape E1 12.
À l'étape E1 14, le terminal utilisateur T (c'est-à-dire en pratique son processeur) applique au défi reçu RND' une fonction cryptographique h utilisant la clé virtuelle VK (reçue du serveur S au préalable comme indiqué ci-dessus) et obtient ainsi une réponse R : R = h(RND',VK). D'autres données peuvent éventuellement être utilisées dans les calculs effectués à cette étape, par exemple l'identifiant véhicule VID.
En parallèle, l'unité électronique de commande effectue à l'étape E1 15 un calcul identique (en fonctionnement normal) afin d'obtenir de son côté la réponse attendue ; on note ici R' le résultat de ce calcul : R' = h(RND',VK).
Le terminal utilisateur T émet la réponse attendue R (calculée à l'étape E1 14) à destination de l'unité électronique de commande 1 1 (étape E1 16).
L'unité électronique de commande 1 1 vérifie alors à l'étape E1 18 que la réponse R reçue du terminal utilisateur T est bien égale à la réponse attendue R', auquel l'unité électronique de commande 1 1 peut considérer que le terminal utilisateur T détient bien la clé virtuelle VK qui donne un droit d'accès au véhicule.
En cas d'échec de la vérification à l'étape E1 18 (ce qui n'est pas le cas dans le fonctionnement normal décrit ci-dessus, mais peut-être le cas lorsqu'une personne malintentionnée tente d'accéder au véhicule sans connaître la clé virtuelle VK), l'unité électronique de commande 120 met fin au procédé à l'étape E120 sans effectuer la fonctionnalité requise (c'est-à-dire ici sans déverrouiller les portes du véhicule V). Un message d'échec peut éventuellement être transmis au terminal T pour affichage sur le terminal T d'une indication correspondante.
Lorsque l'égalité entre la réponse R reçue du terminal utilisateur T et la réponse attendue R' calculée par l'unité électronique de commande 1 1 est vérifiée à l'étape E1 18, on procède à l'étape E122 à laquelle l'unité électronique de commande effectue la fonctionnalité demandée, ici le déverrouillage des portes du
véhicule, en émettant une commande correspondante à destination de l'actionneur 15 (ou, dans le cas du démarrage du véhicule, à l'actionneur 17).
Dans l'exemple qui vient d'être décrit, une authentification simple est utilisée ; on peut toutefois prévoir en variante d'utiliser une authentification mutuelle, par exemple lorsque la fonctionnalité souhaitée est le démarrage du véhicule.
Par ailleurs, dans le cas qui vient d'être décrit, on utilise une clé virtuelle VK temporaire, particulièrement adaptée à la location de véhicules.
Dans d'autres modes de réalisation, on pourrait utiliser une clé virtuelle VK fixe, par exemple mémorisée dans l'unité de mémorisation 14 en lieu et place de la clé racine MK. Les étapes E102 et E1 10 à E122 décrites ci-dessus, permettant la commande de la fonctionnalité du véhicule avec le terminal utilisateur, peuvent alors être mises en œuvre en utilisant cette clé virtuelle fixe. Le terminal utilisateur où est mémorisée la clé virtuelle VK peut être dans ce cas le terminal utilisateur utilisé lors du procédé de la figure 3. Par ailleurs, on peut éventuellement ne pas utiliser le compteur mentionné ci-dessus, auquel cas les étapes E36, E40 et E104 à E108 sont omises, et l'étape E102 consiste en une simple requête de mise en œuvre de la fonctionnalité, sans valeurs de compteur annexées.
La figure 5 présente les étapes principales d'un autre exemple de procédé d'inscription à un service de commande de fonctionnalités du véhicule 10 au moyen du terminal utilisateur 20.
Ce procédé débute à l'étape E200 au cours de laquelle l'utilisateur U (généralement le propriétaire du véhicule V) communique le numéro de série N de l'unité électronique de commande 1 1 et son identifiant UID (par exemple un identifiant du terminal utilisateur 20, tel que le numéro IMEI ou le numéro d'abonné associé MSISDN) au serveur S.
On comprend que, dans le présent mode de réalisation, le numéro de série N est utilisé en tant qu'identifiant associé au véhicule 10.
Pour communiquer ces informations au serveur S, l'utilisateur U se connecte par exemple sur un site Internet associé au serveur S et peut alors saisir les informations N, UID dans un formulaire transmis ensuite au serveur S. Ces opérations peuvent éventuellement être réalisées au moyen du terminal 20, mais également au moyen d'un ordinateur personnel de l'utilisateur U.
Le serveur S reçoit les informations N, UID à l'étape E202 et mémorise celles-ci, par exemple dans une zone de mémorisation dédiée aux véhicules pour lesquels l'inscription au service de commande de fonctionnalités du véhicule au moyen du terminal utilisateur est en cours.
On remarque qu'en variante, ces informations N, UID pourraient être saisies au niveau du serveur S au moment de l'achat du véhicule V (l'utilisateur U fournissant alors les informations le concernant à l'organisation gérant le serveur S).
Le serveur S prépare alors à l'étape E204 une application APP destinée au terminal 20 et qui contient un message spécifique MSG (conçu pour être lu uniquement par l'unité électronique de commande 1 1 dont le numéro de série N a été reçu à l'étape E202) et une clé de dérivation K spécifique à l'application APP. Le serveur S mémorise notamment la clé de dérivation K en association avec les informations N, UID précédemment mémorisées.
L'application APP est téléchargée et installée sur le terminal 20 (désigné ci-après terminal T) à l'étape E206. Pour ce faire, le serveur S transmet par exemple un lien https au terminal 20 (par exemple en utilisant le numéro d'abonné MSISDN fourni à l'étape E200 en tant qu'identifiant UID, ou fourni à l'étape E200 en complément de l'identifiant UID), lien utilisé ensuite par l'utilisateur U pour effectuer le téléchargement de l'application APP sur le terminal T.
Lors d'une étape E208 ultérieure (qui peut être séparée de l'étape E206 d'un temps plus ou moins long), l'utilisateur U lance l'exécution de l'application APP sur le terminal T.
Après une phase d'initialisation de la liaison sans fil entre le module de communication sans fil 16 du véhicule V et le module de communication sans fil 26 du terminal T, l'application APP provoque l'émission du message spécifique MSG à destination de l'unité électronique de commande 1 1 du véhicule V.
Le message spécifique MSG est reçu à l'étape E210 par l'unité électronique de commande 1 1 , qui vérifie que ce message spécifique MSG lui est bien destiné. Si cette vérification ne s'effectue pas correctement, il est mis fin au processus d'inscription.
Si l'unité électronique de commande 1 1 est bien le destinataire prévu du message spécifique MSG, l'unité électronique de commande 1 1 émet à l'étape E210 une demande d'authentification auprès du serveur S, accompagnée par
exemple de son numéro de série N (ou d'un autre identifiant de l'unité électronique de commande 1 1 ). Une telle demande est par exemple transmise de l'unité électronique de commande 1 1 au serveur S via le terminal T (comme déjà expliqué à propos du mode de réalisation de la figure 3). Pour ce faire, l'application APP embarque par exemple une adresse IP du serveur 50 et transmet à cette adresse la réponse qu'elle reçoit de l'unité électronique de commande 1 1 . En variante, cette demande pourrait être transmise au moyen d'un module de communication du véhicule V.
Le serveur S reçoit la demande d'authentification et le numéro de série N et transmet alors à l'étape E212 un défi X à destination du terminal T (dont un identifiant ou un numéro d'abonnement associé est mémorisé comme déjà indiqué au niveau du serveur S en association avec l'identifiant associé au véhicule, ici le numéro de série N).
Le terminal T reçoit le défi X et applique à ce défi X (étape E214) une fonction cryptographique d utilisant la clé de dérivation K, préalablement reçue avec l'application APP (voir l'étape E206 décrite ci-dessus), ce qui permet d'obtenir une donnée dérivée Y : Y = d(X,K).
La donnée dérivée Y est transmise du terminal T à l'unité électronique de commande 1 1 du véhicule V via la liaison sans fil établie comme indiqué ci-dessus à l'étape E208.
L'unité électronique de commande 1 1 reçoit la donnée dérivée Y et calcule à l'étape E216 une réponse Z en appliquant à cette donnée dérivée Y une fonction cryptographique f utilisant la clé cryptographique PrK mémorisée comme indiqué plus haut dans l'unité de mémorisation 14 : Z = f(Y,PrK).
L'unité électronique de commande 1 1 émet la réponse Z calculée à l'étape E216 à destination du serveur S, par exemple via le terminal T comme indiqué ci-dessus (ou en variante au moyen d'un module de communication équipant le véhicule V).
Le serveur S reçoit la réponse Z et peut ainsi vérifier à l'étape E218 que cette réponse Z est bien la réponse attendue f(d(X,K),PrK). En effet, le serveur S mémorise, en association avec le numéro de série N de l'unité électronique de commande 1 1 , la clé cryptographique PrK (comme décrit ci-dessus en référence à la figure 2) et la clé de dérivation K (voir ci-dessus l'étape E204) ; le serveur S a par ailleurs connaissance du défi X qu'il a émis à l'étape E212.
Si la réponse Z reçue en provenance de l'unité électronique de commande 1 1 ne correspond pas à la réponse attendue f(d(X,K),PrK), il est mis fin au processus d'inscription.
Si la réponse Z reçue en provenance de l'unité électronique de commande 1 1 correspond à la réponse attendue f(d(X,K),PrK), cela signifie que le terminal T et l'unité électronique de commande 1 1 du véhicule V, qui ont chacun participé à la production de la réponse Z (en utilisant chacun une information qui leur est spécifique), sont bien ceux respectivement associés à l'utilisateur U (identifié par son identifiant UID) et au véhicule V (identifié ici par le numéro de série N) : le serveur S a ainsi pu authentifier le terminal T et l'unité électronique de commande 1 1 .
Le serveur S décide alors de l'inscription définitive de l'utilisateur U au service de commande de fonctionnalités du véhicule V au moyen du terminal T et mémorise pour ce faire à l'étape E220, dans une zone de mémorisation des souscripteurs du service, en association l'identifiant utilisateur UID (par exemple, comme déjà indiqué, un identifiant associé au terminal T) et l'identifiant associé au véhicule (ici le numéro de série N).
Le serveur S peut alors communiquer à l'utilisateur U des droits d'accès au service de commande des fonctionnalités du véhicule, par exemple en transmettant (étape E222) au terminal T une clé virtuelle VK autorisant le terminal T à commander ces fonctionnalités, comme dans les exemples présentés plus haut. La clé virtuelle VK peut ainsi être mémorisée dans le terminal utilisateur T (étape E224).
On peut prévoir dans certains modes de réalisation que les droits d'accès ne soient pas transmis immédiatement après l'inscription définitive, mais ultérieurement, par exemple après transmission d'un message électronique à l'utilisateur U (à une adresse électronique renseignée par exemple lors de l'étape E200) et confirmation de l'activation du service par l'utilisateur U en réponse à ce message électronique, par exemple par saisie au niveau du terminal T d'un code mentionné dans le message électronique.