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:
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.
(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
.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
- Saiba mais sobre o Cloud KMS: finalidades e algoritmos de chaves.
- Saiba mais sobre o Cloud KMS: assinaturas digitais.
- Saiba como gerenciar recursos.