最初的HTTP协议没有加密,很容易被中间人截取
有了对称加密后,数据经过了加密,但通信的双方首先要协商对称加密的密
钥,中间人截取到了协商的数据就可以获得密钥,也是不安全的
接下来有了非对称加密,非对称加密就是一对密钥(公钥与私钥)。公钥可
以解开用自己的私钥加密的数据,私钥可以解开用自己的公钥加密的数据,公钥
(PK)在网络上传输,私钥(SK)则保存在本地。
A用自己的私钥SK加密数据得到“A的SK数据”,再用B的公钥PK加密“A
的SK数据”得到“B的PK(A的SK数据)”,加密后发送给B,B收到后用自己
的私钥SK解密“B的PK(A的SK数据)”,得到“A的SK数据”,再用A的PK解
密得到“数据”,数据传输完成。因为A在发送数据的最外层用的是B的PK,只
有B的SK才能解开,所以中间人截取到传输的数据包也解不开,这就保证了数据
传输的安全。但是这种加密方式也是有漏洞的,A与B要知道对方的公钥就要通
过网络传输,传输过程中就可能被中间人截取篡改,中间人截取A与B的公钥,
分别告诉A于B中间人自己的公钥,相当于中间人分别于A和B建立了连接。
为了解决以上问题,引用了SSL(securesocketlayer)协议,组成了
HTTPS。
引入了CA证书,服务器将自己的公钥和自己的基本信息交给第三方CA认证
机构,由第三方认证机构将这些明文信息经过hash运算后得出一个信息摘要,
再用自己的SK加密摘要信息,返回给服务器,加密后的摘要信息叫做数字签
名,签名加上服务器的基本信息、证书序列号、服务器的公钥等,这个叫做证
书。
客户端内置了知名CA颁发机构的根证书,里面携带CA认证机构的公钥信
息,当客户端需要访问服务器时,会请求服务器的证书,拿到证书先用CA认证
机构的PK解密,得到签名与基本信息、过期时间等,用CA机构同样的hash算法
得出信息摘要,相同则没有被人篡改、完整性没有被破坏,再检查证书时间、公
司信息等,如果都没有问题,则取出证书内的服务器公钥信息,这样的公钥信息
就没有被中间人篡改的可能,安全性得到了保障。
这种非对称加密方式虽然安全但过于繁琐,为了解决这种问题,采用对称加
密与非对称加密结合的方式,先用非对称方式协商出对称加密的密钥,这样对称
加密的密钥安全性就得到了保证,再用对称密钥传输数据就不会被人知道。
评论0
最新资源