Ir al contenido

Digest access authentication

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 20:33 16 dic 2014 por Totemkin (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

Digest access authentication es uno de los métodos usados en servidores web para negociar credenciales, tal como nombre de usuario y contraseña, desde el navegador web. El segundo mecanismo es autentificación HTTP básica. El método «Digest access authentication» es usado para confirmar la identidad de un usuario antes servir información sensible, como el historio de transacciones de una banco. Se aplica una función hash a la contraseña antes de ser enviada sobre la red, lo que resulta más seguro que enviarla en texto plano como en la autenticación básica.

La «HTTP digest authentication» fue diseñada para ser más segura que los esquemas «digest authentication» tradicionales, es, por ejemplo "significativamente más fuerte que CRAM-MD5" (RFC 2617). Algunas de las fortalezas en seguridad de «HTTP digest authenticate» son:

  • La contraseña no es usada directamente en el «digest», sino HA1 = MD5(username:realm:password). Esto permite más implementaciones (ejemplo, JBoss) para guardar HA1 en lugar que la contraseña en texto pano.
  • El «Client nonce» fue introducido en RFC 2671, con lo que se previene que el cliente ejecute ataques «choosen-plaintext attacks» como «rainbow tables», que sí amenazan a los esquemas «digest authentication».
  • El «Server nonce» permite contener marcas de tiempo. Por lo tanto el servidor puede inspeccionar los «nonce attributes» enviados por los clientes previniendo «replay attacks».
  • El servidor también puede mantener una lista de problemas recientes para ser usados en los «server nonce values» previniendo el uso reiterado.