我正在开发Web服务,
这些服务是rest
服务,并由移动应用程序使用。
mySever:myPort/login
在请求的帖子中,他们使用密码和用户名。
这样安全吗?如果这种方式不安全,你能建议其他选择吗?
答案 0 :(得分:4)
仅当您通过SSL进行所有通信时。
答案 1 :(得分:2)
如果您使用HTTP并确保验证服务器证书,那么您将具有相当的安全性。
如果您制作自己的身份验证协议,则很可能会创建漏洞。
如果您只是发送密码的哈希值,则表示您尚未添加任何安全性;攻击者可以重播相同的哈希值。
答案 2 :(得分:0)
由于您没有使用SSL,因此您应该使用一些方法来避免重放攻击。如果你只是自己散列密码,有人可以很容易地捕获哈希并自己发送。一种方法是使用您发送给用户的nonce,并在散列之前将其添加到密码中。此随机数应该是唯一的(例如,您可以使用时间戳)。
因此,您可以使用hash(密码+ nonce)代替hash(密码)。然后你会比较,因为你们都持有密码和随机数。