通信加密方法、装置、非易失性存储介质及处理器与流程

文档序号:29625081发布日期:2022-04-13 14:14阅读:65来源:国知局
通信加密方法、装置、非易失性存储介质及处理器与流程

1.本发明涉及通信安全领域,具体而言,涉及一种通信加密方法、装置、非易失性存储介质及处理器。


背景技术:

2.在传统企业内部无线网络通信中,无线接入点相互独立,不便于统一部署和管理,信息i\o流缺少汇聚点,通信间采用端对端单一加密方式,加密形式单一,不仅有信息泄露的安全隐患,同时易堆积大量局域端的加密数据存储量。因此传统的无线网络通信的加密方式安全性低、影响通信效率,通信环境的易拦截性容易被黑客进行截取解密,并造成数据泄露。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种通信加密方法、装置、非易失性存储介质及处理器,以至少解决企业通信的保密环境不够安全的技术问题。
5.根据本发明实施例的一个方面,提供了一种通信加密方法,包括:接收第一端发送的通信明文以及与所述通信明文对应的第一通信信息;基于所述第一通信信息和目标加密算法生成目标密钥对,并使用所述目标密钥对对所述通信明文进行加密,得到通信密文;发送所述通信密文至第二端;接收第三端发送的用于请求与所述第一端通信的通信请求;基于所述第一通信信息和所述通信请求包括的第二通信信息,确定所述第三端为所述通信明文的目标端;接收所述第二端发送的所述通信密文,并使用所述目标密钥对解码所述通信密文,得到所述通信明文;发送所述通信明文至所述第三端。
6.可选地,所述第一通信信息至少包括:所述通信明文对应的第一会话标识;所述第二通信信息至少包括:所述通信请求对应的第二会话标识。
7.可选地,基于所述第一通信信息和所述通信请求包括的第二通信信息,确定所述第三端为所述通信明文的目标端,包括:比较所述第一会话标识和所述第二会话标识,在所述第一会话标识与所述第二会话标识匹配的情况下,确定所述第三端为所述通信明文的目标端。
8.可选地,所述目标加密算法,包括以下至少之一:sm2算法,sm3算法。
9.可选地,基于所述第一通信信息和目标加密算法生成目标密钥对之前,还包括:确定所述目标加密算法,其中,在所述第一端为第一用户端设备,所述第二端为局域端设备,所述第三端为第二用户端设备的情况下,所述目标加密算法为sm2算法;在所述第一端为所述第一用户端设备或所述第二用户端设备,所述第二端为广域端设备,所述第三端为广域网的情况下,所述目标加密算法为sm3算法;在所述第一端为所述第一用户端设备或所述第二用户端设备,所述第二端为局域端设备,所述第三端为光域端设备的情况下,所述目标加密算法为所述sm2算法和所述sm3算法。
10.可选地,在所述目标加密算法为sm2算法的情况下,基于所述第一通信信息和目标加密算法生成目标密钥对,包括:获取所述通信明文对应的序列号和时间戳,其中,所述第一通信信息包括所述序列号和所述时间戳;基于所述序列号、所述时间戳和所述第一会话标识,生成加密算法因数;基于所述加密算法因数和所述sm2算法,生成所述目标密钥对。
11.可选地,基于所述序列号、所述时间戳和所述第一会话标识,生成加密算法因数,包括基于如下公式生成所述加密算法因数:g=((1+da)-id
·
(k-t
·
db)),其中,g表示所述加密算法因数,da表示所述序列号,db表示所述时间戳,id表示所述会话标识,k表示随机整数,t表示所述第一端发送所述通信明文至所述通信明文被接收所用时间。
12.根据本发明实施例的另一方面,还提供了一种通信加密装置,包括:第一接收模块,用于接收第一端发送的通信明文以及与所述通信明文对应的第一通信信息;加密模块,用于基于所述第一通信信息和目标加密算法生成目标密钥对,并使用所述目标密钥对对所述通信明文进行加密,得到通信密文;第一发送模块,用于发送所述通信密文至第二端;第二接收模块,用于接收第三端发送的用于请求与所述第一端通信的通信请求;确定模块,用于基于所述第一通信信息和所述通信请求包括的第二通信信息,确定所述第三端为所述通信明文的目标端;第三接收模块,用于接收所述第二端发送的所述通信密文,并使用所述目标密钥对解码所述通信密文,得到所述通信明文;第二发送模块,用于发送所述通信明文至所述第三端。
13.根据本发明实施例的又一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述中任意一项所述通信加密方法。
14.根据本发明实施例的再一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述通信加密方法。
15.在本发明实施例中,通过接收第一端发送的通信明文以及与通信明文对应的第一通信信息;基于第一通信信息和目标加密算法生成目标密钥对,并使用目标密钥对对通信明文进行加密,得到通信密文;发送通信密文至第二端;接收第三端发送的用于请求与第一端通信的通信请求;基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端;接收第二端发送的通信密文,并使用目标密钥对解码通信密文,得到通信明文;发送通信明文至第三端,达到了保障第一端与第三端之间的通信安全的目的,从而实现了提高企业通信的保密环境的安全性的技术效果,进而解决了企业通信的保密环境不够安全的技术问题。
附图说明
16.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
17.图1示出了一种用于实现通信加密方法的计算机终端的硬件结构框图;
18.图2是根据本发明实施例提供的通信加密方法的流程示意图;
19.图3是根据本发明可选实施方式提供的加密系统架构的示意图;
20.图4是根据本发明实施例提供的通信加密装置的结构框图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
22.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.根据本发明实施例,提供了一种通信加密的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
24.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现通信加密方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
25.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
26.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的通信加密方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的通信加密方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
27.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与
计算机终端10的用户界面进行交互。
28.图2是根据本发明实施例提供的通信加密方法的流程示意图,如图2所示,该方法包括如下步骤:
29.步骤s201,接收第一端发送的通信明文以及与通信明文对应的第一通信信息。
30.需要说明的是,通信明文可以为第一端与第三端的会话内容,由第一端发送会话内容至第三端,则第一端为本次会话的发起方,第三端为本次会话的接收方;若由第三端发送会话内容至第一端,则这次会话中第三端为会话发起方,第一端为会话接收方。
31.步骤s202,基于第一通信信息和目标加密算法生成目标密钥对,并使用目标密钥对对通信明文进行加密,得到通信密文。可选地,目标密钥对可以包括公钥和私钥,公钥用于对通信明文进行加密,私钥用于对加密后的通信密文进行解密。基于第一通信信息生成目标密钥对,可以为本次会话生成独一无二的密钥对,提高通信会话的安全等级。
32.步骤s203,发送通信密文至第二端。可选地,第二端可以用于存储通信密文,且第二端中不存储密钥,实现密钥和密文的物理分离,保证密文安全。本地的加密前的通信明文可以删除,保证不会被窃取。
33.步骤s204,接收第三端发送的用于请求与第一端通信的通信请求。其中,所述通信请求用于请求获取第一端发送的通信明文。
34.步骤s205,基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端。可选地,第一通信信息和第二通信信息可以用于对证以明确第一端和第三端的身份信息,以进一步明确第一端本次发送的通信明文的目标端为第三端,即第一端的用户希望将本次通信明文发送给第三端的用户。
35.步骤s206,接收第二端发送的通信密文,并使用目标密钥对解码通信密文,得到通信明文。本步骤中,验证第一端和第三端为本次通信会话中的两端之后,可以去第二端获取加密后的通信密文,并使用之前生成的目标密钥对中的私钥对该通信密文进行解码,得到解密后的通信明文。
36.步骤s207,发送通信明文至第三端。第三端接收到通信明文之后,即完成第一端与第三端之间的一次通信会话。
37.通过上述步骤,通过接收第一端发送的通信明文以及与通信明文对应的第一通信信息;基于通信信息和目标加密算法生成目标密钥对,并使用目标密钥对对通信明文进行加密,得到通信密文;发送通信密文至第二端;接收第三端发送的用于请求与第一端通信的通信请求;基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端;接收第二端发送的通信密文,并使用目标密钥对解码通信密文,得到通信明文;发送通信明文至第三端,达到了保障第一端与第三端之间的通信安全的目的,从而实现了提高企业通信的保密环境的安全性的技术效果,进而解决了企业通信的保密环境不够安全的技术问题。
38.需要说明的是,上述通信加密方法可以应用于一种加密模块中,该加密模块可以为企业的通信环境提供通信安全保障,确保通信会话内容不被窃取。对企业来说,可以先建立第一端、第二端和第三端之间的通信信道,然后在使用通信信道进行通信会话数据传输的过程中,在第一端设备、第二端设备以及第三端设备之间设置加密模块,相当于将加密模块设置在第一端、第二端和第三端之间的通信信道中,以实现对企业用户的通信加密。
39.作为一种可选的实施例,第一通信信息至少包括通信明文对应的第一会话标识;第二通信信息至少包括通信请求对应的第二会话标识。通过第一会话标识和第二会话标识,可以对证第一端和第三端的身份,确定本次通信明文是第一端的用户想要发送给第三端用户的会话内容,保障通信的准确性。可选地,第一会话标识和第二会话标识可以采用本次会话的id。
40.作为一种可选的实施例,基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端,可以包括如下步骤:比较第一会话标识和第二会话标识,在第一会话标识与第二会话标识匹配的情况下,确定第三端为通信明文的目标端。可选地,第一会话标识与第二会话标识匹配可以包括第一会话表示于第二会话标识相同,或者第一会话表示加一等于第二会话标识等多种情况,具体取决于通信双方约定的会话标识的记录方式。
41.作为一种可选的实施例,目标加密算法,包括以下至少之一:sm2算法,sm3算法。sm2算法为国密局发布的椭圆曲线公钥密码算法,作为一种非对称加密算法,其在加密速度、安全性能等方面均具有优势,可以更大程度实现企业加密系统的自主控制及本土化,保证企业通信安全可靠。sm3算法为国产哈希算法,作为一种杂凑算法,sm3算法对比商用较为广泛的md5算法,其应用复杂性低,以此作数据的加密方式,可作为与保密层级更高的网络方进行通信时的基础加密方法。
42.作为一种可选的实施例,基于第一通信信息和目标加密算法生成目标密钥对之前,还可以首先进行如下动作:确定目标加密算法,其中,在第一端为第一用户端设备,第二端为局域端设备,第三端为第二用户端设备的情况下,目标加密算法为sm2算法;在第一端为第一用户端设备或第二用户端设备,第二端为广域端设备,第三端为广域网的情况下,目标加密算法为sm3算法;在第一端为第一用户端设备或第二用户端设备,第二端为局域端设备,第三端为广域端设备的情况下,目标加密算法为sm2算法和sm3算法。
43.可选地,在企业内部,可以存在用户端设备、局域端设备和广域端设备,用户端设备可以为用户的手机或者电脑,用户可以通过局域端设备接入局域网,也可以通过广域端设备接入广域网。可选地,用户与广域网进行通信会话时,可以由用户端设备直接通过广域端设备与广域网连接,还可以由用户端设备先通过通信信道接入局域端设备,然后再通过局域端设备与广域端设备之间的通信信道将通信文本发送至广域端设备,最后再由广域端设备发送至广域网。
44.本可选的实施例中,用户端设备与局域端设备之间进行会话交互可以采用sm2算法进行加密,更加快速。涉及到与广域网进行通信会话时,可以采用sm3算法进行加密,更加安全。图3是根据本发明可选实施方式提供的加密系统架构的示意图,如图3所示,企业内部的加密系统可以包括:用户端,局域端和广域端,其中,用户端与局域端之间采用sm2加密模块进行加密,局域端与广域端以及用户端与广域端之间采用sm3加密模块进行加密。当用户端的两个用户进行会话时,第一用户端设备发送通信明文至sm2加密模块,sm2加密模块基于第一通信信息,采用sm2算法生成目标密钥对,采用密钥对对通信明文进行加密,得到通信密文并将通信密文发送至局域端,并保存在局域端的设备例如局域端服务器中,密钥对保留在sm2加密模块中;第二用户端设备发送会话请求,sm2加密模块基于会话请求中包括第二通信信息验证第二用户端设备的身份,并从局域端设备中获取通信密文,并采用与本
次会话对应的目标密钥对对通信密文解密,得到通信明文,再将通信明文返回给第二用户端设备,完成一次通信会话。
45.作为一种可选的实施例,在目标加密算法为sm2算法的情况下,基于第一通信信息和目标加密算法生成目标密钥对,可以包括如下方式:获取通信明文对应的序列号和时间戳,其中,第一通信信息包括序列号和时间戳;基于序列号、时间戳和第一会话标识,生成加密算法因数;基于加密算法因数和sm2算法,生成目标密钥对。其中,通信明文对应的序列号可以是第一端的设备序列号,时间戳可以是第一端发起本次会话的时刻,加密算法因数可以是sm2算法中生成密钥对时所需的因数g。
46.作为一种可选的实施例,基于序列号、时间戳和第一会话标识,生成加密算法因数,包括基于如下公式生成加密算法因数:g=((1+da)-id
·
(k-t
·
db)),其中,g表示加密算法因数,da表示序列号,db表示时间戳,id表示会话标识,k表示随机整数,t表示第一端发送通信明文至通信明文被接收所用时间。得到加密算法因数g后,就可以基于sm2算法计算出本次通信会话的目标密钥对:p=(x
p
,y
p
)=kg。x
p
和y
p
是目标密钥对中的公钥和私钥。通过本可选实施例的方法生成的目标密钥对,可以做到为每次会话生成一组密钥对,且不知道加密算法因数生成规则的人难以破解,提高加密过程的灵活性和安全性。
47.根据本发明实施例,还提供了一种用于实施上述通信加密方法的通信加密装置,图4是根据本发明实施例提供的通信加密装置的结构框图,如图4所示,该通信加密装置包括:第一接收模块41,加密模块42,第一发送模块43,第二接收模块44,确定模块45,第三接收模块46和第二发送模块47,下面对该通信加密装置进行说明。
48.第一接收模块41,用于接收第一端发送的通信明文以及与通信明文对应的第一通信信息;
49.加密模块42,用于基于第一通信信息和目标加密算法生成目标密钥对,并使用目标密钥对对通信明文进行加密,得到通信密文;
50.第一发送模块43,用于发送通信密文至第二端;
51.第二接收模块44,用于接收第三端发送的用于请求与第一端通信的通信请求;
52.确定模块45,用于基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端;
53.第三接收模块46,用于接收第二端发送的通信密文,并使用目标密钥对解码通信密文,得到通信明文;
54.第二发送模块47,用于发送通信明文至第三端。
55.此处需要说明的是,上述第一接收模块41,加密模块42,第一发送模块43,第二接收模块44,确定模块45,第三接收模块46和第二发送模块47对应于实施例中的步骤s201至步骤s207,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例提供的计算机终端10中。
56.本发明的实施例可以提供一种计算机设备,可选地,在本实施例中,上述计算机设备可以位于计算机网络的多个网络设备中的至少一个网络设备。该计算机设备包括存储器和处理器。
57.其中,存储器可用于存储软件程序以及模块,如本发明实施例中的通信加密方法
和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的通信加密方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
58.处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收第一端发送的通信明文以及与通信明文对应的第一通信信息;基于第一通信信息和目标加密算法生成目标密钥对,并使用目标密钥对对通信明文进行加密,得到通信密文;发送通信密文至第二端;接收第三端发送的用于请求与第一端通信的通信请求;基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端;接收第二端发送的通信密文,并使用目标密钥对解码通信密文,得到通信明文;发送通信明文至第三端。
59.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一非易失性存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
60.本发明的实施例还提供了一种非易失性存储介质。可选地,在本实施例中,上述非易失性存储介质可以用于保存上述实施例所提供的通信加密方法所执行的程序代码。
61.可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
62.可选地,在本实施例中,非易失性存储介质被设置为存储用于执行以下步骤的程序代码:接收第一端发送的通信明文以及与通信明文对应的第一通信信息;基于第一通信信息和目标加密算法生成目标密钥对,并使用目标密钥对对通信明文进行加密,得到通信密文;发送通信密文至第二端;接收第三端发送的用于请求与第一端通信的通信请求;基于第一通信信息和通信请求包括的第二通信信息,确定第三端为通信明文的目标端;接收第二端发送的通信密文,并使用目标密钥对解码通信密文,得到通信明文;发送通信明文至第三端。
63.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
64.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
65.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
66.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
67.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
68.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
69.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1