¿Por qué debo firmar datos que ya están cifrados? [duplicar]

15

Mi pregunta es sobre la diferencia entre la firma y el cifrado. ¿Por qué seguirías firmando algo si ya lo vas a cifrar con PKI?

¿El cifrado PKI no proporciona inherentemente autenticación, integridad y no repudio?

== añadido más tarde ===

¿Qué sucede si uso mi clave privada para cifrar mi mensaje? Entonces cualquiera puede descifrar este mensaje con mi clave pública, por lo que no es privado, pero todos los que lo saben, saben que es de mi parte porque fue descifrado por mi clave pública. Además, todos saben que no fue manipulado precisamente porque podían descifrarlo

    
pregunta Jaap 29.08.2014 - 12:06
fuente

4 respuestas

34

Encryption proporciona confidencialidad, es decir, garantiza que solo el destinatario deseado podrá descifrar el mensaje.

Firma proporciona autenticación, es decir, permite que el destinatario compruebe que el mensaje fue enviado por un remitente en particular y no fue modificado.

Una forma de ver esto en el contexto de PKI es la siguiente: el cifrado solo requiere el conocimiento de la clave pública del destinatario, de modo que cualquiera puede cifrar un mensaje. La firma, por otro lado, requiere el conocimiento de la clave privada del remitente, por lo que solo el remitente puede firmar el mensaje. Como puede ver, el cifrado de clave pública no proporciona integridad ni autenticación.

    
respondido por el Andrey 29.08.2014 - 12:16
fuente
9

El cifrado con la clave pública de alguien proporciona confidencialidad, pero no proporciona autenticación o integridad.

En una arquitectura PKI, usted cifra su mensaje con la clave pública del destinatario. Esto solo demuestra que conoces su clave pública, pero nada sobre ti. Cuando su clave pública sea de hecho pública, puede ser cualquier persona, incluido un atacante que haya interceptado el mensaje (aunque no pueda leerlo) y lo haya reemplazado con otro mensaje cifrado con la misma clave pública.

Pero al agregar una firma con su propia clave privada (que luego se puede verificar con su clave pública), usted prueba su propia identidad, lo que hace imposible manipular el mensaje.

Tenga en cuenta que esto solo se aplica cuando la clave pública del destinatario es realmente pública. Cuando la clave "pública" es un secreto compartido solo entre usted y el destinatario, la firma se vuelve realmente redundante.

    
respondido por el Philipp 29.08.2014 - 12:30
fuente
6

Si dejara una caja cerrada en tu porche en medio de la noche y la encadenara a tu puerta y dejara caer una llave en la ranura de correo, sería seguro. Nadie más podría acceder a ella y solo usted podría abrirla, pero no tendría forma de saber quién la dejó para usted. Podría haber sido dejado por un ganador del premio Clearing House o por un terrorista, simplemente no lo sabe. El cifrado hace esto, impide que otras personas accedan a tu mensaje, pero no tienes forma de saber quién fue.

Si en cambio, el encargado de la Cámara de Compensación del Editor dejó el cheque, firmó y se sentó frente a su puerta. Usted sabría que fue de ellos porque lo firmaron y el cheque era válido, pero cualquiera podría venir y tomarlo porque no está protegido. Esto es lo que hace la firma. Prueba que un mensaje vino de una persona en particular, pero no proporciona protección para el contenido del mensaje.

Lo que realmente quieres es un paquete firmado que se encuentra en la puerta. De esa manera, nadie más puede decir de qué se trata, pero puede verificar de quién era y que no ha sido manipulado.

    
respondido por el AJ Henderson 29.08.2014 - 15:40
fuente
2

La forma en que lo veo es que si tengo un mensaje cifrado que es una serie de bytes, puedo descifrarlo con su clave pública. Sin embargo, cualquier serie de bytes es "válida" como resultado de su cifrado. Esto significa que si alguien modifica el mensaje, todavía puedo descifrarlo, simplemente no obtendré lo que cifró originalmente. La persona que hizo la manipulación probablemente no sabrá qué efecto tuvo su manipulación en el mensaje (a menos que tuviera la clave privada), pero puede garantizar que habrá cambiado el mensaje. A veces (por ejemplo, si solo se trata de datos binarios en lugar de un mensaje de texto), no sabrá que se ha manipulado porque no tiene nada con qué compararlo.

Lo que puede hacer la firma es garantizar que el mensaje no haya sido alterado. Toma un hash del mensaje original y luego lo cifra con su clave privada. Ahora, cuando decodifiqué el mensaje, puedo codificarlo y compararlo con el hash que me diste. Si coinciden, entonces sé que a) el contenido no se ha modificado (porque los hash coinciden) yb) que es de usted porque el hash fue cifrado por su clave privada.

    
respondido por el Chris 29.08.2014 - 16:15
fuente

Lea otras preguntas en las etiquetas