CN116915416B - 一种证书签名方法、装置以及一种证书获取方法、装置 - Google Patents

一种证书签名方法、装置以及一种证书获取方法、装置 Download PDF

Info

Publication number
CN116915416B
CN116915416B CN202311189013.3A CN202311189013A CN116915416B CN 116915416 B CN116915416 B CN 116915416B CN 202311189013 A CN202311189013 A CN 202311189013A CN 116915416 B CN116915416 B CN 116915416B
Authority
CN
China
Prior art keywords
participant
intermediate result
signature
certificate
secret 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.)
Active
Application number
CN202311189013.3A
Other languages
English (en)
Other versions
CN116915416A (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.)
WUHAN ARGUSEC TECHNOLOGY CO LTD
Beijing Infosec Technologies Co Ltd
Original Assignee
WUHAN ARGUSEC TECHNOLOGY CO LTD
Beijing Infosec Technologies 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 WUHAN ARGUSEC TECHNOLOGY CO LTD, Beijing Infosec Technologies Co Ltd filed Critical WUHAN ARGUSEC TECHNOLOGY CO LTD
Priority to CN202311189013.3A priority Critical patent/CN116915416B/zh
Publication of CN116915416A publication Critical patent/CN116915416A/zh
Application granted granted Critical
Publication of CN116915416B publication Critical patent/CN116915416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种证书签名方法、装置以及一种证书获取方法、装置。其中,获取待签名的证书内容,并确定待签名的证书内容对应的参与者集合,参与者集合中包括多个需要对证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得参与者集合中的每个参与者随机选取第一秘密值,并根据第一秘密值以及获取的中间结果,生成自身对应的签名分量;获取参与者集合中每个参与者反馈的签名分量,根据多个签名分量生成对证书内容进行签名的签名结果。本申请实施例提供的技术方案通过多个参与者对证书内容进行签名,避免了签名私钥归单一参与者所持有造成CA系统安全性差的问题,从而提高了CA系统的安全性。

Description

