HTTPS协议分析
实验目的1、https的基本概念和工作流程2、学会捕获https封包3、学会筛选重要的https封包4、学会解密https数据包实验工具?wireshark 实验环境?操作机:Windows XP 实验步骤HTTPS的工作流程使用HTTPS协议工作时,服务端和客户端的信息传输都会进行加密,所以传输的数据都是加密后的数据。HTTPS的工作流程如下: 1、客户端使用HTTPS的URL访问Web服务器,要求与Web服务器建立SSL连接。2、Web服务器收到客户端的请求后,会将网站包含有公钥的证书信息传送一份给客户端。3、客户端浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。4、客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。5、Web服务器利用自己的私钥解密出会话密钥。6、Web服务器利用会话密钥加密与客户端之间的通信。HTTPS数据包的捕获由于HTTPS是建立在TCP协议之上的,所以我们在捕获之前,可以设置筛选器为TCP。开始捕获后,可以通过登录QQ邮箱的方式,捕获到含有HTTPS协议的数据包。如下图所示: 在这个界面的Info列中,可以看到这些数据包都是使用HTTPS协议传输的。而在Protocol列中,可以看到SSL、TCP以及TLSv1.1等协议。其中的TLS(Transport Layer Security)其实是SSL的升级版,是为网络通信提供安全及数据完整性的一种安全协议。二者都是在传输层对网络连接进行加密的。 HTTPS数据包的分析经过提取后的文件进行分析: 首先可以发现1到3号数据包是TCP连接建立时的三次握手的过程。接下来从第4个数据包开始,其实就是SSL握手过程中所产生的数据包,也就是使用HTTPS协议加密的信息。 当服务器收到客户端的请求后,就会向客户端发出响应,也就是Server Hello。对于我们这个捕获文件而言,第6个数据包就是服务器发送给客户端的确认信息,告诉客户端请求已经收到: 展开SSL数据段,可以看到服务器支持的TLS版本为1.1。也可以看到服务器生成的随机数,用于生成对话密钥。下面还有加密套件信息,这里的加密套件表示使用RSA公钥算法来验证证书以及交换密钥,用AES加密算法对数据进行加密,使用SHA算法来校验消息内容。 在Certificate区段中,保存有证书的详细信息。可以看到请求的网站、组织名、地区名、省名以及国家等的信息。紧接下来的signedCertificate是签名证书信息。“签名”的作用就在于,客户端(浏览器)在确定是否要信任一个网站时,就是通过证书判断的。所以每个证书上必须要有一份“签名”。最后一行Length的值为0,表示告诉客户端“Hello”过程已经完成,也就意味着服务器将不验证客户端的证书。 在Client Key Exchange中,我们可以看到TLS的类型、版本、长度、握手协议、握手类型、长度、密钥交换算法客户端参数、公钥长度以及加密公钥等信息。而在其它的两个记录中,也有着类似的结构。 可见,发送的数据都经过了加密处理。服务器响应客户端的信息,如下图所示: 可以看到,这也是使用了SSL进行加密。 了解HTTPS数据包的解密HTTPS的数据包并不是绝对安全的,在一定的条件下也可以实现解密的操作,这里我们分析以下实验文件: 可以看到,这里的数据包使用了SSLv3进行加密。为了实现解密,我们需要.key文件。之后在Wireshark中选择菜单栏的“Edit”->”Preferences”->”Protocols”->”SSL”->”RSA keys list”->”Edit”->”New”,之后进行如下填写: 之后点击OK,就可以实现解码了: 现在已经可以看到GET方法等信息。尽管我们对捕获文件进行了解码操作,但是并不意味着HTTPS不安全。因为解码所需要使用的密钥只能在服务器导出,不同的服务器的情况并不一样,因此想要破解HTTPS的数据包,是需要满足很多的条件的。 参考资料【1】https://www.ichunqiu.com/course/51451 【2】谢希仁. 计算机网络.第5版[M]. 电子工业出版社,2008. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- exchange-2010 – 无法从O365共享日历忙/闲信息到
- windows-server-2008 – 我可以将Windows 2000域
- 可以将Microsoft Kinect与.NET Gadgeteer一起使用
- 如何从Windows XP机器清除Haskell安装?
- azure – 在通用Windows应用程序中调用FetchAttr
- .net – 无法在Windows XP下运行Lightswitch 201
- 方便的Windows相当于tail -f logfile?
- winforms – 获取System.Windows.Forms.RichText
- windows – 如何将函数地址转换为符号
- 用户友好的端口敲门器(端口敲门客户端)适用于Win