一种安全域通信方法、装置、电子设备及存储介质与流程

文档序号:32007182发布日期:2022-11-02 13:48阅读:40来源:国知局
一种安全域通信方法、装置、电子设备及存储介质与流程

1.本技术涉及单向通信、通信数据安全和网络安全的技术领域,具体而言,涉及一种安全域通信方法、装置、电子设备及存储介质。


背景技术:

2.单向传输设备,是指提供一种在传输数据时只允许单向传输设备,即只允许数据单向地从设备a发送给设备b,而不能由设备b通过该单向传输设备发送给设备a。该单向传输设备提供了一种单向通道,具体例如:单向光闸(又称单向网闸)等等提供了单向光纤作为单向通道。
3.目前,在不同安全等级的网络之间,大部分是通过单向传输设备来将文件由低密级安全域单向传输到高密级安全域,由于在传输的过程中会存在环境干扰等原因,导致高密级安全域接收到的文件无法使用,通常高密级安全域的工作人员会将已经收到的文件名称刻录在光盘上。然后,再由人工线下运输到低密级安全域的工作人员手中,最后,由低密级安全域的工作人员通过光盘上的文件反向推出没有收到的文件名称,并重新传输没有收到的文件名称对应的文件。在具体的实践过程中发现,由人工反馈确认无需重传的文件导致反馈效率较低的问题,在不同安全等级的网络之间的通信效率较低。


技术实现要素:

