基于白盒密码算法的身份认证与密钥分发方法及系统技术方案

技术编号:39753287 阅读:16 留言:0更新日期:2023-12-17 23:52
本发明专利技术公开一种基于白盒密码算法的身份认证与密钥分发方法及系统,方法包括通信发起方利用随机选择的白盒代码生成身份鉴别令牌并发送至密钥管理中心;接收密钥管理中心发送的会话密钥分发令牌,会话密钥分发令牌为密钥管理中心在验证所述身份鉴别令牌通过后生成,会话密钥分发令牌包括基于随机选择的会话密钥生成的目标轮函数;通信发起方利用本地存储的白盒代码及所述目标轮函数刷新本地存储的所述基准代码,生成通信会话白盒密码;通信发起方将通信会话白盒密码和会话密钥分发令牌发送至通信响应方进行加密通信;本发明专利技术在保障安全性的同时降低整个身份认证和密钥分发过程中白盒代码传输和切换的资源消耗

【技术实现步骤摘要】
基于白盒密码算法的身份认证与密钥分发方法及系统


[0001]本专利技术涉及密码应用
,具体涉及一种基于白盒密码算法的身份认证与密钥分发方法及系统


技术介绍

[0002]在白盒攻击环境
(White

Box Attack Context)
中,软件的执行过程对攻击者完全可见,运行在这种环境中的密码软件如果没有对密钥进行特殊的保护,攻击者通过观察或者执行密码软件很容易就可以获得密钥信息

白盒密码就是针对这种情况提出来的,其目的是为了在白盒攻击环境里保护密钥,将密钥信息隐藏在密码软件的执行过程中,防止攻击者在白盒攻击环境中抽取出密钥

对于不同的密钥,需要形成不同的算法执行代码,这样密钥的分发就以算法实现的可执行程序分发的形式进行,密钥的更新就会引起整个算法实现的可执行程序的更新,这样的运行模式存在以下问题:
[0003](1)
密码算法实现的执行代码占用的空间远远大于一条对称密钥,至少是
K
字节级和字节级的差别,更新密钥引起整个算法实现的可执行程序的更新和分发,会占用大量的网络传输资源或存储资源,密钥更新越频繁,占用资源越多

[0004](2)
在算法实现的可执行程序运行过程中,重新加载整个算法实现的可执行程序对系统的资源和时间消耗以及对系统运行状态和性能的影响远远大于读取一条对称密钥的代价,密钥更新越频繁,给系统带来的压力越大

[0005](3)<br/>基于对称密码体制的身份鉴别,为提高安全性需要使用多个预共享密钥,这样在采用白盒密码的情况下会由于多套程序代码切换而导致对内存和处理器占用过大

[0006]在相关技术中,公布号为
CN113132087A
的专利申请文献中提出根据物联网终端设备安全要求的高低,分别采用安全芯片和白盒密码进行身份认证

公布号为
CN114448624A
的专利申请文献中提出基于白盒密码服务的透明化物联网安全传输方案

但是均未提出白盒密码算法的实现方式和白盒密钥分发的方式


技术实现思路

[0007]本专利技术所要解决的技术问题在于如何在保障安全性的同时降低整个身份认证和密钥分发过程中白盒代码传输和切换的资源消耗

[0008]本专利技术通过以下技术手段解决上述技术问题的:
[0009]第一方面,本专利技术提出了一种基于白盒密码算法的身份认证与密钥分发方法,其特征在于,通信参与双方预先充注有基准代码

白盒代码以及白盒库,所述白盒库中包括与主密钥数量相同且对应的轮函数动态库,所述方法包括:
[0010]通信发起方利用随机选择的白盒代码生成身份鉴别令牌并发送至密钥管理中心;
[0011]通信发起方接收所述密钥管理中心发送的会话密钥分发令牌,所述会话密钥分发令牌为所述密钥管理中心在验证所述身份鉴别令牌通过后生成,所述会话密钥分发令牌包括基于随机选择的会话密钥生成的目标轮函数;
[0012]通信发起方利用本地存储的白盒代码及所述目标轮函数刷新本地存储的所述基准代码,生成通信会话白盒密码;
[0013]通信发起方将所述通信会话白盒密码和所述会话密钥分发令牌发送至通信响应方,进行加密通信

[0014]进一步地,所述基准代码为白盒代码生成点采用
SM4
白盒算法对基准密钥进行运算生成;
[0015]每个所述白盒代码为白盒代码生成点采用
SM4
白盒算法对每个所述主密钥进行运算生成;
[0016]所述白盒代码的每个轮函数运算代码分别存入对应的轮函数动态库中的每个动态链接库,每个主密钥对应的轮函数动态库存入白盒库

[0017]进一步地,每个所述动态链接库经由保护代码加密保护,所述保护代码为所述白盒代码生成点采用
SM4
白盒算法对其实时生成的随机数进行运算生成,且通信参与双方预先充注有所述保护代码

[0018]进一步地,所述通信发起方利用随机选择的白盒代码生成身份鉴别令牌并发送至密钥管理中心,包括:
[0019]所述通信发起方利用随机选择的所述白盒代码加密所述通信发起方随机选择的随机数

通信参与双方的身份标识以及所述通信发起方与所述密钥管理中心间预共享的白盒代码的序号,生成所述身份鉴别令牌并发送至所述密钥管理中心

[0020]进一步地,所述会话密钥分发令牌包括令牌
TokenA
和令牌
TokenB
,所述令牌
TokenA
携带信息包括基于所述会话密钥生成且基于随机整数
Ns
选择的动态链接库
Lib_Ns、
用于定位所述白盒库中的轮函数的整数
Nk

