我们目前正在通过加密特定信息和密码来实施对受限资源的授权,这些信息和密码使用AES / CBC / PKCS5Padding加密创建令牌,并且只有服务器知道的128位私钥。
在此令牌中我们放置
然后,服务器使用其私钥对此信息进行加密,并将其传递给客户端。
客户端请求受限资源并将此令牌呈现给服务器,服务器对其进行解密并验证内容以提供对受限资源的访问。
我们希望这样做,以避免在我们的服务器上保留有关已发行令牌的信息,以避免潜在的资源限制。
由于我不是安全专家,任何显示可能存在漏洞的帮助或为什么这是一个坏主意都将非常感激。
答案 0 :(得分:0)
只需发送散列版本进行比较。
仅仅使用哈希函数是不够的,只添加一个盐对提高安全性几乎没有作用。而是使用随机盐在HMAC上迭代大约100毫秒的持续时间并使用散列保存盐。使用PBKDF2(又名Rfc2898DeriveBytes),password_hash / password_verify,Bcrypt等功能。关键是要让攻击者花费大量时间通过暴力查找密码。保护您的用户非常重要,请使用安全密码方法。
请参阅Jim Fenton的Toward Better Password Requirements。
[NIST特刊800-63B数字认证指南草案]( https://pages.nist.gov/800-63-3/sp800-63b.html)
NIST的新密码规则 - 您需要了解的内容: Sophos https://nakedsecurity.sophos.com/2016/08/18/nists-new-password-rules-what-you-need-to-know/