CN102546173B - 基于证书的数字签名***及签名方法 - Google Patents
基于证书的数字签名***及签名方法 Download PDFInfo
- Publication number
- CN102546173B CN102546173B CN201110426475.3A CN201110426475A CN102546173B CN 102546173 B CN102546173 B CN 102546173B CN 201110426475 A CN201110426475 A CN 201110426475A CN 102546173 B CN102546173 B CN 102546173B
- Authority
- CN
- China
- Prior art keywords
- certificate
- user
- signature
- module
- digital signature
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于证书的数字签名***,包括***参数设置模块、用户密钥产生模块、用户证书认证模块、签名模块和验证模块;***参数设置模块生成***主密钥和***公开参数,公开参数发送给其它模块;用户密钥产生模块生成各个用户的公钥和私钥对;用户证书认证模块对用户的身份和公钥进行签名,产生用户的证书并发送给签名模块;签名模块对消息进行签名并发送给验证模块;验证模块对签名模块产生的签名的有效性进行验证。此***可在保证安全性的前提下具有较小的计算代价和通信代价,提高***的运行效率;可降低基于证书的数字签名方法的计算代价和通信代价,提高基于证书的数字签名方法的运算效率。本发明还公开一种基于证书的数字签名方法。
Description
技术领域
本发明涉及网络安全的数字签名技术,特别是指一种安全高效的基于证书的数字签名***及数字签名方法。
背景技术
随着计算机网络以及通信技术的飞速发展,人类已逐步迈入信息化社会,数字化、网络化将成为全球信息化新的基础平台。在社会信息化进程中,互联网的发展极大地方便了人们的学习、工作和生活,计算机应用已经渗透到政治、经济、军事、科学文化和家庭生活等社会的各个领域。不知不觉中,信息成为了最重要的一种资源和财富,但是由于信息的传递、存储、处理等过程往往是在开放的通信网络上进行的,所以信息容易受到窃听、截取、修改、伪造、重放等各种攻击手段的威胁。
数字签名作为保障网络信息安全的手段之一,可以有效解决网络信息传输中伪造、抵赖、冒充和篡改问题,是实现电子安全交易的核心技术之一,在保证交易的安全性、真实性以及不可抵赖性等方面具有重要的作用,因而是信息安全核心技术之一,在密钥分配、电子银行、电子证券、电子商务和电子政务等领域均有重要的应用价值。
传统的数字签名体制是基于公钥基础设施的,采用的是证书的认证方式,通过权威认证机构(CA)所颁发的证书来实现用户公钥和身份信息的绑定,从而保证用户公钥的真实有效。证书管理包括证书的撤销、存储、更新等,需要很大的计算量和存储能力,特别是证书撤销问题。另外,传统的PKI技术还存在第三方询问问题。所谓第三方询问,是指第三方在使用某个用户的公钥前,需要向CA询问该用户的证书状态,以验证公钥的真实和有效性。这种方法耗费大量时间、空间和计算,一度成为公钥密码***发展的障碍。
为了简化数字证书的管理开销等问题,1984年Shamir首先提出了基于身份的密码体制的概念。基于身份的密码体制,不需要保存每个用户的公钥证书,也不需要有一个公共的文件来存储所有用户的公钥,每个用户的公钥都是由他的身份直接生成的,用户的身份可以是他的姓名、电话号码、身份证号码、通信地址或电子邮箱地址等,而用户的私钥则是由可信中心(PKG)统一产生。基于身份的密码体制虽然克服了传统公钥密码体制中存在的证书管理问题,但由于仍然需要一个可信中心来产生和发布用户的私钥,因而存在着固有的密钥托管问题,即可信中心知道任何用户的私钥,因而可以窃听任何用户的通信,进而可以解密任何用户的密文或者伪造任何用户的签名。
为了克服基于身份的密码体制中的密钥托管问题,Gentry于2003年在欧洲密码学会议上提出了一个新的公钥密码学的体制—基于证书的公钥密码体制(CBC:Certificate-based Cryptography),该体制是将传统的公钥密码体制和基于身份的密码体制的优点结合起来,消除了高代价的证书验证过程,并且不存在密钥托管的隐患。基于证书的公钥密码体制中的证书具有传统公钥密码体制中证书的全部功能,并且在解密和签名过程中作为私钥的一部分,因而在加密和签名验证过程中不存在对证书状态的第三方询问。而且,在基于证书的公钥密码体制中,证书的发送不需要通过安全信道,不存在密钥分发的问题。虽然基于证书的数字签名方案的研究有所进展,但目前的基于证书的数字签名方法在安全强度、运行效率等方面或多或少存在一些问题和不足。
基于以上分析,本发明人针对现有的基于证书的数字签名方法进行研究改进,本案由此产生。
发明内容
本发明的目的,在于提供一种基于证书的数字签名***及签名方法,其在签名过程和验证过程中不使用传统的双线性对映射,在保证安全性的前提下具有较小的计算代价和通信代价,提高了***的运行效率。
本发明的另一目的,在于提供一种基于证书的数字签名***及签名方法,其可降低基于证书的数字签名方法的计算代价和通信代价,提高基于证书的数字签名方法的运算效率。
为了达成上述目的,本发明的解决方案是:
一种基于证书的数字签名***,包括***参数设置模块、用户密钥产生模块、用户证书认证模块、签名模块和验证模块;
***参数设置模块,用于生成***主密钥和***公开参数,并将***主密钥发送给用户证书认证模块,将***公开参数发送给用户密钥产生模块、用户证书认证模块、签名模块和验证模块;
用户密钥产生模块,用于生成各个用户的公钥和私钥对,并将用户的公钥发送给用户证书认证模块和验证模块,将用户的私钥发送给签名模块;
用户证书认证模块,通过***参数设置模块发送的***主密钥和***公开参数,对用户的身份和公钥进行签名,产生用户的证书,并将用户的证书发送给签名模块;
签名模块,通过用户密钥产生模块发送的用户私钥和用户证书认证模块颁发的用户证书,对消息进行签名,并将产生的签名发送给验证模块;
验证模块,通过***参数设置模块发送的***公开参数和用户密钥产生模块发送的用户公钥,对签名模块产生的签名的有效性进行验证。
一种基于证书的数字签名方法,包括以下步骤:
A:设定***公开参数params和***的主密钥msk;
B:根据所述***公开参数params生成用户的公钥PKID和私钥uskID;
C:根据所述***公开参数params,用户的身份ID,***主密钥msk和用户的公钥PKID产生用户的证书CertID;
D:根据用户的私钥uskID和用户的证书CertID对消息m进行签名得到σ;
E:根据所述***公开参数params和用户的公钥PKID对消息m的签名σ的有效性进行验证。
上述步骤A具体包括:
A1:选取两个大素数p和q且满足q|p-1;
A2:随机选取的一个生成元g,选取一个抗碰撞的杂凑哈希函数H;
A3:随机选取x计算***主公钥y=gxmodp;
***公开参数params为<p,q,g,y,H>,***主密钥msk为x。
上述步骤A2中,所选的杂凑哈希函数H选用哈希函数MD-5、SHA-1、SHA-2或SHA-3。
上述步骤B具体包括:
B1:随机选取xID 作为用户的私钥uskID;
B2:计算作为用户的公钥。
上述步骤C具体包括:
C1:随机选取s计算W=gsmodp;
C2:计算R=s+xH(ID,PKID,W)modq,得到用户的证书CertID=<W,R>。
上述步骤D具体包括:
D1:随机选取r计算U=grmodp;
D2:计算h1=H(m,PKID,U,W)和h2=H(m,ID,PKID,U,W);
D3:计算z=R+xID·h1+r·h2modq,得到消息m对应的签名为σ=<U,W,z>。
上述步骤E具体包括:
E1:计算h0=H(ID,PKID,W),h1=H(m,PKID,U,W)和h2=H(m,ID,PKID,U,W);
E2:验证等式是否成立,若等式成立,则接受签名,否则,拒绝签名。
采用上述方案后,本发明在保证签名安全性的情况下,降低了签名方案的计算代价和通信代价,提高了签名服务器的处理效率,节省了签名服务器的运算资源,是一种新的安全高效的数字签名方法。
附图说明
图1是本发明基于证书的数字签名***示意图;
图2是本发明基于证书的数字签名方法的流程图;
图3是本发明应用于基于组件属性远程证明***的示意图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
如图1所示,依照本发明基于证书的数字签名***包括***参数设置模块A、用户密钥产生模块B、用户证书认证模块C、签名模块D和验证模块E。
其中,***参数设置模块A用于生成***主密钥msk和***公开参数params,并将***主密钥msk发送给用户证书认证模块C,将***公开参数params分别发送给用户密钥产生模块B、用户证书认证模块C、签名模块D和验证模块E。
用户密钥产生模块B用于生成各个用户的公钥PKID和私钥uskID,并将用户的公钥PKID发送给用户证书认证模块C和验证模块E,将用户的私钥uskID发送给签名模块D。
用户证书认证模块C通过***参数设置模块A发送的***主密钥msk和***公开参数params,对合法用户的身份ID和公钥PKID进行签名,产生用户的证书CertID,并将用户的证书CertID发送给签名模块。
签名模块D通过用户密钥产生模块B发送的用户私钥uskID和用户证书认证模块C颁发的用户证书CertID,对消息m进行签名,并将产生的签名σ发送给验证模块E。
验证模块E通过***参数设置模块A发送的***公开参数params和用户密钥产生模块B发送的用户公钥PKID,对签名模块D产生的签名σ的有效性进行验证。
下面将结合数字签名方法的流程图对该数字签名***中的各个模块的操作进行具体说明。
如图2所示,该***参数设置模块A执行以下步骤:
A1:选取两个大素数p和q且满足q|p-1,其中p为1024位的整数,q为160位的整数;
A2:随机选取的一个生成元g,选取SHA-1作为抗碰撞的哈希函数H(·);
A3:随机选取x计算***主公钥y=gxmodp。
综合上述信息,***参数设置模块A返回***公开参数params为<p,q,g,y,H>,***主密钥msk为x。
该用户密钥产生模块B执行以下步骤:
B1:随机选取xID作为用户的私钥uskID;
B2:计算作为用户的公钥。
该用户证书认证模块C执行以下步骤:
C1:随机选取s计算W=gsmodp;
C2:计算R=s+xH(ID,PKID,W)modq,得到用户的证书CertID=<W,R>。
该签名模块D执行以下步骤:
D1:随机选取r计算U=grmodp;
D2:计算h1=H(m,PKID,U,W)和h2=H(m,ID,PKID,U,W);
D3:计算z=R+xID·h1+r·h2modq,得到消息m对应的签名为σ=<U,W,z>。
该验证模块E执行以下步骤:
E1:计算h0=H(ID,PKID,W),h1=H(m,PKID,U,W),h2=H(m,ID,PKID,U,W);
E2:验证等式是否成立,若等式成立,则接受签名,否则,拒绝签名。
下面将对如上所述的依照本发明的基于证书的数字签名***应用于基于组件属性可信终端的远程证明***中的情形进行说明。
以证明计算平台可信为目标的远程证明是可信计算的重要特色功能之一,已经受到国内外科研机构的广泛关注。随着远程证明的不断发展,出现了基于组件属性的远程证明方案(component property-based attestation,简称CPBA)。
在基于组件属性的远程证明(CPBA)方法中,组件属性证书的颁发、撤销和验证均使用传统的PKI方法实现。因此,组件属性证明的效率较低,特别是对大数量组件的属性证明时,计算和通信代价较大,不是特别适用。依照本发明的高效的基于证书的数字签名方法,不仅可以为可信平台(TPM)的证书发放和撤销提供新方法,而且也可用于可信计算平台身份证明方法即隐私CA(Pricacy-CA)的构造,从而能够形成更加实用的远程证明方法。
如图3所示,改进的基于组件属性的远程证明***包含组件生产厂商、用户平台、服务提供者、证书发布权威机构这4个角色。除了组件生产厂商外,其他3个角色参与组件属性证明的远程证明过程。我们用下列符号来表示***中的各个参与者:
CA:证书发布权威机构(Certificate Authority),主要执行图1***参数设置模块A和用户证书认证模块C中的算法,负责***参数的产生和发布、撤销组件属性证书;
USER:用户平台,包括主机(HOST)和可信平台模块(TPM)两部分,主要执行图1用户密钥产生模块B和签名模块D中的算法,属于证明协议中的证明者;
SP:服务提供者(Service Provider),主要执行图1验证模块E中的算法,提出属性证明要求,验证组件属性证明。
可信计算平台的基于组件属性的远程证明方案(CPBA)是属性权威机构为各种类型组件颁发的属性证书,属性证书与软、硬件绑定共同发布,平台证明者根据配置的组件属性证书和TPM的完整性度量向服务提供者证明其当前运行配置状态满足一定的安全属性。改进的基于组件属性的远程证明方案不需要第三方询问,提高了基于组件属性的远程证明***的效率。由图3的体系结构可以看出,改进的CPBA证明由以下步骤组成:
初始化(Setup):由证书发布权威机构(CA)执行图1***参数设置模块A中的算法,生成***主密钥msk和***公开参数params,并将***公开参数params分别发送给USER和SP;
注册(Register):由用户平台(USER)执行图1用户密钥产生模块B中的算法,生成用户平台的公钥PKID和私钥uskID,并将PKID和平台组件属性发送给CA和SP,然后CA执行用户证书认证模块C中的算法,为用户平台组件属性颁发证书CertID;
证明(Attest):用户平台(包括HOST和TPM)根据服务提供者(SP)的证明请求,执行图1签名模块D中的算法,用自己的私钥uskID和证书CertID计算平台组件属性签名σ,然后向SP发送签名σ进行远程证明;
验证(Verify):由服务提供者(SP)执行图1验证模块E中的算法,用***公开参数params和用户平台公钥PKID对平台组件属性签名σ进行验证。
改进的基于组件属性可信终端的远程证明***引入了基于证书的数字签名方案,消除了证书的第三方询问,减少了***的计算代价和通信代价,提高了远程证明***的效率。
对该技术领域的普通技术人员来说,根据以上实施类型可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述具体实施例,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员可以根据上述具体实施例通过各种等同替换所得到的技术方案均应该包含在本发明的权利要求的范围及其等同的范围之内。
Claims (5)
1.一种基于证书的数字签名方法,其特征在于包括以下步骤:
A:设定***公开参数params和***的主密钥msk;
B:根据所述***公开参数params生成用户的公钥PKID和私钥uskID;
C:根据所述***公开参数params,用户的身份ID,***主密钥msk和用户的公钥PKID产生用户的证书CertID;
D:根据用户的私钥uskID和用户的证书CertID对消息m进行签名得到σ;
E:根据所述***公开参数params和用户的公钥PKID对消息m的签名σ的有效性进行验证;
所述步骤A具体包括:
A1:选取两个大素数p和q且满足q|p-1,其中p为1024位的整数,q为160位的整数;
A2:随机选取的一个生成元g,选取一个抗碰撞的杂凑哈希函数H;
A3:随机选取计算***主公钥y=gxmodp;
***公开参数params为<p,q,g,y,H>,***主密钥msk为x;
所述步骤B具体包括:
B1:随机选取作为用户的私钥uskID;
B2:计算作为用户的公钥。
2.如权利要求1所述的基于证书的数字签名方法,其特征在于,所述步骤A2中,所选的杂凑哈希函数H选用哈希函数MD-5、SHA-1、SHA-2或SHA-3。
3.如权利要求1所述的基于证书的数字签名方法,其特征在于所述步骤C具体包括:
C1:随机选取计算W=gsmodp;
C2:计算R=s+xH(ID,PKID,W)modq,得到用户的证书CertID=<W,R>。
4.如权利要求3所述的基于证书的数字签名方法,其特征在于所述步骤D具体包括:
D1:随机选取计算U=grmodp;
D2:计算h1=H(m,PKID,U,W)和h2=H(m,ID,PKID,U,W);
D3:计算z=R+xID·h1+r·h2modq,得到消息m对应的签名为σ=<U,W,z>。
5.如权利要求4所述的基于证书的数字签名方法,其特征在于所述步骤E具体包括:
E1:计算h0=H(ID,PKID,W),h1=H(m,PKID,U,W)和h2=H(m,ID,PKID,U,W);
E2:验证等式是否成立,若等式成立,则接受签名,否则,拒绝签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110426475.3A CN102546173B (zh) | 2011-12-19 | 2011-12-19 | 基于证书的数字签名***及签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110426475.3A CN102546173B (zh) | 2011-12-19 | 2011-12-19 | 基于证书的数字签名***及签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546173A CN102546173A (zh) | 2012-07-04 |
CN102546173B true CN102546173B (zh) | 2014-09-10 |
Family
ID=46352190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110426475.3A Expired - Fee Related CN102546173B (zh) | 2011-12-19 | 2011-12-19 | 基于证书的数字签名***及签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546173B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106209743A (zh) * | 2015-05-06 | 2016-12-07 | 广州星海智慧家庭***集成有限公司 | 一种基于身份签名的数字家庭集成***认证方法 |
CN104868993A (zh) * | 2015-05-15 | 2015-08-26 | 河海大学 | 一种基于证书的两方认证密钥协商方法及*** |
CN105281910A (zh) * | 2015-06-26 | 2016-01-27 | 浙江巨联科技股份有限公司 | 带ca数字证书作为入网身份识别的物联网锁及其入网身份识别方法 |
CN105376064B (zh) * | 2015-11-23 | 2018-08-28 | 河海大学 | 一种匿名消息认证***及其消息签名方法 |
CN107979459A (zh) * | 2016-10-24 | 2018-05-01 | 福建凯特信息安全技术有限公司 | 一种基于电子证照的数字签名应用方法 |
CN110768799B (zh) * | 2019-12-30 | 2020-04-14 | ***股份有限公司 | 数字签名方法、装置、设备及介质、*** |
CN112073173A (zh) * | 2020-09-07 | 2020-12-11 | 中国人民解放军战略支援部队信息工程大学 | 一种面向区块链pki的非法签名者确定*** |
CN114598455A (zh) * | 2020-12-04 | 2022-06-07 | 华为技术有限公司 | 数字证书签发的方法、装置、终端实体和*** |
CN113541972B (zh) * | 2021-09-17 | 2021-12-17 | 杭州天谷信息科技有限公司 | 一种数字证书生成方法及电子签名方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697513A (zh) * | 2009-10-26 | 2010-04-21 | 深圳华为通信技术有限公司 | 数字签名方法、验证方法、数字签名装置及数字签名*** |
CN101873307A (zh) * | 2010-03-19 | 2010-10-27 | 上海交通大学 | 基于身份的前向安全的数字签名方法、装置及*** |
CN102420691B (zh) * | 2011-12-16 | 2014-04-16 | 河海大学 | 基于证书的前向安全签名方法及*** |
-
2011
- 2011-12-19 CN CN201110426475.3A patent/CN102546173B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
Improvement of Threshold Signature Scheme Using Self-Certified Public Key;Jiguo Li 等;《Innovative Computing, Information and Control, 2006》;20060901;第480-483页 * |
Jiguo Li 等.Improvement of Threshold Signature Scheme Using Self-Certified Public Key.《Innovative Computing, Information and Control, 2006》.2006,第480-483页. |
Also Published As
Publication number | Publication date |
---|---|
CN102546173A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546173B (zh) | 基于证书的数字签名***及签名方法 | |
CN101674304B (zh) | 一种网络身份认证***及方法 | |
CN107733648B (zh) | 一种基于身份的rsa数字签名生成方法及*** | |
EP2302834B1 (en) | System and method for providing credentials | |
CN106341232B (zh) | 一种基于口令的匿名实体鉴别方法 | |
Toorani et al. | LPKI-a lightweight public key infrastructure for the mobile environments | |
CN103297241B (zh) | 一种一次性公钥匿名签密的构造方法 | |
CN102594558A (zh) | 一种可信计算环境的匿名数字证书***及验证方法 | |
CN101951388A (zh) | 一种可信计算环境中的远程证明方法 | |
CN108881279B (zh) | 一种移动健康医疗传感器数据隐私保护方法 | |
JP2002534701A (ja) | 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム | |
KR20030008182A (ko) | 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 방법 | |
CN109600228A (zh) | 基于公共密钥池的抗量子计算的签章方法和签章*** | |
KR20030062401A (ko) | 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법 | |
Kwon | Privacy preservation with X. 509 standard certificates | |
CN109617700A (zh) | 基于无证书的单向多跳代理重签名方法 | |
CN114866255B (zh) | 以用户为中心面向多idp聚合的多因素认证方法 | |
Cho et al. | Big data cloud deduplication based on verifiable hash convergent group signcryption | |
Chen et al. | Strongly secure certificateless key-insulated signature secure in the standard model | |
Cheng et al. | Cryptanalysis and improvement of a certificateless partially blind signature | |
Tian et al. | Cryptanalysis and improvement of a certificateless multi-proxy signature scheme | |
Shao et al. | Certificate‐based verifiably encrypted RSA signatures | |
CN114301612A (zh) | 信息处理方法、通信设备和加密设备 | |
CN101599830A (zh) | 基于身份标识的企事业电子签名方法及可信任*** | |
Kwon et al. | An efficient ID-based verifiably encrypted signature scheme based on Hess’s scheme |
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: 20140910 Termination date: 20181219 |