WO2010116109A1 - Method of authentication at a server by a user of a mobile apparatus - Google Patents

Method of authentication at a server by a user of a mobile apparatus Download PDF

Info

Publication number
WO2010116109A1
WO2010116109A1 PCT/FR2010/050693 FR2010050693W WO2010116109A1 WO 2010116109 A1 WO2010116109 A1 WO 2010116109A1 FR 2010050693 W FR2010050693 W FR 2010050693W WO 2010116109 A1 WO2010116109 A1 WO 2010116109A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
user
server
password
image
Prior art date
Application number
PCT/FR2010/050693
Other languages
French (fr)
Inventor
Mauro Panza
Original Assignee
Lynkware
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lynkware filed Critical Lynkware
Publication of WO2010116109A1 publication Critical patent/WO2010116109A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity

Definitions

  • the present invention relates to a method of authenticating a user to a server, the user being in possession of a mobile device. It also relates to a mobile device and a server as well as computer program products operating on them and implementing the method.
  • the traditional processes of securing access to networks consist in validating the identity of a user by using an identifier and a password. This identification is entered on the user terminal, computer or other mobile device (mobile phone, PDA %) and then circulates on private and / or public communication networks to the information system that authorizes or denies access.
  • These enhanced methods use a protocol for exchanging data between a security server and the user, a protocol according to which a new one-time password (OTP) is generated for a period of time. limited use each time a user is authenticated. It is then impossible to reuse the same password during a subsequent authentication.
  • OTP one-time password
  • the technology used involves a dynamic change of passwords for each authentication session. It allows user authentication because the generated password is the only user who has a physical device that generates the password.
  • the technology is based on a secret key that exists only in two places: on the user's physical device and on the security server. This secret key can not be captured because it never travels between the security server and the user. This secret key is used to calculate the passwords to be used to authenticate the user when needed. The calculation is done on the basis of time (A) and / or event (B):
  • the hardware device automatically generates new passwords with a determined frequency (for example every 60 seconds), using the value of the clock at the instant "t" in order to calculate at each connection a unique password.
  • the hardware device then generates a new password only when an event occurs - for example the user presses a button on his key or other hardware device. Whenever the event takes place a counter is incremented and a well-defined algorithm will calculate a one-time password.
  • a method of authenticating a user to a server, said user being in possession of a mobile device comprises:
  • the authentication method thus has the advantage of using the mobile phone as a hardware for generating the password.
  • the use of this equipment is very widespread and allows the use of strong authentication in "general public" applications that may require a high level of security of access (banking, medical ).
  • the clock of the mobile device does not need to be synchronized with the server because the image contains internally the data necessary for the limitation of validity of the password.
  • the image contains for example a non-symmetric encrypted signature of the time stamp and the key of the server, only the server containing the limitation of validity of the password.
  • the transmission of the code comprising the time stamp makes it possible to significantly increase the level of security of the method, since it is possible, for example, by known hashing and / or signature methods, to verify that the code comprising the stamp is well integrated and has been sent by the server. It is thus possible to detect any anomalies relating to the code, and therefore simultaneously on the entity comprising the stamp and the data to generate the unique password. It is thus possible to ensure that the stamp has not been altered and corresponds to the data to generate the unique password, by checking the code received.
  • the image is sent by the server on a screen and the mobile device receives this image via a camera included in the mobile device or the image is sent by the server to the mobile device via the mobile phone network;
  • the image has a 2D barcode containing the code or the code is included by a steganography process in the image;
  • the mobile device having an identification code thereof (IMEI) and / or a user identification code (IMSI), the one-time password is generated based in addition on the mobile device identification code, user identification code, or a combination of both; and
  • the code also includes a server identifier.
  • the use of the identification codes contained in the mobile device such as, for example, the IMEl which is a unique identifier of a mobile phone to the GSM or 3G standard, or the IMSI which is an identifier contained in the SIM card of the telephone and in relation with the subscriber allows a reinforcement of the security: by validating that the device which has carried out the computation of the password is identified. by facilitating the blocking by the telephone operator of the lost or stolen mobile device
  • the transmission of a specific key to the server in the encrypted code advantageously allows a link between the mobile device and the server without the device mobile has to store a secret key.
  • a mobile device comprises: image acquisition means comprising a code comprising said code comprising at least one time stamp value;
  • a password calculator based on said code and said secret code.
  • a server comprises:
  • a code generator said code comprising at least one time stamp value
  • An image generator comprising in its pixels said code; connected to
  • Means for validating said one-time password adapted to verify that said password has at least been received within a predetermined time with respect to the time stamp value, is in accordance with the code and corresponds at least to the user authenticating.
  • a computer program product having program code instructions recorded on a server computer readable medium, for implementing the steps of a user authentication method. at said server, said user being in possession of a mobile device, comprising:
  • FIG. 1 is a schematic view of a system for implementing an embodiment of the invention
  • FIG. 2 is a flow diagram of an authentication method according to one embodiment of the invention.
  • FIG. 3 is a schematic view of the operation of an authentication on a server implementing the method of FIG. 2;
  • FIG. 4 is a schematic view of examples of display screens generated by the authentication of FIG. 3;
  • FIG. 5 is a schematic view of the operation of an image recognition on a mobile terminal during the execution of the method of FIG. 2;
  • FIG. 6 is a schematic view of the mobile apparatus of FIG. 1;
  • FIG. 7 is a schematic view of the server of FIG. 1;
  • Fig. 8 is a schematic view of transmission of an encoded image in an alternative embodiment;
  • Fig. 9 is a schematic view of screens of a mobile terminal in another alternative embodiment.
  • the single-use password authentication described hereinafter implements a server 1 connected to a user terminal 3 through which a user 5 wishes to access a service controlled by the server 1, and a mobile device 7 owned by the user 5.
  • the mobile device 7 is typically a mobile phone having a keyboard 9 or a touch screen, a display screen 1 1 and a camera 13 shooting.
  • the server 1 and the mobile device 7 have programmable computing means, not shown, as well as data storage and program storage means. Authentication then proceeds as follows, Figure 2:
  • step 20 by the server 1 of an authentication request request from the user terminal 3;
  • step 22 in response by the server 1 of an image in the form of a matrix of pixels containing an encrypted code in the pixels of the image, the code comprising at least one signature value of the time stamp , also called timestamp value;
  • step 28 by the mobile device of a one-time password based on at least the code and a secret code held by the user; • entering the one-time password on the user terminal, using a keyboard or other input device;
  • step 30 • reception, step 30, by the server of the one-time password; and • validation, step 32, of the password if it has at least been received within a predetermined time with respect to the value of timestamp, is consistent with the code and at least corresponds to the user authenticating.
  • the mobile device 7 includes a mobile application that can be installed on the various mobile phones on the market and capable of image processing.
  • the application is thus available on different software platforms used by mobile phone manufacturers such as, for example, J2ME, WM, Symbian, MacOs, Android, RIM Os and BREW.
  • the mobile application for generating the unique password is included in a 2D barcode image reader and uses a tag contained in the barcode to launch a one-time password generation interface.
  • the mobile application performs the following steps:
  • the mobile application can be installed on a mobile phone by positioning a page on a WAP server with the link to the download file, specific to each phone. Another solution is to load and install the application directly via the USB cable or via Bluetooth.
  • a server application for example written in PHP, is capable of generating encrypted 2D barcodes 40.
  • 2D barcodes there are two types of widely used 2D barcodes: the Datamatrix or the QR code.
  • the Datamatrix has the advantage of being easy to read and easily compress data.
  • the QR code has the advantage of guaranteeing the reading of codes on Asian mobiles.
  • the 2D barcode 40 contains a code 42 which is a hash value of a secret key SK of the server and a timestamp data Ts.
  • the latter is, for example, on a Unix / Linux server the Epoch time of the system clock. To recap, the Epoch time is the number of milliseconds since l ⁇ r 1 January 1970.
  • the hash is performed by one of the many known hash functions such as MD5, SHA-1 or HMAC.
  • the time stamp data Ts is generated, for example, by reading the current time of the server substantially at the moment when the code 42 is produced, and associating the current time read with the value of the data item. stamp.
  • the server also determines the predetermined delay with respect to the timestamp value, or validity period.
  • the validity period is for example a duration from the time corresponding to the time data Ts, defining a period during which the user can authenticate using the password corresponding to the code 42.
  • the server upon receipt of an authentication request, the server presents the user with an access authorization window 44 comprising the 2D barcode, a countdown 46 indicating the validity period of the 2D barcode. and a form 48 comprising a user identification field ID 50 and a field 52 for entering the one-time password.
  • the period of validity of the 2D barcode of the countdown 46 can be obtained by using a default duration, fixed by configuration for example, equal to the period of validity of the server.
  • the server also contains an application 54 capable of verifying the one-time passwords and a database 56 for archiving the authentication data of the users.
  • the interaction with the database is performed by standard SQL queries to maintain applications independent of the type of database used. Using stored procedures can increase the level of security, but at the expense of a link from the application to a specific database.
  • the application 54 upon receipt of the identification and password fields of the form 48 verifies:
  • This validation is typically performed by performing the same calculations as the mobile terminal based on the data contained in the database 56, identifier and secret code of the user, and the encrypted code in the 2D barcode.
  • the authorization window 44 is replaced by a window 60 indicating that the validity period has expired and that a new code will be generated.
  • the mobile application At the level of the user, FIG. 5, the latter, via the camera integrated in his telephone, will read the generated 2D code transmitted by the server and which is displayed on the screen of his computer.
  • the mobile application then presents a screen 72 indicating that it has acquired the code. She then presents him with an entry screen 74 enabling him to enter his personal secret code.
  • this secret code In view of keyboards or touch screens of current phones, this secret code is composed of a series of numbers but this is not limiting in that the new generations of mobile phone offer keypads or touch screens more and more. more ergonomic and providing a complete set of alphanumeric characters.
  • the mobile application displays on a screen 76 the one-time password generated according to an algorithm based on the following parameters:
  • the data encrypted in the 2D barcode namely the unique key of the server SK and the timestamp data Ts;
  • the secret code provided by the user which is also saved in the database 56 of the server;
  • the mobile device comprises, FIG. 6: Means for acquiring an image comprising a code, such as the camera 13;
  • Means 9 for entering a secret code connected to "a password calculator 62 based on the code and the secret code.
  • the server 1 comprises:
  • Means 70 for receiving a user authentication request and a one-time password Means 70 for receiving a user authentication request and a one-time password;
  • a code generator 72 the code comprising at least one time stamp value;
  • An image generator 76 comprising in its pixels the code; connected to
  • the one-time password is generated by the mobile application also using the IMEI number
  • This IMEI number is a unique number assigned to each mobile phone and is stored in a database generally managed by operators and used particularly to fight against theft.
  • the password validation server application then also integrates the IMEI number contained in the database 56 among the calculation parameters. Integration into the IMEI authentication process of the mobile phone minimizes the risk of identity theft in the event of loss or theft. Indeed, the mobile operators then disable the operation of the device stolen or lost on call.
  • the IMEI number may be replaced by the IMSI number ("International Mobile Subscriber Identity") which is a subscriber identification number contained in the integrated smart card. mobile phone, smart card also called SIM card ("Subscriber Identity Module").
  • IMEI and IMSI numbers can be combined to further enhance the security of authentication.
  • the image of a 2D barcode is replaced by any image in which the encrypted code is inserted by steganography.
  • the pixels of the image are thus modified without this being necessarily visible to the human eye while being detectable by a suitable recognition algorithm.
  • the image is not transmitted via the authentication terminal and an image is taken by the mobile phone's camera, but it is sent directly to the mobile phone 7 via the telephone network, for example in the form of a Multimedia Message Service (MMS) or by using the mobile internet access possibilities such as the WAP protocol, or via a screenshot of the mobile display. (for example, a screenshot of the mobile internet browser).
  • MMS Multimedia Message Service
  • WAP Wireless Fidelity
  • FIG. 7 illustrates a combination of the third and fourth variants in the form of a succession of screens of the mobile telephone 7.
  • the screen 80 illustrates the reception of an image containing the server code and the encrypted time stamp value. by steganography in its pixels.
  • the screen 82 corresponds to the entry of the secret code of the user, once the application installed on the mobile phone 7 has decrypted the values contained in the image.
  • the screen 84 corresponds to the display screen for the one-time password to be provided to the authentication form.
  • the method can provide the usual management techniques of authentication failures such as, for example, the blocking of the account after a predetermined number of consecutive failures accompanied or not, a recovery procedure / unblocking the account.
  • authentication failures such as, for example, the blocking of the account after a predetermined number of consecutive failures accompanied or not, a recovery procedure / unblocking the account.
  • the word "comprising” does not exclude other elements and the indefinite article "one" does not exclude a plurality.

