05 数字证书

数字证书

回到数字签名章节,我样知道数字签名的作用就是验证数据来源以及数据完整性!解密过程则称为数字签名验证。

只有数字签名还不行,依然会存在些问题:

案例1:
公钥是公开的并且可以自行导入到电脑,如果有人比如C偷偷在B的电脑用自己公钥替换了A的公钥,然后用自己的私钥给B发送Email,这时B收到邮件其实是被C冒充的但是他无法察觉。
答案:确实存在这种情况!解决办法就是数字证书。

案例2:
浏览器如何知道所下载的公钥的确是来自于其要访问的服务器的呢?恶意攻击者完全可以在他们之间冒充服务器向浏览器发送一个冒牌的公钥,你在完全没有感知的情况下相信了该公钥,这个冒牌货便肆无忌惮地盗取你的密码,偷走你银行卡里的存款(此所谓中间人攻击)。


答案是肯定的,就是我们今天要讲的主角——数字证书!

数字证书,就是一个证书,是由专业的证书颁发机构来颁发的,用于确认一个数字签名的合法性。
数字证书
如上图所示,Bob网站与用户之间的通信流程:
1、Bob向CA认证中心提交网站服务信息,有用户名、邮箱、公司名等等;CA验证Bob网站服务的合法性,如果合法,CA用自己的私钥将Bob的公钥、用户名、邮箱、公司名等信息进行加密,生成一个数字证书(cert),发送给Bob;
2、Bob服务向用户发送信息,包括签名、摘要、原始报文、Bob公钥、数字证书(cert)一并发给用户;
3、用户使用CA的公钥解析数字证书(cert),解析出Bob的公钥、用户名、邮箱、公司名等信息,然后判断网站信息与公钥是否正确;如果错误,抛出异常;
4、如果没有问题,用户就可以使用Bob的公钥加密信息,向Bob的网站服务发起请求了。

注意:CA是我们无条件信任的中间机构,它保证了网站服务的合法性,但是不是我们想要的网站,还需要用户自己判断(比如Bob的用户名,邮箱、公司名等等)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章