数字证书(Digital Certificate)
数字证书
X.509是公钥基础设施(PKI)的标准格式。除了证书本身功能,X.509还附带了证书吊销列表和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。
数字证书的基础——加密算法
公钥是由一串随机数组成的,可用于加密信息。只有预期的接收者使用关联的私钥才能解密、读取信息。
该私钥也是由一长串随机数组成的,私钥是秘密储存的,只有接收者知道。
由于公钥是公开的,因此公钥是使用了复杂的密码算法而创建的,通过生成不同长度的随机数字组合将它与关联的私钥配对,这样它们就不易被暴力攻击利用。
用于生成公钥的最常见加密算法:
Rivest–Shamir–Adleman (RSA)
椭圆曲线密码术 (ECC)
数字签名算法 (DSA)
X.509证书结构
X.509证书包含有关颁发者CA和证书使用者的信息。
X.509证书标准字段包括以下内容:
什么是数字证书?
数字证书是一种电子文档,用于证明加密通信中公用密钥的所有权。
从本质上讲,它是一种公钥基础设施(PKI)组件,将公钥与个人或组织等实体绑定,并由被称为证书颁发机构的可信第三方进行验证。
PKI 是 Public Key Infrastructure 的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。
其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。
数字证书包含主体名称、公开密钥、CA 名称和证书有效期等关键信息。 通过使用这些证书,可以建立安全的加密通信,确保数据的完整性和真实性。
PKI 既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为 PKI。
基于 PKI 的身份认证技术
PKI 即为公钥基础设施,是一种遵循公钥密码理论和技术为电子商务等提供普适性安全服务平台的基础设施。
其基本原理是:第三方权威机构—身份认证中心 CA,将用户所持有的公开密钥与其身份信息(如名称、电话等)结合在一起。
在两者相结合之前,由身份认证中心 CA 证实用户身份的真实性,而后身份认证中心 CA 给用户及其公开密钥捆绑的证书签名,则签名证书有效。
每个用户均拥有一对公钥和私钥,其中公钥在网络中是公开的,用于文件发送时对信息进行加密;私钥是保密的,只归用户所有,用于对文件信息进行解密和签名。
当准备发送消息时,发送方使用接收方的公开密钥加密要传输的数据,接收方得到数据后用其所持有的私有密钥来解密数据, 这样,用户可以在 PKI 服务平台安全通信。
基于 PKI 的身份认证技术选用公开密钥技术,数字签名具有不可复制性,且数据得到完整和保密的保护。
PKI 采用数字证书方式,由第三方可信任机构CA 颁发数字证书,同时存储在 USB Key、IC 智能卡等独立设备中,不在网络上传输,无需在线查询数字证书,即可证明用户的身份,能够扩展用户扩大服务范围,可以为大用户群服务。PKI 技术提供数字证书的恢复和撤销机制,如果用户的数字证书丢失或用户信息改变等情况,可以对恢复或撤销数字证书,防止数字证书被窃取或被恶意盗用。
基于 PKI 的身份认证技术具有灵活性、可扩展性。
数字证书如何工作?
PKI 的本质是把非对称密钥管理标准化。
在 PKI 系统中, 由证书认证机构(Certification Authority, CA)签发数字证书、绑定 PKI 用户的身份信息和公钥。
PKI 依赖方(Relying Party)预先存储有自己所信任的根 CA 自签名证书,用来验证与之通信的 PKI 用户的证书链,从而可信地获得该用户的公钥、用于各种安全服务。
数字证书包含一个公开密钥和证书持有者的身份信息。 当证书由可信的证书颁发机构颁发时,它就验证了公开密钥持有者的真实性。
下面是对这一过程的简化解释:
- 生成:需要证书的实体生成一对公共和私人密钥。 公钥共享,私钥保密。
- 请求:实体向 CA 发送证书签名请求(CSR),包括公用密钥和其他身份信息。
- 签发:CA 验证实体的身份并签发数字证书,将公共密钥与实体绑定。
- 使用方法当证书持有者需要建立安全通信时,他们使用私人密钥创建数字签名或解密数据。 公开密钥和数字证书与他人共享,用于加密数据和验证签名。
- 验证:收件人可将证书与 CA 的根证书进行核对,确保证书未被撤销或过期,从而验证证书的真实性。
PKI 系统由认证机构 CA、注册机构 RA、数字证书库、密钥备份及恢复系统、证书撤销系统、密钥更新机制等组成。
- 认证机构 CA:解决数字证书签发问题。它是数字证书的颁布机关,也是 PKI 体系的核心,是具有权威性、公正性的第三方机构。认证机构 CA 首先确认申请证书的申请用户身份,然后将要颁发的证书的主体与公钥捆绑在一起,生成数字证书,从而使申请用户与一对公钥和私钥建立对应关系。
- 注册机构 RA:它负用来收用户的申请,审核用户的真实身份,符合颁发证书条件的用户可以被颁布数字证书,否则将不能获得数字证书。
- LDAP-数字证书库:解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈。集中储存已经颁发的证书和公钥,用户可以方便地在证书库中查询其他证书等相关信息。数字证书库的存放方式为目录服务器、关系数据库等。通常用的是 LDAP 目录。
- KMC-密钥备份及恢复系统:解决私钥的备份与恢复问题。它是密钥管理体系的核心,如果用户不小心丢失数据的解密密钥,则无法解密曾经加密的数据。这个系统能够解决此类问题。在数字证书生成的同时,认证机构 CA 备份了加密密钥,并将它储存在数字证书库中,当用户因丢失密钥等原因需要重新找回密钥时,可以向认证机构 CA 提出申请,CA 为用户恢复密钥。
- 证书撤销系统:因为用户丢失密钥,或者是用户的身份有所变化,证书超出有效期限,证书就要做相应的更新,产生新的证书,撤销原来旧的证书。证书撤销处理系统作为 PKI 体系中不可或缺的组成部分,要求 PKI 体系为证书撤销系统提供一整套管理机制。 证书自生成之后,PKI 系统会自动检查证书是否要超出有效期限,每过一段时间自动更新证书,在到期之前,CA 会启动更新程序,新生成一个证书,然后撤销过期的证书。
- CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。
- 双证书机制:「签名证书及私钥」只用于签名验签,「加密证书及私钥」只用于加密解密。
- 数字证书:解决公钥与用户映射关系问题;
- 电子认证服务机构:保证 CA 系统在数字证书管理方面的规范性、合规性和安全性。
数字证书的作用
数字证书有多种用途,主要是通过验证用户、设备和服务器的身份来确保网络通信安全。
- 安全网页浏览(HTTPS)
访问网站时,数字SSL/TLS 证书会对连接进行加密,并确认网站的合法性。 它可以防止中间人攻击和窃听。 - 电子邮件安全(S/MIME)
数字证书对电子邮件进行加密和数字签名。
它们可确保只有目标收件人才能阅读电子邮件并验证发件人身份,从而降低网络钓鱼和欺骗风险。 - 代码签名
开发人员使用数字证书签署软件和代码,防止黑客篡改。 当你下载应用程序时,数字证书会确认该软件来自可信来源并包含原始代码。 - VPN 身份验证
虚拟专用网络(VPN)使用数字证书对用户和设备进行身份验证,确保只有经过授权的人员才能访问网络。 - 文档签名
数字证书签署电子文档和 PDF 文件。 这可确保文件未被篡改,并验证签名者的身份,这对法律和财务文件至关重要。
数字证书分类
数字证书与数字签名的区别
数字证书和数字签名虽有关联,但功能不同。
数字证书验证证书持有者的身份,而数字签名则验证数字信息或文件的完整性和来源。
在对文件进行数字签名时,你使用私钥创建一个唯一的签名。
然后,任何人都可以使用你的公钥来验证该签名确实是你的,而且数据没有被篡改。
数字签名可验证软件更新、确保电子邮件通信安全,并确保数字文档的真实性。