manu@netline.be

PGP

InterNet sur écoute!

InterNet est devenu un outil de communication incontournable.
Mais sans en avoir l'air, il est aussi devenu un outil d'espionnage
très discret. InterNet ne rime pas avec sécurité,
mais nous allons voir que ce n'est pas une fatalité.

Envoyer un « mail » est à présent devenu
banal. Tellement banal que toutes sortes d'informations y passent:
des mots doux à votre maîtresse, votre numéro
de carte Visa ou encore des demandes d'emploi. Bref, des choses
qui ne regardent que vous, mais surtout pas votre employeur, votre
voisin ou vos collègues. Mais ce que vous ne savez certainement
pas, c'est que tous les messages que vous envoyez sur InterNet
transitent sur des tas de machine (parfois plusieurs dizaines)
avant d'aboutir dans la boîte aux lettres du destinataire.
Chaque « relais » peut ainsi lire votre message et se
tenir au courant de vos activités, ou de celles de votre
entreprise. Des conséquences désastreuses sont à prévoir!

Depuis longtemps, les services secrets et les banques ont compris
qu'une information non cryptée est vulnérable. Très
tôt, des systèmes de cryptage se sont mis en place.
A l'heure actuelle, on peut dire qu'il existe deux grands types
de cryptage: le cryptage à clé unique dite privée,
et le cryptage à clé double dite publique.

La cryptographie n'est pas faite pour les bandits

Il faut aussi mettre de côté un vieux préjugé:
la cryptographie n'est pas faite pour les bandits. Envoyez un
message non-crypté sur InterNet, c'est comme envoyer une
carte postale par la poste. Parfois, vous préférez
utiliser une enveloppe, pas parce que vous êtes un criminel
ou un dealer, mais parce que ca ne regarde que vous. Le mode d'emploi
de PGP (voir plus bas) commence justement par ces mots: «
C'est personnel. C'est privé. Et ca ne regarde que vous.
». C'est bien l'esprit dans lequel il faut voir la cryptographie.

Le cryptage à clé privée.

Aussi appelé cryptage à clé unique, il n'utilise
qu'une seule clé, identique pour le codage et le décodage.
Les deux parties qui veulent communiquer entre elles doivent donc
s'être mises d'accord sur une clé, qui devra rester
secrète. Un espion qui entrerait en possession de la clé
pourrait alors déchiffrer tous les messages entre les parties,
dans un sens comme dans l'autre. Mieux, il pourrait même
se faire passer pour une des parties en cryptant un message avec
la clé. L'échange des clés doit donc se réaliser
dans un secret absolu, ce qui n'est pas toujours facile à réaliser.

Le cryptage à clé publique.

Nettement plus complexe, il utilise pour chaque partie deux clés:
une clé dite publique, et une clé dite privée.
Ces deux clés sont mathématiquement liées
si bien que les messages cryptés par une des clés
peuvent être décodés par l'autre clé.
Bien entendu, à partir d'une des clés, on ne peut
pas facilement en déduire l'autre. Cette simple particularité
provoque un changement énorme par rapport au cryptage à
clé privée. Il y a beaucoup d'avantages, mais aussi
certains inconvénients, facilement contournables si on
est discipliné et bien informé.

Pour échanger des messages cryptés avec un correspondant,
il suffit que sa clé publique soit disponible dans un serveur
de clés officiel. Un exemple s'impose: Pierre et Pol ont
chacun leur paire de clés. Leur clé publique est
disponible sur un serveur de clés officiel. Pierre veut
envoyer un message à Pol: il va demander au serveur de
clé la clé publique de Pol. Il va crypter son message
avec cette clé et l'envoyer à Pol. Pol reçoit
donc un message crypté avec sa clé publique et peut
donc le décoder avec sa clé publique.

Mieux, on veut être sur que c'est bien Pierre qui a écrit
le message à Pol. Accrochez-vous: Pierre crypte le message
avec sa clé privée et avec la clé publique
de Pol. Pol n'aura alors plus qu'à décrypter le
message avec sa clé privée, qui va annuler le cryptage
effectué avec la clé publique de Pol par Pierre,
et avec la clé publique de Pierre, qui annulera le cryptage
que Pierre a réalisé avec sa propre clé privée.

Le programme: PGP

Tout cela est bien beau, mais comment utiliser cela en pratique?
D'une part, il vous faut LE programme de cryptographie à
clé publique: PGP (Pretty Good Privacy). Ecrit par Phil
Zimmerman, ce programme a déjà fait transiter beaucoup
de bits. Extrêmement complet, il permet de faire toutes
les tâches nécessaires à la gestion d'un «
KeyRing » (ensemble de clés, publiques ou secrètes).
Disponibles sur tous les bons sites FTP, il existe pour toutes
les plates-formes du moment. Attention cependant, il existe deux
versions: une version pour les Etats-Unis, et une version pour
l'exportation, avec des clés plus petites. La version USA
étant tellement difficile à obtenir, il y a peu
de chance que vous puissiez l'obtenir. D'autre part, informez-vous
des législations en vigueur dans votre pays. En France,
la cryptographie PGP est interdite, sauf autorisation spéciale
que vous n'aurez probablement pas. En Belgique, par contre, on
se tâte encore. Toutes les infos sur les derniers rebondissements
peuvent êtres trouvés sur le site PGP Belge: http://pgp.netline.be.

