一种以太网中解析HTTPS数据的方法与流程

文档序号:12624178阅读:447来源:国知局
一种以太网中解析HTTPS数据的方法与流程

本发明涉及网络通讯技术领域,更具体的说,是涉及一种以太网中解析HTTPS数据的方法。



背景技术:

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

SSL协议通信过程包括:

(1)浏览器发送一个连接请求给服务器;服务器将自己的证书(包含服务器公钥S_PuKey)、对称加密算法种类及其他相关信息返回客户端;

(2)客户端浏览器检查服务器传送到CA证书是否由自己信赖的CA中心签发。若是,执行4步;否则,给客户一个警告信息:询问是否继续访问;

(3)客户端浏览器比较证书里的信息,如证书有效期、服务器域名和公钥S_PK,与服务器传回的信息是否一致,如果一致,则浏览器完成对服务器的身份认证;

(4)服务器要求客户端发送客户端证书(包含客户端公钥C_PuKey)、支持的 对称加密方案及其他相关信息。收到后,服务器进行相同的身份认证,若没有通过验证,则拒绝连接;

(5)服务器根据客户端浏览器发送到密码种类,选择一种加密程度最高的方案,用客户端公钥C_PuKey加密后通知到浏览器;

(6)客户端通过私钥C_PrKey解密后,得知服务器选择的加密方案,并选择一个通话密钥key,接着用服务器公钥S_PuKey加密后发送给服务器;

(7)服务器接收到的浏览器传送到消息,用私钥S_PrKey解密,获得通话密钥key;

(8)接下来的数据传输都使用该对称密钥key进行加密。

由于以上的技术安全性比较高,数据加密传输,为计算机取证技术带来了困难,为解决这一问题,需要一种HTTPS数据中间人解密技术。



技术实现要素:

有鉴于此,有必要针对上述问题,提供一种以太网中解析HTTPS数据的方法,实现了对HTTPS数据劫持篡改,使网络设备正常解析到了HTTPS数据,为这方面的计算机取证工作带来了极大的便利。

为了实现上述目的,本发明的技术方案如下:

一种以太网中解析HTTPS数据的方法,包括以下步骤:

S1、通过代理服务器监听端口数据,并等待Request数据包;

S2、判断第一个包中的域名HOST字段,以便代理服务器向外链接真实百度服务器;

S3、当客户端发出请求百度数据时候,代理使用openssl中API连上真实服务器443端口并ssl_read()获取真实的百度服务器返回的Response数据;

S4、获取Response数据后,若发现HTTPS返回的数据中包含Location:https://www.baidu.com,则告知客户端跳转到HTTPS网页中,中间人代理篡改HTTPS链接为HTTP链接,返回给客户端显示;

S5、循环步骤S1-S4。

作为优选的,所述步骤S1还包括建立TCP连接,具体包括:

S11、客户端发送SYN报文,并置发送序号为X,SYN=1,Seq=X;

S12、服务端发送syn+ack报文,并置发送序号为Y,确认序号为X+1;

S13、客户端发送ack报文,并置发送序号为Z,确认序号为Y+1。

作为优选的,所述步骤S3具体包括:S31、通过客户端请求HTTPS连接,服务端返回公钥;

S32、客户端产生随机的对称密钥;

S33、使用公钥相对对称密钥加密;

S34、发送加密后的对称密钥到服务器;

S35、客户端通过对称密钥加密的密文与服务端通信。

与现有技术相比,本发明的有益效果在于:实现了对HTTPS数据劫持篡改,使网络设备正常解析到了HTTPS数据,为这方面的计算机取证工作带来了极大的便利。

附图说明

图1为本发明实施例方法流程图;

图2为本发明实施例TCP连接过程示意图;

图3为本发明实施例浏览器访问HTTPS网站交换密钥的过程示意图。

具体实施方式

下面结合附图和实施例对本发明所述的一种以太网中解析HTTPS数据的方法作进一步说明。

以下是本发明所述的一种以太网中解析HTTPS数据的方法的最佳实例,并不因此限定本发明的保护范围。

图1至图3示出了一种以太网中解析HTTPS数据的方法,包括以下步骤:

S1、通过代理服务器监听端口数据,并等待Request数据包;

S2、判断第一个包中的域名HOST字段,以便代理服务器向外链接真实百度服务器;

S3、当客户端发出请求百度数据时候,代理使用openssl中API连上真实服务器443端口并ssl_read()获取真实的百度服务器返回的Response数据;

S4、获取Response数据后,若发现HTTPS返回的数据中包含Location:https://www.baidu.com,则告知客户端跳转到HTTPS网页中,中间人代理篡改HTTPS链接为HTTP链接,返回给客户端显示;

S5、循环步骤S1-S4。

本发明基于openssl开发包和基本的网络通讯原理。在浏览器浏览数据的过程中,有一些网站是HTTPS类型,在HTTPS任何网站中,都是通过HTTP跳转到HTTPS上,这对我们解析HTTPS提供了入口。假如我们要访问www.baidu.com,首先利用我们的网络设备欺骗此域名,将百度HTTP数据引入到我们的代理服务器中,浏览器请求的数据格式如下所示:

SSL劫持根本无法从服务器端检测出来,因为在服务器开来,这只是与客户端的正常通信,它无法辨识是从代理来与客户端通信。这种机制为我们解析HTTPS提供入口点。

微软提出完成端口模型的初衷,就是为了解决这种"one-thread-per-client"的缺点的,它充分利用内核对象的调度,只使用少量的几个线程来处理和客户端的所有通信,消除了无谓的线程上下文切换,最大限度的提高了网络通信的性能,完成端口被广泛的应用于各个高性能服务器程序上。

由于Cookies受不能跨域的影响,我们在使用Cookies携带重要信息发给指定服务器的时候,只能在当前域名下面。

在本实施例中,所述步骤S1还包括建立TCP连接,具体包括:

S11、客户端发送SYN报文,并置发送序号为X,SYN=1,Seq=X;

S12、服务端发送syn+ack报文,并置发送序号为Y,确认序号为X+1;

S13、客户端发送ack报文,并置发送序号为Z,确认序号为Y+1。

作为优选的,所述步骤S3具体包括:S31、通过客户端请求HTTPS连接,服务端返回公钥;

S32、客户端产生随机的对称密钥;

S33、使用公钥相对对称密钥加密;

S34、发送加密后的对称密钥到服务器;

S35、客户端通过对称密钥加密的密文与服务端通信。

与现有技术相比,本发明的有益效果在于:实现了对HTTPS数据劫持篡改,使网络设备正常解析到了HTTPS数据,为这方面的计算机取证工作带来了极大的便利。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1