Cryptologie: Généralités - PDF
Document Details

Uploaded by AmiableMoldavite9451
Tags
Summary
This document introduces the principles of cryptology, including the study of methods and techniques related to information security. It covers a range of topics from data integrity and authentication to the application of Internet usage and smart cards. The document also discusses the importance of cryptographic security in business networks and methods for securing data through encryption.
Full Transcript
Chapitr e 1. Génér alités 1. Génér alités. La Cryptologie est parfois définie comme étant l’étude des principes, méthodes et techniques liées à la sécurité de l’information sous toutes ses formes (texte, image ou son). Cela concerne en particulier : l’intégrité des données, l’authentificatio...
Chapitr e 1. Génér alités 1. Génér alités. La Cryptologie est parfois définie comme étant l’étude des principes, méthodes et techniques liées à la sécurité de l’information sous toutes ses formes (texte, image ou son). Cela concerne en particulier : l’intégrité des données, l’authentification d’entités, etc.… Elle fait l’objet de cours spécifiques de différents domaines des sciences et de la technologie, en particulier mathématiques, informatique, électronique, physique [Stinson, …] ou de chapitres particuliers (réseaux [Tanenbaum]. Elle s’est actuellement adaptée, pour devenir un aspect important de la sécurité informatique en raison des nouveaux modes de transmission liées à l’usage d’Internet et des cartes à puces, ainsi qu’au recours à la numérisation des données. La sécurité d’un réseau d’entreprise peut être évidemment réalisée en se repliant sur soi- même. On parle alors de sécurité par l’obscurité, car personne ne peut accéder au système. En revanche dès qu’on se connecte à Internet, le réseau peut faire l’objet de diverses « attaques » malveillantes de la part de pirates ou « hackers ». Il y peut y avoir d’abord des attaques ayant pour objet la destruction des données (virus, vers…) ou des ressources matérielles et /ou logicielles, les surveillances ou écoutes (par exemple chevaux de troie…) ayant pour objet l’interception des informations (messages, mots de passe, clés de cryptage… ), falsification de données ou de signatures lors de l’authentification. Dans ce cas, on peut imaginer diverses modèles de sécurité : (i) la sécurité par l’hôte où chaque ressource est sécurisée à un certain niveau (serveurs ou stations avec authentification à la connexion, protections locales et sur l’accès aux ressources, cryptage interne des données…). (ii) La sécurité par le réseau où l’accès à l’ensemble des ressources du réseau est protégée par un coupe-feu (pare-feu ou firewall) ou un filtre d’accès. Rappelons que le modèle de référence OSI (Open Systems Interconnection) décrit dans le célèbre ouvrage de Tanbebaum [ ] consacré aux architectures de réseaux et la standardisation des protocoles, est fondé sur la norme ISO (des années 1970) et comporte sept couches (physique, liaison de données, réseau, transport, session, présentation et application). Cet ouvrage, choisit de parler de présenter la cryptographie dans le chapitre consacré à la couche présentation des données ou plutôt représentation des données. A priori en effet, on aurait pu imaginer le cryptage à n’importe quel niveau, quoique les spécialistes la situent plus vers les couches physique, transport ou présentation. Il semble qu’il y ait eu une certaine controverse à l’origine quant à la place du cryptage dans les normes ISO. Une controverse similaire semble vouloir se répéter avec l’évolution des réseaux, avec notamment l’avènement de la notion de mobilité pour les réseaux ad hoc. Nous n’entrerons pas dans une telle polémique pour le propos de ce document qui se veut une simple introduction à la cryptographie. Le but étant de présenter de manière compréhensible ces méthodes et techniques. L’adaptation aux diverses couches nécessite simplement une modification des structures mathématiques et de leur adaptation. Il est de tradition de considérer deux parties spécifiques et complémentaires: la cryptographie et la cryptanalyse. La cryptographie a pour objet d’assurer la confidentialité des communications à l’aide de chiffrements (cryptage de messages codés connaissant la clé); la simulation (sur courrier électronique) de signatures, preuves d’identité etc. La philosophie de la cryptologie actuelle, est que toute la sécurité repose non pas sur l’algorithme de chiffrement qui peut être public, mais sur la clé. La cryptanalyse quand elle est comprise comme étant l’art de déchiffrer des messages codés sans connaître la clé. Les applications concernent les domaines de la diplomatie et du militaire, mais plus récemment le commerce électronique (ou e-commerce) : transactions bancaires, etc.… Un crypto système (CS) est un système (cryptographique) composé d’une fonction mathématique (implémentée sous forme d’algorithme) de chiffrement (AC) et d’un algorithme de décryptage (AD) , l’ensemble de toutes les clés possibles, les protocoles qui permettent à l’algorithme de fonctionner. En guise d’exemples de crypto-systèmes (historiques) on citera les systèmes les plus rudimentaires tels que le pigeon voyageur , matériels tels que la machine Enigma, ou lucifer conçu par IBM. On distingue: (i) Les systèmes à usage restreint (diplomatie, militaire): les algorithmes de cryptage/décryptage sont secrets. La sécurité est basée sur le secret. (ii) Les systèmes à usage général ou de masse, où la sécurité repose non pas sur le secret, mais sur la confidentialité. En d’autres termes, la confidentialité ne repose plus sur l’algorithme (qui peut être connu), mais sur la clé qui est inconnue et difficile à obtenir (en général, au sens combinatoire). Dans la suite le mot « difficile » sera compris justement en ce sens (difficulté calculatoire) Par exemple, Windows XP offre pour la configuration de la stratégie de sécurité locale du réseau un éventail de choix possibles : DES, 3DES, RSA, Kerberos, etc… Le but de ce cours est de montrer ce qu’il y a derrière ces sigles, quels sont les principes de fonctionnement, pourquoi peut-on considérer que ce sont des AC sûrs ? Dans les cours de cryptologie, on a coutume d’adopter un certain langage de simplification. L’émetteur/récepteur du message (information) (ou client/serveur) est appelé parfois Alice/bob (ou Zina/Omar, Assia/Bachir), disons A et B pour simplifier. Oscar Canal peu sûr Alice x cryptage y décryptage x Bob k Générateur de clés Notons, x , le texte ou message en clair, libellé ( plaintext, cleartext) ; y , le texte chiffré (cryptogramme) (cyphertext) ; k , la clé de chiffrement (ou cryptage). f k , la fonction (ou l’Algorithme de chiffrement) ; Ainsi y = f k (x) est le résultat du chiffrement du message clair x par la fonction (ou algorithme) de chiffrement à l’aide de la clé k. Dans la suite, nous noterons également par M = {x}, l’ensemble des messages clairs ; C = {y}, l’ensemble des messages codés (cryptés, ou chiffrés) K = {k }, l’ensemble des clés possibles Pour la formalisation, nous noterons Z n = {0,1,2,..., n}, l’ensemble des n premiers entiers naturels. Nous supposerons également que cet ensemble est muni de l’addition auquel cas , il forme un groupe, et s’il est muni de l’addition, c’est un anneau (cf. ). La nature de l’ensemble Z n dépend de la modélisation adoptée. En fait dans les problèmes de cryptage ou de chiffrement, il y a certaines nuances à observer sans que cela affecte la nature du problème. Pour des raisons didactiques, nous considèrerons dans tout ce qui suit que M = C = Z 26 , i.e. nous cherchons à crypter et/ou décrypter des messages écrits en langue française ou anglaise (alphabet latin) qui comprend 26 lettres (accents non compris). Si par exemple, nous tenons compte de l’orthographe, il faudra différencier entre les e, ê, é , è auquel cas nous travaillerions dans Z 29. Si on doit tenir compte de la ponctuation (, ;. !?) , il faudrait travailler dans Z 34. Chaque symbole est ainsi un élément. L’arabe sans ponctuation nous amènerait vers Z 36 et tamazight vers ????. Pour simplifier, dans la suite nous nous limiterons aux alphabets latins (français ou anglais) sans ponctuation ni accentuation) ce qui nous amène à considérer l’ensemble Z 26. Pour des images, on peut prendre m = 256 correspondant aux niveaux de gris pour des images en noir et blanc, images couLeurs, sons 1024. En réalité, il faudrait travailler dans Z 2 , chaque caractère pouvant être pour la machine codée en binaire. Aussi, la procédure de cryptage comportera différentes étapes : Les termes code, chiffre ou cryptage sont souvent utilisés de manière équivalente. On pourra toutefois dire que la nuance est qu’un codage est une transformation du texte sans pour autant vouloir la rendre secrète (par exemple le codage dans un langage pour que la machine comprenne), alors que le cryptage réfère à une volonté de cacher une partie du code pour rendre le texte inintelligible sauf aux personnes ou machines autorisées. En général, la partie cachée s’appelle la clé. Mais par abus de langage la clé est appelée aussi le code, et c’est en fait vrai puisque la méthode de codage (l’algorithme) est connue, et seule la clé est cachée. Nous utiliserons également la notion de fonction ou algorithme de manière équivalente, entendant par là que l’algorithme est seulement une représentation de la fonction sous une forme apte à être compréhensible par un programmeur. Il faut se référer à l’ouvrage de Tanenbaum qui relève des différences plus subtiles. 2. Types de cr yptogr aphies. (a) Cr yptographie symétr ique (conventionnelle) ou à clé secr ète : (clés cour tes) L’émetteur (Alice) et le destinataire (Bob) se partage la même clé (qui est secrète) et qui sert à la fois à chiffrer et à déchiffrer un message (comme pour une porte ; c’est la même clé qui sert à ouvrir et à fermer la porte) ; (en fait, ce n’est pas forcément la même clé. La clé de décryptage se calcule à partir de la clé de cryptage et vice-versa ; ce qui revient à considérer que c’est la même clé). Le fonctionnement pratique est le suivant: A envoie à B une copie de sa clé secrète k de façon sécurisée (en mains propres ou à l’aide d’un canal sécurisé) ; A chiffre le message avec sa clé secrète k.B déchiffre le message de A avec la même clé k. Toutes les communications suivantes entre A et B peuvent se faire avec la même clé. L’inconvénient, est comment faire l’échange de clé ? A doit trouver un moyen sûr d’envoyer à B sa clé secrète k (car si cette clé est interceptée, tous les échanges électroniques entre B et A sont compromis). La clé k ne peut utilisée que pour les échanges entre A et B, mais pas entre A et C. (b) Cr yptographie asymétr ique (ou à clé publique). (clés longues) Evite un partage de secret entre A et B. La clé de cryptage est publique (connue dans un annuaire par exemple) ; la clé de décryptage est secrète et non calculable (en temps raisonnable) Le principe est le suivant. On utilise une paire de clés asymétriques ou bi-clés qui sont des clés de chiffrement. Pour comparer : clé secrète (coffre-fort) ; clé publique (boîte aux lettres physique ou électronique (messagerie)) ; Chaque individu engagé dans une transaction est muni d’une clé privée (secrète sur une carte à puce par exemple) et une clé publique. La clé privée (le mot de passe) n’est communiquée à personne, la clé publique (adresse e-mail): à tous les interlocuteurs. Le principe de fonctionnement est le suivant. D’abord, un message codé avec une clé privée ne peut être décodé qu’avec la clé publique associée un message codé avec une clé publique ne peut être décodé qu’avec la clé privée associée -une clé publique donnée ne peut être associée qu’à une seule clé privée (plusieurs clés privées différentes ne peuvent avoir la même clé publique comme complémentaire) une clé privée ne peut être associée qu’à une seule clé publique (plusieurs clés publiques différentes ne peuvent avoir la même clé privée comme complémentaire) clé privée clés publiques clé privée 1 clés publiques 1 ………………………………………………….. clé privée n clés publiques n En pratique, si B veut envoyer un message confidentiel à A, il va chercher la clé publique de A (soit il demande à A d’envoyer une copie, soit il cherche dans un annuaire en ligne où est stockée la clé publique de A).B chiffre son message x à l’aide de la clé publique de A et lui envoie le message chiffré y. Seule la clé privée de A peut déchiffrer le message de B (B est sûr que seul A pourra lire son message) Les avantages sont entre autres les suivants: confidentialité : le message crypté reste secret et ne peut être déchiffrer par un tiers ; Alice n’est pas inquiète de la sécurité en adressant à Bob sa clé publique (qui ne contient pas d’information secrète : elle peut être transmise par e-mail) : authentification : assure l’authenticité de l’expéditeur ou de l’origine ; Intégrité : assurance que le message n’a pas été modifié durant la transmission ; non répudiation : l’expéditeur ne peut nier ultérieurement que c’est bien lui qui a envoyé le message ; Ceci est intéressant surtout pour les grandes entreprises de service de masse: toutes les personnes qui veulent adresser un message confidentiel à A chiffrement peuvent le faire au moyen d’une clé publique accessible. Ce système réduit la complexité de gestion d’un parc de clés secrète au sein de l’organisation. Pour ce qui est de l’emplacement des dispositifs de [Stalligs p. 41]distingue le chiffrement de voie , où chaque ligne de communication est équipée aux deux extrémités d’un dispositif de chiffrement, et le chiffrement de bout en bout (mené aux extrémités). L’inconvénient du premier est que le message doit être décrypté chaque fois qu’il entre dans un commutateur de paquets (ce dernier doit lire en effet l’adresse pour pouvoir l’acheminer, d’où une vulnérabilité à chaque commutation). Dans le second cas (bout en bout), les données utilisateur sont sûres, mais le modèle de trafic ne l’est pas car les en-têtes de paquets sont transmis en clair (le nœud de commutation recevra le paquet chiffré , mais sera incapable de lire l’en-tête, et donc d’acheminer le paquet). 3.Nor malisation en matièr e de sécur ité. L’IANOR est en principe chargé de normalisation, car on vient de comprendre que c’est le « socle de l’innovation et de la compétitivité ». En matière de technologies d’information, l’Algérie a adopté et publié la norme NAISO 27001 qui fournit un modèle d’établissement, de mise en œuvre, de fonctionnement, de surveillance et d’amélioration de la sécurité de l’information (SMSI). Quelle est la place accordée à la sécurité informatique et à la cryptologie ? L’IANOR a mis à la disposition des opérateurs nationaux environ 3000 normes algériennes et internationales (essentiellement européennes et américaines) ISO/CEI. D’autres part, 11000 normes ont été mises à la disposition des membres des comités techniques nationaux dans le cadre du programme national de normalisation. 4.Terminologie de Sécurité Informatique. 4.1.Infrastructure à clé publique (PKI). Une PKI est une sorte d’autorité de confiance (ou de régulation) qui permet de délivrer à un utilisateur une carte d’identité (ou passeport) numérique appelé certificat numérique qui contient non seulement la clé publique de l’utilisateur, mais également des informations personnelles sur l’utilisateur. Comme tout document formel, le certificat numérique est signé par l’autorité de certification (CA) et c’est cette signature qui lui donnera toute crédibilité aux yeux des utilisateurs. Le certificat numérique est largement publié, il n’a pas à être tenu secret, il est consultable via un annuaire. 4.2.Gestion des clés La gestion des clés de la PKI doit être rigoureuse, et comporte les opérations suivantes : Génération : Les clés doivent être générées de manière aléatoire, de manière à ce qu'elles soient non prédictibles. Dans le cas contraire, cela pourrait compromettre le système de sécurité. Distribution : C’est l’action de transmettre aux différents usagers (clients) les clés de session, qui permettront aux usagers d’accéder de manière sécurisée au réseau. Stockage : Le support hardware doit pouvoir assurer la confidentialité. Révocation: La révocation (ou suppression) de clés intervient quand cette dernière a atteint sa limite de validité ou lorsqu'un doute subsiste sur sa confidentialité. La révocation entraîne la destruction de toutes les copies de la clé symétrique ou de la clé publique. Cependant, si le système dispose d’une base de données sécurisée, alors celles-ci seront archivées plutôt que supprimées. Archivage : L’archivage des clés suppose ainsi une base de données dynamiques, où permet de conserver une copie des clefs même si elles ne sont plus utilisées, le but est de pouvoir valider des données qui ont été précédemment protégées par cette clé. Recouvrement : Le recouvrement des clés est une procédure délicate qui permet de retrouver la clé privée d’un client, mais aussi les données dûes à l’utilisation de cette clé. Toutes ces étapes doivent être minutieusement effectuées et contrôlées pour que la PKI ne soit pas sujette à diverses attaques. 4.3.Composants d'une PKI Une PKI contient plusieurs composants principaux essentiels à son bon fonctionnement : Une Autorité d'enregistrement : (Registration Authority - RA) Son principal rôle est de vérifier la demande d'enregistrement (Certificate Signing Request - CSR) d'un nouvel utilisateur dans l'infrastructure. Les méthodes de vérification de cette étape sont définies en fonction de la politique de certification choisie pour l'infrastructure.. Une Autorité de Certification : (Certificate Authority - CA). Son principal rôle est de générer un certificat pour l'utilisateur qui contient des informations personnelles sur l'utilisateur, mais surtout sa clé publique et la date de validité. CA a aussi le rôle de mettre à jour la liste des certificats qu'elle a signé (validité des certificats, révocation…