Razón para usar el cifrado asimétrico junto con SHA256

1

Obtuve un documento con integración con otra aplicación. Mencionaron que necesito hacer hash y luego cifrar los datos con mi clave privada antes de enviarlos a través de HTTPS. Al hacer esto, se aseguran de que los datos no se hayan alterado en medio del tránsito.

Quería saber cuál es la razón de la seguridad de tres capas (SSL + SHA256 + RSA). ¿Es SHA256 débil por sí mismo o hay otras inquietudes de las que no tengo conocimiento?

    
pregunta Jama 28.08.2013 - 21:44
fuente

1 respuesta

3

El documento que está leyendo utiliza la analogía defectuosa "cifrar con la clave privada". En cifrado asimétrico , usted cifra con la clave pública y descifra con la clave privada . "Cifrado con la clave privada" es la forma en que se describieron por primera vez firmas digitales , porque ese tipo de trabajo funciona así en RSA . Pero la analogía no funciona con otros algoritmos de firma como DSA, y, cuando observa los detalles, observa que tampoco funciona con RSA.

Así que olvida la palabra "cifrado" aquí. Piden una firma . Una firma comienza con el hash de los datos que se van a firmar (con una función de hash como SHA-256), y el resto del cálculo implica solo la salida de hash y la clave privada. La firma no se utiliza además a SHA-256; SHA-256 es un elemento del proceso de firma RSA.

¿Por qué pedirían una firma? SSL ya garantiza la integridad de los datos. Pero pueden querer no repudio . Al usar SSL, el cliente y el servidor establecen un túnel para los datos; el cliente tiene alguna garantía de que habla con el servidor correcto; Si se produjo alguna autenticación (por ejemplo, con un nombre de usuario y una contraseña enviados a través del túnel SSL), el servidor también tiene cierta garantía de que habla con el cliente correcto. Los mecanismos de SSL también garantizan que los datos no sean escuchados o alterados durante el tránsito.

Lo que SSL no hace, sin embargo, es producir pruebas que podrían mostrarse a un tercero (por ejemplo, un juez). Si hay algún problema legal posterior entre el cliente y el servidor, el servidor no tiene nada que mostrar a un juez para demostrar que el cliente envió una solicitud específica. Cuando el servidor recibe la solicitud, está convencido de que proviene del cliente, pero el servidor no puede probar que no realizó una solicitud falsa para incriminar al cliente. Para tener tales pruebas, necesitas algo más. Que algo más es en parte técnico, en parte legal; la parte técnica es firmas digitales (la mitad legal depende mucho de la jurisdicción, por lo que no hay una respuesta absoluta aquí).

Resumen: la otra aplicación quiere una firma. SHA-256 es parte del proceso de firma, no un paso redundante. probablemente se solicita una firma para lograr algún tipo de no repudio, que el HTTPS no proporciona (aunque también podría ser una exageración de un sistema de autenticación).

    
respondido por el Thomas Pornin 28.08.2013 - 21:59
fuente

Lea otras preguntas en las etiquetas