2008-09-18 4 views
5

Se supone que SslStream negocia el tipo de cifrado, longitud de clave, algoritmo hash, etc. con su pila SSL par. Cuando lo uso en mi código, me parece que la negociación siempre se predetermina a RC4 & MD5. Me gustaría utilizar 3DES o AES para una mayor seguridad.. SslStream de .NET siempre está negociando con el cifrado menos seguro que tengo. ¿Cómo puedo cambiar esto?

Buscando en la web Solo encuentro unas pocas referencias a este problema y ninguna solución; un afiche afirma que esto realmente tiene sentido, ya que el mínimo común denominador entre las dos pilas es seguro, mientras que tiene el beneficio adicional de ser más rápido/usar menos recursos de la CPU. Si bien esto puede ser técnicamente correcto, mi compromiso particular entre la complejidad y el costo se encuentra en otra parte (prefiero usar AES con una clave larga).

Si alguien puede ayudar, lo agradecería.

Respuesta

1

Puede seleccionar qué protocolos están disponibles para la selección haciendo algunos cambios simples en el registro. Eliminamos la posibilidad de seleccionar RC4, por ejemplo. Sólo tiene que hacer el cambio en un extremo de la conexión (por ejemplo, servidor) debido a que el cliente y el servidor negocian para encontrar comúnmente apoyado algoritmo

http://msdn.microsoft.com/en-us/library/ms925716.aspx

mejores deseos James

+0

Gracias. El enlace es a la documentación de Windows CE. ¿Sabe si las mismas claves de registro también se aplican a los servidores de Windows (por ejemplo, Windows 2008)? – Shachar

+0

Disculpe, http://support.microsoft.com/kb/245030/ –

0

Debe utilizar el conjunto más seguro de algoritmos que se encontraban en ambas listas. Me resulta difícil creer que no lo es, porque SslStream está integrando el SSPI de SChannel, y si eso no funciona, Internet Explorer, IIS y todo lo demás en Windows también se romperá.

Puede ser que tenga una versión obsoleta de SChannel.dll/Secur32.dll. ¿Qué versión de SO e Internet Explorer tiene instalada?

Es posible disable protocols in SCHANNEL. ¿Podrías comprobar que esto no se ha hecho?

+0

estoy usando XP SP3 e IE7 con todas las actualizaciones. El registro parece configurado con todo habilitado. – Shachar

0

Estoy usando XP SP3 e IE7 con todas las actualizaciones. El registro parece configurado con todo habilitado.

0

En Java puede ordenar varios algoritmos/cifrados según sus necesidades y preferencias. Puede haber una API similar en .NET ...

3

SSLStream usa Schannel que se suministra con el sistema operativo. Las suites se enumeran en el orden predeterminado en el que son elegidos por el proveedor Microsoft Schannel para:

Windows Vista:

RSA CON AES_128 CBC SHA
RSA CON AES_256 CBC SHA
RSA CON RC4_128 SHA

...

Windows XP:

RSA CON RC4 128 MD5
RSA CON RC4 128 SHA

RSA CON 3DES CBC SHA

....

También puede modificar la lista de conjuntos de cifrado mediante la configuración de las SSL conjunto de cifrado solicitar los ajustes de política grupo utilizando el Objeto de directiva de grupo de Microsoft Management Console (Windows Vista)

Pero la cuestión es que Windows XP no incluye AES en la lista de cifrado disponible para SSLStream. Sin embargo, es posible cambiar la configuración del Registro en Windows XP: HKLM \ System \ CurrentControlSet \ Control \ Lsa \ FIPSAlgorithmPolicy 1 para obtener 3DES cifrado.

Cuestiones relacionadas