1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>Chiffrement SSL/TLS fort : Introduction - Serveur Apache HTTP</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body id="manual-page"><div id="page-header"> 17<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p> 18<p class="apache">Serveur Apache HTTP Version 2.4</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">SSL/TLS</a></div><div id="page-content"><div id="preamble"><h1>Chiffrement SSL/TLS fort : Introduction</h1> 23<div class="toplang"> 24<p><span>Langues Disponibles: </span><a href="/en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/ssl/ssl_intro.html" title="Fran�ais"> fr </a> | 26<a href="/ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> 27</div> 28 29 30<p>Ce chapitre en guise d'introduction est destin� aux lecteurs pour lesquels 31le Web, HTTP et Apache sont familiers, mais ne sont pas des experts en mati�re 32de s�curit�. Il n'a pas la pr�tention d'�tre un guide d�taill� sur le 33protocole SSL, il ne traitera pas non plus des techniques sp�cifiques de gestion 34des certificats dans une organisation, ni des importants probl�mes l�gaux de 35brevets ou des restrictions d'importation ou d'exportation. Il se veut plut�t 36une base de travail pour les utilisateurs de <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> en 37rassemblant diff�rents concepts, d�finitions et exemples comme point de d�part 38pour une exploration plus d�taill�e.</p> 39 40</div> 41<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#cryptographictech">Techniques de chiffrement</a></li> 42<li><img alt="" src="/images/down.gif" /> <a href="#certificates">Certificats</a></li> 43<li><img alt="" src="/images/down.gif" /> <a href="#ssl">Couche Points d'Acc�s S�curis�s - Secure Sockets Layer (SSL)</a></li> 44<li><img alt="" src="/images/down.gif" /> <a href="#references">R�f�rences</a></li> 45</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> 46<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 47<div class="section"> 48<h2><a name="cryptographictech" id="cryptographictech">Techniques de chiffrement</a></h2> 49 50<p>La ma�trise de SSL n�cessite la compr�hension des algorithmes de 51chiffrement, des fonctions relatives aux empreintes de messages (comme les 52fonctions de type hash ou non r�versibles), et des signatures num�riques. Ces 53techniques pourraient faire l'objet d'un ouvrage � elles seules (voir par 54exemple [<a href="#AC96">AC96</a>]) et constituent les bases de la 55confidentialit�, de l'int�grit� et de l'authentification.</p> 56 57<h3><a name="cryptographicalgo" id="cryptographicalgo">Algorithmes de chiffrement</a></h3> 58 59 <p>Supposons qu'Alice veuille envoyer un message � sa banque pour 60 transf�rer une certaine somme. Alice souhaiterait que le message soit 61 priv�, car il contient des informations comme son num�ro de compte et le 62 montant du transfert. Une solution consisterait � utiliser un algorithme de 63 chiffrement, technique qui permet de remplacer un message par sa version 64 chiffr�e, illisible jusqu'� ce qu'elle soit d�chiffr�e. 65 Sous sa forme chiffr�e, 66 le message ne peut �tre d�chiffr� qu'en utilisant une cl� secr�te. Sans la 67 cl�, le message est inutilisable : les bons algorithmes de chiffrement 68 rendent si difficile la restitution du texte original par des intrus que 69 ceux-ci y gaspilleraient leurs efforts.</p> 70 71 <p>Il existe deux cat�gories d'algorithmes de chiffrement : conventionnel 72 ou � cl� publique.</p> 73 74 <dl> 75 <dt>Chiffrement conventionnel</dt> 76 <dd>aussi connu sous le nom de chiffrement sym�trique, il n�cessite le 77 partage d'une cl� entre l'exp�diteur et le destinataire : une portion 78 d'information secr�te permettant de chiffrer et d�chiffrer un message. 79 Tant que cette cl� reste secr�te, personne � part l'exp�diteur et le 80 destinataire ne peut lire le message. Si Alice et sa banque partagent une 81 cl� secr�te, ils peuvent donc s'envoyer l'un � l'autre des messages priv�s. 82 Le fait de partager une cl� entre l'exp�diteur et le destinataire avant 83 de communiquer, tout en la maintenant secr�te vis � vis des autres, peut 84 toutefois poser des probl�mes.</dd> 85 86 <dt>Chiffrement � cl� publique</dt> 87 <dd>aussi connu sous le nom de chiffrement asym�trique, il r�soud le 88 probl�me d'�change de cl� en d�finissant un algorithme qui utilise deux 89 cl�s, chacune d'entre elles pouvant �tre utilis�e pour chiffrer un message. 90 Si une des cl�s a �t� utilis�e pour chiffrer le message, on doit utiliser 91 l'autre cl� pour le d�chiffrer. Il est ainsi possible de recevoir des 92 messages s�curis�s simplement en rendant publique une des cl�s (la cl� 93 publique), et en gardant l'autre cl� secr�te (la cl� priv�e).</dd> 94 </dl> 95 96 <p>Tout le monde peut chiffrer un message en utilisant la cl� publique, 97 mais seul le propri�taire de la cl� priv�e sera en mesure de le lire. De 98 cette fa�on, Alice peut envoyer des messages priv�s au propri�taire d'une 99 paire de cl�s (sa banque), en les chiffrant � l'aide de la cl� publique. 100 Seule la banque sera en mesure de les d�chiffrer.</p> 101 102 103<h3><a name="messagedigests" id="messagedigests">Empreinte d'un message</a></h3> 104 105 <p>Bien qu'Alice puisse chiffrer son message pour le rendre priv�, il 106 subsiste toujours le risque que quelqu'un puisse modifier le message 107 original ou le remplacer par un autre, afin d'effectuer le transfert de 108 fonds � son profit, par exemple. Une solution pour garantir l'int�grit� du 109 message consisterait pour Alice � cr�er un r�sum� concentr� de son message 110 qu'elle enverrait � sa banque avec ce dernier. A la r�ception du message, 111 la banque cr�e son propre r�sum� et le compare avec celui qu'Alice a 112 envoy�. Si les deux r�sum�s sont identiques, le message re�u n'a pas 113 �t� modifi�.</p> 114 115 <p>Un r�sum� tel que celui-ci est appel� 116 <dfn>empreinte num�rique de message</dfn> (message digest), 117 <em>fonction irr�versible</em> (one-way function) ou 118 <em>fonction de hashage</em> (hash function). Une empreinte de message 119 constitue une repr�sentation courte et de longueur fixe, d'un message plus 120 long et de longueur variable. Les algorithmes de cr�ation d'empreintes sont 121 con�us pour produire une empreinte unique pour chaque message. Les 122 empreintes de messages sont con�ues pour que la restitution du message 123 � partir de l'empreinte soit d'une difficult� insurmontable, et qu'il soit 124 (en th�orie) impossible de trouver deux messages diff�rents qui produisent 125 la m�me empreinte -- ce qui �limine la possibilit� de remplacer un message 126 par un autre en conservant la m�me empreinte.</p> 127 128 <p>Trouver le moyen d'envoyer l'empreinte de mani�re s�curis�e � la banque 129 constitue un autre d�fit auquel Alice doit faire face ; si l'empreinte 130 n'est pas envoy�e de mani�re s�curis�e, son int�grit� peut �tre compromise, 131 et avec elle, la possibilit� pour la banque de v�rifier l'int�grit� du 132 message original. L'int�grit� du message ne peut �tre v�rifi�e que si 133 l'empreinte qui lui est associ�e est envoy�e de mani�re s�curis�e.</p> 134 135 <p>Une solution pour envoyer l'empreinte de mani�re s�curis�e consiste � 136 l'inclure dans une signature num�rique.</p> 137 138 139<h3><a name="digitalsignatures" id="digitalsignatures">Signatures num�riques</a></h3> 140<p>Quand Alice envoie un message � sa banque, cette derni�re doit s'assurer 141que le message a bien �t� envoy� par elle, pour �viter qu'un intrus puisse 142effectuer une transaction sur son compte. Une <em>signature num�rique</em>, 143cr��e par Alice et incluse dans le message, permet d'atteindre cet 144objectif.</p> 145 146<p>Les signatures num�riques peuvent �tre cr��es en chiffrant une empreinte de 147message, ainsi que d'autres informations (comme un num�ro d'ordre) avec la cl� 148priv�e de l'exp�diteur. Bien que tout le monde puisse <em>d�chiffrer</em> la 149signature � l'aide de la cl� publique, seul l'exp�diteur connait la cl� priv�e. 150Ce qui implique que seul l'exp�diteur peut avoir sign� le message. Inclure 151l'empreinte dans la signature entra�ne que cette derni�re n'est valable que 152pour ce message ; ceci assure aussi l'int�grit� du message car personne ne 153peut modifier l'empreinte et ensuite signer le message.</p> 154<p>Afin de se pr�munir contre l'interception et la r�utilisation de la 155signature par un intrus quelques jours plus tard, la signature contient un 156num�ro d'ordre unique. Ceci prot�ge la banque contre une plainte frauduleuse 157de la part d'Alice all�guant qu'elle n'a pas envoy� le message -- 158elle seule peut l'avoir sign� (non-r�pudiation).</p> 159 160 161</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 162<div class="section"> 163<h2><a name="certificates" id="certificates">Certificats</a></h2> 164 165<p>Bien qu'Alice soit parvenue � envoyer un message priv� � sa banque, apr�s 166l'avoir sign� et avoir ainsi assur� l'int�grit� du message, elle doit encore v�rifier 167qu'elle communique r�ellement avec la banque. C'est � dire qu'elle doit 168s'assurer que la cl� publique qu'elle utilise appartient bien � la paire de 169cl�s de la banque, et non � celle d'un intrus. 170De m�me, la banque doit v�rifier que la 171signature du message a bien �t� construite avec la cl� priv�e d'Alice.</p> 172 173<p>Si chaque partie poss�de un certificat qui valide l'identit� de l'autre, 174confirme la cl� publique, et est sign� par un organisme de confiance, alors 175les deux protagonistes peuvent �tre s�rs que la personne avec laquelle ils 176communiquent est bien celle avec laquelle ils d�sirent le faire. Un tel 177organisme de confiance s'appelle une <em>Autorit� de Certification</em>, et 178on utilise les certificats � des fins d'authentification.</p> 179 180<h3><a name="certificatecontents" id="certificatecontents">Contenu d'un certificat</a></h3> 181 182 <p>Un certificat associe une cl� publique avec l'identit� r�elle d'un 183 individu, d'un serveur, ou d'une autre entit� plus connue sous le nom de 184 sujet. Comme on le voit dans le <a href="#table1">Tableau 1</a>, les 185 information concernant le sujet comprennent des informations 186 d'identification (le nom distinctif ou distinguished name - dn), ainsi que 187 la cl� publique. Il comporte aussi l'identification et la signature de 188 l'autorit� de certification qui a d�livr� le certificat, ainsi que la 189 p�riode de validit� de ce dernier. Il peut aussi contenir des informations 190 suppl�mentaires (ou extensions) telles que des informations de gestion 191 destin�es � l'autorit� de certification, comme un num�ro de s�rie.</p> 192 193 <h4><a name="table1" id="table1">Tableau 1: Information contenues dans un certificat</a></h4> 194 195 <table> 196 197 <tr><th>Sujet</th> 198 <td>Nom distinctif, Cl� publique</td></tr> 199 <tr><th>Fournisseur</th> 200 <td>Nom distinctif, Signature</td></tr> 201 <tr><th>P�riode de validit�</th> 202 <td>Pas avant, Pas apr�s</td></tr> 203 <tr><th>Informations de gestion</th> 204 <td>Version, Num�ro de s�rie</td></tr> 205 <tr><th>Extensions</th> 206 <td>Contraintes de base, Drapeaux Netscape, etc.</td></tr> 207 </table> 208 209 210 <p>Un nom distinctif sert � fournir une identit� dans un contexte 211 sp�cifique -- par exemple, un individu peut poss�der un certificat 212 personnel, et aussi un certificat en tant qu'employ�. Les noms distinctifs 213 doivent respecter le standard X509 [<a href="#X509">X509</a>], qui d�finit 214 les champs, les noms de champs, et les abr�viations utilis�es pour faire 215 r�f�rence aux champs (voir <a href="#table2">Tableau 2</a>).</p> 216 217 <h4><a name="table2" id="table2">Tableau 2: Informations contenues dans le nom distinctif</a></h4> 218 219 <table class="bordered"> 220 221 <tr><th>Champ du DN</th> 222 <th>Abr�v.</th> 223 <th>Description</th> 224 <th>Exemple</th></tr> 225 <tr><td>Nom complet (Common Name)</td> 226 <td>CN</td> 227 <td>Nom certifi�</td> 228 <td>CN=Joe Average</td></tr> 229 <tr><td>Organisation or Entreprise</td> 230 <td>O</td> 231 <td>Nom est associ� � cette<br />organisation</td> 232 <td>O=Snake Oil, Ltd.</td></tr> 233 <tr><td>Unit� organisationnelle (Organizational Unit)</td> 234 <td>OU</td> 235 <td>Nom est associ� avec cette <br />unit� organisationnelle, 236 par exemple un d�partement</td> 237 <td>OU=Research Institute</td></tr> 238 <tr><td>Ville/Localisation</td> 239 <td>L</td> 240 <td>Nom est localis� dans cette ville</td> 241 <td>L=Snake City</td></tr> 242 <tr><td>Etat/Province</td> 243 <td>ST</td> 244 <td>Nom est localis� dans cet �tat/province</td> 245 <td>ST=Desert</td></tr> 246 <tr><td>Pays</td> 247 <td>C</td> 248 <td>Nom est localis� dans ce pays (code ISO)</td> 249 <td>C=XZ</td></tr> 250 </table> 251 252 253 <p>Une autorit� de certification peut d�finir une contrainte sp�cifiant 254 quels champs du nom distinctif sont optionnels et lesquels sont 255 obligatoires. Elle peut aussi imposer des contraintes sur le contenu des 256 champs, ce que peuvent aussi faire les utilisateurs de certificats. Par 257 exemple, un navigateur Netscape peut exiger, dans le cas d'un certificat 258 de serveur, que le nom complet (Common Name) corresponde � un nom g�n�rique 259 contenant le nom de domaine du serveur, comme 260 <code>*.snakeoil.com</code>.</p> 261 262 <p>Le format binaire d'un certificat est d�fini en utilisant la 263 notation ASN.1 [<a href="#ASN1">ASN1</a>] [<a href="#PKCS">PKCS</a>]. 264 Cette notation definit la mani�re de sp�cifier les contenus, et les r�gles 265 d'encodage d�finissent la mani�re dont ces information sont converties au 266 format binaire. L'encodage binaire du certificat est d�fini par les R�gles 267 d'Encodage Distinctives (Distinguished Encoding Rules - DER), qui se basent 268 d'une mani�re plus g�n�rale sur les R�gles d'Encodage de Base (Basic 269 Encoding Rules - BER). Pour les transmissions qui ne supportent pas le 270 format binaire, ce dernier peut �tre converti au format ASCII en utilisant 271 le codage Base64 [<a href="#MIME">MIME</a>]. Lorsqu'il est plac� entre des 272 d�limiteurs de d�but et de fin (comme ci-dessous), on dit que le certificat 273 est encod� au format PEM ("Privacy Enhanced Mail").</p> 274 275 <div class="example"><h3>Exemple de certificat encod� au format PEM (snakeoil.crt)</h3><pre>-----BEGIN CERTIFICATE----- 276MIIC7jCCAlegAwIBAgIBATANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCWFkx 277FTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25ha2UgVG93bjEXMBUG 278A1UEChMOU25ha2UgT2lsLCBMdGQxHjAcBgNVBAsTFUNlcnRpZmljYXRlIEF1dGhv 279cml0eTEVMBMGA1UEAxMMU25ha2UgT2lsIENBMR4wHAYJKoZIhvcNAQkBFg9jYUBz 280bmFrZW9pbC5kb20wHhcNOTgxMDIxMDg1ODM2WhcNOTkxMDIxMDg1ODM2WjCBpzEL 281MAkGA1UEBhMCWFkxFTATBgNVBAgTDFNuYWtlIERlc2VydDETMBEGA1UEBxMKU25h 282a2UgVG93bjEXMBUGA1UEChMOU25ha2UgT2lsLCBMdGQxFzAVBgNVBAsTDldlYnNl 283cnZlciBUZWFtMRkwFwYDVQQDExB3d3cuc25ha2VvaWwuZG9tMR8wHQYJKoZIhvcN 284AQkBFhB3d3dAc25ha2VvaWwuZG9tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB 285gQDH9Ge/s2zcH+da+rPTx/DPRp3xGjHZ4GG6pCmvADIEtBtKBFAcZ64n+Dy7Np8b 286vKR+yy5DGQiijsH1D/j8HlGE+q4TZ8OFk7BNBFazHxFbYI4OKMiCxdKzdif1yfaa 287lWoANFlAzlSdbxeGVHoT0K+gT5w3UxwZKv2DLbCTzLZyPwIDAQABoyYwJDAPBgNV 288HRMECDAGAQH/AgEAMBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOB 289gQAZUIHAL4D09oE6Lv2k56Gp38OBDuILvwLg1v1KL8mQR+KFjghCrtpqaztZqcDt 2902q2QoyulCgSzHbEGmi0EsdkPfg6mp0penssIFePYNI+/8u9HT4LuKMJX15hxBam7 291dUHzICxBVC1lnHyYGjDuAMhe396lYAn8bCld1/L4NMGBCQ== 292-----END CERTIFICATE-----</pre></div> 293 294 295<h3><a name="certificateauthorities" id="certificateauthorities">Autorit�s de certification</a></h3> 296 297 <p>En v�rifiant les informations contenues dans une demande de certificat 298 avant de l'accorder, l'autorit� de certification s'assure de l'identit� du 299 propri�taire de la cl� priv�e issue de sa paire de cl�s. Par exemple, Si 300 Alice demande un certificat personnel, l'autorit� de certification doit 301 d'abord s'assurer qu'elle correspond vraiment � la personne � laquelle 302 la demande de certificat fait r�f�rence.</p> 303 304 <h4><a name="certificatechains" id="certificatechains">Cha�nes de certification</a></h4> 305 306 <p>Une autorit� de certification peut aussi �mettre un certificat � 307 destination d'une 308 autre autorit� de certification. Pour v�rifier un certificat, Alice 309 peut �tre amen�e � v�rifier le certificat de l'�metteur pour chaque 310 autorit� de certification parente, jusqu'� ce qu'elle en atteigne une 311 en qui elle a confiance. Elle peut aussi ne faire confiance qu'aux 312 certificats faisant l'objet d'une cha�ne limit�e d'�metteurs, afin 313 de r�duire le risque de rencontrer un "mauvais" certificat dans la 314 cha�ne.</p> 315 316 317 <h4><a name="rootlevelca" id="rootlevelca">Cr�ation d'une autorit� de certification racine</a></h4> 318 319 <p>Comme indiqu� plus haut, chaque certificat n�cessite la validation 320 de l'identit� du sujet par un �metteur de certificats 321 de niveau sup�rieur, et ceci en 322 remontant jusqu'� l'Autorit� de Certification (CA) racine. Ceci pose un 323 probl�me : qui va se porter garant du certificat de l'autorit� racine 324 qui ne poss�de pas d'�metteur de certificat ? C'est uniquement dans ce 325 cas que le certificat est auto-sign�, l'�metteur du certificat et son 326 sujet �tant confondus. Les navigateurs sont pr�configur�s avec une 327 liste d'autorit�s de certification de confiance, mais il est important 328 d'�tre extr�mement prudent avant de faire confiance � un certificat 329 auto-sign�. La large publication d'une cl� publique par l'autorit� 330 racine r�duit cependant les risques encourus 331 en faisant confiance � cette cl� -- 332 si quelqu'un publiait une cl� en se faisant passer pour l'autorit�, il 333 serait vite d�masqu�.</p> 334 335 <p>Quelques compagnies, comme <a href="http://www.thawte.com/">Thawte</a> et <a href="http://www.verisign.com/">VeriSign</a>, 336 se sont proclam�es elles-m�mes Autorit�s de Certification. Ces 337 compagnies proposent les services suivant :</p> 338 339 <ul> 340 <li>V�rification des demandes de certificats</li> 341 <li>Traitement des demandes de certificats</li> 342 <li>Emission et gestion des certificats</li> 343 </ul> 344 345 <p>Vous pouvez aussi cr�er votre propre autorit� de certification. Bien 346 que risqu� dans l'environnement de l'Internet, ceci peut s'av�rer utile 347 dans un Intranet, o� l'organisme peut v�rifier facilement les identit�s 348 des individus et des serveurs.</p> 349 350 351 <h4><a name="certificatemanagement" id="certificatemanagement">Gestion des certificats</a></h4> 352 353 <p>Constituer une autorit� de certification repr�sente une 354 responsabilit� qui n�cessite une solide infrastructure administrative, 355 technique et gestionnaire. Les autorit�s de certification ne se 356 contentent pas d'�mettre des certificats, elles doivent aussi les g�rer 357 -- � savoir elles d�terminent leur dur�e de validit�, elles les 358 renouvellent, et elles maintiennent des listes de certificats qui ont 359 �t� �mis dans le pass� mais ne sont plus valides (Listes de r�vocations 360 de certificats, ou CRLs).</p> 361 362 <p>Par exemple, si Alice est titulaire d'un certificat en tant 363 qu'employ�e d'une compagnie, mais vient de quitter cette compagnie, 364 son certificat doit �tre r�voqu�. Comme les certificats ne sont �mis 365 qu'apr�s v�rification de l'identit� du sujet, et peuvent �tre envoy�s 366 � tous ceux avec lesquels le sujet peut communiquer, il est impossible 367 de discerner � partir du seul certificat s'il a �t� r�voqu�. Pour 368 v�rifier la validit� d'un certificat, il est donc n�cessaire de 369 contacter l'autorit� de certification qui l'a �mis afin de pouvoir 370 consulter ses listes de r�vocations de certificats -- ce qui n'est 371 en g�n�ral pas une partie automatique du processus.</p> 372 373 <div class="note"><h3>Note</h3> 374 <p>Si votre autorit� de certification ne fait pas partie de la liste 375 des autorit�s de confiance de votre navigateur, il faut enregistrer le 376 certificat de l'autorit� de certification dans ce dernier, ce qui lui 377 permettra de valider les certificats de serveurs sign�s par cette 378 autorit� de certification. Ceci peut �tre dangereux, car une fois le 379 certificat enregistr�, le navigateur acceptera tous les certificats 380 sign�s par cette autorit� de certification.</p> 381 </div> 382 383 384 385</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 386<div class="section"> 387<h2><a name="ssl" id="ssl">Couche Points d'Acc�s S�curis�s - Secure Sockets Layer (SSL)</a></h2> 388 389<p>Le protocole Couche Points d'Acc�s S�curis�s est une couche protocolaire 390qui pourrait s'intercaler entre un protocole d'une couche r�seau orient�e 391connexion (comme TCP/IP) et une couche protocolaire d'application (comme HTTP). 392SSL fournit une communication s�curis�e entre client et serveur en permettant 393l'authentification mutuelle, l'utilisation des signatures num�riques pour la 394v�rification de l'int�grit� des donn�es, et le chiffrement pour la 395confidentialit�.</p> 396 397<p>Ce protocole est con�u pour supporter un grand choix d'algorithmes 398sp�cifiques utilis�s pour la cryptographie, les empreintes et les signatures. 399Ceci permet la s�lection d'un algorithme pour des serveurs sp�cifiques en 400respectant la l�galit�, les r�gles d'exportation ou autres contraintes, et 401permet aussi au protocole de tirer parti des nouveaux algorithmes. Ces choix 402font l'objet d'une n�gociation entre client et serveur lors de 403l'�tablissement de la session protocolaire.</p> 404 405<h3><a name="table4" id="table4">Tableau 4: Versions du protocole SSL</a></h3> 406 407 <table class="bordered"> 408 409 <tr><th>Version</th> 410 <th>Source</th> 411 <th>Description</th> 412 </tr> 413 <tr><td>SSL v2.0</td> 414 <td>Standard du fournisseur (de Netscape Corp.)</td> 415 <td>Premier protocole SSL pour lequel il existe des impl�mentations</td> 416 </tr> 417 <tr><td>SSL v3.0</td> 418 <td>Projet Internet arriv� � expiration (de Netscape Corp.) [<a href="#SSL3">SSL3</a>]</td> 419 <td>Comporte des r�visions permettant de pr�venir certaines attaques de 420 s�curit� sp�cifiques, ajout de chiffrements non RSA, et support des 421 cha�nes de certification</td> 422 </tr> 423 <tr><td>TLS v1.0</td> 424 <td>Standard propos� pour l'Internet (de l'IETF) [<a href="#TLS1">TLS1</a>]</td> 425 <td>R�vision de SSL 3.0 pour mettre � jour la couche MAC vers HMAC, 426 ajout du bourrage de bloc pour le chiffrement de bloc, standardisation 427 de l'ordonnancement des messages et plus de messages d'alerte.</td> 428 </tr> 429 <tr><td>TLS v1.1</td> 430 <td>Standard propos� pour l'Internet (de l'IETF) [<a href="#TLS11">TLS11</a>]</td> 431 <td>Mise � jour de TLS 1.0 pour la protection contre les 432 attaques de type Cipher block chaining (CBC).</td> 433 </tr> 434 <tr><td>TLS v1.2</td> 435 <td>Standard propos� pour l'Internet (de l'IETF) [<a href="#TLS12">TLS12</a>]</td> 436 <td>Mise � jour de TLS 1.2 rendant les condens�s MD5 obsol�tes, 437 et introduisant une incompatibilit� avec SSL ce qui interdit toute 438 n�gociation en vue d'une utilisation de SSLv2.</td> 439 </tr> 440 </table> 441 442 443<p>Il existe plusieurs versions du protocole SSL, comme le montre le 444<a href="#table4">Tableau 4</a>. Comme indiqu� dans ce dernier, un des apports 445de SSL 3.0 est le support du chargement des cha�nes de certification. Cette 446fonctionnalit� permet � un serveur de passer au navigateur un certificat de 447serveur accompagn� du certificat de l'�metteur. Le chargement de la 448cha�ne permet aussi au navigateur de valider le certificat du serveur, m�me si 449les certificats de l'autorit� de certification ne sont pas install�s pour les 450�metteurs interm�diaires, car ils sont inclus dans la cha�ne de certification. 451SSL 3.0 sert de base au standard du protocole S�curit� de la Couche Transport 452ou Transport Layer Security 453[<a href="#TLS1">TLS</a>], actuellement en d�veloppement au sein de 454l'Internet Engineering Task Force (IETF).</p> 455 456<h3><a name="session" id="session">Etablissement d'une session</a></h3> 457 458 <p>La session SSL est �tablie en suivant une s�quence d'�changes 459 d'informations entre client et serveur, comme le montre la 460 <a href="#figure1">Figure 1</a>. Cette s�quence peut varier, selon que 461 le serveur est configur� pour fournir un certificat de serveur ou 462 r�clame un certificat client. Bien que dans certains cas, des �tapes 463 d'�changes d'informations suppl�mentaires soient n�cessaires pour la 464 gestion des informations de chiffrement, cet article r�sume un sc�nario 465 courant. Se reporter aux sp�cifications SSL pour avoir la liste de 466 toutes les possibilit�s.</p> 467 468 <div class="note"><h3>Note</h3> 469 <p>Une fois la session SSL �tablie, elle peut �tre r�utilis�e. Ceci 470 permet d'�viter la perte de performances due � la r�p�tition des nombreuses 471 �tapes n�cessaires � l'�tablissement d'une session. Pour parvenir � ceci, 472 le serveur assigne un identifiant de session unique � chaque session SSL ; 473 cet identifiant est mis en cache dans le serveur et le client peut 474 l'utiliser pour des connexions ult�rieures afin de r�duire la dur�e des 475 �changes d'informations (et ceci jusqu'� ce que l'identifiant de session 476 arrive � expiration dans le cache du serveur).</p> 477 </div> 478 479 <p class="figure"> 480 <img src="/images/ssl_intro_fig1.gif" alt="" width="423" height="327" /><br /> 481 <a id="figure1" name="figure1"><dfn>Figure 1</dfn></a> : S�quence 482 simplifi�e d'�changes d'informations SSL</p> 483 484 <p>Les �l�ments de la s�quence d'�changes d'informations, tels qu'ils 485 sont utilis�s par le client et le serveur, sont �num�r�s ci-apr�s :</p> 486 487 <ol> 488 <li>N�gociation de la suite de chiffrement � utiliser durant le transfert des donn�es</li> 489 <li>Elaboration et �change d'une cl� de session entre le client et le serveur</li> 490 <li>Authentification �ventuelle du serveur par le client</li> 491 <li>Authentification �ventuelle du client par le serveur</li> 492 </ol> 493 494 <p>La premi�re �tape, la n�gociation de la suite de chiffrement, permet au 495 client et au serveur de choisir une suite de chiffrement qu'ils supportent 496 tous les deux. La sp�cification du protocole SSL 3.0 d�finit 31 suites de 497 chiffrement. Une suite de chiffrement se compose des �l�ments 498 suivants :</p> 499 500 <ul> 501 <li>M�thode d'�change de la cl�</li> 502 <li>Chiffrement du transfert des donn�es</li> 503 <li>Empreinte du message servant � cr�er le code d'authentification du 504 message (MAC)</li> 505 </ul> 506 507 <p>Ces trois �l�ments sont d�crits dans les sections suivantes.</p> 508 509 510<h3><a name="keyexchange" id="keyexchange">M�thode d'�change de la cl�</a></h3> 511 512 <p>La m�thode d'�change de la cl� d�finit la mani�re 513 dont la cl� de chiffrement 514 sym�trique secr�te et partag�e utilis�e pour le transfert des donn�es de 515 l'application sera accept�e par le client et le serveur. SSL 2.0 utilise 516 l'�change de cl� RSA seulement, tandis que SSL 3.0 supporte tout un choix 517 d'algorithmes d'�change de cl� incluant l'�change de cl� RSA (quand les 518 certificats sont utilis�s), et l'�change de cl�s Diffie-Hellman (pour 519 �changer des cl�s sans certificat, ou en l'absence de communication 520 pr�alable entre le client et le serveur).</p> 521 522 <p>Les signatures num�riques constituent une variante dans le choix des 523 m�thodes d'�change de cl� -- utiliser les signatures ou pas, et dans 524 l'affirmative, quel genre de signatures utiliser. La signature � l'aide 525 d'une cl� priv�e fournit une protection contre une attaque 526 "man-in-the-middle" au cours de laquelle 527 l'�change d'informations destin� � g�n�rer la 528 cl� partag�e peut �tre intercept� [<a href="#AC96">AC96</a>, p516].</p> 529 530 531<h3><a name="ciphertransfer" id="ciphertransfer">Chiffrement du transfert de donn�es</a></h3> 532 533 <p>Comme d�crit plus haut, SSL utilise le chiffrement sym�trique 534 conventionnel pour chiffrer les messages au cours d'une session. Il existe 535 neuf choix possibles pour le chiffrement, y compris l'option du transfert 536 non chiffr� :</p> 537 538 <ul> 539 <li>Pas de chiffrement</li> 540 <li>Chiffrement en continu (Stream Ciphers) 541 <ul> 542 <li>RC4 avec cl�s de 40 bits</li> 543 <li>RC4 avec cl�s de 128 bits</li> 544 </ul></li> 545 <li>Chiffrement par blocs CBC (CBC Block Ciphers) 546 <ul><li>RC2 avec cl� de 40 bits</li> 547 <li>DES avec cl� de 40 bits</li> 548 <li>DES avec cl� de 56 bits</li> 549 <li>Triple-DES avec cl� de 168 bits</li> 550 <li>Idea (cl� de 128 bits)</li> 551 <li>Fortezza (cl� de 96 bits)</li> 552 </ul></li> 553 </ul> 554 555 <p>"CBC" signifie Cipher Block Chaining (Cha�nage de blocs chiffr�s), 556 c'est � dire qu'une portion du bloc de texte chiffr� pr�c�dent est utilis�e 557 pour le chiffrement du bloc courant. "DES" signifie Data Encryption 558 Standard (Standard de Chiffrement des Donn�es) 559 [<a href="#AC96">AC96</a>, ch12], et poss�de de nombreuses variantes 560 (telles que DES40 et 3DES_EDE). Parmi les algorithmes disponibles, "Idea" 561 est actuellement un des meilleurs et des plus puissants sur le plan 562 cryptographique, et "RC2" est un algorithme propri�taire de RSA DSI 563 [<a href="#AC96">AC96</a>, ch13].</p> 564 565 566<h3><a name="digestfuntion" id="digestfuntion">Fonction de cr�ation d'empreinte</a></h3> 567 568 <p>Le choix d'une fonction de cr�ation d'empreinte d�termine la mani�re 569 dont une empreinte est cr��e � partir d'une unit� de donn�es. SSL supporte 570 les fonctions suivantes :</p> 571 572 <ul> 573 <li>Pas d'empreinte (choix Null)</li> 574 <li>MD5, une empreinte de 128 bits</li> 575 <li>Algorithme d'Empreinte S�curis�e (Secure Hash Algorithm - SHA-1), une 576 empreinte de 160 bits</li> 577 </ul> 578 579 <p>On utilise l'empreinte de message pour cr�er un Code d'Authentification 580 de Message (Message Authentication Code - MAC) qui est chiffr� avec le 581 message afin de v�rifier son int�grit� et de se prot�ger contre les 582 attaques de type "rejeu".</p> 583 584 585<h3><a name="handshake" id="handshake">Protocole de la s�quence d'�changes d'informations</a></h3> 586 587 <p>La s�quence d'�changes d'informations utilise trois protocoles :</p> 588 589 <ul> 590 <li>Le <dfn>Protocole d'�changes d'informations SSL</dfn> pour �tablir 591 la session SSl entre le client et le serveur.</li> 592 <li>Le <dfn>Protocole de sp�cification du chiffrement SSL</dfn> pour 593 l'agr�ment effectif de la suite de chiffrement � utiliser 594 pour la session.</li> 595 <li>Le <dfn>Protocole d'alertes SSL</dfn> pour la transmission de 596 messages d'erreur SSL entre le client et le serveur.</li> 597 </ul> 598 599 <p>Ces protocoles, ainsi que les donn�es du protocole de l'application, 600 sont encapsul�s dans le <dfn>Protocole d'enregistrement SSL 601 (SSL Record Protocol)</dfn>, comme 602 le montre la <a href="#figure2">Figure 2</a>. Un protocole encapsul� est 603 tranf�r� en tant que donn�es par le protocole de la couche de niveau 604 inf�rieur, qui ne se pr�occupe pas du contenu des donn�es. Le protocole 605 encapsul� n'a aucune connaissance du protocole sous-jacent.</p> 606 607 <p class="figure"> 608 <img src="/images/ssl_intro_fig2.gif" alt="" width="428" height="217" /><br /> 609 <a id="figure2" name="figure2"><dfn>Figure 2</dfn></a>: 610 Pile du protocole SSL</p> 611 612 <p>L'encapsulation des protocoles de contr�le SSL dans le protocole 613 d'enregistrement signifie que si une session active est ren�goci�e, les 614 protocoles de contr�le seront transmis de mani�re s�curis�e. S'il n'y 615 avait pas de session pr�alable, la suite de chiffrement Null est utilis�e, 616 ce qui signifie que les messages ne seront pas chiffr�s et ne poss�deront 617 pas d'empreinte d'int�grit�, jusqu'� ce que la session ait �t� �tablie.</p> 618 619 620<h3><a name="datatransfer" id="datatransfer">Transmission des donn�es</a></h3> 621 622 <p>Le protocole d'enregistrement SSL, comme le montre la 623 <a href="#figure3">Figure 3</a>, est utilis� pour transmettre les donn�es 624 de l'application et les donn�es de contr�le SSL entre le client et le 625 serveur, les donn�es �tant n�cessairement fragment�es en �l�ments plus 626 petits, ou plusieurs messages de donn�es avec protocole de niveau 627 sup�rieur pouvant �tre combin�s en un seul �l�ment. Ce protocole peut 628 joindre des signatures d'empreintes, compresser et chiffrer ces �l�ments 629 avant de les transmettre en utilisant le protocole fiable de transport 630 sous-jacent (Note : actuellement, aucune impl�mentation majeure de SSL 631 n'inclut le support de la compression).</p> 632 633 <p class="figure"> 634 <img src="/images/ssl_intro_fig3.gif" alt="" width="423" height="323" /><br /> 635 <a id="figure3" name="figure3"><dfn>Figure 3</dfn></a>: 636 Protocole d'enregistrement SSL</p> 637 638 639<h3><a name="securehttp" id="securehttp">S�curisation des communications HTTP</a></h3> 640 641 <p>Une des utilisations courantes de SSL est la s�curisation des 642 communication HTTP sur le Web entre un navigateur et un serveur web. Ceci 643 n'exclut pas l'utilisation de HTTP non s�curis� - la version s�curis�e 644 (appel�e HTTPS) est identique � du vrai HTTP sur SSL, 645 mais utilise le pr�fixe 646 d'URL <code>https</code> au lieu de <code>http</code>, et un port 647 de serveur diff�rent (par d�faut le port 443). 648 Ceci constitue pour une large part 649 ce qu'apporte <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> au serveur web Apache.</p> 650 651</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 652<div class="section"> 653<h2><a name="references" id="references">R�f�rences</a></h2> 654 655<dl> 656<dt><a id="AC96" name="AC96">[AC96]</a></dt> 657<dd>Bruce Schneier, <q>Applied Cryptography</q>, 2nd Edition, Wiley, 6581996. Voir <a href="http://www.counterpane.com/">http://www.counterpane.com/</a> pour diverses autres productions de Bruce 659Schneier.</dd> 660 661<dt><a id="ASN1" name="ASN1">[ASN1]</a></dt> 662<dd>ITU-T Recommendation X.208, <q>Specification of Abstract Syntax Notation 663One (ASN.1)</q>, derni�re mise � jour en 2008. Voir <a href="http://www.itu.int/ITU-T/asn1/">http://www.itu.int/ITU-T/asn1/</a>. 664</dd> 665 666<dt><a id="X509" name="X509">[X509]</a></dt> 667<dd>ITU-T Recommendation X.509, <q>The Directory - Authentication 668Framework</q>. A titre de r�f�rence, voir <a href="http://en.wikipedia.org/wiki/X.509">http://en.wikipedia.org/wiki/X.509</a>. 669</dd> 670 671<dt><a id="PKCS" name="PKCS">[PKCS]</a></dt> 672<dd><q>Public Key Cryptography Standards (PKCS)</q>, 673RSA Laboratories Technical Notes, Voir <a href="http://www.rsasecurity.com/rsalabs/pkcs/">http://www.rsasecurity.com/rsalabs/pkcs/</a>.</dd> 674 675<dt><a id="MIME" name="MIME">[MIME]</a></dt> 676<dd>N. Freed, N. Borenstein, <q>Multipurpose Internet Mail Extensions 677(MIME) Part One: Format of Internet Message Bodies</q>, RFC2045. 678Voir par exemple <a href="http://tools.ietf.org/html/rfc2045">http://tools.ietf.org/html/rfc2045</a>.</dd> 679 680<dt><a id="SSL3" name="SSL3">[SSL3]</a></dt> 681<dd>Alan O. Freier, Philip Karlton, Paul C. Kocher, <q>The SSL Protocol 682Version 3.0</q>, 1996. Voir <a href="http://www.netscape.com/eng/ssl3/draft302.txt">http://www.netscape.com/eng/ssl3/draft302.txt</a>.</dd> 683 684<dt><a id="TLS1" name="TLS1">[TLS1]</a></dt> 685<dd>Tim Dierks, Christopher Allen, <q>The TLS Protocol Version 1.0</q>, 6861999. Voir <a href="http://ietf.org/rfc/rfc2246.txt">http://ietf.org/rfc/rfc2246.txt</a>.</dd> 687 688<dt><a id="TLS11" name="TLS11">[TLS11]</a></dt> 689<dd><q>Le protocole TLS Version 1.1</q>, 6902006. Voir <a href="http://tools.ietf.org/html/rfc4346">http://tools.ietf.org/html/rfc4346</a>.</dd> 691 692<dt><a id="TLS12" name="TLS12">[TLS12]</a></dt> 693<dd><q>Le protocole TLS Version 1.2</q>, 6942008. Voir <a href="http://tools.ietf.org/html/rfc5246">http://tools.ietf.org/html/rfc5246</a>.</dd> 695</dl> 696</div></div> 697<div class="bottomlang"> 698<p><span>Langues Disponibles: </span><a href="/en/ssl/ssl_intro.html" hreflang="en" rel="alternate" title="English"> en </a> | 699<a href="/fr/ssl/ssl_intro.html" title="Fran�ais"> fr </a> | 700<a href="/ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a></p> 701</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 702<script type="text/javascript"><!--//--><![CDATA[//><!-- 703var comments_shortname = 'httpd'; 704var comments_identifier = 'http://httpd.apache.org/docs/2.4/ssl/ssl_intro.html'; 705(function(w, d) { 706 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 707 d.write('<div id="comments_thread"><\/div>'); 708 var s = d.createElement('script'); 709 s.type = 'text/javascript'; 710 s.async = true; 711 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 712 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 713 } 714 else { 715 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 716 } 717})(window, document); 718//--><!]]></script></div><div id="footer"> 719<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 720<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 721if (typeof(prettyPrint) !== 'undefined') { 722 prettyPrint(); 723} 724//--><!]]></script> 725</body></html>