如果有人知道密钥并更改例如 json 令牌的用户名和到期时间,他们是否能够访问服务器上的安全数据?
问问题
146 次
2 回答
1
如果在“密钥”中您指的是 HMAC 签名中使用的对称密钥,那么拥有该密钥的任何人都可以创建并签署有效的 JWT。
如果在“密钥”中您指的是用于在 RSA 场景中签署 JWT 的私钥,那么拥有该密钥的任何人都可以创建并签署一个有效的 JWT,该 JWT 受到使用相应公钥进行验证的任何人的信任。
假设有人可以随意伪造 JWT(修改后能够正确签名),则该令牌将受到接收方的信任,并且其内容将被认为是真实的。
所以基本上,是的。
这是描述一些漏洞以及 JWT 中一般安全概念的精彩读物。
于 2015-08-03T06:26:41.613 回答
0
您需要 5 个不同的参数来获取访问令牌 -
grant_type、用户名、密码、client_id、client_secret
所以,知道密钥,用户名不会让你得到令牌;知道密码也会得到。这恰恰意味着只有知道所有参数的人才能获得令牌,否则不会!
于 2015-08-03T06:04:48.563 回答