Você está na página 1de 4

Seguridad en los Web Services

Web Service Security (WSS) define mecanismos para proteger la integridad y confidencialidad
en los mensajes mediante SAML, Kerberos, tokens o los certificados X.509, y tambin la
encriptacin y las signaturas XML (Senmart, 2011).

WS-Security utiliza mecanismos para proporcionar autenticacin, confidencialidad e integridad


a los Servicios Web (Senmart, 2011).

Incluye varios aspectos (Oracle):

Autenticacin: verifica que el usuario es quien dice ser. Esto se verifica sobre la base de
credenciales presentadas por ese usuario, por ejemplo (Oracle):
o Algo que uno tiene.
o Algo que sabe.
o Algo que uno es.
Autorizacin: control de acceso a recursos especficos basados en los derechos de un
usuario autenticado. Los derechos se definen por uno a mas atributos (Oracle).
Confidencialidad: mantener informacin secreta. Se puede lograr mediante el cifrado
del contenido de un mensaje, as como de las partes que envan y reciben (Oracle).
Integridad, no repudio: asegurarse de que un mensaje permanece inalterado durante
el trnsito, el remitente debe firmar digitalmente el mensaje (Oracle).

Seguridad de Nivel de Transporte

Secure Socket Layer (SSL), es el protocolo de nivel de transporte de datos de comunicacin ms


utilizado que proporciona (Oracle):

Autenticacin
Confidencialidad de los datos
Integridad del mensaje
Intercambio de claves segura entre el cliente y servidor.

Seguridad a nivel de aplicacin

Se basa en frameworks XML que definen la confidencialidad, integridad, autenticidad (Oracle).

La confidencialidad de los datos se realiza mediante cifrado XML. Este define como los
contenidos se cifran y descifran, como la informacin clave de cifrado se transmite y como los
datos cifrados se identifica para facilitar el descifrado (Oracle).

La integridad de los datos y la autenticidad se ejecutan por la firma XML, la cual une la identidad
del emisor a un documento XML y se realizan usando claves asimtricas o simtricas (Oracle).

WS-Security en RESTful

Se usa los siguientes mtodos (Oracle, 2016):

Proteccin de servicios web RESTful usando la actualizacin de web.xml


Para garantizar el servicio se realiza la autenticacin bsica y se sigue los siguientes
pasos (Oracle, 2016):
1. Define un <security-constraint> para conjunto de recursos REST que se va a
proteger.
2. Utilizar el <login-config> para definir el tipo de autenticacin que se desea utilizar y
las restricciones de seguridad que se aplicarn.
3. Definir uno o ms funciones de seguridad mediante el <security-role> y asignar a las
restricciones de seguridad.
4. Para habilitar el cifrado se agrega <usuario-data-constraint> y se establece el
<transport-guarantee> elemento confidencial.
Proteccion de servicios web RESTful usando el SecurityContext.
La interfaz javax.ws.rs.core.SecurityContext proporciona acceso a la informacin
relacionada con la seguridad de una solicitud, es similar a
javax.servlet.http.HttpServletRequest, lo que permite acceder a la siguiente
informacin relacionada con la seguridad (Oracle, 2016):
o java.security.Principal es el objeto que contiene el nombre del usuario que
realiza la solicitud.
o Tipo de autenticacin para asegurar el recurso, como Basic_Auth, FORM_AUTH,
y CLIENT_CERT_AUTH.
o Si la solicitud se realiza mediante un canal seguro como HTTPS.

Se accede a SecurityContext mediante la inyeccin de una instancia de un campo,


mtodo setter, o una anotacin jvax.ws.rs.core.Context

Proteccion de servicios web RESTful usando Anotaciones


El javax.annotation.security es un paquete que proporciona anotaciones (Oracle, 2016):

WS-Security en SOAP

Define un header SOAP en donde se incluir las estructuras de seguridad. Este header est
constituido por tres elementos: tokens de seguridad, XML Encrytion y/o XML Signature (Hernan
Garrido & Cristian Zunino, 2006).

Security tokens en WS-security


Un security token es un elemento de seguridad incluido en el mensaje que permite la
autenticacin. Algunos ejemplos son username/password, certificados X.509, tickets
Kerberos, SAML, Tokens, y referencias a URIs. El nombre del elemento XML vara segn
el tipo de token. A continuacin, se presentan algunos ejemplos (Hernan Garrido &
Cristian Zunino, 2006):
Ejemplo de token username/password
Es el token ms simple, es similar a la autenticacin bsica username/password de HTTP
(Hernan Garrido & Cristian Zunino, 2006).

Ejemplo de certificado X.509


Utiliza un mtodo de representacin binaria en XML y se presenta a continuacin
(Hernan Garrido & Cristian Zunino, 2006):
XML Encryption en WS-Security
Lo ms comn es encriptar el body del mensaje SOAP utilizando una clave secreta. Y se
representa creando un bloque EncryptedData en el lugar donde ira el texto plano.
Adems, se crea un elemento ReferencedList en el header SOAP que apunta a las partes
del mensaje que han sido encriptadas. A continuacin, se presenta un ejemplo (Hernan
Garrido & Cristian Zunino, 2006).

XML Signature en WS-Security


Se aplican firmas en mensajes SOAP y se utiliza para dos grandes propsitos: firmar
parte o todo el mensaje y firmar un security token (Hernan Garrido & Cristian Zunino,
2006).
Firmando parte o todo el mensaje
Se utiliza en mensajes SOAP con el modo Detached (Hernan Garrido & Cristian Zunino,
2006).
Firmando un Security Token
La firma se realiza definiendo un ID, creando una referencia al ID mediante
SecurityTokenReference y referenciando este ltimo ID desde el elemento Signature. A
continuacin, se presenta un ejemplo (Hernan Garrido & Cristian Zunino, 2006).
Bibliografa

Andalucia. (s.f.). Conceptos de seguridad en los servicios WEB. Obtenido de


http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/211

Hernan Garrido & Cristian Zunino. (2006). Seguridad en Web Services. Obtenido de http://www-
2.dc.uba.ar/materias/seginf/material/tp_1c2006/Seguridad_WebServices.pdf

Oracle. (2016). Securing RESTful Web Services. Obtenido de


https://docs.oracle.com/cd/E24329_01/web.1211/e24983/secure.htm#RESTF113

Oracle. (s.f.). Understanding Web Services Security Concepts. Obtenido de


https://docs.oracle.com/cd/E17904_01/web.1111/b32511/intro_security.htm#WSSEC
1112

Senmart, E. (2011). WS-Security (WSS). Obtenido de http://blogs.salleurl.edu/networking-and-


internet-technologies/ws-security-wss/

Você também pode gostar