La cryptographie dans le monde

Si votre société n'est pas installée aux Etats Unis ou au Canada, et elle n'est ni une banque ni une institution financière, vous ne pouvez pas obtenir de logiciels ou de matériels américains disposant de capacités cryptographiques fortes. Même si votre compagnie est Nord-américaine, vous ne pouvez pas mettre en oeuvre un réseau transnational véritablement bloqué ("un réseau privé virtuel") joignant vos diverses filiales internationales. Le problème n'est pas technique mais légal et politique. La plupart des logiciels commerciaux répandus (tel que les systèmes d'exploitation, les serveurs Web et les logiciels de transmission) proviennent de compagnies américaines et sont soumis aux lois américaines interdisant l'exportation de logiciels de chiffrement dont la puissance de chiffrement excède 56 bits. (Le but étant d'empêcher les terroristes internationaux de communiquer par des moyens si sûrs que même les institutions américaines ne pourraient les pénétrer). Mais lorsque l'on sait que l'Electronic Frontier Foundation a cassé un message secret (encrypté par l'algorithme DES sur 56 bits) en seulement 56 heures à l'aide d'un ordinateur coûtant 210.000$, vous êtes tout excusé du manque d'enthousiasme que vous pouvez témoigner vis à vis de la sécurité procurée par les logiciels américains disponibles. Le gouvernement indien a d'ailleurs lancé une mise en garde sur l'utilisation de ces produits américains, et envisage même d'interdire leur utilisation.

Depuis maintenant quelques années, des compagnies comme la société allemande Brokat ont bien confortablement vécu en vendant des produits cryptographiques développés indépendamment aux clients situés à l'extérieur des marchés américain et canadien. Un grand nombre de banques Allemandes et Européennes ont employé les solutions propriétaires de Brokat pour acquérir légalement un outil de chiffrement fort (avant que le département du commerce américain n'ait fait une exception pour les banques et les institutions financières, dans le but de concurrencer Brokat). Cependant, ses produits ne sont pas bon marché. Leur pénurie artificielle a fait augmenter le prix du logiciel cryptographique légalement disponible, pour ce qui reste malgré tout des algorithmes mathématiques bien connus. Mais ce n'est pas comme si vous pouviez récupérer un "patch" cryptographique en dehors de l'Amérique du Nord et l'appliquer à un logiciel américain bridé mais commercialisé. La loi des Etats Unis interdit de même de telles possibilités sur les logiciels américains qui rendraient possible de tels patchs. Vous devriez donc acheter des solutions complètes à des constructeurs de non-américains, ce qui est susceptible d'être coûteux et pas aussi élégant que ne l'est le logiciel original sans chiffrement efficace. L'accord de Wassenaar signé entre 33 pays pour limiter l'exportation des produits à fort pouvoir cryptographique rend cette tâche encore plus difficile.

Si, par exemple, vous voulez installer un site Web avec commerce électronique sécurisé, vous devrez chiffrer la communication entre vos clients et votre site, de sorte qu'aucune oreille indiscrète ne puisse suivre les affaires traitées pendant que les messages transitent sur l'Internet. La technologie standard dédiée à cet usage s'appelle SSL (Secure Sockets Layer), lancée par Netscape. Si vous vous situez en dehors de l'Amérique du Nord, que vous n'êtes pas une banque ou une institution financière, des serveurs Web commerciaux comme le serveur Netscape Enterprise Server et/ou Microsoft Internet Information Server ne sont autorisés à vous fournir qu'une clef SSL de 40 bits qui, comme vous le savez, peut être brisée assez facilement par une attaque de type force brutale. Vous n'obtiendrez pas de solution standard et simple ayant un pouvoir cruptographique suffisamment puissant à un prix raisonnable.

