PKCS#11
PKCS#11 是什么?
PKCS#11一种被称为 Cryptoki 的标准 C 语言 API,允许应用程序在不依赖厂商专有驱动的情况下使用 HSM、智能卡等加密令牌。
PKCS#11(公钥密码学标准第 11 号)最初由 RSA Laboratories 发布,现由 OASIS 维护,定义了一个名为 Cryptoki 的平台无关 C 接口,用于访问加密令牌。令牌通过插槽、会话和对象(密钥、证书、数据)对外暴露,C_Sign、C_Encrypt、C_Wrap、C_DeriveKey 等操作均在设备内部执行,私钥不会离开硬件。它是 TLS 服务器(通过 pkcs11-provider 的 OpenSSL)、PKI 软件、代码签名流水线和 KMIP 客户端访问 HSM、智能卡及 TPM 的事实标准。当前版本 PKCS#11 v3.1 增加了 Ed25519、EdDSA 以及后量子算法等现代原语。
● 示例
- 01
OpenSSL 通过 pkcs11-provider 调用 YubiHSM 2 来签发 TLS 证书请求。
- 02
代码签名 CI 任务对 AWS CloudHSM 中的密钥调用 C_Sign,而无需导出该密钥。
● 常见问题
PKCS#11 是什么?
一种被称为 Cryptoki 的标准 C 语言 API,允许应用程序在不依赖厂商专有驱动的情况下使用 HSM、智能卡等加密令牌。 它属于网络安全的 密码学 分类。
PKCS#11 是什么意思?
一种被称为 Cryptoki 的标准 C 语言 API,允许应用程序在不依赖厂商专有驱动的情况下使用 HSM、智能卡等加密令牌。
PKCS#11 是如何工作的?
PKCS#11(公钥密码学标准第 11 号)最初由 RSA Laboratories 发布,现由 OASIS 维护,定义了一个名为 Cryptoki 的平台无关 C 接口,用于访问加密令牌。令牌通过插槽、会话和对象(密钥、证书、数据)对外暴露,C_Sign、C_Encrypt、C_Wrap、C_DeriveKey 等操作均在设备内部执行,私钥不会离开硬件。它是 TLS 服务器(通过 pkcs11-provider 的 OpenSSL)、PKI 软件、代码签名流水线和 KMIP 客户端访问 HSM、智能卡及 TPM 的事实标准。当前版本 PKCS#11 v3.1 增加了 Ed25519、EdDSA 以及后量子算法等现代原语。
如何防御 PKCS#11?
针对 PKCS#11 的防御通常结合技术控制与运营实践,详见上方完整定义。
PKCS#11 还有哪些其他名称?
常见的别称包括: Cryptoki, PKCS11。