CA数字证书
Contents
证书
-
证书,联想的是驾驶证、毕业证、英语四六级证等等,都是由权威机构认证的
- 密码学中的证书,全称叫公钥证书(Public-key Certificate,PKC),跟驾驶证类似
- 里面有姓名、邮箱等个人信息,以及此人的公钥
- 并由认证机构(Certificate Authority,CA)施加数字签名
-
CA就是能够认定“公钥确实属于此人”并能够生成数字签名的个人或者组织
- 有国际性组织、政府设立的组织
- 有通过提供认证服务来盈利的企业
- 个人也可以成立认证机构
证书的利用
证书是为了解决,公钥发送过程中,被中间人攻击的情况。
在上一篇文章介绍,数字签名时,我们的问题是: 当Bob 把 自己的公钥 发送给 Alice时,可能会存在中间人攻击
- 中间人 Mallory 保存 Bob 的公钥
- Mallory将 自己的 公钥发送给 Alice
- Alice 以为 公钥是 Bob的,实际上却是中间人Mallory的,会使用Mallory的公钥对发送消息进行加密
- Alice 在给 Bob发消息时, Mallory拦截到消息,因为消息是用 Mallory 的公钥加密的,所以 Malllory可以解密。 然后篡改消息,接着用第一步保存的Bob的公钥对消息进行加密,并发送个Bob
- 这时,Bob以为得到的消息是Alice发送的,而Alice以为自己的消息已经发送给了Bob。 消息发送者和接收者对已被攻击完全不知情。
而使用上图中的流程, Bob不直接将 公钥发送给 Alice, 而是
- Bob在认证机构 注册自己的公钥
- 认证机构用自己的私钥,对Bob的公钥施加数字签名并生成 证书
- Alice 得到带有认证机构 的数字签名的 Bob的公钥 (证书)
- Alice 使用 认证机构 的公钥 验证数字签名, 确认Bob的公钥的合法性
- Alice 使用Bob的公钥加密消息,并发送给Bob
总结
加密/解密算法
对称加密
- 加密解密使用的同一个密码
- 加密解密速度快
- 无法解决密钥配送的问题
公钥密码
- 加密解密是不同的密钥
- 加密解密速度慢
- 解决密钥配送问题
单向散列函数
- 根绝消息生成固定长度的散列值
- 防止数据被篡改
数字签名
- 用私钥加密消息的散列值,生成的密文
证书
- 用CA的私钥,对其他人的公钥生成数字签名
Author 飞熊
LastMod Jun 05