FR3044441A1 - METHOD OF CONTEXTUAL AUTHENTICATION - Google Patents

METHOD OF CONTEXTUAL AUTHENTICATION Download PDF

Info

Publication number
FR3044441A1
FR3044441A1 FR1561600A FR1561600A FR3044441A1 FR 3044441 A1 FR3044441 A1 FR 3044441A1 FR 1561600 A FR1561600 A FR 1561600A FR 1561600 A FR1561600 A FR 1561600A FR 3044441 A1 FR3044441 A1 FR 3044441A1
Authority
FR
France
Prior art keywords
user
current
fingerprint
association
confidence score
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
FR1561600A
Other languages
French (fr)
Inventor
Julien Hatin
Jean-Jacques Schwartzmann
Vincent Frey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
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 Orange SA filed Critical Orange SA
Priority to FR1561600A priority Critical patent/FR3044441A1/en
Publication of FR3044441A1 publication Critical patent/FR3044441A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/065Continuous authentication
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/65Environment-dependent, e.g. using captured environmental data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/68Gesture-dependent or behaviour-dependent

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

L'invention propose un procédé d'authentification contextuelle d'un utilisateur auprès d'un serveur (11), ledit utilisateur étant équipé d'un dispositif utilisateur (10), ledit procédé, mis en œuvre par le serveur, comprenant : -réception (E14), en provenance du dispositif, d'une empreinte courante d'association d'au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l'utilisateur, ladite empreinte courante étant calculée en appliquant une fonction de hachage à l'association de valeurs et à une clé secrète (Ku) propre à l'utilisateur, - calcul (E15) d'une contribution de ladite empreinte courante à un profil de l'utilisateur, ledit profil comprenant un ensemble d'empreintes d'associations de valeurs reçues durant une phase d'apprentissage (PO), - calcul (E16) d'un score de confiance courant (Lt) associé à une période d'observation courante, fonction de la contribution de ladite empreinte courante et d'un score de confiance précédent calculé sur une période précédente, - succès de l'authentification lorsque le score de confiance courant est supérieur ou égal à un score de confiance de référence.The invention proposes a contextual authentication method of a user with a server (11), said user being equipped with a user device (10), said method, implemented by the server, comprising: -receiving (E14), from the device, a current fingerprint association of at least two distinct values measured by at least one sensor of the device of the user, said current fingerprint being calculated by applying a hash function to the user. association of values and a secret key (Ku) specific to the user, - calculation (E15) of a contribution of said current fingerprint to a profile of the user, said profile comprising a set of associations fingerprints values received during a learning phase (PO), - calculating (E16) a current confidence score (Lt) associated with a current observation period, a function of the contribution of said current imprint and a score previous trust calculated over a previous period, - success of the authentication when the current confidence score is greater than or equal to a reference confidence score.

Description

Procédé d’authentification contextuelleContextual authentication method

La présente invention concerne un procédé d’authentification contextuelle.The present invention relates to a contextual authentication method.

Elle trouve une application particulièrement intéressante dans l’accès à des services sensibles dont l’utilisation est conditionnée par une authentification réussie d’un utilisateur. Le procédé permet notamment de mettre en œuvre une authentification implicite et en continu d’un utilisateur lors de l’utilisation d’un service en ligne.It finds a particularly interesting application in the access to sensitive services whose use is conditioned by a successful authentication of a user. The method notably makes it possible to implement an implicit and continuous authentication of a user when using an online service.

Les entreprises ont à faire face à un nouveau type d’attaque qui diminue l’efficacité de techniques d’authentification éprouvées, telles que les authentifications basées sur mots de passe. Pour perpétrer une telle attaque, les cybercriminels volent des données d’identification et d’authentification légitimes et mettent en échec le système d’authentification de l’entreprise. De tels systèmes d’authentification échouent car ils sont basés sur l’évaluation d’informations de connexion (ou «credentials » en anglais) et ne s’intéressent pas à des imposteurs qui auraient des données de connexion légitimes, mais volées.Businesses face a new type of attack that decreases the effectiveness of proven authentication techniques, such as password-based authentication. To perpetrate such an attack, cyber criminals steal legitimate identification and authentication data and defeat the company's authentication system. Such authentication systems fail because they are based on the evaluation of connection information (or "credentials" in English) and are not interested in impostors who have legitimate connection data but stolen.

Afin de pallier ce nouveau type d’attaque, une nouvelle méthode d’authentification, dite contextuelle, ou adaptative, a vu le jour. Elle vient renforcer les techniques d’authentification connues, en s’attachant à un contexte global propre à l’utilisateur plutôt qu’à uniquement des données de connexion potentiellement compromises. L’authentification contextuelle examine tout un ensemble d’informations relatives à un utilisateur lors d’une tentative de connexion, et non pas uniquement des données de connexion. L’authentification selon le contexte utilise des informations contextuelles pour déterminer si l’identité d’un utilisateur est authentique ou non. La publication intitulée « Data Driven Authentication: On The Effectiveness of User Behavior Modelling with Mobile Device Sensors », Kayacik et al., In Proceedings of the Third Workshop on Mobile Security Technologies (MoST) 2014, décrit une telle méthode d’authentification contextuelle. Cette méthode est destinée à être utilisée pour authentifier implicitement un utilisateur et pour commander l’exécution d’une authentification explicite dès lors que le comportement de l’utilisateur s’éloigne d’un modèle comportemental préalablement appris des interactions entre l’utilisateur et son terminal mobile. Les interactions sont mesurées au moyen d’un ensemble de capteurs du terminal mobile de l’utilisateur. Plus précisément, Kayacik propose de construire, dans une phase d’entraînement, deux modèles de comportements : un modèle temporel et un modèle spatial. Les mesures des différents capteurs sont utilisées pour construire des fonctions de densité de probabilité à la volée, par rapport à chacun de ces deux modèles. Ces fonctions sont représentatives de la quantité de mesures fournies par les capteurs par rapport aux composantes temps et espace. Cette phase d’entraînement est mise en œuvre jusqu’à obtenir une stabilité des profils qui définit ainsi une zone de confort. Une fois la stabilité atteinte, la phase d’entraînement laisse place à une phase opérationnelle durant laquelle des mesures courantes obtenues des capteurs sont comparées aux modèles construits précédemment. Si des mesures courantes s’écartent des zones de confort définies pour l’un des modèles ou pour les deux en phase d’entraînement alors une anomalie est détectée et une authentification explicite de l’utilisateur est requise.To overcome this new type of attack, a new authentication method, called contextual, or adaptive, has emerged. It reinforces known authentication techniques by focusing on a user-specific global context rather than just potentially compromised connection data. Contextual authentication examines a variety of information about a user during a connection attempt, not just connection data. Context-based authentication uses contextual information to determine whether a user's identity is authentic or not. The publication entitled "Data Driven Authentication: On the Effectiveness of User Behavior Modeling with Mobile Device Sensors," Kayacik et al., In Proceedings of the Third Workshop on Mobile Security Technologies (MoST) 2014, describes such a contextual authentication method. This method is intended to be used for implicitly authenticating a user and for controlling the execution of an explicit authentication as soon as the user's behavior departs from a behavioral model previously learned from the interactions between the user and his / her user. mobile terminal. The interactions are measured by means of a set of sensors of the user's mobile terminal. More precisely, Kayacik proposes to construct, in a training phase, two behavior models: a temporal model and a spatial model. The measurements of the different sensors are used to construct probability density functions on the fly, with respect to each of these two models. These functions are representative of the quantity of measurements provided by the sensors with respect to the time and space components. This training phase is implemented until a stability profiles that defines a comfort zone. Once the stability is reached, the training phase gives way to an operational phase during which current measurements obtained from the sensors are compared to the models previously built. If common measurements deviate from the comfort zones defined for one or both models during training then an anomaly is detected and explicit authentication of the user is required.

Dans la méthode proposée par Kayacik, les modèles temporel et spatial, ainsi que les données captées sont confinées dans le terminal mobile. La méthode s’applique ainsi à des services localisés sur le terminal mobile uniquement et il paraît difficile de transposer cette méthode pour des accès en ligne à des services distants. En effet, la mise en œuvre de cette méthode dans le cadre d’un accès à un service distant nécessiterait de transmettre les données captées sur le terminal de l’utilisateur à un serveur distant. Ces données sont cependant trop sensibles pour être transmises en ligne ; leur transmission constituerait une atteinte à la vie privée de l’utilisateur. En effet, ces données sont représentatives du comportement de l’utilisateur, difficilement révocable, et leur interception et/ou utilisation par une entité malveillante permettrait à cette entité de se substituer à l’utilisateur lors de son accès aux services.In the method proposed by Kayacik, the temporal and spatial models, as well as the captured data are confined in the mobile terminal. The method thus applies to services located on the mobile terminal only and it seems difficult to transpose this method for online access to remote services. Indeed, the implementation of this method in the context of access to a remote service would require transmitting the data captured on the user's terminal to a remote server. These data are, however, too sensitive to be transmitted online; their transmission would constitute an invasion of the user's privacy. Indeed, these data are representative of the behavior of the user, hardly revocable, and their interception and / or use by a malicious entity would allow this entity to replace the user when accessing the services.

Un des buts de l’invention est de remédier à des insuffisances/inconvénients de l’état de la technique et/ou d’y apporter des améliorations. A cette fin, l’invention propose un procédé d’authentification contextuelle d’un utilisateur auprès d’un serveur, ledit utilisateur étant équipé d’un dispositif utilisateur, ledit procédé, mis en œuvre par le serveur, comprenant : -réception, en provenance du dispositif, d’une empreinte courante d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur, ladite empreinte courante étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète propre à l’utilisateur, - calcul d’une contribution de ladite empreinte courante à un profil de l’utilisateur, ledit profil comprenant un ensemble d’empreintes d’associations de valeurs reçues durant une phase d’apprentissage, - calcul d’un score de confiance courant associé à une période d’observation courante, fonction de la contribution de ladite empreinte courante et d’un score de confiance précédent, calculé sur une période précédente, - succès de l’authentification lorsque le score de confiance courant est supérieur ou égal à un score de confiance de référence.One of the aims of the invention is to remedy the shortcomings / disadvantages of the state of the art and / or to make improvements thereto. To this end, the invention proposes a method of contextual authentication of a user to a server, said user being equipped with a user device, said method, implemented by the server, comprising: -receiving, in from the device, a current fingerprint association of at least two distinct values measured by at least one sensor of the device of the user, said current fingerprint being calculated by applying a hash function to the association of values and to a secret key specific to the user, - calculating a contribution of said current fingerprint to a profile of the user, said profile comprising a set of fingerprints of value associations received during a learning phase, - calculating a current confidence score associated with a current observation period, a function of the contribution of said current imprint and a confidence score of yield, calculated over a preceding period - successful authentication when the current confidence score is greater than or equal to a reference confidence score.

