Les DNS
S01:E54

Les DNS

Episode description

Note importante

Cette émission de LVEL a été réalisée avec un double objectif : vulgariser les problématiques autour du DNS et former une nouvelle personne au passage à la radio. Le sujet était, avec le recul, beaucoup trop complexe pour pouvoir le traiter très rigoureusement en moins d’une heure, n’ayant pas d’expertise précise du domaine. Stéphane Bortzmeyer nous a signalé des approximations dans notre présentation. Bien que l’émission ne comporte pas de grossiers contre-sens, nous invitons les auditeur·ices à faire preuve d’esprit critique et à chercher d’autres sources pour compléter ce qui a dit. On trouvera notamment des articles précis sur DNS sur le blog de Stéphane B : bortzmeyer.org.

L’émission

Aujourd’hui on invite Stéphane Bortzmeyer, ingénieur français à l’AFNIC, pour nous parler des DNS. Que sont donc les DNS, c’est l’objectif de cette émission d’essayer de le découvrir.

L’interview

  • L’AFNIC, c’est un nom qu’on entend jamais dans le grand public et pourtant c’est une association essentielle dans le fonctionnement du web français. Qu’est ce que ça veut dire et quel est ton rôle dans cette association ?
  • En quoi DNS est un des éléments critiques du fonctionnement d’Internet ?
  • Par rapports aux différents problèmes de sécurité que tu as mentionné, comment on peut agir dessus pour le maintenir et le sécuriser ?

L’échange

  • Présentation du système DNS : définitions, motivations et fonctionnement
  • Importance du DNS
  • Histoire du DNS
  • Système hiérarchique
  • Problèmes liés aux DNS : vie privée, censure, …
  • Chiffrement, signature
  • Des solutions ? DoH, DNSSEC

La musique

Disrupt par Louis Lingg and the Bombs (album >_​.​.​.​checking system​.​.​.​disruption detected​.​.​.)

https://blocsonic.com/releases/louis-lingg-and-the-bombs/disrupt

Licence CC BY–NC-SA

Le générique

Near death experience par Marker beacon (album Dead frequencies),

http://www.markerbeacon.org/?page_id=71

Licence CC BY-SA

Les liens

Enregistrement

Émission enregistrée le 15 décembre 2021 dans les locaux de Graf’hit.

Download transcript (.srt)
0:00

[jingle]

0:14

— Bonjour à toutes et à tous, bienvenue sur Graf'hit 94.9, vous écoutez La Voix Est Libre,

0:20

une émission créée par Picasoft, une association compiégnoise qui s'est donnée pour mission

0:24

notamment de sensibiliser les citoyens et les citoyennes aux enjeux du numérique et

0:29

qui héberge des services web libres et respectueux de la vie privée.

0:34

Alors pour l'émission d'aujourd'hui, je suis avec Talitha, salut Talitha.

0:37

— Salut Quentin.

0:37

— Et puis on va parler DNS, alors qu'est-ce que c'est DNS ?

0:41

Eh bien c'est tout l'objectif de cette émission, de découvrir en détail et pour

0:45

ce faire, on a le plaisir et l'honneur de recevoir Stéphane Bortzmeyer.

0:48

Bonjour Stéphane.

0:50

— Bonjour.

0:51

— Alors Stéphane, tu es ingénieur à l'AFNIC, l'AFNIC encore donc un acronyme

0:59

dont on ne sait pas bien ce que c'est dans le grand public.

1:02

Tu es à l'origine d'un des premiers sites français qui a été mis en ligne,

1:06

pionnier de la promotion du chiffrement en France.

1:10

Tu es notamment spécialiste des questions de DNS et tu écris beaucoup à ce sujet

1:16

et sur plein d'autres sujets sur ton blog bortzmeyer.org.

1:20

Talitha, je te passe la main pour les questions.

1:24

— Donc bonjour Stéphane, pour les questions, comme l'a soulevé Quentin, la première chose qu'on se demande,

1:28

c'est vraiment l'AFNIC, on n'en entend jamais parler et pourtant, c'est une association dont le rôle est essentiel

1:34

dans le fonctionnement du web, notamment en France.

1:36

Est-ce que tu peux nous expliquer un peu ce que c'est et surtout, quel est ton rôle dans cette association ?

1:41

— Alors, c'est vrai que l'infrastructure, on n'en entend jamais parler.

1:47

Ce n'est pas spécifique aux réseaux informatiques.

1:49

L'infrastructure, c'est tout ce qui est indispensable mais qu'on ne voit pas,

1:52

sauf quand il y a une panne et là, on s'en rend compte.

1:54

Et effectivement, une infrastructure essentielle pour l'Internet,

1:58

c'est le système des noms de domaines,

2:00

Domain Name System en anglais, DNS.

2:02

Donc, c'est tout ce qui permet, ces noms de domaines qu'on voit dans les publicités, sur les côtés des bus,

2:07

c'est tout ce qui leur permet de fonctionner.

2:10

Donc, vous voulez vous connecter sur Wikipédia, vous avez un nom de domaine, fr.wikipedia.org.

2:16

Le système des noms de domaines, c'est tout ce qui va faire qu'à partir de ce nom-là,

2:21

vous allez pouvoir atterrir au bon endroit, visiter le bon serveur et avoir les bons articles sous licence libre

2:27

que vous vouliez consulter.

2:30

Le rôle de l'AFNIC dans ce système qui est complexe, où il y a plein d'acteurs,

2:34

c'est d'être un registre de noms de domaines.

2:36

Donc, le registre, c'est un type avec une plume d'oie qui écrit sur un parchemin la liste des noms de domaines réservés.

2:43

Bon, en fait, il n'y a pas vraiment de parchemin, c'est une base de données.

2:46

Mais le concept est le même, c'est l'organisation qui garde trace de la liste de tous les noms de domaines existants,

2:53

des serveurs qui vont contenir les données sur ces domaines,

2:57

des contacts qu'il faut contacter s'il y a un problème administratif ou technique,

3:02

et qui s'assurent notamment de l'unicité de ces noms.

3:06

Le rôle de l'AFNIC va aussi plus loin, puisqu'il faut aussi gérer les serveurs de noms,

3:13

donc les machines qui distribueront ces informations.

3:17

Et puis, il y a d'autres serveurs, on a déjà entendu parler de whois,

3:21

qui permet d'accéder aux informations sociales, donc les contacts, leurs noms, leurs adresses,

3:27

leurs noms, sauf s'ils sont des personnes physiques, auquel cas le nom n'est pas diffusé.

3:32

Donc c'est toute cette activité qui, effectivement, n'est pas visible en temps normal,

3:36

mais est crucial quand il y a... est crucial quand même, et on s'en rend compte quand il y a un problème.

3:42

Alors moi, là-dedans, je n'ai pas de responsabilité opérationnelle,

3:45

je m'occupe de la formation, de la veille technologique, de la normalisation technique,

3:52

puisque l'Internet, ça fonctionne parce qu'il y a des normes que tout le monde

3:56

suit, des normes techniques que tout le monde suit,

3:59

qui permettent à un navigateur web libre comme Firefox de consulter un site web

4:05

et d'arriver sur une plateforme privatrice, ou le contraire,

4:08

parce que tout le monde suit la même norme technique, donc c'est un gros travail d'élaboration.

4:13

Et puis, je m'occupe effectivement de questions pointues liées au DNS,

4:19

où je... quand il y a des problèmes particuliers liés au DNS.

4:25

— Ok, très bien.

4:26

Et donc, en quoi est-ce que le DNS est carrément un élément critique du fonctionnement d'Internet ?

