访问令牌是不是加密

Posted

技术标签:

【中文标题】访问令牌是不是加密【英文标题】:Access token to encrypt or not访问令牌是否加密 【发布时间】:2017-08-01 18:28:53 【问题描述】:

我们将访问令牌存储在数据库中,它是一个随机字符串,它按原样存储,不加密。

必须加密吗?是否存在一些安全风险?

【问题讨论】:

这取决于使用的客户端平台以及拥有令牌时可以做什么。因此,您需要对您的软件进行安全评估来回答这个问题。 【参考方案1】:

这取决于这些令牌的用途。 访问令牌通常从不存储。 它们不是随机字符串,而是根据严格要求(验证)发布并由 HMAC 和密钥签名的短期对象。 所有这些都是确保它们安全的措施。

如果它们只是随机字符串,则它们不满足任何这些措施。

【讨论】:

【参考方案2】:

您可以在令牌存储在数据库中时对其进行加密,以避免在发生数据库泄露时泄露它。但是当然,这取决于您如何保护/存储用于加密令牌的密钥。

如果您认为您可以比数据库存储/访问更好地保护加密密钥,例如通过使用 HSM 或安全文件存储,那么在存储之前使用这样的密钥加密令牌是有意义的。

【讨论】:

以上是关于访问令牌是不是加密的主要内容,如果未能解决你的问题,请参考以下文章

OAuth 2.0 访问令牌未加密?

加密,然后将访问令牌存储在 localStorage

更改 AWS Cognito 访问令牌 JWT 中的加密算法

从 JWT 生成访问令牌

没有任何 JS 访问令牌的 JWT 有效负载加密

使用加密访问令牌格式登录 Facebook XMPP