Principes et installation
Le droit à le vie privée
Pourquoi vouloir protéger sa vie privée ? Les inquisiteurs vous diront : «qu'avez-vous à cacher ?», bondissant sur le levier de la culpabilité, ou mieux : «vous n'en avez pas besoin.», bondissant sur celui de l'ignorance. Avant de nous plonger dans l'utilisation des systèmes de cryptographie à clef publique et privée, examinons leur utilité et posons-nous la question de leur légitimité. La section liens, dans ce module, donnera au curieux quelques références utiles pour approfondir le sujet. Les sites de l'APRIL (www.april.org), et www.anonymat.org....... sont incontournables en la matière.
Premièrement, d'un point de vue strictement moral : le droit à la vie privée est un droit fondemental de l'Homme. Nous prendrons ici une référence parmi d'autres : la Déclaration Universelle des Droits de l'Homme, qui reste dans le patrimoine de l'homme une source précieuse pour son équité et sa tolérance. Les deux articles qui suivent en sont tirés textuellement. La protection de la vie privée sert à préserver le droit de chacun à la liberté. Vous pouvez consulter le texte complet de la Déclaration Universelle des Droits de l'Homme sur le site des Nations Unies http://www.un.org/french/aboutun/dudh.htm.
Article 12 : Nul ne sera l'objet d'immixtions arbitraires dans sa vie privée, sa famille, son domicile ou sa correspondance, ni d'atteintes à son honneur et à sa réputation. Toute personne a droit à la protection de la loi contre de telles immixtions ou de telles atteintes. Article 19 : Tout individu a droit à la liberté d'opinion et d'expression, ce qui implique le droit de ne pas être inquiété pour ses opinions et celui de chercher, de recevoir et de répandre, sans considérations de frontières, les informations et les idées par quelque moyen d'expression que ce soit.La deuxième raison est plus pragmatique : il y a beaucoup trop de personnes à qui nous ne pouvons pas faire confiance, de quelque bord qu'elles soient. Parce que l'informatique s'est étendue à tous les secteurs, même les personnes non connectées à Internet sont concernées par la protection de leurs données.
Eléments de cryptographie asymétrique
Le concept de clef publique / clef privée s'appuie sur des bases mathématiques complexes ; nous essaierons d'en donner ici un aperçu pragmatique. Soient Alice et Bob deux utilisateurs, chacun muni d'une clef publique et d'une clef privée. La clef publique est connue de tous, la clef privée n'est connue que de son propriétaire. Deux scénarios sont possibles :
(1) Alice souhaite envoyer un message à Bob, de telle manière que *seul* Bob puisse le lire. Alice utilise alors la clef publique de Bob pour chiffrer le message, et Bob sa clef privée pour le déchiffrer et le lire. Un message chiffré avec une clef publique ne peut être déchiffré et lu qu'avec la clef privée correspondante.
(2) Alice souhaite envoyer un message signé à Bob, de telle manière que Bob soit *sûr* que le message a bien été écrit par elle. Alice utilise sa clef privée pour signer le message, et Bob utilise la clef publique d'Alice pour vérifier son identité. Un message dont la signature est vérifiée par une clef publique a obligatoirement été signé avec la clef privée correspondante.
Une clef se présente sous la forme d'une série de caractères, plus ou moins longue. Dans une certaine mesure, plus la clef est longue et plus le déchiffrement intempestif est difficile. Si Jojo veut déchiffrer (intempestivement) un message à destination de Bob, il va essayer toutes les clefs privées possibles jusqu'à obtention du texte en clair. Si la clef privée de Bob est 'a', Jojo risque de la trouver très rapidement. A l'inverse, si la clef privée de Bob est 'j67Y\io5v#%kIW7%' (16 caractères), Jojo risque d'en essayer quelques unes avant de tomber dessus. Dans la pratique, les clefs sont comptées en bits (8 bit = 1 caractère) et ont généralement une longueur comprise entre 56 et 1024 bits selon les implémentations et les lois.
Pour formaliser un peu tout cela, le nombre de clefs possibles de x bits est de 2^x ; soit, pour une clef de 1024 bits (ce qui est recommandé pour une clef classique, et légal depuis peu en France) un espace de possibilités à 318 chiffres. Ce sont de grands nombres, mais il ne faut cependant pas se laisser leurrer : tout n'est qu'une question de moyens et de temps. A titre d'indication, un PIII 700 MHz peut tester en moyenne 10 000 coups par seconde (dépend de la taille des clefs), ce qui permet de casser une clef 1024 bits en un temps supérieur à l'age de l'univers. D'un autre coté, l'utilisation de matériels dédiés et fortement parallélisés rend de tels calculs possibles sur de petites clefs (les clefs 56 bits sont réputées cassables). Le code suivant est destiné aux GNU/Linuxophiles ; les dernières lignes représentent le nombre d'années (non bissextiles) nécessaires pour casser une clef 1024 bits sur un Pentium III 700 MHz.
[Sortie wrappée pour raison de mise en page] [grandpas@localhost - 09:20pm]$ echo «2 ^ 1024» | bc -l 1797693134862315907729305190789024733617976978942306572734300811577326758055009 6313270847732240753602112011387987139335765878976881441662249284743063947412437 7767893424865485276302219601246094119453082952085005768838150682342462881473913 110540827237163350510684586298239947245938479716304835356329624224137216
[grandpas@localhost - 09:21pm]$ echo «2 ^ 1024» | bc -l | wc -c 318
[Sortie wrappée pour raison de mise en page] [grandpas@localhost - 09:47pm]$ echo «(2 ^ 1024) / 90000 / 60 / 60 / 24 / 365» | bc -l 6333830595236188298837678247044029869278063091712845188336084374743949623904284 4556030665948759631328259806739342477506362671856084903539691092871159406577448 6188248438699635253897554827097405855223951998721058715394577915688817300418263 11566614252904388110478531166582088634484215470257918765266.37078757864592141608
GNU Privacy Guard est un logiciel libre destiné à remplacer le très connu PGP (propiétaire et payant). Il possède toutes les fonctionnalités de ce dernier, et un grand nombre d'extensions lui permettent de s'interfacer avec des clients mails, réseaux, etc.
Installation
Nous ne passerons que peu de temps sur l'installation, car il existe des paquetages dédiés pour toutes les plates-formes les plus utilisées : RedHat/Mandrake, Debian, Slackware... L'installation par les sources se fait sans difficultés majeures, pour les personnes connaissant un peu le principe.
Si vous utilisez Debian, alors la vie est rose pour vous : GnuPG est un paquetage officiel Debian, et un simple apt-get install gnupg fera l'affaire. Si vous utilisez un système à base de rpms, vous avez alors peut-être le réflexe du rpmfind.net, sinon, .. c'est un tort :) le rpm peut également être trouvé sur quantité de serveurs : www.google.fr/search?hl=fr@q=gnupg+rpm+redhat. Une fois que vous l'avez rapatrié, utilisez la commande d'installation standard :
rpm -Uvh gnupg-1.2.3-1.i386.rpm
Si vous utiliser un des systèmes Windows(tm), un binaire peut être trouvé ici : ftp://ftp.gnupg.org/gcrypt/binary/. Il s'agit d'un programme en ligne de commande ; toutes les fonctinonalités sont implémentées, mais il faut avoir un prompt dos et savoir s'en servir... Rien de bien compliqué, cependant si cela vous effraie, vous pouvez toujours utiliser une interface graphique (front-end) tel que WinPT (www.winpt.org).
Si vous êtes plutot Mac, le binaire peut être trouvé sur le site de Mac GNU Privacy Guard macgpg.sourceforge.net/fr/, mais ne tourne que sous Mac OS X.