¿La firma puede comprometer demasiado una clave privada?

13

¿Se puede abusar de una colección de muchos mensajes firmados con la misma clave privada para falsificar firmas de modo que algunos mensajes ( algunos (pero no todos) posibles), o incluso peor para reconstruir esa clave privada con menos esfuerzo que ¿De la clave pública?

    
pregunta Tobias Kienzler 07.08.2012 - 12:15
fuente

3 respuestas

13

Si el algoritmo de firma es bueno (y se usa correctamente con claves suficientemente grandes que se generaron de manera correcta y adecuadamente aleatoria), entonces, en la práctica , la respuesta es no: tener acceso a muchas firmas existentes no le permiten al atacante falsificar nuevas, y mucho menos volver a calcular la clave privada.

Desde un punto de vista teórico: la mayoría de los esquemas de firmas (en realidad todos) comienzan con el hashing del mensaje que se va a firmar, y la firma se calcula en realidad sobre el valor de hash. Por lo tanto, si el atacante tiene una firma existente S para el mensaje M , que se ciñe a h (M) y encuentra un mensaje M ' de modo que h (M) = h (M') , entonces S es también una firma válida para M ' ("firma válida" significa "una firma que será aceptada por los verificadores"). Por lo tanto, una posible forma de ataque es probar muchas variantes de un mensaje falso M ' hasta que se encuentre una que contiene el mismo h (M) que una firma existente, en la que punto en el que el atacante ha falsificado una nueva firma (más precisamente, ha reciclado con éxito una firma existente para un nuevo mensaje).

Este es un segundo ataque de preimagen en la función hash. Tener muchas firmas existentes proporciona más objetivos para el atacante, lo que facilita ese ataque. Pero más fácil no es fácil . Un algoritmo de firma "normal" usará funciones hash que son lo suficientemente fuertes y con una salida lo suficientemente amplia como para que los ataques de segunda preimagen no sean factibles, para cualquier número práctico de objetivos. Para poner algunas cifras debajo: con una función de hash de 160 bits (por ejemplo, SHA-1), el costo de un ataque de segunda imagen con un objetivo es de aproximadamente 2160 ; si el atacante puede reunir un millón de firmas existentes, el costo se reduce a aproximadamente 2140 : eso es un millón de veces más fácil, pero aún es demasiado difícil (por ejemplo, vea there ).

Sin embargo, tenga en cuenta la letra pequeña: insisto en que el algoritmo se use correctamente. Por ejemplo, considere DSA (o su variante de curva elíptica ECDSA). Al calcular una firma, debe generar un valor aleatorio k elegido uniformemente en el rango [1..q-1] para un número entero primo dado q (se necesita un nuevo k al azar para cada firma). Si la elección está sesgada de alguna manera, esto podría explotarse para un ataque de recuperación clave. Un caso extremo es la debacle de Sony-PS3, donde utilizaron un valor fijo de k , siempre el mismo, independientemente del mensaje que se firmará. Esto es muy incorrecto: dos firmas conocidas son suficientes para reconstruir la clave privada. Más generalmente, Bleichenbacher ha demostrado (hace una docena de años) que si k se elige tomando una cadena aleatoria de bits del mismo tamaño que q , reduciendo el módulo q , entonces el ligero sesgo es suficiente para reconstruir la clave privada desde aproximadamente 263 firmas conocidas (para un q ).

Por supuesto, en esa situación, el problema no es permitir que el atacante vea muchas firmas, sino usar el algoritmo de manera incorrecta. La implementación de algoritmos criptográficos es difícil (niños, ¡no lo hagan en casa!).

    
respondido por el Thomas Pornin 07.08.2012 - 19:41
fuente
7

No, al menos no para los esquemas de firmas modernos. El ataque / preocupación que describe es similar a los ataques comunes que se consideran al realizar una prueba de seguridad. En particular, el ataque adaptativo de mensaje elegido está más relacionado con lo que usted describe.

En este ataque, el atacante envía un mensaje al firmante, quien devuelve la firma del mensaje. El ataque luego elige otro mensaje (basado en la información obtenida de la primera firma) y el firmante firma ese mensaje. Continúan esto tanto tiempo como desee el atacante.

Una vez que el atacante ha terminado, se les pide que falsifiquen una firma para un mensaje que no se consultó durante el primer proceso. Los esquemas de firmas modernos han demostrado ser seguros contra este tipo de ataque (por ejemplo, RSA-PSS ).

Los sistemas de cifrado modernos también han sido probado como seguro contra ataques donde el atacante podría usar la información obtenida de las firmas para obtener la clave privada.

    
respondido por el mikeazo 07.08.2012 - 16:41
fuente
0

Puede, potencialmente, por ejemplo. Si los datos son fotogramas de video y el modo de operación es ECB o no hay un IV aleatorio, al predecir qué está cambiando en los datos de origen, es posible recuperar la clave. Este es el caso de algunos cifrados de satélite, por ejemplo.

    
respondido por el Andrew Smith 08.08.2012 - 04:39
fuente

Lea otras preguntas en las etiquetas