一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统技术方案

技术编号:22242449 阅读:267 留言:0更新日期:2019-10-09 21:53
本发明专利技术公开了一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统,只需通过2轮交互就可以实现双向认证密钥协商的新模式,该模式的第1轮身份认证采用国密算法SM2加解密和签名验签模块实现,第2轮身份认证采用国密算法SM3哈希运算实现;同时,引入了掩盖因子对传输信息进行保护,具有身份隐私保护功能。本方案与已有方案相比,通信开销和计算开销很低,实现效率高,实用性较强,便于软硬件实现。

A Two-way Authenticated Key Agreement Method and System Based on RLWE Supporting Domestic Cryptographic Algorithms

【技术实现步骤摘要】
一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统
本专利技术属于信息安全
,具体涉及一种改进的基于RLWE支持国产密码算法的双向认证密钥协商方法与系统。本专利技术还涉及一种融入国密算法的2轮身份认证密钥协商算法的新模式。
技术介绍
近年来,量子计算机相关技术飞速发展,传统的公钥密码体制受到严重威胁。后量子密码因其抗量子计算机攻击也成为一个非常活跃的研究领域。特别是,由于美国国家安全局(NSA)和美国国家标准与技术研究院(NIST)公布了他们关于后量子加密的计划,后量子密码学的研究得到了进一步的推动。美国国家标准与技术研究院(NIST)在2016年4月发布了一份关于“抗量子密码现况”的报告,并在2016年12月继续跟进,面向全球征集后量子密码算法。2017年底,完成后量子密码算法的第一轮征集2014年Peikert提出一种基于理想格的密钥封装机制,借助RLWE问题将加密方案与一个新的和解机制相结合,从而构造出一种选择明文安全的(Chosen-plaintextsecurity,CPA-secure)高效密钥封装机制体制;2015年BOS等人引入了密钥交换(BCNS),它通过基于R-LWE的协议取代了传输层安全协议中的传统数量理论密钥交换,它实质上是引入KEM的实例化;2016年Alkim等人提出了BCNS协议的概括,称为NewHope,其主要区别在于广义协调机制和不同的错误分布;2018年等人提出了基于签名的认证密钥协商协议,该协议允许在服务器-客户端使用,提供前向安全性,简单且易实现;同年,Bindel等人描述了一些认证密钥协商协议,分别描述了FSXY、Peikert和ZZDSD等认证密钥协商协议并进行比较。专利文献1(公开号:CN201711379239,公开日2018年7月10日)提出了一种基于RLWE的抗量子密钥协商方法,这种方法要求秘密消息为稀疏向量或二进制向量的LWR(取整学习)问题或者ring-LWR(环上的取整学习)问题,给出建议参数,并将本方法作为加密套接字用在TLS握手协议中,在握手协议中来产生预主密钥,进而通过密钥导出函数生成主密钥。专利文献2(公开号:CN108111301A,公开日2018年6月1日)提出了一种基于后量子密钥交换实现SSH协议的方法及系统。该方法利用后量子算法实现远程登陆协议SSH协议,提供通信双方身份验证、通信数据加密传输以及完整性校验等多种安全服务,能够抵抗量子攻击,提供了高安全性的远程登录流程。通过对上述两篇专利文献的分析,抗量子攻击的认证密钥协商有很广泛的应用前景,但是基于我国国密算法的抗量子攻击的认证密钥协商协议研究仍处于探索阶段,相关专利技术也甚少。我们的方案设计了一种融入国密算法的2轮交互认证与密钥协商,既方便简洁,提升了实际运算的可行性与安全性,又体现了国密算法的先进性,促进了国内抗量子攻击的认证密钥协商体系的研究与进步。如今,量子通信正处于火热探索阶段,为了满足各领域高标准的安全要求,应用于更多的工作环境中,设计基于国密算法的安全高效、能够抵抗量子攻击的认证密钥协商方案的研究还是很有必要的。
技术实现思路
针对抗量子攻击的认证密钥协商算法的上述需求以及克服现有技术的不足,本专利技术提出了一种基于RLWE支持国产密码算法的双向认证密钥协商新模式。本方案第一轮采用国密算法SM2加解密模块进行身份认证,第二轮采用国密算法SM3哈希运算进行认证,计算开销和通信开销较低。同时,引入了掩盖因子对传输信息进行保护,抗攻击能力和安全性明显增强。本专利技术的优势在于:1、融入国密算法:本方案基于RLWE支持国产密码算法的双向认证密钥协商方法与系统。第一轮采用国密算法SM2算法加解密及签名验签模块实现身份认证;第二轮运用国密SM3算法进行身份认证。将国密算法与国际先进方案完美结合,实现了安全高效的双向身份认证密钥协商。3、通过设计多个掩盖因子来防范主动攻击:双方在通信过程中,掩盖因子很好地解决信道中的消息极易被窃听或截取的问题,多个掩盖因子能够更彻底地保证方案的安全性。4、用国密算法保护用户身份隐私功能:本方案运用国密算法SM3对身份ID进行哈希运算来隐藏自身信息,增强了方案的安全性,保护了用户的身份隐私。5、方案简洁高效,便于软硬件实现,具有很高的计算效率。有较高的安全性,满足可证明安全性,提供了前向安全性,并且具有抗中间入攻击、重放攻击和未知密钥共享攻击等安全属性。附图说明图1是一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统的整体流程。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细的说明,但不以任何方式限制本专利技术的范围。本方案基于格的密钥协商方案进行构建。如图1所示,步骤一:密钥生成。客户端和服务端双方分别用0~255的随机数发生器,随机采样32个整数元素作为种子。这个随机数发生器可以使用物理熵源。我们对随机采样得到的32字节的种子进行散列函数处理,这里使用的散列函数是我国的SM3算法,其中l表示输入数据的比特数,d表示输出数据的比特数。在密钥生成过程中,我们利用SM3算法对32字节的种子进行哈希运算得到一个64字节的数组z。这里的z数值范围同样是0~255。然后通过GenA()函数分别生成公私密钥对(pkc,skc)和(pks,sks)。步骤二:客户端生成认证标识Verc并向服务端发送信息。sc,ec和ec′是ψ16域上的多项式。运算符表示两个多项式系数相乘,若s,e∈Rq,则:对客户端的身份IDc进行哈希运算,得到客户端的身份隐藏值Mc。a是由种子变换得来的多项式,对其进行计算得到其中,引入两个混淆因子vc和rc:混淆因子在后面的流程中可以起到抵抗主动攻击的作用。对bc、Mc和种子seed进行哈希运算,对得到的哈希值与bc、种子seed、Mc和rc用服务端的公钥加密,即得到客户端的认证标识Verc,这里的公钥加密算法我们选用RSA1024和我国的商密算法SM2(当然,也可以采用其他传统公钥加密算法或后量子公钥加密算法)。之后,客户端将自己的认证标识Verc发送给服务端。步骤三:服务端验证客户端的身份。服务端收到Verc后,先用自己的私钥sks对客户端的认证标识Verc进行解密,得到签名。服务端用客户端的公钥进行验签,若验签成功,则服务端成功认证客户端的身份,可以进行接下来的认证与密钥协商;否则,认证失败,停止认证密钥协商。步骤四:服务端生成认证标识Vers并向客户端发送信息。服务端成功认证客户端的身份后,选取ψ16域上的多项式ss、es和es′进行运算。对服务端的身份IDs进行哈希运算,得到服务端的身份隐藏值Ms。计算得到bs,计算得到vs。对vs进行HelpRec()函数运算得到中间值r。为了对rs和bs进行保护,引入三个掩盖因子b、r和M,b是bc和bs的模2和,r是rc和rs的模2和,M是服务端与客户端的身份标识对Ms、bs和rs进行哈希运算,可以得到服务端的认证标识Vers:Vers←H(Ms,bs,rs),服务端发送三个掩盖因子b、r、M和服务端的认证标识Vers给客户端。步骤五:客户端验证服务端的身份。客户端收到Vers后,先用身份标识M异或客户端本身的身份隐藏值Mc,得到服务端的身份隐藏值Ms。通过掩盖因子b和本文档来自技高网
...