4:34

Alors, le DNS est un élément critique, parce que simplement, s'il est en panne,

4:40

pour la grande majorité des usages, c'est comme s'il n'y avait pas d'Internet du tout.

4:45

Ça s'est vu des fois dans certaines pannes, où pour l'utilisateur, pour monsieur ou madame tout le monde,

4:51

c'est vraiment comme s'il n'y avait pas d'Internet du tout, en effet, pratiquement toutes les transactions sur Internet,

4:56

commencent par un appel au DNS, puisqu'il faut commencer par obtenir des informations techniques à partir d'un nom de domaine.

5:04

Donc, vous vous connectez sur... vous voulez aller sur Wikipédia, le nom de domaine, ça va être fr.wikipedia.org,

5:11

votre navigateur Web va avoir besoin de l'adresse IP du serveur Web qui héberge Wikipédia,

5:20

pour ça, il fait appel au nom de domaine, plus précisément à deux composants essentiels :

5:25

les serveurs faisant autorité pour un nom de domaine qui connaissent ces informations et qui les diffusent.

5:31

Donc, dans le cas de .fr, c'est ceux de l'AFNIC ; dans le cas de Wikipédia.org, c'est ceux de la Fondation qui est derrière Wikipédia.

5:39

Et l'autre composant essentiel, c'est les résolveurs, qui sont des serveurs qui sont hébergés typiquement

5:46

sur votre fournisseur d'accès Internet ou par votre service informatique quand vous êtes dans les locaux de votre employeur.

5:54

Et ce sont eux qui vont interroger successivement plusieurs serveurs faisant autorité jusqu'à avoir la réponse qui va être renvoyée à Monsieur Tout-le-Monde,

6:03

ou plus exactement à son navigateur, et lui permettre, à la fin de se connecter, il va être content, il va pouvoir s'instruire, il va pouvoir regarder plein de choses.

6:12

Donc, du fait que tout commence par une requête au DNS, s'il est en panne, c'est comme s'il n'y avait pas d'Internet.

6:18

Donc, c'est vraiment une ressource critique.

6:20

S'il ment ou s'il est détourné, s'il y a une faille de sécurité, on peut être amené à tout autre endroit que celui qu'on voulait avoir.

6:29

Donc, c'est très important de soigner l'ensemble de l'écosystème DNS, qu'il soit bien géré, supervisé, qu'on fasse attention aux failles de sécurité,

6:40

que l'on fasse attention aux autorisations diverses,

6:46

il ne faut pas que je puisse, par exemple, modifier le nom de domaine de Picasoft ou de Wikipédia.

6:50

Il faut qu'un domaine ne puisse être modifié que par son titulaire ou les personnes qu'il a désigné.

6:58

Donc, voilà en quoi c'est une infrastructure critique.

7:01

Même si elle est purement logicielle, quand je dis infrastructure, les gens pensent des fois à du matériel, des trucs qu'on peut toucher, comme les câbles, par exemple.

7:09

Non, c'est purement logiciel le DNS, mais c'est quand même critique.

7:14

— D'accord. Mais donc, du coup, par rapport aux failles de sécurité dont tu as parlé, notamment le mensonge,

7:22

quelles sont les différentes actions qu'on peut faire dessus ?

7:26

Et voilà, comment est-ce qu'on travaille sur le DNS pour le maintenir et le sécuriser ?

7:32

— Alors, un exemple récent, par exemple, parce que ça a occupé une bonne partie de mon week-end,

7:37

c'est la faille log4shell, qui a fait pas mal de bruit récemment.

7:42

Donc, un composant logiciel libre utilisé dans un très grand nombre de programmes.

7:47

Un composant un peu planqué, un peu caché.

7:50

les utilisateurs ne voient pas une bibliothèque utilisée par les programmeurs,

7:53

qui est vraiment dans plein de programmes, probablement dans plein de machines sur l'Internet,

7:58

qui avait une faille de sécurité sérieuse.

8:00

Donc, pas mal d'acteurs de l'Internet ont passé le week-end à chercher,

8:05

à vérifier si leurs applications utilisaient log4j, la bibliothèque en question,

8:12

et si oui, si elle était vulnérable, et si elle l'était, les mises à jour ou les... [coupure] ...de tous les gens qui sont dans l'opérationnel,

8:23

c'est-à-dire qui font fonctionner l'Internet au quotidien, ça affecte aussi.

8:26

Donc, le DNS, il se trouve que la plupart, je crois, des registres de nombres de domaines

8:31

utilisent des programmes écrits en Java, le langage pour lequel la bibliothèque, log4j, est utilisée.

8:37

Donc, ça faisait potentiellement pas mal de problèmes qui auraient pu arriver, ou pas,

8:46

mais en tout cas, il fallait vérifier de toute façon.

8:50

Et les deux grands problèmes typiques, le risque de panne, ça, c'est le principal risque.

8:56

Ça ne s'est jamais produit depuis la création de l'AFNIC,

8:59

mais si ça se produisait, par exemple, suite à une panne matérielle,

9:04

suite à une attaque par déni de service, suite à des problèmes comme ça,

9:07

si on se retrouvait avec une partie des domaines qui ne fonctionnent plus,

9:11

ça serait évidemment catastrophique.

9:14

Il y a eu un cas réel il y a quelques années, par exemple, quand le domaine national turc .tr,

9:19

a fait l'objet d'une attaque par déni de service, qui était apparemment politiquement motivée,

9:24

donc une attaque qui visait à empêcher le domaine de fonctionner,

9:28

et ça avait malheureusement marché.

9:29

Donc, plus aucun nom de domaine ne se terminant au .tr ne fonctionnait,

9:34

donc plus personne ne pouvait visiter, par exemple, les sites web dont le nom se terminait en .tr,

9:39

ou les écrire à des gens dont l'adresse de courrier électronique se terminait en .tr,

9:45

enfin, vraiment la grosse catastrophe.

9:46

Donc, il y a tout un travail qui est fait pour éviter ça, à la fois,

9:49

préventif, avoir beaucoup de machines bien connectées et de supervision

9:57

pour s'assurer que tout ça fonctionne en permanence.

9:59

On passe beaucoup de temps à regarder des écrans avec du vert, et puis quand il y a du rouge dessus,

10:04

c'est qu'il y a un problème, il faut faire quelque chose, donc c'est un travail opérationnel permanent,

10:10

puisque le DNS doit fonctionner 24 heures sur 24, 7 jours sur 7, pas une milliseconde d'interruption,

10:17

puisqu'il y a certains services qui tournent sur l'Internet, qui sont cruciaux.

10:22

L'Internet, ça ne sert pas qu'à regarder des vidéos de chat,

10:24

il y a aussi des applications vraiment critiques, qui doivent marcher tout le temps.

10:29

L'autre gros problème, effectivement, c'est le risque de détournement de nom de domaine.

10:34

C'est compliqué, la sécurité des noms de domaine, il y a beaucoup d'aspects,

10:39

et donc, en gros, il s'agit de vérifier que le système respecte bien les autorisations,

10:44

qu'on ne puisse pas modifier le nom de domaine de quelqu'un d'autre,

10:47

surveiller qu'il n'y ait pas de failles qui vont apparaître.

10:51

C'est tout un travail aussi, qu'il faudrait des heures et des heures pour détailler tout l'aspect sécurité des noms de domaine.

11:00

Mais il y a beaucoup de choses derrière pour que ça fonctionne bien.

11:03

Là aussi, on en entend parler quand il y a un problème.

11:05

Par exemple, il y a deux ou trois ans, le nom de domaine de Wikileaks avait été détourné comme ça.

