]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_crypto.xml.fr
XML update.
[apache] / docs / manual / mod / mod_crypto.xml.fr
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- $LastChangedRevision: 1752104 $ -->
5 <!-- English Revision : 1752104 -->
6 <!-- French translation : Lucien GENTIS -->
7 <!-- $LastChangedRevision: 2017021901 $ -->
8
9 <!--
10  Licensed to the Apache Software Foundation (ASF) under one or more
11  contributor license agreements.  See the NOTICE file distributed with
12  this work for additional information regarding copyright ownership.
13  The ASF licenses this file to You under the Apache License, Version 2.0
14  (the "License"); you may not use this file except in compliance with
15  the License.  You may obtain a copy of the License at
16
17      http://www.apache.org/licenses/LICENSE-2.0
18
19  Unless required by applicable law or agreed to in writing, software
20  distributed under the License is distributed on an "AS IS" BASIS,
21  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22  See the License for the specific language governing permissions and
23  limitations under the License.
24 -->
25
26 <modulesynopsis metafile="mod_crypto.xml.meta">
27
28 <name>mod_crypto</name>
29 <description>Support du chiffrement/d&eacute;chiffrement sym&eacute;trique</description>
30 <status>Extension</status>
31 <sourcefile>mod_crypto.c</sourcefile>
32 <identifier>crypto_module</identifier>
33 <compatibility>Disponible &agrave; partir de la version 2.5 du serveur HTTP Apache</compatibility>
34
35 <summary>
36     <p>Ce module permet de <strong>chiffrer et d&eacute;chiffrer</strong> les donn&eacute;es au
37     niveau des piles de filtrage en entr&eacute;e et en sortie.</p>
38
39     <p>En particulier, il permet d'effectuer un <strong>chiffrement HLS &agrave; la
40     vol&eacute;e</strong> comme d&eacute;crit dans le document <a
41     href="http://www.ietf.org/id/draft-pantos-http-live-streaming-19.txt">draft-pantos-http-live-streaming-19</a>.</p>
42
43     <p>Mais il peut aussi assurer la livraison s&eacute;curis&eacute;e de donn&eacute;es via un CDN
44     non s&eacute;curis&eacute; aux clients qui le supportent.</p>
45
46     <p>Selon les besoins, on peut ajouter le filtre crypto &agrave; la pile de filtrage
47     en entr&eacute;e ou en sortie via les directives <directive
48     module="core">SetInputFilter</directive>, <directive
49     module="core">SetOutputFilter</directive>, <directive
50     module="mod_mime">AddOutputFilter</directive> ou <directive
51     module="mod_filter">AddOutputFilterByType</directive>.</p>
52
53 </summary>
54 <seealso><a href="../filter.html">Filtres</a></seealso>
55
56 <section id="format">
57     <title>Format du flux de donn&eacute;es</title>
58
59     <p>Le flux de donn&eacute;es chiffr&eacute;es comporte un bloc IV optionnel suivi des
60     donn&eacute;es chiffr&eacute;es avec l'algorithme de chiffrement choisi. Le bloc final est
61     &eacute;ventuellement compl&eacute;t&eacute; par bourrage avant d'&ecirc;tre &eacute;crit. La taille des blocs
62     est d&eacute;termin&eacute;e par l'algorithme de chiffrement choisi.</p>
63
64     <p>Lorsque le bloc IV est sp&eacute;cifi&eacute; via la directive <directive
65     module="mod_crypto">CryptoIV</directive>, il est utilis&eacute;, mais n'est pas
66     inject&eacute; dans le flux d'entr&eacute;e/sortie.</p>
67
68 </section>
69
70 <section id="config">
71     <title>Cl&eacute;s et blocs IV</title>
72
73     <p>Les directives <directive module="mod_crypto">CryptoKey</directive> et
74     <directive module="mod_crypto">CryptoIV</directive> acceptent comme
75     arguments des valeurs binaires qui peuvent &ecirc;tre sp&eacute;cifi&eacute;es comme indiqu&eacute;
76     ci-apr&egrave;s. Les bits les plus significatifs de ces valeurs sont utilis&eacute;s, et
77     si les valeurs sont trop petites, elles sont compl&eacute;t&eacute;es par bourrage avec
78     des bits &agrave; 0 par la gauche.
79     </p>
80
81     <dl>
82     <dt>file:</dt><dd>La valeur est lue directement depuis le fichier sp&eacute;cifi&eacute;.</dd>
83     <dt>hex:</dt><dd>Interpr&egrave;te l'expression en tant que valeur hexad&eacute;cimale qui
84     peut contenir des caract&egrave;res ':' comme s&eacute;parateurs.</dd>
85     <dt>decimal:</dt><dd>Interpr&egrave;te l'expression en tant que valeur d&eacute;cimale.</dd>
86     <dt>base64:</dt><dd>Interpr&egrave;te l'expression en tant que valeur cod&eacute;e en
87     base64.</dd>
88     <dt>none</dt><dd>Aucune valeur n'est sp&eacute;cifi&eacute;e.</dd>
89     </dl>
90
91     <p>Si le IV n'est pas sp&eacute;cifi&eacute;, un IV al&eacute;atoire sera g&eacute;n&eacute;r&eacute; au cours du
92     chiffrement et &eacute;crit comme premier bloc. Lors du d&eacute;chiffrement, le premier
93     bloc sera interpr&eacute;t&eacute; en tant que IV.
94     </p>
95
96     <p>A l'exception du format file:, les directives <directive
97     module="mod_crypto">CryptoKey</directive> et <directive
98     module="mod_crypto">CryptoIV</directive> supportent la <a
99     href="../expr.html">syntaxe des expressions</a> qui fournit plus de
100     flexibilit&eacute; pour d&eacute;finir les valeurs. Les cl&eacute;s et IVs peuvent ainsi &ecirc;tre
101     initialis&eacute;es al&eacute;atoirement via des valeurs disponibles au niveau du serveur
102     web comme REMOTE_USER ou l'URL.
103     </p>
104
105 </section>
106
107 <section id="handler">
108     <title>Gestionnaire de cl&eacute; de chiffrement</title>
109
110     <p>Le gestionnaire <strong>crypto-key</strong> permet de fournir la cl&eacute; aux
111     clients autoris&eacute;s qui le supportent sans avoir &agrave; stocker cette derni&egrave;re dans
112     l'arborescence du serveur web. La m&ecirc;me <a href="../expr.html">syntaxe
113     d'expression</a> peut ainsi &ecirc;tre utilis&eacute;e afin d'obtenir la cl&eacute; pour les
114     clients et pour le contenu chiffr&eacute;.</p>
115
116     <example><title>Gestionnaire de cl&eacute; de chiffrement avec un fichier</title>
117       &lt;Location /key&gt;<br />
118       <indent>
119         SetHandler crypto-key<br />
120         CryptoCipher aes128<br />
121         CryptoKey file:/path/to/file.key<br />
122         AuthType basic<br />
123         ...<br />
124         </indent>
125       &lt;/Location&gt;<br />
126     </example>
127
128 </section>
129
130 <section id="hls">
131     <title>HTTP Live Streaming (HLS)</title>
132
133     <p>Le protocole HLS supporte les flux chiffr&eacute;s qui utilisent l'algorithme de
134     chiffrement AES-128 et une cl&eacute; correspondante. On autorise l'acc&egrave;s au flux
135     en partageant la cl&eacute; avec le client HLS en g&eacute;n&eacute;ral via une connexion
136     s&eacute;curis&eacute;e.</p>
137
138     <p>Le IV utilis&eacute; pour le chiffrement de chaque segment de media est sp&eacute;cifi&eacute;
139     dans HLS de deux mani&egrave;res :</p>
140
141     <ul>
142         <li>
143             Sp&eacute;cifi&eacute; explicitement via un attribut IV dans le tag EXT-X-KEY sous
144             la forme d'une valeur <strong>hexad&eacute;cimale</strong>.
145         </li>
146         <li>
147             Sp&eacute;cifi&eacute; implicitement en interpr&eacute;tant la valeur
148             <strong>d&eacute;cimale</strong> du tag EXT-X-MEDIA-SEQUENCE.
149         </li>
150     </ul>
151
152     <p>La valeur de la s&eacute;quence de media est en g&eacute;n&eacute;rale incorpor&eacute;e dans les
153     noms de segment de m&eacute;dia et peut &ecirc;tre recherch&eacute;e en utilisant des
154     expressions rationnelles nomm&eacute;es comme dans l'exemple ci-dessous.
155     </p>
156
157     <example><title>Exemple HLS - IV de la s&eacute;quence de m&eacute;dia</title>
158       &lt;LocationMatch (?&lt;SEQUENCE&gt;[\d]+)[^\d^/]+$&gt;<br />
159       <indent>
160         SetOutputFilter ENCRYPT<br />
161         CryptoCipher aes128<br />
162         CryptoKey file:/path/to/file.key<br />
163         CryptoIV decimal:%{env:MATCH_SEQUENCE}<br />
164         </indent>
165       &lt;/LocationMatch&gt;<br />
166     </example>
167
168 </section>
169
170 <directivesynopsis>
171 <name>CryptoDriver</name>
172 <description>Nom du pilote crypto &agrave; utiliser</description>
173 <syntax>CryptoDriver name</syntax>
174 <default>CryptoDriver openssl</default>
175 <contextlist><context>server config</context>
176 </contextlist>
177
178 <usage>
179     <p>La directive <directive module="mod_crypto">CryptoDriver</directive>
180     permet de sp&eacute;cifier le nom du pilote crypto &agrave; utiliser. Un pilote recommand&eacute;
181     par d&eacute;faut est en g&eacute;n&eacute;ral d&eacute;fini pour chaque plateforme. Les pilotes
182     support&eacute;s sont <strong>openssl</strong>, <strong>commoncrypto</strong> et
183     <strong>nss</strong>.</p>
184 </usage>
185 </directivesynopsis>
186
187 <directivesynopsis>
188 <name>CryptoCipher</name>
189 <description>L'algorithme de chiffrement que le filtre crypto doit utiliser</description>
190 <syntax>CryptoCipher name</syntax>
191 <default>CryptoCipher aes256</default>
192 <contextlist><context>server config</context>
193 <context>virtual host</context>
194 <context>directory</context>
195 <context>.htaccess</context>
196 </contextlist>
197
198 <usage>
199     <p>La directive <directive>CryptoCipher</directive> permet de sp&eacute;cifier
200     l'algorithme de chiffrement &agrave; utiliser au cours des phases de chiffrement et
201     de d&eacute;chiffrement. L'algorithme de chiffrement par d&eacute;faut est
202     <code>aes256</code>.</p>
203
204     <p>C'est le pilote crypto utilis&eacute; qui d&eacute;termine l'&eacute;tendue du choix des algorithmes de
205     chiffrement parmi les valeurs possibles suivantes :</p>
206
207     <ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul>
208
209 </usage>
210 </directivesynopsis>
211
212 <directivesynopsis>
213 <name>CryptoIV</name>
214 <description>Le Vecteur d'Initialisation IV (Initialisation Vector) que le
215 filtre crypto doit utiliser</description>
216 <syntax>CryptoIV value</syntax>
217 <default>CryptoIV none</default>
218 <contextlist><context>server config</context>
219 <context>virtual host</context>
220 <context>directory</context>
221 <context>.htaccess</context>
222 </contextlist>
223
224 <usage>
225     <p>La directive <directive>CryptoIV</directive> permet de sp&eacute;cifier le IV
226     (Initialisation Vector) pour l'espace d'URL consid&eacute;r&eacute;. Le IV peut &ecirc;tre lu &agrave;
227     partir d'un fichier ou d&eacute;fini via l'<a href="../expr.html">interpr&eacute;teur
228     d'expressions</a>, ce qui conf&egrave;re plus de souplesse aux sc&eacute;narios de
229     d&eacute;finition des cl&eacute;s.</p>
230
231     <p>Les valeurs possibles peuvent &ecirc;tre lues depuis un fichier ou exprim&eacute;es
232     sous une forme hexad&eacute;cimale, d&eacute;cimale ou en base64 en fonction des pr&eacute;fixes
233     suivants :</p>
234
235     <ul><li>file:</li><li>hex:</li><li>decimal:</li><li>base64:</li></ul>
236
237     <p>La valeur 'none' d&eacute;sactive la d&eacute;finition du IV. Dans ce cas, un IV
238     al&eacute;atoire sera g&eacute;n&eacute;r&eacute; durant le chiffrement et ins&eacute;r&eacute; en tant que premier
239     bloc ; au cours du d&eacute;chiffrement, le premier bloc sera interpr&eacute;t&eacute; comme bloc
240     IV.</p>
241 </usage>
242 </directivesynopsis>
243
244 <directivesynopsis>
245 <name>CryptoKey</name>
246 <description>Cl&eacute; que le filtre crypto doit utiliser</description>
247 <syntax>CryptoKey value</syntax>
248 <default>CryptoKey none</default>
249 <contextlist><context>server config</context>
250 <context>virtual host</context>
251 <context>directory</context>
252 <context>.htaccess</context>
253 </contextlist>
254
255 <usage>
256     <p>La directive <directive>CryptoKey</directive> permet de sp&eacute;cifier la cl&eacute;
257     de chiffrement/d&eacute;chiffrement pour l'espace d'URL consid&eacute;r&eacute;. La cl&eacute; peut &ecirc;tre
258     lue depuis un fichier ou d&eacute;fini via l'<a href="../expr.html">interpr&eacute;teur
259     d'expressions</a>, ce qui conf&egrave;re plus de souplesse aux sc&eacute;narios de
260     d&eacute;finition des cl&eacute;s.</p>
261
262     <p>Les valeurs possibles peuvent &ecirc;tre lues depuis un fichier ou exprim&eacute;es
263     sous une forme hexad&eacute;cimale, d&eacute;cimale ou en base64 en fonction des pr&eacute;fixes
264     suivants :</p>
265
266     <ul><li>file:</li><li>hex:</li><li>decimal:</li><li>base64:</li></ul>
267
268     <p>La valeur 'none' d&eacute;sactive la cl&eacute;. Toute requ&ecirc;te pour obtenir sans cl&eacute; un fichier
269     via les filtres ENCRYPT ou DECRYPT se soldera alors par un &eacute;chec. </p>
270 </usage>
271 </directivesynopsis>
272
273 <directivesynopsis>
274 <name>CryptoSize</name>
275 <description>Taille maximale en octets du tampon utilis&eacute; par le filtre crypto</description>
276 <syntax>CryptoSize integer</syntax>
277 <default>CryptoSize 131072</default>
278 <contextlist><context>server config</context>
279 <context>virtual host</context>
280 <context>directory</context>
281 <context>.htaccess</context>
282 </contextlist>
283
284 <usage>
285     <p>La directive <directive module="mod_crypto">CryptoSize</directive> permet
286     de sp&eacute;cifier la quantit&eacute; de donn&eacute;es en octets qui sera mise en tampon pour
287     chaque requ&ecirc;te avant d'&ecirc;tre chiffr&eacute;e ou d&eacute;chiffr&eacute;e. La valeur par d&eacute;faut est
288     128 Ko.</p>
289 </usage>
290 </directivesynopsis>
291
292 </modulesynopsis>