Transportar de forma segura el token secreto para que no se pueda utilizar incluso si se ha indagado.

0

Estamos trabajando en un proyecto escolar que maneja información confidencial (un administrador de contraseñas) que transita entre un cliente que cifra los datos y un servidor que no sabe nada sobre los datos. Para obtener los datos, el cliente necesita autenticarse a través de un nombre de usuario / contraseña y luego obtiene un token generado aleatoriamente.

Será una aplicación auto hospedada, y nuestro objetivo es tener algo seguro incluso si el usuario no se molesta en usar HTTPS. Así que queremos asegurarnos de que si alguien revisa el token, no podrá usarlo.

Pensamos que podríamos usar un mensaje firmado a través de OpenPGP, pero esto significa que cada mensaje debe ser diferente, y los datos más antiguos deben almacenarse en el lado del servidor para que no se pueda usar el ataque de reproducción.

Esta idea claramente no es la mejor. ¿Alguien tiene uno mejor?

    
pregunta Nathan J 19.02.2018 - 10:21
fuente

2 respuestas

1

TLS está diseñado para proteger los datos en el transporte. Le recomendaría que lo use, ya que es poco probable que encuentre una mejor alternativa por su cuenta. Forzar a todos los usuarios (usuarios finales, así como a los propios hosters) a usar TLS, y nunca permitir, por ejemplo. HTTP simple.

Como regla general, nunca debe intentar implementar "comunicación segura sin TLS". Muchos lo han intentado, pocos lo han conseguido.

    
respondido por el Anders 05.03.2018 - 16:11
fuente
0

Para hacer eso, puedes usar un algoritmo que usa también la dirección MAC de tu computadora para crear el token, por lo que si alguien descubre el método para romper tu token, también necesitarán tu dirección MAC.

    
respondido por el Jolly 05.03.2018 - 15:58
fuente

Lea otras preguntas en las etiquetas