11:11

Quelqu'un avait réussi, je ne sais pas comment, je n'ai pas les détails,

11:14

mais on avait constaté que le nom de domaine avait été détourné,

11:18

que l'adresse IP données en échange de ce nom de domaine

11:21

pointait vers un serveur web qui n'était pas celui de Wikileaks.

11:25

Les médias, en général, avaient mal rendu compte de l'affaire,

11:29

comme c'est souvent le cas en sécurité,

11:31

en prétendant que le serveur web de Wikileaks avait été piraté.

11:34

Ce n'est pas du tout vrai.

11:35

C'était une attaque indirecte.

11:38

Le nom de domaine était détourné,

11:40

et donc, emmenait vers un autre serveur web

11:43

qui contenait un message insultant pour Wikileaks.

11:46

Donc, voilà le genre de choses.

11:49

Qui occupe les gens qui gèrent les noms de domaine,

11:53

et qui font...

11:54

Vraiment, le point important, c'est ce côté opérationnel.

11:58

C'est-à-dire, c'est quelque chose qui,

11:58

comme l'eau, comme l'électricité,

12:00

doit fonctionner en permanence,

12:02

malgré les pannes, les attaques, les problèmes,

12:06

comme log4shell récemment.

12:08

— Merci Stéphane pour ces réponses qui sont claires et complètes.

12:16

On te remercie également d'avoir été avec nous ce matin.

12:19

Et bonne journée à toi.

12:22

— Merci, au revoir.

12:25

— Merci beaucoup Stéphane, au revoir.

12:27

Bon, eh bien, on a bien dégrossi le sujet.

12:33

C'est chouette.

12:35

On va pouvoir enchaîner en essayant de détailler un petit peu

12:40

les sujets que Stéphane a abordés.

12:43

Comme il l'a dit, c'est vrai que DNS,

12:45

c'est un sujet qui, en plus d'être très peu souvent traité,

12:49

est extrêmement complexe,

12:50

notamment du point de vue de sa sécurité.

12:51

Donc, on va aller recommencer par la base

12:55

pour bien ancrer les esprits.

12:57

Est-ce que, Talitha, ça te dit de nous faire un petit rappel sur la base de DNS

13:01

et pourquoi est-ce qu'on s'en sert, on va dire, le plus traditionnellement ?

13:05

— Mais bien entendu, Quentin.

13:07

Donc, ce que je vais dire là maintenant

13:09

va peut-être recouper légèrement ce qu'a dit notre invité.

13:12

Mais on va replacer les termes pour partir sur des bases claires.

13:19

Donc, d'abord, DNS, c'est Domain Name System.

13:23

Donc, c'est un système de domaines de nom.

13:24

Et donc, ce système, il va définir les règles

13:28

sur lesquelles on s'accorde pour gérer un problème informatique donné et se comprendre sur le sujet.

13:33

Donc, c'est quoi la problématique dans le cadre du DNS ?

13:37

En fait, c'est simple. Pour parler entre eux,

13:40

les ordinateurs ont des adresses, comme nous.

13:42

Il faut bien avoir une adresse pour savoir vers qui aller.

13:46

Sauf que pour les ordinateurs, c'est un ensemble de chiffres qui peut être assez long

13:52

et pas très manipulable au quotidien.

13:54

Et donc, cette adresse s'appelle une adresse IP.

13:57

Pour ne pas avoir besoin de les manipuler au quotidien,

14:00

on va associer à chaque adresse IP un nom.

14:03

Donc, un nom de notre langage à nous, donc, beaucoup plus facile à exploiter

14:08

que ce soit pour les administrateurs réseau ou pour les utilisateurs, en fait.

14:14

Donc, par exemple, si vous voulez aller sur le site de Picasoft,

14:18

vous allez vous rendre sur le site https://picasoft.net

14:25

Sauf qu'en réalité, picasoft.net, ça ne mène nulle part en soi.

14:29

Ce qui va se passer, c'est que le DNS va gérer le passage du terme

14:35

picasoft.net à l'adresse réelle du serveur Picasoft qui va vous permettre d'accéder à la page web.

14:40

Donc, c'est pour cela qu'il existe ce qu'on appelle des serveurs DNS.

14:47

Il faut bien faire attention avec les serveurs DNS puisqu'il en existe deux types.

14:51

On va avoir les serveurs de nom, qu'on appelle parfois serveurs faisant autorité

14:56

comme l'avait souligné Stéphane, et ces serveurs sont chargés

15:00

de stocker les données de correspondance entre les adresses IP et les noms de domaine.

15:03

Donc, c'est eux qui ont les tables de correspondance et qui ont la donnée principale.

15:08

Et à côté de ça, on a également les résolveurs.

15:11

Les résolveurs vont faire le lien, en fait,

15:13

entre les machines qui ont recours au DNS pour accéder à une adresse

15:21

et l'adresse en question.

15:26

— Oui, c'est l'intermédiaire entre les serveurs de nom

15:30

qui ont la table dont tu parlais et le client qui, lui, veut savoir,

15:35

par exemple, à quelle IP correspond picasoft.net.

15:38

— Exactement. Donc, pour illustrer ça avec un exemple,

15:41

on va garder l'exemple de picasoft.net. Donc, si je veux accéder au site picasoft.net,

15:47

mon ordinateur va demander, au résolveur, c'est où picasoft.net ?

15:51

Le résolveur, à son tour, va demander au serveur de nom,

15:54

OK, donc picasoft.net, ça correspond à quelle adresse IP ?

15:58

Le serveur de nom lui donne l'adresse IP,

16:00

le résolveur peut me renvoyer l'adresse réelle de la machine de Picasoft

16:04

et ainsi, je peux me connecter au site.

16:06

Donc, voilà, ce rappel, c'était principalement pour

16:10

faire attention aux confusions sur le vocabulaire

16:13

parce que dans le langage courant,

16:15

on utilise pas mal les termes DNS, serveur DNS,

16:18

mais les termes sont plus précis que ça.

16:21

— Merci, Talitha, pour avoir reposé les bases.

16:27

Donc, bien sûr, quand on dit qu'une fois que vous avez interrogé le résolveur,

16:32

vous pouvez utiliser l'adresse pour contacter le site, c'est pas vous directement,

16:37

c'est bien votre navigateur, votre ordinateur qui fait tout ça en arrière-plan. Alors, comme

16:43

l'a dit Stéphane, DNS, c'est un système qui est absolument crucial pour le

16:48

fonctionnement d'Internet, puisque toute requête, toute action

16:53

qui implique un nom de domaine doit nécessairement passer par DNS afin d'obtenir

16:58

une adresse IP qu'un ordinateur sait contacter.

17:00

Donc, pas de serveur DNS, ça veut dire, notamment sur le web,

17:04

pas d'accès au service, quand bien même

17:06

celui-là est en pleine forme et fonctionnel.

17:11

Stéphane nous a donné un exemple,

17:14

on a un autre exemple récent avec Facebook qui, suite

17:18

à une erreur de configuration réseau, avait rendu ses serveurs de noms

17:22

inaccessibles. Et donc, à chaque fois que quelqu'un essayait d'aller sur Facebook,

17:26

eh bien, simplement, le serveur de noms ne répondait pas, donc on n'avait

17:30

pas d'adresse IP, donc c'est comme si Facebook n'existait pas.

17:33

Et donc, c'est d'autant plus crucial aujourd'hui qu'un des premiers

17:38

problèmes qu'on va traiter là tout de suite, qui est lié à DNS,

17:42

c'est le fait que les serveurs de noms,

17:44

donc les serveurs faisant autorité, soient très centralisés

17:48

Alors oui, on va parler que des problèmes aujourd'hui, puisque

17:52

c'est vraiment notre moto ici.

17:55

Alors en fait, on a une étude qui a été faite récemment

18:00

qui essaie de regarder qui sont les principaux fournisseurs de serveurs de noms, puisque la

18:06

plupart des sites web et des entreprises, ou quoi, n'hébergent pas leurs propres serveurs

18:12

de noms, ce qui est un problème. Et sur les 100 000 sites les plus visités, selon le classement

18:18

Alexa, eh bien, 24% de ces sites utilisent Cloudflare,

18:22

une grande entreprise qui a notamment fourni des serveurs de noms. AWS,

18:28

donc Amazon Web Services, pour 12%, et GoDaddy pour 4%. Et donc, c'est-à-dire

18:34

que pour 38% des 100 000 premiers sites du classement Alexa, on a seulement

18:41

3 fournisseurs de serveurs de noms. Donc si jamais il y avait une panne sur

18:46

un de ces fournisseurs, eh bien, ça ferait un quart du web qui serait inaccessible.

18:51

Notamment en 2016, Dyn, qui est aussi un fournisseur de serveurs de noms,

18:57

qui propose aux entreprises, a été victime d'une grande attaque par déni de service,

19:05

qui a paralysé les opérations de l'entreprise et par la même, qui a interrompu

19:10

toutes les opérations de résolution de non de domaine pour plus de 175 000 sites

19:16

web. Donc là, on commence à s'apercevoir qu'il y a quand même beaucoup de

19:20

problèmes qui se jouent de manière un petit peu invisible. Mais avant

19:26

de réattaquer sur le vif du sujet, peut-être qu'on peut se demander comment est-ce que

19:29

c'est arrivé DNS, comment on faisait au tout début d'Internet, voire même avant Internet, Talitha ?

19:37

— Eh bien, en fait, au tout début d'Internet, même avant le web, en 1969,

19:42

toutes les correspondances entre les noms de domaine et les adresses IP tenaient en un seul fichier.

19:47

C'était un fichier qui était commun à tous les utilisateurs d'Internet,

19:51

puisqu'à cette époque, il n'y en avait pas..., enfin, c'était gérable.

19:54

Et ce fichier s'appelait hosts.txt, il était centralisé.

19:59

En quelques années, c'est devenu assez

20:03

ingérable, étant donné la grande augmentation du nombre d'utilisateurs.

20:07

Et donc, ça n'a plus été possible de fonctionner avec juste un fichier.

20:12

Et c'est alors qu'on a créé... Il y a eu plusieurs solutions proposées, mais

20:15

en 1983, la solution proposée qui a été retenue, ça a été le DNS, donc

20:21

un système qui permet la résolution de noms, mais pas avec un seul fichier centralisé,

20:27

comme ça l'était initialement, mais en redistribuant la tâche de

20:31

résolution de noms à plusieurs serveurs qui sont organisés hiérarchiquement.

20:34

Et donc, Quentin, quelle est donc cette hiérarchie dans le DNS ?

20:39

— Quel ping-pong endiablé !

20:41

Non, mais effectivement, c'est pas possible, en fait, quand on voit la

20:47

quantité de noms de domaine qu'il existe aujourd'hui, de travailler avec un espèce

20:51

d'annuaire global et centralisé. Ce serait déjà pas possible et sans doute pas souhaitable.

20:57

Donc, DNS, c'est un système qui a été pensé dès le début pour être hiérarchique

21:02

et distribué. Donc, il n'y a pas de pouvoir central ni d'annuaire global, comme je l'ai dit.

21:07

Alors, comment est-ce qu'on la voit, cette hiérarchie ?

21:09

Eh bien, en fait, on la voit quand on regarde un nom de domaine. Un nom de domaine, on voit bien

21:13

qu'il est composé souvent de plusieurs parties. Par exemple, picasoft.net,

21:17

on a le picasoft et le net.

21:19

Et donc, le système des noms de domaine, c'est une hiérarchie,

21:23

on peut voir ça comme un arbre, dont le sommet unique est appelé la racine.

21:29

Et on représente la racine par un point,

21:31

c'est, en fait, virtuellement comme si on rajoutait un point à la fin de tous

21:35

les noms de domaine. Donc, « picasoft.net. ».

21:37

On ne le met pas par commodité.

21:39

Donc, à partir d'un domaine, on peut créer un ou plusieurs sous-domaines.

21:47

Et ce qui se passe, c'est que chaque partie d'un domaine

21:53

va correspondre à ce qu'on appelle une zone DNS.

21:57

Alors, je m'explique. Par exemple, fr, c'est une zone

22:01

DNS. Et tout ce qu'il y a en dessous d'fr, par exemple,

22:05

gouv.fr, eh bien, gouv va être une autre zone DNS.

22:13

Et en fait, ce qui se passe, c'est que dans ce cas-là,

22:15

la zone fr, a délégué la gestion de la zone gouv aux personnes qui gèrent la zone gouv.

22:23

Et donc, on peut avoir ce système hiérarchique au sens où chaque zone délègue

22:29

à des sous-zones qui correspondent aux sous-domaines.

22:33

Alors, je vais donner un autre exemple. picasoft.net, donc la racine, c'est le point qui aurait à la fin,

22:41

Le point net est une autre zone gérée par, sans doute, une organisation comme l'AFNIC qui gère les points fr,

22:50

picasoft.net, ça, c'est une zone que nous, on gère. Et tout ce qui est en dessous de picasoft.net, par exemple,

22:57

tout ce qui est en .test.picasoft.net, c'est aussi nous qui le gérons.

23:01

Donc, en fait, on a une zone qui descend jusqu'à l'infini en dessous de picasoft.net.

23:06

Donc, les domaines qui se trouvent immédiatement

23:09

sous la racine, on les appelle domaines de premier niveau ou TLD pour Top Level

23:13

Domain. Donc, ça, c'est tous les .fr, .net, .org, etc.

23:17

Et ceux qui ne correspondent pas à une extension de pays

23:20

sont des domaines génériques, donc, gTLD, générique TLD,

23:25

par exemple, les .org ou les .com. Et donc, pour la résolution, c'est exactement pareil.

23:32

On va, quand un résolveur essaye de nous dire qu'est-ce que c'est pad.picasoft.net,

23:38

eh bien, en fait, il va commencer par interroger la racine pour avoir tous les serveurs qui sont capables de lui dire

23:47

où aller demander les informations pour .net.

23:53

Ensuite, il va demander aux serveurs qui ont les informations pour .net où je peux trouver pad.picasoft.net.

24:01

Ces serveurs-là vont dire non, ce n'est pas nous qui nous en occupons, c'est les serveurs de nom picasoft.net qu'on peut trouver à cette adresse-là.

24:09

Donc, mon résolveur va ensuite aller interroger les serveurs de picasoft.net qui vont dire, ah ben moi,

24:15

j'ai l'information et l'adresse de pad.picasoft.net, c'est cette adresse IP.

24:19

Alors, on note peut-être pour terminer que en pratique, il y a tout un système, et c'est important pour la suite aussi, de cache.

24:29

Ça veut dire que les résolveurs, très souvent, vont retenir des informations qu'on leur a données

24:35

de manière à ne pas aller tout le temps réinterroger à chaque requête les serveurs racines, voire les serveurs de .net, puisque sinon,

24:42

vu les millions, dizaines de millions de requêtes, sans doute plus, qui ont lieu à chaque seconde,

24:48

