Choisir un algorithme de clé

Avant de créer une autorité de certification (CA), vous devez choisir un algorithme de signature pour la clé Cloud Key Management Service de la CA. Le service Certificate Authority Service permet de créer des autorités de certification avec des clés Cloud KMS préexistantes à l'aide de l'un des algorithmes de signature asymétriques compatibles, ou en choisissant parmi un sous-ensemble plus restreint de ces algorithmes et en demandant au service de créer et de gérer le cycle de vie des clés.

Cette page mentionne les facteurs que vous devez prendre en compte pour choisir l'algorithme de signature d'une autorité de certification.

Familles d'algorithmes

Cloud KMS accepte deux familles d'algorithmes pour les opérations de signature asymétrique: RSA et ECDSA.

RSA

Les schémas de signature basés sur RSA bénéficient d'une large compatibilité sur plusieurs plates-formes en raison de leur ancienneté. Si vous devez prendre en charge des clients qui utilisent d'anciens systèmes d'exploitation, protocoles, micrologiciels ou autres piles technologiques, l'ARR est un choix courant.

Cloud KMS expose deux variantes principales des algorithmes de signature RSA : RSA_SIGN_PSS et RSA_SIGN_PKCS1. Les variantes PSS utilisent le schéma de signature RSASSA-PSS décrit dans la section 8.1 de la RFC 8017, qui est plus récent et considéré comme plus sécurisé. Les variantes PKCS1 utilisent l'ancien schéma de signature PKCS#1 v1.5 décrit dans la section 8.2 de la RFC 8017.

Les hiérarchies plus récentes sont encouragées à utiliser les variantes PSS si toutes les applications susceptibles d'utiliser ces certificats le prennent en charge. Dans le cas contraire, les variantes PKCS1 sont un choix plus approprié en raison de leur compatibilité plus large.

ECDSA

Bien que les clés asymétriques basées sur des courbes elliptiques soient relativement plus récentes que leurs homologues RSA, elles sont toujours compatibles avec de nombreuses piles technologiques les plus courantes publiées au cours de la dernière décennie. Elles sont particulièrement populaires, car elles peuvent atteindre des niveaux de sécurité similaires à ceux des clés RSA à l'aide de tailles de clé plus petites. Les applications qui utilisent des clés ECDSA stockent et transmettent moins de données par fil.

Cloud KMS expose deux variantes principales des algorithmes de signature ECDSA : EC_SIGN_P256 et EC_SIGN_P384.

Chaînes mixtes

Une chaîne mixte (ou hybride) est une chaîne de certificats dans laquelle un ou plusieurs certificats utilisent différentes familles d'algorithmes de clé, tels que RSA dans certains certificats et ECDSA dans d'autres. Certaines piles technologiques ont du mal à analyser les chaînes de certificats mixtes et peuvent afficher des erreurs inattendues dans ce cas. De plus, certaines industries peuvent avoir des exigences de conformité qui exigent qu'une chaîne d'autorité de certification utilise une seule famille d'algorithmes.

Il est courant de configurer une chaîne d'autorité de certification distincte pour les clés ECDSA de celles utilisées pour les clés RSA.

Taille de clé

Bien que les tailles de clé plus importantes (au sein de la même famille) offrent une sécurité renforcée, elles entraînent également un stockage et une transmission de données plus importants sur le fil. De plus, les opérations de chiffrement et de signature peuvent parfois prendre plus de temps avec des tailles de clé plus importantes, bien que cela soit généralement trop faible pour être remarqué.

Il est courant que les clés plus durables, telles que celles associées aux autorités de certification racine ou subordonnées à durée de vie longue, utilisent des tailles de clé plus sécurisées que les autres clés.

Guide de prise de décision

Vous pouvez utiliser ce guide simple pour vous aider à choisir un algorithme de signature approprié pour votre clé d'autorité de certification:

  1. Choisir une famille d'algorithmes

    Si vous créez une autorité de certification subordonnée associée à une autorité de certification racine existante, utilisez la même famille que la racine.

    Si vous créez une autorité de certification racine, mais que vous devez travailler avec des systèmes anciens qui ne sont pas compatibles avec ECDSA, utilisez l'un des algorithmes de signature RSA.

    Sinon, utilisez l'un des algorithmes de signature à courbe elliptique.

  2. (RSA uniquement) Choisir un algorithme de signature

    Si vous prévoyez d'utiliser des bibliothèques ou des frameworks plus anciens qui ne sont pas compatibles avec PSS, utilisez l'un des algorithmes RSA_SIGN_PKCS1.

    Sinon, utilisez l'un des algorithmes RSA_SIGN_PSS.

  3. Choisir une taille de clé

    Pour une nouvelle autorité de certification racine ou une autorité de certification secondaire dont la durée de vie devrait être de l'ordre des années, nous vous recommandons d'utiliser la plus grande taille de clé disponible pour cette famille d'algorithmes.

    • Pour le RSA, la plus grande taille de clé acceptée est de 4 096 bits.
    • Pour ECDSA, la plus grande taille de clé acceptée est de 384 bits.

    Pour les autorités de certification subordonnées dont la durée de vie est plus courte, il suffit d'utiliser des tailles de clé plus petites, telles que 2 048 bits pour RSA ou 256 bits pour ECDSA.

Étape suivante