Importantes preguntas acerca de OpenID después de las últimas vulnerabilidades

Algunas cuestiones de seguridad indican que OpenID es un método de autenticación poco fiable. Y seguirá siendo así a menos que algunas cosas cambien pronto.

Los certificados débiles emitidos por algunos proveedores de OpenID provocan que sea fácil generar sus claves privadas y, por lo tanto, también sencillo configurar un proveedor falso que se haga pasar por el auténtico. Combina esta debilidad con el ataque por envenenamiento de la caché de los DNS y será muy asequible preparar un ataque, al menos uno con un objetivo: capturar las credenciales de OpenID.

Laurie y Clayton han mostrado cómo las comunicaciones entre el usuario y el proveedor, así como las que se establecen entre este último y la parte confidente, están totalmente comprometidas, y resolverlo es realmente difícil. En gran medida, requiere que los administradores web mantengan unas políticas de actualización consistentes, que es como pedir a la gente que haga ejercicio o coma de forma saludable. Todo el mundo sabe que debería hacerlo así, pero la mayor parte de las personas hacen caso omiso a estos consejos.

Además de las vulnerabilidades, otra cuestión muy importante que agrava este problema consiste en que muchos clientes SSL no verifican las listas de revocación de certificados. De este modo, si un proveedor de OpenID con certificados débiles rechaza uno de su propiedad y genera uno nuevo, la parte confidente y los usuarios lo desconocerán debido a que no lo contrastan con la autoridad emisora.

La revocación de certificados es un auténtico fastidio. Es uno de esos aspectos de las infraestructuras de clave pública que resultan críticos pero que nadie toma en serio. Y es que muchos navegadores no soportan los mejores estándares para llevar este procedimiento a cabo, o incluso carecen de la capacidad de afrontar la verificación de revocaciones. Tanto Internet Explorer 7 como Firefox 3 hacen un buen trabajo, en cualquier caso, mucho mejor que sus predecesores. Pero si estás ejecutando Firefox 2 careces de comprobación de revocaciones, incluso aunque el navegador parezca soportarlo.

Otro tema consiste en que la lista de certificados rechazados constituye una forma terrible de realizar la comprobación de revocaciones. Consiste en una lista grande y relativamente estática de números de serie de certificados rechazados. Si cada verificación de un sitio HTTPS conlleva la comprobación de esa lista, el navegador y el sitio web parecerán lentos. A menos que los navegadores almacenen en una caché los resultados, ralentizando la propagación de los cambios en las listas.

Un nuevo estándar de verificación de revocaciones, conocido como OCSP (Protocolo on-line de comprobación del estado de los certificados), transforma todo esto es un simple proceso «pregunta-respuesta», avalado típicamente por un coste en comunicaciones más reducido y ahorrando al cliente cualquier análisis. Tanto Internet Explorer 7 sobre Windows Vista como Firefox 3 soportan tanto OCSP como las listas de revocación de certificados, aunque por defecto emplean OCSP. Opera 8.5 y posteriores soportan sólo OCSP y lo utilizan por defecto.