【技术保护点】
1.一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统,其特征在于,描述了一种基于RLWE的同时支持国产密码算法的双向认证密钥协商方法与系统,该模式依据设计原理对传统的密钥协商算法进行了一定的改进。通信双方客户端和服务端分别生成公私钥对(pk,sk),并对身份ID进行隐藏。初始计算后结合国密算法SM2、SM3进行2轮的身份认证来确保方案的安全性,只需经过2轮数据交互就能进行最后的密钥协商,该方案能够结合国密算法抵抗量子攻击,具有很高的效率与安全性。

【技术特征摘要】
1.一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统,其特征在于,描述了一种基于RLWE的同时支持国产密码算法的双向认证密钥协商方法与系统,该模式依据设计原理对传统的密钥协商算法进行了一定的改进。通信双方客户端和服务端分别生成公私钥对(pk,sk),并对身份ID进行隐藏。初始计算后结合国密算法SM2、SM3进行2轮的身份认证来确保方案的安全性,只需经过2轮数据交互就能进行最后的密钥协商,该方案能够结合国密算法抵抗量子攻击,具有很高的效率与安全性。2.根据权利要求1所述的一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统,其特征在于,客户端和服务端双方分别用0~255的随机数发生器,随机采样32个整数元素作为种子seed。这个随机数发生器可以使用物理熵源。我们对随机采样得到的32字节的种子进行散列函数处理,这里使用的散列函数是我国的SM3算法,其中l表示输入数据的比特数,表示d输出数据的比特数。在密钥生成过程中,我们利用SM3算法对32字节的种子进行哈希运算得到一个64字节的数组z,即其中,z的数值范围同样是0~255。然后通过GenA()函数分别生成公私密钥对(pkc,skc)和(pks,sks)。3.根据权利要求1所述的一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统,其特征在于,在第1轮身份认证过程之前,客户端生成了认证标识Verc,即其中,sc,ee是ψ16域上的多项式,a是由种子变换得来的多项式,pks是服务端的公钥,Mc是通过对客户端的身份IDc进行SM3哈希运算得到的客户端的身份隐藏值,rc是引入的混淆因子。运算符表示两个多项式系数相乘,若s,e∈Rq,则:计算得到客户端的认证标识Verc后进入第1轮身份认证,客户端将认证标识Verc发送给服务端。4.根据权利要求1所述的一种基于RLWE支持国产密码算法的双向认证密钥协商方法与系统,其特征在于,在第1轮身份认证过程中,服务端验证客户端的身份,其中:(1)服务端收到Verc后,先用自身私钥sks对客户端的认证标识Verc进行解密,得到相应客户端的签名,即(2)用客户端的公钥进行验签,若验签成功,则服务端成功认证客户端的身份,然后进行接下来的认证与密钥协商;否则,认证失败,停止密钥协商算法。5.根据权利要求1所述的一种...

【专利技术属性】
技术研发人员:杨亚涛黄洁润赵阳韩新光王安琦
申请(专利权)人:北京电子科技学院
类型:发明
国别省市:北京,11

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

1