WO2021117904A1 - 証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム - Google Patents

証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム Download PDF

Info

Publication number
WO2021117904A1
WO2021117904A1 PCT/JP2020/046442 JP2020046442W WO2021117904A1 WO 2021117904 A1 WO2021117904 A1 WO 2021117904A1 JP 2020046442 W JP2020046442 W JP 2020046442W WO 2021117904 A1 WO2021117904 A1 WO 2021117904A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
attributes
attribute data
certificate
attribute
Prior art date
Application number
PCT/JP2020/046442
Other languages
English (en)
French (fr)
Inventor
峰史 小宮山
Original Assignee
株式会社bitFlyer Blockchain
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 株式会社bitFlyer Blockchain filed Critical 株式会社bitFlyer Blockchain
Priority to US17/784,773 priority Critical patent/US20230055866A1/en
Priority to EP20898537.4A priority patent/EP4075720A4/en
Priority to JP2021564079A priority patent/JPWO2021117904A1/ja
Priority to CN202080094578.1A priority patent/CN115004629A/zh
Publication of WO2021117904A1 publication Critical patent/WO2021117904A1/ja

Links

Images

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/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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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/3236Cryptographic 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • the present invention is for digitally making available certificate data for one or more attribute data (a piece or a plurality of pieces of attribute data) representing one or more attributes of a subject including an individual. Regarding devices, methods and programs for them.
  • each institution independently manages one or more attributes, and if these personal attribute data or a part of them can be used digitally, it will be more convenient than ever. It enables the design of highly sophisticated and diverse services. For example, a graduation certificate is used to prove attributes such as the name of the university that an individual graduated from, the date of graduation, etc., but in order to use services that require confirmation of these attributes, the university that graduated You must be issued a certificate in writing from. If this can be referred to digitally on a computer network while maintaining reliability, the degree of freedom of identification in various services will be greatly increased.
  • the present invention has been made in view of such problems, and an object of the present invention is to digitally use certificate data for one or more attribute data representing one or more attributes of an entity managed by an institution.
  • the purpose is to provide a device, a method, and a program for that purpose.
  • the first aspect of the present invention is a method of providing certificate data for a plurality of attribute data representing a plurality of attributes of a subject confirmed by the institution, wherein the institution provides the certificate data.
  • a step in which the server to be used generates the certificate data in response to a request for the certificate data from a terminal capable of communicating with the server, and a step in which the server sends the certificate data and the certificate data to the terminal.
  • the certificate data includes the name of the institution that is the certifier, the public key to be certified, and the hash value associated with the content of the certification, and is based on the private key of the institution.
  • the hash value to which the signature is added and associated with the certification content is the Merkle root of the Merkle tree obtained by using a plurality of attribute data representing the plurality of attributes that are the certification content, and the verification data is (A) A plurality of attribute data representing a plurality of attributes that are proof contents accessible to the server, or at least a part of hash values thereof, or (b) adding additional data to at least a part of the plurality of attribute data. It is characterized by including a plurality of data including the obtained modified attribute data or at least a part of hash values thereof.
  • the hash value associated with the certification content is the lowest layer of each hash value of the plurality of attribute data representing the plurality of attributes that are the certification content. It is characterized by being the Merkle root of the Merkle tree which is the node of.
  • the hash value associated with the proof content adds additional data to at least a part of the plurality of attribute data representing the plurality of attributes which are the proof contents.
  • it is a Merkle root of a Merkle tree having a hash value of each of a plurality of data including the obtained modified attribute data as the lowest node.
  • a fourth aspect of the present invention is a program for causing a server to execute a method of providing certificate data for a plurality of attribute data representing a plurality of attributes of a subject confirmed by an organization using the server. Then, the step of generating the certificate data in response to the request of the certificate data from the terminal capable of communicating with the server, and the step that the server sends the certificate data and the certification to the terminal.
  • the certificate data includes the name of the institution that is the certifier, the public key to be certified, and the hash value associated with the content of the proof, including the step of transmitting the verification data corresponding to the written data, and the secret of the institution.
  • the hash value to which the signature by the key is added and associated with the certification content is the Merkle root of the Merkle tree obtained by using the attribute data representing a plurality of attributes which are the certification contents, and the verification data is (A) A plurality of attribute data representing a plurality of attributes that are proof contents accessible to the server, or at least a part of hash values thereof, or (b) adding additional data to at least a part of the plurality of attribute data. It is characterized by including a plurality of data including the obtained modified attribute data or at least a part of hash values thereof.
  • a fifth aspect of the present invention is a device that provides certificate data for a plurality of attribute data representing a plurality of attributes of a subject confirmed by an institution, and the certification from a terminal capable of communicating with the device.
  • the certificate data is generated, the certificate data and the verification data corresponding to the certificate data are transmitted to the terminal, and the certificate data is the name of the institution that is the certifier.
  • the public key to be certified, and the hash value associated with the certification content, the signature with the private key of the institution is added, and the hash value associated with the certification content has a plurality of attributes that are the certification content.
  • the verification data is (a) a plurality of attribute data representing a plurality of attributes which are proof contents accessible to the server, or a plurality of attribute data thereof. It is characterized by including at least a part of hash values or a plurality of data including modified attribute data obtained by adding additional data to the plurality of attribute data, or at least a part of the hash values thereof.
  • certificate data including a Merkle root of a Merkle tree obtained using one or more attribute data representing one or more confirmed attributes of an individual is generated and the individual.
  • the individual can partially digitally disclose the desired attributes to others as needed.
  • FIG. 1 shows an apparatus according to an embodiment of the present invention.
  • the device 100 is an institutional device used by an institution that manages one or more attributes of an individual, and can access one or more attribute data representing one or more confirmed attributes of the individual.
  • the terminal 110 used by the individual receives an issuance request or a generation request for certificate data (certificate data) for one or more attribute data representing the one or more attributes
  • the engine device 100 Generates the certificate data and transmits it to the terminal 110 via the computer network. Then, the certificate data is transmitted from the terminal 110 to the verification device 120 that requires verification of one or a plurality of attributes of the individual.
  • the engine device 100 includes a communication unit 101 such as a communication interface, a processing unit 102 such as a processor and a CPU, and a storage unit 103 including a storage device such as a memory and a hard disk or a storage medium, and is a program for performing each process.
  • the server 100 may include one or more devices, computers or servers.
  • the program may include one or more programs, and may be recorded on a computer-readable storage medium to be a non-transient program product.
  • the program can be stored in a storage device or storage medium accessible from the storage unit 103 or the device 100 via the computer network, and executed by the processing unit 102.
  • the terminal 110 and the verification device 120 may also be provided with a communication unit, a processing unit, and a storage unit.
  • the engine device 100 can further include a database 104 that stores one or a plurality of attribute data representing one or a plurality of attributes of each individual, and the database 104 uses the generated certificate data and the certificate data. Verification data and the like for attribute verification may be further stored. Hereinafter, these data will be described as being stored in the database 104, but all or a part thereof may be stored in a storage device or a storage medium accessible from the storage unit 103 or the engine device 100.
  • the transaction including the generated certificate data may be transmitted to the blockchain network 130 having a plurality of nodes at the same time as or before and after the transmission of the certificate data to the terminal 110 and stored.
  • FIG. 2 shows a method according to the first embodiment of the present invention.
  • the engine device 100 confirms one or a plurality of attributes of each individual by some method, and stores attribute data representing them in the database 104. If the operator of the institutional device 100 is a university, it is conceivable that attribute data representing attributes such as name, university name, faculty name, and graduation date are stored after confirming that the operator is a graduate. If the operator of the institutional device 100 is an exchange of cryptocurrency assets, attributes representing attributes such as name, address, date of birth, gender, country of residence, etc. confirmed by identity verification performed before starting transactions as a user. It is possible that the data is stored.
  • the engine device 100 receives the request for the certificate data from the terminal 110 (S201) and generates the certificate data (S202).
  • the request can include a public key for which certificate data is to be generated.
  • the engine device 100 acquires verification data necessary for verification of the certificate data at the same time as or before or after the generation of the certificate data (S203). The acquisition may be performed by reading from a storage device or storage medium accessible to the engine device 100, in addition to the case of performing by generation.
  • FIG. 3 schematically shows the certificate data according to the first embodiment of the present invention.
  • Certificate data 300 is an example in which University X issues a certificate.
  • "University X” is the issuer 301
  • the public key "1ABC” is the target 302
  • the hash associated with the certificate content is described as the value 303
  • the signature 310 by the University of X is added.
  • the public key described as the target 302 is owned by any individual, and possession of the public key in the public key cryptosystem means that the private key corresponding to the public key can be accessed. ..
  • the hash value 303 associated with the proof content can be the Merkle root of the Merkle tree whose nodes are the hash values of one or more attribute data representing one or more attributes to be certified.
  • FIG. 4 shows a Merkle tree including a hash value associated with the certification content of the certificate data shown in FIG. 3 as a Merkle root.
  • the hash value obtained from the name Bob Brown is "98754473”
  • the hash value obtained from the university name University X is "dfgsf3g1”
  • the hash value obtained from the faculty name Economics is "erg34gh8”
  • the value is "23308j32", which are the bottom nodes of the Merkle tree.
  • a new hash value is obtained by using the hash value obtained from the name and the hash value obtained from the university name.
  • a new hash value can be obtained by using the hash value obtained from the faculty name and the hash value obtained from the graduation date.
  • These are the nodes in the second layer of the Merkle tree.
  • a new hash value is obtained by using the hash values of the first node and the second node in the second layer, and this becomes a single node in the third layer of the Merkle tree, that is, the Merkle root.
  • a three-layer Merkle tree is illustrated, but the number of layers varies according to the number of attributes managed by the engine device 100 for each individual.
  • the verification data 400 corresponding to the certificate data 300 is the plurality of attribute data of a plurality of nodes located at the bottom layer of the Merkle tree, or at least a plurality of them. It may include some hash values or both. Even when the verification data 400 is the attribute data itself of one or more nodes located at the bottom layer of the Merkle tree, the request of the certificate data 300 is possible so that various expressions can be made simply by taking the date as an example. Since it is highly likely that the individual who uses the terminal 110 that has performed the above does not know in what data format those attribute data are stored, it is necessary for the engine device 100 to transmit such data to the terminal 110. .. Details will be described later.
  • the engine device 100 transmits the generated certificate data 300 and the verification data 400 corresponding to the certificate data 300 to the terminal 110 (S204).
  • the public key of the signer X University cannot be calculated from the signature 310, it is preferable to add the public key or the corresponding identification information to the certificate data 300 or include it in the certificate data 300.
  • the terminal 110 In addition to transmitting the certificate data 300 to the verification device 120 that requires verification of one or more attributes of the individual using the terminal 110, the terminal 110 also transmits the attribute data and verification of one or more attributes to be verified.
  • One or a plurality of hash values of the attribute data obtained by excluding the attribute data from the data 400 are transmitted with a signature on them by the private key corresponding to the public key included in the certificate data 300 (S205).
  • the signature by an individual using the terminal 110 is performed on one or a plurality of attribute data transmitted to the verification device 120 and one or a plurality of hash values of the attribute data obtained by excluding the attribute data from the verification data 400.
  • each of the verification data 400 may be performed for one or more attribute data to be proved, and each of the verification data 400 excluding those attribute data. It may be performed on data containing one or more hash values of attribute data, or may be a signature on other objects.
  • the verification device 120 when it is necessary to have the verification device 120 verify the name of an individual who uses the terminal 110, a signature is added to the attribute data "Bob Brown” and the data including the hash values "dfgsf3g1", “erg34gh8", and "23308j32". It is conceivable that the terminal 110 transmits the data to the verification device 120.
  • the verification device 120 confirms that the signature has been made by the owner of the public key which is the certification target 302 of the certificate data 300, and corresponds to one or a plurality of received attribute data.
  • the Merkle root obtained by calculating the hash value and using it in combination with the received one or more hash values matches the hash value 303 associated with the certificate content of the certificate data 300
  • the public key of the public key is obtained. It can be confirmed that one or more attributes of the owner have been confirmed by the institution that generated the certificate data 300. Further, the verification device 120 can confirm the institution that has confirmed the one or a plurality of attributes by verifying the certificate data 300 itself.
  • the Merkle root of the Merkle tree with one or more hash values for one or more attribute data representing one or more confirmed attributes of an individual as one or more nodes located at the bottom layer.
  • the individual can partially disclose the desired attribute to another person as needed.
  • One or more attributes that you do not want to disclose can be hidden by sending their hash values.
  • the hash value of one or more attribute data which is the verification data is calculated by a unidirectional hash function, it is difficult to specify the attribute data based on the hash value, but it is more deciphered.
  • one or more attributes, which are the proof contents include gender
  • the value of the attribute is either male or female, and the hash value of each can be calculated.
  • Attribute data can be specified based on the hash value. This also applies to those with more choices such as nationality, and if the hash calculation is performed by brute force, there is a possibility that the attribute data can be specified based on the hash value. Since decoding becomes extremely difficult by adding additional data, only one or a plurality of attribute data having a high decipherability should be used as modified attribute data among a plurality of attribute data representing a plurality of attributes that are proof contents. Can be considered.
  • the additional data may be referred to as nonce or salto.
  • the data transmitted from the terminal 110 with a signature added to the verification device 120 that requires verification of one or more attributes of the individual using the terminal 110 is one or a plurality of attributes to be proved. It is one or more hash values of each of the plurality of attribute data or the modified attribute data and the verification data 400 excluding the attribute data or the modified attribute data.
  • the hash value to be transmitted to the verification device 120 one or a plurality of hash values of each data excluding one or a plurality of attribute data of one or a plurality of attributes to be proved are considered as the hash value to be transmitted to the verification device 120.
  • “dfgsf3g1” and “2355234” may be used instead of the hash values “dfgsf3g1", “erg34gh8" and "23308j32".
  • the data transmitted to the verification device 120 is the hash value of all the nodes located at the bottom layer of the Merkle tree whose Merkle root is the hash value 303 associated with the certification content.
  • the hash value is transmitted to the verification device 120 with the following data structure, and the verification device 120 stores or makes available the attribute type corresponding to each position of the data structure. Therefore, it can be determined that the individual using the terminal 110 can access at least the attribute data which is the value of each attribute type without hiding and disclosing the value of each attribute type. It is possible to prove that the attribute exists.
  • the attribute type is stored or can be referred to only for a part of the attributes, it is possible to prove the existence of the attribute for the part.
  • the terminal 110 it is possible for an individual using the terminal 110 to access the name, university name, faculty name, and graduation date and determine that the hash value of their attribute data can be calculated. If it is sufficient to determine that the name and university name are accessible, the hash value of the node one level higher obtained by using the hash value of the faculty name and the hash value of the graduation date as in the previous example "2355234" May be sent.
  • a single certificate data is issued, but multiple certificate data can be issued for a certain public key.
  • attribute data representing various attributes confirmed by various institutions with the public key held by each individual
  • the public key can be digitally disclosed to the person who needs it. Functions as an ID.
  • method just in case, even if some method, program, terminal, device, server or system (hereinafter referred to as "method") has an aspect of performing an operation different from the operation described in the present specification, each of the present inventions
  • the aspect is intended to be the same operation as any of the operations described in the present specification, and the existence of an operation different from the operation described in the present specification means that the method and the like are described in each of the present inventions. It is added that it is not outside the scope of the aspect.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

機関が管理する主体の1又は複数の属性を表す属性データに対する証明書データをデジタルに利用可能にする。機関装置100は、証明書データの要求を受信して(S201)、証明書データを生成する(S202)。機関装置100は、証明書データの生成と同時に又はその前後に、当該証明書データの検証な検証データを取得する(S203)。機関装置100は、証明書データ300及び証明書データ300に対応する検証データ400を端末110に送信する(S204)。端末110は、端末110を用いる個人の1又は複数の属性の検証を必要とする検証装置120に、証明書データ300に加えて、証明したい1又は複数の属性の1又は複数の属性データ及び検証データ400からそれらの属性データを除いた各属性データの1又は複数のハッシュ値を、証明書データ300が含む公開鍵に対応する秘密鍵による署名を付加して送信する(S205)。

Description

証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム
 本発明は、個人を含む主体の1又は複数の属性(attribute)を表す1又は複数の属性データ(a piece or a plurality of pieces of attribute data)に対する証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラムに関する。
 今日、運転免許証、パスポート、卒業証明書等、個人の氏名、住所その他の個人の属性を確認するためのデータは、互いに関連づけられることなく、分断して管理されている。こうした公的機関に加えて、近年はさまざまな企業が提供するインターネットサービスが拡がりをみせ、私たちは、1つ2つに留まらない数多くのサービスにユーザー登録をし、個人に関するデータを預けている。また、それらのサービスの利用履歴も、個人の属性を表すデータとして記憶し、利用されていることがある。
 現状では、各機関(institution)がそれぞれ独立して対象とする1又は複数の属性を管理しており、これらの個人属性データ又はその一部をデジタルに利用することができれば、これまでにない利便性の高い多様なサービスの設計が可能になる。たとえば、卒業証明書は、ある個人が卒業した大学名、卒業年月等の属性を証明するものとして利用されるところ、こうした属性の確認を必要とするサービスを利用するためには、卒業した大学から書面で証明書の発行を受けなければならない。これをコンピュータネットワーク上でデジタルに信頼性を保ちつつ参照可能とすることができれば、さまざまなサービスにおける身分確認の自由度が大きく高まる。
 本明細書においては、主に個人を対象に説明を行うが、個人(individual)に限らずさまざまな主体(entity)を対象に本発明の精神を適用可能である。一例として、IoT機器の1又は複数の属性に本発明を適用することが考えられる。
 本発明は、このような問題点に鑑みてなされたものであり、その目的は、機関が管理する主体の1又は複数の属性を表す1又は複数の属性データに対する証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラムを提供することにある。
 このような目的を達成するために、本発明の第1の態様は、機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを提供する方法であって、前記機関が用いるサーバが、前記サーバと通信可能な端末からの前記証明書データの要求に応じて、前記証明書データを生成するステップと、前記サーバが、前記端末に、前記証明書データ及び前記証明書データに対応する検証データを送信するステップとを含み、前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含み、前記機関の秘密鍵による署名が付加され、前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであり、前記検証データは、(a)前記サーバがアクセス可能な証明内容である複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含むことを特徴とする。
 また、本発明の第2の態様は、第1の態様において、前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データのそれぞれのハッシュ値を最下層のノードとするマークルツリーのマークルルートであることを特徴とする。
 また、本発明の第3の態様は、第1の態様において、前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータのそれぞれのハッシュ値を最下層のノードとするマークルツリーのマークルルートであることを特徴とする。
 また、本発明の第4の態様は、サーバに、当該サーバを用いる機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを提供する方法を実行させるためのプログラムであって、前記サーバが、前記サーバと通信可能な端末からの前記証明書データの要求に応じて、前記証明書データを生成するステップと、前記サーバが、前記端末に、前記証明書データ及び前記証明書データに対応する検証データを送信するステップとを含み、前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含み、前記機関の秘密鍵による署名が付加され、前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す属性データを用いて得られるマークルツリーのマークルルートであり、前記検証データは、(a)前記サーバがアクセス可能な証明内容である複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含むことを特徴とする。
 また、本発明の第5の態様は、機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを提供する装置であって、前記装置と通信可能な端末からの前記証明書データの要求に応じて、前記証明書データを生成し、前記端末に、前記証明書データ及び前記証明書データに対応する検証データを送信し、前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含み、前記機関の秘密鍵による署名が付加され、前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであり、前記検証データは、(a)前記サーバがアクセス可能な証明内容である複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は前記複数の属性データに付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含むことを特徴とする。
 本発明の一態様によれば、個人の確認済みの1又は複数の属性を表す1又は複数の属性データを用いて得られるマークルツリーのマークルルートを含む証明書データを生成し、当該個人に発行することで、当該個人は、所望の属性を必要に応じて部分的にデジタルに他者に開示することが可能となる。
本発明の一実施形態にかかる装置を示す図である。 本発明の一実施形態にかかる方法を示す図である。 本発明の一実施形態にかかる証明書データを模式的に示す図である。 図3に示す証明書データの証明内容に関連づけられたハッシュ値として記述されるマークルルートを含むマークルツリーを示す図である。
 以下、図面を参照して本発明の実施形態を詳細に説明する。
 図1に、本発明の一実施形態にかかる装置を示す。装置100は、個人の1又は複数の属性を管理する機関が用いる機関装置であり、当該個人の確認済みの1又は複数の属性を表す1又は複数の属性データにアクセス可能である。当該個人が用いる端末110よりその1又は複数の属性を表す1又は複数の属性データに対する証明書データ(certificate data)の発行(issuance)要求ないし生成(generation)要求を受けた場合に、機関装置100は、当該証明書データを生成してコンピュータネットワークを介して端末110に送信する。そして、端末110より、当該証明書データが、当該個人の1又は複数の属性の検証(verification)を必要とする検証装置120に送信される。
 機関装置100は、通信インターフェースなどの通信部101と、プロセッサ、CPU等の処理部102と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部103とを備え、各処理を行うためのプログラムを実行することによって構成することができ、当該サーバ100は1又は複数の装置、コンピュータないしサーバを含むことがある。また、当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。当該プログラムは、記憶部103又は装置100からコンピュータネットワークを介してアクセス可能な記憶装置又は記憶媒体に記憶しておき、処理部102において実行することができる。端末110及び検証装置120についても図示しないが、同様に通信部、処理部及び記憶部を備えるものとすることができる。
 機関装置100は、さらに各個人の1又は複数の属性を表す1又は複数の属性データを記憶するデータベース104を備えることができ、データベース104には、生成した証明書データ、当該証明書データを用いた属性検証のための検証データ等をさらに記憶してもよい。以下ではこれらのデータがデータベース104に記憶されるものとして説明を行うが、その全部又は一部を記憶部103又は機関装置100からアクセス可能な記憶装置又は記憶媒体に記憶してもよい。
 また、生成された証明書データを含むトランザクションを、当該証明書データの端末110への送信と同時に又はその前後に複数のノードを有するブロックチェーンネットワーク130に送信して記憶してもよい。
 図2に、本発明の第1の実施形態にかかる方法を示す。機関装置100は、なんらかの方式によって各個人の1又は複数の属性の確認を行っており、それらを表す属性データをデータベース104に記憶している。機関装置100の運営者が大学であれば、卒業生であることを確認した上で、名前、大学名、学部名、卒業年月等の属性を表す属性データが記憶されていることが考えられる。機関装置100の運営者が暗号資産の取引所であれば、ユーザーとして取引を開始する前に行われる本人確認によって確認された名前、住所、生年月日、性別、居住国等の属性を表す属性データが記憶されていることが考えられる。
 機関装置100は、まず、端末110からの証明書データの要求を受信して(S201)、証明書データを生成する(S202)。当該要求は、証明書データ生成の対象となる公開鍵を含むことができる。機関装置100は、証明書データの生成と同時に又はその前後に、当該証明書データの検証に必要となる検証データを取得する(S203)。当該取得には、生成によって行われる場合のほかに機関装置100がアクセス可能な記憶装置又は記憶媒体から読み出して行われる場合が挙げられる。
 図3に、本発明の第1の実施形態にかかる証明書データを模式的に示す。証明書データ300はX大学が証明書を発行する例で、Issuer欄に発行者301として「University X」、Subject欄に対象302として公開鍵「1ABC」、Body欄に証明内容に関連づけられたハッシュ値303として「32465675」が記述され、X大学による署名310が付加されている。対象302として記述された公開鍵は、いずれかの個人が所有するものであり、公開鍵暗号方式における公開鍵の所有とは、当該公開鍵に対応する秘密鍵にアクセス可能であることを意味する。
 証明内容に関連づけられたハッシュ値303は、証明される1又は複数の属性を表す1又は複数の属性データのそれぞれのハッシュ値をノードとするマークルツリーのマークルルートとすることができる。図4に、図3に示す証明書データの証明内容に関連づけられたハッシュ値をマークルルートとして含むマークルツリーを示す。名前Bob Brownから得られるハッシュ値が「98754473」、大学名University Xから得られるハッシュ値が「dfgsf3g1」、学部名Economicsから得られるハッシュ値が「erg34gh8」、卒業年月2005/06から得られるハッシュ値が「23308j32」であり、これらがマークルツリーの最下層のノードとなる。次に名前から得られたハッシュ値と大学名から得られたハッシュ値を用いて新たなハッシュ値が得られる。また、学部名から得られたハッシュ値と卒業年月から得られたハッシュ値を用いて新たなハッシュ値が得られる。これらがマークルツリーの二階層目のノードとなる。そして、二階層目の第1のノードと第2のノードのハッシュ値を用いて新たなハッシュ値が得られ、これがマークルツリーの三階層目の単一のノード、すなわちマークルルートとなる。ここでは三階層のマークルツリーを例示したが、機関装置100で各個人について管理する属性の数に応じて階層数は可変する。
 証明内容に関連づけられたハッシュ値303がマークルルートである場合、証明書データ300に対応する検証データ400は、マークルツリーの最下層に位置する複数のノードの複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又はその両方を含むものとすることができる。検証データ400がマークルツリーの最下層に位置する1又は複数のノードの属性データ自体である場合においても、単に日付を例にとってもさまざまな表現が可能であるように、証明書データ300の要求を行った端末110を用いる個人は、いかなるデータ形式でそれらの属性データが記憶されているかを知らない可能性が高いことから、機関装置100はかかるデータを端末110に送信することが必要である。詳細はさらに後述する。
 機関装置100は、生成した証明書データ300及び証明書データ300に対応する検証データ400を端末110に送信する(S204)。署名310から署名者であるX大学の公開鍵が算出可能でない場合には、当該公開鍵又はそれに対応する識別情報を証明書データ300に付加するか、証明書データ300に含めることが好ましい。
 端末110は、端末110を用いる個人の1又は複数の属性の検証を必要とする検証装置120に、証明書データ300を送信することに加えて、証明したい1又は複数の属性の属性データ及び検証データ400からそれらの属性データを除いた属性データの1又は複数のハッシュ値を、証明書データ300が含む公開鍵に対応する秘密鍵によるこれらに対する署名を付加して送信する(S205)。ここで、端末110を用いる個人による署名は、検証装置120に送信される1又は複数の属性データ及び検証データ400からそれらの属性データを除いた属性データの1又は複数のハッシュ値に対して行ったものとすることが考えられるが、必ずしもこれに限定されるものではなく、たとえば、証明したい1又は複数の属性データに対して行ってもよく、検証データ400からそれらの属性データを除いた各属性データの1又は複数のハッシュ値を含むデータに対して行うことでもよく、その他の対象に対する署名でもよい。
 たとえば、検証装置120において端末110を用いる個人の名前を検証させる必要がある場合、「Bob Brown」という属性データ並びに「dfgsf3g1」「erg34gh8」及び「23308j32」というハッシュ値を含むデータに署名を付加して端末110から検証装置120に送信することが考えられる。
 検証装置120では、署名の検証を行うことで、当該署名が証明書データ300の証明対象302である公開鍵の所有者によってなされたことを確認し、受信した1又は複数の属性データに対応するハッシュ値を算出し、受信した1又は複数のハッシュ値と併せて用いることで得られるマークルルートが証明書データ300の証明内容に関連づけられたハッシュ値303と一致することで、当該公開鍵の所有者の1又は複数の属性が証明書データ300を生成した機関により確認済みであることを確認することができる。また、検証装置120は、証明書データ300自体の検証を行うことで、当該1又は複数の属性の確認を行った機関の確認を行うことができる。
 このように、個人の確認済みの1又は複数の属性を表す1又は複数の属性データに対する1又は複数のハッシュ値を最下層に位置する1又は複数のノードとするマークルツリーのマークルルートを含む証明書データを生成することで、当該個人が、所望の属性を必要に応じて部分的に他者に開示することが可能となる。開示を望まない1又は複数の属性については、それらのハッシュ値を送信することで隠すことができる。
 また、検証データである1又は複数の属性データのハッシュ値は、それぞれ一方向性のハッシュ関数により算出されることから、ハッシュ値に基づいて属性データを特定することは困難であるが、より解読の困難性を高めるために、属性を表す属性データに乱数、疑似乱数等の付加データを加えて得られる修正属性データをマークルツリーの最下層に位置するノードのデータとすることが好ましい場合がある。すべての属性データに必ずしも付加データを加える必要はない。例として、証明内容である1又は複数の属性に性別が含まれることが既知又は推測可能である場合、当該属性の値は男性か女性かの二択であり、それぞれのハッシュ値を算出すれば、ハッシュ値に基づいて属性データの特定ができてしまう。これは、国籍等のより選択肢の多いものでも同様で、ハッシュ計算を総当たりで行えば、ハッシュ値に基づいて属性データの特定が可能であるおそれがある。付加データを加えることで、解読は著しく困難になるため、証明内容である複数の属性を表す複数の属性データのうち、解読可能性の高い1又は複数の属性データについてのみ修正属性データとすることが考えられる。当該付加データは、ナンス又はサルトと呼ばれることがある。この場合には、端末110から、端末110を用いる個人の1又は複数の属性の検証を必要とする検証装置120に署名を付加して送信するデータは、証明したい1又は複数の属性の1又は複数の属性データ又は修正属性データ及び検証データ400からそれらの属性データ又は修正属性データを除いた各データの1又は複数のハッシュ値となる。
 また、上述の説明においては、検証装置120に送信するハッシュ値として、検証データから、証明したい1又は複数の属性の1又は複数の属性データを除いた各データの1又は複数のハッシュ値を考えたが、たとえば図4の例では、「dfgsf3g1」「erg34gh8」及び「23308j32」というハッシュ値の代わりに「dfgsf3g1」及び「2355234」を用いてもよい。また、単にハッシュ値を送信するのではなく、以下に示すようなルートノードからのパスを表すデータ構造で送信することが考えられる。
 "root:32465675" -> {{{"raw:Bob Brown"}, "hash:dfgsf3g1"}, "2355234"}
 また、検証装置120に送信するデータを証明内容に関連づけられたハッシュ値303をマークルルートとするマークルツリーの最下層に位置するすべてのノードのハッシュ値とすることも考えられる。この場合、以下のようなデータ構造で当該ハッシュ値を検証装置120に送信し、検証装置120においては、当該データ構造の各位置に対応する属性タイプを記憶しておくか、参照可能としておくことによって、各属性タイプの値は隠して開示せずに、端末110を用いる個人が少なくとも各属性タイプの値である属性データにアクセス可能であると判定することができ、これにより、当該個人に各属性が存在することの証明が可能である。属性タイプが一部の属性についてのみ記憶されているか参照可能である場合には、当該一部について、属性の存在の証明が可能となる。
 "root:32465675" -> {{"hash:98754473", "hash:dfgsf3g1"}, {"hash:erg34gh8", "hash:23308j32"}}
 この例では、端末110を用いる個人が、名前、大学名、学部名及び卒業年月にアクセスしてそれらの属性データのハッシュ値を計算可能であると判定することが可能である。名前及び大学名にアクセス可能であることを判定できれば良い場合には先の例のように学部名のハッシュ値及び卒業年月のハッシュ値を用いて得られる一階層上のノードのハッシュ値「2355234」を送信することとしてもよい。
 上述の説明においては、単一の証明書データが発行されている例を挙げたが、ある公開鍵に対して複数の証明書データを発行することができる。このようにさまざまな機関により確認されたさまざまな属性を表す属性データを各個人が保有する公開鍵に関連づければ、当該公開鍵は、各個人が必要な相手に必要な属性を開示可能なデジタルIDとして機能する。
 なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。また、一例として、「aの場合にbする」という記載は、明示した場合を除き、「aの場合に常にbする」こと、「aの直後にbする」ことを必ずしも意味しないことに留意されたい。
 また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
 100 装置
 101 通信部
 102 処理部
 103 記憶部
 104 データベース
 110 端末
 120 検証装置
 130 ブロックチェーンネットワーク
 300 証明書データ
 301 発行者
 302 対象
 303 ハッシュ値
 310 署名
 400 検証データ

