2009-12-17 13 views
5

Estoy intentando comprender cómo funciona la autenticación/encriptación de Windows con NetTcpBinding en WCF. Necesito saber exactamente qué algoritmo de encriptación se utiliza para encriptar los datos que cruzan el cable (y cierta documentación para probarlo). ¿Seguirá funcionando la autenticación/encriptación de Windows si el cliente y/o el host no están en un dominio?Autenticación/cifrado de Windows en WCF con NetTcpBinding

Respuesta

6

netTcpBinding usando las credenciales de Windows requiere que la persona que llama y el servicio estén en el mismo dominio, o al menos en dominios mutuamente confiables. De lo contrario, el servidor no podrá verificar las credenciales de Windows y rechazará la llamada de servicio.

En cuanto al cifrado: ¡incluso puede seleccionar y elegir cuál le gustaría! :-) TripleDES, AES, lo que sea, con diferentes longitudes de clave, también.

Vea el artículo Fundamentals of WCF Security - habla sobre todos los aspectos de la seguridad y el cifrado; también vea MSDN Docs en Securing Services que entra en más detalles; se puede encontrar una buena descripción en here que muestra las propiedades del elemento de seguridad de transporte basicHttp.

2

El año pasado tuve que implementar un sistema distribuido usando wcf que requería un mecanismo seguro y de rendimiento en todas las capas del sistema. Decidimos crear nuestra propia arquitectura de seguridad creando un token cifrado binario. El token cifrado contenía todos los permisos que tenía un usuario determinado.

Así, por ejemplo, un usuario iniciaría sesión en el sistema y, si se autentica correctamente, recibiría un token cifrado. Este token se almacenó localmente en el cliente web. Todas las demás solicitudes del usuario contendrían ese token. El token se usó en varios niveles de la arquitectura. El servidor web lo usaría para decidir qué elementos visuales habilitar o deshabilitar. Como la capa de servicio estaba expuesta a Internet, cada puerta abierta verificaba el token para su autenticación y comprobaba si ese token tenía el permiso adecuado para ejecutar una tarea determinada. La capa de negocios podría verificar nuevamente un derecho más específico incluido en el token.

Las ventajas:

  • No importaba si estábamos usando NetTcpBinding o cualquier otro tipo de enlace (y nos hicimos uso de más de un tipo de encuadernación).
  • Nos ahorramos un montón de idas y vueltas a la base de datos
  • Podríamos utilizar la misma manera en diferentes plataformas

Sé que probablemente no responde a sus preguntas específicas, pero tal vez se le dará una para que puedas pensar mientras todavía estás decidiendo sobre la arquitectura intracapa de tu sistema.

+0

Esto suena muy interesante. ¿Tiene algún ejemplo o referencia que pueda indicarme para implementar esto? ¿Los datos de inicio de sesión iniciales estaban encriptados? (nombre de usuario y contraseña) – Lewray

Cuestiones relacionadas