Suite CNSA
# Suite CNSA

La Suite de Algoritmos de Seguridad Nacional Comercial o Suite CNSA (del inglés Commercial National Security Algorithm Suite) es un conjunto de algoritmos criptográficos publicados por el NIST y aprobados por la NSA, indicados en el 'CNSS Advisory Memorandum 02-15' para proteger Sistemas de Seguridad Nacional (NSS, del inglés National Security Systems) para información clasificada de hasta nivel TOP SECRET.

La justificación de la aparición de la Suite CNSA se enmarca como contrapartida para conseguir seguridad aceptable ante los avances de la criptografía cuántica existentes. Los avances de la criptografía cuántica se entienden que continuarán y por ello la Suite CNSA se declara como una Suite provisional que se usará mientras se están desarrollando los futuros estándares post-cuánticos que darán lugar a una nueva Suite que sustituirá previsible a la Suite CNSA. La NSA ha recurrido al NIST para identificar un conjunto estandarizado y ampliamente aceptado de algoritmos comerciales de clave pública que no sean vulnerables a los ataques cuánticos. Hay mucha urgencia en el establecimiento de nuevos estándares resistente a la criptografía cuántica.

## Historia

En julio de 2015 el Comité de Sistemas de Seguridad Nacional (CNSS) emitió el 'Information Assurance 02-15', en el que indica un subconjunto de algoritmos indicados por el NIST como aprobados por la NSA, creando así la Suite CNSA. En este documento se anula la obligatoriedad, que había en la versión anterior del documento, de usar criptografía de curvas elípticas a partir del 1 de octubre de 2015.

En octubre de 2016 se actualiza el CNSSP-15, que regula el uso de estándares públicos para la compartición segura de información entre sistemas de seguridad nacional, reemplaza Suite B por Suite CNSA.

En julio de 2018, el RFC 8423 la NSA reemplazó la Suite B por la Suite CNSA.

## Algoritmos

Los algoritmos que incluye la Suite CNSA son, en general, los mismos de la Suite B deprecando algunas versiones de tamaño de clave más cortas que en Suite B se usaban para como máximo información clasificada como SECRET. La Suite CNSA, al contrario que la Suite B, solo tiene un conjunto de algoritmos el cual se puede usar con todo tipo de información no clasificada y clasificada hasta nivel TOP SECRET. Respecto a Suite B, ya no está el algoritmo DSA de firma digital y RSA se permite para establecimiento de claves.

La Suite CNSA incluye:

* Algoritmo de cifrado simétrico: Advanced Encryption Standard (AES) - FIPS Pub 197, con tanaño de clave de 256 bits.
* Algoritmo ade firma digital:
   * Elliptic-Curve Digital Signature Algorithm (ECDSA) - FIPS Pub 186-4. La fortaleza de seguridad proporcionada por curva p-384 es de 192 bits.
   * RSA - FIPS PUB 186-4, con módulo mínimo de 3072 bits. Hay excepción para datos no clasificados y 'separación de interese de comunidad' para permitir el uso de de módulo de 2048 bits.
* Protocolos de establecimiento de claves:
   * Elliptic-Curve Diffie-Hellman (ECDH) - NIST SP 800-56A, con 384-bit prime modulus (curva P-384). La fortaleza de seguridad proporcionada por curva p-384 es de 192 bits.
   * Algoritmo de Diffie-Hellman - IETF RFC 3526, con módulo mínimo de 3072 bits. Hay excepción para datos no clasificados y 'separación de interese de comunidad' para permitir el uso de de módulo de 2048 bits. DH es el único algoritmo en la Suite CNSA que no esr abordado directamente por NIST, dejándolo aparte de FIPS 140-2.
   * RSA - NIST SP 800-56B rev 1, con módulo mínimo de 3072 bits. Hay excepción para datos no clasificados y 'separación de interese de comunidad' para permitir el uso de de módulo de 2048 bits.
* Función hash criptográfica: SHA-2 - FIPS Pub 180-4, en concreto SHA-384. La fortaleza de seguridad proporcionada por SHA-384 es de 192 bits. Hay excepción para datos no clasificados y 'separación de interese de comunidad' para permitir el uso de SHA-256 (fortaleza de seguridad proporcionada por SHA-384 es de 128 bits).

Permite el uso de establecimiento de claves sin forward secrecy, lo cual estaba prohibido en Suite B. Este cambio está implícito en el hecho de que la Suite CNSA permite el uso de RSA para establecimiento de clave, mientras que Suite solo permitía el uso de ECDH y DH. Esto lo justifican en que se está utilizando en equipos NSS, y se permite el uso continuo de RSA sin secreto anticipado 'para la facilidad de los operadores NSS'.

En la CNSSP-15 anterior tanto RSA como DH eran incluidos con algoritmos heredados los cuales solo serían usado shasta que el reemplazo por Criptografía de curva elíptica estuviera disponible y limitando su uso hasta el 1 de octubre de 2015. Sin embargo, la Suite CNSA pasa el estatus de estos algoritmos de heredado a soportado por razones económicas, no queriendo obligar a los operadores de NSS a pagar por dos actualizaciones criptográficas: primero de RSA / Diffie-Hellman a ECC y luego desde ECC hasta criptografía resistente a algoritmos cuánticos. Además, también insinúan otras razones, diciendo que la NSA ha llegado a apreciar que algunos de estos sistemas heredados estarán disponibles por mucho más tiempo de lo que habína planeado y que la comunidad externa parece estar cambiando un poco hacia el uso de otras curvas elípticas.

La excepción que permite el uso de RSA y DH con un módulo de 2048 bits y el uso de SHA-256 para información no clasificada se justificó con:

* La existencia de implementaciones a gran escala de sistemas PKI que usan RSA de 2048 bits y, en julio, estaban en medio de la transición de SHA-1 a SHA-256;
* La existencia de equipos que no pueden utilizar DH con módulos superiores a 2048 bits.

La inconsistencia de seguridad de permitir el uso de RSA y DH con un módulo de 3072 bits, que solo proporcionan 128 bits de fortaleza de seguridad frente a los 256 bits para AES y 192 bits para ECDH, ECDSA y SHA, lo justifican con 'limitaciones tecnológicas' lo cual es consistente con la Tabla 2 de NIST SP 800-57, que enumera RSA, DH y DSA que requieren un módulo de 7680 bits para lograr una fuerza de seguridad de 192 bits, y los marca como excluidos de los estándares NIST en esa fuerza de seguridad por razones de interoperabilidad y eficiencia.

