我正在使用Scala和LIFT开发REST Web服务,并且几乎不知道如何验证客户端。我正在考虑标准的HTTP身份验证,但发现它非常不安全,因为它通过网络以b64编码的纯文本传递密码。那么我该如何做得更好呢?
答案 0 :(得分:1)
如果您希望身份验证不会在传输过程中被观察到,那么您唯一可行的选择就是HTTPS。从技术上讲,有像Diffie-Hellman这样的密钥交换协议,但它们并没有被广泛支持。
但是在飞行中观察数据包的问题几乎是不存在的。在共享局域网中,使用像FireSheep这样的点击是可能,虽然不一定容易 - 但是走到家伙的计算机并安装密钥通常会更容易和更有效 - 记录器。
答案 1 :(得分:0)
基本身份验证将以(几乎)明文形式传递密码和用户名。如果您使用摘要式身份验证,它仍然会容易被中间人窃听,但您应该更安全地防止密码被盗和会话接管。 Exploring Lift中的这一章提供了有关摘要身份验证的一些信息:http://exploring.liftweb.net/master/index-9.html