 | Seguridad en servicios web XML Por Gonzalo Álvarez Marañón Los servicios web XML facilitan la comunicación entre sitios web y aplicaciones que necesitan acceder a los contenidos ofrecidos por el sitio web. Pero al exponer interfaces y estar disponibles para todo el mundo, se plantean nuevos retos de seguridad. En el año 96 se anunciaron con fuerza las tecnologías VRML que
cambiarían la percepción humana de la realidad. En el 98 parecía que el
modelo PUSH se comería el mundo. En el año 2000 WAP iba a suponer la
revolución más grande desde el invento de la rueda. ¿Dónde han quedado hoy
todas esas tecnologías? Apenas restan trazas de su presencia en Internet.
Sin duda, 2002 ha sido el año de los servicios web XML. Las mismas
consultoras que predijeron el éxito sin precedentes del m-commerce para el
2002 prevén ahora cifras disparatadas de uso de aquí al 2005. Pero, ¿qué son
los servicios web XML? De manera muy sencilla, se pueden definir como
aplicaciones web que interactúan con otras aplicaciones web utilizando
estándares basados en XML.
La necesidad de hacer que los servicios web fueran interoperables,
distribuibles, integrables y todas las calificaciones que se le puedan
ocurrir en esa línea, forzaron a los gigantes de la industria de TI
(Microsoft, IBM, Sun, Oracle, BEA) y grupos de trabajo del W3C a desarrollar
nuevas técnicas que dieran respuesta a los nuevos retos. Entre los
estándares que se están desarrollando destacan XML, un lenguaje de
definición de documentos que permite una forma estándar de representar datos
para su fácil intercambio; SOAP, un protocolo de intercambio de mensajes
para el acceso a objetos; WSDL, un lenguaje para describir de forma uniforme
los servicios ofrecidos y la forma de accederlos e interactuar con ellos; y
UDDI, que proporciona un servicio de registro de servicios web, que permite
localizar el servicio web que se ajusta a las necesidades deseadas.
La expansión del comercio electrónico y del B2B ha traído aparejadas
nuevas necesidades de interoperabilidad, comunicación e interacción entre
comercios. Como consecuencia, los servicios web han terminado por erigirse
en una necesidad comercial. Sus beneficios radican en su arquitectura
descentralizada, su profunda estandarización que los vuelve independientes
de la plataforma, su disponibilidad abierta al público y la facilidad y
uniformidad de acceso.
Sin embargo, si bien publicar una serie de servicios accesibles a todo el
mundo supone una clara ventaja comercial, también puede convertirse en un
problema de seguridad. ¿Cómo proteger adecuadamente esos servicios? ¿De qué
forma se verán amenazados el servidor y la red interna que ofrecen los
servicios? ¿Sirven de algo las tecnologías defensivas tradicionales basadas
en cortafuegos y detección de intrusos?
Estos y otros muchos interrogantes parecidos provocan la reluctancia de
muchas compañías a la hora de decidirse a ofrecer servicios web. Los
desarrolladores se enfrentan a una serie de desafíos complejos de abordar:
- Asegurar la autenticación mutua entre el consumidor que accede a los
servicios web y el proveedor de dichos servicios.
- Permitir la autorización del acceso a recursos y, más importante, a
operaciones y procesos en un entorno en el que debe administrarse y
controlarse el acceso de clientes, proveedores, vendedores, competidores y
hackers.
- Ofrecer la posibilidad de que un consumidor se identifique una sola
vez y pueda acceder a servicios en diversos sistemas, sin tener que
identificarse nuevamente en cada uno de ellos. Se está trabajando
activamente en el estándar SAML para la codificación de información de
autenticación y autorización en formato XML.
- Garantizar la confidencialidad de los datos intercambiados, ya que
SOAP no cifra la información, la cual viaja en claro a través de Internet.
El estándar ya firmemente establecido de creación de canales seguros SSL y
el cifrado de partes específicas de documentos mediante el cifrado XML son
las direcciones que se están siguiendo en este terreno.
- Garantizar la integridad de los datos, protegiéndolos frente a
alteraciones fortuitas o deliberadas. En este campo se está utilizando el
estándar de firmas XMLDSIG, que permiten la firma de partes específicas
del documento XML.
- Impedir el repudio de las operaciones, para lo cual nuevamente se
necesitan las firmas XML.
- En definitiva, protegerse frente a todo tipo de ataques. Aquí es donde
fallan los cortafuegos de red tradicionales, que actúan filtrando puertos
y direcciones IP. Los cortafuegos de aplicaciones XML recogen el relevo,
operando no a nivel de red, sino de aplicación. Dado que la comunicación
con los servicios web se realiza a través del puerto 80 ó 443, el filtrado
de puertos tradicional sirve de bien poco. Sin embargo, los cortafuegos de
aplicaciones XML son capaces de comprender los servicios web, las
peticiones de servicio y el contenido de los mensajes XML intercambiados.
Su uso en combinación con los cortafuegos tradicionales puede mejorar
sustancialmente la seguridad de los servicios web ofrecidos.
Otros estándares aún no mencionados, también asociados a la seguridad, en
los que diversos grupos de fabricantes están trabajando son XKMS, para la
gestión de firmas, certificados digitales y claves públicas; XACML, para la
definición de reglas y políticas de control de acceso a la información; y
las especificaciones WS-Security, que representan una colección de todos los
estándares XML anteriores, cubriendo casi todos los aspectos de la seguridad
en las transacciones de servicios web.
Entre la exageración exacerbada de las casas comerciales que buscan
promocionar sus productos y rentabilizar el esfuerzo de estandarización, y
el desdén y desconfianza de los analistas más escépticos, ciertamente que
los servicios web representan un importante paso hacia delante en la
evolución de Internet y la integración de servicios y aplicaciones. Se trata
aún de una tecnología inmadura, con beneficios inmediatos aún por cosechar,
lacrada por una falta de estandarización y compatibilidad a pesar de los
esfuerzos titánicos realizados, y una desconfianza natural ante la falta de
una infraestructura que garantice la seguridad, fiabilidad y consistencia.
El futuro de los servicios web es aún incierto. Publicado en Boletín del Criptonomicón #90 el 05/02/2003. Gonzalo Álvarez Marañón es Doctor en Informática e Ingeniero Superior de Telecomunicación. Es el Director de I+D del Instituto para la Seguridad en Internet. Ha trabajado como investigador del CSIC. Es conocido por sus trabajos sobre criptología, publicaciones en prensa, libros y presentaciones en congresos nacionales e internacionales. Este artículo ha sido leído en 13144 ocasiones y enviado por correo electrónico 13 veces. Ha sido valorado en 24 ocasiones, con una puntuación global de 4,0 puntos. Se han enviado 0 comentarios.
|