一种用于工控系统的数据加密方法和系统转让专利

申请号 : CN201910421596.5

文献号 : CN110147678B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈伟杰胡庆丰杨志邦阳王东肖国庆李肯立李克勤

申请人 : 湖南大学

摘要 :

本发明属于信息安全领域,并公开了一种用于工控系统的数据加密方法,包括步骤:通过选取特定的属性信息作为初始向量,利用矩阵加密算法对处理后的初始向量进行加密生成AES初始密钥,然后对所述AES初始密钥进行多轮迭代密钥扩展,得到AES加密密钥,最后利用所述的AES加密密钥通过AES加密算法对待加密的密码信息进行加密,得到最终的加密密文,系统再通过该加密密文执行文件挂载,查看或者操作文件信息。本发明根据工业控制系统的特殊执行环境以及硬件的更新周期稳定性,选取了工控系统计算机中特定属性进一步提高的密码的复杂性,使密码不容易被强行破解,从而提升了系统中数据的安全性。

权利要求 :

1.一种用于工控系统的数据加密方法,其特征在于,包括以下步骤:(1)获取工控系统中电脑的身份标识信息,将该身份标识信息转换成ASCII码,从而形成初始向量集合(2)随机生成一个与步骤(1)中得到的初始向量集合的维数相同的方阵作为加密方阵A;

(3)将初始向量集合 与加密方阵A进行矩阵相乘,从而得到一个中间向量集合 并把中间向量集合 中的每一个元素分别对n2取余操作,以获取余数值,将所有余数值组合成初始加密向量集合,并对该初始加密向量集合中的每一个元素执行十进制到n进制的转换,从而形成加密向量集合 作为初始密钥,其中n为16的整数倍;

(4)使用AES密钥扩展算法对步骤(3)得到的初始密钥进行扩展,以得到加密密钥,其长度等于预设的迭代次数与初始密钥长度的乘积;

(5)获取工控系统中电脑磁盘内存储的、加解密挂载操作所需的密钥文件,并根据AES加密算法并使用步骤(4)中得到的加密密钥对该密钥文件进行加密,以得到加密密文。

2.根据权利要求1所述的数据加密方法,其特征在于,身份标识信息是电脑的MAC地址,或者电脑CPU的ID号。

3.根据权利要求1所述的数据加密方法,其特征在于,预设的迭代次数在5到20之间。

4.根据权利要求1所述的数据加密方法,其特征在于,密钥文件是以字符串形式存在的。

5.根据权利要求1所述的数据加密方法,其特征在于,AES加密算法是通过集成于加密芯片的FPGA或ASIC实现。

6.一种用于工控系统的数据加密系统,其特征在于,包括:

第一模块,用于获取工控系统中电脑的身份标识信息,将该身份标识信息转换成ASCII码,从而形成初始向量集合第二模块,用于随机生成一个与第一模块中得到的初始向量集合的维数相同的方阵作为加密方阵A;

第三模块,用于将初始向量集合 与加密方阵A进行矩阵相乘,从而得到一个中间向量集合 并把中间向量集合 中的每一个元素分别对n2取余操作,以获取余数值,将所有余数值组合成初始加密向量集合,并对该初始加密向量集合中的每一个元素执行十进制到n进制的转换,从而形成加密向量集合 作为初始密钥,其中n为16的整数倍;

第四模块,用于使用AES密钥扩展算法对第三模块得到的初始密钥进行扩展,以得到加密密钥,其长度等于预设的迭代次数与初始密钥长度的乘积;

第五模块,用于获取工控系统中电脑磁盘内存储的、加解密挂载操作所需的密钥文件,并根据AES加密算法并使用第四模块中得到的加密密钥对该密钥文件进行加密,以得到加密密文。

7.根据权利要求6所述的数据加密系统,其特征在于,身份标识信息是电脑的MAC地址,或者电脑CPU的ID号。

8.根据权利要求6所述的数据加密系统,其特征在于,预设的迭代次数在5到20之间。

9.根据权利要求6所述的数据加密系统,其特征在于,密钥文件是以字符串形式存在的。

