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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
25<a href="/fr/ssl/ssl_intro.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
26<a href="/ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</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">&nbsp;en&nbsp;</a> |
699<a href="/fr/ssl/ssl_intro.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
700<a href="/ja/ssl/ssl_intro.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</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&amp;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>