Le serveur de clés

Un peu comme un annuaire téléphonique, un serveur
de clés enregistre dans sa base de données toutes
serveurs de clés dans le monde, qui sont tous synchronisés.
Ainsi, si vous soumettez votre clé à l'un d'entre
eux, les autres en seront automatiquement avertis et votre clé
sera automatiquement diffusée. Il existe un serveur de
clés en Belgique (Français et Anglais) sur http://pgp.netline.be.

Le serveur de clés peut soit s'utiliser par email, soit
via une interface Web, bien plus conviviale. Le serveur enregistre
en plus de la clé, l'adresse email et le nom de son propriétaire.
Cependant, soyez patients: le fichier des clés a une taille
un peu supérieure à 10MB, et augmente chaque jour.
Les recherches sont parfois longues (30 à 40 secondes).

Bonjour, je suis Bill Gates.

Un des gros problèmes avec la cryptographie à clé
publique, c'est de savoir si une clé publique appartient
bien à la personne qui l'a émise. Par exemple, si
je trouve sur un serveur de clés la clé de Bill
Gates, comment être sur que c'est bien la clé de
Bill Gates lui-même et pas une clé utilisée
par Philippe Khan, un de ses concurrents, pour se faire passer
pour Bill Gates? Pour éviter ce grave problème,
on utilise la certification de clés. Celui que possède
une clé publique va demander à des amis (le plus
possible) de signer sa clé publique, ce qui va diminuer
le risque de fausses clés (il faudrait en effet que tous
ceux qui signent la clé soient au courant de la supercherie
et marchent dans le coup). En résumé, il faut toujours
se méfier d'une clé qui n'est pas certifiée
par des gens d'origines différentes.

De manière similaire, on peut aussi signer un message avec
une clé publique, tout en gardant le message en clair.
Imaginons que vous ayez un message important à transmettre,
par exemple un ordre de virement sur un compte. Afin que quelqu'un
d'autre n'émette un message à votre place, et afin
d'éviter qu'on ne modifie le numéro de compte ou
le montant, vous pouvez signer votre message avec votre clé
privée. Ainsi, celui qui reçoit votre message peut
s'assurer que c'est bien vous qui en êtes l'auteur et que le message est intact.

Mais encore...

Netscape aussi utilise la cryptographie à clé
publique pour réaliser les sessions sécurisées.
Ce sera le sujet d'un autre article mais sachez simplement que
si vous vous connectez avec un browser compatible SSL
Socket Layer) sur https://www.rtfm.be (notez bien que c'est https
et non http), tous les ordres que vous envoyez et toutes les informations
que vous recevez sont encryptées par un système
semblable à la cryptographie à clés publiques.
Il s'agit du Secure Socket Layer (SSL), développé
à l'origine par Netscape pour ses browsers.

SSH (Secure Shell Daemon) se base sur le même principe,
pour réaliser des connexions sécurisées en
mode terminal entre machines. Tout ce que vous voyez, tout ce
que vous tapez est encrypté. C'est particulièrement
important car cela évite, entre autres à vos mots
de passe, de se balader sur le réseau. Il existe effectivement
des programmes (dont je ne citerais pas le nom!) qui sont conçus
pour récolter tous les mots de passe en transit. C'est redoutable!

PGPfone: les logiciels qui permettent de « téléphoner
» via InterNet sont désormais légion. Seul
petit problème, encore une fois, rien n'est confidentiel.
Phil Zimmerman (l'auteur de PGP) récidive avec PGPfone,
qui utilise la technologie PGP pour boucher les grandes oreilles.

Les bonnes adresses!

Pour vous procurer PGP et y voir une introduction aux commandes
principales, voyez http://linux.netline.be/pgp.html. Pour prendre
PGP sur InterNet, nous ne saurions trop vous conseiller des sites
proches de chez vous, pour éviter de surcharger les lignes
internationales! Vous trouverez PGP sur ftp://vivaldi.belnet.be.

Le site officiel de SSH es http://www.ssh.fi. Les clients et
serveurs Unix sont disponibles gratuitement. La version Windows,
toujours en phase Bêta, est gratuite pour l'instant,
cela ne devrait pas durer. A noter que ce programme est d'une
simplicité d'utilisation et d'installation exemplaire.

Le serveur de clés PGP Belge est http://pgp.netline.be.
Il existe une interface WWW ainsi qu'une interface par email.
Le site n'est encore disponible qu'en Français et Anglais.

Adresses WWW: La cryptographie