公钥基础设施的概念,以及证书机构的工作原理
问题
哈希函数和非对称加密可以帮助我们对任何消息进行数字签名,但是需要事先获得对方的公钥,为了使整个安全通信系统正常工作,双方(例如Bob 和 Alice)需要在使用相同开放且不安全互联网的同时,建立对彼此公钥的信任。
如何共享密钥并证明其所有权以确保未来的安全通信?
为了解决这个问题,我们有一个所有网络参与者都信任的中间可信机构的概念。这个受信任的机构称为 CA 或证书机构。
PKI与CA的工作方式
例如,如果Alice发送一条带有自己私钥签名的消息给Bob,Bob如何相信这条消息是Alice发送的呢?
- Alice 必须联系 CA 以获得证书(数字签名的公钥)以向其他人证明她的公钥。如果网络上的所有其他参与者信任 CA,他们将能够信任 Alice 的公钥
- CA 将让 Alice 完成验证过程并颁发证书。证书本身是其颁发给 Alice 实体的认证属性列表,它具有公钥、持有者姓名等属性。所有这些数据都由 CA 使用自己的私钥进行数字签名
- 然后 Alice 将这个证书共享给 Bob 作为她公钥的证明
- 由于 Bob 在他的可信 CA 列表(CA 的公钥)中有 CA,他可以验证和信任 Alice 共享的证书,从而信任她的公钥
信任链
只要中间 CA 的证书的颁发 CA 是根 CA 本身或具有到根 CA 的信任链,就会在根 CA 和一组中间 CA 之间建立信任链: