Tengo una aplicación WCF cliente/servidor que necesita algún tipo de autenticación de usuario en una base de datos. La aplicación (tanto para el cliente como para el servidor) está siendo desarrollada para ser vendida a docenas de clientes, para ser utilizada en sus intranets. No estamos demasiado preocupados por encriptar la mayoría de los datos que se mueven a través del cable, excepto, por supuesto, durante la autenticación.WCF, Seguridad y Certificados
Pensando en la seguridad de WCF, sigo volviendo a la idea de que deberíamos hacer uso de los certificados x509. Sin embargo, nuestros clientes definitivamente no querrán saber acerca de ninguno de los detalles de tener que solicitar, comprar e instalar estos certificados.
Me gustaría saber en primer lugar cuál es el método preferido para implementar la autenticación de nombre de usuario/contraseña en este escenario. Si va a requerir el uso de certificados, ¿debe el cliente solicitar sus propios certificados de una CA de confianza, o podemos nosotros, como proveedor de software, generar certificados para que el cliente los use?
Realmente estoy buscando una mejor práctica, con la menor fricción para nuestros clientes.
Gracias!
Edit: Estoy usando NetTcpBinding, y mi servidor se está ejecutando como un servicio de Windows.
Gracias! Algo que olvidé mencionar es que estoy usando NetTcpBinding. Además, recuerde que el servidor también se está implementando en varios clientes, que es la fuente principal de mi problema con respecto a los certs. – chris
OK actualizó la respuesta – blowdart