« PKI familiale » : différence entre les versions
mAucun résumé des modifications |
|||
Ligne 1 : | Ligne 1 : | ||
On créera une PKI (Private key infrastructure) qui ne sera légitime que pour nous et ceux qui ont confiance en nous! | On créera une PKI (Private key infrastructure) qui ne sera légitime que pour nous et ceux qui ont confiance en nous! | ||
Cette PKI utilisera des certivicats standards à la norme [[Les certificats X.509|X.509]]. | |||
== La certificat "racine" CA == | == La certificat "racine" CA == | ||
Sur une [[machine sécurisée]] on va créer les fichiers nécessaires. | Sur une [[machine sécurisée]] on va créer les fichiers nécessaires. | ||
On crée un répertoire sécurisé ~/mypki | |||
Dans ce répertoire on va créer la clé privée. On fait le travail en deux temps :<syntaxhighlight lang="bash"> | |||
openssl rand -out .randRootCA 8192 # Un fichier contenant 8192 octets au hasard | |||
# OU BIEN | |||
dd if=/dev/random of=.randRootCA bs=1 count=8192 # Fait la même chose mais on a dit qu'on utilisait openssl | |||
</syntaxhighlight>On crée un fichier contenant 8192 octets de façon aléatoire. Je n'ai pas d'opinion sur la meilleure méthode. (je penses même qu'en fin de compte ça fait la même chose) | |||
Ensuite on crée la clé privée en utilisant le "hasard" de ce fichier. | |||
On passe par ce fichier car, dans certains cas, l'ordinateur sur lequel on générera la clé n'a pas "l'entropie" pour faire de réels nombres aléatoires. Le fichier poura alors être généré sur une machine plus puissante et envoyé a notre machine sécurisée. | |||
Pour créer la clé RSA deux possibilités. | |||
* Créer une clé chiffrée | |||
* Créer un clé "en clair" | |||
Si ma machine qui l'héberge est suffisamment sécurisée et si la clé restera sur cette machine il devient inutile de la chiffre (ou alors on est très parano) en revanche dans le cas ou on est plusieurs à l'utiliser ça peut avoir un sens.<syntaxhighlight lang="bash"> | |||
openssl genrsa -out rootca.key -rand .randRootCA # Sans chiffrement | |||
openssl genrsa -out rootca.key -rand .randRootCA -aes256 2048 # avec chiffrement | |||
</syntaxhighlight>Dans le second cas on nous demande la clé (deux fois) | |||
{| class="wikitable" | |||
|REMARQUE[[Fichier:Attention.png|gauche|57x57px|sans_cadre]]J'utilise une clé de 2048 bit de long. Rien ne nous empêche de faire plus (4096, 8192 on choisit des puissances de 2) mais les performances en seront entachées et certains pays l'interdisent. Dans tous les cas il FAUT garder cette clé à disposition de la justice pour rester dans la loi française (en 2023). Pour d'autres législation où plus tard en France.... se référer à la loi. | |||
|} | |||
Si la clé à été crée chiffrée un simple cat ne nous la montre que chiffrée:<syntaxhighlight lang="pem"> | |||
-----BEGIN RSA PRIVATE KEY----- | |||
Proc-Type: 4,ENCRYPTED | |||
DEK-Info: AES-256-CBC,139BD1B207E1FCBE4B53B0A8EBE03897 | |||
zfV6RP37mezCdp4OJXo0wMLcd66cBc5l2D5O3K5GMKd+TzYIxSadE8DgLptxAwTc | |||
nAPrDkjecbRvcSaUZtNYzexU2bO/gbAtJngbe4FuhSEtFvuMBJEdj7Q6eSJWgDLP | |||
. | |||
. | |||
l/1plgmnP1APIxpXpQgGqMNeDHfy/4Nb8+kZFeU7Au8r5nGrKHpVjpn1FgTJ9BlI | |||
slxs/5dHWPxWQGXWe9mLwuSKZu3Y23zolQtzVcilUMhNreFFER8E+3kZk3oAKm+C | |||
-----END RSA PRIVATE KEY----- | |||
</syntaxhighlight>pour l'avoir en clair (et tester sa passphrase) on doit utiliser :<syntaxhighlight lang="bash"> | |||
openssl rsa -in rootca.key -check | |||
</syntaxhighlight>Qui nous demande la passphrase et ensuite seulement nous affiche la clé déchiffrée<syntaxhighlight lang="pem"> | |||
-----BEGIN RSA PRIVATE KEY----- | |||
MIIEpQIBAAKCAQEAvcP/ROuhziRbVM+edsULTMgyJd1zf13TK54P5vVCK7wa0Hkd | |||
qhIjvqplgkYbUOlZsFykvhC+pIvIK3Jxf3+ImHfW2OfaP9oSyjdahrifH0OnIb44 | |||
21QY9B18HZWhWbDCJDbjGSisiPW44GRL6w/+3bDADhbA1OQs3wt20O/llh+cz6Kd | |||
. | |||
. | |||
c+ffGLgFAoGAbihtvPuom18KzqFx2DMx3AYsivm6oXm0d6CU+fdnpvC8Tc8T8pTh | |||
eQBxB7EzppSpIIeSvvb3ZDL4I4LUasXb7xpyCcC0R1gSVPC9ZQDFrJk9YRZrpdCA | |||
gJ4hyiPF8/nYMTJjds9F0sJG81ZWrfh451hmHBHgBGLAjZCuQ+tSdYY= | |||
-----END RSA PRIVATE KEY----- | |||
</syntaxhighlight>Nous avons notre clé "maitre". |
Version du 3 novembre 2023 à 20:15
On créera une PKI (Private key infrastructure) qui ne sera légitime que pour nous et ceux qui ont confiance en nous!
Cette PKI utilisera des certivicats standards à la norme X.509.
La certificat "racine" CA
Sur une machine sécurisée on va créer les fichiers nécessaires.
On crée un répertoire sécurisé ~/mypki
Dans ce répertoire on va créer la clé privée. On fait le travail en deux temps :
openssl rand -out .randRootCA 8192 # Un fichier contenant 8192 octets au hasard
# OU BIEN
dd if=/dev/random of=.randRootCA bs=1 count=8192 # Fait la même chose mais on a dit qu'on utilisait openssl
On crée un fichier contenant 8192 octets de façon aléatoire. Je n'ai pas d'opinion sur la meilleure méthode. (je penses même qu'en fin de compte ça fait la même chose)
Ensuite on crée la clé privée en utilisant le "hasard" de ce fichier.
On passe par ce fichier car, dans certains cas, l'ordinateur sur lequel on générera la clé n'a pas "l'entropie" pour faire de réels nombres aléatoires. Le fichier poura alors être généré sur une machine plus puissante et envoyé a notre machine sécurisée.
Pour créer la clé RSA deux possibilités.
- Créer une clé chiffrée
- Créer un clé "en clair"
Si ma machine qui l'héberge est suffisamment sécurisée et si la clé restera sur cette machine il devient inutile de la chiffre (ou alors on est très parano) en revanche dans le cas ou on est plusieurs à l'utiliser ça peut avoir un sens.
openssl genrsa -out rootca.key -rand .randRootCA # Sans chiffrement
openssl genrsa -out rootca.key -rand .randRootCA -aes256 2048 # avec chiffrement
Dans le second cas on nous demande la clé (deux fois)
REMARQUEJ'utilise une clé de 2048 bit de long. Rien ne nous empêche de faire plus (4096, 8192 on choisit des puissances de 2) mais les performances en seront entachées et certains pays l'interdisent. Dans tous les cas il FAUT garder cette clé à disposition de la justice pour rester dans la loi française (en 2023). Pour d'autres législation où plus tard en France.... se référer à la loi. |
Si la clé à été crée chiffrée un simple cat ne nous la montre que chiffrée:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,139BD1B207E1FCBE4B53B0A8EBE03897
zfV6RP37mezCdp4OJXo0wMLcd66cBc5l2D5O3K5GMKd+TzYIxSadE8DgLptxAwTc
nAPrDkjecbRvcSaUZtNYzexU2bO/gbAtJngbe4FuhSEtFvuMBJEdj7Q6eSJWgDLP
.
.
l/1plgmnP1APIxpXpQgGqMNeDHfy/4Nb8+kZFeU7Au8r5nGrKHpVjpn1FgTJ9BlI
slxs/5dHWPxWQGXWe9mLwuSKZu3Y23zolQtzVcilUMhNreFFER8E+3kZk3oAKm+C
-----END RSA PRIVATE KEY-----
pour l'avoir en clair (et tester sa passphrase) on doit utiliser :
openssl rsa -in rootca.key -check
Qui nous demande la passphrase et ensuite seulement nous affiche la clé déchiffrée
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAvcP/ROuhziRbVM+edsULTMgyJd1zf13TK54P5vVCK7wa0Hkd
qhIjvqplgkYbUOlZsFykvhC+pIvIK3Jxf3+ImHfW2OfaP9oSyjdahrifH0OnIb44
21QY9B18HZWhWbDCJDbjGSisiPW44GRL6w/+3bDADhbA1OQs3wt20O/llh+cz6Kd
.
.
c+ffGLgFAoGAbihtvPuom18KzqFx2DMx3AYsivm6oXm0d6CU+fdnpvC8Tc8T8pTh
eQBxB7EzppSpIIeSvvb3ZDL4I4LUasXb7xpyCcC0R1gSVPC9ZQDFrJk9YRZrpdCA
gJ4hyiPF8/nYMTJjds9F0sJG81ZWrfh451hmHBHgBGLAjZCuQ+tSdYY=
-----END RSA PRIVATE KEY-----
Nous avons notre clé "maitre".