¿Por qué las firmas digitales no son la forma estándar de autenticar clientes web?

17

La web es un lío de esquemas de cookies incompatibles, requisitos básicos ("su contraseña debe contener letras, números y al menos un símbolo de! () -_. y debe comenzar con una letra, y una vez que la cambie no puede reutilizarlo ") y no es confiable (por no mencionar los protocolos de autenticación de terceros centralizados).

Me parece que la web sería más segura y estandarizada si las claves públicas se trataran universalmente como identidades en línea, como lo son las direcciones de correo electrónico actualmente. Autenticar un elemento de información sería tan simple como firmarlo criptográficamente. Incluso podría suceder en la capa de aplicación, por ejemplo, con un encabezado HTTP Signature: algorithm=sha256;encoding=base64;signed-digest=...;public-key=...

¿Es la criptografía de clave pública realmente inadecuada para servir la identificación y autenticación universal en todas las capas de Internet? ¿O es la autenticación no criptográfica un fallo de mercado?

    
pregunta Jordan 02.08.2012 - 01:19
fuente

4 respuestas

7

Eres rápido en señalar los defectos de las contraseñas, y tienes razón. Pero ningún otro método tiene todas las ventajas de las contraseñas, por lo que cualquier método de reemplazo conlleva beneficios y costos.

Sobre este tema, recomiendo el trabajo del grupo de seguridad en Cambridge . Puede que te interese la etiqueta de autenticación en su blog . Un documento reciente sobre el tema es La búsqueda para reemplazar las contraseñas: un marco para la evaluación comparativa de esquemas de autenticación web ) resumido en esta publicación del blog .

Lamentablemente, el documento no analiza el esquema que usted propone, con las claves privadas almacenadas en la PC del usuario y las claves públicas proporcionadas por el usuario en el momento de la inscripción como parte de su identidad. Pero podemos ver los criterios utilizados en el documento y ver cuáles fallan.

  • Escalable para usuarios : depende de si espera que los usuarios tengan una identidad única o una por servicio.
  • Nothing-to-Carry : siempre que acepte que las claves privadas se almacenarán en un teléfono móvil, su esquema tiene la propiedad Quasi-Nothing-to-Carry .
  • Easy-Recovery-from-Loss : ok, siempre y cuando la clave privada se use exclusivamente para la autenticación, cambiar la clave privada es tan fácil como restablecer la contraseña. (Los autores no consideran los restablecimientos de contraseñas dentro del alcance de su estudio).
  • Servidor compatible : no, como casi cualquier otra alternativa a las contraseñas, los servidores deben modificarse. Se admite que esto es más una cuestión de marketing que técnica.
  • Compatible con navegador : esto dependería de cómo se use la clave privada en el cliente (esto tiene implicaciones en la seguridad).
  • Resiliente a robo : las contraseñas no son muy resilientes, pero las contraseñas memorizadas son resistentes al robo, a diferencia de una clave almacenada en un dispositivo.

Los dos obstáculos principales que veo son el riesgo de robo de dispositivos y gestión de identidades múltiples. El robo de dispositivos se puede contrarrestar en cierta medida al proteger la clave privada con una contraseña, pero el archivo de la clave está sujeto a una búsqueda ilimitada de fuerza bruta de alta velocidad por parte del atacante, a diferencia de las contraseñas utilizadas para la autenticación en línea que pueden ser limitadas.

La administración de identidades múltiples es un problema mayor: significa que el usuario debe decidir si usar la misma identidad en múltiples sitios o no. Reutilizar la misma clave es conveniente, pero se puede descubrir de manera trivial, por lo que es un problema importante de privacidad. Si bien es una mala idea para la seguridad, los usuarios pueden (y lo hacen) reutilizar las contraseñas sin implicaciones de privacidad. El uso de diferentes identidades en diferentes sitios requiere una gestión incómoda de varias claves, lo que es más una carga que la que los usuarios típicos desean. Un mejor esquema combinaría las claves privadas con algún depósito de secretos, que comparte todas las dificultades con los administradores de contraseñas.

    
respondido por el Gilles 03.08.2012 - 20:13
fuente
9

La respuesta más simple es que la distribución de claves / certificados es un problema difícil y costoso.

Para que los certificados funcionen de manera segura, generalmente se necesitan algunas autoridades de confianza (típicamente CA) para firmar los certificados. ¿Quién haría esto? No se puede esperar que alguna entidad confiable apruebe y apruebe el certificado de cada usuario de Internet. Podría usar una red de confianza, pero esto tiene sus propias complicaciones (¿En qué firmas confiamos? ¿Los usuarios se preocupan por respaldar los certificados de otras personas? ¿Es seguro dejar que lo hagan?). ¿Qué pasa con la revocación de certificados? ¿Cómo podría manejar eso bien con millones de clientes?

    
respondido por el Oleksi 02.08.2012 - 01:23
fuente
3

Identidad federada es el nombre del problema que describe.

  

Una identidad federada en tecnología de la información es el medio para vincular la identidad y los atributos electrónicos de una persona, almacenados en múltiples sistemas de gestión de identidad distintos.

La razón por la que no ha sucedido en la web es que la web no fue diseñada desde cero, y es un problema muy difícil de resolver. La ruta de menor resistencia para la mayoría de los sitios web ha sido administrar su propia base de datos de contraseñas.

Para entender los problemas, considera que

  1. Los usuarios desean poder moverse de un dispositivo a otro, pero no hay soluciones de hardware fáciles para mover de manera segura los almacenes de llaves de un dispositivo a otro.
  2. Obviamente, una sola identidad no es más robusta contra el malware, solo puede convertirse en un punto único de falla. Si el malware entra en una máquina y roba una sola clave privada para toda la web (o una gran parte de ella), entonces está en problemas. El malware puede robar contraseñas mediante el registro de claves, pero solo para aquellos sitios que visita mientras persiste.
respondido por el Mike Samuel 02.08.2012 - 03:22
fuente
2

Se reduce a la economía.

La seguridad de la contraseña no es perfecta. Pero es lo suficientemente bueno para la mayoría de los problemas en el mundo en línea. También resulta ser lo suficientemente simple como para que la mayoría de las personas lo entiendan, incluso si muchas veces se olvidan de la contraseña. La seguridad de la contraseña también es implementable en casi cualquier plataforma e interfaz de usuario que se pueda imaginar. A menudo, es tan común que ya está incluido en su conjunto de herramientas.

La seguridad de estilo de certificado es muy costosa para levantarse, como Oleksi señala . Y también tendrías problemas para que la gente pueda usarlo. Especialmente en un mundo multidispositivo como el de hoy. Imagina la diversión de ayudar a tu madre a instalar su certificado en su auto inteligente.

    
respondido por el Wyatt Barnett 02.08.2012 - 03:38
fuente

Lea otras preguntas en las etiquetas