Java教程

HTTPS 安全传输原理

本文主要是介绍HTTPS 安全传输原理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、HTTP通信

信息明码传输,安全性低。

2、对称加密

常见对称加密算法:AES,DES

 

缺点:加密解密算法需要的密钥双方必须知道, 但密钥又无法通过网络发送。

3、非对称加密

常见非对称加密算法:RSA

用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的数据, 只有对应的私钥才能解密

 

 

优点:安全性高

缺点:非对称加密解密复杂度高,耗时长,大概是对称加密耗时的上百倍

4、非对称加密+对称加密

(1) 客户端生成一个对称加密算法的密钥, 用RSA的方式安全发给服务器端。  

(2) 然后双方就不用RSA加密, 只用这个密钥,利用对称加密算法来通信。

既解决了密钥的传递问题, 又解决了RSA速度慢的问题
 

缺点:

Bill给大胖发公钥的时, 某中间人,截取了Bill的公钥, 然后把自己的公钥发给了大胖,冒充Bill ,你发的消息就用中间人的公钥加了密,那中间人可以解密看到消息了;中间人解密以后,还可以用Bill的公钥加密,发给Bill ,  Bill和大胖根本都意识不到, 还以为安全传输。

5、数字签名

简单来讲是这样的, Bill可以把他的公钥和个人信息用一个Hash算法生成一个消息摘要, 这个Hash算法有个极好的特性,只要输入数据有一点点变化,那生成的消息摘要就会有巨变,这样就可以防止别人修改原始内容。

张大胖说你别得意的太早 , 我们会让有公信力的认证中心(简称CA)用它的私钥对消息摘要加密,形成签名:

这还不算, 还把原始信息和数据签名合并, 形成一个全新的东西,叫做“数字证书”

 

大胖接着说:当Bill把他的证书发给我的时候, 我就用同样的Hash 算法, 再次生成消息摘要,然后用CA的公钥对数字签名解密, 得到CA创建的消息摘要, 两者一比,就知道有没有人篡改了!

如果没人篡改, 我就可以安全的拿到Bill的公钥喽,有了公钥, 后序的加密工作就可以开始了。

虽然很费劲, 但是为了防范你们这些偷窥者,实在是没办法啊。
 

6、HTTPS

HTTP+TLS

TLS:传输层安全性协议(英语:Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。

SSL:(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

SSL经历了1.0,2.0,3.0;更新到3.0更名为TLS。目前TLS有1.0,1.2.1.3;目前大部分浏览器支持的是1.2版本。即SSL是TLS的前身。

 

参考:

https://blog.csdn.net/coderising/article/details/100021384

这篇关于HTTPS 安全传输原理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!