Le procédé d’authentification contextuelle décrit ici permet la mise en œuvre d’une authentification contextuelle de l’utilisateur lors d’un accès à un service en ligne. Un tel accès en ligne nécessite l’envoi au serveur qui délivre le service de données contextuelles représentatives du comportement de l’utilisateur. De telles données sont extrêmement sensibles car elles constituent une empreinte comportementale de l’utilisateur, difficilement révocable, à l’instar d’une empreinte digitale. Afin de protéger l’envoi de telles données, il est calculé des empreintes en appliquant une fonction de hachage à une combinaison de plusieurs valeurs mesurées par des capteurs du dispositif utilisateur et à une clé secrète propre à l’utilisateur. Ce sont ces empreintes qui sont reçues du dispositif utilisateur et qui sont comparées par le serveur à un profil généré lors d’une phase d’apprentissage.The contextual authentication method described here enables the implementation of contextual authentication of the user when accessing an online service. Such on-line access requires sending to the server that delivers the contextual data service representative of the behavior of the user. Such data are extremely sensitive because they constitute a behavioral imprint of the user, hardly revocable, like a fingerprint. In order to protect the sending of such data, fingerprints are calculated by applying a hash function to a combination of several values measured by sensors of the user device and to a secret key specific to the user. It is these fingerprints that are received from the user device and are compared by the server to a profile generated during a learning phase.

Ainsi, les empreintes d’associations de valeurs telles que reçues par le serveur ne divulguent aucune information quant à la nature des capteurs concernés et aux valeurs relevées sur le dispositif utilisateur. Du fait de l’utilisation de la fonction de hachage, aucune valeur de capteur n’est transmise en clair. Par ailleurs, il est impossible pour le serveur de recouvrer les valeurs originelles mesurées par les capteurs. La vie privée de l’utilisateur est ainsi respectée. En outre, la taille des empreintes générées est constante et relativement petite, quel que soit la taille des données à hacher. Cela permet d’optimiser les temps de traitements et le stockage des empreintes au niveau du serveur. Par ailleurs, l’utilisation d’une clé secrète propre à l’utilisateur, qui joue le rôle d’un identifiant secondaire de l’utilisateur, uniquement connu de l’utilisateur, pour calculer l’empreinte de l’association de valeurs permet d’empêcher toute tentative de recoupements d’informations reçues de différents terminaux et susceptibles de mettre en avant des similitudes de comportements entre utilisateurs. Un profil est ainsi propre à chaque utilisateur. Enfin, l’utilisation d’une clé secrète permet de révoquer un profil par simple changement de la clé secrète. Une telle révocation peut s’avérer nécessaire lorsque l’utilisateur se fait voler son terminal mobile, ou dans un cas de fuite de données au niveau du serveur. L’authentification contextuelle est mise en œuvre de façon continue et transparente pour l’utilisateur. Cela facilite l’utilisation du service pour l’utilisateur.Thus, the value association fingerprints as received by the server do not disclose any information as to the nature of the sensors concerned and the values recorded on the user device. Due to the use of the hash function, no sensor value is transmitted in clear. Moreover, it is impossible for the server to recover the original values measured by the sensors. The privacy of the user is respected. In addition, the size of the generated fingerprints is constant and relatively small, regardless of the size of the data to be chopped. This makes it possible to optimize the processing times and the storage of fingerprints at the server level. Moreover, the use of a secret key specific to the user, which plays the role of a secondary identifier of the user, only known to the user, to calculate the footprint of the association of values allows prevent any attempt to overlap information received from different terminals and likely to highlight similarities in behavior between users. A profile is thus specific to each user. Finally, the use of a secret key allows to revoke a profile by simple change of the secret key. Such revocation may be necessary when the user is stolen his mobile terminal, or in a case of data leakage at the server. Contextual authentication is implemented continuously and transparently for the user. This facilitates the use of the service for the user.

Dans un exemple de réalisation, une pénalité est appliquée à la contribution lorsque l’empreinte courante ne figure pas dans le profil utilisateur.In an exemplary embodiment, a penalty is applied to the contribution when the current fingerprint is not in the user profile.

Pour le calcul du score de confiance associé à l’utilisateur, la pénalité est appliquée de manière à pénaliser un comportement inhabituel de l’utilisateur. Plus précisément, la pénalité est appliquée lorsque l’association courante de valeurs de capteurs considérée n’a jamais été rencontrée lors de la phase d’apprentissage. Elle est donc représentative d’un comportement de l’utilisateur qui n’a pas été observé durant la phase d’apprentissage. La pénalité P est une valeur négative, comprise entre 0 et -1. Plus P est faible et plus la confiance décroît rapidement.For the calculation of the confidence score associated with the user, the penalty is applied to penalize unusual behavior of the user. More specifically, the penalty is applied when the current association of sensor values considered has never been encountered during the learning phase. It is therefore representative of a behavior of the user that was not observed during the learning phase. The penalty P is a negative value, between 0 and -1. The lower P is, the lower the confidence decreases rapidly.

Dans un exemple de réalisation, un bonus est pris en compte dans le calcul du score de confiance courant.In an exemplary embodiment, a bonus is taken into account in the calculation of the current confidence score.

Pour le calcul du score de confiance associé à l’utilisateur, le bonus est appliqué de manière à tenir compte de légères variations dans le comportement de l’utilisateur d’une période d’observation à une autre. Les légères variations ne doivent pas pénaliser l’utilisateur et sont à associer à un comportement normal. Le bonus est appliqué pour améliorer le score de confiance. Par le biais du calcul de la contribution d’une association de valeurs au profil, le bonus est associé à la pénalité qui est appliquée dans le cas où l’association d’événements courante est nouvelle par rapport au profil crée en phase d’apprentissage PO ; il permet de pondérer la pénalité. Plus le bonus B est élevé et plus la variation de la confiance entre deux périodes d’observation successives augmente rapidement.For the calculation of the confidence score associated with the user, the bonus is applied in order to take into account slight variations in the behavior of the user from one observation period to another. Slight variations should not penalize the user and should be associated with normal behavior. The bonus is applied to improve the confidence score. By calculating the contribution of an association of values to the profile, the bonus is associated with the penalty that is applied in the case where the current event association is new compared to the profile created in the learning phase. PO; it allows to weight the penalty. The higher the bonus B, the faster the variation in confidence between two successive observation periods.

Dans un exemple de réalisation, le score de confiance calculé est compris entre 0 et 1.In an exemplary embodiment, the calculated confidence score is between 0 and 1.

Le score de confiance est ramené à une valeur comprise dans un intervalle [0, 1] afin de pallier des valeurs trop hautes ou trop basses. De telles valeurs extrêmes ne permettraient pas de tenir compte de situations particulières et temporaires de l’utilisateur, tel qu’un déplacement qui perturbe temporairement des capteurs d’informations de géolocalisation avec des valeurs qui n’ont jamais été rencontrées en phase d’apprentissage. De telles valeurs peuvent faire chuter le score de confiance. Pour autant, cette situation n’étant que temporaire, le score de confiance doit rapidement remonter dès lors que l’utilisateur réintègre son environnement habituel. Borner le score de confiance à un intervalle de valeurs permet dans ce cas une remontée rapide du score de confiance.The confidence score is reduced to a value within a range [0, 1] to compensate for values that are too high or too low. Such extreme values would not allow to take into account particular and temporary situations of the user, such as a displacement that temporarily disturbs geolocation information sensors with values that have never been encountered during the learning phase. . Such values can drop the confidence score. However, this situation being only temporary, the confidence score must quickly rise as soon as the user reintegrates his usual environment. Bounding the confidence score to a range of values in this case allows a rapid rise in the confidence score.

Dans un exemple de réalisation, le procédé comprend dans la phase d’apprentissage : - réception, en provenance du dispositif utilisateur, d’au moins une empreinte d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur pendant une période d’observation, ladite empreinte étant calculée en appliquant la fonction de hachage à l’association de valeurs et à la clé secrète propre à l’utilisateur, - incrément, dans le profil utilisateur, d’un nombre d’occurrences de ladite empreinte, et d’un nombre total d’empreintes, ledit profil utilisateur comprenant le nombre total d’empreintes et le nombre d’occurrences de ladite empreinte.In an exemplary embodiment, the method comprises in the learning phase: reception, from the user device, of at least one association fingerprint of at least two distinct values measured by at least one sensor of the device of the user for a period of observation, said fingerprint being calculated by applying the hash function to the association of values and to the secret key specific to the user, - increment, in the user profile, of a number of occurrences of said fingerprint, and a total number of fingerprints, said user profile comprising the total number of fingerprints and the number of occurrences of said fingerprint.

Ces étapes décrites sont mises en œuvre durant une phase d’apprentissage, durant laquelle le serveur établit un profil de l’utilisateur à partir des informations qu’il reçoit du terminal et qui sont représentatives des interactions entre l’utilisateur et son terminal. L’invention concerne aussi un procédé d’envoi d’empreintes à un serveur distant par le dispositif d’un utilisateur, ledit procédé, mis en œuvre par le dispositif utilisateur comprenant : - obtention d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif pendant une période d’observation, - discrétisation de ladite valeur lorsque la valeur est de type continu, - envoi au serveur distant d’une empreinte d’une association des au moins deux valeurs distinctes mesurées par le au moins un capteur, ladite empreinte étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète propre à l’utilisateur.These described steps are implemented during a learning phase, during which the server establishes a profile of the user from the information he receives from the terminal and which is representative of the interactions between the user and his terminal. The invention also relates to a method of sending fingerprints to a remote server by the device of a user, said method, implemented by the user device comprising: - obtaining at least two distinct values measured by at least a sensor of the device during an observation period, - discretization of said value when the value is of continuous type, - sending to the remote server a fingerprint of an association of the at least two distinct values measured by the at least one sensor said fingerprint being calculated by applying a hash function to the association of values and to a secret key specific to the user.

Dans un exemple de réalisation du procédé d’envoi d’empreintes, une association de valeurs comprend trois valeurs distinctes mesurées par au moins un capteur pendant la période d’observation.In an exemplary embodiment of the fingerprinting method, an association of values comprises three distinct values measured by at least one sensor during the observation period.

Il a été montré expérimentalement que l’association de trois valeurs offrait les meilleurs résultats pour l’authentification contextuelle. En effet, lorsque l’association comprend moins de trois valeurs, le score de confiance est moins fiable et en tout cas moins élevé. Lorsque l’association comprend plus de trois valeurs, le score de confiance est également moins élevé car il est plus difficile d’obtenir suffisamment d’associations de valeurs représentatives de comportements similaires de l’utilisateur. L’invention porte également sur un serveur agencé pour mettre en œuvre une authentification contextuelle d’un utilisateur, ledit serveur comprenant : - des moyens de réception, agencés pour recevoir en provenance du dispositif, une empreinte courante d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur, ladite empreinte courante étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète propre à l’utilisateur, - des premiers moyens de calcul, agencés pour calculer une contribution de ladite empreinte courante à un profil de l’utilisateur, ledit profil comprenant un ensemble d’empreintes d’associations de valeurs reçues durant une phase d’apprentissage, - des deuxièmes moyens de calcul, agencés pour calculer un score de confiance courant associé à une période d’observation courante, fonction de la contribution de ladite empreinte courante et d’un score de confiance précédent, calculé sur une période précédente, - des moyens d’authentification, agencés pour comparer le score de confiance courant à un score de confiance de référence, l’authentification étant réussie lorsque le score de confiance courant est supérieur ou égal au score de confiance de référence. L’invention concerne aussi un programme d’ordinateur sur un support de données et chargeable dans la mémoire d’un ordinateur, le programme comprenant des portions de code pour l’exécution des étapes du procédé d’authentification contextuelle qui sont mises en œuvre par le serveur tel que décrit précédemment, lorsque le programme est exécuté sur ledit ordinateur. L’invention concerne également un support de données dans lequel est enregistré le programme décrit ci-dessus. L’invention porte également sur un dispositif utilisateur agencé pour envoyer des empreintes à un serveur distant ledit dispositif utilisateur comprenant : - des moyens d’obtention, agencés pour obtenir au moins deux valeurs distinctes d’au moins un capteur du dispositif pendant une période d’observation, - des moyens de discrétisation, agencés pour discrétiser ladite valeur lorsque la valeur est de type continu, - des moyens d’envoi, agencés pour envoyer au serveur distant une empreinte d’une association des au moins deux valeurs distinctes mesurées par le au moins un capteur, ladite empreinte étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète propre à l’utilisateur. L’invention concerne aussi un programme d’ordinateur sur un support de données et chargeable dans la mémoire d’un ordinateur, le programme comprenant des portions de code pour l’exécution des étapes du procédé d’authentification contextuelle mises en œuvre par le dispositif utilisateur, lorsque le programme est exécuté sur ledit ordinateur. L’invention concerne aussi un support de données dans lequel est enregistré le programme présenté ci-dessus.It has been shown experimentally that the combination of three values offers the best results for contextual authentication. Indeed, when the association comprises less than three values, the confidence score is less reliable and in any case lower. When the association has more than three values, the confidence score is also lower because it is more difficult to obtain sufficient associations of values representative of similar user behaviors. The invention also relates to a server arranged to implement contextual authentication of a user, said server comprising: reception means, arranged to receive from the device, a current fingerprint of association of at least two distinct values measured by at least one sensor of the device of the user, said current fingerprint being calculated by applying a hash function to the association of values and to a secret key specific to the user, - first calculation means, arranged to calculate a contribution of said current fingerprint to a profile of the user, said profile comprising a set of value association fingerings received during a learning phase, - second calculation means, arranged to calculate a score confidence associated with a current observation period, depending on the contribution of said current imprint and a previous confidence score, calculated over a previous period, - authentication means, arranged to compare the current confidence score with a reference confidence score, the authentication being successful when the current confidence score is higher or equal to the reference confidence score. The invention also relates to a computer program on a data carrier and loadable in the memory of a computer, the program comprising portions of code for executing the steps of the contextual authentication method which are implemented by the server as described above, when the program is run on said computer. The invention also relates to a data carrier in which the program described above is recorded. The invention also relates to a user device arranged to send fingerprints to a remote server, said user device comprising: - obtaining means, arranged to obtain at least two distinct values of at least one sensor of the device during a period of observation, - discretization means, arranged to discretize said value when the value is of continuous type, - sending means, arranged to send to the remote server a fingerprint of an association of the at least two distinct values measured by the at least one sensor, said fingerprint being calculated by applying a hash function to the association of values and to a secret key specific to the user. The invention also relates to a computer program on a data carrier and loadable in the memory of a computer, the program comprising portions of code for executing the steps of the contextual authentication method implemented by the device user, when the program is running on that computer. The invention also relates to a data carrier in which the program presented above is recorded.

Enfin, l’invention concerne aussi un système d’authentification contextuelle, comprenant : - au moins un dispositif utilisateur tel que décrit précédemment, et - un serveur tel que décrit précédemment. D'autres caractéristiques et avantages de la présente invention seront mieux compris de la description et des dessins annexés parmi lesquels : - la figure 1 présente les étapes d’un procédé d’authentification contextuelle d’un utilisateur, selon un exemple de réalisation ; - la figure 2 est une représentation schématique d’un serveur apte à mettre en œuvre le procédé d’authentification contextuelle, selon un exemple de réalisation ; - la figure 3 est une représentation schématique d’un dispositif utilisateur, apte à mettre en œuvre le procédé d’authentification contextuelle, selon un exemple de réalisation.Finally, the invention also relates to a contextual authentication system, comprising: at least one user device as described above, and a server as described above. Other features and advantages of the present invention will be better understood from the description and the appended drawings, in which: FIG. 1 presents the steps of a contextual authentication method of a user, according to an exemplary embodiment; FIG. 2 is a schematic representation of a server able to implement the contextual authentication method, according to an exemplary embodiment; - Figure 3 is a schematic representation of a user device, adapted to implement the contextual authentication method, according to an exemplary embodiment.

Les étapes d’un procédé d’authentification contextuelle d’un utilisateur, selon un exemple de réalisation, vont maintenant être décrites en relation avec la figure 1.The steps of a contextual authentication method of a user, according to an exemplary embodiment, will now be described in relation to FIG.

Un utilisateur, détenteur d’un dispositif informatique, par exemple un terminal mobile 10 souhaite accéder à un service délivré par un serveur distant 11. Le service délivré par le serveur 11 est soumis à une authentification réussie de l’utilisateur. A cette fin, le serveur 11 comprend un module d’authentification de l’utilisateur comprenant des instructions de code agencées pour mettre en œuvre celles des étapes du procédé d’authentification contextuelle de l’utilisateur qui sont mises en œuvre par le serveur 11. Le terminal 10 comprend un module logiciel comprenant des instructions de code agencées pour mettre en œuvre celles des étapes du procédé d’authentification contextuelle de l’utilisateur qui sont mises en œuvre par le terminal 10. Le terminal mobile 10 comprend un ensemble de capteurs (non représentés sur la figure 1), agencés pour mesurer à intervalle régulier une activité de l’utilisateur, plus précisément du terminal mobile 10, en termes de valeurs de ces capteurs.A user, holder of a computing device, for example a mobile terminal 10 wishes to access a service delivered by a remote server 11. The service delivered by the server 11 is subjected to a successful authentication of the user. For this purpose, the server 11 comprises a user authentication module comprising code instructions arranged to implement those of the steps of the contextual authentication method of the user that are implemented by the server 11. The terminal 10 comprises a software module comprising code instructions arranged to implement those of the steps of the contextual authentication method of the user that are implemented by the terminal 10. The mobile terminal 10 comprises a set of sensors ( not shown in Figure 1), arranged to measure at regular intervals an activity of the user, specifically the mobile terminal 10, in terms of values of these sensors.

Par exemple un premier capteur détecte l’exécution d’une application donnée, un deuxième capteur mesure la durée d’un appel téléphonique, un troisième capteur, de type accéléromètre mesure une accélération linéaire du terminal 10, un quatrième capteur, de type gyromètre mesure une rotation du terminal, un cinquième capteur mesure Γutilisation d’un réseau d’accès par identification de ce réseau, etc. L’invention n’est bien sûr pas limitée à ces quelques capteurs. Les différents capteurs permettent d’obtenir du terminal mobile 10 des informations relatives à un contexte d’utilisation du terminal 10 propre à l’utilisateur. Ces mesures peuvent être de type logiciel : c’est le cas d’un capteur qui relève l’exécution d’une application donnée ou l’identifiant d’un réseau d’accès. Elles peuvent également être de type matériel : c’est le cas d’un capteur de type accéléromètre ou gyromètre. Les mesures relevées par les différents capteurs peuvent être de type discret : c’est par exemple le cas d’un nom d’application qui a été lancée sur le terminal ou d’un identifiant de réseau d’accès. Elles peuvent également être de type continu : c’est le cas d’un accéléromètre qui peut prendre sa valeur dans un intervalle continu de valeurs potentiellement assez grand, ou de la durée d’un appel.For example, a first sensor detects the execution of a given application, a second sensor measures the duration of a telephone call, a third sensor, of the accelerometer type, measures a linear acceleration of the terminal 10, a fourth sensor, of the gyrometer type. a rotation of the terminal, a fifth sensor measures the use of an access network by identification of this network, etc. The invention is of course not limited to these few sensors. The various sensors make it possible to obtain from the mobile terminal 10 information relating to a context of use of the terminal 10 specific to the user. These measurements can be of software type: it is the case of a sensor which notes the execution of a given application or the identifier of an access network. They can also be of the material type: this is the case of an accelerometer type sensor or gyrometer. The measurements taken by the various sensors can be discrete type: this is for example the case of an application name that has been launched on the terminal or an access network identifier. They can also be of continuous type: this is the case of an accelerometer which can take its value in a continuous range of potentially large enough values, or the duration of a call.

Le procédé d’authentification comprend une première phase PO, dite phase d’apprentissage, destinée à établir un profil d’utilisation du terminal 10 propre à l’utilisateur. Ce profil est destiné à constituer une signature, ou une empreinte, du comportement de l’utilisateur lorsqu’il manipule son terminal mobile. Le terminal mobile est en effet devenu un compagnon de l’utilisateur apte à observer, enregistrer, voire traiter les activités journalières de celui-ci qui le manipule régulièrement. Par ailleurs, le comportement de l’utilisateur fait apparaître des similitudes dans ses interactions avec son terminal mobile. Par exemple, il est habituel que l’utilisateur exécute régulièrement certaines applications, ou accède régulièrement au réseau Internet via un même réseau d’accès identifié. Ces habitudes se reflètent sur les valeurs mesurées au moyen des capteurs. Ainsi, ces mesures sont utilisées pour établir, par observation des interactions de l’utilisateur avec son terminal mobile, le profil de l’utilisateur en termes de valeurs de capteurs, et plus précisément de combinaisons, ou associations, de plusieurs valeurs.The authentication method comprises a first phase PO, called learning phase, intended to establish a use profile of the terminal 10 specific to the user. This profile is intended to constitute a signature, or a fingerprint, of the behavior of the user when manipulating his mobile terminal. The mobile terminal has indeed become a companion of the user able to observe, record or even process the daily activities of the latter who handles it regularly. In addition, the behavior of the user shows similarities in his interactions with his mobile terminal. For example, it is usual for the user to regularly run certain applications, or regularly access the Internet network via the same identified access network. These habits are reflected in the values measured by the sensors. Thus, these measurements are used to establish, by observation of the interactions of the user with his mobile terminal, the profile of the user in terms of sensor values, and more specifically combinations, or associations, of several values.

La phase d’apprentissage PO consiste à envoyer au serveur distant 11 des informations représentatives des interactions entre l’utilisateur et le terminal mobile 10, afin que le serveur 11 établisse un profil de l’utilisateur destiné à être utilisé lors d’un accès ultérieur de l’utilisateur au service délivré par le serveur 11.The learning phase PO consists in sending to the remote server 11 information representative of the interactions between the user and the mobile terminal 10, so that the server 11 establishes a profile of the user intended to be used during a subsequent access. from the user to the service delivered by the server 11.

Dans une étape initiale E0 de configuration, un ensemble de capteurs sont activés sur le terminal 10 de l’utilisateur.In an initial step E0 of configuration, a set of sensors are activated on the terminal 10 of the user.

Dans une étape suivante El d’échantillonnage, il est relevé pendant un intervalle de temps t d’observation les valeurs des différents capteurs. L’intervalle de temps d’observation t doit être le plus court possible afin de capter au mieux les différentes interactions de l’utilisateur avec son terminal 10. Dans cet exemple de réalisation, il est fixé à 1 minute. A noter que seuls les capteurs qui fournissent une mesure durant cette période sont considérés. A noter également que si un capteur, durant l’intervalle de temps d’observation t, fournit plusieurs fois la même valeur, celle-ci n’est prise en compte qu’une fois. Si par contre, ce capteur fournit des valeurs différentes sur l’intervalle de temps t, alors les deux valeurs sont prises en compte en tant que valeurs distinctes. Par exemple, il n’est pas rare que l’accéléromètre fournisse plusieurs valeurs pendant une même période d’observation, celles-ci sont alors traitées comme deux valeurs distinctes. Au terme de l’étape El d’échantillonnage, on dispose pour tout ou partie des capteurs, de valeurs qui constituent un échantillon de valeurs correspondant à des événements survenus sur le terminal 10 de l’utilisateur pendant la période d’observation t.In a next step El sampling, it is noted during a time interval t observation the values of the different sensors. The observation time interval t must be as short as possible in order to better capture the different interactions of the user with his terminal 10. In this embodiment, it is set at 1 minute. Note that only sensors that provide a measurement during this period are considered. Note also that if a sensor, during the observation time interval t, provides several times the same value, it is taken into account only once. If, on the other hand, this sensor provides different values over the time interval t, then both values are taken into account as separate values. For example, it is not unusual for the accelerometer to provide several values during the same observation period, which are then treated as two distinct values. At the end of the sampling step E1, all or some of the sensors have values that constitute a sample of values corresponding to events occurring on the user's terminal during the observation period t.

Dans une étape E2 de discrétisation, le terminal mobile 10 discrétise les valeurs de capteurs de type continu. Les valeurs de capteur de type continu relevées durant la période d’observation t sont discrétisées afin de minimiser d’éventuels bruits inhérents à des capteurs matériels et de limiter le nombre de valeurs. Dans un exemple de réalisation, la discrétisation d’une valeur consiste à arrondir celle-ci à une valeur supérieure ou à une valeur inférieure. Par exemple, des mesures de l’accéléromètre comprises entre 9,81 m/s2 et 9,89 m/s2 sont arrondies au dixième inférieur, soit à 9,8 m/s2. Des méthodes éprouvées de classification de données (ou « clustering » en anglais) peuvent également être utilisées pour discrétiser les valeurs relevées.In a step E2 of discretization, the mobile terminal 10 discretizes the values of continuous type sensors. The continuous type sensor values recorded during the observation period t are discretized in order to minimize any noise inherent in hardware sensors and to limit the number of values. In an exemplary embodiment, the discretization of a value consists in rounding it up to a higher value or a lower value. For example, accelerometer measurements ranging from 9.81 m / s2 to 9.89 m / s2 are rounded down to the nearest tenth, or 9.8 m / s2. Proven methods of data classification (or "clustering" in English) can also be used to discretize the measured values.

Dans une étape suivante E3 de construction d’un ensemble d’associations de valeurs, il est généré un ensemble d’associations de valeurs /q, 1 < t < n, à partir des valeurs de l’échantillon obtenu au cours des étapes précédentes. Une association de valeurs comprend une combinaison de valeurs mesurées par différents capteurs pendant la période d’observation t. Par exemple, une association de valeurs /q associe trois mesures, relevées sur trois capteurs ou moins durant la période t. Elle peut également associer trois mesures de deux capteurs, lorsqu’un des capteurs a mesuré deux valeurs distinctes sur la période d’observation t. Elle peut également associer les mesures d’un seul capteur lorsque le capteur a relevé trois mesures distinctes sur la période d’observation t. A noter qu’une association de valeurs n’apparaît qu’une fois dans l’ensemble des associations de valeurs. Ainsi, il n’est pas tenu compte d’un ordre des valeurs dans les associations d’événements. A titre d’exemple, si durant la période d’observation t, des capteurs ont relevé un identifiant d’un premier réseau WiFiA, indiquant que le terminal mobile 10 a accédé au réseau via ce premier réseau d’accès, un nom d’application appliA, indiquant que l’utilisateur a exécuté l’application appliA, une première et une deuxième valeur d’accélération accelAl et accelA2, indiquant que l’utilisateur a déplacé son terminal mobile deux fois durant la période d’échantillonnage t, alors il est généré les trois associations d’événements /1^/12,/13 suivantes : - ={wifïA, accelAl, appliA}, - h2 ={wifïA, accelA2, appliA}, et - h3 ={accelAl, accelA2, appliA}.In a following step E3 of constructing a set of value associations, a set of value associations / q, 1 <t <n is generated from the values of the sample obtained in the previous steps. . A combination of values comprises a combination of values measured by different sensors during the observation period t. For example, a combination of values / q associates three measurements, taken from three or fewer sensors during period t. It can also associate three measurements of two sensors, when one of the sensors has measured two distinct values over the observation period t. It can also associate the measurements of a single sensor when the sensor has recorded three distinct measurements over the observation period t. Note that an association of values appears only once in the set of value associations. Thus, a sequence of values in event associations is ignored. For example, if during the observation period t, sensors have detected an identifier of a first WiFiA network, indicating that the mobile terminal 10 has accessed the network via this first access network, a name of appliA application, indicating that the user has executed the appliA application, a first and a second accelerator accelAl and accelA2 value, indicating that the user has moved his mobile terminal twice during the sampling period t, then he the following three associations of events / 1 ^ / 12, / 13 are generated: - = {wifïA, accelAl, appliA}, - h2 = {wifïA, accelA2, appliA}, and - h3 = {accelAl, accelA2, appliA} .

Au terme de l‘étape E3 de construction d’un ensemble d’associations de valeurs, le terminal mobile 10 dispose d’un ensemble d’associations de valeurs correspondant à l’ensemble des combinaisons de valeurs des capteurs relevées durant la période d’observation t.At the end of the step E3 of constructing a set of value associations, the mobile terminal 10 has a set of value associations corresponding to all the combinations of values of the sensors detected during the period of time. observation t.

