PKI 是什么
Public Key Infrastructure(PKI),中文叫做公钥基础设施,可以理解为利用公钥技术为网络应用提供加密和数字签名等密码服务以及必需的密钥和证书管理体系。它是一个提供安全服务的基础设施,PKI 技术是信息安全技术的核心,同时也是电子商务的关键和基础技术。
PKI 的主要目的是发“身份证明书”,网络上通信时,如果能相互确认身份证明书,就能确定是在跟对的人通信。身份证明书不能私人订制,需要可信的发证机构来颁发才行,就像派出所给个人发的身份证一样。
PKI 详细介绍
PKI 的组成
PKI 是一个标准,下面以最常见的用户访问 HTTPS 网站场景来看看PKI 常见组成部分和交互流程。
上图中有以下组件:
- CA 机构:是 PKI 的核心,主要负责数字证书的申请和签发、已颁发证书的管理,还要负责证书黑名单的登记和发布。
- Web 服务器:如果在 Web 服务器上部署了 HTTPS 域名,那么就需要去 CA 机构申请该域名匹配的 CA 证书。该证书用于浏览器鉴别网站身份、以及实现浏览器和网站之间的加密通讯。
- 用户浏览器:浏览器在访问使用了 HTTPS 的域名时,会收到 Web 服务器传来的 CA 证书,浏览器需要使用一定的策略来验证证书的有效性,包括使用根证书来签证签名有效性和去 CA 机构查询该证书是否被撤销。
核心算法
PKI 标准建立在非对称密钥、散列算法的基础上,什么是非对称密钥呢?什么是散列算法呢?
介绍非对称密钥之前,要先说一下对称密钥。对称密钥是指加密和解码使用的是同一个密钥,常见的对称加密算法有 DES、3DES、AES。非对称密钥在加密是使用一个密钥,解码时需要使用另一个密钥,两个密钥是不同的,分别称为公钥和私钥,大名鼎鼎的 RSA 就是非对称密钥了。
非对称密钥的公钥是可以公开的,私钥不公开。这样其他用户使用公钥加密的数据,只有私钥拥有者才能解密,在解密的密钥不