Brevet FR3045186A1 — publié le 20170616

Procédé d'authentification d'un utilisateur et système associé DOMAINE DE L'INVENTION L'invention concerne le domaine des procédés d'identification d'un utilisateur sur un appareil. ETAT DE LA TECHNIQUE Les appareils informatiques étant la cible récurrente de tentatives d'agression en matière de cyber sécurité, les politiques de sécurité deviennent de plus en plus exigeantes en termes de gestion de mots de passe ce qui rend le quotidien des usagers des appareils informatiques de plus en plus compliqué. Afin de garantir la sécurité de l'accès aux appareils informatiques, il est généralement recommandé de respecter les règles suivantes en matière de gestion des accès aux appareils informatiques. Les systèmes d'authentification des appareils informatiques doivent disposer de comptes nominatifs pour chaque utilisateur. Les utilisateurs ne doivent pas utiliser le même mot de passe pour des appareils différents car si un attaquant obtient le mot de passe d'un utilisateur sur un appareil, la sécurité de l'ensemble des appareils est menacée. Les mots de passe doivent être renouvelés régulièrement, typiquement au rythme de 180 jours. Il est recommandé que les mots de passe ne soient pas les mêmes sur des systèmes différents. 3045186 2 Il est recommandé que les mots de passe soient composés à minima de - 8 caractères (les règles standards d'hygiènes en matière de sécurité des systèmes d'information tendent à recommander 12 5 caractères), - 1 majuscule, - 1 minuscule, - 1 chiffre, - 1 caractère spécial. 10 Lorsque cela est possible, on utilise une infrastructure d'authentification centralisée en réseau comportant un annuaire informatique qui stocke l'ensemble des mots de passe des utilisateurs. L'utilisateur dispose d'un couple identifiant / mot de passe unique pour accéder à l'annuaire informatique et ainsi accéder à l'ensemble des systèmes raccordés à 15 l'infrastructure d'authentification centralisée. Cependant, dans l'industrie et notamment dans le domaine de la production nucléaire, il existe une multitude d'appareils informatiques non connectés entre eux et parfois isolés de tout réseau. Ces architectures s'expliquent par différentes raisons et notamment : 20 - les contraintes géographiques, - les technologies différentes, - la recherche d'absence de mode commun, 3045186 3 - une volonté d'isolement pour des questions de cyber sécurité. En application des règles de sécurité énoncées ci-dessus, les utilisateurs des appareils informatiques se doivent de posséder en théorie des dizaines voire des centaines de mots de passe ce qui s'avère impossible 5 au quotidien. EXPOSE DE L'INVENTION Un but de l'invention est de proposer un système d'authentification permettant à l'utilisateur de ne retenir qu'un seul code d'identification pour l'ensemble des appareils d'un système informatique. 10 Ce but est atteint dans le cadre de la présente invention grâce à un procédé d'authentification d'un utilisateur sur un appareil, comportant des étapes de : - lecture d'un jeton stocké sur un support d'identification ; - lecture d'un code d'identification renseigné par un utilisateur ; 15 - génération d'un mot de passe par combinaison irréversible du code d'identification renseigné par l'utilisateur, du jeton stocké sur le support d'identification, et d'un grain de sel propre à l'appareil; - transmission du mot de passe à l'appareil. L'invention permet d'assurer la sécurité du système d'authentification 20 d'un ensemble appareils tout en permettant à l'utilisateur de ne mémoriser qu'un seul code d'identification. L'invention utilise un support d'identification, qui est un support mémoire personnel affecté à un individu ou à une organisation, qui peut par exemple 3045186 4 être un badge comportant une carte à puce. Ce support d'identification peut-être celui que l'organisation met à disposition de ses employés ou intervenants pour d'autres usages (accès au site, etc.). L'invention permet en outre un renforcement de la sécurité du système 5 d'authentification d'un appareil en augmentant la complexité du mot de passe sans augmenter le nombre de caractères que doit mémoriser l'utilisateur. En outre l'invention permet de renforcer la sécurité du système d'authentification car le mot de passe n'est stocké dans aucune base. En effet, les mots de passe ne sont pas stockés dans le système 10 d'authentification mais calculés à chaque fois par le système d'authentification. Le jeton du support d'identification est chiffré. Le code d'identification n'est connu que de l'utilisateur et le grain de sel permet de rendre le unique le mot de passe spécifique à chaque appareil. 15 L'invention permet de sécurisé l'accès à un appareil informatique sans nécessiter aucune modification particulière de l'appareil et en particulier aucune modification de sa politique de sécurité, ni aucun pilote spécifique à installer en dehors d'un support clavier standard. L'invention permet également de tenir à jour une base de données des 20 personnes autorisées à accéder à un appareil. Le support d'identification peut en outre être utilisé pour limiter sélectivement l'accès à certains appareils en stockant une liste d'appareils auquel l'utilisateur a le droit d'accéder. 3045186 5 Le support d'identification peut également être utilisé pour diffuser la liste des supports d'identification révoqués. L'invention est avantageusement complétée par les caractéristiques suivantes, prises individuellement ou en l'une quelconque de leurs 5 combinaisons techniquement possibles : - la combinaison irréversible est une fonction de hachage cryptographique ; - le support d'identification est une puce RFID ; - le support d'identification est une carte à puce ; 10 - le support d'identification est un terminal mobile ; - le procédé d'authentification comporte en outre des étapes de : - lecture d'une période d'applicabilité du jeton stockée sur le support d'identification; - comparaison de cette période d'applicabilité avec une date 15 courante ; - le procédé d'authentification comporte en outre des étapes de : - mise à jour d'une base de données de personnes dont l'autorisation a été révoquée, stockée dans une mémoire du support d'identification ; 20 - lors de l'étape de lecture d'un jeton stocké sur le support d'identification, mise à jour d'une base de données de personnes dont l'autorisation a été révoquée, stockée dans 3045186 6 une mémoire du système d'authentification, en fonction de la base de données stockée dans la mémoire du support d'identification. L'invention propose en outre un système d'authentification d'un 5 utilisateur sur un appareil, comportant: - un lecteur configuré pour lire les données stockées sur un support d'identification ; - un module de génération d'un mot de passe par combinaison irréversible d'un code renseigné par l'utilisateur, d'un jeton stocké 10 dans un support d'identification, et du grain de sel propre à l'appareil ; - un module de transmission du mot de passe à l'appareil. L'invention est avantageusement complétée par les caractéristiques suivantes, prises individuellement ou en l'une quelconque de leurs 15 combinaisons techniquement possibles : - le lecteur est un lecteur de puce RFID ; - le lecteur est un lecteur de carte à puce ; - le système d'authentification comporte en outre un écran tactile ; - le système d'authentification comporte en outre une mémoire 20 stockant une base de données de personnes dont l'autorisation a été révoquée, le support d'identification comportant une mémoire stockant une base de données de personnes dont l'autorisation a été révoquée, le lecteur du système d'authentification étant 3045186 7 configuré pour mettre à jour la base de données de la mémoire du système d'authentification en fonction de la base de données stockée sur la mémoire du support d'authentification. DESCRIPTION DES FIGURES 5 D'autres objectifs, caractéristiques et avantages sortiront de la description détaillée qui suit en référence aux dessins donnés à titre illustratif et non limitatif parmi lesquels : - la figure 1 illustre un appareil équipé d'un système d'authentification conforme à l'invention ; 10 - la figure 2 illustre un système d'authentification conforme à l'invention ; - la figure 3 illustre un processeur d'un système d'authentification conforme à l'invention ; - la figure 3bis illustre un serveur central et une pluralité de systèmes d'authentification conformes à l'invention ; 15 - la figure 4 illustre un procédé d'authentification conforme à l'invention ; - la figure 5 illustre un procédé d'authentification conforme à l'invention avec vérification de la date d'applicabilité du jeton ; - la figure 6 illustre un système d'authentification conforme à l'invention avec changement du code d'identification ; 20 - la figure 7 illustre une étape de configuration d'un système d'authentification conforme à l'invention. 3045186 8 DESCRIPTION DETAILLEE DE L'INVENTION En référence à la figure 1, chaque appareil informatique 2 est équipé d'un système 1 d'authentification d'un utilisateur. En référence à la figure 2, le système 1 d'authentification d'un utilisateur 5 sur un appareil 2 comporte : - un processeur 19 ; - une mémoire 30 ; - un lecteur 16 configuré pour lire un jeton stocké sur un support d'identification 4 ; 10 - une interface homme-machine 3. Le système 1 d'authentification peut en outre comporter une horloge 25. L'interface homme-machine 3 peut comporter un écran 17. L'écran 17 peut en particulier être un écran tactile configuré pour la saisie du code par l'utilisateur. 15 Le support d'identification 4 stocke une identité de l'utilisateur et un ou plusieurs jetons. Le support d'identification 4 peut en particulier être un badge comportant une puce RFID ou une carte à puce. Le support d'identification 4 peut également être un terminal mobile, comme par exemple un téléphone 20 intelligent ou une montre connectée. Le support d'identification 4 peut en outre stocker : 3045186 9 - une période d'applicabilité - une liste de personnes autorisées ; - une liste d'appareils 2 auquel a précédemment accédé le support d'identification 4. 5 Le jeton est utilisé en complément du code mémorisé par l'utilisateur pour identifier l'utilisateur. Le jeton stocke une clé cryptographique, tel qu'une signature numérique. Le jeton agit comme une clé électronique pour ouvrir l'accès à des données. En particulier, le jeton peut être un mot de passe statique, un mot 10 de passe dynamique synchronisé, un mot de passe asynchrone. En référence à la figure 3, la mémoire 30 stocke un grain de sel (Salt' en anglais) propre à l'appareil 2. Le grain de sel est une chaîne de caractère quelconque propre à chaque appareil 2. En référence à la figure 3, le support d'identification 4 peut en outre 15 comporter une mémoire 42 stockant une base de données 43 de l'historique des systèmes auquel l'utilisateur a accédé. A chaque fois que l'utilisateur accède à un système 1 d'authentification, le lecteur 16 du système 1 écrit dans la base de données 43 stockée sur la mémoire 42 du support d'identification 4, l'identifiant du 20 système 1 accédé. Ainsi la base de données 43 des systèmes accédés est mise à jour. En référence à la figure 3bis, un serveur central 5 comporte un lecteur 52 de support d'identification 4. 3045186 10 En référence aux figures 3 et 3bis, chaque système d'authentification 1 comporte une mémoire 30 stockant une base de données 24 de personnes dont l'autorisation a été révoquée. La mémoire 42 du support d'identification 4 stocke également une 5 base de données 44 de personnes dont l'autorisation a été révoquée. Quand l'utilisateur accède au serveur central 5 avec son support d'identification 4, le lecteur 52 du serveur central 5 met à jour la base de données 44 de personnes dont l'autorisation a été révoquée stockée sur la mémoire 42 du support d'identification 4. 10 Par la suite, quand l'utilisateur accède à un système 1 d'authentification avec son support d'identification 4, le lecteur 16 du système d'authentification 1 met à jour la base de données 24 de la mémoire 30 du système d'authentification 1 en fonction de la base de données 44 stockée sur la mémoire 42 du support d'authentification 4. 15 Si une personne est inscrite sur la base de données 44 stockée sur la mémoire 42 du support d'identification 4 et non sur la base de données 24 de la mémoire 30 du système d'authentification, le lecteur 16 ajoute cette personne à la base de données 24. Le support d'identification 4 permet ainsi de diffuser à tous les 20 systèmes d'authentification 1 la liste des personnes dont l'autorisation a été révoquée. En référence à la figure 3, le processeur 19 comporte : 3045186 11 - un module 11 de génération d'un mot de passe par combinaison irréversible d'un code renseigné par l'utilisateur, d'un jeton stocké dans un support d'identification 4, et du grain de sel ; - un module 12 de hachage du mot de passe obtenu par une 5 fonction de hachage cryptographique ; - un module 13 de transmission du mot de passe à l'appareil 2. En référence à la figure 4, le système 1 est configuré pour mettre en oeuvre un procédé d'authentification d'un utilisateur sur un appareil 2 comme décrit ci-dessous. 10 Au cours d'une étape El le système d'authentification 1 affiche sur l'interface homme-machine 3 une page d'authentification permettant à l'utilisateur d'initier le procédé d'authentification. Au cours d'une étape E2, le système d'authentification 1 affiche sur l'interface homme-machine 3 un clavier permettant à l'utilisateur de 15 renseigner son code PIN. Ce clavier comporte des touches mélangés à chaque utilisation afin d'éviter qu'un tiers observe facilement les touches sélectionnées. L'utilisateur entre dans l'interface homme-machine 3 du système d'authentification 1 le code qu'il a mémorisé par la suite appelé code PIN. 20 Le code mémorisé par l'utilisateur est par exemple un code composé d'une suite de chiffres ou un code composé d'une suite de chiffres et de lettres. 3045186 12 Le code mémorisé par l'utilisateur contient typiquement quatre caractères (mais ce nombre est configurable). En particulier le code mémorisé par l'utilisateur peut être un code composé de quatre chiffres. L'utilisateur peut utiliser l'écran tactile du système d'authentification 1 5 pour renseigner son code mémorisé. Au cours d'une étape E3, le système d'authentification 1 affiche sur l'interface homme-machine 3 une page invitant l'utilisateur à scanner son support d'identification 4. L'utilisateur scanne son support d'identification 4 pour communiquer au système 1 son identifiant et le ou les jetons stocké(s) 10 sur le support d'identification 4. Au cours d'une étape E4 le système d'authentification lit les données contenues sur le support d'identification 4 et affiche sur l'interface homme-machine 3 les jetons (avec leur date de validité) contenus sur le support d'identification 4. 15 Au cours d'une étape E5, le système d'authentification 1 génère le mot de passe par combinaison irréversible du jeton, du grain de sel, et du code mémorisé par l'utilisateur. La combinaison irréversible est typiquement une fonction de hachage cryptographique. 20 La fonction de hachage cryptographique est conçue pour être mathématiquement très difficile ou impossible à inverser directement. Le système d'authentification 1 concatène le jeton, le grain de sel, et le code PIN et traite la chaîne de caractères obtenue par la fonction de hachage cryptographique. 3045186 13 Le système d'authentification 1 transmet le mot de passe généré vers l'appareil 2. Cette communication est par exemple assurée en utilisant le standard USB HID, le système d'authentification 1 étant vu par l'appareil 2 comme un 5 clavier standard. Le mot de passe est ainsi transmis à l'appareil 2 comme le ferait un utilisateur frappant sur un clavier standard pour autoriser l'accès. L'appareil 2 comporte une table des mots de passe 14 stockant pour chaque couple utilisateur un mot de passe spécifique à l'appareil 2. Le contrôle du mot de passe est effectué in fine par l'appareil 2. 10 L'appareil 2 comporte un module 25 de comparaison de la chaîne de caractères hachée avec une liste de mots de passe hachés enregistrée dans la base de données 14 de mots de passe spécifique à l'appareil 2. C'est l'appareil 2, avec sa propre base de données 14 de mots de passe de l'appareil 2, qui garantit la sécurité au finale. 15 Le procédé permet de renforcer la sécurité du mot de passe en y ajoutant un grain de sel qui est une donnée supplémentaire propre à chaque couple appareil/utilisateur afin d'empêcher que le même code d'identification conduise à la même empreinte sur deux appareils différents. Le procédé permet de lutter contre les attaques par analyse 20 fréquentielle, les attaques utilisant des tables arc-en-ciel, les attaques par dictionnaire et les attaques par force brute. En effet, en l'absence de grain de sel, il est possible de cracker le système à l'aide de tables de hachage correspondant à des mots de passe souvent utilisés, par exemple les tables arc-en-ciel. 3045186 14 L'ajout d'un grain de sel avant hachage rend l'utilisation de ces tables caduque, et le craquage doit faire appel à des méthodes telles que l'attaque par force brute (cette méthode, consistant à tester toutes les valeurs possibles, prend tellement de temps avec un bon mot de passe que l'on ne 5 peut plus qualifier cela de crackage). Afin d'augmenter les temps de cassage, les fonctions de hachage cryptographiques sont en général conçues pour présenter une charge de calcul suffisamment faible pour ne pas être gênante en usage normal mais suffisamment importante pour être handicapante pour une attaque par force 10 brute. L'attaquant va chercher à contourner ce problème en utilisant des dictionnaires d'attaque pré-calculés plus ou moins sophistiqués (comme par exemple les tables arc-en-ciel). Le fait de devoir ajouter un salage au mot de passe oblige l'attaquant à recalculer celui-ci, annulant cet avantage. 15 Le salage améliore la sécurité quand l'attaquant dispose d'une table de mot de passe de grande taille (comme c'est généralement le cas quand un système d'authentification est compromis). Supposons une table de mots de passe sans salage ou avec un salage statique, pour chaque tentative l'attaquant va générer un mot de 20 passe, effectuer son hachage puis le comparer avec l'ensemble des hachages présents dans la table. Ainsi en un seul parcours de son dictionnaire il peut attaquer l'ensemble des mots de passe contenus dans la base. Si au contraire chaque mot de passe est haché avec un salage différent, l'attaquant devra parcourir à nouveau l'ensemble de son dictionnaire pour chaque mot de passe. 3045186 15 Comme illustré sur la figure 5, le système 1 peut être configuré pour vérifier au cours de l'étape E4 la date d'applicabilité du jeton. Le support d'identification 4 peut contenir deux mots de passe avec pour chacun une date d'applicabilité. 5 Comme illustré sur la figure 5, le système 1 peut être configuré pour demander à l'utilisateur de changer périodiquement son code typiquement tous les 6 mois. En référence à la figure 3bis, le serveur central 5 comporte un lecteur 52 de support d'identification 4. 10 Le serveur central 5 stocke une base de données centralisée 51. Un jeton a une durée de validité limitée. L'utilisateur doit donc régulièrement scanné son badge sur le lecteur 52 du serveur central 5 pour ajouter un nouveau jeton sur son support d'identification 4. Lorsque l'utilisateur a scanné son badge sur le lecteur 52, le serveur 5 15 ajoute sur le support d'identification 4 un nouveau jeton avec une période de validité associée (si un nouveau jeton est disponible pour l'utilisateur). Le badge contient donc le nouveau jeton mais aussi le précédent jeton qui est toujours valide. Avant que le précédent jeton n'expire, l'utilisateur doit scanner son 20 support d'identification 4 dans les systèmes d'authentifications 1 de tous les appareils 2 auxquels il souhaite accéder par la suite pour initier une procédure de changement de mot de passe. A cet occasion, il choisit un nouveau code d'identification PIN (qui peut être le même que le précédent ou différent), et sélectionne le nouveau jeton. Le système génère alors un 3045186 16 nouveau mot de passe qui est alors transmis à l'appareil 2. A partir de ce moment, l'utilisateur pourra utiliser le nouveau jeton pour accéder à l'appareil 2. 5 Comme illustré sur la figure 7, le système d'authentification 1 est configuré selon une étape E2' de configuration comportant des étapes de : - Saisie d'un nom de l'appareil ; - Mise à l'heure de l'horloge 25 ; - Saisie de la longueur du mot de passe ; 10 - Saisie de la taille du code PIN ; - Saisie du Code PIN d'administration. REVENDICATIONS1. Procédé d'authentification d'un utilisateur sur un appareil (2), comportant des étapes de : - lecture d'un jeton stocké sur un support d'identification (4) ; - lecture d'un code d'identification renseigné par un utilisateur ; - génération d'un mot de passe par combinaison irréversible du code d'identification renseigné par l'utilisateur, du jeton stocké sur le support d'identification (4), et d'un grain de sel propre à l'appareil (2) ; - transmission du mot de passe à l'appareil (2). 2. Procédé d'authentification selon la revendication précédente, dans lequel la combinaison irréversible est une fonction de hachage cryptographique. 3. Procédé d'authentification selon l'une des revendications précédentes, dans lequel le support d'identification (4) est une puce RFID. 4. Procédé d'authentification selon l'une des revendications 1 à 2, dans lequel le support d'identification (4) est une carte à puce. 5. Procédé d'authentification selon l'une des revendications 1 à 2, dans lequel le support d'identification (4) est un terminal mobile. 6. Procédé d'authentification selon l'une des revendications précédentes, comportant en outre des étapes de : 3045186 18 - lecture d'une période d'applicabilité du jeton stockée sur le support d'identification (4) ; - comparaison de cette période d'applicabilité avec une date courante. 5 7. Procédé d'authentification selon l'une des revendications précédentes, comportant en outre des étapes de : - mise à jour d'une base de données (44) de personnes dont l'autorisation a été révoquée, stockée dans une mémoire (42) du support d'identification (4) ; 10 - lors de l'étape de lecture d'un jeton stocké sur le support d'identification (4), mise à jour d'une base de données (24) de personnes dont l'autorisation a été révoquée, stockée dans une mémoire (30) du système d'authentification (1), en fonction de la base de données (44) stockée dans la mémoire (42) du support 15 d'identification (4). 8. Système (1) d'authentification d'un utilisateur sur un appareil (2), comportant: - un lecteur (16) configuré pour lire les données stockées sur un support d'identification (4) ; 20 - un module (11) de génération d'un mot de passe par combinaison irréversible d'un code renseigné par l'utilisateur, d'un jeton stocké dans un support d'identification (4), et du grain de sel propre à l'appareil (2) ; - un module (13) de transmission du mot de passe à l'appareil (2). 3045186 19 9. Système (1) d'authentification, selon la revendication précédente, dans lequel le lecteur est un lecteur de puce RFID. 10. Système (1) d'authentification, selon la revendication 8, dans lequel le lecteur est un lecteur de carte à puce. 5 11. Système (1) d'authentification, selon l'une des revendications 8 à 10, comportant en outre un écran tactile (17). 12. Système (1) d'authentification, selon l'une des revendications 8 à 11, comportant en outre une mémoire (30) stockant une base de données (24) de personnes dont l'autorisation a été révoquée, le support 10 d'identification (4) comportant une mémoire (42) stockant une base de données (44) de personnes dont l'autorisation a été révoquée, le lecteur (16) du système d'authentification (1) étant configuré pour mettre à jour la base de données (24) de la mémoire (30) du système d'authentification en fonction de la base de données (44) stockée sur 15 la mémoire (42) du support d'authentification (4).