Dans une étape suivante E4 de calcul d’une empreinte et d’envoi, chacune des associations de valeurs /i; de l’ensemble obtenu au cours de l’étape précédente est hachée par le terminal mobile 10 au moyen d’une fonction de hachage et au moyen d’une clé secrète Ku propre à l’utilisateur afin de produire une empreinte d’association de valeurs. Dans un exemple de réalisation, la clé secrète Ku est mémorisée dans un module de sécurité du terminal mobile 10 de type carte « (e)-SIM » (de l’anglais « (embedded)-Subscriber Identity Module »). Dans un autre exemple de réalisation, la clé secrète Ku est stockée dans un environnement sécurisé de type « TEE » (de l’anglais « Trusted Execution Environment») du terminal mobile 10. Par exemple, la fonction de hachage SHA-3 (de l’anglais « Secure Hash Algorithm ») ou la fonction SHA-256 est utilisée. La clé secrète Ku est destinée à être utilisé comme un identifiant secondaire de l’utilisateur, uniquement connu de l’utilisateur. Dans un exemple de réalisation, un type chaîne de caractères est associé aux différentes valeurs de l’association. La clé secrète Ku est ensuite associée à la concaténation des trois valeurs de l’association puis la fonction de hachage est appliquée à la chaîne de caractères ainsi obtenue. Dans un autre exemple de réalisation, les valeurs qui composent l’association d’événements et la clé secrète Ku sont de type binaire et la fonction de hachage est appliquée à une concaténation de ces données binaires. Les empreintes des associations d’événements /q ainsi obtenues sont envoyées au serveur distant 11 en fin d’étape E4.In a next step E4 of calculating a print and sending, each of the associations of values / i; of the set obtained in the previous step is hashed by the mobile terminal 10 by means of a hash function and by means of a secret key Ku specific to the user in order to produce an association fingerprint of values. In an exemplary embodiment, the secret key Ku is stored in a security module of the mobile terminal 10 of the card type "(e) -SIM" (of the English "(embedded) -Subscriber Identity Module"). In another exemplary embodiment, the secret key Ku is stored in a secured environment of the "TEE" (Trusted Execution Environment ") type of the mobile terminal 10. For example, the hash function SHA-3 (of the English "Secure Hash Algorithm") or the SHA-256 function is used. The secret key Ku is intended to be used as a secondary identifier of the user, only known to the user. In an exemplary embodiment, a type of character string is associated with the different values of the association. The secret key Ku is then associated with the concatenation of the three values of the association and then the hash function is applied to the string of characters thus obtained. In another exemplary embodiment, the values that make up the event association and the secret key Ku are of binary type and the hash function is applied to a concatenation of these binary data. The fingerprints of the event / q associations thus obtained are sent to the remote server 11 at the end of step E4.

Elles sont reçues par le serveur distant dans une étape E5 de réception et mémorisées en association avec un identifiant de l’utilisateur, par exemple le « MSISDN » (de l’anglais « Mobile Station ISDN Number »). A noter que la transmission au serveur 11 des empreintes d’associations de valeurs ne divulgue aucune information quant aux capteurs concernés et aux valeurs relevées. Ces valeurs sont représentatives du comportement de l’utilisateur et sont de ce fait très sensibles. Du fait de l’utilisation d’une fonction de hachage, aucune valeur de capteur qui pourrait renseigner sur les habitudes de l’utilisateur, n’est transmise en clair. Par ailleurs, du fait de la propriété de non réversibilité des fonctions de hachage, il est impossible pour le serveur 11 de recouvrer les valeurs originelles mesurées par les capteurs. La vie privée de l’utilisateur est ainsi respectée. De plus, la taille des empreintes générées est constante et relativement petite, quel que soit la taille des données à hacher. Cela permet d’optimiser les temps de traitements et le stockage des empreintes au niveau du serveur distant 11. Par ailleurs, l’utilisation d’une clé secrète Ku propre à l’utilisateur pour calculer l’empreinte de l’association de valeurs permet d’empêcher toute tentative, au niveau du serveur 11, de recoupements d’informations reçues de différents terminaux et susceptibles de mettre en avant des similitudes de comportements entre utilisateurs. Un profil est ainsi propre à chaque utilisateur. Enfin, l’utilisation d’une clé secrète permet de révoquer un profil par simple changement de la clé secrète. Une telle révocation peut s’avérer nécessaire lorsque l’utilisateur se fait voler son terminal mobile ou dans un cas de fuite de données au niveau du serveur 11. Dans le cas où l’utilisateur se fait voler son terminal, il envoie au serveur distant 11, via un canal de communication autre que celui qu’il utilise habituellement, une demande de révocation de profil. Cette révocation consiste, pour le serveur, à supprimer le profil et les données enregistrées en association avec l’identifiant de l’utilisateur. U’utilisateur reçoit ensuite un nouveau terminal mobile qui comprend le cas échéant une nouvelle clé secrète qui permet à l’utilisateur de se réenregistrer auprès du serveur 11. U’utilisateur met alors en œuvre la phase d’apprentissage PO au moyen de son nouveau terminai mobile et de sa nouvelle clé secrète et accède ensuite à distance au service délivré par le serveur 10 en mettant en œuvre l’authentification contextuelle décrite ici. Dans le cas d’une fuite de données sur le serveur 11, l’utilisateur commande l’envoi d’une nouvelle clé secrète afin de pallier des attaques de type rejeu au cours desquelles une personne malveillante réutiliserait des empreintes stockées sur le serveur afin d’usurper l’identité de l’utilisateur. Lorsque la clé est stockée dans le module de sécurité de type carte (e)-SIM, l’envoi peut se faire au moyen d’une procédure « OTA » (de l’anglais « Over The Air »). Dans le cas où la clé est stockée dans un environnement sécurisé de type TEE, l’envoi se fait au moyen d’une connexion sécurisée à une entité de confiance qui émet les clés.They are received by the remote server in a receiving step E5 and stored in association with an identifier of the user, for example the "MSISDN" (of the "Mobile Station ISDN Number"). It should be noted that the transmission to the server 11 of value association fingerprints does not disclose any information as to the sensors concerned and the values recorded. These values are representative of the behavior of the user and are therefore very sensitive. Because of the use of a hash function, no sensor value that could provide information on the habits of the user, is transmitted in clear. Moreover, because of the property of non-reversibility of the hash functions, it is impossible for the server 11 to recover the original values measured by the sensors. The privacy of the user is respected. In addition, the size of the generated fingerprints is constant and relatively small, regardless of the size of the data to be chopped. This makes it possible to optimize the processing times and the storage of the fingerprints at the remote server 11. Furthermore, the use of a secret key Ku specific to the user for calculating the fingerprint of the association of values makes it possible to to prevent any attempt at the server 11, cross-referencing information received from different terminals and likely to highlight the similarities of behavior between users. A profile is thus specific to each user. Finally, the use of a secret key allows to revoke a profile by simple change of the secret key. Such revocation may be necessary when the user is stolen his mobile terminal or in a case of data leak at the server 11. In the case where the user is stolen his terminal, he sends to the remote server 11, via a communication channel other than the one he usually uses, a profile revocation request. This revocation consists, for the server, in deleting the profile and the data recorded in association with the user's identifier. The user then receives a new mobile terminal which optionally includes a new secret key which allows the user to re-register with the server 11. The user then implements the learning phase PO with his new mobile terminal and its new secret key and then remotely access the service delivered by the server 10 by implementing the contextual authentication described here. In the event of a data leak on the server 11, the user orders the sending of a new secret key in order to mitigate replay attacks during which a malicious person would reuse imprints stored on the server in order to impersonate the user. When the key is stored in the card module (e) -SIM, the sending can be done using an "OTA" (over the air). In the case where the key is stored in a secure environment of the TEE type, the sending is done by means of a secure connection to a trusted entity that issues the keys.

Dans une étape suivante E6 de construction d’un profil de l’utilisateur, le serveur 11 met à jour le nombre d’occurrences 0L de chaque empreinte d’association de valeurs hL reçue au cours de l’étape précédente. Le nombre d’occurrences 0L de chaque empreinte d’association de valeurs /ij constitue une cartographie des associations de valeurs de l’utilisateur. Le serveur 11 comptabilise également le nombre total T d’empreintes d’associations de valeurs qu’il a reçues du terminal mobile. Ainsi, T = £f=10t . La cartographie et le nombre total T d’associations d’événements constituent le profil de l’utilisateur du terminal mobile 10.In a next step E6 of building a profile of the user, the server 11 updates the number of occurrences 0L of each association fingerprint hL received in the previous step. The number of occurrences 0L of each association fingerprint / ij constitutes a mapping of the user's value associations. The server 11 also counts the total number T of value association fingerprints it has received from the mobile terminal. Thus, T = £ f = 10t. The mapping and the total number T of event associations constitute the profile of the user of the mobile terminal 10.

Les étapes El à E6 sont itérées jusqu’à ce qu’il y ait suffisamment d’empreintes d’associations de valeurs enregistrées sur le serveur 11 pour l’utilisateur du terminal mobile 10. La fin des itérations des étapes El à E6 constitue la fin de la phase d’apprentissage PO. « Suffisamment » peut se décliner de différentes manières. Par exemple, la phase d’apprentissage est mise en œuvre sur une période de temps d’apprentissage donné, qui peut s’étaler sur quelques jours, quelques semaines ou quelques mois. Dans un deuxième exemple de réalisation, la phase d’apprentissage prend fin dès qu’un nombre donné d’associations de valeurs ht a été reçu. Dans un autre exemple de réalisation, la phase d’apprentissage est mise en œuvre en continu, sur une période de temps glissante.Steps E1 through E6 are iterated until there are enough value association fingerprints stored on the server 11 for the user of the mobile terminal 10. The end of the iterations of the steps E1 to E6 constitutes the end of the learning phase PO. "Enough" can be broken down in different ways. For example, the learning phase is implemented over a given period of learning time, which can be spread over a few days, weeks or months. In a second exemplary embodiment, the learning phase ends as soon as a given number of associations of values ht has been received. In another exemplary embodiment, the learning phase is implemented continuously over a rolling period of time.

Dans une phase suivante d’authentification PI, mise en œuvre lors d’un accès au service délivré par le serveur 11 par l’utilisateur du terminal mobile 10, il est procédé à une authentification de l’utilisateur du terminal mobile 10 à partir de données reçues du terminal mobile 10 et comparées au profil associé à l’utilisateur et construit durant la phase d’apprentissage PO. Durant la phase PI d’authentification, le terminal mobile 10 continue de relever les valeurs des différents capteurs activés et de les discrétise le cas échéant, de générer des associations de valeurs, de calculer les empreintes de ces associations et de les envoyer au serveur distant 11.In a subsequent phase of authentication PI implemented during an access to the service delivered by the server 11 by the user of the mobile terminal 10, authentication of the user of the mobile terminal 10 is carried out from data received from the mobile terminal 10 and compared to the profile associated with the user and constructed during the learning phase PO. During the authentication phase PI, the mobile terminal 10 continues to record the values of the various activated sensors and, if necessary, discretizes them, to generate value associations, to calculate the fingerprints of these associations and to send them to the remote server. 11.

Ainsi, dans une étape suivante E10 d’échantillonnage, comparable à l’étape El décrite précédemment, il est relevé pendant une période t d’observation courante les valeurs des différents capteurs activés sur le terminal mobile 10.Thus, in a subsequent sampling step E10, comparable to step E1 previously described, the values of the various sensors activated on the mobile terminal 10 are read during a current observation period t.

Dans une étape Eli de discrétisation, comparable à l’étape E2 de la phase d’apprentissage PO, le terminal mobile 10 discrétise les valeurs de capteurs de type continu.In a step Eli of discretization, comparable to the step E2 of the learning phase PO, the mobile terminal 10 discretizes the values of continuous type sensors.

Dans une étape suivante E12 de construction d’associations de valeurs, comparable à l’étape E3 décrite précédemment, il est généré un ensemble d’associations de valeurs courantes hcj, 1 < j < m, à partir des valeurs relevées durant l’étape E10 d’échantillonnage.In a next step E12 of constructing associations of values, comparable to the step E3 described above, a set of associations of current values hcj, 1 <j <m, is generated from the values recorded during the step E10 sampling.

Dans une étape E13 de calcul d’une empreinte et d’envoi, comparable à l’étape E4 décrite précédemment, chacune des associations courantes de valeurs hcj, est hachée par le terminal mobile au moyen de la fonction de hachage utilisée au cours de l’étape E4 et de la clé secrète Ku propre à l’utilisateur. L’empreinte ainsi obtenue est envoyée au serveur distant 11.In a step E13 of calculating a print and send, comparable to the step E4 described above, each of the current combinations of values hcj, is hashed by the mobile terminal by means of the hash function used during the process. step E4 and the secret key Ku specific to the user. The imprint thus obtained is sent to the remote server 11.

Les empreintes d’associations courantes h.Cj sont reçues par le serveur 11 dans une étape E14 de réception.The current association fingerprints h.Cj are received by the server 11 in a receiving step E14.

Dans une étape suivante El 5 de calcul d’une contribution, le serveur 11 calcule pour chacune des associations de valeurs courantes hcj une contribution Qj de l’association courante hCj au profil de l’utilisateur construit en phase d’apprentissage PO. La contribution Qj est calculée comme suit :In a subsequent step El 5 for calculating a contribution, the server 11 calculates for each of the associations of current values hcj a contribution Qj of the current association hCj to the profile of the user constructed in the learning phase PO. The contribution Qj is calculated as follows:

où Oj correspond au nombre d’occurrences de l’association d’événements courante hcj dans le profil utilisateur construit en phase d’apprentissage, T le nombre total d’associations de valeurs dans le profil, et P une pénalité appliquée de manière à pénaliser un comportement inhabituel de l’utilisateur. On remarque que la pénalité P n’est appliquée que lorsque l’association de valeurs courante hcj considérée n’a jamais été rencontrée lors de la phase d’apprentissage PO. Elle est donc représentative d’un comportement de l’utilisateur qui n’a pas été observé durant la phase d’apprentissage PO. La pénalité P est une valeur négative, comprise entre 0 et -1. Plus P est faible et plus la confiance décroît rapidement.where Oj is the number of occurrences of the current event association hcj in the user profile constructed in the learning phase, T is the total number of associations of values in the profile, and P a penalty applied in order to penalize unusual behavior of the user. Note that the penalty P is applied only when the current association of values hcj considered has never been encountered during the learning phase PO. It is therefore representative of a behavior of the user that was not observed during the learning phase PO. The penalty P is a negative value, between 0 and -1. The lower P is, the lower the confidence decreases rapidly.

Dans une étape suivante E16 de calcul d’un score de confiance courant, mise en œuvre après réception par le serveur 11 des m associations de valeurs courantes hcj obtenues durant la période d’observation courante t', et après calcul des contributions de chacune des associations de valeurs courantes hcj au profil de l’utilisateur, le serveur 11 calcule un score de confiance courant Lt sur la période d’observation courante t. Le calcul du score de confiance Lt sur la période t, prend en compte un score de confiance Lt_1 précédent, calculé sur une période d’observation précédente t — 1, une valeur moyenne des contributions Qj calculées sur la période courante t et un bonus B destiné à tenir compte de légères variations dans le comportement de l’utilisateur qui sont à associer néanmoins à un comportement normal. Le bonus B est appliqué pour accélérer la croissance de la confiance. Plus précisément, le score de confiance courant Lt est calculé comme suit :In a next step E16 of calculating a current confidence score, implemented after reception by the server 11 of the m associations of current values hcj obtained during the current observation period t ', and after calculation of the contributions of each of the hcj current value associations to the profile of the user, the server 11 calculates a current confidence score Lt over the current observation period t. The calculation of the confidence score Lt over the period t, takes into account a previous confidence score Lt_1, calculated over a previous observation period t - 1, an average value of the contributions Qj calculated over the current period t and a bonus B intended to take into account slight variations in the behavior of the user that are nevertheless associated with normal behavior. Bonus B is applied to accelerate the growth of trust. More precisely, the current confidence score Lt is calculated as follows:

où Al représente une variation du score confiance entre la période d’observation courante t et la période d’observation précédente t — 1. La variation AL est ajoutée à un score de confiance précédent Lt_1, calculé sur la période d’observation précédente t — 1.where Al represents a variation of the confidence score between the current observation period t and the previous observation period t - 1. The variation AL is added to a previous confidence score Lt_1, calculated over the previous observation period t - 1.

Le bonus B est destiné à tenir compte du fait que le comportement de l’utilisateur ne peut être complètement identique d’une période d’observation à une autre. Par le biais de la contribution Qj, le bonus B est associé à la pénalité P appliquée dès lors qu’une association d’événements courante hcj est nouvelle par rapport au profil crée en phase d’apprentissage PO ; il permet de pondérer la pénalité P. On remarque que plus le bonus B est élevé et plus la variation de la confiance entre deux périodes d’observation successives augmente rapidement. Le score de confiance Lt est ramené à une valeur comprise dans un intervalle [0, 1] afin de pallier des valeurs trop hautes ou trop basses. En effet, de telles valeurs extrêmes ne permettraient pas de tenir compte de situations particulières et temporaires de l’utilisateur. Par exemple, un utilisateur qui part en déplacement pendant une journée, peut voir l’ensemble des capteurs de son terminal mobile relatifs à des éléments géographiques, tels que l’identification d’un réseau d’accès ou des données de géolocalisation, fournir des valeurs qui n’ont jamais été rencontrées en phase d’apprentissage et qui n’ont donc pas été intégrées lors de la génération de son profil. De telles valeurs peuvent faire chuter le score de confiance. Pour autant, cette situation n’étant que temporaire, le score de confiance doit rapidement remonter dès lors que l’utilisateur réintègre son environnement habituel. Borner le score de confiance à un intervalle de valeurs permet dans ce cas une remontée rapide du score de confiance.The bonus B is intended to take into account that the behavior of the user can not be completely identical from one observation period to another. By the contribution Qj, the bonus B is associated with the penalty P applied when a current event association hcj is new compared to the profile created in the learning phase PO; it allows to weight the penalty P. It is noticed that the higher the bonus B, the more the variation of the confidence between two successive observation periods increases rapidly. The confidence score Lt is reduced to a value within a range [0, 1] in order to compensate for values that are too high or too low. Indeed, such extreme values would not allow to take into account the particular and temporary situations of the user. For example, a user who travels for a day can see all the sensors on his / her mobile device related to geographic features, such as identifying an access network or geolocation data, providing values that have never been encountered in the learning phase and that were not integrated during the generation of his profile. Such values can drop the confidence score. However, this situation being only temporary, the confidence score must quickly rise as soon as the user reintegrates his usual environment. Bounding the confidence score to a range of values in this case allows a rapid rise in the confidence score.

Dans une étape suivante E17 de test, il est vérifié que le score de confiance Lt obtenu pendant la période d’observation courante t est supérieur ou égal à un score de confiance de référence Ls au-dessous duquel on estime que l’utilisateur qui manipule le terminal mobile 10 n’est pas l’utilisateur pour lequel le profil a été généré. Dans un premier cas (branche « ok » sur la figure 1) où le score de confiance Lt est supérieur ou égal au score de confiance de référence Ls, indiquant que le comportement de l’utilisateur observé pendant la période d’observation courante t est cohérent avec le profil de l’utilisateur, alors le procédé se poursuit dans l’étape E10 d’échantillonnage pour le terminal mobile 10. Dans un deuxième cas (branche « nok » sur la figure 1), où le score de confiance Lt est inférieur au score de confiance de référence Ls, indiquant que le comportement de l’utilisateur observé pendant la période t n’est pas cohérent avec son profil établi lors de la phase d’apprentissage PO, l’accès au service délivré par le serveur 11 est bloqué. Dans un autre exemple de réalisation, une authentification explicite de l’utilisateur est requise afin de poursuivre l’accès au service.In a following test step E17, it is verified that the confidence score Lt obtained during the current observation period t is greater than or equal to a reference confidence score Ls below which the user who handles is estimated to be the mobile terminal 10 is not the user for whom the profile has been generated. In a first case (branch "ok" in FIG. 1) where the confidence score Lt is greater than or equal to the reference confidence score Ls, indicating that the behavior of the user observed during the current observation period t is consistent with the user's profile, then the method continues in the sampling step E10 for the mobile terminal 10. In a second case (branch "nok" in Fig. 1), where the confidence score Lt is less than the reference confidence score Ls, indicating that the behavior of the user observed during the period t is not consistent with his profile established during the learning phase PO, access to the service delivered by the server 11 is blocked. In another exemplary embodiment, explicit authentication of the user is required in order to continue access to the service.

La valeur du score de confiance de référence Ls dépend de la sensibilité du service. On comprend que pour un service très sensible, tel qu’un service de consultation de données de santé ou de consultation de données bancaires, le score de confiance exigé est important, par exemple supérieur à 0,9. Par contre, des services qui ont un niveau d’exigence moindre en termes d’authentification de l’utilisateur définissent un score de confiance de référence moindre. Ce peut être le cas de services d’achats en ligne pour lesquels aucune donnée de paiement n’est préalablement enregistrée. Aucun achat ne peut donc être effectué sans saisie des coordonnées bancaires de l’utilisateur.The value of the reference confidence score Ls depends on the sensitivity of the service. It is understood that for a very sensitive service, such as a health data consultation service or banking data consultation, the required confidence score is important, for example greater than 0.9. On the other hand, services that have a lower level of user authentication requirements define a lower baseline confidence score. This may be the case for online shopping services for which no payment data is previously recorded. No purchase can be made without entering the bank details of the user.

Dans un exemple de réalisation, le procédé est mis en œuvre pour un service de type portail d’accès à un ensemble de services en ligne auxquels l’utilisateur est abonné. Par exemple, le portail permet de configurer son abonnement au réseau mobile, son abonnement au réseau Internet, etc. Dans ce cas, il est possible d’appliquer le procédé de manière adaptative et d’attribuer différents scores de confiance de référence selon les fonctionnalités de service accédées. Typiquement un score de confiance moindre est requis lorsque l’utilisateur accède à des pages Internet décrivant des produits ou des offres commerciales du fournisseur de service, alors que le score de confiance pour accéder à des données personnelles de l’utilisateur reste très élevé. Cela apporte une certaine souplesse dans l’authentification continue de l’utilisateur dans le cadre d’un service qui offre des combinaisons de fonctionnalités de service très nombreuses.In an exemplary embodiment, the method is implemented for a portal service type of access to a set of online services to which the user is subscribed. For example, the portal makes it possible to configure its subscription to the mobile network, its subscription to the Internet, etc. In this case, it is possible to apply the method adaptively and assign different reference confidence scores according to the service features accessed. Typically a lower confidence score is required when the user accesses Internet pages describing products or commercial offers of the service provider, while the score of trust to access the user's personal data remains very high. This provides some flexibility in the continuous authentication of the user as part of a service that offers many combinations of service features.

Le procédé décrit ici implique un terminal mobile. Un tel outil est particulièrement adapté à la mise en œuvre du procédé car il dispose, de base, de nombreux capteurs et les interactions entre l’utilisateur et le terminal mobile sont pour la plupart des utilisateurs très nombreuses au cours d’une journée. L’invention n’est cependant pas limitée à ce type de dispositif et dans un autre exemple de réalisation, le terminai est un « PC » (de l’anglais « Personal Computer »). Ce type de terminai dispose a priori de moins de capteurs, notamment lorsqu’il est fixe et nécessite peut-être une phase d’apprentissage un peu plus longue. Cependant, l’application du procédé à un service d’accès à un réseau d’entreprise est tout à fait envisageable notamment lorsque le réseau propose une pluralité d’applications dont l’accès nécessite une (ré-)authentification des utilisateurs. Dans un autre exemple de réalisation, le dispositif de l’utilisateur est une tablette tactile. L’invention s’applique en fait à tout dispositif, ou objet, connecté qui permet à l’utilisateur d’accéder au serveur 11 à distance au moyen d’un ou de plusieurs réseaux de communication.The method described here involves a mobile terminal. Such a tool is particularly suited to the implementation of the method because it has, base, many sensors and the interactions between the user and the mobile terminal are for the most part very numerous users during a day. The invention is however not limited to this type of device and in another embodiment, the terminai is a "PC" (of the English "Personal Computer"). This type of terminal has a priori fewer sensors, especially when it is fixed and may require a learning phase a little longer. However, the application of the method to an access service to an enterprise network is quite possible especially when the network offers a plurality of applications whose access requires a (re) authentication of users. In another embodiment, the device of the user is a touch pad. The invention applies in fact to any connected device or object that allows the user to access the server 11 remotely by means of one or more communication networks.

Le procédé d’authentification décrit permet d’offrir une authentification continue et transparente de l’utilisateur dans le cadre de son accès à un service. Cela procure une certaine souplesse et facilité 1 ’iitilisabilité du service.The described authentication method makes it possible to offer continuous and transparent authentication of the user as part of his access to a service. This provides flexibility and ease of use.

Un serveur 11 agencé pour mettre en œuvre une authentification contextuelle telle que décrite précédemment va maintenant être décrit en relation avec la figure 2.A server 11 arranged to implement contextual authentication as described above will now be described in connection with FIG. 2.

Le serveur 11 comprend : - une unité de traitement ou processeur 111, ou "CPU" (de l'anglais "Central Processing Unit"), destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ; - un ensemble de mémoires, dont une mémoire volatile 112, ou "RAM" (pour "Random Access Memory") utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 113 de type « EEPROM » (de l’anglais « Electrically Erasable Programmable Read Only Memory »). En particulier, la mémoire de stockage 113 est agencée pour mémoriser un module logiciel d’authentification contextuelle qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé d’authentification contextuelle décrit précédemment qui sont mises en œuvre par le serveur. La mémoire de stockage est agencée également pour mémoriser les profils utilisateurs construits durant la phase d’apprentissage PO. Dans une variante de réalisation, les profils utilisateurs sont mémorisés dans une base de données à laquelle accède le serveur 11 ;The server 11 comprises: a processing unit or processor 111, or "CPU" (of the "Central Processing Unit"), intended to load instructions in memory, to execute them, to perform operations; a set of memories, of which a volatile memory 112, or "RAM" (for "Random Access Memory") used to execute code instructions, store variables, etc., and a storage memory 113 of "EEPROM" type (English "Electrically Erasable Programmable Read Only Memory"). In particular, the storage memory 113 is arranged to store a contextual authentication software module that includes code instructions to implement those of the steps of the contextual authentication method described above that are implemented by the server. The storage memory is also arranged to store the user profiles built during the learning phase PO. In an alternative embodiment, the user profiles are stored in a database accessed by the server 11;

Le serveur 11 comprend également : -un module de réception 114, agencé pour recevoir en provenance du terminal utilisateur 10 une empreinte courante d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du terminal 10. L’empreinte courante est calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète Ku propre à l’utilisateur. Le module de réception 204 est agencé pour mettre en œuvre l’étape E14 du procédé d’authentification tel que décrit précédemment ; - un module de calcul d’une contribution 115, agencé pour calculer une contribution de l’empreinte courante à un profil de l’utilisateur. Le profil utilisateur comprend un ensemble d’empreintes d’associations de valeurs reçues durant une phase d’apprentissage PO. Le module de calcul d’une contribution 115 est agencé pour mettre en œuvre l’étape E15 du procédé d’authentification construit précédemment ; - un module 116 de calcul d’un score de confiance, agencé pour calculer un score de confiance courant Lt associé à une période d’observation courante. Le score de confiance courant est fonction de la contribution de l’empreinte courante et d’un score de confiance précédent Lt_1, calculé sur une période précédente. Le module 116 de calcul d’un score de confiance est agencé pour mettre en œuvre l’étape E16 du procédé d’authentification décrit précédemment ; -un module d’authentification 117, agencé pour valider l’authentification de l’utilisateur lorsque le score de confiance courant est supérieur ou égal à un score de confiance de référence.The server 11 also comprises: a reception module 114, arranged to receive from the user terminal 10 a current fingerprint of association of at least two distinct values measured by at least one sensor of the terminal 10. The current fingerprint is calculated by applying a hash function to the association of values and to a secret key Ku specific to the user. The reception module 204 is arranged to implement the step E14 of the authentication method as described above; a module for calculating a contribution 115, arranged to calculate a contribution of the current fingerprint to a profile of the user. The user profile includes a set of value association fingerprints received during a learning phase PO. The module for calculating a contribution 115 is arranged to implement the step E15 of the authentication method previously constructed; a module 116 for calculating a confidence score, arranged to calculate a current confidence score Lt associated with a current observation period. The current confidence score is a function of the contribution of the current fingerprint and a previous confidence score Lt_1, calculated over a previous period. The module 116 for calculating a confidence score is arranged to implement the step E16 of the authentication method described above; an authentication module 117, arranged to validate the authentication of the user when the current confidence score is greater than or equal to a reference confidence score.

Dans un exemple de réalisation, le serveur 11 comprend également les modules suivants, non représentés sur la figure 2. Ces modules sont agencés pour être mis en œuvre en phase d’apprentissage : - un deuxième module de réception, agencé pour recevoir, en provenance du terminal utilisateur 10, au moins une empreinte d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur pendant une période d’observation. L’empreinte est calculée en appliquant la fonction de hachage à l’association de valeurs et à la clé secrète Ku propre à l’utilisateur. Le deuxième module de réception est agencé pour mettre en œuvre l’étape E5 du procédé d’authentification tel que décrit précédemment, - un module d’incrément, agencé pour incrémenter, dans le profil utilisateur, un nombre d’occurrences de ladite empreinte, et un nombre total d’empreintes. Le profil utilisateur comprend ainsi le nombre total d’empreintes et le nombre d’occurrences de ladite empreinte. Le module d’incrément est agencé pour mettre en œuvre l’étape E6 du procédé d’authentification tel que décrit précédemment,In an exemplary embodiment, the server 11 also comprises the following modules, not shown in FIG. 2. These modules are arranged to be implemented in the learning phase: a second reception module, arranged to receive, from the user terminal 10, at least one association fingerprint of at least two distinct values measured by at least one sensor of the device of the user during an observation period. The fingerprint is calculated by applying the hash function to the association of values and to the secret key Ku specific to the user. The second reception module is arranged to implement the step E5 of the authentication method as described above, - an increment module, arranged to increment, in the user profile, a number of occurrences of said footprint, and a total number of fingerprints. The user profile thus comprises the total number of fingerprints and the number of occurrences of said fingerprint. The increment module is arranged to implement the step E6 of the authentication method as described above,

Les modules de réception 114, de calcul d’une contribution 115, 116 de calcul d’un score de confiance, d’authentification 117, le deuxième module de réception et le module d’incrément sont de préférence des modules logiciels comprenant des instructions logicielles pour mettre en œuvre les étapes du procédé d’authentification contextuelle décrites précédemment et mises en œuvre par le serveur 11. L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d’authentification contextuelle tel que décrit précédemment lorsque ce programme est exécuté par un processeur du serveur 11, - un support d’enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus.The receiving modules 114, calculating a contribution 115, 116 for calculating a confidence score, authentication 117, the second receiving module and the increment module are preferably software modules comprising software instructions. to implement the steps of the contextual authentication method described above and implemented by the server 11. The invention therefore also relates to: a computer program comprising instructions for implementing the contextual authentication method as previously described when this program is executed by a processor of the server 11, - a readable recording medium on which is recorded the computer program described above.

Un dispositif utilisateur 10 agencé pour mettre en œuvre le procédé d’authentification contextuelle tel que décrit précédemment, va maintenant être décrit en relation avec la figure 3. Dans cet exemple, le dispositif utilisateur 10 est un terminal mobile. L’invention n’est bien sûr pas limitée à ce type de dispositif et dans un autre exemple de réalisation, le dispositif utilisateur est un ordinateur personnel, ou une tablette.A user device 10 arranged to implement the contextual authentication method as described above, will now be described in connection with Figure 3. In this example, the user device 10 is a mobile terminal. The invention is of course not limited to this type of device and in another embodiment, the user device is a personal computer, or a tablet.

Le dispositif utilisateur 10 comprend : - une unité de traitement ou processeur 101, ou "CPU" (de l'anglais "Central Processing Unit"), destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ; - un ensemble de mémoires, dont une mémoire volatile 102, ou "RAM" (pour "Random Access Memory") utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 103 de type « EEPROM » (de l’anglais « Electrically Erasable Programmable Read Only Memory »). En particulier, la mémoire de stockage 103 est agencée pour mémoriser un module logiciel d’authentification contextuelle qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé d’authentification contextuelle décrit précédemment qui sont mises en œuvre par le dispositif utilisateur 10.The user device 10 comprises: a processing unit or processor 101, or "CPU" (of the "Central Processing Unit"), intended to load instructions in memory, to execute them, to perform operations; a set of memories, of which a volatile memory 102, or "RAM" (for "Random Access Memory") used to execute code instructions, store variables, etc., and a storage memory 103 of "EEPROM" type (English "Electrically Erasable Programmable Read Only Memory"). In particular, the storage memory 103 is arranged to store a contextual authentication software module that includes code instructions to implement those of the steps of the contextual authentication method described above which are implemented by the user device 10. .

Le dispositif utilisateur 10 comprend également : - un module d’obtention 104, agencés pour obtenir au moins deux valeurs distinctes d’au moins un capteur du dispositif pendant une période d’observation. Le module d’obtention 104 est agencé pour mettre en œuvre l’étape El et E10 du procédé d’authentification tel que décrit précédemment, - des moyens de discrétisation 105, agencés pour discrétiser une valeur obtenue d’un capteur lorsque la valeur est de type continu. Les moyens de discrétisation 105 sont agencés pour mettre en œuvre l’étape E2 et Eli du procédé d’authentification contextuelle tel que décrit précédemment, - des moyens d’envoi 106, agencés pour envoyer au serveur distant 11 une empreinte d’une association des au moins deux valeurs distinctes mesurées par le au moins un capteur, ladite empreinte étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète Ku propre à l’utilisateur. Les moyens d’envoi 106 sont agencés pour mettre en œuvre les étapes E4 et El3 du procédé d’authentification tel que décrit précédemment.The user device 10 also comprises: a obtaining module 104, arranged to obtain at least two distinct values of at least one sensor of the device during an observation period. The obtaining module 104 is arranged to implement step E1 and E10 of the authentication method as described above, - discretization means 105, arranged to discretize a value obtained from a sensor when the value is from continuous type. The discretization means 105 are arranged to implement the step E2 and Eli of the contextual authentication method as described above, sending means 106, arranged to send to the remote server 11 a fingerprint of an association of the at least two distinct values measured by the at least one sensor, said fingerprint being calculated by applying a hash function to the association of values and to a secret key Ku specific to the user. The sending means 106 are arranged to implement the steps E4 and El3 of the authentication method as described above.

Les modules d’obtention 104, de discrétisation 105 et d’envoi 106 sont de préférence des modules logiciels comprenant des instructions logicielles pour mettre en œuvre les étapes du procédé d’authentification contextuelle décrites précédemment et mises en œuvre par le dispositif utilisateur 10. L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé d’authentification contextuelle tel que décrit précédemment lorsque ce programme est exécuté par un processeur du dispositif utilisateur 10, - un support d’enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus. L’invention concerne également un système d’authentification contextuelle qui comprend au moins un dispositif utilisateur 10 tel que décrit précédemment et un serveur 11 tel que décrit précédemment.The obtainment 104, discretization 105 and send 106 modules are preferably software modules comprising software instructions for implementing the steps of the contextual authentication method previously described and implemented by the user device 10. L The invention therefore also relates to: - a computer program comprising instructions for implementing the contextual authentication method as described above when this program is executed by a processor of the user device 10, - a readable recording medium on which the computer program described above is recorded. The invention also relates to a contextual authentication system which comprises at least one user device 10 as described above and a server 11 as described above.

Claims (14)

REVENDICATIONS 1. Procédé d’authentification contextuelle d’un utilisateur auprès d’un serveur (11), ledit utilisateur étant équipé d’un dispositif utilisateur (10), ledit procédé, mis en œuvre par le serveur, comprenant : - réception (E14), en provenance du dispositif, d’une empreinte courante d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur, ladite empreinte courante étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète (Ku) propre à l’utilisateur, - calcul (El5) d’une contribution de ladite empreinte courante à un profil de l’utilisateur, ledit profil comprenant un ensemble d’empreintes d’associations de valeurs reçues durant une phase d’apprentissage (PO), - calcul (E16) d’un score de confiance courant (Lt) associé à une période d’observation courante, fonction de la contribution de ladite empreinte courante et d’un score de confiance précédent (Lt_{), calculé sur une période précédente, - succès de l’authentification lorsque le score de confiance courant est supérieur ou égal à un score de confiance de référence.A method for contextual authentication of a user to a server (11), said user being equipped with a user device (10), said method, implemented by the server, comprising: reception (E14) from the device, a current fingerprint association of at least two distinct values measured by at least one sensor of the device of the user, said current fingerprint being calculated by applying a hash function to the association of values and a secret key (Ku) specific to the user, - calculation (El5) of a contribution of said current fingerprint to a profile of the user, said profile comprising a set of fingerprints of associations of values received during a learning phase (PO), - calculating (E16) a current confidence score (Lt) associated with a current observation period, a function of the contribution of said current imprint and a config score. previous calculation (Lt_ {), calculated over a previous period, - success of the authentication when the current confidence score is greater than or equal to a reference confidence score. 2. Procédé d’authentification selon la revendication 1, dans lequel une pénalité est appliquée à la contribution lorsque l’empreinte courante ne figure pas dans le profil utilisateur.The authentication method according to claim 1, wherein a penalty is applied to the contribution when the current fingerprint does not appear in the user profile. 3. Procédé selon l’une des revendications précédentes dans lequel un bonus est pris en compte dans le calcul du score de confiance courant.3. Method according to one of the preceding claims wherein a bonus is taken into account in the calculation of the current confidence score. 4. Procédé selon l’une des revendications précédentes, dans lequel le score de confiance calculé est compris entre 0 et 1.4. Method according to one of the preceding claims, wherein the calculated confidence score is between 0 and 1. 5. Procédé d’authentification selon l’une des revendications précédentes, comprenant dans la phase d’apprentissage : - réception (E5), en provenance du dispositif utilisateur, d’au moins une empreinte d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur pendant une période d’observation, ladite empreinte étant calculée en appliquant la fonction de hachage à l’association de valeurs et à la clé secrète (Ku) propre à l’utilisateur, - incrément (E6), dans le profil utilisateur, d’un nombre d’occurrences de ladite empreinte, et d’un nombre total d’empreintes, ledit profil utilisateur comprenant le nombre total d’empreintes et le nombre d’occurrences de ladite empreinte.5. Authentication method according to one of the preceding claims, comprising in the learning phase: - receiving (E5) from the user device, at least one association fingerprint of at least two distinct values measured by at least one sensor of the device of the user during a period of observation, said fingerprint being calculated by applying the hash function to the association of values and to the secret key (Ku) specific to the user; increment (E6), in the user profile, a number of occurrences of said fingerprint, and a total number of fingerprints, said user profile comprising the total number of fingerprints and the number of occurrences of said fingerprint . 6. Procédé d’envoi d’empreintes à un serveur distant (11) par le dispositif d’un utilisateur (10), ledit procédé, mis en œuvre par le dispositif utilisateur comprenant : - obtention (El) d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif pendant une période d’observation, - discrétisation (E2) de ladite valeur lorsque la valeur est de type continu, - envoi (E4) au serveur distant d’une empreinte d’une association des au moins deux valeurs distinctes mesurées par le au moins un capteur, ladite empreinte étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète (Ku) propre à l’utilisateur.6. A method of sending fingerprints to a remote server (11) by the device of a user (10), said method implemented by the user device comprising: - obtaining (El) at least two values measured by at least one sensor of the device during a period of observation, - discretization (E2) of said value when the value is of continuous type, - sending (E4) to the remote server of a fingerprint of an association of the minus two distinct values measured by the at least one sensor, said fingerprint being calculated by applying a hash function to the association of values and to a secret key (Ku) specific to the user. 7. Procédé selon la revendication 6 dans lequel une association de valeurs comprend trois valeurs distinctes mesurées par au moins un capteur pendant la période d’observation.The method of claim 6 wherein a combination of values comprises three distinct values measured by at least one sensor during the observation period. 8. Serveur (11) agencé pour mettre en œuvre une authentification contextuelle d’un utilisateur, ledit serveur comprenant : - des moyens de réception (114), agencés pour recevoir en provenance du dispositif, une empreinte courante d’association d’au moins deux valeurs distinctes mesurées par au moins un capteur du dispositif de l’utilisateur, ladite empreinte courante étant calculée en appliquant une fonction de hachage à l’association de valeurs et à une clé secrète (Ku) propre à l’utilisateur, - des premiers moyens de calcul (115), agencés pour calculer une contribution (Qj) de ladite empreinte courante à un profil de l’utilisateur, ledit profil comprenant un ensemble d’empreintes d’associations de valeurs reçues durant une phase d’apprentissage (PO), - des deuxièmes moyens de calcul (116), agencés pour calculer un score de confiance courant (Lt) associé à une période d’observation courante, fonction de la contribution de ladite empreinte courante et d’un score de confiance précédent (Lt_1), calculé sur une période précédente, -des moyens d’authentification (117), agencés pour comparer le score de confiance courant à un score de confiance de référence, l’authentification étant réussie lorsque le score de confiance courant est supérieur ou égal au score de confiance de référence.A server (11) arranged to implement contextual authentication of a user, said server comprising: reception means (114), arranged to receive from the device, a current association fingerprint of at least two distinct values measured by at least one sensor of the user device, said current fingerprint being calculated by applying a hash function to the association of values and to a secret key (Ku) specific to the user, - first computing means (115) arranged to calculate a contribution (Qj) of said current fingerprint to a profile of the user, said profile comprising a set of value association fingerings received during a learning phase (PO) second calculating means (116) arranged to calculate a current confidence score (Lt) associated with a current observation period, a function of the contribution of said footprint ante and a previous confidence score (Lt_1), calculated over a previous period, -an authentication means (117), arranged to compare the current confidence score with a reference confidence score, the authentication being successful when the current confidence score is greater than or equal to the baseline confidence score. 9. Programme d’ordinateur sur un support de données et chargeable dans la mémoire d’un ordinateur, le programme comprenant des portions de code pour l’exécution des étapes du procédé d’authentification contextuelle selon l’une quelconque des revendications 1 à 5, lorsque le programme est exécuté sur ledit ordinateur.A computer program on a data carrier and loadable in a computer memory, the program comprising portions of code for executing the steps of the context authentication method according to any one of claims 1 to 5 , when the program is run on said computer. 10. Support de données dans lequel est enregistré le programme selon la revendication 9.Data carrier in which the program according to claim 9 is recorded. 11. Dispositif utilisateur (10) agencé pour envoyer des empreintes à un serveur distant (11) ledit dispositif utilisateur comprenant : - des moyens d’obtention, agencés pour obtenir au moins deux valeurs distinctes d’au moins un capteur du dispositif pendant une période d’observation, - des moyens de discrétisation, agencés pour discrétiser ladite valeur lorsque la valeur est de type continu, - des moyens d’envoi, agencés pour envoyer au serveur distant une empreinte d’une association des au moins deux valeurs distinctes mesurées par le au moins un capteur, ladite empreinte étant calculée en appbquant une fonction de hachage à l’association de valeurs et à une clé secrète (Ku) propre à l’utilisateur.11. User device (10) arranged to send fingerprints to a remote server (11), said user device comprising: - obtaining means, arranged to obtain at least two distinct values of at least one sensor of the device during a period of observation, - discretization means, arranged to discretize said value when the value is of continuous type, - sending means, arranged to send to the remote server a fingerprint of an association of the at least two distinct values measured by the at least one sensor, said fingerprint being calculated by appbquant a hash function to the association of values and a secret key (Ku) specific to the user. 12. Programme d’ordinateur sur un support de données et chargeable dans la mémoire d’un ordinateur, le programme comprenant des portions de code pour l’exécution des étapes du procédé d’authentification contextuelle selon l’une quelconque des revendications 6 à 7, lorsque le programme est exécuté sur ledit ordinateur.A computer program on a data medium and loadable into a computer memory, the program comprising portions of code for executing the steps of the context authentication method according to any of claims 6 to 7. , when the program is run on said computer. 13. Support de données dans lequel est enregistré le programme selon la revendication 12.Data carrier in which the program according to claim 12 is recorded. 14. système d’authentification contextuelle, comprenant : - au moins un dispositif utilisateur (10) selon la revendication 11, et - un serveur (11) selon la revendication 8.14. contextual authentication system, comprising: - at least one user device (10) according to claim 11, and - a server (11) according to claim 8.
FR1561600A 2015-11-30 2015-11-30 METHOD OF CONTEXTUAL AUTHENTICATION Pending FR3044441A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1561600A FR3044441A1 (en) 2015-11-30 2015-11-30 METHOD OF CONTEXTUAL AUTHENTICATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1561600A FR3044441A1 (en) 2015-11-30 2015-11-30 METHOD OF CONTEXTUAL AUTHENTICATION

Publications (1)

Publication Number Publication Date
FR3044441A1 true FR3044441A1 (en) 2017-06-02

Family

ID=55752388

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1561600A Pending FR3044441A1 (en) 2015-11-30 2015-11-30 METHOD OF CONTEXTUAL AUTHENTICATION

Country Status (1)

Country Link
FR (1) FR3044441A1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HILMI GUNES KAYACIK ET AL: "Data Driven Authentication: On the Effectiveness of User Behaviour Modelling with Mobile Device Sensors", PROCEEDINGS OF THE THIRD WORKSHOP ON MOBILE SECURITY TECHNOLOGIES (MOST), 17 May 2014 (2014-05-17), XP055286638 *
KRAWCZYK M., BELLARE R., CANETTI H.: "HMAC: Keyed-Hashing for Message Authentication;", RFC 2104, 28 February 1997 (1997-02-28), IETF, XP015007888 *

Similar Documents

Publication Publication Date Title
US20220327409A1 (en) Real Time Detection of Cyber Threats Using Self-Referential Entity Data
US11252171B2 (en) Methods and systems for detecting abnormal user activity
EP2748781B1 (en) Multi-factor identity fingerprinting with user behavior
US10862843B2 (en) Computerized system and method for modifying a message to apply security features to the message&#39;s content
CN105262779B (en) Identity authentication method, device and system
US20130042306A1 (en) Determining machine behavior
CN111742313A (en) System, apparatus and method for privacy preserving context authentication
US20080289047A1 (en) Anti-content spoofing (acs)
CN104836781A (en) Method distinguishing identities of access users, and device
EP3830723B1 (en) Increasing security of a password-protected resource based on publicly available data
EP3053320B1 (en) Method for detecting anomalies in network traffic
Spooren et al. Leveraging battery usage from mobile devices for active authentication
CA3022359A1 (en) Biometric authentication system based on the venous networks and unique non-falsifiable codes of tree structures and associated method
EP3472745A1 (en) Method for authenticating with a password comprising a salt
US20090313111A1 (en) Track impression of advertisement upon memory
FR3044441A1 (en) METHOD OF CONTEXTUAL AUTHENTICATION
WO2019122241A1 (en) Method for automatically constructing computer attack scenarios, computer program product and associated construction system
Tiwari et al. Behaviour based authentication: a new login strategy for smartphones
EP3391265A1 (en) Method for generating a challenge word, electronic device, set value peripheral, and system implementing said method
Perwej A Potent Technique for Identifying Fake Accounts on Social Platforms
CN114816964B (en) Risk model construction method, risk detection device and computer equipment
US20240111892A1 (en) Systems and methods for facilitating on-demand artificial intelligence models for sanitizing sensitive data
FR3094109A1 (en) Process and system for processing digital data from connected equipment while ensuring data security and protection of privacy
WO2014135519A1 (en) System and method for managing at least one online application, portable user object communicating via a radio protocol and remote device of the system
CN113536095A (en) Data recommendation method and device and storage medium

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170602