CN112906059A - 代理签名和验证方法、装置、系统及存储介质 - Google Patents

代理签名和验证方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN112906059A
CN112906059A CN202110072055.3A CN202110072055A CN112906059A CN 112906059 A CN112906059 A CN 112906059A CN 202110072055 A CN202110072055 A CN 202110072055A CN 112906059 A CN112906059 A CN 112906059A
Authority
CN
China
Prior art keywords
key
private key
proxy
public key
output value
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.)
Granted
Application number
CN202110072055.3A
Other languages
English (en)
Other versions
CN112906059B (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN202110072055.3A priority Critical patent/CN112906059B/zh
Publication of CN112906059A publication Critical patent/CN112906059A/zh
Application granted granted Critical
Publication of CN112906059B publication Critical patent/CN112906059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种代理签名和验证方法、装置、系统及存储介质,其中该方法包括:获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,系统参数包括第一双线性映射函数;根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证;在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。利用上述方法,能够提高代理签名过程中的安全性。

Description

代理签名和验证方法、装置、系统及存储介质
技术领域
本申请属于数据安全技术领域,具体涉及一种代理签名和验证方法、装置、系统及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认其为现有技术。
现实社会中,有些用户(下文称为“委托用户”)在业务办理期间中可能由于一些原因无法亲自进行签字,因而需要将自己的签名权临时委托给可靠的代理用户以便代理用户代替自己签字。例如,委托用户在出差或者患病时,可以委托可靠的代理用户对一些不怎么重要的合同进行签约。
为保障委托用户和代理用户的权益,提高代理签名过程的安全性,一方面要保证代理用户和委托用户对同一消息的签名是可区分的,另一方面要保证代理用户无法推导出委托用户的私钥。
发明内容
针对上述现有技术的问题,本申请实施例提出了一种代理签名方法、装置、系统及计算机可读存储介质。利用这种方法及装置,能够至少部分解决上述问题。
本申请的实施例中提供了以下方案:一种代理签名方法,包括:
获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括第一双线性映射函数,所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;
根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证;
在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。
本申请的实施例中提供了以下方案:一种代理签名方法,包括:
获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息、以及第一身份信息、第一证书和第二证书,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;
根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息、所述第三公钥和所述第一证书对所述代理秘钥进行验证;
根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名。
本申请的实施例中提供了以下方案:一种代理签名验证方法,所述代理签名是根据系统参数、第二私钥和代理秘钥对目标消息进行的签名,所述系统参数包括第一双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;所述代理签名验证方法包括:根据所述系统参数、所述第一公钥、所述第二公钥对所述代理签名进行验证。
本申请的实施例中提供了以下方案:一种代理签名验证方法,所述代理签名是根据系统参数、第二私钥、代理秘钥和第二证书对目标消息进行的签名,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;所述方法包括:根据所述系统参数、所述第一公钥、所述第二公钥、所述第一身份信息、所述第二身份信息、所述第一证书和所述第二证书对所述代理签名进行验证。
本申请的实施例中提供了以下方案:一种代理签名装置,包括:
获取模块,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括第一双线性映射函数,所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;
代理秘钥验证模块,用于根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证;
签名模块,用于在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。
本申请的实施例中提供了以下方案:一种代理签名装置,包括:
获取模块,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息、以及第一身份信息、第一证书和第二证书,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;
所述代理秘钥验证模块用于:根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息和所述第一证书对所述代理秘钥进行验证;
所述代理签名模块用于:根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名。
本申请的实施例中提供了以下方案:一种代理签名装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述的代理签名方法。
本申请的实施例中提供了以下方案:一种代理签名验证装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:前述代理签名验证方法。
本申请的实施例中提供了以下方案:一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行:前述代理签名方法或代理签名验证方法。
本申请的实施例中提供了以下方案:一种代理签名系统,包括前述的代理签名装置、前述的代理签名验证装置,以及包括系统参数生成装置、代理秘钥生成装置、秘钥对生成装置;所述系统参数生成装置,用于生成所述系统参数;所述秘钥对生成装置用于根据所述系统参数生成所述第一秘钥对和所述第二秘钥对;所述代理秘钥生成装置用于根据所述系统参数和所述第一私钥对所述授权信息签名。
本申请的实施例中提供了以下方案:一种代理签名系统,包括前述的代理签名装置、前述的代理签名验证装置,以及包括系统参数生成装置、代理秘钥生成装置、秘钥对生成装置和证书生成装置;
所述系统参数生成装置,用于生成所述系统参数;
所述秘钥对生成装置用于根据所述系统参数生成所述第一秘钥对和所述第二秘钥对;
所述代理秘钥生成装置用于根据所述系统参数和所述第一私钥对所述授权信息签名;
所述证书生成模块用于根据所述系统参数、所述第三私钥、所述第一公钥和所述第一身份信息生成所述第一证书,根据所述系统参数、所述第三私钥、所述第二公钥和所述第二身份信息生成所述第二证书。
在一些实施例中,本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:代理签名装置是根据系统参数、第二私钥和代理秘钥对目标消息进行签名的。若是由委托用户进行签名,其是根据第一私钥对目标消息进行签名。二者签名结果并不相同。对前者进行验证时需要根据系统参数、第一公钥和第二公钥进行验证,而后者进行验证时需要根据系统参数和第一公钥进行验证,二者验证方式并不同,从而能够区分该签名是代理用户所持的代理签名设备生成的还是由委托用户所持的设备(例如是本申请中的代理秘钥生成装置)生成的。进一步代理秘钥是根据系统参数和第一秘钥对授权信息的签名,代理秘钥既能保证授权信息的安全可靠,又能避免代理用户反推出第一私钥,保证了第一私钥的安全性。进一步,由于代理秘钥以及代理签名均是根据双线性映射函数生成的,代理秘钥和代理签名简短高效且安全性高。
应当理解,上述说明仅是本申请技术方案的概述,以便能够更清楚地了解本申请的技术手段,从而可依照说明书的内容予以实施。为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本申请的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为根据本申请实施例的代理签名系统的架构示意图;
图2为根据图1所示架构的代理签名方法的流程示意图;
图3为根据本申请实施例的代理签名系统的结构示意图;
图4为根据图3所示架构的代理签名方法的流程示意图;
图5是根据本申请实施例的代理签名装置的框图;
图6是根据本申请另一实施例的代理签名装置的框图。
图7是根据本申请另一实施例的代理签名验证装置的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本申请中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
另外还需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
参考图1,在本申请的一个实施例中,代理签名系统包括:参数生成装置1、秘钥对生成装置2、代理秘钥生成装置3、代理签名生成装置4和代理签名验证装置5。代理秘钥生成装置3可以是委托用户所持有的设备,例如是手机或电脑。代理签名生成装置4是代理用户所持有的设备,例如是手机或电脑。代理签名生成装置4所生成的代理签名可由代理签名验证装置5进行验证。代理签名可以是由代理签名生成装置4直接传送给代理签名验证装置5的,也可以是代理签名生成装置4发送给其他设备,再由其他设备发送给代理签名验证装置5从而进行代理签名的验证。
参考图2并结合图1,本申请的实施例提供一种代理签名方法,包括以下步骤。
步骤101、获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括第一双线性映射函数,所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥。
系统参数可以从参数生成装置1获取。第二私钥可以从秘钥对生成装置2获取。代理秘钥可以从代理秘钥生成装置3获取。授权信息是委托用户发送给代理用户的,例如是由代理秘钥生成装置3发送给代理签名装置的。目标消息是需要被签名的内容。
具体地,参数生成装置1用于生成系统参数。秘钥对生成装置2用于根据系统参数生成第一秘钥对和第二秘钥对。秘钥对生成装置2将第一秘钥对中的第一私钥发送至代理秘钥生成装置3,将第二秘钥对中的第二私钥发送至代理签名生成装置4,将第一秘钥对中的第一公钥和第二秘钥对中的第二公钥发送至代理签名验证装置5。代理秘钥生成装置3将代理秘钥通过安全信道发送至代理签名生成装置4。
在该实施方式中,代理秘钥是代理秘钥生成装置3根据系统参数、第一私钥对授权信息进行签名得到的。授权信息例如是代理用户使用代理签名生成装置4代替委托用户进行代理签名的时间段、事项等的信息。
步骤102、根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证。从此代理签名装置能够验证其获取到的授权信息是否正确。
步骤103、在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。
代理签名装置是根据系统参数、第二私钥和代理秘钥对目标消息进行签名的。若是由委托用户进行签名,其是根据第一私钥对目标消息进行签名。二者签名结果并不相同。对前者进行验证时需要根据系统参数、第一公钥和第二公钥进行验证,而后者进行验证时需要根据系统参数和第一公钥进行验证,二者验证方式并不同,从而能够区分该签名是代理用户所持的代理签名设备生成的还是由委托用户所持的设备(例如是本申请中的代理秘钥生成装置3)生成的。进一步代理秘钥是根据系统参数和第一秘钥对授权信息的签名,代理秘钥既能保证授权信息的安全可靠,又能避免代理用户反推出第一私钥,保证了第一私钥的安全性。进一步,由于代理秘钥以及代理签名均是根据双线性映射函数生成的,代理秘钥和代理签名简短高效且安全性高。
在一些实施例中,所述系统参数还包括:第一预设大素数、第一加法循环群、第一乘法循环群、第一生成元和第一哈希函数,所述第一加法循环群的阶为所述第一预设大素数,所述第一乘法循环群的阶为所述第一预设大素数,所述第一生成元属于所述第一加法循环群,所述第一双线性映射的第一输入值和第二输入值属于所述第一加法循环群,所述第一双线性映射的输出值属于所述第一乘法循环群,所述第一哈希函数的输入值为二进制比特串,所述第一哈希函数的输出值属于所述第一加法循环群。
如用符号表达,例如可以将系统参数记为params,其中,params={G1,G2,e,q,P,H1},q为第一预设大素数,G1为阶为q的第一加法循环群,G2为阶为q的第一乘法循环群,e为第一双线性映射e:G1×G1→G2,P为从G1中随机选取的一个元素作为第一生成元,H1为第一哈希函数H1:{0,1}*→G1
在一些实施例中,所述第一公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数。所述第二公钥为以所述第二私钥为幂指数,对所述第一生成元执行幂运算得到的数值,所述第二私钥为小于或等于所述第一预设大素数的正整数。
本申请中的“幂运算”均指的是重复执行“群”中的运算,如果该群是加法循环群,对一个数重复执行加法运算也就在数学上等效为将这个数乘以该幂指数的运算。在一些实施例中,该“幂运算”也可以是加法运算,或者是椭圆曲线运算。
如用符号表达,秘钥对生成模块所提供的第一秘钥对和第二秘钥对是这样生成的:随机选择
Figure BDA0002904904750000071
阼为所述第一私钥,所述第一私钥记为SKA,计算PKA=xAP作为所述第一公钥;随机选择
Figure BDA0002904904750000072
作为所述第二私钥,所述第二私钥记为SKB,计算PKB=xBP作为第二公钥。
所述代理秘钥包括:第一数值和第二数值,所述第一数值为以第一保密数为幂指数,对所述第一生成元执行幂运算得到的输出值,所述第二数值为以所述第一私钥和所述第一保密数为幂指数,对所述第一哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值,所述第一保密数为随机选取的小于或等于所述第一预设大素数的非负整数
如用符号表达,代理秘钥生成装置3生成代理秘钥的过程如下:随机选择
Figure BDA0002904904750000073
作为第一保密数,计算SKAB=(LAB,σAB),其中,第一数值LAB=rABP,第二数值σAB=(SKA+rAB)H1(M),M为所述授权信息,SKAB为所述代理秘钥,rAB保密。
代理秘钥既包含了授权信息,又包含了第一私钥的信息(也就是委托用户的身份信息)。
在一些实施例中,根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证,包括:
将所述第二数值和所述第一生成元的输入所述第一双线性映射函数,得到第一输出值;
将所述授权信息输入所述第一哈希函数得到第二输出值;
将所述第二输出值、以及所述第一公钥与所述第一数值的和输入所述第一双线性映射函数,得到第三输出值;
判断所述第一输出值和所述第三输出值是否相等,如是则所述代理秘钥验证通过,否则所述代理秘钥验证不通过。
如用符号进行表达,代理秘钥的验证过程为:e(σAB,P)的计算结果为第一输出值;H1(M)的计算结果为第二输出值,e(H1(M),PKA+LAB)的计算结果为第三输出值,验证等式e(σAB,P)=e(H1(M),PKA+LAB)是否成立,若成立则所述代理秘钥验证通过,否则所述代理秘钥验证不通过。
在该实施方式中,代理秘钥是采用短签名算法得到,代理秘钥的验证是采用双线性映射的方式实现。签名简短高效,且安全性较高。
在一些实施例中,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名,包括:
计算以第二保密数为幂指数,对所述生成元执行幂运算,得到第三数值,所述第二保密数为随机选取的小于或等于所述第一预设大素数的非负整数;
计算所述第一哈希函数处理所述目标消息所得输出值、所述第二私钥与所述第二保密数的和二者的乘积与所述第二数值的和,得到第四数值;
所述代理签名包括:所述第三数值、所述第二数值和所述第四数值。
代理签名中既包含了第二私钥的信息,也就是代理用户的信息,也包含了代理秘钥的信息,也就是委托用户对代理用户的授权的信息。
用符号表达上述过程为:随机选择
Figure BDA0002904904750000081
阼为第二保密数,计算第三数值LB=rBP,其中,rB保密;计算第四数值UB=(SKB+rB)H1(m)+σAB,其中,m为所述目标消息;将σB=(LB,LAB,UB)作为对所述目标消息m的代理签名。
该实施方式中,代理签名是采用短签名算法得到,签名简短高效,且安全性较高。
在一些实施例中,该方法还包括:根据所述系统参数、所述第一公钥、所述第二公钥对所述代理签名进行验证。
在一些实施例中,根据所述系统参数、所述第一公钥、所述第二公钥对所述代理签名进行验证,包括:
将所述第四数值和所述第一生成元输入所述第一双线性映射函数,得到第八输出值;
将所述第一哈希函数处理所述目标消息得到的结果、所述第二公钥和所述第三数值的和输入所述第一双线性映射函数,得到第九输出值;
将所述第一哈希函数处理所述第一授权信息的结果、所述第一公钥和所述第一数值的和输入所述第一双线性映射函数,得到第十输出值值;
判断所述第九输出值和所述第十输出值的乘积与所述第八输出值是否相等,如相等则所述代理签名验证通过,否则所述代理签名验证不通过;
其中,所述第二公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值。
如用符号表示,e(UB,P)的输出值为第八输出值,e(H1(m),PKB+LB)的输出值为第九输出值,e(H1(M),PKA+LAB)的输出值为第十输出值,检验等式e(UB,P)=e(H1(m),PKB+LB)e(H1(M),PKA+LAB)是否成立,若成立则所述代理签名验证通过,否则所述代理签名验证不通过。该验证过程同时验证了授权信息和目标消息的准确性。
参考图3,在另外一种代理签名系统的架构中,相较于图1所示架构,增加了证书生成装置6。证书生成装置6从参数生成装置1获取系统参数、第一公钥、第一身份信息(即委托用户的身份信息)、第二公钥、第二身份信息(即代理用户的身份信息)和第三私钥。第三私钥和第三公钥构成第三秘钥对,系统参数中还包含第三公钥。证书生成模块根据第三私钥对第一公钥和第一身份信息进行签名得到第一证书。证书生成模块根据第三私钥对第二公钥和第二身份信息进行签名得到第二证书。第一证书被发送至代理秘钥生成装置3,第二证书被发送至代理签名生成装置4。
基于以上架构,参考图4,代理签名装置生成代理签名的过程包括以下步骤。
步骤201、获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息、以及第一身份信息、第一证书和第二证书,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名。
步骤202、根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息和所述第一证书对所述代理秘钥进行验证。
验证代理秘钥的过程也就同时验证了第一公钥、第一身份信息和授权信息的正确性。
步骤203、根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名。
第三私钥作为整个代理签名系统的主私钥,采用第三私钥对第一身份信息和第一公钥的哈希值签名生成第一证书,采用第三私钥对第二身份信息和第二公钥的哈希值签名生成第二证书。第一证书作为代理秘钥的一部分参与到代理秘钥的生成过程,验证代理秘钥的过程也就同时验证了第一用户的身份信息和第一公钥。第二证书作为代理签名的一部分参与到代理签名的生成过程,验证代理签名的过程也就同时验证了第二用户的身份信息和第二公钥。在这种实施方式中,无需认证机构(CA)提供第一公钥和第二公钥的认证。进一步,第一证书和第二证书均无需采用安全信道传输。
在一些实施例中,所述系统参数还包括:第二预设大素数、第二加法循环群、第二乘法循环群、第二生成元、第二双线性映射、第二哈希函数和第三哈希函数,所述第二加法循环群的阶为所述第二预设大素数,所述第二乘法循环群的阶为所述第二预设大素数,所述第二生成元属于所述第二加法循环群,所述第二双线性映射的第一输入值和第二输入值属于所述第二加法循环群,所述第二双线性映射的输出值属于所述第二乘法循环群,所述第二哈希函数的输入值为二进制比特串和一个属于所述第二加法循环群的数值,所述第二哈希函数的输出值属于所述第二加法循环群,所述第三哈希函数的输入值为二级制比特串,所述第三哈希函数的输出值属于所述第二加法循环群,所述第一证书为以第三私钥为幂指数,对以所述第一身份信息和所述第一公钥输入所述第二哈希函数得到的输出值再执行幂运算得到的输出值,所述第二证书为以所述第三私钥为幂指数,对以所述第二身份信息和所述第二公钥输入所述第二哈希函数得到的输出值再执行幂运算得到的输出值,所述第三私钥为小于或等于所述预设第二大素数的正整数,所述第三公钥为以所述第三私钥为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第三公钥属于所述第二加法循环群。
如用符号表达,所述系统参数记为params,其中,params={G1,G2,e,q,P,P0,H1,H2},q为第二预设大素数,G1为阶为q的第二加法循环群,G2为阶为q的第二乘法循环群,e为第二双线性映射e:G1×G1→G2,P为从G1中随机选取的第二生成元,H1为第二哈希函数H1:{0,1}*×G1→G1,H2为第三哈希函数H2:{0,1}*→G1,P0为第三公钥,P0=sP,s为随机选取的整数,
Figure BDA0002904904750000101
s作为与所述第三公钥对应的第三私钥。
在一些实施例中,所述第一秘钥对和所述第二秘钥对是按照如下方式生成的:随机选择
Figure BDA0002904904750000111
作为所述第一私钥,所述第一私钥记为SKA,计算PKA=xAP作为所述第一公钥;随机选择
Figure BDA0002904904750000112
作为所述第二私钥,所述第二私钥记为SKB,计算PKB=xBP作为第二公钥;
第一证书和第二证书是由证书生成模块所生成的。第一证书记为CertA,第三私钥记为s,第一身份信息记为IDA,第二证书记为CertB,第二身份信息记为IDB,则有CertA=sQA=sH1(IDA,PKA),CertB=sQB=sH1(IDB,PKB)。
所述代理秘钥包括:第五数值和第六数值,所述第五数值为以第三保密数为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第六数值为以所述第一私钥和所述第三保密数为幂指数,对所述第三哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值再与所述第一证书相加的和。
如有符号表示,所述代理秘钥是按照如下方式生成的:随机选择第三保密数
Figure BDA0002904904750000113
计算SKAB=(LAB,σAB),其中,第五数值LAB=rABP,第六数值σAB=(SKA+rAB)H2(M)+CertA,M为所述授权信息,SKAB为所述代理秘钥,rAB保密。
在一些实施例中,根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息、所述第三公钥和所述第一证书对所述代理秘钥进行验证,包括:
将所述第六数值和所述第二生成元输入所述第二双线性映射函数,得到第四输出值;
将所述授权信息输入所述第三哈希函数得到第五输出值;
将所述第五输出值、以及所述第一公钥和所述第五数值的和输入所述第二双线性映射函数,得到第六输出值;
将所述第一身份信息和所述第三公钥输入所述第二哈希函数,得到第七输出值;
判断所述第六输出值和所述第七输出值的乘积是否等于所述第四输出值,如是则所述代理秘钥验证通过,否则所述代理秘钥验证不通过。
如用符号表达上述过程,e(σAB,P)的输出值为第四输出值,H2(M)的输出值为第五输出值,e(H2(M),PKA+LAB)的输出值为第六输出值,e(QA,P0)的输出值为第七输出值,验证等式e(σAB,P)=e(H2(M),PKA+LAB)e(QA,P0)是否成立,其中,QA=H1(IDA,PKA),IDA为所述委托用户的身份信息,PKA为所述第一公钥。
在一些实施例中,所述第二私钥为小于或等于所述第二预设大素数的正整数;
根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名,包括:
以第四保密数为幂指数,对所述第二生成元执行幂运算,得到第七数值;
以所述第二私钥和所述第四保密数的和为幂指数,对所述第三哈希函数处理所述目标消息的输出值再执行幂运算得到第八数值;
计算所述第八数值、所述第六数值和所述第二证书的和,得到第九数值;
所述代理签名包括:所述第五数值、所述第七数值和所述第九数值。
如用符号表示上述计算过程,则有随机选择第四保密数
Figure BDA0002904904750000121
计算第七数值LB=rBP,其中,rB保密;(SKB+rB)H2(m)的计算结果为第八数值,计算第九数值UB=(SKB+rB)H2(m)+σAB+CertB,其中,m为所述目标消息;将σB=(LB,LAB,UB)作为对所述目标消息m的代理签名。
在一些实施例中,还包括:根据所述系统参数、所述第一公钥、所述第二公钥、所述第一身份信息、所述第二身份信息、所述第一证书和所述第二证书对所述代理签名进行验证。
在一些实施例中,根据所述系统参数、所述第一公钥、所述第二公钥、所述第一身份信息、所述第二身份信息、所述第一证书和所述第二证书对所述代理签名进行验证,包括:
将所述第一身份信息和所述第一公钥输入所述第二哈希函数,得到第十一输出值;
将所述第二身份信息和所述第二公钥输入所述第二哈希函数,得到第十二输出值;
将所述第九数值和所述第二生成元输入所述第二双线性映射函数,得到第十三输出值;
将所述第三哈希函数处理所述目标消息的结果、所述第二公钥和所述第七数值的和输入所述第二双线性映射函数,得到第十四输出值;
将所述第三哈希函数处理所述授权信息的结果、所述第一公钥和所述第五数值的和输入所述第二双线性映射函数,得到第十五输出值;
将所述第十一输出值和所述第十二输出值的和、所述第三公钥输入所述第二双线性映射函数,得到第十六输出值;
判断所述第十四输出值、所述第十五输出值和所述第十六输出值三者的乘积与所第十三输出值是否相等,如相等则所述代理签名验证通过,否则所述代理签名验证不通过;
其中,所述第二公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值。
如用符号表示上述计算过程,则有:计算QA=H1(IDA,PKA),QB=H1(IDB,PKB);QA为第十一输出值,QB为第十二输出值。e(UB,P)的计算结果为第十三输出值。e(H2(m),PKB+LB)的计算结果为第十四输出值。e(H2(M),PKA+LAB)的计算结果为第十五输出值。e(QA+QB,P0)的输出结果为第十六输出值。检验等式e(UB,P)=e(H2(m),PKB+LB)e(H2(M),PKA+LAB)e(QA+QB,P0)是否成立,若成立则所述代理签名验证通过,否则所述代理签名验证不通过。
图5为根据本申请一实施例的代理签名装置,用于执行前述代理签名方法中生成代理签名的步骤,该装置包括:
获取模块41,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括第一双线性映射函数,所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;
代理秘钥验证模块41,用于根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证;
签名模块43,用于在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。
在一些实施例中,获取模块41,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息、以及第一身份信息、第一证书和第二证书,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;
所述代理秘钥验证模块42用于:根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息和所述第一证书对所述代理秘钥进行验证;
所述代理签名模块43用于:根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名。
以上各模块的工作原理与前述实施例相对应,各模块的详细运行过程不做赘述。
参考图6,基于与前述实施例相同的发明构思,本申请的实施例还提供一种代理签名装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:前述的代理签名方法。
参考图7,基于与前述实施例相同的发明构思,本申请的实施例还提供一种代理签名验证装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:前述代理签名验证方法。
本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行:前述代理签名方法或前述的代理签名验证方法。
结合图1和图3,本申请的实施例还提供一种代理签名系统,包括前述述的代理签名装置、前述的代理签名验证装置,以及包括系统参数生成装置1、代理秘钥生成装置3和秘钥对生成装置2;
所述系统参数生成装置1,用于生成所述系统参数;
所述秘钥对生成装置2用于根据所述系统参数生成所述第一秘钥对和所述第二秘钥对;
所述代理秘钥生成装置3用于根据所述系统参数和所述第一私钥对所述授权信息签名。
由秘钥对生成装置2生成第一私钥和第二私钥,无需第三方机构的私钥生成器(PKG)生成第一私钥和第二私钥,不存在秘钥托管的问题。
在一些实施例中,所述系统参数包括:所述第一预设大素数、所述第一加法循环群、所述第一乘法循环群、所述第一生成元、所述第一双线性映射函数和所述第一哈希函数;
所述系统参数生成装置1具体用于:生成阶为所述第一预设大素数的所述第一加法循环群,生成阶为所述第一预设大素数所述第一乘法循环群,生成所述第一双线性映射,所述第一双线性映射函数的第一输入值和第二输入值属于所述第一加法循环群,所述第一双线性映射的输出值属于所述第一乘法循环群,从所述第一加法循环群中随机选择一个元素作为所述第一生成元,选择一个哈希函数作为所述第一哈希函数,所述第一哈希函数的输入值为二进制比特串,所述第一哈希函数的输出值属于所述第一加法循环群;
所述秘钥对生成装置2具体用于:随机选择一个小于或等于所述第一预设大素数的正整数作为所述第一私钥,所述第一公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值;随机选择一个小于或等于所述第一预设大素数的正整数作为所述第二私钥,所述第二公钥为以所述第二私钥为幂指数,对所述第一生成元执行幂运算得到的数值;
所述代理秘钥生成装置3具体用于以第一保密数为幂指数,对所述第一生成元执行幂运算得到所述第一数值,以所述第一私钥和所述第一保密数为幂指数,对所述第一哈希函数处理所述授权信息所得的输出值执行幂运算得到所述第二数值,其中,所述第一保密数为随机选取的小于或等于所述第一预设大素数的非负整数。
在一些实施例中,所述系统参数生成装置1还用于生成第三私钥和第三公钥,所述第三私钥和所述点公钥构成第三密钥对,所述系统参数还包括所述第三公钥;
所述秘钥对生成模块2还用于提供所述第一身份信息和所述第二身份信息;
所述系统还包括证书生成模块6,用于根据所述系统参数、所述第三私钥、所述第一公钥和所述第一身份信息生成所述第一证书,根据所述系统参数、所述第三私钥、所述第二公钥和所述第二身份信息生成所述第二证书;
所述代理秘钥生成装置3具体用于:根据所述系统参数、所述第一证书和所述第一私钥对所述授权信息签名,得到所述代理秘钥。
所述证书生成装置6具体用于:以第三私钥为幂指数,对以所述第一身份信息和所述第一公钥输入所述第二哈希函数得到的输出值再执行幂运算得到所述第一证书,以所述第三私钥为幂指数,以所述第二身份信息和所述第二公钥输入所述第二哈希函数得到的输出值再执行幂运算得到所述第二证书;
所述代理秘钥生成装置3具体用于:生成所述第五数值和所述第六数值,所述第五数值为以第三保密数为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第六数值为以所述第一私钥和所述第三保密数为幂指数,对所述第三哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值再与所述第一证书相加的和。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。
本申请实施例提供的装置、系统和计算机可读存储介质与方法是一一对应的,因此,装置、系统和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置和计算机可读存储介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本申请的精神和原理,但是应该理解,本申请并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本申请旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (29)

1.一种代理签名方法,其特征在于,包括:
获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括第一双线性映射函数,所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;
根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证;
在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。
2.根据权利要求1所述的方法,其特征在于,
所述系统参数还包括:第一预设大素数、第一加法循环群、第一乘法循环群、第一生成元和第一哈希函数,所述第一加法循环群的阶为所述第一预设大素数,所述第一乘法循环群的阶为所述第一预设大素数,所述第一生成元属于所述第一加法循环群,所述第一双线性映射的第一输入值和第二输入值属于所述第一加法循环群,所述第一双线性映射的输出值属于所述第一乘法循环群,所述第一哈希函数的输入值为二进制比特串,所述第一哈希函数的输出值属于所述第一加法循环群。
3.根据权利要求2所述的方法,其特征在于
所述第一公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数;
所述代理秘钥包括:第一数值和第二数值,所述第一数值为以第一保密数为幂指数,对所述第一生成元执行幂运算得到的输出值,所述第二数值为以所述第一私钥和所述第一保密数为幂指数,对所述第一哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值,所述第一保密数为随机选取的小于或等于所述第一预设大素数的非负整数。
4.根据权利要求3所述的方法,其特征在于,根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证,包括:
将所述第二数值和所述第一生成元的输入所述第一双线性映射函数,得到第一输出值;
将所述授权信息输入所述第一哈希函数得到第二输出值;
将所述第二输出值、以及所述第一公钥与所述第一数值的和输入所述第一双线性映射函数,得到第三输出值;
判断所述第一输出值和所述第三输出值是否相等,如是则所述代理秘钥验证通过,否则所述代理秘钥验证不通过。
5.根据权利要求2所述的方法,其特征在于,所述第二私钥为小于或等于所述第一预设大素数的正整数;
根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,包括:
计算以第二保密数为幂指数,对所述生成元执行幂运算,得到第三数值,所述第二保密数为随机选取的小于或等于所述第一预设大素数的非负整数;
计算所述第一哈希函数处理所述目标消息所得输出值、所述第二私钥与所述第二保密数的和二者的乘积与所述第二数值的和,得到第四数值;
所述代理签名包括:所述第三数值、所述第二数值和所述第四数值。
6.根据权利要求1所述的方法,其特征在于,所述代理秘钥通过安全信道获得。
7.一种代理签名方法,其特征在于,包括:
获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息、以及第一身份信息、第一证书和第二证书,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;
根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息和所述第一证书对所述代理秘钥进行验证;
根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名。
8.根据权利要求7所述的方法,其特征在于,
所述系统参数还包括:第二预设大素数、第二加法循环群、第二乘法循环群、第二生成元、第二哈希函数和第三哈希函数,所述第二加法循环群的阶为所述第二预设大素数,所述第二乘法循环群的阶为所述第二预设大素数,所述第二生成元属于所述第二加法循环群,所述第二双线性映射的第一输入值和第二输入值属于所述第二加法循环群,所述第二双线性映射的输出值属于所述第二乘法循环群,所述第二哈希函数的输入值为二进制比特串和一个属于所述第二加法循环群的数值,所述第二哈希函数的输出值属于所述第二加法循环群,所述第三哈希函数的输入值为二级制比特串,所述第三哈希函数的输出值属于所述第二加法循环群,所述第一证书为以第三私钥为幂指数,对以所述第一身份信息和所述第一公钥输入所述第二哈希函数得到的输出值再执行幂运算得到的输出值,所述第二证书为以所述第三私钥为幂指数,对以所述第二身份信息和所述第二公钥输入所述第二哈希函数得到的输出值再执行幂运算得到的输出值,所述第三私钥为小于或等于所述预设第二大素数的正整数,所述第三公钥为以所述第三私钥为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第三公钥属于所述第二加法循环群。
9.根据权利要求8所述的方法,其特征在于,所述第一公钥属于所述第二加法循环群,其中,所述第一公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数;
所述代理秘钥包括:第五数值和第六数值,所述第五数值为以第三保密数为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第六数值为以所述第一私钥和所述第三保密数为幂指数,对所述第三哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值再与所述第一证书相加的和。
10.根据权利要求9所述的方法,其特征在于,根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息、所述第三公钥和所述第一证书对所述代理秘钥进行验证,包括:
将所述第六数值和所述第二生成元输入所述第二双线性映射函数,得到第四输出值;
将所述授权信息输入所述第三哈希函数得到第五输出值;
将所述第五输出值、以及所述第一公钥和所述第五数值的和输入所述第二双线性映射函数,得到第六输出值;
将所述第一身份信息和所述第一三公钥输入所述第二哈希函数,得到第七输出值;
判断所述第六输出值和所述第七输出值的乘积是否等于所述第四输出值,如是则所述代理秘钥验证通过,否则所述代理秘钥验证不通过。
11.根据权利要求10所述的方法,其特征在于,所述第二私钥为小于或等于所述第二预设大素数的正整数;
根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名,包括:
以第四保密数为幂指数,对所述第二生成元执行幂运算,得到第七数值;
以所述第二私钥和所述第四保密数的和为幂指数,对所述第三哈希函数处理所述目标消息的输出值再执行幂运算得到第八数值;
计算所述第八数值、所述第六数值和所述第二证书的和,得到第九数值;
所述代理签名包括:所述第五数值、所述第七数值和所述第九数值。
12.根据权利要求7所述的方法,其特征在于,所述代理秘钥通过安全信道获得。
13.一种代理签名验证方法,其特征在于,所述代理签名是根据系统参数、第二私钥和代理秘钥对目标消息进行的签名,所述系统参数包括第一双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;
所述代理签名验证方法包括:根据所述系统参数、所述第一公钥、所述第二公钥对所述代理签名进行验证。
14.根据权利要求13所述的方法,其特征在于,
所述系统参数还包括:第一预设大素数、第一加法循环群、第一乘法循环群、第一生成元和第一哈希函数,所述第一加法循环群的阶为所述第一预设大素数,所述第一乘法循环群的阶为所述第一预设大素数,所述第一生成元属于所述第一加法循环群,所述第一双线性映射的第一输入值和第二输入值属于所述第一加法循环群,所述第一双线性映射的输出值属于所述第一乘法循环群,所述第一哈希函数的输入值为二进制比特串,所述第一哈希函数的输出值属于所述第一加法循环群。
15.根据权利要求14所述的方法,其特征在于,所述第一公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数;
所述代理秘钥包括:第一数值和第二数值,所述第一数值为以第一保密数为幂指数,对所述第一生成元执行幂运算得到的输出值,所述第二数值为以所述第一私钥和所述第一保密数为幂指数,对所述第一哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值,所述第一保密数为随机选取的小于或等于所述第一预设大素数的非负整数。
16.根据权利要求15所述的方法,其特征在于,所述第二私钥为小于或等于所述第一预设大素数的正整数;
所述代理签名包括第三数值、所述第二数值和第四数值,所述第三数值是以第二保密数为幂指数,对所述生成元执行幂运算的计算结果,所述第二保密数为随机选取的小于或等于所述第一预设大素数的非负整数,所述第四数值是所述第一哈希函数处理所述目标消息所得输出值、所述第二私钥与所述第二保密数的和二者的乘积与所述第二数值的和;
根据所述系统参数、所述第一公钥、所述第二公钥对所述代理签名进行验证,包括:
将所述第四数值和所述第一生成元输入所述第一双线性映射函数,得到第八输出值;
将所述第一哈希函数处理所述目标消息得到的结果、所述第二公钥和所述第三数值的和输入所述第一双线性映射函数,得到第九输出值;
将所述第一哈希函数处理所述第一授权信息的结果、所述第一公钥和所述第一数值的和输入所述第一双线性映射函数,得到第十输出值;
判断所述第九输出值和所述第十输出值的乘积与所述第八输出值是否相等,如相等则所述代理签名验证通过,否则所述代理签名验证不通过;
其中,所述第二公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值。
17.一种代理签名验证方法,其特征在于,所述代理签名是根据系统参数、第二私钥、代理秘钥和第二证书对目标消息进行的签名,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;
所述方法包括:根据所述系统参数、所述第一公钥、所述第二公钥、所述第一身份信息、所述第二身份信息、所述第一证书和所述第二证书对所述代理签名进行验证。
18.根据权利要求17所述的方法,其特征在于,所述系统参数还包括:第二预设大素数、第二加法循环群、第二乘法循环群、第二生成元、第二哈希函数和第三哈希函数,所述第二加法循环群的阶为所述第二预设大素数,所述第二乘法循环群的阶为所述第二预设大素数,所述第二生成元属于所述第二加法循环群,所述第二双线性映射的第一输入值和第二输入值属于所述第二加法循环群,所述第二双线性映射的输出值属于所述第二乘法循环群,所述第二哈希函数的输入值为二进制比特串和一个属于所述第二加法循环群的数值,所述第二哈希函数的输出值属于所述第二加法循环群,所述第三哈希函数的输入值为二级制比特串,所述第三哈希函数的输出值属于所述第二加法循环群,所述第一证书为以第三私钥为幂指数,对以所述第一身份信息和所述第一公钥输入所述第二哈希函数得到的输出值再执行幂运算得到的输出值,所述第二证书为以所述第三私钥为幂指数,对以所述第二身份信息和所述第二公钥输入所述第二哈希函数得到的输出值再执行幂运算得到的输出值,所述第三私钥为小于或等于所述预设第二大素数的正整数,所述第三公钥为以所述第三私钥为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第三公钥属于所述第二加法循环群。
19.根据权利要求18所述的方法,其特征在于,所述第一公钥属于所述第二加法循环群,其中,所述第一公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值,所述第一私钥为小于或等于所述第一预设大素数的正整数;
所述代理秘钥包括:第五数值和第六数值,所述第五数值为以第三保密数为幂指数,对所述第二生成元执行幂运算得到的输出值,所述第六数值为以所述第一私钥和所述第三保密数为幂指数,对所述第三哈希函数处理所述授权信息所得的输出值执行幂运算得到的输出值再与所述第一证书相加的和。
20.根据权利要求19所述的方法,其特征在于,代理签名包括第七数值、所述第五数值和第九数值,所述第八数值是以所述第二私钥和第四保密数的和为幂指数,对所述第三哈希函数处理所述目标消息的输出值再执行幂运算得到的结果,所述第九数值是所述第八数值、所述第六数值和所述第二证书的和;
根据所述系统参数、所述第一公钥、所述第二公钥、所述第一身份信息、所述第二身份信息、所述第一证书和所述第二证书和所述目标消息对所述代理签名进行验证,包括:
将所述第一身份信息和所述第一公钥输入所述第二哈希函数,得到第十一输出值;
将所述第二身份信息和所述第二公钥输入所述第二哈希函数,得到第十二输出值;
将所述第九数值和所述第二生成元输入所述第二双线性映射函数,得到第十三输出值;
将所述第三哈希函数处理所述目标消息的结果、所述第二公钥和所述第七数值的和输入所述第二双线性映射函数,得到第十四输出值;
将所述第三哈希函数处理所述授权信息的结果、所述第一公钥和所述第五数值的和输入所述第二双线性映射函数,得到第十五输出值;
将所述第十一输出值和所述第十二输出值的和、所述第三公钥输入所述第二双线性映射函数,得到第十六输出值;
判断所述第十四输出值、所述第十五输出值和所述第十六输出值三者的乘积与所第十三输出值是否相等,如相等则所述代理签名验证通过,否则所述代理签名验证不通过;
其中,所述第二公钥为以所述第一私钥为幂指数,对所述第一生成元执行幂运算得到的数值。
21.一种代理签名装置,其特征在于,包括:
获取模块,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息,其中,所述系统参数包括第一双线性映射函数,所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥;
代理秘钥验证模块,用于根据所述系统参数、所述授权信息和所述第一公钥对所述代理秘钥进行验证;
签名模块,用于在所述代理秘钥验证通过的情况下,根据所述系统参数、所述第二私钥和所述代理秘钥对所述目标消息进行签名,得到代理签名。
22.一种代理签名装置,其特征在于,包括:
获取模块,用于获取系统参数、第二私钥、第一公钥、代理秘钥、授权信息和目标消息、以及第一身份信息、第一证书和第二证书,其中,所述系统参数包括第二双线性映射函数;所述代理秘钥为根据所述系统参数和第一私钥对所述授权信息的签名,所述第一私钥是根据所述系统参数生成的第一秘钥对中的私钥,所述第一公钥是所述第一秘钥对中的公钥,所述第二私钥是根据所述系统参数生成的第二秘钥对中的私钥,所述第二秘钥对中的公钥为第二公钥,所述系统参数还包括第三公钥,所述第三公钥是第三秘钥对中的公钥,所述第三秘钥对中的私钥为第三私钥,所述第一证书是根据所述第三私钥、所述第一公钥和所述第一身份信息生成的,所述第二证书是根据所述第三私钥、所述第二公钥和第二身份信息生成的,所述代理秘钥具体为根据所述系统参数、所述第一私钥和所述第一证书对所述授权信息的签名;
所述代理秘钥验证模块用于:根据所述系统参数、所述授权信息、所述第一公钥、所述第一身份信息和所述第一证书对所述代理秘钥进行验证;
所述代理签名模块用于:根据所述系统参数、所述第二私钥、所述代理秘钥和所述第二证书对所述目标消息进行签名。
23.一种代理签名装置,其特征在于,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:根据权利要求1至6任意一项所述的方法。
24.一种代理签名装置,其特征在于,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:根据权利要求7至12任意一项所述的方法。
25.一种代理签名验证装置,其特征在于,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:根据权利要求13至16任意一项所述的方法。
26.一种代理签名验证装置,其特征在于,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:根据权利要求17至20任意一项所述的方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行:根据权利要求1至20任意一项所述的方法。
28.一种代理签名系统,其特征在于,包括根据权利要求21或23所述的代理签名装置、根据权利要求25所述的代理签名验证装置,以及包括系统参数生成装置、代理秘钥生成装置和秘钥对生成装置;
所述系统参数生成装置,用于生成所述系统参数;
所述秘钥对生成装置用于根据所述系统参数生成所述第一秘钥对和所述第二秘钥对;
所述代理秘钥生成装置用于根据所述系统参数和所述第一私钥对所述授权信息签名。
29.一种代理签名系统,其特征在于,包括根据权利要求22或24所述的代理签名装置、根据权利要求26所述的代理签名验证装置,以及包括系统参数生成装置、代理秘钥生成装置、秘钥对生成装置和证书生成装置;
所述系统参数生成装置,用于生成所述系统参数;
所述秘钥对生成装置用于根据所述系统参数生成所述第一秘钥对和所述第二秘钥对;
所述代理秘钥生成装置用于根据所述系统参数和所述第一私钥对所述授权信息签名;
所述证书生成模块用于根据所述系统参数、所述第三私钥、所述第一公钥和所述第一身份信息生成所述第一证书,根据所述系统参数、所述第三私钥、所述第二公钥和所述第二身份信息生成所述第二证书。
CN202110072055.3A 2021-01-19 2021-01-19 代理签名和验证方法、装置、系统及存储介质 Active CN112906059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110072055.3A CN112906059B (zh) 2021-01-19 2021-01-19 代理签名和验证方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110072055.3A CN112906059B (zh) 2021-01-19 2021-01-19 代理签名和验证方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN112906059A true CN112906059A (zh) 2021-06-04
CN112906059B CN112906059B (zh) 2024-02-23

Family

ID=76116203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110072055.3A Active CN112906059B (zh) 2021-01-19 2021-01-19 代理签名和验证方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN112906059B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448623A (zh) * 2022-01-24 2022-05-06 中国银联股份有限公司 代理签名及验证方法、代理秘钥生成方法、装置和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015766A (ja) * 2007-07-09 2009-01-22 Nec Corp ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム
CN101471776A (zh) * 2007-12-29 2009-07-01 航天信息股份有限公司 基于用户身份标识防止pkg伪造签名的方法
US20120159153A1 (en) * 2010-12-13 2012-06-21 Korea Basic Science Institute Efficient Identity-Based Ring Signature Scheme With Anonymity And System Thereof
WO2017202161A1 (zh) * 2016-05-26 2017-11-30 中兴通讯股份有限公司 基于无证书两方认证密钥协商方法、装置和存储介质
WO2018119670A1 (zh) * 2016-12-27 2018-07-05 深圳大学 一种无证书部分盲签名方法和装置
CN110768799A (zh) * 2019-12-30 2020-02-07 中国银联股份有限公司 数字签名方法、装置、设备及介质、系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015766A (ja) * 2007-07-09 2009-01-22 Nec Corp ユーザ端末、アクセス管理システム、アクセス管理方法、およびプログラム
CN101471776A (zh) * 2007-12-29 2009-07-01 航天信息股份有限公司 基于用户身份标识防止pkg伪造签名的方法
US20120159153A1 (en) * 2010-12-13 2012-06-21 Korea Basic Science Institute Efficient Identity-Based Ring Signature Scheme With Anonymity And System Thereof
WO2017202161A1 (zh) * 2016-05-26 2017-11-30 中兴通讯股份有限公司 基于无证书两方认证密钥协商方法、装置和存储介质
WO2018119670A1 (zh) * 2016-12-27 2018-07-05 深圳大学 一种无证书部分盲签名方法和装置
CN110768799A (zh) * 2019-12-30 2020-02-07 中国银联股份有限公司 数字签名方法、装置、设备及介质、系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
唐新春 等: "一种基于证书的带消息恢复的代理签名方案", 《信息技术》, pages 9 - 14 *
顾纯祥: "基于身份签名体制的设计与分析", 《硕士论文电子期刊》, pages 67 - 70 *
黄隽: "代理盲签名方案的研究与设计", 《硕士论文电子期刊》, pages 1 - 13 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448623A (zh) * 2022-01-24 2022-05-06 中国银联股份有限公司 代理签名及验证方法、代理秘钥生成方法、装置和系统

Also Published As

Publication number Publication date
CN112906059B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
Nemec et al. The return of coppersmith's attack: Practical factorization of widely used RSA moduli
CN104919754B (zh) 篡改检测装置、篡改检测方法、以及程序
US9219602B2 (en) Method and system for securely computing a base point in direct anonymous attestation
EP2582088A2 (en) Verifying Implicit Certificates and Digital Signatures
CN105027180A (zh) 保密计算系统、运算装置、保密计算方法、以及程序
EP3729713B1 (en) Homomorphic encryption for password authentication
CN112887081A (zh) 基于sm2的签名验签方法、装置及系统
CN114760052B (zh) 银行物联网平台密钥生成方法、装置、电子设备及介质
Gai et al. PPADT: privacy-preserving identity-based public auditing with efficient data transfer for cloud-based IoT data
CN112906059B (zh) 代理签名和验证方法、装置、系统及存储介质
CN113708927A (zh) 基于sm2数字签名的泛指定验证者签名证明系统
CN114026586A (zh) 用于授予对加密资产的访问权的零知识或有支付协议
CN111314080A (zh) 一种基于sm9算法的协同签名方法、装置、介质
CN113630254B (zh) 基于ecdsa的泛指定验证者签名证明方法及系统
Yarava et al. Efficient and Secure Cloud Storage Auditing Based on the Diffie-Hellman Key Exchange.
CN107040370B (zh) 一种用于产生实施模幂运算的代码的装置
CN107070648A (zh) 一种密钥保护方法及pki系统
CN114448623A (zh) 代理签名及验证方法、代理秘钥生成方法、装置和系统
JP6881588B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
Overmars Survey of rsa vulnerabilities
CN112835554A (zh) 群组内基于不均匀随机源的随机数生成、再生、追踪方法及电子装置
KR102019369B1 (ko) 단일파형공격을 차단하기 위한 타원곡선 암호화 장치 및 방법
EP3764588A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets
CN112887097A (zh) 基于sm2椭圆曲线的签名方法、相关装置、及存储介质
JP5573041B2 (ja) 情報処理装置、コード生成方法、コード検証方法およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant