WO2017140993A1 - Système d'authentification d'un utilisateur auprès d'un serveur - Google Patents
Système d'authentification d'un utilisateur auprès d'un serveur Download PDFInfo
- Publication number
- WO2017140993A1 WO2017140993A1 PCT/FR2017/050362 FR2017050362W WO2017140993A1 WO 2017140993 A1 WO2017140993 A1 WO 2017140993A1 FR 2017050362 W FR2017050362 W FR 2017050362W WO 2017140993 A1 WO2017140993 A1 WO 2017140993A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- authentication
- terminal
- server
- trm
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
Definitions
- the invention relates to an authentication method implemented by an authentication server for authenticating a terminal, this method comprising:
- the invention also relates to a terminal comprising:
- the authentication code is generated by the terminal more frequently than the dynamic security code is generated by the microcircuit card.
- the microcircuit card used to generate the dynamic security code has at least one following characteristic:
- FIG. 1 represents a microcircuit card that can be used in one embodiment of the invention
- FIG. 2 represents a terminal TRM and an authentication server SRV according to a particular embodiment of the invention, an application server 3000, the banking system 6000 of the entity issuing the microcircuit card 1000, and an authentication server SRV according to the invention.
- a module 5100 able to obtain temporal data, either by using internal means or, for example, from another equipment or another network, by means of wireless or wired communications;
- KSL HMAC (KD, DCCV 2 ).
- a cryptographic module 5700 for generating an OTP verification code 2 from the dynamic security code DCCV 2 obtained by this server and the shared secret KD, possibly in cooperation with the HSM entity;
- the authentication server SRV has generated or renewed, from an identifier of the user terminal TRM, a secret KD and sent this secret KD to the terminal TRM.
- the secret KD is shared between the server SRV and the terminal TRM.
- the server SRV can also alternately send to the user terminal TRM a secret with a limited lifetime KSL, the terminal TRM being able to recalculate the secret with a limited lifetime KSL from the shared secret KD and the first dynamic security code DCCVi.
- the authentication server generates, or requests the generation, for example, of an HSM entity, of a dynamic security code DCCV 2 (second code within the meaning of the invention) using a number bank account PAN associated with the user terminal TRM, a secret cryptographic function and a time data CTC obtained by this server.
- a dynamic security code DCCV 2 second code within the meaning of the invention
- KSL 2 HMAC (KD, DCCV 2 ).
- the APP application generates, during the step E30, the authentication code OTPi with input data constituted for example by the amount and / or by at least part of the information on the transaction.
- the OTPi authentication code may be displayed on the SCR screen of the TRM terminal.
- the authentication code OTPi calculated in step E30 is entered by the user on his personal computer to authenticate with an SRV server (payment server of the merchant site or server banking).
- SRV server payment server of the merchant site or server banking
- the APP application asks the user to enter a dynamic security code DCCVi in an entry area displayed on the SCR screen of this TRM terminal.
- the user reads the dynamic code DCCVi displayed on the DISP screen of the microcircuit card 1000 and enters this dynamic code DCCVi in this input area.
- the portal P transmits the OTPi authentication code to the authentication server SRV to request verification.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Ce système d'authentification d'un utilisateur comporte une carte à microcircuit (1000) comportant des moyens de génération d'un code dynamique de sécurité (DCCVi) et un terminal (TRM) comportant : - des moyens (MS) d'obtention du code dynamique de sécurité (DCCVi) généré par la carte à microcircuit (1000); - des moyens (MOTP) de génération d'un code d'authentification à partir dudit code dynamique de sécurité (DCCVi), d'un secret partagé avec ledit serveur d'authentification (SRV) et d'une donnée temporelle obtenue par ledit terminal. Le code d'authentification peut être envoyé au serveur d'authentification par le terminal ou par un autre équipement.
Description
Système d'authentification d'un utilisateur auprès d'un serveur.
Arrière-plan de l'invention L'invention se situe dans le domaine de l'authentification d'un terminal utilisateur auprès d'un serveur d'authentification.
Dans l'état actuel de la technique, on connaît, par exemple pour sécuriser l'accès à un site bancaire, l'utilisation d'un petit boîtier sécurisé (en anglais « token ») au format d'une petite calculatrice, permettant à un utilisateur d'obtenir un code d'authentification, par exemple sur saisie des derniers chiffres de son numéro de compte.
Cette solution présente l'inconvénient de reposer sur l'utilisation d'un tel boîtier dédié et du coût associé pour l'établissement bancaire.
Afin de supprimer ces coûts, une solution alternative a été proposée dans laquelle le boîtier sécurisé est remplacé par une application mobile s'exécutant sur un terminal mobile. Cette deuxième solution présente l'inconvénient d'être vulnérable aux attaques logicielles (par exemple par un malware).
L'invention vise à une solution d'authentification qui ne présente pas les inconvénients mentionnés ci-dessus.
Objet et résumé de l'invention
A cet effet, et selon un premier aspect, l'invention concerne un procédé d'authentification mis en œuvre par un serveur d'authentification pour authentifier un terminal, ce procédé comportant :
- une étape de réception d'une requête pour vérifier un code d'authentification ;
- une étape d'obtention, par une fonction cryptographique secrète, d'un code dynamique de sécurité en utilisant un numéro de compte bancaire associé audit terminal, et une donnée temporelle obtenue par ledit serveur ;
- une étape d'obtention d'un code de vérification à partir dudit code dynamique de sécurité, d'une clef secrète partagée entre ledit terminal et ledit serveur et d'une donnée temporelle obtenue par ledit serveur ;
- une étape de vérification de la validité dudit code d'authentification en le comparant avec ledit code de vérification.
Selon un deuxième aspect, l'invention concerne aussi un procédé d'authentification d'un terminal auprès d'un serveur d'authentification, ledit procédé comportant :
- une étape, mise en œuvre par le terminal, d'obtention d'un code dynamique de sécurité généré par une carte à microcircuit ;
- une étape, mise en œuvre par le terminal, de génération d'un code d'authentification à partir dudit code dynamique de sécurité, d'un secret partagé avec ledit serveur d'authentification et d'une donnée temporelle obtenue par le terminal ; et
- une étape d'envoi du code d'authentification au serveur pour authentifier ledit terminal auprès dudit serveur.
Ainsi, et d'une façon générale, l'invention propose de sécuriser une transaction en générant un code d'authentification à partir d'un code dynamique de sécurité généré par une carte à microcircuit, d'une clef secrète partagée entre le terminal et le serveur et de données temporelles synchronisées mais calculées indépendamment par le serveur et par le terminal chacun avec ses propres moyens , par exemple avec sa propre horloge.
On rappelle en effet que depuis peu, on connaît des cartes à microcircuit, aussi connues sous le nom de cartes « motion code » (voir [REFMC]), de telles cartes étant notamment décrites dans le document US2014/0279555, dans lesquelles un code dynamique de sécurité (aussi connu sous le nom de « motion code ») est changé régulièrement, par exemple toutes les 45 mn environ et affiché sur un écran de la carte à microcircuit sans intervention de l'utilisateur.
Cette solution présente l'intérêt de ne pas nécessiter de boîtier dédié comme dans la première solution de l'art antérieure présentée en préambule et de ne pas être vulnérable aux attaques logicielles, notamment de type malware.
Les données temporelles utilisées par le terminal et le serveur d'authentification peuvent être des compteurs. Ces compteurs sont préférentiel lement mis à jour plus souvent que le code dynamique de sécurité généré par la carte à microcircuit.
Dans un mode particulier de réalisation de l'invention, ledit code d'authentification constitue un mot de passe temporaire à durée de vie limitée.
Dans un mode particulier de réalisation de l'invention, les codes dynamiques de sécurité générés par le terminal et par le serveur sont des codes à 3 ou 4 chiffres.
Dans un mode particulier de réalisation de l'invention, le code d'authentification est un code dont la longueur est supérieure à celle dudit code dynamique de sécurité, par exemple un code à 6 chiffres.
Dans un mode particulier de réalisation, le terminal effectue l'étape d'envoi du code d'authentification au serveur.
En variante, cet envoi est réalisé par un autre équipement, par exemple un ordinateur personnel utilisé par l'utilisateur pour effectuer une transaction.
Cette variante renforce encore la sécurité du procédé d'authentification selon l'invention, puisqu'une attaque malveillante nécessite dans ce cas d'attaquer simultanément, le terminal utilisateur et ce deuxième équipement.
La sécurité peur encore être renforcée en prévoyant un mécanisme d'authentification au niveau du deuxième équipement, par exemple par mot de passe ou mesure de données biométiques.
Dans un mode particulier de réalisation, le procédé d'authentification mis en œuvre par le serveur d'authentification comporte une étape de génération ou de renouvellement dudit secret partagé à partir d'un identifiant dudit terminal utilisateur et d'envoi d'une information obtenue à partir de ce secret audit terminal.
Dans un mode particulier de réalisation du procédé d'authentification mis en œuvre par le serveur d'authentification, au moins une sous-étape de ladite étape d'obtention dudit code dynamique de sécurité ou de ladite étape d'obtention dudit code de vérification est mise en œuvre par une entité matérielle sécurisée.
Dans un mode particulier de réalisation, le procédé d'authentification mis en œuvre par le terminal comporte une étape préalable d'authentification de l'utilisateur du terminal auprès du terminal.
Dans un mode particulier de réalisation du procédé d'authentification mis en œuvre par le terminal, l'étape de génération du
code d'authentification prend en compte des données d'entrée supplémentaires propres à une transaction.
Dans un mode particulier de réalisation du procédé d'authentification mis en œuvre par le terminal, le code d'authentification est généré par le terminal plus fréquemment que le code dynamique de sécurité n'est généré par la carte à microcircuit.
Corrélativement, l'invention concerne un serveur d'authentification pouvant être utilisé pour authentifier un terminal, ce serveur comportant :
- des moyens de réception d'une requête pour vérifier un code d'authentification ;
- des moyens d'obtention, par une fonction cryptographique secrète, d'un code dynamique de sécurité en utilisant un numéro de compte bancaire associé audit terminal et une donnée temporelle obtenue par le serveur ;
- des moyens cryptographiques d'obtention d'un code de vérification à partir dudit code dynamique de sécurité, d'une clef secrète partagée entre ledit terminal et ledit serveur et d'une donnée temporelle obtenue par ledit serveur ;
- des moyens de vérification de la validité dudit code d'authentification en le comparant avec ledit code de vérification.
L'invention vise aussi un terminal comportant :
- des moyens d'obtention d'un code dynamique de sécurité généré par une carte à microcircuit ;
- des moyens de génération d'un code d'authentification à partir dudit code dynamique de sécurité, d'un secret partagé avec le serveur d'authentification et d'une donnée temporelle obtenue par ledit terminal.
Dans un mode particulier de réalisation , le terminal comporte des moyens d'envoi dudit code d'authentification audit serveur pour authentifier ledit terminal auprès dudit serveur.
Le terminal est par exemple un terminal mobile, un téléphone mobile ou une tablette tactile.
Dans un mode particulier de réalisation de l'invention, les moyens du terminal pour obtenir le code dynamique de sécurité sont constitués par une zone de saisie dans laquelle l'utilisateur peut saisir ce code après l'avoir lu sur un écran de la carte à microcircuit.
L'invention vise également un système d'authentification d'un utilisateur comportant :
- une carte à microcircuit comportant des moyens de génération d'un code dynamique de sécurité; et
- un terminal tel que mentionné ci-dessus, ce terminal comportant des moyens d'obtention du code dynamique de sécurité généré par cette carte.
Dans un mode particulier de réalisation dy système selon l'invention, le code d'authentification est généré par le terminal plus fréquemment que le code dynamique de sécurité n'est généré par la carte à microcircuit.
Dans un mode particulier de réalisation de l'invention, la carte à microcircuit utilisée pour générer le code dynamique de sécurité prséente au moins une caractéristique suivante :
- la carte est conforme à la norme IS07816 ;
- la carte est au format ID1 ;
- la carte est une carte de paiement ;
- la carte comporte en particulier une interface à contacts affleurant ;
- la carte comporte le nom du titulaire de la carte à microcircuit, un numéro de compte bancaire et une date d'expiration, le numéro de compte bancaire, la date d'expiration et le code dynamique de sécurité permettant de réaliser une transaction de paiement.
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 un exemple de réalisation dépourvu de tout caractère limitatif et dans lesquels:
- la figure 1 représente une carte à microcircuit pouvant être utilise dans un mode de mise en œuvre de l'invention;
- la figure 2 représente, de façon schématique, un terminal et un serveur d'authentification conformes à un mode particulier de réalisation de l'invention, dans leur environnement ;
- la figure 3 représente un terminal conforme à un mode particulier de réalisation de l'invention ;
- la figure 4 représente sous forme d'organigramme les principales étapes d'un procédé d'authentification conforme à un mode particulier de réalisation de l'invention, mis en œuvre par le terminal de la figure 2 ;
- la figure 5 représente sous forme d'organigramme les principales étapes d'un procédé d'authentification conforme à un mode particulier de réalisation de l'invention, mis en œuvre par le serveur d'authentification de la figure 2 ; et
- la figure 6 représente des échanges de message entre les différents équipements de la figure 2 au cours d'un exemple de mise en œuvre de l'invention.
Description détaillée d'un premier mode de réalisation
La figure 1 représente une carte à microcircuit (en anglais smartcard) de paiement. Dans le mode de réalisation décrit ici, la carte à microcircuit 1000 est conforme à la norme IS07816. Elle comporte en particulier une interface à contacts affleurant 1300.
De façon connue, le nom NOM du titulaire de la carte à microcircuit, un numéro de compte bancaire PAN (par exemple à 16 chiffres), une date d'expiration EXP sont imprimés sur la carte à microcircuit 1000. La carte comporte en outre un code statique de sécurité CW, celui-ci pouvant être ou ne pas être imprimé sur la carte. Pour plus de renseignements sur :
- le code statique de sécurité CW, l'homme du métier peut consulter le document [REFCW] ;
- le numéro de compte bancaire PAN, l'homme du métier peut consulter le document [REFPAN].
Cette carte à microcircuit 1000 comporte un contrôleur 1200 comportant un module apte à fournir la date courante, par exemple une horloge CLK, ce contrôleur 1200 étant apte à calculer un code dynamique de sécurité DCCVi en appliquant une fonction cryptographique secrète à des paramètres comportant le numéro de compte bancaire PAN et un paramètre temporel.
Dans le mode de réalisation décrit ici, le code dynamique de sécurité DCCVi est varié de façon périodique, selon une période prédéterminée.
Au contraire, le code statique de sécurité CW est constant dans le temps.
La carte à microcircuit 1000 comporte un écran 1100 d'affichage de ce code dynamique de sécurité DCCVi. Cet écran peut comporter par exemple 3 ou 4 zones élémentaires selon la taille de ce code dynamique.
Dans le mode de réalisation décrit ici, la carte à microcircuit 1000 comporte en outre une batterie non représentée permettant d'alimenter l'écran d'affichage 1100, notamment lorsque le code dynamique de sécurité DCCVi est modifié.
Afin de limiter la consommation de cette batterie, il peut être souhaitable de ne pas modifier le code dynamique de sécurité DCCVi trop souvent.
La figure 2 représente un terminal TRM et un serveur d'authentification SRV conformes à un mode particulier de réalisation de l'invention, un serveur d'application 3000, le système bancaire 6000 de l'entité émettrice de la carte à microcircuit 1000, et un serveur d'authentification SRV conforme à l'invention.
Dans le mode de réalisation décrit ici, le terminal TRM accède au serveur d'application 3000 par le réseau Internet ; le serveur d'application 3000, le système bancaire 6000 et le serveur SRV d'authentification communiquent via un réseau interbancaire 4000.
En référence à la figure 3, le terminal utilisateur TRM est dans cet exemple constitué par un téléphone mobile. Il comporte notamment un écran tactile SCR, un clavier KB, un processeur CPU, une mémoire morte MM, une mémoire non volatile réinscriptible MF et une mémoire vive MV, un module de communication COM, ces éléments étant reliés entre eux par un système de bus non représenté.
Le terminal utilisateur comporte des moyens MS de saisie permettant à un utilisateur de saisir un code dynamique de sécurité DCCVi calculé par la carte à microcircuit 1000. Ces moyens de saisie MS peuvent être constitués par une fenêtre de saisie à 3 ou 4 zones élémentaires, en fonction de la taille du code DCCVi.
Le module de communication 1000 est apte à envoyer ce code dynamique de sécurité DCCVi au serveur d'authentification SRV.
. Le terminal utilisateur comporte également un module cryptographique MOTP apte à générer un code d'authentification OTPi, à
partir du code dynamique de sécurité DCCVi saisi par l'utilisateur et d'un secret KD partagé avec le serveur d'authentification SRV. Le secret partagé KD est dans cet exemple mémorisé dans la mémoire MF. Le module de communication COM est apte à envoyer le code d'authentification OTP1 au serveur d'authentification SRV.
Dans le mode de réalisation de l'invention décrit ici, le code d'authentification OTP1 est renouvelé plus fréquemment que le code dynamique de sécurité DCCVi par la carte à microcircuit.
La mémoire morte MM comporte un programme d'ordinateur (ou application) APP conforme à l'invention. Cette application APP comporte des instructions, qui lorsqu'elles sont exécutées par le processeur CPU, permettent de mettre en œuvre les étapes E20 à E40 du procédé d'authentification conforme à l'invention et dont les principales étapes seront décrites en référence à la figure 4.
L'architecture du serveur d'authentification SRV est représentée à la figure 1. Il comporte notamment :
- un module 5100 apte à obtenir à obtenir une donnée temporelle, soit en utilisant des moyens internes, soit par exemple à partir d'un autre équipement ou d'un autre réseau, par des moyens de communications sans fil ou filaires ;
- un module 5200 de communication apte notamment à recevoir simultanément ou séparément un premier code dynamique de sécurité DCCVi et un code d'authentification OTPi envoyés par le terminal utilisateur TRM ;
- un module 5300 de génération d'un deuxième code dynamique de sécurité DCCV2 en utilisant un numéro de compte bancaire PAN, une fonction cryptographique secrète et une donnée temporelle obtenue par le module 5100 ; et
- un module 5400 de vérification de la validité d'un premier code dynamique de sécurité DCCVi généré par une carte bancaire 1000 en le comparant avec le deuxième code dynamique de sécurité DCCV2.
On notera que dans un mode de réalisation, le serveur d'authentification coopère avec une entité matérielle sécurisée HSM pour générer le deuxième code dynamique de sécurité DCCV2 et/ou vérifier la validité du premier code dynamique de sécurité DCCVi par comparaison
avec le deuxième code dynamique de sécurité DCCV2 comme mentionné ci-dessus.
Pour plus de renseignements sur une telle entité matérielle sécurisée HSM, l'homme du métier peut se reporter au document [REFHSM].
Le serveur d'authentification SRV comporte également :
- des moyens 5500 d'obtention et de renouvellement, à partir d'un identifiant du terminal utilisateur TRM, d'un secret KD pouvant être partagé avec le terminal TRM ;
- un module 5600 d'obtention, à partir du secret partagé KD et du deuxième code dynamique de sécurité DCCV2, d'un secret à durée de vie limitée KSL. Ce module 5600 utilise à cet effet une fonction de code d'authentification de message HMAC :
KSL = HMAC(KD, DCCV2).
Pour plus de renseignements sur les fonctions de code d'authentification de message, l'homme du métier peut se reporter à la référence [REFHMAC].
Le serveur SRV est apte à envoyer le secret partagé KD et/ou le secret à durée de vie limitée KSL au terminal utilisateur TRM en utilisant son module de communication 5200.
Le serveur d'authentification SRV comporte également :
- un module cryptographique 5700 de génération d'un code de vérification OTP2 à partir du code dynamique de sécurité DCCV2 obtenu par ce serveur et du secret partagé KD, éventuellement en coopération avec l'entité HSM ; et
- un module 5800 de vérification de la validité du code d'authentification OTPi en le comparant avec le code de vérification OTP2.
On notera là encore, que dans un mode de réalisation, le serveur d'authentification coopère avec l'entité HSM pour générer le code de vérification OTP2 et/ou vérifier la validité du code d'authentification OTPi par comparaison avec le deuxième code de vérification OTP2 comme mentionné ci-dessus.
Le serveur d'authentification SRV est apte à envoyer un message au serveur d'application 3000 ou système bancaire 6000 pour autoriser une transaction lorsque la validité du code d'authentification OTPi a été vérifiée.
Exemple de procédé d'authentification mis en œuyre par le terminal utilisateur La figure 4 représente les principales étapes d'un procédé d'authentification d'un utilisateur auprès d'un serveur d'authentification SRV conforme à l'invention, ce procédé étant mis en œuvre par le terminal utilisateur TRM.
Au cours d'une étape E10, l'utilisateur s'authentifie sur son terminal utilisateur TRM. Cette étape E10 d'authentification peut être réalisée en saisissant un code personnel d'identification (en anglais « PIN CODE »), constitué par exemple de 4 chiffres, en utilisant le clavier numérique KB du terminal TRM. Dans une variante, cette étape E10 d'authentification peut être réalisée par l'utilisateur en dessinant, sur l'écran tactile SCR du terminal TRM, un motif préalablement mémorisé dans la mémoire non volatile réinscriptible MF du terminal TRM. Dans une autre variante, cette étape E10 d'authentification peut par exemple être réalisée par des moyens biométriques aptes à identifier une caractéristique physique de l'utilisateur, par exemple une empreinte digitale, un iris, ...
En cas de succès de l'étape E10 d'authentification de l'utilisateur, l'application APP du terminal TRM invite l'utilisateur, au cours d'une étape E20 à saisir, dans la zone de saisie MS, un code dynamique de sécurité DCCVi affiché sur l'écran 1100 de la carte à microcircuit 1000.
Conformément, à l'invention, au cours d'une étape E30, l'application APP génère un code d'authentification OTPi à partir du premier code dynamique de sécurité DCCVi saisi à l'étape E20 et du secret KD partagé avec le serveur d'authentification SRV. Une façon dont ce secret partagé KD peut être renouvelé et transmis au terminal utilisateur TRM par le serveur d'authentification SRV sera décrite ultérieurement.
Le code d'authentification OTPi est utilisé par l'utilisateur pour s'authentifier auprès du serveur SRV au cours d'une étape E40.
Selon le scénario de mise en œuvre de l'invention, et comme décrit ultérieurement, le code d'authentification OTPi peut être généré à l'étape E30 sans donnée d'entrée ou avec données d'entrée saisies par exemple au moyen du clavier KB du terminal TRM.
Dans un mode particulier de réalisation, le code d'authentification OTPi est un cryptogramme à 6 chiffres.
Dans le mode de réalisation décrit ici, ce code d'authentification OTPi est calculé partir d'un secret à durée de vie limitée KSL et d'une donnée temporelle TC obtenue par le terminal utilisateur TRM. Ce secret à durée de vie limitée KSL peut être reçu directement du serveur SRV ou recalculé par le terminal TRM à partir du secret partagé KD reçu de ce serveur.
Par exemple, dans le mode de réalisation décrit ici, le secret à durée de vie limitée KSL est obtenu par le terminal utilisateur en appliquant une fonction de code d'authentification de message HMAC prenant en entrée le secret KD partagé avec le serveur d'authentification SRV et le premier code dynamique de sécurité DCCVi saisi par l'utilisateur :
KSL = HMAC(KD, DCCVi).
Par exemple, OTPi = HOTP (KSL, TC), avec :
- HOTP(K, C) = Truncate(HMAC(K,C)) & 7FFFFFFF16
La durée temporelle TC peut par exemple être un compteur calculé à partir de l'instant courant et d'une période de temps. Par exemple :
TC= (unixtime(now) - unixtime(TO)) / TS, où T0 et TS sont des paramètres temporels spécifiques connus de l'application APP et du serveur d'authentification SRV. Exemple de procédé d'authentification mis en œuyre par le serveur d'authentification SRV
La figure 5 représente les principales étapes d'un procédé d'authentification de l'utilisateur d'un terminal TRM, ce procédé étant mis en œuvre par un serveur d'authentification SRV conforme à l'invention.
On supposera qu'au cours d'une étape F10, le serveur d'authentification SRV a généré ou renouvelé, à partir d'un identifiant du terminal utilisateur TRM un secret KD et envoyé ce secret KD au terminal TRM. En ce sens le secret KD est partagé entre le serveur SRV et le terminal TRM.
Comme mentionné précédemment, le serveur SRV peut également ou de façon alternative envoyer au terminal utilisateur TRM un secret à durée de vie limitée KSL, le terminal TRM étant apte à recalculer le secret à durée de vie limitée KSL à partir du secret partagé KD et du premier code dynamique de sécurité DCCVi.
Au cours d'une étape F20, le serveur d'authentification SRV reçoit, du serveur d'application 3000, une requête pour vérifier un code d'authentification OTPi envoyé à ce serveur 3000 par un terminal utilisateur TRM.
Au cours d'une étape F30, le serveur d'authentification génère, ou demande la génération, par exemple à une entité HSM, d'un code dynamique de sécurité DCCV2 (deuxième code au sens de l'invention) en utilisant un numéro de compte bancaire PAN associé au terminal utilisateur TRM, une fonction cryptographique secrète et une donnée temporelle CTC obtenue par ce serveur.
Puis au cours d'une étape F40, le serveur d'authentification génère, ou demande la génération, par exemple à une entité HSM, d'un code de vérification OTP2, à partir du deuxième code dynamique de sécurité DCCV2, de la clef secrète KD partagée avec le terminal TRM et d'une donnée temporelle ATC obtenue par le serveur. Par exemple :
KSL2 = HMAC(KD, DCCV2).
Par exemple, OTP2 = HOTP (KSL2, ATC),
Le serveur SRV vérifie la validité du code d'authentification OTPi en le comparant avec le code de vérification OTP2 au cours d'une étape F50.
Dans le mode de réalisation, il renvoie le résultat de ce cette vérification (OK, NOK) au serveur d'application 3000 au cours d'une étape F60.
Description d'un premier scénario de mise en œuyre de l'invention
Dans un premier scénario, on suppose que l'utilisateur souhaite utiliser un ordinateur personnel pour s'authentifier auprès d'un serveur bancaire SRV, par exemple pour consulter l'état de son compte en banque ou imprimer un relevé d'identité bancaire.
Dans ce scénario, l'utilisateur demande la génération d'un code d'authentification OTPi comme décrit précédemment en référence aux étapes E10 à E30, et le code d'authentification OTPi s'affiche sur l'écran SCR du terminal comme représenté à la figure 4C.
Ce code d'authentification OTPi constitue un mot de passe temporaire (en anglais « one time password ») dont la durée de vie limitée TTL restante avant expiration de ce code s'affiche sur l'écran du terminal TRM.
Ce code d'authentification OTPi est alors saisi par l'utilisateur sur son ordinateur personnel pour s'authentifier auprès du serveur bancaire SRV.
Description d'un deuxième scénario de mise en œuyre de l'invention Dans ce deuxième scénario, on suppose que l'utilisateur souhaite utiliser un ordinateur personnel pour effectuer un achat en ligne s'authentifier auprès d'un site marchand.
Dans ce scénario, au moment de payer, le serveur SRV de paiement du site marchand envoie une requête d'authentification à l'application APP, cette requête comportant avec le montant et des informations sur la transaction, par exemple les détails d'un titre de transport, ou d'un ticket de réservation de spectacle.
L'application APP invite ensuite l'utilisateur, comme décrit précédemment en référence à l'étape E20, à saisir le code dynamique de sécurité DCCVi affiché sur l'écran 1100 de la carte à microcircuit 1000.
Dans ce scénario d'utilisation, l'application APP génère, au cours de l'étape E30, le code d'authentification OTPi avec des données d'entrée constituées par exemple par le montant et/ou par au moins une partie des informations sur la transaction. Le code d'authentification OTPi peut s'afficher sur l'écran SCR du terminal TRM.
Ce code d'authentification OTPi est alors saisi par l'utilisateur sur son ordinateur personnel pour s'authentifier auprès du serveur de paiement SRV du site marchand. Ce deuxième scénario de mise en œuvre de l'invention peut également et notamment être utilisé pour permettre à un utilisateur de
s'authentifier auprès d'un serveur bancaire SRV afin d'effectuer un virement vers un compte bénéficiaire dont le numéro est saisi par l'utilisateur au moyen du clavier KB du terminal TRM. Une partie de ce numéro de compte peut constituer une donnée d'entrée pour générer le code d'authentification OTPi à l'étape E30.
Description d'un troisième scénario de mise en œuyre de l'invention
Dans le deuxième scénario décrit ci-dessus, le code d'authentification OTPi calculé à l'étape E30 est saisi par l'utilisateur sur son ordinateur personnel pour s'authentifier auprès d'un serveur SRV (serveur de paiement du site marchand ou serveur bancaire).
Dans un troisième scénario de mise en œuvre de l'invention, le code d'authentification OTPi calculé par le terminal TRM à l'étape E30 est directement envoyé au serveur SRV par le terminal utilisateur TRM.
On notera que dans ce mode de réalisation, il n'est pas nécessaire que le code d'authentification OTPi s'affiche sur l'écran SCR du terminal TRM. Description détaillée d'un autre mode de réalisation de l'invention
La figure 6 représente un mode de réalisation de l'invention dans lequel on met régulièrement à jour le deuxième secret dans le téléphone.
Au cours d'une première étape G10, l'utilisateur se connecte avec son ordinateur personnel auprès d'un portail P, en saisissant l'URL de ce portail dans un navigateur Internet installé sur cet ordinateur.
Au cours d'une étape G20, le portail P envoie à l'ordinateur personnel une page Web permettant à l'utilisateur de saisir un code d'authentification OTPi.
Au cours d'une étape G30, l'utilisateur lance l'application APP sur son terminal utilisateur TRM.
Au cours d'une étape G40, l'application APP demande à l'utilisateur de saisir un code dynamique de sécurité DCCVi dans une zone de saisie affichée sur l'écran SCR de ce terminal TRM.
Au cours d'une étape G50, l'utilisateur lit le code dynamique DCCVi affiché sur l'écran DISP de la carte à microcircuit 1000 et saisit ce code dynamique DCCVi dans cette zone de saisie.
Au cours d'une étape G60, l'application APP demande à l'utilisateur de s'authentifier sur le terminal TRM, par exemple en saisissant un code personnel, en dessinant un motif sur l'écran SCR ou par lecture de données biométriques.
Si le terminal TRM authentifie effectivement l'utilisateur (étape G70), l'application APP interroge au cours d'une étape G70, le serveur d'authentification SRV pour obtenir le secret partagé KD.
Dans le mode de réalisation décrit ici, ce secret KD est renouvelé au cours d'une étape G80 et renvoyé au terminal TRM au cours d'une étape G90.
Le terminal TRM génère le code d'authentification OTPi au cours d'une étape G100 en utilisant le code dynamique de sécurité DCCVi saisi à l'étape G50 et le secret partagé KD reçu à l'étape G90.
Au cours d'une étape G 110, l'utilisateur saisit le code d'authentification OTPi dans la page Web reçue du portail P à l'étape F20.
Au cours d'une étape G120, le portail P transmet le code d'authentification OTPi au serveur d'authentification SRV pour demander sa vérification.
A cet effet, au cours d'une étape G130, le serveur d'authentification calcule, seul, ou en combinaison avec une entité HSM :
- un code dynamique de sécurité DCCV2 en utilisant un numéro de compte bancaire PAN associé au terminal utilisateur TRM, une fonction cryptographique secrète et une donnée temporelle obtenue par ce serveur ;
- un code de vérification OTP2, à partir du code dynamique de sécurité DCCV2, de la clef secrète KD partagée avec le terminal TRM et d'une donnée temporelle TC obtenue par le serveur.
Le serveur SRV vérifie la validité du code d'authentification OTPi en le comparant avec le code de vérification OTP2.
Dans le mode de réalisation, le serveur renvoie le résultat de ce cette vérification (OK, NOK) au serveur d'application SRV au cours d'une étape G140.
Références :
[REFMC] : http://www berthurxom/fr/le-groupe-bpce-lance-avec-oberthur-technologii -innovation-mondiale-la-premiere-carte-bancaire-a-cryptogramme-dynamique/
[REFCW] : en.wikipedia.org/wiki/card_security_code
[REFPAN] : en.wikipedia.org/wiki/Bank_card_number
[REFHSM] : HSM : https://fr.wikipedia.org/wiki/Hardware_Security_Module
[REFHMAC] :https://fr. wikipedia.org/wiki/Keyed-Hash_Message_Authentication_Code
Claims
1. Procédé d'authentification mis en œuvre par un serveur d'authentification pour authentifier un terminal (TRM), ce procédé comportant :
- une étape (F20) de réception d'une requête pour vérifier un code d'authentification (OTPi) ;
- une étape (F30) d'obtention, par une fonction cryptographique secrète, d'un code dynamique de sécurité (DCCV2) en utilisant un numéro de compte bancaire associé audit terminal (TRM), et une donnée temporelle (CTC) obtenue par ledit serveur (SRV)
- une étape (F40) d'obtention d'un code de vérification (OTP2) à partir dudit code dynamique de sécurité (DCCV2), d'une clef secrète (KD) partagée entre ledit terminal (TRM) et ledit serveur (SRV) et d'une donnée temporelle (ATC) obtenue par ledit serveur ;
- une étape (F50) de vérification de la validité dudit code d'authentification (OTPi) en le comparant avec ledit code de vérification (OTP2)
2. Procédé d'authentification selon la revendication 1, caractérisé en ce qu'il comporte une étape de génération ou de renouvellement dudit secret partagé (KD) à partir d'un identifiant dudit terminal utilisateur (TRM) et d'envoi (F10) d'une information (KD, KSL) obtenue à partir de ce secret audit terminal (TRM).
3. Procédé d'authentification selon la revendication 1 ou 2, caractérisé en ce que au moins une sous-étape de ladite étape (F30) d'obtention dudit code dynamique de sécurité (DCCV2) ou de ladite étape (F40) d'obtention dudit code de vérification (OTP2) est mise en œuvre par une entité matérielle sécurisée (HSM).
4. Procédé d'authentification d'un terminal (TRM) auprès d'un serveur d'authentification (SRV), ledit procédé comportant :
- une étape (E20), mise en œuvre par ledit terminal, d'obtention un code dynamique de sécurité (DCCVi) généré par une carte à microcircuit
(1000) ;
- une étape (E30), mise en œuvre par ledit terminal ; de génération d'un code d'authentification (OTPi) à partir dudit code dynamique de sécurité (DCCVi), d'un secret (KD) partagé avec ledit serveur d'authentification (SRV) et d'une donnée temporelle (TC) obtenue par ledit terminal ; et - une étape (E40) d'envoi dudit code d'authentification (OTPi) audit serveur (SRV) pour authentifier ledit terminal (TRM) auprès dudit serveur (SRV).
5. Procédé d'authentification selon la revendication 4, caractérisé en ladite étape (E40) d'envoi un effectué par un autre équipement.
6. Procédé d'authentification selon la revendication 4 ou 5, caractérisé en ce qu'il comporte une étape préalable (E10) d'authentification de l'utilisateur du terminal auprès dudit terminal (TRM).
7. Procédé d'authentification selon l'une quelconque des revendications 4 à 6, caractérisé en ce que ladite étape (E30) de génération dudit code d'authentification (OTPi) prend en compte des données d'entrée supplémentaires propres à une transaction.
8. Procédé d'authentification selon l'une quelconque des revendications 4 à 7, caractérisé en ce que ledit code d'authentification (OTPi) constitue un mot de passe temporaire à durée de vie limitée.
9. Procédé d'authentification selon l'une quelconque des revendications 1 à 8 caractérisé en ce que ledit code d'authentification (OTPi) est un code dont la longueur est supérieure à celle dudit code dynamique de sécurité (DCCVi, DCCV2), par exemple un code à 6 chiffres.
10. Procédé d'authentification selon l'une quelconque des revendications 1 à 9 caractérisé en ce que ledit code dynamique de sécurité (DCCVi, DCCV2) est un code à 3 ou 4 chiffres.
11. Serveur d'authentification pouvant être utilisé pour authentifier un terminal (TRM), ce serveur comportant :
- des moyens (5200) de réception d'une requête pour vérifier un code d'authentification (OTPi) ;
- des moyens (5300) d'obtention, par une fonction cryptographique secrète, d'un code dynamique de sécurité (DCCV2) en utilisant un numéro de compte bancaire associé audit terminal (TRM) et une donnée temporelle (CTC) obtenue par ledit serveur (SRV) ;
- des moyens cryptographiques (5700) d'obtention d'un code de vérification (OTP2) à partir dudit code dynamique de sécurité (DCCV2), d'une clef secrète (KD) partagée entre ledit terminal (TRM) et ledit serveur (SRV) et d'une donnée temporelle (ATC) obtenue par ledit serveur ;
- des moyens (5800) de vérification de la validité dudit code d'authentification (OTPi) en le comparant avec ledit code de vérification (OTP2).
12. Terminal (TRM) comportant :
- des moyens (MS) d'obtention d'un code dynamique de sécurité (DCCVi) généré par une carte à microcircuit (1000) ;
- des moyens (MOTP) de génération d'un code d'authentification (OTPi) à partir dudit code dynamique de sécurité (DCCVi), d'un secret (KD) partagé avec ledit serveur d'authentification (SRV) et d'une donnée temporelle (TC) obtenue par ledit terminal.
13. Terminal selon la revendication 12 caractérisé en ce qu'il comporte des moyens (COM) d'envoi dudit code d'authentification (OTPi) audit serveur (SRV) pour authentifier ledit terminal (TRM) auprès dudit serveur (SRV).
14. Système d'authentification d'un utilisateur comportant :
- une carte à microcircuit (1000) comportant des moyens de génération d'un code dynamique de sécurité (DCCVi) ; et
- un terminal selon la revendication 12 ou 13, ce terminal comportant des moyens d'obtention dudit code dynamique de sécurité (DCCVi).
15. Système d'authentification selon la revendication 14, caractérisé en ce que le code d'authentification (OTPi) est généré (E30) par le
terminal (TRM) plus fréquemment que le code dynamique de sécurité (DCCVi) n'est généré par ladite carte à microcircuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17709160.0A EP3417592B1 (fr) | 2016-02-19 | 2017-02-17 | Système d'authentification d'un utilisateur auprès d'un serveur |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1651392A FR3048100B1 (fr) | 2016-02-19 | 2016-02-19 | Systeme d'authentification d'un utilisateur aupres d'un serveur |
FR1651392 | 2016-02-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017140993A1 true WO2017140993A1 (fr) | 2017-08-24 |
Family
ID=56411703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2017/050362 WO2017140993A1 (fr) | 2016-02-19 | 2017-02-17 | Système d'authentification d'un utilisateur auprès d'un serveur |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3417592B1 (fr) |
FR (1) | FR3048100B1 (fr) |
WO (1) | WO2017140993A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3570518A1 (fr) * | 2018-05-16 | 2019-11-20 | In-Idt | Systeme et procede d'authentification utilisant un jeton a usage unique de duree limitee |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018005893A1 (fr) * | 2016-06-30 | 2018-01-04 | Shape Security, Inc. | Génération de clé de sécurité côté client |
FR3131404A1 (fr) | 2021-12-27 | 2023-06-30 | Idemia Identity & Security France | Procede d’authentification par voie optique et dispositifs associes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2343666A1 (fr) * | 2009-12-27 | 2011-07-13 | Polska Wytwornia Papierow Wartosciowych S.A. | Procédé et dispositif de synchronisation temporelle d'un terminal d'utilisateur avec un serveur |
US20140279555A1 (en) | 2013-03-14 | 2014-09-18 | Nagraid Security, Inc. | Dynamically allocated security code system for smart debt and credit cards |
US20150195280A1 (en) * | 2014-01-08 | 2015-07-09 | Panasonic Intellectual Property Management Co., Ltd. | Authentication system and authentication method |
-
2016
- 2016-02-19 FR FR1651392A patent/FR3048100B1/fr active Active
-
2017
- 2017-02-17 EP EP17709160.0A patent/EP3417592B1/fr active Active
- 2017-02-17 WO PCT/FR2017/050362 patent/WO2017140993A1/fr active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2343666A1 (fr) * | 2009-12-27 | 2011-07-13 | Polska Wytwornia Papierow Wartosciowych S.A. | Procédé et dispositif de synchronisation temporelle d'un terminal d'utilisateur avec un serveur |
US20140279555A1 (en) | 2013-03-14 | 2014-09-18 | Nagraid Security, Inc. | Dynamically allocated security code system for smart debt and credit cards |
US20150195280A1 (en) * | 2014-01-08 | 2015-07-09 | Panasonic Intellectual Property Management Co., Ltd. | Authentication system and authentication method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3570518A1 (fr) * | 2018-05-16 | 2019-11-20 | In-Idt | Systeme et procede d'authentification utilisant un jeton a usage unique de duree limitee |
FR3081239A1 (fr) * | 2018-05-16 | 2019-11-22 | In-Idt | Systeme et procede d'authentification utilisant un jeton a usage unique de duree limitee |
Also Published As
Publication number | Publication date |
---|---|
FR3048100A1 (fr) | 2017-08-25 |
EP3417592A1 (fr) | 2018-12-26 |
EP3417592B1 (fr) | 2021-05-12 |
FR3048100B1 (fr) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200151698A1 (en) | Distributed authenticity verification for consumer payment transactions | |
EP2873045B1 (fr) | Entite electronique securisee pour l'autorisation d'une transaction | |
CN112805737A (zh) | 用于令牌邻近交易的技术 | |
CN102088353B (zh) | 基于移动终端的双因子认证方法及系统 | |
WO2015103971A1 (fr) | Procédé et système pour vérifier des transactions à l'aide d'une carte intelligente | |
EP2619941B1 (fr) | Procede, serveur et systeme d'authentification d'une personne | |
EP3756116B1 (fr) | Auto-inscription biométrique efficace | |
EP2610824A1 (fr) | Carte bancaire et procédé de réponse à une demande de transaction | |
EP3417592B1 (fr) | Système d'authentification d'un utilisateur auprès d'un serveur | |
WO2015059389A1 (fr) | Procede d'execution d'une transaction entre un premier terminal et un deuxieme terminal | |
FR2922669A1 (fr) | Dispositif electronique portable pour l'echange de valeurs et procede de mise en oeuvre d'un tel dispositif | |
EP3384449A1 (fr) | Methode de paiement et dispositif utilisant cette methode | |
EP2053553A1 (fr) | Procédé et dispositif pour l'échange de valeurs entre entités électroniques portables personnelles | |
EP1354288B1 (fr) | Procede utilisant les cartes de paiement electroniques pour securiser les transactions | |
WO2017001757A1 (fr) | Serveur et procede de verification de code de securite | |
EP2048632A1 (fr) | Procédé de transmission d'un code confidentiel, terminal lecteur de cartes, serveur de gestion et produits programme d'ordinateur correspondants | |
EP1076886B1 (fr) | Procede pour effectuer une transaction securisee au moyen d'une carte a puce a travers un reseau de telecommunication | |
EP3570518B1 (fr) | Systeme et procede d'authentification utilisant un jeton a usage unique de duree limitee | |
US20230409752A1 (en) | System and method for localized permission-based sharing of personal information | |
FR3038417A1 (fr) | Serveur et procede de verification de code dynamique de securite | |
KR102100073B1 (ko) | 결제 서비스 제공 방법, 장치 및 시스템 | |
FR3038419A1 (fr) | Serveur et procede de verification de code de securite | |
WO2017077210A1 (fr) | Procédé de verification d'identité lors d'une virtualisation | |
WO2012022856A1 (fr) | Procédé d'authentification d' un utilisateur du réseau internet | |
EP1779340B1 (fr) | Systeme de paiement par suite de jetons |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17709160 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017709160 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017709160 Country of ref document: EP Effective date: 20180919 |