2011-07-18 4 views
3

Je souhaite rendre mon authentification de site ASP.Net transparente à l'aide de l'appel Ajax. Donc, je considère en utilisant client side authentication service of microsoft qui devrait être utilisé via HTTPS car il envoie le nom d'utilisateur et mot de passe au format plain-text. Et le problème est que je ne peux pas utiliser SSL sur mon site.Authentification Ajax sécurisée ASP.Net

donc j'ai trouvé un moyen de hachage des données avant de passer au service Web qui est décrit here mais le problème est qu'il ya un sel dans DB qui devrait passer au client pour créer un mot de passe haché (qui équivaut à DB mot de passe enregistré). et ce n'est pas sûr.

Y a-t-il un meilleur moyen de le faire?

Répondre

0

J'ai trouvé un moyen. Nous utiliserons RSA pour crypter le nom d'utilisateur et le mot de passe. en été Je vais avoir un service web qui crée une paire de clés RSA et l'enregistre (cette clé sera régénérée tous les jours pour être plus sécurisée).

Je vais avoir une zone de texte ou un champ caché qui appelle ce service et obtenir la clé publique. pour crypter le nom d'utilisateur et le mot de passe avec le côté client de la bibliothèque jCryption et le transmettre à mon service d'authentification en utilisant l'appel ajax. Le serveur va donc les décrypter avec la clé privée et l'utilisateur authentifié.

0

Juste au cas où vous recherchez une version ASP.NET de jCryption pour une communication bidirectionnelle, que vous avez mentionné que vous avez essayé, vous pouvez en trouver un sur GitHub ici: jCryptionNET