FR 3017731 A1 20150821 FR 1451303 A 20140218 Procédé d'authentification unique renforcée DOMAINE TECHNIQUE DE L'INVENTION [0001] L'invention se rapporte à procédé d'authentification unique renforcée. [0002] Le domaine de l'invention est celui de l'authentification unique renforcée pour le déverrouillage d'application sur un terminal informatique. [0003] On entendra par terminal informatique, dans le cadre de la présente description, tout dispositif informatique permettant à un utilisateur d'interagir avec des ressources réseaux ou locales au terminal. Sont en particulier visés les ordinateurs personnels, aussi appelé PC, qu'ils soient fixes ou portables. Sont également visés les tablettes informatiques, les dispositifs hybrides entre tablettes et PC ainsi que les Smartphones. ETAT DE LA TECHNIQUE ANTERIEURE [0004] De nos jours le nombre d'applications disponibles, qu'elles soient lourdes ou légères, augmente constamment. Il y a des applications métiers, des applications financières, des applications de messagerie, des applications d'interconnexion pour être partout comme chez soi, des intranets, des extranets.... Il y en a parfois plusieurs d'un même type. [0005] Une application lourde est une application dont la mise en oeuvre sur un terminal nécessite une installation de composants logiciels spécifiques sur ledit terminal. Une application légère est une application dont la mise en oeuvre se fait via un client dit universel, c'est-à-dire typiquement un navigateur internet. [0006] L'accès aux fonctionnalités de chaque application est conditionné par une authentification c'est-à-dire, dans la plupart des cas, par la saisie d'un couple [identifiant, mot de passe]. Dans ce contexte un identifiant est aussi appelé un login. D'une manière généralisée on parle de données d'authentification. Dans certains cas les données d'authentification se résument à un code qui peut changer périodiquement. [0007] La saisie de données d'authentification correctes permet de déverrouiller l'application, c'est-à-dire d'aller au-delà de l'interface d'invite de saisie des dites données d'authentification et donc d'accéder aux fonctionnalités de l'application. Les motivations pour protéger les fonctionnalités d'une application sont diverses, les plus fréquentes étant la protection des données et la protection de la propriété intellectuelle. [0008] Un utilisateur doit donc manipuler une pluralité de données d'authentification pour ses utilisations courantes d'applications que ce soit dans un cadre professionnel ou dans un cadre personnel. Dans l'état de la technique la gestion de cette pluralité se fait par divers moyens : - Petit carnet que l'on peut égarer ou se faire dérober. Dans ce cas on peut crypter le contenu du carnet, mais cela complique son utilisation. Les données doivent être lues à chaque invite et saisie avec toutes les erreurs de frappe et de saisie envisageables ; - Utilisation des mêmes données d'authentification pour toutes les applications. Dans ce cas la compromission des données communes d'authentification entraîne la compromission de toutes les applications. - Utilisation d'un petit carnet électronique dont l'ouverture est protégée par un mot de passe. Il faut quand même rechercher et ressaisir les données d'authentification à chaque invite de saisie de données d'authentification, - Utilisation d'une carte à microcircuit ce qui suppose la présence d'un lecteur de carte à microcircuit, - La solution la plus récente est l'utilisation d'un système dit SSO pour Single Sign On (Signature Unique) qui est une application qui, une fois déverrouillée, détecte et remplit les invites de saisies de données d'authentification. Un tel système, requiert l'installation sur le terminal d'une application appelée application SSO. Une telle application se compose d'une partie applicative appelée moteur SSO, et d'une base de données, généralement cryptée, où sont enregistrées les informations d'authentification. Cela pose au moins deux problèmes : - Les données d'authentification ne sont disponibles que sur le terminal sur lequel l'application SSO est installée, il faut donc l'installer et la configurer sur tous les terminaux utilisés ou utilisables, et ce même si la base de données est distante ; - Un accès au terminal permet d'avoir accès à la base de données de données d'authentification et donc permet des attaques contre le cryptage de ladite base de données. - Un accès à un terminal déverrouillé suffit à permettre l'accès à l'application SSO et donc si on oublie de verrouiller son terminal, toutes les applications sont accessibles. EXPOSE DE L'INVENTION [0009] L'invention vise à remédier à tout ou partie des inconvénients de l'état de la technique identifiés ci-dessus, et notamment à proposer des moyens pour permettre l'établissement d'une communication entre une application verrouillée en attente de données d'authentification et un dispositif mobile. L'application verrouillée est associée à un moteur SSO qui lui-même attend des données d'authentification pour les injecter dans l'application verrouillée. Le moteur SSO affiche un cryptogramme visuel, par exemple un QR code ou code-barres à deux dimensions. Le cryptogramme est scanné par le dispositif mobile mettant en oeuvre le procédé selon l'invention. Le contenu du résultat du scan permet au dispositif mobile de produire un message d'authentification en interrogeant une base de données locale du dispositif mobile. Ce message est ensuite envoyé au moteur de SSO qui le traite et injecte les données d'authentification dans l'application verrouillée. [0010] Dans ce dessein, un aspect de l'invention se rapporte à un procédé d'authentification unique renforcée caractérisé en ce qu'il comporte les étapes suivantes : - Acquisition optique d'un message de demande d'authentification comportant au moins : - Un identifiant de terminal, et - Un identifiant d'application - Recherche de données d'authentification dans d'une base de données de données d'authentification en utilisant l'identifiant d'application, - Production d'un message d'authentification comportant au moins : - Une adresse de destinataire obtenue via l'identifiant de terminal - Un contenu comportant au moins les données d'authentification issues de la recherche, - Emission du message d'authentification. [0011] Outre les caractéristiques principales qui viennent d'être mentionnées 5 dans le paragraphe précédent, le procédé/dispositif selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon les combinaisons techniquement possibles: - l'acquisition optique est réalisée via un code-barres en deux dimensions ; 10 - le message de demande d'authentification comporte la clé publique d'une bi-clé pour chiffrer le contenu du message d'authentification ; - le message de demande d'authentification comporte un aléa pour saler le contenu du message d'authentification avant un chiffrement ; - la production du message d'authentification est conditionnée par la 15 fourniture d'un secret ; - si la recherche est infructueuse, on met en oeuvre une étape de collecte de données pour mettre à jour la base de données de donnée d'authentification. [0012] L'invention se rapporte également à un dispositif de stockage 20 numérique comportant un fichier correspondant à des codes instructions mettant en oeuvre le procédé selon une combinaison des caractéristiques précédentes. [0013] Dispositif mettant en oeuvre le procédé selon une combinaison des caractéristiques précédentes. 25 BREVE DESCRIPTION DES FIGURES [0014] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - la figure 1, une vue de moyens permettant la mise en oeuvre de l'invention ; 30 - la figure 2, une illustration d'étapes du procédé selon l'invention. [0015] Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l'ensemble des figures. [0016] L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention. DESCRIPTION DETAILLEE D'UN MODE DE REALISATION [0017] La figure 1 montre un terminal 101 informatique. Dans le cadre de cette description on considère qu'un terminal informatique est tout appareil susceptible de mettre en oeuvre une application. Un terminal informatique comporte au moins : - Un microprocesseur 110, - Des moyens 120 de stockage, - Des moyens 160 d'affichage, - Une interface 130 réseau, par exemple Ethernet - Optionnellement une interface 140 radio, par exemple Bluetooth ou Wifi. [0018] Le microprocesseur du terminal informatique, les moyens de stockage du terminal informatique, l'interface réseau du terminal informatique et l'interface radio du terminal informatique sont interconnectés par un bus 150 permettant leurs interactions. Un moyen d'affichage est, par exemple, un écran connecté à une unité centrale, un écran intégré à un ordinateur portable, un écran d'une tablette. [0019] Lorsque l'on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif. Si l'on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l'application sont enregistrés. [0020] Le terme moyen de stockage englobe toutes les technologies de stockage généralement utilisées pour les terminaux informatiques. Cela inclut, sans s'y limiter, au moins les disques durs, les disques électroniques, les mémoires flash, les mémoires RAM... [0021] La figure 1 montre que les moyens 120 de stockage du terminal informatique comportent au moins plusieurs zones : - Une zone 120.1 applications comporte des codes instructions correspondant à une ou plusieurs applications, - Une zone 120.2 SSO comporte des codes instructions correspondant à une application SSO apte à recevoir des messages d'authentification selon l'invention via l'interface réseau 130 du terminal informatique ou via l'interface 140 radio du terminal informatique. [0022] La figure 1 montre que l'interface 140 réseau du terminal 101 informatique permet de le connecter à un réseau 200 via lequel le terminal informatique peut recevoir et émettre des messages. [0023] La figure 1 montre un dispositif 301 mobile. Un dispositif mobile comporte au moins : - Un microprocesseur 310, - Des moyens 320 de stockage, - -Des moyens 360 d'affichage, par exemple un écran intégré au dispositif mobile, - -Des moyens 370 de saisie, par exemple un écran tactile. - Une caméra 330, - Une interface 340 radio, par exemple Bluetooth, Wifi, Edge, GPRS, UMTS. [0024] Le microprocesseur du dispositif mobile, les moyens de stockage du dispositif mobile, la camera du dispositif mobile, l'interface radio du dispositif mobile, les moyens d'affichage du dispositif mobile et les moyens de saisie du dispositif mobile sont interconnectés par un bus 350 permettant leurs interactions. [0025] Un dispositif mobile est, par exemple, un téléphone intelligent ou une tablette. Dans la pratique il peut s'agir de tout dispositif informatique doté d'un capteur optique et pouvant communiquer avec le terminal informatique. [0026] La figure 1 montre que les moyens 320 de stockage du dispositif mobile comportent au moins plusieurs zones : - Une zone 320.1 base de données de données d'authentification comportant au moins les colonnes suivantes : - Une colonne 320.11 identifiant d'application, - Une colonne 320.12 données d'authentification. - Une zone 320.2 SSO comportant des codes instructions pour la mise en oeuvre du procédé selon l'invention que l'on appelle ici application SSO mobile. [0027] La base de données de données d'authentification peut donc être vue comme une table d'applications, chaque ligne de la table correspondant à une application, chaque colonne à l'une des données précédemment citées. On dit aussi que les informations d'une même ligne sont en relation, ou sont associées, les unes avec les autres. [0028] Le plus souvent des données d'authentification sont un couple [identifiant, mot de passe]. Cependant l'invention reste valable pour d'autres données d'authentifications comme, par exemple, des données biométriques ou la fourniture exclusive d'un mot de passe. [0029] La figure 2 montre une étape 1001 préliminaire dans laquelle un utilisateur du terminal 101 informatique active une application, sur le terminal 101 informatique. Cette activation provoque l'affichage d'une fenêtre, aussi appelée boîte de dialogue, invitant l'utilisateur à saisir des données d'authentification. L'application SSO installée sur le terminal informatique intercepte cette action pour : - Produire un QR code comportant : - Un identifiant d'application, - Un identifiant de terminal, - De manière optionnelle la partie publique d'une bi-clé enregistrée dans une zone 120.3 bi-clé des moyens 120 de stockage du terminal informatique. - Affichage du QR code produit sur un écran du terminal. [0030] La figure 1 montre un point d'accès 210 wifi connecté au réseau 200. Cela permet au réseau 200 d'accueillir des dispositifs mobiles. [0031] La figure 2 montre une étape 1010 d'activation de l'application SSO mobile, postérieure à l'étape préliminaire, dans laquelle l'utilisateur du terminal informatique, ou un autre utilisateur capable de voir l'affichage provoqué par le terminal informatique, utilise un dispositif mobile et y lance l'application SSO mobile. [0032] Dans une variante l'étape 1010 d'activation de l'application SSO mobile est suivie par une étape 1020 d'authentification de l'utilisateur. Cette étape est, par exemple, une invitation à saisir un code secret, une invitation à fournir une empreinte biométrique. Cette étape est un test. S'il réussit, c'est-à-dire si l'utilisateur fournit les données attendues, on passe alors à une étape 1030 d'acquisition d'une image, sinon le procédé s'arrête là. [0033] Dans l'étape 1030 d'acquisition d'une image, l'utilisateur du dispositif mobile est alors invité, par le dispositif mobile, à capturer un code-barres ou autre cryptogramme visuel. L'utilisateur utilise la caméra du dispositif mobile pour prendre une photo du QR code affiché par le terminal informatique. Une fois la photo prise on passe à une étape 1040 de décodage de l'image. [0034] Dans l'étape 1040 le dispositif mobile extrait de l'image les informations qu'elle contient, c'est-à-dire : - Un identifiant de terminal, - Un identifiant d'application, et, dans une variante, - Une clé publique de chiffrement. [0035] Un identifiant de terminal est, par exemple : - Une adresse du terminal sur le réseau 200, par exemple une adresse IP, - Un nom qui peut être résolu en une adresse, par exemple par l'émission d'une requête DNS, [0036] Après l'étape 1040 de décodage, le dispositif mobile passe à une étape 1050 de recherche de données d'authentification. Dans l'étape de recherche le dispositif mobile recherche dans la base de données 320.1 de données d'authentification la ligne qui comporte, dans la colonne 320.11 identifiant d'application, la valeur d'identifiant d'application qui a été obtenue lors de l'étape de décodage de l'image. Cela permet d'obtenir des données d'authentification, celles associées à la ligne trouvée. [0037] On passe alors à une étape 1060 de production d'un message d'authentification. Un message d'authentification comporte au moins deux parties : - Une partie adresse dans laquelle le dispositif mobile écrit l'identifiant de terminal obtenu dans l'étape de décodage de l'image ou le résultat de la résolution de cette identifiant en adresse, - Une partie contenu dans laquelle le dispositif mobile écrit les données d'authentification trouvées à l'étape de recherche. [0038] Dans une variante de l'invention le dispositif mobile utilise la clé publique obtenue à l'étape de décodage de l'image pour chiffrer le contenu du message d'authentification. [0039] On passe alors à une étape 1070 d'émission du message 10 d'authentification. [0040] Au moins une interface réseau du dispositif mobile 301 mobile lui permet de communiquer avec le terminal 101 informatique. Par exemple : - Une interface Bluetooth permet au dispositif 301 mobile et au terminal 101 informatique de s'échanger directement des messages, 15 - Une interface Wifi permet au dispositif 301 mobile de se connecter à un point d'accès Wifi 210 du réseau 200 et donc d'échanger, via ce réseau 201, des messages avec le terminal 101 informatique, - Une interface de téléphonie mobile permet, via un tunnel de type VPN, au terminal 101 mobile de se connecter au réseau 201. On note que si 20 le terminal 101 informatique est directement visible depuis Internet, le tunnel devient facultatif, sauf pour renforcer la sécurité. [0041] Dans une étape 1100 finale le terminal informatique reçoit le message d'authentification et le traite, c'est-à-dire en extrait les données d'authentification et les injecte dans l'application en attente de déverrouillage. Cette extraction inclut 25 un déchiffrage par une clé privée si nécessaire. [0042] Dans une version de l'invention, le dispositif mobile ajoute un aléa aux données d'authentification, par exemple un marqueur temporel, avant de les chiffrer. Cela évite les re-jeux d'authentification. [0043] Dans une autre variante de l'invention, une bi-clé différente est utilisée 30 pour chaque QR code, la bi-clé étant calculée au moment de la production du QR code. Cela évite les re-jeux d'authentification. [0044] Dans une variante de l'invention, si l'étape de recherche ne permet pas de trouver une ligne, alors on passe à une étape 1080 de collecte dans laquelle le dispositif mobile demande à l'utilisateur de saisir des données d'authentification. Une fois les données d'authentification saisies, une nouvelle ligne est insérée dans la base de données de données d'authentification. C'est cette nouvelle ligne qui est trouvée à l'étape de recherche et on peut alors passer à l'étape 1060 de production d'un message d'authentification. [0045] Dans l'invention l'authentification est renforcée car elle suppose d'être en possession d'un dispositif mobile sans lien avec le terminal mais qui est la propriété exclusive de l'utilisateur. [0046] Avec l'invention il est donc possible, via le dispositif mobile, de déverrouiller sur un terminal informatique n'importe quelle application sans avoir à y stocker les données d'authentification des applications. L'installation de l'application SSO suffit. Cette absence de configuration signifie qu'il n'y a pas besoin de connaître une adresse d'un serveur ou une liste de données d'authentification pour que l'application SSO selon l'invention soit opérationnelle sur un terminal informatique. REVENDICATIONS1. Procédé d'authentification unique renforcée caractérisé en ce qu'il comporte les étapes suivantes : - Acquisition (1030) optique d'un message de demande d'authentification comportant au moins : - Un identifiant de terminal, et - Un identifiant d'application - Recherche (1050) de données d'authentification dans d'une base de données de données d'authentification en utilisant l'identifiant d'application, - Production (1060) d'un message d'authentification comportant au moins : - Une adresse de destinataire obtenue via l'identifiant de terminal - Un contenu comportant au moins les données d'authentification issues de la recherche, - Emission (1070) du message d'authentification. 2. Procédé d'authentification selon la revendication 1, caractérisé en ce que l'acquisition optique est réalisée via un code-barres en deux dimensions. 3. Procédé selon l'une des revendications précédentes caractérisé en ce que le message de demande d'authentification comporte la clé publique d'une bi-clé pour chiffrer le contenu du message d'authentification. 4. Procédé selon l'une des revendications précédentes caractérisé en ce que le message de demande d'authentification comporte un aléa pour saler le contenu du message d'authentification avant un chiffrement. 5. Procédé selon l'une des revendications précédentes, caractérisé en ce que la production du message d'authentification est conditionnée par la fourniture (1020) d'un secret. 6. Procédé d'authentification selon l'une des revendications précédentes, caractérisé en ce que si la recherche est infructueuse, on met en oeuvre une étape de collecte de données pour mettre à jour la base de données de données d'authentification. 7. Dispositif de stockage numérique comportant un fichier correspondant à des codes instructions mettant en oeuvre le procédé selon l'une des revendications précédentes. 8. Dispositif mettant en oeuvre le procédé selon l'une des revendications précédentes.