Clone
5
CA
Mateo edited this page 2024-07-23 07:41:19 +00:00

Certificats & Autorités

Autorités de certification

Générer un certificat est très simple et est à la portée de quiconque (avec de bonnes bases en administration systèmes). Afin d'assurer une sécurité optimale, il est nécessaire de déterminer à qui le client va pouvoir faire confiance ou non. C'est là qu'interviennent les autorités de certification. Ce sont des entités dont les certificats racine, c'est à dire les certificats qui vont être utilisés afin de signer tout les autres, sont enregistrés par défaut dans les différents navigateurs et systèmes d'exploitation. Il en existe beaucoup, parmi les plus connues Let's Encrypt, Cloudflare ou même encore Google. Ce sont les seules à même de fournir des certificats de confiance qui pourront être déployés sur les serveurs sans causer de problème. En effet, un certificat dit "auto-généré" fonctionnera très bien pour chiffrer la communication mais le client ne pouvant pas vérifier s'il est digne de confiance il va afficher des erreurs de sécurité. La personne à l'origine de ces certificats aurait pu les modifier à sa guise, compromettant la confidentialité de la communication.

Génération de certificats

Les certificats TLS sont donc fait de 2 fichiers au format suivant (à la différence de l'en-tête qui va différencier la clé publique & privée):

-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUBDmVLCcGRgKddyKzYVs+JwD+faQwDQYJKoZIhvcNAQEL
BQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZGZsYXJlLCBJbmMuMRswGQYD
VQQLExJ3d3cuY2xvdWRmbGFyZS5jb20xNDAyBgNVBAMTK01hbmFnZWQgQ0EgZGFj
YWMxYjk4NDgwYzg2YzQxYjZkZDY1MjVmY2ZlMzIwHhcNMjQwNzE4MDgzMDAwWhcN
MzkwNzE1MDgzMDAwWjAiMQswCQYDVQQGEwJVUzETMBEGA1UEAxMKQ2xvdWRmbGFy
ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKCoMns/eG51k3G4AfUu
Hw/GKkuOXC/Oo+w+cLGV+Sx4+6YVi9kF2fatsuyz3OnLShJ+T+zGgJB+9miReLvp
/a1UPO7clBgMZ+wv6sEhSEJJqia4+nhVZw3Cq9Qq0dXtA9uTAaOOo+/FxqQDN4L+
XUQvedKvsnFBIBfLcS6olrru1qG0Uyk5ruwnUn1ZFTORs3BDAIwTPkhmgvZBBD2U
5sPZa3yquepUFV2lIuaB3zBPUXppHvEtFGwOG50xqA1LfNrEtO3yhHYoYzbdldc8
tANmAairRGwWWgBS0kj9cqSeaEY7ev3EMNuS6wmt6aK9oM/PZ4H5i+kIHw5X2KvD
HyUCAwEAAaOBuzCBuDATBgNVHSUEDDAKBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAA
MB0GA1UdDgQWBBSfoHaRMh6/Q9CCNIRJdoVdkSkbBDAfBgNVHSMEGDAWgBTsDN8h
rIk2F3fV84SPP3lWz8ORxjBTBgNVHR8ETDBKMEigRqBEhkJodHRwOi8vY3JsLmNs
b3VkZmxhcmUuY29tLzk2YjNlYmNmLWRkMTctNDdkNS04NWY1LTk0ZDA0MGM2Mzgw
Zi5jcmwwDQYJKoZIhvcNAQELBQADggEBABIm/i+06sXLKXEvEQk/VIKK91+0gqu5
RCx1qIE1F7nwZHoJz8EG6Hv1zI0KdskDmup0rIeGjKAVhNmk8IkWXjSwGSEYU78o
TVS93zvXIvWxxmI5Q4225e6y9eWGsFjLN71atqhFAC5u2od1bU/4l7QzkSyvZ5FL
ZZcBGsBVo7sfjzbdkyBCyGcXeMuQ1lAeLbrScylzCqgwucsxxBsI2xK6RT7cL0rZ
RVvH0S9+aW1NiXQHeyi5hbFafCXIP9SQNcHoKt/f9ZHxpkApJ9pBpwyWOnYL5y4F
nnA9fV8fIMU0Qf8DVQ8xuCSniQSKwB8XB8YjiaDh3tZlcSLuzSxftOo=
-----END CERTIFICATE-----

La clé publique est enregistrée au format .pem et la clé privée au format .key.

Il existe de multiples algorithmes qui permettent la génération de certificats, le plus répandu étant l'algorithme RSA.

Algorithmes de chiffrement

Il existe de multiples algorithmes qui permettent la génération de certificats, chacun avec ses propres caractéristiques de sécurité et performance. Voici les plus courants :

  • RSA (Rivest-Shamir-Adleman) : Cet algorithme est l'un des plus anciens et des plus utilisés pour la cryptographie asymétrique. Il est basé sur la difficulté de factoriser de grands nombres entiers. Les clés RSA sont généralement utilisées pour chiffrer les clés de session symétriques.

  • ECDSA (Elliptic Curve Digital Signature Algorithm) : Cet algorithme repose sur les mathématiques des courbes elliptiques et offre un niveau de sécurité comparable à RSA mais avec des clés plus petites, ce qui permet des performances accrues. Il est de plus en plus utilisé, notamment pour les certificats TLS.

  • DSA (Digital Signature Algorithm) : Utilisé principalement pour la signature numérique et non pour le chiffrement, DSA est moins courant aujourd'hui en raison de l'essor de RSA et ECDSA.