本发明涉及数据传输,特别是涉及一种数据安全传输系统及方法。
背景技术:
1、随着工业自动化和信息化的发展,工业控制系统(即工控系统)在现代工业中扮演着至关重要的角色。它们负责监控和控制工业生产过程,包括电力、水处理、化工、石油和天然气等关键基础设施。然而,随着这些系统的网络化和与互联网的连接,它们也变得越来越容易受到网络攻击。传统的工控系统安全措施主要依赖于物理隔离和网络防火墙等手段,但这些方法并不能完全阻止潜在的攻击者通过各种手段对工控系统进行攻击。数据安全传输因此,如何提升工控系统中数据传输的安全性是目前亟待解决的技术问题。
技术实现思路
1、本发明的目的是提供一种数据安全传输系统及方法,可以提高工控系统中数据传输的安全性。
2、第一方面,本发明提供了一种数据安全传输系统,包括:
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、预先设定第一预设密钥长度、第二预设密钥长度和第三预设密钥长度,所述第一预设密钥长度、第二预设密钥长度和第三预设密钥长度依次增大;
33、根据所述密钥长度与所述第一预设密钥长度、第二预设密钥长度和第三预设密钥长度之间的关系设定数据解密的预设时长;
34、若所述密钥长度小于所述第一预设密钥长度,则设定数据解密的预设时长为第一预设时长t1;
35、若所述密钥长度大于或等于所述第一预设密钥长度,且所述密钥长度小于所述第二预设密钥长度,则设定数据解密的预设时长为第二预设时长t2;
36、若所述密钥长度大于或等于所述第二预设密钥长度,且所述密钥长度小于所述第三预设密钥长度,则设定数据解密的预设时长为第三预设时长t3;
37、若所述密钥长度大于或等于所述第三预设密钥长度,则设定数据解密的预设时长为第四预设时长t4;其中t1<t2<t3<t4。
38、优选的,所述接受范围为[0,0.05]。
39、优选的,所述安全验证模块对所述待传输数据的内容进行真实性验证,包括:
40、对所述数据获取时间进行验证和对子系统运行数据进行验证;
41、若对所述数据获取时间和子系统运行数据均验证通过,则确定待传输数据的真实性验证通过。
42、优选的,所述安全验证模块对所述数据获取时间进行验证,包括:
43、所述安全验证模块内设有获取时间对照表,所述获取时间对照表包括子系统编码,每一子系统编码对应有唯一的数据获取时间;
44、确定所述待传输数据内的子系统编码,并确定所述获取时间对照表内与所述待传输数据内的子系统编码一致时,筛选出的对应的数据获取时间;
45、若所述待传输数据内的数据获取时间与筛选出的数据获取时间一致,则确定所述数据获取时间验证通过;
46、若所述待传输数据内的数据获取时间与筛选出的数据获取时间不一致,则确定所述数据获取时间验证未通过。
47、优选的,所述安全验证模块对子系统运行数据进行验证,包括:
48、确定待传输数据的子系统编码,获取同一子系统编码的历史子系统运行数据,并确定所述历史子系统运行数据中的运行项目;
49、确定所述待传输数据内的子系统运行数据的运行项目;
50、将所述历史子系统运行数据中的运行项目与所述待传输数据的运行项目进行对比,若所述待传输数据的运行项目与所述历史子系统运行数据中的运行项目相同,则确定子系统运行数据验证通过;
51、若所述待传输数据的运行项目与所述历史子系统运行数据中的运行项目不同,则确定子系统运行数据验证未通过。
52、第二方面,本发明提供了一种数据安全传输方法,包括:获取工控系统的每一子系统的待传输数据,所述待传输数据包括子系统编码、子系统运行数据和数据获取时间;
53、生成所述每一子系统的数据密钥和通道密钥,所述数据密钥和通道密钥与所述每个子系统的子系统编码一一对应;
54、基于所述数据密钥对所述待传输数据进行加密,得到加密后数据,所述加密后数据包括加密后的待传输数据和密钥限时验证器,所述密钥限时验证器用于当确定所述加密后数据已完成解密后进行验证计时;
55、基于所述通道密钥生成动态隐匿数据传输通道;
56、将所述加密后数据通过所述动态隐匿数据传输通道串数字所述工控系统的中央系统的接收点;
57、利用所述通道密钥对所述动态隐匿数据传输通道进行通道解密,并利用所述数据密钥对所述加密后数据进行数据解密;
58、获取解密后的密钥限时验证器的计时时长,根据所述计时时长确定所述待传输数据的完整性,当确定所述待传输数据的完整性满足预设条件时,对所述待传输数据进行真实性验证,若验证通过,则确定所述待传输数据已完成安全传输。
59、第三方面,本发明提供了一种数据安全传输装置,包括:获取单元、生成单元、加密单元、传输单元、解密单元和验证单元;
60、获取单元,用于获取工控系统的每一子系统的待传输数据,所述待传输数据包括子系统编码、子系统运行数据和数据获取时间;
61、生成单元,用于生成所述每一子系统的数据密钥和通道密钥,所述数据密钥和通道密钥与所述每个子系统的子系统编码一一对应;
62、加密单元,用于基于所述数据密钥对所述待传输数据进行加密,得到加密后数据,所述加密后数据包括加密后的待传输数据和密钥限时验证器,所述密钥限时验证器用于当确定所述加密后数据已完成解密后进行验证计时;
63、生成单元,还用于基于所述通道密钥生成动态隐匿数据传输通道;
64、传输单元,用于将所述加密后数据通过所述动态隐匿数据传输通道传输至所述工控系统的中央系统的接收点;
65、解密单元,用于利用所述通道密钥对所述动态隐匿数据传输通道进行通道解密,并利用所述数据密钥对所述加密后数据进行数据解密;
66、获取单元,还用于获取解密后的密钥限时验证器的计时时长;
67、验证单元,用于根据所述计时时长确定所述待传输数据的完整性,当确定所述待传输数据的完整性满足预设条件时,对所述待传输数据进行真实性验证,若验证通过,则确定所述待传输数据已完成安全传输。
68、第四方面,提供一种数据安全传输装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据安全传输装置运行时,处理器执行存储器存储的计算机执行指令,以使数据安全传输装置执行第一方面所述的数据安全传输方法。
69、该数据安全传输装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,获取、确定、发送上述数据安全传输方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
70、第五方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的数据安全传输方法。
71、第六方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在数据安全传输装置上运行时,使得数据安全传输装置执行如上述第一方面所述的数据安全传输方法。
72、需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与数据安全传输装置的处理器封装在一起的,也可以与数据安全传输装置的处理器单独封装,本技术实施例对此不作限定。
73、本技术中第二方面、第三方面、第四方面、第五方面、第六方面的描述,可以参考第一方面的详细描述。
74、在本技术实施例中,上述数据安全传输装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。例如,接收单元还可以称为接收模块、接收器等。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
75、与现有技术相比,本发明的有益效果在于,通过使用数据密钥和通道密钥对数据进行双重加密,确保了数据在传输过程中的安全性。即使攻击者截获了数据包,没有正确的密钥也无法解密数据内容。动态隐匿数据传输通道的设置,使得数据传输更加难以被监测和追踪,从而保护了通信双方的隐私。通过密钥限时验证器和安全验证模块的设计,可以有效检测数据在传输过程中是否被篡改或损坏,确保接收到的数据是完整且真实的。每一子系统都有独立的数据密钥和通道密钥,这些密钥与子系统编码一一对应,便于管理和更新,同时也提高了系统的安全性。由于采用了动态隐匿技术,该传输系统能够适应不同的网络环境和威胁模型,具有很好的灵活性和鲁棒性。并且本系统可以实时监控数据传输的状态,并在发现异常时及时做出响应,如重新生成密钥、切换传输通道等,以应对潜在的安全威胁。