HTTPS协议原理浅析

一:HTTPS协议出现的原因

若想要了解HTTPS协议,必然绕不开Web安全这个话题。Web技术自1980年由Tim Berners-Lee教授提出,主要包含HTML、URL、HTTP三大技术模块,而HTTPS协议的出现正是为了解决HTTP协议在数据传输过程产生的Web安全隐患,所解决的是传输过程中的数据安全问题,以保证数据的完整性、可用性和机密性。

二:HTTP协议

     这里我们暂且仅先讨论HTTP协议在数据传输过程中存在的安全隐患,对于HTTP协议的原理内容笔者会在《网络基础知识之HTTP协议浅谈》文章中分享。文章链接:(网络基础知识之HTTP协议浅谈-CSDN博客

      HTTP协议在设计之初并未考虑安全问题,因此存在很明显的安全隐患,主要可归纳为:

(1)传输数据加密问题。HTTP协议在传输内容时没有采用任何加密措施,直接传输明文,这就意味着传输的内容可以被攻击者轻易截获。攻击者通过对所截获的数据进行分析,可得到用户的访问行为、网络动向和规律,从而达到某种入侵的目的。

 (2)缺少身份验证机制。无论是服务器端还是客户端,对于接收到的数据只要符合HTTP协议格式,就对其数据进行响应,无法验证数据的完整性和数据发送端的身份。存在客户端向服务器端发送数据,在传输的过程中被攻击者截获并篡改了数据内容,但数据依然符合HTTP协议格式,再将数据发送给服务器,服务器依然对其进行响应。若被篡改的数据中包含恶意代码,服务器依然对其进行响应,则达到攻击者的攻击目的。

(3)数据容易被截获且易篡改,缺乏数据完整性验证机制。HTTP协议是基于TCP/IP协议的,而TCP/IP协议的特点就决定了HTTP数据很容易就被攻击者截获并篡改数据内容。而对于数据接收端而言,并没有任何技术可以验证所接收的数据就是原始数据,只能无条件的信任所接收到的数据,并对其进行响应。

三:HTTPS协议

      面对HTTP协议这三个方面的缺陷,HTTPS协议横空出世。但从严格意义上而言,HTTPS协议并不是一个单独的协议,而是工作在SSL协议之上的HTTP协议(姑且这样理解,但实则HTTPS协议很复杂),换句话说就是HTTPS协议利用SSL协议实现数据加密传输,保证数据的传输安全。总而言之,HTTPS协议的本质可以理解成是对密码学算法的组合。

     面对HTTP协议的缺陷,HTTPS协议需要解决的问题是: 1.创建安全的数据传输机制,这样就解决了HTTP协议传输数据易被劫持和篡改的安全问题。2.建立身份验证机制,保证数据传输的完整性。

      分析数据的安全传输机制。想要数据能安全的进行传输必然需要对数据进行加密传输,HTTPS利用非对称加密(服务器和客户端使用不同的密钥对信息进行加密,客户端具有公钥,用于对数据进行加密,并且公钥可以公开传输;服务器具有私钥,用于对用户的数据解密)方式实现建立安全传输机制(HTTPS在证书验证阶段使用非对称加密方式,在数据传数阶段使用对称加密方式)。具体的运行机制是:客户端利用HTTPS协议访问服务器,服务器先向客户端发送其加密算法的公钥,客户端使用公钥对数据进行加密,从而实现数据的加密安全传输。

     分析身份验证机制。上面仅是实现了数据的加密传输,但这个过程中依然存在漏洞,那就是如果存在仿冒客户端利用服务器发送的公钥对携带恶意代码的数据进行加密并传输给服务器呢?为了解决这个问题,HTTPS就建立了身份验证机制,既对客户端发送的公钥进行真实性验证,因此引入第三方机构:CA认证中心。

      分析了数据加密传输和身份验证机制,接下就分析HTTPS站点的运行原理(如图)。HTTPS站点运行可分为两个阶段:一个是证书验证阶段,既身份验证;另一个是数据传输阶段,即数据加密传输。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值