La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cryptographie – Les couches réseau Apache - TLS/SSL

Présentations similaires


Présentation au sujet: "Cryptographie – Les couches réseau Apache - TLS/SSL"— Transcription de la présentation:

1 Cryptographie – Les couches réseau Apache - TLS/SSL

2 Plan TLS/SSL EAP/TLS Apache / SSL – Mise en oeuvre

3 TLS Transport Layer Security anciennement SSL (Secure Socket Layer)
développé à l'origine par Netscape (SSL v 2 et SSL v 3). Renommé en Transport Layer Security (TLS) par l'IETF suite au rachat du brevet de Netscape par l'IETF en 2001. RFC 2246 pour le TLS RFC 4347 pour son équivalent en mode datagramme, le DTLS.

4 TLS - Suite SSL v 3 et TLS v 1 sont très peu différents (TLSi correspond à la version 3.1 du protocole SSL) rendant les deux protocoles non inter- opérables, TLS : mécanisme de comptatibilité ascendante avec SSL a mis en place un mécanisme de compatibilité ascendante avec SSL. En outre, TLS diffère de SSL pour la génération des clés symétriques (plus de MD5) Par abus de langage, on parle de SSL pour désigner indifféremment SSL ou TLS.

5 TLS – 3 fonctionne en mode client-serveur. assure :
l'authentification du serveur ; la confidentialité des données échangées (ou session chiffrée) ; l'intégrité des données échangées ; de manière optionnelle, l'authentification ou l'authentification forte du client avec l'utilisation d'un certificat numérique.

6 TLS – 4 fonctionne au niveau 5 OSI (session)
peut être utilisée pour HTTP, FTP, SMTP, NNTP, ... utilisée surtout pour HTTP (HTTPS port 443) peut être également utilisée pour mettre en place un tunnel pour VPN (Open VPN, ...) passage facile des pare-feu et permet la NAT

7 Fonctionnement : SSL Handshake protocol: avant de communiquer, les 2 programmes SSL négocient des clés et des protocoles de chiffrement communs. SSL Record protocol: Une fois négociés, ils chiffrent toutes les informations échangées et effectuent divers contrôles.

8 La négociation SSL - handshake
Au début de la communication le client et le serveur s'échangent: la version SSL avec laquelle ils veulent travailler, la liste des méthodes de chiffrement (symétrique et asymétrique) et de signature que chacun connaît (avec longueurs de clés), les méthodes de compression que chacun connaît, des nombres aléatoires, les certificats.

9 La négociation SSL - suite
Client et serveur essaient d'utiliser le protocole de chiffrement le plus puissant et diminuent jusqu'à trouver un protocole commun aux deux. Une fois que cela est fait, ils peuvent commencer à échanger des données.

10 La communication SSL - Record
Avec SSL, l'expéditeur des données: découpe les données en paquets, compresse les données, signe cryptographiquement les données, chiffre les données, les envoie. Celui qui réceptionne les données: déchiffre les données, vérifie la signature des données, décompresse les données, réassemble les paquets de données.

11 SSL utilise: un système de chiffrement asymétriques (comme RSA ou Diffie-Hellman) utilisé pour générer la master key (clé principale) qui permettra de générer des clés de session. un système de chiffrement symétrique (DES, 3DES, AES, IDEA, RC4...) en utilisant les clés de session pour chiffrer les données. un système de signature cryptographique des messages (HMAC, utilisant MD5, SHA...) pour s'assurer que les messages ne sont pas corrompus.

12 OpenSSL mise en oeuvre open-source d'outils (bibliothèques et commandes) depuis 1998 utilise la bibliothèque cryptographique SSLeay utilisée par de nombreuses applications: openssh, apache+mod_ssl, postfix/tls, idx-pki, openvpn,... interface de programmation en C,

13 Apache SSL -1 paquetages nécessaires : openssl
création du certificat auto-signé : openssl req -x509 -nodes -days 365 -newkey rsa: out /etc/apache2/ssl/server.crt -keyout /etc/apache2/ssl/server.key

14 Apache – SSL - 2 configuration Apache
activer le module SSL : a2enmod ssl

15 Apache – SSL -3 fichier /etc/apache2/apache2.conf
NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin SSLEngine On SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost> ne pas oublier apache2ctl restart

16 Apache – SSL Mise en oeuvre
De nombreux howto existent Ubuntu-fr.org

17 fichier /etc/apache2/sites-available/default-ssl
NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin SSLEngine On


Télécharger ppt "Cryptographie – Les couches réseau Apache - TLS/SSL"

Présentations similaires


Annonces Google