Brevet FR3093887A1 — publié le 20200918

Description Titre de l'invention : Procédé pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule [0001] L'invention concerne l'authentification et la gestion des droits dans le cadre d'échanges de données entre différents systèmes informatiques tel qu'un boitier élec- tronique dans un véhicule, des équipements mobiles (Smartphones, tablettes, ordinateur portable...) et des systèmes débarqués (aussi appelé cloud en anglais). [0002] On connaît par la demande de brevet français FR3022664 un procédé d'authentification d'une application exécutée sur un terminal auprès d'un fournisseur de service, par exemple un calculateur de véhicule. Le procédé utilise des jetons d'accès (ou access token en anglais), délivrés par un serveur, et décrivant des autorisations et des durées de validités. [0003] Selon l'art connu, l'heure délivrée par des véhicules qui ne possèdent pas de composant matériel dédié à cet usage n'est pas suffisamment fiable pour valider les informations horodatées reçues ou à émettre. Les besoins d'avoir une date et heure cohérentes entre celle du véhicule et celle des serveurs s'expliquent notamment pour gérer la validité des jetons. [0004] D'autre part, les services connectés souscrit par un client peuvent eux-mêmes avoir une date de validité qui correspond à la date d'expiration du contrat ou de l'abonnement souscrit par le client. [0005] En l'absence de mécanisme garantissant qu'un jeton représente les droits du client dans le bon référentiel temps du véhicule, plusieurs cas de figures problématiques peuvent survenir : [0006] Un premier cas de figure problématique survient lorsque que la date indiquée par l'horloge du véhicule se situe dans le passé par rapport celle indiquée par le serveur délivrant les jetons, le client détenteur d'un jeton continue à bénéficier de services alors que son contrat sera échu. [0007] Ce cas de figure est illustré avec l'exemple suivant : supposons qu'un contrat expire au 30/11/2018, que nous sommes le 01/11/2018 et que l'horloge du véhicule indique une date au 01/01/1970. [0008] Supposons également qu'un client demande un jeton ayant une durée de vie de 24h. La date d'expiration est donc au 02/11/2018. [0009] Le surlendemain (autrement dit, le 03/11/2018), le client utilisant le jeton (expiré à la date du 02/11/2018) se voit accordé par le véhicule l'accès aux services autorisés par le jetons car le véhicule, comparant la data indiquée par son horloge (autrement dit, le 03/01/1970) avec la date d'expiration du jeton (le 02/11/2018), considère que le jeton 2 est encore valide. [0010] Le véhicule (et donc son client) bénéficie du service avec le même expiré pendant près de 50 ans alors que son contrat est échu. [0011] Un deuxième cas de figure problématique survient si, a contrario, la date indiquée par l'horloge du véhicule est dans le futur par rapport celle indiquée par le serveur délivrant les jetons. Dans ce cas, le véhicule redemandera des jetons indéfiniment car les jetons reçus seront toujours considérés comme expirés. [0012] Autrement dit, le client ne pourra jamais accéder au service auquel il a souscrit. [0013] TI existe donc un besoin d'un mécanisme permettant à un véhicule de de disposer d'une heure suffisamment fiable pour gérer les autorisations délivrées par un serveur. [0014] L'invention a donc pour but de remédier au problème précité en fournissant un procédé permettant de fournir des autorisations d'accès et de renouveler ces autorisations d'accès y compris lorsque la date du véhicule et celle du serveur ne sont pas synchronisées. [0015] Elle propose plus précisément à cet effet un procédé pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule, ledit procédé étant mis en oeuvre par un système informatique comportant un serveur et comprenant des étapes de : - réception d'une demande d'un jeton d'accès, ladite demande comportant une date associée au véhicule et un identifiant unique associé au calculateur connecté, - extraction de la date associée au véhicule et de l'identifiant unique associé au calculateur connecté, - calcul d'un écart entre la date associée au véhicule et d'une date courante associé audit serveur, - stockage, dans une base de données, de l'écart calculé, - génération d'un premier jeton d'accès, ledit jeton comportant une date de validé tenant compte de l'écart calculé, - génération d'un premier jeton de renouvellement, - envoi, à destination du dispositif nomade, du premier jeton d'accès et du premier jeton de renouvellement, - réception d'une demande de jeton d'accès, ladite demande comportant le premier jeton de renouvellement, - identification, à partir du jeton de renouvellement, dans la base de données de l'écart calculé, - détermination d'une date d'expiration en tenant compte de l'écart calculé, - génération d'un deuxième jeton d'accès avec la date d'expiration calculée, - génération d'un deuxième jeton de renouvellement, - envoi, à destination du dispositif nomade, du deuxième jeton d'accès et du 3 deuxième jeton de renouvellement. [0016] Avec l'invention, les droits d'accès aux services connectés accordés à un client sont stockés dans un jeton d'accès qui comprend une date d'expiration (expires). L'invention permet de redemander un jeton d'accès via un jeton de renouvellement. A la première demande de jeton d'accès, la date du calculateur connecté sont transmises au serveur. Mais cette n'est pas transmise dans le cas du renouvellement du jeton d'accès via le jeton de renouvellement. [0017] La première demande de jeton d'accès vise à authentifier le boitier. L'utilisation d'un jeton de renouvellement permet de s'affranchir de cette étape d'authentification coûteuse en ressources (CPU serveur et temps) et de redemander un jeton d'accès directement. [0018] Au premier appel, un écart avec l'heure du serveur est calculé et stocké, il est ensuite appliqué pour générer un nouveau jeton d'accès lors d'une demande via un jeton de renouvellement. Ainsi le jeton d'accès généré est dans la bonne période de validité pour le véhicule. [0019] Avantageusement, le premier et le deuxième jetons de renouvellement contiennent chacun une clé unique. [0020] Avantageusement, l'étape de génération du premier jeton de renouvellement, comporte une étape de stockage de la clé unique du premier jeton de renouvellement, en association avec une date d'expiration. [0021] Avantageusement, le procédé pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule, selon l'invention, comporte en outre une étape de contrôle de la validé du premier jeton de renouvellement avant la génération du deuxième jeton d'accès. [0022] Avantageusement, le procédé pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule, selon l'invention, comporte en outre une étape de suppression dans la base de données de la clé unique du premier jeton de renouvellement après la réception, par le serveur, dudit premier jeton de renouvellement. [0023] Avantageusement, le procédé pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule, selon l'invention, comporte en outre en outre des étapes de : - émission, par le dispositif nomade, d'une demande, à destination du calculateur connecté, de données d'identification, et - réception, par le dispositif nomade, des données d'identification demandées. [0024] L'invention concerne aussi un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule, selon l'invention, lorsqu'il est exécuté sur un ou plusieurs processeurs. [0025] L'invention concerne aussi un serveur informatique pour délivrer, à un dispositif nomade, une autorisation d'accès à un calculateur connecté d'un véhicule, comportant au moins un processeur et une mémoire caractérisé en cc qu'il est configure pour mettre en oeuvre le procédé de mise à jour selon l'invention. [0026] L'invention concerne aussi un système informatique comportant un dispositif nomade et un véhicule comportant un calculateur connecté caractérisé en ce qu'il comporte en outre un serveur informatique selon l'invention. [0027] D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels: [0028] [fig.1] illustre exemple de système selon l'invention ; [0029] [fig.2] illustre un logigramme représentant le procédé selon l'invention. [0030] Les dessins annexés pourront non seulement servir à compléter l'invention, mais aussi contribuer à sa définition, le cas échéant. [0031] En référence à la figure 1, le système d'authentification selon l'invention comporte au moins un terminal 103, un calculateur connecté 104 d'un véhicule et un serveur distant 101. L'invention permet de transmettre des authentifications et des autorisations entre des éléments embarqués dans le véhicule et des éléments débarqués. La transmission de ces authentifications et de ces autorisations est assurée au moyen de jetons d'accès aussi appelés access token en anglais. [0032] Dans ce qui suit, on considère à titre d'exemple non limitatif que le terminal 103 est un téléphone mobile intelligent (aussi appelé smartphone en anglais). Mais l'invention n'est pas limitée à cet exemple. En effet, le terminal 103 peut être un ordinateur portable, une tablette tactile ou tout autre objet connecté (i.e. susceptible d'échanger des données via une connexion sans fils). Cet équipement mobile (ou objet connecté) appartient, par exemple, au conducteur d'un véhicule ou à l'un des passagers du véhicule. [0033] Le calculateur connecté 104 contrôle l'accès à des données ou à des commandes permettant de réaliser une activité et protège l'accès aux données et aux applications. Il refuse tout accès sans authentification préalable. De façon avantageuse, il redirige l'utilisateur non authentifié vers un fournisseur d'identité. L'accès au service est donc restreint. Les utilisateurs doivent être identifiés avant de pouvoir accéder à une donnée ou lancer l'exécution d'une commande. [0034] Le calculateur connecté 104 est un boitier électronique d'un véhicule automobile. Le boitier électronique est un organe embarqué du véhicule qui est la frontière des données véhicule vers l'extérieur au travers de différents moyens : câble, protocoles sans fils (wifi, hluetooth,3G, etc.). [0035] Selon une caractéristique de l'invention, les jetons d'accès, utilisés pour transmettre les autorisations, sont chiffrés (ou crypte) selon un mécanisme de cryptographie asymétrique (aussi appelé cryptographie à clé publique). Dans un tel système, on utilise une paire de clés : une clé publique pour le chiffrement et une clé privée pour le déchiffrement. Lorsqu'une ressource envoie un jeton à une autre ressource informatique, il lui suffit de chiffrer le jeton à envoyer au moyen de la clé publique du destinataire. Ce dernier sera en mesure de déchiffrer le message à l'aide de sa clé privée (qu'il est seul à connaître). [0036] Les jetons sont, en outre, signés par une autorité de confiance (l'Idp 101) pour garantir qu'ils sont bien conformes et qu'ils proviennent bien d'une source autorisée. [0037] Les jetons intègrent les autorisations qui permettent de donner les accès à des fonctions ou des données sur les services hébergés sur les infrastructures, chez des partenaires ou sur les boitiers connectés. [0038] En plus des jetons d'accès (Access Token), l'invention utilise aussi des jetons de re- nouvellement (Rcfresh Token). Un jeton de renouvellement est délivré à un client au même moment que le jeton d'accès. Le jeton de renouvellement est destiné à être envoyé au serveur d'autorisation lorsque le jeton d'accès est expiré et que le client souhaite le renouveler. [0039] Le serveur d'identité 101 s'occupe d'authentifier l'utilisateur ainsi que de récupérer des informations additionnelles associées à son véhicule. [0040] Le serveur d'identité 101 comporte des moyens pour signer, de façon électronique, des jetons d'autorisation. La signature électronique permet de garantir l'intégrité d'un jeton et d'en authentifier l'auteur. Le système de signature électronique utilise une paire de clés. Une clé privée utilisée pour signer un jeton et une clé publique pour permettant de lire le jeton signé. [0041] Le serveur d'identité 101 comporte des moyens pour chiffrer le jeton. Le jeton est chiffré à l'aide d'une clé publique associée au calculateur connecté 104 auquel est destiné le jeton. [0042] De la sorte, le jeton chiffré est uniquement lisible par le calculateur connecté 104 auquel il est destiné. [0043] Le serveur d'identité 101 permet aux utilisateurs de s'authentifier et de fournir des jetons sur leur PC ou Srnartphone 103 leur permettant d'être reconnu et de porter des autorisations sur des infrastructures débarquées mais aussi de les utiliser sur les boitiers connectés pour accéder à des fonctions spécifiques. [0044] On rappelle qu'un certificat (ou certificat électronique) est un ensemble de données contenant par exemple une clé publique, une information d'identification (par exemple : un nom, généralement stocké dans un champ de données dit CN pour « Common 6 Name ») et une clé privée pour signer. [0045] Un certificat est utilisé, par exemple, par un équipement électronique (par exemple un calculateur embarqué) pour signer des documents ou pour s'authentifier auprès d'un autre équipement (par exemple un serveur web). [0046] La première étape 201 comporte l'émission d'une demande par le dispositif nomade 103 de données d'identification (carData) et d'un certificat auprès du calculateur connecté 104 du véhicule 105. Cette étape 201 est réalisée par une application installée dans le dispositif nomade 103. [0047] Le certificat est émis lors de la première demande de jeton d'accès, qui effectue une authentification du boiticr. Ensuite, le certificat est stocké dans la hase de données, tout comme l'écart de temps entre le serveur et le véhicule. Il utilisé pour chiffrer les droits du client stockés dans le jeton d'accès lors d'une nouvelle demande de jeton d'accès à l'aide du jeton de renouvellement. [0048] Les données d'identification comportent un identifiant unique (UIN) associé au cal- culateur connecté 104 et une date et une heure du véhicule 105. [0049] De façon avantageuse, les données d'identification sont signées par le calculateur connecté 104 de façon à assurer leur authenticité. [0050] La date et l'heure du véhicule sont par exemple récupérées via un bus de données (par exemple de type CAN) auquel est connecté le calculateur connecté 104. La date et l'heure du véhicule sont émise sur le bus de données par un autre calculateur disposant d'une horloge. [0051] En réponse, à la demande du dispositif nomade 103, le calculateur connecté 104 envoie la donnée d'identification (carData) et le certificat. [0052] Après la réception 202 des données d'identification (carData) et du certificat, le dispositif nomade 103 émet une demande de jeton, à destination du serveur distant 101. La demande de jeton comporte les données d'identification et le certificat. [0053] En réponse à la réception 203 de la demande de jeton, le serveur distant 101 extrait 204 la date et l'heure du véhicule ainsi que l'identifiant unique (UIN) du calculateur connecté 104 à partir des données d'identification (carData). [0054] Ensuite, le serveur distant 101 calcule 205 un écart entre la date/heure véhicule et l'heure système dudit serveur distant 101. [0055] Le procédé comporte en outre une étape de stockage 206 en base de données, par le serveur distant 101, de l'écart en calculé en l'associant avec l'identifiant unique (UIN) du calculateur connecté 104. [0056] Le procédé comporte aussi une étape de génération 207, par le serveur distant 101, d'un jetons d'accès. Les droits d'accès enregistrés dans le jeton sont par exemple déterminés en consultant un annuaire listant les droits accordés au client. [0057] Le serveur génère 208 en outre un jeton de renouvellement. Le jeton de renou- 7 voilement, destiné au dispositif nomade sert à redemander des droits sans s'authentifier. [0058] Le jeton comporte une clé unique destinée à l'identifier auprès du serveur distant 101 ou d'un serveur d'authentification (ou PKT pour Public Key Infrastructure). [0059] Au cours de l'étape de génération 208 du jeton de renouvellement le serveur distant stocke la clé en association une durée de validité (par exemple 24 heures) ou une date d'expiration. [0060] De façon avantageuse la durée de validité du jeton de renouvellement est supérieure à la durée de validité du jeton d'accès. [0061] Par exemple avec un jeton de renouvellement d'une durée de validité de 7 jours et un jeton d'accès d'une durée de validité d'une journée, il est possible de tenir compte d'un changement des droits du client toutes les 24h en réutilisant le même jeton de renouvellement jusqu'à 7 jours. [0062] Le serveur distant 101 envoie 209, à destination du dispositif nomade 103, le jeton d'accès contenant les droits du client sur les services connectés ainsi qu'un jeton de renouvellement. [0063] Une fois le jeton reçu le dispositif nomade 103 peut accéder aux services connectés, fournis par le calculateur connecté 104, autorisés par le jeton d'accès pendant la durée de validité dudit jeton d'accès. [0064] Pour ce faire, le dispositif nomade 103, envoie le jeton reçu au calculateur connecté 104. Les services sont accessibles jusqu'à la date de validité indiqué dans le jeton d'accès. Pour prolonger l'accès aux services, le dispositif nomade 103 doit demander un nouveau jeton d'accès. [0065] Pour récupérer un nouveau jeton d'accès, le dispositif nomade émet une demande jeton d'accès avec le jeton de renouvellement précédemment reçu. [0066] En réponse à la réception 210 de la demande de la demande d'un nouveau jeton d'accès, le serveur distant 101 récupère 211, à l'aide de la clé stocké dans le jeton de renouvellement, en base de données l'écart de temps (précédemment calculé et stocké) entre l'heure du véhicule 105 et celle dudit serveur (listant 101. [0067] Le serveur distant génère 212 une date d'expiration du jeton d'accès en tenant compte de cet écart de temps. [0068] Le serveur génère 213 ensuite jeton d'accès avec les droits du client. Comme pré- cédemment, les droits d'accès sont récupérés auprès d'un annuaire répertoriant les droits d'accès pour chaque client sur un calculateur connecté 104 donné. [0069] Le serveur génère 214 aussi un nouveau jeton de renouvellement avec une nouvelle date de validité. Comme précédemment la date de validité est stockée en base de données. [0070] Avantageusement, la référence au jeton de renouvellement précédemment reçu est 8 effacé de la base de donnée. Ainsi, le jeton de renouvellement est utilisable une seule fois. [0071] Ensuite, le serveur distant 101 retourne 215 le nouveau jeton d'accès ainsi que le nouveau jeton de renouvellement. 9 [Revendication 1] [Revendication 2] [Revendication 3]