Ir al contenido

Webinar: Regístrese para nuestro próximo seminario web

Regístrate Ahora

Todo lo que necesitas saber sobre RSASSA-PSS

Todo lo que necesitas saber sobre RSASSA-PSS

Rivest Shamir Adleman (RSA) Es un algoritmo asimétrico que permite cifrar y firmar datos. Los procesos de cifrado y firma se realizan mediante una serie de multiplicaciones modulares. La seguridad del algoritmo RSA puede aumentarse utilizando claves de mayor longitud, como 1,024 bits o más. Sin embargo, cuanto mayor sea la longitud de la clave, más lento será el proceso de cifrado o firma. Es uno de los métodos de cifrado de clave pública más populares y seguros. Existen dos esquemas de firma RSA diferentes especificados en el PKCS1.

  • RSASSA-PKCS1-v1_5: Esquema de firma antiguo con apéndice tal como se estandarizó por primera vez en la versión 1.5 de PKCS #1.
  • RSASSA-PSS (RSASSA = Esquema de firma RSA con apéndice): basado en el Esquema de Firma Probabilística (PSS) originalmente inventado por Bellare y Rogaway.

Diferencia entre RSASSA-PKCS1-v1_5 y RSASSA-PSS

RSASSA-PKCS1-v1_5RSASSA-PSS
PKCSV1_5 es determinista.Es aleatorio, produciendo así un valor de firma diferente cada vez.
El valor del resumen del mensaje se puede extraer de una firma PKCSV1_5.No se puede extraer de una firma PSS, sino que solo se puede verificar comparándolo con un valor de resumen de mensaje conocido.
Menos seguro y robustoPSS tiene pruebas de seguridad y es más robusto que PKCSV1_5.
Es un esquema antiguo.Es un nuevo plan.
Se recomienda para garantizar la compatibilidad con la aplicación de firma existente.Se recomienda para la compatibilidad con las aplicaciones de firma existentes. Se recomienda para su eventual adopción en nuevas aplicaciones de firma, ya que no contiene ciertos puntos críticos del estándar anterior.

Ataques a esquemas de firma antiguos

  1. El ataque de Bleichenbacher

    En 1998, Daniel Bleichenbacher descubrió que los mensajes devueltos por los servidores SSL por errores en Estándares de criptografía de clave pública (PKCS) El relleno de la versión 1.5 n.° 1 permitió un ataque de texto cifrado con selección adaptativa, en el que un atacante envía una serie de textos cifrados para descifrar y utiliza los resultados para seleccionar los siguientes. Esto permitió al atacante realizar operaciones de descifrado y firma RSA utilizando la clave privada de un servidor TLS, lo que vulneró por completo la confidencialidad de TLS al combinarse con el cifrado RSA.

  2. Ataque basado en fallos

    En 1996, Dan Boneh y otros presentaron un ataque a RSA que implicaba cálculos erróneos. Al inyectar errores aleatorios en los cálculos de RSA, lograron regenerar la clave privada a partir del conocimiento de las firmas defectuosas. Las implementaciones de RSA que utilizan el teorema chino del resto para acelerar los cálculos son especialmente vulnerables: una sola firma errónea permite la regeneración de la clave privada. La protección contra ataques basados ​​en fallos como este es especialmente importante en dispositivos integrados, como las tarjetas con chip, que están diseñados no para exponer la clave privada, sino para proporcionar operaciones criptográficas, como firmas, en un entorno potencialmente bajo el control de un atacante. Sin embargo, estudios posteriores han demostrado que PSS no es vulnerable a estos ataques basados ​​en fallos.

Servicios de cifrado personalizados

Evaluamos, elaboramos estrategias e implementamos soluciones y estrategias de cifrado.

RSASSA-PSS

RSASSA-PSS es un esquema de firma probabilística mejorado con un apéndice. Esto significa que se puede usar una clave RSA privada para firmar los datos junto con una entrada aleatoria. El otro extremo de la comunicación puede verificar la firma usando la clave RSA pública correspondiente. Este esquema de firma utiliza datos aleatorios, por lo que dos firmas con la misma entrada son diferentes, y ambas se pueden usar para validar los datos originales.

Parámetros RSASSA-PSS

  1. Algoritmo/función hash

    Las funciones hash se utilizan en esquemas de cifrado, esquemas de firma con apéndice y diversos métodos de codificación. Son deterministas, lo que significa que la salida está completamente determinada por la entrada. Las funciones hash toman cadenas de entrada de longitud variable y generan cadenas de salida de longitud fija.

  2. Funciones de generación de máscaras

    Una función de generación de máscara toma como entrada una cadena de octetos de longitud variable y la longitud de salida deseada, y genera una cadena de octetos de la longitud deseada. Las funciones de generación de máscara (FGM) son deterministas. La salida de una FGM debe ser pseudoaleatoria; es decir, si se desconoce la semilla de la función, debe ser imposible distinguir la salida de una cadena verdaderamente aleatoria. La seguridad demostrable de RSAES-OAEP y RSASSA-PSS se basa en la aleatoriedad de la salida de la función de generación de máscara, la cual, a su vez, depende de la aleatoriedad del hash subyacente.

  3. Longitud de sal

    Es el valor de sal asociado a la operación de firma. Este campo está diseñado para facilitar el procesamiento en una sola pasada. Si se omite, el valor de sal se obtendrá de la firma. El valor de sal mejora la seguridad del esquema al proporcionar una prueba de seguridad más sólida que las alternativas deterministas como el Hashing de Dominio Completo (FDH).

  4. Campo de remolques

    Se utiliza en la operación de codificación y es un entero. El valor DEBE ser 1, que representa el campo final con valor hexadecimal 0xBC.

Parámetros predeterminados

algoritmo hash

El valor predeterminado es SHA1, sin embargo se recomienda SHA-256

algoritmo maskGen

Es necesario utilizar MGF1. mgf1SHA1 (la función MGF1 con SHA-1)

longitud de sal

El valor predeterminado es 20, pero la convención es usar hLen, la longitud de la salida de la función hash en bytes.

trailerField

trailerFieldBC (el byte 0xbc)

Se recomienda que la función hash MGF sea similar a la del algoritmo/función hash del esquema, y ​​que la longitud de la sal sea hLen, que es la longitud de la salida de la función hash.

Conclusión

RSASSA-PSS es un esquema de firma mejorado que incluye un archivo adjunto. Utiliza una clave privada RSA para firmar los datos y, posteriormente, el destinatario puede verificar esta firma mediante la clave pública. RSA Es clave. Tiene varios parámetros y es más segura y robusta que otras.