La seguridad es uno de los mayores desafiados en una entidad financiera o de otro rubro donde manejen web services para comunicarse entre empresas.
IBM dice, que si no hay seguridad en los Web Services los tres mayores riesgos son:
-
Transacciones sin autorización
Alguien que posea un cliente no autorizado, puede enviar mensajes SOAP a el data center para obtener dinero. Esta transacción no es autorizada.
Para solventar este problema se pueden utilizar los mecanismos de WS-Security. Un ejemplo puede ser que se incluya una combinación de id/password en el mensaje SOAP.
-
Los mensajes están en texto legible, es decir sin encriptación
El número de cuenta o el balance que viajan en el paquete SOAP puede ser leído por un sniffer en la red. Este problema se puede solventar utilizando SSL ya que así se encriptan los mensajes.
-
Los mensajes SOAP son susceptibles a la modificación, no existe integridad
Mientras el mensaje SOAP está viajando a su destino (un cliente del web Service), este puede ser interceptado en el camino y el atacante puede modificar el mensaje, por ejemplo cambiando el número de cuenta a la cual se va a hacer el depósito.
Diagrama de implementación de seguridad en Web Service:
Servicios que se deben implementar en un Web Services para la seguridad:
-
Identificación: La parte o cliente que acceso a un recurso, debe poder identificarse con el sistema.
-
Autenticación: Debe existir un procedimiento para verificar la identidad de quienes accedan al sistema.
-
Autorización: Deben existir un set de transacciones para que el cliente sea habilitado.
-
Integridad: La información no puede cambiarse en el viaje de un Web Service a un cliente y viceversa.
-
Confidencialidad: Nadie puede leer la información que viaje entre el cliente y el Web Service.
-
Auditoria: Todas las transacciones deben ser guardadas, para que en caso de un problema estas puedan ser analizadas.
-
No-Repudiación: Ambas partes deben estar habilitadas para proveer un documento legal, a una tercera parte para que siempre sea la misma información la que se envié el servidor, como la que recibe el cliente y viceversa.
![]()


