Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue94:q_r_securite [2015/03/30 10:29] – [3] frangi | issue94:q_r_securite [2015/04/01 12:07] (Version actuelle) – [3] auntiee |
---|
** | ** |
| |
Nous savons que le problème de l'envoi d'informations en toute sécurité sans qu'elles soient lu par d'autres est d'actualité depuis une longue période. Hérodote nous parle d'incidents durant le Vème s. av. J.C. quand la Perse était en guerre contre les Grecs. Deux techniques sont mentionnées. Une était d'écrire le message sur une tablette puis d'ajouter une couche de cire par dessus pour le cacher. Ainsi les tablettes d'écritures avaient normalement une couche de cire, qui avait l'air bonne, et le message était passé. C'est plus un exemple de stéganographie, qui vient du grec steganos (couvert) et graphein (écrire). La stéganographie est le fait de cacher un message de telle manière que l'observateur ne sache pas du tout qu'il y en a un. Les exemples ultérieurs comprennent les micropoints (petit film caché dans le point d'une phrase), et à l'ère numérique, le masquage d'un message dans le code d'une image comme un JPEG. | Nous savons que le problème de l'envoi d'informations en toute sécurité sans qu'elles soient lues par d'autres est d'actualité depuis très longtemps. Hérodote nous parle d'incidents durant le Ve siècle av. J.C. quand la Perse était en guerre contre les Grecs. Deux techniques sont mentionnées. Une était d'écrire le message sur une tablette puis d'ajouter une couche de cire par dessus pour le cacher. Puisque les tablettes avaient normalement une couche de cire, celle-là avait l'air normal, et le message passa. C'est plus un exemple de stéganographie, qui vient du grec steganos (couvert) et graphein (écrire). La stéganographie est le fait de cacher un message de telle manière que l'observateur ne sache pas du tout qu'il y en a un. Les exemples ultérieurs comprennent les micropoints (petit film caché dans le point d'une phrase) et, à l'ère numérique, le masquage d'un message dans le code d'une image comme un JPEG. |
| |
Le problème est qu'une fois que l'observateur connait le truc, il est facile de briser le secret et de saisir le message. Les agences de renseignement de la Seconde Guerre mondiale ont tout appris sur les micropoints et comment les trouver, et une fois que vous savez où chercher il n'y a plus de secret du tout. | Le problème est qu'une fois que l'observateur connaît le truc, il est facile de briser le secret et de saisir le message. Les agences de renseignement de la Seconde guerre mondiale ont tout appris sur les micropoints et comment les trouver, et une fois que vous savez où chercher il n'y a plus de secret du tout. |
| |
** | ** |
** | ** |
| |
Ce que vous voulez, c'est un moyen d'empêcher quelqu'un de lire votre message même s'il l'a physiquement en sa possession, et ceci est connu comme étant le chiffrement, du grec kryptos (caché). Le chiffrement utilise un algorithme pour transformer votre message de quelque-chose de lisible par quiconque en un message qui devrait, idéalement, être illisible pour toute personne qui ne sait pas comment déchiffrer le message. Un des premiers exemples était dans la Guerre des Gaules de Jules César, et est donc connu comme le chiffre de César. Ce chiffrement déplaçait chaque lettre de l'alphabet d'un nombre fixe de places. Donc, si vous avez tout décalé d'une lettre, «HAL» devient «IBM». ROT13 est un chiffre de César commun. Il est bien sûr très facile à décrypter car vous avez besoin de tester seulement une poignée de variations une fois que vous connaissez la méthode. Pour faire un système de chiffrement plus fiable, on a ensuite utilisé une méthode plus aléatoire et moins systématique, créant les chiffres dits de substitution. Ici, il n'y a pas de modèle de la façon dont les lettres sont substituées à d'autres. Aux États-Unis, nous voyons souvent ceci dans les journaux comme des jeux de «casse-tête», et ils ne sont pas trop dur. Le savant arabe Al-Kindi a montré la manière au IXème. siècle, en montrant que ce langage est soumis à des règles statistiques. En anglais, par exemple, la lettre la plus fréquente est le «e», la deuxième lettre la plus fréquente est le «t», et ainsi de suite. Le début de cette liste est «e, t, a, o, i, n, s, h, r, d, l, u». Vous prenez alors le texte chiffré, cherchez la lettre la plus fréquente, supposez qu'il s'agit du «e», et c'est parti ! | Ce que vous voulez, c'est un moyen d'empêcher quelqu'un de lire votre message même s'il l'a physiquement en sa possession, et c'est le chiffrement, [l'anglais, « encryption » est] du grec kryptos (caché). Le chiffrement utilise un algorithme pour transformer votre message de quelque chose de lisible par quiconque en un message qui devrait, idéalement, être illisible pour toute personne qui ne sait pas comment déchiffrer le message. L'un des premiers exemples vient de la Guerre des Gaules de Jules César et est donc connu comme le chiffre de César. Ce chiffrement déplaçait chaque lettre de l'alphabet d'un nombre fixe de places. Donc, si tout a été décalé d'une lettre, « HAL » devient « IBM ». ROT13 est un chiffre de César commun. Il est, bien sûr, très facile à décrypter car, une fois que vous connaissez la méthode, il ne faut essayer qu'une poignée de variations. Pour faire un système de chiffrement plus fiable, une méthode plus aléatoire et moins systématique fut ensuite utilisée, créant les chiffres dits de substitution. Ici, la façon dont des lettres sont substituées à d'autres ne suit aucune tendance pré-établie. Aux États-Unis, nous les voyons souvent dans les journaux comme des jeux de « casse-tête », et ils ne sont pas trop durs. Le savant arabe Al-Kindi a montré la voie au IXe siècle, en montrant que le langage est soumis à des règles statistiques. En anglais, par exemple, la lettre la plus fréquente est le « e », la deuxième lettre la plus fréquente est le « t », et ainsi de suite. Le début de cette liste est « e, t, a, o, i, n, s, h, r, d, l, u ». Vous prenez alors le texte chiffré, cherchez la lettre la plus fréquente, supposez qu'il s'agit du « e », et c'est parti ! |
| |
L'étape suivante a été franchie par l'italien Bellaso, et plus tard redécouvert par le Français Vigenere (qui en a maintenant la totalité de la reconnaissance), il est appelé le carré de Vigenère. (Sic transit gloria mundi, pauvre Bellaso). Il utilise un mot clé ou une phrase pour changer essentiellement la clé de substitution de chaque lettre, ce qui était au départ très difficile à décrypter, mais Charles Babbage (oui, le même Babbage de la célébre machine à différences) a montré que même celui-ci pouvait être défait par l'analyse statistique. Mais alors Joseph Mauborgne a montré que vous pouviez faire un chiffrement complètement sécurisé avec un masque jetable. C'est un carnet dans lequel chaque feuille a une clé complètement aléatoire pour créer votre carré de Vigenère. Vous faites deux exemplaires, l'un pour l'encodage, et un duplicata pour le décodage. Fait correctement, il n'y a aucun moyen connu pour vaincre ce type de cryptage, mais il y a des problèmes. Tout d'abord, vous devez créer tous les masques et les expédier à toutes les personnes qui ont besoin de communiquer avec vous. Deuxièmement, dans le cas où un seul de ces carnets est un jour intercepté quelque soit la manière, vous n'avez plus aucune sécurité. Troisièmement, c'est très laborieux, en particulier si vous avez besoin d'envoyer beaucoup de messages. Pour ces raisons, aucune nation n'a jamais adopté de masques jetables pour l'ensemble de ses besoins de sécurité. | L'étape suivante a été franchie par l'italien Bellaso et redécouverte plus tard par le Français Vigenère (qui bénéficie maintenant de la totalité de la reconnaissance) : il est appelé le carré de Vigenère. (//Sic transit gloria mundi//, pauvre Bellaso). Il utilise un mot clé ou une phrase pour changer essentiellement la clé de substitution de chaque lettre, ce qui était au départ très difficile à décrypter, mais Charles Babbage (oui, le même Babbage de la célèbre machine à différences) a montré que même celui-ci pouvait être défait par l'analyse statistique. Mais alors Joseph Mauborgne a montré que vous pouviez faire un chiffrement complètement sécurisé avec un masque jetable. C'est un carnet dans lequel chaque feuille a une clé complètement aléatoire pour créer votre carré de Vigenère. Vous en faites deux exemplaires, l'un pour l'encodage et un duplicata pour le décodage. Fait correctement, il n'y a aucun moyen connu pour vaincre ce type de cryptage, mais il y a des problèmes. Tout d'abord, vous devez créer tous les masques et les expédier à toutes les personnes qui ont besoin de communiquer avec vous. Deuxièmement, dans le cas où un seul de ces carnets est un jour intercepté de quelle manière que ce soit, vous n'avez plus aucune sécurité. Troisièmement, c'est très laborieux, en particulier si vous avez besoin d'envoyer beaucoup de messages. Pour ces raisons, aucune nation n'a jamais adopté de masques jetables pour l'ensemble de ses besoins de sécurité. |
| |
===== 2 ===== | ===== 2 ===== |
** | ** |
| |
L'étape suivante consiste en des systèmes mécaniques de chiffrement. Les premiers étaient seulement de simples paires de disques de diamètres différents. Vous pouvez tourner un disque pour aligner le A avec une lettre différente sur le second disque, puis commencer à chiffrer. Un exemple connu par les anciens aux États-Unis est l'anneau secret de décodage du Captain Midnight. Si vous y réfléchissez, c'est juste un simple chiffre de César, bien plus efficace que de faire tout cela avec un crayon et du papier. Mais juste après la Première Guerre Mondiale, un inventeur allemand nommé Arthur Scherbius a repris l'idée de base et a résolu beaucoup de problèmes pour créer la machine Enigma. Cette machine changeait de réglage après le chiffrement de chaque lettre, ce qui rend tout beaucoup plus compliqué et donc plus sûr. Le gouvernement allemand l'a adopté, et croyait qu'il était complètement indéchiffrable. Mais en fait des cryptanalystes polonais ont compris comment décrypter, et transmis leurs résultats à la Grande-Bretagne et à la France, et la Grande-Bretagne et créé une opération éléphantesque à Bletchley Park, qui a déchiffré les messages allemands pendant toute la guerre. Bien qu'il y ait eu des négligences dans la mise en œuvre allemande, même si cela avait été éliminé, ils auraient toujours pu décrypter les messages (mais avec plus de difficulté), car un système mécanique comme la machine Enigma a un défaut intégré: aucun système mécanique ne peut être vraiment aléatoire, et si elle n'est pas aléatoire, il y a une fissure dans le mur qu'un cryptanalyste habile pourra exploiter. Les Polonais, puis les Britanniques, ont réalisé que la clé réside dans les mathématiques, et ont recruté un grand nombre de mathématiciens pour travailler sur la cryptanalyse de ces messages. | L'étape suivante consiste en des systèmes mécaniques de chiffrement. Les premiers étaient seulement de simples paires de disques de diamètre différent. Vous pouvez tourner un disque pour aligner le A avec une lettre différente sur le second disque, puis commencer à chiffrer. Un exemple connu par les vieux de la vieille aux États-Unis est l'anneau secret de décodage du Captain Midnight. Si vous y réfléchissez,ce n'est qu'un simple chiffre de César, bien que plus efficace que de tout faire avec un crayon et du papier. Puis, juste après la Première guerre mondiale, un inventeur allemand nommé Arthur Scherbius a repris l'idée de base et a résolu beaucoup de problèmes pour créer la machine Enigma. Cette machine changeait de réglage après le chiffrement de chaque lettre, ce qui le rendait beaucoup plus compliqué et donc plus sûr. Le gouvernement allemand l'a adopté, et croyait qu'il était complètement indéchiffrable. Mais, en fait, des cryptanalystes polonais ont compris comment venir à bout du chiffrement et ont transmis leurs résultats à la Grande-Bretagne et à la France ; la Grande-Bretagne a créé une opération éléphantesque à Bletchley Park et les messages allemands furent décryptés pendant toute la guerre. Bien qu'il y ait eu des négligences dans la mise en œuvre allemande, même si elles avaient été éliminées, ils auraient toujours pu décrypter les messages (mais avec plus de difficulté), car un système mécanique comme la machine Enigma a un défaut intégré : aucun système mécanique ne peut être vraiment aléatoire, et si elle n'est pas aléatoire, il y a une faille qu'un cryptanalyste habile pourra exploiter. Les Polonais, puis les Britanniques, ont réalisé que la clé résidait dans les mathématiques et ont recruté un grand nombre de mathématiciens pour travailler sur la cryptanalyse de ces messages. |
| |
Alors que la machine Enigma était le moyen principal utilisé par les nazis, il y avait un chiffrement encore plus sécurisé appelé le chiffre de Lorenz, et, pour décrypter ces messages, les Britanniques ont créé ce qui était le premier ordinateur moderne, battant l'Eniac de plusieurs années. Colossus pouvait tenter de trouver la clé en vérifiant de nombreuses combinaisons possibles en même temps. C'était le début du décryptage informatique, et peu après le chiffrement informatisé a également été tenté par plusieurs personnes. Mais ceci reçut une opposition très active de la NSA aux Etats-Unis, qui, après la Seconde Guerre mondiale, était le pays dominant à la fois en informatique et en cryptanalyse. Et c'est un point important. Si la NSA avait pu tout simplement jeter de la puissance de calcul sur tout chiffrement et le déchiffrer, ils n'auraient jamais agi comme ils le faisaient, et le font encore à ce jour. C'est ce fait même qu'ils ne peuvent pas le faire qui les conduit à affaiblir les normes et s'opposer à la recherche. | Alors que la machine Enigma était le moyen de chiffrement principal utilisé par les Nazis, il y en avait un encore plus sécurisé appelé le chiffre de Lorenz, et, pour décrypter ces messages, les Britanniques ont créé ce qui était le premier ordinateur moderne, battant l'Eniac de plusieurs années. Colossus pouvait tenter de trouver la clé en vérifiant de nombreuses combinaisons possibles en même temps. C'était le début du décryptage informatique et, peu après, le chiffrement informatisé a également été tenté par plusieurs personnes. Mais ceci reçut une opposition très active de la NSA aux Etats-Unis, qui, après la Seconde guerre mondiale, était le pays dominant à la fois en informatique et en cryptanalyse. Et c'est un point important. Si la NSA pouvait tout simplement jeter de la puissance de calcul sur tout chiffrement et le déchiffrer, les Américains ne se seraient jamais comporté ainsi, et ne continueraient pas d'agir de même encore aujourd'hui. C'est le fait même qu'ils ne peuvent pas tout déchiffrer qui les conduit à affaiblir les normes et s'opposer à la recherche. |
| |
** | ** |
** | ** |
| |
Dans les années 1960, il était clair que les ordinateurs pouvaient créer des schémas de chiffrement qui ne pouvaient être brisés tant que les utilisateurs ne faisaient pas d'erreur. Mais le gros problème a été de distribuer les clés. La clé utilisée pour créer le chiffrement est essentielle, et le faire pour les gens qui ont besoin de l'utiliser sans que personne ne l'obtienne est un gros problème. Whitfield Diffie et Martin Hellman, en collaboration avec Ralph Merkle, ont créé ce que Hellman a suggéré d'appeller l'algorithme d'échange de clés Diffie-Hellman-Merkle, qui a montré qu'il était possible d'échanger des clés en toute sécurité, même publiquement et Diffie a eu plus tard l'intuition que la clé pouvait être asymétrique, ce qui signifie que la clé utilisée pour chiffrer le message pouvait être différente de la clé utilisée pour déchiffrer le message. Cela permettrait à Alice de chiffrer un message et de l'envoyer à Bob (quand on parle de crypto c'est toujours Alice et Bob qui communiquent, voir Wikipedia) en utilisant la clé de chiffrement publique de Bob, et Bob pourrait alors déchiffrer en utilisant sa clé de déchiffrage privée que lui seul connait. Diffie pensait que c'était théoriquement possible, puis une équipe du MIT a effectivement trouvé une fonction mathématique pour le faire. L'équipe était composée de Ronald Rivest, Adi Shamior, et Leonard Adleman, et par leurs initiales c'est devenu connu comme étant le chiffrement RSA, et c'est encore essentiellement la norme en usage aujourd'hui. La façon dont cela fonctionne, sans entrer dans les mathématiques extrêmement profondes, est d'utiliser une fonction à sens unique, qui est une fonction mathématique qui peut fonctionner sur un certain nombre, mais, quand vous obtenez le résultat, il n'y a aucun moyen de revenir en arrière et voir quel est le nombre initial. Donc, en utilisant une clé publique avec une fonction à sens unique, Alice peut poster cette clé sur un site public, l'imprimer dans un journal, la mettre sur des prospectus, et l'afficher partout dans la ville, ou ailleurs. N'importe qui peut l'utiliser pour chiffrer un message, mais cette clé ne peut jamais déchiffrer de message. Seule sa clé privée peut déchiffrer. Ces deux clés sont générées ensemble comme une paire de clés, basées sur le choix de deux très grands nombres premiers, une pincée de hasard, et un peu de mathématiques intéressantes. Si vous voulez vraiment regarder les maths, commencez par la page Wikipedia sur l'algorithme RSA. | Dans les années 1960, il était clair que les ordinateurs pouvaient créer des schémas de chiffrement qui ne pouvaient être brisés tant que les utilisateurs ne faisaient pas d'erreur. Mais le gros problème a été de distribuer les clés. La clé utilisée pour créer le chiffrement est essentielle et l'envoyer aux gens qui ont besoin de l'utiliser sans que personne d'autre ne l'obtienne est un gros problème. Whitfield Diffie et Martin Hellman, en collaboration avec Ralph Merkle, ont créé ce que Hellman a suggéré d'appeler l'algorithme d'échange de clés Diffie-Hellman-Merkle, qui a montré qu'il était possible d'échanger des clés en toute sécurité, même publiquement, et Diffie a eu plus tard l'intuition que la clé pouvait être asymétrique, ce qui signifie que la clé utilisée pour chiffrer le message pouvait être différente de la clé utilisée pour le déchiffrer. Cela permettrait à Alice de chiffrer un message et de l'envoyer à Bob (quand on parle de crypto c'est toujours Alice et Bob qui communiquent, voir Wikipedia) en utilisant la clé de chiffrement publique de Bob, et Bob pourrait alors le déchiffrer en utilisant sa clé de déchiffrage privée que lui seul connaît. Diffie pensait que c'était théoriquement possible, puis une équipe du MIT a effectivement trouvé une fonction mathématique pour le faire. L'équipe était composée de Ronald Rivest, Adi Shamior et Leonard Adleman, et c'est maintenant connu comme le chiffrement RSA (d'après leurs initiales). C'est encore essentiellement la norme en usage aujourd'hui. La façon dont cela fonctionne, sans entrer dans les mathématiques extrêmement profondes, est d'utiliser une fonction à sens unique, qui est une fonction mathématique qui peut fonctionner sur un certain nombre, mais, quand vous obtenez le résultat, il n'y a aucun moyen de revenir en arrière et connaître le nombre initial. Donc, en utilisant une clé publique avec une fonction à sens unique, Alice peut poster cette clé sur un site public, l'imprimer dans un journal, la mettre sur des prospectus, et l'afficher partout dans la ville, etc. N'importe qui peut l'utiliser pour chiffrer un message, mais cette clé ne peut jamais déchiffrer de message. Seule sa clé privée peut déchiffrer. Ces deux clés sont générées ensemble comme une paire de clés, basées sur le choix de deux très grands nombres premiers, une pincée de hasard, et un peu de mathématiques intéressantes. Si vous voulez vraiment regarder les maths, commencez par la page Wikipedia sur l'algorithme RSA. |
| |
===== 3 ===== | ===== 3 ===== |
** | ** |
| |
Donc, la clé pour le chiffrement moderne est un exemple de mathématiques appliquées. Chaque message que vous écrivez peut être codé en utilisant ASCII ou une norme de codage similaire en une série de chiffres binaires (zéros et uns). Cela signifie donc que tout message est équivalent à un nombre, et n'importe quel nombre peut être transformé par l'utilisation des mathématiques. Et en utilisant les mathématiques nous pouvons déterminer à quel point le codage est sûr, et c'est pourquoi nous pouvons avoir confiance dans le fait que le chiffrement peut être sécurisé même contre le décryptage du gouvernement. Ils peuvent vous menacer de prison si vous ne révélez pas la clé (dans les pays civilisés), ou même de torture pour vous et votre famille (dans les dictatures totalitaires), mais ils ne peuvent pas le décrypter si vous ne les aidez pas un peu. | Ainsi, la clé du chiffrement moderne est qu'il s'agit d'un exemple de mathématiques appliquées. Chaque message que vous écrivez peut être codé en utilisant ASCII ou une norme de codage similaire en une série de chiffres binaires (zéros et uns). Cela signifie donc que tout message est équivalent à un nombre et n'importe quel nombre peut être transformé par l'utilisation des mathématiques. Qui plus est, en utilisant les mathématiques nous pouvons déterminer à quel point le codage est sûr, et c'est pourquoi nous pouvons avoir confiance dans le fait que le chiffrement peut être sécurisé même contre le décryptage du gouvernement. Ils peuvent vous menacer de prison si vous ne révélez pas la clé (dans les pays civilisés), ou même de torture pour vous et votre famille (dans les dictatures totalitaires), mais ils ne peuvent pas le décrypter si vous ne les aidez pas un peu. |
| |
Encore une fois, l'idée de base que tout le monde doit comprendre, c'est que si vous l'utilisez correctement, il ne peut pas être décrypté en utilisant la force brute en un temps raisonnable. Ce n'est pas difficile de chiffrer des données en utilisant une clé assez forte pour que ça prenne à n'importe quel ordinateur connu dans le monde un milliard d'années à travailler nuit et jour pour découvrir la clé et déchiffrer le message. Et la NSA le sait, c'est pour ça qu'ils ont vraiment essayé d'empêcher que cette technologie voie le jour, ils ont même accusé Phil Zimmerman, auteur de PGP, d'avoir «exporté des munitions» quand le code est sorti des USA. (A propos, il n'a jamais été poursuivi). Et jusqu'à ce jour, la NSA tente rarement la force brute sur des données chiffrées, puisque c'est sans espoir. Ce qu'ils essaient de faire est d'obtenir les clés (souvent par la contrainte juridique), ou trouvez un moyen d'affaiblir les clés, comme ils l'ont fait avec la Cryptographie sur Courbe Elliptique. | Encore une fois, l'idée de base que tout le monde doit comprendre, c'est que si vous l'utilisez correctement, il ne peut pas être décrypté avec la force brute en un temps raisonnable. Il n'est pas difficile de chiffrer des données en utilisant une clé assez forte pour qu'il faille à tous les ordinateurs connus dans le monde un milliard d'années, travaillant nuit et jour, pour découvrir la clé et déchiffrer le message. Et la NSA le sait. C'est pour cela qu'ils ont vraiment essayé d'empêcher que cette technologie voie le jour ; ils ont même accusé Phil Zimmerman, auteur de PGP, d'avoir « exporté des munitions » quand le code est sorti des USA. (A propos, il n'a jamais été poursuivi avec succès.) Et, jusqu'à ce jour, la NSA tente rarement la force brute sur des données chiffrées, puisque c'est sans espoir. Ce qu'ils essaient de faire est d'obtenir les clés (souvent par la contrainte juridique), ou trouver un moyen d'affaiblir les clés, comme ils l'ont fait avec la Cryptographie sur courbe elliptique. |
| |