非对称加密算法中公钥和私钥的现实应用

本文仅为了说明公钥和私钥的工作方式,有助于理解其作用和异同,并没有涵盖过程中的其他通信和加解密细节。

 

场景一:HTTPS请求

 

角色:

A=公网中的证书服务器

B=公网中的WEB服务器

C=浏览器用户

 

时序:

1=A给B颁发数字证书(包含公钥和私钥)

2=C请求B的一个网页

3=B告知C,要想跟我建立连接,为了你的安全考虑,需要建立HTTPS连接,给你我的数字证书,我的证书是A给我的

4=C问A,这个证书OK吗

5=A答C,OK

6=C用证书中的公钥加密随机数并作为令牌发给B

7=B用私钥解密随机数,并发回给C,C验证正确后,C和B的HTTPS连接建立成功。

 

后面C向B发送的所有请求(STEP8已略)都会带上第6步的令牌

 

HTTPS=非对称加密+对称加密=混合加密

 

场景二:网银U盾

图片

角色:

A=网银证书服务器

B=网银WEB服务器

C=浏览器用户

D=用户PC机

E=U盾

 

时序:

1&2=A颁发E(私钥)给D

3=C通过D带上用E加密过的敏感信息请求B

4=B叫来A,用A的公钥解密敏感信息

5=请求成功返回

 

U盾的作用不仅存储私钥,实际中会有更多的职责,但这里仅说明公私钥的工作场景,忽略了其它。

 

U盾提供的私钥,减少了前期D通过网络寻找A验证并获取证书的过程,减化了请求路径,基本上躲掉了浏览器劫持的可能。

 

 

总结

公/私钥成对出现

私钥加的密用公钥解,公钥加的密用私钥解

私钥不可流传,公钥随便流传

 

当A->B发送资料时,A会使用B的公钥加密,这样确保只有B能解开;并且A以自己的私钥做签章,如此B可以用A的公钥进行验章,便可确认讯息是由 A 发出来的。

 

 

原创日期20200407

posted @ 2022-04-03 12:29  RobinR  阅读(56)  评论(0)    收藏  举报