Je cherche un moyen de crypter les messages entre le client et le serveur en utilisant WCF. WCF offre de nombreux mécanismes de sécurité intégrés pour crypter le trafic entre le client et le serveur, mais il semble qu'il n'y ait rien qui corresponde à mes besoins.
Je ne veux pas utiliser de certificats car ils sont trop compliqués, alors ne me suggérez pas d'utiliser des certificats, s'il vous plaît. Je n'ai pas besoin de confidentialité, alors j'ai pensé que je ferais mieux d'utiliser le RSA simple.
Je veux une vraie sécurité Il n'y a pas de clé codée ou quelque chose comme ça. Je pensais avoir une paire de clés publique/privée générée à chaque fois que le serveur démarre. Les deux clés ne seront stockées que dans la RAM. Ensuite, lorsqu'un client se connecte, cela devrait se passer exactement comme pour SSL. Comme décrit aquí .
1. échanger une certaine forme de paire de clés privée/publique ; le serveur génère une paire de clés, garde la clé privée pour lui et partage la clé publique avec le client (par exemple, par l'intermédiaire d'un message WCF).
2. à l'aide de cette paire de clés privée/publique, échanger un secret commun partagé, par exemple une "clé de cryptage" qui crypte symétriquement vos messages (et puisque c'est symétrique, le serveur peut utiliser la même clé pour décrypter les messages).
3. mettre en place une infrastructure sur votre client (par exemple une extension WCF appelée comportement) pour inspecter le message avant qu'il ne soit envoyé et le crypter avec votre secret partagé.
Ce serait sûr, n'est-ce pas ?
Existe-t-il une solution pour archiver ce que je viens de décrire ? Si ce n'est pas le cas, je vais la créer moi-même. Par où dois-je commencer ? Quel type de comportement WCF personnalisé est le meilleur à mettre en œuvre ?
EDIT : Comme ce n'est PAS sécurisé, j'adopterai l'approche suivante :
Lors de l'installation du composant serveur, un nouveau certificat X509 sera généré et automatiquement ajouté au magasin de certificats (du serveur). La partie publique de ce certificat généré sera dynamiquement incluse dans l'installation du client. Lors de l'exécution de l'installation du client sur la machine cliente, le certificat sera installé dans le magasin de certificats Windows de confiance du client.
Il n'y a donc pas de travail supplémentaire lors de l'installation du produit et tout devrait être sécurisé, comme nous le souhaitons.