2011-10-16 6 views
2

Je développe un service web REST avec Scala et LIFT et n'ai pratiquement aucune bonne idée sur la façon d'authentifier un client. Je pensais à une authentification HTTP standard, mais j'ai découvert qu'il est très peu sécurisé car il transmet des mots de passe sur un réseau en texte brut codé en b64. Alors, comment dois-je faire mieux?Comment authentifier un client du service Web Lift REST?

Répondre

1

Si vous voulez que l'authentification soit sécurisée contre le fait d'être observée pendant le transport, votre seule option réaliste est HTTPS. Techniquement, il existe des protocoles d'échange de clés comme Diffie-Hellman, mais ils ne sont pas largement supportés.

Mais le problème de l'observation des paquets en vol est presque inexistant. Dans un réseau local partagé, il est possible, mais pas nécessairement facile, d'utiliser un robinet comme FireSheep - mais il serait généralement plus facile et plus efficace de marcher jusqu'à l'ordinateur du gars et d'installer un enregistreur de frappe.

+0

+2 pour HTTPS, -1 pour minimiser la menace du texte en clair :-) S'il doit être super sécurisé, et vous avez un moyen sécurisé Pour pré-partager des clés avec des clients, l'authentification mutuelle avec des certificats que vous obtenez vous-même est complètement standard et aussi sécurisé que vous le faites. – Szocske

+0

@Szocske - si quelqu'un peut pointer vers des pertes dues à l'interception de texte clair totalisant, oh, 0,1% des pertes de mots de passe mal gérés (ou keyloggers ou phishing ou une demi-douzaine d'autres vrais problèmes), je vais arrêter minimisant la menace. Jusque-là, je prendrai le net +1 là où je peux. – Malvolio

+0

Vous êtes les bienvenus sur le net +1 :-) Rappelez-vous juste zéro point epsilon pour cent, c'est encore beaucoup de gens réels et de vraies souffrances à "l'échelle Internet" où votre base d'utilisateurs peut être des millions. Avec les cybercafés, le wifi gratuit et les régimes oppressifs, il est impoli de ne pas fournir une option sûre pour ceux qui gardent leurs machines propres des vecteurs à 99,9%. – Szocske

0

L'authentification de base transmettra le mot de passe et le nom d'utilisateur dans un texte (presque) clair. Si vous utilisez l'authentification Digest à la place, elle sera toujours sujette à l'écoute indiscrète, mais vous devriez être plus à l'abri du vol de mot de passe et de la reprise de session. Ce chapitre dans Exploring Lift contient des informations sur l'authentification Digest dans l'ascenseur:

+0

Mais ils suggèrent l'envoi en état, je préférerais rester apatride si possible. – Ivan

Questions connexes