Claims (10)

  1.  機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを提供する方法であって、
     前記機関が用いるサーバが、前記サーバと通信可能な端末からの前記証明書データの要求に応じて、前記証明書データを生成するステップと、
     前記サーバが、前記端末に、前記証明書データ及び前記証明書データに対応する検証データを送信するステップと
    を含み、
     前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含み、前記機関の秘密鍵による署名が付加され、
     前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであり、
     前記検証データは、(a)前記サーバがアクセス可能な証明内容である複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含むことを特徴とする。
  2.  請求項1記載の方法であって、
     前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データのそれぞれのハッシュ値を最下層のノードとするマークルツリーのマークルルートであることを特徴とする。
  3.  請求項1記載の方法であって、
     前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータのそれぞれのハッシュ値を最下層のノードとするマークルツリーのマークルルートであることを特徴とする。
  4.  サーバに、当該サーバを用いる機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを提供する方法を実行させるためのプログラムであって、
     前記サーバが、前記サーバと通信可能な端末からの前記証明書データの要求に応じて、前記証明書データを生成するステップと、
     前記サーバが、前記端末に、前記証明書データ及び前記証明書データに対応する検証データを送信するステップと
    を含み、
     前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含み、前記機関の秘密鍵による署名が付加され、
     前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであり、
     前記検証データは、(a)前記サーバがアクセス可能な証明内容である複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含むことを特徴とする。
  5.  機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを提供する装置であって、
     前記装置と通信可能な端末からの前記証明書データの要求に応じて、前記証明書データを生成し、
     前記端末に、前記証明書データ及び前記証明書データに対応する検証データを送信し、
     前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含み、前記機関の秘密鍵による署名が付加され、
     前記証明内容に関連づけられたハッシュ値は、前記証明内容である複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであり、
     前記検証データは、(a)前記サーバがアクセス可能な証明内容である複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含むことを特徴とする。
  6.  機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを用いて前記複数の属性の少なくとも一部を証明する方法であって、
     検証データであって、(a)前記複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性を表す複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含む検証データを受信するステップと、
     前記証明書データを送信するステップであって、前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含むステップと、
     証明する1又は複数の属性の1又は複数の属性データ又は修正属性データ、前記検証データから前記証明する1又は複数の属性の1又は複数の属性データ又は修正属性データを除いた各データを用いて得られる1又は複数のハッシュ値、及び前記公開鍵に対応する秘密鍵による署名を送信するステップと
    を含み、
     前記証明内容に関連づけられたハッシュ値は、前記複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであることを特徴とする。
  7.  請求項6記載の方法であって、
     前記署名は、前記検証データから前記証明する1又は複数の属性の1又は複数の属性データ又は修正属性データを除いた1又は複数のデータに対する署名であることを特徴とする。
  8.  コンピュータに、機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを用いて前記複数の属性の少なくとも一部を証明する方法を実行させるためのプログラムであって、前記方法は、
     検証データであって、(a)前記複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性を表す複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含む検証データを受信するステップと、
     前記証明書データを送信するステップであって、前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含むステップと、
     証明する1又は複数の属性の1又は複数の属性データ又は修正属性データ、前記検証データから前記証明する1又は複数の属性の1又は複数の属性データ又は修正属性データを除いた各データを用いて得られる1又は複数のハッシュ値、及び前記公開鍵に対応する秘密鍵による署名を送信するステップと
    を含み、
     前記証明内容に関連づけられたハッシュ値は、前記複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであることを特徴とする。
  9.  機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを用いて前記複数の属性の少なくとも一部を証明する装置であって、
     検証データであって、(a)前記複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性を表す複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含む検証データを受信し、
     前記証明書データであって、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含む証明書データを送信し、
     証明する1又は複数の属性の1又は複数の属性データ又は修正属性データ、前記検証データから前記証明する1又は複数の属性の1又は複数の属性データ又は修正属性データを除いた各データを用いて得られる1又は複数のハッシュ値、及び前記公開鍵に対応する秘密鍵による署名を送信し、
     前記証明内容に関連づけられたハッシュ値は、前記複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであることを特徴とする。
  10.  機関による確認済みの主体の複数の属性を表す複数の属性データに対する証明書データを用いて前記複数の属性の少なくとも一部の存在を証明する方法であって、
     検証データであって、(a)前記複数の属性を表す複数の属性データ若しくはそれらの少なくとも一部のハッシュ値又は(b)前記複数の属性を表す複数の属性データの少なくとも一部に付加データを加えて得られる修正属性データを含む複数のデータ若しくはそれらの少なくとも一部のハッシュ値を含む検証データを受信するステップと、
     前記証明書データを送信するステップであって、前記証明書データは、証明者である機関名、証明対象の公開鍵、及び証明内容に関連づけられたハッシュ値を含むステップと、
     前記検証データを用いて得られる前記複数の属性を表す複数の属性データのすべてのハッシュ値、及び、前記公開鍵に対応する秘密鍵による署名を送信するステップと
    を含み、
     前記証明内容に関連づけられたハッシュ値は、前記複数の属性を表す複数の属性データを用いて得られるマークルツリーのマークルルートであることを特徴とする。
