CN114900302B - 一种匿名证书的颁发方法 - Google Patents
一种匿名证书的颁发方法 Download PDFInfo
- Publication number
- CN114900302B CN114900302B CN202210814528.7A CN202210814528A CN114900302B CN 114900302 B CN114900302 B CN 114900302B CN 202210814528 A CN202210814528 A CN 202210814528A CN 114900302 B CN114900302 B CN 114900302B
- Authority
- CN
- China
- Prior art keywords
- anonymous certificate
- certificate
- public
- declaration
- anonymous
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
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
本发明公开了一种匿名证书的颁发方法,包括:接收申请者提交的匿名证书申请,所述匿名证书申请根据申请者基于DID的VC生成的VP进行提交,所述VP中包含随机公钥的声明,验证所述匿名证书申请;将匿名证书申请的特有信息作为随机种子获取公私钥系数集合,根据所述公私钥系数集合以及所述VP的随机公钥的集合生成匿名证书公钥,根据所述匿名证书公钥生成匿名证书,颁发所述匿名证书。通过本方法颁发匿名证书时,证书颁发者直接从VP中生成公钥并生成匿名证书,无需对匿名证书的申请人进行实名身份认证,从而降低了证书颁发的流程复杂度,提高了证书颁发的效率,提高了隐私保护能力,降低了实名身份认证的次数。
Description
技术领域
本申请涉及基于DID的VC和电子证书,具体涉及一种匿名证书的颁发方法。
背景技术
DID(Decentralized IDentity)是一种去中心化的数字身份,相对于传统的数字身份,具有以下优势:基于去中心化信息系统如区块链,避免了身份数据被单一的中心化权威机构所控制;基于DPKI(去中心化公钥基础设施),每个用户能自主管理自己的身份;身份相关数据锚定在区块链上,认证的过程不需要依赖于提供身份的应用方。
现有技术中,DID的建立过程中需要使用Merkle树,使得VC(Verifiable Claims或 Verifiable Credentials,是一种对应于DID应用场景的数字证书)数据结构变得复杂,因为Merkle树中每个数据都和前后的其他数据有关联,如果VC进行选择性披露,必须同时提供非披露数据的哈希值以便验证方正确计算Merkle树的树根并用于数字签名的验证,因此该方法不仅数据量大,不便于传输与存储,验证数字签名时还需要额外计算Merkle树的信息。另外,现有DID使用时,VC只能由单独VC颁发者发行,不能满足多个VC颁发者进行共同发行的应用场景。另外,现有基于DID的身份认证系统虽然可以通过选择性披露VC从而隐藏用户的个人信息,但是DID是公开的,而用户的所有行为都与DID进行绑定,因此非法用户可以以DID为线索,跟踪用户的所有行为,乃至推断出用户的真实身份和行为特征。
基于DID在申请数字身份、数字证书、电子证件等电子身份证明时,往往需要申请人进行实名身份认证,这不仅对颁发者造成了通信和计算量方面的负担,而且往往使得申请人用于完成实名身份认证的敏感信息如证件信息、手机号、生物学信息被发送到多个地方,导致申请人个人信息面临被暴露的风险。而如果不对申请人进行实名身份认证,则颁发者可能为非法用户颁发了电子身份证明,从而为颁发者带来违法风险。
为实现某些场景下的身份信息保护,一般为用户颁发匿名证书。然而,目前匿名证书的申请效率不高,难以满足某些情况下的匿名证书申请要求。例如,在车联网场景下,为实现车辆的隐私保护,车联网的管理中心为车辆颁发匿名证书;车辆在外活动时,均使用匿名证书对应的私钥对自身发出的消息进行签名,从而实现既可信又匿名的效果;然而,为保证车辆信息不被跟踪,经常需要更换匿名证书,某些情况下是在车辆运动过程中紧急请求批量的匿名证书,如果匿名证书申请流程复杂或申请效率低,将难以满足现实需求。
发明内容
为了解决匿名证书申请流程复杂或申请效率低的问题,本申请提供一种匿名证书的颁发方法。
一种匿名证书的颁发方法,包括以下步骤:
接收申请者提交的匿名证书申请,所述匿名证书申请根据申请者基于DID的VC生成的VP进行提交,所述VP中包含随机公钥的声明,验证所述匿名证书申请;
将匿名证书申请的特有信息作为随机种子获取公私钥系数集合,根据所述公私钥系数集合以及所述VP的随机公钥的集合生成匿名证书公钥,根据所述匿名证书公钥生成匿名证书,颁发所述匿名证书。
进一步地,所述特有信息包括:申请的时间信息、VP的整体签名、VP的内容、VP的哈希值、申请者提供的随机数或颁发者提供的随机数。
进一步地,所述获取公私钥系数集合包括:基于所述随机种子利用伪随机函数生成若干整数作为公私钥组合系数。
进一步地,所述生成匿名证书公钥包括:利用非对称密码学的计算原理,根据所述公私钥系数集合以及所述VP的随机公钥的集合生成匿名证书公钥。
进一步地,还包括保存所述匿名证书与真实的申请者之间的关联关系以及所述匿名证书生成的全过程记录。
进一步地,申请者生成所述基于DID的VC的方法包括以下步骤:
通过VC发行方验证实名身份后,获得若干VC发行方发行的若干声明以及VC元数据,所述VC元数据包括公共元数据和单独声明的特有的声明元数据,同一发行方对应一条或多条声明,所述声明包括声明信息、声明签名以及声明元数据,所述声明信息包括实体信息或随机公钥,通过所述声明的发行方的私钥对所述公共元数据、声明元数据以及声明信息的拼接信息进行签名获得所述声明签名。每一条声明信息对应一个声明签名。
该方法生成的VC舍去了原有VC结构中的Merkle树相关内容,增加了每个声明对应的签名,去掉了对VC总体的签名,使得VC的数据结构变得简单,在保持数据的安全性和不可篡改性的同时,使每条数据之间保有独立性,以便完成后续的公钥的组合及签名的聚合,也减少了验证者验证VC签名的计算量。
进一步地,所述VP的生成方法包括:
过滤隐私的声明信息,得到可查看声明信息,聚合所述可查看声明信息的声明签名,得到声明聚合签名,通过申请者的私钥对所述聚合签名、所述可查看声明信息的声明整体以及所述可查看声明的发行元数据的拼接信息进行签名,得到VP的整体签名。
一种匿名证书的验证方法,用于验证上述颁发方法获得的匿名证书,包括以下步骤:根据所述匿名证书颁发者公钥验证所述匿名证书的签名、验证所述匿名证书的有效期以及验证所述匿名证书是否位于证书撤销列表。
一种匿名证书的持有方法,持有指持有者自身的持有,包括以下步骤:根据匿名证书申请的特有信息作为随机种子获取公私钥系数集合,根据所述公私钥系数集合以及所述VP的随机公钥的集合所对应的随机私钥的集合生成匿名证书私钥,以所述匿名证书私钥持有所述匿名证书。
本发明的有益效果在于:
通过本方法颁发匿名证书时,证书颁发者直接从VP中生成公钥并生成匿名证书,无需对匿名证书的申请人进行实名身份认证,从而降低了证书颁发的流程复杂度,提高了证书颁发的效率。申请人用于完成实名身份认证的敏感信息无需发送到当前的证书颁发者,从而降低了申请人个人信息被暴露的风险,提高了隐私保护能力。另外,证书申请者仅通过实名身份认证向VC颁发者申请少量随机公钥,即可产生大量可用于匿名证书的匿名证书公钥,从而大大降低了实名身份认证的次数。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本方法的流程图。
具体实施方式
为使得本申请的申请目的、特征、优点能够更加地明显和易懂,下面将对本申请实施例中的技术方案进行清楚、完整的描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例中的专有名词解释说明:
DID是一种特定格式的字符串,用来代表一个实体的数字身份。DID的标识格式为:did:example:123456789abcdefghijk,其中,前缀did是固定的,表示这个字符串是一个did标识字符串;中间的example被称为DID方法,就是用来表示这个DID标识是用哪一套方案或方法来进行定义和操作的,DID方法可以自定义;最后的长字符串部分是在该DID方法下的唯一标识字符串。
DID文档是一种对DID身份进行存证的文档,一般是对DID相关信息进行关联,尤其是建立DID与其公钥的关联,然后把DID标识作为Key,把DID文档作为Value存储到区块链中,利用区块链不可篡改、共享数据的特点,使得DID验证者能快速访问获取DID持有者的公钥。
VC是Verifiable Claims 或 Verifiable Credentials的简称,可译为可验证声明或可验证凭证,是一个 DID 给另一个 DID 的某些属性做背书而发出的描述性声明,并附加自己的数字签名,用以证明这些属性的真实性,是一种对应于DID应用场景的数字证书。
VP是Verifiable Presentation的简称,可译为可验证表述,是VC持有者向验证者表明自己身份的数据。一般情况下,可以直接出示VC全文,但是在某些情况下,出于隐私保护的需要,我们并不需要出示完整的VC内容,只希望选择性披露某些属性,此时可以在VP中对披露的VC属性以明文示出,对不披露的VC属性以哈希值示出,VP的接收方可以根据明文及哈希值的VC属性计算Merkle树的根后进行数字签名的验证并得到通过。
本申请如有对DID、DID文档、VC、VP及相关概念及结构的描述不够详尽之处,可参考业界的DID标准或实际实现方式。例如,2019年W3C(World Wide Web Consortium)发布DID的首个公开工作草案:“Decentralized Identifiers (DIDs) v1.0”。
实施例1
本实施例提供一种基于DID的VC生成方法和VC结构,具体包括:
DID持有者向一个或多个VC颁发者提交N个声明:claim1~claimN。其中,最少情况下为1个VC颁发者,最多情况下为N个VC颁发者。其中DID持有者为匿名证书的申请者。
一条声明为一个信息条目,例如,“颁发者A,姓名:AA,签名:AAA”、“颁发者B,年龄:BB,签名:BBB”、“颁发者C,住址:CC1省CC2市CC3路CC4号,签名:CCC”、“颁发者D,随机公钥:DD,签名:DDD”等。其中,N个声明中,可能存在M个声明信息为存储了随机公钥的信息的声明,随机公钥、随机私钥根据公私钥生成算法所得且一一对应,即DID持有者所控制的设备中安全保存M个随机私钥,将对应的M个随机公钥生成为M个声明。各个VC颁发者根据DID持有者对声明的申请要求,对DID持有者进行实名身份认证,认证通过后判断申请内容的正确性,通过则对声明信息生成声明签名,最后对DID持有者进行实名身份认证时的信息进行具有法律效力的存证以备后续取证。其中,存证方法为现有技术,优选为将证据信息的哈希值存储到区块链上,并将证据信息原文安全存储于用户本地,优选为保留多个证据信息原文的备份。其中,公私钥生成算法指非对称密码学多个分支中的多种公私钥生成算法,且该非对称密码学分支中私钥的线性组合及对应公钥的对应线性组合也构成公私钥对,例如ECC密码学中,假设存在公私钥对sk1及pk1、公私钥对sk2及pk2,则sk12=a*sk1+b*sk2及pk12=a*pk1+b*pk2也构成公私钥对,其中a与b为ECC密码学中满足条件的任意整数。
DID持有者获得VC元数据以及各个VC颁发者发行的若干声明,VC元数据包括公共元数据和单独声明的特有的声明元数据。同一VC颁发者对应一条或多条声明,声明包括声明元数据metadata、声明信息claim、声明签名s,通过声明的VC颁发者的私钥对公共元数据、声明元数据以及声明信息的拼接信息进行签名获得声明签名,每一条声明信息对应一个声明签名。现有技术中,由于VC的颁发者是单个的颁发者,因此颁发者信息位于VC元数据中,本申请由于每条声明可能是由不同颁发者所颁发的,因此将现有的VC元数据分拆为公共部分和特有部分,即这里的公共元数据common_metadata和声明元数据metadata。公共元数据,包括DID、发行目的、生成时间以及有效期等,但不包括颁发者及声明的类型。生成时间指召集所有颁发方生成VC的时间或申请者的申请时间。声明元数据为对应声明私有的元数据,包括VC颁发者以及声明的类型等,声明的类型如“姓名”、“手机号”、“随机公钥”等。声明信息包括实体信息或随机公钥的值,其中实体信息的声明元数据为“姓名”、“手机号”等,类似现有技术中DID持有者的实体信息,随机公钥的声明元数据为“随机公钥”。
声明签名的算法使用可以进行聚合签名的签名算法。例如,文献“Boneh D ,Gentry C , Lynn B , et al. Aggregate and verifiably encrypted signatures frombilinear maps[J]. Springer, Berlin, Heidelberg, 2003.”描述了一种聚合签名算法,对应地文中还描述了聚合签名的验证算法。
用以上方法生成可验证凭证VC,VC结构如下表所示。
{common_metadata
// 以下为VC声明的具体内容
metadata1, claim1, s1
metadata2, claim2, s2
……
metadatai, claimi, si
……
metadataN, claimN, sN}
其中,si为声明签名,将common_metadata||metadatai||claimi作为签名对象,“||”为拼接符号,用VC颁发者的私钥对其进行签名得到si,其中1≤i≤N。
在VC原有结构中的Merkle树会使VC的数据结构较为复杂,而且不支持多个VC颁发者共同发行一个VC。而本实施例中的VC结构舍去了原有VC结构中的Merkle树相关内容,增加了每个声明对应的签名,去掉了对VC总体的签名,使得VC的数据结构变得简单,在保持数据的安全性和不可篡改性的同时,使每条数据之间保有独立性,以便完成后续的公钥的组合及签名的聚合,也减少了验证者验证VC签名的计算量。并且,本方法中的VC可以支持多个VC颁发者共同发行一个VC,增加了VC的应用场景。
DID持有者在收到上述的VC后,将VC元数据、每条声明信息与先前发出的VC元数据、每条声明信息进行对比,对比一致后使用每条声明对应的颁发者的公钥对其进行每个签名的逐个验证,验证方法与前文所述的签名方法相对应,验证通过后信任签名数据来源于对应的VC颁发者且声明数据未被篡改。
实施例2
本实施例提供一种VP的生成方法和验证方法,本实施例中的VC生成方式见实施例1。
DID持有者从一个或多个VC中提取声明信息组成VP给验证者。
DID持有者将VP中各声明的声明签名进行签名聚合得到声明聚合签名。提取声明信息的内容取决于实际的业务需求,例如在隐私保护的需求下对VC中的声明信息进行选择性披露。本申请中,当申请匿名证书时,提取声明信息为一个或多个带有随机公钥的声明信息,以便于后续对提取的随机公钥进行计算从而得到匿名证书的公钥。
最后,通过DID持有者的私钥对VP元数据、可查看声明信息的一个或多个VC的拼接信息进行签名,得到VP整体签名proofVP。其中,一个或多个VC的拼接信息仅包含一个聚合签名。
本实施例以一个VP为例,当该VP仅包含实施例1中的VC而未包含其他VC,且假设实施例1中的VC中claimi以后的声明为不披露信息。具体结构如下:
{metadataVP
// 以下为VP的主体内容,一对{}中包含一个VC,可以有多个VC
{common_metadata
metadata1, claim1
metadata2, claim2
……
metadatai, claimi
proof }
proofVP }
其中,metadataVP为VP元数据,包括版本、生成时间等信息,与现有技术一致;proof为s1~si的聚合体,即聚合签名;proofVP为DID持有者的私钥对VP中其他内容的数字签名。
当该VP包含多个选择性披露的VC时,由多个VC先各自生成各自的聚合签名,然后将所有VC的聚合签名聚合为一个聚合签名。
验证者收到VP,验证方法如下:
(1) 验证proof
对每一个声明,将common_metadata||metadatai||claimi作为验证对象,收集到每个VC颁发者的公钥,用VC颁发者公钥的集合对proof进行聚合签名的验证,验证通过后表明一个或多个VC颁发者对验证对象的签名有效且未被篡改。其中,聚合签名的验证方法为聚合签名方法所对应的签名验证方法。
(2)验证proofVP
根据DID找到DID文档,从中找到DID持有者的公钥,并用DID持有者的公钥对proofVP进行验证,验证通过后表明DID持有者对VP的签名有效,且VP各部分均未被篡改。
全部的验证通过后,验证者信任整个VP且确认其来自于该DID持有者。
实施例3
本实施例提供一种DID持有者通过VP向证书颁发者申请、生成并验证匿名证书的方法和匿名证书的验证、使用方法,本实施例中的VP的生成方式见实施例2。如图1所示。
步骤1:DID持有者提出匿名证书申请
DID持有者从拥有的一个或多个VC中随机抽取出L个随机公钥的声明,通过实施例2的方法,仅保留有被抽取的声明的VC,最后合并生成一个VP。其中,L个随机公钥的集合表示为{pki, 1≤i≤L},其对应的私钥的集合表示为{ski, 1≤i≤L}且在DID持有者所控制的设备中安全存储。
DID持有者将VP作为匿名证书申请发送给证书颁发者。
步骤2:证书颁发者处理申请
证书颁发者收到匿名证书申请后,通过实施例2的方法对其进行验证,验证后认可申请内容。
步骤3:证书颁发者颁发匿名证书
证书颁发者从VP中获取VP的生成时间VPT作为匿名证书申请时间,取当前时间PCT为匿名证书生成时间,并生成匿名证书。其中匿名证书的生成方法为:
(3.1) 根据本次申请的特有信息获取公私钥组合系数集合
本次申请的特有信息如本次申请的时间信息、本次申请的VP签名proofVP、本次申请的VP整体、本次申请的VP整体的哈希值、DID持有者为本次申请提供的随机数、证书颁发者为本次申请提供的随机数等,或任意两者或多者的组合。其中,本次申请的时间信息如匿名证书申请时间、匿名证书生成时间,或两者的组合。其中,DID持有者为本次申请提供的随机数、证书颁发者为本次申请提供的随机数可以为DID持有者与证书颁发者通信过程中互相发送的随机数,如实际流程中未加入该随机数交换流程,则两个随机数均为空。
证书颁发者以本次申请的特有信息作为随机种子,然后基于这个随机种子利用伪随机函数生成L个整数作为L个公私钥组合系数,可表示为{ci, 1≤i≤L}。其中公私钥组合系数可以是伪随机函数的输出结果、输出结果的一部分、多个输出结果的组合。
(3.2) 根据公私钥组合系数集合生成匿名证书公钥
证书颁发者依照满足本申请条件的非对称密码学分支的对应计算原理,根据公私钥组合系数集合、随机公钥集合生成匿名证书公钥。例如,在ECC密码学的情况下,生成匿名证书公钥pkp=ΣL i=1ci*pki。
(3.3) 生成并颁发匿名证书
证书颁发者根据现有证书颁发技术颁发匿名证书,其中证书中的公钥为步骤3.2中的pkp,证书持有者为空或者为一个匿名ID。其中,匿名ID为随机数或随机数变化而来的字符串。证书颁发者向申请者发送匿名证书。同时,为满足后续对匿名证书的溯源需求,颁发者保存匿名证书与真实DID之间的关联关系、匿名证书生成过程的记录,必要时进行存证。其中,匿名证书生成过程的记录包括整个申请过程的各条通信消息。
由此可见,本申请中颁发匿名证书时,证书颁发者无需对匿名证书的申请人进行实名身份认证,从而降低了证书颁发的复杂性、提高了对申请人的隐私保护能力。其原理在于:证书颁发者收集到的信息均来源于已经经过实名身份认证的VC信息,且收集到的信息已经通过对VP的验证而得到验证,因此证书颁发者无需进行重复的实名身份认证,这不仅对颁发者降低了通信和计算量方面的负担,而且使得申请人用于完成实名身份认证的敏感信息无需发送到当前的证书颁发者,从而降低了申请人个人信息被暴露的风险,同时也消除了颁发者因未执行实名身份认证带来的违法风险。另外,证书申请者仅通过实名身份认证向VC颁发者申请少量随机公钥,即可产生大量可用于匿名证书的匿名证书公钥,从而大大降低了实名身份认证的次数。例如,本申请中,假设实名身份认证一次可以申请L个可用于匿名证书的随机公钥,而L个随机公钥可以与无数种公私钥组合系数集合进行组合,进而形成无数种匿名证书公钥。
步骤4:DID持有者验证匿名证书
DID持有者也就是上述步骤的申请者。验证匿名证书的方法与普通的证书验证方法相同,包括获取证书颁发者的公钥、利用证书颁发者的公钥验证证书签名、验证证书有效期及是否位于证书撤销列表等。验证通过后,DID持有者认为该匿名证书有效。
步骤5:DID持有者使用匿名证书
DID持有者首先根据本次申请的特有信息获取公私钥组合系数集合,获取方法与步骤3相同。
DID持有者依照满足本申请条件的非对称密码学分支的对应计算原理,根据公私钥组合系数集合、随机私钥集合生成匿名证书私钥。根据原理,匿名证书私钥与匿名证书中的匿名证书公钥是一对公私钥对。例如,在ECC密码学的情况下,生成匿名证书私钥skp=ΣLi=1ci*ski,此时
skp*P=(ΣL i=1ci*ski)*P=ΣL i=1ci*(ski*P)=ΣL i=1ci*pki=pkp
因此skp与pkp是一对公私钥对,其中P是ECC密码学中的生成元。
DID持有者根据获取的匿名证书私钥,可以使用匿名证书,使用方法与普通证书相同,但可以保持DID持有者的匿名性。
当需要对匿名证书进行溯源时,匿名证书溯源者可以从匿名证书的颁发者处获取匿名证书与真实DID之间的关联关系、匿名证书生成过程的记录,如证书颁发者进行了存证则进行取证,从而获知匿名证书拥有者即DID持有者的真实身份,此时匿名证书溯源者为被匿名证书的颁发者所认可的有权限进行匿名证书溯源的匿名证书验证者,具体根据实际需求而定,例如车联网中,车联网成员A因验证通过了车联网成员B的虚假信息而发生交通事故从而产生可确认的经济损失,因此车联网成员A向对车联网成员B颁发匿名证书的颁发者求助,以确认车联网成员B的真实身份,从而便于车联网成员A联系车联网成员B进行理赔手续。如果匿名证书溯源者想要进一步确认DID持有者的真实身份,可以从匿名证书生成过程的记录中找到VP,从VP中获取VC的颁发者信息,然后从VC的颁发者处获取DID持有者进行实名身份认证时的存证信息,此时匿名证书溯源者为被VC的颁发者所认可的有权限进行进一步匿名证书溯源的匿名证书验证者,具体根据实际需求而定,例如车联网中,车联网成员A因验证通过了车联网成员B的虚假信息而发生交通事故从而产生可确认的经济损失,因此车联网成员A向对车联网成员B颁发匿名证书的颁发者求助,以确认车联网成员B的真实身份,从而便于联系车联网成员B进行理赔手续,但此时车联网成员B在匿名证书颁发者处披露的信息不足,或者车联网成员A未获得具有法律效力的证据,导致车联网成员A仍然无法联系或确认车联网成员B的真实身份,因此车联网成员A进一步向对车联网成员B颁发VC的颁发者求助,以确认车联网成员B的真实身份,对车联网成员B颁发VC的颁发者可以依法出具足够且具有法律效力的实名身份认证时的信息及对应的存证信息,从而便于车联网成员A联系车联网成员B进行理赔手续。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种匿名证书的颁发方法,其特征在于,包括以下步骤:
接收申请者提交的匿名证书申请,所述匿名证书申请根据申请者基于DID的VC生成的VP进行提交,所述VP中包含随机公钥的声明,验证所述匿名证书申请;
将匿名证书申请的特有信息作为随机种子获取公私钥系数集合,根据所述公私钥系数集合以及所述VP的随机公钥的集合生成匿名证书公钥,根据所述匿名证书公钥生成匿名证书,颁发所述匿名证书;
申请者生成所述基于DID的VC的方法包括以下步骤:
通过VC发行方验证实名身份后,获得若干VC发行方发行的若干声明以及VC元数据,所述VC元数据包括公共元数据和单独声明的特有的声明元数据,同一发行方对应一条或多条声明,所述声明包括声明信息、声明签名以及声明元数据,所述声明信息包括实体信息或随机公钥,通过所述声明的发行方的私钥对所述公共元数据、声明元数据以及声明信息的拼接信息进行签名获得所述声明签名;所述VC不包括Merkle树以及VC 总体签名。
2.根据权利要求1所述的匿名证书的颁发方法,其特征在于,所述特有信息包括:申请的时间信息、VP的整体签名、VP的内容、VP的哈希值、申请者提供的随机数或颁发者提供的随机数。
3.根据权利要求1所述的匿名证书的颁发方法,其特征在于,所述获取公私钥系数集合包括:基于所述随机种子利用伪随机函数生成若干整数作为公私钥组合系数。
4.根据权利要求1所述的匿名证书的颁发方法,其特征在于,所述生成匿名证书公钥包括:利用非对称密码学的计算原理,根据所述公私钥系数集合以及所述VP的随机公钥的集合生成匿名证书公钥。
5.根据权利要求1所述的匿名证书的颁发方法,其特征在于,还包括保存所述匿名证书与真实的申请者之间的关联关系以及所述匿名证书生成的全过程记录。
6.根据权利要求1所述的匿名证书的颁发方法,其特征在于,所述VP的生成方法包括:
过滤隐私的声明信息,得到可查看声明信息,聚合所述可查看声明信息的声明签名,得到声明聚合签名,通过申请者的私钥对所述聚合签名、所述可查看声明信息的声明整体以及所述可查看声明的发行元数据的拼接信息进行签名,得到VP的整体签名。
7.根据权利要求1所述的匿名证书的颁发方法,其特征在于,所述公共元数据包括:DID、发行目的、召集时间以及有效期。
8.一种匿名证书的验证方法,验证根据权利要求1-7任意所述匿名证书的颁发方法颁发的匿名证书,其特征在于,包括:根据所述匿名证书颁发者的公钥验证所述匿名证书的签名、验证所述匿名证书的有效期以及验证所述匿名证书是否位于证书撤销列表。
9.一种匿名证书的持有方法,持有根据权利要求1-7任意所述匿名证书的颁发方法颁发的匿名证书,其特征在于,包括:根据匿名证书申请的特有信息作为随机种子获取公私钥系数集合,根据所述公私钥系数集合以及所述VP的随机公钥的集合所对应的随机私钥的集合生成匿名证书私钥,以所述匿名证书私钥持有所述匿名证书。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210814528.7A CN114900302B (zh) | 2022-07-12 | 2022-07-12 | 一种匿名证书的颁发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210814528.7A CN114900302B (zh) | 2022-07-12 | 2022-07-12 | 一种匿名证书的颁发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900302A CN114900302A (zh) | 2022-08-12 |
CN114900302B true CN114900302B (zh) | 2022-11-25 |
Family
ID=82729656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210814528.7A Active CN114900302B (zh) | 2022-07-12 | 2022-07-12 | 一种匿名证书的颁发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900302B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365486A (zh) * | 2019-06-28 | 2019-10-22 | 东软集团股份有限公司 | 一种证书申请方法、装置及设备 |
CN111901106A (zh) * | 2020-07-21 | 2020-11-06 | 杜晓楠 | 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质 |
KR102267735B1 (ko) * | 2020-11-18 | 2021-06-22 | 주식회사 케이사인 | 영지식 증명을 이용한 탈중앙화 신원증명 시스템 및 방법 |
CN113765667A (zh) * | 2020-06-02 | 2021-12-07 | 大唐移动通信设备有限公司 | 一种匿名证书申请、设备认证方法、设备、装置及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2950213A1 (fr) * | 2009-09-11 | 2011-03-18 | France Telecom | Procede de generation d'un certificat numerique |
CN112199714B (zh) * | 2020-12-04 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私保护方法、装置及电子设备 |
CN113014392B (zh) * | 2021-02-19 | 2022-04-08 | 湖南大学 | 基于区块链的数字证书管理方法及系统、设备、存储介质 |
-
2022
- 2022-07-12 CN CN202210814528.7A patent/CN114900302B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365486A (zh) * | 2019-06-28 | 2019-10-22 | 东软集团股份有限公司 | 一种证书申请方法、装置及设备 |
CN113765667A (zh) * | 2020-06-02 | 2021-12-07 | 大唐移动通信设备有限公司 | 一种匿名证书申请、设备认证方法、设备、装置及介质 |
CN111901106A (zh) * | 2020-07-21 | 2020-11-06 | 杜晓楠 | 去中心化身份系统中隐藏用户真实公钥的方法和计算机可读介质 |
KR102267735B1 (ko) * | 2020-11-18 | 2021-06-22 | 주식회사 케이사인 | 영지식 증명을 이용한 탈중앙화 신원증명 시스템 및 방법 |
Non-Patent Citations (2)
Title |
---|
基于PMI属性证书的匿名认证方案;贺靖靖等;《计算机安全》;20130115(第01期);全文 * |
基于代理的隐私CA模型;李超零等;《信息工程大学学报》;20100215(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114900302A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5717759A (en) | Method for certifying public keys in a digital signature scheme | |
CN114186248B (zh) | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 | |
US6202150B1 (en) | Auto-escrowable and auto-certifiable cryptosystems | |
CN108809658A (zh) | 一种基于sm2的身份基的数字签名方法与系统 | |
CN101951388B (zh) | 一种可信计算环境中的远程证明方法 | |
CN111464980A (zh) | 一种车联网环境下基于区块链的电子取证装置及取证方法 | |
CN109788482A (zh) | 一种车联网环境下车辆间的消息匿名认证方法及系统 | |
CN109257180A (zh) | 一种基于区块链的知识产权文件存证的方法及装置 | |
CN111526023A (zh) | 一种基于ipk的区块链上链数据安全认证方法与系统 | |
CN110247759B (zh) | 一种sm9私钥生成和使用方法及系统 | |
CN111182497A (zh) | V2x匿名认证方法、设备及存储介质 | |
CN113364597A (zh) | 一种基于区块链的隐私信息证明方法及系统 | |
CN114944937B (zh) | 分布式数字身份验证方法、系统、电子设备及存储介质 | |
CN115580488A (zh) | 基于区块链和物理不可克隆函数的车载网消息认证方法 | |
KR960042410A (ko) | 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법 | |
CN106533681B (zh) | 一种支持部分出示的属性证明方法与系统 | |
CN115102695A (zh) | 基于区块链的车联网证书认证方法 | |
CN111984959B (zh) | 一种匿名信息发布及验证方法、装置 | |
CN109766716A (zh) | 一种基于可信计算的匿名双向认证方法 | |
CN108833104A (zh) | 一种文件的签署方法、验证方法及装置 | |
CN114900302B (zh) | 一种匿名证书的颁发方法 | |
KR101407945B1 (ko) | 부분 연결성을 제공하는 익명 인증 서비스 방법 | |
CN111682937A (zh) | 增强型cpk的密钥申请与分发方法及装置 | |
JP2000155524A (ja) | 電子検印システム | |
Gañán et al. | Toward revocation data handling efficiency in VANETs |
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 |