一种流量加解密方法及计算机可读存储介质转让专利

申请号 : CN202111088583.4

文献号 : CN113765933B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 华超范渊黄进

申请人 : 杭州安恒信息技术股份有限公司

摘要 :

本申请公开了一种流量加解密方法及计算机可读存储介质,包括:利用netfilter拦截应用程序输出的输出数据帧;利用netfilter将输出数据帧中的原目的通讯地址替换为旁路应用程序的旁路通讯地址,netfilter利用旁路通讯地址转发输出数据帧至旁路应用程序;旁路应用程序利用回调系统函数获取输出数据帧中的原目的通讯地址;旁路应用程序对输出数据帧加密,得到加密后的加密输出数据帧;旁路应用程序利用原目的通讯地址,发送加密输出数据帧至原目的。本申请利用netfilter拦截应用程序输出的输出数据帧,转发至用于加密的旁路应用程序,旁路应用程序在加密完成后将加密输出数据帧发送至原目的,完成通讯,加密过程在应用层完成,不用触及逻辑层的业务修改,更为简单、扩展性更好。

权利要求 :

1.一种流量加解密方法,其特征在于,包括:

利用netfilter拦截应用程序输出的输出数据帧;

利用所述netfilter将所述输出数据帧中的原目的通讯地址替换为旁路应用程序的旁路通讯地址,所述netfilter利用所述旁路通讯地址转发所述输出数据帧至所述旁路应用程序;

所述旁路应用程序利用回调系统函数获取所述输出数据帧中的所述原目的通讯地址;

所述旁路应用程序对所述输出数据帧加密,得到加密后的加密输出数据帧;

所述旁路应用程序利用所述原目的通讯地址,发送所述加密输出数据帧至原目的;

其中,所述利用netfilter拦截应用程序输出的输出数据帧的过程,包括:所述应用程序封装业务数据后发送至套接字中;

所述套接字将所述业务数据发送至网络协议栈中;

所述网络协议栈将所述业务数据封装为所述输出数据帧;

利用所述netfilter拦截所述网络协议栈输出的所述输出数据帧;

其中,所述旁路应用程序利用所述原目的通讯地址,发送所述输出数据帧至原目的的过程,包括:所述旁路应用程序发送所述输出数据帧至所述网络协议栈;

所述网络协议栈转发所述输出数据帧至所述netfilter;

所述netfilter转发所述输出数据帧至网卡;

所述网卡利用所述原目的通讯地址,发送所述输出数据帧至原目的。

2.根据权利要求1所述的流量加解密方法,其特征在于,还包括:利用所述netfilter拦截外部应用程序输入的输入数据帧;

利用所述netfilter将所述输入数据帧中的应用程序通讯地址替换为所述旁路应用程序的所述旁路通讯地址,所述netfilter利用所述旁路通讯地址转发所述输入数据帧至所述旁路应用程序;

所述旁路应用程序利用所述回调系统函数获取所述输入数据帧中的所述应用程序通讯地址;

所述旁路应用程序对所述输入数据帧解密,得到解密后的解密输入数据帧;

所述旁路应用程序利用所述应用程序通讯地址,发送所述解密输入数据帧至所述应用程序;

其中,所述应用程序通讯地址包括应用程序IP和应用程序端口。

3.根据权利要求2所述的流量加解密方法,其特征在于,所述利用所述netfilter将所述输入数据帧中的应用程序通讯地址替换为所述旁路应用程序的所述旁路通讯地址,所述netfilter利用所述旁路通讯地址转发所述输入数据帧至所述旁路应用程序的过程,包括:所述netfilter利用nat表中的PREROUTING链路将所述输入数据帧中的应用程序通讯地址替换为所述旁路应用程序的所述旁路通讯地址,并利用所述旁路通讯地址发送所述输入数据帧至所述旁路应用程序。

4.根据权利要求3所述的流量加解密方法,其特征在于,所述旁路应用程序利用所述应用程序通讯地址,发送所述解密输入数据帧至所述应用程序的过程,包括:所述旁路应用程序发送所述解密输入数据帧至网络协议栈;

所述网络协议栈转发所述解密输入数据帧至所述netfilter;

所述netfilter转发所述解密输入数据帧至所述应用程序。