一种证书签名方法、装置以及一种证书获取方法、装置
技术领域
本申请实施例涉及通讯技术领域,尤其涉及一种证书签名方法、装置以及一种证书获取方法、装置。
背景技术
公钥基础设施(Public Key Infrastructure,PKI)作为安全基础设施,其应用非常广泛,为网上金融、网上银行、网上证券、电子商务、电子政务等网络中的数据交换提供了完备的安全服务功能。由于网络具有开放性和匿名性等特点,非法用户通过一些技术手段假冒他人身份进行网上欺诈的门槛越来越低,从而对合法用户和系统造成极大的危害。身份认证的实质,就是证实被认证对象是否真实和是否有效的过程,被认为是当今网上交易的基础。
在PKI体系中,认证中心(Certification Authority,CA)系统作为公钥基础设施(Public Key Infrastructure,PKI)体系的中心,因此一旦CA系统作恶或者被敌手攻破,整个PKI体系会崩溃。
然而目前多数CA系统通常持有完整的签名私钥,签发证书内容时直接使用该签名私钥对证书内容进行签名,因此一旦CA系统作恶或者被敌手攻破,容易导致签名私钥泄密,从而造成CA系统安全性较差的问题。
发明内容
本申请实施例提供一种证书签名方法、装置以及一种证书获取方法、装置,用以解决现有技术中CA系统安全性较差的问题。
第一方面,本申请实施例中提供了一种证书签名方法,应用于CA系统中的控制中心,所述CA系统中包括多个参与者,所述方法包括:
获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;
向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;
获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
可选地,还包括:
将所述参与者集合中每个参与者对应的签名分量发送给用户端,以供用户端根据多个所述签名分量以及所述证书内容,确定出数字证书。
第二方面,本申请实施例提供了一种证书签名方法,应用于CA系统中的任一参与者,所述方法包括:
确定自身的私钥分量,所述私钥分量由所述参与者集合中的多个参与者将签名私钥分割后确定;
获取控制中心发送证书内容以及所述证书内容对应的参与者集合;
随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果;
向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
可选地,所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
所述随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,包括:
随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;
获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;
根据所述证书内容以及所述第二中间结果,计算出第三中间结果;
根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;
根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
可选地,所述确定自身的私钥分量,包括:
随机选取第二秘密值,并根据所述第二秘密值确定自身对应的私钥分量;
所述随机选取第二秘密值,并根据所述第二秘密值确定自身对应的私钥分量,包括:
将随机选取的第二秘密值按照所述参与者集合中的参与者个数进行分割,得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额;
将每个参与者对应的秘密份额发送给对应参与者,并接收所述参与者集合中其他参与者发送的秘密份额;
将分割得到的秘密份额以及其他参与者发送的秘密份额相加,得到自身对应的私钥分量。
可选地,在获取所述参与者集合中剩余参与者反馈的第一中间结果之前,还包括:
广播所述第一中间结果至所述参与者集合中的剩余参与者。
第三方面,本申请实施例提供了一种证书获取方法,应用于用户端,所述方法包括:
向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容,以使所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;
根据多个所述签名分量以及所述证书内容,确定出数字证书。
可选地,还包括:
根据所述CA系统广播的签名公钥验证所述数字证书的有效性。
第四方面,本申请实施例提供了一种证书签名装置,包括:
第一获取模块,用于获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;
第一发送模块,用于向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;
所述第一获取模块还用于获取所述参与者集合中每个参与者反馈的签名分量;
第一生成模块,用于根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
第五方面,本申请实施例提供了一种证书签名装置,包括:
第二确定模块,用于确定自身的私钥分量,所述私钥分量由所述参与者集合中的多个参与者将签名私钥分割后确定;
第二获取模块,用于获取控制中心发送证书内容以及所述证书内容对应的参与者集合;
第二生成模块,用于随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果;
第二发送模块,用于向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
第六方面,本申请实施例提供了一种证书获取装置,包括:
第三发送模块,用于向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容,以使所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;
第三确定模块,用于根据多个所述签名分量以及所述证书内容,确定出数字证书。
第七方面,本申请实施例提供了一种计算设备,包括处理组件以及存储组件;所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现如上述第一方面所述的证书签名方法,或者上述第二方面所述的证书签名方法,或者第三方面所述的证书获取方法。
第八方面,本申请实施例提供了一种计算机存储介质,存储有计算机程序,所述计算程序被计算机执行时,实现上述第一方面所述的证书签名方法,或者上述第二方面所述的证书签名方法,或者第三方面所述的证书获取方法。
本申请实施例中,获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果。本申请实施例提供的技术方案通过多个参与者对证书内容进行签名,避免了签名私钥归单一参与者所持有造成CA系统安全性差的问题,从而提高了CA系统的安全性。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种证书签名系统的系统架构图;
图2为本申请实施例提供的一种证书签名方法的流程图;
图3为本申请实施例提供的另一种证书签名方法的流程图;
图4为本申请实施例提供的一种证书获取方法的流程图;
图5为本申请实施例提供的一种证书签名装置的结构示意图;
图6为本申请实施例提供的另一种证书签名装置的结构示意图;
图7为本申请实施例提供的一种证书获取装置的结构示意图;
图8为本申请实施例提供的一种计算设备的结构示意图;
图9为本申请实施例提供的另一种计算设备的结构示意图;
图10为本申请实施例提供的另一种计算设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本用户端案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请的技术方案主要应用于CA系统签发证书的场景。
发明人在研究过程中考虑到,在PKI体系中,认证中心(CertificationAuthority,CA)系统作为公钥基础设施(Public Key Infrastructure,PKI)体系的中心,因此一旦CA系统作恶或者被敌手攻破,整个PKI体系会崩溃。
然而目前多数CA系统通常持有完整的签名私钥,签发证书内容时直接使用该签名私钥对证书内容进行签名,因此一旦CA系统作恶或者被敌手攻破,容易导致签名私钥泄密,从而造成CA系统安全性较差的问题。
为解决上述问题,本申请实施例提供了一种种证书签名方法,该方法包括:获取待签名的证书内容,并确定待签名的证书内容对应的参与者集合,参与者集合中包括多个需要对证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得参与者集合中的每个参与者随机选取第一秘密值,并根据第一秘密值以及获取的中间结果,生成自身对应的签名分量;获取参与者集合中每个参与者反馈的签名分量,根据多个签名分量生成对证书内容进行签名的签名结果。
本申请实施例提供的技术方案通过多个参与者对证书内容进行签名,避免了签名私钥归单一参与者所持有造成CA系统安全性差的问题,从而提高了CA系统的安全性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种证书签名系统的系统架构图,如图1所示,该证书签名系统包括CA系统11和用户端12,其中,CA系统主要负责签发和管理数字证书,CA系统11可包括控制中心111和多个参与者1121~112n,控制中心111用于接收用户端发送的签名请求,参与者1121~112n用于对证书内容进行签名。
本申请实施例中,用户端12用于向CA系统11的控制中心111发送证书内容的签名请求,所述请求携带待签名的证书内容。
CA系统11的控制中心111获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合(例如可以是多个参与者1121~112n中的部分参与者或者全部参与者),所述参与者集合中包括多个需要对所述证书内容进行签名的参与者,并向所述参与者集合中的每个参与者发送所述证书内容。
进一步地,参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果。
其中,该私钥分量为参与者集合中的多个参与者协商确定,具体地,私钥分量由所述参与者集合中的多个参与者将签名私钥分割后确定。
可选地,私钥分量具体确定过程可包括:任一参与者将随机选取的第二秘密值按照所述参与者集合中的参与者个数进行分割,得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额;将每个参与者对应的秘密份额发送给对应参与者,并接收所述参与者集合中其他参与者发送的秘密份额;将分割得到的秘密份额以及其他参与者发送的秘密份额相加,得到自身对应的私钥分量。该参与者集合中的每个参与者均按照上述私钥分类确定方式即可确定出自身的私钥分量。
控制中心111还用于获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
进一步地,CA系统还用于将所述参与者集合中每个参与者对应的签名分量发送给用户端12。
用户端12还用于根据多个所述签名分量以及所述证书内容,确定出数字证书。
进一步地,用户端12还用于根据所述CA系统广播的签名公钥验证所述数字证书的有效性。
在上述系统中,将证书内容对应的签名私钥,按照证书内容对应的参与者集合中的参与者个数进行分割,以确定每个参与者自身的私钥分量,每个参与者根据自身的私钥分量对所述证书内容进行签名,得到对应的签名分量后,控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果,从而避免了签名私钥归单一参与者所持有造成CA系统安全性差的问题,从而提高了CA系统的安全性。
图2为本申请实施例提供的一种证书签名方法的流程图,如图2所示,该方法应用于CA系统中的控制中心,所述CA系统中包括n个参与者,其中n个参与者组成的参与者集合S=
所述方法包括:
201、获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合;
在该步骤中,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者。
本申请实施例中,可通过获取用户端向CA系统发送的证书内容的签名请求,以确定待签名的证书内容,并在获取待签名的证书内容后,由CA系统中的多个参与者对证书内容进行签名。
可选地,控制中心可筛选出CA系统中的处于空闲状态的参与者,并将处于空闲状态的参与者作为需要对所述证书内容进行签名的参与者。此外,还可以通过其他方式确定出需要对所述证书内容进行签名的参与者,具体可根据需求设定,本申请实施例对此不做限定。
202、向所述参与者集合中的每个参与者发送所述证书内容。
本申请实施例中,控制中心向参与者集合中的每个参与者均发送证书内容,由参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量。关于参与者生成自身对应的签名分量的具体过程见图3所述的实施例。
其中,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果。
203、获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
相较于现存方案中通过签名私钥对证书内容进行签名的方案,本申请实施例的方案,通过每个参与者根据自身的私钥分量对所述证书内容进行签名,得到多个签名分量,此时的签名分量可以理解为是每个参与者通过自身的私钥分量对所述证书内容进行签名的签名结果,然而由于私钥分量并非是完整的签名私钥,因此通过私钥分量签名所得到的签名结果也并非是最终的签名结果,因此需要将多个签名分量合成,以获得最终的签名结果。
本申请的技术方案,避免了将签名私钥归于任一方所有,从而避免了因CA系统作恶或者被敌手攻破时导致签名私钥泄露的问题。
进一步地,该方法还包括:
204、将所述参与者集合中每个参与者对应的签名分量发送给用户端,以供用户端根据多个所述签名分量以及所述证书内容,确定出数字证书。
本申请实施例中,控制中心将每个参与者对应的签名分量发送给用户端后,用户端能够获取每个参与者对应的签名分量以及所述证书内容,确定出数字证书。关于数字证书的具体确定过程见图4所述的实施例。
图3为本申请实施例提供的另一种证书签名方法的流程图,如图3所示,该方法应用于CA系统中的任一参与者,所述CA系统中包括n个参与者,其中n个参与者组成的参与者集合S=
301、获取控制中心发送证书内容以及所述证书内容对应的参与者集合;
需要说明的是,在步骤301之前,即初始化阶段,CA系统中的任一参与者需要确定自身的私钥分量,其中,所述私钥分量由所述参与者集合中的多个参与者将签名私钥分割后确定。
本申请实施例中,可选地,可根据任一参与者随机选取的第二秘密值以及获取的第一参数确定出签名私钥,再将签名私钥按照需求分割成多份私钥分量,每个参与者对应一个私钥分量。
具体地,签名私钥=,其中,/>表示为参与者/>随机选取的第二秘密值,/>为预先定义的椭圆曲线的阶。
在上述确定每个参与者对应一个私钥分量的过程中,参与者需要将随机选取的第二秘密值/>按照所述参与者集合中的参与者个数(n个)进行分割,得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额后,将每个参与者对应的秘密份额发送给对应参与者,并接收所述参与者集合中其他参与者发送的秘密份额;将分割得到的秘密份额以及其他参与者发送的秘密份额相加,得到自身对应的私钥分量/>,其中,/>表示为参与者/>的私钥分量,参与者集合中所有参与者的私钥分量经过shamir秘密恢复机制即可得到签名私钥,但需要说明的是,该签名私钥不被任何一方所持有,参与者所持有的仅是私钥分量。
302、随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果;
可选地,本申请实施例中,获取的中间结果可包括第一中间结果、第二中间结果、第三中间结果、第四中间结果。
本申请实施例中,步骤302具体包括:
3021、随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;
在该步骤中,第一秘密值为参与者集合中的任一参与者根据需求随机选取第一秘密值,其中,/>,/>为预先定义的椭圆曲线的阶,/>表示一个整数集合,/>={0,1,…,/>-1}。
可选地,本申请实施例中,CA系统定义椭圆曲线E:y2=x3+ax+b(mod p),同时要求4a3+27b2≠0,其中,p为大素数,a、b、x和y均在有限域GF(p)中,即从{0,1,...,p-1}中取值。该椭圆曲线常用Ep(a,b)表示。若该曲线上只有有限个离散点,设为个,则椭圆曲线的阶为/>,其中,/>越大,椭圆曲线安全性越高。椭圆曲线的阶可通过schoof算法计算求得。
其中,假设参与者集合,第一个参与者/>可根据所述第一秘密值/>和获取的第一参数计算得到的第一中间结果,所述第一参数为预先定义的椭圆曲线的基点/>,即第一中间结果/>
3022、获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;
在该步骤中,第一个参与者广播第一中间结果/>,并收到其他(t-1)个参与者的广播的第一中间结果/>后,根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果/>,即/>=/>
关于其他(t-1)个参与者所计算的第一中间结果的方式,与第一个参与者计算出第一中间结果的方式一致,均需要每个参与者自身随机选取的第一秘密值/>和获取的第一参数/>计算得到的第一中间结果/>
3023、根据所述证书内容以及所述第二中间结果,计算出第三中间结果;
本申请实施例中,可选地,CA系统根据公式:,计算出第三中间结果,其中,/>表示为第三中间结果,即/>与/>级联后进行Hash运算的结果,/>表示为证书内容,/>表示为第二中间结果。
3024、根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;
本申请实施例中,可选地,CA系统根据公式:,计算出第四中间结果,其中,/>表示为第四中间结果,/>表示为任一参与者/>随机选取的第一秘密值,/>表示为第三中间结果,/>表示为获取的任一参与者/>对应的私钥分量。
其中,,/>表示为证书内容/>对应的参与者集合,/>,/>表示为为预先定义的椭圆曲线的阶。
3035、根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
在该步骤中,每个参与者根据各自的第三中间结果和所述第四中间结果,生成自身对应的签名分量。例如,参与者/>根据第三中间结果/>、第四中间结果/>,生成参与者/>对应的签名分量/>,其中,签名分量/>为参与者/>根据自身的私钥分量对证书内容/>进行签名的结果。
可选地,在步骤3024之前,还包括:确定自身对应的私钥分量。
本申请实施例中,任一参与者通过shamir秘密分割门限方案确定出自身对应的私钥分量。其中,shamir秘密分割门限方案是指将任一参与者随机选取的秘密s按照参与者个数分割成n份(n表示为参与者个数)毫无相关的部分信息,每一部分信息可称为秘密份额,由一个参与者持有,且至少拥有k份秘密份额才能够恢复出秘密s的方案,其中,k是秘密分割门限方案的门限值。
具体地,任一参与者通过shamir秘密分割门限方案将随机选取的第二秘密值按照所述参与者集合中的参与者个数进行分割,得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额。也就是说,至少需要k份参与者提供秘密份额才能够恢复第二秘密值/>
进一步地,为提高私钥分量的私密性,除了需要执行本申请实施例提供的证书签名方法的参与者得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额之外,还需要该参与者获取其他参与者随机选取第二秘密值后反馈的秘密份额。具体地,该参与者将每个参与者对应的秘密份额发送给对应参与者,并接收所述参与者集合中其他参与者发送的秘密份额;将分割得到的秘密份额以及其他参与者发送的秘密份额相加,得到自身对应的私钥分量。
可选地,在步骤3022之前,还包括:广播所述第一中间结果至所述参与者集合中的剩余参与者。
可选地,该方法还包括:广播签名公钥。
本申请实施例中,假设任一参与者随机选取一个秘密值,可将该秘密值/>映射到椭圆曲线群上的一个点/>,其中,G表示为椭圆曲线的基点,进一步地,可将多个参与者随机选取秘密值映射到椭圆曲线上的点之和作为签名公钥,并广播该签名公钥,即签名公钥/>,n=参与者集合中的参与者个数。
303、向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
本申请实施例中,任一参与者通过自身的私钥分量对证书内容进行签名后得到签名分量,并将该签名分量发送给控制中心,由控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果,避免了将签名私钥归属一方所有造成CA系统安全性差的问题。
图4为本申请实施例提供的一种证书获取方法的流程图,如图4所示,该方法应用于用户端;
所述方法包括:
401、向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容。
在本申请实施例中,所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;
402、根据多个所述签名分量以及所述证书内容,确定出数字证书。
本申请实施例中,各个参与者将签名分量发送给用户端,或者由控制中心将签名分量转发给用户端,由用户端根据多个所述签名分量以及所述证书内容,确定出数字证书。
具体地,用户端在接收到每个参与者发送的签名分量以及所述证书内容,计算出第五中间结果,并根据第五中间结果,得到数字证书。
其中,第五中间结果,/>表示为第五中间结果,/>表示为证书内容/>对应的参与者集合/>,/>,/>表示为/>对应的第四中间结果,/>表示为为预先定义的椭圆曲线的阶。
其中,根据第五中间结果得到的数字证书为/>,其中,/>表示为证书内容,/>表示为最终的签名结果,即由多个签名分量合成的签名结果。
403、根据所述CA系统广播的签名公钥验证所述数字证书的有效性。
本申请实施例中,可选地,验证过程包括:通过验证等式:是否成立,若等式成立输出1,表明数字证书有效,若否则输出0,表明数字证书无效,其中,/>表示为第三中间结果,G表示为椭圆曲线的基点,表示为/>与/>级联后进行Hash运算的结果,/>表示为证书内容,/>表示为第二中间结果,P表示为签名公钥,/>表示为第五中间结果。
图5为本申请实施例提供的一种证书签名装置的结构示意图,如图5所示,该装置包括:
第一获取模块51,用于获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;
第一发送模块52,用于向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;
所述第一获取模块51还用于获取所述参与者集合中每个参与者反馈的签名分量;
第一生成模块53,用于根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
本申请实施例中,可选地,该装置的第一发送模块52还用于将所述参与者集合中每个参与者对应的签名分量发送给用户端,以供用户端根据多个所述签名分量以及所述证书内容,确定出数字证书。
图5所述的证书签名装置可以执行图2所示实施例所述的证书签名方法,其实现原理和技术效果不再赘述。对于上述实施例中的证书签名装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6为本申请实施例提供的另一种证书签名装置的结构示意图,如图6所示,该装置包括:
第二确定模块61,用于确定自身的私钥分量,所述私钥分量由所述参与者集合中的多个参与者将签名私钥分割后确定;
第二获取模块62,用于获取控制中心发送证书内容以及所述证书内容对应的参与者集合;
第二生成模块63,用于随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果;
第二发送模块64,用于向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
本申请实施例中,可选地,该装置的第二生成模块63具体用于随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;根据所述证书内容以及所述第二中间结果,计算出第三中间结果;根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
本申请实施例中,可选地,第二确定模块61用于随机选取第二秘密值,并根据所述第二秘密值确定自身对应的私钥分量;所述随机选取第二秘密值,并根据所述第二秘密值确定自身对应的私钥分量,包括:将随机选取的第二秘密值按照所述参与者集合中的参与者个数进行分割,得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额;将每个参与者对应的秘密份额发送给对应参与者,并接收所述参与者集合中其他参与者发送的秘密份额;将分割得到的秘密份额以及其他参与者发送的秘密份额相加,得到自身对应的私钥分量。
本申请实施例中,可选地,该装置还包括第二广播模块65;
第二广播模块65用于广播所述第一中间结果至所述参与者集合中的剩余参与者。
图6所述的证书签名装置可以执行图3所示实施例所述的证书签名方法,其实现原理和技术效果不再赘述。对于上述实施例中的证书签名装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7为本申请实施例提供的一种证书获取装置的结构示意图,如图7所示,该装置包括:
第三发送模块71,用于向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容,以使所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;
第三确定模块72,用于根据多个所述签名分量以及所述证书内容,确定出数字证书。
本申请实施例中,可选地,该装置还包括:第三验证模块73;
第三验证模块73用于根据所述CA系统广播的签名公钥验证所述数字证书的有效性。
图7所述的证书获取装置可以执行图4所示实施例所述的证书获取方法,其实现原理和技术效果不再赘述。对于上述实施例中的证书获取装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个可能的设计中,图5所示实施例的证书签名装置可以实现为计算设备,如图8所示,该计算设备可以包括存储组件801以及处理组件802;
所述存储组件801存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件调用执行。
所述处理组件802用于:获取待签名的证书内容,并确定待签名的证书内容对应的参与者集合,参与者集合中包括多个需要对证书内容进行签名的参与者;向参与者集合发送证书内容,以使得参与者集合中的每个参与者随机选取第一秘密值,并根据第一秘密值以及获取的中间结果,生成自身对应的签名分量;获取参与者集合中每个参与者反馈的签名分量,根据多个签名分量生成对证书内容进行签名的签名结果。
其中,处理组件802可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件801被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件803可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。
通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,该计算设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图2所示实施例的证书签名方法。
在一个可能的设计中,图6所示实施例的证书签名装置可以实现为计算设备,如图9所示,该计算设备可以包括存储组件901以及处理组件902;
所述存储组件901存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件调用执行。
所述处理组件902用于:获取控制中心发送证书内容以及所述证书内容对应的参与者集合;确定自身的私钥分量,所述私钥分量由所述参与者集合中的多个参与者将签名私钥分割后确定;随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果;向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果。
其中,处理组件902可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件901被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件903可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。
通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,该计算设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图3所示实施例的证书签名方法。
在一个可能的设计中,图7所示实施例的证书获取装置可以实现为计算设备,如图10所示,该计算设备可以包括存储组件1001以及处理组件1002;
所述存储组件1001存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件调用执行。
所述处理组件1002用于:向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容,以使所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;根据多个所述签名分量以及所述证书内容,确定出数字证书。
其中,处理组件1002可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件1001被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件1003可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。
通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,该计算设备可以为物理设备或者云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器,上述处理组件、存储组件等可以是从云计算平台租用或购买的基础服务器资源。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图4所示实施例的证书获取方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种证书签名方法,其特征在于,应用于CA系统中的控制中心,所述CA系统中包括多个参与者,所述方法包括:
获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;
向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;
获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;
其中,所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量的过程包括:随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;根据所述证书内容以及所述第二中间结果,计算出第三中间结果;根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述参与者集合中每个参与者对应的签名分量发送给用户端,以供用户端根据多个所述签名分量以及所述证书内容,确定出数字证书。
3.一种证书签名方法,其特征在于,应用于CA系统中的任一参与者,所述方法包括:
确定自身的私钥分量,所述私钥分量由参与者集合中的多个参与者将签名私钥分割后确定;
获取控制中心发送证书内容以及所述证书内容对应的参与者集合;
随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果;
向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果;所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
所述随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,包括:
随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;
获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;
根据所述证书内容以及所述第二中间结果,计算出第三中间结果;
根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;
根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
4.根据权利要求3所述的方法,其特征在于,所述确定自身的私钥分量,包括:
随机选取第二秘密值,并根据所述第二秘密值确定自身对应的私钥分量;
所述随机选取第二秘密值,并根据所述第二秘密值确定自身对应的私钥分量,包括:
将随机选取的第二秘密值按照所述参与者集合中的参与者个数进行分割,得到自身对应的秘密份额以及所述参与者集合中其他参与者对应的秘密份额;
将每个参与者对应的秘密份额发送给对应参与者,并接收所述参与者集合中其他参与者发送的秘密份额;
将分割得到的秘密份额以及其他参与者发送的秘密份额相加,得到自身对应的私钥分量。
5.根据权利要求4所述的方法,其特征在于,在获取所述参与者集合中剩余参与者反馈的第一中间结果之前,还包括:
广播所述第一中间结果至所述参与者集合中的剩余参与者。
6.一种证书获取方法,其特征在于,应用于用户端,所述方法包括:
向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容,以使所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;
根据多个所述签名分量以及所述证书内容,确定出数字证书;
其中,所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量的过程包括:随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;根据所述证书内容以及所述第二中间结果,计算出第三中间结果;根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
7.根据权利要求6所述的方法,其特征在于,还包括:
根据所述CA系统广播的签名公钥验证所述数字证书的有效性。
8.一种证书签名装置,其特征在于,包括:
第一获取模块,用于获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;
第一发送模块,用于向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;
所述第一获取模块还用于获取所述参与者集合中每个参与者反馈的签名分量;
第一生成模块,用于根据多个所述签名分量生成对所述证书内容进行签名的签名结果;
其中,所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量的过程包括:随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;根据所述证书内容以及所述第二中间结果,计算出第三中间结果;根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
9.一种证书签名装置,其特征在于,包括:
第二确定模块,用于确定自身的私钥分量,所述私钥分量由参与者集合中的多个参与者将签名私钥分割后确定;
第二获取模块,用于获取控制中心发送证书内容以及所述证书内容对应的参与者集合;
第二生成模块,用于随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为参与者根据自身的私钥分量对所述证书内容进行签名的结果,所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
第二发送模块,用于向所述控制中心发送自身对应的签名分量,以使所述控制中心根据多个所述签名分量生成对所述证书内容进行签名的签名结果;
所述第二生成模块具体用于随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;根据所述证书内容以及所述第二中间结果,计算出第三中间结果;根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
10.一种证书获取装置,其特征在于,包括:
第三发送模块,用于向CA系统发送证书内容的签名请求,所述请求携带待签名的证书内容,以使所述CA系统获取待签名的证书内容,并确定所述待签名的证书内容对应的参与者集合,所述参与者集合中包括多个需要对所述证书内容进行签名的参与者;向所述参与者集合中的每个参与者发送所述证书内容,以使得所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量,所述签名分量为每个参与者根据自身的私钥分量对所述证书内容进行签名的结果;获取所述参与者集合中每个参与者反馈的签名分量,根据多个所述签名分量生成对所述证书内容进行签名的签名结果;将每个参与者对应的签名分量发送给用户端;
第三确定模块,用于根据多个所述签名分量以及所述证书内容,确定出数字证书;
其中,所述中间结果包括第一中间结果、第二中间结果、第三中间结果以及第四中间结果;
所述参与者集合中的每个参与者随机选取第一秘密值,并根据所述第一秘密值以及获取的中间结果,生成自身对应的签名分量的过程包括:随机选取第一秘密值,并根据所述第一秘密值和获取的第一参数,计算出第一中间结果,其中,所述第一参数为预先定义的椭圆曲线的基点;获取所述参与者集合中剩余参与者反馈的第一中间结果,并根据计算的第一中间结果和剩余参与者反馈的第一中间结果,计算出第二中间结果;根据所述证书内容以及所述第二中间结果,计算出第三中间结果;根据所述第一秘密值以及所述私钥分量、获取的第二参数,计算出第四中间结果,所述第二参数为预先定义的椭圆曲线的阶;根据所述第三中间结果和所述第四中间结果,生成自身对应的签名分量。
11.一种计算设备,其特征在于,包括处理组件以及存储组件;所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现如权利要求1或2所述的证书签名方法,或者权利要求3~5任一项所述的证书签名方法,或者权利要求6或者7所述的证书获取方法。
12.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算程序被计算机执行时,实现权利要求1或2所述的证书签名方法,或者权利要求3~5任一项所述的证书签名方法,或者权利要求6或者7所述的证书获取方法。
CN202311189013.3A 2023-09-14 2023-09-14 一种证书签名方法、装置以及一种证书获取方法、装置 Active CN116915416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311189013.3A CN116915416B (zh) 2023-09-14 2023-09-14 一种证书签名方法、装置以及一种证书获取方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311189013.3A CN116915416B (zh) 2023-09-14 2023-09-14 一种证书签名方法、装置以及一种证书获取方法、装置