Nf、
所述通信发起方与所述密钥管理中心间预共享的白盒代码的序号
SN_A

[0021]所述令牌
TokenB
携带信息包括基于所述会话密钥生成且基于随机整数
Ns
选择的动态链接库
Lib_Ns、
用于定位所述白盒库中的轮函数的整数
Nk

Nf、
随机选择的所述通信响应方与所述密钥管理中心间预共享的白盒代码的序号
SN_B。
[0022]进一步地,所述通信发起方利用本地存储的白盒代码及所述目标轮函数刷新本地存储的所述基准代码,生成通信会话白盒密码,包括:
[0023]所述通信发起方根据序号
SN_A
,调用本地中相应的白盒代码对令牌
TokenA
进行解密和验证;
[0024]验证通过后,根据整数
Nk

Nf
从本地所述白盒库中选取相应的动态链接库作为共享动态链接库;
[0025]基于共享链接库和所述动态链接库
Lib_Ns
,对所述基准代码中对应于整数
Nf

Ns
的轮函数进行替换,生成所述通信会话白盒密码

[0026]进一步地,所述验证通过后,根据整数
Nk

Nf
从本地所述白盒库中选取相应的动态链接库作为共享动态链接库,包括:
[0027]根据整数
Nk

Nf
从本地所述白盒库中选取相应的动态链接库后,调用保护代码对该动态链接库进行解密后得到所述共享动态链接库

[0028]进一步地,通信发起方将所述通信会话白盒密码和所述会话密钥分发令牌发送至通信响应方,进行加密通信,包括:
[0029]所述通信发起方使用所述通信会话密码对由通信发起方实时生成的随机数
N本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于白盒密码算法的身份认证与密钥分发方法,其特征在于,通信参与双方预先充注有基准代码

白盒代码以及白盒库,所述白盒库中包括与主密钥数量相同且对应的轮函数动态库,所述方法包括:通信发起方利用随机选择的白盒代码生成身份鉴别令牌并发送至密钥管理中心;通信发起方接收所述密钥管理中心发送的会话密钥分发令牌,所述会话密钥分发令牌为所述密钥管理中心在验证所述身份鉴别令牌通过后生成,所述会话密钥分发令牌包括基于随机选择的会话密钥生成的目标轮函数;通信发起方利用本地存储的白盒代码及所述目标轮函数刷新本地存储的所述基准代码,生成通信会话白盒密码;通信发起方将所述通信会话白盒密码和所述会话密钥分发令牌发送至通信响应方,进行加密通信
。2.
如权利要求1所述的基于白盒密码算法的身份认证与密钥分发方法,其特征在于,所述基准代码为白盒代码生成点采用
SM4
白盒算法对基准密钥进行运算生成;每个所述白盒代码为白盒代码生成点采用
SM4
白盒算法对每个所述主密钥进行运算生成;所述白盒代码的每个轮函数运算代码分别存入对应的轮函数动态库中的每个动态链接库,每个主密钥对应的轮函数动态库存入白盒库
。3.
如权利要求2所述的基于白盒密码算法的身份认证与密钥分发方法,其特征在于,所述动态链接库为经保护代码加密保护,所述保护代码为所述白盒代码生成点采用
SM4
白盒算法对其实时生成的随机数进行运算生成,且通信参与双方预先充注有所述保护代码
。4.
如权利要求1所述的基于白盒密码算法的身份认证与密钥分发方法,其特征在于,所述通信发起方利用随机选择的白盒代码生成身份鉴别令牌并发送至密钥管理中心,包括:所述通信发起方利用随机选择的所述白盒代码加密所述通信发起方随机选择的随机数

通信参与双方的身份标识以及所述通信发起方与所述密钥管理中心间预共享的白盒代码的序号,生成所述身份鉴别令牌并发送至所述密钥管理中心
。5.
如权利要求1所述的基于白盒密码算法的身份认证与密钥分发方法,其特征在于,所述会话密钥分发令牌包括令牌
TokenA
和令牌
TokenB
,所述令牌
TokenA
携带信息包括基于所述会话密钥生成且基于随机整数
Ns
选择的动态链接库
Lib_Ns、
用于定位所述白盒库中的轮函数的整数
Nk

Nf、
所述通信发起方与所述密钥管理中心间预共享的白盒代码的序号
SN_A
;所述令牌
TokenB
携带信息包括基于所述会话密钥生成且基于随机整数
Ns
选择的动态链接库
Lib_Ns、
用于定位所述白盒库中的轮函数的整数
Nk

Nf、
随机选择的所述通信响应方与所述密钥管理中心间预共享的白盒代码的序号
SN_B。6.
如权利要求5所述的基于白盒密码算法的身份认证与密钥分发方法,其特征在于,所述通信发起方利用本地存储的白盒代码及所述目标轮函数刷新本地存储的所述基准代码,生成通信会话白盒密码,包括:所述通信发起方根据序号
SN_A
,调用本地中相应的白盒代码对令牌
TokenA
进行解密和验证;验证通过后,根据整数
Nk

Nf
从本地所述白盒库中选取相应的动态链接库作为共享动
态链接库;基于共享链接库和所述动态链接库
Lib_Ns
,对所述基准代码中对应于整数
Nf

Ns
的轮函数进行替换,生成所述通信会话白盒密码
。7.
如权利要求6所述的基于白盒密码算法的身份认证与密钥分发方法,其特...

【专利技术属性】
技术研发人员:罗俊
申请(专利权)人:中电信量子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1