miércoles, 6 de mayo de 2015

6.3 SEGURIDAD E INTEROPERABILIDAD.

6.3 SEGURIDAD E INTEROPERABILIDAD.


Se define Servicio Web como una interfaz modulable que permite que se invoque, se publique y se localice dentro de la red.
Para ello emplea el intercambio de mensajes de XML estandarizados. Los Servicios Web son capaces de ofrecer algunas ventajas características con respecto a los modelos tradicionales de arquitectura distribuidas comoCORBA y EJB. Se pueden reseñar algunas representativas como:
- Permite la coexistencia a diferentes tecnologías
- Comunicación entre aplicaciones que se han desarrollado mediante diferentes lenguajes de programación
- Permite la transmisión mediante el protocolo HTTP
- Estandariza la localización de los servicios, etc…
Los Servicios Web se basan en estándares y protocolos abiertos. A continuación se describen los estándares de forma breve:
1-eXtensible Markup Language (XML): Basado en marcas y etiquetas, es muy frecuente el uso de este metalenguaje para crear otros lenguajes con entidad propia. Su simpleza, facilita su uso fundamentalmente en el intercambio de una gran variedad de datos.
2.Simple Object Access Protocol (SOAP): Este protocolo permite realizar intercambios de información entre diversas aplicaciones situadas en entornos que están descentralizados y se encuentran distribuidas. Los diferentes mensajes, codificados en XML, se integran dentro de mensajes SOAP. Hay multitud de tipos de mensajes que se pueden integrar dentro de SOAP (respuestas tras el uso de un servicio, información de errores, estado del servicio, enlaces, datos distintos al formato XML (MIME). SOAP es independiente del sistema permitiéndole comunicar aplicaciones que se encuentren implementadas en diferentes lenguajes de programación. También puede atravesar cortafuegos corporativos y ofrece la interoperabilidad de las aplicaciones.
3.Universal Description Discovery and Integration (UDDI): Se encarga de la publicación, localización y enlazado de los Servicios Web. El principal objetivo que tiene UDDI es permitir, mediante el uso de unos criterios de selección para la búsqueda, el localizarse a las diferentes entidades de negocio
4.Web Service Description Language (WSDL): Es el estándar que se utiliza para describir un Servicio Web. Esta basado en XML y permite especificar cómo deben representarse los parámetros, tanto de entrada como de salida, en una invocación de tipo externo al servicio. Permite comprender cómo operar con el Servicio Web, a los diferentes clientes:

La característica principal de un Servicio Web es que le permite cierto grado de flexibilidadaccesibilidad y interoperabilidad. Esto permite que los desarrolladores abstraigan la lógica de negocio y se centren en el desarrollo del servicio sin preocuparse de los criterios anteriormente citados.
Como objetivos básicos a cubrir por la seguridad de un servicio WEB
El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) define interoperabilidad como la habilidad de dos o más sistemas o componentes para intercambiar información y utilizar la información intercambiada.
La característica principal de un Servicio Web es que le permite cierto grado de flexibilidad, accesibilidad y interoperabilidad. Esto permite que los desarrolladores abstraigan la lógica de negocio y se centren en el desarrollo del servicio sin preocuparse de los criterios anteriormente citados.
Los protocolos de seguridad para servicios web comienzan por la especificación WS-Security que define una arquitectura basada en señales para comunicaciones seguras. Existen seis principales especificaciones de componentes construidas sobre esa base:
  • WS-Policy y sus especificaciones relacionadas, que definen las reglas de políticas sobre la interacción de servicios.
  • WS-Trust, que define el modelo confiable para el intercambio seguro.
  • WS-Privacy, que define cómo se mantiene la privacidad de las informaciones.
  • WS-Secure Conversation, que define cómo establecer una sesión protegida entre servicios para intercambiar datos usando las reglas definidas en WS-Policy, WS-Trust, y WS-Privacy.
  • WS-Federation, que define las reglas de identidad distribuida y de la gestión de esa identidad.
  • WS-Authorization, que maneja el procesamiento de autorización para acceder a los datos e intercambiarlos.

