¿La confidencialidad no proporciona integridad, pero sí la habilita?

1

He escuchado que se afirma que es un error común pensar que el cifrado proporciona integridad de los datos.

Una pregunta muy votada sobre este tema: ¿El cifrado garantiza la integridad? - tiene algo muy respuestas perspicaz. Por ejemplo, la respuesta más votada dice:

  

No. Esto es fácil de ver si considera el pad de una sola vez, un simple   (Teóricamente) sistema perfectamente seguro. Si cambia algo de la   salida, un poco del texto claro cambiará y el destinatario no tendrá   forma de detectar esto.

Eso tiene mucho sentido, así que creo que está claro que la respuesta a la garantía de encriptación es claramente no, pero es correcto afirmar que la encriptación habilita otros medios de verificación de integridad, ya que un atacante puede necesitar romper la confidencialidad para determine qué modificación de un mensaje se puede aplicar y no se puede detectar si se aplica una verificación de integridad de nivel superior en los datos?

Por ejemplo, si un mensaje ya tiene alguna estructura definida que espera un receptor (es decir, solo sería válido un subconjunto de posibles modificaciones de bits), y el hecho de ocultar el contenido de ese mensaje hace que sea muy difícil para un atacante. para seleccionar correctamente una de esas posibles modificaciones (o de hecho, si no tienen información, lo mejor que pueden hacer es cambiar los bits al azar), entonces, en ese caso, el cifrado al menos permite la integridad, ¿correcto? ¿O visto de otra manera, debido a que el cifrado podría forzar a un atacante a lo mejor cambiar aleatoriamente los bits del texto cifrado, entonces esto podría permitir que alguna información preexistente sirva como algún tipo de verificación de integridad (tal vez no sea efectiva)? es decir, los bits cambiados podrían causar errores ortográficos en un documento, o podrían hacer que un archivo de código encriptado ya no se compile correctamente, a pesar de que un receptor sabe de alguna manera que el remitente no habría escrito incorrectamente esas palabras específicas, o habría enviado un código de compilación.

    
pregunta krb686 06.09.2017 - 05:19
fuente

1 respuesta

2

Actualizado para aclarar la explicación

Si un mensaje dado sigue o no una sintaxis particular es una verificación de integridad muy débil. También podría ser un error en el lado del remitente que podría provocar que los mensajes no tengan un formato particular.

Como se menciona en esta respuesta , muchos cifrados comunes son trivialmente maleables. Esto significa que es posible modificar el texto de encriptación para generar plaintexts válidos. Está intentando ir un paso más allá asegurándose de que el conjunto de plaintexts válidos sea más pequeño. Claro, eso hace que la tarea sea un poco más difícil para el atacante, pero si se le da suficiente tiempo y conjuntos de datos, el atacante también puede pasar su verificación de integridad.

Considere el siguiente escenario:
Alice está hablando con Bob y Eve está escuchando la conversación. Están utilizando cifrado de bloque para la confidencialidad. Después de escuchar la conversación por un tiempo, Eve tiene suficientes textos cifrados para jugar con el cifrado de bloque que están usando. El siguiente mensaje que envió Alice fue interceptado por Eve, se combinó con algún otro texto cifrado anterior y Bob puede descifrarlo y ver que el formato sea correcto. Este mensaje pasa la verificación de integridad incluso si es una falsificación.

    
respondido por el Limit 06.09.2017 - 06:07
fuente

Lea otras preguntas en las etiquetas