CN117708899A - 一种信创规则库在硬盘数据存储的安全加密方法 - Google Patents
一种信创规则库在硬盘数据存储的安全加密方法 Download PDFInfo
- Publication number
- CN117708899A CN117708899A CN202410168191.6A CN202410168191A CN117708899A CN 117708899 A CN117708899 A CN 117708899A CN 202410168191 A CN202410168191 A CN 202410168191A CN 117708899 A CN117708899 A CN 117708899A
- Authority
- CN
- China
- Prior art keywords
- point
- hard disk
- authentication
- elliptic curve
- encryption method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013500 data storage Methods 0.000 title claims abstract description 18
- 230000006870 function Effects 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims abstract description 9
- 238000013475 authorization Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 6
- 239000000872 buffer Substances 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种信创规则库在硬盘数据存储的安全加密方法,涉及安全存储技术领域,其包括创建用于硬盘认证绑定的信创规则库进行加密,加密的方法包括以下步骤:S1:使用设定的库函数获取硬盘的硬件信息;S2:编写认证逻辑验证获取到硬盘的硬件信息与预先存储的授权信息是否匹配;S3:创建动态链接库对认证逻辑进行封装;S4:将动态链接库集成到需要进行认证绑定的软件中;S5:在系统启动时进入软件中,调用动态链接库中的函数来获取硬件信息并进行认证验证,验证通过时获取硬盘中的数据,具有对硬盘进行绑定认证的方式进行授权认证,以达到对硬盘数据安全加密存储的方法。
Description
技术领域
本发明涉及安全存储技术领域,更具体的说是涉及一种信创规则库在硬盘数据存储的安全加密方法。
背景技术
信创规则库是指基于人工智能和机器学习技术构建的一套规则或算法库,用于数据挖掘、风险识别、决策分析和智能推荐等领域,硬盘数据加密的安全存储系统是对硬盘中的敏感数据进行加密保护的方法,为确保对硬盘的安全访问、存储和传输时的保护,使得未经过授权的范围或数据泄露的情况得以控制,尤其是对于企业端而言,硬盘中存在有大量的涉及商业秘密的内容,对此如何利用信创规则对硬盘内容加密保护并保证系统的安全可靠性尤为重要。
现有公告号为CN116975896B的发明专利提供了一种用于硬盘数据加密的安全存储系统,包括服务器,所述服务器内搭载有数据处理模块、数据加密模块、数据防护模块、数据分析模块以及安全更新模块,该用于硬盘数据加密的安全存储系统,该系统通过数据处理、加密、防护、分析和安全更新模块的相互配合,保障硬盘中数据的安全性。虽然能够及时识别风险数据并进行加密处理,记录并分析硬盘防护系统的行为,以及根据行为参数来决定是否进行系统更新和自检,从而提供了一定程度的数据安全保护。
但现有技术中仍然存在考虑系统兼容性的动态链接库时,容易出现硬盘的验证时出现跳出规则外的恶意攻击,从而获取硬盘中的数据内容,对此本发明提供一种对硬盘进行绑定认证的方式进行授权认证,以达到对硬盘数据安全加密存储的方法。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种信创规则库在硬盘数据存储的安全加密方法,具有对硬盘进行绑定认证的方式进行授权认证,以达到对硬盘数据安全加密存储的方法。
为实现上述目的,本发明提供了如下技术方案:
一种信创规则库在硬盘数据存储的安全加密方法,创建用于硬盘认证绑定的信创规则库进行加密,加密的方法包括以下步骤:
S1:使用设定的库函数获取硬盘的硬件信息;
S2:编写认证逻辑验证获取到硬盘的硬件信息与预先存储的授权信息是否匹配;
S3:创建动态链接库对认证逻辑进行封装;
S4:将动态链接库集成到需要进行认证绑定的软件中;
S5:在系统启动时进入软件中,调用动态链接库中的函数来获取硬件信息并进行认证验证,验证通过时获取硬盘中的数据。
作为本发明的进一步改进,所述步骤S2中采用ECC算法对硬件信息进行逻辑验证,具体步骤包括:
S21:选择椭圆曲线加密算法生成密钥对和密文;
S22:提取硬件信息和密文并组合成二进制的数据信息;
S23:对二进制的数据信息进行哈希处理,得到固定长度的哈希值;
S24:使用私钥对哈希值进行数字签名;
S25:传输认证数据至认证方;
S26:在认证方接收到认证数据后,使用相同的椭圆曲线和公钥进行以下操作:
对传输的硬件信息进行哈希处理,得到相同的哈希值;
使用公钥对数字签名进行验证,确保数字签名的合法性和完整性;
比较步骤S24和S26中生成的哈希值是否一致,以验证硬件信息的一致性;
S27:根据哈希值的一致性和数字签名的有效性,判断认证是否通过;
若哈希值一致且数字签名有效,则认证通过,否则认证失败。
作为本发明的进一步改进,所述其中步骤S21中生成密钥对和密文的具体包括以下步骤:
S21.1:选定一个大素数p,为阶为p的一个有限域并表达为素域,椭圆曲线/>定义在素域/>上,其中曲线方程为/>,选择参数 a,/>,且a与b要满足,椭圆曲线上的点集记为/>,其中O为椭圆曲线上的无穷点,椭圆曲线上的基点/>,基点的阶n,基点的余因子H;
S21.2:产生随机数;
S21.3:计算椭圆曲线点;
S21.4:将点p带入椭圆曲线方程,若p=0,则p为无穷远点,返回1;
S21.5:输出密钥对(d,p),其中d为私钥,p为公钥。
作为本发明的进一步改进,还包括采用多倍点计算对椭圆曲线进行纠错,所述多倍点的纠错计算过程如下:
A1:随机生成一个整数k,作为密钥;
A2:计算kG得到的密文C;
A3:计算(k+1)G、(k+2)G、....(k+t)G,其中t是一个大于0的整数,这些点作为冗余点;
A4:将明文编码为一个点Q,并将Q与密文C以及冗余点(k+1)G、(k+2)G、....(k+t)G组成点集S;
A5:计算点集S的凸包,得到最小凸包多边形;
A6:对多边形上的每一个顶点,计算其在椭圆曲线上对应的点,得到点集T;
A7:将点集T中所有点相加,得到最终密文C’。
作为本发明的进一步改进,所述步骤A5中获得最小凸包多边形的具体步骤包括:
A51、选取点集S中y坐标最小的点作为起始点;
A52、将点集S中的所有点按照与的极角大小依次从小到大进行排序;
A53、依次编辑排序后的点集,对于每个点进行以下判断:
如果与/>和/>构成一个逆时针方向关系,则将/>加入凸包;
否则,将从凸包中删除,继续判断/>与/>和/>的方向关系,直到找到一个满足逆时针方向的位置;
A54、返回得到凸包多边形。
作为本发明的进一步改进,所述步骤A6中获得点集T的具体步骤包括:
凸包多边形上的顶点集合为V,计算每个顶点在椭圆曲线上的对应点;
对于每个顶点,将/>编码为椭圆曲线上的点/>,并满足R=P+Q,计算求解点R时包括以下两种情况:
如果P=Q,则通过斜率相切的方式求解点R;
如果P!= Q,则通过斜率相交的方式求解点R;
如果P、Q和R三点共线,则取P和Q关于x轴的镜像点R',得到R=R';
通过上述计算过程,得到多边形上每一个顶点在椭圆曲线上的点集合T。
作为本发明的进一步改进,对于所述斜率相切的情况,计算过程如下:
对于所述斜率相切的情况,计算过程如下:
计算点P在椭圆曲线上的斜率;
计算点R的x坐标:;
计算点R的y坐标:;
对于所述斜率相交的情况,计算过程如下:
计算点P与点Q之间的斜率;
计算点R的x坐标:;
计算点R的y坐标:。
作为本发明的进一步改进,所述步骤S24中获得数字签名的步骤包括:
记为签名者用户A的杂凑值,M为待签名硬件信息的哈希值,/>为用户A的私钥,产生数字签名(r,s);
(1)将与M拼接,记作M',即:/>;
(2)计算M'的杂凑值,记作e,即;
(3)产生随机数k∈[1,n-1];
(4)计算椭圆曲线点;
(5)计算,若r=0或r+k=n,则返回(3);
(6)计算,若S=0,则返回(3);
(7)确定并输出对硬件信息M的数字签名(r,s)。
作为本发明的进一步改进,所述获取硬盘序列号的步骤S1具体包括以下步骤:
引入对应编程语言使用的库;
创建变量和缓冲区;
调用对应编程语言的API函数获取硬盘的硬件信息;
处理返回结果并返回硬件信息。
作为本发明的进一步改进,所述步骤S3中通过采用java语言创建动态库并对认证逻辑进行封装,具体包括以下步骤:
S31:编写包含ECC算法认证逻辑的代码,将代码编译成动态链接库文件;
S32:在java语言环境中编写与动态链接库交互的接口;
S33:在java语言环境中加载动态链接库并调用动态链接库中的函数,完成与ECC算法的交互;
S34:封装认证逻辑并提供接口。
本发明的有益效果:
通过库函数获得用于表征硬盘唯一标识的硬件信息即:序列号,采用ECC算法的方式对序列号进行加密并通过认证的方式,使得硬件信息与预先存储的授权信息是否匹配进行判断,采用ECC算法相对传统的RSA算法而言,可以获得更短的密钥长度,并达到相同的安全级别,以减小计算和存储资源的需求,并且需要更少的计算和存储资源来执行加密和解密操作,在网络传输中消耗的带宽也更少,降低了对网络通信速度的要求,同时随着量子计算机的发展,ECC算法能够更好的抵御量子计算攻击,也使得进行加密和解密的过程更加的高效和可靠,进一步达到在进行认证时确保硬盘数据不易被恶意攻击,仅在认证通过后匹配硬盘数据并读取,通过建立动态链接库对认证逻辑进行封装,可以方便封装认证逻辑后,将其作为一个独立的模块,供多个应用程序共享和重用,避免在每个应用程序中重复编写相同的认证代码,提高了认证程序的可维护性,将认证逻辑封装后也更加便于部署到CPU中进行应用,并且能够对认证逻辑进行扩展和修改,以及安全审计和监控的效果,同时提高了代码的可移植性和跨平台性,以使在系统启动进入软件中后,通过调用动态链接库能够完成对硬件信息的认证验证,使得在通过认证后读取硬盘的数据,实现在设定的规则库下对硬盘数据存储进行安全加密的效果。
附图说明
图1为密钥对生成算法流程图;
图2为数字签名生成算法流程图;
图3为多倍点纠错计算流程图;
图4为最小凸包多边形确定流程图;
图5为计算求解点R的流程图。
具体实施方式
为了使得本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本发明实施例的以下说明清楚且简明,本发明省略了已知功能和已知部件的详细说明。
参考图1至图5所示,为本发明一种信创规则库在硬盘数据存储的安全加密方法的具体实施方式,创建用于对硬盘进行认证绑定的信创规则库,通过对硬盘的认证绑定,使得基于创建的信创规则库才能够正确读取硬盘对应的序列号信息,否则将无法读取到硬盘的序列号信息,以使无法读取到硬盘内的数据,从而达到对硬盘进行安全加密的效果。创建用于硬盘认证绑定的信创规则库进行加密的方法包括:
S1:使用设定的库函数获取硬盘的硬件信息,硬件信息包括硬盘的序列号;
S2:编写认证逻辑验证获取到硬盘的硬件信息与预先存储的授权信息是否匹配;
S3:创建动态链接库对认证逻辑进行封装;
S4:将动态链接库集成到需要进行认证绑定的软件中;
S5:在系统启动时进入软件中,调用动态链接库中的函数来获取硬件信息并进行认证验证,验证通过时获取硬盘中的数据。
获取硬盘序列号的步骤S1具体包括以下步骤:
引入对应编程语言使用的库,本申请中采用PytHon编程语言中的WMI库;
创建变量和缓冲区;
调用对应编程语言的API函数获取硬盘的硬件信息;
处理返回结果并返回硬件信息。
参照图2所示,步骤S2中采用ECC算法对硬件信息进行逻辑验证,具体步骤包括:
S21:选择椭圆曲线加密算法生成密钥对和密文;
S22:提取硬件信息和密文并组合成二进制的数据信息;
S23:对二进制的数据信息进行哈希处理,得到固定长度的哈希值;
S24:使用私钥对哈希值进行数字签名;
S25:传输认证数据至认证方;
S26:在认证方接收到认证数据后,使用相同的椭圆曲线和公钥进行以下操作:
对传输的硬件信息进行哈希处理,得到相同的哈希值;
使用公钥对数字签名进行验证,确保数字签名的合法性和完整性;
比较步骤S24和S26中生成的哈希值是否一致,以验证硬件信息的一致性;
S27:根据哈希值的一致性和数字签名的有效性,判断认证是否通过;
若哈希值一致且数字签名有效,则认证通过,否则认证失败。
通过采用ECC算法生成密钥对和密文,并进行数据的认证,使得在进行认证绑定加密后可以进行匹配鉴权,在配对时完成认证以读取硬盘内的数据,从而提高了硬盘的认证加密安全性。
其中步骤S21中生成密钥对和密文的具体包括以下步骤:
S21.1:选定一个大素数p,为阶为p的一个有限域并表达为素域,椭圆曲线/>定义在素域/>上,其中曲线方程为/>,选择参数 a,/>,且a与b要满足,椭圆曲线上的点集记为/>,其中O为椭圆曲线上的无穷点,椭圆曲线上的基点/>,基点的阶n,基点的余因子H;
S21.2:产生随机数;
S21.3:计算椭圆曲线点;
S21.4:将点p带入椭圆曲线方程,若p=0,则p为无穷远点,返回1;
S21.5:输出密钥对(d,p),其中d为私钥,p为公钥。
参照图3所示,还包括采用多倍点计算对椭圆曲线进行纠错,多倍点的纠错计算过程如下:
A1:随机生成一个整数k,作为密钥;
A2:计算kG得到的密文C;
A3:计算(k+1)G、(k+2)G、....(k+t)G,其中t是一个大于0的整数,这些点作为冗余点;
A4:将明文编码为一个点Q,并将Q与密文C以及冗余点(k+1)G、(k+2)G、....(k+t)G组成点集S;
A5:计算点集S的凸包,得到最小凸包多边形;
A6:对多边形上的每一个顶点,计算其在椭圆曲线上对应的点,得到点集T;
A7:将点集T中所有点相加,得到最终密文C’。
参照图4所示,步骤A5中获得最小凸包多边形的具体步骤包括:
A51、选取点集S中y坐标最小的点作为起始点;
A52、将点集S中的所有点按照与的极角大小依次从小到大进行排序;
A53、依次编辑排序后的点集,对于每个点Pi进行以下判断:
如果与/>和/>构成一个逆时针方向关系,则将/>加入凸包;
否则,将从凸包中删除,继续判断/>与/>和/>的方向关系,直到找到一个满足逆时针方向的位置;
A54、返回得到凸包多边形。
步骤A6中获得点集T的具体步骤包括:
参照图5所示,凸包多边形上的顶点集合为V,计算每个顶点在椭圆曲线上的对应点;
对于每个顶点,将/>编码为椭圆曲线上的点/>,并满足R=P+Q,计算求解点R时包括以下两种情况:
如果P=Q,则通过斜率相切的方式求解点R;
对于斜率相切的情况,计算过程如下:
计算点P在椭圆曲线上的斜率;
计算点R的x坐标:;
计算点R的y坐标:。
如果P!= Q,则通过斜率相交的方式求解点R;
对于斜率相交的情况,计算过程如下:
计算点P与点Q之间的斜率;
计算点R的x坐标:;
计算点R的y坐标:。
如果P、Q和R三点共线,则取P和Q关于x轴的镜像点R',得到R=R';
通过上述计算过程,得到多边形上每一个顶点在椭圆曲线上的点集合T。
步骤S24中获得数字签名的步骤包括:
记为签名者用户A的杂凑值,M为待签名硬件信息的哈希值,/>为用户A的私钥,产生数字签名(r,s);
(1)将与M拼接,记作M',即:/>;
(2)计算M'的杂凑值,记作e,即;
(3)产生随机数k∈[1,n-1];
(4)计算椭圆曲线点;
(5)计算,若r=0或r+k=n,则返回(3);
(6)计算,若S=0,则返回(3);
(7)确定并输出对硬件信息M的数字签名(r,s)。
步骤S3中通过采用java语言创建动态库并对认证逻辑进行封装,具体包括以下步骤:
S31:编写包含ECC算法认证逻辑的代码,将代码编译成动态链接库文件;
S32:在java语言环境中使用JNI编写接口与动态链接库进行交互;
S33:在java语言环境中加载动态链接库并调用动态链接库中的函数,完成与ECC算法的交互;
S34:封装认证逻辑并提供java的接口,以使在通过接口对接时可以调用ECC算法进行认证操作。
工作原理及其效果:
通过库函数获得用于表征硬盘唯一标识的硬件信息即:序列号,采用ECC算法的方式对序列号进行加密并通过认证的方式,使得硬件信息与预先存储的授权信息是否匹配进行判断,采用ECC算法相对传统的RSA算法而言,可以获得更短的密钥长度,并达到相同的安全级别,以减小计算和存储资源的需求,并且需要更少的计算和存储资源来执行加密和解密操作,在网络传输中消耗的带宽也更少,降低了对网络通信速度的要求,同时随着量子计算机的发展,ECC算法能够更好的抵御量子计算攻击,也使得进行加密和解密的过程更加的高效和可靠,进一步达到在进行认证时确保硬盘数据不易被恶意攻击,仅在认证通过后匹配硬盘数据并读取,通过建立动态链接库对认证逻辑进行封装,可以方便封装认证逻辑后,将其作为一个独立的模块,供多个应用程序共享和重用,避免在每个应用程序中重复编写相同的认证代码,提高了认证程序的可维护性,将认证逻辑封装后也更加便于部署到CPU中进行应用,并且能够对认证逻辑进行扩展和修改,以及安全审计和监控的效果,同时提高了代码的可移植性和跨平台性,以使在系统启动进入软件中后,通过调用动态链接库能够完成对硬件信息的认证验证,使得在通过认证后读取硬盘的数据,实现在设定的规则库下对硬盘数据存储进行安全加密的效果。
此外,尽管已经在本发明中描述了示例性实施例,其范围包括任何和所有基于本发明的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本发明。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本发明的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本发明的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (10)
1.一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:创建用于硬盘认证绑定的信创规则库进行加密,加密的方法包括以下步骤:
S1:使用设定的库函数获取硬盘的硬件信息;
S2:编写认证逻辑验证获取到硬盘的硬件信息与预先存储的授权信息是否匹配;
S3:创建动态链接库对认证逻辑进行封装;
S4:将动态链接库集成到需要进行认证绑定的软件中;
S5:在系统启动时进入软件中,调用动态链接库中的函数来获取硬件信息并进行认证验证,验证通过时获取硬盘中的数据。
2.根据权利要求1所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述步骤S2中采用ECC算法对硬件信息进行逻辑验证,具体步骤包括:
S21:选择椭圆曲线加密算法生成密钥对和密文;
S22:提取硬件信息和密文并组合成二进制的数据信息;
S23:对二进制的数据信息进行哈希处理,得到固定长度的哈希值;
S24:使用私钥对哈希值进行数字签名;
S25:传输认证数据至认证方;
S26:在认证方接收到认证数据后,使用相同的椭圆曲线和公钥进行以下操作:
对传输的硬件信息进行哈希处理,得到相同的哈希值;
使用公钥对数字签名进行验证,确保数字签名的合法性和完整性;
比较步骤S24和S26中生成的哈希值是否一致,以验证硬件信息的一致性;
S27:根据哈希值的一致性和数字签名的有效性,判断认证是否通过;
若哈希值一致且数字签名有效,则认证通过,否则认证失败。
3.根据权利要求2所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述其中步骤S21中生成密钥对和密文的具体包括以下步骤:
S21.1:选定一个大素数p,为阶为p的一个有限域并表达为素域,椭圆曲线/>定义在素域/>上,其中曲线方程为/>,选择参数 a,/>,且a与b要满足,椭圆曲线上的点集记为/>,其中O为椭圆曲线上的无穷点,椭圆曲线上的基点/>,基点的阶n,基点的余因子H;
S21.2:产生随机数;
S21.3:计算椭圆曲线点;
S21.4:将点p带入椭圆曲线方程,若p=0,则p为无穷远点,返回1;
S21.5:输出密钥对(d,p),其中d为私钥,p为公钥。
4.根据权利要求3所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:还包括采用多倍点计算对椭圆曲线进行纠错,所述多倍点的纠错计算过程如下:
A1:随机生成一个整数k,作为密钥;
A2:计算kG得到的密文C;
A3:计算(k+1)G、(k+2)G、....(k+t)G,其中t是一个大于0的整数,这些点作为冗余点;
A4:将明文编码为一个点Q,并将Q与密文C以及冗余点(k+1)G、(k+2)G、....(k+t)G组成点集S;
A5:计算点集S的凸包,得到最小凸包多边形;
A6:对多边形上的每一个顶点,计算其在椭圆曲线上对应的点,得到点集T;
A7:将点集T中所有点相加,得到最终密文C’。
5.根据权利要求4所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述步骤A5中获得最小凸包多边形的具体步骤包括:
A51、选取点集S中y坐标最小的点作为起始点;
A52、将点集S中的所有点按照与的极角大小依次从小到大进行排序;
A53、依次编辑排序后的点集,对于每个点Pi进行以下判断:
如果与/>和/>构成一个逆时针方向关系,则将/>加入凸包;
否则,将从凸包中删除,继续判断/>与/>和/>的方向关系,直到找到一个满足逆时针方向的位置;
A54、返回得到凸包多边形。
6.根据权利要求5所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述步骤A6中获得点集T的具体步骤包括:
凸包多边形上的顶点集合为V,计算每个顶点在椭圆曲线上的对应点;
对于每个顶点,将/>编码为椭圆曲线上的点/>,并满足R=P+Q,计算求解点R时包括以下两种情况:
如果P=Q,则通过斜率相切的方式求解点R;
如果P!= Q,则通过斜率相交的方式求解点R;
如果P、Q和R三点共线,则取P和Q关于x轴的镜像点R',得到R=R';
通过上述计算过程,得到多边形上每一个顶点在椭圆曲线上的点集合T。
7.根据权利要求6所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:
对于所述斜率相切的情况,计算过程如下:
计算点P在椭圆曲线上的斜率;
计算点R的x坐标:;
计算点R的y坐标:;
对于所述斜率相交的情况,计算过程如下:
计算点P与点Q之间的斜率;
计算点R的x坐标:;
计算点R的y坐标:。
8.根据权利要求7所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述步骤S24中获得数字签名的步骤包括:
记为签名者用户A的杂凑值,M为待签名硬件信息的哈希值,/>为用户A的私钥,产生数字签名(r,s);
(1)将与M拼接,记作M',即:/>;
(2)计算M'的杂凑值,记作e,即;
(3)产生随机数k∈[1,n-1];
(4)计算椭圆曲线点;
(5)计算,若r=0或r+k=n,则返回(3);
(6)计算,若S=0,则返回(3);
(7)确定并输出对硬件信息M的数字签名(r,s)。
9.根据权利要求1至8中任意一项所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述获取硬盘序列号的步骤S1具体包括以下步骤:
引入对应编程语言使用的库;
创建变量和缓冲区;
调用对应编程语言的API函数获取硬盘的硬件信息;
处理返回结果并返回硬件信息。
10.根据权利要求9所述的一种信创规则库在硬盘数据存储的安全加密方法,其特征在于:所述步骤S3中通过采用java语言创建动态库并对认证逻辑进行封装,具体包括以下步骤:
S31:编写包含ECC算法认证逻辑的代码,将代码编译成动态链接库文件;
S32:在java语言环境中编写与动态链接库交互的接口;
S33:在java语言环境中加载动态链接库并调用动态链接库中的函数,完成与ECC算法的交互;
S34:封装认证逻辑并提供接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410168191.6A CN117708899B (zh) | 2024-02-06 | 2024-02-06 | 一种信创规则库在硬盘数据存储的安全加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410168191.6A CN117708899B (zh) | 2024-02-06 | 2024-02-06 | 一种信创规则库在硬盘数据存储的安全加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117708899A true CN117708899A (zh) | 2024-03-15 |
CN117708899B CN117708899B (zh) | 2024-04-30 |
Family
ID=90150196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410168191.6A Active CN117708899B (zh) | 2024-02-06 | 2024-02-06 | 一种信创规则库在硬盘数据存储的安全加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117708899B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091491A1 (en) * | 2003-10-28 | 2005-04-28 | Dphi Acquisitions, Inc. | Block-level storage device with content security |
CN101296075A (zh) * | 2007-04-29 | 2008-10-29 | 四川虹微技术有限公司 | 一种基于椭圆曲线的身份认证系统 |
CN101330385A (zh) * | 2007-06-19 | 2008-12-24 | 航天信息股份有限公司 | 一种提高椭圆曲线密码体制上数字签名验证速度的方法 |
CN102780699A (zh) * | 2012-07-09 | 2012-11-14 | 广州杰赛科技股份有限公司 | 认证服务器软件版权保护方法和系统 |
CN103312510A (zh) * | 2013-05-20 | 2013-09-18 | 国家电网公司 | 一种非对称数字签名技术的超轻量认证方法 |
CN109460683A (zh) * | 2018-11-01 | 2019-03-12 | 新疆凯力智慧电子科技有限公司 | 一种硬盘读取方法及装置 |
CN109698751A (zh) * | 2018-11-09 | 2019-04-30 | 北京中宇万通科技股份有限公司 | 数字签名生成及验签方法、计算机设备和存储介质 |
CN113688399A (zh) * | 2021-08-25 | 2021-11-23 | 深圳忆联信息系统有限公司 | 固件数字签名保护方法、装置、计算机设备及存储介质 |
CN114077721A (zh) * | 2021-11-14 | 2022-02-22 | 中国电子科技集团公司第二十研究所 | 一种基于磁盘序列号的软件保护方法 |
CN114553425A (zh) * | 2022-02-25 | 2022-05-27 | 东南大学 | 基于高性能模逆的椭圆数字签名曲线硬件实现方法及系统 |
US20230254160A1 (en) * | 2022-02-10 | 2023-08-10 | Institute Of Information Engineering, Chinese Academy Of Sciences | A calculation method and device for elliptic curve digital signature to resist memory disclosure attacks |
-
2024
- 2024-02-06 CN CN202410168191.6A patent/CN117708899B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091491A1 (en) * | 2003-10-28 | 2005-04-28 | Dphi Acquisitions, Inc. | Block-level storage device with content security |
CN101296075A (zh) * | 2007-04-29 | 2008-10-29 | 四川虹微技术有限公司 | 一种基于椭圆曲线的身份认证系统 |
CN101330385A (zh) * | 2007-06-19 | 2008-12-24 | 航天信息股份有限公司 | 一种提高椭圆曲线密码体制上数字签名验证速度的方法 |
CN102780699A (zh) * | 2012-07-09 | 2012-11-14 | 广州杰赛科技股份有限公司 | 认证服务器软件版权保护方法和系统 |
CN103312510A (zh) * | 2013-05-20 | 2013-09-18 | 国家电网公司 | 一种非对称数字签名技术的超轻量认证方法 |
CN109460683A (zh) * | 2018-11-01 | 2019-03-12 | 新疆凯力智慧电子科技有限公司 | 一种硬盘读取方法及装置 |
CN109698751A (zh) * | 2018-11-09 | 2019-04-30 | 北京中宇万通科技股份有限公司 | 数字签名生成及验签方法、计算机设备和存储介质 |
CN113688399A (zh) * | 2021-08-25 | 2021-11-23 | 深圳忆联信息系统有限公司 | 固件数字签名保护方法、装置、计算机设备及存储介质 |
CN114077721A (zh) * | 2021-11-14 | 2022-02-22 | 中国电子科技集团公司第二十研究所 | 一种基于磁盘序列号的软件保护方法 |
US20230254160A1 (en) * | 2022-02-10 | 2023-08-10 | Institute Of Information Engineering, Chinese Academy Of Sciences | A calculation method and device for elliptic curve digital signature to resist memory disclosure attacks |
CN114553425A (zh) * | 2022-02-25 | 2022-05-27 | 东南大学 | 基于高性能模逆的椭圆数字签名曲线硬件实现方法及系统 |
Non-Patent Citations (2)
Title |
---|
J LENIN等: "A Secured Storage Scheme for Cloud Environment using ECC-IRNS based Deduplication Approach", 2022 INTERNATIONAL CONFERENCE ON INVENTIVE COMPUTATION TECHNOLOGIES (ICICT), 16 August 2022 (2022-08-16) * |
刘建明;贺占庄;: "硬盘加密和身份认证的硬件实现", 计算机技术与发展, no. 06, 10 June 2006 (2006-06-10) * |
Also Published As
Publication number | Publication date |
---|---|
CN117708899B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109429222B (zh) | 一种对无线网络设备升级程序及通讯数据加密的方法 | |
US8332652B2 (en) | Computing device that securely runs authorized software | |
US10797868B2 (en) | Shared secret establishment | |
CN102163268B (zh) | 在执行期间验证软件代码的完整性的方法和设备 | |
US11797296B2 (en) | Hot updating method of script file package and hot updating device of script file package | |
CN107092816B (zh) | 一种Android应用程序加固方法 | |
CN111475824A (zh) | 数据访问方法、装置、设备和存储介质 | |
CN112469036B (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CN106055936A (zh) | 可执行程序数据包加密/解密方法及装置 | |
CN111191195A (zh) | 一种用于保护apk的方法和装置 | |
CN108416224B (zh) | 一种数据加解密方法及装置 | |
CN113391880B (zh) | 一种分层双重哈希验证的可信镜像传输方法 | |
CN108134673A (zh) | 一种生成白盒库文件的方法及装置 | |
US20070168669A1 (en) | Anti-tamper system | |
CN107196907A (zh) | 一种安卓so文件的保护方法及装置 | |
CN108183796A (zh) | 利用白盒库文件和白盒密钥文件进行加解密的方法及装置 | |
CN109241707A (zh) | 应用程序的混淆方法、装置和服务器 | |
CN116455572B (zh) | 数据加密方法、装置及设备 | |
CN117708899B (zh) | 一种信创规则库在硬盘数据存储的安全加密方法 | |
US20070168680A1 (en) | Anti-tamper system | |
Lee et al. | Classification and analysis of security techniques for the user terminal area in the internet banking service | |
CN114139117A (zh) | 应用程序加固方法、装置、电子设备及存储介质 | |
CN111385083B (zh) | 密钥保护方法及密钥保护系统 | |
CN110516457A (zh) | 一种数据存储方法及读取方法、存储设备 | |
WO2019133298A1 (en) | Managed securitized containers and container communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |