¿Cómo probar que un usuario es realmente el autor de ciertas acciones?

3

TL; DR: ¿Cuál es la mejor y la mayoría de las formas "por el libro" de un no repudio de origen?

Tengo un sistema en el que los usuarios pueden realizar acciones (registrar / cancelar registro / ...)

Esas acciones están firmadas por mis usuarios con las claves privadas que poseen. También guardan sus claves públicas en su perfil.

Lo que impide que un usuario me diga que realicé acciones con el nombre h {es, er}, fingiendo que no saben "algo de clave pública / privada" (en caso de que sean maliciosos).

Lo que pasa es que nunca podré demostrar que DID posee la clave privada. Podrían tirarlo (o simplemente no revelarlo).

Pensé que podría hacerles una pregunta que

  • solo ellos saben
  • es difícil de adivinar
  • fácil de verificar

Pero parece que no puedo averiguar qué pregunta podría ser.

Pensé que podía pedir una foto de su Id / Licencia de conducir tomada frente a una imagen generada por la aplicación en su pantalla. ¿Pero es "prueba suficiente"?

    
pregunta Guillaume Lhermitte 30.05.2017 - 12:45
fuente

3 respuestas

2

No estoy seguro de ver totalmente el problema. ¿Le preocupa que un usuario pueda reclamar que utilizó su clave privada porque tiene acceso a todas las claves de usuario?

Lo ideal es que las claves privadas se almacenen una para cada usuario y no en el propio sistema. No conozco los entresijos de su sistema, pero ¿no podría hacer que cada operación requiera que el usuario adjunte su clave privada para completar la operación (esto podría incluso ser manejado por el lado del cliente en algunas situaciones para que pueda mantener una verdadera Enfoque "No confíes en nadie"

Si está preocupado, los usuarios dirán que nunca han tenido la clave privada. ¿Como exigir a los usuarios que descifren algo que su sistema cifra utilizando las claves públicas?

    
respondido por el ISMSDEV 30.05.2017 - 12:56
fuente
2

Esa es una pregunta interesante, pero se puede leer en 2 niveles diferentes.

  1. ¿Cómo puedo demostrar que el propietario de esa clave / certificado X509 es M. X?

    Bueno, no puedes ... a menos que tengas procedimientos que lo demuestren. Por ejemplo, para los certificados de usuario x509, a menudo hay una operación cara a cara en la que el firmante controla la identidad del destinatario y lo hace firmar manualmente un documento que afirma que recibió un certificado para una clave que él (y solo él) posee de Y El día del mes, año. Ahora puede probar (incluso ante un tribunal legal) que el propietario de la clave del certificado es M. X. Pero esto supone que usted no puede conocer la clave.

  2. ¿Qué puede hacer el administrador? de un sistema hacer en un archivo clave?

    Lamentablemente muchas cosas! Un administrador puede reescribir el archivo, poner una nueva clave en él, cambiar las fechas (acceso, modificación y creación) del archivo. Lo único que un administrador no puede hacer es leer el contenido de un archivo cifrado si el secreto no está en el sistema.

Eso significa que si desea poder probar que un usuario es el autor de una acción, deberá configurar un procedimiento que garantice que no puede conocer la clave privada, pero que conoce la clave pública (los certificados x509 pueden ser una buena solución). Pero la clave nunca debe existir en forma descifrada en su máquina, ya que usted, como administrador, podría obtenerla incluso desde una memoria de proceso o a través de enlaces de llamadas al sistema.

Esa es la razón por la que a menudo se dice que un usuario no debe usar una máquina en la que no confía, y no puede confiar en una máquina si no puede confiar en el administrador. Dicho de otra manera, nunca encontrará una manera puramente técnica para demostrar que un usuario ha perpetrado una acción si la clave está en un disco en el que tiene privilegios de administrador. La solución aquí es legal y no técnica. La única forma técnica requiere que la clave solo esté instalada en la máquina del usuario y no en la suya.

Por cierto, la pregunta secreta es también un callejón sin salida. El usuario podría decir: sí, respondí esto a esa pregunta, pero se trataba de esa otra acción ... Una vez que te ha dado la respuesta secreta, el secreto ya no es suyo, sino que se comparte entre él y tú.

    
respondido por el Serge Ballesta 30.05.2017 - 15:00
fuente
0

No hay una solución puramente técnica para esto. El no repudio es un asunto legal, por lo que necesita una combinación de medidas técnicas y no técnicas para hacer cumplir el no repudio.

La medida técnica principal es usar criptografía asimétrica, como ha mencionado. Pero las medidas técnicas no son suficientes para el no repudio.

La medida no técnica necesaria es la capacitación del usuario sobre cómo funciona la criptografía asimétrica y cómo se utiliza en el sistema para lograr el no repudio y un contrato firmado por el usuario que comprenda los materiales de capacitación y que cualquier uso indebido de su clave privada. seria su responsabilidad Lo que esto le permite hacer es impedir que el usuario se declare ignorante de las medidas técnicas. El contrato debería permitirle al menos cobrar al usuario por negligencia grave si ha usado la clave en formas que obviamente hubieran sido prohibidas por el material de capacitación o si hubieran filtrado su clave privada, deliberadamente o no, y también Facilite la prueba de malicia, ya que cuenta con un registro del conocimiento del usuario y puede probar con mayor facilidad que muchas acciones no podrían haberse realizado sin una intención maliciosa deliberada.

    
respondido por el Lie Ryan 02.06.2017 - 07:45
fuente

Lea otras preguntas en las etiquetas