Abstract

The invention relates to a method of authentication of a user possessing a mobile apparatus at a server, comprising: • reception (20) by the server of an authentication application request; • dispatching (22) in response by the server of an image in the form of a matrix of pixels containing an encrypted code in the pixels, the code comprising at least one time stamp value; • reception (24) of the image by the mobile apparatus and extraction (26) by the latter of the code; • generation (28) by the mobile apparatus of a single-use password based at least on the code and a secret code held by the user; • reception (30) by the server of the single-use password; and • validation (32) of the password if the latter has at least been received within a predetermined span with respect to the time stamp value, complies with the code and corresponds at least to the user authenticating himself.

Description

PROCEDE D'AUTHENTIFICATION AUPRES D'UN SERVEUR PAR UN UTILISATEUR D'UN APPAREIL MOBILE. METHOD FOR AUTHENTICATION FROM A SERVER BY A USER OF A MOBILE DEVICE
La présente invention concerne un procédé d'authentification d'un utilisateur auprès d'un serveur, l'utilisateur étant en possession d'un appareil mobile. Elle concerne également un appareil mobile et un serveur ainsi que les produits programmes d'ordinateur fonctionnant sur ceux-ci et mettant en œuvre le procédé.The present invention relates to a method of authenticating a user to a server, the user being in possession of a mobile device. It also relates to a mobile device and a server as well as computer program products operating on them and implementing the method.
Les processus classiques de sécurisation des accès aux réseaux (réseau d'entreprise, Internet, etc.) consistent à valider l'identité d'un utilisateur en utilisant un identifiant et un mot de passe. Cette identification est saisie sur le terminal utilisateur, ordinateur ou autre appareil mobile (téléphone portable, PDA...) puis circule sur les réseaux privés et/ou publics de communication jusqu'au système d'information qui autorise ou refuse l'accès.The traditional processes of securing access to networks (corporate network, Internet, etc.) consist in validating the identity of a user by using an identifier and a password. This identification is entered on the user terminal, computer or other mobile device (mobile phone, PDA ...) and then circulates on private and / or public communication networks to the information system that authorizes or denies access.
Cette authentification classique a rapidement montré ses limites. Une faiblesse réside notamment dans la facilité avec laquelle elle peut être contournée :This classic authentication quickly showed its limits. One weakness is the ease with which it can be circumvented:
• mot de passe recopié sur un papier,• password copied onto a paper,
• mot de passe trivial choisi par les utilisateurs,• trivial password chosen by users,
• mot de passe (et parfois identifiant) identique(s) pour tous les services.• same password (and sometimes username) for all services.
De plus, différentes techniques sont très répandues et en constante évolution pour récupérer ces deux informations :In addition, various techniques are widespread and constantly evolving to recover these two pieces of information:
• augmentation du nombre de courriels d'hameçonnage (en anglais « phishing ») qui contiennent des faux liens hypertextes pour, par exemple, orienter les clients des banques vers de faux sites web bancaires.• An increase in the number of phishing e-mails that contain false hypertext links to, for example, direct bank customers to fake banking websites.
• Avec les "renifleurs" de frappe (en anglais « keylogger »), chevaux de Troie et autres logiciels espions implantés subrepticement dans l'ordinateur de la victime, les autorisations utilisateur sensibles sont recueillies et transmises aux fraudeurs. La progression rapide de l'implantation des points d'accès « publics » utilisant les communications sans fil (cybercafés, gares, hôtels, aéroports, etc.) multiplie encore les risques d'usurpation d'identités des utilisateurs et ce d'autant plus que le personnel des entreprises est désormais mobile, avec un grand nombre d'employés qui ont un accès au réseau d'entreprise à partir de ces lieux ou de leurs foyers, en mettant en danger les données à caractère confidentiel.• With keyloggers, Trojans and other spyware implanted surreptitiously into the victim's computer, sensitive user permissions are collected and transmitted to fraudsters. The rapid progression of the implementation of "public" access points using wireless communications (cybercafés, train stations, hotels, airports, etc.) increases the risks of user identity theft even more so. that business staff is now mobile, with a large number of employees who have access to the corporate network from these places or their homes, putting at risk confidential data.
Les faiblesses de ces processus classiques ont conduit à la mise au point de procédés d'authentification renforcés, qui font appel à des solutions logicielles et/ou matérielles.The weaknesses of these traditional processes have led to the development of enhanced authentication methods, which involve software and / or hardware solutions.
Ces procédés renforcés utilisent un protocole d'échange de données entre un serveur de sécurité et l'utilisateur, protocole selon lequel un nouveau mot de passe à usage unique (en anglais « One Time Password » ou OTP) est généré pour une durée d'usage limitée, à chaque fois qu'un utilisateur est authentifié. Il est alors impossible de réutiliser ce même mot de passe lors d'une authentification ultérieure.These enhanced methods use a protocol for exchanging data between a security server and the user, a protocol according to which a new one-time password (OTP) is generated for a period of time. limited use each time a user is authenticated. It is then impossible to reuse the same password during a subsequent authentication.
La technologie utilisée fait appel à un changement dynamique de mots de passe pour chaque session d'authentification. Elle permet l'authentification de l'utilisateur, car le mot de passe généré correspond au seul utilisateur qui a un périphérique physique qui génère le mot de passe.The technology used involves a dynamic change of passwords for each authentication session. It allows user authentication because the generated password is the only user who has a physical device that generates the password.
La technologie est basée sur une clé secrète qui n'existe que dans deux endroits : sur le périphérique physique de l'utilisateur et sur le serveur de sécurité. Cette clé secrète ne peut être capturée car elle ne circule jamais entre le serveur de sécurité et l'utilisateur. Cette clé secrète est utilisée pour calculer les mots de passe à utiliser pour authentifier l'utilisateur en cas de besoin. Le calcul se fait sur la base du temps (A) et/ou d'un événement (B) :The technology is based on a secret key that exists only in two places: on the user's physical device and on the security server. This secret key can not be captured because it never travels between the security server and the user. This secret key is used to calculate the passwords to be used to authenticate the user when needed. The calculation is done on the basis of time (A) and / or event (B):
(A) : Cette technologie est basée sur une horloge temps réel qui est utilisée pour générer un mot de passe unique. Le dispositif matériel génère automatiquement de nouveaux mots de passe avec une fréquence déterminée (par exemple toutes les 60 secondes), en utilisant la valeur de l'horloge à l'instant « t » afin de calculer à chaque connexion un mot de passe unique. (B) : Cette technologie se base plutôt sur un mécanisme, qui permet la génération d'un mot de passe unique pour chaque session. Le dispositif matériel génère alors un nouveau mot de passe seulement quand un événement se produit - par exemple l'utilisateur appuie sur un bouton sur sa clé ou tout autre dispositif matériel. A chaque fois que l'événement a lieu un compteur est incrémenté et un algorithme bien défini va calculer un mot de passe à usage unique.(A): This technology is based on a real-time clock that is used to generate a unique password. The hardware device automatically generates new passwords with a determined frequency (for example every 60 seconds), using the value of the clock at the instant "t" in order to calculate at each connection a unique password. (B): This technology is based on a mechanism, which allows the generation of a unique password for each session. The hardware device then generates a new password only when an event occurs - for example the user presses a button on his key or other hardware device. Whenever the event takes place a counter is incremented and a well-defined algorithm will calculate a one-time password.
La spécificité de ces procédés est qu'ils utilisent des moyens générateurs de mot de passe chez l'utilisateur ; ces moyens sont : • soit purement logiciels, lorsqu'une application est installée sur le terminal de l'utilisateur, on parle alors de « jetons logiciels » ; l'inconvénient de ce procédé est que l'utilisateur ne peut se connecter que sur le terminal équipé de l'application ;The specificity of these methods is that they use password generating means in the user; these means are: • either purely software, when an application is installed on the user's terminal, it is called "software chips"; the disadvantage of this method is that the user can connect only on the terminal equipped with the application;
• soit matériels, lorsqu'on utilise des jetons physiques tels que carte à puce, clés avec écran, clés USB, comportant un algorithme générant un nouveau mot de passe alphanumérique à intervalle de temps constant, grilles de sécurité comportant un tableau à double entrée dont les coordonnées (abscisse/ordonnée) du code de sécurité changent à chaque demande de connexion. Ces solutions permettent à un utilisateur de se connecter à partir de n'importe quel terminal mais nécessitent la détention permanente d'un dispositif matériel dédié avec les risques associés (perte, détérioration...).• or hardware, when using physical tokens such as smart card, wrenches with screen, USB keys, including an algorithm generating a new alphanumeric password with a constant time interval, security grids comprising a double-entry table of which the coordinates (abscissa / ordinate) of the security code change with each connection request. These solutions allow a user to connect from any terminal but require the permanent possession of a dedicated hardware device with the associated risks (loss, deterioration ...).
II est par ailleurs également connu, par exemple du document de brevet FR 2 852 471 A1 , des architectures d'authentification utilisant des mots de passe à usage unique. Le principe de fonctionnement de telles architectures repose sur la transmission, à un terminal, sous la forme d'une image, d'un mot de passe généré par un serveur sur demande de connexion dudit terminal. L'image reçue est alors affichée par le terminal puis acquise par un dispositif générateur. Ce dernier peut alors en déduire le mot de passe.It is also known, for example from patent document FR 2 852 471 A1, authentication architectures using one-time passwords. The operating principle of such architectures is based on the transmission, to a terminal, in the form of an image, a password generated by a server on request connection of said terminal. The received image is then displayed by the terminal and then acquired by a generating device. The latter can then deduce the password.
Pour éviter notamment les attaques d'interception ou « man in the middle » en anglais, et plus particulièrement les attaques par rejeu, ou « replay attack » en anglais, visant à intercepter l'image pour s'approprier et utiliser le mot de passe unique à l'insu du destinataire, ces solutions, et notamment l'architecture d'authentification précédemment décrite, nécessitent le partage d'un temps commun entre le serveur et le moyen générateur de mot de passe, par exemple en mettant en œuvre des protocoles de synchronisation temporelle ou d'événement entre l'horloge du serveur et l'horloge du moyen générateur de mot de passe de l'utilisateur. Or le partage d'un temps commun est complexe à mettre en œuvre, et peut nécessiter un certain temps, toute désynchronisation rendant le processus inopérant.To avoid interception attacks or "man in the middle" in English, and more particularly the attacks by replay, or "replay attack" in English, to intercept the image to appropriate and use the unique password without the knowledge of the recipient, these solutions, including the authentication architecture described above, require the sharing of a common time between the server and the password generating means, for example in implementing time synchronization or event protocols between the server clock and the clock of the user's password generating means. But the sharing of a common time is complex to implement, and may require some time, any desynchronization making the process inoperative.
Il serait donc avantageux d'avoir un procédé d'authentification forte par l'utilisation de mot de passe à usage unique qui ne présente pas les inconvénients mentionnés ci-dessus tels que la nécessité de partager un temps commun entre le serveur et le moyen générateur de mot de passe, l'acquisition d'un dispositif spécifique, le verrouillage de l'accès sur un terminal donné et/ou la gestion de la synchronisation. Pour résoudre un ou plusieurs des inconvénients cités précédemment, un procédé d'authentification d'un utilisateur auprès d'un serveur, ledit utilisateur étant en possession d'un appareil mobile, comprend :It would therefore be advantageous to have a strong authentication method by the use of a one-time password that does not have the drawbacks mentioned above, such as the need to share a common time between the server and the generating means. password, the acquisition of a specific device, the locking of access on a given terminal and / or the management of the synchronization. To solve one or more of the aforementioned drawbacks, a method of authenticating a user to a server, said user being in possession of a mobile device, comprises:
• réception par le serveur d'une requête de demande d'authentification ; • envoi en réponse par le serveur d'une image sous forme d'une matrice de pixels contenant un code chiffré dans lesdits pixels, ledit code comportant au moins une valeur d'estampille temporelle ;• receipt by the server of an authentication request request; Sending in response by the server an image in the form of a matrix of pixels containing an encrypted code in said pixels, said code comprising at least one time stamp value;
• réception de l'image par l'appareil mobile et extraction par celui-ci dudit code ; • génération par l'appareil mobile d'un mot de passe à usage unique basé au moins sur ledit code et un code secret détenu par l'utilisateur ;• reception of the image by the mobile device and extraction by it of said code; • generation by the mobile device of a one-time password based on at least said code and a secret code held by the user;
• réception par le serveur dudit mot de passe à usage unique ; et• reception by the server of said one-time password; and
• validation dudit mot de passe si celui-ci a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, et est conforme au code et correspond au moins à l'utilisateur s'authentifiant. Le procédé d'authentification présente ainsi l'avantage d'utiliser le téléphone portable comme matériel de génération du mot de passe. L'usage de cet équipement est très largement répandu et autorise une utilisation de l'authentification forte dans des applications « grand public » qui peuvent exiger un niveau élevé de sécurité d'accès (domaines bancaire, médical...).• validation of said password if it has at least been received within a predetermined time in relation to the time stamp value, and is consistent with the code and at least corresponds to the user authenticating. The authentication method thus has the advantage of using the mobile phone as a hardware for generating the password. The use of this equipment is very widespread and allows the use of strong authentication in "general public" applications that may require a high level of security of access (banking, medical ...).
De plus, avantageusement, l'horloge de l'appareil mobile n'a pas besoin d'être synchronisée avec le serveur car l'image contient en interne la donnée nécessaire à la limitation de validité du mot de passe.In addition, advantageously, the clock of the mobile device does not need to be synchronized with the server because the image contains internally the data necessary for the limitation of validity of the password.
L'image contient par exemple une signature cryptée non symétrique de l'estampille temporelle et de la clef du serveur, seul le serveur contenant la limitation de validité du mot de passe.The image contains for example a non-symmetric encrypted signature of the time stamp and the key of the server, only the server containing the limitation of validity of the password.
En outre, la transmission du code comportant l'estampille temporelle permet d'augmenter significativement le niveau de sécurité du procédé, car il est par exemple possible par des procédés de hachage et/ou signature connus de vérifier que le code comportant l'estampille est bien intègre et a bien été transmis par le serveur. Il est ainsi possible de détecter toutes anomalies portant sur le code, et donc simultanément sur l'entité comprenant l'estampille et les données pour générer le mot de passe unique. Il est ainsi possible de s'assurer que l'estampille n'a pas été altérée et correspond bien aux données pour générer le mot de passe unique, en vérifiant le code reçu.In addition, the transmission of the code comprising the time stamp makes it possible to significantly increase the level of security of the method, since it is possible, for example, by known hashing and / or signature methods, to verify that the code comprising the stamp is well integrated and has been sent by the server. It is thus possible to detect any anomalies relating to the code, and therefore simultaneously on the entity comprising the stamp and the data to generate the unique password. It is thus possible to ensure that the stamp has not been altered and corresponds to the data to generate the unique password, by checking the code received.
Des caractéristiques ou des modes de réalisation particuliers utilisables seuls ou en combinaison sont :Particular features or embodiments that can be used alone or in combination are:
• l'image est envoyée par le serveur sur un écran et l'appareil mobile réceptionne cette image par l'intermédiaire d'une caméra incluse dans l'appareil mobile ou bien l'image est envoyée par le serveur à l'appareil mobile via le réseau de téléphonie mobile ;The image is sent by the server on a screen and the mobile device receives this image via a camera included in the mobile device or the image is sent by the server to the mobile device via the mobile phone network;
• l'image comporte un code-barres 2D contenant le code ou bien le code est inclus par un procédé de stéganographie dans l'image ;• the image has a 2D barcode containing the code or the code is included by a steganography process in the image;
• l'appareil mobile comportant un code d'identification de celui-ci (IMEI) et/ou un code d'identification de l'utilisateur (IMSI), le mot de passe à usage unique est généré en se basant en outre sur le code d'identification de l'appareil mobile, le code d'identification de l'utilisateur ou une combinaison des deux ; et• the mobile device having an identification code thereof (IMEI) and / or a user identification code (IMSI), the one-time password is generated based in addition on the mobile device identification code, user identification code, or a combination of both; and
• le code comporte en outre un identifiant du serveur. L'utilisation des codes d'identification contenu dans l'appareil mobile tels que, par exemple, l'IMEl qui est un identifiant unique d'un téléphone mobile à la norme GSM ou 3G, ou l'IMSI qui est un identifiant contenu dans la carte SIM du téléphone et en relation avec l'abonné permet un renforcement de la sécurité : en validant que l'appareil qui a réalisé le calcul du mot de passe est identifié. en facilitant le blocage par l'opérateur de téléphonie de l'appareil mobile perdu ou volé La transmission d'une clé spécifique au serveur dans le code chiffré permet avantageusement de faire un lien entre l'appareil mobile et le serveur sans que l'appareil mobile ait à stocker une clé secrète.• the code also includes a server identifier. The use of the identification codes contained in the mobile device such as, for example, the IMEl which is a unique identifier of a mobile phone to the GSM or 3G standard, or the IMSI which is an identifier contained in the SIM card of the telephone and in relation with the subscriber allows a reinforcement of the security: by validating that the device which has carried out the computation of the password is identified. by facilitating the blocking by the telephone operator of the lost or stolen mobile device The transmission of a specific key to the server in the encrypted code advantageously allows a link between the mobile device and the server without the device mobile has to store a secret key.
Dans un deuxième aspect de l'invention, un appareil mobile comprend : • des moyens d'acquisition d'une image comportant un code ledit code comportant au moins une valeur d'estampille temporelle ;In a second aspect of the invention, a mobile device comprises: image acquisition means comprising a code comprising said code comprising at least one time stamp value;
• des moyens d'extraction dudit code ;Means for extracting said code;
• des moyens de saisie d'un code secret ; connectés à• means for entering a secret code; connected to
• un calculateur de mot de passe basé sur ledit code et ledit code secret.A password calculator based on said code and said secret code.
Selon un troisième aspect de l'invention, un serveur comporte :According to a third aspect of the invention, a server comprises:
• des moyens de réception d'une requête d'authentification d'un utilisateur et d'un mot de passe à usage unique ;Means for receiving a user authentication request and a one-time password;
• un générateur de code, ledit code comportant au moins une valeur d'estampille temporelle ;A code generator, said code comprising at least one time stamp value;
• un générateur d'image comportant dans ses pixels ledit code ; connecté àAn image generator comprising in its pixels said code; connected to
• des moyens de transmission de ladite image ;Means for transmitting said image;
• des moyens de validation dudit mot de passe à usage unique adaptés pour vérifier que ledit mot de passe a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant. Selon un quatrième aspect de l'invention, un produit programme d'ordinateur comportant des instructions de code de programme enregistrées sur un support lisible par un calculateur de serveur, pour mettre en œuvre les étapes d'un procédé d'authentification d'un utilisateur auprès dudit serveur, ledit utilisateur étant en possession d'un appareil mobile, comportant :Means for validating said one-time password adapted to verify that said password has at least been received within a predetermined time with respect to the time stamp value, is in accordance with the code and corresponds at least to the user authenticating. According to a fourth aspect of the invention, a computer program product having program code instructions recorded on a server computer readable medium, for implementing the steps of a user authentication method. at said server, said user being in possession of a mobile device, comprising:
• réception d'une requête de demande d'authentification ;• receiving an authentication request request;
• envoi en réponse d'une image sous forme d'une matrice de pixels contenant un code chiffré dans lesdits pixels, ledit code comportant au moins une valeur d'estampille temporelle ; • réception d'un mot de passe à usage unique basé au moins sur ledit code et un code secret détenu par l'utilisateur ; etSending in response an image in the form of a matrix of pixels containing an encrypted code in said pixels, said code comprising at least one time stamp value; Receiving a one-time password based at least on said code and a secret code held by the user; and
• validation dudit mot de passe si celui-ci a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant.• validation of said password if it has at least been received within a predetermined time with respect to the time stamp value, is consistent with the code and at least corresponds to the user authenticating.
L'invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles :The invention will be better understood on reading the description which follows, given solely by way of example, and with reference to the appended figures in which:
- la figure 1 est une vue schématique d'un système pour mettre en œuvre un mode de réalisation de l'invention ;- Figure 1 is a schematic view of a system for implementing an embodiment of the invention;
- la figure 2 est un ordinogramme d'un procédé d'authentification selon un mode de réalisation de l'invention ;FIG. 2 is a flow diagram of an authentication method according to one embodiment of the invention;
- la figure 3 est une vue schématique de fonctionnement d'une authentification sur un serveur mettant en œuvre le procédé de la figure 2 ;FIG. 3 is a schematic view of the operation of an authentication on a server implementing the method of FIG. 2;
- la figure 4 est une vue schématique d'exemples d'écrans de visualisation générés par l'authentification de la figure 3 ;FIG. 4 is a schematic view of examples of display screens generated by the authentication of FIG. 3;
- la figure 5 est une vue schématique de fonctionnement d'une reconnaissance d'image sur un terminal mobile durant l'exécution du procédé de la figure 2 ;FIG. 5 is a schematic view of the operation of an image recognition on a mobile terminal during the execution of the method of FIG. 2;
- la figure 6 est une vue schématique de l'appareil mobile de la figure 1 ;FIG. 6 is a schematic view of the mobile apparatus of FIG. 1;
- la figure 7 est une vue schématique du serveur de la figure 1 ; - la figure 8 est une vue schématique de transmission d'une image codée dans une variante de mode de réalisation ; etFIG. 7 is a schematic view of the server of FIG. 1; Fig. 8 is a schematic view of transmission of an encoded image in an alternative embodiment; and
- la figure 9 est une vue schématique d'écrans d'un terminal mobile dans une autre variante de mode de réalisation. En référence à la figure 1 , l'authentification par mot de passe à usage unique décrite ci-après met en œuvre un serveur 1 connecté à un terminal utilisateur 3 par lequel un utilisateur 5 souhaite accéder à un service contrôlé par le serveur 1 , et un appareil mobile 7 possédé par l'utilisateur 5.Fig. 9 is a schematic view of screens of a mobile terminal in another alternative embodiment. With reference to FIG. 1, the single-use password authentication described hereinafter implements a server 1 connected to a user terminal 3 through which a user 5 wishes to access a service controlled by the server 1, and a mobile device 7 owned by the user 5.
L'appareil mobile 7 est typiquement un téléphone mobile possédant un clavier 9 ou un écran tactile, un écran de visualisation 1 1 et une caméra 13 de prise de vue.The mobile device 7 is typically a mobile phone having a keyboard 9 or a touch screen, a display screen 1 1 and a camera 13 shooting.
Le serveur 1 et l'appareil mobile 7 possèdent des moyens programmables de calcul , non représentés, ainsi que des moyens de stockage de données et de programme. L'authentification se déroule alors de la façon suivante, figure 2 :The server 1 and the mobile device 7 have programmable computing means, not shown, as well as data storage and program storage means. Authentication then proceeds as follows, Figure 2:
• réception, étape 20, par le serveur 1 d'une requête de demande d'authentification provenant du terminal utilisateur 3 ;Reception, step 20, by the server 1 of an authentication request request from the user terminal 3;
• envoi, étape 22, en réponse par le serveur 1 d'une image sous forme d'une matrice de pixels contenant un code chiffré dans les pixels de l'image, le code comportant au moins une valeur de signature de l'estampille temporelle, aussi appelée valeur d'horodatage ;Sending, step 22, in response by the server 1 of an image in the form of a matrix of pixels containing an encrypted code in the pixels of the image, the code comprising at least one signature value of the time stamp , also called timestamp value;
• réception de l'image sur le dispositif d'affichage du terminal utilisateur 3 ; • lecture, étape 24, de l'image par la caméra de l'appareil mobile et extraction, étape 26, par celui-ci du code ;• reception of the image on the display device of the user terminal 3; • reading, step 24, the image by the camera of the mobile device and extraction, step 26, by it of the code;
• génération, étape 28, par l'appareil mobile d'un mot de passe à usage unique basé au moins sur le code et un code secret détenu par l'utilisateur ; • saisie sur le terminal utilisateur du mot de passe à usage unique, au moyen d'un clavier ou de tout autre dispositif de saisie ;Generation, step 28, by the mobile device of a one-time password based on at least the code and a secret code held by the user; • entering the one-time password on the user terminal, using a keyboard or other input device;
• réception, étape 30, par le serveur du mot de passe à usage unique ; et • validation, étape 32, du mot de passe si celui-ci a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant. Ces étapes vont maintenant être décrites plus en détail dans le cadre d'un mode de réalisation utilisant un code-barres 2D comme image support du code.• reception, step 30, by the server of the one-time password; and • validation, step 32, of the password if it has at least been received within a predetermined time with respect to the value of timestamp, is consistent with the code and at least corresponds to the user authenticating. These steps will now be described in more detail in the context of an embodiment using a 2D barcode as a code support image.
L'appareil mobile 7 comporte une application mobile qui peut s'installer sur les différents téléphones portables du marché et capable de faire du traitement d'image. L'application est ainsi disponible sur différentes plateformes logicielles utilisées par les fabricants de téléphone portable telles que, par exemple, J2ME, WM, Symbian, MacOs, Androïd, RIM Os et BREW.The mobile device 7 includes a mobile application that can be installed on the various mobile phones on the market and capable of image processing. The application is thus available on different software platforms used by mobile phone manufacturers such as, for example, J2ME, WM, Symbian, MacOs, Android, RIM Os and BREW.
L'application mobile pour générer le mot de passe unique est incluse dans un lecteur d'images code-barres 2D et se sert d'une balise contenue dans le code-barres pour lancer une interface de génération du mot de passe à usage unique.The mobile application for generating the unique password is included in a 2D barcode image reader and uses a tag contained in the barcode to launch a one-time password generation interface.
L'application mobile réalise les différentes étapes suivantes :The mobile application performs the following steps:
• prise de vue de l'image du code-barres 2D ;• shooting the image of the 2D barcode;
• décodage du code barre ; • détection de la balise dans la donnée résultant du décodage ;• decoding the barcode; • detection of the tag in the data resulting from the decoding;
• interprétation de la donnée en fonction de la balise ;• interpretation of the data according to the tag;
• affichage d'une interface de saisie du mot de passe ;• display of an interface for entering the password;
• génération du mot de passe à usage unique en utilisant le mot de passe et la donnée du code-barres ; • affichage du mot de passe sur l'écran du mobile ;• generation of the one-time password using the password and the barcode data; • display of the password on the mobile screen;
L'application mobile peut être installée sur un téléphone mobile en positionnant sur un serveur WAP une page avec le lien vers le fichier à télécharger, spécifique à chaque téléphone. Une autre solution consiste à charger et installer directement l'application via le câble USB ou via Bluetooth. Sur le serveur, figure 3, une application serveur, par exemple écrite en PHP, est capable de générer des codes-barres 2D chiffrés 40. Classiquement, il existe deux types de code-barres 2D largement utilisés : le Datamatrix ou le QR code. Le Datamatrix a l'avantage d'être facile à lire et de comprimer aisément des données. Le QR code à l'avantage de garantir la lecture des codes sur les mobiles asiatiques.The mobile application can be installed on a mobile phone by positioning a page on a WAP server with the link to the download file, specific to each phone. Another solution is to load and install the application directly via the USB cable or via Bluetooth. On the server, FIG. 3, a server application, for example written in PHP, is capable of generating encrypted 2D barcodes 40. Conventionally, there are two types of widely used 2D barcodes: the Datamatrix or the QR code. The Datamatrix has the advantage of being easy to read and easily compress data. The QR code has the advantage of guaranteeing the reading of codes on Asian mobiles.
Le code-barres 2D 40 contient un code 42 qui est une valeur de hachage d'une clé secrète SK du serveur et d'une donnée d'estampille temporelle Ts. Cette dernière est, par exemple, sur un serveur Unix/Linux le temps Epoch de l'horloge du système. Pour rappel, le temps Epoch correspond au nombre de millisecondes écoulées depuis le 1 lθr janvier 1970.The 2D barcode 40 contains a code 42 which is a hash value of a secret key SK of the server and a timestamp data Ts. The latter is, for example, on a Unix / Linux server the Epoch time of the system clock. To recap, the Epoch time is the number of milliseconds since lθr 1 January 1970.
Le hachage est réalisé par une des nombreuses fonctions de hachage connues telles que MD5, SHA-1 ou HMAC. La donnée d'estampille temporelle Ts est générée, par exemple, en lisant l'heure courante du serveur sensiblement à l'instant où le code 42 est produit, et en associant l'heure courante lue à la valeur de la donnée de l'estampille.The hash is performed by one of the many known hash functions such as MD5, SHA-1 or HMAC. The time stamp data Ts is generated, for example, by reading the current time of the server substantially at the moment when the code 42 is produced, and associating the current time read with the value of the data item. stamp.
Le serveur détermine également le délai prédéterminé par rapport à la valeur d'estampille temporelle, ou durée de validité. La durée de validité est par exemple une durée à partir de l'heure correspondant à la donnée temporelle Ts, définissant une période pendant laquelle l'utilisateur peut s'authentifier en utilisant le mot de passe correspondant au code 42.The server also determines the predetermined delay with respect to the timestamp value, or validity period. The validity period is for example a duration from the time corresponding to the time data Ts, defining a period during which the user can authenticate using the password corresponding to the code 42.
Ainsi, sur réception d'une requête d'authentification, le serveur présente à l'utilisateur une fenêtre 44 d'autorisation d'accès comportant le code-barres 2D, un compte à rebours 46 indiquant la durée de validité du code-barres 2D et un formulaire 48 comportant un champ 50 d'identification Id de l'utilisateur et un champ 52 de saisie du mot de passe à usage uniqueThus, upon receipt of an authentication request, the server presents the user with an access authorization window 44 comprising the 2D barcode, a countdown 46 indicating the validity period of the 2D barcode. and a form 48 comprising a user identification field ID 50 and a field 52 for entering the one-time password.
Pwd. La durée de validité du code-barres 2D du compte à rebours 46 peut être obtenue en utilisant une durée par défaut, fixée par configuration par exemple, égale à la durée de validité du serveur.Pwd. The period of validity of the 2D barcode of the countdown 46 can be obtained by using a default duration, fixed by configuration for example, equal to the period of validity of the server.
Le serveur contient également une application 54 capable de vérifier les mots de passe à usage unique et une base de données 56 pour archiver les données d'authentification des utilisateurs.The server also contains an application 54 capable of verifying the one-time passwords and a database 56 for archiving the authentication data of the users.
L'interaction avec la base de données est réalisée par des requêtes SQL standard permettant de maintenir des applications indépendantes du type de base de données utilisée. L'utilisation des procédures stockées peut augmenter le niveau de sécurité mais au détriment d'un lien de l'application à une base de données spécifique. L'application 54, à réception des champs d'identification et de mot de passe du formulaire 48 vérifie :The interaction with the database is performed by standard SQL queries to maintain applications independent of the type of database used. Using stored procedures can increase the level of security, but at the expense of a link from the application to a specific database. The application 54, upon receipt of the identification and password fields of the form 48 verifies:
• que le mot de passe correspond au code contenu dans le code- barres 2 D ; • que la réception a eu lieu à l'intérieur de la fenêtre temporelle de validité ;• the password corresponds to the code contained in the 2 D barcode; • receipt has taken place within the validity window;
• que l'identifiant et le mot de passe correspondent indiquant ainsi que l'utilisateur a utilisé son code secret personnel.• that the identifier and the password correspond indicating that the user has used his personal secret code.
Cette validation est réalisée typiquement en réalisant les mêmes calculs que le terminal mobile en se basant sur les données contenues dans la base de données 56, identifiant et code secret de l'utilisateur, et le code chiffré dans le code-barres 2D.This validation is typically performed by performing the same calculations as the mobile terminal based on the data contained in the database 56, identifier and secret code of the user, and the encrypted code in the 2D barcode.
Si, pour une raison quelconque, l'utilisateur ne rentre pas les données dans la fenêtre temporelle de validité prévue, figure 4, la fenêtre d'autorisation 44 est remplacée par une fenêtre 60 indiquant que la durée de validité a expirée et qu'un nouveau code va être généré.If, for any reason, the user does not enter the data in the expected validity time window, FIG. 4, the authorization window 44 is replaced by a window 60 indicating that the validity period has expired and that a new code will be generated.
Au niveau de l'utilisateur, figure 5, celui-ci, via la caméra intégrée dans son téléphone, va lire 70 le code 2D généré et transmis par le serveur et qui est affiché sur l'écran de son ordinateur. L'application mobile lui présente alors un écran 72 indiquant qu'elle a bien acquis le code. Elle lui présente ensuite un écran de saisie 74 lui permettant de saisir son code secret personnel. Au vu des claviers ou des écrans tactiles des téléphones actuels, ce code secret est composé d'une série de chiffres mais cela n'est pas limitatif dans la mesure où les nouvelles générations de téléphone mobile offrent des claviers ou des écrans tactiles de plus en plus ergonomiques et mettant à disposition un jeu complet de caractères alphanumériques. L'application mobile affiche alors sur un écran 76 le mot de passe à usage unique généré selon un algorithme se basant sur les paramètres suivants :At the level of the user, FIG. 5, the latter, via the camera integrated in his telephone, will read the generated 2D code transmitted by the server and which is displayed on the screen of his computer. The mobile application then presents a screen 72 indicating that it has acquired the code. She then presents him with an entry screen 74 enabling him to enter his personal secret code. In view of keyboards or touch screens of current phones, this secret code is composed of a series of numbers but this is not limiting in that the new generations of mobile phone offer keypads or touch screens more and more. more ergonomic and providing a complete set of alphanumeric characters. The mobile application then displays on a screen 76 the one-time password generated according to an algorithm based on the following parameters:
• les données chiffrées dans le code-barres 2D à savoir la clé unique du serveur SK et la donnée d'estampille temporelle Ts ;The data encrypted in the 2D barcode namely the unique key of the server SK and the timestamp data Ts;
• le code secret fourni par l'utilisateur qui est également sauvegardé dans la base de données 56 du serveur ;The secret code provided by the user which is also saved in the database 56 of the server;
Ainsi, l'appareil mobile comprend, figure 6 : • des moyens d'acquisition d'une image comportant un code, tels que la caméra 13 ;Thus, the mobile device comprises, FIG. 6: Means for acquiring an image comprising a code, such as the camera 13;
• des moyens d'extraction 60 du code ;Code extraction means 60;
• des moyens de saisie 9 d'un code secret ; connectés à « un calculateur 62 de mot de passe basé sur le code et le code secret. Et le serveur 1 comporte :Means 9 for entering a secret code; connected to "a password calculator 62 based on the code and the secret code. And the server 1 comprises:
• des moyens de réception 70 d'une requête d'authentification d'un utilisateur et d'un mot de passe à usage unique ; • un générateur de code 72, le code comportant au moins une valeur d'estampille temporelle ;Means 70 for receiving a user authentication request and a one-time password; A code generator 72, the code comprising at least one time stamp value;
• un générateur d'image 76 comportant dans ses pixels le code ; connecté àAn image generator 76 comprising in its pixels the code; connected to
• des moyens 78 de transmission de l'image ; • des moyens de validation 79 du mot de passe à usage unique adaptés pour vérifier que le mot de passe a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant.Means 78 for transmitting the image; Means for validating the one-time password adapted to verify that the password has at least been received within a predetermined time with respect to the time stamp value, is in accordance with the code and corresponds at least to user authentication.
Dans une première variante, le mot de passe à usage unique est généré par l'application mobile en utilisant également le numéro IMEIIn a first variant, the one-time password is generated by the mobile application also using the IMEI number
(« International Mobile Equipment Identity » - numéro d'identification international de l'équipement mobile) qui est également sauvegardé dans la base de données 56 du serveur. Ce numéro IMEI est un numéro unique attribué à chaque téléphone portable et est enregistré dans une base de données gérée en général par les opérateurs et utilisée particulièrement pour lutter contre le vol.("International Mobile Equipment Identity") which is also stored in the database 56 of the server. This IMEI number is a unique number assigned to each mobile phone and is stored in a database generally managed by operators and used particularly to fight against theft.
L'application serveur de validation du mot de passe intègre alors également le numéro IMEI contenu dans la base de données 56 parmi les paramètres de calcul. L'intégration dans le processus d'authentification du numéro IMEI du téléphone mobile minimise les risques d'usurpation d'identité en cas de perte ou de vol. En effet, les opérateurs de téléphonie mobile désactivent alors le fonctionnement de l'appareil volé ou perdu sur simple appel. Dans une deuxième variante, le numéro IMEI peut être remplacé par le numéro IMSI (« International Mobile Subscriber Identity » - identification internationale de l'abonné mobile) qui est un numéro d'identification de l'abonné contenu dans la carte à puce intégrée au téléphone mobile, carte à puce aussi appelée carte SIM (« Subscriber Identity Module » - module d'identification de l'abonné).The password validation server application then also integrates the IMEI number contained in the database 56 among the calculation parameters. Integration into the IMEI authentication process of the mobile phone minimizes the risk of identity theft in the event of loss or theft. Indeed, the mobile operators then disable the operation of the device stolen or lost on call. In a second variant, the IMEI number may be replaced by the IMSI number ("International Mobile Subscriber Identity") which is a subscriber identification number contained in the integrated smart card. mobile phone, smart card also called SIM card ("Subscriber Identity Module").
L'utilisation des numéros IMEI et IMSI peut être combinée de façon à renforcer encore la sécurité de l'authentification.The use of IMEI and IMSI numbers can be combined to further enhance the security of authentication.
Dans une troisième variante, l'image d'un code-barres 2D est remplacée par une image quelconque dans laquelle le code chiffré est inséré par stéganographie. Les pixels de l'image sont ainsi modifiés sans que cela soit obligatoirement visible par l'œil humain tout en étant détectables par un algorithme de reconnaissance adapté.In a third variant, the image of a 2D barcode is replaced by any image in which the encrypted code is inserted by steganography. The pixels of the image are thus modified without this being necessarily visible to the human eye while being detectable by a suitable recognition algorithm.
Dans une quatrième variante, figure 6, l'image n'est pas transmise via le terminal d'authentification et une prise d'image par la caméra du téléphone mobile mais elle est envoyée directement au téléphone mobile 7 via le réseau téléphonique, par exemple sous forme d'un MMS (« Multimedia Message Service » - service de messages multimédia) ou en utilisant les possibilités d'accès à internet du téléphone mobile telles que le protocole Wap, ou via une capture d'écran de l'affichage du mobile (par exemple, une capture d'écran du navigateur internet du mobile).In a fourth variant, FIG. 6, the image is not transmitted via the authentication terminal and an image is taken by the mobile phone's camera, but it is sent directly to the mobile phone 7 via the telephone network, for example in the form of a Multimedia Message Service (MMS) or by using the mobile internet access possibilities such as the WAP protocol, or via a screenshot of the mobile display. (for example, a screenshot of the mobile internet browser).
La figure 7 illustre une combinaison des troisième et quatrième variantes sous la forme d'une succession d'écrans du téléphone mobile 7. L'écran 80 illustre la réception d'une image contenant le code du serveur et la valeur d'estampille temporelle chiffrés par stéganographie dans ses pixels. L'écran 82 correspond à la saisie du code secret de l'utilisateur, une fois que l'application installée sur le téléphone mobile 7 a déchiffré les valeurs contenues dans l'image. Et l'écran 84 correspond à l'écran d'affichage du mot de passe à usage unique à fournir au formulaire d'authentification. L'invention a été illustrée et décrite en détail dans les dessins et la description précédente. Celle-ci doit être considérée comme illustrative et donnée à titre d'exemple et non comme limitant l'invention a cette seule description. De nombreuses variantes de réalisation sont possibles. Par exemple, et en particulier, le procédé peut prévoir les techniques habituelles de gestion des échecs d'authentification telles que, par exemple, le blocage du compte après un nombre prédéterminé d'échecs consécutifs accompagné, ou non, d'une procédure de reprise/déblocage du compte. Dans les revendications, le mot « comprenant » n'exclue pas d'autres éléments et l'article indéfini « un/une » n'exclue pas une pluralité. FIG. 7 illustrates a combination of the third and fourth variants in the form of a succession of screens of the mobile telephone 7. The screen 80 illustrates the reception of an image containing the server code and the encrypted time stamp value. by steganography in its pixels. The screen 82 corresponds to the entry of the secret code of the user, once the application installed on the mobile phone 7 has decrypted the values contained in the image. And the screen 84 corresponds to the display screen for the one-time password to be provided to the authentication form. The invention has been illustrated and described in detail in the drawings and the foregoing description. This must be considered as illustrative and given by way of example and not as limiting the invention to this description alone. Many alternative embodiments are possible. For example, and in particular, the method can provide the usual management techniques of authentication failures such as, for example, the blocking of the account after a predetermined number of consecutive failures accompanied or not, a recovery procedure / unblocking the account. In the claims, the word "comprising" does not exclude other elements and the indefinite article "one" does not exclude a plurality.

Claims

REVENDICATIONS
1. Procédé d'authentification d'un utilisateur auprès d'un serveur, ledit utilisateur étant en possession d'un appareil mobile, comprenant: • réception (20) par le serveur d'une requête de demande d'authentification ;A method of authenticating a user to a server, said user being in possession of a mobile device, comprising: reception (20) by the server of an authentication request request;
• envoi (22) en réponse par le serveur d'une image sous forme d'une matrice de pixels contenant un code chiffré dans lesdits pixels, ledit code comportant au moins une valeur d'estampille temporelle ; • réception (24) de l'image par l'appareil mobile et extraction (26) par celui-ci dudit code ;Sending (22) in response by the server of an image in the form of a matrix of pixels containing an encrypted code in said pixels, said code comprising at least one time stamp value; • reception (24) of the image by the mobile device and extraction (26) by it of said code;
• génération (28) par l'appareil mobile d'un mot de passe à usage unique basé au moins sur ledit code et un code secret détenu par l'utilisateur ;• generation (28) by the mobile device of a one-time password based on at least said code and a secret code held by the user;
• réception (30) par le serveur dudit mot de passe à usage unique ; et • validation (32) dudit mot de passe si celui-ci a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant.• reception (30) by the server of said one-time password; and • validating (32) said password if it has at least been received within a predetermined time with respect to the time stamp value, is consistent with the code and corresponds at least to the user authenticating.
2. Procédé selon la revendication 1 , caractérisé en ce que l'image est envoyée par le serveur sur un écran et l'appareil mobile réceptionne cette image par l'intermédiaire d'une caméra incluse dans l'appareil mobile.2. Method according to claim 1, characterized in that the image is sent by the server on a screen and the mobile device receives this image via a camera included in the mobile device.
3. Procédé selon la revendication 1 , caractérisé en ce que l'image est envoyée par le serveur à l'appareil mobile via le réseau de téléphonie mobile.3. Method according to claim 1, characterized in that the image is sent by the server to the mobile device via the mobile telephone network.
4. Procédé selon les revendications 2 ou 3, caractérisé en ce que l'image comporte un code-barres 2D contenant le code.4. Method according to claims 2 or 3, characterized in that the image comprises a 2D barcode containing the code.
5. Procédé selon les revendications 2 ou 3, caractérisé en ce que le code est inclus par un procédé de stéganographie dans l'image. 5. Method according to claims 2 or 3, characterized in that the code is included by a method of steganography in the image.
6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'appareil mobile comportant un code d'identification de celui-ci (IMEI) et/ou un code d'identification de l'utilisateur (IMSI), le mot de passe à usage unique est généré en se basant en outre sur le code d'identification de l'appareil mobile, le code d'identification de l'utilisateur ou une combinaison des deux.6. Method according to any one of the preceding claims, characterized in that the mobile device comprising an identification code thereof (IMEI) and / or a user identification code (IMSI), the A one-time password is generated based in addition on the mobile device identification code, the user identification code, or a combination of both.
7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit code comporte en outre un identifiant dudit serveur.7. Method according to any one of the preceding claims, characterized in that said code further comprises an identifier of said server.
8. Appareil mobile comprenant :Mobile device comprising:
• des moyens d'acquisition (13) d'une image comportant un code, ledit code comportant au moins une valeur d'estampille temporelle ; • des moyens d'extraction (60) dudit code ;Acquisition means (13) for acquiring an image comprising a code, said code comprising at least one time stamp value; Extraction means (60) for said code;
• des moyens de saisie (9) d'un code secret ; connectés àMeans for inputting (9) a secret code; connected to
• un calculateur (62) de mot de passe basé sur ledit code et ledit code secret.A password calculator (62) based on said code and said secret code.
9. Appareil mobile selon la revendication 8, caractérisé en ce qu'il comporte en outre une mémoire de stockage d'un code d'identification dudit appareil mobile (IMEI) et/ou un code d'identification de l'utilisateur (IMSI), ledit calculateur étant adapté pour calculer en outre le mot de passe à partir dudit code d'identification de l'appareil mobile, dudit code d'identification de l'utilisateur ou d'une combinaison des deux.9. Mobile device according to claim 8, characterized in that it further comprises a storage memory of an identification code of said mobile device (IMEI) and / or a user identification code (IMSI). said calculator being adapted to further calculate the password from said mobile device identification code, said user identification code, or a combination of both.
10. Serveur comportant :10. Server comprising:
• des moyens de réception (70) d'une requête d'authentification d'un utilisateur et d'un mot de passe à usage unique ; • un générateur de code (72), ledit code comportant au moins une valeur d'estampille temporelle ;Means for receiving (70) a request for authentication of a user and a password for one-time use; A code generator (72), said code comprising at least one time stamp value;
• un générateur d'image (76) comportant dans ses pixels ledit code ; connecté à • des moyens (78) de transmission de ladite image ;An image generator (76) comprising in its pixels said code; connected to Means (78) for transmitting said image;
• des moyens de validation (79) dudit mot de passe à usage unique adaptés pour vérifier que ledit mot de passe a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant. 1. Produit programme d'ordinateur comportant des instructions de code de programme enregistrées sur un support lisible par un calculateur de serveur, pour mettre en œuvre les étapes d'un procédé d'authentification d'un utilisateur auprès dudit serveur, ledit utilisateur étant en possession d'un appareil mobile, comportant :• validation means (79) of said one-time password adapted to verify that said password has at least been received within a predetermined time with respect to the time stamp value, is in accordance with the code and corresponds to at least to the user authenticating. A computer program product having program code instructions recorded on a server computer readable medium for implementing the steps of a method of authenticating a user with said server, said user being possession of a mobile device, comprising:
• réception d'une requête de demande d'authentification ;• receiving an authentication request request;
• envoi en réponse d'une image sous forme d'une matrice de pixels contenant un code chiffré dans lesdits pixels, ledit code comportant au moins une valeur d'estampille temporelle ;Sending in response an image in the form of a matrix of pixels containing an encrypted code in said pixels, said code comprising at least one time stamp value;
• réception d'un mot de passe à usage unique basé au moins sur ledit code et un code secret détenu par l'utilisateur ; etReceiving a one-time password based at least on said code and a secret code held by the user; and
• validation dudit mot de passe si celui-ci a au moins été reçu dans un délai prédéterminé par rapport à la valeur d'estampille temporelle, est conforme au code et correspond au moins à l'utilisateur s'authentifiant. • validation of said password if it has at least been received within a predetermined time with respect to the time stamp value, is consistent with the code and at least corresponds to the user authenticating.
PCT/FR2010/050693 2009-04-10 2010-04-09 Method of authentication at a server by a user of a mobile apparatus WO2010116109A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0952393A FR2944400B1 (en) 2009-04-10 2009-04-10 METHOD OF AUTHENTICATING A SERVER FROM A USER OF A MOBILE DEVICE
FR0952393 2009-04-10

Publications (1)

Publication Number Publication Date
WO2010116109A1 true WO2010116109A1 (en) 2010-10-14

Family

ID=41401739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2010/050693 WO2010116109A1 (en) 2009-04-10 2010-04-09 Method of authentication at a server by a user of a mobile apparatus

Country Status (2)

Country Link
FR (1) FR2944400B1 (en)
WO (1) WO2010116109A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959896A1 (en) * 2010-05-06 2011-11-11 4G Secure METHOD FOR AUTHENTICATING A USER REQUIRING A TRANSACTION WITH A SERVICE PROVIDER
WO2013083923A1 (en) * 2011-12-09 2013-06-13 Evidian Method of encrypted data exchange between a terminal and a machine
WO2016062386A1 (en) * 2014-10-24 2016-04-28 Unify Gmbh & Co. Kg Method for authenticating a user device during the process of logging into a server
WO2016079429A1 (en) * 2014-11-21 2016-05-26 Evidian Method for controlling access to a production system of a computer system not connected to an information system of said computer system
US10313126B2 (en) * 2015-06-10 2019-06-04 Feitian Technologies Co., Ltd. Barcode security authentication method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2969437A1 (en) * 2010-12-16 2012-06-22 France Telecom METHOD FOR AUTHENTICATING A USER OF A TERMINAL FROM A SERVICE PROVIDER

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2852471A1 (en) * 2003-03-13 2004-09-17 France Telecom Access authentication device for information system e.g. enterprises internal network, has stand-alone mobile component with photosensitive sensor to detect sequence of images displayed by user terminal for inferring variable access
US20060048212A1 (en) * 2003-07-11 2006-03-02 Nippon Telegraph And Telephone Corporation Authentication system based on address, device thereof, and program
US20070174198A1 (en) * 2004-08-06 2007-07-26 Kabushiki Kaisha Toshiba Content data distributing system, content data distributing method, and commodity selling method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2852471A1 (en) * 2003-03-13 2004-09-17 France Telecom Access authentication device for information system e.g. enterprises internal network, has stand-alone mobile component with photosensitive sensor to detect sequence of images displayed by user terminal for inferring variable access
US20060048212A1 (en) * 2003-07-11 2006-03-02 Nippon Telegraph And Telephone Corporation Authentication system based on address, device thereof, and program
US20070174198A1 (en) * 2004-08-06 2007-07-26 Kabushiki Kaisha Toshiba Content data distributing system, content data distributing method, and commodity selling method

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2959896A1 (en) * 2010-05-06 2011-11-11 4G Secure METHOD FOR AUTHENTICATING A USER REQUIRING A TRANSACTION WITH A SERVICE PROVIDER
WO2011138558A3 (en) * 2010-05-06 2012-07-12 4G Secure Method for authenticating a user requesting a transaction with a service provider
US9038196B2 (en) 2010-05-06 2015-05-19 goSwiff France Method for authenticating a user requesting a transaction with a service provider
WO2013083923A1 (en) * 2011-12-09 2013-06-13 Evidian Method of encrypted data exchange between a terminal and a machine
FR2984047A1 (en) * 2011-12-09 2013-06-14 Evidian METHOD OF EXCHANGING DATA DIGIT BETWEEN A TERMINAL AND A MACHINE
WO2016062386A1 (en) * 2014-10-24 2016-04-28 Unify Gmbh & Co. Kg Method for authenticating a user device during the process of logging into a server
US10546115B2 (en) 2014-10-24 2020-01-28 Unify Gmbh & Co. Kg Method for authenticating a user device during the process of logging into a server
WO2016079429A1 (en) * 2014-11-21 2016-05-26 Evidian Method for controlling access to a production system of a computer system not connected to an information system of said computer system
FR3028979A1 (en) * 2014-11-21 2016-05-27 Evidian METHOD FOR CONTROLLING ACCESS TO A SYSTEM FOR PRODUCING A COMPUTER SYSTEM NOT CONNECTED WITH AN INFORMATION SYSTEM OF THE COMPUTER SYSTEM
US10133861B2 (en) 2014-11-21 2018-11-20 Evidian Method for controlling access to a production system of a computer system not connected to an information system of said computer system
US10313126B2 (en) * 2015-06-10 2019-06-04 Feitian Technologies Co., Ltd. Barcode security authentication method

Also Published As

Publication number Publication date
FR2944400B1 (en) 2013-01-18
FR2944400A1 (en) 2010-10-15

Similar Documents

Publication Publication Date Title
US10237070B2 (en) System and method for sharing keys across authenticators
US10091195B2 (en) System and method for bootstrapping a user binding
EP2619941B1 (en) Method, server and system for authentication of a person
EP2614458B1 (en) Method of authentification for access to a website
CN105162596B (en) For generating the safety value used in being interacted with server and the equipment for sending user to
EP3717998A1 (en) Extending a secure key storage for transaction confirmation and cryptocurrency
EP2567502A2 (en) Method for authenticating a user requesting a transaction with a service provider
EP1549011A1 (en) Communication method and system between a terminal and at least a communication device
FR2926938A1 (en) METHOD OF AUTHENTICATING AND SIGNING A USER TO AN APPLICATION SERVICE USING A MOBILE PHONE AS A SECOND FACTOR IN COMPLEMENT AND INDEPENDENTLY OF A FIRST FACTOR
EP3391614B1 (en) Method for sending digital information
WO2010116109A1 (en) Method of authentication at a server by a user of a mobile apparatus
CN105281907B (en) Encrypted data processing method and device
WO2015007958A1 (en) Strong authentication method
EP2509025A1 (en) Method for access to a protected resource of a trusted personal device
EP2568406A1 (en) Implementation method, from a terminal, of cryptographic data for a user stored in a database
KR101272349B1 (en) User authentication method using plural one time password
EP3107023B1 (en) Method, device and program for wireless payment terminal authentication
EP3350973B1 (en) Method for website authentication and for securing access to a website
WO2019102120A1 (en) Methods and devices for enrolling and authenticating a user with a service
EP2795830B1 (en) Method of encrypted data exchange between a terminal and a machine
BE1026342B9 (en) DEVICE AND METHOD FOR SECURE IDENTIFICATION OF A USER
FR2877171A1 (en) METHOD FOR SECURING REMOTE TRANSACTIONS OVER AN OPEN COMMUNICATION NETWORK
FR2903544A1 (en) Prover i.e. user, authenticating method for e.g. secured cryptographic support, involves receiving challenge by prover, and calculating response depends on challenge and secret by selecting specific number of operations on encryption
FR2913551A1 (en) User authenticating method for use in Internet network, involves authenticating authentication server by token and vice versa for each of web pages requested by user, by executing control script e.g. java script, in computer
WO2017005644A1 (en) Method and system for controlling access to a service via a mobile media without a trusted intermediary

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: 10723243

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10723243

Country of ref document: EP

Kind code of ref document: A1