Cryptography
|
Méfiez-vous de l'Huile de SerpentQuand on examine un logiciel cryptographique, la question reste toujours, pourquoi vous devez avoir la confiance en ce produit? Même si vous aviez examiné le code de la source, pas tout le monde a l'expérience cryptographique, pour juger sa sécurité. Même si vous êtes cryptographe expérimenté, les faiblesses subtiles dans les algorithmes pourraient vous éluder encore. Quand j'étais au collège, j'ai imaginé ce que je croyais était un plan brillant d'encodage. Les données pseudo-aléatoires simples ont été ajoutées au plain-texte pour créer un chiffre-texte. Cela contrecarrerait apparemment toute analyse de la fréquence du chiffre-texte, et serait indéchiffrable par les agences d'intelligence du gouvernement les plus habiles. Je me suis senti si fière de mon exploit. Plus tard, j'ai découvert ce même plan dans plusieurs textes d'introduction à la cryptographie et les travaux pratiques de la fin d'année. Qu'agréable! Les autres cryptographes avaient pensé au même plan. Malheureusement, ce plan a été présenté comme un devoir comment utiliser les techniques banales de la cryptoanalyse élémentaire pour briser le code. La fin triste de mon plan brillant. De cette expérience humiliante j'ai appris comment facile est de tomber dans un faux sentiment de sécurité quand imaginer un algorithme d'encodage. La majorité des gens ne se rendent pas compte comme diaboliquement difficile est d'imaginer un algorithme d'encodage qui peut supporter une attaque prolongée et déterminée par un habile adversaire. Beaucoup d'ingénieurs du logiciel ont développé les plans d'encodage également naïfs (souvent même le mêmes système que j'ai pensé qui était si brillant), et quelques-uns ont été incorporés dans les logiciels d'encodage commerciaux et vendus à des milliers d'utilisateurs naïfs. C'est comme la vente des ceintures de sécurité automobile qui semblent bonnes, mais elles s'ouvrent dans l'épreuve d'accident le plus lent. Personne ne suspecte qu'elles sont mauvaises jusqu'au véritable accident. Conformément le logiciel cryptographique faible peut causer, placer inconsciemment, votre information sensible au risque. Donc, vous n'avez pas pu faire autrement même si vous n'aviez aucun logiciel cryptographique. Mais possiblement, vous n'apercevrez peut-être jamais que vos données ont été exposées. Quelquefois les programmes commerciaux utilisent Fédéral Data Encryption Standard (DES), un assez bon algorithme conventionnel recommandé par le gouvernement pour l'usage commercial (mais pas pour l'information classifiée, assez bizarre --hmmm). Il y a plusieurs "modes d'opération" que DES peut utiliser, quelques-uns sont mieux que les autres. Le gouvernement recommande spécifiquement de ne pas utiliser le mode plus faible pour les messages, le Electronic Codebook (BCE) (Livre de Code Électronique) mode. Mais ils recommandent plus fort et plus complexe (CFB) Cipher Feedback (Réaction du Chiffre) ou (CBC) Cipher Block Chaining (Chaînage du Bloc du Chiffre) modes. Malheureusement, la majorité des programmes d'encodage commerciaux, que j'ai regardé, utilisent le BCE mode. Quand j'ai parlé aux auteurs de plusieurs de ces oeuvres, ils disent qu'ils n'ont jamais entendu des modes CBC ou CFB, et qu'ils ne savaient rien au sujet des faiblesses du mode de BCE. De même, ils n'ont même pas appris assez de la cryptographie pour savoir que ces concepts élémentaires ne sont pas rassurants. Et ils dirigent quelquefois leurs clefs DES de manières peu appropriées ou incertains. Aussi, ces mêmes logiciels incluent souvent un second algorithme d'encodage plus rapide qui peut être utilisé au lieu du DES plus lent. L'auteur du programme pense souvent que son algorithme propriétaire plus rapide est aussi sûr que DES, mais après l'avoir interrogé, je découvre habituellement que c'est juste une variation de mon plan brillant quand j'étais au collège. Ou peut-être il ne révélera même pas comment son encodage propriétaire travaille, mais il m'assure que c'est un plan brillant et je devrais avoir confiance en lui. Je suis certain qu'il croit que son algorithme est brillant, mais comment est-ce que je peux le savoir sans le voir? En toute justice, je dois signaler que la majorité des produits très faibles ne viennent pas des compagnies qui se spécialisent dans la technologie cryptographique. Même les vraiment bons logiciels qui utilisent DES dans les modes correctes d'opération ont encore des problèmes. DES standard utilise une clef de 56 bits qui est trop petite par les niveaux d'aujourd'hui et peut maintenant être cassé facilement par les recherches exhaustives de clés sur les machines ultra-rapides spéciales. DES a atteint la fin de sa vie utile, et donc tout logiciel qui compte sur lui. Il y a une compagnie appelée AccessData (87 Est 600 Sud, Orem, Utah 84058, en téléphonent 1-800-658-5199) qui vend un logiciel pour US$185 qui brise l'encodage encastrés utilisés par WordPerfect, Lotus 1-2-3, MS Excel, Symphony, Quattro Pro, Paradox, MS Word, et PKZIP. Il ne devine pas simplement de mots de passe-c'est la vrai cryptoanalyse. Les gens l'achètent quand ils oublient leur mot de passe pour leurs propres dossiers. Les polices l'achètent aussi, donc ils peuvent lire les dossiers qu'ils saisissent. J'ai parlé à Eric Thompson, l'auteur, et il a dit que son programme prend seulement une fraction de seconde pour briser le code, mais il a mis dedans quelques boucles du délai pour ralentire le logiciel pour que cela ne semble pas si facile au client. À certains égards, la cryptographie est comme les médicaments. Son intégrité peut être absolument cruciale. La mauvaise pénicilline (postdatée) a l'air la même que la bonne pénicilline. Vous pouvez dire si votre logiciel de la feuille de calcul est faux, mais comment est-ce que vous dites si votre programme de cryptographie est faible? Le code-texte produit par un faible algorithme d'encodage se voit aussi bon que le code-texte produit par un algorithme d'encodage fort. Il y a là beaucoup d'huile de serpent et cures bidon. Contrairement aux vieux colporteurs de la médecine brevetée, les responsables d'implémentations du logiciel habituellement ne savent pas que leur truc est l'huile de serpent. Ils peuvent être de très bons programmeurs du logiciel mais souvent n'ont lu aucune littérature académique de la cryptographie. Cependant, ils pensent qu'ils peuvent écrire un bon logiciel cryptographique. Et pourquoi pas? Après tout, il paraît facile de le faire intuitivement. Et leur logiciel semble travailler bien. N'importe qui qui pense qu'il a imaginé un plan d'encodage inviolable est un génie incroyablement rare ou est un naïf inexpérimenté. Je dois malheureusement, négocier quelquefois avec les prétendus cryptographes qui veulent faire les "améliorations" en ajoutant des algorithmes d'encodage de leur propre dessin. Je me souviens d'une conversation avec Brian Snow, un cryptographe éminent hautement placé avec NSA. Il m'a dit qu'il n'aurait jamais confiance en un algorithme d'encodage conçu par une personne qui n'avait pas "gagné son pain" en commencent par casser beaucoup de codes. Cela a beaucoup de sens. J'observe que pratiquement personne dans le monde commercial de la cryptographie est qualifié par ce critère. "Oui" - il a dit avec un sourire assuré - "Et cela rend notre travail à NSA beaucoup plus facile." Une pensée glaciale. Je ne qualifie pas non plus! Le gouvernement a colporté l'huile de serpent aussi. Après la SECONDE GUERRE MONDIALE, les USA ont vendu l'Énigme; les machines chiffrant allemandes aux gouvernements du troisième monde. Mais, ils ne leur ont pas dit que les Polonais avant la guerre d'abord et ensuit les Alliers durant la guerre ont brisé le code d'Énigme, un fait qui est resté classifié jusqu'aux années soixante. (http://www.minelinks.com/war/index.html) Même aujourd'hui beaucoup de Systèmes Unix utilisés mondialement chiffrent un dossier utilisant l'encodage type Énigme, en partie car le gouvernement de USA a créé des obstacles légaux contre l'utilisation des meilleurs algorithmes. Ils ont même essayé de prévenir l'initiale publication de l'algorithme RSA en 1977. Et ils ont pendant beaucoup d'années essentiellement écrasées tous les efforts commerciaux de développer des téléphones sûrs efficaces pour le public. Le principal travail de l'Agence de la Sécurité du National (NSA) du gouvernement Américain est rassembler intelligence, principalement en exploitant secrètement les communications privées de gens (voyez le livre de James Bamford, " The Puzzle Palace"). Le NSA a amassé la compétence considérable et les ressources pour briser des codes. Quand les gens ne peuvent pas obtenir de la bonne cryptographie pour se protéger, cela rend beaucoup plus facile le travail de NSA. NSA a aussi la responsabilité d'approuver et recommander des algorithmes d'encodage. Quelques-uns les critiques dénoncent que c'est un conflit d'intérêt, comme mettre le renard pour garder le poulailler. Dans les années 1980, NSA avait encouragé un algorithme d'encodage conventionnel qui ils ont conçu, le COMSEC Endorsement Program (Programme d'Endossement COMSEC), mais ils ne diront à personne comme il travaille car cela est classé. Ils voulaient qu'on ait confiance en eux en l'utilisant. Mais tous cryptographe peut vous dire qu'un algorithme de l'encodage bien conçu n'a pas besoin d'être classé pour être sûr. Seulement les clefs devraient avoir besoin de protection. Comme vraiment quelqu'un sait si l'algorithme classé de NSA est sûr? Ce n'est pas difficile pour NSA de concevoir un algorithme d'encodage qu'ils seulement peuvent craquer, si personne ne peut examiner l'algorithme. Et maintenant avec le chip Tondeur, NSA encourage arrogamment SKIPJACK, un autre chiffre classifié qu'ils ont conçu. Vendent-ils délibérément l'huile de serpent?
Il y a trois facteurs principaux qui ont sapé la qualité de logiciel cryptographique aux USA.
adapté par ing. Rafal Swiecki courrier Novembre, 2004 |