Commit ec81a30e authored by mazenovi's avatar mazenovi
Browse files

enhance ssl

parent 43100586
......@@ -85,7 +85,7 @@ Informations ou contraintes d'utilisation
* **iPAddress**
## générer une clé RSA
## Générer une clé RSA
```bash
$ openssl genrsa -out ca.key 4096
......@@ -101,7 +101,7 @@ $ openssl rsa -in ca.key -pubout
* Permet d'extraire la partie publique uniquement
## générer un certificat
## Générer un certificat
```bash
$ openssl req -new -x509 -days 1826 \
......@@ -126,7 +126,7 @@ BAMMC2V4YW1wbGUuY29tMB4XDTE3MTAzMTExMzEzNFoXDTE3MTEzMDExMzEzNFow
* Rejeté par défaut par les navigateurs
#### faire parler un certificat
#### Faire parler un certificat
local
......@@ -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)
* 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)
......@@ -176,27 +176,32 @@ $ openssl x509 -purpose -in ca.crt -inform PEM
* CA de confiance
* importées par défaut dans le navigateur
* Tout supprimer?
* Etre importée dans les navigateurs
* payer (le navigateur)
* Tout supprimer?
* Etre importée dans les navigateurs
* 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
* 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 certificats des clients
* d'autres CA intermédiaires
......@@ -204,24 +209,23 @@ https://fr.wikipedia.org/wiki/Certificat_racine
* 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)
## X.509 Autorité de certificaiton (CA) gratuites
* [digicert](https://www.digicert.com/)
* [verisign](https://www.websecurity.symantec.com/fr/fr/ssl-certificate)
* [Comodo](https://www.comodo.com/)
* 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/)
## Certificate Authority (CA)
## CA & Firefox
![Warning](images/ssl/https-ff.png)
## Certificate Authority (CA)
## CA & Chrome
![Warning](images/ssl/https-chrome.png)
......@@ -261,7 +265,7 @@ $ openssl req -text -noout -verify -in user.csr
* Vérifier le CSR
### Création d'un certfificat à partir d'un CSR
### Création d'un certificat à partir d'un CSR
```bash
$ openssl x509 -req -days 365 \
......@@ -280,7 +284,7 @@ note:
- 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
$ openssl verify -CAfile ca.crt user.crt
......@@ -305,19 +309,20 @@ note:
- 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
* Certificate Revocation List (CRL)
* contient une liste de certifact valide à révoquer
Mécanisme nécessaire en cas de compromission / décommissionnement
▶ On informe la CA
▶ La CA ajoute le certificat a sa liste de certificats révoqués
▶ Cette liste est signée par la CA
* Habituellement c’est la même clé qui signe les certificats et les CRL
* Quand-est-ce que le navigateur l’actualise ?
* Contient une liste de certificats valides à révoquer
* utile en cas de compromission / décommissionnement
* 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
* Quand que le navigateur interroge-t-il les CRL ?
## X.509 liste de révocation (CRL)
#### Certificate Revocation List (CRL)
* Serial
* Algorithme de signature de la CRL
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment