Brevet FR3044441A1 — publié le 20170602

Procédé d'authentification contextuelle La présente invention concerne un procédé d'authentification contextuelle. 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 oeuvre une authentification implicite et en continu d'un utilisateur lors de l'utilisation d'un service en ligne. 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. 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 oeuvre jusqu'à obtenir une stabilité des profils qui définit ainsi une zone de confort. Une fois la stabilité 3044441 2 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 5 explicite de l'utilisateur est requise. 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 oeuvre de cette 10 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é 15 malveillante permettrait à cette entité de se substituer à l'utilisateur lors de son accès aux 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. 20 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 oeuvre 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, 25 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, 30 - 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. 3044441 3 Le procédé d'authentification contextuelle décrit ici permet la mise en oeuvre 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 5 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 10 à un profil généré lors d'une phase d'apprentissage. 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 15 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 20 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 25 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 oeuvre de façon continue et transparente pour l'utilisateur. Cela facilite l'utilisation du service pour l'utilisateur. 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. 30 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 35 négative, comprise entre 0 et -1. Plus P est faible et plus la confiance décroît rapidement. 3044441 4 Dans un exemple de réalisation, un bonus est pris en compte dans le calcul du score de confiance courant. 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 5 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 10 pénalité. Plus le bonus B est élevé et plus la variation de la confiance entre deux périodes d'observation successives augmente rapidement. Dans un exemple de réalisation, le score de confiance calculé est compris entre 0 et 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 15 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 20 score de confiance à un intervalle de valeurs permet dans ce cas une remontée rapide du score de confiance. 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 25 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. 30 Ces étapes décrites sont mises en oeuvre 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 oeuvre par le dispositif utilisateur comprenant : 3044441 5 - 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 5 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. 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. 10 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 15 comportements similaires de l'utilisateur. L'invention porte également sur un serveur agencé pour mettre en oeuvre 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 20 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, 25 - 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 30 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 oeuvre par le serveur tel que décrit précédemment, lorsque le programme est exécuté sur ledit 35 ordinateur. 3044441 6 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 : 5 - 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 10 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 15 pour l'exécution des étapes du procédé d'authentification contextuelle mises en oeuvre 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. Enfin, l'invention concerne aussi un système d'authentification contextuelle, 20 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 25 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 oeuvre le procédé d'authentification contextuelle, selon un exemple de réalisation ; 30 - la figure 3 est une représentation schématique d'un dispositif utilisateur, apte à mettre en oeuvre le procédé d'authentification contextuelle, selon un exemple de réalisation. 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. 3044441 7 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 5 agencées pour mettre en oeuvre celles des étapes du procédé d'authentification contextuelle de l'utilisateur qui sont mises en oeuvre par le serveur 11. Le terminal 10 comprend un module logiciel comprenant des instructions de code agencées pour mettre en oeuvre celles des étapes du procédé d'authentification contextuelle de l'utilisateur qui sont mises en oeuvre par le terminal 10. Le terminal mobile 10 comprend un ensemble de capteurs (non représentés sur la figure 1), 10 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. 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 15 gyromètre mesure une rotation du terminal, un cinquième capteur mesure l'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 20 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 25 un intervalle continu de valeurs potentiellement assez grand, ou de la durée d'un appel. Le procédé d'authentification comprend une première phase P0, 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 30 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 35 mesurées au moyen des capteurs. Ainsi, ces mesures sont utilisées pour établir, par observation 3044441 8 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. 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 5 é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. Dans une étape initiale E0 de configuration, un ensemble de capteurs sont activés sur le terminal 10 de l'utilisateur. Dans une étape suivante El d'échantillonnage, il est relevé pendant un intervalle de 10 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 15 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 20 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. 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 25 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. 30 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 hi, 1 i 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 hi associe trois mesures, relevées sur trois capteurs ou 35 moins durant la période t. Elle peut également associer trois mesures de deux capteurs, 3044441 9 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 5 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é 10 son terminal mobile deux fois durant la période d'échantillonnage t, alors il est généré les trois associations d'événements h1, h2, h3 suivantes : - h1 ={wifiA, accelAl, appliA}, - h2 = { wifiA, accelA2, appliA}, et - h3 ={ accelAl, accelA2, appliA}. 15 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. Dans une étape suivante E4 de calcul d'une empreinte et d'envoi, chacune des associations de valeurs hi de l'ensemble obtenu au cours de l'étape précédente est hachée par le 20 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 25 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 30 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 hi ainsi obtenues sont envoyées au serveur 35 distant 11 en fin d'étape E4. 3044441 10 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 5 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 10 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 15 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 20 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. L'utilisateur reçoit ensuite un nouveau terminal mobile qui comprend le cas échéant une 25 nouvelle clé secrète qui permet à l'utilisateur de se réenregistrer auprès du serveur 11. L'utilisateur met alors en oeuvre la phase d'apprentissage PO au moyen de son nouveau terminal mobile et de sa nouvelle clé secrète et accède ensuite à distance au service délivré par le serveur 10 en mettant en oeuvre 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 30 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 35 entité de confiance qui émet les clés. 3044441 11 Dans une étape suivante E6 de construction d'un profil de l'utilisateur, le serveur 11 met à jour le nombre d'occurrences Oi de chaque empreinte d'association de valeurs hi reçue au cours de l'étape précédente. Le nombre d'occurrences Oi de chaque empreinte d'association de valeurs hi constitue une cartographie des associations de valeurs de l'utilisateur. Le serveur 5 11 comptabilise également le nombre total T d'empreintes d'associations de valeurs qu'il a reçues du terminal mobile. Ainsi, T = . La cartographie et le nombre total T d'associations d'événements constituent le profil de l'utilisateur du terminal mobile 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. 10 La fin des itérations des étapes El à E6 constitue la fin de la phase d'apprentissage P0. « Suffisamment » peut se décliner de différentes manières. Par exemple, la phase d'apprentissage est mise en oeuvre 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 15 valeurs hi a été reçu. Dans un autre exemple de réalisation, la phase d'apprentissage est mise en oeuvre en continu, sur une période de temps glissante. Dans une phase suivante d'authentification Pl, mise en oeuvre 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 20 mobile 10 et comparées au profil associé à l'utilisateur et construit durant la phase d'apprentissage P0. Durant la phase Pl 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. 25 Ainsi, dans une étape suivante El0 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. Dans une étape El 1 de discrétisation, comparable à l'étape E2 de la phase d'apprentissage P0, le terminal mobile 10 discrétise les valeurs de capteurs de type continu. 30 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 hq,1 j m, à partir des valeurs relevées durant l'étape E10 d'échantillonnage. 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 hq, est hachée par le 3044441 12 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. Les empreintes d'associations courantes hcj sont reçues par le serveur 11 dans une étape E14 de réception. 5 Dans une étape suivante E15 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 P0. La contribution Qj est calculée comme suit : {0 j 1T . Q j = , st Oj > 0 P, sinon où Oj correspond au nombre d'occurrences de l'association d'événements courante hcj 10 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 P0. Elle est donc représentative d'un comportement de l'utilisateur qui n'a pas 15 été observé durant la phase d'apprentissage P0. 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. Dans une étape suivante El6 de calcul d'un score de confiance courant, mise en oeuvre 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 20 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_i 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 25 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 : AL= (B + ET=1(2 j), et LT = min(max(0,Lt_1 + AL) , 1), 3044441 13 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_i , calculé sur la période d'observation précédente t - 1. Le bonus B est destiné à tenir compte du fait que le comportement de l'utilisateur ne 5 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. 10 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 15 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 20 de valeurs permet dans ce cas une remontée rapide du score de confiance. 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 25 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, 30 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 P0, 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. La valeur du score de confiance de référence Ls dépend de la sensibilité du service. On 35 comprend que pour un service très sensible, tel qu'un service de consultation de données de 3044441 14 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 5 préalablement enregistrée. Aucun achat ne peut donc être effectué sans saisie des coordonnées bancaires de l'utilisateur. Dans un exemple de réalisation, le procédé est mis en oeuvre 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 10 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 15 é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. Le procédé décrit ici implique un terminal mobile. Un tel outil est particulièrement adapté à la mise en oeuvre 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 20 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 terminal est un « PC » (de l'anglais « Personal Computer »). Ce type de terminal 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 25 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. 30 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é l'utilisabilité du service. Un serveur 11 agencé pour mettre en oeuvre une authentification contextuelle telle que 35 décrite précédemment va maintenant être décrit en relation avec la figure 2. 3044441 15 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 ; 5 - 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 10 instructions de code pour mettre en oeuvre celles des étapes du procédé d'authentification contextuelle décrit précédemment qui sont mises en oeuvre par le serveur. La mémoire de stockage est agencée également pour mémoriser les profils utilisateurs construits durant la phase d'apprentissage P0. 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 ; 15 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 20 module de réception 204 est agencé pour mettre en oeuvre 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 P0. Le module 25 de calcul d'une contribution 115 est agencé pour mettre en oeuvre 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 30 précédent Lt_i, calculé sur une période précédente. Le module 116 de calcul d'un score de confiance est agencé pour mettre en oeuvre 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 35 de référence. 3044441 16 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 oeuvre en phase d' apprentissage : - un deuxième module de réception, agencé pour recevoir, en provenance du terminal 5 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 oeuvre l'étape E5 du procédé d'authentification tel que décrit précédemment, 10 - 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 oeuvre l'étape E6 du procédé d'authentification tel que décrit précédemment, 15 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 oeuvre les étapes du procédé d'authentification contextuelle décrites précédemment et mises en oeuvre par le serveur 11. 20 L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions pour la mise en oeuvre 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 25 décrit ci-dessus. Un dispositif utilisateur 10 agencé pour mettre en oeuvre 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 30 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. 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 35 opérations ; 3044441 17 - 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 5 pour mémoriser un module logiciel d'authentification contextuelle qui comprend des instructions de code pour mettre en oeuvre celles des étapes du procédé d'authentification contextuelle décrit précédemment qui sont mises en oeuvre par le dispositif utilisateur 10. Le dispositif utilisateur 10 comprend également : - un module d'obtention 104, agencés pour obtenir au moins deux valeurs distinctes 10 d'au moins un capteur du dispositif pendant une période d'observation. Le module d'obtention 104 est agencé pour mettre en oeuvre 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 15 pour mettre en oeuvre l'étape E2 et E11 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 20 et à une clé secrète Ku propre à l'utilisateur. Les moyens d'envoi 106 sont agencés pour mettre en oeuvre les étapes E4 et El3 du procédé d'authentification tel que décrit précédemment. 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 oeuvre les étapes du procédé d'authentification contextuelle décrites précédemment et mises en oeuvre par le 25 dispositif utilisateur 10. L'invention concerne donc aussi : - un programme d'ordinateur comportant des instructions pour la mise en oeuvre 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, 30 - 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. 35 REVENDICATIONS1. 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 oeuvre 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 (K') 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 (P0), - calcul (E16) d'un score de confiance courant (Le) 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_i), 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. 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. 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. 4. Procédé selon l'une des revendications précédentes, dans lequel le score de confiance calculé est compris entre 0 et 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 (K') propre à l'utilisateur, 3044441 19 - 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 6. Procédé d'envoi d'empreintes à un serveur distant (11) par le dispositif d'un utilisateur (10), ledit procédé, mis en oeuvre 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, 10 - 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 (K') propre à l'utilisateur. 15 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. 8. Serveur (11) agencé pour mettre en oeuvre une authentification contextuelle d'un utilisateur, ledit serveur comprenant : 20 - 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 25 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 (P0), - des deuxièmes moyens de calcul (116), agencés pour calculer un score de confiance courant (Le) associé à une période d'observation courante, fonction de la contribution de ladite empreinte courante et d'un score de confiance précédent (4_1), calculé sur une période 30 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. 3044441 20 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. 5 10. Support de données dans lequel est enregistré le programme selon la revendication 9. 11. Dispositif utilisateur (10) agencé pour envoyer des empreintes à un serveur distant 10 (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, 15 - 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 (Ku) propre à l'utilisateur. 20 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. 25 13. Support de données dans lequel est enregistré le programme selon la revendication 12. 14. système d'authentification contextuelle, comprenant : - au moins un dispositif utilisateur (10) selon la revendication 11, et 30 - un serveur (11) selon la revendication 8.