Se requieren 2 teclas para acceder a un contenido

8

Necesito usar un servicio externo al que solo se pueda acceder por contraseña.

No me gusta la idea de almacenar la contraseña de texto sin formato en el servidor, pero AFAIK no hay mucho que pueda hacer.

Teniendo en cuenta que solo un cliente podrá acceder a este servicio (que tampoco puede conocer toda la contraseña), mi idea de intentar hacer las cosas un poco más difíciles para un pirata informático es almacenar "la mitad" de la clave en el servidor, y "la mitad" de la clave en el cliente.

Sé que esto tampoco puede ser perfecto, y que alguien que tenga acceso total al servidor podrá encontrar la contraseña, pero es mejor que nada. (Otras sugerencias son bienvenidas.)

Teniendo en cuenta los cambios de contraseña de vez en cuando , y que no quiero cambiar la "mitad del servidor" de esta contraseña, mi mejor idea hasta ahora es la siguiente:

  1. Genere una clave aleatoria K y guárdela en el servidor
  2. Encripta la contraseña (P) con K, generando E y dale E al cliente
  3. Ahora, cada vez que el cliente desea acceder al servicio, proporciona E y el servidor descifra E utilizando K.
  4. Cuando la contraseña (P) cambia (a P '), solo necesito cifrarla con K nuevamente y proporcionar la nueva E' al cliente.

¿Esto parece razonable? ¿Alguna otra idea?

    
pregunta Lem0n 18.01.2014 - 22:45
fuente

2 respuestas

1

No entiendo completamente el escenario, ¿podría proporcionar un diagrama ASCII simple?

De todos modos, no me gusta mucho la idea de darle E al usuario, ya que será una contraseña muy difícil de recordar, tal vez pueda hacerlo de otra manera, dele K al usuario (para que pueda elegir it) y almacenar E en el servidor.

Editaré mi respuesta después de la aclaración del escenario :)

    
respondido por el kiBytes 18.01.2014 - 23:52
fuente
1

Si no puede trabajar con un certificado de cliente (lo que sería preferible) entonces sí, esto puede ser una buena solución, pero recuerde si la aplicación es hackeada Se acabó el juego (como siempre).

    
respondido por el Erez 14.07.2015 - 13:01
fuente

Lea otras preguntas en las etiquetas