http和https的区别

一、http

超文本传输协议 HTTP 被用于 Web 浏览器和网站服务器之间传递信息,HTTP 以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。因此,HTTP 不适合传输敏感信息,比如:资金账户、密码等,默认端口号是80,是TCP/IPhttp

二、https

因为http是明文传输,所以容易被截取修改,因此需要一种加密算法来把传输的信息进行加密。加密算法有对称加密和非对称加密。https的默认端口号是443,是TCP/IPSSLhttps

1.对称加密

对称加密就是产生一个密钥,可以用其加密也可以用其解密,通俗来讲就是服务端通过一个密钥,将要传输的信息通过算法来进行加密,并且在第一次的传输过程中将这个密钥传递给客户端,客户端通过这个密钥来解密,获取到传递的内容,然后以后的传输都是通过这种加密方式,就算第三方窃取到了传递的数据,也无法解密,这个密钥也称为公钥。但是这种加密有一个问题,那就是如果在第一次传输密钥的过程中,就窃取到了密钥,那么这个加密形如虚设,第三方也可以拿这个密钥来进行解密加密。常见的加密算法有DES、3DES、AES、Blowfish等

2.非对称加密

非对称加密就是产生一对密钥,一个用于加密,一个用于解密,称为公钥key1和私钥key1,如果用公钥key1加密,那么就只能用私钥key1解密,如果用私钥key1加密,那么就只能用公钥key1解密。通俗来讲就是服务端生成公钥key1和私钥key1,服务端把公钥key1给客户端,然后客户端通过这个公钥key1加密信息传递给服务端,服务端通过私钥key1进行解密,但是有一个问题,服务端通过公钥key1加密的信息,客户端因为没有私钥key1,所以不能解密,所以这个时候可以结合对称加密。客户端可以生成一个公钥key2,然后通过公钥key1将这个公钥key2进行加密传递给服务端,服务端用私钥key1解密得到公钥key2,然后后续就通过这个公钥key2来进行对称加密传输,因为这个公钥key2是客户端通过公钥key1加密给服务端的,所以第三方并不知道这个公钥key2。但是这种方式也有一个弊端,那就是被篡改,就是在服务端第一次给客户端公钥key1的时候,第三方把公钥key1保存起来,然后第三方生成一个公钥key3和私钥key3,然后将公钥key3给客户端,客户端并不知道这个公钥key3是被篡改的,也用公钥key3来加密公钥key2,然后第三方窃取到这个加密后的公钥key2,通过私钥key3进行解密就可以拿到公钥key2,进行保存,然后再用之前保存的公钥key1来加密给服务端,这样第三方也能获取到公钥key2。不能理解的话就画图来表示,整个逻辑很简单的。

3.CA证书

可以看出非对称加密结合对称加密还是挺好的,主要的缺陷是被第三方篡改公钥key1,所以直接找一个权威机构来帮忙传递公钥key1,以此来保证公钥key1不会被篡改。具体流程是首先就是服务器把服务器地址和公钥key1以及money一起给权威机构,权威机构也会生成一对公钥key4和私钥key4,然后将服务器地址,证书签发机构,私钥key4加密后的公钥key1,以及私钥key4加密后的证书签名等等弄成一个CA证书,整个CA证书任何人都能读到其中的信息,因为公钥key4是公布于全世界的,但是呢,你改不了,因为你没有私钥key4,你改了之后没法加密,用自己的私钥加密的话,公钥key4就不能解密,并且证书签名的算法是公开的,客户端可以根据服务器地址 + CA公钥key4 + 公钥key1结合证书签名算法得到的结果来比对收到的证书签名,判断收到的CA证书是否一致,不一致表示被篡改了,现在第三方已经不能篡改公钥key1了,后续的操作就和上面的一样了

相关推荐
缪懿29 分钟前
网络层和数据链路层中的常见协议解析
网络·网络协议·java-ee
Dazer00744 分钟前
Edge 浏览器绕过 HTTPS 证书错误
前端·https·edge
田里的水稻1 小时前
OE_永久配置网络_linux系统终端命令行ip_setting
人工智能·网络协议·机器人·运维开发
辣椒思密达1 小时前
住宅IP与机房IP的区别及技术选型指南
网络·网络协议·tcp/ip
阿文的代码库2 小时前
用于事件驱动系统的WebSocket
网络·websocket·网络协议
不只会拍照的程序猿3 小时前
深入理解AFDX(ARINC 664 Part7):从原理到实现(上篇)
网络协议·航空总线·afdx·arinc 664
AIwenIPgeolocation4 小时前
IP+设备双维监控,让黑产的“秒拨”和“云手机”无所遁形
网络协议·tcp/ip·智能手机
TechWayfarer4 小时前
IP数据接口调用示例:社交软件如何做同城匹配与用户画像分析
python·网络协议·tcp/ip·社交电子
天天进步20155 小时前
Tunnelto 源码解析 #3:客户端启动流程:配置解析、鉴权 Key、本地地址与控制服务器连接
网络协议
HLAIA光子5 小时前
计网面试躲不掉的三连问:OSI七层、HTTPS握手、REST还是RPC
后端·网络协议