10.根据权利要求6所述的数据加密系统,其特征在于,AES加密算法是通过集成于加密芯片的FPGA或ASIC实现。

说明书 :

一种用于工控系统的数据加密方法和系统

技术领域

[0001] 本发明属于信息安全领域,更具体地,涉及一种用于工控系统的数据加密方法和系统。

背景技术

[0002] 在当今的数据安全技术领域中,常常需要执行文件加解密挂载操作,其往往都是通过用户自定义密码、或者使用随机生成码的方式实现。
[0003] 而在工控系统中,需要使用者通过远程登录的方式操纵工控系统的电脑,当远程计算机出现故障而重新启动时,会由于无法执行电脑磁盘的加解密挂载操作,进而导致无法运行工控程序,或者读取工控数据。
[0004] 为了解决上述问题,现有的解决方案是将加解密挂载操作所需的密钥文件存储在工控系统的电脑磁盘中,当远程计算机出现故障重新启动时,会自动加载电脑磁盘中存储的该密钥文件,并执行对应的加解密挂载操作。然而,该方法存在一个不可忽略的技术问题,如果非法用户获取到该电脑磁盘,或者能够对该电脑磁盘进行拷贝操作,则其能够执行加解密挂载操作,进而盗取工控数据,从而严重影响了工控系统的安全性。

发明内容

[0005] 针对现有技术的以上缺陷或改进需求,本发明提供了一种用于工控系统的数据加密方法和系统,其目的在于,提高加密的破解难度,从而提高工业控制系统数据的安全性。
[0006] 为实现上述目的,按照本发明的一个方面,提供了一种用于工控系统的数据加密方法,包括以下步骤:
[0007] (1)获取工控系统中电脑的身份标识信息,将该身份验证信息转换成ASCII码,从而形成初始向量集合
[0008] (2)随机生成一个与步骤(1)中得到的初始向量集合的维数相同的方阵作为加密方阵A。
[0009] (3)将初始向量集合 与加密方阵A进行矩阵相乘,从而得到一个中间向量集合并把中间向量集合 中的每一个元素分别对n2取余操作,以获取余数值,将所有余数值组合成初始加密向量集合,并对该初始加密向量集合中的每一个元素执行十进制到n进制的转换,从而形成加密向量集合 作为初始密钥,其中n为16的整数倍;
[0010] (4)使用AES密钥扩展算法对步骤(3)得到的初始密钥进行扩展,以得到加密密钥,其长度等于预设的迭代次数与初始密钥长度的乘积;
[0011] (5)获取工控系统中电脑磁盘内存储的、加解密挂载操作所需的密钥文件,并根据AES加密算法并使用步骤(4)中得到的加密密钥对该密钥文件进行加密,以得到加密密文。
[0012] 优选地,身份标识信息可以是电脑的MAC地址,或者电脑CPU的ID号。
[0013] 优选地,预设的迭代次数在5到20之间。
[0014] 优选地,密钥文件是以字符串形式存在的。
[0015] 优选地,AES加密算法是通过集成于加密芯片的FPGA或ASIC实现。
[0016] 按照本发明的另一方面,提供了一种用于工控系统的数据加密系统,包括:
[0017] 第一模块,用于获取工控系统中电脑的身份标识信息,将该身份验证信息转换成ASCII码,从而形成初始向量集合
[0018] 第二模块,用于随机生成一个与第一模块中得到的初始向量集合的维数相同的方阵作为加密方阵A;
[0019] 第三模块,用于将初始向量集合 与加密方阵A进行矩阵相乘,从而得到一个中间2
向量集合 并把中间向量集合 中的每一个元素分别对n 取余操作,以获取余数值,将所有余数值组合成初始加密向量集合,并对该初始加密向量集合中的每一个元素执行十进制到n进制的转换,从而形成加密向量集合 作为初始密钥,其中n为16的整数倍;
[0020] 第四模块,用于使用AES密钥扩展算法对第三模块得到的初始密钥进行扩展,以得到加密密钥,其长度等于预设的迭代次数与初始密钥长度的乘积;
[0021] 第五模块,用于获取工控系统中电脑磁盘内存储的、加解密挂载操作所需的密钥文件,并根据AES加密算法并使用第四模块中得到的加密密钥对该密钥文件进行加密,以得到加密密文。
[0022] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
[0023] (1)本发明通过利用计算机特定的身份标识信息,生成加密密钥,再通过引入AES加密算法,利用生成的加密密钥对加解密挂载操作所需的密钥文件进行加密,非法用户即使能够获取保存在计算机磁盘内的密钥文件,但如果希望获取加密的数据,必须首先破解AES加密密钥,因此本发明提高了密钥文件的破解难度,增加了工控系统的安全性;
[0024] (2)本发明方法的实现简单,加密速度快。