PCT/JP2020/046442 2019-12-12 2020-12-13 証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム WO2021117904A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/784,773 US20230055866A1 (en) 2019-12-12 2020-12-13 Device and Method for Digital Utilization of Certificate Data, and Program Therefor
EP20898537.4A EP4075720A4 (en) 2019-12-12 2020-12-13 DEVICE AND METHOD FOR THE DIGITAL USE OF CERTIFICATE DATA, AND ASSOCIATED PROGRAM
JP2021564079A JPWO2021117904A1 (ja) 2019-12-12 2020-12-13
CN202080094578.1A CN115004629A (zh) 2019-12-12 2020-12-13 用于使证书数据能够数字利用的装置、方法及其程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019224956 2019-12-12
JP2019-224956 2019-12-12

Publications (1)

Publication Number Publication Date
WO2021117904A1 true WO2021117904A1 (ja) 2021-06-17

Family

ID=76330041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046442 WO2021117904A1 (ja) 2019-12-12 2020-12-13 証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム

Country Status (5)

Country Link
US (1) US20230055866A1 (ja)
EP (1) EP4075720A4 (ja)
JP (2) JP7162634B2 (ja)
CN (1) CN115004629A (ja)
WO (1) WO2021117904A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001043344A1 (en) * 1999-12-13 2001-06-14 Rsa Security Inc. System and method for generating and managing attribute certificates
JP2005051734A (ja) * 2003-07-15 2005-02-24 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム
WO2006132143A1 (ja) * 2005-06-10 2006-12-14 Matsushita Electric Industrial Co., Ltd. 認証システム、認証装置、端末装置及び検証装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6620000A (en) * 1999-08-06 2001-03-05 Frank W Sudia Blocked tree authorization and status systems
US6802002B1 (en) * 2000-01-14 2004-10-05 Hewlett-Packard Development Company, L.P. Method and apparatus for providing field confidentiality in digital certificates
US20140245020A1 (en) * 2013-02-22 2014-08-28 Guardtime Ip Holdings Limited Verification System and Method with Extra Security for Lower-Entropy Input Records
MX2018013617A (es) 2016-05-13 2019-04-25 Nchain Holdings Ltd Un metodo y sistema para verificar la integridad de un activo digital mediante el uso de una tabla hash distribuida y un libro mayor distribuido punto a punto.
CN109858270A (zh) * 2019-02-22 2019-06-07 江苏金智教育信息股份有限公司 一种去中心化数字身份的构建方法和系统
EP3910907B1 (en) 2019-03-29 2023-08-02 Advanced New Technologies Co., Ltd. Retrieving access data for blockchain networks using highly available trusted execution environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001043344A1 (en) * 1999-12-13 2001-06-14 Rsa Security Inc. System and method for generating and managing attribute certificates
JP2005051734A (ja) * 2003-07-15 2005-02-24 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム
WO2006132143A1 (ja) * 2005-06-10 2006-12-14 Matsushita Electric Industrial Co., Ltd. 認証システム、認証装置、端末装置及び検証装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4075720A4 *