5.根据权利要求4所述的流量加解密方法,其特征在于,所述netfilter转发所述解密输入数据帧至所述应用程序的过程,包括:所述netfilter利用nat表中的OUTPUT链路接收所述网络协议栈转发的所述解密输入数据帧;

所述OUTPUT链路将所述解密输入数据帧发送至所述netfilter的nat表中的POSTROUTING链路;

所述POSTROUTING链路发送所述解密输入数据帧至所述应用程序。

6.根据权利要求2至5任一项所述的流量加解密方法,其特征在于,所述旁路应用程序对所述输出数据帧加密,得到加密后的加密输出数据帧的过程,包括:所述旁路应用程序利用私钥对所述输出数据帧加密,得到加密后的加密输出数据帧;

其中,所述私钥为所述旁路应用程序利用本地保存的中间证书生成的。

7.根据权利要求6所述的流量加解密方法,其特征在于,所述旁路应用程序利用所述原目的通讯地址,发送所述加密输出数据帧至原目的的过程,包括:所述旁路应用程序利用所述原目的通讯地址,发送所述加密输出数据帧至预先利用所述中间证书进行过ssl认证的原目的。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的流量加解密方法。

说明书 :

一种流量加解密方法及计算机可读存储介质

技术领域

[0001] 本发明涉及分布式存储领域,特别涉及一种流量加解密方法及计算机可读存储介质。

背景技术

[0002] 当今网络环境中变得越来越庞大复杂,网络安全问题日渐突出,网络传输过程中存在信息传输得安全,而通过数据得加密可以在一定层度上提高数据传输得安全,但是现有的网络加密都绝大部分都是由应用层决感知并决定他得加密算法,但这往往是可能存在一两个应用采用明文的方式传输,存在信息安全泄漏。
[0003] 在物联网崛起的大环境里,物联网信息的安全问题成为人们逐渐关注的焦点,物联网设备种类众多,协议众多,网络复杂,流量传输过程中难免存在明文传输,明文传输会比密文传输更高的信息泄漏风险。
[0004] 目前拥有的加密方式,都是采用加密端主动调用第三方SDK(如KMS)的加密方法,解密端再次主动调用SDK的解密方法进行解密。其缺点包括:1.入侵到物联网设备的业务逻辑层,耦合度太高,2.采用主动调用SDK的方式,并不能将所有流量都进行第三方加解密。
[0005] 为此,需要一种在保证加密的前提下减少对业务逻辑影响的流量加密方法。

发明内容

[0006] 有鉴于此,本发明的目的在于提供一种流量加解密方法及计算机可读存储介质,在保证加密的前提下减少对业务逻辑影响。其具体方案如下:
[0007] 一种流量加解密方法,包括:
[0008] 利用netfilter拦截应用程序输出的输出数据帧;
[0009] 利用所述netfilter将所述输出数据帧中的原目的通讯地址替换为旁路应用程序的旁路通讯地址,所述netfilter利用所述旁路通讯地址转发所述输出数据帧至所述旁路应用程序;
[0010] 所述旁路应用程序利用回调系统函数获取所述输出数据帧中的所述原目的通讯地址;
[0011] 所述旁路应用程序对所述输出数据帧加密,得到加密后的加密输出数据帧;
[0012] 所述旁路应用程序利用所述原目的通讯地址,发送所述加密输出数据帧至原目的。
[0013] 可选的,还包括:
[0014] 利用所述netfilter拦截外部应用程序输入的输入数据帧;
[0015] 利用所述netfilter将所述输入数据帧中的应用程序通讯地址替换为所述旁路应用程序的所述旁路通讯地址,所述netfilter利用所述旁路通讯地址转发所述输入数据帧至所述旁路应用程序;
[0016] 所述旁路应用程序利用所述回调系统函数获取所述输入数据帧中的所述应用程序通讯地址;
[0017] 所述旁路应用程序对所述输入数据帧解密,得到解密后的解密输入数据帧;
[0018] 所述旁路应用程序利用所述应用程序通讯地址,发送所述解密输入数据帧至所述应用程序;
[0019] 其中,所述应用程序通讯地址包括应用程序IP和应用程序端口。
[0020] 可选的,所述利用netfilter拦截应用程序输出的输出数据帧的过程,包括:
[0021] 所述应用程序封装业务数据后发送至套接字中;
[0022] 所述套接字将所述业务数据发送至网络协议栈中;
[0023] 所述网络协议栈将所述业务数据封装为所述输出数据帧;
[0024] 利用所述netfilter拦截所述网络协议栈输出的所述输出数据帧。
[0025] 可选的,所述旁路应用程序利用所述原目的通讯地址,发送所述输出数据帧至原目的的过程,包括:
[0026] 所述旁路应用程序发送所述输出数据帧至所述网络协议栈;
[0027] 所述网络协议栈转发所述输出数据帧至所述netfilter;
[0028] 所述netfilter转发所述输出数据帧至网卡;
[0029] 所述网卡利用所述原目的通讯地址,发送所述输出数据帧至原目的。
[0030] 可选的,所述利用所述netfilter将所述输入数据帧中的应用程序通讯地址替换为所述旁路应用程序的所述旁路通讯地址,所述netfilter利用所述旁路通讯地址转发所述输入数据帧至所述旁路应用程序的过程,包括:
[0031] 所述netfilter利用nat表中的PREROUTING链路将所述输入数据帧中的应用程序通讯地址替换为所述旁路应用程序的所述旁路通讯地址,并利用所述旁路通讯地址发送所述输入数据帧至所述旁路应用程序。
[0032] 可选的,所述旁路应用程序利用所述应用程序通讯地址,发送所述解密输入数据帧至所述应用程序的过程,包括:
[0033] 所述旁路应用程序发送所述解密输入数据帧至所述网络协议栈;
[0034] 所述网络协议栈转发所述解密输入数据帧至所述netfilter;
[0035] 所述netfilter转发所述解密输入数据帧至所述应用程序。
[0036] 可选的,所述netfilter转发所述解密输入数据帧至所述应用程序的过程,包括:
[0037] 所述netfilter利用nat表中的OUTPUT链路接收所述网络协议栈转发的所述解密输入数据帧;
[0038] 所述OUTPUT链路将所述解密输入数据帧发送至所述netfilter的nat表中的POSTROUTING链路;
[0039] 所述POSTROUTING链路发送所述解密输入数据帧至所述应用程序。
[0040] 可选的,所述旁路应用程序对所述输出数据帧加密,得到加密后的加密输出数据帧的过程,包括:
[0041] 所述旁路应用程序利用私钥对所述输出数据帧加密,得到加密后的加密输出数据帧;
[0042] 其中,所述私钥为所述旁路应用程序利用本地保存的中间证书生成的。
[0043] 可选的,所述旁路应用程序利用所述原目的通讯地址,发送所述加密输出数据帧至原目的的过程,包括:
[0044] 所述旁路应用程序利用所述原目的通讯地址,发送所述加密输出数据帧至预先利用所述中间证书进行过ssl认证的原目的。本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的流量加解密方法。
[0045] 本发明中,流量加解密方法,包括:利用netfilter拦截应用程序输出的输出数据帧;利用netfilter将输出数据帧中的原目的通讯地址替换为旁路应用程序的旁路通讯地址,netfilter利用旁路通讯地址转发输出数据帧至旁路应用程序;旁路应用程序利用回调系统函数获取输出数据帧中的原目的通讯地址;旁路应用程序对输出数据帧加密,得到加密后的加密输出数据帧;旁路应用程序利用原目的通讯地址,发送加密输出数据帧至原目的。
[0046] 本发明利用netfilter拦截应用程序输出的输出数据帧,通过替换通讯地址将输出数据帧转发至用于加密的旁路应用程序,旁路应用程序在加密的同时,获取到输出数据帧原目的通讯地址,以便旁路应用程序在加密完成后可以将加密后的加密输出数据帧发送至原目的,完成通讯,加密过程在应用层完成,并且对于应用程序是无感知的,不用触及逻辑层的业务修改,更为简单、扩展性更好。

附图说明

[0047] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0048] 图1为本发明实施例公开的一种流量加解密方法流程示意图;
[0049] 图2为本发明实施例公开的另一种流量加解密方法流程示意图;
[0050] 图3为本发明实施例公开的另一种流量加解密方法流程示意图;
[0051] 图4为本发明实施例公开的一种网络流量示意图;
[0052] 图5为本发明实施例公开的另一种流量加解密方法流程示意图;
[0053] 图6为本发明实施例公开的一种netfilter功能展开示意图;
[0054] 图7为本发明实施例公开的另一种流量加解密方法流程示意图;
[0055] 图8为本发明实施例公开的一种网络top结构图。

具体实施方式

[0056] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057] 本发明实施例公开了一种流量加解密方法,参见图1所示,该方法包括:
[0058] S11:利用netfilter拦截应用程序输出的输出数据帧;
[0059] S12:利用netfilter将输出数据帧中的原目的通讯地址替换为旁路应用程序的旁路通讯地址,netfilter利用旁路通讯地址转发输出数据帧至旁路应用程序。
[0060] 具体的,利用netfilter拦截应用程序输出的输出数据帧,不再允许应用程序未加密的输出数据帧直接输出至外部,而是先将输出数据帧拦截,然后修改输出数据帧中的原目的通讯地址,替换为旁路应用程序的旁路通讯地址以使能够根据旁路通讯地址将输出数据帧转发至旁路应用程序,以便由旁路应用程序对输出数据帧进行加密处理。
[0061] 其中,原目的通讯地址包括原目的IP和原目的端口,旁路通讯地址包括旁路应用程序的旁路IP和旁路应用程序的旁路端口。
[0062] S13:旁路应用程序利用回调系统函数获取输出数据帧中的原目的通讯地址;
[0063] S14:旁路应用程序对输出数据帧加密,得到加密后的加密输出数据帧。
[0064] 具体的,旁路应用程序在接收到输出数据帧后,首先利用回调系统函数获取输出数据帧中的原目的通讯地址,以便后续根据原目的通讯地址转发输出数据帧,在得到原目的通讯地址后,便可以对输出数据帧机型加密,确保输出数据帧的安全性,避免输出数据帧在外部传输过程中被破解。
[0065] 其中,回调系统函数可以为unix系统中自带的回调系统函数sock.getsockopt(SOL_IP,SO_ORIGINAL_DST,SOCKADDR_MIN)。
[0066] S15:旁路应用程序利用原目的通讯地址,发送加密输出数据帧至原目的。
[0067] 具体的,根据原目的通讯地址,旁路应用程序便可以将加密后的加密输出数据帧发送至原目的确保传输过程中输出数据帧处于加密状态,不再是明文状态,提高了安全性。此外,对于应用程序而言其只是正常发送输出数据帧,输出数据帧只是在传输过程中被拦截和加密,因此,对于应用程序而言是无感知的,因此,增加了本发明实施例的扩展性和通用性。
[0068] 可见,本发明实施例利用netfilter拦截应用程序输出的输出数据帧,通过替换通讯地址将输出数据帧转发至用于加密的旁路应用程序,旁路应用程序在加密的同时,获取到输出数据帧原目的通讯地址,以便旁路应用程序在加密完成后可以将加密后的加密输出数据帧发送至原目的,完成通讯,加密过程在应用层完成,并且对于应用程序是无感知的,不用触及逻辑层的业务修改,更为简单、扩展性更好。
[0069] 本发明实施例公开了一种具体的流量加解密方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
[0070] S21:利用netfilter拦截外部应用程序输入的输入数据帧;
[0071] S22:利用netfilter将输入数据帧中的应用程序通讯地址替换为旁路应用程序的旁路通讯地址,netfilter利用旁路通讯地址转发输入数据帧至旁路应用程序。
[0072] 具体的,前述实施例为应用程序发送输出数据帧的过程,本发明实施例为本地设备上的应用程序接收外部设备上其它应用程序发送的输入数据帧的过程,在外部应用程序发送至本地的应用程序的输入数据帧发送过来后,同样由上述netfilter拦截输入的输入数据帧,由netfilter将输入数据帧中的应用程序通讯地址替换为旁路应用程序的旁路通讯地址,netfilter利用旁路通讯地址转发输入数据帧至旁路应用程序,以便由旁路应用程序对输入数据帧进行解密。
[0073] 其中,应用程序通讯地址包括应用程序IP和应用程序端口。
[0074] S23:旁路应用程序利用回调系统函数获取输入数据帧中的应用程序通讯地址;
[0075] S24:旁路应用程序对输入数据帧解密,得到解密输入数据帧。
[0076] 具体的,旁路应用程序在接收到输入数据帧后,调用回调系统函数,恢复netfilter替换通讯地址前的输入数据帧中的应用程序通讯地址,以便后续能够将输入数据帧准确的转发至应用程序。
[0077] 具体的,在获得应用程序通讯地址后,旁路应用程序便可以对输入数据帧进行解密,得到解密输入数据帧,以便后续应用程序能够读取解密输入数据帧中的内容,解密后,便可以将解密输入数据帧发送至应用程序。
[0078] S25:旁路应用程序利用应用程序通讯地址,发送输入数据帧至应用程序。
[0079] 此外,本发明实施例还公开了一种流量加解密方法,参见图3和图4中虚线流程所示,具体的:
[0080] S301:应用程序1封装业务数据后发送至套接字中。
[0081] 具体的,应用程序1在应用层将业务数据添加7层协议头部封装,然后写入至套接字中。
[0082] S302:套接字将业务数据发送至网络协议栈4中。
[0083] 具体的,套接字将业务数据从用户态拷贝到内核态后将业务数据发送至网络协议栈4中。
[0084] S303:网络协议栈4将业务数据封装为输出数据帧。
[0085] 具体的,内核态中的网络协议栈4通过封装tcp/ip头部将业务数据封装为输出数据帧。
[0086] S304:利用netfilter2拦截网络协议栈4输出的输出数据帧。
[0087] 具体的,因为netfilter2处于tcp/ip层,位于4层网络,因此所有基于tcp层实现的流量都能被拦截,且应用程序1无感知。
[0088] S305:利用netfilter2将输出数据帧中的原目的通讯地址替换为旁路应用程序3的旁路通讯地址,netfilter2利用旁路通讯地址转发输出数据帧至旁路应用程序3。
[0089] 具体的,netfilter2通过dnat技术可以拦截输出数据帧,将输出数据帧中原目的IP和原目的端口替换成旁路应用程序3开发的ip和端口,因此可以成功转发给旁路应用程序3。
[0090] S306:旁路应用程序3利用回调系统函数获取输出数据帧中的原目的通讯地址。
[0091] 具体的,旁路应用程序3通过回调系统函数sock.getsockopt(SOL_IP,SO_ORIGINAL_DST,SOCKADDR_MIN)获取拦截前输出数据帧的原目的IP和原目的端口。
[0092] S307:旁路应用程序3对输出数据帧加密,得到加密后的加密输出数据帧;
[0093] S308:旁路应用程序3加密输出数据帧至网络协议栈4;
[0094] S309:网络协议栈4转发加密输出数据帧至netfilter2;
[0095] S310:netfilter2转发加密输出数据帧至网卡5;
[0096] S311:网卡5利用原目的通讯地址,发送加密输出数据帧至原目的。
[0097] 可以理解的是,网卡5与外部网络直接连接,因此,在旁路应用程序3对输出数据帧加密后,便需要将加密输出数据帧发送至网卡5,以利用网卡5将加密输出数据帧转发至原目的设备上的原目的应用程序1中。
[0098] 此外,本发明实施例还公开了一种流量加解密方法,参见图4中实线流程和图5所示,具体的:
[0099] S41:利用netfilter2拦截输入的输入数据帧;
[0100] S42:netfilter2利用nat表中的PREROUTING链路将输入数据帧中的应用程序1通讯地址替换为旁路应用程序3的旁路通讯地址,并利用旁路通讯地址发送输入数据帧至旁路应用程序3。
[0101] 具体的,参见图6所示,netfilter2利用nat表实现对输入流量的拦截,对应图6中的第一步,通过nat表中的PREROUTING链路拦截并将输入数据帧中的应用程序1通讯地址替换为旁路应用程序3的旁路通讯地址,以便利用旁路通讯地址发送输入数据帧至旁路应用程序3中,对应图6中的第二步。
[0102] 具体的,netfilter2拦截输入数据帧并将输入数据帧发送至旁路应用程序3的代码为iptables‑t nat‑s 0.0.0.0/0‑A PREROUTING‑j DNAT‑‑to‑destination127.0.0.1:9999,其中,127.0.0.1用于表示旁路应用程序3的旁路IP,9999用于表示旁路应用程序3的旁路端口。
[0103] 其中,应用程序1通讯地址包括应用程序IP和应用程序端口。
[0104] S43:旁路应用程序3利用回调系统函数获取输入数据帧中的应用程序1通讯地址;
[0105] S44:旁路应用程序3对输入数据帧解密,得到解密后的解密输入数据帧;
[0106] S45:旁路应用程序3发送解密输入数据帧至网络协议栈4。
[0107] 具体的,参见图6所示,旁路应用程序3在解密完后,需要先将解密输入数据帧发送至网络协议栈4才能被netfilter2拦截,对应图6中的第三步。
[0108] S46:网络协议栈4转发解密输入数据帧至netfilter2。
[0109] 具体的,参见图4所示,netfilter2利用路由转发的方式接收网络协议栈4转发的解密输入数据帧,并转发至至应用程序1。
[0110] 具体的,netfilter2转发解密输入数据帧至应用程序1的具体过程,可以包括S47至S49;其中,
[0111] S47:netfilter2利用nat表中的OUTPUT链路接收网络协议栈4转发的解密输入数据帧。
[0112] 具体的,参见图6所示,netfilter2利用OUTPUT链路接收通过网络协议栈4转发的由旁路应用程序3发出的解密输入数据帧,对应图6中的第三步。
[0113] S48:OUTPUT链路将解密输入数据帧发送至netfilter2的nat表中的POSTROUTING链路。
[0114] S49:POSTROUTING链路发送解密输入数据帧至应用程序1。
[0115] 具体的,参见图6所示,OUTPUT链路通过如下代码iptables‑t nat‑AOUTPUT‑mowner‑‑uid‑owner 1337‑j RETURN,将解密输入数据帧发送至netfilter2的nat表中的POSTROUTING链路,并避免再被netfilter2拦截,以使POSTROUTING链路将输入数据帧重新发送回应用程序1中,对应图6中的第四步。
[0116] 具体的,netfilter2中的POSTROUTING链路利用如下代码将解密输入数据帧发送至应用程序1,对应图6中第五步,代码如下iptables‑t nat‑s 0.0.0.0/0‑A OUTPUT‑jDNAT‑‑to‑destination 127.0.0.1:9999,其中,127.0.0.1用于表示应用程序1的应用程序IP,9999用于表示应用程序1的应用程序端口。
[0117] 可以理解的是,图4中的第六步可以对应前述实施例中的S11,第七步对应S12,第八步对应S308和S309,即旁路应用程序3输出加密输出数据帧后,加密输出数据帧被发送至netfilter2的过程,第九步对应S311。
[0118] 进一步的,本发明实施例还公开了一种流量加解密方法,参见图7所示,具体的:
[0119] S51:利用netfilter拦截应用程序输出的输出数据帧;
[0120] S52:利用netfilter将输出数据帧中的原目的通讯地址替换为旁路应用程序的旁路通讯地址,netfilter利用旁路通讯地址转发输出数据帧至旁路应用程序;
[0121] S53:旁路应用程序利用回调系统函数获取输出数据帧中的原目的通讯地址;
[0122] S54:旁路应用程序利用私钥对输出数据帧加密,得到加密后的加密输出数据帧。
[0123] 具体的,为了进一步提高加密的安全性,使用证书验证,并利用证书生成私钥对输出数据帧进行加密,通过配置同一的证书服务器,定期更换各个设备中的旁路应用程序中的中间证书,旁路应用程序利用本地的中间证书,生成main证书,利用main证书生成私钥,利用私钥对输出数据帧加密,相互通信的设备中的旁路应用程序之间建立ssl认证,确保互相可信,在证书更新后,旁路应用程序之间也需要重新利用新的证书进行ssl认证。
[0124] 其中,私钥为旁路应用程序利用本地保存的中间证书生成的。
[0125] S55:旁路应用程序利用原目的通讯地址,发送加密输出数据帧至预先利用中间证书进行过ssl认证的原目的。
[0126] 具体的,在实际应用中,设备A中的应用程序向设备B中的应用程序发送流量即数据帧的大致过程,如图8所示。
[0127] 另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的流量加解密方法。
[0128] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0129] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0130] 以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。