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

enhance ssl

parent ec81a30e
Branches
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.
Please register or to comment