CN117254966A - 一种实现旁路解密https数据流量的方法 - Google Patents
一种实现旁路解密https数据流量的方法 Download PDFInfo
- Publication number
- CN117254966A CN117254966A CN202311294475.1A CN202311294475A CN117254966A CN 117254966 A CN117254966 A CN 117254966A CN 202311294475 A CN202311294475 A CN 202311294475A CN 117254966 A CN117254966 A CN 117254966A
- Authority
- CN
- China
- Prior art keywords
- data
- https
- master
- key
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 claims abstract description 23
- 230000006854 communication Effects 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000004458 analytical method Methods 0.000 claims abstract description 7
- 230000002452 interceptive effect Effects 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明特别涉及一种实现旁路解密HTTPS数据流量的方法。该实现旁路解密HTTPS数据流量的方法,基于OpenSSL开源库分别实现客户端和服务端,实现两端数据的HTTPS加密通信,同时将入侵检测系统IDS通过旁路方式接入网络中;在TLS建立连接阶段,入侵检测系统IDS解析客户端和服务端的交互数据,解析出后续解密数据所需要的密钥;TLS连接建立完成后,入侵检测系统IDS利用解析得到的密钥,实时检测网络流量,解析服务端数据包,解密HTTPS加密数据。该实现旁路解密HTTPS数据流量的方法,可以实现在旁路接入网络的安全设备上检测HTTPS数据流量,识别恶意的HTTPS请求,提升网络安全防护能力。
Description
技术领域
本发明涉及软件开发与数据安全技术领域,特别涉及一种实现旁路解密HTTPS数据流量的方法。
背景技术
随着互联网的发展,为了安全考虑,现在很多网站都使用HTTPS(HyperTextTransfer Protocol over Secure Socket Layer,超文本传输安全协议)协议对外提供服务。网络中充斥着很多基于HTTPS协议的数据流量,有些可能是正常的流量,但有些可能是恶意的。网络安全产品通过对网络中的数据流量进行检测,识别出恶意的流量,为用户的网站提供安全防护。
其中一些网络安全产品是通过旁路的方式接入,不参与网络中数据的转发,只是负责检测恶意流量,监控网络安全状态。为了让这些旁路接入的网络安全设备上对加密的HTTPS数据流量进行检测,就需要对流量进行解密。
通过旁路方式接入的网络安全设备,一般直接通过交换机镜像流量到网络安全设备的网卡,安全设备对收到的数据包进行处理。网络中包括不同协议的数据,其中HTTPS的数据流量由于是加密的,需要先进行解密才能做安全检测。
为了解决上述问题,保障网络安全,本发明提出了一种实现旁路解密HTTPS数据流量的方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的实现旁路解密HTTPS数据流量的方法。
本发明是通过如下技术方案实现的:
一种实现旁路解密HTTPS数据流量的方法,其特征在于:包括以下步骤:
步骤S1:基于OpenSSL开源库分别实现客户端和服务端,实现两端数据的HTTPS加密通信,同时将入侵检测系统IDS通过旁路方式接入网络中;
步骤S2:在TLS建立连接阶段,入侵检测系统IDS解析客户端和服务端的交互数据,解析出后续解密数据所需要的密钥;
步骤S3:TLS连接建立完成后,入侵检测系统IDS利用解析得到的密钥,实时检测网络流量,解析服务端数据包,解密HTTPS加密数据。
所述步骤S2中,入侵检测系统IDS解析密钥步骤如下:
步骤S2.1:入侵检测系统IDS识别接收到网络数据的是不是HTTPS数据流量,若是则进入解析HTTPS数据阶段;
步骤S2.2:入侵检测系统IDS解析证书,获取出证书中的公钥信息,解析私钥并保存,以备客户端与服务端进行密钥协商时使用;
步骤S2.3:将解密HTTPS数据流量所需的证书和私钥到导入入侵检测系统IDS。
所述步骤S2.3中,证书格式支持pem、cer和pkcs12。
所述步骤S2.2中,解析步骤如下:
步骤S2.2.1:入侵检测系统IDS解析客户端发往服务端的上行数据,获取随机数信息,并切换到下一个解析服务端数据的状态;
步骤S2.2.2:入侵检测系统IDS解析服务端返回客户端的下行数据,获取会话ID、协商的TLS版本号、密码套件与随机数;
在内存中查找会话ID,根据会话ID中保存的已成功建立的连接中包含的信息,计算解密后续加密数据的密钥;
如果在内存中未查找到会话ID,则进入下一个状态解析客户端数据;
步骤S2.2.3:入侵检测系统IDS通过解析客户端数据,使用导入的私钥解密数据,获取计算密钥所需的第三随机数Pre-Master,同时将上行数据和下行数据中解析获取的随机数共同参与计算,最终得到解密后续加密数据的主密钥。
所述步骤S2.2.3中,采用伪随机数函数PRF计算主密钥。
计算公式如下:
Master_secret=PRF(pre_master_secret,“主密码”,
ClientHello.random+ServerHello.random)
[0..47]
其中,Master_secret为主密钥,pre_master_secret为第三随机数Pre-Master,ClientHello.random为上行数据中获取的随机数,ServerHello.random为下行数据中获取的随机数。
为了防止三重握手攻击,TLS连接时,若协商数据包中带有扩展主密码ExtendedMaster Secret时,采用伪随机数函数PRF对第三随机数Pre-Master和建立TLS连接的过程中发送的握手消息的哈希值计算主密钥。
计算公式如下:
Master_secret=PRF(pre_master_secret,“ExtendedMaster Secret”,
session_hash)
[0..47]
其中,session_hash是在建立连接的过程中所有发送的握手消息的哈希值。
session_hash=Hash(handshake_messages)
handshake_messages是在建立连接过程中所有发送的握手消息。通过引入handshake_messages可以防止握手消息被篡改。
一种实现旁路解密HTTPS数据流量的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。
一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
本发明的有益效果是:该实现旁路解密HTTPS数据流量的方法,可以实现在旁路接入网络的安全设备上检测HTTPS数据流量,识别恶意的HTTPS请求,提升网络安全防护能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明实现旁路解密HTTPS数据流量的功能模块架构示意图。
附图2为本发明解析TLS建立连接阶段的数据流程示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
基于开源OpenSSL(开放式安全套接层协议)可以分别实现客户端和服务端,然后实现两端数据的HTTPS加密通信。但不支持旁路接入的方式,无法同时解密客户端与服务端双向通讯的加密数据。客户端与服务端通过HTTPS通信时,常规的HTTPS通信过程如下:
1).首先,客户端发送ClientHello数据包发起TLS(Transport Layer SecurityProtocol,安全传输层协议)连接,数据包包含随机数A、TLS版本号、密码套件列表等信息。
2).服务端接收到客户端的TLS连接请求回应ServerHello数据包,包含随机数B、TLS版本号、选择的密码套件等信息,服务端还会发送证书等信息。
3).客户端通过目前接收到的信息和自己有的信息,计算出通信所需密钥KeyA,通过发送ClientKeyExchange数据包,把计算密钥KeyA时所需的中间数据pre-master,使用RSA公钥加密发送给服务端。
4).服务端接收到加密的pre-master使用私钥进行解密,也可以计算出通信所需密钥keyB。
5).客户端使用KeyA加密要发送的数据,与服务端进行HTTPS加密通信,服务端使用keyB对接收到的加密数据进行解密。
对于旁路接入的入侵检测系统IDS产品因为不参与客户端和服务端的通信过程,只能获取到客户端和服务端通信的加密数据流量然后解密。
HTTPS协议在传输数据时使用的是对称加密方式,加密和解密数据使用同一密钥。
HTTPS数据传输步骤如下:
①建立SSL/TLS连接
客户端和服务端通过发送数据建立TLS连接,通过TLS连接协商出将要使用的TLS版本、密码套件以及后续数据传输使用的密钥;
②HTTPS加密数据传输
通过使用建立连接时协商出的密钥,对需要传输的数据进行加密,实现数据的安全传输。
该实现旁路解密HTTPS数据流量的方法,包括以下步骤:
步骤S1:基于OpenSSL开源库分别实现客户端和服务端,实现两端数据的HTTPS加密通信,同时将入侵检测系统IDS通过旁路方式接入网络中;
步骤S2:在TLS建立连接阶段,入侵检测系统IDS解析客户端和服务端的交互数据,解析出后续解密数据所需要的密钥;
步骤S3:TLS连接建立完成后,入侵检测系统IDS利用解析得到的密钥,实时检测网络流量,解析服务端数据包,解密HTTPS加密数据。
入侵检测系统IDS可以对通讯加密数据进行标识,识别恶意流量并输出检测报告,为后续的处置提供决策依据。
所述步骤S2中,入侵检测系统IDS解析密钥步骤如下:
步骤S2.1:入侵检测系统IDS识别接收到网络数据的是不是HTTPS数据流量,若是则进入解析HTTPS数据阶段;
步骤S2.2:入侵检测系统IDS解析证书,获取出证书中的公钥信息,解析私钥并保存,以备客户端与服务端进行密钥协商时使用;
步骤S2.3:将解密HTTPS数据流量所需的证书和私钥到导入入侵检测系统IDS。
所述步骤S2.3中,证书格式支持pem、cer和pkcs12。
所述步骤S2.2中,解析步骤如下:
步骤S2.2.1:入侵检测系统IDS解析客户端发往服务端的上行数据,获取随机数信息,并切换到下一个解析服务端数据的状态;
步骤S2.2.2:入侵检测系统IDS解析服务端返回客户端的下行数据,获取会话ID、协商的TLS版本号、密码套件与随机数;
在内存中查找会话ID,根据会话ID中保存的已成功建立的连接中包含的信息,计算解密后续加密数据的密钥;
如果在内存中未查找到会话ID,则进入下一个状态解析客户端数据;
步骤S2.2.3:入侵检测系统IDS通过解析客户端数据,使用导入的私钥解密数据,获取计算密钥所需的第三随机数Pre-Master,同时将上行数据和下行数据中解析获取的随机数共同参与计算,最终得到解密后续加密数据的主密钥。
所述步骤S2.2.3中,采用伪随机数函数PRF计算主密钥。
计算公式如下:
Master_secret=PRF(pre_master_secret,“主密码”,
ClientHello.random+ServerHello.random)
[0..47]
其中,Master_secret为主密钥,pre_master_secret为第三随机数Pre-Master,ClientHello.random为上行数据中获取的随机数,ServerHello.random为下行数据中获取的随机数。
为了防止三重握手攻击,TLS连接时,若协商数据包中带有扩展主密码ExtendedMaster Secret时,采用伪随机数函数PRF对第三随机数Pre-Master和建立TLS连接的过程中发送的握手消息的哈希值计算主密钥。
计算公式如下:
Master_secret=PRF(pre_master_secret,“Extended Master Secret”,
session_hash)
[0..47]
其中,session_hash是在建立连接的过程中所有发送的握手消息的哈希值。
session_hash=Hash(handshake_messages)
handshake_messages是在建立连接过程中所有发送的握手消息。通过引入handshake_messages可以防止握手消息被篡改。
该实现旁路解密HTTPS数据流量的设备,包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。
该可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种实现旁路解密HTTPS数据流量的方法,其特征在于:包括以下步骤:
步骤S1:基于OpenSSL开源库分别实现客户端和服务端,实现两端数据的HTTPS加密通信,同时将入侵检测系统IDS通过旁路方式接入网络中;
步骤S2:在TLS建立连接阶段,入侵检测系统IDS解析客户端和服务端的交互数据,解析出后续解密数据所需要的密钥;
步骤S3:TLS连接建立完成后,入侵检测系统IDS利用解析得到的密钥,实时检测网络流量,解析服务端数据包,解密HTTPS加密数据。
2.根据权利要求1所述的实现旁路解密HTTPS数据流量的方法,其特征在于:所述步骤S2中,入侵检测系统IDS解析密钥步骤如下:
步骤S2.1:入侵检测系统IDS识别接收到网络数据的是不是HTTPS数据流量,若是则进入解析HTTPS数据阶段;
步骤S2.2:入侵检测系统IDS解析证书,获取出证书中的公钥信息,解析私钥并保存,以备客户端与服务端进行密钥协商时使用;
步骤S2.3:将解密HTTPS数据流量所需的证书和私钥到导入入侵检测系统IDS。
3.根据权利要求2所述的实现旁路解密HTTPS数据流量的方法,其特征在于:所述步骤S2.3中,证书格式支持pem、cer和pkcs12。
4.根据权利要求2所述的实现旁路解密HTTPS数据流量的方法,其特征在于:所述步骤S2.2中,解析步骤如下:
步骤S2.2.1:入侵检测系统IDS解析客户端发往服务端的上行数据,获取随机数信息,并切换到下一个解析服务端数据的状态;
步骤S2.2.2:入侵检测系统IDS解析服务端返回客户端的下行数据,获取会话ID、协商的TLS版本号、密码套件与随机数;
在内存中查找会话ID,根据会话ID中保存的已成功建立的连接中包含的信息,计算解密后续加密数据的密钥;
如果在内存中未查找到会话ID,则进入下一个状态解析客户端数据;
步骤S2.2.3:入侵检测系统IDS通过解析客户端数据,使用导入的私钥解密数据,获取计算密钥所需的第三随机数Pre-Master,同时将上行数据和下行数据中解析获取的随机数共同参与计算,最终得到解密后续加密数据的主密钥。
5.根据权利要求4所述的实现旁路解密HTTPS数据流量的方法,其特征在于:所述步骤S2.2.3中,采用伪随机数函数PRF计算主密钥;
计算公式如下:
Master_secret=PRF(pre_master_secret,“主密码”,
ClientHello.random+ServerHello.random)
[0..47]
其中,Master_secret为主密钥,pre_master_secret为第三随机数Pre-Master,ClientHello.random为上行数据中获取的随机数,ServerHello.random为下行数据中获取的随机数。
6.根据权利要求4所述的实现旁路解密HTTPS数据流量的方法,其特征在于:TLS连接时,若协商数据包中带有扩展主密码ExtendedMaster Secret时,采用伪随机数函数PRF对第三随机数Pre-Master和建立TLS连接的过程中发送的握手消息的哈希值计算主密钥;
计算公式如下:
Master_secret=PRF(pre_master_secret,“Extended Master Secret”,
session_hash)
[0..47]
其中,session_hash是在建立连接的过程中所有发送的握手消息的哈希值;
session_hash=Hash(handshake_messages)
其中,handshake_messages是在建立连接过程中所有发送的握手消息。
7.一种实现旁路解密HTTPS数据流量的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至6任意一项所述的方法步骤。
8.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311294475.1A CN117254966A (zh) | 2023-10-09 | 2023-10-09 | 一种实现旁路解密https数据流量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311294475.1A CN117254966A (zh) | 2023-10-09 | 2023-10-09 | 一种实现旁路解密https数据流量的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117254966A true CN117254966A (zh) | 2023-12-19 |
Family
ID=89134723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311294475.1A Pending CN117254966A (zh) | 2023-10-09 | 2023-10-09 | 一种实现旁路解密https数据流量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117254966A (zh) |
-
2023
- 2023-10-09 CN CN202311294475.1A patent/CN117254966A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7900042B2 (en) | Encrypted packet inspection | |
US9319220B2 (en) | Method and apparatus for secure network enclaves | |
EP1543648B1 (en) | System, method and computer program product for guaranteeing electronic transactions | |
AU2019202163B1 (en) | Provisioning a secure connection using a pre-shared key | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
US20060005239A1 (en) | Inspected secure communication protocol | |
WO2017215582A1 (zh) | 加密内容检测的方法和设备 | |
US20100211780A1 (en) | Secure network communications | |
WO2022111102A1 (zh) | 建立安全连接的方法、系统、装置、电子设备和机器可读存储介质 | |
CN111756529B (zh) | 一种量子会话密钥分发方法及系统 | |
US10291600B2 (en) | Synchronizing secure session keys | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
CN110839240B (zh) | 一种建立连接的方法及装置 | |
Rajagopalan et al. | A DDoS prevention scheme for session resumption SEA architecture in healthcare IoT | |
CN103117851A (zh) | 一种公钥机制实现防篡改防抵赖的加密控制方法及装置 | |
CN104243452B (zh) | 一种云计算访问控制方法及系统 | |
CN115766119A (zh) | 通信方法、装置、通信系统及存储介质 | |
CN107124385B (zh) | 一种基于镜像流的ssl/tls协议明文数据采集方法 | |
CN114553957A (zh) | 兼容国密和国际https传输的业务系统和方法 | |
CN106031097A (zh) | 业务处理方法及装置 | |
CN211352206U (zh) | 基于量子密钥分发的IPSec VPN密码机 | |
CN113904767A (zh) | 一种基于ssl建立通信的系统 | |
CN117914483A (zh) | 安全通信方法、装置、设备和介质 | |
KR20140091221A (ko) | 웹 보안 프로토콜에 따른 암호화 데이터를 복호화하는 보안 장치 및 그것의 동작 방법 | |
CN115987634A (zh) | 获取明文数据、密钥获取方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |