一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种内核模块参数安全传递方法与流程

2022-03-05 08:23:52 来源:中国专利 TAG:

技术特征:
1.一种内核模块参数安全传递方法,其特征在于包括如下步骤:步骤1,基于sm2生成第一密钥对和第二密钥对,各密钥对均包括公钥和私钥;步骤2,将第一密钥对的第一私钥和第二密钥对的第二公钥以静态变量的形式安全地写入内核模块,将第二密钥对的第二私钥和第一密钥对的第一公钥以静态变量的形式安全地写入应用程序;步骤3,在内核模块中声明4个用于密钥协商的全局变量,记为第1、第2、第3和第4全局变量,第1、第2全局变量为整型且初始化为-1,第3、第4全局变量类型为字符串,另外将第1全局变量的权限设置为用户读,其余全局变量为可读可写操作;步骤4,内核模块挂载后执行如下操作:步骤41,生成一个随机数,记为r
k
;步骤42,计算r
k
=[r
k
]g,其中g为椭圆曲线上的基点,[
·
]表示多倍点运算;步骤43,计算h
k
=sm3(r
k
),其中sm3(
·
)为密码杂凑算法;步骤44,用第二公钥加密r
k
得到其中e
key
(
·
)表示使用密钥key对输入的明文进行加密;步骤45,将h
k
和写入第3和第4全局变量中,之后将第1全局变量的值修改为1;步骤5,应用程序读取第1全局变量,若其值为1则执行如下操作:步骤51,读取第3和第4全局变量的值,获得h
k
和步骤52,用第二私钥解密得到其中d
key
(
·
)表示使用密钥key对输入的密文进行解密;步骤53,计算h
k
'=sm3(r
k
');步骤54,判断h
k
与h
k
'是否相等,若相等则继续执行后续操作,否则将第2全局变量的值修改为0后结束操作;步骤55,生成一个随机数,记为r
a
;步骤56,计算r
a
=[r
a
]g;步骤57,计算h
a
=sm3(r
k
'||r
a
),其中||表示拼接操作;步骤58,用第一公钥加密r
a
得到步骤59,将h
a
和写入第3和第4全局变量中,之后将第2全局变量的值修改为1;步骤6,内核模块读取第1和第2全局变量的值,若第1全局变量和第2全局变量的值均为1,则执行如下操作:步骤61,读取第3和第4全局变量的值,获得h
a
和步骤62,用第一私钥解密得到步骤63,计算h
a
'=sm3(r
k
||r
a
');步骤64,判断h
a
与h
a
'是否相等,若相等(信息未被篡改,且应用程序可信)则继续执行后续操作,否则将第1全局变量的值修改为0后结束操作;步骤65,计算k
ka
=[r
k
]r
a
';
步骤66,用k
ka
加密r
a
'得到步骤67,将写入第4全局变量中,之后将第1全局变量的值修改为2;步骤7,应用程序读取第1和第2全局变量的值,若第1全局变量的值为2且第2全局变量的值为1,则执行如下操作:步骤71,读取第4全局变量的值,获得步骤72,计算k
ak
=[r
a
]r
k
';步骤73,用k
ak
解密得到步骤74,判断r
a
与r
a”是否相等,若相等(信息未被篡改,内核模块可信,且协商的密钥正确)则继续执行后续操作,否则将第2全局变量的值修改为2后结束操作;步骤75,用k
ak
加密r
k
',得到步骤76,将写入第4全局变量中,之后将第2全局变量的值修改为3;步骤8,内核模块读取第1和第2全局变量的值,若第1全局变量的值为2且第2全局变量的值为3,则执行如下操作:步骤81,读取第4全局变量的值,获得步骤82,用k
ka
解密得到步骤83,判断r
k
与r
k”是否相等,若相等(协商的密钥正确)则将第1全局变量的值改为3后结束操作,否则将第1全局变量的值改为4后结束操作;步骤9,后续内核模块的所有需要同步给应用程序的参数都用k
ka
加密后再写入全局变量中,应用程序的所有需要同步给内核模块的参数都用k
ak
加密后再写入全局变量中。2.如权利要求1所述的内核模块参数安全传递方法,其特征在于:所述步骤2的具体内容是:步骤21,将第一私钥和第二私钥分别按位进行n等分和m等分切割,其中n和m相等或不相等;步骤22,将第一私钥的n个子密钥写入到内核模块的n个静态变量中;步骤23,将第二私钥的m个子密钥写入到应用程序的m个静态变量中。3.如权利要求1所述的内核模块参数安全传递方法,其特征在于:所述步骤9的具体内容是:步骤91,在内核模块中预先声明2个用于标记参数传递状态的全局变量,记为第1状态变量和第2状态变量,其中第1状态变量用于标记内核模块向应用程序传递参数,第2状态变量用于标记应用程序向内核模块传递参数;步骤92,当应用程序向内核模块传递第p个参数时,先用sm3计算该待传参数的数字摘要,再用k
ak
加密上述待传参数,接着将所述摘要信息及加密的待传参数写入对应的全局变量,最后应用程序将状态标记信息的第p位改为1,用sm3计算状态变量的数字摘要,用k
ak
加密状态信息后,将加密的状态信息写入第2状态变量,将状态变量的数字摘要写入对应的全局变量中;
步骤03,当内核模块向应用程序传递第q个参数时,先用sm3计算该待传参数的数字摘要,再用k
ka
加密的上述待传参数,接着将所述摘要信息及加密的待传参数写入对应的全局变量,最后应用程序将状态标记信息的第q位改为1,用sm3计算状态变量的数字摘要,用k
ka
加密状态信息后,将加密的状态信息写入第1状态变量,将状态变量的数字摘要写入对应的全局变量中;步骤94,当内核模块或应用程序分别通过第1、第2状态变量监测到参数传递状态的变化时,才进行新参数的接收,接收时需要先对状态变量及对应的参数进行解密,同时还需要进行完整性校验,完成参数接收后,将对应状态变量的标记位修改为0。

技术总结
本发明公开一种内核模块参数安全传递方法,首先基于SM2生成两对密钥,将其中的公钥和私钥交叉下发给内核模块和应用程序;基于SM2和ECDH设计一套参数安全传递机制,保证参数在传递过程中的机密性、真实性和完整性;在内核模块和对应的应用程序中预置SM2密钥,实现内核模块和应用程序的双向身份认证;基于ECDH协商内核模块和应用程序之间传递参数时的参数加密密钥,利用密钥协商的公钥作为身份认证的秘密信息,基于数字摘要提出一种将身份认证过程与密钥协商过程有机结合的方法。此种方法既可实现内核模块与应用程序的双向认证,又能由内核模块和应用程序自行协商出会话密钥对参加进行加密,保证参数在传递过程中的机密性、真实性和完整性。真实性和完整性。真实性和完整性。


技术研发人员:陈明志 翁才杰 许春耀 张瑞 赵逊飞 占仕勋 阮莉丽 郑绍华
受保护的技术使用者:北卡科技有限公司
技术研发日:2021.10.13
技术公布日:2022/3/4
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献