学习
实践
活动
工具
TVP
写文章

Astar区块链实验室:公钥在分发的过程有没有可能被篡改呢?

对于非对称加密技术和数字签名,很重要的一环就是公钥的分发。

理论上任何人都可以公开获取别人的公钥,但是这个公钥在分发的过程有没有可能被篡改呢?

就比如,小倩在把公钥分发给小高的时候,有没有可能被其他人掉包,换成别人的公钥?

答案是可能的,并且一旦公钥出了问题,则整个体系的安全性将面临巨大挑战。

数字证书的出现就是为了此类问题,它就像生活中的证书一样,可以证明所记录信息的合法性。

比如证明小倩的公钥就是属于小倩的,并且当有人篡改小倩的公钥,它能第一时间检测出来,从而保证了公钥的安全分发。

通常证书由证书认证机构(Certification Authority)来进行签发和背书。目前,比较权威的CA包括DigiCert、GlobalSign、VerSign等。

熟悉互联网底层协议的人对这些机构一定不陌生,因为数字证书并不是为区块链而生,可以说是很早以前就有了,它的最普及应用就是https协议,这个协议主要用于网页加密。

这个加密过程也很简单,通常就是客户端向服务器发出加密请求,服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发给客户端。

这个时候,客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表,客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

我们Astar小倩是一个古装风格的美男子,在浏览网页的时候,经常会弹出这样的窗口:

这就说明,小倩浏览的网址与数字证书记载的网址不一致,这张证书可能被冒用,并且浏览器发出了相应的警告。

上一期我们图解了数字签名的过程,现在来看看数字证书的过程。

1. 小高无法确定小倩的公钥是否属于他,于是要求小倩去证书认证机构(CA),为他的公钥做认证。证书认证机构用自己的私钥,对小倩的公钥进行了加密,生成数字证书(Digital Certificate)。

2. 小倩收到证书之后,就可以放心了,以后再给小高写信的时候,只要在签名的同时,再附上数字证书就行。

3. 小高收到信之后,用CA的公钥解开数字证书,就可以拿到小倩的真实公钥,然后就能证明数字签名是不是小倩了。

这节我们讲述了数字证书,它的作用机制和分发机构,作为数字签名的有效补充,作为公钥信任的基础,对于整个区块链生态的安全管理十分重要。下一期,我们会回到非对称加密算法中,了解常见的加密算法,探索区块链底层技术的秘密。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180507A0LKKA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券