为什么说HTTPS能保证数据传输的完整性和保密性呢?

为什么说HTTPS能保证数据传输的完整性和保密性呢?
要想保证数据在传输过程的完整性和保密性,需要检查是否采用了TLS/SSL协议。我们知道HTTPS是在HTTP基础上加了SSL(Secure Socket Layer,安全套接字层),TLS是SSL的升级版。那么为什么说HTTP不能保证数据传输安全,而HTTPS可以保证数据传输过程的完整性和保密性呢?

图片.png

注意:https并非是应用层的一种新协议,只是http通信接口部分用SSL/TLS协议代替而已。通常,http是直接和tcp通信的,当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。SSL是独立于HTTP协议的,所以不光是http协议,其他运行在应用层的协议,如smtp和telnet协议,也可配合ssl协议使用。
4.1 HTTP通信原理
作为标准的C/S模型,http协议总是由客户端发起,服务器进行响应。通信过程如下:
    DNS解析,域名系统DNS将域名解析成IP地址
    建立TCP连接,进行TCP的三次握手
    浏览器发送请求
    服务器响应浏览器,向浏览器发送数据
    通信完成,TCP连接关闭

http协议属于明文传输协议,通信双方没有进行认证,存在如下的问题:
    窃听风险:第三方可以获知通信内容
    篡改风险:第三方可以修改通信内
    冒充风险:第三方可以冒充他人身份参与通信

4.2 HTTPS通信原理
https通信是建立在ssl连接层之上的请求和响应,通信过程如下:
    客户端和服务器端通过TCP建立连接,并发送https请求。
    服务器响应请求,并将数字证书发送给客户端,数字证书包括公共秘钥、域名、申请证书的公司。
    客户端收到服务器端的数字证书之后,会验证数字证书的合法性。
    如果公钥合格,那么客户端会生成client key,一个用于进行对称加密的密钥,并用服务器的公钥对客户端密钥进行非对称加密。
    客户端会再次发起请求,将加密之后的客户端密钥发送给服务器。
    服务器接收密文后,会用私钥对其进行非对称解密,得到客户端秘钥。并使用客户端秘钥进行对称加密,生成密文并发送。
    客户端收到密文,并使用客户端秘钥进行解密,获取数据。
    在这里插入图片描述

图片.png

HTTPS是在HTTP基础上加了SSL(Secure Socket Layer,安全套接字层),具有如下优势:
    所有信息都是加密传播,第三方无法窃听
    具有校验机制,一旦被篡改,通信双方会立刻发现
    配备身份证书,防止身份被冒充

4.3 抓包比较http和https头信息
查看http中的 request 与 response,可以看出是明文传输的。
图片.png

Wireshark实验:通过wireshark抓取http网页的登陆密码
http://www.zh-cjh.com/wangluoanquan/2127.html


查看https网站,可以看到内容全部加密。

图片.png


HTTP、HTTPS、SSL、TLS、CA证书、CSR(列表、list、全)HTTPLIST、HTTPSLIST、SSLLIST、TLSLIST、CALIST、CSRLIST、pkilist
http://www.zh-cjh.com/wenzhangguilei/2199.html
文章归类、所有文章列表、LISTLIST
http://www.zh-cjh.com/wangzhangonggao/2195.html

1、本站资源长期持续更新,可加入VIP会员、资源全免费。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » 为什么说HTTPS能保证数据传输的完整性和保密性呢?

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他
加载中~

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!