Hola:

Lo de los agujeros de Windows se extiende incluso a los productos estrella que tanto promociona Bill Gates. Si al desayunar caía en uno, después de comer me encontré con esto en MAKY PRESS 10/01/2002:

PASAPORTE .NET AL INFIERNO, POR GONZALO ALVAREZ MARAÑÓN

¿Se imagina disponer de un solo nombre de usuario y contraseña
que sirviera para entrar en todas partes? En el ordenador
personal, en el teléfono móvil, en el PDA, en las cuentas de
correo de Internet, en los sitios web de pago, en definitiva, en
todas las máquinas y servicios. Pues Microsoft ya lo ha imaginado
y hasta ha bautizado a la tecnología: Passport .NET.

En palabras de Microsoft, "Passport es un servicio en línea que
hace posible que pueda utilizar su dirección de correo
electrónico y una única contraseña para iniciar una sesión de
forma segura en cualquier servicio o sitio Web participante de
Passport."

Según Microsoft, gracias a Passport se implantará en Internet el
inicio de sesión único. Es decir, el usuario con una cuenta de
Passport entrega sus credenciales una sola vez en un solo sitio y
a partir de ese momento puede autenticarse de forma transparente
en todos los demás sitios que participen en la iniciativa. La
gran ventaja de este enfoque es que los usuarios solamente se ven
obligados a recordar una única contraseña, que les permitirá
autenticarse en múltiples sitios.

Passport fue diseñado para utilizar las tecnologías web
existentes en el momento actual con el fin de no reinventar la
rueda ni imponer tecnología propietaria. En concreto, la
redirección automática con HTTP, JavaScript, cookies y SSL. No
obstante, se indica que JavaScript no resulta estrictamente
necesario, aunque sí muy recomendable.

Cuando un usuario visita un sitio web participante de Passport y
necesita autenticarse para, por ejemplo, realizar una compra o
leer su correo, el sitio web del comerciante redirige el
navegador del cliente a un servidor de autenticación de Passport.
Este servidor le presenta al usuario una página de inicio de
sesión, cuyas credenciales serán protegidas a través de un canal
cifrado con SSL. Si las credenciales suministradas por el usuario
son válidas, el servidor de Passport redirige al usuario
nuevamente al sitio del comerciante, incluyendo la información de
autenticación en la cadena de redirección. Para evitar que sea
interceptada, esta información se cifra utilizando triple DES con
una clave sólo conocida por el servidor de Passport y del
comerciante. Una vez de vuelta en el servidor del comerciante,
éste le envía al navegador del usuario una cookie cifrada con la
información de autenticación.

De esta manera, en sucesivas visitas al sitio del comerciante ya
no es necesario autenticarse de nuevo, puesto que las
credenciales se leen de la cookie cifrada que el navegador envía
al sitio en cada petición.

Por otro lado, el servidor de Passport también le envía una
cookie cifrada con una misma clave maestra al navegador. Si el
cliente visita un nuevo sitio afiliado a Passport, no tiene que
volver a introducir su nombre de usuario y contraseña, ya que se
leen de la cookie cifrada que Passport le envió la primera vez.
En esta segunda ocasión y en las sucesivas, el servidor de
Passport verifica las credenciales de la cookie y si son
correctas redirige de nuevo al usuario al servidor del
comerciante sin pedirle nuevamente que se identifique.

Además de la autenticación única, Passport ofrece el servicio de
cartera en línea. La cartera de Passport permite almacenar
información sobre tarjetas de crédito y direcciones de envío y
facturación en una ubicación en línea supuestamente segura, junto
con el resto de la información del perfil. En teoría, sólo cada
usuario particular (y Microsoft) tiene acceso a la información de
su cartera de Passport. Cuando el cliente desea realizar una
compra en un sitio participante, puede tener acceso a esta
información y enviarla al vendedor instantáneamente y
supuestamente con total seguridad, sin tener que escribir de
nuevo la información de pago, sin más que pulsar un botón.

Pero no es oro todo lo que reluce. El 5 de noviembre de 2001,
Marc Slemko (http://alive.znep.com/~marcs/passport/) publicó un
ataque sobre Passport que obligó a Microsoft a cerrarlo durante
horas para mitigar (aunque no solucionar) el problema descubierto
y explotado por Slemko. El ataque constaba de cuatro pasos.

Primero, la víctima inicia una sesión con Passport para entrar en
su cuenta de Hotmail, la aplicación insignia de Microsoft para
ilustrar las bondades de su tecnología de inicio de sesión único
(Single Sign-In). La víctima además ha introducido sus datos
confidenciales en su monedero de Passport. Antes de que
transcurran 15 minutos desde que inició su sesión en Hotmail, lee
un mensaje de correo electrónico que le ha sido enviado por el
atacante y que esconde un IFRAME oculto, aprovechando un fallo en
la validación de entrada de Hotmail.

Como consecuencia de la lectura de este mensaje, el usuario
cargará en su navegador sin saberlo una página procedente del web
del atacante. Esta página contiene dos frames. El primero permite
robar la cookie de Passport con la contraseña cifrada del
usuario. El segundo frame explota un agujero de Cross-Site
Scripting (http://www.cert.org/advisories/CA-2000-02.html) que
permite ejecutar un script creado por el atacante para robar las
cookies.

Este script se ejecuta en el contexto de seguridad de la página
de Passport y como consecuencia se envían las cookies desde el
frame superior a un script en cgi en el servidor del atacante que
las almacena en un archivo.

Una vez en su poder con las cookies que identifican a la víctima
ante Passport, el atacante puede utilizarlas con un navegador
para acudir a un sitio participante de Passport y navegar hasta
la página de pago de una compra para que aparezca la información
confidencial de la víctima. La pobre víctima no se ha enterado de
nada. Simplemente leyó (sin hacer clic en ningún enlace) un
correo que le fue enviado.

Si este ataque parece demasiado complicado, existen otros,
publicados por Jouko Pynnonen el 8 de noviembre de 2001
(http://www.solutions.fi/iebug/) y por Slemko
(http://alive.znep.com/~marcs/security/iecookie2/), el 15 de
noviembre de 2001, que permiten robar las cookies de otras
maneras igualmente imaginativas desde un dominio distinto de
aquel para el que han sido emitidas. Estos ataques parecen haber
hecho temblar a Microsoft, hasta el punto de que ya Passport ha
dejado de funcionar. Ahora ya no recuerda la contraseña de los
usuarios y cada vez que se salta de un sitio participante de
Passport a otro, se le pide al usuario nuevamente la contraseña.

El sueño de Microsoft se ha hecho añicos. Adiós a Passport .NET.
Una vez más, se demuestra que vender la piel del oso antes de
cazarlo es, como mínimo, una mala manera de hacer marketing. La
Web es demasiado compleja y se presentan demasiados problemas
como para solucionarlos con dos cookies y un par de líneas en
JavaScript. El inicio de sesión único, esto es, un solo nombre de
usuario y una sola contraseña para un acceso universal a máquinas
y servicios, tendrá que esperar aún
más.

Saludos