Escolha um algoritmo de chave

Antes de criar uma autoridade de certificação (AC), tem de escolher um algoritmo de assinatura para a chave do Cloud Key Management Service de apoio da AC. O serviço de autoridade de certificação permite a criação de ACs com chaves do Cloud KMS preexistentes através de qualquer um dos algoritmos de assinatura assimétricos suportados ou escolhendo um subconjunto mais pequeno desses algoritmos e fazendo com que o serviço crie e faça a gestão do ciclo de vida das chaves.

Esta página menciona os fatores que tem de considerar quando decidir o algoritmo de assinatura de uma AC.

Famílias de algoritmos

O Cloud KMS suporta duas famílias de algoritmos para operações de assinatura assimétricas: RSA e ECDSA.

RSA

Os esquemas de assinatura baseados em RSA beneficiam de uma ampla compatibilidade em várias plataformas devido à sua antiguidade. Se precisar de suportar clientes que usam sistemas operativos, protocolos, firmware ou outras pilhas de tecnologia antigas, 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 secção 8.1 da RFC 8017, que é mais recente e considerado mais verificavelmente seguro. As PKCS1variantes usam o esquema de assinatura PKCS#1 v1.5 mais antigo descrito na secção 8.2 da RFC 8017.

Recomendamos que as hierarquias mais recentes usem as variantes PSS se todas as aplicações que possam usar esses certificados o suportarem. Caso contrário, as variantes PKCS1 são uma escolha mais adequada devido ao respetivo apoio técnico mais amplo.

ECDSA

Embora as chaves assimétricas baseadas em curvas elípticas sejam relativamente mais recentes do que as suas equivalentes RSA, continuam a ser suportadas em muitas das stacks de tecnologia mais comuns lançadas na última década. São especialmente populares porque podem atingir níveis de força de segurança semelhantes aos das chaves RSA com tamanhos de chave mais pequenos. As aplicações que usam chaves ECDSA armazenam e transmitem menos dados através da 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 chaves diferentes, como RSA em alguns certificados e ECDSA noutros. Algumas stacks de tecnologia têm problemas ao analisar cadeias de certificados mistas e podem apresentar erros inesperados nesses casos. Além disso, algumas indústrias podem ter requisitos de conformidade que exigem que uma cadeia de AC use uma única família de algoritmos.

É habitual configurar uma cadeia de AC separada para chaves ECDSA das usadas para chaves RSA.

Tamanho da chave

Embora os tamanhos de chaves maiores (na mesma família) ofereçam uma maior força de segurança, também resultam no armazenamento e na transmissão de mais dados através da Internet. Além disso, as operações de encriptação e assinatura podem, por vezes, demorar mais tempo com tamanhos de chaves maiores, embora, normalmente, a diferença seja demasiado pequena para ser percetível.

Uma prática comum é que as chaves de maior duração, como as associadas a ACs subordinadas de raiz ou de longa duração, usem tamanhos de chaves com maior força de segurança do que outras chaves.

Guia de tomada de decisões

Pode usar este guia simples para ajudar a escolher um algoritmo de assinatura adequado para a chave da AC:

  1. Escolha uma família de algoritmos

    Se estiver a criar uma AC subordinada com encadeamento até uma AC raiz existente, use a mesma família que a raiz.

    Se estiver a criar uma nova AC raiz, mas precisar de trabalhar com sistemas antigos que não suportam o ECDSA, use um dos algoritmos de assinatura RSA.

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

  2. (Apenas RSA) Escolha um algoritmo de assinatura

    Se espera trabalhar com bibliotecas ou frameworks mais antigos que não suportam o PSS, use um dos algoritmos RSA_SIGN_PKCS1.

    Caso contrário, use um dos algoritmos RSA_SIGN_PSS.

  3. Escolha um tamanho da chave

    Para uma AC raiz nova ou uma AC subordinada que se espera que tenha uma duração na ordem dos anos, recomendamos que use o maior tamanho da chave disponível para essa família de algoritmos.

    • Para RSA, o tamanho máximo da chave suportado é de 4096 bits.
    • Para ECDSA, o tamanho máximo da chave suportado é de 384 bits.

    Para ACs subordinadas com um tempo de vida mais curto, é suficiente usar tamanhos de chaves mais pequenos, como 2048 bits para RSA ou 256 bits para ECDSA.

O que se segue?