Publications (2)

Publication Number Publication Date
CN116915416A CN116915416A (zh) 2023-10-20
CN116915416B true CN116915416B (zh) 2023-12-15

Family

ID=88353555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311189013.3A Active CN116915416B (zh) 2023-09-14 2023-09-14 一种证书签名方法、装置以及一种证书获取方法、装置

Country Status (1)

Country Link
CN (1) CN116915416B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110603783A (zh) * 2017-05-05 2019-12-20 区块链控股有限公司 采用可信硬件的安全动态阈值签名方案
CN110999207A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 生成阈值库的计算机实现方法
CN115885498A (zh) * 2020-08-18 2023-03-31 区块链许可股份公司 阈值签名

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2594312A (en) * 2020-04-23 2021-10-27 Nchain Holdings Ltd Digital Signatures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110603783A (zh) * 2017-05-05 2019-12-20 区块链控股有限公司 采用可信硬件的安全动态阈值签名方案
CN110999207A (zh) * 2017-08-15 2020-04-10 区块链控股有限公司 生成阈值库的计算机实现方法
CN115885498A (zh) * 2020-08-18 2023-03-31 区块链许可股份公司 阈值签名

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于证书的可验证多秘密共享方案;白晓;余梅生;;计算机工程与应用(07);全文 *
白晓 ; 余梅生 ; .基于证书的可验证多秘密共享方案.计算机工程与应用.2009,(07),全文. *

