AWS et les certificats x509

AWS et les certificats x509

150 150 Thibaut CHARLIER

Dans le monde sécurisé d’Amazon (et d’AWS en particulier), les certificats SSL sont une des clefs de voute de la sécurité.

Petit rappel de cryptographie :

Les certificats x509 sont basés sur les principes de cryptographie asymétrique. Le certificat est donc composé d’une clef privée et d’une clef publique.  La clef publique permet d’encrypter des données et de valider une signature alors que la clef privée permet de décrypter et de signer des données. La clef publique est donc distribuée publiquement (d’où son nom) alors que la clef privée ne doit être connue que par la propriétaire du certificat.

Un serveur qui veut pouvoir répondre à une demande de connexion SSL, doit donc disposer d’une clef privée (généralement conservée dans un « certificate store ») et d’une clef publique qui est distribuée à tous les clients. Une question se pose donc pour le client : comment être certain que le serveur auquel il se connecte est bien le serveur auquel il pense se connecter ? La réponse tient dans le fait que la clef publique du serveur est signée avec la clef privée d’une autorité de certification (CA) qui doit faire partie des autorités de certifications approuvées par le client. Le client peut donc valider la signature de la CA et faire confiance au certificat présenté par le serveur.

La cryptographie asymétrique est en général reconnue pour être plus sécurisée que la cryptographie symétrique mais également plus gourmande en ressources CPU.

La cryptographie symétrique repose sur une clef unique qui est partagée entre les parties. La clef permet à la fois de crypter et de décrypter des données. Celle-ci est moins gourmande en ressources CPU que la cryptographique asymétrique mais est aussi moins sécurisée. Il existe également un risque de diffusion de la clef. Si la clef partagée est corrompue (entendez connue par des parties non impliquées dans l’échange de données), ces parties tierces auront la possibilité de décrypter les données.

Et chez Amazon ?

Étant donné le nombre de services potentiellement connectés à internet proposés par Amazon, Amazon se présente depuis plusieurs années comme une CA et une CA intermédiaire. Si vous souhaitez être certains d’utiliser les derniers certificats et de ne rencontrer aucun problème lors de vos connexions SSL, la page suivante (https://www.amazontrust.com/repository/) propose une liste exhaustive des différents certificats que vous devriez approuver.

Attention, Amazon utilise massivement des certificats répondant à plusieurs noms de domaines (SAN pour « Subject Alternative Name »). Si la majorité des clients (Browser, libraries de dev,…) sont compatibles X509 Version 3 (RFC 2459) , il arrive régulièrement que des systèmes plus anciens ou des appareils connectés ne prennent  pas en compte cette norme.

Le service AWS ACM (Amazon Certificate Manager) utilise ces certificats Amazon CA (et CA intermédaire) comme autorité de certification.

Chez Gekko, nous mettons tout en œuvre pour que les projets et les missions que les clients nous confient respectent toujours les normes les plus strictes de sécurités.

Laisser une réponse