1
0
mirror of https://github.com/apache/httpd.git synced 2025-10-28 20:34:59 +03:00
Files
apache/docs/manual/mod/mod_crypto.html.fr
2018-01-04 10:58:20 +00:00

319 lines
20 KiB
Plaintext
Raw Blame History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_crypto - Serveur Apache HTTP Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_crypto</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_crypto.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_crypto.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support du chiffrement/d<>chiffrement sym<79>trique</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur<75>de<64>Module:</a></th><td>crypto_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier<65>Source:</a></th><td>mod_crypto.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilit<69>:</a></th><td>Disponible <20> partir de la version 2.5 du serveur HTTP Apache</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet de <strong>chiffrer et d<>chiffrer</strong> les donn<6E>es au
niveau des piles de filtrage en entr<74>e et en sortie.</p>
<p>En particulier, il permet d'effectuer un <strong>chiffrement HLS <20> la
vol<6F>e</strong> comme d<>crit dans le document <a href="http://www.ietf.org/id/draft-pantos-http-live-streaming-19.txt">draft-pantos-http-live-streaming-19</a>.</p>
<p>Mais il peut aussi assurer la livraison s<>curis<69>e de donn<6E>es via un CDN
non s<>curis<69> aux clients qui le supportent.</p>
<p>Selon les besoins, on peut ajouter le filtre crypto <20> la pile de filtrage
en entr<74>e ou en sortie via les directives <code class="directive"><a href="../mod/core.html#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="../mod/core.html#setoutputfilter">SetOutputFilter</a></code>, <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code> ou <code class="directive"><a href="../mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#format">Format du flux de donn<6E>es</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#config">Cl<43>s et blocs IV</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#handler">Gestionnaire de cl<63> de chiffrement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#hls">HTTP Live Streaming (HLS)</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#cryptocipher">CryptoCipher</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cryptodriver">CryptoDriver</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cryptoiv">CryptoIV</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cryptokey">CryptoKey</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cryptosize">CryptoSize</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_crypto">Probl<62>mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_crypto">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><a href="../filter.html">Filtres</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="format" id="format">Format du flux de donn<6E>es</a></h2>
<p>Le flux de donn<6E>es chiffr<66>es comporte un bloc IV optionnel suivi des
donn<6E>es chiffr<66>es avec l'algorithme de chiffrement choisi. Le bloc final est
<20>ventuellement compl<70>t<EFBFBD> par bourrage avant d'<27>tre <20>crit. La taille des blocs
est d<>termin<69>e par l'algorithme de chiffrement choisi.</p>
<p>Lorsque le bloc IV est sp<73>cifi<66> via la directive <code class="directive"><a href="#cryptoiv">CryptoIV</a></code>, il est utilis<69>, mais n'est pas
inject<63> dans le flux d'entr<74>e/sortie.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="config" id="config">Cl<43>s et blocs IV</a></h2>
<p>Les directives <code class="directive"><a href="#cryptokey">CryptoKey</a></code> et
<code class="directive"><a href="#cryptoiv">CryptoIV</a></code> acceptent comme
arguments des valeurs binaires qui peuvent <20>tre sp<73>cifi<66>es comme indiqu<71>
ci-apr<70>s. Les bits les plus significatifs de ces valeurs sont utilis<69>s, et
si les valeurs sont trop petites, elles sont compl<70>t<EFBFBD>es par bourrage avec
des bits <20> 0 par la gauche.
</p>
<dl>
<dt>file:</dt><dd>La valeur est lue directement depuis le fichier sp<73>cifi<66>.</dd>
<dt>hex:</dt><dd>Interpr<70>te l'expression en tant que valeur hexad<61>cimale qui
peut contenir des caract<63>res ':' comme s<>parateurs.</dd>
<dt>decimal:</dt><dd>Interpr<70>te l'expression en tant que valeur d<>cimale.</dd>
<dt>base64:</dt><dd>Interpr<70>te l'expression en tant que valeur cod<6F>e en
base64.</dd>
<dt>none</dt><dd>Aucune valeur n'est sp<73>cifi<66>e.</dd>
</dl>
<p>Si le IV n'est pas sp<73>cifi<66>, un IV al<61>atoire sera g<>n<EFBFBD>r<EFBFBD> au cours du
chiffrement et <20>crit comme premier bloc. Lors du d<>chiffrement, le premier
bloc sera interpr<70>t<EFBFBD> en tant que IV.
</p>
<p>A l'exception du format file:, les directives <code class="directive"><a href="#cryptokey">CryptoKey</a></code> et <code class="directive"><a href="#cryptoiv">CryptoIV</a></code> supportent la <a href="../expr.html">syntaxe des expressions</a> qui fournit plus de
flexibilit<69> pour d<>finir les valeurs. Les cl<63>s et IVs peuvent ainsi <20>tre
initialis<69>es al<61>atoirement via des valeurs disponibles au niveau du serveur
web comme REMOTE_USER ou l'URL.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="handler" id="handler">Gestionnaire de cl<63> de chiffrement</a></h2>
<p>Le gestionnaire <strong>crypto-key</strong> permet de fournir la cl<63> aux
clients autoris<69>s qui le supportent sans avoir <20> stocker cette derni<6E>re dans
l'arborescence du serveur web. La m<>me <a href="../expr.html">syntaxe
d'expression</a> peut ainsi <20>tre utilis<69>e afin d'obtenir la cl<63> pour les
clients et pour le contenu chiffr<66>.</p>
<div class="example"><h3>Gestionnaire de cl<63> de chiffrement avec un fichier</h3><p><code>
&lt;Location /key&gt;<br />
<span class="indent">
SetHandler crypto-key<br />
CryptoCipher aes128<br />
CryptoKey file:/path/to/file.key<br />
AuthType basic<br />
...<br />
</span>
&lt;/Location&gt;<br />
</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="hls" id="hls">HTTP Live Streaming (HLS)</a></h2>
<p>Le protocole HLS supporte les flux chiffr<66>s qui utilisent l'algorithme de
chiffrement AES-128 et une cl<63> correspondante. On autorise l'acc<63>s au flux
en partageant la cl<63> avec le client HLS en g<>n<EFBFBD>ral via une connexion
s<>curis<69>e.</p>
<p>Le IV utilis<69> pour le chiffrement de chaque segment de media est sp<73>cifi<66>
dans HLS de deux mani<6E>res :</p>
<ul>
<li>
Sp<53>cifi<66> explicitement via un attribut IV dans le tag EXT-X-KEY sous
la forme d'une valeur <strong>hexad<61>cimale</strong>.
</li>
<li>
Sp<53>cifi<66> implicitement en interpr<70>tant la valeur
<strong>d<>cimale</strong> du tag EXT-X-MEDIA-SEQUENCE.
</li>
</ul>
<p>La valeur de la s<>quence de media est en g<>n<EFBFBD>rale incorpor<6F>e dans les
noms de segment de m<>dia et peut <20>tre recherch<63>e en utilisant des
expressions rationnelles nomm<6D>es comme dans l'exemple ci-dessous.
</p>
<div class="example"><h3>Exemple HLS - IV de la s<>quence de m<>dia</h3><p><code>
&lt;LocationMatch (?&lt;SEQUENCE&gt;[\d]+)[^\d^/]+$&gt;<br />
<span class="indent">
SetOutputFilter ENCRYPT<br />
CryptoCipher aes128<br />
CryptoKey file:/path/to/file.key<br />
CryptoIV decimal:%{env:MATCH_SEQUENCE}<br />
</span>
&lt;/LocationMatch&gt;<br />
</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cryptocipher" id="cryptocipher">Directive</a> <a name="CryptoCipher" id="CryptoCipher">CryptoCipher</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme de chiffrement que le filtre crypto doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoCipher name</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>CryptoCipher aes256</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r<>pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
<p>La directive <code class="directive">CryptoCipher</code> permet de sp<73>cifier
l'algorithme de chiffrement <20> utiliser au cours des phases de chiffrement et
de d<>chiffrement. L'algorithme de chiffrement par d<>faut est
<code>aes256</code>.</p>
<p>C'est le pilote crypto utilis<69> qui d<>termine l'<27>tendue du choix des algorithmes de
chiffrement parmi les valeurs possibles suivantes :</p>
<ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cryptodriver" id="cryptodriver">Directive</a> <a name="CryptoDriver" id="CryptoDriver">CryptoDriver</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du pilote crypto <20> utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoDriver name</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>CryptoDriver openssl</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
<p>La directive <code class="directive"><a href="#cryptodriver">CryptoDriver</a></code>
permet de sp<73>cifier le nom du pilote crypto <20> utiliser. Un pilote recommand<6E>
par d<>faut est en g<>n<EFBFBD>ral d<>fini pour chaque plateforme. Les pilotes
support<72>s sont <strong>openssl</strong>, <strong>commoncrypto</strong> et
<strong>nss</strong>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cryptoiv" id="cryptoiv">Directive</a> <a name="CryptoIV" id="CryptoIV">CryptoIV</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le Vecteur d'Initialisation IV (Initialisation Vector) que le
filtre crypto doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoIV value</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>CryptoIV none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r<>pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
<p>La directive <code class="directive">CryptoIV</code> permet de sp<73>cifier le IV
(Initialisation Vector) pour l'espace d'URL consid<69>r<EFBFBD>. Le IV peut <20>tre lu <20>
partir d'un fichier ou d<>fini via l'<a href="../expr.html">interpr<70>teur
d'expressions</a>, ce qui conf<6E>re plus de souplesse aux sc<73>narios de
d<>finition des cl<63>s.</p>
<p>Les valeurs possibles peuvent <20>tre lues depuis un fichier ou exprim<69>es
sous une forme hexad<61>cimale, d<>cimale ou en base64 en fonction des pr<70>fixes
suivants :</p>
<ul><li>file:</li><li>hex:</li><li>decimal:</li><li>base64:</li></ul>
<p>La valeur 'none' d<>sactive la d<>finition du IV. Dans ce cas, un IV
al<61>atoire sera g<>n<EFBFBD>r<EFBFBD> durant le chiffrement et ins<6E>r<EFBFBD> en tant que premier
bloc ; au cours du d<>chiffrement, le premier bloc sera interpr<70>t<EFBFBD> comme bloc
IV.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cryptokey" id="cryptokey">Directive</a> <a name="CryptoKey" id="CryptoKey">CryptoKey</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Cl<43> que le filtre crypto doit utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoKey value</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>CryptoKey none</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r<>pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
<p>La directive <code class="directive">CryptoKey</code> permet de sp<73>cifier la cl<63>
de chiffrement/d<>chiffrement pour l'espace d'URL consid<69>r<EFBFBD>. La cl<63> peut <20>tre
lue depuis un fichier ou d<>fini via l'<a href="../expr.html">interpr<70>teur
d'expressions</a>, ce qui conf<6E>re plus de souplesse aux sc<73>narios de
d<>finition des cl<63>s.</p>
<p>Les valeurs possibles peuvent <20>tre lues depuis un fichier ou exprim<69>es
sous une forme hexad<61>cimale, d<>cimale ou en base64 en fonction des pr<70>fixes
suivants :</p>
<ul><li>file:</li><li>hex:</li><li>decimal:</li><li>base64:</li></ul>
<p>La valeur 'none' d<>sactive la cl<63>. Toute requ<71>te pour obtenir sans cl<63> un fichier
via les filtres ENCRYPT ou DECRYPT se soldera alors par un <20>chec. </p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="cryptosize" id="cryptosize">Directive</a> <a name="CryptoSize" id="CryptoSize">CryptoSize</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Taille maximale en octets du tampon utilis<69> par le filtre crypto</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CryptoSize integer</code></td></tr>
<tr><th><a href="directive-dict.html#Default">D<>faut:</a></th><td><code>CryptoSize 131072</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r<>pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_crypto</td></tr>
</table>
<p>La directive <code class="directive"><a href="#cryptosize">CryptoSize</a></code> permet
de sp<73>cifier la quantit<69> de donn<6E>es en octets qui sera mise en tampon pour
chaque requ<71>te avant d'<27>tre chiffr<66>e ou d<>chiffr<66>e. La valeur par d<>faut est
128 Ko.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_crypto.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_crypto.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a></p>
</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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_crypto.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autoris<69> sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>