La solution à ce problème apparemment insurmontable est délicieusement ironique. Vous ne pouvez pas acheter un tel produit, mais vous pouvez l'obtenir gratuitement. Vous pouvez télécharger de n'importe où (y compris des Etats Unis) et en toute légalité le code source du leader sur ce marché, le serveur libre Apache, le module SSL "SSLeavy" (indépendamment développé par un Australien, Eric A. Young) et le module "mod_ssl" (pour ce dernier de n'importe quel site situé hors des Etats Unis). Tous sont gratuits. Un petit utilitaire inclus avec le module de mod_ssl remplace une partie du code source d'Apache, en plaçant des crochets cryptographiques dans le code original pour appeler les sous-programmes de SSLeay. Vous compilez alors le code source vous-même pour construire le serveur Web sécurisé, ce qui est plus simple qu'il n'y parait. Notez que la source initiale d'Apache ne contient absolument aucun code ou crochet cryptographique. Au total cette solution est propre, conforme aux lois sur les exportations américaines, et vous donne un serveur Web entièrement conforme aux normes SSL avec une puissance de 128 bits, que vous pouvez utiliser pour établir une solution de commerce électronique.

(Ntd : sous réserve que l'utilisation de cette puissance de chiffrement soit autorisée dans le pays où elle sera exploitée ...)

Qui plus est, vous pouvez disposer du code source de SSLeay et le faire auditer selon vos souhaits pour vous assurer que ses algorithmes de chiffrement ne présentent pas de failles de sécurité et chiffrent réellement sur 128 bits, ce qui n'est pas possible avec les logiciels commerciaux, distribués uniquement dans leur version binaire. Il est intéressant de savoir que Netscape utilise toujours SSL sur 128 bits, y compris pour ses produits limités à un chiffrement réel de 40 bits. Ils traite simplement les 88 bits restants en texte clair. Sans la possiblité de contrôler le code source et de le re-compiler, vous n'avez aucun moyen de vérifier la force de chiffrement réelle d'un produit commercial.

Cette application n'a qu'un lien indirect avec Linux. Cependant, la combinaison d'Apache et de Linux est très commune. Apache fonctionne sur toutes les versions d'Unix comme sur MS-Windows NT, bien qu'actuellement la version de NT ne soit pas aussi stable. Ainsi si vous êtes soumis aux restrictions du gouvernement américain en matière de chiffrement, Apache et Unix seront probablement la seule issue dont vous disposerez pour mettre en place une application de commerce électronique sécurisée (et vérifiable).

Les autres produits cryptographiques puissants sont PGP (Pretty Good Privacy), un module de chiffrement à base de clef publique (gratuit, mais qui n'est pas diffusé sous licence GNU), son pendant sous licence GNU (n'utilisant pas d'algorithme breveté) se nommant GPG (GNU Privacy Guard), et les classes Java Cryptix utilisables gratuitement pour des applications Java. Récemment annoncé, le paquetage FreeS/WAN permet de sécuriser les communications sur les réseaux TCP/IP comme l'Internet. À la différence SSL, qui chiffre seulement le traffic basé sur le protocole de transfert hypertexte (HTTP) entre serveurs Web et navigateurs, FreeS/WAN peut chiffrer n'importe quel type de traffic TCP/IP, y compris FTP (File Transfer Protocol), traditionnellement peu sûr du fait de l'envoi des mots de passe en clair. FreeS/WAN a été entièrement développé en dehors des Etats Unis pour des raisons évidentes, et est la voie légale la meilleur marché pour mettre en oeuvre un Extranet ou un Réseau privé Virtuel. Tous ces produits libres fonctionnent sous Linux, et le code source peut être audité selon vos besoins.

Les meilleures choses dans la vie sont gratuites, du moins en ce qui concerne la puissance cryptographique...

Références :

Le site Web de Electronic Frontier Foundation

La mise en garde du gouvernement Indien sur les logiciels de chiffrement américains

Site Web de Brokat

Page Web d'Apache

Page Web de SSLeay

Téléchargement de SSLeay

Téléchargement de mod_ssl (Convention de notation : "mod_ssl-2.2.8-1.3.6.tar.gz" signifie qu'il s'agit du patch pour SSLeay version 2.2.8 et Apache 1.3.6)

Code du SSL 40 bits de Netscape

Téléchargement de PGP

Page Web de GPG

Page Web de Cryptix

Évolution de FreeS/WAN

Page Web de FreeS/WAN