0

我们目前正在设计一个需要身份验证协议的智能手机应用程序。我们将对所有消息使用 HTTPS。想法如下:

  1. 客户端联系服务器并使用他的用户/密码组合验证自己。
  2. 服务器使用存储在数据库中的随机生成的令牌进行回复。
  3. 为了联系服务器,客户端现在使用他/她的用户/令牌组合。
  4. 在他发送的每条消息中,服务器都有一定的概率重新生成它包含在它发送的消息中的新令牌。

问题是:我们使用这个协议会有安全问题吗?

注意:密码和令牌存储在数据库中。

4

1 回答 1

0

安全性基于您用于加密的证书。一般来说这就足够了,您还可以检查它是否是预期的证书。如果您检查自己证书的指纹,您可以确定(如果您使用 sha1 或更好)证书来自您,而不是中间攻击的成功人。例如,NSA 可以简单地为您的域创建有效证书,但 AFIK 不可能生成具有相同指纹的第二个证书。

顺便说一句,我希望密码和令牌也被加盐。这很重要,因此不可能看到两个客户使用相同的密码,并且它增加了哈希的复杂性,这意味着使用彩虹表破解这样的密码需要更多的时间。

于 2013-08-26T18:21:52.400 回答