动态获取应用程序通信密钥的方法、系统、电子设备及存储介质技术方案

技术编号:35601072 阅读:19 留言:0更新日期:2022-11-16 15:21
本发明专利技术实施例公开的动态获取应用程序通信密钥的方法、系统、电子设备及存储介质,涉及网络安全技术领域。所述方法包括:当第三方应用程序携带第一公钥传输所述加密数据时:判断第三方应用程序通信时加密流量所携带的第一公钥与当前计算出的第二公钥是否一致;若一致,则根据计算所述第一公钥时所使用的第一随机数计算得到加/解密密钥;其中,所述第一公钥与所述第二公钥均是基于操作系统自定义随机数生成器根据实时输入参数生成的随机数列中的随机数生成。本发明专利技术便于获取第三方应用程序的通信明文流量数据。的通信明文流量数据。的通信明文流量数据。

【技术实现步骤摘要】
动态获取应用程序通信密钥的方法、系统、电子设备及存储介质


[0001]本专利技术涉及网络安全
,尤其涉及一种动态获取应用程序通信密钥的方法、系统、电子设备及存储介质。

技术介绍

[0002]在终端系统中,对于有网络外联行为的第三方闭源应用程序,大多数采用TLS/SSL加密方式。使用网络抓包或封包解析软件,例如tcpdump、wireshark软件等,可以截获应用程序的网络流量。但是如果不掌握TLS解密密钥,无法获取通信明文数据,进而无法监控应用程序行为。为了获取网络明文流量数据,通常是在应用程序挂钩子(Hook),步骤是逆向分析应用程序执行流程,定位TLS加解密程序,针对发送加密数据和解密处理函数,设置程序钩子,获取明文流量信息。
[0003]然而,本申请的专利技术人在实现本专利技术创造的过程中发现:上述方案需要对不同应用程序定制开发,而且部分应用程序由于采用混淆和加壳技术,无法定位加解密函数,从而无法获取通信明文流量数据。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种动态获取应用程序通信密钥的方法、系统、电子设备及存储介质,便于获取第三方应用程序的通信明文流量数据。
[0005]为达到上述专利技术目的,采用如下技术方案:
[0006]第一方面,本专利技术实施例提供一种动态获取应用程序通信密钥的方法,所述方法包括步骤:
[0007]判断第三方应用程序通信时加密流量所携带的第一公钥与当前计算出的第二公钥是否一致;
[0008]若一致,则根据计算所述第一公钥时所使用的第一随机数计算得到加/解密密钥;
[0009]其中,所述第一公钥与所述第二公钥均是基于操作系统自定义随机数生成器根据实时输入参数生成的随机数列中的随机数生成。
[0010]可选地,该方法之前还包括:监听通信链路中的网络流量,获取携带加密数据的加密流量;
[0011]其中,第三方应用程序通信过程中,从第一随机数列中取出第一随机数生成第一公钥和加/解密密钥,所述第一随机数列为操作系统自定义随机数生成器根据实时输入参数生成;
[0012]基于所述加/解密密钥对待传输数据进行加密,得到加密数据;
[0013]携带所述第一公钥传输所述加密数据。
[0014]可选地,所述获取携带加密数据的加密流量之后还包括:提取所述加密流量中携带的第一公钥,并从第二随机数列中取出第二随机数,所述第二随机数列为操作系统自定
义随机数生成器根据实时输入参数生成;
[0015]根据所述第二随机数基于预设加密算法计算出对应的第二公钥;
[0016]判断所述第一公钥与所述第二公钥是否一致;
[0017]若一致,则基于所述第二随机数计算得到加/解密密钥。
[0018]可选地,在所述判断所述第一公钥与所述第二公钥是否一致之后,所述方法还包括:若不一致,则枚举预定时间范围内的随机数生成器输入参数,输入至所述操作系统自定义随机数生成器,得到第三随机数列;
[0019]从所述第三随机数列中轮询选取随机数,并根据选取的随机数计算相应的第三公钥,并判断所述第三公钥与所述第一公钥是否一致;
[0020]若一致,则根据轮询当次对应的随机数计算得到加/解密密钥。
[0021]可选地,在若一致之后,计算得到加/解密密钥之前,所述方法还包括:确定第二随机数或当次对应的随机数与所述第一随机数相同。
[0022]可选地,所述实时输入参数分别包括:种子、实时时间和/或硬件信息。
[0023]可选地,在当第三方应用程序通信过程中之前,所述方法还包括:将第三方应用程序的RNG函数替换为操作系统自定义随机数生成器;所述操作系统自定义随机数生成器包含:操作系统内置随机数生成器;
[0024]基于所述操作系统自定义随机数生成器生成随机数列;所述随机数列包含预定位数的随机数。
[0025]第二方面,本专利技术实施例还提供一种动态获取应用程序通信密钥的系统,包括:判断程序模块,用于判断第三方应用程序通信时加密流量所携带的第一公钥与当前计算出的第二公钥是否一致;
[0026]解密程序模块,用于若判断一致,则根据计算所述第一公钥时所使用的第一随机数计算得到加/解密密钥;
[0027]其中,所述第一公钥与所述第二公钥均是基于操作系统自定义随机数生成器根据实时输入参数生成的随机数列中的随机数生成。
[0028]第三方面,本专利技术实施例提供一种电子设备,包括:一个或者多个处理器;存储器;所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,运行与可执行程序代码对应的动态获取应用程序通信密钥的系统,以用于执行第一方面任一所述的动态获取应用程序通信密钥的方法。
[0029]第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面任一所述的动态获取应用程序通信密钥的方法。
[0030]本专利技术实施例采用操作系统自定义随机数生成器,替换第三方应用程序自身RNG函数生成随机数列,使第三方应用程序基于该随机数列生成第一公钥和加/解密密钥以进行加密传输,监听网络流量时,基于操作系统自定义随机数生成器根据当前输入参数动态生成的随机数列中的随机数计算出的第二公钥,判断第一公钥与第二公钥是否一致,若一致,则相当于当前随机数与第一随机数一致,进而逆推得出第一随机数,并基于逆推得到的第一随机数计算得到加/解密密钥。这样,相比于现有网络明文流量数据或加/解密密码获取方案,通过采用系统生成随机数机制,既不需要对不同应程序专门定制开发,也不需要修
改第三方应用程序程序代码,逆向分析应用程序结构和脱壳和反混淆,根据上述步骤即可获取第三方应用程序的加/解密密钥,进而便于获取第三方应用程序的通信明文流量数据。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0032]图1为本专利技术一实施例动态获取应用程序通信密钥的方法的流程示意图;
[0033]图2为本专利技术另一实施例动态获取应用程序通信密钥的方法流程示意图;
[0034]图3为本专利技术再一实施例动态获取应用程序通信密钥的方法流程示意图;
[0035]图4为本专利技术又一实施例动态获取应用程序通信密钥的方法流程示意图;
[0036]图5为本专利技术一实施例动态获取应用程序通信密钥的系统架构示意框图;
[0037]图6为本专利技术一实施例动态获取应用程序通信密钥的系统架构示意框图;
[0038]图7为本专利技术另一实施例动态获取应用程序通信密钥的系统架构及其应用示意框图;
[0039]图8为本专利技术电子设本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态获取应用程序通信密钥的方法,其特征在于,包括如下步骤:判断第三方应用程序通信时加密流量所携带的第一公钥与当前计算出的第二公钥是否一致;若一致,则根据计算所述第一公钥时所使用的第一随机数计算得到加/解密密钥;其中,所述第一公钥与所述第二公钥均是基于操作系统自定义随机数生成器根据实时输入参数生成的随机数列中的随机数生成。2.根据权利要求1所述的一种动态获取应用程序通信密钥的方法,其特征在于,该方法之前还包括:监听通信链路中的网络流量,获取携带加密数据的加密流量;其中,第三方应用程序通信过程中,从第一随机数列中取出第一随机数生成第一公钥和加/解密密钥,所述第一随机数列为操作系统自定义随机数生成器根据实时输入参数生成;基于所述加/解密密钥对待传输数据进行加密,得到加密数据;携带所述第一公钥传输所述加密数据。3.根据权利要求2所述的一种动态获取应用程序通信密钥的方法,其特征在于,所述获取携带加密数据的加密流量之后还包括:提取所述加密流量中携带的第一公钥,并从第二随机数列中取出第二随机数,所述第二随机数列为操作系统自定义随机数生成器根据实时输入参数生成;根据所述第二随机数基于预设加密算法计算出对应的第二公钥;判断所述第一公钥与所述第二公钥是否一致;若一致,则基于所述第二随机数计算得到加/解密密钥。4.根据权利要求3所述的一种动态获取应用程序通信密钥的方法,其特征在于,在所述判断所述第一公钥与所述第二公钥是否一致之后,所述方法还包括:若不一致,则枚举预定时间范围内的随机数生成器输入参数,输入至所述操作系统自定义随机数生成器,得到第三随机数列;从所述第三随机数列中轮询选取随机数,并根据选取的随机数计算相应的第三公钥,并判断所述第三公钥与所述第一公钥是否一致;若一致,则根据轮询当次对应的随机数计算得到加/解密...

【专利技术属性】
技术研发人员:孙勇盛颖王小丰肖新光
申请(专利权)人:北京安天网络安全技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1