CN117693925A - 数据管理程序、数据管理方法、数据管理装置及数据管理*** - Google Patents
数据管理程序、数据管理方法、数据管理装置及数据管理*** Download PDFInfo
- Publication number
- CN117693925A CN117693925A CN202180100924.7A CN202180100924A CN117693925A CN 117693925 A CN117693925 A CN 117693925A CN 202180100924 A CN202180100924 A CN 202180100924A CN 117693925 A CN117693925 A CN 117693925A
- Authority
- CN
- China
- Prior art keywords
- user
- data management
- server
- signature
- verifier
- 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.)
- Pending
Links
- 238000013523 data management Methods 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims description 45
- 238000012795 verification Methods 0.000 claims abstract description 60
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
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/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
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- 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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
- H04L9/3255—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 using group based signatures, e.g. ring or threshold 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/3297—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 time stamps, e.g. generation of time stamps
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
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)
- Storage Device Security (AREA)
Abstract
用户操作的数据管理装置(100)在进行用户所拥有的凭证的零知识证明时,向验证者服务器(102)公开凭证的数字签名的承诺(S1)。接下来,数据管理装置(100)使用承诺,委托验证者服务器验证数字签名的知识证明(S2)。然后,数据管理装置(100)再次使用在S2中使用的承诺,向验证者服务器(102)发送包括与用户所拥有的凭证对应的数字签名的多个数字签名,并且委托验证者服务器(102)验证set membership证明,该set membership证明是指多个数字签名中的一个数字签名为用户所拥有(S3)。由此,在同一用户的多次的凭证的验证时,能够防止确定为同一用户,维持不可链接性。
Description
技术领域
本发明涉及数据管理程序、数据管理方法、数据管理装置以及数据管理***。
背景技术
近年来,实现了用户(所有者/证明者)拥有由权威机构(发行者)确认的用户的姓名、住所、出生年月日、学历等身份,用户向第三方(验证者)公开并取得信任的结构。该结构被称为去中心化身份(DID:Decentralized Identity)、自我主权身份(SSI:Self-Sovereign Identity)。
例如,在SSI中,发行者发行带有表示用户的身份的合法性的数字签名的证书等凭证(credential),用户向第三方公开凭证。验证者能够利用发行者的公钥等确认凭证的数字签名,验证身份(凭证的属性信息)的合法性。
此处,作为为了保护用户的隐私,而仅公开以及证明凭证所包括的属性信息的一部分的技术,例如有实现身份流通的开源软件亦即Hyperledger Indy(注册商标)。
作为现有技术,例如有如下技术:服务器接收实体的属性、公钥、第三方的数字签名、地理管辖的信息,计算散列值,在与地理管辖对应的区块链等中保存证明数据,由此防止证明数据的伪造等。另外,有如下技术:在凭证中包括凭证句柄属性,在防篡改日志的累加器中编入凭证句柄并进行凭证发行,在凭证利用时零知识证明在累加器中包括句柄。在零知识证明的技术中,验证者使用用户所公开的数字签名的承诺(例如相当于散列值),不公开除用户指定的属性信息以外的信息来验证凭证。
专利文献1:日本特开2020-184774号公报
专利文献2:美国专利申请公开第2019/0020480号说明书
在现有技术中,存在当发行者的签名密钥泄露时能够自由地制作凭证的问题。为了解决该问题,可信任的服务器通过保存凭证的数字签名和接收日期时间等时间戳,从而如果是泄露前的时间戳和数字签名的凭证,则能够作为泄露前发行的正确的凭证来判别真假。但是,在该情况下,若同一用户多次、例如两次访问相同的验证者,则验证者两次都访问相同的数字签名和时间戳,导致确定(链接)为两次访问是具有相同的签名的同一用户(不满足不可链接性)。在该情况下,无法保护用户的隐私。
发明内容
在一个方面中,本发明的目的在于在同一用户的多次的凭证的验证时,能够防止确定为同一用户,维持不可链接性。
根据本发明的一个方面,在进行用户所拥有的凭证的零知识证明的数据管理程序中,其必要条件在于,使上述用户的计算机执行以下处理:向验证者服务器公开上述凭证的数字签名的承诺;使用上述承诺,委托上述验证者服务器验证上述数字签名的知识证明;以及使用上述承诺,向上述验证者服务器发送包括与上述用户所拥有的凭证对应的数字签名的多个数字签名,并且委托上述验证者服务器验证set membership证明(集合成员证明),该set membership证明是指多个上述数字签名中的一个数字签名为上述用户所拥有。
根据本发明的一方式,起到在同一用户的多次的凭证的验证时,能够防止确定为同一用户,维持不可链接性的效果。
附图说明
图1是表示实施方式的数据管理方法的一个实施例的说明图。
图2是表示数据管理***的各装置的功能的框图。
图3是表示数据管理装置的硬件结构例的图。
图4是表示凭证发行时的处理例的时序图。
图5A是表示凭证验证时的处理例的时序图。(其1)
图5B是表示凭证验证时的处理例的时序图。(其2)
图6是表示set membership证明的处理例的时序图。
图7是表示数据管理装置的UI显示例的图。
具体实施方式
以下参照附图,对公开的数据管理程序、数据管理方法、数据管理装置以及数据管理***的实施方式进行详细说明。
(实施方式的数据管理方法的一个实施例)
图1是表示实施方式的数据管理方法的一个实施例的说明图。实施方式的数据管理方法通过***上的多个计算机实施与用户(所有者/证明者)的凭证(证书)的发行以及证明有关的处理。
对发行者配置有进行凭证的发行处理的发行者服务器101。用户例如拥有智能手机等计算机,作为在实施方式中进行说明的数据管理装置100。验证者配置有进行用户公开的凭证的验证处理的验证者服务器102。另外,配置有带时间戳地管理发行者发行的凭证的数字签名的签名服务器103。
例如,如图1所示,假设发行者是用户毕业的A大学。用户的数据管理装置100获取发行者的发行者服务器101发行的凭证,并将获取到的凭证记录保存于凭证数据库(DB,例如身份钱包(Identity Wallet))100a中。例如,在用户获取的凭证为毕业证书的情况下,包括用户的姓名、学籍编号、大学名、学科等属性信息。另外,毕业证书中包括发行者服务器101赋予的毕业证书的数字签名1(图1的“签名1”)。
发行者服务器101在发行凭证(毕业证书)时对凭证赋予数字签名1。另外,发行者服务器101将数字签名1的信息发送到签名服务器103。
签名服务器103记录保持发行者服务器101发行的数字签名1和该数字签名的接收日期时间的时间戳。签名服务器103例如配置在区块链(BC)上。在签名服务器103中记录保持也包括对多个用户发行的情况在内而按照凭证的每次发行所接收到的数字签名1~n和该数字签名1~n的时间戳的信息。签名服务器103除了已经记录保持的信息之外,还蓄积保持发行者服务器101发行的数字签名1和时间戳的信息。而且,签名服务器103能够将由多个数字签名1~n构成的签名列表SL发送到用户的数据管理装置100。另外,签名服务器103能够将由多个数字签名1~n和每一个数字签名1~n的时间戳构成的时间戳列表TL发送到验证者服务器102。
数据管理装置100对验证者的验证者服务器102公开毕业证书的属性信息中的一部分属性信息、例如大学名和由多个数字签名1~n构成的签名列表SL,委托验证者服务器102验证证明用信息(数字签名的承诺)。此处,数据管理装置100针对数字签名的知识证明和set membership证明,将根据相同的数字签名制作的证明用信息发送到验证者的验证者服务器102。这些知识证明和set membership证明是零知识证明的一种。
set membership证明使用证明用信息,对多个数字签名1~n中的一个数字签名是与用户公开的内容对应的数字签名1的情况进行零知识证明。
set membership证明例如被非专利文献1公开。后述实施方式中的setmembership证明的使用的详细内容。(非专利文献1:“Efficient protocols for setmembership and range proofs,”,J.Camenisch,R.Chaabouni,另外1人著,in Advancesin Cryptology(Lecture Notes in Computer Science),vol.5350.Heidelberg,Germany:Springer-Verlag,2008,pp.234~252.)
验证者的验证者服务器102验证用户的数据管理装置100公开的属性信息。验证者服务器102针对从数据管理装置100发送的签名的承诺和用户公开的属性信息,验证签名的知识证明。另外,验证者服务器102接收从数据管理装置100发送的签名列表SL(数字签名1~n)。另外,验证者服务器102从签名服务器103接收时间戳列表TL,基于时间戳验证是在某个日期时间之前制作的签名。另外,验证者服务器102进行从数据管理装置100发送的setmembership证明的验证。通过以上的各验证的处理,验证者服务器102输出用户公开的属性信息的验证结果。例如,向用户的数据管理装置100发送验证结果。
此处,对现有的课题进行说明。例如,假设发行者对用户发行了包括姓名、学籍编号、大学名等多个属性信息的凭证作为毕业证书。在该情况下,用户对验证者仅公开大学名,使用加密技术零知识证明。由此,证明者能够向验证者证明用户具有能够利用发行者的公钥进行签名的数字签名,而无需用户公开姓名等大学名以外的属性信息以及数字签名。
通常,在数字签名中,需要公开数字签名自身,而且若没有赋予数字签名的所有原始数据则无法验证。通过使用零知识证明,用户不公开数据的一部分以及数字签名本身也能够证明。通过不公开数据的一部分也可以证明,从而能够隐藏不必要的属性信息,能够保护用户的隐私。另外,用户不需要公开数字签名本身,因此即使有时向相同的验证者公开两次用户的属性信息,也能够隐藏第一次和第二次是相同的用户。从该点来看,在公开了数字签名的情况下,若两次是相同的数字签名,则可知是相同的用户,无法维持不可链接性。
由于使用数字签名,在用于数字签名的私钥泄露的情况下,得到私钥的人自由地进行数字签名,能够制作非法的凭证。作为这方面的对策,通常有用于吊销密钥的结构,在上述的Hyperledger Indy中,也安装有吊销密钥的功能。但是,若被吊销,则以后无法证明凭证的合法性。例如,在成为发行者的组织破产等而私钥的管理变得不可靠的情况下等,发行者不能再发行凭证。对于该点,身份应该能够在用户的整个生命周期中持续使用,在中途无法证明将成为问题。
作为解决上述点的单纯的方法,考虑在发行凭证时,将能够验证已发行的验证用信息在验证者可访问的区域中带时间戳地保存在签名服务器等中。此处,时间戳不由发行者赋予,而由签名服务器赋予,以使得不以过去的时间戳登记信息。作为验证用信息,有凭证的散列值、凭证的数字签名等。验证者在验证时,获取保存于签名服务器的验证用信息,从而基于时间戳获取发行了用户公开的属性信息的日期时间。而且,验证者能够通过确认时间戳的有效性,验证凭证不是非法的。例如,在基于时间戳的有效性的验证中,能够应对私钥泄露而非法者使用私钥制作非法的凭证。验证发行了凭证的验证用信息不能带泄露前的过去的时间戳地进行保存,因此验证者能够基于时间戳正确地验证凭证。
但是,该方式也会产生问题。验证者访问凭证的散列值、数字签名等验证用信息,因此例如在相同的用户向相同的验证者公开了两次属性信息的情况下,验证者可知两次的公开是相同的用户。这是因为验证者两次都访问相同的数字签名和时间戳。由此,无法维持不可链接性。
在实施方式中,为了消除这样的现有课题,数据管理装置100将相同的数字签名的承诺用于两个证明(零知识证明和set membership证明)。
图1所示的用户的数据管理装置100实施以下的(1)~(3)的处理。
(1)数据管理装置100向验证者服务器102公开数字签名的承诺(例如,散列值)(S1)。
(2)接下来,数据管理装置100对验证者服务器102不公开除指定的属性信息以外的属性信息以及数字签名地发送用户指定的属性信息(大学名)和签名的承诺,委托零知识证明(签名的知识证明)(S2)。
(3)接下来,数据管理装置100对验证者服务器102发送签名列表SL(多个数字签名1~n),委托set membership证明(S3)。由此,验证者服务器102从签名服务器103获取签名列表SL的数字签名1~n和各自的时间戳,进行针对用户指定的属性信息(大学名)的setmembership证明。此时,验证者服务器102验证签名列表SL(多个数字签名1~n)中的一个数字签名是用户提示的签名的承诺的原始数据(数字签名1)。
在上述处理中,数据管理装置100将相同的数字签名的承诺用于两个零知识证明(签名的知识证明和set membership证明)。由此,验证者在验证了用户拥有保证用户公开的属性信息的凭证以及数字签名1之后,如果数字签名1与保存在签名服务器103上的数字签名1~n中的任意一个一致,则判断为验证成功。根据该处理,用户可能处于无法确定向验证者发送的多个数字签名1~n中的用户的数字签名1是哪一个的状态。
由此,假设相同的用户(数据管理装置100)公开多次、例如两次相同的凭证的属性信息(例如大学名)并委托证明的验证。在该情况下,在验证者服务器102中,不能确定上述两次是否是相同的用户,能够维持不可链接性。
(数据管理***的各装置的功能的结构例)
图2是表示数据管理***的各装置的功能的框图。与发行者对应配置的发行者服务器101包括带签名的凭证制作部211、带签名的凭证发送部212以及签名发送部213。
带签名的凭证制作部211根据用户请求,制作包括用户的属性信息的凭证(证书)。带签名的凭证制作部211用发行者的私钥对凭证赋予数字签名。带签名的凭证发送部212将发行的带签名的凭证发送到用户的数据管理装置100(例如,智能手机)。签名发送部213与向用户发送带签名的凭证相匹配地对签名服务器103仅发送制作的带签名的凭证中的数字签名。
签名服务器103由能够访问签名DB(例如,区块链(BC)上的分布账本)103a的服务器装置构成。签名服务器103包括签名接收部221、时间戳附加部222、保存部223以及签名/时间戳发送部224。
签名接收部221接收从发行者服务器101发送的数字签名。时间戳附加部222将接收到的数字签名的接收时刻作为时间戳,附加于数字签名。保存部223将带时间戳的数字签名保存于分布账本103a。由此,签名服务器103按照与发行者服务器101的凭证的发行相匹配的数字签名的每次接收,将带时间戳的数字签名蓄积保存于分布账本103a中。
为了能够向各种验证者公开数字签名,希望任何人都能够访问签名服务器103。签名服务器103保存的数字签名的信息例如是在发行者的私钥泄露那样的重大状况产生时成为信赖的基础(信任的基础)的信息。签名服务器103保存的信息为了防止因篡改等而产生的非法,以由多个组织组成联盟的联盟链的形态、或者谁都能够参加的区块链的形态进行信息管理,从而能够提高可靠性。此外,也可以用户(数据管理装置100)将接收到的凭证的数字签名发送到签名服务器103,来代替发行者向签名服务器103发送数字签名。
数据管理装置100例如由用户携带的智能手机等构成。数据管理装置100包括凭证接收·保存部231、凭证DB100a、证明用信息制作·发送部232以及知识证明部233。另外,数据管理装置100包括set membership证明部234、签名/时间戳接收·发送部235以及UI部236。
凭证接收·保存部231按照每次接收发行者服务器101发行的带数字签名的凭证,将带数字签名的凭证保存到凭证DB(身份钱包(Identity Wallet))100a中。
证明用信息制作·发送部232读出保存于凭证DB100a的凭证,制作向验证者服务器102委托用户的凭证的证明的证明用信息,并向验证者服务器102发送证明用信息。证明用信息是数字签名的承诺和凭证的多个属性信息中的用户指定的一部分属性信息(例如毕业证书的大学名)。
知识证明部233证明用户持有与证明用信息制作·发送部232发送的属性信息对应的凭证的数字签名。知识证明部233访问验证者服务器102(知识证明验证部242),接收验证结果。基于知识证明部233的知识证明具体而言能够通过使用被称为CL签名的方式作为数字签名来实现。
例如,在非专利文献2中公开了CL签名。(非专利文献2:“ASignature Scheme withEfficient Protocols”,Jan Camenisch,另外1人著,SCN2002,LNCS2576,pp.268~289,2003.Springer-Verlag Berlin Heidelberg 2003)
在使用CL签名的知识证明中,通过将签名的一部分作为Pederson承诺,从而能够不向验证者服务器102传递明文数据,就可证明用户具有该签名,在上述的HyperledgerIndy中也被使用。
签名/时间戳接收·发送部235从签名服务器103接收具有在发行者的私钥的泄露日期时间之前的时间戳的多个数字签名1~n。例如,通过用户在数据管理装置100上指定日期时间,从而签名/时间戳接收·发送部235对签名服务器103请求与指定日期时间对应的数字签名,并且根据来自签名服务器103的应答,获取多个数字签名1~n。签名/时间戳接收·发送部235将获取到的多个带时间戳的数字签名1~n记录保持于存储部。另外,签名/时间戳接收·发送部235能够对验证者服务器102发送多个带时间戳的数字签名1~n。
需要签名/时间戳接收·发送部235获取的多个数字签名1~n中的一个数字签名(例如,数字签名1)对应于想要证明的凭证的数字签名。数字签名1以外的其它多个数字签名2~n可以是用户自身的凭证的数字签名,也可以是其它用户的凭证的数字签名。签名/时间戳接收·发送部235获取的数字签名越多,能够确定与要证明的数字签名对应的用户是谁的可能性越低。
set membership证明部234证明签名/时间戳接收·发送部235获取的多个数字签名1~n中的一个数字签名是与用户公开的签名的承诺对应的数字签名(数字签名1)。setmembership证明部234访问验证者服务器102(set membership证明验证部243),委托使用了set membership证明(例如,非专利文献1中公开)的验证。
在实施方式中,预先在用户的数据管理装置100与验证者服务器102之间共享Pederson承诺、某个值的集合,以使得能够在非专利文献1所示的set membership证明中证明。验证者服务器102(set membership证明验证部243)验证在Pederson承诺、某个值的集合中包括Pederson承诺的原始的值。此外,在证明时,验证者服务器102制作随机数值等,成为交互的协议。后述set membership证明的处理的详细内容。
UI部236由进行数据管理装置100上的用户操作、数据处理显示的触摸板等构成。UI部236基于用户操作通过画面显示等向用户提示数据管理装置100的各功能部(凭证接收·保存部231~签名/时间戳接收·发送部235)的数据处理。
验证者服务器102包括证明用信息接收部241、知识证明验证部242、setmembership证明验证部243以及签名/时间戳接收·验证部244。
证明用信息接收部241接收从用户的数据管理装置100(证明用信息制作·发送部232)发送的、用于用户的凭证的证明的证明用信息。证明用信息是数字签名的承诺和凭证的多个属性信息中的用户指定的一部分属性信息(例如毕业证书的大学名)。
知识证明验证部242基于数据管理装置100(知识证明部233)的知识证明的验证委托,进行用户是否持有与证明用信息制作·发送部232发送的属性信息对应的凭证的数字签名的验证。知识证明验证部242向数据管理装置100(知识证明部233)应答知识证明的验证结果。
set membership证明验证部243基于数据管理装置100(set membership证明部234)的set membership证明的验证委托,进行set membership证明的验证。签名/时间戳接收·验证部244接收由数据管理装置100的签名/时间戳接收·发送部235发送的多个数字签名1~n和数字签名1~n各自的时间戳构成的时间戳列表TL。签名/时间戳接收·验证部244验证数字签名1~n各自的时间戳的有效性,并将验证结果输出到set membership证明验证部243。
而且,set membership证明验证部243进行多个数字签名1~n中的一个数字签名是否是与用户公开的签名的承诺对应的数字签名(数字签名1)的验证。此时,setmembership证明验证部243通过确认基于签名/时间戳接收·验证部244的数字签名的时间戳的验证结果是否为有效,来验证凭证不是非法的。例如,如果数字签名的时间戳的日期以私钥泄露以前的日期来发行,则set membership证明验证部243判断为时间戳有效。setmembership证明验证部243向数据管理装置100(set membership证明部234)应答setmembership证明的验证结果。
(数据管理装置的硬件结构例)
图3是表示数据管理装置的硬件结构例的图。数据管理装置100能够通过由图3所示的通用的硬件构成的计算机来构成。
数据管理装置100具有CPU(Central Processing Unit:中央处理器)301、存储器302、盘驱动器303以及盘304。另外,数据管理装置100具有通信I/F(Interface:接口)305、便携式记录介质I/F306以及便携式记录介质307。另外,各结构部通过总线300分别连接。
此处,CPU301负责数据管理装置100的整体的控制。CPU301也可以具有多个核。存储器302例如具有ROM(Read Only Memory:只读存储器)、RAM(Random Access Memory:随机存取存储器)以及闪存ROM等。具体而言,例如,闪存ROM存储OS的程序,ROM存储应用程序,RAM被用作CPU301的工作区域。存储于存储器302的程序被加载到CPU301,从而使CPU301执行被编码的处理。
盘驱动器303根据CPU301的控制来控制对盘304的数据的读/写。盘304在盘驱动器303的控制下存储写入的数据。作为盘304,例如,列举有磁盘、光盘等。
通信I/F305通过通信线路与网络NW连接,经由网络NW与外部的计算机连接。外部的计算机例如是图2所示的发行者服务器101、验证者服务器102、签名服务器103。而且,通信I/F305负责网络NW与装置内部的接口,控制来自外部的计算机的数据的输入输出。在通信I/F305中,例如能够采用调制解调器、LAN适配器等。
便携式记录介质I/F306根据CPU301的控制来控制对便携式记录介质307的数据的读/写。便携式记录介质307在便携式记录介质I/F306的控制下存储写入的数据。作为便携式记录介质307,例如,列举有CD(Compact Disc:光盘)-ROM、DVD(Digital VersatileDisk:数字光驱)、USB(Universal Serial Bus:通用串行总线)存储器等。
此外,数据管理装置100除了上述的结构部之外,例如,还可以具有输入装置、显示器等。例如,在数据管理装置100为智能手机的情况下,也可以具有进行输入以及显示的触摸面板。
图3所示的存储器302、盘304、便携式记录介质307例如记录保持图1所示的凭证DB100a、签名列表SL等信息。
另外,图1所示的发行者服务器101、验证者服务器102、签名服务器103也可以由与图3相同的硬件构成。在该情况下,例如,发行者服务器101记录保持用户信息的用户信息DB等各种DB能够使用图3所示的存储器302、盘304、便携式记录介质307来构成。另外,验证者服务器102具有的各种DB能够使用图3所示的存储器302、盘304、便携式记录介质307来构成。另外,在签名服务器103具有签名DB103a的情况下,该签名DB103a等各种DB能够使用图3所示的存储器302、盘304、便携式记录介质307来构成。另外,在使区块链上的分布账本具有签名DB103a的功能的情况下,能够使用图3所示的存储器302、盘304、便携式记录介质307来构成区块链上的分布账本。
(凭证发行时的处理例)
图4是表示凭证发行时的处理例的时序图。使用图4对凭证发行时的处理例进行说明。在凭证发行时,在用户的数据管理装置100、发行者服务器101、签名服务器103之间进行数据处理。
首先,用户使用安装于智能手机等数据管理装置100的应用访问发行者服务器101的服务,进行登录(步骤S401)。发行者服务器101验证用户的登录(步骤S402),如果验证结果是合法的用户,则进行对用户的各种服务的提供。
接下来,数据管理装置100调取存在于发行者服务器101提供的服务中的凭证发行的功能,进行用户的凭证请求(例如,请求发行上述的毕业证书)(步骤S403)。发行者服务器101若接收到凭证请求(步骤S404),则参照用户信息DB101a,制作相应的用户的凭证(步骤S405)。
此时,发行者服务器101基于登录所使用的用户标识符(ID),参照用户信息DB101a,制作包括用户的属性信息(例如,姓名、学籍编号、毕业年度、大学名、学科)等的值的凭证。另外,发行者服务器101对制作的凭证赋予使用了发行者的私钥的数字签名。然后,发行者服务器101将带数字签名的凭证发送到数据管理装置100(步骤S406)。
数据管理装置100接收发行者服务器101发送的带数字签名的凭证(步骤S407),并将接收到的凭证保存于凭证DB100a(身份钱包(Identity Wallet))(步骤S408)。
发行者服务器101在通过步骤S406的执行,向用户发送了带数字签名的凭证之后,对签名服务器103发送所发行的凭证的数字签名(步骤S409)。
签名服务器103若接收到数字签名(步骤S410),则获取接收到数字签名的当前时刻(步骤S411),将当前时刻作为时间戳,与数字签名相对应地保存于签名DB103a中(步骤S412)。签名DB103a相当于图1中说明的分布账本。
签名服务器103若按照凭证的每次发行,从发行者服务器101接收数字签名,则对该数字签名赋予时间戳并蓄积保存(相当于时间戳列表TL)。
(凭证的验证时的处理例)
图5A、图5B是表示凭证验证时的处理例的时序图。使用图5A、图5B对凭证验证时的处理例进行说明。在凭证验证时,在用户的数据管理装置100、验证者服务器102、签名服务器103之间进行数据处理。
首先,图5A所示的用户使用安装于数据管理装置100的应用访问验证者服务器102的服务(步骤S501)。验证者服务器102若接收用户的访问(步骤S502),则对数据管理装置100请求凭证的公开(步骤S503)。
数据管理装置100若接收到从验证者服务器102请求的凭证的公开请求(步骤S504),则对用户显示所公开的请求内容(步骤S505)。数据管理装置100从凭证DB100a读出用户所拥有的凭证,显示凭证的一览表(步骤S506)。数据管理装置100从所显示的凭证的一览表中通过用户操作选择要公开的凭证的属性信息(步骤S507)。
由此,数据管理装置100根据用户选择的凭证的数字签名制作证明用信息(数字签名的承诺)。然后,数据管理装置100将数字签名的承诺和用户选择的凭证的属性信息发送到验证者服务器102(步骤S508)。
验证者服务器102接收从数据管理装置100发送的数字签名的承诺和用户公开的凭证的属性信息(步骤S509)。然后,数据管理装置100证明用户拥有具有发送的属性信息的凭证的数字签名(数字签名的知识证明,步骤S510)。在该知识证明时,验证者服务器102验证用户是否拥有具有数据管理装置100发送的属性信息的凭证的数字签名(步骤S511),并向数据管理装置100应答验证结果。
接下来,如图5B所示,数据管理装置100从签名服务器103获取签名列表SL(步骤S512),并将获取到的签名列表SL发送到验证者服务器102(步骤S513)。
签名服务器103通过数据管理装置100的获取请求参照签名DB103a,向数据管理装置100响应相应的签名列表SL(步骤S514),并移至步骤S151的处理。数据管理装置100从签名服务器103获取由多个数字签名构成的签名列表SL。此时,例如,用户在数据管理装置100中指定输入发行者的私钥的泄露日期时间之前的日期时间并向签名服务器103请求。签名服务器103应答具有发行者的私钥的泄露日期时间之前的时间戳的多个数字签名1~n的签名列表SL。
此处,需要数据管理装置100获取的签名列表SL所包括的多个数字签名1~n中的一个数字签名(例如,数字签名1)对应于想要证明的凭证的数字签名。因此,签名服务器103包括用户的数字签名1作为签名列表SL,数字签名1以外的其它的多个数字签名2~n包括用户自身的凭证的数字签名、或者其它用户的凭证的数字签名。
签名服务器103在步骤S514的签名列表SL的响应之后,将与响应的签名列表SL对应的时间戳列表TL响应输出到验证者服务器102(步骤S515),结束以上的处理。时间戳列表TL由签名列表SL的多个数字签名1~n和从发行者服务器101接收到该数字签名1~n的每一个的时间戳构成。
验证者服务器102判断步骤S511的数字签名的知识证明的验证结果(步骤S516)。如果验证结果判断为用户拥有具有用户(数据管理装置100)发送的属性信息的凭证的数字签名,则验证成功(步骤S516:是),验证者服务器102移至步骤S517以下的处理。另一方面,如果验证结果判断为用户不拥有具有用户(数据管理装置100)发送的属性信息的凭证的数字签名,则验证失败(步骤S516:否),验证者服务器102结束以上的处理。
在步骤S517中,验证者服务器102接收从数据管理装置100发送的签名列表SL(步骤S517)。接下来,验证者服务器102获取从签名服务器103发送的时间戳列表TL(步骤S518)。
接下来,验证者服务器102验证获取到的时间戳列表TL的时间戳(步骤S519)。此处,验证者服务器102验证时间戳列表TL所包括的时间戳是否在私钥泄露的时刻之前。如果验证结果为时间戳列表TL所包括的数字签名1~n全部的时间戳在私钥泄露的时刻之前,则时间戳验证成功(步骤S519:是),验证者服务器102移至步骤S521的处理。另一方面,如果时间戳列表TL所包括的数字签名1~n中的任意一个的时间戳不在私钥泄露的时刻之前,则时间戳验证失败(步骤S519:否),验证者服务器102结束以上的处理。
数据管理装置100在步骤S513的处理后,实施set membership证明的处理(步骤S520)。验证者服务器102在步骤S519的处理后,实施set membership证明验证的处理(步骤S521)。后述set membership证明验证的详细内容。
验证者服务器102实施set membership证明验证(步骤S522),将验证成功(步骤S522:是)以及验证失败(步骤S522:否)的结果分别向用户的数据管理装置100通知,结束处理。
(set membership证明·验证的处理例)
图6是表示set membership证明的处理例的时序图。使用图6对set membership证明·验证的处理例进行说明。图6的处理相当于图5B的步骤S512~步骤S522的处理。在setmembership证明·验证中,在用户的数据管理装置100、验证者服务器102、签名服务器103之间进行数据处理。
在set membership证明·验证中,预先在用户的数据管理装置100与验证者服务器102之间共享Pederson承诺、某个值的集合。验证者服务器102验证在Pederson承诺、某个值的集合中包括Pederson承诺的原始的值。
图6的步骤S601~步骤S606的处理与图5B的步骤S512~步骤S519的处理相同。首先,数据管理装置100指定日期时间(步骤S601),从签名服务器103获取相应的日期时间的签名列表SL(步骤S602)。指定的日期时间与上述同样是私钥泄露的时刻之前的日期时间。然后,数据管理装置100将获取到的签名列表SL发送到验证者服务器102(步骤S603)。
验证者服务器102访问签名服务器103,发送签名列表SL的信息(步骤S604),从签名服务器103获取与签名列表SL对应的时间戳列表TL(步骤S605)。然后,验证者服务器102进行确认时间戳列表TL所包括的多个数字签名1~n的时间戳在私钥泄露的时刻之前的计算(步骤S606)。验证者服务器102将确认的计算结果发送到数据管理装置100(步骤S607)。
数据管理装置100基于验证者服务器102中的时间戳的确认计算的结果,进行证明用信息1的制作处理(步骤S608),并将证明用信息1发送到验证者服务器102(步骤S609)。证明用信息1如上述那样包括数字签名的承诺和凭证的多个属性信息中的用户指定的一部分属性信息(例如毕业证书的大学名)。
验证者服务器102通过进行基于接收到的证明用信息1的验证、以及基于使用了随机数的证明用信息2的验证,实施set membership证明的验证(步骤S610、步骤S611、步骤S615)。
例如,验证者服务器102生成随机数(步骤S611),并将生成的随机数值发送到数据管理装置100(步骤S612)。数据管理装置100使用接收到的随机数值,进行证明用信息2的制作处理(步骤S613),并将证明用信息2发送到验证者服务器102(步骤S614)。
验证者服务器102基于接收到的证明用信息2,实施set membership证明的验证(步骤S615)。
通过上述的处理,验证者服务器102将由知识证明所证明的数字签名保存于签名服务器103中,并且,能够验证时间戳是适当的。而且,通过上述的处理,在维持了不可链接性之后,用户公开的属性信息是能够通过在指定的日期时间以前发行的数字签名确认的属性信息,能够证明以及验证过去发行的凭证的真实性。
(数据管理装置100的UI显示例)
图7是表示数据管理装置的UI显示例的图。使用图7,对凭证证明时(图5A~图6)、向用户提示数据管理装置100的应用的画面显示、以及用户操作的具体例进行说明。
在图7中,示出了用户在某个评论网站上写入评论的消息时,为了提高消息的可靠性而公开用户自身的属性信息的例子。评论网站相当于上述的验证者。
图7的(a)是用户访问的评论网站的评论画面700。在该评论画面700中显示有记载评论内容的消息区域701、句柄属性702、“属性追加”的按钮703、评论写入确认用的“写入”按钮704。
若在评论画面700上用户按下“属性追加”按钮703,则如图7的(b)所示,数据管理装置100显示将保持在凭证DB100a中的凭证一览化的凭证一览表画面710。在该凭证一览表画面710的例子中,作为数据管理装置100所拥有的凭证,显示驾驶证、毕业证书、就业证书。
接下来,用户在凭证一览表画面710上选择在评论网站上用于公开的凭证。如图7的(b)所示,若用户选择毕业证书的按钮711,则如图7的(c)所示,数据管理装置100显示将选择的凭证“毕业证书”所包括的多个属性信息一览化的属性信息一览表画面720。作为属性信息一览表画面720,数据管理装置100显示姓名、学籍编号、大学名、学部等的信息(值)和基于用户的属性选择的确认的“OK按钮”722,作为凭证“毕业证书”所包括的多个属性信息。
接下来,用户从属性信息一览表画面720选择在评论网站上公开的凭证的属性信息。如图7的(c)所示,假设用户选择属性信息“大学名”的选择框721,并选择“OK按钮”722。由此,数据管理装置100对验证者(评论网站)公开用户选择的属性信息“大学名”。验证者对用户公开的属性信息“大学名”实施上述凭证的证明的验证处理(图5A~图6)。
而且,在验证者(评论网站)验证用户的凭证的证明成功的情况下,验证者若向数据管理装置100通知验证成功,则在数据管理装置100中再次显示图7的(d)所示的评论画面700。此时,数据管理装置100在评论画面700上将验证完毕的用户的属性信息“大学名”显示于句柄属性702的区域。由此,在评论网站上显示用户投稿的内容的消息区域701,并且一并显示投稿了消息的用户的属性信息“大学名”。
由此,在评论网站上看见消息的其它用户能够基于属性信息来判断投稿了消息的人(用户)是怎样的人。而且,在评论网站中,基于投稿消息的用户是具有验证完毕的凭证的人,能够提高评论网站的可靠性。
此外,作为用户向验证者服务器102公开的属性信息,优选设为不能确定用户的属性信息,例如除用户名、住所、电话号码等以外的属性信息。另外,用户公开的属性信息不限于一个,也可以是多个。
以上说明的实施方式的数据管理装置100在进行用户所拥有的凭证的零知识证明的数据管理程序中,向验证者服务器公开凭证的数字签名的承诺,使用承诺,委托验证者服务器验证数字签名的知识证明,使用承诺,向验证者服务器发送包括与用户所拥有的凭证对应的数字签名的多个数字签名,并且委托验证者服务器验证多个数字签名中的一个数字签名为用户所拥有亦即验证set membership证明。这样,数据管理装置100在知识证明和set membership证明这两个零知识证明中使用根据数字签名制作的承诺。由此,数据管理装置100即使向验证者服务器多次公开相同的凭证,在验证者服务器侧也不能确定是相同的用户,能够维持不可链接性来进行零知识证明。
另外,在数据管理装置100中,公开的处理包括将凭证的多个属性信息中的不能确定用户的属性信息向验证者服务器公开的处理。由此,对于数据管理装置100而言,不能进行验证者服务器侧的用户的确定,并且能够基于属性信息进行零知识证明。
另外,在数据管理装置100中,委托验证者服务器验证set membership证明的处理包括以下处理:使用承诺,向验证者服务器发送包括与用户所拥有的凭证对应的数字签名的多个数字签名和该多个数字签名发行时的时间戳,并且委托验证者服务器基于多个数字签名以及时间戳验证set membership证明。由此,对于数据管理装置100而言,基于多个数字签名以及时间戳,不能进行验证者服务器侧的用户的确定,并且能够基于属性信息进行零知识证明。另外,基于时间戳,能够一并验证数字签名的有效性。例如,基于时间戳的日期时间在数字签名生成用的签名密钥的泄露日期时间以前,能够得到数字签名有效的验证结果。
另外,在数据管理装置100中,委托验证者服务器验证set membership证明的处理包括以下处理:从签名服务器或者区块链按照凭证的每次发行而蓄积的多个数字签名中获取包括与用户所拥有的凭证对应的数字签名的多个数字签名和时间戳。由此,数据管理装置100能够将从签名服务器或者区块链获取的多个数字签名作为包括与用户所拥有的凭证对应的数字签名的多个数字签名和时间戳向验证者服务器发送,能够委托set membership证明的验证。
另外,在数据管理装置100中,在公开的处理时,包括以下处理:显示用户所持有的多个凭证的信息,显示用户从所显示的多个凭证的信息中选择的凭证的多个属性信息,并向验证者服务器公开用户从所显示的多个属性信息中选择的不能确定该用户自身的属性信息。由此,用户公开凭证的多个属性信息中的不能确定用户的属性信息,并且能够进行数字签名的零知识证明。
如上所述,根据实施方式,在知识证明和set membership证明这两个证明中使用根据数字签名制作的一个承诺。由此,即使凭证的发行者的私钥泄露,用户也能够利用在泄露前发行的凭证,向验证者公开属性信息并进行零证明。另外,即使向相同的验证者使用相同的凭证多次公开一部分属性信息并进行验证委托,在验证者侧,也不能确定多次公开属性信息的用户是相同的用户,能够维持不可链接性。从该点来看,根据实施方式,具有在利用现有技术的简单的时间戳服务的证明中无法实现的特有的效果。
此外,在本发明的实施方式中说明的数据管理方法能够通过使服务器等处理器执行预先准备的程序来实现。本方法记录于硬盘、软盘、CD-ROM(Compact Disc-Read OnlyMemory)、DVD(Digital Versatile Disk)、闪存存储器等计算机能够读取的记录介质中,通过由计算机从记录介质读出来执行。另外,本方法也可以经由互联网等网络来分发。
附图标记说明:100…数据管理装置;101…发行者服务器;101a…用户信息数据库(DB);102…验证者服务器;103…签名服务器;103a…分布账本;211…带签名的凭证制作部;212…带签名的凭证发送部;213…签名发送部;221…签名接收部;222…时间戳附加部;223…保存部;224…签名/时间戳发送部;231…凭证接收·保存部;232…证明用信息制作·发送部;233…知识证明部;234…set membership证明部;235…签名/时间戳接收·发送部;236…UI部;241…证明用信息接收部;242…知识证明验证部;243…set membership证明验证部;244…签名/时间戳接收·验证部;301…CPU;302…存储器;304…盘;305…通信I/F;307…便携式记录介质;700…评论画面;710…凭证一览表画面;720…属性信息一览表画面;NW…网络;SL…签名列表;TL…时间戳列表。
Claims (10)
1.一种数据管理程序,是进行用户所拥有的凭证的零知识证明的数据管理程序,其特征在于,使所述用户的计算机执行以下处理:
向验证者服务器公开所述凭证的数字签名的承诺;
使用所述承诺,委托所述验证者服务器验证所述数字签名的知识证明;以及
使用所述承诺,向所述验证者服务器发送包括与所述用户所拥有的凭证对应的数字签名的多个数字签名,并且委托所述验证者服务器验证set membership证明,所述setmembership证明是指多个所述数字签名中的一个数字签名为所述用户所拥有。
2.根据权利要求1所述的数据管理程序,其特征在于,
所述公开的处理包括以下处理:
向所述验证者服务器公开所述凭证的多个属性信息中的不能确定所述用户的属性信息。
3.根据权利要求1或2所述的数据管理程序,其特征在于,
委托所述验证者服务器验证所述set membership证明的处理包括以下处理:
使用所述承诺,向所述验证者服务器发送包括与所述用户所拥有的凭证对应的数字签名的多个数字签名和该多个数字签名发行时的时间戳,并且委托所述验证者服务器基于所述多个数字签名以及时间戳验证set membership证明。
4.根据权利要求3所述的数据管理程序,其特征在于,
委托所述验证者服务器验证所述set membership证明的处理包括以下处理:
从签名服务器或者区块链按照所述凭证的每次发行而蓄积的多个数字签名中获取包括与所述用户所拥有的凭证对应的数字签名的多个数字签名和所述时间戳。
5.根据权利要求4所述的数据管理程序,其特征在于,
委托所述验证者服务器验证所述set membership证明的处理包括以下处理:
委托基于所述时间戳的日期时间是否在用于生成所述数字签名的签名密钥的泄露日期时间以前来验证所述数字签名的有效性。
6.根据权利要求1所述的数据管理程序,其特征在于,
在所述公开的处理时,包括以下处理:
显示所述用户所持有的多个所述凭证的信息;
显示所述用户从所显示的多个所述凭证的信息中选择的所述凭证的多个所述属性信息;以及
向所述验证者服务器公开所述用户从所显示的多个所述属性信息中选择的不能确定该用户自身的所述属性信息。
7.一种数据管理方法,是进行用户所拥有的凭证的零知识证明的数据管理方法,其特征在于,由所述用户的计算机执行以下处理:
向验证者服务器公开所述凭证的数字签名的承诺,
使用所述承诺,委托所述验证者服务器验证所述数字签名的知识证明,
使用所述承诺,向所述验证者服务器发送包括与所述用户所拥有的凭证对应的数字签名的多个数字签名,并且委托所述验证者服务器验证set membership证明,所述setmembership证明是指多个所述数字签名中的一个数字签名为所述用户所拥有。
8.一种数据管理装置,是进行用户所拥有的凭证的零知识证明的数据管理装置,其特征在于,
具备控制部,所述控制部进行:
向验证者服务器公开所述凭证的数字签名的承诺;
使用所述承诺,委托所述验证者服务器验证所述数字签名的知识证明;以及
使用所述承诺,向所述验证者服务器发送包括与所述用户所拥有的凭证对应的数字签名的多个数字签名,并且委托所述验证者服务器验证set membership证明,所述setmembership证明是指多个所述数字签名中的一个数字签名为所述用户所拥有。
9.一种数据管理***,是进行用户所拥有的凭证的零知识证明的数据管理***,其特征在于,
用户操作的数据管理装置具备控制部,该控制部进行:
向验证者服务器公开所述凭证的数字签名的承诺;
使用所述承诺,委托所述验证者服务器验证所述数字签名的知识证明;以及
使用所述承诺,向所述验证者服务器发送包括与所述用户所拥有的凭证对应的数字签名的多个数字签名,并且委托所述验证者服务器验证set membership证明,所述setmembership证明是指多个所述数字签名中的一个数字签名为所述用户所拥有,
所述验证者服务器具备控制部,该控制部进行:
使用所述数据管理装置公开的所述凭证的数字签名的承诺,验证所述数字签名的知识证明;
针对从所述数据管理装置接收到的包括与所述用户所拥有的凭证对应的数字签名的多个数字签名,使用所述承诺,验证set membership证明,所述set membership证明是指多个所述数字签名中的一个数字签名为所述用户所拥有;以及
向所述数据管理装置应答所述验证结果。
10.根据权利要求9所述的数据管理***,其特征在于,
所述数据管理***包括:
发行者服务器,按照所述凭证的每次发行,对该凭证赋予数字签名;以及
签名服务器,接收所述发行者服务器每次发行所述凭证时的所述数字签名,对所述数字签名和时间戳进行蓄积保持,
所述数据管理装置从所述签名服务器获取包括与所述用户所拥有的凭证对应的数字签名的多个数字签名并向所述验证者服务器发送,
所述验证者服务器基于从所述数据管理装置发送的包括与所述用户所拥有的凭证对应的数字签名的多个数字签名、以及从所述签名服务器获取的所述数字签名和时间戳,进行包括时间戳的有效性的确认在内的set membership证明的验证。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/030879 WO2023026343A1 (ja) | 2021-08-23 | 2021-08-23 | データ管理プログラム、データ管理方法、データ管理装置およびデータ管理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117693925A true CN117693925A (zh) | 2024-03-12 |
Family
ID=85321642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180100924.7A Pending CN117693925A (zh) | 2021-08-23 | 2021-08-23 | 数据管理程序、数据管理方法、数据管理装置及数据管理*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240146537A1 (zh) |
EP (1) | EP4395230A1 (zh) |
JP (1) | JPWO2023026343A1 (zh) |
CN (1) | CN117693925A (zh) |
WO (1) | WO2023026343A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230259918A1 (en) * | 2022-02-15 | 2023-08-17 | Paypal, Inc. | Decentralized Identity on Blockchain for a Multi-sided Network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4678956B2 (ja) * | 2001-01-22 | 2011-04-27 | 株式会社東芝 | 属性証明プログラム及び装置 |
US8015398B2 (en) * | 2007-12-06 | 2011-09-06 | International Business Machines Corporation | Set membership proofs in data processing systems |
EP3523744B1 (en) | 2016-10-06 | 2021-04-07 | Mastercard International Incorporated | Method and system for identity and credential protection and verification via blockchain |
US10790980B2 (en) | 2017-07-14 | 2020-09-29 | International Business Machines Corporation | Establishing trust in an attribute authentication system |
JP7222436B2 (ja) * | 2019-12-18 | 2023-02-15 | 富士通株式会社 | 保証制御方法、情報処理装置および保証制御プログラム |
-
2021
- 2021-08-23 EP EP21954960.7A patent/EP4395230A1/en active Pending
- 2021-08-23 JP JP2023543507A patent/JPWO2023026343A1/ja active Pending
- 2021-08-23 CN CN202180100924.7A patent/CN117693925A/zh active Pending
- 2021-08-23 WO PCT/JP2021/030879 patent/WO2023026343A1/ja active Application Filing
-
2024
- 2024-01-12 US US18/411,173 patent/US20240146537A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240146537A1 (en) | 2024-05-02 |
WO2023026343A1 (ja) | 2023-03-02 |
EP4395230A1 (en) | 2024-07-03 |
JPWO2023026343A1 (zh) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021206913B2 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
JP4816458B2 (ja) | グループ署名システム、メンバ状態判定装置、グループ署名方法及びメンバ状態判定プログラム | |
US20160234027A1 (en) | Method And System For Signing And Authenticating Electronic Documents Via A Signature Authority Which May Act In Concert With Software Controlled By The Signer | |
CN108696358B (zh) | 数字证书的管理方法、装置、可读存储介质及服务终端 | |
US20090089575A1 (en) | Service Providing System, Outsourcer Apparatus, Service Providing Method, and Program | |
JP6688823B2 (ja) | 構造化集合に組織化された様々な識別情報ドメインからのデータを管理及び検査する方法 | |
JP2014017746A (ja) | 署名生成検証システム及び署名検証装置 | |
US20050021954A1 (en) | Personal authentication device and system and method thereof | |
US20080141035A1 (en) | Limited Blind Signature System | |
WO2018088475A1 (ja) | 電子認証方法及びプログラム | |
CN109981287A (zh) | 一种代码签名方法及其存储介质 | |
US20240146537A1 (en) | Computer-readable recording medium storing data management program, data management method, and data management apparatus | |
CN114666168A (zh) | 去中心化身份凭证验证方法、装置,以及,电子设备 | |
CN114389810B (zh) | 证明生成方法及装置、电子设备、存储介质 | |
US20240187259A1 (en) | Method and apparatus for generating, providing and distributing a trusted electronic record or certificate based on an electronic document relating to a user | |
CN112950356B (zh) | 基于数字身份的个人贷款处理方法及***、设备、介质 | |
JP7222436B2 (ja) | 保証制御方法、情報処理装置および保証制御プログラム | |
CN114329610A (zh) | 区块链隐私身份保护方法、装置、存储介质及*** | |
WO2021019783A1 (ja) | 所有者同一性確認システム、端末および所有者同一性確認方法 | |
JP2020010299A (ja) | 本人認証装置及び本人認証方法 | |
JPWO2023026343A5 (zh) | ||
US20240248969A1 (en) | System for delegation based on decentralized identity and method thereof | |
KR100931944B1 (ko) | 로컬 스토리지를 이용하는 전자문서 보관 시스템 및 방법 | |
KR20240059302A (ko) | 분산 id 기반 서비스의 암복호화 통신 방법 및 장치 | |
Mukta et al. | VCTP: A Verifiable Credential-based Trust Propagation Protocol for Personal Issuers in Self-Sovereign Identity Platforms |
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 |