Características

Se ofrece un repaso de las principales iniciativas, en forma de consorcios u organizaciones, que están implicadas en los servicios Web en general y en el aspecto de su seguridad en particular.

Consorcio World Wide Web (W3C)

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.

OASIS (Organization for the Advancement of Structured Information Standards)

OASIS, es un organismo global muy centrado en temas de comercio electrónico. Es un organismo sin ánimo de lucro. Oasis trata de establecer estándares de forma abierta y mediante procesos ligeros aplicados por sus miembros, tratando temas referentes a la seguridad, servicios Web, edición digital, tratamiento de XML, etc.

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 como 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
La especificación WS-Security, describe la forma de asegurar los servicios Web en el nivel de los mensajes, en lugar de en el nivel del protocolo de transferencia o en el de la conexión. Para ello, tiene como objetivo principal describir la forma de firmar y de encriptar mensajes de tipo SOAP. Las soluciones en el nivel de transporte actuales, como SSL/TLS, proporcionan un sólido cifrado y autenticación de datos punto a punto, aunque presentan limitaciones cuando un servicio intermedio debe procesar o examinar un mensaje. Por ejemplo, un gran número de organizaciones implementan un corta fuegos (firewall) que realiza un filtrado en el nivel de la aplicación para examinar el tráfico antes de pasarlo a una red interna.
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
El estándar WS-Security se basa en estándares y certificaciones digitales para dotar a los mensajes SOAP de los criterios de seguridad necesarios. Se definen cabeceras y usa XML Signature para el manejo de firmas en el mensaje. La encriptación de la información la realiza mediante XML Encryption. Hace uso del intercambio de credenciales de los clientes.
WS-Addressing, desempeña un papel fundamental en la seguridad en el nivel de los mensajes puesto que proporciona los mecanismos para enviar los mensajes de un modo independiente del transporte. Esto permite enviar un mensaje seguro a través de cualquier transporte y enrutarlo con facilidad. La protección del mensaje en lugar del uso del protocolo de transporte ofrece varias ventajas:
  • 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
Como funciona WS-Security
WS-Security define la forma de conseguir integridad, confidencialidad y autenticación en los mensajes SOAP. Se realiza de la siguiente manera:
  • La autenticación se ocupa de identificar al llamador.
  • WS-Security utiliza tokens de seguridad para mantener esta información mediante un encabezado de seguridad del mensaje SOAP.
  • La integridad del mensaje se consigue mediante firmas digitales XML, que permiten garantizar que no se han alterado partes del mensaje desde que lo firmó el originador.
  • La confidencialidad del mensaje se basa en la especificación XML Encryption y garantiza que sólo el destinatario o los destinatarios a quien va destinado el mensaje podrán comprender las partes correspondientes.
  • Se apoya en WS-Adressing para asegurar el no repudio.
