什么是数字签名、数字证书和时间戳?
什么是数字证书?
为了将公钥与其关联用户(私钥的所有者)绑定,公钥基础结构 (PKI) 使用数字证书。 数字证书这种凭证有助于在交易中验证用户之间的身份。 就像护照可以证明一个人的国家公民身份一样,数字证书是为了确立生态系统中用户的身份。 由于数字证书用于识别向其发送了加密数据的用户,或用于验证信息签名者的身份,因此,为了维持系统的可信度,必须保护证书的真实性和完整性。
什么是 Certificate Authority?
Certificate Authority (CA) 是负责建立分层信任链的公钥基础结构 (PKI) 的核心组成部分。 CA 签发用于证明用户身份的数字凭据。 CA 是 PKI 及其所支持服务的安全性基础,因此可能成为复杂针对性攻击的焦点。 为了降低攻击 Certificate Authority 的风险,物理和逻辑控制以及硬件安全模块 (HSM) 等强化机制对于确保 PKI 完整性已变得十分必要。
什么是代码签名?
在公钥加密中,代码签名是基于证书的数字签名的特定用途,它使组织能够验证软件发布者的身份,并证明软件自发布以来未更改过。
数字签名为软件发布者和内部开发团队提供可靠的加密流程,以保护最终用户免受网络安全威胁(包括 Duqu 2.0 等高级持续性威胁 (APT))的影响。 数字签名可确保软件的完整性和真实性。 数字签名使最终用户能够验证发布者的身份,同时确认安装包自签名以来未更改过。 所有现代操作系统都会在安装过程中查找并验证数字签名,有关未签名代码的警告可能会导致最终用户放弃安装。
什么是时间戳?
时间戳是对数字签名实践的越来越有价值的补充,使组织能够记录数字项目(例如消息、文档、交易或软件)的签名时间。 对于某些应用而言,数字签名的时机至关重要,例如股票交易、彩票发行和一些法律程序。 由于时间戳提供了一种机制来证明数字证书在使用时是否有效,因此即使时间不是应用的固有属性,时间戳对于记录保存和审计流程也有所助益。 数字签名解决方案的重要性日益增加,创造了对时间戳的相应需求,因此许多软件程序(例如 Microsoft Office)都支持时间戳功能。
安全的重要性
如果要增加时间戳的实际价值,则时间戳必须是安全的。
与不安全的时间戳相关的风险
- 无法信任电子流程会导致需要用昂贵的书面记录来备份电子记录。
- 通过操纵计算机时钟,攻击者可以很轻易地破坏基于软件的时间戳流程,从而使整个签名流程无效。
- 不安全的时间戳或数字签名流程会使组织面临合规性问题和法律挑战。
- 即使在吊销了私有签名密钥和证书后,用户仍然可以访问它们。如果没有时间戳,组织就无法证明签名是在吊销证书之前还是之后创建的。