http与https的区别以及https如何保证数据传输安全

http是明文传输,传输的数据很可能被中间节点获取,从而导致数据传输不安全
https是加密传输,可以保证数据的传输安全


那么https是如何保证数据传输安全的呢?


http是应用层协议,它会将要传输的数据以明文的方式给传输层,这样显然不安全。https则是在应用层与传输层之间又加了一层,该层遵守SSL/TLS协议,用于数据加密。如图所示。
这里写图片描述
**加密的方式有两种,第一:对称加密
对称加密速度快,但是加密和解密的钥匙是相同的,非对称加密,算法更加复杂,速度慢,加密和解密钥匙不相同。

在https中,加密过程大致如下:
首先服务器将公钥给浏览器,浏览器拿到公钥之后,生成一个“会话密钥”,这个会话密钥属于对称加密,然后用公钥加密这个“会话密钥”发送给服务器,最后,在数据传输的过程中,就用这个会话密钥来加密数据。打个比方:我有二把钥匙,我把其中一把钥匙放在信封里,然后把信封交给你。但是这个信封只有你能打开。

上述的过程是在3次握手中完成,采用明文发送,握手完成以后,客户端和服务端就约定好了“会话密钥”,以后的数据传输,就采用这个会话密钥加密。

在上述的过程中要注意
公钥怎么给客户端?
如果公钥A在发送给客户端的过程中,被截取,被黑客替换成了公钥B,以后的事情可想而知,你就会用公钥B加密“会话密钥”,然后。。。你的隐私就被窃取喽。对于这个问题,要引入证书和数据签名的概念。。童鞋们可以去了解了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值