Firma digital: ¿Cómo sé lo que estoy firmando?

3

Supongamos que tengo que firmar un formulario PDF. Si estoy utilizando (digamos) Acrobat Reader y un token de seguridad de hardware, en algún momento se me solicitará un PIN para autorizar al token a firmar el documento.

  

¿Cómo puedo estar seguro de que el documento que se está enviando para su firma?   ¿El token es el mismo documento que se muestra para mí?

Si mi copia de Reader, o alguna parte del canal de comunicación entre Reader y el token se ve comprometida, me parece que podría terminar firmando cualquier cosa.

Me parece que para no ser falsificado de esta manera necesito un sistema completo, incluido el sistema operativo y el cliente de visualización de documentos para ser confiable. Una computadora de propósito general no funcionará.

Apreciaría cualquier sugerencia hacia dispositivos realmente existentes o investigación para resolver este problema

    
pregunta Jyotirmoy Bhattacharya 17.10.2015 - 04:50
fuente

2 respuestas

2

En general, usted (o cualquier otra persona con su clave pública) puede verificar una firma en otra máquina, lo que generalmente es lo suficientemente bueno para garantizar que los datos firmados no se alteraron. También puedes intentar llamar directamente al código de firma, pasar un búfer de bytes que controlas y asegurarte de que verifique la forma que esperas.

No sé exactamente cómo los PDF almacenan firmas digitales, por lo que no estoy seguro de cómo crearía o verificaría uno manualmente (sin usar el software en el que no confía). Sin embargo, definitivamente hay varios programas PDF, así que tal vez puedas usarlos para obtener un grado de confianza adicional.

Con todo lo dicho, explotar algo como esto sería muy difícil. Un atacante necesitaría:

  • Un documento (o posiblemente otro blob de datos) que quieren que firmes.
  • Una forma de obtener estos datos en su computadora y comprometer su herramienta de firma para que se sustituya por los datos que quería firmar.
  • Un documento que usted (intentará) firmar, pero que aceptará la firma no válida.
  • Una forma de obtener de usted la firma falsificada para que puedan agregarla a los datos elegidos de manera malintencionada.

Todo esto es posible , pero en general no será una amenaza significativa. Si desea estar seguro, verifique las firmas en sus datos, utilizando una computadora diferente y, idealmente, un programa diferente.

    
respondido por el CBHacking 17.10.2015 - 11:12
fuente
2

Además de la buena respuesta de @ CBHacking, me gustaría señalar que es teóricamente correcto al decir "Si mi copia de Reader, o alguna parte del canal de comunicación entre Reader y el token está comprometida, parece Yo que podría terminar firmando cualquier cosa ". Si la máquina que está utilizando tiene una puerta trasera o está comprometida de alguna otra manera, entonces toda su seguridad se ve comprometida, e incluso un cifrado o una firma sólidos no cumplirán su propósito.

Por esta razón, es importante utilizar lo más posible el software de código abierto, auditado y conocido, y en general tener un buen conocimiento de lo que se ejecuta en su máquina. No puede tener una seguridad perfecta, pero para la mayoría de las personas que no son excesivamente paranoicas, funcionará bien.

    
respondido por el dr01 17.10.2015 - 15:13
fuente

Lea otras preguntas en las etiquetas