Certificats

Comme nous le rappelle John Donne, « Aucun homme n’est une île ». Nous ne pratiquons pas la cryptologie sur nous-même : cela aurait peu d’intérêt. Même dans la situation simple de l’espion et de son chef, il est important d’être sûr que l’on parle bien à la bonne personne. De nombreuses opérations de contre-espionnage dépendent de la capture de l’espion et de son remplacement sur la station qui chiffre par un de ses propres agents, afin de fournir à l’ennemi de faux renseignements. Cela peut être ennuyeux et dangereux pour le chef de l’espion, aussi enseigne-t-il à ses hommes de petites astuces dont il espère que les intercepteurs ne se rendront pas compte et qui les trahiront donc.

Dans le monde plus large de la cryptographie sur le Web, le problème est tout aussi sensible. Lorsque l’on commande un lot de cartes sur www.butterthlies.com, on veut être sûr que la société qui reçoit notre argent soit bien ce célèbre éditeur de cartes et non un quelconque margoulin ; de même, Butterthlies, Inc. veut être sûr que nous sommes bien qui nous prétendons être et que nous disposons d’un compte bancaire qui permettra de payer leurs splendides marchandises. Ces problèmes sont résolus dans une certaine mesure par la notion de certificat. Un certificat est un document électronique signé (chiffré par une clé privée et pouvant donc être vérifié par une clé publique) par une personne ou une société digne de confiance, appelée autorité de certification (CA). Un certificat contient la clé publique de son détenteur, ainsi que certaines informations le concernant : nom, adresse électronique, société, etc. (voir Création d’un certificat de test, plus loin dans ce chapitre). Pour obtenir un tel document, vous devez en faire la demande auprès d’un CA quelconque ; après leur avoir donné de l’argent et une fois qu’ils ont effectué toutes les vérifications qui leur semblent adéquates -- un appel téléphonique au numéro que vous leur avez communiqué pour voir si c’est « vous » qui répondez peut suffire -- ils vous envoient ce fameux fichier.

Dans le futur, l’autorité de certification détiendra peut-être elle-même un certificat d’une CA supérieure, et ainsi de suite jusqu’à une CA si renommée et unaniment reconnue qu’elle pourra signer ses propres certificats (en l’absence d’un Dieu bien matériel, certains hommes doivent se dévouer). Ce dernier certificat est appelé certificat d’origine et un bon certificat d’origine est un certificat pour lequel la clé publique est largement disponible et de façon fiable.

Actuellement, presque toutes les CA utilisent un certificat qu’elles ont signé elles-mêmes : c’est le cas de toutes les CA publiques, en tous cas. Tant qu’un travail de fond n’aura pas été fait pour savoir comment et quand faire confiance à des certificats de second niveau, il n’y a pas vraiment d’autre possibilité. Après tout, si vous faites confiance à Fred pour qu’il signe un certificat pour Bill, cela signifie-t-il que vous devriez faire confiance à Bill pour signer des certificats ? Ce n’est pas notre avis.

Une autre approche consiste à mettre en place un réseau de confiance -- un Web of Trust (WOT) -- allant du bas vers le haut : on part de personnes connues, qui se portent garantes d’un cercle plus large, et ainsi de suite. Le schéma de départ de cette approche a été proposé dans le cadre de PGP et vous trouverez toutes les explications dans l’article http://www.byte.com/art/9502/sec13/art4.htm. La base de données des confiances PGP est disséminée sur le Web et pose donc des problèmes de vérification. Thawte utilise une version différente, dans laquelle la base de données est gérée par cette société -- voir http://www.thawte.com/html/COMMUNITY/wot/. Ces propositions sont intéressantes, mais soulèvent presque autant de questions qu’elles résolvent de problèmes -- à propos de la nature de la confiance et de l’aptitude d’autres personnes à prendre des décisions en accord avec cette confiance. Pour autant que nous le sachions, les WOT ne jouent pas encore un grand rôle dans le commerce sur le Web, bien qu’ils soient largement utilisés pour la sécurité du courrier électronique.

Lorsque vous faites du commerce avec quelqu’un d’autre sur le Web, vous échangez des certificats (ou, au moins, vous vérifiez le certificat du serveur), que vous obtenez d’une CA (nous vous en indiquerons quelques unes plus tard). Les transactions sécurisées, par conséquent, nécessitent que les parties concernées puissent vérifier leurs certificats réciproques. Pour vérifier un certificat, vous devez posséder la clé publique de l’autorité qui l’a délivré et, si vous recevez un certificat d’une autorité inconnue, votre navigateur produira un message d’avertissement inquiétant -- cela dit, les principaux navigateurs connaissent les principales CA : en pratique, cette situation est donc assez rare.

Lorsque toute la structure de certificats sera en place, il y aura une chaîne de certificats passant par les plus hautes organisations, jusqu’à remonter à quelques autorités de certification d’origine, qui seront probablement très importantes et non remises en question : les sociétés de télécommunication ou les banques, par exemple.

La question des chaînes de certificats est la première étape dans la formalisation de nos idées de confiance financière, tant commerciale que personnelle. Depuis l’établissement des organismes bancaires, au quatorzième siècle, nous avons été habitués à l’idée qu’en entrant dans une banque nous pouvons donner en toute sécurité notre argent durement gagné à un parfait étranger, simplement parce qu’il est assis derrière un guichet. Sur l’Internet, cependant, le réconfort d’un immeuble coûteux et de son personnel impressionnant n’existera pas ; il sera remplacé en partie par les chaînes de certificats. Mais le fait qu’une personne détienne un certificat ne signifie pas que vous devez lui vouer une confiance aveugle. LocalBank peut très bien posséder un certificat de MegaBank et cette dernière en posséder un de la Banque de France, laquelle peut en détenir un d’une instance suprême des CA : LocalBank peut avoir donné un certificat à son concierge, cela signifie seulement qu’il est sûrement ce qu’il prétend être, mais vous ne lui donneriez pas pour autant le pouvoir de débiter votre compte des frais d’entretien.

Vous ne feriez certainement pas confiance à quelqu’un qui ne possède pas de certificat mais, même s’il en possède un, la confiance que vous lui octroieriez dépendrait des règles établies par ceux qui le lui auront accordé, ainsi que de vos propres règles de confiance, dont peu de gens se soucient. Ce sujet est très vaste et nous ennuiera sûrement avant que nous l’ayons complètement maîtrisé.

Vous trouverez un bon résumé de tout cela sur la page http://httpd.apache.org/docs-2.0/ssl/ssl_intro.html. Le texte http://www.apache-ssl.org/7.5things.txt contient également quelques remarques plus cyniques de la part de l’un des auteurs. Consultez également le livre de Ross Anderson, Security Engineering, publié par Wiley (2001).

