OpenID y seguridad

OpenID

OpenID es uno de los sistemas de identificación distribuida más conocidos y que aspiran a constituirse como una alternativa sencilla ante la creciente complejidad de nuestra vida online, que incluye la utilización de numerosas webs diferentes, cada una con su usuario y su contraseña. Es algo complejo, y por eso OpenID y su simplicidad (un usuario y una contraseña para todas las webs) tienen tanto poder de atracción. Nos hacen la vida (aparentemente) más sencilla, y nos encantan las cosas sencillas. OpenID vendría a sustituir a todos estos identificadores, para hacernos la vida más fácil (aunque ahora veremos que toda facilidad tiene un precio). Visto así, OpenID es el concepto de simplicidad aplicado a la identificación web.

Pero un problema complejo puede no tener una solución sencilla. Al menos, es posible que las soluciones sencillas no sean demasiado apropiadas y en el fondo estemos pagando un precio. La identificación web es un problema complejo, y simplificar demasiado ese proceso no está exento de riesgos.

Un concepto importante cuando hablamos de seguridad es la compartimentización: el aislamiento de unos elementos de un sistema respecto de otros, para evitar que un problema en uno de ellos se propague al resto. Un ejemplo de esta separación lo tenemos en los edificios más modernos, obligados por ley a instalar puertas antiincendios cada dos o tres viviendas. De esta forma, si una vivienda arde, el fuego queda recluido a una zona localizada del edificio, manteniéndose a salvo el resto. Ciertamente, es una cuestión de sentido común, y sin embargo no fue de uso obligatorio hasta que no hubo muchos, muchísimos incendios en edificios. Pero OpenID destruye este aislamiento estanco entre diferentes servicios web, al usar el mismo usuario y contraseña para cada web. Si tus datos de acceso caen en malas manos, de un soplo estás poniendo en peligro la seguridad de todas tus cuentas de usuario en diferentes servidores.

¿Qué solución se propone ante esto? Hay diferentes aproximaciones, evidentemente. Está claro que si no nos convence su modo de operación, hay que hacer algo. Tal como yo lo veo hay dos posibilidades: el rechazo total y la solución pragmática basada en niveles de seguridad (como en una cebolla con capas).

  1. El rechazo sin más a OpenID. Si no te gusta o no te parece seguro, no lo uses. Y se acabó. Sigues recordando cada usuario y contraseña que necesites. Es válido, pero yo voy a optar por la opción 2.
  2. Usar OpenID para lo menos importante. Si no queremos que por usar una aplicación web de importancia menor, que puede verse comprometida, nos puedan entrar en nuestro correo personal o en nuestro banco, no debemos usar OpenID en estos servicios (suponiendo que nos lo ofrecieran, que lo dudo). La idea es usar OpenID para actividades no críticas y en actividades en las que identificarte sea suficiente ventaja para el precio (en seguridad) a pagar. Si me preguntan a mí, yo uso OpenID para firmar comentarios en blogs… y para nada más. Así que resulta que este OpenID distribuido del que tanto se habla no soluciona el problema de los múltiples identificadores y que, para colmo, parchea mejor los servicios menos importantes, ¿para eso tanto alboroto?

¿Cómo hemos de recibir entonces la extensión/adopción de OpenID como identificador en cada vez más servicios web? Desde mi punto de vista: con mucha prudencia. Si me preguntan a mí, les diría que yo no lo usaría. Como argumento el problema de seguridad ya expuesto (que no me parece poco). Cuando webs como Facebook anuncian la adopción de OpenID, los análisis del moviemiento suelen dejar de lado este punto de vista. Y no uso Facebook, pero sin duda un servicio de este tipo, pese a no tener mi tarjeta de crédito, no es de los que yo catalogaría como de importancia menor: si todas tus comunicaciones están en Facebook, es vital que la identificación de esa web no se vea comprometida porque estás usando el mismo usuario y contraseña que ya usas en otra web.

Sabemos que muchos incendios hicieron falta para que la instalación de puertas antiincendios en viviendas fuera obligatoria, ¿estamos preparados para jugarnos toda nuestra identidad online a la carta única de un identificador que podría demostrarse inseguro o cuya seguridad podría verse comprometida, dejando vulnerables nuestra vida online en múltiples webs?

Aclaración antiparadoja, por si alguien no ha querido leer: mi blog acepta OpenID. Ya digo más arriba que usarla para firmar en blogs y demás actividades de importancia menor no me parece mal. Te aporta un beneficio (hay más fiabilidad de que el comentario lo hayas escrito tú) con muy poco precio (no estás comprometiendo cuentas de usuario en esa web, ni información personal especial almacenada en ese servidor). Para otros usos, para el resto, soy muy escéptico y resto mucho potencial a OpenID. Digamos que parece buena idea desde el punto de vista de la simplicidad, pero no tanto desde el punto de vista de la seguridad. Si en los servicios críticos no voy a usarlo, OpenID queda relegado a un papel de segundón bastante agrio.

Jose Alcántara
Resolviendo problemas mediante ciencia, software y tecnología. Hice un doctorado especializado en desarrollo de hardware para análisis químico. Especialista en desarrollo agile de software. Más sobre Jose Alcántara.

