COSE
COSE 是什么?
COSECBOR Object Signing and Encryption(RFC 9052)是 JOSE 的 CBOR 二进制对应规范,面向资源受限的物联网设备及现代协议。
COSE 由 RFC 9052 规范(算法部分见 RFC 9053,取代了最早的 RFC 8152),提供基于 CBOR(RFC 8949)的紧凑、确定性的签名与加密方法。它对应 JOSE 的概念:签名使用 COSE_Sign / COSE_Sign1,加密使用 COSE_Encrypt / COSE_Encrypt0,MAC 使用 COSE_Mac,密钥表示使用 COSE_Key。COSE 是 WebAuthn / FIDO2(依赖方保存的凭证公钥即为 COSE_Key)、用于 IoT 的 OAuth 与欧盟数字 COVID 证书的 CBOR Web Token(CWT,RFC 8392)、SUIT(RFC 9019)固件更新、面向受限 IP 网络的 EDHOC/OSCORE 等的密码学基础。CBOR 编码通常比等价的 JOSE 表示小 30-50%。
● 示例
- 01
WebAuthn 认证器在 attestedCredentialData 中以 COSE_Key 形式(算法 -7,ES256)返回用户公钥。
- 02
欧盟数字 COVID 证书是对 CWT 负载的 COSE_Sign1 签名,并以二维码形式展示。
● 常见问题
COSE 是什么?
CBOR Object Signing and Encryption(RFC 9052)是 JOSE 的 CBOR 二进制对应规范,面向资源受限的物联网设备及现代协议。 它属于网络安全的 密码学 分类。
COSE 是什么意思?
CBOR Object Signing and Encryption(RFC 9052)是 JOSE 的 CBOR 二进制对应规范,面向资源受限的物联网设备及现代协议。
COSE 是如何工作的?
COSE 由 RFC 9052 规范(算法部分见 RFC 9053,取代了最早的 RFC 8152),提供基于 CBOR(RFC 8949)的紧凑、确定性的签名与加密方法。它对应 JOSE 的概念:签名使用 COSE_Sign / COSE_Sign1,加密使用 COSE_Encrypt / COSE_Encrypt0,MAC 使用 COSE_Mac,密钥表示使用 COSE_Key。COSE 是 WebAuthn / FIDO2(依赖方保存的凭证公钥即为 COSE_Key)、用于 IoT 的 OAuth 与欧盟数字 COVID 证书的 CBOR Web Token(CWT,RFC 8392)、SUIT(RFC 9019)固件更新、面向受限 IP 网络的 EDHOC/OSCORE 等的密码学基础。CBOR 编码通常比等价的 JOSE 表示小 30-50%。
如何防御 COSE?
针对 COSE 的防御通常结合技术控制与运营实践,详见上方完整定义。
COSE 还有哪些其他名称?
常见的别称包括: CBOR Object Signing and Encryption。
● 相关术语
- cryptography№ 565
JOSE
JavaScript Object Signing and Encryption,IETF 标准家族(RFC 7515-7520 和 8037),用 JSON 表示已签名和加密的数据。
- cryptography№ 573
JWS
JSON Web Signature(RFC 7515)是 JOSE 系列中的一种格式,通过对 Base64URL 编码的头部和负载进行数字签名或 MAC,保护任意内容的完整性与来源。
- cryptography№ 571
JWE
JSON Web Encryption(RFC 7516)是 JOSE 系列中的一种格式,通过认证加密以及密钥包装或密钥协商,机密地封装载荷。
- identity-access№ 414
FIDO2
FIDO 联盟推出的开放认证标准,结合 WebAuthn(浏览器 API)和 CTAP(认证器协议),实现抗钓鱼的无密码登录。
- identity-access№ 1230
WebAuthn
W3C 标准 JavaScript API,允许 Web 应用使用存储在平台或外部认证器上的公钥凭据来注册和认证用户。
- ot-iot№ 552
物联网安全
针对物联网设备、网关、网络与云服务的安全防护学科。需要应对其规模、资源受限以及长生命周期等挑战。