Apache La référence
titlepage.xhtml
APACHE-la-REF_split_000.htm
APACHE-la-REF_split_001.htm
APACHE-la-REF_split_002.htm
APACHE-la-REF_split_003.htm
APACHE-la-REF_split_004.htm
APACHE-la-REF_split_005.htm
APACHE-la-REF_split_006.htm
APACHE-la-REF_split_007.htm
APACHE-la-REF_split_008.htm
APACHE-la-REF_split_009.htm
APACHE-la-REF_split_010.htm
APACHE-la-REF_split_011.htm
APACHE-la-REF_split_012.htm
APACHE-la-REF_split_013.htm
APACHE-la-REF_split_014.htm
APACHE-la-REF_split_015.htm
APACHE-la-REF_split_016.htm
APACHE-la-REF_split_017.htm
APACHE-la-REF_split_018.htm
APACHE-la-REF_split_019.htm
APACHE-la-REF_split_020.htm
APACHE-la-REF_split_021.htm
APACHE-la-REF_split_022.htm
APACHE-la-REF_split_023.htm
APACHE-la-REF_split_024.htm
APACHE-la-REF_split_025.htm
APACHE-la-REF_split_026.htm
APACHE-la-REF_split_027.htm
APACHE-la-REF_split_028.htm
APACHE-la-REF_split_029.htm
APACHE-la-REF_split_030.htm
APACHE-la-REF_split_031.htm
APACHE-la-REF_split_032.htm
APACHE-la-REF_split_033.htm
APACHE-la-REF_split_034.htm
APACHE-la-REF_split_035.htm
APACHE-la-REF_split_036.htm
APACHE-la-REF_split_037.htm
APACHE-la-REF_split_038.htm
APACHE-la-REF_split_039.htm
APACHE-la-REF_split_040.htm
APACHE-la-REF_split_041.htm
APACHE-la-REF_split_042.htm
APACHE-la-REF_split_043.htm
APACHE-la-REF_split_044.htm
APACHE-la-REF_split_045.htm
APACHE-la-REF_split_046.htm
APACHE-la-REF_split_047.htm
APACHE-la-REF_split_048.htm
APACHE-la-REF_split_049.htm
APACHE-la-REF_split_050.htm
APACHE-la-REF_split_051.htm
APACHE-la-REF_split_052.htm
APACHE-la-REF_split_053.htm
APACHE-la-REF_split_054.htm
APACHE-la-REF_split_055.htm
APACHE-la-REF_split_056.htm
APACHE-la-REF_split_057.htm
APACHE-la-REF_split_058.htm
APACHE-la-REF_split_059.htm
APACHE-la-REF_split_060.htm
APACHE-la-REF_split_061.htm
APACHE-la-REF_split_062.htm
APACHE-la-REF_split_063.htm
APACHE-la-REF_split_064.htm
APACHE-la-REF_split_065.htm
APACHE-la-REF_split_066.htm
APACHE-la-REF_split_067.htm
APACHE-la-REF_split_068.htm
APACHE-la-REF_split_069.htm
APACHE-la-REF_split_070.htm
APACHE-la-REF_split_071.htm
APACHE-la-REF_split_072.htm
APACHE-la-REF_split_073.htm
APACHE-la-REF_split_074.htm
APACHE-la-REF_split_075.htm
APACHE-la-REF_split_076.htm
APACHE-la-REF_split_077.htm
APACHE-la-REF_split_078.htm
APACHE-la-REF_split_079.htm
APACHE-la-REF_split_080.htm
APACHE-la-REF_split_081.htm
APACHE-la-REF_split_082.htm
APACHE-la-REF_split_083.htm
APACHE-la-REF_split_084.htm
APACHE-la-REF_split_085.htm
APACHE-la-REF_split_086.htm
APACHE-la-REF_split_087.htm
APACHE-la-REF_split_088.htm
APACHE-la-REF_split_089.htm
APACHE-la-REF_split_090.htm
APACHE-la-REF_split_091.htm
APACHE-la-REF_split_092.htm
APACHE-la-REF_split_093.htm
APACHE-la-REF_split_094.htm
APACHE-la-REF_split_095.htm
APACHE-la-REF_split_096.htm
APACHE-la-REF_split_097.htm
APACHE-la-REF_split_098.htm
APACHE-la-REF_split_099.htm
APACHE-la-REF_split_100.htm
APACHE-la-REF_split_101.htm
APACHE-la-REF_split_102.htm
APACHE-la-REF_split_103.htm
APACHE-la-REF_split_104.htm
APACHE-la-REF_split_105.htm
APACHE-la-REF_split_106.htm
APACHE-la-REF_split_107.htm
APACHE-la-REF_split_108.htm
APACHE-la-REF_split_109.htm
APACHE-la-REF_split_110.htm
APACHE-la-REF_split_111.htm
APACHE-la-REF_split_112.htm
APACHE-la-REF_split_113.htm
APACHE-la-REF_split_114.htm
APACHE-la-REF_split_115.htm
APACHE-la-REF_split_116.htm
APACHE-la-REF_split_117.htm
APACHE-la-REF_split_118.htm
APACHE-la-REF_split_119.htm
APACHE-la-REF_split_120.htm
APACHE-la-REF_split_121.htm
APACHE-la-REF_split_122.htm
APACHE-la-REF_split_123.htm
APACHE-la-REF_split_124.htm
APACHE-la-REF_split_125.htm
APACHE-la-REF_split_126.htm
APACHE-la-REF_split_127.htm
APACHE-la-REF_split_128.htm
APACHE-la-REF_split_129.htm
APACHE-la-REF_split_130.htm
APACHE-la-REF_split_131.htm
APACHE-la-REF_split_132.htm
APACHE-la-REF_split_133.htm
APACHE-la-REF_split_134.htm
APACHE-la-REF_split_135.htm
APACHE-la-REF_split_136.htm
APACHE-la-REF_split_137.htm
APACHE-la-REF_split_138.htm
APACHE-la-REF_split_139.htm
APACHE-la-REF_split_140.htm
APACHE-la-REF_split_141.htm
APACHE-la-REF_split_142.htm
APACHE-la-REF_split_143.htm
APACHE-la-REF_split_144.htm
APACHE-la-REF_split_145.htm
APACHE-la-REF_split_146.htm
APACHE-la-REF_split_147.htm
APACHE-la-REF_split_148.htm
APACHE-la-REF_split_149.htm
APACHE-la-REF_split_150.htm
APACHE-la-REF_split_151.htm
APACHE-la-REF_split_152.htm
APACHE-la-REF_split_153.htm
APACHE-la-REF_split_154.htm
APACHE-la-REF_split_155.htm
APACHE-la-REF_split_156.htm
APACHE-la-REF_split_157.htm
APACHE-la-REF_split_158.htm
APACHE-la-REF_split_159.htm
APACHE-la-REF_split_160.htm
APACHE-la-REF_split_161.htm
APACHE-la-REF_split_162.htm
APACHE-la-REF_split_163.htm
APACHE-la-REF_split_164.htm
APACHE-la-REF_split_165.htm
APACHE-la-REF_split_166.htm
APACHE-la-REF_split_167.htm
APACHE-la-REF_split_168.htm
APACHE-la-REF_split_169.htm
APACHE-la-REF_split_170.htm
APACHE-la-REF_split_171.htm
APACHE-la-REF_split_172.htm
APACHE-la-REF_split_173.htm
APACHE-la-REF_split_174.htm