非对称加密算法中公钥和私钥的现实应用
本文仅为了说明公钥和私钥的工作方式,有助于理解其作用和异同,并没有涵盖过程中的其他通信和加解密细节。
场景一: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

浙公网安备 33010602011771号