WS-Policy
Es la especificación encargada de delimitar las diferentes políticas aplicables a los servicios Web. Es de vital importancia a la hora de integrar los servicios Web, ya que si presentan cierta complejidad, es muy necesario conocer los detalles del XML que lo define, además de otros requisitos o capacidades adicionales.
Si se produce un intento de integrar un servicio sin conocer los detalles de su implementación probablemente se este evocando al fracaso. Por lo tanto es muy necesario realizar un estándar que defina las diferentes políticas a acordar. Sin él, los desarrolladores quedarían expuestos a realizar desarrollos sin integración y difícilmente escalables
Un marco de trabajo de políticas permitiría a los desarrolladores expresar las políticas de los servicios de una forma procesable por las computadoras. La infraestructura de los servicios Web puede verse ser mejorada para entender ciertas políticas y forzar su uso en tiempo de ejecución.
WS-Trust
La especificación WS-Trust permite definir extensiones al estándar WS-Security con el objetivo claro de dotar a este de nuevos mecanismos de seguridad. En esta especificación se incluye el proceso de solicitud, emisión y control sobre tokens de seguridad y se permite la gestión de las relaciones de confianza entre los servicios
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.
Como funciona WS-Trust
Esta especificación da soporte a un modelo de confianza destinado a los servicios Web, se le denomina Web Services Trust Model. Para ello, define un proceso a través del cual, un servicio, puede solicitar que cualquier petición que le llegue cumpla con una serie de reclamaciones. En la situación, que un solicitante no disponga de todos los requerimientos necesarios, los solicita al Servicio de tokens de seguridad (STS). Existe una relación de confianza entre el STS y el servicio
La especificación define varios mecanismos para verificar relaciones de confianza entre dos partes. Sin embargo, no se restringe solo a ellos, pudiendo un servicio verificar la relación de confianza con la otra parte como considere necesario. Los métodos que definen son los siguientes:
  • Fixed Trust Roots: El más simple. El servicio mantiene un conjunto fijo de relaciones de confianza
  • Trust hierarchies: El servicio confiara en los tokens siempre que vengan de una jerarquía de confianza que lleve a un trust root.
  • Authentication Service: Es un servicio con el cual el servicio mantiene una relación de confianza. Cuando llega un security token, el servicio lo envía al Authentication Service el cuál enviará probablemente otro token que aprobará o no la autenticación
WS-Federation
Con frecuencia se produce la situación de que participantes en el consumo y la prestación de un servicio pueden utilizar diferentes tecnologías de seguridad, por ejemplo, una de las partes podrá utilizar Kerberos y otro Certificados X.509, podría necesitarse una traducción de los datos que afectan a la seguridad entre las partes afectadas.
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.
En la especificación WS-Federation se definen perfiles asociados a las entidades que servirán para clasificar los solicitantes que pueden adaptarse al modelo. Es por tanto un objetivo prioritario de esta especificación habilitar la federación de la información de las identidades, atributos, autenticación y autorización.
WS-Addressing
WS-Addressing ofrece seguridad de extremo a extremo a la mensajería SOAP . Independientemente de los tipos de intermediarios como puertos, workstations, cortafuegos, etc. que sean atravesados por un bloque en el camino al receptor, todo aquel que se encuentre por el camino sabrá:
  • 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 ()
WS-Addressing convierte a los mensaje en unidades autónomas de comunicación. La especificación WS-Addressing define dos tipos de elementos que se incorporan en el mensajes SOAP:
  • Endpoint References (EPR), referencias de invocación, que identifican al punto donde deben ser dirigidas las peticiones.
  • Message Information Headers, son cabeceras específicas que contienen información relacionada con la identificación que caracteriza al mensaje.
Endpoint References (EPR)
Un identificador de punto de acceso al servicio web puede contener las siguientes propiedades:
  • [wsa:Address], una URI que identifica al punto de acceso. Este elemento es obligatorio
  • [wsa:ReferenceProperties], propiedades individuales necesarias para identificar la entidad o recurso transportado. Las provee el creador del punto de acceso al servicio web.
  • [wsa:ReferenceParameters], parámetros que faciliten interacciones fruto del camino que recorre el mensaje. Las provee el punto de acceso al servicio web.
  • [wsa:PortType]
  • [wsa:ServiceName]
  • [wsp:Policy], políticas WS-Policy aplicables

La Seguridad en la Arquitectura de Referencia de los Servicios Web

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.

Servicios de seguridad básicos

La seguridad es un concepto considerado clave dentro de los que comprenden el aseguramiento de calidad dentro del servicio Web. Si se realiza una catalogación básica de los servicios de seguridad son la confidencialidad, integridad, autenticidad de origen, no repudio y control de acceso. A continuación se explica brevemente cada uno de ellos:
  • Autenticación de los participantes. Los servicios Web por definición tienen mucha heterogeneidad, lo que provoca que los sistema 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 estandarización 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 mas 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.
  • Auditabilidad. 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

Si realizamos una abstracción sobre la problemática, el objetivo principal es conseguir un entorno para las transacciones y los procesos que sea seguro para todo el canal de comunicación. Obviamente, es necesario garantizar la seguridad durante el tránsito de la comunicación, ya sea con intermediarios o sin ellos durante la misma. Pro otra parte, se necesita asegurar la seguridad de la información en los procesos de almacenamiento: A continuación se ofrece una revisión breve de los principales requisitos para asegurar la seguridad en la comunicación.
Además del modelo de seguridad, existen las especificaciones específicas de las aplicaciones, incluyendo el lenguaje de ejecución de procesos empresariales para servicios web (BPEL4WS), que define las operaciones de flujos de trabajo, y WS-Transaction y WS-Coordination, que funcionan en conjunto para manejar el procesamiento distribuido de transacciones.
Actualmente está en desarrollo una especificación para la gestión distribuida de servicios web que trata de la gestión administrativa de software de todos los servicios y de la arquitectura orientada a servicios. Por fin, existen especificaciones para interfaces de usuario (WS-InteractiveApplications) y acceso remoto a servicios web (WS-RemotePortals).
Las especificaciones y protocolos para servicios web aún están siendo definidas y sólo están comenzando a explicar cómo los servicios deben interactuar. Sin embargo, no pueden abarcar todas las situaciones y combinaciones posibles. Así, el Web Services Interoperability Group (WS-I), constituido por prácticamente todos los grandes y pequeños proveedores involucrados en el desarrollo de los servicios web, se encargó de la tarea de desarrollar estudios de caso, ejemplos de aplicaciones, casos de ejemplo de implementación y herramientas de prueba para asegurar que esos estándares y especificaciones realmente funcionarán los unos con los otros, independientemente de las implementaciones de productos de los proveedores.
WS-I ha definido su primer Basic Profile 1.0 para servicios web y también ha lanzado sus casos de ejemplo, ejemplos de aplicaciones y herramientas de prueba para evaluar y comparar resultados de varias implementaciones de acuerdo con los casos de ejemplo.
Además de WS-I, una buena parte del trabajo de los estándares está siendo realizado por la Organización para el Avance de Estándares de Informaciones Estructuradas (OASIS), el World Wide Web Consortium (W3C) y el Grupo de Trabajo de Ingeniería de Internet (IETF).

Aspectos de seguridad web en plataforma web net:
primero es la autenticacion donde se comprueba la identidad de alguien o algo.
Sirve para:
  para ver si es lo que dice ser. Ese "alguien" o "algo" si es la persona correcta quien accede 
requiere:
  pruebas de identidad ( como crendencial) una aplicación cliente puede presentar una contraseña como sus credenciales. Si la aplicación cliente presenta las credenciales correctas, se asume que es quien .

Autorización: 
despues del que sea autentifiado deben tomarse decisiones sobre la autorización.cuando se comprueba que ya los datos se han correctos comparando la informacion con la principal con el acceso que se le otorgo muchos no suelen tener todo el acceso total de la pagina si no  que a solo algunas operaciones, ejemplo que solo el que tenga el acceso de la pagagina solo puede modificar y entrar las veces cualquiera y los demas solo podran verlo en forma de lectura sin poder hacer un tipo de modificacion.

hay algunos as características  aprovechar de autenticación disponibles en HTTP. son
*Microsoft Internet Información Server (IIS) e ISA Server 
* Windows 2000 Server
pagina:
http://www.desarrolloweb.com/articulos/1640.php

http://www.prograweb.com.mx/pweb/0603Seguridad.php
video:
https://www.youtube.com/watch?v=GVMFO1nYonQ

No hay comentarios.:

Publicar un comentario