JOSE
JOSE 是什么?
JOSEJavaScript Object Signing and Encryption,IETF 标准家族(RFC 7515-7520 和 8037),用 JSON 表示已签名和加密的数据。
JOSE 是 IETF 一系列规范的总称,为基于 JSON 的协议提供密码学保护。它涵盖 JWS(RFC 7515)定义签名、JWE(RFC 7516)定义加密、JWK 和 JWK Set(RFC 7517)表示密钥、JWA(RFC 7518)规定 RS256、ES256、EdDSA、A256GCM 等算法标识、JWT(RFC 7519)定义基于声明的令牌,以及 RFC 7520 提供的 JSON 加密实践指南。RFC 8037 加入了 Ed25519 与 X25519。JOSE 是 OAuth 2.0、OpenID Connect、SaaS API 认证和 W3C 可验证凭证等的基础。实现者需要避免历史上的 alg:none 攻击、RS256 与 HS256 之间的密钥混淆问题,以及 CVE-2015-9235 等案例中出现的 encrypt-then-MAC 与 AEAD 陷阱。
● 示例
- 01
OpenID Connect ID Token 是一个用 RS256 或 ES256 签名的 JWT(JWS 紧凑序列化)。
- 02
OAuth 2.0 的 DPoP 凭证是一段绑定客户端密钥的、生命周期短的 JWS 紧凑 JWT。
● 常见问题
JOSE 是什么?
JavaScript Object Signing and Encryption,IETF 标准家族(RFC 7515-7520 和 8037),用 JSON 表示已签名和加密的数据。 它属于网络安全的 密码学 分类。
JOSE 是什么意思?
JavaScript Object Signing and Encryption,IETF 标准家族(RFC 7515-7520 和 8037),用 JSON 表示已签名和加密的数据。
JOSE 是如何工作的?
JOSE 是 IETF 一系列规范的总称,为基于 JSON 的协议提供密码学保护。它涵盖 JWS(RFC 7515)定义签名、JWE(RFC 7516)定义加密、JWK 和 JWK Set(RFC 7517)表示密钥、JWA(RFC 7518)规定 RS256、ES256、EdDSA、A256GCM 等算法标识、JWT(RFC 7519)定义基于声明的令牌,以及 RFC 7520 提供的 JSON 加密实践指南。RFC 8037 加入了 Ed25519 与 X25519。JOSE 是 OAuth 2.0、OpenID Connect、SaaS API 认证和 W3C 可验证凭证等的基础。实现者需要避免历史上的 alg:none 攻击、RS256 与 HS256 之间的密钥混淆问题,以及 CVE-2015-9235 等案例中出现的 encrypt-then-MAC 与 AEAD 陷阱。
如何防御 JOSE?
针对 JOSE 的防御通常结合技术控制与运营实践,详见上方完整定义。
JOSE 还有哪些其他名称?
常见的别称包括: JavaScript Object Signing and Encryption。
● 相关术语
- cryptography№ 573
JWS
JSON Web Signature(RFC 7515)是 JOSE 系列中的一种格式,通过对 Base64URL 编码的头部和负载进行数字签名或 MAC,保护任意内容的完整性与来源。
- cryptography№ 571
JWE
JSON Web Encryption(RFC 7516)是 JOSE 系列中的一种格式,通过认证加密以及密钥包装或密钥协商,机密地封装载荷。
- cryptography№ 572
JWK
JSON Web Key,定义于 RFC 7517,是用于 JOSE 和 OAuth 系列协议中,表示公钥或私钥的 JSON 对象。
- identity-access№ 574
JWT(JSON Web Token)
紧凑、URL 安全的令牌格式(RFC 7519),携带带签名的 JSON 声明,广泛用作访问令牌、ID 令牌和会话载体。
- identity-access№ 760
OpenID Connect (OIDC)
构建在 OAuth 2.0 之上的身份层,允许客户端通过签名的 ID 令牌验证用户身份并获取基本资料。
● 参见
- № 225COSE