Brevet FR3028336A1 — publié le 20160513

Procédé de création d'un mot de passe sécurisé. Domaine technique L'invention se rapporte au domaine de la sécurité. L'invention s'applique à tout terminal manipulant des mots de passe sécurisés pour protéger l'accès à une ressource matérielle ou logicielle. L'invention s'applique notamment à la génération des mots de passe sécurisés, ou clés de sécurité, d'un réseau local, sous une forme adaptée à la mémorisation par un utilisateur humain. Etat de la technique De manière connue, un mot de passe est un authentifiant permettant à un utilisateur d'accéder à un certain nombre de ressources matérielles et/ou logicielles d'un ordinateur, d'un ensemble d'ordinateurs reliés en réseau, etc. Plusieurs stratégies peuvent être utilisées pour générer des mots de passe présentant un certain niveau de sécurité. La plupart de ces stratégies sont inadaptées pour un utilisateur humain, car il est difficile de générer un mot de passe qui soit facile à mémoriser et présente néanmoins un certain niveau de sécurité, en d'autres termes garantit la robustesse du mot de passe utilisé, c'est-à-dire le rend peu vulnérable aux attaques de pirates visant à se l'approprier. En effet, la sécurité d'un mot de passe dépend de sa longueur (le nombre de mots, ou symboles, d'un dictionnaire donné) et du nombre total de mots du dictionnaire utilisé. Par dictionnaire, on entend ici une source quelconque de symboles (alphabet, syllabes, mots, chiffres, suites de chiffres et de lettres, caractères spéciaux, caractères japonais, etc.) La sécurité augmente donc avec le nombre de mots constitutifs du mot de passe et la richesse du dictionnaire choisi. Or, il n'est pas facile pour un utilisateur humain de mémoriser une longue suite de mots, qu'il s'agisse de combinaisons de lettres, de chiffres, de symboles, etc. L'invention vise en particulier les mots de passe des réseaux locaux. Selon l'état de l'art, pour accéder à un réseau local, un utilisateur doit se connecter à un élément de routage, dit dans la suite « passerelle de service » à partir d'un terminal. Pour se connecter à la passerelle, l'utilisateur saisit dans le terminal les paramètres d'identification du réseau local, par exemple de type Wifi. En particulier, par un processus dit « d'appairage » préalable, bien connu de l'homme du métier, il saisit ou sélectionne le nom du réseau domestique, connu sous l'abréviation SSID (pour « Service Set Identifier »), qui prend souvent la forme d'une chaîne alphanumérique (par exemple : « Livebox_666 ») et, dans la plupart des cas, une clé, ou mot de passe, d'accès au réseau domestique, telle qu'une clé WEP (pour « Wired Equivalent Privacy ») ou WPA (pour « WiFi Protected Access »). La définition d'une clé de sécurisation d'un réseau WiFi impose de générer des clés de sécurité alphanumériques relativement longues, du fait du compromis à réaliser entre la sécurité du réseau et la facilité de mémorisation et/ou partage de la clé. La clé WEP générée pour protéger l'accès au réseau local de l'utilisateur peut se présenter sous la forme connue d'une suite de 26 caractères hexadécimaux (par exemple, « 32F34DA4CFE9EAD355A49EAE17 »). L'utilisateur rechigne bien souvent à utiliser de telles clés, longues et complexes, difficiles à mémoriser, manipuler et partager avec, par exemple un invité souhaitant accéder temporairement au réseau local de l'utilisateur. Une solution pour aider l'utilisateur peut consister à lui offrir la possibilité de générer lui-même des clés plus simples pour les transmettre par exemple à ses invités. Dans ce contexte, une clé partiellement prononçable est aussi plus facilement mémorisable par l'utilisateur invité. Cette opportunité peut conduire l'utilisateur à générer des clés très courtes, très simples (« turlututu » « lelaleslelales » « Monreseau ») et ne respectant pas les règles basiques de robustesse d'une clé, c'est-à-dire sa résistance au piratage. De surcroît ces clés ne sont pas pour autant faciles à retenir selon l'utilisateur : elles ne s'adaptent pas forcément à sa langue, un locuteur japonais pouvant par exemple éprouver des difficultés à prononcer des mots prévus pour un français (par exemple, « chapeau pointu »), et vice-versa. Dans le domaine de la cryptographie, il est connu de générer des mots de passe correspondant à des phrases entières, extraites par exemple de livres. Cependant, les moyens cryptographiques actuels permettent des attaques de plus en plus exhaustives de ce type de clés. Il est aussi connu (voir par exemple le site Internet http://www.msdservices.com/apg/index.php) de générer des mots de passe prononçables de longueur variable, en utilisant par exemple un algorithme de type APG (pour « Automated Password Generator ») qui génère des mots de passe aléatoires prononçables en respectant la norme FIPS 181 (Federal Information Processing Standards Publication - Automated Password Generator - APG - 1993) éditée par le NIST (National Institute of Standards and Technology - U.S. Department of Commerce). Cependant, ce type de mot de passe n'assure pas un niveau de sécurité, mais simplement une longueur minimale et maximale du mot de passe à générer, qui peut rester facile à attaquer (il est plus facile de deviner, pour un attaquant, la chaîne « turlututuchapeaupointu » que «iufugredinfijidocu »). L'invention offre une solution ne présentant pas les inconvénients de l'état de la technique. L'invention A cet effet, selon un aspect fonctionnel, l'invention a pour objet un procédé de création d'un mot de passe présentant un seuil minimal de de sécurité à partir d'un dictionnaire de mots, caractérisé en ce qu'il comprend les étapes itératives suivantes jusqu'à validation du mot de passe : sélection aléatoire d'au moins un mot dans le dictionnaire sélectionné et création d'un mot de passe intermédiaire par concaténation du mot sélectionné au précédent mot de passe intermédiaire ; calcul d'une entropie du mot de passe intermédiaire ; comparaison de l'entropie au seuil minimal de sécurité ; si le résultat de la comparaison est positif : affectation au mot de passe de la valeur du mot de passe intermédiaire ; validation du mot de passe. Avantageusement selon l'invention, le niveau de sécurité de la clé, ou seuil minimal d'entropie à respecter, est vérifié à chaque nouveau tirage d'un nouveau mot. Une entropie se définit le plus généralement, dans le domaine de l'information et de la communication, comme une fonction mathématique qui correspond à la quantité d'information contenue ou délivrée dans un message (le mot de passe dans notre cas) par une source d'information, dans ce contexte un dictionnaire de mots. Du point de vue d'un récepteur, plus la source émet des informations différentes avec une égale probabilité, et plus l'entropie est élevée. L'entropie indique, en d'autres termes, la quantité d'information nécessaire pour que le récepteur puisse déterminer sans ambiguïté ce que la source a transmis. Ainsi, l'invention offre l'avantage d'assurer un niveau minimum de sécurité à l'utilisateur, par la vérification de l'entropie, et donc de la robustesse aux attaques, du mot de passe concaténé selon le procédé. Contrairement aux méthodes de l'état de l'art, qui proposent la génération d'un mot de passe prononçable d'une certaine longueur prédéfinie (souvent, un nombre de mots constitutifs du mot de passe est prédéfini, chaque mot comportant un nombre compris entre un nombre minimal et un nombre maximal de symboles), le procédé selon l'invention ne porte pas de contrainte sur la longueur du mot de passe. Les étapes de sélection d'un mot dans le dictionnaire et de concaténation de ce mot sont répétées aussi souvent que nécessaire jusqu'à obtenir une entropie suffisamment élevée pour le message, et donc une robustesse appropriée à l'application visée. Il est ainsi possible de générer des mots de passe respectant à la fois la facilité de manipulation pour l'utilisateur, puisque prononçables, ou du moins partiellement, si extrait d'un dictionnaire de mots usuels (tous les mots du dictionnaire Robert de la langue française sont prononçables par un français) et garantissant de plus un certain niveau de sécurité, donc la robustesse, du mot de passe généré. Le niveau de sécurité peut être fixe ou variable, et fixé ou non par l'utilisateur. Selon un mode de mise en oeuvre particulier de l'invention, un procédé tel que décrit ci-dessus est caractérisé en ce qu'il comprend en outre les étapes suivantes : - obtention d'une langue de l'utilisateur - sélection d'un dictionnaire de mots prononçables dans la langue obtenue. Ce mode de mise en oeuvre de l'invention permet de s'affranchir de la langue de l'utilisateur en sélectionnant un dictionnaire approprié pour le locuteur (l'utilisateur ou son invité) : en précisant la sélection d'un dictionnaire japonais, seul des mots ou des syllabes aisément prononçables par un Japonais seront sélectionnés et concaténés, résultant en un mot de passe, ou clé, facilement prononçable, donc mémorisable, par le locuteur, tout en respectant le niveau de sécurité minimum imposé par l'application. Ainsi le mot de passe est à la fois facilement mémorisable et transmissible, et à la fois robuste. Selon un second mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec le précédent, un procédé tel que décrit ci-dessus est en outre caractérisé en ce qu'il comprend en outre les étapes suivantes - obtention d'une langue de l'utilisateur - génération d'un dictionnaire de mots prononçables dans la langue obtenue. Ce mode de mise en oeuvre permet de générer entièrement le dictionnaire, au lieu de s'appuyer sur un dictionnaire existant, ce qui permet de bénéficier de plus de combinaisons, puisqu'un mot du dictionnaire ne correspondra plus à une unité sémantique (par exemple, « parure ») mais à une suite de syllabes simplement prononçables (par exemple, « poruri »). La source de mots (le dictionnaire) se trouvant enrichie, un nombre plus faible de caractères pourra assurer la même entropie du message final, et donc la même robustesse du mot de passe. Selon un troisième mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec les précédents, un procédé tel que décrit ci-dessus est en outre caractérisé en ce que l'étape de calcul de l'entropie comprend : au moins une sous-étape de calcul d'au moins une sous-entropie une sous-étape de calcul de l'entropie en fonction des sous- entropies. Avantageusement, cette décomposition du calcul de l'entropie en sous- entropies intermédiaires permet d'ajouter différents critères au calcul standard d'une entropie : on peut ajouter des paramètres concernant le dictionnaire, la longueur des mots, les probabilités d'occurrence des mots dans certaines langues, les caractéristiques du récepteur (ou de l'attaquant) etc. Ainsi, plusieurs entropies pourront être prises en compte à chaque ajout de mot tiré du dictionnaire. L'entropie résultante pourra être par exemple la valeur maximale ou minimale des sous-entropies, ou être le résultat d'une fonction plus complexe de ces différentes sous-entropies, permettant ainsi de rendre plus robuste le mot de passe généré. Selon un quatrième mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec les précédents, un procédé tel que décrit ci-dessus est caractérisé en ce qu'une sous-entropie, dite sous-entropie naïve, est calculée en fonction du nombre et de la longueur des mots tirés dans le dictionnaire. Avantageusement, ce calcul « classique » de l'entropie, en fonction de la longueur (4 lettres, 5 lettres, etc.) des mots de longueur variables tirés dans le dictionnaire permet d'assurer une plus grande robustesse au mot de passe généré puisque des mots de n'importe quelle longueur peuvent être sélectionnés, ce qui s'avère plus robuste que de sélectionner des mots de longueur fixe. Selon un cinquième mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec les précédents, un procédé tel que décrit ci-dessus est caractérisé en ce qu'une sous-entropie, dite sous-entropie pessimiste, est calculée en fonction du nombre et de la longueur des mots tirés dans le dictionnaire, et d'un présupposé sur une connaissance d'un récepteur. Avantageusement, cette variante de l'invention permet de calculer une sous-entropie plus « réaliste » que la première sous-entropie. Le récepteur peut être le récepteur désigné du mot de passe ou un attaquant cherchant à se l'approprier dans un but malveillant. Selon ce mode de réalisation on peut se mettre à la place de l'attaquant en lui attribuant un certain nombre de connaissances : on peut supposer par exemple que l'attaquant connaît la longueur minimale a et la longueur maximale b des mots utilisés, qu'il connaît le nombre de lettres de chaque mot tiré, qu'il connaît la langue du locuteur (et donc la langue du dictionnaire), etc. Le fait d'anticiper une telle connaissance et de l'intégrer au calcul de l'entropie procure une mesure plus « sévère » et plus réaliste de l'entropie, et donc de la robustesse du mot de passe. Selon un sixième mode de mise en oeuvre particulier de l'invention, qui pourra être mis en oeuvre alternativement ou cumulativement avec les précédents, un procédé tel que décrit ci-dessus est caractérisé en ce que le mot de passe Procédé de création d'un mot de passe (K) présentant un seuil minimal de de sécurité (H,') à partir d'un dictionnaire (DIC) de mots (Wi), caractérisé en ce qu'il comprend les étapes itératives suivantes jusqu'à validation du mot de passe (K) : sélection aléatoire (E4) d'au moins un mot (W1) dans le dictionnaire sélectionné (DIC) et création d'un mot de passe intermédiaire (K'1) par concaténation (E5) du mot sélectionné (W1) au précédent mot de passe intermédiaire (K'1_1); calcul (E6-E9) d'une entropie (H) du mot de passe intermédiaire (Ki) ; comparaison (E10) de l'entropie (H) au seuil minimal de sécurité (HmiN) si le résultat de la comparaison est positif : affectation (E12) au mot de passe (K= KI) de la valeur du mot de passe intermédiaire (K'i). validation (E12) du mot de passe. est une clé de sécurité d'un réseau local sans fils. Avantageusement, les caractéristiques d'un tel mot de passe sont bien connues, notamment l'entropie minimale du mot de passe à respecter pour une clé WEP suffisamment robuste est connue de l'homme du métier à un moment donné (de l'ordre de 80 bits aujourd'hui mais elle évolue au cours du temps). Le contexte du réseau local sans-fils, dans lequel il est souvent nécessaire de transmettre un mot de passe à un invité, se prête de surcroit très bien à un tel procédé de création d'un mot de passe temporaire ou non pour un invité. Selon un aspect matériel, l'invention concerne également un module de création d'un mot de passe (K) présentant un seuil minimal de sécurité (H,') à partir d'un dictionnaire (DIC) de mots (Wi), caractérisé en ce qu'il comprend les modules suivants, aptes à être mis en oeuvre jusqu'à validation du mot de passe (K) : un module de sélection aléatoire (E4) d'au moins un mot (W1) dans le dictionnaire sélectionné (DIC) et création d'un mot de passe intermédiaire (K'1) par concaténation (E5) du mot sélectionné (W1) au précédent mot de passe intermédiaire (K'1_1); un module de calcul (E6-E9) d'une entropie (H) du mot de passe intermédiaire (Ki) , un module de comparaison (E10) de l'entropie (H) au seuil minimal de sécurité (Hm) si le résultat de la comparaison est positif : un module d'affectation (E12) au mot de passe (K= KI) de la valeur du mot de passe intermédiaire (KI). un module de validation (E12) du mot de passe. Le terme module peut correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). Selon un autre aspect matériel, l'invention concerne également une passerelle de service incluant un module de création d'un mot de passe tel que décrit ci-avant. Selon un autre aspect matériel, l'invention concerne également un terminal incluant un module de création d'un mot de passe tel que décrit ci-avant. Selon un autre aspect matériel, l'invention concerne un programme d'ordinateur pour la mise en oeuvre du procédé de création tel que décrit ci-dessus, lorsque celle-ci est exécutée par un processeur. Selon encore un autre aspect matériel, l'invention a trait à un support d'enregistrement lisible par un processeur de données sur lequel est enregistré un programme comprenant des instructions de code de programme pour l'exécution des étapes du procédé défini ci-dessus. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés. Les figures: La figure 1 représente le contexte général d'un premier mode de réalisation de l'invention. La figure 2 représente une vue modulaire d'une passerelle de service implémentant l'invention. La figure 3 représente un organigramme détaillé des sous-étapes de création d'un mot de passe sécurisé selon un mode de réalisation de l'invention. Description détaillée d'un exemple de réalisation illustrant l'invention La figure 1 représente le contexte d'un mode de réalisation de l'invention selon lequel un utilisateur (A) propriétaire d'un réseau local (1) est autorisé à redéfinir le mot de passe de son réseau local, qu'il s'agisse de le redéfinir pour lui ou pour ses invités. On rappelle ici qu'un réseau local, aussi appelé réseau domestique, est un réseau informatique qui relie ensemble, avec ou sans fils, des terminaux (ordinateurs, périphériques d'impression, de restitution, de stockage, etc.) d'une maison aptes à communiquer ensemble. Un réseau domestique comporte généralement un équipement routeur (6), aussi communément appelé passerelle domestique, ou passerelle de service, élément intermédiaire assurant la redirection, ou routage, des paquets de données entre les différents terminaux et les réseaux (réseau étendu (3) et réseau local(1)) qui lui sont connectés. Un tel réseau domestique connecte souvent les différents terminaux en utilisant la technologie WiFi. On rappelle ici que l'appellation Wifi (pour « Wireless Fidelity ») rassemble des technologies de transmission sans fil permettant de créer des réseaux informatiques sans fil basés sur les normes de la famille IEEE 802.11. Le réseau (1) est dans cet exemple de type « IP ». La passerelle de service (6) comporte une fonction de communication Wi-Fi qui lui permet de communiquer sans fil avec les terminaux du réseau local, et une liaison de type par exemple ADSL qui lui permet de communiquer avec le réseau Internet étendu (WAN, 3). Par la suite, on entend par dispositif terminal, ou plus simplement « terminal », tout dispositif apte à se connecter à la passerelle (6) dans le contexte du réseau local, tel un ordinateur ou un dispositif du type téléviseur (TV), ordinateur personnel (PC), Smartphone (téléphone mobile intelligent), PDA (« Personnal Digital Assistant ») ou plus généralement tout dispositif apte à communiquer avec ou sans fils avec une passerelle de service. Parmi ces terminaux, le dispositif (4) représenté en figure 1 est un dispositif de partage multimédia apte à générer un réseau invité (2, RLI) pour les utilisateurs invités (B) sans pour autant donner accès à toutes les ressources du réseau local principal (1, RLP). Par réseau local « invité » on entend ici un réseau local créé pour offrir aux invités l'accès à certains dispositifs de l'utilisateur (par exemple TV, décodeur numérique, etc.) mais pas à d'autres (disque dur, PC, etc.). Selon cet exemple, un utilisateur (A) de la passerelle de service (6) souhaite redéfinir un mot de passe plus simple à prononcer et à retenir que la clé WEP qui lui a été fournie avec la passerelle de service. En particulier dans cet exemple, l'utilisateur souhaite un mot de passe prononçable en français, correspondant à des mots du dictionnaire Robert de la langue française et de longueur minimale. Cette longueur minimale est imposée par l'opérateur de réseau qui lui a fourni la passerelle de service via une entropie minimale imposée, dans notre exemple de 80 bits/symbole. On rappelle que la définition d'une clé de sécurisation d'un réseau WiFi impose de générer des clés de sécurité alphanumériques relativement longues, du fait du compromis à réaliser entre la sécurité du réseau et la facilité de partage de la clé. Or on a vu précédemment que les facteurs accroissant la sécurité d'un mot de passe sont d'une part la longueur du mot de passe (le nombre de symboles utilisés d'un alphabet donné) et d'autre part le nombre de caractères de l'alphabet utilisé pour définir le mot de passe. Par exemple, la clé WEP générée pour protéger l'accès au réseau local de l'utilisateur principal (1, RLP) se présente sous la forme de 26 caractères hexadécimaux (dans notre exemple « 32F34DA4CF E9DAD355A49EAE17 »). Or il n'est pas facile pour un utilisateur humain de mémoriser une longue suite de symboles. Transmettre ce type de clé à un invité est difficile puisqu'impossible à mémoriser. La passerelle de service (6) comporte donc, selon ce mode de réalisation, un module logiciel visant à proposer à l'utilisateur invité un mot de passe : - facilement mémorisable et partageable car composé de mots d'un dictionnaire de mots prononçables ; - respectant une entropie au moins égale à une entropie minimale recommandée pour lutter contre les attaques d'un quelconque pirate. Par mot prononçable, on entend un mot qui peut être restitué par l'appareil phonique d'un être humain locuteur d'une certaine langue, dans cet exemple le français. Selon ce mode de réalisation de l'invention, le mot de passe va être généré comme une suite de mots tirés aléatoirement dans le dictionnaire spécifié par l'utilisateur (Le Robert) et l'entropie calculée à chaque tirage jusqu'à obtention de la clé minimale. On rappelle que l'entropie se définit comme une fonction mathématique qui correspond à la quantité d'information contenue ou délivrée par une source d'information. La source, dans l'exemple de réalisation, est un dictionnaire qui a été soit sélectionné parmi un ensemble de dictionnaires disponibles, soit un dictionnaire généré préalablement à la génération d'un mot de passe, ou message, à partir de cette source. Du point de vue d'un récepteur, plus la source émet des informations différentes avec une égale probabilité, et plus l'entropie est élevée. L'entropie indique en d'autres termes la quantité d'information nécessaire pour que le récepteur puisse déterminer sans ambiguïté ce que la source a transmis. Elle s'exprime mathématiquement, en théorie de l'information et communication, en nombre de bits par symbole, selon : H(X)=- pour une source X comportant n symboles, un symbole i ayant une probabilité A d'apparaitre. Dans l'exemple reproduit à la figure 1, le mot de passe pour l'invité correspond à la chaîne « reformafragilisesendureraitins» qui est à la fois assez facile à transmettre (par exemple, vocalement, à un invité) et à mémoriser. Cependant cette clé respecte une entropie minimale, et donc présente une certaine robustesse, comme il sera expliqué plus tard à l'appui de la figure 3 La figure 2 représente une architecture matérielle d'une passerelle domestique implémentant un mode de réalisation de l'invention, comme par exemple la passerelle de service (3) de la figure 1. Elle comprend, classiquement, des mémoires (M) associées à un processeur (CPU). Les mémoires peuvent être de type ROM (de l'anglais Read Only Memory) ou RAM (de l'anglais Random Access Memory) ou encore Flash. La passerelle (3) communique avec le réseau local (2) et le réseau Internet (9) via le module Ethernet (ETH) d'une part et éventuellement le module WIFI pour une communication locale sans fils. La passerelle de service (3) comprend en outre, conformément à l'invention, un module de création de mots de passe (GENP) apte à prendre générer un mot de passe selon un mode de réalisation de l'invention. La passerelle de service selon l'invention peut aussi contenir d'autres modules comme un disque dur non représenté pour le stockage, notamment, des dictionnaires, d'autres modules lui permettant de communiquer avec l'extérieur via différents protocoles sur différents liens physiques, etc. La figure 3 représente un organigramme des différentes étapes du procédé selon un mode de réalisation de l'invention. On rappelle que la finalité de cet algorithme, selon ce mode de réalisation, est fournir un mot de passe prononçable dont l'entropie dépasse une valeur minimale (H,') en-dessous de laquelle la sécurité du mot de passe est réputée trop faible. Cette valeur minimale n'est pas fixe ; elle se doit notamment d'augmenter au cours du temps, au fur et à mesure que les méthodes de piratage évoluent. Elle doit donc pouvoir être modifiée par l'utilisateur ou l'opérateur du réseau local. Le principe de base du procédé de création selon ce mode de réalisation de l'invention est de calculer dynamiquement l'entropie du mot de passe (de la clé) généré au fur et à mesure que des syllabes, ou mots, prononçables, lui sont ajoutés. L'organigramme de la figure 3 donne un exemple d'une telle génération contrôlée par le calcul itératif de l'entropie du mot de passe prononçable généré. L'étape EO d'initialisations consiste à acquérir les variables correspondant notamment à la langue de l'invité (LG) et à l'entropie minimale à respecter (Hmin). Alternativement, ces valeurs pourront être fixées pour un type donné de passerelle domestique (LG = « français » et HMIN= 80). Pour une clé associée à un réseau WiFi par exemple, il est connu que l'entropie actuellement requise pour résister aux attaques actuelles est de 80 bits. Lors de l'étape El, un dictionnaire (DIC) est sélectionné dans la langue qui a été spécifiée. On suppose, dans le cadre de ce mode de réalisation, que ce dictionnaire existe (par exemple, il s'agit du Robert de la Langue française) et a été installé sur un quelconque dispositif (disque dur, PC, tablette, etc.) du réseau local accessible à la passerelle de service, ou sur la passerelle elle-même. Selon ce mode de réalisation de l'invention, un dictionnaire existant est donc sélectionné dans la langue (LG) donnée obtenue à l'étape E0, par exemple le français pour un locuteur français et ce dictionnaire est rendu accessible en mémoire (M) de la passerelle de service (6). Selon une variante de ce mode de réalisation, cette étape est suivie par une étape E2 d'adaptation du dictionnaire existant, les mots du dictionnaire devant respecter quelques règles basiques tendant à : 1. réduire l'ensemble de départ, les mots étant contraints à ne pas avoir d'accents (ou être désaccentués) ou à ne pas présenter de caractère contraire à l'ordre public ou aux bonnes moeurs 2. ou augmenter l'ensemble de départ, notamment par ajout de catégories grammaticales : flexions, suffixation, dérivation, etc. Une fois le dictionnaire éventuellement consolidé et enrichi, au cours d'une étape E3 suivante, certaines variables nécessaires à l'algorithme sont initialisées. Notamment le compteur d'itérations i est positionné à la valeur 0, et le premier mot de passe intermédiaire est une chaîne vide (notée ") ; ainsi, le mot de passe précédent de la première itération sera une chaîne vide selon cet exemple de réalisation. Naturellement, toute autre chaîne pourrait être utilisée mais il faudrait la prendre en compte pour le calcul ultérieur de l'entropie. L'étape suivante E4 consiste à réaliser un tirage aléatoire avec remise d'un mot (Wi) dans ce dictionnaire. Selon ce mode de réalisation, il est choisi d'utiliser tous les mots ayant entre i et j lettres, i et j représentant des entiers quelconques positifs, selon la langue et la facilité, pour l'utilisateur, à retenir ces mots. En français, par exemple, on peut vouloir utiliser des mots comprenant de i=3 à j=10 lettres. Typiquement, un dictionnaire français comporte le nombre de mots suivants pour chaque longueur : - mots de 3 lettres : 488 - mots de 4 lettres : 2080 - mots de 5 lettres : 6868 - mots de 6 lettres : 15913 Selon un exemple, le premier mot tiré est « reforma» ; le second est « fragilises». Au cours d'une étape E5 suivante, le mot (Wi) qui vient d'être tiré est concaténé à la suite de la clé (K') en cours de génération ; si l'on suppose que la chaîne de départ est vide, la première clé selon notre exemple est K' - « reforma» ; la seconde est K' = « reformafragilises». Puis aux étapes E6 à E9, plusieurs entropies sont calculées pour la clé en cours de génération. Sur la figure 3, cette étape est divisée en plusieurs sous- étapes correspondant à plusieurs calculs de sous-entropies prenant en compte les possibilités d'attaque. On rappelle qu'il convient, pour l'algorithme selon l'invention, de trouver un ensemble de mots tirés au hasard et dont l'entropie totale sera supérieure au seuil préconisé par la sécurité, On reprend dans cet exemple le dictionnaire français cité plus haut, avec le nombre de mots de chaque catégorie, noté N,, où i représente le nombre de lettres du mot : La description suivante s'appuie sur les fichiers de l'annexe 1, qui présentent deux cas de génération d'une clé par tirages de mots aléatoires dans un dictionnaire dont les caractéristiques générales sont données ci-dessous : - mots de 3 lettres : N3 = 488 - mots de 4 lettres : N4 =2080 - mots de 5 lettres : N5 =6868 - mots de 6 lettres : N6 =15913 - mots de 7 lettres : N7 =28251 - mots de 8 lettres : N8 =41324 - mots de 9 lettres : Ng =50146 - mots de 10 lettres : N10 =52118 Etape E6 : calcul de la sous-entropie « naïve » (H',) On rappelle, pour la compréhension générale de l'exposé, que l'entropie d'un mot de i lettres dans un dictionnaire qui comprend N, mots de i lettres dont la probabilité d'apparition est uniforme, est calculée selon la formule : H(i) = log2(N1) L'entropie de m mots de i lettres tirés aléatoirement est donc calculée selon la formule : H(i*m) = log2((Nr) On pourrait naturellement prendre de plus en compte la probabilité d'apparition des mots dans la langue. Cette probabilité est généralement accessible pour les différentes langues qui peuvent être concernées par l'invention (voir par exemple pour le français une liste de mots les plus fréquents de la langue avec leurs probabilités d'appartition, à l'adresse http://www.lexique.org/listes/liste_mots.txt) Par extension, l'entropie d'un mot de i lettres suivi d'un mot de j lettres est calculée selon la formule : H(i,j) = log2(N1 * Ni) Par exemple, en cumulant un mot de 8 lettres et un mot de 10 lettres, on obtient une entropie, dite entropie naïve, de : 1-1,a,(8,10) = log2(N8* N10) 32.7bits (1) Cependant, le calcul d'entropie d'un groupe de mots tirés aléatoirement dans un dictionnaire, s'il semble simple, n'empêche pas le tirage de groupes de mots tels que « monsieur maintenant» dont l'entropie telle que calculée ci-dessus est inexacte dans la mesure où ce genre de clé sera très vite retrouvé par un algorithme simple de recherche exhaustive des mots français. C'est pourquoi l'invention propose de définir d'autres calculs de l'entropie, prenant en compte les attaques possibles, c'est-à-dire les présupposés dont peut disposer l'attaquant. Etape E7 : calcul de la sous-entropie « pessimiste » (I-Ipes) Selon un second exemple, on suppose que l'attaquant connaît la longueur minimale a et la longueur maximale b des mots utilisés. Le calcul d'une entropie plus « réaliste », que l'on appelle ici « entropie pessimiste », notée Hpest devient, pour un tirage de m mots aléatoire: Hpes = log2((Na_b) Où Na_b représente le nombre total de mots dont le nombre de lettres est compris entre a et b. Et donc pour le tirage précédent : Hpes(8,10) = log2(N8+N9+N10)3 (2) Des exemples numériques seront donnés plus tard dans la suite de l'exposé. Etape E8 : calcul de l'entropie « paranoïaque », H para Si, de surcroît, l'attaquant connaît les longueurs (i, j, ...I) des mots tirés successivement, dans un cas très pessimiste, le calcul d'une entropie encore plus « réaliste » que l'on appelle ici « entropie paranoïaque », dans la mesure où le présupposé est très élevé, notée H para devient : Hpara = log2(N1* * N1) Et donc pour le tirage précédent : para(8,10) = log2(N8*N9*Nio)3 (3) On voit que les valeurs des trois entropies obtenues selon le mode naïf, pessimiste ou paranoïaque, sont de valeurs décroissantes : une utilisation du calcul « paranoïaque » imposera donc d'ajouter plus d'information à la clé. L'intérêt de l'algorithme selon ce mode de réalisation de l'invention est de comparer les différentes entropies calculées afin de prendre une décision supplémentaire sur la robustesse de la clé particulière générée par le tirage aléatoire. Par exemple, au cours d'une étape E9, le minimum des trois sous-entropies est associée à l'entropie cible, c'est-à-dire celle qui va être comparée au cours de l'étape E10 suivante au seuil minimal d'entropie. Si, à l'issue de cette étape de comparaison, l'entropie se trouve en-dessous du seuil minimal Hmm à respecter, alors les étapes E4 à E10 sont réitérées après incrémentation de la variable i (E11). Sinon, La valeur de dernier mot de passe intermédiaire obtenu à l'étape E5 est affectée au mot de passe (E12), et le mot de passe est affiché pour l'utilisateur au cours de l'étape E13. Les deux exemples qui vont être présentés maintenant de manière détaillée présentent deux tirages aléatoires de mots de longueur comprise entre 3 et 10 lettres dans un même dictionnaire de 117 063 mots français. L'entropie minimale est fixée à 80 bits. L'un est cas est favorable au calcul de l'entropie « standard », c'est-à-dire que le tirage peut s'arrêter dès que l'entropie naïve dépasse les 80 bits. L'autre ne l'est pas et nécessitera une amélioration de la robustesse par tirage d'un mot supplémentaire, quand bien même l'entropie naïve a dépassé les 80 bits, car l'entropie « pessimiste » reste bien en deçà. 1. Premier exemple ; cas favorable Dans ce premier exemple, le tirage est favorable à l'utilisation de l'entropie naïve : les mots sont tirés avec des longueurs différentes, avec des longueurs très variables (de 4 à 10 caractères). Le tirage correspond aux mots 25 successifs «reforma-fragilises-endurerai-tins-laquais». Du fait de la différence entre le mot le plus court et le mot le plus long, l'entropie pessimiste reste proche de l'entropie naïve (à la dernière étape : 84,16 versus 84,18), ce qui correspond à une clé robuste. L'entropie paranoïaque, par contre, favorise des tirages dans des 30 classes de mots contenant beaucoup de représentants. Tirage : reforma Cle partielle : reforma Entropie naive, Entropie parano, Hnai = 16.8369256309637 Hpar = 14.0468682133497 Entropie pessimite Hpes = 14.0468682133497 Tirage : fragilises Cle partielle : reforma-fragilises Entropie naive, Hnai = 33.6738512619274 Entropie parano, Hpar = 28.9392212890838 Entropie pessimiste, Hpes = 33.2428446677935 Tirage : endurerai Cle partielle : reforma-fragilises-endurerai Entropie naive, Hnai = 50.5107768928911 Entropie parano, Hpar = 43.7770955630807 Entropie pessimiste, Hpes = 49.8642670016902 Tirage : tins Cle partielle : reforma-fragilises-endurerai-tins Entropie naive, Hnai = 67.3477025238548 Entropie parano, Hpar = 54.3143139636193 Entropie pessimiste, Hpes = 67.3287416047526 Tirage : laquais Cle partielle : reforma-fragilises-endurerai-tins-laquais Entropie naive, Hnai = 84.1846281548185 Entropie parano, Hpar = 68.361182176969 Entropie pessimiste, Hpes = 84.1609270059408 > 80 2. Deuxième exemple ; cas défavorable 30 Dans ce second cas, le tirage est défavorable : les mots tirés sont courts (3 et 4 lettres) dans des classes ayant peu de représentants (« zut-packurne-naja-faon »). Grâce à l'entropie pessimiste, on montre ici que dans un tel tirage, supposé assurer 80 bits d'entropie (voir la valeur de l'entropie naïve à la dernière 35 étape), une attaque sur les mots de 3 et 4 lettres du dictionnaire français fait descendre cette entropie à 54 bits (entropie pessimiste de la dernière étape), ce qui est nettement insuffisant. Dans un tel cas, il est souhaitable que l'algorithme réalise un nouveau tirage ou ajoute un mot à la clé. Tirage : zut 40 Cle partielle : zut Entropie naive, Hnai = 16.8369256309637 Entropie parano, Hpar = 8.58496250072116 Entropie pessimiste, Hpes = 8.58496250072116 10 15 20 25 Tirage : pack Cle partielle : zut-pack Entropie naive, Hnai = 33.6738512619274 Entropie parano, Hpar = 19.1221809012598 Entropie pessimiste, Hpes = 21.73764510955 Tirage : urne Cle partielle : zut-pack-urne Entropie naive, Hnai = 50.5107768928911 Entropie parano, Hpar = 29.6593993017983 Entropie pessimiste, Hpes = 32.606467664325 Tirage : naja Cle partielle : zut-pack-urne-naja Entropie naive, Hnai = 67.3477025238548 Entropie parano, Hpar = 40.1966177023369 Entropie pessimiste, Hpes = 43.4752902191 Tirage : faon Cle partielle : zut-pack-urne-naja-faon Entropie naive, Hnai = 84.1846281548185 Entropie parano, Hpar = 50.7338361028755 Entropie pessimiste, Hpes = 54.344112773875 25 Au travers de ces deux exemples, on comprend donc clairement l'intérêt du calcul d'entropie heuristique de l'invention afin d'assurer la sécurité de la clé générée. 30 L'algorithme est présenté ci-dessous sous forme de pseudo-code résumant les étapes présentées précédemment : //paramètres utilisateur CIBLE = 80 entropie cible MIN LETTRES = 3 longueur minimale des mots MAX LETTRES = 10 longueur maximale des mots // calcul de la clé et des différentes mesures d'entropie associées entropie=0; tant que (entropie Variante pour un réseau « invité » Le contexte du mode de la réalisation de la figure 2 peut être étendu directement au cas où un utilisateur (A) propriétaire d'un réseau local (1) crée pour un ou plusieurs utilisateurs « invités », un réseau invité. Le programme et dispositif de l'invention selon ce contexte peuvent être installés sans perte de généralité sur un dispositif intermédiaire, gestionnaire du réseau local invité, et non plus directement sur la passerelle de service. Variante utilisant des séparateurs En variante, la robustesse de l'algorithme pourra être enrichie par l'insertion de séparateurs entre les mots (_, %, etc.). Selon cette variante, l'algorithme ne calcule pas l'entropie réelle de la clé, du fait des séparateurs entre les mots, mais présente l'avantage de minimiser l'entropie réelle du mot de passe. REVENDICATIONS1. Procédé de création d'un mot de passe (K) présentant un seuil minimal de sécurité (1-1,,in) à partir d'un dictionnaire (DIC) de mots (Wi), caractérisé en ce qu'il comprend les étapes itératives suivantes jusqu'à validation du mot de passe (K) : sélection aléatoire (E4) d'au moins un mot (W1) dans le dictionnaire sélectionné (DIC) et création d'un mot de passe intermédiaire (K'1) par concaténation (E5) du mot sélectionné (W1) au précédent mot de passe intermédiaire (W1_1); calcul (E6-E9) d'une entropie (H) du mot de passe intermédiaire (Ki) ; comparaison (E10) de l'entropie (H) au seuil minimal de sécurité (HmiN) ; si le résultat de la comparaison est positif : affectation (E12) au mot de passe (K= KI) de la valeur du mot de passe intermédiaire (KI). validation (E12) du mot de passe. 2. Procédé de création d'un mot de passe selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes suivantes : - obtention (EO) d'une langue de l'utilisateur - sélection d'un dictionnaire de mots prononçables dans la langue (LG) obtenue. 3. Procédé de création selon la revendication 1, caractérisé en ce qu'il comprend en outre les étapes suivantes - obtention d'une langue de l'utilisateur - génération d'un dictionnaire de mots prononçables dans la langue obtenue. 4. Procédé de création selon la revendication 1, caractérisé en ce que l'étape de calcul de l'entropie (E6-E9) comprend : - au moins une sous-étape de calcul (E6, E7) d'au moins une sous-entropie - une sous-étape (E9) de calcul de l'entropie en fonction des sous- entropies. 5. Procédé de création selon la revendication 4, caractérisée en ce qu'une première sous-entropie, dite entropie naïve (H',), est calculée (E6) en fonction (10g2) du nombre (N8, N10) et de la longueur (i-j) des mots tirés dans le dictionnaire (DIC). 6. Procédé de création selon la revendication 4, caractérisé en ce qu'une seconde sous-entropie, dite entropie pessimiste (1-Ipes), est calculée en fonction du nombre (N8, N9, N10), de la longueur (i-j) des mots tirés dans le dictionnaire, et d'un présupposé sur une connaissance d'un récepteur. 7. Procédé de création selon la revendication 1, caractérisé en ce que le mot de passe créé est une clé de sécurité (WEP) d'un réseau local sans fils. 8. Module de création d'un mot de passe (K) présentant un seuil minimal de sécurité (1-1') à partir d'un dictionnaire (DIC) de mots (Wi), caractérisé en ce qu'il comprend les modules suivants, aptes à être mis en oeuvre jusqu'à validation du mot de passe (K) : un module de sélection aléatoire (E4) d'au moins un mot (W1) dans le dictionnaire sélectionné (DIC) et création d'un mot de passe intermédiaire (K'1) par concaténation (E5) du mot sélectionné (W1) au précédent mot de passe intermédiaire (W1_1) ; un module de calcul (E6-E9) d'une entropie (H) du mot de passe intermédiaire (Ki) ; un module de comparaison (E10) de l'entropie (H) au seuil minimal de sécurité (HmiN) ; si le résultat de la comparaison est positif : - un module d'affectation (E12) au mot de passe (K= KI) de la valeur du mot de passe intermédiaire (KI). - un module de validation (E12) du mot de passe. 9. Passerelle de service (6) incluant un module de création d'un mot de passe selon la revendication 8. 10. Terminal (5) du réseau local (1) incluant un module de création d'un mot de passe selon la revendication 8. 11. Programme d'ordinateur comportant des instructions de code pour la mise en oeuvre du procédé de création d'un mot de passe conforme à la revendication 1, lorsque celle-ci est exécutée par un processeur.