SslStream de .NET est toujours en train de négocier le chiffrement le moins sécurisé que j'ai. Comment puis-je changer cela?

StackOverflow https://stackoverflow.com/questions/91304

  •  01-07-2019
  •  | 
  •  

Question

SslStream est supposé négocier le type de chiffrement, la longueur de la clé, l’algorithme de hachage, etc. avec sa pile SSL homologue. Lors de son utilisation dans mon code, je constate que la négociation par défaut est toujours RC4 & amp; MD5. J'aimerais utiliser 3DES ou AES pour plus de sécurité.

En parcourant le Web, je ne trouve que quelques références à ce problème et aucune solution; une affiche affirme que cela a du sens, étant donné que le plus petit dénominateur commun entre les deux piles est sécurisé, tout en offrant l’avantage supplémentaire d’être plus rapide et d’utiliser moins de ressources CPU. Bien que cela puisse être techniquement correct, mon compromis particulier entre complexité et coût réside ailleurs (je préfère utiliser AES avec une longue clé).

Si quelqu'un peut aider, je l'apprécierais.

Était-ce utile?

La solution

Vous pouvez sélectionner les protocoles disponibles en effectuant quelques modifications simples dans le registre. Nous supprimons la possibilité de sélectionner RC4, par exemple. Vous devez uniquement effectuer la modification à une extrémité de la connexion (par exemple, serveur) car le client et le serveur négocient pour trouver un algorithme communément pris en charge.

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

Meilleurs voeux James

Autres conseils

SSLStream utilise Schannel fourni avec le système d'exploitation. Les suites sont répertoriées dans l'ordre par défaut dans lequel elles sont choisies par le fournisseur Microsoft Schannel pour:

Windows Vista:

  

RSA AVEC AES_128 CBC SHA
  RSA AVEC AES_256 CBC SHA
  RSA AVEC RC4_128 SHA

     

...

Windows XP:

  

RSA AVEC RC4 128 MD5
  RSA AVEC RC4 128 SHA

     

RSA AVEC 3DES CBC SHA

     

....

Vous pouvez également modifier la liste des suites de chiffrement en configurant les paramètres de stratégie de groupe Ordre de suites de chiffrement SSL à l'aide du composant logiciel enfichable Objet de stratégie de groupe dans Microsoft Management Console (Windows Vista)

Mais le problème est que Windows XP n'inclut pas AES dans la liste des algorithmes de chiffrement disponibles pour SSLStream. Cependant, il est possible de modifier les paramètres du registre dans Windows XP: HKLM \ System \ CurrentControlSet \ Control \ Lsa \ FIPSAlgorithmPolicy 1 pour obtenir le chiffrement 3DES .

Il devrait utiliser le jeu d’algorithmes le plus sécurisé qui figurait dans les deux listes. J'ai du mal à croire que ce ne soit pas le cas, car SslStream encapsule le SSPI SChannel, et si cela était cassé, Internet Explorer, IIS et tout le reste de Windows seraient également cassés.

Il se peut que vous disposiez d’une version obsolète de SChannel.dll / Secur32.dll. Quel système d'exploitation et quelle version d'Internet Explorer avez-vous installés?

Il est possible de désactiver les protocoles dans SCHANNEL . Pourriez-vous vérifier que cela n'a pas été fait?

J'utilise XP SP3 et IE7 avec toutes les mises à jour. Le registre semble configuré avec tout activé.

En Java, vous pouvez commander les différents algorithmes / chiffrements en fonction de vos besoins et de vos préférences. Peut-être existe-t-il une API similaire dans .NET ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top