11. 安全考虑事项 (Security Considerations)
JWS [JWS] 和 JWE [JWE] 规范中的所有安全考虑事项都适用于本规范. 因此, 实现者应仔细阅读这些规范的安全考虑事项章节.
11.1. 信任决策 (Trust Decisions)
能否使用 JWT 内容作出信任决策, 取决于这些内容的真实性和完整性. 当使用数字签名或 MAC 保护 JWT 时, 可以验证 JWT 内容的真实性和完整性.
然而, 对 JWT 进行签名或 MAC 保护并不能保证 JWT 内容的来源. 签名或 MAC 只能验证内容自签名或 MAC 创建以来未被更改. 验证签名或 MAC 并不能确定是谁创建了该签名或 MAC, 只能确定用于该签名或 MAC 的密钥持有者执行了该操作.
因此, 实现必须在 JWT 内容与执行签名或 MAC 操作的一方之间建立信任关系 (MUST). 例如, 对于使用公钥密码学的 JWT, 这可能涉及验证用于签名的公钥证书链, 以确定签名者的身份.
11.2. 签名和加密顺序 (Signing and Encryption Order)
当签名和加密都应用于 JWT 时, 通常应先对 JWT 签名, 然后加密已签名的 JWT. 这可以防止攻击者剥离签名并替换为自己的签名.
当 JWT 可能暴露给多个 audience 时, 尤其重要的是使用 "aud" (audience) 声明来限制 JWT 的预期接收者.