Also Published As

Publication number Publication date
CN116915416A (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN108418689B (zh) 一种适合区块链隐私保护的零知识证明方法和介质
US11025714B2 (en) System and method for announcing cryptographic keys on a blockchain
JP5851021B2 (ja) ソーシャルネットワークベースのpki認証
US8930704B2 (en) Digital signature method and system
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
CN108769230B (zh) 交易数据存储方法、装置、服务器及存储介质
CN111835526B (zh) 一种生成匿名凭证的方法及系统
CN112910660B (zh) 区块链系统的证书颁发方法、添加方法及交易处理方法
EP3496331A1 (en) Two-party signature device and method
CN110009354A (zh) 一种区块链中基于群签名的投票方法
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
CN110830244A (zh) 基于身份秘密共享和联盟链的抗量子计算车联网方法及系统
TW201801491A (zh) 公開金鑰憑證方法
US20110064216A1 (en) Cryptographic message signature method having strengthened security, signature verification method, and corresponding devices and computer program products
KR101382626B1 (ko) Id 기반의 강한 지정된 검증자 서명 시스템 및 방법
CN110990790B (zh) 一种数据处理方法及设备
US20070150944A1 (en) User authentication system and method for a communications network
CN111353780B (zh) 授权验证方法、装置及存储介质
CN112184245A (zh) 一种跨区块链的交易身份确认方法及装置
CN116915416B (zh) 一种证书签名方法、装置以及一种证书获取方法、装置
CN114362958B (zh) 一种基于区块链的智能家居数据安全存储审计方法及系统
US11902451B2 (en) Cross-blockchain identity and key management
US20240013170A1 (en) Method for secure, traceable and privacy-preserving digital currency transfer with anonymity revocation on a distributed ledger
US11424922B2 (en) Hashing schemes for cryptographic private key generation
CN112385181B (zh) 用于证明公钥的可靠性的装置、方法及程序

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