les serveurs racines devraient répondre la même information ou trouver les infos pour .net, .fr, .org en permanence.

24:56

Alors, maintenant qu'on a laborieusement esquissé une idée de comment fonctionnait le système hiérarchique des noms de domaine,

25:05

on va voir que ça pose pas mal de problèmes dont Stéphane a déjà un petit peu parlé.

25:11

Et pour le premier problème, c'est un problème de vie privée.

25:17

Talitha, si tu veux prendre la main.

25:19

— Bien évidemment. Le problème de vie privée, en fait, c'est que

25:24

comme on l'a précisé au début, ce sont des grosses structures qui détiennent la majorité des DNS qu'on utilise au quotidien.

25:32

Ça va être Google, Cloudflare ou encore nos fournisseurs d'accès Internet.

25:36

Et donc, comme ce sont eux qui effectuent la résolution de nom, ils récupèrent tous les noms de domaine, toutes les

25:44

adresses des sites auxquels on veut accéder.

25:46

Donc, en fait, on est en train de faire on est en train de fournir à d'autres institutions notre historique de navigation.

25:52

Comme on peut l'imaginer, ça pose un problème de vie privée en fonction de la structure en question. Une solution qui existe par rapport à ça, c'est d'aller faire,

26:03

d'aller avoir recours à un résolveur libre, mais c'est compliqué et c'est parfois compliqué à mettre en place au quotidien.

26:10

Et donc, c'est une solution existante, mais pas forcément commune ou viable.

26:18

— Oui, d'autant que, en fait, sur la plupart de nos appareils, on n'est même pas au courant que les résolveurs qui sont préconfigurés,

26:24

c'est ceux de Google. Comme tu dis, c'est pas forcément évident d'aller l'échanger sur le téléphone ou autre.

26:30

— Oui, voilà, c'est le genre de problème où la solution est simple, mais le plus gros pas, c'est d'aller savoir qu'il y a un problème.

26:37

— Exactement. Ensuite, un deuxième souci qui est assez généralisé, c'est le problème de la censure et

26:47

ce qu'on appelle les DNS menteurs. Donc, c'est des raisonneveurs qui vont nous renvoyer une fausse réponse.

26:52

Donc, là, je reprends la définition que j'ai récupérée dans un rapport de l'AFNIC sur le filtrage.

27:01

Le filtrage consiste à modifier le processus normal de résolution d'un nom d'un serveur vers une adresse IP, soit en bloquant

27:09

la réponse, soit en répondant un message d'erreur, soit en retournant l'adresse d'un autre serveur indiquant généralement que l'accès à ce site est interdit.

27:18

Donc, on a plein, plein d'exemples en France avec Sci-hub, dont on a parlé dans les émissions sur l'Open Science, qui contient une des versions piratées de beaucoup de papiers d'articles scientifiques en accès libre,

27:33

ou de The Pirate Bay, un site de Torrent.

27:37

Donc, ce qui se passe dans ces cas-là, c'est que le gouvernement français demande à la plupart des fournisseurs d'accès Internet français de mentir au niveau de leur résolveur,

27:47

quand on leur demande à quelle adresse IP appartient ce service.

27:51

Dans ce cas-là, ils répondent simplement « Non, je ne connais pas ce service », alors qu'ils savent très bien quelle est l'adresse IP. Donc, ça fait comme s'il n'existait pas,

27:57

alors qu'en réalité, il est bien accessible. On a un autre exemple en 2016, où une erreur de redirection de certains sites Internet

28:09

pour les clients de Orange faisait que les sites comme Google ou Wikipédia étaient redirigés vers la page de blocage des sites incitants au terrorisme

28:19

ou en faisant l'apologie qui est hébergée par le ministère de l'Intérieur. Donc, on se réveille un matin, on va aller sur Wikipédia et hop, on a une page qui nous dit qu'on a essayé d'aller sur un site

28:26

terroriste, donc un exemple un peu visible de DNS menteur que le grand public a pu voir, mais en général, on ne s'en rend pas bien compte.

28:33

Donc, c'est un peu finalement plus ou moins la même solution que Talita ait proposée. Pour les problèmes de vie privée,

28:45

on essaie d'utiliser, un résolveur de quelqu'un en qui on a confiance et qui est respectueux de la vie privée,

28:51

par exemple, qui pourrait être proposé par un CHATONS ou un FAI associatif comme la FDN,

28:57

parce qu'en général, ces résolveurs sont aussi libres, c'est-à-dire qu'ils ne vont pas mentir.

29:03

Donc là, c'est la même réponse. Alors, sachant que en général, les résolveurs de Google ne mentent pas,

29:10

mais eux ne font enfin, il faut accepter les conditions d'utilisation de Google qui, comme chacun sait, sont très respectueuses de notre vie privée.

29:23

— Quand tu dis que les résolveurs libres ne vont pas mentir, quel est le lien un peu plus explicite entre un service libre et le fait qu'ils ne mentent pas à ses utilisateurs ?

29:35

— Alors, il n'y a pas de lien direct, c'est plus une sorte d'heuristique, c'est aux doigts mouillés, c'est qu'en général,

29:42

les CHATONS ou autres associations qui proposent des services basés sur des logiciels libres, etc., en général font attention à la vie privée, mais je pense qu'ici, oui, c'est plus la terminologie libre.

29:56

Il y a les résolveurs qui ne mentent pas, dont fait partie Google, ceux de la FDN, etc., et ceux qui sont respectueux de la vie privée, comme ceux de 42L et/ou de la FDN.

30:11

— Oui, dans le domaine du libre, il y a une plus grosse confiance, quoi.

30:13

— Oui, en général. Après, ce n'est pas une règle absolue. Bien sûr.

30:17

Alors, le problème, même si on utilise un résolveur, allez, libre et respectueux de la vie privée,

30:24

c'est que ça ne résout pas, en fait, tous les problèmes.

30:28

Alors, la première chose qui reste à résoudre, c'est la gestion de la vie privée, mais au niveau des intermédiaires.

30:36

Parce que, comment dire, déjà, les requêtes DNS sont faites entièrement en clair,

30:46

c'est-à-dire que n'importe qui qui est entre vous et le résolveur DNS peut espionner la requête dans les tuyaux et donc voir quel site vous avez essayé de consulter.

30:58

Donc, c'est bien d'avoir un fournisseur, un résolveur en bout de chaîne qui respecte la vie privée,

31:04

mais ça ne résout pas ce problème d'espionnage au milieu.

31:08

Et, même avec ça, il reste un souci central, c'est que si quelqu'un arrive à se faire passer pour un résolveur DNS,

31:16

c'est-à-dire se met, par exemple, entre vous et le vrai résolveur DNS,

31:19

c'est comme s'il contrôlait entièrement le résolveur et même comme s'il contrôlait entièrement le serveur de nom, puisqu'il va pouvoir vous répondre

31:28

n'importe quoi. Donc, imaginez si, par exemple, la zone fr se fait avoir, tout ce qui est en dessous de .fr potentiellement pourra renvoyer des fausses informations,

31:44

et même si la zone fr ne se fait pas avoir, si quelqu'un entre vous et les résolveur disent n'importe quoi pour la zone fr.

31:52

Donc, pour illustrer, on a un exemple plus concret. Par exemple, en Turquie, en 2014, donc, contexte politique très tendu, le gouvernement turc a essayé de bloquer, notamment,

32:04

Twitter et YouTube. Donc, pour ce faire, ils ont commencé, comme on fait en France, par du mensonge DNS classique.

32:12

Donc, demander aux FAI de dire qu'ils ne connaissaient pas Twitter, globalement, à leur résolveur.

