使用自我管理 HSM 为文档签名启用 LTV 签名的最佳实践

SSL.com 通过我们的 eSigner 签名操作 API 提供交钥匙远程云签名服务,其中包括私钥的存储和管理。

然而,许多用户更喜欢利用自己的 HSM 或云 HSM 服务来存储用于签署文档的私钥。 

LTV 签名允许在不依赖外部系统或存储库的情况下进行验证。 所有必要的验证信息都包含在文档本身中,使其成为独立的。 这对于长期验证尤其重要,因为外部系统或存储库可能会随着时间的推移而变得不可用或发生变化。

通过 LTV 签名,验证过程保持独立且自足。

以下是用户可以参考的最佳实践列表,以便在使用自己的 HSM 或云 HSM 服务时启用 LTV 签名以进行文档签名。

  1. 准备文件:确保您要签名的文档采用合适的格式,例如 PDF/A 或简单的 PDF 文档。 PDF/A 专为长期归档而设计,可确保文档的完整性随着时间的推移得以保持。

  2. 使用加密时间戳:LTV 签名需要可靠且值得信赖的时间来源。 加密时间戳通过将签名安全地链接到特定时间来实现这一点,防止任何回溯或篡改。 使用受信任的时间戳权威机构(例如 SSL.com)或组织内的内部时间戳服务。
    SSL.com 的时间戳服务器位于 http://ts.ssl.com/。 默认情况下,SSL.com 支持 ECDSA 密钥的时间戳。

    如果您遇到此错误:时间戳证书不满足最小公钥长度要求,则可能是您的 HSM 供应商不允许使用 ECDSA 密钥的时间戳,除非提出请求。

    如果您的 HSM 供应商无法允许使用普通端点,您可以使用此旧端点 http://ts.ssl.com/legacy 从 RSA 时间戳单元获取时间戳。

  3. 保留证书吊销信息:为了长期保持签名的有效性,保留证书吊销信息至关重要。 这包括用于验证签名者证书的证书吊销列表 (CRL) 或在线证书状态协议 (OCSP) 响应。 

    对于Java语言用户,可以参考 PDFBox Java 库 其中包含创建 LTV 签名的示例。 它还包括签名时间戳示例。 

    以下是有关如何在 PDF 文档中嵌入文档签名证书链的吊销信息 (CRL) 的示例代码: https://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/AddValidationInformation.java?view=markup

  4. 存档签署的文件:对所有签名文档(包括任何中间版本)进行安全且有组织的存档。 这确保了签名的文档和相关的验证信息(例如时间戳和撤销数据)可随时用于长期验证。 实施适当的存储机制以防止未经授权的访问、篡改或数据丢失。

  5. 验证签名:实施验证过程以确保签名能够被正确验证。 这涉及使用与签名证书关联的公钥来验证签名的完整性、检查时间戳的有效性以及验证证书的吊销状态。

  6. 正确配置 HSM:确保 HSM 得到正确配置和维护,并遵守密钥管理的行业标准和最佳实践,例如密钥轮换、强大的访问控制和定期审核。

  7. 监控和更新安全控制:定期监控签名基础设施的安全控制和配置,包括 HSM、时间戳服务和存储系统。 随时了解 HSM 和文档签名技术的安全补丁、固件更新以及行业最佳实践。

如需自行管理的 HSM 文档签名解决方案,请联系 sales@ssl.com.

有关 SSL.com 支持的云 HSM 的指南,请访问本文: 支持的Cloud HSM用于文档签名和EV代码签名.

详细了解 SSL.com 支持的云 HSM

Cloud HSM服务申请表

如果您想订购数字证书以安装在受支持的云 HSM 平台(AWS CloudHSM 或 Azure Dedicated HSM)上,请填写并提交下面的表格。 我们收到您的请求后,SSL.com 的工作人员将与您联系,提供有关订购和认证流程的更多详细信息。

订阅SSL.com的新闻通讯

不要错过SSL.com上的新文章和更新

我们希望收到您的反馈

参加我们的调查,让我们知道您对最近购买的想法。