Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 2
Unidad 2
El diseño del software tiende a ser cada vez más modular. Las aplicaciones se componen
de una serie de componentes (servicios) reutilizables, que pueden encontrarse
distribuidos a lo largo de una serie de máquinas conectadas en red.
Los Servicios Web nos permitirán distribuir nuestra aplicación a través de Internet,
pudiendo una aplicación utilizar los servicios ofrecidos por cualquier servidor conectado a
Internet.
Para que esto se cumpla, debemos entender que cuando visitamos una página web desde
nuestro navegador, es en realidad un servidor web el que envía los componentes
individuales de dicha página directamente a nuestro ordenador. Esto quiere decir que
para que una página web sea accesible en cualquier momento, el servidor web debe estar
permanentemente online.
Toda página accesible en Internet necesita un servidor especial para sus contenidos web.
A menudo, las grandes empresas y organizaciones cuentan con un servidor web propio
para disponer sus contenidos en Intranet e Internet. Sin embargo, la mayoría de
administradores recurren a los centros de datos de proveedores de alojamiento web para
sus proyectos. Independientemente de si tenemos un servidor web propio o de si
alquilamos uno externo, siempre necesitaremos un software para gestionar los datos de
nuestra página y mantenerla actualizada. En este sentido, tienes la posibilidad de elegir
entre varias soluciones de software para servidores web diseñadas para diferentes
aplicaciones y sistemas operativos.
MODULO II: SERVICIOS WEB
Cuando conectamos a un servidor web desde nuestro navegador, el servidor nos devuelve
la página web solicitada, que es un documento que se mostrará en el navegador para que
lo visualice el usuario, pero es difícilmente entendible por una máquina. Podemos ver esto
como web para humanos. En contraposición, los Servicios Web ofrecen información con
un formato estándar que puede ser entendido fácilmente por una aplicación. En este caso
estaríamos ante una web para máquinas.
Para entenderlo mejor, una de las principales funcionalidades que proporcionan los
servicios web, es el intercambio masivo de información. Este servicio proporciona una
puerta de entrada o salida de información a la empresa que los implementa. Nos
podemos encontrar por ejemplo con grandes corporaciones que ya los implementan.
Facebook, Google y Microsoft, entre otras.
Aunque parezca que esto queda muy lejos del usuario de a pie, sin darnos cuenta estamos
utilizando estas herramientas con el simple hecho de realizar el inicio de sesión en una
aplicación a través de nuestra red social favorita, por ejemplo, cuando iniciamos se Inicia
sesión en Facebook.
Características de los Servicios Web
Un servicio debe poder ser accesible a través de la Web. Para ello debe utilizar
protocolos de transporte estándares como HTTP, y codificar los mensajes en un
lenguaje estándar que pueda conocer cualquier cliente que quiera utilizar el
servicio.
Un servicio debe contener una descripción de sí mismo. De esta forma, una
aplicación podrá saber cuál es la función de un determinado Servicio Web, y cuál
es su interfaz, de manera que pueda ser utilizado de forma automática por
cualquier aplicación, sin la intervención del usuario.
Debe poder ser localizado. Deberemos tener algún mecanismo que nos permita
encontrar un Servicio Web que realice una determinada función. De esta forma
tendremos la posibilidad de que una aplicación localice el servicio que necesite de
forma automática, sin tener que conocerlo previamente el usuario.
Los protocolos utilizados en los Servicios Web se organizan en una serie de capas:
Capa Descripción
Pero en estos formatos es donde encontramos una de las desventajas. Precisamente, XML
es un formato más bien voluminoso que genera grandes paquetes de datos, lo que puede
crear problemas en las conexiones de red lentas. Otra posibilidad que permite conectar a
dos sistemas a través de Internet es las API web. Aunque, por lo general, son más rápidas,
someten a cliente y servidor a especificaciones más concretas, con lo que la
interoperabilidad se ve limitada.
Sin embargo, para que esta comunicación sea posible, los servicios web estandarizados
hacen uso de los siguientes componentes:
XML (Extensible Markup Language): La sigla XML podría traducirse como “Lenguaje de
Marcas Extensible”. Se trata de un lenguaje utilizado para estructurar la información en
cualquier documento que contenga texto como por ejemplo los archivos de configuración
de una aplicación específica o una base de datos. Sin embargo, XML no es un lenguaje de
marcado.
Mediante la implementación del estándar XML el usuario puede definir sus propios
marcadores, como por ejemplo, el llamado “CDF” (Channel Definition Format), que fue
integrado a Microsoft Internet Explorer en su versión 4 constituye una aplicación XML.
Sin embargo, la implementación más usual del estándar XML es utilizarlo para definir la
estructura de los documentos. El lenguaje XML no sólo fue diseñado para su aplicación en
servicios web, sino que también es un estándar para el intercambio de información entre
diferentes instancias. Puede ser utilizado para estructurar bases de datos, editores de
texto u hojas de cálculo. XML representa la interfaz ideal entre las páginas web y las bases
de datos.
Es por ello que hoy XML es el complemento necesario para que todo funcione del modo
en que lo conocemos y queremos que funcione.
Características de XML
Sin duda alguna, la mejor característica de XML reside en su diseño, el cual ha sido
enfocado desde un principio para asegurar un excelente desempeño, simplicidad de
implementación y sencillez de uso en servicios de la web, logros que alcanzó con absoluto
éxito, sobre todo en el ámbito de la publicación de medios electrónicos a gran escala.
Para conseguir este objetivo, fue fundamental que el formato elegido fuera el de texto,
hecho que posibilita que el contenido de los documentos XML sea entendible tanto para
las personas como para los dispositivos. Además ofrece soporte para todos los idiomas, lo
que sin dudas permitió que se expandiera tan rápida en que lo hizo.
Sin embargo, XML ofrece otras características, todas tan importantes e interesantes como
las mencionadas,tales como:
Es una arquitectura más abierta y extensible. No se necesita versiones para que
puedan funcionar en futuros navegadores. Los identificadores pueden crearse de
manera simple y ser adaptados en el acto en internet/intranet por medio de un
validador de documentos (parser.
Mayor consistencia, homogeneidad y amplitud de los identificadores descriptivos
del documento con XML (los RDF Resource Description FrameWork), en
comparación a los atributos de la etiqueta del HTML.
Integración de los datos de las fuentes más dispares. Se podrá hacer el intercambio
de documentos entre las aplicaciones tanto en el propio PC como en una red local
o extensa.
Datos compuestos de múltiples aplicaciones. La extensibilidad y flexibilidad de este
lenguaje nos permitirá agrupar una variedad amplia de aplicaciones, desde páginas
web hasta bases de datos.
Gestión y manipulación de los datos desde el propio cliente web.
Los motores de búsqueda devolverán respuestas más adecuadas y precisas, ya que
la codificación del contenido web en XML consigue que la estructura de la
información resulte más accesible.
Se desarrollarán de manera extensible las búsquedas personalizables y subjetivas
para robots y agentes inteligentes. También conllevará que los clientes web
puedan ser más autónomos para desarrollar tareas que actualmente se ejecutan
en el servidor.
Se permitirá un comportamiento más estable y actualizable de las aplicaciones
web, incluyendo enlaces bidireccionales y almacenados de forma externa (El
famoso epígrafe "404 file not found" desaparecerá).
El concepto de "hipertexto" se desarrollará ampliamente (permitirá denominación
independiente de la ubicación, enlaces bidireccionales, enlaces que pueden
especificarse y gestionarse desde fuera del documento, hiperenlaces múltiples,
enlaces agrupados, atributos para los enlaces, etc. Creado a través del Lenguaje de
enlaces extensible (XLL).
Exportabilidad a otros formatos de publicación (papel, web, cd-rom, etc.). El
documento maestro de la edición electrónica podría ser un documento XML que se
integraría en el formato deseado de manera directa.
Las ventajas que nos ha ofrecido XML a través de su implementación son muchas y muy
valiosas, tanto para los desarrolladores como para los usuarios, ya que mientras los
primeros pueden sacar una amplia ventaja de su implementación para que las cosas sean
más simples y rápidas, los segundos disfrutan de estas mejores cada día en sus
aplicaciones.
Algunos de los motivos que llevaron al desarrollo del estándar XML eran la necesidad de
implementar mejoras en el uso de HTML, sobre todo en los temas relacionados con los
estilos aplicados en los sitios, los problemas y limitaciones que existían cuando se tenía
que compartir datos entre diferentes dispositivos tales como computadoras y
smartphones, y además las dificultades que había para mostrar la información contenida
en la implementación en diferentes tipos de navegadores o aplicaciones que necesitaran
visualizar estos datos, para que en todos ellos se pudieran visualizar del mismo modo.
Ejemplo de XML
Supongamos que tenemos un pequeño negocio de venta de videojuegos nuevos y usados,
y estamos almacenando una lista con detalles de los juegos en nuestro catálogo:
1. <negocio>
2. <videojuego estado="nuevo">
3. <titulo>Dragon Quest IX</titulo>
4. <desarrolladora>Level 5</desarrolladora>
5. </videojuego>
6. </negocio>
En el ejemplo anterior se utilizó jerarquía para almacenar información. La raíz de los datos
es la etiqueta <negocio>; luego tenemos un elemento con un atributo en la etiqueta
<videojuego> y el atributo estado=»nuevo»; finalmente, las etiquetas <titulo> y
<desarrolladora> contienen información en forma de texto.
En el que se define un servicio que proporciona el método getTemp, que toma como
parámetro una cadena con el nombre del área que queremos consultar, y nos devuelve un
valor real.
En los elementos message vemos que tenemos dos mensajes: los mensajes de entrada y
salida de la operación getTemp de nuestro servicio. El mensaje de entrada contiene un
dato de tipo string (el parámetro del método), y el de salida es de tipo double (la
temperatura que devuelve el servicio).
Por último en el apartado service se especifica el puerto al que podemos conectar para
usar el servicio, dando la URL a la que nuestro cliente deberá acceder.
SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): es una
serie de protocolos estándar sobre los que se establece el intercambio de datos mediante
XML.
Cuando hablamos de Servicios Web normalmente nos referimos a RPC, por lo que nos
centraremos en este tipo de mensajes.
Puede ser utilizado sobre varios protocolos de transporte, aunque está especialmente
diseñado para trabajar sobre HTTP.
Un sobre (Envelope), que describe el mensaje, a quien va dirigido, y cómo debe ser
procesado. El sobre incluye las definiciones de tipos que se usarán en el
documento. Contiene una cabecera de forma opcional, y el cuerpo del mensaje.
Una cabecera (Header) opcional, donde podemos incluir información sobre el
mensaje. Por ejemplo, podemos especificar si el mensaje es obligatorio (debe ser
entendido de forma obligatoria por el destinatario), e indicar los actores (lugares
por donde ha pasado el mensaje).
El cuerpo del mensaje (Body), que contiene el mensaje en sí. En el caso de los
mensajes RPC se define una convención sobre cómo debe ser este contenido, en el
que se especificará el método al que se invoca y los valores que se pasan como
parámetros. Puede contener un error de forma opcional.
Un error (Fault) en el cuerpo del mensaje de forma opcional. Nos servirá para
indicar en una respuesta SOAP que ha habido un error en el procesamiento del
mensaje de petición que mandamos.
Hemos visto como los mensajes SOAP nos sirven para intercambiar cualquier documento
XML entre aplicaciones. Pero puede ocurrir que necesitemos enviar en el mensaje datos
que no son XML, como puede ser una imagen. En ese caso tendremos que recurrir a la
especificación de mensajes SOAP con anexos.
Lo más importante es que UDDI contiene información sobre las interfaces técnicas
de los servicios de una empresa. A través de un conjunto de llamadas a API XML
basadas en SOAP, se puede interactuar con UDDI tanto en tiempo de diseño como
de ejecución para descubrir datos técnicos de los servicios que permitan invocarlos
y utilizarlos. De este modo, UDDI sirve como infraestructura para una colección de
software basado en servicios Web.
¿Por qué UDDI? ¿Por qué resulta necesario un registro de este tipo? Teniendo en
cuenta que existe una colección de software de miles (quizás millones) de servicios
Web, se nos plantean varias cuestiones difíciles:
¿Cómo se descubren los servicios Web?
¿Cómo se categoriza la información de forma coherente?
¿Cómo repercute esto en la localización?
¿Cómo afecta a las tecnologías de propietario? ¿Cómo se puede garantizar la
interoperabilidad del mecanismo de descubrimiento?
¿Cómo se puede interactuar en tiempo de ejecución con este mecanismo de
descubrimiento cuando mi aplicación depende de un servicio Web?
CARACTERISTICAS DE UDDI
La W3C nace con un objetivo claro, ser un foro de discusión abierto y fomentar la
interoperabilidad en la evolución técnica que se produce en el mundo Web. En un periodo
de tiempo menor a diez años, se han generado más de cincuenta especificaciones técnicas
que están orientadas a la estandarización de la infraestructura WEB. Se definen como
objetivos a largo plazo en W3C:
Acceso Universal. Permitir que el acceso a la web sea para todos. Realizando un
esfuerzo por las tecnologías que consideran las diferentes lenguas, culturas,
capacidades, educación, recursos disponibles o las disminuciones físicas o
psíquicas de cada uno.
Web Semántica. Ofrecer y desarrollar avances en el mundo WEB que permitan a
los usuarios disfrutar del mejor uso posible de los recursos disponibles en la web,
adaptándolo a las necesidades de cada usuario.
Web de Confianza. Crear un desarrollo web, que permita realizar desarrollo
manteniendo unos criterios comerciales y sociales adecuados.
IBM/Microsoft/Verisign/RSA Security
Mediante un proceso de colaboración entre las principales compañías dentro del ámbito
IT, siendo encabezadas por Microsoft e IBM, se han propuesto una serie de
especificaciones acerca de cómo afrontar la seguridad en los servicios Web. Dentro de
este conjunto de especificaciones se encuentra la especificación WS-Security
estandarizada por OASIS.
WS-Security
Si un mensaje debe pasar a través de varios puntos para llegar a su destino, cada punto
intermedio debe reenviarlo a través de una nueva conexión SSL. En este modelo, el
mensaje original del cliente no está protegido mediante cifrado puesto que atraviesa
servidores intermedios y para cada nueva conexión SSL que se establece se realizan
operaciones de cifrado adicionales que requieren una gran cantidad de programación
En primer lugar, resulta más flexible puesto que se pueden firmar o cifrar partes
del mensaje en lugar del mensaje completo. De este modo, los intermediarios
pueden ver las partes del mensaje destinadas a ellos. Un ejemplo de esto sería un
servicio Web que enruta mensajes SOAP y puede inspeccionar las partes no
cifradas de los mismos para determinar a dónde enviarlos, mientras que otras
partes permanecen cifradas.
En segundo lugar, los intermediarios pueden agregar sus propios encabezados al
mensaje y firmarlos para llevar a cabo el registro de auditorías. Por último, esto
implica que el mensaje protegido se puede enviar a través de diferentes
protocolos, como SMTP, FTP y TCP, sin necesidad de basarse en el protocolo para
la seguridad
WS-Policy
WS-Trust
WS-Security, realiza una definición amplia de los mecanismos básicos para proporcionar
un entorno de trabajo seguro en el intercambio de mensajes. Esta especificación,
partiendo de los mecanismos básicos, va añadiendo primitivas adicionales junto con
extensiones para estandarizar el intercambio de tokens de seguridad. Con ello se busca
optimizar la emisión y propagación de las credenciales de los servicios dentro de
diferentes dominios de confianza.
WS-Federation
Una federación es una colección dominios de seguridad que han establecido relaciones en
virtud del cual un proveedor de uno de los dominios puede proporcionar acceso
autorizado a los recursos que gestiona sobre la base de la información de los participantes
(como puede ser su identidad) la cual debe ser afirmada por un proveedor de identidad
(Security Token Service).
WS-Federation es la especificación que describe la forma de llevar a cabo la
intermediación entre los participantes. Esta especificación tiene como objetivo principal
ayudar a la definición de los mecanismos de federación de dominios de seguridad, ya sean
distintos o similares. Para ello, define , categoriza y intermedia con los niveles de
confianza de las identidades, atributos, y autenticación de los servicios Web de todos los
colaboradores.
WS-Addressing
De dónde viene
(Dirección postal) La dirección a donde se supone que va
(Att) La persona o servicio específico en esa dirección que se supone va a recibirlo
Dónde debería ir si no puede ser remitido como estaba previsto
Todo esto lo incluye en la cabecera del mensaje SOAP ()
Provee información que caracteriza al mensaje y que no se puede modificar a lo largo del
transporte del mismo. Puede contener las siguientes propiedades:
Siguiendo el modelo W3C, vamos a realizar un pequeño estudio sobre los requisitos de
seguridad que se encuentran enumerados dentro de la arquitectura de referencia de los
servicios web y señalando las diferentes tentativas de ataque que también aparecen
dentro de la especificación. Se ofrecerán soluciones para las mismas.
Autenticación de los participantes. Los servicios Web por definición tienen mucha
heterogeneidad, lo que provoca que los sistemas de autenticación tengan que ser
flexibles. Si imaginamos un servicio Web que necesita comunicarse con otro
servicio, este podría solicitar al demandante credenciales junto a una
demostración de que es el propietario de las mismas. Resulta necesario conseguir
un estandarizamiento de los protocolos y en los formatos a utilizar. Otro problema
remanente es definir un modelo de autenticación Single Sign-On de forma que un
servicio que necesita comunicarse con otros servicios Web,no tenga la necesidad
de estar continuamente autenticándose y logre completar el proceso de negocio
en un tiempo de respuesta aceptable.
Autorización. Con frecuencia, es necesario aplicar unos criterios que permitan
controlar el acceso a los diferentes recursos. Es necesario definir los usuarios que
pueden realizar diversas acciones sobre los diferentes recursos. En combinación
con la autenticación, permite a las identidades conocidas realizar las acciones para
las que tienen permisos. Con frecuencia se definen políticas de acceso en base a
jerarquías.
Confidencialidad. Es necesario asegurar que el contenido incluido en los mensajes
que se intercambian se mantiene como información confidencial. Es muy habitual
emplear técnicas de cifrado, ya muy extendidas. Obviamente, la confidencialidad
del mensaje va más allá que el canal por el que es transmitido.
Integridad. Esta propiedad garantiza que la información que se ha recibido, es
exactamente la misma que se envió desde el cliente.
No repudio. En una comunicación que se realizan transacciones, es necesario
registrar que las mismas se han producido y registrar el autor que lo ejecutó. En el
caso de los servicios Web, trasladamos esta política la uso del servicio. Se
comprueba que cierto cliente hizo uso de un servicio a pesar de que éste lo niegue
(no repudio del solicitante) así como probar la ejecución se llevó a cabo (no
repudio del receptor).
Disponibilidad. Uno de los ataques más frecuentes a las aplicaciones se basa en la
denegación de servicios. Se lanzan múltiples solicitudes falsas para inundar el
servicio y provocar su caída. Es necesario contemplar la disponibilidad, como
punto muy importante en el diseño de servicio web, ya que permiten cierta
redundancia de los sistemas.
Audibilidad. El registro de las acciones en los servicios Web permite mantener una
traza de las mismas de manera que se puedan realizar análisis posteriores de los
datos.
Seguridad extremo-a-extremo. Cuando se ejecuta un servicio es necesario
garantizar la seguridad durante todo el recorrido que efectúan los mensajes. Dado
que normalmente existen routers como intermediarios de la comunicación, esto
provoca un aumento de la política de seguridad que garantice que se realiza el
transporte de forma segura y confirme la seguridad de los intermediarios. Es
importante disponer de un contexto de seguridad único y que incluya el canal de
comunicación. Para conseguirlo, es necesario aplicar diversas operaciones de
carácter criptográfico sobre la información en el origen. De esta manera se evita
una dependencia con la seguridad que se configure por debajo de la capa de
aplicación y se garantiza los servicios de seguridad
Requisitos de Seguridad
Mecanismos de autenticación
Autorización
La autorización resulta necesaria para efectuar un control sobre el acceso a los recursos.
Una vez se ha realizado la autenticación sobre el participante y se conoce su identidad, se
utilizarán los mecanismos de autorización para realizar las comprobaciones pertinentes y
asegurar el acceso adecuado al recurso por parte del participante.
Se crean políticas que determinan los privilegios de los participantes. Mediante la gestión
de la confianza, se permite la interacción entre un solicitante y un proveedor sin
referencias previas pero que atendiendo a las credenciales que se intercambian
determinen un nivel de confianza asumible por ambos. De esta manera se permite un
proceso de autenticación sin que haya existido la necesidad de desvelar las identidades de
los participantes en el proceso
El proceso que mantiene la integridad de los datos, garantiza que la información que se ha
enviada no ha sufrido ninguna transformación sin que se haya detectado. La
confidencialidad, asegura los principios de intimidad de la información. Es decir solo se
permite el acceso a la información a aquellos participantes con permisos para hacerlo.
Con frecuencia, se usan técnicas de cifrado para conceptos de confidencialidad y la firma
digital para temas de integridad.
No repudio
Rastreabilidad
Es necesario ajustar trazas que aseguren poder conocer información del acceso una vez se
haya producido este, y comprobar el comportamiento que ha tenido el usuario que ha
realizado el acceso. Son de especial importancia para verificar la integridad del sistema.
Normalmente las trazas las generen los determinados "agentes de auditoria" que pueden
realizar monitoreo, observar recursos y el comportamiento de otros agentes, y validar el
cumplimiento de las políticas establecidas. Con frecuencia , no es posible prevenir la
violación de las diferentes obligaciones pero si un agente de auditoria detecta una brecha
podría activar un plan de repulsa o determinar otro tipo de actividades.
Si se han definido arquitecturas que están basadas en Servicios Web, están deben permitir
la definición de políticas de seguridad y comprobar su cumplimiento en las diversas
plataformas y con las diversas variaciones de acceso al servicio.
Uso de políticas
Los mensajes que se envían en la comunicación de los servicios Web atraviesan los
cortafuegos y pueden ser modificados a través de los diferentes puertos y protocolos
existentes. Es necesario, para asegurar la calidad de seguridad en los servicios Web, crear
políticas corporativas para integrarse con las diversas políticas de los proveedores y con la
gestión de la confianza planificada.
Políticas distribuidas
Con frecuencia, se asocian las políticas de seguridad a los proveedores o a los clientes o a
un mecanismo de descubrimiento. Se utilizan para controlar y definir la metodología de
acceso de las peticiones y las respuestas a las mismas, dadas por los involucrados en la
comunicación. Estas políticas son validadas en ejecución dentro del contexto de la
comunicación. Cada parte involucrada debe realizar la validación de sus políticas.
Políticas de confianza
Defiendo de manera simple una política de confianza como una política distribuida que
asegura a dos entidades que afrontan una interacción sin conocerse previamente.
Mediante el uso de credenciales, asumen el nivel de seguridad que pueden soportar. En
ocasiones, la definición de estas políticas implica a terceras entidades de forma recursiva ,
que influyen en la decisión. Un ejemplo, "yo confió en esta entidad, si mis dos compañeros
confían en ti y tu confías en mis dos compañeros"
Confianza y Descubrimiento
Si imaginamos una situación donde un cliente descubre que existe un servicio Web muy
necesario para él, y el proveedor del mismo, es una entidad desconocida hay que
preguntarse qué nivel de confianza puede otorgar el solicitante a ese servicio. Esta
situación es especialmente importante en el caso que se esté manejando información muy
sensible, ya que se está corrigiendo un riesgo grave.
Privacidad
La privacidad se expresa mediante las diferentes políticas definidas por los diferentes
propietarios de los datos. Con frecuencia, los propietarios son los usuarios de los servicios
Web. Es necesario asegurar que los privilegios y derechos de los usuarios son respetados
Si hablamos de fiabilidad dentro de los servicios Web, podemos realizar una clasificación
en función de la predictibilidad y la fiabilidad de:
Amenazas de seguridad
Tipos de ataques
Los tipos de ataques que se listan a continuación están extraídos de la especificación W3C.
La integridad de los mensajes se proporciona mediante la firma digital del fichero XML
junto con tokens de seguridad para asegurar que el mensaje es transmitido sin
modificaciones. El mecanismo de integridad está diseñado para soportar múltiples firmas
por diferentes actores y se puede extender para soportar nuevos mecanismo de firma.
Integrando XMLSignature, según lo establecido por la especificación WS-Security se
minimiza la repercusión de estos ataques.
Ataques a la confidencialidad
Claves públicas
Autenticación mutua fuerte
Claves secretas (secretos con alta entropía)
Passwords (secretos con baja entropía)
Otros criterios, como el reconocimiento de voz u otras características biométricas
La integridad de las claves públicas debe asegurarse de alguna manera, pero éstas no
exigen ser secretas, mientras que los passwords y las claves de secreto compartido tienen
el requerimiento adicional de la confidencialidad. Las claves públicas pueden ser
verificadas por una autoridad de certificación (CA), cuya clave pública sea distribuida a
través de un canal seguro (por ejemplo, integrada en el navegador web o en la instalación
del sistema operativo).
Suplantación de identidad (Spoofing)
Para evitar ataques de spoofing exitosos contra nuestros sistemas podemos tomar
diferentes medidas preventivas; en primer lugar, parece evidente que una gran ayuda es
reforzar la secuencia de predicción de números de secuencia TCP. Otra medida sencilla es
eliminar las relaciones de confianza basadas en la dirección IP o el nombre de las
máquinas, sustituyéndolas por relaciones basadas en claves criptográficas; el cifrado y el
filtrado de las conexiones que pueden aceptar nuestras máquinas también son unas
medidas de seguridad importantes de cara a evitar el spoofing.
Denegación de servicio
El objetivo es mantener un servicio activo para que los usuarios legítimos puedan acceder
a él. Los ataques se centran en destruir la disponibilidad de un servicio. Su objetivo es
interrumpir las operaciones de un servicio dejándolo desconectado.
Ataque de repetición
El esquema del que parte la estructura de los servicios Web, tiene unas características
propias de acceso a la información, sobre el intercambio de la misma, sobre la autonomía
de la información que difieren de lo establecido en los modelos de seguridad
tradicionales. De hecho, esto provoca la necesidad y el desafío de modificar mecanismos
que afectan a la integridad y confidencialidad de la información que es enviada por el
canal del servicio Web. Si analizamos la estructura de los sistemas de seguridad
perimetrales (cortafuegos, sistemas anti-intrusos) no están preparados para asegurar
arquitecturas SOA. Estas arquitecturas son eminentemente dinámicas y son transmitidas a
través de protocolos no asegurados como HTTP. Si aplicamos criterios que controlan la
comunicación punto a punto (TLS,SSL), no son válidos para porque no aseguran la
aplicación completa.
A continuación se ofrece una tabla resumen con los principales elementos de seguridad
dentro de los servicios Web, así como las recomendaciones al respecto.
Tendencias de desarrollo y aspectos futuros de los Servicios Web
Hoy en día, con los acelerados cambios que la tecnología está provocando en todas
nuestras actividades, algunos nos preguntamos: ¿cómo será dentro de 10 o 20 años
Internet? ¿Qué nuevos usos le podremos dar? ¿Qué innovaciones podemos esperar en
materia de aplicaciones y servicios? ¿Cuáles y cómo serán los dispositivos que utilizaremos
para interconectarnos al Internet del futuro?
Para responder a esas preguntas, y buscando que las respuestas sean lo más asertivas
posibles, evitando caer en predicciones que puedan estar lejos de una realidad objetiva,
es muy importante analizar los avances actuales en la materia, así como tomar en cuenta
la opinión de expertos como lo son Vinton G. Cerf y Robert E. Kahn, considerados padres
del Internet y, con esta información, hacernos una idea de cómo y en qué puede
transformarse en algunos años la red de redes.
Para ponernos en contexto, los expertos concuerdan en que hacer predicciones a más de
10 años es muy arriesgado; sin embargo, el avance tecnológico y la tendencia hacia una
sociedad más digitalizada y conectada, están provocando una transformación acelerada
del Internet, lo que a su vez genera que los servicios y aplicaciones soportados en esta red,
progresivamente aceleren su innovación y desarrollo.
Si entendemos entonces el Internet del futuro como un término global aplicado para
agrupar actividades políticas, regulatorias, socioeconómicas y tecnológicas enfocadas a
fortalecer el desarrollo de su entorno, podemos pronosticar que el Internet pasará a ser
un servicio básico como lo es hoy la electricidad, disponible para todos, y tendrá presencia
en todas partes, es decir, una Internet ubicua.
El futuro del Internet estará íntimamente ligado con el futuro de la humanidad, por lo
cual, los avances actuales relacionados con la industria 4.0, el big data, el cómputo en la
nube y el Internet de las Cosas propiciarán un entorno de oportunidades de negocios
donde cualquier nuevo dispositivo o tecnología lanzada al mercado, que cumpla con los
protocolos y estándares establecidos, tendrá las capacidades para conectarse a la red,
integrando servicios de aprendizaje automático que gestionen sistemas inteligentes que
permitan a sus usuarios hacer uso inmediato de toda la información recopilada, utilizando
ambientes de realidad aumentada o mixta, integrando herramientas diseñadas a la
medida de cada usuario para la gestión de su privacidad, con tecnologías de autenticación
y ciberseguridad muy sofisticadas.
El Internet del futuro buscará acabar con las fronteras en todos los aspectos, habilitando
servicios de conexión con diversas tecnologías (fibra óptica, satelital y LiFi, entre otras) a
velocidades muy superiores a las actualmente disponibles, permitiendo a toda persona y
dispositivos enlazarse sin importar en qué lugar de la Tierra se encuentren.
Google ha definido siete puntos a considerar para el desarrollo del Internet del futuro: un
Internet móvil que proporcione conexiones a cada vez más dispositivos; una red
omnipresente donde todos los puntos del planeta tengan acceso; una navegación de alta
velocidad con grandes anchos de banda; cómputo en la nube operando 24x7; iMarketing
personalizado basado en perfiles inteligentes; disponibilidad en tiempo real de todos los
servicios públicos y privados; y una evolución hacia las redes sociales inteligentes.
Los expertos señalan cinco retos principales que el Internet del futuro deberá afrontar:
El futuro del Internet no está escrito en piedra, ya que es flexible y dinámico. Todos
participamos de alguna manera en su proceso de construcción, motivo por el cual su
futuro se encuentra en constante evolución, generando nuevas oportunidades de
negocios globales para toda empresa interesada en participar en su desarrollo.
https://www.ionos.es/digitalguide/servidores/know-how/servidor-web-definicion-
historia-y-programas/?
https://tugesto.com/blog/web-service/
http://uddi.xml.org/uddi-org
https://desarrolloweb.com/articulos/1574.php3
https://www.w3c.es/
https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
https://www.ibm.com/developerworks/library/specification/ws-secmap/#download