Home » Comment ça marche, Internet, Sysadmin

Internet, avoir confiance dans la clé (7)

30 juillet 2010 aucun commentaire
tags : , , ,
Download PDF

Le petit sujet du moment (DNSSEC) me donne l’occasion d’aborder un thème qui n’est pas réellement en lien avec Internet mais qui, pour le commun des mortels, ne se pose pratiquement que sur le net.

Dans la vrai vie, quand vous signez un document avec votre stylo, toute personne qui va voir le document avec la signature en bas va, par défaut, considérer que ce n’est pas un faux, et pour les plus paranoïaques, iront verifier dans un fichier quelconque pour comparer les deux signatures.

Dans le monde de l’informatique, une signature est une suite imbitable de chiffres et de lettres et il ne suffit pas d’enchainer des chiffres et des lettres après un message pour faire croire au destinataire que le message est signé. Pas non plus question d’utiliser toujours la même suite de caractères si on communique avec plusieurs personnes, n’importe qui pouvant la copier/coller dans un email.

On utilise donc un système né presque en même temps qu’Internet qui est constitué de clés asymétriques (voir l’article Wikipedia sur le sujet). De façon très grossière, ce que l’une des deux clés a chiffré ne pourra être déchiffré que par l’autre clé. Le proprietaire de la clé asymétrique garde la partie privée de la clé pour lui et distribue la partie publique.

Partant de la, l’utilisation première de ce système est de permettre à quiconque de chiffrer un message en utilisant la clé publique de son correspondant pour empêcher quiconque intercepterai le message en question de le lire, puisque seul le titulaire de la clé privée correspondante pourra déchiffrer le message.

Mais on peut aussi l’utiliser pour signer, si on passe un message sans sa propre clé privée, seul la clé publique pourra le déchiffrer. C’est a dire que n’importe qui pourra le faire mais cela veut aussi dire que si la personne qui le fait est certaine que la clé publique qu’elle détient viens bien de vous, elle s’assure par la même occasion que le message en question est bien de vous aussi.

Les chiffrements et signatures de messages sont très utilisées par email ou on procède généralement a des cérémonie de signature ou chacun vient avec sa pièce d’identité pour attester qu’il est bien qui il prétend être et fourni aux autres participants le moyen de retrouver a coup sur sa clé publique.

Mais c’est aussi utilisé chaque jour pour le web, le protocole https:// bien connu des boutiques en lignes et autres banques émet, au début de la connexion, la clé publique qui permettra aux visiteurs de déchiffrer les pages web et de chiffrer les réponses envoyées au serveur (cette clé étant elle-même signée par une autre clé dans laquelle le navigateur a, par défaut, confiance)

Mais on peut aussi faire des choses très rigolotes avec les signatures. Imaginez que je vous envoie un email en le signant (attention, ça fait du bruit) :

----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Oh le joli mail signé !
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla

iQEcBAEBAgAGBQJMUzq5AAoJEC1hvjYyHGwWdIIH/RwaeeORO5
7av8zSYX6kCoSpElpCZuLZRbLeOSdaKCa+likLvtF61rjXOz+1
L39/RthSf4wvUDdDsiBmmXfxHpkCsotpV873PJBikuPl3pSx+U
CQMXiDS9QO4adH6sjupfE4igV8YniY9+abZoGW92wqaNkeM6DV
ElD1ykFHUhzkO0/zX0CkFKuIiC8A38TJQx8J+hd2d0Q/U5py0f
UWbi3xzKQerh4N5KPNM6EUIWtvmlCZjCeM8HOCn6h8q0es4ffe
FaBlmuognbDcCwNCzGTrbw+V0aH7N8QV+pv2labVjILoJEYpe5
qG9wlYBHOlCMol05AIwlrdqIlDRfl61oE==0fax
-----END PGP SIGNATURE-----

et que vous souhaitez le renvoyer a votre patron en y ajoutant vous même votre propre signature. Votre patron recevra donc un texte avec deux signatures. La votre qu’il connait puisqu’il a votre clé publique et la mienne qu’il ne connait pas mais a qui il va quand même faire confiance puisqu’il a confiance en vous.

Nous y sommes, c’est le principe de fonctionnement de DNSSEC (voir mon article sur comment fonctionne le DNS si vous êtes perdus maintenant). Sur mon serveur, je vais creer une signature pour mes petits noms à moi que je vais fournir à Gandi qui s’occupe d’enregistrer mon nom de domaine et qui sait que je suis bien moi.

A partir de la, Gandi va faire en sorte que ma signature spyou.org soit signée par org qui elle-même va être signée par la signature racine, celle la même dont on parle depuis le début de la semaine et qui vient de pointer le bout de son nez le 15 juillet dernier.

Une personne qui va donc venir demander à mon serveur DNS « qui est blog.spyou.org » va pouvoir suivre la succession de signatures imbriquées les unes dans les autres jusqu’à la racine qui est le seul point de confiance que tout le monde aura ces prochaines années.

Vous me demanderez sans doute « mais avant, on faisait comment ? » ben on faisait pas, on avait bêtement et aveuglément confiance dans la réponse reçue lorsqu’on posait une question et tout un tas de gens pouvaient faire des choses pas très nettes au milieu. Qu’ils se rassurent, vu l’engouement général pour DNSSEC actuellement, ils ont encore de beaux jours devant eux.

L’autre question qu’on me pose souvent, c’est « c’est vraiment sécurisé ». La réponse se trouve dans les mathématiques, plus précisément dans les fonction à sens unique. Les clés de chiffrement asymétriques utilisent une simple factorisation de nombre premiers. Par exemple, 953 et 1409 sont deux nombre premiers et constituent votre clé privée. Votre clé publique, c’est 953*1409=1342777. Les mathématiques d’aujourd’hui ne savent pas retrouver les deux nombres premiers multipliés dans 1342777. (en vérité, c’est faisable avec deux nombres juste en tâtonnant, mais les clés utilisées en contiennent beaucoup plus)

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


7 − = cinq