32:16

Mais, comme les Turcs, ils étaient malins et qu'ils utilisaient, justement, des résolveurs DNS qui ne mentent pas, et c'était d'ailleurs ceux de Google à l'époque,

32:25

eh bien, le gouvernement turc s'est décidé à usurper carrément les résolveurs de Google en interceptant les requêtes qui lui étaient

32:36

destinées directement sur le matériel réseau de son fournisseur d'accès à Internet Turkish Telecom,

32:41

en se faisant donc passer pour les résolveurs DNS de Google.

32:47

Et le tout sans que ce soit détectable par le client.

32:52

Alors, comment c'est possible ?

32:54

Eh bien, tout simplement parce que DNS a été créé à l'époque où Internet n'était pas un réseau public

33:00

où il fallait une carte pour entrer, et donc n'a pas de mécanisme de sécurité qui a été pensé et intégré pour garantir l'authenticité des réponses et leur intégrité.

33:11

Donc, au-delà de pouvoir faire une censure à si large échelle, ce qui est déjà très grave,

33:17

en plus, DNS, il n'est pas seulement utilisé pour pouvoir consulter un site web, récupérer l'adresse IP d'un site web,

33:25

mais aujourd'hui, il est utilisé pour plein d'autres choses que cette translation-là et de plus en plus utilisé pour sécuriser Internet. Donc, typiquement,

33:36

dans DNS, on va trouver plein d'autres informations que la correspondance nom de domaine IP. Pour un nom de domaine précis, on va par exemple trouver des indications,

33:45

qui disent, qui a le droit, quelle IP a le droit d'envoyer des mails pour un nom de domaine ?

33:51

Donc, typiquement, quand moi, je reçois un mail qui vient de, je ne sais pas, matermost.picasoft.net, je peux aller vérifier dans la zone DNS de Picasoft

34:02

si l'adresse IP du serveur de mail qui me l'a envoyé est bien celle qui a le droit, afin que quelqu'un ne puisse pas usurper les mails en picasoft.net.

34:13

Le mail qui est très peu sécurisé de base, comme DNS.

34:17

Il y a d'autres informations dans les zones DNS, comme par exemple, on ne va pas en parler ici, ça fera l'objet d'une autre émission sur le mail,

34:28

mais tout un tas de choses qui permettent de s'assurer que les mails qu'on reçoit sont bien authentiques et aussi n'ont pas été modifiés sur le trajet.

34:36

Donc, là, avec ce qu'on vient de voir, quelqu'un qui peut se faire passer pour le serveur d'un nom de domaine,

34:43

peut absolument tout usurper. Et se donner tous les droits, comme faire semblant d'envoyer des mails valides, rediriger sur un autre site.

34:51

Et donc, on voit que si jamais ça fonctionnait comme ça en pratique, ce serait dramatique comme ce qui a pu se passer en Turquie. Donc, comment résoudre ce problème ?

35:03

Eh bien, c'est une question compliquée, comme l'a expliqué Stéphane dans l'interview. Et donc, avant d'y répondre, on va faire une petite pause et s'écouter une petite musique.

35:15

Cette semaine, on va écouter Disrupt de Louis Lingg and the Bombs sur l'album >_...checking system...disruption detected..., qui vient d'être publié et c'est sous licence Creative Commons BY-NC-SA.

35:33

Bonne écoute !

35:35

[musique]

39:34

— De retour dans La Voix Est Libre.

39:37

Alors, un résumé très bref de ce qu'on a dit dans la première partie de l'émission.

39:42

DNS, c'est le système de nom de domaine qui permet notamment de faire l'association

39:47

entre un nom de domaine, quelque chose de facile à retenir comme picasoft.net,

39:51

et une adresse IP, comme une adresse physique, une adresse postale pour les humains,

39:59

que l'ordinateur utilise pour contacter réellement les services à qui on essaie de parler.

40:04

On a vu que c'était un point crucial de l'Internet,

40:08

puisqu'à chaque fois qu'on utilise un nom de domaine,

40:10

il faut faire une requête à un résolveur DNS qui va pouvoir aller interroger les serveurs de nom qui, eux, contiennent l'information,

40:21

quelle IP, par exemple, correspond à quel nom de domaine.

40:24

Et donc, que s'il y avait des problèmes de sécurité au niveau de DNS,

40:28

c'est tout l'Internet qui s'en trouverait impacté.

40:32

Les problèmes de sécurité, ils sont de deux types.

40:35

Le premier, c'est les problèmes de confidentialité,

40:38

puisque les requêtes DNS transitent sur le réseau entièrement en clair.

40:41

Et donc, n'importe quel indiscret qui écouterait le réseau

40:46

pourrait intercepter toutes les requêtes DNS que fait votre ordinateur.

40:50

Donc, savoir globalement tout votre historique, etc.

40:53

Et le deuxième problème, c'est un problème d'authenticité,

40:57

n'importe qui pourrait, dans ce monde, puisque DNS a été créé,

41:01

à une époque où l'Internet n'était pas public et donc pas sécurisé,

41:06

n'importe qui pourrait se faire passer pour un serveur de nom

41:11

ou intercepter les requêtes à un résolveur et vous répondre n'importe quoi.

41:17

Et donc, les conséquences seraient dramatiques

41:19

vu que DNS est tout le temps utilisé pour savoir

41:22

quelle est la bonne machine sur laquelle on veut aller,

41:25

est-ce que ce mail est bien authentique, etc.

41:28

Donc, pour résoudre ces problèmes,

41:31

on va utiliser deux techniques qui sont basées sur les maths et la cryptographie,

41:38

le chiffrement et la signature.

41:40

Et donc, on va essayer d'introduire ça calmement avec des métaphores

41:46

pour bien vous convaincre que c'est des méthodes efficaces

41:50

et on va voir comment elles sont mises en œuvre ensuite.

41:52

Alors, Talitha, c'est parti pour une merveilleuse introduction au chiffrement.

41:57

— Donc, pour le chiffrement, en fait,

42:01

chiffrement, cryptographie, c'est un peu des mots, des grands mots.

42:05

Le principe du chiffrement, c'est vraiment le principe d'un message codé.

42:08

Le principe, c'est que si je veux envoyer un message à Quentin

42:13

et qu'il y ait juste, Quentin et moi qui le comprenions,

42:15

on va se mettre d'accord sur un code qui fait que j'applique une règle sur mon message.

42:24

Quentin connaît la règle également et donc, du coup, toutes les personnes entre les deux

42:31

qui vont entendre le message vont trouver qu'il n'a aucun sens.

42:33

Mais Quentin, à la réception, lui, il pourra réappliquer la règle inverse et comprendre ce qui se passe.

42:38

Pour donner une métaphore simple pour comprendre le principe,

42:43

on va parler du chiffre de César.

42:45

En fait, c'est un système de chiffrement où, pour chaque lettre d'un message, du message initial,

42:53

on va décaler de trois lettres vers la droite.

42:57

Donc, si la lettre, c'est un A, on va écrire à la place un C. Si la lettre est un B, on va écrire à la place un D, etc.

43:03

Donc, j'écris mon message, mon message initial, ce que j'appelle le message en clair.

43:08

On appelle un message en clair, en fait, avant chiffrement.

43:11

J'écris mon message initial, je lui applique le chiffre de César et je l'envoie à Quentin.

43:16

Quentin connaît la règle du chiffre de César,

43:18

donc, du coup, il peut redécaler de trois lettres vers la gauche et comprendre ce qui se passe.

43:22

Mais, au milieu, toute personne qui a lu le message ne comprend rien, puisque ce ne sont plus les mêmes mots.

