Skip to content
Snippets Groups Projects
Commit 0b84f351 authored by mazenovi's avatar mazenovi
Browse files

enhance ssl

parent ec81a30e
No related branches found
No related tags found
No related merge requests found
Pipeline #
content/slides/privacy/images/ssl/OCSP.png

23.2 KiB

content/slides/privacy/images/ssl/SSLv2-Handshake.png

47.9 KiB

content/slides/privacy/images/ssl/SSLv2-MIM-Handshake.png

93.6 KiB

content/slides/privacy/images/ssl/TLS-Handshake-DH.png

77.8 KiB

content/slides/privacy/images/ssl/TLS-Handshake.png

75.9 KiB

content/slides/privacy/images/ssl/TLS-MIM-Renegociation.png

131 KiB

content/slides/privacy/images/ssl/diffie-hellman-exchange.png

43.2 KiB

content/slides/privacy/images/ssl/ssl-tunnel.png

22.8 KiB

content/slides/privacy/images/ssl/tcp-ip_model_ssl-tls_protocol.png

74.9 KiB

...@@ -318,7 +318,7 @@ Révocation de certificats ...@@ -318,7 +318,7 @@ Révocation de certificats
* informer la CA * informer la CA
* la CA ajoute le certificat à sa liste de certificats révoqués * la CA ajoute le certificat à sa liste de certificats révoqués
* cette liste est signée par la CA * 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 ? * Quand que le navigateur interroge-t-il les CRL ?
...@@ -336,8 +336,11 @@ Révocation de certificats ...@@ -336,8 +336,11 @@ Révocation de certificats
* Extensions * Extensions
* paires clé / valeur * paires clé / valeur
note:
- next update parce que CRL delta
## X.509 liste de révocation (CRL) extensions ## Certificate Revocation List (CRL) extensions
* reasonCode * reasonCode
0. Unspecified 0. Unspecified
...@@ -347,71 +350,86 @@ Révocation de certificats ...@@ -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 ![OCSP](images/ssl/OCSP.png)
* 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) * peu déployé
* Interroger le répondeur OCSP pour confirmer la validité de vos certificats * si l'OCSP n'est pas disponible pour le certificat firefox accepte le certificat
* très peu déployé * s'il est valide
## SSL / TLS ## SSL / TLS
* Crée un canal de communication **authentifié**, protégé en **confidentialité** et en **intégrité** * Crée un canal de communication **authentifié**, protégé en **confidentialité** et en **intégrité**
* Utilise des certificats X509 * Utilise des certificats X.509
* délivrés par des autorités de certification * délivrés par des CA
* Utilise un système de chiffrement asymétrique * Utilise un système de chiffrement asymétrique
* pour échanger une clé symétrique * pour échanger une clé pour le chiffrement symétrique
* Protocle initialement pensé pour sécurisé HTTP * Protocole initialement pensé pour sécurisé HTTP
* étendu à d'autres services ( SMTP, LDAP, VPN, etc ...) * é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"> ![SSL/TLS in TCP/IP model](images/ssl/tcp-ip_model_ssl-tls_protocol.png)
![SSL/TLS in TCP/IP model](images/tcp-ip_model_ssl-tls_protocol.png "SSL/TLS in TCP/IP model")
</div>
* Couche intermédiaire car indépendante du protocole utilisé * 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.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.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.2** released en Août 2008, [RFC 5246](http://www.frameip.com/rfc/rfc4366.php)
## Connexion SSL/TLS (exemple : HTTPS) ## Connexion SSL/TLS (1)
1.Le serveur
Le serveur
* Envoie son certificat au client * Envoie son certificat au client
2.Le client
## Connexion SSL/TLS (2)
Le client
* Reçoit un certificat * Reçoit un certificat
* Vérifie sa validité (domaine, date, émetteur, révocation) * Vérifie sa validité (domaine, date, émetteur, révocation?)
* Génère une clé de chiffrement symétrique (secret partagée) * Génère une clé de chiffrement symétrique (**secret partagé**)
* Chiffre le secret partagée avec la clé publique du serveur * Chiffre le **secret partagé** avec la clé publique du serveur
* Envoie la clé chiffrée au serveur (ClientKeyExchange) * Envoie le **secret partagé** chiffré 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 ## 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 * Le client a authentifié le serveur
* mais le serveur n’a aucune information sur le client * mais le serveur n’a aucune information sur le client
* possibilité d'avoir un certificat côté client * possibilité d'avoir un certificat côté client
...@@ -419,28 +437,29 @@ Remarques : ...@@ -419,28 +437,29 @@ Remarques :
* Les paramètres de chiffrements * Les paramètres de chiffrements
* sont négociés et « jetables » * 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** * **Handshake**
* authentification mutuelle du client et serveur * authentification mutuelle du client et serveur
* négociation des algorithmes de chiffrement, de hachage * négociation des algorithmes de chiffrement et de hachage
* échange des clés symétriques qui assurent le chiffrement. * échange de la clé symétrique assurant le chiffrement
* **Change Cipher Spec** * **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** * **Alert**
* protocole informatif de l'état de la liaison * protocole informatif de l'état de la liaison
* **Record** * **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 ## Handshake
![SSL/TLS handshake](images/TLS-Handshake.png "SSL/TLS handshake")<!-- .element: style="float: right" --> ![SSL/TLS handshake](images/ssl/TLS-Handshake.png "SSL/TLS handshake")
## Handshake - ClientHello ## Handshake - ClientHello
...@@ -528,6 +547,7 @@ Note: ...@@ -528,6 +547,7 @@ Note:
* contiennent un condensat de tous les messages échangés * contiennent un condensat de tous les messages échangés
* intégrité de la négociation * intégrité de la négociation
* [déroulement des échanges ssl en détail](https://www.securiteinfo.com/cryptographie/ssl.shtml)
## Suite cryptographique ## Suite cryptographique
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment