CN102651747B - 基于不可信更新环境的前向安全数字签名方法 - Google Patents

基于不可信更新环境的前向安全数字签名方法 Download PDF

Info

Publication number
CN102651747B
CN102651747B CN201210164829.6A CN201210164829A CN102651747B CN 102651747 B CN102651747 B CN 102651747B CN 201210164829 A CN201210164829 A CN 201210164829A CN 102651747 B CN102651747 B CN 102651747B
Authority
CN
China
Prior art keywords
signature
key
factor
insincere
secure digital
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.)
Expired - Fee Related
Application number
CN201210164829.6A
Other languages
English (en)
Other versions
CN102651747A (zh
Inventor
许春香
李万鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201210164829.6A priority Critical patent/CN102651747B/zh
Publication of CN102651747A publication Critical patent/CN102651747A/zh
Application granted granted Critical
Publication of CN102651747B publication Critical patent/CN102651747B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种基于不可信更新环境的前向安全数字签名方法,以常用的前向安全签名方案为基础,使用口令对初始私钥进行加密。在签名时,用户需要输入口令以及用口令加密过的私钥对消息进行签名。在私钥更新过程中,并不需要用户输入口令,直接完成加密私钥的自动更新。经过试验验证,作为传统的密钥保护方法,口令加密的方式同样可以增强前向安全等具有自保护功能的密码系统的安全性。相比两次签名的基于不可信更新环境的前向安全数字签名方案,在相同安全性的情况下,更高效,实用性更强。相比基于双线性映射构造的不可信更新环境的前向安全数字签名方案,在相同安全性的情况下,本发明需构造的密钥对的长度小,复杂度更低。

Description

基于不可信更新环境的前向安全数字签名方法
技术领域
本发明是一个不可信更新环境的前向安全数字签名方案,它属于通信技术领域,解决了在不可信更新环境下的密钥更新问题;同时解决了即使某个时间段用户的私钥发生泄露,也不会危害系统在该时间段及以前时间段的安全性,这样大大减小了密钥泄露带来的危害。
背景技术
密钥在一个密码系统中具有异乎寻常的重要地位:在加密系统中只有掌握合法密钥的用户才能执行解密操作,而在签名系统中也只有掌握合法密钥的用户才能产生有效签名。现在使用的密码体制由算法和密钥组成,在密码体制的算法公开的前提下,密码体制的安全性就完全依赖于密钥的安全性。目前,绝大多数密码系统都假设密钥能够得到妥善保管而不发生泄露,并没有对密钥泄露采取保护措施。然而,一个严峻的事实是:随着通信技术和计算机的迅猛发展,越来越多的密码系统被应用于诸如移动设备等安全性较差的场合,密钥泄露的发生在所难免。对于一个密码系统来说,密钥泄露无疑是一个毁灭性的打击,因为它意味着系统的安全性彻底丧失。
为了减小密钥泄露的可能,早期的办法是采用分布式的手段来保存密钥。具体做法是将密钥分成若干个子密钥,分别存放在不同的设备中,每一个密码操作必须这些设备的共同协作才能完成。这样,就算攻击者能获得某些子密钥,也不能获得整个密钥,从而加大了攻击者获得密钥的难度。这些办法包括:秘密分享系统、门限密码系统以及前摄密码系统等。但是,这些系统都有很大的局限性,如开销太大,更致命的是,一旦足够份额的子密钥泄露,系统的安全性仍然会彻底丧失。既然密钥泄露是无法避免,那么就应当采用合适的技术来尽量减轻它带来的危害。前向安全就是这样一种技术。这种技术不再是将密钥分成若干个子密钥,而是将密钥周期分成若干段,在密码系统中加入密钥更新算法,每个时间段开始时,用密钥更新算法得到新的密钥。而密钥更新算法是一个具有单向性的算法,由前面时间段的密钥更新得到后面时间段的密钥是容易的,反过来却是困难的。具有前向安全的密码系统可以保证:即使某个时间段的密钥发生泄露,也不会危害系统在该时间段以前时间段的安全性,这样大大减小了密钥泄露带来的危害。
前向安全的概念源于Günther和Diffie等在研究密钥交换协议时提出来的前向保密技术。在1997年ACM CCS会议上,发明人Anderso首次提出前向安全数字签名的概念时粗略地将其表示为当前私钥的泄露不会影响到过去的大量数字签名的安全性,直至1999年发明人Bellare和Miner在其发表的文章中给出了较正式的定义,即对于一个具有密钥更新(或者称为密钥演化)机制的数字签名方案,在其敌手模型中允许敌手进行选择消息攻击,并在其所选的时间段j泄露秘密密钥,敌手将试图对消息m伪造出关于某个时间段i(i<j,对应时间段j之前的某一时间段)的签名,如果敌手的伪造是计算上不可行的,那么称方案具有前向安全性。Michel Abdalla和Leonid Reyzin于2000年在亚洲密码学会议(ASIACRYPT 2000)上提出了一个新的前向安全签名方案(A New Forward-Secure Digital Signature Scheme,MichelAbdalla and Leonid Reyzin)是目前最为常用的前向安全签名方案。但该方案在不可信更新环境下,私钥按时间段自动更新这一环节就会出现私钥无法正确更新的安全性问题。
Boyen,Shacham,Shen,等学者2006年的美国计算机协会的计算机与通信安全会议(ACMCCS)上公开了的基于不可信更新环境的前向安全数字签名方案(Forward-Secure Signatureswith Untrusted Update,Xavier Boyen,Hovav Shacham,Emily Shen,Brent Waters,ACM CCS2006),阐述了这一被忽视的问题,定义了在不可信更新环境下进行密钥更新的前向安全数字签名方案模型并给出了一个基于双线性映射构造的数字签名,但其构造私钥与公钥的长度长,复杂度高。随后,Libert等学者与2007年在ACM CCS上公开的通用的基于不可信更新环境的前向安全数字签名方案(Forward-Secure Signatures in Untrusted Update Environments:Efficient and Generic Constructions,Benoit Libert,Jean-Jacques Quisquater,Moti Yung,ACMCCS 2007)中采取了进行两次签名的方法,给出了一个通用的构造出适用于不可信更新环境的前向安全签名方案,然后这种方法由于需要进行两次签名,实施复杂仅具有理论价值。
发明内容
本发明所要解决的技术问题是,提供一种更高效的,适用于不可信更新环境的前向安全签名方法。
本发明为解决上述技术问题所采用的技术方案是,基于不可信更新环境的前向安全数字签名方法,其特征在于,包括:
初始密钥对生成步骤:生成使用用户口令加密后的初始私钥、公钥;
签名步骤:当有信息需要签名时,先对当前私钥进行验证,再使用通过验证的当前私钥、用户口令完成对信息的签名;
密钥更新步骤:当系统时间到达更新周期且当前时间段小于系统设置的时间段最大值,则直接对利用私钥进行更新;当系统时间到达更新周期且当前时间段为系统设置的时间段最大值,则触发初始密钥对生成步骤;
签名验证步骤:当接收签名信息时,利用公钥对签名进行验证。
本发明以常用的前向安全签名方案为基础,提出了一个新的基于不可信更新环境的前向安全签名方案。在本发明中,使用口令对初始私钥进行加密。在签名时,用户需要输入口令以及用口令加密过的私钥对消息进行签名。在私钥更新过程中,并不需要用户输入口令,直接完成加密私钥的自动更新。经过试验验证,作为传统的密钥保护方法,口令加密的方式同样可以增强前向安全等具有自保护功能的密码系统的安全性。相比两次签名的基于不可信更新环境的前向安全数字签名方案,在相同安全性的情况下,更高效,实用性更强。相比基于双线性映射构造的不可信更新环境的前向安全数字签名方案,在相同安全性的情况下,本发明需构造的密钥对的长度小,复杂度更低。
本发明的有益效果是,高效、实用性强、安全性高,适用于不可信更新环境。
具体实施方式
实施例中用到的符号说明见下表:
  符号   含义
  l,k   系统安全参数
  pw   用户的口令
  T   系统设置的时间段最大值
  H   将输入字符映射到{0,1}l的hash函数
  H1   将输入字符映射到模n的乘法群上的hash函数
  PK   公钥
  EncSKi   用户在时间段i通过口令加密的私钥
  p,q   两个大素数
  M   需要签名的消息
  n   两个大素数p,q的乘积
(一)密钥对初始化:设置时间段总数T、系统安全参数k以及系统安全参数l、用户输入的口令pw,生成口令pw加密的初始私钥、公钥;具体步骤如下:
1)随机选取两个大素数p,q且满足p≡q≡3(mod4),pq<2k,2k-1<(p-1)(q-1);
2)计算
3)选取强密码杂凑函数H:{0,1}*→{0,1}l*表示任意长度,Z* n表示模n的乘法群,H为将输入的任意长度的字符映射到长度为l的字符上的hash函数,H1为将输入的任意长度的字符映射到模n的乘法群上的hash函数;
4)将输入的口令pw通过hash函数H1映射到乘法群d,d←H1(pw);再计算e使得
5)随机选取计算 V = 1 / ( a ) 2 l ( T + 1 ) mod n , v 1 = 1 / ( a 0 ) 2 l ( T + 1 ) mod n , a0=aemodn;
6)将e,p,q销毁;
7)将初始私钥EncSK0=(0,n,a0,T),其中只有a0是保密的,公钥PK=(n,T,V,v1)。
(二)数字签名:当有信息M需要签名时,先对当前私钥EncSKi=(i,n,ai,T)进行验证,i表示当前时间段为第i时间段(i=0,1,…,T),再使用通过验证的当前私钥EncSKi、口令pw完成对信息M的签名,具体步骤如下:
1、在当前第i时间段,利用公钥PK=(n,T,V,v1)完成对当前私钥EncSKi=(i,n,ai,T)的合法性验证,即验证当前私钥是否为使用正确的口令pw加密的或者是否为正确更新后的私钥:
1)计算 a &prime; = a i 2 l ( T - i + 1 ) = mod n .
2)如a′v1=1modn,则返回1,表示当前私钥合法,继续之后的数字签名处理;否则,返回0,表示当前私钥非法,不再继续签名处理,触发密钥对初始化;
2、在当前第i时间段,利用当前私钥EncSKi、口令pw对信息M签名:
1)随机选择并计算 Z = R 2 l ( T - i + 1 ) mod n , σ=H(i,Z,M), Y = Ra i &sigma;H 1 ( pw ) mod n ;
2)生成签名(i,<Y,σ>)
(三)密钥更新:当前系统时间已达更新周期,且当前第i时间段满足i=T,则触发密钥对初始化;否则,计算EncSKi+1=(i+1,n,ai+1,T),并销毁EncSKi,其中最后用更新后的私钥对当前私钥赋值EncSKi=EncSKi+1,再更新当前时间段为i=i+1。
(四)签名验证:当接收到带有签名(i,<Y,σ>)的信息M时,利用公钥PK=(n,T,V,v1)对签名进行验证,具体步骤如下:
1)为了防止接收到空串签名,先排除签名的字符为0的情况,即如Y=0modn,返回0,表示签名不合法,接收到的信息来源不安全,不再进行下面的验证步骤;
2)计算 Z &prime; = Y 2 l ( T - i + 1 ) V &sigma; mod n ;
3)计算σ′=H(i,Z′,M),如σ′与σ相同,则返回1,表示签名合法,信息来源安全;
否则返回0,表示签名不合法,接收到的信息来源不安全。
将本发明方案与Boyen方案和Libert方案进行效率对比,对比结果如下表,O(·)表示复杂度。对比内容包括密钥产生需要时间,密钥更新需要时间,签名所需时间,验证签名所需时间,公钥长度以及私钥长度。我们的方案同Abdalla和Libert的方案一样是基于大数分解困难问题的;而Boyen的方案是基于CDH问题(即计算性Diffie-Hellman)困难问题上的。通常来说,大数分解困难问题比CDH问题更难解决。从下表中可以明显看出,我们的方案在支持不可信更新环境的方案中具有一定的优势,复杂度较低,而且仅需要一次签名。

Claims (6)

1.基于不可信更新环境的前向安全数字签名方法,其特征在于,包括:
初始密钥对生成步骤:生成使用用户口令加密后的初始私钥、公钥;
签名步骤:当有信息需要签名时,先对当前私钥进行验证,再使用通过验证的当前私钥、口令完成对信息的签名;
密钥更新步骤:当系统时间到达更新周期且当前时间段小于系统设置的时间段最大值,则直接利用私钥进行更新;当系统时间到达更新周期且当前时间段为系统设置的时间段最大值时,则触发初始密钥对生成步骤;
签名验证步骤:当接收签名信息时,利用公钥对签名进行验证;
初始密钥对生成具体包括以下步骤:
1)设置时间段总数T、系统安全参数k以及系统安全参数用户输入的口令pw;
2)随机选取大素数p以及大素数q,且满足p≡q≡3(mod 4),pq<2k,2k-1<(p-1)(q-1);
3)计算两个大素数的乘积n以及两个大素数各自减1后的乘积n=pq,
4)选取强密码hash函数H以及H1其中,*表示任意长度,Z* n表示模n的乘法群,H为将输入的任意长度的字符映射到长度为的字符上的hash函数,H1为将输入的任意长度的字符映射到模n的乘法群上的hash函数;
5)将输入的口令pw通过hash函数H1映射到模n的乘法群,得到映射结果d,d←H1(pw);再计算加密因子e,
6)在模n的乘法群Z* n中随机选取参数a,利用参数a以及加密因子e计算初始私钥因子a0,a0=aemodn;利用参数a计算公钥因子V以及公钥因子v1 v 1 = 1 / ( a 0 ) 2 l ( T + 1 ) mod n ;
7)销毁加密因子e、两个大素数各自减1后的乘积大素数p以及大素数q;
8)生成初始私钥EncSK0=(0,n,a0,T),公钥PK=(n,T,V,v1),其中初始私钥因子a0为保密数据,两个大素数的乘积n、时间段总数T、公钥因子V以及公钥因子v1为公开数据。
2.如权利要求1所述基于不可信更新环境的前向安全数字签名方法,其特征在于,签名步骤中对当前私钥EncSKi=(i,n,ai,T)进行验证,i表示当前时间段为第i时间段(i=0,1,...,T),ai为第i时间段的密钥因子:在当前第i时间段,利用公钥PK=(n,T,V,v1)中的公钥因子v1来验证当前私钥EncSKi=(i,n,ai,T)中的密钥因子ai,如则表示当前私钥合法,继续签名处理;否则,表示当前私钥非法,不再继续签名处理,触发密钥对初始化。
3.如权利要求2所述基于不可信更新环境的前向安全数字签名方法,其特征在于,签名步骤中使用通过验证的当前私钥EncSKi、口令pw完成对信息M的签名,具体为:在模n的乘法群Z* n中随机选择参数R,并根据参数R计算签名因子σ以及签名因子Y,σ=H(i,Z,M),其中签名因子参数Z,生成签名(i,<Y,σ>)。
4.如权利要求3所述基于不可信更新环境的前向安全数字签名方法,其特征在于,密钥更新步骤具体为:当前系统时间已达更新周期,且当前第i时间段满足i=T,则触发密钥对初始化;否则,计算EncSKi+1=(i+1,n,ai+1,T),并销毁EncSKi,其中最用后更新后的私钥对当前私钥赋值EncSKi=EncSKi+1,再更新当前时间段为i=i+1。
5.如权利要求4所述基于不可信更新环境的前向安全数字签名方法,其特征在于,当接收到带有签名(i,<Y,σ>)的信息M时,利用公钥PK=(n,T,V,v1)对签名进行验证,具体步骤如下:
1)根据计算签名因子σ、签名因子Y以及公钥因子V计算签名因子参数Z′, Z &prime; = Y 2 l ( T - i + 1 ) V &sigma; mod n ;
2)利用签名因子参数Z′计算签名因子σ′,σ′=H(i,Z′,M),如σ′与σ相同,则表示签名合法;否则表示签名不合法,丢弃接收到的信息M。
6.如权利要求5所述基于不可信更新环境的前向安全数字签名方法,其特征在于,在计算签名因子参数Z′之前,先判断签名因子Y是否为Y=0modn,如是,表示签名不合法,丢弃接收到的信息M,否则进入签名因子参数Z′的计算步骤。
CN201210164829.6A 2012-05-24 2012-05-24 基于不可信更新环境的前向安全数字签名方法 Expired - Fee Related CN102651747B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210164829.6A CN102651747B (zh) 2012-05-24 2012-05-24 基于不可信更新环境的前向安全数字签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210164829.6A CN102651747B (zh) 2012-05-24 2012-05-24 基于不可信更新环境的前向安全数字签名方法

Publications (2)

Publication Number Publication Date
CN102651747A CN102651747A (zh) 2012-08-29
CN102651747B true CN102651747B (zh) 2015-08-19

Family

ID=46693641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210164829.6A Expired - Fee Related CN102651747B (zh) 2012-05-24 2012-05-24 基于不可信更新环境的前向安全数字签名方法

Country Status (1)

Country Link
CN (1) CN102651747B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036880A (zh) * 2012-12-12 2013-04-10 华为技术有限公司 网络信息传输方法、设备及系统
CN107017994B (zh) * 2017-04-14 2020-05-05 广州羊城通有限公司 一种数据安全验证装置
CN110837659B (zh) * 2019-09-26 2021-10-15 中国科学院软件研究所 带标签的私钥可更新数字签名方法及其在PoS区块链协议中的应用
CN112165385B (zh) * 2020-08-20 2022-09-09 中船重工(武汉)凌久高科有限公司 一种用于Web应用系统的通用数字签名方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083526A (zh) * 2007-08-07 2007-12-05 华为技术有限公司 生成密钥的方法、通信系统、通信设备和服务器
CN101425902A (zh) * 2008-11-12 2009-05-06 电子科技大学 一个具有前向安全的门限数字签名方法与系统
CN101714919A (zh) * 2009-10-29 2010-05-26 电子科技大学 基于rsa算法的前向安全数字签名算法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101083526A (zh) * 2007-08-07 2007-12-05 华为技术有限公司 生成密钥的方法、通信系统、通信设备和服务器
CN101425902A (zh) * 2008-11-12 2009-05-06 电子科技大学 一个具有前向安全的门限数字签名方法与系统
CN101714919A (zh) * 2009-10-29 2010-05-26 电子科技大学 基于rsa算法的前向安全数字签名算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种构造前向安全公钥加密算法的一般方法;李成邦 等;《信息安全与通信保密》;20090821;51-56 *
基于口令的认证密钥协商协议的安全分析与改进;舒剑 等;《通 信 学 报》;20100331;第31卷(第3期);313-315 *