43:27

C'est ce qu'on appelle le chiffrement symétrique.

43:30

On a une seule manière, disons que c'est la même méthode qui est utilisée pour chiffrer et pour déchiffrer.

43:36

Cette méthode, on l'appelle une clé. Donc, on a une clé unique.

43:39

Le problème du chiffrement symétrique, c'est que, imaginons que Quentin et moi,

43:48

on n'ait pas pu se mettre d'accord sur le code de manière sécurisée.

43:52

Imaginons qu'il y ait des gens toujours autour ou qu'on soit à distance.

43:55

Comment on fait pour se mettre d'accord sur une règle,

43:57

puisque, vu qu'on n'a pas de chiffrement avant de faire ce chiffrement,

44:00

forcément, notre règle va être visible par tout le monde.

44:03

Donc, ça ne sert plus à rien.

44:04

Pour résoudre ce problème,

44:07

on a inventé ce qui s'appelle le chiffrement asymétrique.

44:09

Au lieu d'avoir une clé unique qui va permettre de chiffrer le message,

44:13

on va en utiliser deux. On va expliquer ça avec une autre petite métaphore.

44:19

C'est comme si, au lieu de juste envoyer le message à Quentin, je prenais une boîte.

44:23

Une boîte en bois, quoi.

44:24

Il y a un cadenas dessus et une fente.

44:26

Donc, moi, je ferme le cadenas avec une clé.

44:28

Cette clé, on va l'appeler la clé privée Je la garde avec moi.

44:31

Du coup, moi, je possède une clé physique.

44:34

Et ensuite, j'envoie la boîte verrouillée à Quentin.

44:40

Donc, tout le monde peut voir la boîte.

44:44

Ça, il n'y a pas de problème. Quentin, quand il reçoit la boîte, il va écrire son message.

44:50

Donc, son message en clair, en fait. Il va juste écrire ce qu'il a à me dire. Il le met dans la boîte.

44:55

Il n'a toujours pas accès à l'intérieur de la boîte. Il n'y a que moi qui peux ouvrir la boîte

44:58

puisqu'il n'y a que moi qui ai la clé. Il le renvoie, et donc, à ce moment-là, il n'y a pas de problème à faire circuler le message.

45:04

Le message, il est dans la boîte. Tout le monde voit la boîte, tout le monde voit le bout de bois.

45:06

Mais personne ne peut lire ce qu'il y a à l'intérieur. Et quand je le reçois, vu que moi, j'ai la clé, je peux ouvrir la boîte, le lire.

45:13

Donc, ça, c'est le chiffrement asymétrique où la boîte, c'est ce qu'on va appeler une clé publique.

45:18

Tout le monde peut la voir, il n'y a pas de problème. Et la clé, c'est ce qu'on appelle une clé privée.

45:22

Si quelqu'un la trouve et a la clé publique et la clé privée, alors il peut lire les messages. Donc, voilà pour un bref rappel du principe du chiffrement sur lequel reposent les principes de signature que va vous expliquer Quentin.

45:40

— Oui, carrément. Et d'ailleurs, notons que ce chiffrement-là, c'est celui qui est vraiment utilisé partout sur Internet.

45:46

Quand vous avez le cadenas quand vous consultez un site web pour HTTPS, c'est le chiffrement asymétrique qui est utilisé, pour les cartes bancaires, etc.

45:56

Ça repose sur ces mêmes principes. Alors, la métaphore de la boîte, elle est très bien pour comprendre le chiffrement.

46:02

C'est comme si j'envoyais plein de boîtes à tout le monde que les gens pouvaient mettre plein de messages dedans

46:07

et moi, j'étais le seul propriétaire de la clé pour le déchiffrer.

46:10

Mais elle ne marche que dans un sens, alors qu'en fait, le vrai chiffrement asymétrique, il marche dans les deux sens.

46:17

Ça veut dire que tout ce qui a été chiffré avec ma clé privée,

46:21

en réalité, la clé privée peut aussi permettre de faire un chiffrement,

46:24

va pouvoir être déchiffré par ma clé publique.

46:28

Alors là, à ce stade, on pourrait se demander quel intérêt de chiffrer un truc avec la clé dont je suis le seul propriétaire

46:37

et tout le monde pourrait le déchiffrer vu que ma clé publique est publique.

46:41

Genre, c'est un peu nul ton truc. Eh bien, en fait, ça permet de faire des signatures.

46:45

Une signature, c'est ce qui va permettre de certifier l'authenticité, comme quelque part une signature réelle sur un chèque

46:53

ou autre chose, donc c'est bien moi qui ai fait cette signature.

46:55

Mais en plus, ça permet aussi de certifier l'intégrité d'un document ou de n'importe quoi,

47:03

ce qui est un peu différent de la signature du monde réel. Alors, qu'est-ce que ça veut dire ?

47:09

Et comment on fait ? Alors, en résumé, le processus de signature,

47:15

on va commencer par calculer une sorte d'empreinte du message ou du document qu'on peut envoyer

47:23

et c'est comme, on va dire, une empreinte digitale qui serait unique

47:27

pour chaque document. Alors, c'est des maths, on ne rentre pas dans le détail, mais imaginons

47:31

que tous les messages du monde, tous les documents aient une empreinte digitale unique.

47:35

Donc, on va prendre cette empreinte digitale et puis on va la chiffrer avec la clé privée,

47:41

dont je suis le seul à l'avoir, je chiffre l'empreinte et je l'envoie à côté du message que j'envoie en clair

47:47

ou que je peux aussi envoyer chiffrer, pourquoi pas.

47:49

Ce qui va se passer, c'est que tout le monde peut déchiffrer cette empreinte que j'ai chiffrée

47:55

vu que tout le monde a ma clé publique et va pouvoir, à son tour, calculer l'empreinte du message

48:01

qui a été effectivement reçue et comparer cette empreinte avec l'empreinte que moi j'avais chiffrée.

48:08

Et donc, qu'est-ce qui se passe si jamais c'est la même empreinte ?

48:13

Et bien, ça veut dire que le message est intègre, il n'a pas été modifié sur le trajet.

48:17

Parce que si quelqu'un avait modifié le message sur le trajet,

48:20

pour que ça ne se voit pas, il aurait aussi fallu qu'il modifie l'empreinte chiffrée qui était adjointe au message.

48:27

Or, pour pouvoir la modifier, il aurait besoin de ma clé privée.

48:31

Sinon, les gens ne pourraient pas déchiffrer l'empreinte avec ma clé publique et se rendraient compte qu'il y a un problème.

48:37

Donc, ce mécanisme de signature est extrêmement malin puisque, si jamais la signature d'un message,

48:45

je peux la déchiffrer avec la clé publique de quelqu'un, et qu'en plus le contenu, l'empreinte qui est à l'intérieur

48:53

est la même que l'empreinte du message effectivement reçue,

48:56

j'ai la certitude que c'est bien la personne que j'ai en face qui m'a envoyé

49:01

ce message, et qu'en plus, ce message n'a pas été modifié. Ou alors, l'autre alternative, c'est que sa clé privée a été compromise,

49:07

mais dans ce cas-là, c'est la merde. C'est comme si les mots de passe sont compromis, ça ne fonctionne pas très bien.

49:12

Alors, du coup, quand on revient à nos problèmes de confidentialité

49:21

au niveau de DNS, c'est-à-dire que tout le monde peut voir les requêtes qui sont effectuées

49:26

entre moi et le résolveur, donc potentiellement voir mon historique, et d'authenticité

49:31

