Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Windows Communication Foundation (WCF) es una plataforma de programación distribuida basada en mensajes SOAP y la protección de mensajes entre clientes y servicios es esencial para proteger los datos. WCF proporciona una plataforma versátil e interoperable para intercambiar mensajes seguros basados en la infraestructura de seguridad existente y en los estándares de seguridad reconocidos para los mensajes SOAP.
WCF usa conceptos que resultan familiares si ha creado aplicaciones seguras y distribuidas con tecnologías existentes, como HTTPS, seguridad integrada de Windows o nombres de usuario y contraseñas para autenticar a los usuarios. WCF no solo se integra con las infraestructuras de seguridad existentes, sino que también amplía la seguridad distribuida más allá de los dominios solo de Windows mediante el uso de mensajes SOAP seguros. Considere WCF una implementación de los mecanismos de seguridad existentes con la principal ventaja de usar SOAP como protocolo además de los protocolos existentes. Por ejemplo, las credenciales que identifican un cliente o un servicio, como el nombre de usuario y la contraseña o los certificados X.509, tienen perfiles SOAP interoperables basados en XML. Con estos perfiles, los mensajes se intercambian de forma segura aprovechando las especificaciones abiertas, como firmas digitales XML y cifrado XML. Para obtener una lista de las especificaciones, consulte Protocolos de servicios web compatibles con los enlaces de interoperabilidad proporcionados por el sistema.
Otro paralelo es el Modelo de objetos componentes (COM) en la plataforma Windows, que permite aplicaciones seguras y distribuidas. COM tiene un mecanismo de seguridad completo en el que se puede fluir el contexto de seguridad entre componentes; este mecanismo aplica integridad, confidencialidad y autenticación. Sin embargo, COM no habilita la mensajería segura multiplataforma como WCF. Con WCF, puede crear servicios y clientes que abarcan desde dominios de Windows a través de Internet. Los mensajes interoperables de WCF son esenciales para crear servicios dinámicos y controlados por la empresa que le ayudan a sentirse seguros en la seguridad de su información.
Ventajas de seguridad de Windows Communication Foundation
WCF es una plataforma de programación distribuida basada en mensajes SOAP. Con WCF, puede crear aplicaciones que funcionen como servicios y clientes de servicio, creando y procesando mensajes a partir de un número ilimitado de otros servicios y clientes. En esta aplicación distribuida, los mensajes pueden fluir de nodo a nodo, a través de firewalls, a Internet y a través de numerosos intermediarios SOAP. Esto presenta una variedad de amenazas de seguridad de mensajes. En los ejemplos siguientes se muestran algunas amenazas comunes que la seguridad de WCF puede ayudar a mitigar al intercambiar mensajes entre entidades:
Observación del tráfico de red para obtener información confidencial. Por ejemplo, en un escenario de banca en línea, un cliente solicita la transferencia de fondos de una cuenta a otra. Un usuario malintencionado intercepta el mensaje y, después, tiene el número de cuenta y la contraseña, realiza una transferencia de fondos de la cuenta en peligro.
Entidades deshonestas que actúan como servicios sin conocimiento del cliente. En este escenario, un usuario malintencionado (el no autorizado) actúa como un servicio en línea e intercepta los mensajes del cliente para obtener información confidencial. A continuación, el no autorizado usa los datos robados para transferir fondos de la cuenta comprometida. Este ataque también se conoce como un ataque de suplantación de identidad (phishing).
Modificación de los mensajes para obtener un resultado diferente al previsto por el autor de la llamada. Por ejemplo, modificar el número de cuenta al que se realiza un depósito permite que los fondos vayan a una cuenta no autorizada.
Una acción por la que un molesto pirata informático reproduce el mismo pedido de compra. Por ejemplo, una librería en línea recibe cientos de pedidos y envía los libros a un cliente que no los ha pedido.
Incapacidad de un servicio para autenticar un cliente. En este caso, el servicio no puede asegurarse de que la persona adecuada realizó la transacción.
En resumen, la seguridad de transferencia proporciona las siguientes garantías:
Autenticación del extremo de servicio (respondente).
Autenticación de la entidad de seguridad de cliente (iniciador).
Integridad del mensaje.
Confidencialidad del mensaje.
Detección de la reproducción.
Integración con infraestructuras de seguridad existentes
A menudo, las implementaciones de servicios web ya cuentan con soluciones de seguridad, como Capa de Sockets Seguros (SSL) o el protocolo Kerberos. Algunas aprovechan una infraestructura de seguridad que ya se ha implementado, como dominios de Windows mediante Active Directory. A menudo es necesario integrar con estas tecnologías existentes al evaluar y adoptar otras más recientes.
La seguridad de WCF se integra con los modelos de seguridad de transporte existentes y puede aprovechar la infraestructura existente para los modelos de seguridad de transferencia más recientes basados en la seguridad de mensajes SOAP.
Integración con modelos de autenticación existentes
Una parte importante de cualquier modelo de seguridad de comunicación es la capacidad de identificar y autenticar entidades en la comunicación. Estas entidades en comunicación usan "identidades digitales" o credenciales para autenticarse con los pares de comunicación. A medida que evolucionan las plataformas de comunicación distribuidas, se han implementado varios modelos de autenticación de credenciales y seguridad relacionados. Por ejemplo, en Internet, el uso de un nombre de usuario y una contraseña para identificar a los usuarios es común. En la intranet, el uso de un controlador de dominio Kerberos para realizar copias de seguridad de la autenticación de usuario y servicio es habitual. En determinados escenarios, como entre dos asociados comerciales, se pueden usar certificados para autenticar mutuamente a los asociados.
Por lo tanto, en el mundo de los servicios web, donde el mismo servicio podría exponerse a clientes corporativos internos, así como a asociados externos o clientes de Internet, es importante que la infraestructura proporcione integración con estos modelos de autenticación de seguridad existentes. La seguridad de WCF admite una amplia variedad de tipos de credenciales (modelos de autenticación), entre los que se incluyen:
Llamador anónimo.
Credencial de cliente de nombre de usuario.
Credencial de cliente de certificado.
Windows (protocolo Kerberos y NT LanMan [NTLM]).
Estándares e interoperabilidad
En un mundo con grandes implementaciones existentes, la homogeneidad es poco frecuente. Las plataformas de computación y comunicaciones distribuidas deben interoperar con las tecnologías que ofrecen los distintos proveedores. Del mismo modo, la seguridad también debe ser interoperable.
Para habilitar sistemas de seguridad interoperables, las empresas activas en el sector de servicios web han creado una variedad de estándares. Específicamente con respecto a la seguridad, se han propuesto algunos estándares importantes: WS-Security: SOAP Message Security (aceptado por el cuerpo de estándares oasis y anteriormente conocido como WS-Security), WS-Trust, WS-SecureConversation y WS-SecurityPolicy.
WCF admite una amplia variedad de escenarios de interoperabilidad. La BasicHttpBinding clase está dirigida al perfil de seguridad básico (BSP) y la WSHttpBinding clase se dirige a los estándares de seguridad más recientes, como WS-Security 1.1 y WS-SecureConversation. Al cumplir estos estándares, la seguridad de WCF puede interoperar e integrar con servicios web hospedados en sistemas operativos y plataformas distintos de Microsoft Windows.
Áreas funcionales de seguridad de WCF
La seguridad de WCF se divide en tres áreas funcionales: seguridad de transferencia, control de acceso y auditoría. En las secciones siguientes se describen brevemente estas áreas y se proporcionan vínculos para obtener más información.
Seguridad de transferencia
La seguridad de transferencia abarca tres funciones de seguridad principales: integridad, confidencialidad y autenticación. La integridad es la capacidad de detectar si se ha alterado un mensaje. La confidencialidad es la capacidad de mantener un mensaje ilegible por parte de cualquier persona que no sea el destinatario previsto; esto se logra a través de la criptografía. La autenticación es la capacidad de comprobar una identidad reclamada. Juntas, estas tres funciones ayudan a garantizar que los mensajes lleguen de forma segura de un punto a otro.
Modos de transporte y seguridad de mensajes
Se usan dos mecanismos principales para implementar la seguridad de transferencia en WCF: modo de seguridad de transporte y modo de seguridad de mensajes .
El modo de seguridad de transporte usa un protocolo de nivel de transporte, como HTTPS, para lograr la seguridad de transferencia. El modo de transporte tiene la ventaja de ser ampliamente adoptado, disponible en muchas plataformas y menos complejo computacionalmente. Sin embargo, tiene la desventaja de proteger los mensajes solo desde un punto a otro.
Por otro lado, el modo de seguridad de mensajes usa WS-Security (y otras especificaciones) para implementar la seguridad de la transferencia. Dado que la seguridad del mensaje se aplica directamente a los mensajes SOAP y se encuentra dentro de los sobres SOAP, junto con los datos de la aplicación, tiene la ventaja de ser independiente del protocolo de transporte, más extensible y garantizar la seguridad de un extremo a otro (frente a punto a punto); tiene la desventaja de ser varias veces más lenta que el modo de seguridad de transporte porque tiene que tratar con la naturaleza XML de los mensajes SOAP.
Para obtener más información sobre estas diferencias, consulte Protección de servicios y clientes.
Un tercer modo de seguridad usa ambos modos anteriores y aporta ventajas de ambos. Este modo se denomina TransportWithMessageCredential. En este modo, la seguridad del mensaje se usa para autenticar el cliente y la seguridad de transporte para autenticar el servidor y proporcionar confidencialidad e integridad de los mensajes. Gracias a esto, el modo de seguridad TransportWithMessageCredential es casi tan rápido como el modo de seguridad de transporte y proporciona la misma extensibilidad para la autenticación del cliente que la seguridad del mensaje. Sin embargo, a diferencia del modo de seguridad del mensaje, no proporciona seguridad completa de un extremo a otro.
Control de acceso
El control de acceso también se conoce como autorización. La autorización permite a los distintos usuarios tener privilegios diferentes para ver los datos. Por ejemplo, dado que los archivos de recursos humanos de una empresa contienen datos confidenciales de los empleados, solo los administradores pueden ver los datos de los empleados. Además, los administradores solo pueden ver los datos de sus informes directos. En este caso, el control de acceso se basa tanto en el rol ("administrador") como en la identidad específica del administrador (para evitar que un administrador examine los registros de empleados de otro administrador).
En WCF, las características de control de acceso se proporcionan a través de la integración con Common Language Runtime (CLR) PrincipalPermissionAttribute y a través de un conjunto de API conocidas como modelo de identidad. Para obtener más información sobre el control de acceso y la autorización basada en notificaciones, consulte Extensión de la seguridad.
Auditoría
La auditoría es el registro de eventos de seguridad en el registro de eventos de Windows. Puede registrar eventos relacionados con la seguridad, como fallos de autenticación (o éxitos). Para obtener más información, consulte Auditoría. Para obtener detalles de programación, consulte Cómo: Auditar eventos de seguridad.
Consulte también
- PrincipalPermissionAttribute
- Protección de servicios
- Escenarios de seguridad comunes
- Vinculaciones y Seguridad
- Protección de servicios y clientes
- Autenticación
- Autorización
- Federación y tokens emitidos
- Auditoría
- Guía de seguridad y procedimientos recomendados
- Configuración de servicios mediante archivos de configuración
- Enlaces proporcionados por el sistema
- Información general sobre la creación de puntos de conexión
- Extensión de la seguridad
- Modelo de seguridad para Windows Server App Fabric