Escolher um algoritmo de chave

Antes de criar uma autoridade certificadora (CA), é necessário escolher um algoritmo de assinatura para a chave de suporte do Cloud Key Management Service da CA. O Certificate Authority Service permite criar ACs com chaves preexistentes do Cloud KMS usando qualquer um dos algoritmos de assinatura assimétrica compatíveis, ou escolhendo um subconjunto menor desses algoritmos e permitindo que o serviço crie e gerencie o ciclo de vida da chave.

Esta página menciona os fatores que você precisa considerar ao decidir o algoritmo de assinatura de uma AC.

Famílias de algoritmos

O Cloud KMS oferece suporte a duas famílias de algoritmos para operações de assinatura assimétrica: RSA e ECDSA.

RSA

Os esquemas de assinatura baseados em RSA têm ampla compatibilidade em várias plataformas por causa da idade. Se você precisar oferecer suporte a clientes que usam sistemas operacionais legados, protocolos, firmwares ou outras pilhas de tecnologia, o RSA é uma escolha comum.

O Cloud KMS expõe duas variantes principais de algoritmos de assinatura RSA: RSA_SIGN_PSS e RSA_SIGN_PKCS1. As variantes PSS usam o esquema de assinatura RSASSA-PSS descrito na seção 8.1 do RFC 8017, que é mais recente e considerado mais seguro. As variantes PKCS1 usam o esquema de assinatura PKCS#1 v1.5 mais antigo descrito na seção 8.2 do RFC 8017.

Recomendamos que as hierarquias mais recentes usem as variantes PSS se todos os aplicativos que podem usar esses certificados forem compatíveis com elas. Caso contrário, as variantes PKCS1 são uma escolha mais adequada devido ao suporte mais amplo.

ECDSA

Embora as chaves assimétricas baseadas em curvas elípticas sejam relativamente mais recentes que as RSA, elas ainda são compatíveis com muitas das pilhas de tecnologia mais comuns lançadas na última década. Elas são especialmente populares porque podem alcançar níveis semelhantes de segurança em relação às chaves RSA usando tamanhos de chave menores. Os aplicativos que usam chaves ECDSA armazenam e transmitem menos dados pela rede.

O Cloud KMS expõe duas variantes principais de algoritmos de assinatura ECDSA: EC_SIGN_P256 e EC_SIGN_P384.

Cadeias mistas

Uma cadeia mista (ou híbrida) é uma cadeia de certificados em que um ou mais certificados usam famílias de algoritmos de chave diferentes, como RSA em alguns certificados e ECDSA em outros. Algumas pilhas de tecnologia têm problemas para analisar cadeias de certificados misturadas e podem mostrar erros inesperados nesses casos. Além disso, alguns setores podem ter requisitos de compliance que exigem que uma cadeia de AC use uma única família de algoritmos.

É comum configurar uma cadeia de AC separada para chaves ECDSA em vez das usadas para chaves RSA.

Tamanho de chaves

Embora tamanhos de chave maiores (na mesma família) ofereçam maior nível de segurança, eles também resultam em mais dados armazenados e transmitidos por cabo. Além disso, as operações de criptografia e assinatura às vezes podem levar mais tempo com tamanhos de chave maiores, embora isso geralmente seja muito pequeno para ser notado.

Uma prática comum é usar chaves de maior duração, como as associadas a ACs raiz ou subordinadas de longa duração, para usar tamanhos de chave com maior nível de segurança do que outras chaves.

Guia de tomada de decisões

Use este guia simples para escolher um algoritmo de assinatura adequado para sua chave de AC:

  1. Escolher uma família de algoritmos

    Se você estiver criando uma CA subordinada encadeada a uma CA raiz existente, use a mesma família da raiz.

    Se você estiver criando uma nova AC raiz, mas precisar trabalhar com sistemas legados que não oferecem suporte ao ECDSA, use um dos algoritmos de assinatura RSA.

    Caso contrário, use um dos algoritmos de assinatura de curva elíptica.

  2. (Somente RSA) Escolher um algoritmo de assinatura

    Se você pretende trabalhar com bibliotecas ou frameworks mais antigos que não oferecem suporte ao PSS, use um dos algoritmos RSA_SIGN_PKCS1.

    Caso contrário, use um dos algoritmos RSA_SIGN_PSS.

  3. Escolher um tamanho de chave

    Para uma nova AC raiz ou uma AC subordinada que tenha uma vida útil de vários anos, recomendamos usar o tamanho de chave mais longo disponível para essa família de algoritmos.

    • Para RSA, o maior tamanho de chave aceito é de 4.096 bits.
    • Para ECDSA, o maior tamanho de chave aceito é de 384 bits.

    Para ACs subordinadas com uma vida útil mais curta, basta usar tamanhos de chave menores, como 2.048 bits para RSA ou 256 bits para ECDSA.

A seguir