CN114172645A - 通信旁路审计方法、装置、电子设备及存储介质 - Google Patents
通信旁路审计方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114172645A CN114172645A CN202111477981.5A CN202111477981A CN114172645A CN 114172645 A CN114172645 A CN 114172645A CN 202111477981 A CN202111477981 A CN 202111477981A CN 114172645 A CN114172645 A CN 114172645A
- Authority
- CN
- China
- Prior art keywords
- key
- server
- client
- data
- link
- 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
Images
Classifications
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Abstract
本申请提供一种通信旁路审计方法、装置、电子设备及存储介质,涉及网络安全技术领域,该方法包括:解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接;在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥;基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据;基于所述传输数据对通信链接进行审计。采用本申请实施例提供的通信旁路审计方法能够实现对SSL通信中的数据进行解密审计。
Description
技术领域
本申请涉及网络安全领域,具体而言,涉及一种通信旁路审计方法、装置、电子设备及存储介质。
背景技术
安全套接字层(Secure Socket Layer,SSL)是面向连接的网络层协议和应用层协议之间的一种协议层,SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。随着SSL的广泛应用,通信安全的增强对旁路审计系统或者设备成了阻碍,由于SSL通信中的数据经过了加密,因此传统的旁路审计方法无法对SSL通信中的数据进行解密审计。
发明内容
本申请实施例的目的在于提供一种通信旁路审计方法、装置、电子设备及存储介质,用以实现对SSL通信中的数据进行解密审计。
第一方面,本申请实施例提供一种通信旁路审计方法,可以包括:
解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接;
在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥;
基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据;
基于所述传输数据对通信链接进行审计。
在上述实现过程中,通过在客户端和服务端的秘钥协商过程中截取秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接,在会话复用时,生成工作秘钥解密加密数据得到明文的传输数据,从而能够对通信过程进行解密审计,解决目前无法对国密SSL通信方式进行解密审计的问题。
可选地,所述协商参数包括客户端随机数,所述基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接可以包括:
从数据包中的握手报文中获取客户端随机数;
在所述客户端随机数的时域标识号表征所述客户端与所述服务端建立过链接时,确定所述客户端通过会话复用方式与所述服务端建立链接。
在上述实现过程中,通过客户端随机数的时域标识号确定客户端是否已经与服务端建立过链接,从而判断客户端是否通过会话复用方式与服务端建立链接,从而能够针对会话复用方式的建立链接模式进行审计。
可选地,所述方法还可以包括:
在所述客户端随机数的时域标识号表征所述客户端与所述服务端未建立过链接时,确定所述客户端与所述服务端为新建链接;
所述协商参数还包括服务端随机数和预主秘钥,在所述由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥之前,所述方法可以包括:
从所述数据包中的所述握手报文中获取所述服务端随机数;
解析所述数据包中的秘钥资讯报文,获取预主秘钥密文;
解密所述预主秘钥密文得到明文的所述预主秘钥;
基于所述客户端随机数、所述服务端随机数和所述预主秘钥生成所述主秘钥;
向所述主秘钥添加时域标识号并将所述主秘钥存入主秘钥缓存表。
在上述实现过程中,通过秘钥协商参数获得主秘钥,并基于主秘钥建立主秘钥缓存表,在新建链接使用时域标识号进行会话复用建立新链接时,可以通过查询主秘钥缓存表找到对应的主秘钥,能够在会话复用方式时提高获取主秘钥的效率,从而解密加密数据。
可选地,在所述由主秘钥通过预设随机数算法生成秘钥块之前,所述方法还可以包括:
基于所述主秘钥的所述时域标识号从所述主秘钥缓存表中查询所述主秘钥。
可选地,在所述解析通信握手过程,获取秘钥协商参数之前,所述方法还可以包括:
获取所述服务器端的加密私钥和网际互联协议地址;
所述解密所述预主秘钥密文得到明文的所述预主秘钥包括:
基于所述网际互联协议地址查询目标加密私钥,根据所述目标加密私钥解析所述预主秘钥密文,得到明文的所述预主秘钥。
在上述实现过程中,通过预导入服务器加密私钥和配置服务器IP的实现方式,能够在对通信链接做旁路审计时,根据数据包IP快速匹配对应的服务器私钥,从而能够根据预主秘钥生成主秘钥,实现对客户端和服务端之间的加密数据进行解密,得到明文的传输数据。
可选地,所述工作秘钥包括客户端校验写秘钥和服务端校验写秘钥,在所述基于所述传输数据对通信链接进行审计之前,所述方法还可以包括:
基于所述客户端校验写秘钥和所述服务端校验写秘钥检测所述传输数据是否完整或是否被篡改。
在上述实现过程中,通过对客户端发向服务端的数据以及从服务端发向客户端发的数据进行完整性校验,能够确定数据是否完整或者是否被篡改,从而能够提高审计的准确性。
可选地,在所述基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据之后,所述方法还可以包括:
确定所述客户端和所述服务端的内层协议;
基于所述内层协议对所述传输数据进行深度解析,获取所述传输数据的有效载荷、应用类型和数据内容中的至少一项。
在上述实现过程中,可以通过对传输数据进行深度解析,能够获取更完整的传输数据信息,提高审计的准确性。
第二方面,本申请实施例提供一种通信旁路审计装置,包括:
解析模块,用于解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接;
截取模块,用于在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥;
解密模块,用于基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据;
审计模块,用于基于所述传输数据对通信链接进行审计。
在上述实现过程中,通过在客户端和服务端的秘钥协商过程中截取秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接,在会话复用时,生成工作秘钥解密加密数据得到明文的传输数据,从而能够对通信过程进行解密审计,解决目前无法对国密SSL通信方式进行解密审计的问题。
可选地,所述协商参数包括客户端随机数,解析模块可具体用于从数据包中的握手报文中获取客户端随机数;在所述客户端随机数的时域标识号表征所述客户端与所述服务端建立过链接时,确定所述客户端通过会话复用方式与所述服务端建立链接。
在上述实现过程中,通过客户端随机数的时域标识号确定客户端是否已经与服务端建立过链接,从而判断客户端是否通过会话复用方式与服务端建立链接,从而能够针对会话复用方式的建立链接模式进行审计。
可选地,解析模块还可用于在所述客户端随机数的时域标识号表征所述客户端与所述服务端未建立过链接时,确定所述客户端与所述服务端为新建链接;协商参数还包括服务端随机数和预主秘钥,通信旁路审计装置还可以包括主秘钥生成模块,主秘钥生成模块可用于:
在由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥之前,从所述数据包中的所述握手报文中获取所述服务端随机数;解析所述数据包中的秘钥资讯报文,获取预主秘钥密文;解密所述预主秘钥密文得到明文的所述预主秘钥;基于所述客户端随机数、所述服务端随机数和所述预主秘钥生成所述主秘钥;向所述主秘钥添加时域标识号并将所述主秘钥存入主秘钥缓存表。
在上述实现过程中,通过秘钥协商参数获得主秘钥,并基于主秘钥建立主秘钥缓存表,在新建链接使用时域标识号进行会话复用建立新链接时,可以通过查询主秘钥缓存表找到对应的主秘钥,能够在会话复用方式时提高获取主秘钥的效率,从而解密加密数据。
可选地,通信旁路审计装置还可以包括查询模块,用于:
在由主秘钥通过预设随机数算法生成秘钥块之前,基于所述主秘钥的所述时域标识号从所述主秘钥缓存表中查询所述主秘钥。
可选地,解密模块还可用于:
在解析通信握手过程,获取秘钥协商参数之前,获取所述服务器端的加密私钥和网际互联协议地址;基于所述网际互联协议地址查询目标加密私钥,根据所述目标加密私钥解析所述预主秘钥密文,得到明文的所述预主秘钥。
在上述实现过程中,通过预导入服务器加密私钥和配置服务器IP的实现方式,能够在对通信链接做旁路审计时,根据数据包IP快速匹配对应的服务器私钥,从而能够根据预主秘钥生成主秘钥,实现对客户端和服务端之间的加密数据进行解密,得到明文的传输数据。
可选地,通信旁路审计装置还可以包括校验模块,校验模块可用于:
基于所述客户端校验写秘钥和所述服务端校验写秘钥检测所述传输数据是否完整或是否被篡改。
在上述实现过程中,通过对客户端发向服务端的数据以及从服务端发向客户端发的数据进行完整性校验,能够确定数据是否完整或者是否被篡改,从而能够提高审计的准确性。
可选地,审计模块还可用于:
确定所述客户端和所述服务端的内层协议;基于所述内层协议对所述传输数据进行深度解析,获取所述传输数据的有效载荷、应用类型和数据内容中的至少一项。
在上述实现过程中,可以通过对传输数据进行深度解析,能够获取更完整的传输数据信息,提高审计的准确性。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的通信旁路审计方法的步骤示意图;
图2为本申请实施例提供的确定客户端是否通过会话复用方式与服务端建立链接的步骤示意图;
图3为本申请实施例提供的生成主秘钥的步骤示意图;
图4为本申请实施例提供的解密预主秘钥密文的步骤示意图;
图5为本申请实施例提供的对解密出的明文数据进行深度解析的步骤示意图;
图6为本申请实施例提供的一种通信旁路审计装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
申请人在研究的过程中发现,目前应对国际HTTPS通信方式,是采用预导入服务器RSA加密算法的私钥,旁路捕获通信数据包,从数据包中解析出预主秘钥密文,使用服务器RSA加密算法的私钥解密预主秘钥,生成主秘钥,再经过计算生成工作秘钥,基于工作秘钥解密加密传输数据。但因国密SSL与国际SSL在通信方式、证书体系、加密套件之间存在差异,导致之前用来审计国际SSL通信的传统方法,无法对国密SSL通信方式进行解密审计。
有基于此,本申请实施例提供一种通信旁路审计方法,采用会话复用的方式对国密SSL通信进行解密审计,在秘钥协商过程中截取秘钥协商参数,生成工作秘钥,并使用工作秘钥对通信的密文进行解密,得到明文通信内容,从而解决目前无法对国密SSL通信方式进行解密审计的问题。请参看图1,图1为本申请实施例提供的一种通信旁路审计方法的步骤示意图,通信旁路审计的步骤可以包括:
在步骤S11中,解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接。
其中,客户端可以是具有联网功能的电子设备,该电子设备可以是工程设备的配置器、手机、平板电脑、计算机、个人数字助理等,服务端可以是一台服务器,或者是由若干台服务器组成的服务器集群,客户端能够与服务端进行信息交互,向服务端发送数据或从服务端中获取数据。
通信握手过程是客户端与服务端建立通信连接的过程,客户端和服务端通过多次握手进行秘钥协商,发送建立链接请求、应答以及确认信号,从而建立通信链接。
在步骤S12中,在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥。
示例性的,主秘钥可以是由数据包的ServerHello报文中解析到的时域标识号(session_id)作为主键,通过哈希函数建立主秘钥缓存表,在会话复用方式时使用session_id进行查询得到。
可以由主秘钥通过伪随机函数生成秘钥块(key_block),然后从key_block中截取工作秘钥。预设随机数算法可以是PRF伪随机函数(Pseudo Random Function)。在SSL握手的非对称运算中,无论是使用RSA算法还是ECDHE算法,都会消耗性能,为了提高性能,对于之前已经进行过握手的SSL连接,可以通过使用会话复用的机制减少运算。
在步骤S13中,基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据。
其中,工作秘钥包括客户端写秘钥(client_write_key)和服务端写秘钥(server_write_key)。客户端写秘钥是客户端对数据进行对称加密所使用的秘钥。服务端需要同样使用客户端写秘钥进行解密客户端发来的加密数据。服务端写秘钥是服务端到客户端数据进行对称加密所使用的的秘钥。客户端需要使用服务端写秘钥解密服务端发来的对称加密数据。
在步骤S14中,基于所述传输数据对通信链接进行审计。
其中,在国密SSL中的密码套件中,对称算法可以采用SM4分组密码算法,其中,SM4算法是对称加密算法,SM4分组密码算法用于实现数据的加密/解密运算,以保证数据和信息的机密性。可以使用EVP(Envelop)接口分别加载客户端写秘钥和服务端写秘钥,生成SM4加解密上下文结构ctx_client和ctx_server,使用ctx_client和ctx_server分别解密客户端到服务端的数据和服务端到客户端的数据最终得到明文的传输数据,从而能够对SSL链接进行审计。
由此可见,本申请实施例通过在客户端和服务端的秘钥协商过程中截取秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接,在会话复用时,生成工作秘钥解密加密数据得到明文的传输数据,从而能够对通信过程进行解密审计,解决目前无法对国密SSL通信方式进行解密审计的问题。
在一可选的实施例中,针对步骤S11,本申请实施例提供一种确定客户端是否通过会话复用方式与服务端建立链接的实现流程,请参看图2,图2为本申请实施例提供的一种确定客户端是否通过会话复用方式与服务端建立链接的步骤示意图,确定客户端是否通过会话复用方式与服务端建立链接的流程可以包括如下步骤:
在步骤S21中,从数据包中的握手报文中获取客户端随机数。
在步骤S22中,在所述客户端随机数的时域标识号表征所述客户端与所述服务端建立过链接时,确定所述客户端通过会话复用方式与所述服务端建立链接。
其中,在客户端和服务端握手时,解析ClientHello报文,从中获取客户端随机数(ClientHello.random),基于客户端随机数中的session_id确认客户端先前是否与服务端建立过链接,在ClientHello报文中时域标识号(session_id)有值时,则代表客户端先前已经建立过链接,现在通过会话复用的方式使用session_id建立新的链接。此时由主秘钥通过伪随机函数生成秘钥块(key_block),然后从key_block中截取工作秘钥。
由此可见,本申请实施例通过客户端随机数的时域标识号确定客户端是否已经与服务端建立过链接,从而判断客户端是否通过会话复用方式与服务端建立链接,从而能够针对会话复用方式的建立链接模式进行审计。
可选地,针对步骤S11,在所述客户端随机数的时域标识号表征所述客户端与所述服务端未建立过链接时,确定所述客户端与所述服务端为新建链接,针对此种情况,本申请实施例还提供一种客户端与服务端未建立过链接时,生成主秘钥的实施步骤,请参看图3,图3为本申请实施例提供的一种生成主秘钥的步骤示意图,生成主秘钥的步骤可以为:
在步骤S31中,从所述数据包中的所述握手报文中获取所述服务端随机数。
在步骤S32中,解析所述数据包中的秘钥资讯报文,获取预主秘钥密文。
在步骤S33中,基于所述客户端随机数、所述服务端随机数和所述预主秘钥生成所述主秘钥。
在步骤S34中,向所述主秘钥添加时域标识号并将所述主秘钥存入主秘钥缓存表。
可选地,在由主秘钥通过预设随机数算法生成秘钥块之前,可以基于所述主秘钥的所述时域标识号从所述主秘钥缓存表中查询所述主秘钥。
示例性地,可以解析数据包中的第二次握手报文以获得该服务端随机数(ServerHello.randrom),可以解析数据包中的密钥资讯(Client Key Exchange)报文获取客户端生成的预主秘钥(PerMaster)密文。可以使用预导入加载的服务端SM2加密私钥(EnPrivateKey),其中,SM2算法为非对称加密算法。SM2椭圆曲线公钥密码算法是公钥密码算法,包括数字签名算法、密钥交换协议、公钥加密算法,分别用于实现数字签名密钥协商和数据加密。通过SM2算法解密预主秘钥密文,从而得到明文的预主秘钥。通过客户端随机数、服务端随机数、预主秘钥明文三个秘钥协商参数,调用伪随机数函数PRF从而获得主秘钥。
由此可见,本申请实施例通过秘钥协商参数获得主秘钥,并基于主秘钥建立主秘钥缓存表,在新建链接使用时域标识号进行会话复用建立新链接时,可以通过查询主秘钥缓存表找到对应的主秘钥,能够在会话复用方式时提高获取主秘钥的效率,从而解密加密数据。
在一可选的实施例中,在步骤S11之前,本申请实施例提供一种解密预主秘钥密文的实现方式,请参看图4,图4为本申请实施例提供的解密预主秘钥密文的步骤示意图,解密预主秘钥密文的步骤可以为:
在步骤S41中,获取所述服务器端的加密私钥和网际互联协议地址。
在步骤S42中,基于所述网际互联协议地址查询目标加密私钥,根据所述目标加密私钥解析所述预主秘钥密文,得到明文的所述预主秘钥。
示例性地,可以预加载服务器端的加密私钥和服务器端网际互联协议(InternetProtocol,IP)地址,在确定客户端与服务端为新建链接时,可以通过使用预导入加载的服务端SM2算法解密预主秘钥的密文,从而得到明文的预主秘钥。
由此可见,本申请实施例通过预导入服务器加密私钥和配置服务器IP的实现方式,能够在对通信链接做旁路审计时,根据数据包IP快速匹配对应的服务器私钥,从而能够根据预主秘钥生成主秘钥,实现对客户端和服务端之间的加密数据进行解密,得到明文的传输数据。
可选地,工作秘钥还可以包括客户端校验写秘钥(clietn_write_MAC_secret)和服务端校验写秘钥(server_write_MAC_secret),可以基于所述客户端校验写秘钥和所述服务端校验写秘钥检测所述传输数据是否完整或是否被篡改。
其中,可以使用SM3杂凑算法对传输数据进行校验,通过客户端校验写秘钥和服务端校验写秘钥校验从客户端发向服务端的数据以及从服务端发向客户端发的数据是否完整。
由此可见,本申请实施例通过对客户端发向服务端的数据以及从服务端发向客户端发的数据进行完整性校验,能够确定数据是否完整或者是否被篡改,从而能够提高审计的准确性。
在一可选的实施例中,在步骤S14之后,本申请实施例还提供一种对解密出的明文数据进行深度解析的实现方式,请参看图5,图5为本申请实施例提供的一种对解密出的明文数据进行深度解析的步骤示意图,对明文数据进行深度解析的流程可以包括以下步骤:
在步骤S51中,确定所述客户端和所述服务端的内层协议。
在步骤S52中,基于所述内层协议对所述传输数据进行深度解析,获取所述传输数据的有效载荷、应用类型和数据内容中的至少一项。
示例性地,如确定客户端与服务端之间是基于国密SSL的HTTPS通信,则得到的明文数据为HTTP协议明文数据,可以根据HTTP协议对传输数据进行更深度的解析。在普通报文检测中仅会分析数据报文的IP五元组(源地址、目的地址、源端口、目的端口以及协议类型),通过确定客户端和服务端的内层协议解析传输数据的有效载荷(Payload),深入读取IP报文载荷的内容对应用层信息进行重组,从而得到整个应用程序的内容。
由此可见,本申请实施例通过对传输数据进行深度解析,能够获取更完整的传输数据信息,提高审计的准确性。
基于同一发明构思,本申请实施例还提供一种通信旁路审计装置60,请参看图6,图6为本申请实施例提供的一种通信旁路审计装置的示意图,通信旁路审计装置60可以包括:
解析模块61,用于解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接。
截取模块62,用于在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥。
解密模块63,用于基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据。
审计模块64,用于基于所述传输数据对通信链接进行审计。
可选地,所述协商参数包括客户端随机数,解析模块61可具体用于从数据包中的握手报文中获取客户端随机数;在所述客户端随机数的时域标识号表征所述客户端与所述服务端建立过链接时,确定所述客户端通过会话复用方式与所述服务端建立链接。
可选地,解析模块61还可用于在所述客户端随机数的时域标识号表征所述客户端与所述服务端未建立过链接时,确定所述客户端与所述服务端为新建链接;协商参数还包括服务端随机数和预主秘钥,通信旁路审计装置60还可以包括主秘钥生成模块,主秘钥生成模块可用于:
在由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥之前,从所述数据包中的所述握手报文中获取所述服务端随机数;解析所述数据包中的秘钥资讯报文,获取预主秘钥密文;解密所述预主秘钥密文得到明文的所述预主秘钥;基于所述客户端随机数、所述服务端随机数和所述预主秘钥生成所述主秘钥;向所述主秘钥添加时域标识号并将所述主秘钥存入主秘钥缓存表。
可选地,通信旁路审计装置60还可以包括查询模块,用于:
在由主秘钥通过预设随机数算法生成秘钥块之前,基于所述主秘钥的所述时域标识号从所述主秘钥缓存表中查询所述主秘钥。
可选地,解密模块63还可用于:
在解析通信握手过程,获取秘钥协商参数之前,获取所述服务器端的加密私钥和网际互联协议地址;基于所述网际互联协议地址查询目标加密私钥,根据所述目标加密私钥解析所述预主秘钥密文,得到明文的所述预主秘钥。
可选地,通信旁路审计装置60还可以包括校验模块,校验模块可用于:
基于所述客户端校验写秘钥和所述服务端校验写秘钥检测所述传输数据是否完整或是否被篡改。
可选地,审计模块64还可用于:
确定所述客户端和所述服务端的内层协议;基于所述内层协议对所述传输数据进行深度解析,获取所述传输数据的有效载荷、应用类型和数据内容中的至少一项。
基于同一发明构思,本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。
所述计算机可读存储介质可以是随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等各种可以存储程序代码的介质。其中,存储介质用于存储程序,所述处理器在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的电子终端所执行的方法可以应用于处理器中,或者由处理器实现。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种通信旁路审计方法,其特征在于,包括:
解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接;
在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥;
基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据;
基于所述传输数据对通信链接进行审计。
2.根据权利要求1所述的方法,其特征在于,所述协商参数包括客户端随机数,所述基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接包括:
从数据包中的握手报文中获取客户端随机数;
在所述客户端随机数的时域标识号表征所述客户端与所述服务端建立过链接时,确定所述客户端通过会话复用方式与所述服务端建立链接。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述客户端随机数的时域标识号表征所述客户端与所述服务端未建立过链接时,确定所述客户端与所述服务端为新建链接;
所述协商参数还包括服务端随机数和预主秘钥,在所述由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥之前,所述方法包括:
从所述数据包中的所述握手报文中获取所述服务端随机数;
解析所述数据包中的秘钥资讯报文,获取预主秘钥密文;
解密所述预主秘钥密文得到明文的所述预主秘钥;
基于所述客户端随机数、所述服务端随机数和所述预主秘钥生成所述主秘钥;
向所述主秘钥添加时域标识号并将所述主秘钥存入主秘钥缓存表。
4.根据权利要求3所述的方法,其特征在于,在所述由主秘钥通过预设随机数算法生成秘钥块之前,所述方法还包括:
基于所述主秘钥的所述时域标识号从所述主秘钥缓存表中查询所述主秘钥。
5.根据权利要求3所述的方法,其特征在于,在所述解析通信握手过程,获取秘钥协商参数之前,所述方法还包括:
获取所述服务器端的加密私钥和网际互联协议地址;
所述解密所述预主秘钥密文得到明文的所述预主秘钥包括:
基于所述网际互联协议地址查询目标加密私钥,根据所述目标加密私钥解析所述预主秘钥密文,得到明文的所述预主秘钥。
6.根据权利要求1所述的方法,其特征在于,所述工作秘钥包括客户端校验写秘钥和服务端校验写秘钥,在所述基于所述传输数据对通信链接进行审计之前,所述方法还包括:
基于所述客户端校验写秘钥和所述服务端校验写秘钥检测所述传输数据是否完整或是否被篡改。
7.根据权利要求1所述的方法,其特征在于,在所述基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据之后,所述方法还包括:
确定所述客户端和所述服务端的内层协议;
基于所述内层协议对所述传输数据进行深度解析,获取所述传输数据的有效载荷、应用类型和数据内容中的至少一项。
8.一种通信旁路审计装置,其特征在于,包括:
解析模块,用于解析通信握手过程获取秘钥协商参数,并基于所述秘钥协商参数确定客户端是否通过会话复用方式与服务端建立链接;
截取模块,用于在所述客户端通过会话复用方式与所述服务端建立链接时,由主秘钥通过预设随机数算法生成秘钥块,从所述秘钥块中截取工作秘钥;
解密模块,用于基于所述工作秘钥解密从所述客户端到所述服务端的数据和所述服务端到所述客户端的数据,得到明文的传输数据;
审计模块,用于基于所述传输数据对通信链接进行审计。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-7中任一项所述方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111477981.5A CN114172645A (zh) | 2021-12-06 | 2021-12-06 | 通信旁路审计方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111477981.5A CN114172645A (zh) | 2021-12-06 | 2021-12-06 | 通信旁路审计方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114172645A true CN114172645A (zh) | 2022-03-11 |
Family
ID=80483343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111477981.5A Pending CN114172645A (zh) | 2021-12-06 | 2021-12-06 | 通信旁路审计方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172645A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032657A (zh) * | 2023-02-15 | 2023-04-28 | 北京锐服信科技有限公司 | 一种流量监控方法、系统和电子设备 |
CN117176479A (zh) * | 2023-11-02 | 2023-12-05 | 北京安博通科技股份有限公司 | 一种旁路解密国密流量审计的方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817219A (zh) * | 2015-12-01 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种协商会话秘钥的方法及装置 |
CN106941401A (zh) * | 2017-03-23 | 2017-07-11 | 深信服科技股份有限公司 | 加速设备以及基于加速设备获取会话秘钥的方法 |
CN113014454A (zh) * | 2021-03-05 | 2021-06-22 | 中电积至(海南)信息技术有限公司 | 一种基于ssltls协议的用户代理标识及数量检测方法 |
-
2021
- 2021-12-06 CN CN202111477981.5A patent/CN114172645A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817219A (zh) * | 2015-12-01 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种协商会话秘钥的方法及装置 |
CN106941401A (zh) * | 2017-03-23 | 2017-07-11 | 深信服科技股份有限公司 | 加速设备以及基于加速设备获取会话秘钥的方法 |
CN113014454A (zh) * | 2021-03-05 | 2021-06-22 | 中电积至(海南)信息技术有限公司 | 一种基于ssltls协议的用户代理标识及数量检测方法 |
Non-Patent Citations (1)
Title |
---|
ERIC RESCORLA: "SSL与TLS", pages: 67 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032657A (zh) * | 2023-02-15 | 2023-04-28 | 北京锐服信科技有限公司 | 一种流量监控方法、系统和电子设备 |
CN117176479A (zh) * | 2023-11-02 | 2023-12-05 | 北京安博通科技股份有限公司 | 一种旁路解密国密流量审计的方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3391620B1 (en) | Systems and methods for secure multi-party communications using a proxy | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
Díaz-Sánchez et al. | TLS/PKI challenges and certificate pinning techniques for IoT and M2M secure communications | |
CN109309685B (zh) | 信息传输方法和装置 | |
EP3535683B1 (en) | Data encryption control using multiple controlling authorities | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
AU2016218981A1 (en) | Confidential communication management | |
CN110198297B (zh) | 流量数据监控方法、装置、电子设备及计算机可读介质 | |
JP2008250931A (ja) | 分散情報復元システム、情報利用装置、および、検証装置 | |
CN114172645A (zh) | 通信旁路审计方法、装置、电子设备及存储介质 | |
Hlauschek et al. | Prying Open Pandora's Box:{KCI} Attacks against {TLS} | |
CN112804217A (zh) | 一种基于区块链技术的存证方法和装置 | |
Junghanns et al. | Engineering of secure multi-cloud storage | |
CN112839062B (zh) | 夹杂鉴权信号的端口隐藏方法和装置、设备 | |
EP3220604B1 (en) | Methods for client certificate delegation and devices thereof | |
CN114390027B (zh) | 一种网络通信方法、装置、设备及介质 | |
CN117081815A (zh) | 数据安全传输的方法、装置、计算机设备及存储介质 | |
US20230108261A1 (en) | Management, diagnostics, and security for network communications | |
Oakes et al. | A residential client-side perspective on ssl certificates | |
CN113992734A (zh) | 会话连接方法及装置、设备 | |
Aishwarya et al. | DANE: An inbuilt security extension | |
EP3511852B1 (en) | Method for providing an enhanced level of authentication related to a secure software client application that is provided, by an application distribution entity, in order to be transmitted to a client computing device; system, software client application instance or client computing device, third party server entity, and program and computer program product | |
CN113381855A (zh) | 通信方法和系统 | |
CN114244569B (zh) | Ssl vpn远程访问方法、系统和计算机设备 | |
US20240039899A1 (en) | System and method for web-browser based end-to-end encrypted messaging and for securely implementing cryptography using client-side scripting in a web browser |
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 |