论文部分内容阅读
数字签名是公钥密码学中的重要原语,其具备公开可验证性、不可否认性等特性,用于保证签名消息的完整性和签名的不可否认性。数字签名方案应满足适应性选择消息攻击下存在性不可伪造的安全要求,然而,由于侧信道攻击等物理攻击手段的存在,使得数字签名方案的内部信息容易遭受泄漏。当敌手利用侧信道攻击签名算法并得到算法内部的保密信息时,敌手就可能以不可忽略的概率成功伪造签名,从而对实际系统造成极大的安全威胁。比如,比特币交易采用椭圆曲线数字签名方案对交易单签名,如果部分签名私钥泄漏,用户的比特币可能被窃取;若国产密码算法SM2签名方案中的部分签名私钥泄漏,SM2签名方案的使用者将面临巨大损失。本文主要研究数字签名方案的抗泄漏版本。抗泄漏的性质增强了数字签名方案的安全性,即使敌手获得签名的部分私钥,仍然不能伪造签名。Galindo等通过给敌手增加额外的攻击能力刻画了抗连续泄漏的安全性,即敌手可以获得当前签名进程所访问的部分保密信息。本文基于Galindo的抗连续泄漏模型,提出了抗泄漏的椭圆曲线数字签名方案和抗泄漏的SM2数字签名方案,方案的安全目标是即使敌手获得了部分私钥的信息,能成功伪造签名的概率依旧是可忽略的。具体地:(1)将椭圆曲线数字签名方案(ECDSA)转换到双线对群,将单个的签名私钥拆分成相互独立的两部分,分别存储在两个独立的内存空间;将签名算法分为两个进程按序执行,称为一轮签名,每轮签名开始前,选择随机参数,用随机参数更新此轮签名要用的密钥,采用新的密钥生成抗连续泄漏的椭圆曲线数字签名方案,提出的方案在一般群模型下是可证明安全的。对算法的计算复杂度进行了分析,仿真实验结果验证了方案的高效性。抗连续泄漏的椭圆曲线数字签名方案可以应用于多个领域,例如比特币交易中可采用抗连续泄漏的椭圆曲线数字签名方案,即使泄漏了部分签名密钥,此方案仍可以保证比特币的安全性,防止比特币被窃取。(2)针对SM2数字签名方案,通过改变SM2数字签名方案的密钥生成算法和签名算法,将定义在整数群上的签名密钥和定义在椭圆曲线群上的公钥分别转换为定义在双线性对群的原群和目标群上,原群和目标群都是椭圆曲线群,签名密钥被分为两部分,两部分通过双线性映射函数得到定义在目标群上的公钥;签名算法被分为两个进程,每次签名算法运行前通过选择两个随机参数分别更新两部分签名密钥;利用新的密钥生成抗连续泄漏的SM2数字签名方案。通过分析方案的计算复杂度,并进行仿真实验验证了方案的高效性。该方案可以应用于银行系统,即使网上银行用户的部分密钥被窃取,该方案也可以保证数字货币的安全性。也可以应用于国内保密单位,保证传送数据的安全性。