HTTPS浅解

上一篇文章,我们一起了解了HTTP的发展历史,这篇文章,我们一起来看看HTTPS,对OSI系统模型做一个初步理解。

什么是HTTPS

简单来讲就是在http的基础上,增加数据传输加密和添加了SSl/TLS握手进行身份认证(验证、鉴权等),保证数据安全。HTTPS 存在不同于 HTTP 的默认端口(HTTP为80,HTTPS为443)及一个加密/身份验证层(在 HTTP与 TCP 之间)。

HTTPS发展由来

由于HTTP数据传输自身存在安全缺陷,极容易陷入安全攻击,如

1、网络嗅探攻击, 其试图从传输过程当中分析出敏感的数据, 例如管理员对 Web 程序后台的登录过程等等, 从而获取网站管理权限, 进而渗透到整个服务器的权限。即使无法获取到后台登录信息, 攻击者也可以从网络中获取普通用户的隐秘信息, 包括手机号码, 身份证号码, 信用卡号等重要资料, 导致严重的安全事故。

2、HTTP在传输客户端请求和服务端响应时, 唯一的数据完整性检验就是在报文头部包含了本次传输数据的长度, 而对内容是否被篡改不作确认。因此攻击者可以轻易的发动中间人攻击, 修改客户端和服务端传输的数据, 甚至在传输数据中插入恶意代码, 导致客户端被引导至恶意网站被植入木马

为了保证数据传输过程中的安全问题,HTTP添加TLS/SSL协议构建的可进行加密传输、身份认证的网络协议。基于SSl/TLS的HTTp协议,也被称为HTTPS协议。

HTTPS与HTTP对比

image

HTTP原理

image

1、客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过TCP 来完成的,一般 TCP 连接的端口号是80。建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和许可内容。

2、服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容。

客户端发出的请求很容易被黑客截获,如果此时黑客冒充服务器,则其可返回任意信息给客户端,而不被客户端察觉,所以我们经常会听到一词“劫持”。

HTTP在客户端与服务端进行数据传输的过程,存在“被攻击”的潜在隐患,其主要面临集中风险:

(1) 窃听风险:黑客可以获知通信内容。

(2) 篡改风险:黑客可以修改通信内容。

(3) 冒充风险:黑客可以冒充他人身份参与通信。

HTTPS原理图

image

为了防止潜在隐患的发生,人们对HTTP传输新增增加安全传输层,用于对传输的信息加密(即使黑客截获,也无法破解)。

总结:

HTTPS特点:

1、内容加密:采用混合加密技术,中间者无法直接查看明文内容

2、验证身份:通过证书认证客户端访问的是自己的服务器

3、保护数据完整性:防止传输的内容被中间人冒充或者篡改

使用HTTPS的优点:

1、使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

2、HTTPS 协议是由 SSL+HTTP构建的可进行加密传输、身份认证的网络协议,要比 HTTP安全,可防止数据

3、在传输过程中被窃取、改变,确保数据的完整性。

4、HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本

在了解了HTTP和HTTPS的基本运行原理,下一篇文章,将会对HTTPS的TLS/SSL是如何进行工作的,以及加密算法 -- 对称加密和非对称加密进行一些解析。

课外小知识,OSI系统模型:开放式系统互联通信参考模型,主要包括七层

image

HTTP(s)主要作用于应用层,因此HTTP也被称为应用层协议。

欢迎大家关注舟舟颜的前端小屋: zzy_word

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容