Also Published As

Publication number Publication date
CN102651747A (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN103414569B (zh) 一种建立抗攻击的公钥密码的方法
Wei et al. Obtain confidentiality or/and authenticity in big data by ID-based generalized signcryption
CN107566128A (zh) 一种两方分布式sm9数字签名生成方法与系统
EP3459203B1 (en) Method and device to protect a cryptographic exponent
CN101296075B (zh) 一种基于椭圆曲线的身份认证系统
CN105791321A (zh) 一种具有抗密钥泄露特性的云存储数据公共审计方法
CN107733648A (zh) 一种基于身份的rsa数字签名生成方法及系统
CN101938354B (zh) 一种基于模幂运算的密钥分发方法及其应用
CN104301108A (zh) 一种从基于身份环境到无证书环境的签密方法
CN103973439B (zh) 一种多变量公钥加密方法
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
Guo et al. Provably secure certificate-based encryption with leakage resilience
JP2020510879A (ja) 楕円曲線点乗算デバイス及び方法
CN104184588A (zh) 基于身份的不可拆分数字签名方法
CN102651747B (zh) 基于不可信更新环境的前向安全数字签名方法
Nagaraj et al. Image encryption using elliptic curve cryptograhy and matrix
CN107332665A (zh) 一种格上基于身份的部分盲签名方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN107888380A (zh) 一种两方分布式基于身份的rsa数字签名生成方法与系统
CN101714919B (zh) 基于rsa算法的前向安全数字签名算法
CN113268542A (zh) 一种基于多方授权的区块链重写方法及系统
CN103746810B (zh) 从证书公钥系统到身份公钥系统的匿名签密方法
CN103346999B (zh) 一种支持not运算符并具有cca安全的cp-abe方法
CN107528696A (zh) 一种隐藏私钥秘密的数字签名生成方法及系统
CN106559224A (zh) 一种基于证书的抗持续泄漏加密系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150819

Termination date: 20190524