CN118074976A - 基于国产密码的机电设施安全加密方法 - Google Patents
基于国产密码的机电设施安全加密方法 Download PDFInfo
- Publication number
- CN118074976A CN118074976A CN202410198003.4A CN202410198003A CN118074976A CN 118074976 A CN118074976 A CN 118074976A CN 202410198003 A CN202410198003 A CN 202410198003A CN 118074976 A CN118074976 A CN 118074976A
- Authority
- CN
- China
- Prior art keywords
- password
- algorithm
- key
- module
- unit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012795 verification Methods 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Landscapes
- Selective Calling Equipment (AREA)
Abstract
发明公开了基于国产密码的机电设施安全加密方法,包括加密方法本体,加密方法本体包括动态密码发送模块、密钥获取模块和数据传输模块,动态密码发送模块包括指纹验证单元、发送动态密码单元和远程接收设备单元,密钥获取模块包括有密码输入单元、密码认证单元和获取密钥单元,数据传输模块包括通讯模块和加密控制模块,本发明通过动态密码可以避免发生密码泄露导致多人得知密码的情况,动态密码使用国产密码SM2、SM3、SM4和SM9算法,通过获取密钥可以控制加密控制模块进行打开传输通道,方便查看或传输数据库内的数据,避免受到外界破译设备破解密码造成数据丢失的情况,可以避免机电设施内的数据造成泄露的情况。
Description
技术领域
本发明涉及机电设施加密技术领域,具体为基于国产密码的机电设施安全加密方法。
背景技术
机电设施安全加密是对机电设施的数据进行保护的方法,方便管理者灵活授权需要加解密防护的数据,是通过采用各种技术和管理措施,从而确保数据的可用性、完整性和保密性,是确保经过网络传输和交换的数据不会发生增加、修改、丢失和泄露等,在机电设施行业中,为保证数据库内数据的安全,需要对机电设施内的数据库进行保护,在对机电设施内的数据库进行保护时时,通常会使用到国产密码对数据进行保护,以避免发生数据泄露的情况,国产密码是指国家密码局认定的国产密码算法。
发明内容
本发明的目的在于提供基于国产密码的机电设施安全加密方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:基于国产密码的机电设施安全加密方法,包括加密方法本体,所述加密方法本体包括动态密码发送模块、密钥获取模块和数据传输模块,所述动态密码发送模块包括指纹验证单元、发送动态密码单元和远程接收设备单元,所述密钥获取模块包括有密码输入单元、密码认证单元和获取密钥单元,所述数据传输模块包括通讯模块和加密控制模块,所述加密控制模块与通讯模块之间设有传输通道,且所述传输通道拦截加密控制模块与通讯模块之间线路。
作为本发明的一种优选技术方案,所述动态密码发送模块为指纹验证通过后,经过远程接收设备单元传递至发送动态密码单元,所述发送动态密码单元具体为国产密码SM2、SM3、SM4和SM9算法,所述国产密码SM2,SM2椭圆曲线公钥密码算法自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能,SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例,SM2算法主要考虑素域Fp和F2m_上的椭圆曲线,分别介绍了这两类域的示,运算,以吸域上的椭圆曲线的点的表示,运算和多倍点计算算法,然后介绍了编程语言中的数据转换,包括整数和字节串,节串和比特串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规则,详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证,最后给椭圆曲线上密钥对的生成以及公钥的验证,用户的密钥对为(s,sP),其中s为用户的私钥,sP为用户的公钥,由于离散对数问题从sP难以得到s,并针对素域和二元扩域给出了密钥对生成细节和验证方式,总则中的知识也适用于SM9算法,所述SM3算法是国际标准中的杂凑算法,其功能包括数字签名与验证、消息认证码生成和伪随机数的生成等,可用于多种密码应用,SM3算法的安全性及效率与SHA-256相当,所述SM4算法的加密与密钥扩展算法均通过32轮非线性迭代过程实现,轮函数中使用轮密钥对128位数据进行处理,在解密所使用的轮密钥是加密轮密钥的逆序,在加密过程中,首先将128位密钥按照每32位一组分为4组,然后进行密钥扩展,生成32组32位轮密钥,再将输入明文按照32位一组分成4组,进行循环运算,得到128位密文。
作为本发明的一种优选技术方案,所述动态密码发送模块内指纹验证未通过时向远程接收设备单元发送未通过信息。
作为本发明的一种优选技术方案,所述密钥获取模块具体为密码输入单元输入动态密码,密码认证单元对输入的动态密码进行认证,认证通过后获取密钥单元会获取密钥,认证未通过则返回密码输入单元重新输入密码。
作为本发明的一种优选技术方案,所述密钥获取模块内通过获取密钥单元打开数据库,能够对数据库内储存的数据进行查看,通过在需要传输数据时,控制加密控制模块使通讯模块的传输通道进行打开传输数据,且加密控制模块对通讯模块与密码输入单元之间进行拦截。
作为本发明的一种优选技术方案,所述数据传输模块通过通讯模块,可以对数据库传输数据或输出数据。
与现有技术相比,本发明的有益效果是:
1、该基于国产密码的机电设施安全加密方法,通过指纹验证可以向远程接收设备内发送动态密码,动态密码使用国产密码SM2、SM3、SM4和SM9算法,国产密码SM2是椭圆曲线公钥密码算法,SM2为非对称加密,基于ECC,国产密码SM3密码杂凑算法是商用密码杂凑算法标准,国产密码SM4的分组长度为128比特,密钥长度为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构,国产密码SM9是GM/T 0044-2016SM9标识密码算法,通过使用动态密码代替固定密码,可以避免发生密码泄露导致多人得知密码的情况,指纹验证未通过时会向远程接收设备发送验证未通过信息,可以使他人在对指纹进行验证操作时对管理者进行提示,通过密码输入单元可以输入远程接收设备接收的密码,通过密码认证后可以获取密钥,密钥使用DES加密算法,通过获取密钥可以控制加密控制模块进行打开传输通道,方便查看或传输数据库内的数据,加密控制模块采用国产密码技术和国产密码芯片,通过加密控制模块可以对通讯模块通道进行拦截,避免受到外界破译设备破解密码造成数据丢失的情况,通过指纹验证与动态密码验证的双重加密防护,可以避免机电设施内的数据造成泄露的情况;
2、通过应用国密密码算法,结合云端双向认证与密钥协商服务,基于应用软件和硬件的加密方式,对既有前端设备和传输设备的数据进行安全加密,并全面兼容加密算法SM2、SM3、SM4、SM7、SM9及云端双向认证与密钥协商服务,构建一机一密和一次一密的密码管理机制,实现数据安全加密。
附图说明
图1为本发明的基于国产密码的机电设施安全加密方法流程示意图;
图2为本发明SM4算法实现流程图。
图中:1、加密方法本体;2、动态密码发送模块;3、指纹验证单元;4、发送动态密码单元;5、远程接收设备单元;6、获取密钥单元;7、密钥获取模块;8、密码输入单元;9、密码认证单元;10、数据库;11、加密控制模块;12、数据传输模块;13、通讯模块。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供了基于国产密码的机电设施安全加密方法,包括加密方法本体1,加密方法本体1包括动态密码发送模块2、密钥获取模块7和数据传输模块12,动态密码发送模块2包括指纹验证单元3、发送动态密码单元4和远程接收设备单元5,密钥获取模块7包括有密码输入单元8、密码认证单元9和获取密钥单元6,数据传输模块12包括通讯模块13和加密控制模块11,加密控制模块11与通讯模块13之间设有传输通道,且传输通道拦截加密控制模块11与通讯模块13之间线路,通过密码认证单元9可以对输入的密码进行认证,通过通讯模块13连接外界设备,可以方便对数据库10内的数据通过通讯模块13进行传输操作。
动态密码发送模块2为指纹验证通过后,经过远程接收设备单元5传递至发送动态密码单元4,发送动态密码单元4具体为国产密码SM2、SM3、SM4和SM9算法,国产密码SM2,SM2椭圆曲线公钥密码算法自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能,SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例,SM2算法主要考虑素域Fp和F2m_上的椭圆曲线,分别介绍了这两类域的示,运算,以吸域上的椭圆曲线的点的表示,运算和多倍点计算算法,然后介绍了编程语言中的数据转换,包括整数和字节串,节串和比特串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规则,详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证,最后给椭圆曲线上密钥对的生成以及公钥的验证,用户的密钥对为(s,sP),其中s为用户的私钥,sP为用户的公钥,由于离散对数问题从sP难以得到s,并针对素域和二元扩域给出了密钥对生成细节和验证方式,总则中的知识也适用于SM9算法,SM3算法是国际标准中的杂凑算法,其功能包括数字签名与验证、消息认证码生成和伪随机数的生成等,可用于多种密码应用,SM3算法的安全性及效率与SHA-256相当,SM4算法的加密与密钥扩展算法均通过32轮非线性迭代过程实现,轮函数中使用轮密钥对128位数据进行处理,在解密所使用的轮密钥是加密轮密钥的逆序,在加密过程中,首先将128位密钥按照每32位一组分为4组,然后进行密钥扩展,生成32组32位轮密钥,再将输入明文按照32位一组分成4组,进行循环运算,得到128位密文,指纹验证单元3是指手指末端正面皮肤上有凸凹不平的纹路,蕴含大量的信息,这些皮肤的纹路在图案、断点和交点上是各不相同的,在信息处理中将它们称作“特征”,而且这些特征具有唯一性和永久性,可以把一个人同他的指纹对应起来,通过比较指纹特征和预先保存的指纹特征,就可以验证其真实身份,可以使机电设施加密更加安全,通过使手指按在指纹验证单元3上,可以对指纹进行提取,通过验证通过时,可以向远程接收设备单元5内发送动态密码,可以方便管理者得知动态密码,动态密码使用国产密码SM2、SM3、SM4和SM9算法。
动态密码发送模块2内指纹验证未通过时向远程接收设备单元5发送未通过信息,可以使他人在指纹验证单元3对指纹进行验证操作时对管理者进行提示,可以使管理者快速得知他人验证指纹情况。
密钥获取模块7具体为密码输入单元8输入动态密码,密码认证单元9对输入的动态密码进行认证,认证通过后获取密钥单元6会获取密钥,认证未通过则返回密码输入单元8重新输入密码。
密钥获取模块7内通过获取密钥单元6打开数据库10,能够对数据库10内储存的数据进行查看,通过在需要传输数据时,控制加密控制模块11使通讯模块13的传输通道进行打开传输数据,且加密控制模块11对通讯模块13与密码输入单元8之间进行拦截,通过加密控制模块11可以对通讯模块13进行打开或拦截,通过将传输通道打开后,可以方便向数据库10内输出或输入数据,通过加密控制模块11关闭时,可以对通讯模块13进行拦截,避免密码输入单元8受到外界破译软解攻击造成发生数据泄露的情况。
数据传输模块12通过通讯模块13,可以对数据库10传输数据或输出数据,通过通讯模块13可以连接外界数据传输设备,可以方便对数据库10内的机电设施数据进行输出或输入操作。
本发明中,远程管理设备由管理者携带,远程接收设备单元5可以接收指纹验证单元3的通过与未通过信息,方便管理者管理机电设施的数据库10,密钥获取模块7内通过获取密钥打开数据库10,能够对数据库10内储存的数据进行查看,通过在需要传输数据时,控制加密控制模块11使通讯模块13的传输通道进行打开传输数据,可以方便对数据进行传输,同时能够监测传输的数据方向,可以方便控制外界传输设备向数据库10内输送数据或传出数据,加密控制模块11对通讯模块13与密码输入单元8之间进行持续拦截,避免通讯模块13***破译设备对密码输入单元8进行破解操作,避免造成密码输入单元8造成管理者打开的情况,数据传输模块12对于新传入或传出的数据进行分析,对传入的数据进行分析,写入数据库10保存,当进行后端加密解密时,
依赖包:
后端加密解密:
当进行前端加密解密时,
前端依赖包:
npminstall--save sm-crypto
前端代码:
获取密钥对
const sm2=require('sm-crypto').sm2
let keypair=sm2.generateKeyPairHex()
publicKey=keypair.publicKey//公钥
privateKey=keypair.privateKey//私钥
//默认生成公钥130位太长,可以压缩公钥到66位
const compressedPublicKey=sm2.compressPublicKeyHex(publicKey)//compressedPublicKey和publicKey等价
sm2.comparePublicKeyHex(publicKey,compressedPublicKey)//判断公钥是否等价
//自定义随机数,参数会直接透传给jsbn库的BigInteger构造器
//注意:开发者使用自定义随机数,需要自行确保传入的随机数符合密码学安全
let keypair2=sm2.generateKeyPairHex('123123123123123')
let keypair3=sm2.generateKeyPairHex(256,SecureRandom)
let verifyResult=sm2.verifyPublicKey(publicKey)//验证公钥verifyResult=sm2.verifyPublicKey(compressedPublicKey)//验证公钥加密解密
const sm2=require('sm-crypto').sm2
const cipherMode=1//1-C1C3C2,0-C1C2C3,默认为1
let encryptData=sm2.doEncrypt(msgString,publicKey,cipherMode)//加密结果
let decryptData=sm2.doDecrypt(encryptData,privateKey,cipherMode)//解密结果
encryptData=sm2.doEncrypt(msgArray,publicKey,cipherMode)//加密结果,输入数组
decryptData=sm2.doDecrypt(encryptData,privateKey,cipherMode,{output:'array'})//解密结果,输出数组。
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.基于国产密码的机电设施安全加密方法,包括加密方法本体(1),其特征在于:所述加密方法本体(1)包括动态密码发送模块(2)、密钥获取模块(7)和数据传输模块(12),所述动态密码发送模块(2)包括指纹验证单元(3)、发送动态密码单元(4)和远程接收设备单元(5),所述密钥获取模块(7)包括有密码输入单元(8)、密码认证单元(9)和获取密钥单元(6),所述数据传输模块(12)包括通讯模块(13)和加密控制模块(11),所述加密控制模块(11)与通讯模块(13)之间设有传输通道,且所述传输通道拦截加密控制模块(11)与通讯模块(13)之间线路。
2.根据权利要求1所述的基于国产密码的机电设施安全加密方法,其特征在于:所述动态密码发送模块(2)为指纹验证通过后,经过远程接收设备单元(5)传递至发送动态密码单元(4),所述发送动态密码单元(4)具体为国产密码SM2、SM3、SM4和SM9算法,所述国产密码SM2,SM2椭圆曲线公钥密码算法自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能,SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例,SM2算法主要考虑素域Fp和F2m_上的椭圆曲线,分别介绍了这两类域的示,运算,以吸域上的椭圆曲线的点的表示,运算和多倍点计算算法,然后介绍了编程语言中的数据转换,包括整数和字节串,节串和比特串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规则,详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证,最后给椭圆曲线上密钥对的生成以及公钥的验证,用户的密钥对为(s,sP),其中s为用户的私钥,sP为用户的公钥,由于离散对数问题从sP难以得到s,并针对素域和二元扩域给出了密钥对生成细节和验证方式,总则中的知识也适用于SM9算法,所述SM3算法是国际标准中的杂凑算法,其功能包括数字签名与验证、消息认证码生成和伪随机数的生成等,可用于多种密码应用,SM3算法的安全性及效率与SHA-256相当,所述SM4算法的加密与密钥扩展算法均通过32轮非线性迭代过程实现,轮函数中使用轮密钥对128位数据进行处理,在解密所使用的轮密钥是加密轮密钥的逆序,在加密过程中,首先将128位密钥按照每32位一组分为4组,然后进行密钥扩展,生成32组32位轮密钥,再将输入明文按照32位一组分成4组,进行循环运算,得到128位密文。
3.根据权利要求1所述的基于国产密码的机电设施安全加密方法,其特征在于:所述动态密码发送模块(2)内指纹验证未通过时向远程接收设备单元(5)发送未通过信息。
4.根据权利要求1所述的基于国产密码的机电设施安全加密方法,其特征在于:所述密钥获取模块(7)具体为密码输入单元(8)输入动态密码,密码认证单元(9)对输入的动态密码进行认证,认证通过后获取密钥单元(6)会获取密钥,认证未通过则返回密码输入单元(8)重新输入密码。
5.根据权利要求1所述的基于国产密码的机电设施安全加密方法,其特征在于:所述密钥获取模块(7)内通过获取密钥单元(6)打开数据库(10),能够对数据库(10)内储存的数据进行查看,通过在需要传输数据时,控制加密控制模块(11)使通讯模块(13)的传输通道进行打开传输数据,且加密控制模块(11)对通讯模块(13)与密码输入单元(8)之间进行拦截。
6.根据权利要求1所述的基于国产密码的机电设施安全加密方法,其特征在于:所述数据传输模块(12)通过通讯模块(13),可以对数据库(10)传输数据或输出数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410198003.4A CN118074976A (zh) | 2024-02-22 | 2024-02-22 | 基于国产密码的机电设施安全加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410198003.4A CN118074976A (zh) | 2024-02-22 | 2024-02-22 | 基于国产密码的机电设施安全加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118074976A true CN118074976A (zh) | 2024-05-24 |
Family
ID=91105191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410198003.4A Pending CN118074976A (zh) | 2024-02-22 | 2024-02-22 | 基于国产密码的机电设施安全加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118074976A (zh) |
-
2024
- 2024-02-22 CN CN202410198003.4A patent/CN118074976A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111818039B (zh) | 物联网中基于puf的三因素匿名用户认证协议方法 | |
WO2020087805A1 (zh) | 基于双密值和混沌加密的可信测控网络认证方法 | |
CN103124269B (zh) | 云环境下基于动态口令与生物特征的双向身份认证方法 | |
US9209969B2 (en) | System and method of per-packet keying | |
CN111464301A (zh) | 一种密钥管理方法及*** | |
CN111526007B (zh) | 一种随机数生成方法及*** | |
CN111314050B (zh) | 一种加解密方法及装置 | |
CN110958219A (zh) | 一种面向医疗云共享数据的sm2代理重加密方法与装置 | |
EP1079565A2 (en) | Method of securely establishing a secure communication link via an unsecured communication network | |
CN111865579B (zh) | 基于sm2算法改造的数据加解密方法及装置 | |
CN112713995A (zh) | 一种用于物联网终端的动态通信密钥分发方法及装置 | |
CN113051547B (zh) | 多服务器架构下的双向认证与密钥协商方法 | |
Tahir et al. | A scheme for the generation of strong icmetrics based session key pairs for secure embedded system applications | |
CN108551391B (zh) | 一种基于USB-key的认证方法 | |
CN110808966A (zh) | 身份信息生成方法、装置及存储介质 | |
CN115632797A (zh) | 一种基于零知识证明的安全身份验证方法 | |
KR100986980B1 (ko) | 생체 인증 방법, 클라이언트 및 서버 | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
CN118074976A (zh) | 基于国产密码的机电设施安全加密方法 | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
CN111314051B (zh) | 一种加解密方法和装置 | |
Neforawati et al. | Message Digest 5 (MD-5) Decryption Application using Python-Based Dictionary Attack Technique | |
JP3078666B2 (ja) | 相互認証/暗号鍵配送方式 | |
Manjupargavi et al. | Efficient Otp Generation With Encryption And Decryption For Secure File Access In Cloud Environment | |
KR20150103394A (ko) | 암호화 시스템 및 그것의 암호 통신 방법 |
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 |