附图说明

[0025] 图1是本发明用于工控系统的数据加密方法的流程图。

具体实施方式

[0026] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0027] 如图1所示,本发明用于工控系统的数据加密方法包括以下步骤:
[0028] (1)获取工控系统中电脑的身份标识信息,将该身份验证信息转换成ASCII码,从而形成初始向量集合
[0029] 具体而言,身份标识信息可以是电脑的MAC地址、或者电脑CPU的ID号。
[0030] 例如,首先获取工控系统中计算机的MAC地址(如“02-00-4c-4f-4f-50”),获取之后,将MAC地址中每一个字符分别转换成对应的ASCII码值(如C转换成ASCII码为99),从而将其构成一个初始向量集合,如,MAC地址“02-00-4c-4f-4f-50”经过转换后,对应的向量集合 为:
[0031]
[0032] (2)随机生成一个与步骤(1)中得到的初始向量集合的维数相同的方阵作为加密方阵A。
[0033] 举例而言,针对步骤(1)的示例中产生的12维初始向量集合,利用矩阵随机生成函数产生一个12*12的方阵A。
[0034] (3)将初始向量集合 与加密方阵A进行矩阵相乘,从而得到一个中间向量集合(即 ),并把中间向量集合 中的每一个元素分别对n2取余操作,以获取余数值,将所有余数值组合成初始加密向量集合,并对该初始加密向量集合中的每一个元素执行十进制到n进制的转换,从而形成加密向量集合 作为初始密钥,其中n为16的整数倍;
[0035] (4)使用高级加密标准(Advanced Encryption Standard,简称AES)密钥扩展算法对步骤(3)得到的初始密钥进行扩展,以得到加密密钥,其长度等于预设的迭代次数与初始密钥长度的乘积;
[0036] 在本步骤中,预设的迭代次数等于5到20之间,优选为5到10。
[0037] (5)获取工控系统中电脑磁盘内存储的、加解密挂载操作所需的密钥文件(其是以字符串形式存在的),并根据AES加密算法并使用步骤(4)中得到的加密密钥对该密钥文件进行加密,以得到加密密文。
[0038] 本步骤中的AES加密算法可以通过软件方式实现,也可以通过加密芯片的硬件方式实现,如可以通过集成于加密芯片的FPGA或ASIC实现,优选是通过集成于加密芯片的ASIC方式实现,由于ASIC是定制化的电路,不存在任何可以被截获的代码或程序,从而避免了程序或代码被截获而导致AES加密结果被破解的风险。
[0039] 本发明通过利用计算机特定的身份标识信息,生成加密密钥,再通过引入AES加密算法,对加解密挂载操作所需的密钥文件进行加密,提高了数据挂载的破解难度,非法用户虽然能够获取保存再计算机硬盘内的明文密码,但是如果想要获取加密的数据,需要优先破解AES加密密钥,才能够获取到真正的挂载密码,相对于之前把挂载密码保存在计算机硬盘内,直接挂载的方法,本发明能够更好的提高AES加密挂载密码的破解难度。
[0040] 需要说明的是:上述实施例提供的加密装置在进行加密时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成。另外,上述实施例提供的加密装置与加密方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。
[0041] 本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤可以通过程序来控制相关的硬件完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以是ROM/RAM、磁盘、光盘等。
[0042] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。