implementing-jwt-signing-and-verification

RFC 7519 定义的 JSON Web Token(JWT)是用于 Web 应用程序认证和授权的紧凑、URL 安全的令牌。本技能涵盖使用 HMAC-SHA256、RSA-PSS 和 EdDSA 算法实现安全的 JWT 签名,以及验证、令牌过期、声明验证和防御常见 JWT 攻击(算法混淆、none 算法、密钥注入)。

9 stars

Best use case

implementing-jwt-signing-and-verification is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

RFC 7519 定义的 JSON Web Token(JWT)是用于 Web 应用程序认证和授权的紧凑、URL 安全的令牌。本技能涵盖使用 HMAC-SHA256、RSA-PSS 和 EdDSA 算法实现安全的 JWT 签名,以及验证、令牌过期、声明验证和防御常见 JWT 攻击(算法混淆、none 算法、密钥注入)。

Teams using implementing-jwt-signing-and-verification should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-jwt-signing-and-verification/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-jwt-signing-and-verification/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-jwt-signing-and-verification/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-jwt-signing-and-verification Compares

Feature / Agentimplementing-jwt-signing-and-verificationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

RFC 7519 定义的 JSON Web Token(JWT)是用于 Web 应用程序认证和授权的紧凑、URL 安全的令牌。本技能涵盖使用 HMAC-SHA256、RSA-PSS 和 EdDSA 算法实现安全的 JWT 签名,以及验证、令牌过期、声明验证和防御常见 JWT 攻击(算法混淆、none 算法、密钥注入)。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 实现 JWT 签名与验证

## 概述

RFC 7519 定义的 JSON Web Token(JWT)是用于 Web 应用程序认证和授权的紧凑、URL 安全的令牌。本技能涵盖使用 HMAC-SHA256、RSA-PSS 和 EdDSA 算法实现安全的 JWT 签名,以及验证、令牌过期、声明验证,并防御常见 JWT 攻击(算法混淆、none 算法、密钥注入)。

## 目标

- 使用 HS256、RS256、ES256 和 EdDSA 实现 JWT 签名
- 验证 JWT 签名并校验标准声明
- 实现令牌过期、not-before 和受众验证
- 防御算法混淆和 none 算法攻击
- 使用 JWK Sets 实现 JWT 密钥轮换
- 构建完整的认证中间件

## 核心概念

### JWT 算法

| 算法 | 类型 | 密钥 | 安全级别 |
|------|------|------|---------|
| HS256 | 对称(HMAC)| 共享密钥 | 128 位 |
| RS256 | 非对称(RSA)| RSA 密钥对 | 112 位 |
| ES256 | 非对称(ECDSA)| P-256 密钥对 | 128 位 |
| EdDSA | 非对称(Ed25519)| Ed25519 密钥对 | 128 位 |

### 常见 JWT 攻击

- **算法混淆(Algorithm Confusion)**:将 RS256 切换为 HS256,使用公钥作为 HMAC 密钥
- **None 算法**:设置 alg=none 绕过签名验证
- **密钥注入(Key Injection)**:在 JWK 头部嵌入密钥
- **弱密钥(Weak Secrets)**:暴力破解短 HMAC 密钥
- **令牌重放(Token Replay)**:在没有过期的情况下重用有效令牌

## 安全注意事项

- 始终根据白名单验证算法头部
- 生产环境中永远不要接受 alg=none
- 分布式系统使用非对称算法(RS256、ES256)
- 设置短过期时间(访问令牌 15 分钟)
- 实现令牌刷新机制
- 安全存储密钥(不要放在源代码中)

## 验证标准

- [ ] JWT 签名为所有算法产生有效令牌
- [ ] 签名验证拒绝被篡改的令牌
- [ ] 过期令牌被拒绝
- [ ] 算法混淆攻击被阻止
- [ ] None 算法被拒绝
- [ ] JWK 密钥轮换正常工作
- [ ] 声明验证强制执行所有必需声明

Related Skills

implementing-zero-trust-with-hashicorp-boundary

9
from killvxk/cybersecurity-skills-zh

使用 HashiCorp Boundary 实现具备动态凭据代理、会话录制和 Vault 集成的身份感知零信任基础设施访问管理。

implementing-zero-trust-with-beyondcorp

9
from killvxk/cybersecurity-skills-zh

使用身份感知代理(IAP,Identity-Aware Proxy)、上下文感知访问策略、设备信任验证和 Access Context Manager,部署 Google BeyondCorp Enterprise 零信任访问控制,对 GCP 资源和内部应用强制执行基于身份和安全态势的访问。

implementing-zero-trust-network-access

9
from killvxk/cybersecurity-skills-zh

通过配置身份感知代理、微分段、基于条件访问策略的持续验证,以及在 AWS、Azure 和 GCP 环境中以 BeyondCorp 风格的架构替代传统 VPN 访问,在云环境中实施零信任网络访问(ZTNA)。

implementing-zero-trust-network-access-with-zscaler

9
from killvxk/cybersecurity-skills-zh

使用 Zscaler 实施零信任网络访问(Zero Trust Network Access,ZTNA),通过 Zscaler Private Access(ZPA)配置应用分段、访问策略和连接器,替代传统 VPN 架构

implementing-zero-trust-in-cloud

9
from killvxk/cybersecurity-skills-zh

本技能指导组织按照 NIST SP 800-207 和 Google BeyondCorp 原则在云环境中实施零信任(Zero Trust)架构,涵盖以身份为中心的访问控制、微分段(Micro-Segmentation)、持续验证、设备信任评估,以及部署身份感知代理(Identity-Aware Proxy)以消除 AWS、Azure 和 GCP 环境中的隐式网络信任。

implementing-zero-trust-for-saas-applications

9
from killvxk/cybersecurity-skills-zh

使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。

implementing-zero-trust-dns-with-nextdns

9
from killvxk/cybersecurity-skills-zh

将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。

implementing-zero-standing-privilege-with-cyberark

9
from killvxk/cybersecurity-skills-zh

部署 CyberArk Secure Cloud Access,通过基于时间、权限和审批控制的即时访问,在混合云和多云环境中消除常设权限。

implementing-zero-knowledge-proof-for-authentication

9
from killvxk/cybersecurity-skills-zh

零知识证明(ZKP)允许证明者在不泄露秘密本身的情况下证明对某个秘密(如密码或私钥)的了解。本技能实现 Schnorr 身份识别协议和使用离散对数问题的简化 ZKPP,使服务器永远不需要获取用户密码即可完成认证。

implementing-web-application-logging-with-modsecurity

9
from killvxk/cybersecurity-skills-zh

配置带有 OWASP 核心规则集(CRS)的 ModSecurity WAF,实现 Web 应用程序日志记录, 调整规则以减少误报,分析审计日志进行攻击检测,并为应用程序特定威胁实现自定义 SecRules。 分析师配置 SecRuleEngine、SecAuditEngine 和 CRS 偏执级别,以在安全覆盖范围和运营稳定性之间取得平衡。 适用于涉及 WAF 配置、ModSecurity 规则调整、Web 应用审计日志或 CRS 部署的场景。

implementing-vulnerability-sla-breach-alerting

9
from killvxk/cybersecurity-skills-zh

为漏洞修复 SLA 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。

implementing-vulnerability-remediation-sla

9
from killvxk/cybersecurity-skills-zh

漏洞修复 SLA(服务级别协议)根据严重程度、资产重要性和漏洞利用可用性定义修补或缓解已识别漏洞的强制时限。有效的 SLA 计划推动责任落实、确保一致的修复时间线,并为漏洞管理成熟度提供可衡量的 KPI。