7 comentarios

  1. Entiendo todos los argumento Versvs, pero te pregunto, ¿aplica esto también al software? Quiero decir ¿deberíamos preocuparnos porque Linux y Apache gestionen gran cantidad de webs? Si hay un bug / error de seguridad en ellos… pues es un problema ¿no? ¿empezamos a decirle a la gente que diversificar es muy bueno y tal y que dejen Linux en el servidor? Al final es una decisión de compromiso ente valor y ventajas de soluciones generales y seguridad. Sólo un par de comentarios más:

    * OpenId no ofrece autentificación, es decir, sólo identifica no asegura quien está detrás. Por tanto sólo tiene sentido en contextos de información que no sea crítica. En eso creo que estamos 100% de acuerdo.

    * Al final el identificador universal acaba siendo el correo. Pierde el correo y perderás toda las cuentas que se pueden recuperar con él. OpenId introduce la posibilidad de automatizar más fácilmente si con el correo empleas contraseñas diferentes en cada servicios. En resumen, en ese escenario es más sensación de seguridad si el login es el correo o el user/pass se puede recuperar mediante él

    1. Gracias por el comment, sé que has dao muchas vueltas al tema de la identificación online.

      Entiendo lo del sistema único en el server, la amenaza es igual… porque se caen todas las webs, sin embargo no es lo mismo si no tengo toda mi info en esas webs compartimentización que diversidad, como dice Pere abajo. El tipo de amenaza es el mismo (como cuando todo el mundo usa Firefox, el día que encuentren un bug nos crujirán a todos). Pero con el tema de identificación en un servicio web yo sería muy muy cauteloso.

      Es un motivo por el que optar por usar OpenID como proxy para todos los servicios menores, pero no para los críticos. El justo equilibrio entre ventajas y riesgos que se pueden asumir.

      Y ya digo que no propongo darle de lado (yo mismo lo uso), pero igualmente jamás lo usaría para algo verdaderamente importante. En concreto, que Facebook añada OpenID creo que es un movimiento que, pese a lo que pudiera parecer, debería dar bastante igual porque ciertamente no usaría este sistema para identificarme en una web donde todo lo que aparezca/diga/haga va a estar directamente ligado a mi persona y me puede crear más problemas [sobre todo, diplomáticos, je!] que beneficios. Creo que es más seguro dejar el aseguramiento de la info de login en manos de FB y sólo de FB (que seguro tiene grandes profesionales para eso), al estilo viejuno, que dejarlo también en unas terceras manos, con lo cual el problema de posibles vulnerabilidades va escalando.

      Y de nuevo, gracias por el comentariu.

    2. compartimentación y diversidad no es lo mismo.

      por ejemplo, cada pestaña del google chrome utiliza los mismos algoritmos, no hay diversidad, pero si una falla, no cae todo el navegador, pq cada pestaña corre un proceso independiente.

      así, un sistema compartimentado es robusto.

      el de la diversidad es otro tema. como más rico sea el ecosistema, más elevado será el coste de atacar el sistema completo, ya que habrá que organizar ataques específicos para un mayor número de tipos de objetivo diferentes. esto es algo parecido a la seguridad por ocultación.

  2. Pues sí, yo también veo lo del OpenID como lo de tener el mismo PIN en todas las tarjetas de débito y crédito.

    Si por un lado promocionamos el anonimato, pero por otro necesitamos fehaciencia de la edad de los menores y por tanto de su identidad, ¿en qué punto estamos? (vía art. 13 RLOPD, Tuenti ha prometido a la AEPD resolver este asunto, ya veremos cómo, estoy intrigado),

    ¿Llegarán por fin las tecnologías de autenticación basadas en PKI aprovechando la presencia del DNIe?

    ¿Habrá que cambiar la regulación sobre el DNI para que sea obligatorio obtenerlo a los 14 años y no cuando se sea mayor de esta edad?¿O se entiende que a los 14 años y un día se está obligado a obtener el DNI? (ver art. 2 Real Decreto 1553/2005)

    Queda mucho por solucionar en este mundo.

    Salu2

  3. Salud

    Comparto casi en totalidad lo que acá se expone. La verdad es que he sido bastante reticente a esto del OpenID, por los peligros (fale, es palabra amarillista, digamos «pegas» si se quiere) que conlleva un identificador único. Y soy de los paranoicos que además usan varias cuentas de correo para darme de alta en los sitios, mientras menos relevantes van a cuentas que no suponen un «peligro» el que las pierda, así que OpenID va (iba) en contra de mi filosofía (y eso que siempre uso el mismo nick, la verdad).

    Ahora bien, para todas esas «pequeñas cosas» y para evitar mil registros usando la cuenta de correo más cochina que tenga (a más registros más spam, según qué sitios), lo de OpenID resulta práctico (como bien se indica en esa entrada). Y ya cuando montaron el chiringuito en el server cuasipersonal que uso, pues me animé a tener uno (bajo, además, mi propio dominio), y debo admitir que para usar ciertas webs (ya sea para comentar, descargar documentos, etc.) que tienen la manía de exigir registro pero se han sumado a OpenID es francamente práctico. No soy usuario de esas webs ni quiero serlo (al menos no de forma constante o bajo sus términos y cláusulas de uso -emmm, sí, hay veces que he decidido no registrarme tras leer las cláusulas-), así que OpenID cumple su función totalmente, me permite usar la web sin registrarme expresamente en ella.

    ¿Y todo esto para explicar -como si interesara- por qué estoy de acuerdo con la entrada? Pues sí, que es gratis hacer esto :P

    Hasta luego ;)

  4. yo con el admin de pass de firefox tengo todas las pass ahi y ningun drama, como es eso de dar el user y pass a un tercero???

  5. Por eso incluyo un enlace a este post en el mío, ya que hablo del uso de los perfiles de redes sociales como un sustituto al Open Id, algo que me parece más inseguro aún.

    Un saludo

Los comentarios están cerrados.

Este blog usa cookies para su funcionamiento.    Más información
Privacidad