CN102983971B - 网络环境中进行用户身份认证的无证书签名方法 - Google Patents
网络环境中进行用户身份认证的无证书签名方法 Download PDFInfo
- Publication number
- CN102983971B CN102983971B CN201210381880.2A CN201210381880A CN102983971B CN 102983971 B CN102983971 B CN 102983971B CN 201210381880 A CN201210381880 A CN 201210381880A CN 102983971 B CN102983971 B CN 102983971B
- Authority
- CN
- China
- Prior art keywords
- user
- private key
- key
- signature
- identity
- 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
Links
Abstract
本发明公开了一种高效的无证书签名算法,该算法消除了传统公钥密码体制的证书管理问题以及基于身份密码体制中的密钥托管问题,在无证书环境下是安全的;该算法计算过程简单、高效,不需要使用特殊的哈希函数,并且输出的签名长度也很短。该算法具有很高的安全性和执行效率,可有效应用于对安全性要求较高的签名环境中。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种网络环境中进行用户身份认证的无证书签名方法。
背景技术
在网络环境下,我们需要对用户发送数据的完整性以及用户的身份进行确认,这就需要安全的数字签名算法。数字签名算法是利用公钥密码体制来实现的。由于传统的公钥密码体制存在证书的管理和验证等问题,基于身份的公钥密码体制存在密钥托管问题,所以目前很多数字签名方案都是基于无证书公钥密码体制的。在无证书公钥密码体制中,用户的公钥不需要认证,其私钥是由密钥生成中心(Key Generation Center,简称KGC)和用户共同决定的,这样就同时避免了证书管理和密钥托管问题。
一种可以被广泛使用的数字签名算法首先必须是安全的,其次要尽可能的高效。尽管无证书签名算法比传统的和基于身份的数字签名算法具有更好的执行效率,然而其面临的安全威胁更多。一般来说,无证书环境下有两类敌手:一种是恶意的用户,他可以替换用户的公钥;另一种是恶意的KGC,他知道系统主密钥。目前,大多数无证书签名算法都不能同时抵抗这两类敌手的攻击。
文献[R.Tso,X.Huang,W.Susilo,“Strongly secure certificateless shortsignatures”,2012]提出了一种安全性非常高的无证书签名算法。该算法可以同时抵抗上述两类敌手的攻击,且其签名长度很短,仅为|G1|(|G1|代表群G1的元素大小)。然而,该算法的执行效率较低。该算法生成一个签名需要用到非常复杂的特殊哈希函数,验证一个签名也需要4次复杂的双线性对运算。因此,该算法并不适合在一些对计算效率有较高要求的环境中使用,例如,该算法不适合在手持终端设备中使用。本发明因此而来。
发明内容
本发明目的在于提供一种网络环境中进行用户身份认证的无证书签名方法,该方法解决了现有安全无证书签名算法执行效率低下的问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种网络环境中进行用户身份认证的无证书签名方法,其特征在于所述方法包括以下步骤:
S01:密钥生成中心(KGC)生成用户部分私钥D,并将用户部分私钥D发送给用户;
S02:用户对部分私钥D进行验证;当部分私钥D无效时继续步骤S01,否则进行步骤S03;
S03:用户设置秘密值X,根据D和X,生成用户的公钥和私钥S;
S04:用户利用私钥S,生成用户对消息的无证书签名,然后输出该无证书签名;
所述方法中假设循环群G1和G2的阶均为q,双线性对为e:G1×G1→G2,密钥生成中心(KGC)的主密钥为两个安全哈希函数分别为P为G1的生成元,Q=sP是密钥生成中心(KGC)的公钥,其中密钥生成中心(KGC)仅公开参数PP=(e,H1,H2,Q,g),g=e(P,P),具体按照如下步骤进行:
(1)用户输入主密钥以及用户的身份ID∈{0,1}*向密钥生成中心发送请求;密钥生成中心随机选择计算部分私钥(RID,zID),其中RID=rIDP,zID=rID+H1(ID,RID)s mod q;然后密钥生成中心将部分私钥(RID,zID)发送给身份为ID的用户;
(2)身份为ID的用户收到部分私钥(RID,zID)后,验证zIDP=RID+H1(ID,RID)Q是否成立;如果等式成立,则用户接受部分私钥(RID,zID)并进入步骤(3),否则用户继续请求密钥生成中心发送一个新的部分私钥;
(3)身份为ID的用户随机选择一个秘密值根据其秘密值和部分私钥(RID,zID)设置其完全私钥SID=(xID,zID,RID)和公钥pkID=(UID,RID),其中UID=xIDP;
(4)身份为ID的用户输入参数PP和待签名消息m∈{0,1}*,然后利用其公钥pkID和私钥SID计算h=H2(PP,m,ID,pkID),并输出签名σ=(hzID+xID)-1P;
(5)密钥生成中心通过参数PP,消息m∈{0,1}*,签名σ,用户身份ID以及相应的公钥pkID,通过验证e(σ,h(RID+H1(ID,RID)Q)+UID)=g是否成立;如果成立,则签名有效,否则签名无效。
本发明无证书签名方法安全、高效,可以用于对安全性和效率要求都比较高的签名环境下。本发明可为网络环境下用户身份和发送数据完整性的验证提供了一种安全、高效的签名算法。该算法可以同时抵抗无证书环境下两类敌手的攻击,且易于实现,执行效率高,尤其适合计算能力弱、能量受限的移动终端设备使用。
相对于现有技术中的方案,本发明的优点是:
本发明的方法不仅具有较高的安全性,而且其计算效率也很高。通过理论分析和实验验证可知,本算法不需要特殊的哈希函数,计算效率高,签名长度短。本发明可有效应用于计算能力和能量均受限的移动终端设备中。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明高效的无证书签名算法的流程图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
本实施例中进行无证书签名方法按照以下步骤进行:
(1)假设两个阶为q的循环群G1和G2,一个双线性对e:G1×G1→G2和密钥生成中心(KGC)的主密钥以及两个安全哈希函数令P为G1的生成元,Q=sP是KGC的公钥,g=e(P,P),则密钥生成中心(KGC)公开参数PP=(e,H1,H2,Q,g);本实施例选择美国国家标准技术局推荐的P-192椭圆曲线,相应的双线性对e和生成元P都由其确定。哈希函数H1,H2选择SHA-2,主密钥s选择中一个的随机数。
(2)用户输入主密钥以及用户的身份ID∈{0,1}*,KGC随机选择并计算RID=rIDP和zID=rID+H1(ID,RID)s mod q;最后,KGC将(RID,zID)发送给身份为ID的用户;ID∈{0,1}*表示用户的身份ID是任意长度0,1比特字符串.RID=rIDP是G1的一个元素,zID=rID+H1(ID,RID)s mod q是模q中的数。(下同)
(3)身份为ID的用户收到(RID,zID)后,验证zIDP=RID+H1(ID,RID)Q是否成立;如果等式成立,则用户接受(RID,zID)并进入下一步,否则用户要求KGC发送一个新的部分私钥。
(4)身份为ID的用户随机选择一个秘密值
(5)身份为ID的用户根据其秘密值和部分私钥(RID,zID)设置其完全私钥SID=(xID,zID,RID);
(6)身份为ID的用户根据其秘密值和部分私钥(RID,zID),设置其公钥为pkID=(UID,RID),其中UID=xIDP;
(7)根据公开的参数PP和待签名消息m∈{0,1}*,身份为ID的用户利用其公钥pkID和私钥SID,首先计算h=H2(PP,m,ID,pkID),然后计算并输出签名σ=(hzID+xID)-1P;m∈{0,1}*含义与ID∈{0,1}*相同。
(8)根据公开的参数PP,消息m∈{0,1}*,签名σ,身份ID以及相应的公钥pkID,验证者首先计算双线性对e(σ,h(RID+H1(ID,RID)Q)+UID),然后判断e(σ,h(RID+H1(ID,RID)Q)+UID)=g是否成立;如果成立,则签名有效,否则签名无效。
本实施例的方法具体以下特点:
1.无证书环境下签名的不可伪造性:每个用户对消息的签名都是唯一的,没有相应完全私钥的任何其他人即使有部分私钥也不能伪造一个合法的签名。
2.高效性:为了实现无证书环境下签名的安全性,本发明方法可能会损失签名算法的部分效率,但是这个损失要尽量小。
在无证书环境下,用户不再需要配置繁复的基础协议,但是这导致网络中的攻击者能力大大增强。无证书环境下的攻击者分为两大类,第一类攻击者代表恶意的用户,他可以自由替换其公钥,但是不能得到用户的部分私钥;第二类攻击者代表恶意的KGC,他可以得到KGC的所有信息,但是不能替换任何用户的公钥。该算法考虑了在不安全的无证书网络环境下算法安全运行的方法,使得任何一类攻击者都无法伪造合法签名。
同时,本发明方法也考虑了算法的效率问题,尽量提高其效率。本发明方法主要从以下几个方面来提高算法效率。首先,使用了普通的哈希函数来替代特殊的哈希函数。特殊哈希函数需要更多的计算时间,且输出不是确定性的。其次,在签名的生成过程中一直没有使用双线性配对运算,仅在验证签名时需要使用一次配对运算。双线性配对运算所消耗的时间远远大于其他运算所消耗的时间。最后,本发明方法签名是短的,这可以有效降低签名的存储和传输开销。
具体来说,签名算法主要分为两个阶段。第一个阶段(包括步骤1到步骤6)是用户的完全私钥和公钥生成阶段。在这一阶段,用户和KGC合作生成用户的完全私钥和公钥,用来对消息进行签名和验证。首先,KGC选择两个阶为q的循环群G1和G2,一个双线性对e:G1×G1→G2和主密钥以及两个安全的普通哈希函数令P为G1的生成元,计算其公钥Q=sP,g=e(P,P),则KGC公开系统参数PP=(e,H1,H2,Q,g);接着,输入系统主密钥以及用户的身份ID∈{0,1}*,KGC随机选择计算RID=rIDP和zID=rID+H1(ID,RID)s mod q,并将(RID,zID)发送给身份该用户;用户收到(RID,zID)后,验证zIDP=RID+H1(ID,RID)Q是否成立,当且仅当等式成立时,用户才接受(RID,zID);然后,身份为ID的用户随机选择一个秘密值并根据其秘密值和部分私钥(RID,zID)设置其完全私钥SID=(xID,zID,RID);最后,身份为ID的用户根据其秘密值和部分私钥(RID,zID),设置其公钥为pkID=(UID,RID),其中UID=xIDP。
第二个阶段(包括步骤7到步骤8)是签名的生成和验证阶段。在这一阶段,输入系统公开参数PP和消息m∈{0,1}*,身份为ID的用户利用其公钥pkID和私钥SID,计算h=H2(PP,m,ID,pkID)和签名σ=(hzID+xID)-1P;给定系统公开参数PP,消息m∈{0,1}*,签名σ,身份ID以及相应的公钥pkID,验证者验证e(σ,h(RID+H1(ID,RID)Q)+UID)=g是否成立;如果成立,则签名有效,否则签名无效。
下面是算法的具体执行结果。
设Te表示一次双线性配对运算所花费的时间,Tmul和Tadd分别表示一次点乘运算和点加运算所花费的时间。由于一次哈希运算以及数的加法和乘法运算花费时间很少,因此我们将其忽略。通过理论分析可知,算法总的花费时间是Te+6Tmul+2Tadd,其中在第一阶段花费的时间是4Tmul+Tadd,在第二阶段花费的时间是Te+2Tmul+Tadd,因此算法是高效的。下面通过具体实例来说明。实验平台配置为:Intel Pentium IV 3.00GHz CPU和512MB内存。测试的运行时间(单位毫秒),如下表:
表1
从该表中可以看出,该签名算法运行效率很高。在实际应用中,我们大多情况下只需要运行算法的第二阶段,因此其计算效率还可以进一步提高。
下面对算法的安全性进行分析。
在第一类和第二类攻击者存在的情况下,该算法都是不可伪造的。首先我们考虑第一类攻击者存在时的情况。我们知道,第一类攻击者只能替换用户的公钥却无法获得KGC发送的部分私钥,并且签名σ=(hzID+xID)-1P。如果第一类敌手能够伪造合法签名,那么他必须通过替换用户公钥来消除hH1(ID,RID)Q。然而,h=H2(PP,m,ID,pkID)是其公钥的函数,这导致第一类攻击者不能消除hH1(ID,RID)Q,从而也无法伪造合法签名。下面我们考虑第二类攻击者存在时的情况。第二类攻击者可以知道KGC拥有的所有秘密但是不能替换用户的公钥。如果第二类攻击者希望伪造合法签名,则他必须知道xID的值。然而,由于第二类攻击者无法替换用户的公钥,使得他无法知道xID的值。因此,该算法对第二类攻击者也是安全的。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (1)
1.一种网络环境中进行用户身份认证的无证书签名方法,其特征在于所述方法包括以下步骤:
S01:密钥生成中心(KGC)生成用户部分私钥D,并将用户部分私钥D发送给用户;
S02:用户对部分私钥D进行验证;当部分私钥D无效时继续步骤S01,否则进行步骤S03;
S03:用户设置秘密值X,根据D和X,生成用户的公钥和私钥S;
S04:用户利用私钥S,生成用户对消息的无证书签名,然后输出该无证书签名;
所述方法中假设循环群G1和G2的阶均为q,双线性对为e:G1×G1→G2,密钥生成中心(KGC)的主密钥为两个安全哈希函数分别为P为G1的生成元,Q=sP是密钥生成中心(KGC)的公钥,其中密钥生成中心(KGC)仅公开参数PP=(e,H1,H2,Q,g),g=e(P,P),具体按照如下步骤进行:
(1)用户输入主密钥以及用户的身份ID∈{0,1}*向密钥生成中心发送请求;密钥生成中心随机选择计算部分私钥(RID,zID),其中RID=rIDP,zID=rID+H1(ID,RID)smodq;然后密钥生成中心将部分私钥(RID,zID)发送给身份为ID的用户;
(2)身份为ID的用户收到部分私钥(RID,zID)后,验证zIDP=RID+H1(ID,RID)Q是否成立;如果等式成立,则用户接受部分私钥(RID,zID)并进入步骤(3),否则用户继续请求密钥生成中心发送一个新的部分私钥;
(3)身份为ID的用户随机选择一个秘密值根据其秘密值和部分私钥(RID,zID)设置其完全私钥SID=(xID,zID,RID)和公钥pkID=(UID,RID),其中UID=xIDP;
(4)身份为ID的用户输入参数PP和待签名消息然后利用其公钥pkID和私钥SID计算h=H2(PP,m,ID,pkID),并输出签名σ=(hzID+xID)-1P;
(5)密钥生成中心通过参数PP,消息m∈{0,1}*,签名σ,用户身份ID以及相应的公钥pkID,通过验证e(σ,h(RID+H1(ID,RID)Q)+UID)=g是否成立;如果成立,则签名有效,否则签名无效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210381880.2A CN102983971B (zh) | 2012-10-10 | 2012-10-10 | 网络环境中进行用户身份认证的无证书签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210381880.2A CN102983971B (zh) | 2012-10-10 | 2012-10-10 | 网络环境中进行用户身份认证的无证书签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102983971A CN102983971A (zh) | 2013-03-20 |
CN102983971B true CN102983971B (zh) | 2015-07-15 |
Family
ID=47857733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210381880.2A Expired - Fee Related CN102983971B (zh) | 2012-10-10 | 2012-10-10 | 网络环境中进行用户身份认证的无证书签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102983971B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667624A (zh) * | 2018-06-27 | 2018-10-16 | 深圳大学 | 一种标准模型下的紧凑环签名方法及系统 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092686B (zh) * | 2014-07-14 | 2017-06-09 | 中国科学技术大学苏州研究院 | 基于svm分类器的隐私保护和数据安全访问的方法 |
CN104184588B (zh) * | 2014-08-15 | 2017-09-08 | 同济大学 | 基于身份的不可拆分数字签名方法 |
CN104270249B (zh) * | 2014-09-23 | 2017-10-17 | 电子科技大学 | 一种从无证书环境到基于身份环境的签密方法 |
CN104301108B (zh) * | 2014-09-23 | 2017-10-17 | 电子科技大学 | 一种从基于身份环境到无证书环境的签密方法 |
CN104320259B (zh) * | 2014-10-31 | 2017-10-24 | 西安电子科技大学 | 基于Schnorr签名算法的无证书签名方法 |
CN104868993A (zh) * | 2015-05-15 | 2015-08-26 | 河海大学 | 一种基于证书的两方认证密钥协商方法及系统 |
CN106059766B (zh) * | 2016-08-04 | 2019-09-24 | 河海大学 | 一种基于无证书批验证的车联网条件隐私保护方法与系统 |
CN106571912B (zh) * | 2016-10-31 | 2019-10-01 | 全球能源互联网研究院有限公司 | 一种面向电力系统的两方认证方法 |
CN108989050B (zh) * | 2018-08-23 | 2020-08-11 | 电子科技大学 | 一种无证书数字签名方法 |
CN109257181B (zh) * | 2018-10-17 | 2019-10-29 | 西安邮电大学 | 无证书环境下椭圆曲线盲签密方法 |
CN110351096B (zh) * | 2019-07-24 | 2022-02-01 | 深圳壹账通智能科技有限公司 | 多重签名方法、签名中心、程序介质及电子设备 |
CN112333701B (zh) * | 2020-10-23 | 2021-12-10 | 中国科学技术大学 | 一种大规模物联网场景下基于身份的跨域认证方法 |
CN113259103B (zh) * | 2021-06-16 | 2021-11-09 | 北京信安世纪科技股份有限公司 | 签名方法及装置、验证方法及装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832397A (zh) * | 2005-11-28 | 2006-09-13 | 北京浦奥得数码技术有限公司 | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 |
CN102420810A (zh) * | 2011-09-28 | 2012-04-18 | 盛乐信息技术(上海)有限公司 | 基于无证书公钥机制的网络文件系统及方法 |
-
2012
- 2012-10-10 CN CN201210381880.2A patent/CN102983971B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832397A (zh) * | 2005-11-28 | 2006-09-13 | 北京浦奥得数码技术有限公司 | 电子设备接口间基于公钥证书的认证密钥协商和更新方法 |
CN102420810A (zh) * | 2011-09-28 | 2012-04-18 | 盛乐信息技术(上海)有限公司 | 基于无证书公钥机制的网络文件系统及方法 |
Non-Patent Citations (1)
Title |
---|
P2P中基于CL-PKC的文件共享系统;冯新泉;《厦门大学硕士学位论文》;20091231;参见正文第25页第13行到第27页第2行,正文第41页第1行到第42页第1行 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667624A (zh) * | 2018-06-27 | 2018-10-16 | 深圳大学 | 一种标准模型下的紧凑环签名方法及系统 |
CN108667624B (zh) * | 2018-06-27 | 2020-11-13 | 深圳大学 | 一种标准模型下的紧凑环签名方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102983971A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102983971B (zh) | 网络环境中进行用户身份认证的无证书签名方法 | |
US10944575B2 (en) | Implicitly certified digital signatures | |
Zhang et al. | SCLPV: Secure certificateless public verification for cloud-based cyber-physical-social systems against malicious auditors | |
CN103023648B (zh) | 基于椭圆曲线离散对数问题的无证书签名方法 | |
CN103795534B (zh) | 基于口令的认证方法及用于执行该方法的装置 | |
EP2533457B1 (en) | Secure implicit certificate chaining | |
CN103259662B (zh) | 一种新的基于整数分解问题的代理签名及验证方法 | |
CN103699851A (zh) | 一种面向云存储的远程数据完整性验证方法 | |
CN108737391B (zh) | 信息服务实体身份标识快速撤销方法 | |
CN103117860B (zh) | 无证书盲环签名方法 | |
CN106130716A (zh) | 基于认证信息的密钥交换系统及方法 | |
Chow et al. | Server-aided signatures verification secure against collusion attack | |
Kim et al. | Device authentication protocol for smart grid systems using homomorphic hash | |
CN112839041B (zh) | 基于区块链的电网身份认证方法、装置、介质和设备 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN103634788A (zh) | 前向安全的无证书多代理签密方法 | |
CN106936584A (zh) | 一种无证书公钥密码系统的构造方法 | |
Zhao et al. | Fuzzy identity-based dynamic auditing of big data on cloud storage | |
CN103414731A (zh) | 一种并行密钥隔离的基于身份的聚合签名方法 | |
CN109617700A (zh) | 基于无证书的单向多跳代理重签名方法 | |
Xia et al. | An improved privacy preserving construction for data integrity verification in cloud storage | |
CN112800482A (zh) | 基于身份的在线/离线安全云存储审计方法 | |
CN104158662A (zh) | 基于XAdES的多人电子凭证及实现方法 | |
CN115765983A (zh) | 一种群签名方法和签名中心群管理员节点 | |
Zhou | Security analysis of a certificateless public provable data possession scheme with privacy preserving for cloud-based smart grid data management system |
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: 20150715 Termination date: 20161010 |