标签:lock 发送数据 网络传输 hash算法 摘要 解密 发展 公钥 自己的
A和B通过网络进行通信
A和B直接通过网络发送数据
缺点:数据透明,能随时被别人窃取,毫无安全性
生成一个秘钥,A和B分别持有。A发送数据经过秘钥加密后传输给B,B通过秘钥解密后得到数据。B发送数据同样如此。
缺点:秘钥如何传输?秘钥一开始被别人截取则后续的传输形同透明
A生成一个公钥A和私钥A,私钥只有自己知道,公钥全世界都知道都行。公钥加密的信息只有相应的私钥能解开,私钥加密的信息只有相应的公钥能解开,B同样生成一个公钥B和私钥B。
A传输数据之前将数据通过公钥B加密,经过网络传输到达B,只有B的私钥B才能解开公钥B加密的信息。B向A传输数据同样如此。
缺点:1. 传输速度很慢;2.不能确认B的公钥是否就是B的公钥(中间人将自己的公钥伪装成B的公钥发给A,再把自己的公钥伪装成A的公钥发给B,则数据同样会被窃取)
A生成一个密钥通过非对称加密(RSA)传输给B(确保安全),B收到只有两个人知道的秘钥以后(理论上)以后就都通过这个秘钥进行对称加密。
缺点:不能确认B的公钥是否就是B的公钥、A的公钥是否就是A的公钥(中间人将自己的公钥伪装成B的公钥发给A,再把自己的公钥伪装成A的公钥发给B,则数据同样会被窃取)
上一阶段无法证明A的公钥就是A的公钥,数字证书就是解决这个问题。
A向B发送公钥以及A的一些基本信息。先通过hash算法生成摘要(digest),然后A再通过CA(认证中心)私钥对摘要进行加密生成数字签名。再讲数字签名与原始信息(公钥以及其他信息)合并生成“数字证书”。
发送方:发送自己的公钥和基本信息生成的数字证书
接收方:接收到数字证书后,用CA的公钥对数字证书进行解密(确认数字证书是CA发布的),再讲发来的信息进行hash算法,将生成的hash值与CA解密后得到的摘要进行对比。正确则确认信息没被篡改过。这样就得到了发送方的公钥。
标签:lock 发送数据 网络传输 hash算法 摘要 解密 发展 公钥 自己的
原文地址:https://www.cnblogs.com/tianzhaohua/p/9698780.html