Brevet FR2893732A1 — publié le 20070525

La présente invention concerne un procédé et un dispositif d'authentification par un utilisateur du mode de fonctionnement d'un système en interagissant avec lui à travers son interface utilisateur. De nombreux appareils électroniques (ordinateurs personnels, PDA, téléphones mobiles, set top box, etc.) disposent d'une interface utilisateur permettant d'afficher ou de recueillir, entre autres choses, des données dites sensibles. Les données sensibles les plus communes sont les mots de passe, les numéros de compte, les numéros de cartes bancaires, etc. Ces données sont la proie de nombreuses attaques, en particulier sur des environnements ouverts et fortement communicants comme des ordinateurs personnels. Ces attaques visent le plus souvent à obtenir l'accès à des informations ou à des opérations réservées uniquement à l'utilisateur (par exemple accès au système d'information privé de l'utilisateur ou accès à des opérations bancaires de débit sur un compte de l'utilisateur). Ces attaques sont fréquemment mises en oeuvre en exploitant les faiblesses de conception ou de réalisation de l'interface utilisateur de la machine ou du périphérique utilisé par l'utilisateur pour accéder à ces données ou opérations sensibles. Typiquement, un attaquant cherchera à en intercepter les données qui transitent par l'interface utilisateur en s'insérant dans son système de communication (qui repose sur l'échange de messages, dans un certain nombre de cas courants), ou en accédant directement au zones mémoires utilisées pour communiquer avec les composants d'affichage ou de saisie. Un attaquant pourra chercher aussi à tromper un utilisateur en mimant certaines fenêtres de saisie bien connues de l'utilisateur dans le seul but de l'inciter à fournir une donnée sensible. Des solutions existent pour définir des éléments d'interfaces de confiance capables de sécuriser les interactions avec l'utilisateur. Par exemple, des solutions matérielles sont dédiées à la saisie de codes secrets ( pinpads ) mais sont relativement coûteuses. D'autres solutions émergeantes définissent des composants de confiance au sein d'interfaces standards disponibles sur les machines grand public (ordinateurs personnels, PDA, téléphones mobiles etc.) Ces solutions garantissent que les données saisies par l'utilisateur ainsi que les informations affichées ne peuvent être interceptées par une tierce partie. Par exemple, certains éléments tels que des zones de saisie de mot de passe 2 peuvent être sécurisées au moyen de claviers spéciaux qui protègent directement les données saisies par des moyens cryptographiques. De telles solutions n'ont d'intérêt que si les éléments d'interface de confiance sont reconnaissables par l'utilisateur et infalsifiables (i.e. non-imitables et non modifiables) par une tierce partie. En effet, une application malveillante peut facilement déguiser un élément graphique de saisie de données en un élément graphique de confiance et demander une information sensible à l'utilisateur sous un faux prétexte. L'utilisateur croit alors que l'information qu'il saisit est protégée par le système alors qu'elle est directement récupérée par l'attaquant. Il y a donc un besoin d'indicateurs de confiance permettant d'informer l'utilisateur du niveau de sécurité du système en cours d'utilisation. L'utilisateur pourra ainsi avoir la garantie que les informations qu'il échange avec le système (saisie, lecture, etc.) ou, de manière plus générale, que l'exécution du système sont gérés par le seul composant de confiance du système. De telles données d'authentification (qui sont généralement visuelles) doivent être infalsifiables et activables uniquement par le composant de confiance. Néanmoins, les solutions permettant de gérer un indicateur de confiance sont peu nombreuses et limitées pour différentes raisons. Les principales solutions connues sont : - L'affichage d'une icône à l'écran. Cette solution est falsifiable car la grande majorité des systèmes graphiques fournissent un mode plein-écran aux applications, leur permettant ainsi d'accéder à toutes les zones de l'écran, sans restriction, et de potentiellement simuler n'importe quel composant graphique. De plus, la réservation continue d'une zone de l'écran inaccessible même en mode plein-écran est beaucoup trop contraignante pour l'utilisateur et les applications multimédia et n'est pas envisagée, -L'attribution aux composants graphiques de confiance d'une apparence particulière: cette solution est également falsifiable car une application peut accéder au mode plein-écran sur lequel le système graphique n'a aucun contrôle. Il peut alors simuler un composant graphique de confiance, -L'affichage d'un indicateur dans un composant dédié, externe à l'écran (par exemple via une LED). Cette solution fonctionne mais requiert un 3 composant matériel spécifique. La grande majorité des systèmes ne sont pas dotés d'un tel composant. Les solutions actuelles sont donc limitées soit en terme de sécurité, soit par manque de réalité économique, soit par manque d'adaptabilité au matériel existant. Deux demandes de brevets antérieures apportent des réponses partielles aux problèmes ci-dessus : Le document WO 00/73913 divulgue un système capable d'opérer dans un mode dit de confiance comprenant un composant de confiance permettant de signaler à l'utilisateur le niveau de confiance du système. Lors de la saisie d'une information confidentielle, le composant de confiance présente à l'utilisateur un écran contenant une image secrète permettant à l'utilisateur d'authentifier cet écran avant de saisir l'information confidentielle. Ainsi, un tiers ne peut pas développer une application simulant cet écran afin de récupérer de manière frauduleuse l'information confidentielle en faisant croire à l'utilisateur qu'il est en relation avec l'application authentique, technique de vol d'information dite de phishing . Les données d'authentification du système de confiance étant réduites à une image statique û c'est à dire unique, et présentée à un moment pré- déterminé à l'utilisateur û la sécurité du procédé repose complètement sur la garantie que cette image secrète ne peut être interceptée puis reproduite. La mise en oeuvre de cette invention nécessite donc une architecture matérielle spécifique afin d'apporter un niveau de sécurité acceptable. Elle requiert entre autre des composants de confiance matériels tel qu'un processeur graphique sécurisé, ce qui implique des coûts matériels importants. Le document PCT/US0I/43476 divulgue un système de protection de la saisie d'un mot de passe dans lequel l'écran de saisie est authentifié par la présence d'un élément secret connu seulement de l'utilisateur. Ce système à l'inconvénient d'être spécifique à la sécurisation de 30 saisies de mots de passe. De plus, pour maintenir la sécurité de l'application, un système de verrouillage des autres applications est mis en place de façon à ce que seule l'application de sécurité soit exécutée pendant la saisie du mot de passe. Ainsi 4 une application tierce ne peut pas accéder à la mémoire d'écran pour recopier l'élément secret. Le système a donc aussi l'inconvénient d'obliger à modifier le système d'exploitation pour assurer la sécurité de l'application. La présente invention propose donc un procédé et un dispositif n'ayant pas les inconvénients précités et permettant, en particulier, à l'utilisateur d'authentifier un système de confiance en interagissant avec lui à travers son interface. L'intérêt principal de l'invention est de complexifier la capture et la reproduction des données d'authentification du système de confiance sans recours à des modifications coûteuses de l'architecture matérielle du système informatique ou de son système d'exploitation. Pour cela l'invention attribue un caractère dynamique aux données d'authentification. Les critères d'authentification comprennent non seulement des données statiques mais aussi des données comportementales, c'est à dire des réponses attendues du système en réaction à des événements déclenchés par l'utilisateur. Ainsi, la découverte des données statiques d'authentification ne suffit pas à tromper l'utilisateur car celui-ci peut alors vérifier les réactions du système à de nouvelles sollicitations. En effet, une application ayant découvert les données statiques d'authentification ne pourra simuler correctement le comportement du système. Tenter de découvrir le comportement du système est bien plus compliqué que de découvrir des données statiques présentées à l'utilisateur car un comportement est par nature dynamique et en réaction à un événement imprévisible déclenché par l'utilisateur alors que les données statiques sont stockées une fois pour toutes dans le système. L'objet de l'invention est un procédé d'authentification par un utilisateur d'un mode de fonctionnement sécurisé d'un système d'information comportant des moyens de présentation d'informations à l'utilisateur, des moyens de saisie de données par l'utilisateur et des moyens de stockage, ledit procédé comportant les étapes de : - stockage d'au moins un événement caractéristique confidentiel et d'au moins un secret, dans les moyens de stockage, chaque secret étant déclencheur d'un desdits événements, - saisie d'un secret par l'utilisateur, par l'intermédiaire des moyens de saisie de données, - vérification par le système d'information que le secret saisi correspond à un desdits secrets stockés, 5 - sur vérification positive, émission par le système d'information, via les moyens de présentation d'informations, de l'événement confidentiel stocké correspondant au secret saisi, -authentification du mode de fonctionnement sécurisé par l'utilisateur sur reconnaissance de l'événement confidentiel émis. D'autres caractéristiques sont : - le système d'information, lorsqu'il se trouve en mode de fonctionnement sécurisé, permet d'afficher une interface de confiance et l'authentification du mode de fonctionnement sécurisé par l'utilisateur est effectuée lors de l'affichage de ladite interface de confiance ; - préalablement à l'étape de saisie, l'interface de confiance est affichée et, un indicateur de sécurité préalablement stocké dans les moyens de stockage est présenté par l'interface de confiance ; - l'étape de stockage est effectuée par l'utilisateur ; - l'étape de stockage est effectuée dans un mode de fonctionnement sûr dit de personnalisation du système d'information et dans tout autre mode de fonctionnement aucun secret ou événement stocké dans les moyens de stockage ne peut être modifié ; - le passage dans le mode de fonctionnement de personnalisation est réalisé par l'utilisateur avec des moyens matériels ou logiciels qu'une application du système d'information ne peut ni simuler, ni réaliser. Un autre objet de l'invention est un dispositif d'authentification par un utilisateur d'un mode de fonctionnement sécurisé d'un système d'information, ledit dispositif comportant : - des moyens de stockage d'au moins un événement caractéristique confidentiel et d'au moins un secret, chaque secret étant déclencheur d'un desdits événements, - des moyens de saisie du secret par l'utilisateur, - des moyens de vérification que le secret saisi correspond au secret stocké, 6 - des moyens d'émission, sur vérification positive, de l'événement confidentiel stocké, tel que la reconnaissance par l'utilisateur de l'événement confidentiel authentifie le mode de fonctionnement sécurisé. Une autre caractéristique de cet objet est : - le système d'information, lorsqu'il se trouve en mode de fonctionnement sécurisé, permet d'afficher une interface de confiance, l'authentification du mode de fonctionnement sécurisé par l'utilisateur étant effectuée lors de l'affichage de ladite interface de confiance ; et - les moyens de stockage sont accessibles en écriture seulement dans un mode de fonctionnement sûr dit de personnalisation du système d'information et que dans tout autre mode de fonctionnement aucun secret ou événement stocké dans les moyens de stockage ne peut être modifié. Un autre objet est un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé lorsque ledit programme est exécuté sur un ordinateur. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins en annexe dans lesquels : - la Figure 1 est une vue schématique d'un dispositif d'authentification selon le mode de réalisation de l'invention ; et - la Figure 2 est un ordinogramme d'un procédé d'authentification selon un mode de réalisation de l'invention. En référence à la Figure 1, un système informatique, ou d'information 1, tel qu'une station de travail ou un ordinateur domestique, comporte un écran 2 de visualisation, des haut-parleurs 3 et des moyens 4 de saisie tels qu'un clavier et une souris. L'écran 2 de visualisation et les haut-parleurs 3 permettent au système informatique 1 de présenter à l'utilisateur des informations graphiques, respectivement sonores. Un module de sécurité 5 pilote l'écran 2 de visualisation, les haut-parleurs 3 et les moyens de saisie 4 pour les besoins d'une application de sécurité 6. Ce module de sécurité est responsable de l'exécution du système d'information en mode sécurisé. Ce module de sécurité 5 comporte un dispositif d'authentification 7. 7 Ce dispositif d'authentification 7 comporte des moyens 8 de stockage sécurisé. Ces moyens 8 de stockage sont, par exemple, une carte à puces ou une zone de mémoire à accès restreint. Ces moyens 8 de stockage mémorisent de manière confidentielle un ou plusieurs secrets et un ou plusieurs événements. Chaque événement est déclenché par la saisie d'un secret particulier. Les secrets sont, par exemple, une suite de caractères à saisir au clavier ou bien un mouvement particulier effectué par la souris. Les événements correspondent, par exemple, à l'affichage d'une phrase prédéterminée, ou d'un dessin, ou bien à la diffusion d'une musique par les haut-parleurs 3. Les secrets et les événements étant stockés de manière confidentielle, ne sont connus que du dispositif d'authentification 7 et de l'utilisateur. Le dispositif d'authentification 7 est connecté aux moyens 4 de saisie ainsi qu'à l'écran 2 de visualisation et aux haut-parleurs 3 par l'intermédiaire du module de sécurité 5. Le dispositif d'authentification 7 comporte en outre des moyens 9 de vérification des secrets c'est-à-dire des moyens qui vérifient qu'un secret saisi correspond au secret stocké. II comporte également des moyens 10 d'émission ou de diffusion des événements stockés sur l'écran 2 de visualisation et/ou les haut-parleurs 3, ces moyens 10 d'émission étant activés par les moyens 9 de vérification. L'accès en écriture aux moyens de stockage 8 est contrôlé par des moyens de verrouillage 10A. De préférence, ces moyens de verrouillage 10A sont constitués de moyens matériels tels qu'un interrupteur déclenchant une action particulière. Par exemple, ces moyens de verrouillage 10A correspondent à un interrupteur spécial de mise sous tension du système dans un état sécurisé permettant l'accès en écriture aux moyens de stockage 8. Le fonctionnement de ce système va maintenant être explicité en relation avec la Figure 2. Le procédé comporte une étape préalable 11 de stockage d'au moins un événement caractéristique confidentiel et d'un secret déclencheur de cet événement dans les moyens 8 de stockage sécurisé. Cette étape est normalement effectuée par l'utilisateur dans une phase d'initialisation du système d'information. Elle peut être effectuée à nouveau par 8 l'utilisateur dans une phase ultérieure afin de mettre à jour les secrets et événements stockés dans les moyens 8 de stockage sécurisé. De manière générale, le système doit se trouver dans un mode de fonctionnement sûr (dit de personnalisation ) pour accepter des opérations de stockage des événements caractéristiques et des secrets déclencheurs. Ces opérations sont effectuées dans un environnement sécurisé afin de garantir que les informations échangées entre l'utilisateur et le module de sécurité ne sont pas interceptables par un tiers. Par exemple, elles peuvent être exécutées après une réinitialisation de 10 système et un démarrage de celui-ci dans un mode mono-tâche. Cet environnement sécurisé a été initialisé par l'utilisation des moyens de verrouillage 10A. Durant cette étape, l'utilisateur saisit un secret sous la forme d'une suite de touches du clavier ou d'un mouvement particulier de la souris. Il définit 15 également un événement confidentiel. Cet événement est, par exemple, une phrase ou une image à afficher sur l'écran 2 ou bien une mélodie à faire exécuter par les haut-parleurs 3. Ces informations sont des secrets partagés par l'utilisateur et le dispositif d'authentification. 20 Le système informatique 1 est ensuite remis dans un mode de fonctionnement normal (c'est à dire différent du mode de personnalisation). Dans ce mode de fonctionnement normal, les opérations de stockage ou de modification des événements caractéristiques et des secrets déclencheurs sont interdites afin d'empêcher tout risque de fraude. De même, l'accès en lecture à 25 ces informations est limité aux moyens 9 de vérification. Dans ce mode de fonctionnement normal, lorsque l'application de sécurité 6 a besoin d'obtenir une information confidentielle de la part de l'utilisateur, elle déclenche en 12 l'affichage d'une interface de confiance par l'intermédiaire du module de sécurité 5. 30 L'utilisateur voit, par exemple, une fenêtre de saisie apparaître sur son écran avec un champ de saisie d'un mot de passe. L'utilisateur souhaite authentifier cette fenêtre, c'est-à-dire vérifier qu'elle est bien affichée sous le contrôle du module de sécurité et pas par une application tierce. 9 L'utilisateur exécute alors en 14 le secret, c'est-à-dire qu'il saisit la suite de caractères ou le mouvement de souris prédéfini. Le dispositif 7 d'authentification vérifie en 16 que le secret saisi correspond à un secret stocké, et, si la vérification est positive, réagit à cette saisie du secret en diffusant en 18 l'événement confidentiel associé à ce secret, ceux-ci étant stockés dans ses moyens 8 de stockage sécurisé. L'utilisateur, constatant en 18 que l'événement produit par le système correspond à celui qui a été stocké préalablement et associé au secret qu'il vient d'exécuter, authentifie en 20 le mode de fonctionnement sécurisé (et donc l'interface de confiance, c'est à dire la fenêtre de saisie) et saisit en 22, en confiance, l'information confidentielle demandée. Avantageusement, l'utilisateur peut stocker plusieurs couples secret/événement et décider à sa guise du secret qu'il va utiliser comme moyen d'authentification. La sécurité du système est ainsi renforcée car il devient encore plus difficile pour un tiers de détecter les couples secrets/événements et de reproduire correctement l'événement attendu suite à la saisie d'un secret quelconque parmi la liste des secrets. Dans une variante de ce procédé, encore plus sécurisée, la fenêtre de saisie affiche dès le début une information confidentielle connue de l'utilisateur et 20 préalablement stockée dans les moyens 8 de stockage sécurisé. Dans une autre variante, l'étape 11 de stockage du secret et de l'événement est effectuée par l'administrateur de l'application sécurisée et ce secret et cet événement sont transmis par un moyen confidentiel, tel qu'un courrier, au client utilisateur. 25 Le système informatique 1 décrit ci-dessus peut être tout système capable d'interagir avec un utilisateur. Outre une station de travail ou un ordinateur domestique, ce système peut également être par exemple un terminal mobile, un ordinateur de poche ou une console interactive de télévision. Le procédé et le dispositif d'authentification décrit permettent avantageusement 30 l'authentification d'un mode de fonctionnement sécurisé (en particulier lors de l'affichage d'une interface de confiance) par la gestion d'un événement déclenché par un secret. Il est ainsi beaucoup plus difficile à un tiers d'intercepter, puis de reproduire cet événement (ou de contrefaire l'interface de confiance). REVENDICATIONS 1. Procédé d'authentification par un utilisateur d'un mode de fonctionnement sécurisé d'un système d'information comportant des moyens (2,3) de présentation d'informations à l'utilisateur, des moyens de saisie (4) de données par l'utilisateur et des moyens de stockage (8), ledit procédé comportant les étapes de : - stockage (11) d'au moins un événement caractéristique confidentiel et d'au moins un secret, dans les moyens de stockage, chaque secret étant déclencheur d'un desdits événements, saisie (14) d'un secret par l'utilisateur, par l'intermédiaire des moyens de saisie de données, - vérification (16) par le système d'information que le secret saisi correspond à un desdits secrets stockés, - sur vérification positive, émission (18) par le système d'information, via les moyens de présentation d'informations, de l'événement confidentiel stocké correspondant au secret saisi, - authentification (20) du mode de fonctionnement sécurisé par l'utilisateur sur reconnaissance de l'événement confidentiel émis. 2. Procédé d'authentification selon la revendication 1, caractérisé en ce que le système d'information, lorsqu'il se trouve en mode de fonctionnement sécurisé, permet d'afficher une interface de confiance et en ce que l'authentification du mode de fonctionnement sécurisé par l'utilisateur est effectuée lors de l'affichage de ladite interface de confiance. 3. Procédé d'authentification selon la revendication 2, caractérisé en ce que préalablement à l'étape de saisie, l'interface de confiance est affichée et, un indicateur de sécurité préalablement stocké dans les moyens de stockage est présenté par l'interface de confiance. 4. Procédé d'authentification selon l'une des revendications 1, 2 ou 3, caractérisé en ce que l'étape de stockage est effectuée par l'utilisateur. 5. Procédé d'authentification selon la revendication 4, caractérisé en ce que l'étape de stockage est effectuée dans un mode de fonctionnement sûr dit de personnalisation du système d'information et que dans tout autre mode de fonctionnement aucun secret ou événement stocké dans les moyens de stockage ne peut être modifié. 11 6. Procédé d'authentification selon la revendication 5, caractérisé en ce que le passage dans le mode de fonctionnement de personnalisation est réalisé par l'utilisateur avec des moyens matériels ou logiciels qu'une application du système d'information ne peut ni simuler, ni réaliser. 7. Dispositif d'authentification par un utilisateur d'un mode de fonctionnement sécurisé d'un système d'information, ledit dispositif comportant : - des moyens (8) de stockage d'au moins un événement caractéristique confidentiel et d'au moins un secret, chaque secret étant déclencheur d'un desdits événements, - des moyens (4) de saisie du secret par l'utilisateur, - des moyens (9) de vérification que le secret saisi correspond au secret stocké, - des moyens (10) d'émission, sur vérification positive, de l'événement confidentiel stocké, tel que la reconnaissance par l'utilisateur de l'événement confidentiel authentifie le mode de fonctionnement sécurisé. 8. Dispositif d'authentification selon la revendication 7, caractérisé en ce que le système d'information, lorsqu'il se trouve en mode de fonctionnement sécurisé, permet d'afficher une interface de confiance, l'authentification du mode de fonctionnement sécurisé par l'utilisateur étant effectuée lors de l'affichage de ladite interface de confiance. 9. Dispositif d'authentification selon l'une des revendications 7 ou 8, caractérisé en ce que les moyens de stockage ne sont accessibles en écriture que dans un mode de fonctionnement sûr dit de personnalisation du système d'information et que dans tout autre mode de fonctionnement aucun secret ou événement stocké dans les moyens de stockage ne peut être modifié. 10. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une quelconque des revendications 1 à 6 lorsque ledit programme est exécuté sur un ordinateur.