Also Published As

Publication number Publication date
JP2021097392A (ja) 2021-06-24
JP7162634B2 (ja) 2022-10-28
EP4075720A1 (en) 2022-10-19
JPWO2021117904A1 (ja) 2021-06-17
US20230055866A1 (en) 2023-02-23
CN115004629A (zh) 2022-09-02
EP4075720A4 (en) 2023-11-29

Similar Documents

Publication Publication Date Title
US11528141B2 (en) Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks
US11146399B2 (en) Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks
CN110473094B (zh) 基于区块链的数据授权方法及装置
CN112166578B (zh) 用于控制对资源的访问的令牌的存储、生成和验证的改进系统和方法
US11777734B2 (en) Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks
US11048690B2 (en) Contribution of multiparty data aggregation using distributed ledger technology
JP7381480B2 (ja) 双線形写像アキュムレータに基づく認証のためのブロックチェーン実装方法及びシステム
KR101169100B1 (ko) 비대칭 키 보안을 위한 시스템 및 방법
WO2020029660A1 (zh) 用户的身份内容信息的认证、验证方法和装置
CN110009349B (zh) 区块链中生成和验证可链接环签名的方法及装置
CN110048851B (zh) 区块链中生成和验证多层可链接环签名的方法及装置
WO2022004854A1 (ja) 利用者端末、認証者端末、登録者端末、管理システムおよびプログラム
JP2008131058A (ja) 属性認証システム、同システムにおけるユーザの行動履歴検索方法およびプログラム
CN114389810B (zh) 证明生成方法及装置、电子设备、存储介质
CN114338081B (zh) 多区块链统一身份认证方法、装置、计算机设备
Cha et al. A blockchain-based privacy preserving ticketing service
CN110349021B (zh) 区块链中实现机密交易的方法及装置
JP4888553B2 (ja) 電子データ認証方法、電子データ認証プログラムおよび電子データ認証システム
WO2021117904A1 (ja) 証明書データをデジタルに利用可能にするための装置、方法及びそのためのプログラム
KR20220134341A (ko) 분산 id를 활용한 소유권 증명 및 이전 내역 증명 방법
JP2021148850A (ja) 情報処理システム、情報処理方法、情報処理プログラム、秘密計算システム、秘密計算方法、及び、秘密計算プログラム
JP2006166354A (ja) 電子署名有効性証明データの生成方法、電子署名有効性証明データの正当性の確認方法、電子署名有効性確認方法、電子署名有効性証明データ生成装置、電子署名有効性証明データ正当性確認装置、電子署名有効性確認装置、電子署名有効性証明データ生成プログラム、電子署名有効性証明データ正当性確認プログラム、及び電子署名有効性確認プログラム
JP2023125727A (ja) テンプレート管理システム及びテンプレート管理方法
CN113254731A (zh) 区块链节点连接方法、装置及电子设备
Shen et al. Delegated integrity check for hierarchical cloud data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20898537

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021564079

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020898537

Country of ref document: EP

Effective date: 20220712