¿Cuál es la alternativa a PasswordDigest cuando la contraseña en texto normal no se almacena en el productor de servicios web?

StackOverflow https://stackoverflow.com/questions/3109232

Pregunta

Escenario:

productor

servicio web sólo tienen hash SHA-1 de contraseñas almacenadas en la base de datos. Necesitamos para autenticar usuarios de los servicios Web mediante combinación del Usuario Nombre / contraseña.


Servicios web Security UsernameToken Perfil nos permite añadir cabeceras de jabón para este propósito:

  

El elemento es   introducido en el WSS: mensaje SOAP   Los documentos de seguridad como una forma de   proporcionar un nombre de usuario.

     

Dentro de elemento, una    elemento puede ser   especificado. Las contraseñas de tipo   PasswordText y son PasswordDigest   no se limita a las contraseñas reales,   aunque este es un caso común.    (146-151)

medios PasswordText tipo de contraseña que la contraseña se envía a través del cable como texto sin formato, que es un problema de seguridad si no estamos utilizando los mecanismos de seguridad del nivel de transporte. PasswordDigest evita el envío de contraseñas de texto sin formato y envía un hash. Pero para evitar ataques de repetición (i-e atacante mediante escuchas telefónicas para capturar la contraseña con algoritmo hash y volver a enviarlo con otra petición) la PasswordDigest añade una marca de tiempo y un número aleatorio a la contraseña antes de calcular el hash. Esta adición da como resultado restricción siguiente:

  

Tenga en cuenta que sólo puede PasswordDigest   ser utilizado si la contraseña de texto plano (o   equivalente contraseña) está disponible   tanto para el solicitante y el   recipiente. (196-197)


Sin embargo, en nuestro caso no tenemos contraseña en texto plano. Mi pregunta es: ¿qué se alterna tenemos otra que para hacer contraseñas de texto sin formato disponible en el servidor

¿Fue útil?

Solución

El SHA-1 puede ser perfectamente utilizado como una contraseña "texto claro".

  • Pedir al usuario la contraseña
  • convertirlo a SHA-1
  • Ejecutar punto a través de la PasswordDigest cosa
  • el servidor hará lo mismo con el SHA-1 en la base de datos
  • el servidor se encuentra que coinciden y permiten el acceso
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top