¿Por qué el nombre de usuario y la contraseña? [duplicar]

2

Parece que la mayoría de los mecanismos de seguridad de hoy en día son una combinación de nombre de usuario y contraseña para la autorización. Quiero saber por qué hay 2 "claves", si lo desea. ¿No será suficiente una credencial?

Dicho de otra manera, ¿por qué no puedo (o no) ejecutar un formulario de inicio de sesión en un sitio usando solo un campo, la contraseña secreta?

    
pregunta Mario Campos 10.04.2013 - 18:04
fuente

5 respuestas

15

Deje un servidor que solo requiere una contraseña para abrir una sesión; sin nombre de usuario Imaginemos que el usuario 'Alice' se ha registrado, con la contraseña 'ILoveBillClinton'.

Ahora, un nuevo usuario quiere registrarse; llamémosle Bob Fuera de (mala) suerte, Bob elige usar la contraseña 'ILoveBillClinton' también. Tales colisiones suceden en la práctica; de hecho, incluso si los usuarios eligen contraseñas con 30 bits de entropía (una figura que ya es optimista), basta con tener alrededor de 30 mil usuarios para tener una buena probabilidad de desencadenar tal colisión (esto se llama Paradoja de cumpleaños ).

El servidor de registro tiene tres formas de manejar esta situación:

  1. El servidor advierte a Bob sobre la colisión. Luego, Bob se entera inmediatamente de que hay otro usuario con la misma contraseña y, como el servidor no requiere el nombre de usuario, solo la contraseña, Bob obtiene acceso inmediato a la cuenta de Alice.

  2. El servidor no advierte a Bob sobre la colisión, sino que simplemente ignora el registro. Cuando Bob realmente se conecta, tiene la sorpresa de ser recibido con una pancarta que dice "¡Hola, Alice!". Bob ha obtenido acceso inmediato a la cuenta de Alice.

  3. El servidor no advierte a Bob sobre la colisión, y reemplaza el registro de Alice con el registro de Bob. Bob tiene su propia cuenta, está bien. Pero cuando Alice vuelve a iniciar sesión, escribe su contraseña y se la saluda con "¡Hola, Bob!". Alice ha obtenido acceso inmediato a la cuenta de Bob.

Ninguno de estos métodos es satisfactorio.

La entrada del nombre de usuario no sería necesaria si las colisiones de contraseñas no ocurrieran (o ocurrirían solo con una probabilidad insignificante). Pero mientras las contraseñas sean elegidas por mentes humanas y almacenadas en cerebros humanos, ocurrirán colisiones y se necesitará un nombre de usuario (o ID de usuario o cualquier otro valor discriminante similar).

Editar: como @mikeazo alude a, si el usuario no elige las contraseñas, sino que las genera el servidor de registro , entonces el servidor puede imponer la singularidad y evitar este problema. Sin embargo, en la práctica, a los usuarios humanos no les gustan las contraseñas generadas por máquinas.

Además, la falta de un nombre de usuario impide que el salating específico del usuario, que es un problema para el almacenamiento de contraseñas, siempre que las contraseñas tengan una entropía lo suficientemente baja como para ser escaneadas exhaustivamente (consulte esta respuesta para obtener detalles sobre cómo se debe introducir una contraseña, incluida la sal). Esto sucede incluso si las contraseñas son elegidas por el servidor (con unicidad forzada). A menos que pueda convencer a sus usuarios de que recuerden las contraseñas largas y aleatorias que no eligieron ...

    
respondido por el Thomas Pornin 10.04.2013 - 19:18
fuente
14

Parece que para que las credenciales de inicio de sesión sean efectivas, deben ser únicas y secretas. Por lo tanto, si ve la tupla (nombre de usuario, contraseña) como una credencial de inicio de sesión, el nombre de usuario es la parte única y la contraseña es la parte secreta.

Cambiando esto a simplemente (contraseña), perderá la singularidad a menos que se aplique durante el registro. Sin embargo, si ese es el caso, cuando le niegas a alguien la entrada diciendo que su contraseña no es única, ahora les has dicho que pueden usar esa contraseña para iniciar sesión en el sistema como otra persona.

La probabilidad de que esto suceda depende de cómo se eligen las contraseñas. Si, por ejemplo, cuando un usuario se registró, generó una contraseña aleatoria de 80 caracteres para ellos, la posibilidad de colisión es muy pequeña. Por otro lado, si les permite elegir su contraseña, la posibilidad de colisión es muy alta. Por lo tanto, tendemos a satisfacer el requisito de singularidad con cierta información pública (por ejemplo, nombre de usuario o dirección de correo electrónico) y dejar que el usuario elija la contraseña.

    
respondido por el mikeazo 10.04.2013 - 18:46
fuente
2

Los nombres de usuario son para la identidad.

Se utiliza una contraseña u otro tipo de factor para autenticar una identidad.

Sirven para diferentes propósitos. Es posible que desee cambiar una contraseña utilizada para validar su identidad, pero ¿desea cambiar también su nombre de usuario cada vez que necesite cambiar su contraseña? Al mismo tiempo, es posible que desee cambiar su identidad, pero utilice la misma información para validar su nueva identidad.

En algunos casos, una cadena críptica larga puede ser suficiente para identificarlo sin preocuparse por la autenticación de la identidad. Si existen requisitos de confidencialidad bajos o en otros casos especiales, como el restablecimiento de contraseñas, el riesgo de que el identificador aleatorio largo sea adivinado es bajo o la probabilidad de adivinarlo en un período de tiempo suficiente es baja.

    
respondido por el Eric G 10.04.2013 - 21:27
fuente
1

Otro rasgo es que un hacker tendría muchas probabilidades de entrar en una cuenta. Debido a que con el nombre de usuario y la contraseña, el pirata informático debe encontrar la combinación correcta [nombre de usuario] + [contraseña], de lo contrario, si solo hay la contraseña, el pirata informático podría intentar ingresar una contraseña aleatoria en la página de inicio de sesión sin la restricción de nombre de usuario.

    
respondido por el Nicola Pesavento 10.04.2013 - 19:10
fuente
0

Tu nombre es tu identificación. La identificación es generalmente pública (o al menos fácil de descubrir). Con frecuencia, su identificación es su dirección de correo electrónico, que es muy fácil de descubrir. Su identificación es una afirmación de que su cuerpo de carne coincide con un perfil digital que el sitio web ha almacenado.

Su contraseña es su autenticación. La autenticación por contraseña se basa en un valor secreto que solo usted conoce (y que se refiere al sitio web).

Si el sitio solo usó su ID, entonces ) CUALQUIER PERSONA ( que sabía su dirección de correo electrónico podría iniciar sesión en su cuenta bancaria, su cuenta de gmail, su cuenta de pila de intercambio, su declaración de impuestos, etc.

Si el sitio utilizara solo su autenticación en secreto, sería muy difícil mantener el secreto. Además, si usted y yo elegimos la misma contraseña, tendríamos el mismo perfil. Cualquier pirata informático que ejecute una lista de términos del diccionario estaría casi garantizado para entrar en alguna cuenta. Y el hecho de que las personas encuentren las contraseñas difíciles de administrar casi garantiza que las personas elegirán la misma contraseña. (Las estadísticas muestran que hay una alta concentración).

Para obtener más información, consulte 800-63 de NIST

    
respondido por el Mark C. Wallace 10.04.2013 - 19:35
fuente

Lea otras preguntas en las etiquetas