¿Los algoritmos de firma digital están sujetos a los mismos tipos de ataque que los algoritmos de cifrado de clave pública?

1

Comprendo que las firmas digitales se implementan generalmente cifrando un resumen del mensaje con una clave privada, descifrando la firma resultante con una clave pública y verificando que el resumen del mensaje coincida con el mensaje. Esto parece ser una aplicación normal de un algoritmo de cifrado asimétrico en lugar de un algoritmo diferente, pero ¿hay algo en el esquema que lo haga vulnerable a clases adicionales de ataque por encima de las que podría sufrir el algoritmo de cifrado asimétrico subyacente?

Por ejemplo, ¿el uso de un algoritmo de resumen de mensajes, o la presencia del mensaje de texto sin formato, proporciona información adicional que un atacante puede usar para derrotar el esquema?

Para aclarar lo que estoy preguntando: el cifrado de clave pública puede ser derrotado por ataques como el texto sin formato elegido, o un avance en la factorización de grandes números. ¿El uso de un algoritmo de cifrado de clave pública en un esquema de firma digital permite algún tipo de ataque adicional?

    
pregunta jl6 20.08.2014 - 21:49
fuente

2 respuestas

2
  

¿El uso de un algoritmo de cifrado de clave pública en un esquema de firma digital permite algún tipo de ataque adicional?

Sí. Usar PKE para una firma digital tiene ataques adicionales; por ejemplo, si está utilizando una firma RSA, hay ataques de colisión en la función hash donde, si puede construir dos mensajes m y m ', ambos tienen el mismo hash (H (m) = H (m')), si puede obtener legítimamente a alguien para que firme el mensaje m, luego puede adjuntar esa firma al mensaje m '(incluso si no pudiera legítimamente hacer que alguien firme el mensaje m').

Por ejemplo, en el día en que MD5 se usaba como hash en los certificados SSL (certificados X.509). Sin embargo, es posible construir cuidadosamente las colisiones MD5 en mucho menos que el trabajo 2 ^ 64 esperado. Por lo tanto, un atacante simplemente tuvo que construir una colisión entre un certificado válido que crearon (por ejemplo, un sitio web que controlan) y una autoridad de certificación intermedia (tenga en cuenta que no deben alterar el módulo o el exponente para construir la colisión, ya que necesitan la clave privada) . Luego, cuando puede obtener una autoridad de certificación de confianza para firmar su certificado válido para el sitio web, puede adjuntar esa firma a su autoridad de certificación intermedia falsa. Voila! Ahora tiene una autoridad de certificación intermedia de confianza y puede firmar cualquier certificado que desee y hacer que los navegadores web confíen en él.

Este se realizó con éxito en 2008 .

    
respondido por el dr jimbob 20.08.2014 - 22:48
fuente
1

Creo que es justo considerar que el resumen del mensaje es una cadena aleatoria porque es un hash de algo que no eliges (la persona que te envía el mensaje lo elige). Así que tiene un texto simple conocido al azar (el resumen) y su versión encriptada con una clave privada (la firma).

Tenga en cuenta que suponiendo que la firma sea auténtica, el uso del texto sin formato conocido es inútil, ya que puede recuperarla de la firma aplicando la clave pública.

Ahora, debido a las propiedades de RSA (exponentiation de campo finito que es una bijection), aplicar una clave privada a una cadena aleatoria, le da otra cadena aleatoria. Entonces, de hecho, no hay más información de tener un resumen de mensaje, que de elegir una cadena aleatoria y decir "es un resumen de mensaje", porque de hecho, es el resumen de algún mensaje ...

En conclusión, no tienes nada más que una cadena aleatoria (la firma) y la clave pública. Podría decirse que una cadena aleatoria no sirve para adivinar la clave privada, y lo que tienes es la clave pública que ya tienes.

Así que no, no le permite hacer nada más que lo que podría haber hecho al conocer solo la clave pública.

    
respondido por el Lionel 21.08.2014 - 06:37
fuente

Lea otras preguntas en las etiquetas