¿Permitir el acceso a un usuario creado mediante programación sin comprometer la seguridad?

4

Estoy escribiendo una aplicación que requiere múltiples niveles de usuarios, donde un usuario es administrador y agrega usuarios esclavos.

Parece que no puedo encontrar una manera de permitir el acceso seguro a los usuarios esclavos. El envío de una contraseña no es seguro, ya que los correos electrónicos no están encriptados, y también podría enviar la contraseña si estoy enviando un enlace de una sola vez.

Puedo reducir la ventana de forma exponencial haciendo que se cambie una contraseña temporal en el primer inicio de sesión, enviando un correo electrónico a un enlace de uso único, configurando un tiempo de espera en cualquiera de estos, o cualquier combinación de todos estos ...

Pero la ventana todavía parece extremadamente grande en comparación con el cifrado asíncrono, por ejemplo.

Podría requerir una comunicación SSH o algo así, pero obviamente esto no es ni siquiera pragmático.

¿Cuál es el estándar de la industria y qué solución, si la hay, puede proporcionar una experiencia pragmática y fácil de usar, así como un canal seguro?

    
pregunta Allenph 28.12.2016 - 00:55
fuente

2 respuestas

1

El envío de contraseñas en un correo electrónico no es bueno en ninguna circunstancia. Como veo, lo mejor que puede hacer es enviar un enlace de una sola vez en el correo electrónico para que el usuario navegue a su interfaz externa (¿web?) Y cree una contraseña. Para asegurar el correo electrónico, puede usar PGP. Esta es una buena guía.

Esto requiere cierta carga de configuraciones en el extremo del usuario. Si está enviando correos a usuarios conocidos (por ejemplo, en un entorno corporativo) esto es factible. Pero si está enviando correos al público en general, no creo que PGP sea una opción viable.

    
respondido por el user3496510 28.12.2016 - 02:01
fuente
1

La seguridad tiende a ser un compromiso con la usabilidad. ¿Cuán secretos son los datos que manejan los usuarios esclavos en una cuenta nueva, exactamente? ¿Vale la pena entregar la contraseña a los usuarios finales, verificar su ID y luego grabar la nota?

El correo electrónico no es perfecto, pero ¿es realmente eso inseguro? ¿Qué sucede si solo envía correos electrónicos a los proveedores con los que se comunica de manera segura, o incluso si configura su intercambiador de correo para que requiera tls y un certificado válido? El correo electrónico de Amazon SES a, digamos, Gmail, probablemente sea bastante ajustado.

Enviar un enlace para crear una nueva cuenta / contraseña sería mucho mejor que enviar credenciales permanentes.

¿Es suficiente detectar que una cuenta ha sido robada del correo electrónico más tarde cuando el usuario legítimo no puede iniciar sesión y se lo comunica al usuario administrador?

¿Podrían las nuevas cuentas permanecer en un estado provisional hasta que el administrador esté seguro de que el nuevo usuario real ha creado una contraseña?

    
respondido por el trognanders 26.02.2017 - 11:12
fuente

Lea otras preguntas en las etiquetas