首页/安全/等保与合规速查/JWT 认证安全:算法、校验与密钥轮换
密码与认证合规50 条

JWT 认证安全:算法、校验与密钥轮换

JWT 用于接口与服务间认证时应固定可信算法、完整校验声明(iss/aud/exp),并使用 JWKS 轮换密钥;仅签名不含加密,禁止将敏感数据放入载荷。

等保与合规速查安全更新于 2026-10-12

PyJWT 校验示例

PyJWT 校验示例
import jwt
payload = jwt.decode(
    token, key=public_key_pem,
    algorithms=["RS256"],            # 固定算法,禁止 none
    audience="api.example.com", issuer="https://idp.example.com",
    options={"require": ["exp", "iss", "aud"]})
# 载荷仅放非敏感声明;敏感数据用 JWE 或服务端查询
历史漏洞多与"信任 alg 头"有关:务必在服务端白名单校验算法,不接受客户端指定算法。

易错点

  • alg=none 或 HS/RS 混淆:属于高风险实现错误
  • 把手机号等敏感信息写进载荷:载荷可被 base64 解码

数据来源与参考

  • RFC 7519(JWT)
  • OWASP JWT Cheat Sheet
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