我们正在开发一个需要安全用户身份验证的GWT网络应用程序。我们有可能通过传真向用户提供凭据。所以我们可以使用预先分享的秘密。我们不可能在这个应用程序中使用ssl或https。使用预共享密钥进行身份验证
我想知道什么是更安全的方式来存储传递到服务器上并验证用户;我怀疑是否应该两次散列密码?
我们正在开发一个需要安全用户身份验证的GWT网络应用程序。我们有可能通过传真向用户提供凭据。所以我们可以使用预先分享的秘密。我们不可能在这个应用程序中使用ssl或https。使用预共享密钥进行身份验证
我想知道什么是更安全的方式来存储传递到服务器上并验证用户;我怀疑是否应该两次散列密码?
如果无法进行加密,则应在客户端散列密码(与服务器提供的随机盐一起腌制)并比较得到的散列值。
这种方法具有两个优点:
然而,没有加密和适当的认证,会话劫持和此类攻击是微不足道的。
请注意,有没有办法让这个安全性足以衬托出有能力的恶意方的任何攻击企图没有某种形式在HTTP之上的加密/ authentiaction层,所以它可能是最好的不要给用户任何虚假的安全感,mmkay?
“让我们只使登录尽可能安全”中的最大问题是会话侧面攻击是没有加密的微不足道的。 Sidejacking(如Wikipedia定义):
会议sidejacking,其中攻击者使用数据包嗅探阅读两方之间的网络流量窃取会话cookie。许多网站对登录页面使用SSL加密,以防止攻击者看到密码,但一旦通过身份验证,就不会对网站的其他部分使用加密。这使攻击者可以读取网络流量,拦截所有提交给服务器的数据或客户端查看的网页。由于这些数据包含会话cookie,因此即使密码本身不受影响,它也允许他冒充受害者。[3]不安全的Wi-Fi热点特别容易受到攻击,因为任何共享网络的人通常都能读取其他节点和接入点之间的大部分网络流量。
为什么SSL和HTTPS是一个禁忌? – Kimvais 2012-08-14 18:27:31
这只是因为我们认为它在应用程序设计上需要一些改变;不是吗? – Ehsan 2012-08-15 14:54:29