Escolher um algoritmo de chave

Antes de criar uma autoridade de certificação (CA, na sigla em inglês), escolha um algoritmo de assinatura para a chave 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 algoritmo

O Cloud KMS é compatível com 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 em virtude da idade. Se você precisa de suporte a clientes que usam sistemas operacionais, protocolos, firmware ou outras pilhas de tecnologia legados, 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 da 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 da RFC 8017.

As hierarquias mais recentes são incentivadas a usar 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 maior suporte.

ECDSA

Embora as chaves assimétricas baseadas em curvas elípticas sejam relativamente mais recentes que as correspondentes RSA, elas ainda são compatíveis com muitas das pilhas de tecnologia mais comuns lançadas na última década. Elas são bastante conhecidas porque podem atingir níveis de segurança semelhantes à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.

Redes mistas

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

É comum configurar uma cadeia de CA separada para chaves ECDSA, diferente das usadas para chaves RSA.

Tamanho de chaves

Embora tamanhos de chave maiores (dentro da mesma família) ofereçam maior segurança, eles também resultam em mais dados armazenados e transmitidos pela rede. Além disso, as operações de criptografia e assinatura às vezes podem demorar mais com tamanhos de chave maiores, embora isso geralmente seja muito pequeno para ser percebido.

Uma prática típica é que chaves de maior duração, como as associadas a CAs raiz ou subordinadas de longa duração, usem tamanhos de chave com maior segurança de segurança do que as outras.

Guia de tomada de decisão

Use este guia simples para escolher um algoritmo de assinatura apropriado para sua chave de CA:

  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 CA raiz, mas precisar trabalhar com sistemas legados que não são compatíveis com 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ê espera trabalhar com bibliotecas ou frameworks mais antigos que não são compatíveis com 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 CA raiz ou uma CA subordinada que deve ter uma vida útil na ordem de anos, recomendamos usar o maior tamanho de chave disponível para essa família de algoritmos.

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

    Para CAs subordinadas com vida útil mais curta, é suficiente usar tamanhos de chave menores, como 2.048 bits para RSA ou 256 bits para ECDSA.

A seguir