Brevet FR2757723A1 — publié le 19980626

PROCEDE D'AUTHENTIFICATION AUPPES D'UN SYSTEME DE CONTROLE D'ACCES ET/OU DE PAIEMENT DESCRIPTION Domaine technique La présente invention concerne un procédé d'authentification auprès d'un système de contrôle d'accès et/ou paiement de services vocaux ou télématiques offerts par un fournisseur de service, qui peut être ou non un opérateur de télécommunications. La configuration de référence, illustrée sur la figure, montre un dispositif classique relatif 1 ) aux équipements d'un client (terminal téléphonique ou télématique) 2 ) aux équipements d'un fournisseur de service (par exemple : point de commande de services du réseau d'un opérateur, serveur vocal, serveur Internet appartenant à un fournisseur de services, etc.) 3 ) à un serveur de contrôle d'accès et/ou de paiement. Cette configuration de référence s'applique aux échangeet6 s consncérés dans la suite de ia description. Les fonctions 2 ) et 3 ) peuvent relever ou non du même opérateur/fournisseur de service. Dans un tel dlspositi , le déroulement d'une transaction donnant lieu à contrôle d'accès et/ou paiement as le suivant (1) Etablissement d'une communication entre le client et le fournisseur ce serv (II) Vérification ce i rourrisseur de service auprès du serveur de contrôle d'accès et/ou de paiement des droits d'accès du client et/ou de l'existence d'un compte solvable (compte client à facturer ou compte prépayé) : obtention éventuelle de données complémentaires telles que le crédit maximum pour le compte du considéré. (III) Fourniture de la prestation. (IV) Envoi éventuel de données de taxation, du fournisseur de service vers le serveur de contrôle d'accès et/ou de paiement. Dans une telle transaction les besoins de sécurité identifiés sont les suivants Anonymat du client vis-à-vis du tiers Par tiers, on entend ici 1 ) toute personne susceptible d'avoir accès aux échanges entre client et fournisseur de service. Il ne doit pas être possible d'utiliser les données d'identification et d'authentification transmises lors de ces échanges pour retrouver l'identité du client, ou même déceler quelles communications sont relatives à un même client. 2 ) Le fournisseur de service lui-même, dans le cas où celui-ci n' assure pas la fonction de contrôle d'accès et/ou de facturation. Dans le cas où ces fonctions sont séparées, o peu ne pas souhaiter que ie fournisseur de service puisse établir l'identité des clents, ni même établir es statistiques basées sur le regroupement des transactions relatives à un même client. L'identité du client (ou du compte utilisé,, indispensable pour le contrôle d'accès et/ou de paiement du service, ne do; donc alors être communiquée au fournisseur de service, ni en clair ni sous forme d'un pseudonyme statique. Authentification de l'identité du client lors de la phase (II) Cette authentification permet de s'assurer que le client, dont le numéro de client ou le numéro de compte est indiqué dans les données d'identification qui parviennent (via le fournisseur de service) au système de contrôle, a bien établi une communication avec le fournisseur de service. Une authentification active est indispensable afin de prévenir des fraudes par rejeu de données anciennes. En outre, un service de sécurité additionnel peut être offert optionnellement # Authentification de données du client Cette fonction peut permettre, par exemple au serveur de contrôle d'accès et/cu de paiement, de s'assurer de l'acceptation par ur. client du montant d'une prestation dans le cas ou les données, sur lesquelles portent le calcul d'authentification, représentent ce montant. Etat de la technique antérieure A l'heure actuel la a plupart des dispositifs à clé secrète assurant une autnentii ication utilisent un schéma du type identification autnentification (typquement non - mot de passe) et n' assurert n conséquence aucun anonvmat. Les dispositifs garantissant l'anonymat en même temps que l'accès légal à une ressource sont rares et systématiquement basés sur l'utilisation d'une clé publique, comme décrit dans l'article référencé [1] en fin de description, mais cela implique des échanges assez lourds (au moins 512 bits). Or, le client peut ne disposer que d'un téléphone et aboutir, chez le fournisseur de service, sur un opérateur humain, ou un serveur, vocal ou non. Le client peut aussi disposer d'un micro-ordinateur sans modem. Il n'est alors pas possible de lui demander de taper sur son clavier, ou d'énoncer oralement, une trop longue séquence de caractères. Dans le procédé de l'invention, du fait des fortes contraintes sur la longueur du message d'identification-authentification, le recours à une méthode d'authentification à clé publique (qui conduirait à des messages de plus de 100 digits) n'est pas envisageable. De plus, on ne peut pas recourir à la tecnnique classique d'authentification d'un nombre aléatoire émis par le réseau, qui nécessite un échange bidirectionnel. L'invention a pour objet un procédé d'authentification qui permette de résoudre les problèmes énoncés ci-dessus. Exposé de l'invention La présente invention concerne un procédé d'authentification auprès d'un système de contrôle d'accès et/ou de paiement assurant l'anonymat vis-a-vis d'un tiers, caractérisé en ce qu'on émet, selon un protocole d'authentification monodirectionnel, une séquence d' authentification ci varie entièrement à chaque transaction et ne permet pas à un tiers de déterminer l'identité du client, ni même de déterminer quelles transactions sont issues d'un même client. Avantageusement on utilise un compteur incrémenté de une unité dans l'authentifieur du client à chaque tentative d'authentification, les données d'authentification transmises lors de chaque accès étant la valeur courante C du compteur du client et un code d'authentification CA de d digits, calculé à partir de la clé secrète d'authentification du client, Kclient, et du compteur C, à l'aide d'un algorithme d'authentification A, le code CA étant donné par la relation CA = A(Kclient , C) Dans le cas où le client souhaite signer des données M, on fait également intervenir le paramètre M dans le calcul d'authentification, le code d'authentification CA étant donné par la relation CA = A(Kclient , C||M) Dans le serveur de contrôle d'accès et/ou de paiement, la valeur de compteur correspondant à la dernière authentification réussite, C', est conservée pour chaque client. e serveur de contrôle d'accès e,/ou de paiement est capable de reconstituer la clé secrète d'authentIfication Kclient de chaque client. Avantageusement, cette clé peut être reconstituée à partir d'une clé maitresse d'authentification KA commune à tout le système et de l'identité du client, à l'aide d'un algorithme dit de diversification et noté D, avec Kciient D(KA, ID[client]). Avantageusement une tentative d'authentification n'est acceptée que si pour le client considéré la valeur de compteur C est supérieure à C' de une à quelques dizaines d'unités et si la valeur d'authentification CA qui l'accompagne est égale à la valeur d'authentification recalculée par le serveur à partir de C et de la clé Client. Avantageusement afin d'assurer l'anonymat de l'identité du client vis-à-vis du fournisseur de service, on chiffre cette identité à l'aide d'une clé partagée entre l'authentifieur du client et le serveur de contrôle d'accès et/ou paiement. On peut optionnellement répartir les clients en groupes et utiliser une clé de chiffrement distincte pour chaque groupe. Dans une première variante de l'invention, non basée sur l'utilisation de numéros de groupe, le client transmet, lors de chaque accès - son numéro d'identification individuel NI chiffré avec la clé K de chiffrement du système en utilisant la valeur d'authentification CA comme vecteur d'initialisation ; - les données d'authentification CA et une representation abrégée de la valeur du compteur C !qui peut par exemple être constituee des ceux digits de poids faible de C) notée c. Avantageusement, c peut être chiffré à l'aide de la clé K, en utilisant la valeur d'authentification CA comme vecteur d'initialisation. Dans une seconde variante, basée sur l'utilisation de numéros de groupe, le client transmet, lors de chaque accès - le numéro du groupe auquel il appartient, NG, en clair ; - son numéro d'identification individuel à l'intérieur du groupe, NI, chiffré avec la clé K de chiffrement du groupe NG en utilisant la valeur d'authentification CA comme vecteur d'initialisation. L'identité complète d'un client est donnée par le couple (NO, NI) - les données d'authentification CA et une représentation abrégée de la valeur du compteur C (qui peut par exemple être constituée des aeux digits de poids faible de C) notée c. Avantageusement, c peut être chiffré à l'aide de la clé KNG, en utilisant la valeur de CA comme vecteur d'initialisation. Dans une troisième variante, on chiffre en outre le numéro de groupe NG à l'aide d'une clé de chiffrement K commune à tout le système. Pour faciliter la gestion des clés de groupe dans le serveur de contrôle d'accès et/ou paiement, toutes les clés de groupe KNG peuvent dépendre d'une même clé maltresse KE, à travers un algorithme de diversification : KNG = D(KE, NG) L'algorithme de chiffrement de NI et de C à l'aide de la clé K;G étant note' S, l'algorithme ce chiffrement de NG à l'aide de la cié K étant noté E', la concaténation de deux chaînes décimales (ou binaires ou hexadécimales, etc..) A et B étant notée A||B, le message d'identification-authentification est constitué de la concaténation des éléments suivants - le chiffré E'K,o. (NG) du numéro de groupe - le code d'authentification CA ; - le chiffré EKNG,CA(C NI), où c est une représentation abrégée de la valeur du compteur C (c est par exemple constitué des deux digits de poids faible du compteur C) la séquence d'identification-authentification est donnée par la chaîne E'k,CA (NG) ||EKNG,CA(C||NI)||CA. Brève description des dessins La figure illustre un dispositif classique relatif à des équipements d'un client, d'un fournisseur de service et d'un serveur de contrôle d'accès et/ou de paiement. Exposé détaillé de modes de réalisation Dans le dispositif illustré sur la figure, pour que les échanges clients-réseaux véhiculant les données d'identification et d'authentification, réalisés lors de la phase (I) définie précédemment soient réalisables depuis tous types de terminaux, et en particulier depuis un combiné téléphonique, le système ce contrôle d'accès et/ou paiement est tel que - sur le tronçon client-fournisseur l'échange d'identification-authentification est monodirectionnel et se résume à 1' envoi d'un message unique émis par le client - le message d'identification- authentification est avantageusement codé en décimal (afin de pouvoir être, par exemple, transmis en DTMF (multiplication de fréquence à partir de deux sons) ou dicté en vocal depuis un combiné téléphonique), sa longueur n'excédant pas une quinzaine de chiffres, pour des raisons d'ergonomie. Les calculs cryptographiques d'authentification et de chiffrement sont effectués dans des dispositifs sécurisés offrant une protection suffisante des clés utilisées. Pour le serveur de contrôle d'accès et/ou paiement, on a avantageusement recours à un module de sécurité physiquement protégé. Trois options d'implantation du dispositif de sécurité d'un client, appelé ici authentifieur, sont possibles - distribution au client d'un authentifieur personnel, assez semblable à une calculette de poche, le fonctionnement de l'authentifieur étant conditionné par le contrôle, en local, d'un code personnel - logiciel implanté sur un microordinateur, les clés étant alors stockées chiffrées endehors du logiciel - serveur télématique, fournissant à un client ses séquences d'authentification. Selon le procédé de l'invention, afin de faire varier la séquence d'authentification envoyée par le client (ou son authentifieur) , on applique un algorithme d'authentification a un nombre, dont le serveur de contrôle d'accès et/ou paiement vérifie simplement qu'il varie à chaque transecton. On peut utiliser un compteur incrementé de une unlte dans l'authentifieur du client, à chaque tentative d'authentification. Les données d'authentification transmises, lors de chaque accès, sont la valeur courante C du compteur du client et un code d'authentification CA de d digits, calculé à partir de la clé secrète d'authentification du client, KCliene, et du compteur C, à l'aide d'un algorithme d'authentification A. Dans le cas où le client ne souhaite pas seulement établir son identité auprès du serveur de contrôle d'accès et/ou paiement, mais également signer des données M, on fait également intervenir le paramètre M dans le calcul d'authentification. On a ainsi - dans le cas d'une pure authentification, le code CA donné par la relation CA = A(Kclient,C) - dans le cas où le client doit également authentifier des données, le code d'authentification CA donné par la relation CA = A A(Kclient, C > > M) Si l'algorithme d'authentification A est bien conçu, un fraudeur ayant observé les échanges d'un client ne sait pas prédire le code d'authentification correspondant à une nouvelle valeur de C (ou à un nouveau couple (C,M)) ) avec une probabilité supérieure à 10-d. Dans le serveur de contrôle d'accès et/ou de paiement, la valeur de compteur correspondant à la dernière authentification réussie, C', est conservée pour chaque client. Par ailleurs, si 2 mé.node de diversification mentionnee pius naut est mise en oeuvre, e serveur de contrôle d'accès et/ou de paiement est capable de reconstituer la clé secrète d'authentification Kclient de chaque client, à partir d'une clé maîtresse d'authentification KA commune à tout le système et de l'identité du client, à l'aide d'un algorithme dit de diversification , noté D . Kclient = D(KA, ID[client]). Une tentative d'authentification n'est acceptée que si pour le client considéré la valeur de compteur C est supérieure à C' de une à quelques dizaines d'unités et si la valeur d'authentification CA qui l'accompagne est égale à la valeur d'authentification recalculée par le serveur à partir de C et de la clé Kclient. Dans le cas d'un autnentifieur multiutilisateur, il peut être difficile de garantir que les utilisateurs emploient leurs tickets de connexion dans l'ordre exact où ceux-ci ont été délivrés. On peut alors aménager une procédure de vérification des données d'authentification pour que de légers déséquencements de la valeur de C soient admissibles. Afin d'assurer l'anonymat de l'identité du client vis-à-vis du fournisseur de service, on chiffre cette identité à l'aide d'une clé partagée entre l'authentifieur du client et le serveur de contrôle d'accès et/ou paiement (chiffrement à clé secrète). Cette clé ne peut pas être propre à chaque client : le serveur ce contrôle d'accès et/ou paiement aurait besoin, pour la retrouver et la déchiffrer, de recevoir l'identité ou un cseudonvme d client en clair, ce ou l'on cherche précisément à éviter. Mais à l'inverse, l'utilisation d'une clé de chiffrement unique pour tout le système, impantee dar.s les modules de sécurité de tous les utilisateurs, serait peu sûre. On peut alors répartir es clients en groupes et utiliser une clé de chiffrement distincte pour chaque groupe. La taille d'un groupe doit être suffisamment grande pour que la connaissance du groupe, auquel appartient un client, ne constitue qu'un faible indics pour l'identifier, et le nombre de groupes doit être suffisant pour que la compromission de la clé de chiffrement commune au groupe ait des conséquences limitées (perte d'anonymat pour un groupe). Dans une première variante de l'invention, non basée sur l'utilisation de numéros de groupe, le client transmet, lors de chaque accès - son numéro d'identification individuel NI chiffré avec la clé K de chiffrement du système en utilisant la valeur d'authentification CA comme vecteur d'initialisation ; - les données d'authentification CA et une représentation abrégée de la valeur du compteur C (qui peut par exemple être constituée des deux digits de poids faible de C) notée c. Avantageusement, c peut être chiffré à l'aide de la clé K, en utilisant la valeur d'authentification CA comme vecteur d'initialisation. Dans une seconde variante, basée sur l'utilisation de numéros de groupe, le client transmet, lors de chaque accès - le numéro du groupe auquel il appartient (NG) en clair - son numéro d'IdentIfication individuel à l'intérieur du groupe (NI, trois digits; chiffré avec la c e de ce onittrement du groupe NO e utilisant la valeur d'authentification CA comme vecteur d'initialisation. L'identité complète d'un client est donnée par le couple (NO, NI) - les données d'authentification (CA et C) : on choisit ici de ne pas chiffrer CA ; par contre, C est chiffré à l'aide de la clé KS. On peut légèrement perfectionner la solution ci-dessus en chiffrant en outre le numéro de groupe NG à l'aide d'une clé de chiffrement K commune à tout le système, au lieu de la transmettre en clair. On obtient ainsi une troisième variante. Pour faciliter la gestion des clés de groupe dans le serveur de contrôle d'accès et/ou paiement, on peut faire dépendre toute les clés de groupe KNG d'une meme clé maîtresse KE, à travers un algorithme de diversification KNG = D(KE, NG) L'algorithme de chiffrement de NI et de C à l'aide de la clé K0 est noté E, et l'algorithme de chiffrement de NG à l'aide de la clé K est noté E'. La concaténation de deux chaînes décimales (ou binaires, ou hexadécimales) A et B étant notée AIIB, le message d'identification-authentification est constitue de la concaténation des éléments suivants - le chiffre E':,t (NG) du numéro de groupe (longueur variable, supérieure ou égale à 1) - le code d'authentification CA, en clair - le chiffré EKNG,CA(C||NI), où c est une représentation abrégée de ia valeur du compteur C (c est par exemple constitué des deux digits de poids faible du compteur C). La séquence d'identification-authentification est ainsi donnée par une chaîne E'K,CA(NG)||EKNG,CA(C||NI)||CA. REFERENCES [1] Article de D. Chaum intitulé Untraceable Electronic Cash, Advances In Cryptology (Crypto 88, Springer Verlag 1990, pages 319-327) REVENDICATIONS Procédé d'authenticication auprès d'un système de contrôle d'accès et/ou paiement assurant l'anonymat vis-à-vis d'un tiers, caractérisé en ce qu'on émet, selon un protocole d'authentification monodirectionnel, une séquence d'authentification qui varie entièrement à chaque transaction et ne permet pas à un tiers de déterminer l'identité du client, ni même de déterminer quelles transactions sont issues d'un même client. 2. Procédé selon la revendication 1, caractérisé en ce qu'on utilise un compteur incrémenté de une unité dans l'authentifieur du client à chaque tentative d'authentification. 3. Procédé selon la revendication 2, caractérisé en ce que les données d'authentification transmises lors de chaque accès sont une représentation abrégée de la valeur C du compteur du client et un code d'authentification CA, calculé à partir de la clé secrète Kclien d'authentification du client, et de la valeur courant du compteur C, à l'aide d'un algorithme d'authentification A, le code d'authentification CA étant donné par la relation CA = A(Kclient, C) Procédé selon la revendication 3, caractérisé en ce que, dans le cas où le client souhaite signer des données M, le code d'authentification CA est donné par la relation CA = A(Kclient, C| 5. orocd selon a revendication 1, caractérisé an ce que, dans le serveur de contrôle d'accès et/ou de paiement, la valeur de compteur correspondant à la derr. ère authentification réussie, est conservez pour chaque client, et en ce que le serveur de contrôle d'accès et/ou de paiement reconstitue la clé secrète authentification Kcier. de chaque client à partir d'une clé maitresse d'authentification KA commune et de l'identité du client, à l'aide d'un algorithme noté D, avec Kclient = D(KA, ID[client]). 6. Procédé selon la revendication 5, caractérisé en ce qu'une tentative d'authentification n'est acceptée que si, pour le client considéré, la valeur de compteur C est supérieure à C' d'au moins une unité et si la valeur d'authentification CA, qui l'accompagne, est égale à la valeur d'authentification recalculée par le serveur à partir de la valeur du compteur C et de la clé Kclient. 7. Procédé selon la revendication 1, caractérisé en ce qu'on chiffre l'identité du client à l'aide d'une clé partagée entre l'authentifieur du client et le serveur de contrôle d'accès et/ou paiement, en faisant intervenir la valeur d'authentification CA à titre de vecteur d'initialisation de l'algorithme ce chiffrement, 8. Procédé selon a revendication 7, caractérisé en ce qu'on répartit les clients en groupes et on utilise une clé de chiffrement distincte pour chaque groupe. 9. Procédé selon la revendication l, caractérisé en ce que le client transmet, lors de chaque accès - son numéro d'identification individuel (NI) chiffré avec la clé (K) de chiffrement du système en utilisant la valeur du code d'authentIfication (C.A) comme vecteur d'initialisation ; - les données d'authentification (CA) et une représentation abreee (c) de la valeur du compteur (C). 10. Procédé selon la revendication 9, caractér sé en ce que la représentation abrégée (c) est chiffrée à l'aide de la clé K, en utilisant la valeur du compte d'authentification (CA) comme vecteur d'initialisation. 11. Procédé selon la revendication 1, caractérisé en ce que le client transmet, lors de chaque accès - le numéro (NG) du groupe auquel il appartient en clair - son numéro d'identification individuel (NI) à l'intérieur du groupe, chiffré avec la clé, (KNG) de chiffrement du groupe (NG), en utilisant la valeur du compte d'authentification (CA) comme vecteur d'initialisation - les données d'authentification (CA) et la valeur abrégée (c) du compteur (C). 12. Procédé selon la revendication 10, caractérisé en ce que la valeur abrégée (c) est chiffrée à l'aide de la clé de chiffrement du groupe (KG) en utilisant la valeur du compte d'authentification (CA) comme vecteur d'initialisation. 13. Procédé selon la revendication 11, caractérise en ce qu'on chiffre le numéro de groupe (NG) à l'aide d'une clé de chiffrement (K) commune, en utilisant la valeur du compte d'authentification (CA) comme vecteur d'initialisation. 14. Procédé selon la revendication 13, caractérisé en ce que toutes les clés de groupe (KNG) dépendent d'une même clé maîtresse (KE), à travers un algorithme D tel que KN = D(KL, NG). 15. Procédé selon la revendication 11, caractérisé en ce que l'algorithme de chiffrement du numéro d'identIfication individuel (Nlì et de la représentation abrégé (c) de la valeur du compteur à l'aide de la clé KNG étant noté E, l'algorithme de chiffrement du numéro de groupe (NO) à l'aide de la clé K étant noté E', la concaténation de deux chaînes A et B étant notée AIIB, B, la séquence d'identificationauthentification est donnée par la chaîne E'K,CA(NG)||EKNG,CA(C||NI)||CA.