理解非对称加密算法和证书

https://my.oschina.net/editorial-story/blog/1837585?from=groupmessage

非对称加密算法分为公钥和私钥

场景一:当A和B进行通信的时候,A使用B的共钥B.PUB对消息M进行加密,B在收到A发送的消息后,使用自己的私钥B.PRi对消息进行解密。

但是场景一有一个问题,就是有一个C可能假冒A向B发送消息,所以需要对A进行身份校验,这就需要对发送者进行身份认证。使用方式如下

场景二:A向B发送消息M,首先A使用自己的私钥A.PRI对M进行加密,再使用B.PUB加密,然后将消息发送给B,B收到消息M后,需要使用自己的私钥B.PRI对M进行第一次解密,再使用A的公钥A.PUB进行解密,如果能获取明文,说明确实是A发送的消息,这样反向使用称为数字签名。

场景二的问题在于,B无法保证获取到正确的A的公钥,如果在协商公钥过程中,C拦截了消息,并把自己的公钥发给B,那么B就会认为C就是A,导致消息泄露。

为了解决场景二的问题,就引入了证书。

场景三:A与B进行通信,B为服务端,那么B首先需要到CA(权威第三方中立机构)申请证书,CA将B的名称、公钥与CA用私钥生成的数字签名等信息携程证书颁发给B,A要与B通信时,B将自己的证书发给A,A对证书进行检查(是否过期,能否用CA的公钥验证签名等),确认无误后,就能够证明B的身份,安全的进行通信了

 

你可能感兴趣的:(日常积累)