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

enhance ssl

parent 43100586
No related branches found
No related tags found
No related merge requests found
...@@ -85,7 +85,7 @@ Informations ou contraintes d'utilisation ...@@ -85,7 +85,7 @@ Informations ou contraintes d'utilisation
* **iPAddress** * **iPAddress**
## générer une clé RSA ## Générer une clé RSA
```bash ```bash
$ openssl genrsa -out ca.key 4096 $ openssl genrsa -out ca.key 4096
...@@ -101,7 +101,7 @@ $ openssl rsa -in ca.key -pubout ...@@ -101,7 +101,7 @@ $ openssl rsa -in ca.key -pubout
* Permet d'extraire la partie publique uniquement * Permet d'extraire la partie publique uniquement
## générer un certificat ## Générer un certificat
```bash ```bash
$ openssl req -new -x509 -days 1826 \ $ openssl req -new -x509 -days 1826 \
...@@ -126,7 +126,7 @@ BAMMC2V4YW1wbGUuY29tMB4XDTE3MTAzMTExMzEzNFoXDTE3MTEzMDExMzEzNFow ...@@ -126,7 +126,7 @@ BAMMC2V4YW1wbGUuY29tMB4XDTE3MTAzMTExMzEzNFoXDTE3MTEzMDExMzEzNFow
* Rejeté par défaut par les navigateurs * Rejeté par défaut par les navigateurs
#### faire parler un certificat #### Faire parler un certificat
local local
...@@ -149,14 +149,14 @@ $ openssl x509 -purpose -in ca.crt -inform PEM ...@@ -149,14 +149,14 @@ $ openssl x509 -purpose -in ca.crt -inform PEM
``` ```
## faire parler un certificat ## Faire parler un certificat
![Check CERT Firfox](images/ssl/check-cert-ff.png) ![Check CERT Firfox](images/ssl/check-cert-ff.png)
* Avec son navigateur en cliquant sur le cadenas * Avec son navigateur en cliquant sur le cadenas
## faire parler un certificat ## Faire parler un certificat
![Check CERT Firfox](images/ssl/check-cert-ff2.png) ![Check CERT Firfox](images/ssl/check-cert-ff2.png)
...@@ -176,27 +176,32 @@ $ openssl x509 -purpose -in ca.crt -inform PEM ...@@ -176,27 +176,32 @@ $ openssl x509 -purpose -in ca.crt -inform PEM
* CA de confiance * CA de confiance
* importées par défaut dans le navigateur * importées par défaut dans le navigateur
* Tout supprimer? * Tout supprimer?
* Etre importée dans les navigateurs * Etre importée dans les navigateurs
* payer (le navigateur) * payer (le navigateur)
## CA racine ## Known good signers
![Known good signers](images/ssl/known-good-signers.png)
https://fr.wikipedia.org/wiki/Certificat_racine
## [Root CA](https://fr.wikipedia.org/wiki/Certificat_racine)
Certificat racine
* clés publiques non signées, ou auto-signées * clés publiques non signées, ou auto-signées
* sur lesquelles repose la confiance * le sommet de la pyramide de confiance
* Un certificat est rarement signé par une CA racine
* La CA racine créée plusieurs CA intermédiaires
* sous scellés / déconnectés / sortis (autre CA)
* auto signé
* Les logiciels, comme les navigateurs web ou les clients de messagerie détiennent des certificats racines de nombreuses autorités de certification commerciales ou gouvernementales. Quand un navigateur ouvre une connexion sécurisée (TLS/SSL) vers un site possédant un certificat émis par une autorité connue, il considère le site comme sûr dans la mesure où le chemin de certification est validé. Le passage en mode sécurisé est alors transparent.
## Chain of trust
## Chaînes de certification Chaînes de certification
* Un certificat est rarement signé par une CA racine
* La CA racine créé plusieurs CA intermédiaires
* sous scellé / déconnecté / sorti pour générer
* auto signé
* Les CA intermédiaires signent * Les CA intermédiaires signent
* les certificats des clients * les certificats des clients
* d'autres CA intermédiaires * d'autres CA intermédiaires
...@@ -204,24 +209,23 @@ https://fr.wikipedia.org/wiki/Certificat_racine ...@@ -204,24 +209,23 @@ https://fr.wikipedia.org/wiki/Certificat_racine
* au cas où l'intermédiaire ne soit pas dans le navigateur * au cas où l'intermédiaire ne soit pas dans le navigateur
## Known good signers ## CA connues
![Known good signers](images/ssl/known-good-signers.png) * [digicert](https://www.digicert.com/)
* [verisign](https://www.websecurity.symantec.com/fr/fr/ssl-certificate)
* [Comodo](https://www.comodo.com/)
## X.509 Autorité de certificaiton (CA) gratuites * Gratuites
* [StartSSL free](https://www.startcomca.com/index/support?v=1)
* [CAcert](http://www.cacert.org/) (not known good signers)
* [Let's Encrypt](https://letsencrypt.org/) fondé par l'[EFF](https://www.eff.org/fr) et [Mozilla](https://www.mozilla.org/fr/)
* [StartSSL free](https://www.startcomca.com/index/support?v=1)
* [CAcert](http://www.cacert.org/) (not known good signers)
* [Let's Encrypt](https://letsencrypt.org/) de fondé par l'[EFF](https://www.eff.org/fr) et [Mozilla](https://www.mozilla.org/fr/)
## CA & Firefox
## Certificate Authority (CA)
![Warning](images/ssl/https-ff.png) ![Warning](images/ssl/https-ff.png)
## Certificate Authority (CA) ## CA & Chrome
![Warning](images/ssl/https-chrome.png) ![Warning](images/ssl/https-chrome.png)
...@@ -261,7 +265,7 @@ $ openssl req -text -noout -verify -in user.csr ...@@ -261,7 +265,7 @@ $ openssl req -text -noout -verify -in user.csr
* Vérifier le CSR * Vérifier le CSR
### Création d'un certfificat à partir d'un CSR ### Création d'un certificat à partir d'un CSR
```bash ```bash
$ openssl x509 -req -days 365 \ $ openssl x509 -req -days 365 \
...@@ -280,7 +284,7 @@ note: ...@@ -280,7 +284,7 @@ note:
- https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs - https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs
## X.509 vérification de la signature ## Vérification de la signature
```bash ```bash
$ openssl verify -CAfile ca.crt user.crt $ openssl verify -CAfile ca.crt user.crt
...@@ -305,19 +309,20 @@ note: ...@@ -305,19 +309,20 @@ note:
- https://stackoverflow.com/questions/25482199/verify-a-certificate-chain-using-openssl-verify - https://stackoverflow.com/questions/25482199/verify-a-certificate-chain-using-openssl-verify
#### Certificate Revocation List (CRL)
Révocation de certificats
## X.509 Révocation de certificats * Contient une liste de certificats valides à révoquer
* Certificate Revocation List (CRL) * utile en cas de compromission / décommissionnement
* contient une liste de certifact valide à révoquer * informer la CA
Mécanisme nécessaire en cas de compromission / décommissionnement * la CA ajoute le certificat à sa liste de certificats révoqués
▶ On informe la CA * cette liste est signée par la CA
▶ La CA ajoute le certificat a sa liste de certificats révoqués * souvent la clé qui signe les certificats signe les CRL
▶ Cette liste est signée par la CA * Quand que le navigateur interroge-t-il les CRL ?
* Habituellement c’est la même clé qui signe les certificats et les CRL
* Quand-est-ce que le navigateur l’actualise ?
## X.509 liste de révocation (CRL) #### Certificate Revocation List (CRL)
* Serial * Serial
* Algorithme de signature de la CRL * Algorithme de signature de la CRL
......
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