4.本技术实施例的目的在于提供一种安全域通信方法、装置、电子设备及存储介质,用于改善在不同安全等级的网络之间的通信效率较低的问题。
5.本技术实施例提供了一种安全域通信方法,包括:获取从第一安全域单向传输至第二安全域的传输报文,第一安全域的密级低于第二安全域的密级;从传输报文中解析出随机数值;判断随机数值是否是在第二安全域内生成的;若是,则将随机数值从第二安全域单向传输至第一安全域,以使第一安全域根据该随机数值确认无需重新发送该传输报文。在上述方案的实现过程中,通过从低密级的第一安全域单向传输至高密级的第二安全域的传输报文中解析出随机数值,并在随机数值是第二安全域内生成的情况下,才将随机数值从第二安全域单向传输至第一安全域,以使第一安全域根据该随机数值来确定无需重新发送该传输报文,避免了由人工反馈确认无需重传的文件导致反馈效率较低的问题,从而提高了不同安全等级的网络之间的通信效率。
6.可选地,在本技术实施例中,从传输报文中解析出随机数值,包括:判断传输报文是否满足预设条件,预设条件包括:内容正确且格式正确;若是,则从传输报文中解析出随机数值。
7.在上述方案的实现过程中,通过在传输报文是否满足内容正确且格式正确的预设条件的情况下,才从传输报文中解析出随机数值,从而避免了传输报文在被修改的情况下仍然解析出随机数值导致通信出错的问题,有效地提高了不同安全等级的网络之间的通信正确率。
8.可选地,在本技术实施例中,判断随机数值是否是在第二安全域内生成的,包括:判断是否在数值缓存表中查询到随机数值,数值缓存表中存储有预先生成的随机数值;若是,则确定随机数值是在第二安全域内生成的,否则,确定随机数值不是在第二安全域内生成的。
9.在上述方案的实现过程中,通过在数值缓存表中查询到随机数值,才确定随机数值是在第二安全域内生成的,从而避免了传输报文在被修改的情况下仍然解析出随机数值导致通信出错的问题,有效地提高了不同安全等级的网络之间的通信正确率。
10.可选地,在本技术实施例中,将随机数值从第二安全域单向传输至第一安全域,包括:从传输报文中解析出安全随机数,安全随机数是使用预先存储的私钥对随机数值进行加密后获得的;使用私钥对应的公钥对安全随机数进行解密,获得解密后的随机数;判断解密后的随机数与随机数值是否相同;若是,则将随机数值从第二安全域单向传输至第一安全域。
11.在上述方案的实现过程中,通过在解密后的随机数与随机数值相同的情况下,才将随机数值从第二安全域单向传输至第一安全域,从而避免了传输报文在被修改的情况下将随机数值从第二安全域单向传输至第一安全域的安全性问题,有效地提高了不同安全等级的网络之间的通信安全性。
12.可选地,在本技术实施例中,在判断解密后的随机数与随机数值是否相同之后,还包括:若解密后的随机数与随机数值不相同,则阻断随机数值的单向传输。
13.在上述方案的实现过程中,通过在解密后的随机数与随机数值不相同的情况下,就阻断随机数值的单向传输,从而避免了传输报文在被修改的情况下将随机数值从第二安全域单向传输至第一安全域的安全性问题,有效地提高了不同安全等级的网络之间的通信安全性。
14.可选地,在本技术实施例中,还包括:从传输报文中解析出数字签名,数字签名是使用传输报文的发送设备私钥对安全随机数的哈希值进行加密获得的;使用传输报文的发送设备私钥对应的公钥对数字签名进行解密,获得解密出来的哈希值;判断解密出来的哈希值与安全随机数的哈希值是否相同;若否,则阻断随机数值的单向传输。
15.在上述方案的实现过程中,通过在解密出来的哈希值与安全随机数的哈希值不相同的情况下,就阻断随机数值的单向传输,从而避免了传输报文在被修改的情况下将随机数值从第二安全域单向传输至第一安全域的安全性问题,有效地提高了不同安全等级的网络之间的通信安全性。
16.本技术实施例还提供了一种安全域通信方法,应用于第一安全域的电子设备,包括:接收第二安全域单向传输的随机数值,第一安全域的密级低于第二安全域的密级;判断是否在随机序列表中查找到随机数值对应的第一报文序列,随机序列表中存储有随机数值与报文序列的对应关系;若是,则确认无需重新发送第一报文序列的传输报文,并从随机序列表中删除随机数值和随机数值对应的第一报文序列;若否,则根据随机数值将第二报文序列的传输报文从第一安全域单向传输至第二安全域,第一报文序列的传输报文与第二报文序列的传输报文是不同报文。
17.在上述方案的实现过程中,通过没有在随机序列表中查找到随机数值对应的第一报文序列的情况下,才根据随机数值将第二报文序列的传输报文从第一安全域单向传输至
第二安全域,从而避免了反馈的数据中传输报文序列或者业务数据等安全性的问题,有效地提高了不同安全等级的网络之间的通信安全性。
18.可选地,在本技术实施例中,根据随机数值将第二报文序列的传输报文从第一安全域单向传输至第二安全域,包括:判断第二报文序列是否满足重新传输条件,重新传输条件包括:第二报文序列的数值小于第一报文序列的数值,或者,第二报文序列的存储时长超过预设时长;若是,则将随机数值和第二报文序列的传输报文封装为重传报文,并将重传报文从第一安全域单向传输至第二安全域。
19.在上述方案的实现过程中,通过在第二报文序列的数值小于第一报文序列的数值,或者,第二报文序列的存储时长超过预设时长的情况下,才将随机数值和第二报文序列的传输报文封装为重传报文,并将重传报文从第一安全域单向传输至第二安全域,从而避免了遗漏没有正确接收的传输报文的问题,有效地提高了不同安全等级的网络之间的通信安全性。
20.可选地,在本技术实施例中,获取从第一安全域单向传输至第二安全域的传输报文,包括:通过第一单向通道获取从第一安全域单向传输至第二安全域的传输报文;将随机数值从第二安全域单向传输至第一安全域,包括:通过第二单向通道将随机数值从第二安全域单向传输至第一安全域,第一单向通道与第二单向通道的方向相反且物理隔离。
21.在上述方案的实现过程中,通过方向相反且物理隔离的不同单向通道来完成安全域之间的传输过程,从而避免了攻击者通过物理相近的单向通道来攻击的问题,有效地提高了不同安全等级的网络之间的通信安全性。
22.本技术实施例还提供了一种安全域通信装置,包括:传输报文获取模块,用于获取从第一安全域单向传输至第二安全域的传输报文,第一安全域的密级低于第二安全域的密级;随机数值解析模块,用于从传输报文中解析出随机数值;随机数值判断模块,用于判断随机数值是否是在第二安全域内生成的;随机数值传输模块,用于若随机数值是在第二安全域内生成的,则将随机数值从第二安全域单向传输至第一安全域,以使第一安全域根据该随机数值确认无需重新发送该传输报文。
23.可选地,在本技术实施例中,随机数值解析模块,包括:传输报文判断子模块,用于判断传输报文是否满足预设条件,预设条件包括:内容正确且格式正确;随机数值解析子模块,用于若传输报文满足预设条件,则从传输报文中解析出随机数值。
24.可选地,在本技术实施例中,随机数值判断模块,包括:随机数值查询模块,用于判断是否在数值缓存表中查询到随机数值,数值缓存表中存储有预先生成的随机数值;数值生成确定模块,用于若在数值缓存表中查询到随机数值,则确定随机数值是在第二安全域内生成的,否则,确定随机数值不是在第二安全域内生成的。
25.可选地,在本技术实施例中,随机数值传输模块,包括:传输报文解析子模块,用于从传输报文中解析出安全随机数,安全随机数是使用预先存储的私钥对随机数值进行加密后获得的;安全随机解密子模块,用于使用私钥对应的公钥对安全随机数进行解密,获得解密后的随机数;随机数值判断子模块,用于判断解密后的随机数与随机数值是否相同;数值单向传输子模块,用于若解密后的随机数与随机数值相同,则将随机数值从第二安全域单向传输至第一安全域。
26.可选地,在本技术实施例中,随机数值传输模块,还包括:数值单向阻断子模块,用
于若解密后的随机数与随机数值不相同,则阻断随机数值的单向传输。
27.可选地,在本技术实施例中,安全域通信装置,还包括:数字签名解析模块,用于从传输报文中解析出数字签名,数字签名是使用传输报文的发送设备私钥对安全随机数的哈希值进行加密获得的;数字签名解密模块,用于使用传输报文的发送设备私钥对应的公钥对数字签名进行解密,获得解密出来的哈希值;解密哈希判断模块,用于判断解密出来的哈希值与安全随机数的哈希值是否相同;单向传输阻断模块,用于若解密出来的哈希值与安全随机数的哈希值不相同,则阻断随机数值的单向传输。
28.可选地,在本技术实施例中,安全域通信装置,还包括:第一单向传输模块,用于通过第一单向通道获取从第一安全域单向传输至第二安全域的传输报文;第二单向传输模块,用于通过第二单向通道将随机数值从第二安全域单向传输至第一安全域,第一单向通道与第二单向通道的方向相反且物理隔离。
29.本技术实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
30.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
31.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
32.图1示出的本技术实施例提供的安全域通信系统的示意图;
33.图2示出的本技术实施例提供的第二安全域设备上执行的安全域通信方法的流程示意图;
34.图3示出的本技术实施例提供的第一安全域设备上执行的安全域通信方法的流程示意图;
35.图4示出的本技术实施例提供的安全域通信装置的结构示意图;
36.图5示出的本技术实施例提供的电子设备的结构示意图。
具体实施方式
37.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术实施例的详细描述并非旨在限制要求保护的本技术实施例的范围,而是仅仅表示本技术实施例中的选定实施例。基于本技术实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术实施例保护的范围。
38.可以理解的是,本技术实施例中的“第一”、“第二”用于区别类似的对象。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第
二”等字样也并不限定一定不同。
39.在介绍本技术实施例提供的安全域通信方法之前,先介绍本技术实施例中所涉及的一些概念:
40.单向(unidirectional)网闸,又被称单向光闸,是指部署在不同安全密级(例如低密级的第一安全域单向传输至高密级的第二安全域)的网络之间的设备。单向网闸能够通过单向光纤构成的单向隔离卡来实现单向无反馈传输的物理环境,从而完成数据报文由低密级的第一安全域单向传输至高密级的第二安全域的功能。
41.请参见图1示出的本技术实施例提供的安全域通信系统的示意图;安全域通信系统可以包括:第一安全域设备和第二安全域设备,其中,第一安全域的密级是低于第二安全域的密级的,即第二安全域的密级高于第一安全域的密级。第一安全域设备可以包括:第一安全域的发送设备(a1)和接收设备(b2),第二安全域设备可以包括:第二安全域的发送设备(b1)和接收设备(a2),第一安全域的发送设备(a1)只能将传输报文(传输报文中可以包括:业务数据、随机数值和/或数值签名等)单向传输至第二安全域的接收设备(a2),且第二安全域的发送设备(b1)只能将非业务数据(例如随机数值和/或数值签名等)单向传输至第一安全域的接收设备(b2),上述的单向传输过程可以使用单向(unidirectional)网闸来进行传输,即第一安全域的发送设备通过单向网闸将包括业务数据的传输报文传输至第二安全域的接收设备,第二安全域的发送设备通过单向网闸将非业务数据传输至第一安全域的接收设备中。
42.此处先介绍传输报文的正常传输过程。终端设备先获取到需要发送的传输报文,然后将传输报文发送给第一安全域的发送设备(a1)。第一安全域的发送设备(a1)在接收到终端设备发送的传输报文之后,第一安全域的发送设备(a1)将该传输报文单向传输至第二安全域的接收设备(a2)。第二安全域的接收设备(a2)在接收到第一安全域的发送设备(a1)发送的传输报文之后,将该传输报文发送给服务器。
43.然后,再介绍根据随机数值确定是否重传传输报文的过程。第二安全域的接收设备(a2)在接收到第一安全域的发送设备(a1)发送的传输报文之后,还可以将该传输报文发送给第二安全域的发送设备(b1)。第二安全域的发送设备(b1)根据传输报文解析出随机数值或者生成随机数值(下面将详细介绍这个过程),然后,第二安全域的发送设备(b1)将该随机数值单向传输至第一安全域的接收设备(b2)。第一安全域的接收设备(b2)在接收到第二安全域的发送设备(b1)发送的随机数值之后,将该随机数值发送给第一安全域的发送设备(a1)。第一安全域的发送设备(a1)在接收到第一安全域的接收设备(b2)发送的随机数值之后,根据该随机数值确定是否重新发送传输报文(下面将详细介绍这个过程)。
44.为了安全考虑,上述的第一安全域的接收设备(b2)和第二安全域的发送设备(b1)可以不传送任何标准网络协议,且第一安全域的接收设备(b2)直接与第一安全域的发送设备(a1)通过网口直连的方式通信,且第二安全域的发送设备(b1)直接与第二安全域的接收设备(a2)通过网口直连的方式通信,且可以主动阻断任何标准网络协议数据,且不与任何其他网络通信,也不与任何网络设备连接。进一步地,为了防止上述的b1和b2被网络攻击,管理(console)口和串口可以均不连接任何线路和设备,上述的b1和b2可以仅支持线下连接串口的方式进行管理,且管理的内容可以设置限制,例如:可以仅设置是否开启有限工作模式,此处的有限工作模式是指不传送任何标准网络协议,只传输有限确认是否重新传输
报文的非业务数据。
45.为了通信过程中的数据更加地安全,上述的第一安全域的发送设备(a1)中可以事先安装了第一数字证书a1,该第一数字证书包括:a1公钥和a1私钥,同理地,上述的第二安全域的发送设备(b1)可以事先安装了第二数字证书b1,该第二数字证书包括:b1公钥和b1私钥。为了让第一安全域的发送设备(a1)与第二安全域的发送设备(b1)之间的通信更加安全,上述的第一安全域的发送设备(a1)可以事先存储b1私钥,同理地,上述的第二安全域的发送设备(b1)可以事先存储有a1公钥。
46.需要说明的是,本技术实施例提供的安全域通信方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备,例如上述的第一安全域设备或第二安全域设备,具体地,可以是上述的第一安全域的发送设备(a1)来执行该安全域通信方法,也可以是上述的第二安全域的发送设备(b1)来执行该安全域通信方法。
47.下面介绍该安全域通信方法适用的应用场景,这里的应用场景包括但不限于:在不同安全密级(例如低密级的第一安全域单向传输至高密级的第二安全域)的网络之间传输报文数据时,可以使用该安全域通信方法提升数据报文单向传输的可靠性,并提高了不同安全等级的网络之间的通信效率等。
48.请参见图2示出的本技术实施例提供的第二安全域设备上执行的安全域通信方法的流程示意图;本技术实施例提供了一种安全域通信方法,包括:
49.步骤s110:获取从第一安全域单向传输至第二安全域的传输报文,第一安全域的密级低于第二安全域的密级。
50.传输报文,是指第一安全域单向传输至第二安全域的报文,上面已经提到,第一安全域设备可以包括:第一安全域的发送设备(a1)和接收设备(b2),第二安全域设备可以包括:第二安全域的发送设备(b1)和接收设备(a2)。因此,此处的传输报文可以是指第一安全域的发送设备(a1)单向传输至第二安全域的接收设备(a2)的传输报文。该传输报文的协议可以采用自定义协议,也可以采用现有协议例如超文本传输协议(hyper text transfer protocol,http)。该传输报文的协议可以根据具体情况设置,此处的以自定义协议为例进行说明,该传输报文的协议中的字段可以包括:data(业务数据的数据载荷)和seq(用于标识传输报文的报文序列),当然在具体的实践过程中,还可以包括:len(用于校验数据大小的报文长度)、msg(用于确认是否是单向传输数据的报文类型)或者randnum(用于确认是否重新发送的随机数),该传输报文的协议还可以包括更多字段将在下面说明。
51.上述步骤s110的实施方式例如:第一安全域的发送设备(a1)在接收到终端设备发送的传输报文之后,将该传输报文发送给第二安全域的接收设备(a2)。第二安全域的接收设备(a2)在接收到第一安全域的发送设备(a1)发送的传输报文之后,还可以将该传输报文发送给第二安全域的发送设备(b1)。其中,第一安全域的密级低于第二安全域的密级。
52.步骤s120:从传输报文中解析出随机数值。
53.随机数值,是指在第一安全域内随机产生的数值,该随机数值的位数可以根据具体情况设置,例如设置为20或者40等等,为了安全考虑,可以将随机数值的位数设置得更长。
54.上述步骤s120的实施方式例如:第二安全域的发送设备(b1)在接收到第二安全域的接收设备(a2)发送的传输报文之后,还可以判断传输报文是否满足预设条件,预设条件
包括:内容正确且格式正确。若传输报文满足预设条件,则从传输报文中解析出随机数值。若传输报文不满足预设条件(例如内容错误或者格式错误),则丢弃该传输报文。
55.步骤s130:判断随机数值是否是在第二安全域内生成的。
56.步骤s140:若随机数值是在第二安全域内生成的,则将随机数值从第二安全域单向传输至第一安全域,以使第一安全域根据该随机数值确认无需重新发送该传输报文。
57.可以是由第二安全域的发送设备(b1)来判断随机数值是否是在第二安全域内生成的,并在确认随机数值是在第二安全域内生成的之后,就将随机数值从第二安全域单向传输至第一安全域的接收设备(b2),再通过该接收设备转发给第一安全域的发送设备(a1),以使第一安全域的发送设备(a1)根据该随机数值确认无需重新发送该传输报文。
58.在上述方案的实现过程中,通过从低密级的第一安全域单向传输至高密级的第二安全域的传输报文中解析出随机数值,并在随机数值是第二安全域内生成的情况下,才将随机数值从第二安全域单向传输至第一安全域,以使第一安全域根据该随机数值来确定无需重新发送该传输报文,避免了由人工反馈确认无需重传的文件导致反馈效率较低的问题,从而提高了不同安全等级的网络之间的通信效率。
59.作为上述步骤s130的一种可选实施方式,判断随机数值是否是在第二安全域内生成的,该实施方式可以包括:
60.步骤s131:判断是否在数值缓存表中查询到随机数值,数值缓存表中存储有预先生成的随机数值。
61.上述步骤s131的实施方式例如:第二安全域的发送设备(b1)在获取到传输报文中的随机数值之后,还可以在数值缓存表中查询该随机数值,并判断是否在数值缓存表中查询到该随机数值。可以理解的是,在网络或设备没有被攻击的情况下,由于随机数值是第二安全域的发送设备(b1)在将随机数值发送给第一安全域的接收设备(b2)之后,存储在数值缓存表中的,因此,在网络设备没有被攻击的情况下是能够在数值缓存表中查询到随机数值的。除非网络设备(如路由器)或者中间设备(例如b2)被攻击之后修改了该随机数值,此时,无法在数值缓存表中查询到修改后的随机数值。当然修改后的随机数值也有可能在数值缓存表中查询到,但是随机数值的位数设计的足够长的情况下,这种概率出现的比较小,因此暂时不考虑。
62.步骤s132:若在数值缓存表中查询到该随机数值,则确定该随机数值是在第二安全域内生成的。
63.步骤s133:若在数值缓存表中没有查询到该随机数值,则确定该随机数值不是在第二安全域内生成的。
64.上述步骤s132至步骤s133的实施方式例如:若第二安全域的发送设备(b1)在数值缓存表中查询到该随机数值,则说明确定该随机数值是在第二安全域内生成的。若第二安全域的发送设备(b1)在数值缓存表中没有查询到该随机数值,则说明确定该随机数值不是在第二安全域内生成的。在丢弃该传输报文之后,还可以生成随机数值,生成随机数值将在下面详细介绍。
65.作为上述步骤s140的实施方式有很多种,包括但不限于如下几种:
66.第一种实施方式,可以直接单向传输随机数值,该实施方式可以包括:第二安全域的发送设备(b1)在从传输报文中解析出随机数值之后,可以判断该随机数值是否是在第二
安全域内生成的,具体例如:第二安全域的发送设备(b1)在每次生成并发送随机数值时都会记录在随机数表中,此时可以判断是否根据随机数表中记录的随机数值中查询到解析出的随机数值,若随机数表中记录的随机数值中查询到解析出的随机数值,则确定是在第二安全域内生成的,同理地,若随机数表中记录的随机数值中没有查询到解析出的随机数值,则确定不是在第二安全域内生成的。若第二安全域的发送设备(b1)确定随机数值是在第二安全域内生成的,那么第二安全域的发送设备(b1)可以将随机数值从第二安全域单向传输至第一安全域,以使第一安全域内的电子设备(例如第一安全域的发送设备)根据该随机数值确认重新发送该传输报文(这个过程将在下面详细地介绍)。同理地,若第二安全域的发送设备(b1)确定该随机数值不是在第二安全域内生成的,那么第二安全域的发送设备(b1)可以重新随机生成一个随机数值,将随机生成的随机数值从第二安全域的发送设备(b1)单向传输至第一安全域的接收设备(b2),以使第一安全域的接收设备(b2)转发给第一安全域的发送设备(a1),第一安全域的发送设备(a1)可以将该随机数值、报文序列和业务数据封装成传输报文,并将该传输报文从第一安全域单向传输给第二安全域的接收设备,周而复始,依次循环。
67.第二种实施方式,上述传输报文的协议还可以包括安全随机数的字段,那么可以在安全随机数解密验证通过后,再单向传输随机数值,该实施方式可以包括:
68.步骤s141:从传输报文中解析出安全随机数,安全随机数是使用预先存储的私钥对随机数值进行加密后获得的。
69.步骤s142:使用私钥对应的公钥对安全随机数进行解密,获得解密后的随机数。
70.上述步骤s141至步骤s142的实施方式例如:由于传输报文中的安全随机数是使用预先存储的私钥对随机数值进行加密后获得的,因此,在传输报文和传输报文中的安全随机数没有被修改的情况下,可以从传输报文中解析出安全随机数,并使用私钥对应的公钥对安全随机数进行解密,从而获得解密后的随机数。
71.步骤s143:若解密后的随机数与随机数值相同,则将随机数值从第二安全域单向传输至第一安全域。
72.步骤s144:若解密后的随机数与随机数值不相同,则阻断解密后的随机数的单向传输。
73.上述步骤s143至步骤s144的实施方式例如:判断解密后的随机数与随机数表中的随机数值是否相同;若解密后的随机数与随机数表中的随机数值相同,则将随机数值从第二安全域的发送设备(b1)单向传输至第一安全域的接收设备(b2),并从随机数表中删除该随机数值,从而避免该随机数值被其它攻击者所利用。若解密后的随机数与随机数值不相同,则阻断该解密后的随机数的单向传输,同时也可以丢弃该解密后的随机数对应的传输报文(因为该解密后的随机数没有传输至第一安全域确认,该解密后的随机数对应的传输报文会在超时后重新传输至第二安全域中),当然也可以不丢弃该解密后的随机数对应的传输报文。
74.第三种实施方式,上述传输报文的协议还可以包括数字签名的字段,可以在数字签名验证通过后,再单向传输随机数值,该实施方式可以包括:
75.步骤s145:从传输报文中解析出数字签名,数字签名是使用传输报文的发送设备私钥对安全随机数的哈希值进行加密获得的。
76.步骤s146:使用传输报文的发送设备私钥对应的公钥对数字签名进行解密,获得解密出来的哈希值。
77.上述步骤s145至步骤s146的实施方式例如:由于该传输报文中的数字签名是使用传输报文的发送设备私钥对安全随机数的哈希值进行加密获得的,因此,在传输报文和传输报文中的数字签名没有被修改的情况下,可以从传输报文中解析出数字签名,并使用传输报文的发送设备私钥对应的公钥对数字签名进行解密,从而获得解密出来的哈希值。
78.步骤s147:判断解密出来的哈希值与安全随机数的哈希值是否相同。
79.步骤s148:若解密出来的哈希值与安全随机数的哈希值不相同,则阻断随机数值的单向传输。
80.上述步骤s147至步骤s148的实施方式例如:判断解密出来的哈希值与安全随机数的哈希值是否相同;若解密出来的哈希值与安全随机数的哈希值不相同,则阻断随机数值的单向传输,并重新生成一个新随机数值,将生成的新随机数值从第二安全域的发送设备(b1)单向传输至第一安全域的接收设备(b2)。若解密出来的哈希值与安全随机数的哈希值相同,则将该随机数值从第二安全域的发送设备(b1)单向传输至第一安全域的接收设备(b2),以使第一安全域根据该随机数值确认无需重新发送该传输报文(后面将详细介绍这个过程)。
81.第四种实施方式,上述传输报文的协议还可以同时包括安全随机数和数字签名的字段,那么可以在安全随机数解密验证通过且数字签名验证通过后,再单向传输随机数值,该实施方式与上面的第二种实施方式和第三种实施方式是类似的,因此此处不再赘述。
82.作为上述安全域通信方法的一种可选实施方式,可以分别使用不同的单向通道来传输报文,该实施方式可以包括:
83.步骤s151:通过第一单向通道获取从第一安全域单向传输至第二安全域的传输报文。
84.上述步骤s151的实施方式例如:第二安全域的接收设备(a2)接收第一安全域的发送设备(a1)通过第一单向通道(例如第一单向网闸构成的单向通道)发送的传输报文,从而获取到从第一安全域单向传输至第二安全域的传输报文。第二安全域的接收设备(a2)在接收到传输报文之后,可以执行上述的步骤s120,即从传输报文中解析出随机数值,然后将随机数值发送给第二安全域的发送设备(b1)。
85.步骤s152:通过第二单向通道将随机数值从第二安全域单向传输至第一安全域,第一单向通道与第二单向通道的方向是相反的,且是物理隔离的。
86.上述步骤s152的实施方式例如:第二安全域的发送设备(b1)在获取到随机数值之后,将该随机数值通过第二单向通道(例如第二单向网闸构成的单向通道)发送给第一安全域的接收设备(b2),从而完成将随机数值从第二安全域单向传输至第一安全域的过程,上述的第一单向通道与上述的第二单向通道的方向是相反的,且是物理隔离的。
87.请参见图3示出的本技术实施例提供的第一安全域设备上执行的安全域通信方法的流程示意图;本技术实施例提供了一种安全域通信方法,可以应用于第一安全域的电子设备(例如第一安全域的接收设备和发送设备),该实施方式可以包括:
88.步骤s210:接收第二安全域单向传输的随机数值,第一安全域的密级低于第二安全域的密级。
89.上述步骤s210的实施方式例如:第一安全域的电子设备(例如第一安全域的接收设备)如果接收的是第二安全域单向传输的安全随机数,该安全随机数是使用第二安全域的发送设备(b1)预先存储的私钥对随机数值进行加密后获得的,那么此时可以使用该私钥对应的公钥对安全随机数进行解密,从而获得第二安全域单向传输的随机数值,其中,该私钥对应的公钥可以是事先存储在第一安全域的电子设备(例如第一安全域的接收设备)上的。第一安全域的接收设备(b2)在接收第二安全域的发送设备(b1)发送的安全随机数之后,可以将安全随机数发送给第一安全域的发送设备(a1)。
90.步骤s220:判断是否在随机序列表中查找到随机数值对应的第一报文序列,随机序列表中存储有随机数值与报文序列的对应关系。
91.上述步骤s220的实施方式例如:第一安全域的电子设备(例如第一安全域的发送设备)接收第二安全域的发送设备(b1)单向传输的随机数值,并使用预设编程语言编译或者解释的可执行程序判断是否在随机序列表中查找到随机数值对应的第一报文序列,随机序列表中存储有随机数值与报文序列的对应关系。其中,可以使用的编程语言例如:c、c++、java、basic、javascript、lisp、shell、perl、ruby、python和php等等。
92.步骤s230:若在随机序列表中查找到随机数值对应的第一报文序列,则确认无需重新发送第一报文序列的传输报文,并从随机序列表中删除随机数值和随机数值对应的第一报文序列。
93.上述步骤s230的实施方式例如:若在随机序列表中查找到随机数值对应的第一报文序列,则说明该传输报文已经被第二安全域的接收设备正确接收,且内容正确且格式正确,因此第二安全域可以确认无需重新发送第一报文序列的传输报文,并从随机序列表中删除随机数值和随机数值对应的第一报文序列。在具体的实践过程中,该随机序列表可以采用内存数据库,具体地,可以使用的内存数据库例如:memcached和redis等。
94.步骤s240:若没有在随机序列表中查找到随机数值对应的第一报文序列,则根据随机数值将第二报文序列的传输报文从第一安全域单向传输至第二安全域,第一报文序列的传输报文与第二报文序列的传输报文是不同报文。
95.可以理解的是,若没有在随机序列表中查找到随机数值对应的第一报文序列,则说明随机数值在传播过程中被修改,或者,传输报文在出现内容错误或者格式错误时被丢弃,所以此处查找的随机数值是在第二安全域中重新生成的随机数值。
96.作为上述步骤s240的一种可选实施方式,根据随机数值将第二报文序列的传输报文从第一安全域单向传输至第二安全域,可以包括:
97.步骤s241:判断第二报文序列是否满足重新传输条件,重新传输条件包括:第二报文序列的数值小于第一报文序列的数值,或者,第二报文序列的存储时长超过预设时长。
98.步骤s242:若第二报文序列满足重新传输条件,则将随机数值和第二报文序列的传输报文封装为重传报文,并将重传报文从第一安全域单向传输至第二安全域。
99.上述步骤s241至步骤s242的实施方式包括:第一种实施方式,当更小的报文序列没有被确认时,直接重新发送该更小的报文序列对应的传输报文。若第二报文序列的数值小于第一报文序列的数值,则将随机数值和第二报文序列的传输报文封装为重传报文,并将重传报文从第一安全域单向传输至第二安全域。或者,第二种实施方式,定时核实是否存在没有被确认的报文序列,如果定时发现没有被确认的报文序列,则直接重新发送该报文
序列对应的传输报文,该实施方式具体例如:若第二报文序列的存储时长超过预设时长,则将随机数值和第二报文序列的传输报文封装为重传报文,并将重传报文从第一安全域单向传输至第二安全域。此处的预设时长可以根据具体情况设置,例如将预设时长设置为2分钟、10分钟或者40分钟等等。
100.请参见图4示出的本技术实施例提供的安全域通信装置的结构示意图;本技术实施例提供了一种安全域通信装置300,包括:
101.传输报文获取模块310,用于获取从第一安全域单向传输至第二安全域的传输报文,第一安全域的密级低于第二安全域的密级。
102.随机数值解析模块320,用于从传输报文中解析出随机数值。
103.随机数值判断模块330,用于判断随机数值是否是在第二安全域内生成的。
104.随机数值传输模块340,用于若随机数值是在第二安全域内生成的,则将随机数值从第二安全域单向传输至第一安全域,以使第一安全域根据该随机数值确认无需重新发送该传输报文。
105.可选地,在本技术实施例中,随机数值解析模块,包括:
106.传输报文判断子模块,用于判断传输报文是否满足预设条件,预设条件包括:内容正确且格式正确。
107.随机数值解析子模块,用于若传输报文满足预设条件,则从传输报文中解析出随机数值。
108.可选地,在本技术实施例中,随机数值判断模块,包括:
109.随机数值查询模块,用于判断是否在数值缓存表中查询到随机数值,数值缓存表中存储有预先生成的随机数值。
110.数值生成确定模块,用于若在数值缓存表中查询到随机数值,则确定随机数值是在第二安全域内生成的,否则,确定随机数值不是在第二安全域内生成的。
111.可选地,在本技术实施例中,随机数值传输模块,包括:
112.传输报文解析子模块,用于从传输报文中解析出安全随机数,安全随机数是使用预先存储的私钥对随机数值进行加密后获得的。
113.安全随机解密子模块,用于使用私钥对应的公钥对安全随机数进行解密,获得解密后的随机数。
114.随机数值判断子模块,用于判断解密后的随机数与随机数值是否相同。
115.数值单向传输子模块,用于若解密后的随机数与随机数值相同,则将随机数值从第二安全域单向传输至第一安全域。
116.可选地,在本技术实施例中,随机数值传输模块,还包括:
117.数值单向阻断子模块,用于若解密后的随机数与随机数值不相同,则阻断随机数值的单向传输。
118.可选地,在本技术实施例中,安全域通信装置,还包括:
119.数字签名解析模块,用于从传输报文中解析出数字签名,数字签名是使用传输报文的发送设备私钥对安全随机数的哈希值进行加密获得的。
120.数字签名解密模块,用于使用传输报文的发送设备私钥对应的公钥对数字签名进行解密,获得解密出来的哈希值。
121.解密哈希判断模块,用于判断解密出来的哈希值与安全随机数的哈希值是否相同。
122.单向传输阻断模块,用于若解密出来的哈希值与安全随机数的哈希值不相同,则阻断随机数值的单向传输。
123.可选地,在本技术实施例中,安全域通信装置,还可以包括:
124.第一单向传输模块,用于通过第一单向通道获取从第一安全域单向传输至第二安全域的传输报文。
125.第二单向传输模块,用于通过第二单向通道将随机数值从第二安全域单向传输至第一安全域,第一单向通道与第二单向通道的方向相反且物理隔离。
126.应理解的是,该装置与上述的安全域通信方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,os)中的软件功能模块。
127.请参见图5示出的本技术实施例提供的电子设备的结构示意图。本技术实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
128.本技术实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
129.其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。
130.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
131.本技术实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本技术实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
132.另外,在本技术实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示
例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
133.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
134.以上的描述,仅为本技术实施例的可选实施方式,但本技术实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1