diff --git a/content/slides/privacy/images/ssl/OCSP.png b/content/slides/privacy/images/ssl/OCSP.png new file mode 100644 index 0000000000000000000000000000000000000000..abd74343443bc879d3ff17231c742e27130d7787 Binary files /dev/null and b/content/slides/privacy/images/ssl/OCSP.png differ diff --git a/content/slides/privacy/images/ssl/SSLv2-Handshake.png b/content/slides/privacy/images/ssl/SSLv2-Handshake.png new file mode 100644 index 0000000000000000000000000000000000000000..2d72090b6d2d00b877469506d734da5c512dab24 Binary files /dev/null and b/content/slides/privacy/images/ssl/SSLv2-Handshake.png differ diff --git a/content/slides/privacy/images/ssl/SSLv2-MIM-Handshake.png b/content/slides/privacy/images/ssl/SSLv2-MIM-Handshake.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7776bf4ea8c246808667a4d9b58217b5fd0816 Binary files /dev/null and b/content/slides/privacy/images/ssl/SSLv2-MIM-Handshake.png differ diff --git a/content/slides/privacy/images/ssl/TLS-Handshake-DH.png b/content/slides/privacy/images/ssl/TLS-Handshake-DH.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1e645bb90f3c7dcd871b59a4e0e5cc383c512c Binary files /dev/null and b/content/slides/privacy/images/ssl/TLS-Handshake-DH.png differ diff --git a/content/slides/privacy/images/ssl/TLS-Handshake.png b/content/slides/privacy/images/ssl/TLS-Handshake.png new file mode 100644 index 0000000000000000000000000000000000000000..98bcdfb38b26eb25df68b2c839cd3c3cfaaca9be Binary files /dev/null and b/content/slides/privacy/images/ssl/TLS-Handshake.png differ diff --git a/content/slides/privacy/images/ssl/TLS-MIM-Renegociation.png b/content/slides/privacy/images/ssl/TLS-MIM-Renegociation.png new file mode 100644 index 0000000000000000000000000000000000000000..26337139282592028b13f43b57a792d389209f56 Binary files /dev/null and b/content/slides/privacy/images/ssl/TLS-MIM-Renegociation.png differ diff --git a/content/slides/privacy/images/ssl/diffie-hellman-exchange.png b/content/slides/privacy/images/ssl/diffie-hellman-exchange.png new file mode 100644 index 0000000000000000000000000000000000000000..41319b1714d86a8a84d7c7890b19025a77269177 Binary files /dev/null and b/content/slides/privacy/images/ssl/diffie-hellman-exchange.png differ diff --git a/content/slides/privacy/images/ssl/ssl-tunnel.png b/content/slides/privacy/images/ssl/ssl-tunnel.png new file mode 100644 index 0000000000000000000000000000000000000000..7c93cb37440020ea5c904c63cd20ab5826db74dc Binary files /dev/null and b/content/slides/privacy/images/ssl/ssl-tunnel.png differ diff --git a/content/slides/privacy/images/ssl/tcp-ip_model_ssl-tls_protocol.png b/content/slides/privacy/images/ssl/tcp-ip_model_ssl-tls_protocol.png new file mode 100644 index 0000000000000000000000000000000000000000..891f9c730de0c23235b1c467b8ccd363ca907271 Binary files /dev/null and b/content/slides/privacy/images/ssl/tcp-ip_model_ssl-tls_protocol.png differ diff --git a/content/slides/privacy/md/ssl.md b/content/slides/privacy/md/ssl.md index 196f12fb2c0efc244978ea1a1ef78bb41df9cff0..f3e7ca0bc57960faef38ae52c8be66113c79b630 100644 --- a/content/slides/privacy/md/ssl.md +++ b/content/slides/privacy/md/ssl.md @@ -318,7 +318,7 @@ Révocation de certificats * informer la CA * la CA ajoute le certificat à sa liste de certificats révoqués * cette liste est signée par la CA -* souvent la clé qui signe les certificats signe les CRL +* Souvent la clé qui signe les certificats signe les CRL * Quand que le navigateur interroge-t-il les CRL ? @@ -336,8 +336,11 @@ Révocation de certificats * Extensions * paires clé / valeur +note: +- next update parce que CRL delta + -## X.509 liste de révocation (CRL) extensions +## Certificate Revocation List (CRL) extensions * reasonCode 0. Unspecified @@ -347,71 +350,86 @@ Révocation de certificats ... -## Online Certificate Status Protocol (OCSP) +#### Online Certificate Status Protocol (OCSP) + +Protocole d’interrogation de validité pour un certificat -* Protocole d’interogation de la validité d’un certificat -* But : palier à la faiblesse de mise à jour des CRL par les clients - * [How can you set Firefox to, or tell if FF is always checking for certificate revocation?](https://support.mozilla.org/fr/questions/994310) - * Interroger le répondeur OCSP pour confirmer la validité de vos certificats -* très peu déployé + + +* peu déployé + * si l'OCSP n'est pas disponible pour le certificat firefox accepte le certificat + * s'il est valide ## SSL / TLS * Crée un canal de communication **authentifié**, protégé en **confidentialité** et en **intégrité** -* Utilise des certificats X509 - * délivrés par des autorités de certification +* Utilise des certificats X.509 + * délivrés par des CA * Utilise un système de chiffrement asymétrique - * pour échanger une clé symétrique -* Protocle initialement pensé pour sécurisé HTTP - * étendu à d'autres services ( SMTP, LDAP, VPN, etc ...) + * pour échanger une clé pour le chiffrement symétrique +* Protocole initialement pensé pour sécurisé HTTP + * étendu à d'autres services (SMTP, LDAP, VPN, ...) -## SSL dans le modèle TCP/IP +## TLS dans le modèle TCP/IP -<div style="text-align: center"> -  -</div> + * Couche intermédiaire car indépendante du protocole utilisé - * situé entre Transport et Application du modèle **TCP/IP** - * situé entre Transport et Présentation modèle **OSI** - * utilise la couche session pendant la négociation (cache) -#### Versions SSL (Secure Socket Layer) +## Versions SSL + +Secure Socket Layer + +* **1.0** par Netscape en 1994, pas de public release +* **2.0** par Netscape en Février 1995, [The SSL Protocol Version 2.0](http://www.frameip.com/rfc/draftxxx.php) +* **3.0** par Netscape en Novembre 1996, [The SSL Protocol Version 3.0](http://www.frameip.com/rfc/draft302.php) -* 1.0 par Netscape en 1994, pas de public release -* 2.0 par Netscape en Février 1995, (trous de sécurité) [The SSL Protocol Version 2.0](http://www.frameip.com/rfc/draftxxx.php) -* 3.0 par Netscape en Novembre 1996, [The SSL Protocol Version 3.0](http://www.frameip.com/rfc/draft302.php) +## Versions TLS -#### Versions TLS (Transport Layer Security) +Transport Layer Security -* TLS 1.0 = SSL 3.1 [IETF](http://www.ietf.org/) -* 1.0 released en janvier 1999, [RFC 2246](http://www.frameip.com/rfc/rfc2246.php) -* 1.1 released en Avril 2006, [RFC 4346](http://www.frameip.com/rfc/rfc3546.php) -* 1.2 released en Août 2008, [RFC 5246](http://www.frameip.com/rfc/rfc4366.php) +* **1.0** released en janvier 1999, [RFC 2246](http://www.frameip.com/rfc/rfc2246.php) + * **TLS 1.0** = SSL 3.1 [IETF](http://www.ietf.org/) +* **1.1** released en Avril 2006, [RFC 4346](http://www.frameip.com/rfc/rfc3546.php) +* **1.2** released en Août 2008, [RFC 5246](http://www.frameip.com/rfc/rfc4366.php) -## Connexion SSL/TLS (exemple : HTTPS) -1.Le serveur +## Connexion SSL/TLS (1) + +Le serveur + * Envoie son certificat au client -2.Le client + + +## Connexion SSL/TLS (2) + +Le client + * Reçoit un certificat - * Vérifie sa validité (domaine, date, émetteur, révocation) - * Génère une clé de chiffrement symétrique (secret partagée) - * Chiffre le secret partagée avec la clé publique du serveur - * Envoie la clé chiffrée au serveur (ClientKeyExchange) -3.Le serveur - * Reçoit la clé partagée chiffrée générée par le client - * Déchiffre la clé partagée avec sa clé privée + * Vérifie sa validité (domaine, date, émetteur, révocation?) + * Génère une clé de chiffrement symétrique (**secret partagé**) + * Chiffre le **secret partagé** avec la clé publique du serveur + * Envoie le **secret partagé** chiffré au serveur (ClientKeyExchange) + + +## Connexion SSL/TLS (3) + +Le serveur + + * Reçoit le **secret partagé** chiffré généré par le client + * Déchiffre le **secret partagé** avec sa clé privée -La suite de la communication est chiffrée symétriquement +<br> +#### La suite de la communication est chiffrée symétriquement + + +## Connexion SSL/TLS -## Connexion SSL/TLS (exemple : HTTPS) -Remarques : * Le client a authentifié le serveur * mais le serveur n’a aucune information sur le client * possibilité d'avoir un certificat côté client @@ -419,28 +437,29 @@ Remarques : * Les paramètres de chiffrements * sont négociés et « jetables » -[slide55] mais reprendre les miens -détaillé les étapes - -## 4 sous-protocoles - -* [déroulement des échanges ssl](https://www.securiteinfo.com/cryptographie/ssl.shtml) +#### 4 sous-protocoles +<small> * **Handshake** * authentification mutuelle du client et serveur - * négociation des algorithmes de chiffrement, de hachage - * échange des clés symétriques qui assurent le chiffrement. + * négociation des algorithmes de chiffrement et de hachage + * échange de la clé symétrique assurant le chiffrement * **Change Cipher Spec** - * validation de la négociation préalable, vérifie ques deux partis se sont bien accordés quat à la clé maîtresse, aux algorithmes à employer + * validation de la négociation préalable + * vérifie que deux partis se sont bien accordés quant à la clé maîtresse et aux algorithmes à employer * **Alert** * protocole informatif de l'état de la liaison * **Record** - * protocole d'acheminement des données de la communication. Ce protocole peut encapsuler tout autre protocole et le rend ainsi sécurisé + * protocole d'acheminement des données de la communication + * ce protocole peut encapsuler tout protocole + * le rend ainsi sécurisé + +</small> ## Handshake -<!-- .element: style="float: right" --> + ## Handshake - ClientHello @@ -528,6 +547,7 @@ Note: * contiennent un condensat de tous les messages échangés * intégrité de la négociation +* [déroulement des échanges ssl en détail](https://www.securiteinfo.com/cryptographie/ssl.shtml) ## Suite cryptographique