à savoir, est-ce que le résolveur qui me répond, me répond vraiment les informations qui sont contenues

49:37

dans la zone, dans le serveur de nom ? Eh bien, on utilise le chiffrement et la signature. Le chiffrement

49:45

va être utilisé pour la confidentialité sur toute la chaîne, entre moi et le résolveur DNS.

49:51

Donc, il y a plein de solutions qui ont été proposées pour implémenter ce chiffrement.

49:55

Une des plus populaires aujourd'hui, qui est implémentée dans les navigateurs web,

49:59

c'est DoH pour DNS over HTTPS.

50:03

Ça consiste à utiliser le protocole sécurisé du web, HTTPS,

50:08

et d'encapsuler à l'intérieur de ce protocole les requêtes DNS.

50:13

Donc, ça se configure très facilement dans un navigateur.

50:17

Alors, on a une association qui fait partie du même collectif

50:23

que Picasoft, qui s'appelle 42l, qui propose un tel service,

50:27

et donc vous pouvez, par exemple, aller sur 42l.fr

50:31

et dans la rubrique services, vous trouverez un lien DoH qui vous explique comment utiliser leur résolveur DNS accessible via DoH,

50:43

DNS over HTTPS, dans votre navigateur. Et donc ainsi, toutes les requêtes DNS que font votre navigateur seront sécurisées, personne ne pourra écouter entre les deux.

50:52

Puisque, par défaut, vraiment, les fournisseurs d'accès à Internet, vu que c'est les résolveurs par défaut qui sont utilisés,

50:59

quand vous vous connectez à votre box, ont tout votre historique.

51:02

Donc ça, c'est la première solution pour la confidentialité au niveau des tuyaux, on va dire.

51:08

Et pour l'absence d'usurpation, alors là, c'est vraiment, on pourrait faire

51:13

une émission entière là-dessus, donc je vais essayer de résumer. On utilise ce qui s'appelle DNSSEC.

51:19

DNSSEC, c'est une extension, en fait, de DNS, DNS Security Extensions. Ça a été standardisé en 2005.

51:26

Et l'idée, c'est d'utiliser la signature cryptographique pour garantir l'intégrité et l'authenticité des données renvoyées par les résolveurs.

51:38

L'idée, elle est simple, c'est que chaque zone a une paire de clés, publiques et privées,

51:45

et va signer cryptographiquement l'ensemble de ces enregistrements. Donc, par exemple, à picasoft.net,

51:53

on n'utilise pas encore DNSSEC, parce qu'on est des mauvais élèves, mais si picasoft.net avait voulu sécuriser

52:00

ce qu'on appelle ces enregistrements, donc les correspondances,

52:05

par exemple, entre adresse IP et nom de domaine,

52:07

ce qu'on ferait, c'est qu'on dirait ok, très bien, pad.picasoft.net

52:11

c'est 91.158.... je ne sais pas quoi, et on adjoindrait un autre enregistrement

52:17

qui calculerait l'empreinte du message pad.picasoft.net c'est 91.... machin et qui le chiffrerait avec la clé privée de picasoft.net.

52:33

Alors, on pourrait se dire à ce stade, très bien, mais comment est-ce qu'on est sûr ?

52:37

Où est stockée finalement la clé publique qui va permettre aux gens de vérifier que l'empreinte est bien la bonne, etc. ?

52:44

Eh bien, on la stocke directement dans notre zone, mais pour que... Mais à ce moment-là, n'importe qui pourrait

52:52

très bien se mettre au milieu du résolveur et de moi, et puis inventer une fausse paire de clés publiques et privées

53:05

et puis faire semblant d'avoir des enregistrements qui sont bien signés, etc.

53:08

C'est pour ça que, par-dessus, on va aussi demander aux propriétaires

53:15

de la zone .net de stocker et de signer notre clé publique. Alors, ça devient peut-être un peu compliqué

53:23

comme gymnastique mentale, mais ça permet, si vous voulez, d'avoir une espèce de chaîne de confiance où on va pouvoir

53:31

vérifier, en remontant au fur et à mesure, que la clé publique associée à une zone a bien été signée par la zone du dessus, qui, elle-même,

53:45

sa clé publique a bien été signée par la clé privée de la zone du dessus, etc. Donc, tout ça pour dire que, si, dans ce mécanisme-là,

53:53

on voulait pouvoir usurper la clé publique de picasoft.net, eh bien, il faudrait réussir à récupérer la clé privée de la zone .net pour signer la fausse clé publique de picasoft.net.

54:10

C'est un peu laborieux. Du coup, je pense que c'est déjà pas mal pour une introduction.

54:17

Donc, pour résumer, en fait, ces deux solutions, elles ne fonctionnent pas totalement de concert, c'est-à-dire que

54:26

le problème de la confidentialité pour les intermédiaires et le problème de l'intégrité, c'est deux solutions qui sont très différentes,

54:35

qui sont apportées, c'est une de l'utilisation du chiffrement pour chiffrer, on va dire, de bout en bout, entre moi et le résolveur,

54:41

et celui de l'intégrité pour garantir que la zone n'a pas été modifiée, que c'est bien

54:47

les propriétaires de la zone qui ont donné les bonnes correspondances entre nom de domaine et adresse IP.

54:52

Notamment, c'est pas parce que vous utilisez DoH, donc DNS over HTTPS, que DNSSEC est utilisé. Et d'ailleurs, DNSSEC,

55:02

il n'est pas très très utilisé aujourd'hui, quand bien même, ça a été standardisé 2005, la preuve, chez Picasoft,

55:10

encore une fois, on n'est pas des bons élèves, puisqu'on gère nous-mêmes notre serveur de nom.

55:15

Donc, notamment, il y a assez peu de clients, les clients, c'est votre navigateur ou toute autre chose qui

55:24

fait appel à un résolveur, qui vérifie que les enregistrements DNSSEC sont valides, qui vérifient justement, qui font ce travail de déchiffrer

55:34

la signature, de vérifier qu'elle correspond bien à l'enregistrement, etc. Je crois que c'est le l'APNIC,

55:45

donc c'est pour l'Asie Pacifique, comme l'équivalent de l'AFNIC, qui estime qu'il y a seulement 29% en moyenne d'enregistrements DNSSEC qui sont

55:58

validés. Donc, ça veut dire que 70%, si j'interprète bien, je ne suis pas totalement sûr, des requêtes, alors soit des requêtes

56:06

générales dans le monde qui ne sont pas validées...., soit 70% des requêtes qui n'utilisent pas DNSSEC,

56:14

soit 70% des requêtes qui ont une signature qui ne sont pas vérifiées.

56:20

Bref, dans tous les cas, c'est trop peu.

56:21

Eh bien, voilà pour moi tout ce que j'avais, à raconter. Je pense

56:30

qu'on peut s'arrêter là. C'est déjà pas mal.

56:31

— Je pense qu'on a déjà un beau panel de problèmes et de solutions pour aujourd'hui, effectivement.

56:37

— Allez, c'est vendu. On s'arrête là.

56:40

Vous pouvez, comme d'habitude, retrouver ce podcast, cette émission, sur radio.picasoft.net, où on

56:47

mettra les liens de tous les services dont on a parlé, et puis nos sources.

56:51

Et puis, n'hésitez surtout pas à aller lire le blog de Stéphane, donc sur bortzmeyer.org, blog dont

56:59

on s'est pas mal inspiré pour trouver des exemples et monter nos explications.

57:05

Eh bien, d'ici la prochaine émission, on vous souhaite une excellente journée. Salut Talitha, et puis à la prochaine.

57:11

— Salut Quentin.