Elegir un algoritmo clave

Antes de crear una autoridad certificadora (CA), debes elegir un algoritmo de firma para la clave de Cloud Key Management Service de la CA de respaldo. Certificate Authority Service permite la creación de AC con claves de Cloud KMS preexistentes mediante cualquiera de los algoritmos de firma asimétrico admitidos, o bien mediante la elección de un subconjunto más pequeño de esos algoritmos y hacer que el servicio cree y administre el ciclo de vida de la clave.

En esta página, se mencionan los factores que debes tener en cuenta cuando eliges el algoritmo de firma de una AC.

Familias de algoritmos

Cloud KMS admite dos familias de algoritmos para las operaciones de firma asimétricas: RSA y ECDSA.

RSA

Los esquemas de firmas basados en RSA gozan de una amplia compatibilidad entre varias plataformas debido a su antigüedad. Si necesitas brindar asistencia a clientes que usan sistemas operativos, protocolos, firmware o pilas tecnológicas heredados, los RSA son una opción común.

Cloud KMS expone dos variantes principales de los algoritmos de firma de RSA: RSA_SIGN_PSS y RSA_SIGN_PKCS1. Las variantes PSS usan el esquema de firma RSASSA-PSS descrito en la sección 8.1 de RFC 8017, que es más reciente y se considera más seguro. Las variantes PKCS1 usan el esquema de firma PKCS#1 v1.5 anterior descrito en la sección 8.2 de RFC 8017.

Se recomienda que las jerarquías más nuevas usen las variantes PSS si todas las aplicaciones que pueden usar esos certificados lo admiten. Por lo demás, las variantes PKCS1 son una opción más adecuada debido a su compatibilidad más amplia.

ECDSA

Si bien las claves asimétricas basadas en curvas elípticas son relativamente más nuevas que sus contrapartes RSA, aún son compatibles con muchas de las pilas tecnológicas más comunes lanzadas en la última década. Son especialmente populares porque pueden alcanzar niveles de seguridad similares a los de las claves RSA con tamaños de clave más pequeños. Las aplicaciones que usan claves ECDSA almacenan y transmiten menos datos por cable.

Cloud KMS expone dos variantes principales de los algoritmos de firma de ECDSA: EC_SIGN_P256 y EC_SIGN_P384.

Cadenas mixtas

Una cadena mixta (o híbrida) es una cadena de certificados en la que uno o más certificados usan diferentes familias de algoritmos de claves, como RSA en algunos certificados y ECDSA en otros. Algunas pilas tecnológicas tienen problemas para analizar cadenas de certificados mixtas y pueden mostrar errores inesperados en esos casos. Además, algunas industrias pueden tener requisitos de cumplimiento que requieren que una cadena de AC use una sola familia de algoritmos.

Es común configurar una cadena de AC independiente para las claves ECDSA que las que se usan para las claves RSA.

Tamaño de la clave

Si bien las claves de mayor tamaño (dentro de la misma familia) brindan mayor seguridad, también hacen que se almacenen y transmitan más datos por cable. Además, las operaciones de encriptación y firma a veces pueden tardar más con tamaños de clave más grandes, aunque, por lo general, esto es demasiado pequeño.

Una práctica típica es que las claves de larga duración, como las asociadas con CA subordinadas de larga duración, usen tamaños de clave con mayor seguridad de seguridad que otras claves.

Guía para la toma de decisiones

Puedes usar esta guía simple a fin de elegir un algoritmo de firma apropiado para tu clave de AC:

  1. Elige una familia de algoritmos

    Si creas una AC subordinada que se encadena hasta una AC raíz existente, usa la misma familia que la raíz.

    Si creas una AC raíz nueva, pero necesitas trabajar con sistemas heredados que no admiten ECDSA, usa uno de los algoritmos de firma RSA.

    De lo contrario, usa uno de los algoritmos de firma de curva elíptica.

  2. (Solo para RSA) Elige un algoritmo de firma

    Si esperas trabajar con bibliotecas o frameworks más antiguos que no admiten PSS, usa uno de los algoritmos RSA_SIGN_PKCS1.

    De lo contrario, usa uno de los algoritmos RSA_SIGN_PSS.

  3. Elige un tamaño de clave

    Para una AC raíz nueva o una AC subordinada que se espera que tenga una vida útil de años, te recomendamos que uses el tamaño de clave más grande disponible para esa familia de algoritmos.

    • Para RSA, el tamaño de clave admitido más grande es de 4096 bits.
    • Para ECDSA, el tamaño de clave compatible más grande es de 384 bits.

    Para las CA subordinadas con una vida útil más corta, basta con usar tamaños de clave más pequeños, como 2,048 bits para RSA o 256 bits para ECDSA.

¿Qué sigue?