JP7219740B2 - レコードの属性及びデータエントリの選択的開示 - Google Patents

レコードの属性及びデータエントリの選択的開示 Download PDF

Info

Publication number
JP7219740B2
JP7219740B2 JP2020109859A JP2020109859A JP7219740B2 JP 7219740 B2 JP7219740 B2 JP 7219740B2 JP 2020109859 A JP2020109859 A JP 2020109859A JP 2020109859 A JP2020109859 A JP 2020109859A JP 7219740 B2 JP7219740 B2 JP 7219740B2
Authority
JP
Japan
Prior art keywords
attributes
record
data
data entries
issuer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020109859A
Other languages
English (en)
Other versions
JP2021007217A (ja
Inventor
アドリアーン ヨリス エイチ ラルミュゾー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of JP2021007217A publication Critical patent/JP2021007217A/ja
Application granted granted Critical
Publication of JP7219740B2 publication Critical patent/JP7219740B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/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/3218Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、レコードの属性、例えば表現型属性、及びデータエントリ、例えばゲノムデータの一部を選択的に開示するためのシステムに関する。本発明はまた、そのようなシステムにおいて用いるための発行者デバイス、セレクタデバイス及び受信機デバイスに関する。本発明は更に、それぞれのデバイスに対応する発行者方法、セレクタ方法及び受信機方法に関する。本発明は、コンピュータ可読ストレージ媒体にも関する。
医療研究及び処置のためにゲノムデータを用いることは、可能な用途の観点で極めて有望であるが、慎重に扱われない場合、データプライバシ及びセキュリティの観点で大きなリスクもある。より多くの人物のゲノムデータが利用可能になるにつれ、例えばより良好な又はより患者に合わせた処置を探すための、医療研究を行う範囲が増大している。同時に、そのような医療研究は、機密度の高い遺伝子型及び表現型データを伴い、多くの場合、例えばゲノム全体の関連付けの研究において、多くの異なる患者に関するデータが用いられる。このため、そのようなデータへの権限のないアクセス及び変更を防ぐ適切な措置がとられる必要がある。
医療研究設定におけるデータ露出を制限するための知られている方法は、非特定化である。例えば、知られているシステムにおいて、ゲノムデータは、いくつかの発信者、例えば様々なデバイス又は医療試行(medical trial)からのデータから収集され、中央プラットフォームに記憶される。研究者は、特定の特性を有する患者のゲノムデータを要求する。法律及び世界的標準に従って、そのようなデータは非特定化されるべきである。したがって、プラットフォームは、1人又は複数の患者に関するデータを選択し、データを非特定化し、例えば表現型及び遺伝子型データのサブセットを選択し、この非特定化されたデータを研究者に提供する。
より一般的には、例えば、その特異性及び詳細において十分制限された、個人情報のレコードの編集済みのバージョンを提供し、そのデータサブジェクトにもはやリンク付けできないようにする非特定化は、GDPR等の法的圧力及びGA4GHビーコン等の医療規格により推進されて、ますます一般的になっている。例えば、非特定化されたデータは、ゲノム研究以外の医療研究のために用いられるが、金融サービス及び広告等の様々な他の用途でも用いられる。より汎用的な、例えば個人情報を含まないレコードの場合、非特定化は、例えば、データプロバイダに、レコードのいずれの部分を受信者と共有するかを決定させる、選択的開示の1つのタイプとみなされる。
非特定化データの受信者、例えば、患者に関する非特定化されたゲノム及び表現型データを受信する研究者の観点から、データが非特定化されていることにより、バッドアクターによる不正又は改ざんのリスクが生じる。非特定化データは元のソースにリンク付け可能でないため、正当なソースを有する本物のデータと、正当なソースを有していない偽データとを区別することが困難であり得る。したがって、受信者、例えばデータに対して支払いを行う者、又は規制目的でデータを調査する者が、非特定化データが正当である、例えば信頼できるソースから到来したものであることを信頼することができるように非特定化を行うことが望ましい。
真正性の確保は、例えば、データの全ての発信者に、非特定化データにデジタル署名することの要求を送信し、発信者がこれを承認することを証明することによる従来の技法を用いて行われる。しかしながら、これは厄介であり、多くの場合コストが高く、更には例えば発信者が廃止された組織又はマシンである場合に可能でない場合さえある。したがって、選択的に開示されたレコードの信頼性を確保する、より良好な自動化技法が必要とされている。
これらの問題及び他の問題に対処するために、請求項によって定義される、レコードの属性及びデータエントリを選択的に開示するためのシステムが提案される。システムは、選択的開示のためにレコードをセレクタデバイスに提供するための発行者デバイスと、レコードの一部を受信機デバイスに選択的に開示するためのセレクタデバイスと、レコードの一部を選択的に取得するための受信機デバイスとを備える。
レコードは2つの異なるタイプのデータを含み、すなわち、レコードは1つ又は複数の属性及び複数のデータエントリを含む。選択的開示において、セレクタデバイスは、開示される1つ又は複数の属性を、1つ又は複数の属性のサブセットとして決定し、開示される1つ又は複数のデータエントリを、複数のデータエントリのサブセットとして決定する。レコードは、個人情報レコードであり、例えば、属性及びデータエントリは人物に関する情報を含む。しかしながら、他のタイプの機密情報を含むレコードも等しく可能である。
属性は、典型的には所定のセットからのものであり、例えば、複数のレコードがシステムによって処理される場合、各レコードは、属性の同じセットについての値を提供する。例えば、1つ又は複数のレコードは、人物に関する表現型情報、例えば身長、髪の色、特定の病状の診断等を表す。特定のレコードにおける属性の値は、典型的には、レコードの寿命全体にわたって固定している。属性は、典型的には、数値、カテゴリ、固定長の文字列等である。また、属性の数は比較的小さく、例えば最大で10個、最大で20個、又は最大で50個である。
他方で、データエントリは、属性と異なる種類の情報のために用いられる。例えば、データエントリは、レコードが表す人物のゲノム部分、例えば、一塩基多型(SNP)を、例えばゲノムデータのバリアントコールフォーマット(VCF)ファイルのデータ行によって符号化したものを表す。レコードに関連付けられるデータエントリの数は、典型的には、属性の数よりも大きく、例えば、少なくとも100個、少なくとも500個又は少なくとも1000個のデータエントリがレコードと関連付けられる。また、データエントリは、典型的には、数値でもカテゴリでもなく、例えば、例として可変長の文字列、又はバイナリデータ、例えばイメージであり得る。また、レコードに関連付けられたデータエントリの数は固定である必要がなく、例えば、異なるレコードには異なる数のデータエントリを関連付けることができる。データエントリのセットは、更には動的である場合があり、例えば、新たなデータエントリが利用可能になるとこれらがレコードに追加される、既存のデータエントリが除去又は更新される等である。これらの特性により、データエントリを属性が扱われるのと同じように扱うことが実現不可能になる。
属性及びデータエントリの双方のセキュアな方式での選択的開示を依然として可能にするために、本発明者らは、発行者デバイスが、対応する発行者公開鍵が受信機デバイスに知られている発行者秘密鍵を用いて属性及びデータエントリのデジタル署名を生成することを考案した。知られているように、メッセージのデジタル署名は、発行者公開鍵を有する者が、対応する秘密鍵を保持する者によってメッセージが署名されたことを確立することを可能にする。この場合、発行者デバイスは、1つ又は複数の属性を含む属性メッセージのデジタル署名と、それぞれのデータエントリを含むデータメッセージにおける、例えばデータエントリごとに1つのデジタル署名を生成する。したがって、これらのデジタル署名は、レコードの属性及びデータエントリの真正性を確立することを可能にする。この場合、デジタル署名は、好ましくは、簡単に論考したように、デジタル署名がそれらに対するいわゆるゼロ知識証明を実行することを効率的に可能にするように選択される。
興味深いことに、属性を含むデジタル署名と、それぞれのデータエントリの別個のデジタル署名とを用いることによって、いくつかの有利な効果が達成される。属性を含むデジタル署名は、固定数の属性を含み、データエントリのデジタル署名も固定長の入力、例えばデータエントリのダイジェストを有する。これは、デジタル署名がこれにより固定のメッセージサイズを有し、したがって固定のフォーマット様式を有するために有用である。これは以下で論考されるように、ゼロ知識証明のために署名を用いるときに特に重要である。なぜなら、そのような証明を実行するのに効率的な技法は固定フォーマットのメッセージの使用に頼るためである。
更に、データエントリにおける別個のデジタル署名の使用により、例えば、全てのエントリを含む1つのデジタル署名に対し動作を行わなくてはならないのではなく、実際に開示されているデータエントリのデジタル署名のみを処理することによって選択的開示が実行されることが可能になる。これは、データエントリの数及び個々のデータエントリのサイズが大きい可能性があるため特に重要である。例えば、ゲノミクスデータ、例えばVCFファイルは、数千個のゲノム変化を含む。これらの変化のいくつかのみの選択的開示が、各ゲノム変化の処理、又は更には変化ごとの進化した暗号学的動作の実行を伴う場合、コストは法外になり得る。更に、レコードに含まれるデータエントリの数は、開示において受信者から隠されたままであり、例えば、受信者側は、システムとの異なる対話において得られたレコードを、それらが同じ数のデータエントリを含むことに基づいてシステムとリンク付けすることができない。
しかしながら、本発明者らは、単純な実施では、レコードに署名するために複数のデジタル署名を用いることは、発行者デバイスが複数のレコードを提供するときに問題を有することを認識した。すなわち、この事例では、例えば異なる人物からのゲノム情報を有する署名されたレコードを取得するために、異なるレコードからのデジタル署名が、例えばセレクタデバイスによって、混合される場合がある。このため、一実施形態による発行者デバイスは、秘密レコード識別子、例えば特定のレコードに固有のランダムに生成された識別子を決定し、これを、そのレコードのために発行者デバイスが署名する属性メッセージ及びデータメッセージに含める。次に、発行者デバイスは、レコード、秘密レコード識別子及びデジタル署名をセレクタデバイスに提供することができる。このため、秘密レコード識別子を用いて、それぞれのデジタル署名が発行者デバイスによって提供された単一のレコードに対応することを保証する。しかし、以下で論考されるように、秘密レコード識別子は受信者デバイスに対し隠されたままである。
選択的開示を実行するとき、セレクタデバイスは、ここで、開示される属性及びデータエントリを、それらの署名と共に、受信者デバイスに提供することができる。しかしながら、そのような解決策は、データ最小化の観点から最適ではない。例えば、属性メッセージは、開示されていない属性も含む可能性があるが、受信者デバイスは通例、依然としてこれらの属性が署名を検証することを必要とする。また、署名は秘密レコード識別子を含み、このため、受信者は通常、署名を検証するために秘密レコード識別子を必要とする。このため、2つの異なる開示において、受信者は同じレコードから属性及びデータエントリの重複していないセットを取得する場合、受信者はこれらの2つの異なる部分レコードを、秘密レコード識別子に基づいて互いにリンク付けする。又は、受信者は、秘密識別子を用いて、その部分レコードを、異なる受信者によって受信された他の部分レコードとリンク付けする。
しかしながら、興味深いことに、本発明者らは、セレクタデバイスがゼロ知識証明を用いて、提供された値及びデータエントリが、発行者デバイスによって署名された単一のレコードに属することを受信機に対し証明することを考案した。暗号学から知られているように、ゼロ知識証明は、1つの当事者、すなわち証明者が別の当事者、すなわち検証者に、自身が特定の特性を満たす値を知っていることを証明することができる方法である。ゼロ知識証明において、興味深いことに、これは証明者が値を検証者に開示することなく行われる。例えば、知られているゼロ知識証明において、検証者は公開鍵を知っており、証明者は検証者に対し、自身がその公開鍵に対応する秘密鍵を知っていることを、秘密鍵を検証者に明らかにすることなく証明することができる。
この事例では、セレクタデバイスは、受信機デバイスとのゼロ知識証明を実行し、セレクタデバイスは、秘密レコード識別子、属性メッセージのデジタル署名、及びデータメッセージのデジタル署名の知識を証明する。換言すれば、セレクタデバイスは、典型的には、秘密レコード識別子又はいずれのデジタル署名も受信機デバイスに開示せず、代わりに、自身が有効な識別子及び署名を知っている証明を開示する。そのような証明を効率的に構築する具体的な例が以下に提供されるが、任意の関係を満たすデータの知識を証明することを可能にする汎用的技法が文献において入手可能であるため、原則的に、任意のデジタル署名方式及び任意の一般的なゼロ知識証明システムを用いることができる。
属性に関して、セレクタデバイスは、属性メッセージのデジタル署名が、少なくとも、開示される1つ又は複数の属性及び秘密レコード識別子を含むメッセージのデジタル署名であることを証明する。受信機デバイスは、セレクタデバイスから取得した1つ又は複数の属性に対する証明のこの部分を検証して、受信した属性の正しさを確かめる。セレクタデバイスは、デジタル署名が、発行者公開鍵に対応する秘密鍵で署名されていることも証明し、受信機は発行者公開鍵を用いてこれを検証する。検証者として証明のこの部分を実行することによって、受信機デバイスは、受信機デバイスから取得した属性が、実際に発行者デバイスによって提供されたレコードの一部であるという保証を得る。
データエントリに関して、セレクタデバイスは、データメッセージのデジタル署名が、開示されるデータエントリを含み、各々が秘密レコード識別子を含むメッセージ、例えば、各々がデータエントリ及び第2のレコード識別子を含むそれぞれのメッセージのデジタル署名であると証明する。受信機デバイスは、セレクタデバイスから取得したデータエントリに対し、証明のこの部分を検証して、それらの正しさを確かめる。セレクタデバイスは、デジタル署名が、発行者公開鍵に対応する秘密鍵で署名されていることも証明し、受信機は発行者公開鍵を用いてこれを検証する。検証者として証明のこの部分を実行することによって、受信機デバイスは、受信機デバイスから取得したデータエントリが、実際に発行者デバイスによって提供されたレコードの一部であるという保証を得る。特に、証明は、デジタル署名の各々が秘密レコード識別子を含み、このため、発行者デバイスによって提供された同じレコードの一部であることを保証するが、依然として、受信機デバイスは秘密レコード識別子を実際に学習せず、異なる選択的開示において取得された部分レコード間のリンク付けが阻止される。
このため、セレクタデバイスが、プライバシ及び/又は真正性保証を改善してレコードの属性及びデータエントリを受信機デバイスに提供することができるシステムが提供される。更に、各々が様々な利点に寄与する特定の特徴を提供する異なるデバイスが提供される。例えば、発行者デバイスは、秘密レコード識別子を決定し、これをレコードのためのそれぞれのデジタル署名に含める。デジタル署名は、好ましくは、効率的なゼロ知識証明がそれらに対し行われることを可能にするタイプのものであり、その例が以下に提供されるが、任意のタイプのデジタル署名を適切なゼロ知識証明システムと組み合わせて用いることができる。別の例として、セレクタ及び受信機デバイスは、ゼロ知識証明を実行して、受信機デバイスに対し、選択的に開示された値及びデータエントリが発行者デバイスの単一のレコードに属することを確かめさせる。
論考した手段に起因して、受信機デバイスは、取得した属性及びデータエントリが発行者デバイスによって提供された単一のレコードに属することの保証を得る。依然として、受信機デバイスは通常、開示されていない属性もデータエントリも学習せず、更にはレコードがいくつのデータエントリを含むかも学習しない。特に、レコードの一部が識別子によってリンク付けされているが、この識別子は、受信機デバイスが学習しない秘密レコード識別子である。選択的開示を実行する負荷が発行者デバイスから取り除かれ、発行者デバイスは、セレクタデバイスに一回レコードを提供するのみでよく、後の関与が必要ない。システムは、データエントリの大きなかつ/又は動的なセットに特に適している。なぜなら、複数のデータエントリのサブセットの選択的開示は通常、データエントリの総数ではなく、開示されるデータエントリ数においてスケーリングする計算及び通信を伴うためである。例えば、ゲノム全体を開示する代わりに、関連部分のみが開示され、開示は関連部分の数においてのみスケーリングする。したがって、レコードの一部の改善された選択的開示が提供される。
一実施形態では、レコードの属性は、人物に関する1つ又は複数の表現型属性を含む。レコードのデータエントリは、人物の1つ又は複数のゲノム部分を含む。例えば、システムは、医療研究のために研究者にゲノムデータを提供するためのシステムである。ゲノムデータの機密性を前提として、また様々な権限におけるプライバシ規制への準拠を改善するために、そのようなレコードが脱匿名化されることが重要であり、同時に、レコードにおけるゲノム部分の数は大きく、例えば、レコードは、人物のゲノム配列全体又はその大部分を含む。そのような場合、記載されるようにゲノム部分のセットのサブセットの選択的開示を可能にし、このため、本明細書に記載の有利なスケーリング特性が特に関連性が高い。
様々なデジタル署名方式を用いて、複数のデータエントリについて属性メッセージ及びデータメッセージに署名することができる。上記で論考したように、原則的に、任意のデジタル署名方式を用いることができる。ここで、様々な特に有利なオプションが論考される。
様々な実施形態は、匿名証明書に基づく。匿名証明書は、ユーザがその属性のうちの1つ又は複数、例えばユーザの年齢及び出身国に対する証明書発行者による認証を取得するための方式として、当該技術分野においてそれ自体が知られている。ユーザは、証明書を第三者に匿名で示し、ユーザに戻るリンク付けを可能にする情報を明かすことなく、自身が特定の特性、例えば年齢が少なくとも18歳であることを満たすことを証明することができる。匿名証明書方式の属性は、典型的には、数値であることが想定されるが、他のタイプの属性を様々な方式で符号化することができ、例えば、テキストに一方向性関数を適用することによって、テキスト属性が数値属性として符号化される等である。
そのような匿名証明書方式の例が、例えば、J.Camenisch他「Signature schemes and anonymous credentials from bilinear maps」Proceedings CRYPTO ’04(匿名証明書方式の記述に関する限り、参照により本明細書に援用される)及びJ.Camenisch他「An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials」Proceedings PKC ’09(匿名証明書方式の記述に関する限り、参照により本明細書に援用される)において開示されている。
興味深いことに、一実施形態では、匿名証明書は、本明細書に提示される属性メッセージのデジタル署名が、発行者秘密鍵を用いて署名された匿名証明書を含むという意味で、本明細書に提示されるシステムのために作り変えられる。匿名証明書は、レコードの1つ又は複数の属性、及び属性としての秘密レコード識別子を有する。実際には、匿名証明書は「逆に」用いられる。従来、ユーザ及び発行者はユーザのための発行プロトコルを実行して、発行者が値を知らない属性に関する証明書を取得し、第三者による特性の証明の要求時に、ユーザは発行された匿名証明書を用いる。対照的に、本事例では、そのような発行プロトコルは必要とされず、発行者デバイスは、証明書をセレクタデバイスに直接提供することができる。この従来の事例と異なり、証明書を保持するセレクタデバイスは、通常、証明書が関連しない仲介者であり、例えば、セレクタデバイスは、自身が関係していない異なるエンティティ、例えば人物に関する異なるレコードを保持し得る。次に、セレクタデバイスは自身の意思で、これらのレコードの一部を選択的に開示し、かつ/又は属性の特性を示すか若しくは証明することができる。これらの差異にかかわらず、興味深いことに、匿名証明書は依然として本システムにおける構築ブロックとして用いることができる。
いくつかの実施形態では、データメッセージのために用いられるデジタル署名方式は、属性メッセージのために用いられるものと同じであり、例えば、データエントリのためのデジタル署名は、秘密レコード識別子及びデータエントリ、又は属性としてデータエントリに適用される一方向性関数を有する匿名証明書である。これは特に単純な設計につながる。
しかしながら、例えば、データメッセージが複数の属性を含む必要がないことに頼ることにより、データメッセージの署名を様々な方式で最適化することも可能である。
いくつかの実施形態では、データメッセージのデジタル署名は、少なくとも、秘密レコード識別子γ及びデータエントリmのダイジェストH(m)の和に基づく。例えば、ダイジェストHは、暗号学的ハッシュ関数等である。本発明者らは認識したように、個々の値γ及びH(m)ではなく値γ+H(m)に署名することにより、より効率的な署名方式、例えば、複数の属性の特性に署名しかつ/又はこれを証明するための署名方式ではなく、単一の値の特性に署名しかつ/又はこれを証明するための署名方式を用いることが可能になる。興味深いことに、γ及びH(m)が和をとることにより結合される場合であっても依然として、H(m)はダイジェストであるため、セレクタデバイスが和について同じ値を与える、例えばγ+H(m)=γ+H(m’)であるか、又は更には、別の秘密識別子の和を導く、例えばγ+H(m)=γ’+H(m’)である、別のデータメッセージm’を見つけることは達成可能でなく、このため、和は依然として、秘密識別子及びデータエントリの双方に十分な真正性を与える。
いくつかの実施形態では、データエントリmのデジタル署名は、グループ要素gを、少なくとも、発行者秘密鍵x、秘密レコード識別子γ及びデータエントリmに基づく値の乗法逆元で累乗した値を計算することによって計算される。乗法逆元での累乗に基づく署名方式は、それ自体が当該技術分野において知られており、効率的なゼロ知識証明を用いた小さな署名を提供することができる。例えば、D.Boneh他「Short signatures without random oracles and the SDH assumption in bilinear groups」J. Cryptology, 21(2):149-177, 2008(短い署名方式の記述に関する限り、参照により本明細書に援用される)を参照されたい。例えば、秘密レコード識別子及びデータエントリを組み合わせて、署名されるメッセージが形成される。一実施形態では、平文は、上記で論考したような秘密レコード識別子とメッセージのダイジェストとの和を含み、例えば、署名はg1/x+γ+H(m)である。これは、1つのグループ要素のみを含む、特に記憶効率の良い署名の例である。上記の和を用いることに対する様々な代替形態、例えば秘密レコード識別子のダイジェストとメッセージのダイジェストとの和等が当業者には明らかであろう。
一実施形態では、発行者デバイスは更に、複数のデータエントリのうちの1つについて更新されたデータを取得するように構成される。発行者デバイスは、この更新されたデータエントリのためのデータメッセージの更新されたデジタル署名を生成する。次に、発行者デバイスは、更新されたデジタル署名をセレクタデバイスに提供する。このようにして、発行者デバイスは、一度に1つのデータエントリ単位でレコードを動的に更新する。興味深いことに、エントリはそれぞれのデジタル署名において署名されるため、計算及び通信の複雑度の観点で、単一のデータエントリの更新は良好にスケーリングし、例えば、全てのデータエントリにわたる署名が再計算される必要がない等である。
また、データエントリの更新と同様に、データエントリは、例えば発行者デバイスによって、追加されたデータエントリ及び署名をセレクタデバイスに提供し、セレクタデバイスがレコードを更新することによってレコードに追加されるか、又は発行者デバイスによって、例えば、いずれのデータエントリを除去するかをセレクタデバイスに示し、次にセレクタデバイスがレコードを更新することによってレコードから除去される。また、これらの動作は、別個のデータエントリについての別個の署名に起因して効率的に実施される。発行者デバイスが、例えば属性の更新されたセット、又は1つ又は複数の属性の変更を、属性メッセージにおける更新されたデジタル署名と共にセレクタデバイスに提供し、次にセレクタデバイスがレコードを更新することによって、レコードの属性のセットを更新することも可能である。また、この動作は、データエントリが関与する必要がないため、効率的に実施される。
様々な実施形態では、セレクタデバイスは、複数のレコード、例えば単一の発行者デバイスからの複数のレコード、複数の発行者デバイスからの複数のレコード等を取得する。このため、セレクタデバイスは、受信機デバイスに複数のレコードへのアクセスを提供するためのシステム、例えば、データを選択し、受信者、例えばゲノムデータに対する研究を行うことを望む医療研究者に提供する集中型アクセスポイントとして動作する。
一実施形態では、発行者デバイスは、レコードクエリを取得し、レコードクエリに従って、開示される複数のレコードのうちの1つ又は複数を選択するように構成される。例えば、受信機デバイスがレコードクエリを提供するか、又はレコードクエリは、他の形で決定される。通常、レコードクエリは、レコードについて満たされるべき1つ又は複数の条件を提供する。例えば、発行者デバイスは、条件を満たす全てのレコード、例えば条件を満たす最初X個のレコード、条件を満たすX個のランダムなレコード等を選択する。例えば、条件は、属性に対する条件であり、例えば、条件は、属性が特定の値又は別の属性に等しいこと、属性が特定の範囲内にあること等を宣言する。また、条件は、データエントリに対する条件、例えば特定のデータ、例えば特定の突然変異を有するゲノムを含むデータエントリの存在とすることができる。次に、発行者デバイスは、例えば、1つ又は複数の選択されたレコードの各現在のレコードについて、開示される属性の決定、現在のレコードの属性及びデータエントリの提供、及びゼロ知識証明の実行を繰り返すことによって、選択されたレコードの各現在のレコードについての属性及びデータエントリを選択的に開示する。このようにして、受信機デバイスは、この特定の使用に関連するレコードを受信する。
一実施形態では、セレクタデバイスは、受信機デバイスに対し、現在のレコードのゼロ知識証明を用いて、現在のレコードがレコードクエリを満たすことを証明する。例えば、レコードクエリは、受信機に提供されない属性に対する条件、例えば年齢>65を含む。ゼロ知識証明を用いて、そのような条件が成り立つことが証明される。それ自体が受信機デバイスに提供されないデータエントリの特性を証明することも可能である。開示される属性及びデータエントリに対する条件は、典型的には、受信機がそれらを知っているため、ゼロ知識において証明される必要がない。また、レコードクエリ全体を証明することは厳密には必要なく、例えば、効率性の理由により、レコードクエリに最も関連する条件のみが証明される。興味深いことに、ゼロ知識証明によって、受信機デバイスは、自身が受信するレコードがレコードクエリを満たすこと、例えば年齢が65歳を超えていたことの保証を、詳細、例えば正確な年齢を学習することなく受信する。したがって、データ最小化及び真正性の特に有利な組合せが得られる。
一実施形態では、セレクタデバイスは更に、例えば受信デバイスから受信されるか又は他の形で決定されるデータエントリクエリを取得する。セレクタデバイスは、データエントリクエリに従って、開示される1つ又は複数のデータエントリを決定する。例えば、データエントリクエリは、データエントリについて満たすべき1つ又は複数の条件を指定し、含めるべき1つ又は複数の特定のデータエントリ、例えば特定のロケーションにおけるゲノムデータを指定する等である。このようにして、いずれのデータエントリを提供するかを制御することが可能である。類似の手法を用いて、いずれの属性を開示するかを決定する。
当然ながら、いずれのレコード及び/又はレコードの一部が開示されるかを制御するためのレコードクエリ及び/又はデータエントリクエリの使用は、セレクタデバイスが、受信機デバイスに開示されるデータに対するチェックを行う可能性を除外せず、例えばセレクタデバイスは、受信機デバイスに開示されるレコードのセットの属性及びデータエントリが、特定のデータ最小化特性、例えばk匿名性等のプライバシ特性を満たすことのチェックを実行する。
一実施形態では、ゼロ知識証明は、セレクタデバイスが、秘密レコード識別子に対するコミットメントを受信機デバイスに提供し、コミットメントに関するデジタル署名の知識を証明することを伴う。例えば、コミットメントは、当該技術分野において知られているPedersen型コミットメントである。受信機デバイスにコメントを提供することにより、受信機デバイスが、これらのデジタル署名の各々がコメントと同じ秘密レコード識別子を含む限り、同じ秘密識別子がそれぞれのデジタル署名に含まれることを効率的に確立することが可能になる。
一実施形態では、ゼロ知識証明は、セレクタデバイスによって決定及び送信され、受信機デバイスによって受信及び検証される非対話型ゼロ知識証明である。これにより、必要な通信量が低減し、かつ/又は両者が同時にオンラインでないときのデータ転送が可能になる。
本明細書に記載の技法は、広範囲の実用的用途に適用される。このような実用的用途は、例えば医療又は金融状況において研究者に脱匿名化データセットを提供するためのプラットフォームを含む。例えば、そのようなプラットフォームは、複数の病院又は外部サービスプロバイダによって運用される。より一般的には、レコード、特にデータエントリのフレキシブルな又は大きなセットを含むレコードの一部の選択的開示が必要とされる任意のタイプの用途が本明細書に記載の技法から利益を受ける。
方法の一実施形態は、コンピュータ実施方法として、又は専用ハードウェアで、又はそれら両方の組合せで、コンピュータ上で実施される。方法の一実施形態の実行可能なコードは、コンピュータプログラム製品に格納される。コンピュータプログラム製品の例は、メモリデバイス、光ストレージデバイス、集積回路、サーバ、オンラインソフトウェア等を含む。好ましくは、コンピュータプログラム製品は、上記プログラム製品がコンピュータで実行される場合に方法の一実施形態を実行するための、コンピュータ可読媒体に格納される非一時的なプログラムコードを含む。
一実施形態では、コンピュータプログラムは、コンピュータプログラムがコンピュータで実行される場合に、方法の一実施形態の全てのステップを実行するようになっているコンピュータプログラムコードを含む。好ましくは、コンピュータプログラムは、コンピュータ可読媒体で具現化される。
本発明の別の態様は、コンピュータプログラムをダウンロードに利用可能にする方法を提供する。この態様は、コンピュータプログラムが、例えば、Apple社のApp Store、Google社のPlay Store、又はMicrosoft社のWindows Storeにアップロードされる場合であって、コンピュータプログラムがそのようなストアからダウンロードするために利用可能である場合に使用される。
本発明の更なる詳細、態様、及び実施形態が、単なる例として、図面を参照して説明される。図中の要素は、簡略化及び明確化のために示されており、必ずしも縮尺通りに描かれてはいない。図面において、既に説明された要素に対応する要素は、同じ参照番号を有する。
ゼロ知識証明を伴わない選択的開示システムの例を概略的に示す。 選択的開示システムの一実施形態の例を概略的に示す。 発行者デバイスの一実施形態の例を概略的に示す。 セレクタデバイスの一実施形態の例を概略的に示す。 受信機デバイスの一実施形態の例を概略的に示す。 発行者方法の一実施形態の例を概略的に示す。 セレクタ方法の一実施形態の例を概略的に示す。 受信機方法の一実施形態の例を概略的に示す。 一実施形態によるコンピュータプログラムを含む書込み可能な部分を有するコンピュータ可読媒体を概略的に示す。 一実施形態によるプロセッサシステムの表現を概略的に示す。
参照符号のリスト
000、100 選択的開示システム
010、110、210 発行者デバイス
011、111、311 セレクタデバイス
012、112、412 受信機デバイス
130、131、132 メモリ
140、141、142 プロセッサ
150、151、152 ネットワークインタフェース
160 コンピュータネットワーク
070、170、270 発行者秘密鍵
071、171、471 発行者公開鍵
072、172、272、372 レコード
173、273、373 秘密レコード識別子
174、374、474 ゼロ知識証明
075 開示された属性及びデータエントリのデジタル署名
180、280、380 属性メッセージのデジタル署名
081~084、181~184、281~282、381~384、483~484 属性
091~093、191~193、291~292、391~393、493 データエントリ
191’~192’、291’~292’、393’ データメッセージのデジタル署名
241 識別子生成ユニット
242 属性署名ユニット
243 データエントリ署名ユニット
341 選択ユニット
342 証明ユニット
441 検証ユニット
800 コンピュータ可読媒体
810 書込み可能部分
820 コンピュータプログラム
910 集積回路
920 処理ユニット
922 メモリ
924 専用集積回路
926 通信要素
930 相互接続
940 プロセッサシステム
本発明は、多くの異なる形態の実施形態を可能とするが、1つ又は複数の特定の実施形態が図示されて、本明細書において詳細に説明される。本開示は、本発明の原理の例示としてみなされるべきであり、図示されて説明される特定の実施形態に本発明を限定するようには意図されていないことを理解されたい。
以下では、理解のために、動作中の実施形態の要素が説明されている。しかしながら、それぞれの要素は、それらによって実行されるように説明される機能を実行するようになっていることは明らかであろう。
更に、本発明は実施形態に限定されず、本発明は、本明細書に記載の、又は相互に異なる従属請求項に記載されたあらゆる新規な特徴又は特徴の組合せに見出される。
図1aは、現行の最良の実施による、レコードの属性及びデータエントリを選択的に開示するためのシステム000の例を示す。システム000は、請求項に記載の属性メッセージ及びデータメッセージ署名も、ゼロ知識証明も使用しない。
セレクタデバイス011、例えばゲノミクスプラットフォームが、レコード072の一部分を選択的に開示することを可能にすることを望む発行者デバイス010が図に示されている。図に示す特定のレコード072は、属性の所定のセット081~082、例えば表現型データ、及びデータエントリのセット091~092、例えば遺伝子型データのための値を含む。発行者デバイス010は、レコードをセレクタデバイス011に提供する。
セレクタデバイス011がレコード011の一部分を受信機デバイス012に選択的に開示することを望むとき、セレクタデバイスは、受信機デバイス012に開示される、属性081~082のうちの1つ又は複数、この場合は属性083及び084と、データエントリ091~092のうちの1つ又は複数、この場合はデータエントリ093とを選択する。受信機デバイス012は、開示される属性083、084及びデータエントリ093を受信する。
ここまでのステップは選択的開示を提供し、例えば、レコードの一部分のみが受信機デバイス012によって取得されるが、真正性はまだ提供されておらず、例えば、受信機デバイス012は、受信した属性及びデータエントリが信頼された発行者デバイス010から到来したこと、及び/又は受信した属性及びデータエントリが同じレコードに属すること、例えば全てが同じ人物を参照することの保証を得ていない。最新技術を用いてそのような保証を得るために、デジタル署名075が利用される。この例におけるデジタル署名075は、従来の署名、例えばRSA又はECDSA署名である。図面及び本明細書全体にわたって採用される表記S(X;Y)は、メッセージYにおける秘密鍵Xを用いた署名を示す。開示の時点において、発行者デバイス010は、例えばセレクタデバイス011によりプロンプトされて、開示される属性及びデータエントリにおける、発行者秘密鍵070を用いて署名されたデジタル署名075を受信機デバイス012に提供する。受信機デバイス012は、発行者秘密鍵070に対応する発行者公開鍵071に対しデジタル署名075を検証する。デジタル署名は、典型的には、メッセージ復元を伴わず、例えば、メッセージは署名から導出されず、代わりに、署名及びメッセージが合わせて公開鍵071に対し検証される。
上記のシステムは、真正性保証を有する選択的開示を提供することができるが、発行者デバイス010が各選択的開示に関与する必要があるという望ましくない特性を有する。これは、厄介であり、多くの場合コストが高く、場合によっては可能でなく、例えば、発行者デバイス010又はその組織が既に存在しない場合がある。したがって、以下で対処される問題は、同程度の真正性保証を有するが、発行者デバイスが選択的開示に関与する必要がないような方式の選択的開示を如何に行うかである。
図1bは、レコード172の属性及びデータエントリを選択的に開示するためのシステム100の一実施形態の例を概略的に示す。システム100は、発行者デバイス100、セレクタデバイス111及び/又は受信機デバイス112を備える。
発行者デバイス110は、選択的開示のためにレコード172をセレクタデバイス111に提供するためのものである。発行者デバイス110は、プロセッサ130及びメモリ140を備える。メモリ140は、データ及び/又は命令記憶のために用いられる。例えば、メモリ140は、プロセッサ130がそれに対し動作するように構成されるソフトウェア及び/又はデータを含む。メモリ140は、対応する発行者公開鍵171と公開鍵/秘密鍵ペアを形成する発行者秘密鍵170も記憶する。メモリ140は、レコード172も記憶する。レコード172は1つ又は複数の属性181-182及び複数のデータエントリ191-192を含む。単なる例として、2つの属性及び2つのデータエントリが示される。プロセッサ130は、1つ又は複数のプロセッサ回路、例えばマイクロプロセッサ、ASIC、FPGA等として実施される。メモリ140は、プロセッサ130によって実行可能なコンピュータプログラム命令を含む。プロセッサ130は、場合によってはメモリ140と共に、発行者デバイスの一実施形態に従って構成される。発行者デバイス110は、他のデバイス、特にセレクタデバイス111と通信するようになっている通信インタフェース150も備える。例えば、通信インタフェースは、コネクタ、例えば有線コネクタ、例えばイーサネットコネクタ、又は無線コネクタ、例えばアンテナ、例えばWi-Fi、4G又は5Gアンテナを含む。通信インタフェースは、内部又は外部データストレージ、キーボード、アプリケーションインタフェース(API)等に対するストレージインタフェースでもある。
発行者デバイス110は、秘密レコード識別子173を決定するように構成される。発行者デバイス110はまた、発行者秘密鍵170を用いて属性メッセージのデジタル署名180を生成するように構成され、属性メッセージは、1つ又は複数の属性181-182及び秘密レコード識別子173を含む。発行者デバイス110はまた、発行者秘密鍵170を用いて、複数のデータエントリ191-192のための複数のデータメッセージの複数のデジタル署名191’ -192’を生成するように構成される。データエントリ191-192のためのデータメッセージは、データエントリ及び秘密レコード識別子173を含む。発行者デバイス110は、レコード172、秘密レコード識別子173、属性メッセージのデジタル署名180及びデータメッセージのデジタル署名191’-192’をセレクタデバイス111に提供するように構成される。
図面に示し、本明細書全体を通じて用いられているように、S(X;Y)及びS(X;Y)は、メッセージYの、秘密鍵Xを用いて署名されたデジタル署名を参照するのに用いられる。下付き文字によって示されるように、署名180及び署名191’-192’について異なるデジタル署名方式を用いることができるが、これは必須ではない。デジタル署名は通常、メッセージ復元を伴わず、例えば、デジタル署名は、秘密鍵に対応する公開鍵を用いてメッセージと共に検証される。
セレクタデバイス111は、レコード172の属性及びデータエントリを受信機デバイス112に選択的に開示するためのものである。セレクタデバイス111は、プロセッサ131及びメモリ141を備える。メモリ141は、データ及び/又は命令記憶のために用いられる。例えば、メモリ141は、プロセッサ131がそれに対し動作するように構成されるソフトウェア及び/又はデータを含む。メモリ141は、レコード172、秘密レコード識別子173、属性メッセージのデジタル署名180及び/又はデータメッセージのデジタル署名191’192’も記憶する。プロセッサ131は、1つ又は複数のプロセッサ回路、例えばマイクロプロセッサ、ASIC、FPGA等として実施される。メモリ141は、プロセッサ131によって実行可能なコンピュータプログラム命令を含む。プロセッサ131は、場合によってはメモリ141と共に、セレクタデバイスの一実施形態に従って構成される。セレクタデバイス111は、他のデバイス、特に発行者デバイス110及び受信機デバイス112と通信するようになっている通信インタフェース151も備える。例えば、通信インタフェースは、コネクタ、例えば有線コネクタ、例えばイーサネットコネクタ、又は無線コネクタ、例えばアンテナ、例えばWi-Fi、4G又は5Gアンテナを含む。通信インタフェースは、内部又は外部データストレージ、キーボード、アプリケーションインタフェース(API)等に対するストレージインタフェースでもある。
セレクタデバイス111は、レコード172、秘密レコード識別子173、属性メッセージのデジタル署名180及びデータメッセージのデジタル署名191’-192’を取得するように構成される。セレクタデバイス111は更に、1つ又は複数の属性181-182のサブセットとして開示される1つ又は複数の属性を決定するように構成される。単なる例として、図面は開示される2つの属性183~184を示す。セレクタデバイス111は更に、複数のデータエントリ191及び192のサブセットとして開示される1つ又は複数のデータエントリを決定するように構成される。例として、開示される単一のデータエントリ193が示される。セレクタデバイス111は、開示される1つ又は複数の属性183、184及び開示される1つ又は複数のデータエントリ193を受信機デバイス112に提供するように構成される。
セレクタデバイス111は更に、受信機デバイス112とゼロ知識証明174を行うように構成される。ゼロ知識証明は、ここでは、セレクタデバイス111から受信機デバイス112に送信されるメッセージ、例えば非対話型ゼロ知識証明として示されるが、これは必須ではなく、例えば、ゼロ知識証明は、関係者間で交換される複数のメッセージを含む。
図面及び本明細書全体にわたって用いられるように、表記ZK(X;Y)は、値Yに対し値Xが特定の特性を満たすことのゼロ知識証明を表す。例えば、値Xは、いわゆるゼロ知識証明のいわゆる証人に含まれる。証明者は、典型的には値Xを用いて証明を実行し、検証者は、典型的には値Yを用いて証明を検証する。
ゼロ知識証明において、セレクタデバイスは、
- 秘密レコード識別子173と、
- 発行者公開鍵171に対応する秘密鍵で署名された、少なくとも、開示される1つ又は複数の属性183-184及び秘密レコード識別子を含むメッセージのデジタル署名としての、属性メッセージのデジタル署名180と、
- 発行者公開鍵172に対応する秘密鍵で署名された、開示されるデータエントリ193を含み、各々が秘密レコード識別子を含むメッセージのデジタル署名としての、開示されるデータエントリ193のためのデータメッセージのデジタル署名191’-192’と、
の知識を証明する。
受信機デバイス112は、セレクタデバイス111からレコード172の属性183-184及びデータエントリ193を選択的に取得するためのものである。受信機デバイス112は、プロセッサ132及びメモリ142を備える。メモリ142は、データ及び/又は命令記憶のために用いられる。例えば、メモリ142は、プロセッサ132がそれに対し動作するように構成されるソフトウェア及び/又はデータを含む。メモリ142は、発行者公開鍵171も記憶する。プロセッサ132は、1つ又は複数のプロセッサ回路、例えばマイクロプロセッサ、ASIC、FPGA等として実施される。メモリ142は、プロセッサ132によって実行可能なコンピュータプログラム命令を含む。プロセッサ132は、場合によってはメモリ142と共に、受信機デバイスの一実施形態に従って構成される。受信機デバイス112は、他のデバイス、特にセレクタデバイス111と通信するようになっている通信インタフェース152も備える。例えば、通信インタフェースは、コネクタ、例えば有線コネクタ、例えばイーサネットコネクタ、又は無線コネクタ、例えばアンテナ、例えばWi-Fi、4G又は5Gアンテナを含む。通信インタフェースは、内部又は外部データストレージ、キーボード、アプリケーションインタフェース(API)等に対するストレージインタフェースでもある。
受信機デバイス112は、セレクタデバイス111から1つ又は複数の属性183及び184並びに1つ又は複数のデータエントリ193を取得するように構成される。受信機デバイス112は更に、取得した値183-184及びデータエントリ193、並びに発行者公開鍵174に関してセレクタデバイス111とゼロ知識証明を実行し、取得した値183-184及びデータエントリ193が発行者デバイス110のレコード172に属することを確認するように構成される。
システム100の様々なデバイスは、コンピュータネットワーク160を介して互いに通信する。コンピュータネットワークは、インターネット、イントラネット、LAN、WLAN等である。コンピュータネットワーク160はインターネットである。コンピュータネットワークは、完全に若しくは部分的に有線であり、かつ/又は完全に若しくは部分的に無線である。例えば、コンピュータネットワークはイーサネット接続を含む。例えば、コンピュータネットワークは、Wi-Fi、ZigBee等の無線接続を含む。コンピュータネットワーク160は、追加の要素、例えばルータ、ハブを含む。
図1の様々なデバイスは、それぞれのユーザインタフェースを有し、これは、1つ又は複数のボタン、キーボード、ディスプレイ、タッチスクリーン等の知られている要素を含む。例えば、受信機デバイス112のユーザインタフェースは、特定のレコード及び/又はデータエントリクエリを満たすレコードの一部を取得するためのユーザインタラクションに対応するようになっている。
図2は、例えば図1bのシステム100において用いるための、選択的開示のためにレコードをセレクタデバイスに提供するための発行者デバイス210の一実施形態の例を概略的に示す。
図2は、発行者デバイス210のプロセッサの機能ユニットである機能ユニット(別個に示されていない)を概略的に示す。例えば、図2は、プロセッサの可能な機能的組織の設計図として用いられる。例えば、図2に示す機能ユニット、例えばユニット241~243は、デバイス210に、例えばデバイス210の電子メモリに記憶されるコンピュータ命令において全体的に又は部分的に実施され、デバイス210のマイクロプロセッサによって実行可能である。混成の実施形態では、機能ユニットは、一部がハードウェアで、例えばコプロセッサとして実施され、一部が、デバイス210に記憶されデバイス210において実行されるソフトウェアで実施される。説明のために、図2は、様々な動作段階においてデバイス210によって記憶される様々な要素も示す。
1つ又は複数の属性281~282及び複数のデータエントリ291~292を含むレコード272が図に示されている。例えば、レコード272はゲノムレコードである。そのような場合、属性281~282は、人物の表現型属性、例えば、年齢、BMI、1つ又は複数の病状の診断を示すフラグ等のうちの1つ又は複数を含む。この例において、属性は、整数、又は整数として符号化される他のタイプの値である。整数は、典型的には、範囲0,...,N-1にあり、ここで、値Nは、以下で論考されるような、用いられる署名方式によって定義される。データエントリ291~292は、人物のゲノム部分を含む。
説明のための例として、レコード272のデータエントリは、人物のゲノムの一塩基多型(SNP)を表す。例えば、レコード272は、バリアントコールフォーマット(VCF)ファイルから導出されるか、又はVCFファイルによって符号化される。バイオインフォマティクスにおいて知られているように、VCFファイルを用いて、参照ゲノムに対する遺伝子配列の変異が記憶される。任意選択で、VCFファイルは、表現型情報も記憶することができる。VCFファイルの一部分が以下に示される。
Figure 0007219740000001
例えば、上記で示したようなVCFファイルに対応するレコードの場合、レコードのデータエントリは、VCFファイルの行に対応する。例えば、データエントリは、VCFファイルの行を表す文字列である。
識別子生成ユニット241が図に更に示されている。識別子生成ユニット241は秘密レコード識別子273を生成する。通常、秘密レコード識別子273は、例えば属性281~282と同じ範囲0,...,N-1からの整数である。他のデバイスに対し予測不可能になるように大きな領域からランダムに秘密レコード識別子273を生成し、例えば他のデバイスにより生じる、識別子間の衝突の確率を最小限にすることが有利である。例えば、識別子生成ユニット241は、少なくとも230、少なくとも262、又は2126個の可能な値からランダムに秘密レコード識別子273を生成する。
発行者デバイス210によって生成されるか又は他の形で取得される発行者秘密鍵270も図示されている。発行者秘密鍵270は、以下で論考されるデジタル署名280、291’~292’を生成するのに用いられるデジタル署名方式と互換性のある任意の種類の秘密鍵とすることができる。
属性署名ユニット242が更に図示されている。属性署名ユニット242は、発行者秘密鍵270を用いて属性メッセージのデジタル署名280を生成する。属性メッセージは、1つ又は複数の属性281~282及び秘密レコード識別子273を含む。他の箇所で論考されるように、原則的に任意の署名方式Sを用いることができるが、デジタル署名280が匿名証明書であることが特に有利であり、換言すれば、署名生成が、匿名証明書を生成するアルゴリズムであることが有利である。秘密レコード識別子273は匿名証明書の属性として用いられる。
具体的な例として、上述した論文「Signature schemes and anonymous credentials from bilinear maps」及び「An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials」からの匿名証明書方式を用いて、属性mの順序付けされたリストを与えられると、署名は4つ組(c,s,γ,σ)となり、ここで、属性署名ユニット242は、値c、s及びγをランダムに生成し、σを以下のように計算する。
Figure 0007219740000002
ここで、xは関連付けられた公開鍵yが受信機デバイスによって信頼される秘密鍵273である。Hは、素数位数qのグループGの生成元hの集合であり、
Figure 0007219740000003
及びhについても同様である。ここで、γ273は、この表記において署名の一部とみなされる秘密レコード識別子である。興味深いことに、
Figure 0007219740000004
は、秘密レコード識別子γを署名に含めるのに用いられグループGの生成元である。
データエントリ署名ユニット243も示される。データエントリ署名ユニット243は、発行者秘密鍵270を用いて、複数のデータエントリ291~292のための複数のデータメッセージの複数のデジタル署名291’292’、例えばデータエントリごとの署名を生成する。上記で論考したように、署名方式Sのための様々な選択が可能であり、これには、属性メッセージにも用いられた署名方式Sを用いることが含まれる。この場合、データメッセージは、2つの属性、すなわち秘密レコード識別子及びデータエントリ又はそのダイジェストを含む属性メッセージとみなされる。署名方式Sは、好ましくは、署名方式Sの秘密鍵と互換性のある秘密鍵を用いるが、秘密鍵270は、方式S及びSのそれぞれの秘密鍵のペアであってもよい。
データエントリのためのデータメッセージは、データエントリm291~292及び秘密レコード識別子γ273を含む。特に、データメッセージのデジタル署名は、少なくとも、秘密レコード識別子γと、データエントリのダイジェストH(m)、例えばデータエントリ、例えばVCFファイルの行のSHA256ハッシュとの和γ+H(m)に基づく。論考されるように、そのような和は、受信者がシステムにおいて用いられている現在の秘密識別子γ及び別の秘密識別子について同じ和γ+H(m)をもたらす別のメッセージm’を見つけるのが困難であるという意味で、署名を秘密レコード識別子γ及びメッセージmの双方に効果的に結合する。
データ署名ユニット243は、グループ要素gを、値の乗法逆元で累乗した値を計算することによって、デジタル署名291’、292’を生成する。ここで、値は、上記で論考したように、少なくとも、発行者秘密鍵x270、秘密レコード識別子γ273及びデータエントリ291~292、例えば和γ+H(m)に基づく値x+γ+H(m)に基づく。例えば、データエントリmのための署名Sは以下のように計算される。
Figure 0007219740000005
乗法逆元での累乗をデジタル署名として用いることの一般的概念自体は、D.Boneh他「Short signatures without random oracles and the SDH assumption in bilinear groups」J. Cryptology, 21(2):149-177, 2008から知られている。しかしながら、興味深いことに、上記の署名Sにおいて、以前にσに埋め込まれていた秘密レコード識別子γは、ここで署名にも含まれる。したがって、署名S及びσは共に連結することができ、セレクタデバイスが、発行者デバイス210が同じレコード272の一部としてこれらの署名を生成したことを証明することを可能にする。
発行者デバイス210は更に、レコード272、秘密レコード識別子273、属性メッセージのデジタル署名280、及びデータメッセージのデジタル署名291’~292’をセレクタデバイスに提供し、例えばこれらを通信インタフェース(図示せず)を介して送信することができる。
これまで、署名プロセスは単一のレコード272に関して論考されてきたが、同じユニット241~243は、複数のレコードについてそれぞれの秘密識別子及び署名のセットを生成するのにも用いられる。また、発行者デバイス210は、ユニット242、243に新たな属性メッセージ署名又はデータメッセージ署名を適宜決定させることによって、データエントリを追加するか、データエントリを更新するか、又はレコードの属性を更新する。例えば、発行者デバイス210は、データエントリ、例えばデータエントリ292のための更新されたデータを取得し、更新されたデータエントリ292のためのデータメッセージの更新されたデジタル署名292’を生成し、更新されたデジタル署名292’をセレクタデバイス210に提供し、他の変更についても同様にする。
図3は、例えば図1bのシステム100において用いるための、レコード372の属性及びデータエントリを受信機デバイスに選択的に開示するためのセレクタデバイス311の一実施形態の例を概略的に示す。
図3は、セレクタデバイス311のプロセッサの機能ユニットである機能ユニット(別個に示されていない)を概略的に示す。例えば、図3は、プロセッサの可能な機能的組織の設計図として用いられる。例えば、図3に示す機能ユニット、例えばユニット341~342は、デバイス311に、例えばデバイス311の電子メモリに記憶されるコンピュータ命令において全体的に又は部分的に実施され、デバイス311のマイクロプロセッサによって実行可能である。混成の実施形態では、機能ユニットは、一部がハードウェアで、例えばコプロセッサとして実施され、一部が、デバイス311に記憶されデバイス311において実行されるソフトウェアで実施される。説明のために、図3は、様々な動作段階においてデバイス311によって記憶される様々な要素も示す。
1つ又は複数の属性381~382を含み、複数のデータエントリ391~392を含むレコード372と、秘密レコード識別子370と、発行者秘密鍵を用いて生成された属性メッセージのデジタル署名380であって、属性メッセージは1つ又は複数の属性381~392及び秘密レコード識別子370を含む、属性メッセージのデジタル署名と、発行者秘密鍵を用いて生成されたデータメッセージのデジタル署名393’であって、データエントリのためのデータメッセージは、データエントリ及び秘密レコード識別子370を含む、データメッセージのデジタル署名とが図に示されている。図には示していないが、デバイス311は通常、データエントリ391~392ごとにそれぞれのデジタル署名を記憶する。例えば、レコード、秘密レコード識別子及びデジタル署名は、図2のものに対応する。例えば、このデータは発行者デバイスから取得される。
選択ユニット341も図示されている。選択ユニット341は、受信機デバイスに開示される1つ又は複数の属性を、1つ又は複数の属性の381~382のサブセットとして決定し、受信機デバイスに開示される1つ又は複数のデータエントリを、複数のデータエントリ391~392のサブセットとして決定する。この特定の例では、属性383、384及びデータエントリ393が選択される。開示される属性及びデータエントリは、例えば受信機デバイスによって提供される、データエントリクエリに基づいて決定され、例えばデータエントリクエリは、開示される特定のデータエントリ、及び/又はデータエントリを選択するための基準を示し、属性についても同様にする。それに加えて、選択ユニット341は、受信機デバイスによって提供されていない基準及び/又はチェック、例えば発行者デバイスによってレコードと共に提供された、例えばプライバシポリシーに基づいて選択を行う。
証明ユニット342が更に示されている。証明ユニット342は、受信機デバイスとのゼロ知識証明374を行うことができる。暗号学において知られており、他の箇所で論考されているように、ゼロ知識証明は、証明者に、検証者に対しステートメントを証明させるためのものである。ゼロ知識証明は、好ましくは、完全性、健全性及びゼロ知識の特性を満たす。
完全性とは、ステートメントが真である場合、プロトコルに従う証明者が、プロトコルに従う検証者を確信させることを意味する。健全性とは、ステートメントが偽である場合、不正な証明者が、プロトコルに従う検証者を確信させることができる可能性が低いことを意味する。知識の証明の場合、完全性とは、ステートメントが真であるのみでなく、証明者が、ステートメント内に生じる証人と呼ばれる特定の値を知っていることも意味する。完全性は通常、不正な検証者が検証者を確信させることに成功する特定の健全性のエラーまで成り立つ。しかしながら、ゼロ知識証明は、健全性のエラーを低減するためにプロトコルの複数のインスタンスを含む。ゼロ知識は、検証者が、ステートメントが真であること以外の証明から情報を学習しないことを意味する。ゼロ知識は計算及び/又は統計によるものである。
この場合、セレクタデバイスは、ゼロ知識証明374を用いて、秘密レコード識別子373と、発行者公開鍵に対応する秘密鍵で署名された、少なくとも、開示される1つ又は複数の属性383、384及び秘密レコード識別子373を含むメッセージのデジタル署名としての、属性メッセージのデジタル署名380と、発行者公開鍵に対応する秘密鍵で署名された、開示されるデータエントリ393を含み、各々が秘密レコード識別子373を含むメッセージのデジタル署名としての、開示されるデータエントリ393のためのデータメッセージのデジタル署名393’との知識を証明する。換言すれば、ゼロ知識証明の証人は、秘密レコード識別子及び署名を含み、それらの有効性がその値に対し証明される公開値は、属性383、384、データエントリ393’及び発行者公開鍵を含む。
特に、受信機デバイスに秘密レコード識別子を開示することなく、署名380、393’が各々同じ秘密レコード識別子373を含むことを証明するために、証明ユニット342は、秘密レコード識別子に対するコミットメント、例えばPedersen型コミットメントを構築し、これを受信機デバイスに提供する。したがって、ゼロ知識証明374は、同じ秘密レコード識別子373が各署名に及びコミットメントに含まれることを証明する。様々な種類のゼロ知識証明及び署名方式について、これは、共通秘密識別子の存在を証明する効率的な方式である。
多くの異なるタイプのゼロ知識証明が当該技術分野において知られており、容易に適用される。これは例えば、Schnorrプロトコル等のΣプロトコル、例えばFiat-Shamirヒューリスティックによって対話型ゼロ知識プロトコルから取得された非対話型ゼロ知識証明、ゼロ知識の簡潔で非対話型の知識のアーギュメント(zk-SNARK)等である。
しかしながら、汎用的技法に頼るのではなく、署名の知識の効率的な証明を認める、属性のための署名方式S及びデータエントリのための署名方式Sが用いられる場合、特に有利である。例えば、署名方式S及び/又はSを、匿名証明書方式、例えば、上記で論考したCamenisch他による方式に基づかせることが有利であり得る。なぜなら、これらは効率的なゼロ知識証明が行われることを認めるためである。データエントリの署名Sについて、グループ要素の、乗法逆元での累乗の原理に基づく署名の使用も特に効率的である。なぜなら、ここでもまた、これは効率的なゼロ知識証明を認めるためである。
ここで、以下の形式
Figure 0007219740000006
の属性署名380、及び以下の形式
Figure 0007219740000007
のデータエントリ署名393’に基づく特に有利な実施態様が詳細に論考される。
ここで、ゼロ知識証明は、反復的証明として提示されるが、例えばFiat-Shamirヒューリスティックを用いて非対話型で行うことができることが理解される。証明は、属性値の特性を証明する、例えばレコードがレコードクエリ、例えば30≦BMI≦40を満たすことを証明するように拡張することもできる。複数のレコードに関する証明は、並列に行うこともでき、かつ/又は知られている技法を用いて1つの非対話型ゼロ知識証明に組み合わせることもできる。
詳細には、この例において、証明ユニット342は、秘密レコード識別子γに対するコミットメント
Figure 0007219740000008
を、生成元
Figure 0007219740000009
及びランダムに生成された値tについて構築する。コミットメントは受信機デバイスに提供される。
ゼロ知識証明の第1の部分において、証明ユニット342は、署名380の知識を、上記のコミットメントXに対応し公開鍵y=hに対応する秘密鍵xで署名された、開示される1つ又は複数の属性及び秘密レコード識別子を含むメッセージの署名として証明する。例えば、J.Camenisch他「An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials」Proceedings PKC ’09に記載されているようなCamenisch-Stadlerの表記を用いると、ゼロ知識証明の第1の部分を用いて以下を証明することができる。
Figure 0007219740000010
ここで、
Figure 0007219740000011
は、証明ユニット342によって生成され、受信機デバイスに提供された、ランダム値pを用いた署名σのブラインド処理である。
Figure 0007219740000012
は、開示される属性にわたって合算するのに対し、
Figure 0007219740000013
は、開示されない属性にわたって合算し、任意選択でハッシュ等として符号化される。
上記において、eを用いて暗号学的ペアリング、例えば当該技術分野において知られている256ビットBarreto-Naehrig(BN)曲線にわたるペアリング等のタイプ3楕円曲線ペアリングを表す。BN曲線にわたるペアリングは、正式には以下のように表される:e(G×G)→G。上記で用いられる様々な生成元、例えばHの生成元、導入された生成元
Figure 0007219740000014
等は、例えば、点に遭遇するまでGのベース生成元をハッシングして、nothing-up-my-sleeves方法で生成されたGの生成元である。これらの選択を用いると、例えば、データエントリ署名393’は32バイトにすぎない。
ゼロ知識証明の第2の部分では、以下が証明され、
Figure 0007219740000015
例えば、コミットメントXにおける秘密識別子の知識が証明される。上記の証明は、それ自体が例えば米国特許出願US4995082Aに開示されているSchnorr証明に基づく、J.Camenisch他「An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials」に論考されている証明の適切な適合により実行される。興味深いことに、上記の証明は、コミットメントXが署名380、393’における秘密レコード識別子γにマッチする必要があるという点で、Camenischのゼロ知識証明から逸脱している。したがって、不正者が単一の開示において複数のレコードにわたって署名を組み合わせることができない。
この点において、ゼロ知識証明の上記の部分において、データエントリ、例えばゲノム情報ではなく、属性、例えば表現型データのみが用いられることが観測される。したがって、これらの部分は、データエントリ数でスケーリングしない。
ゼロ知識証明の別の部分において、データエントリ393及び秘密レコード識別子370を含むメッセージのデジタル署名393’の知識が証明される。ゼロ知識証明のこの部分は、Boneh-Boyen署名にわたる、知られているゼロ知識証明のベクトル化されたバージョンを、秘密レコード識別子を含めるように適合させることによって取得される。ゼロ知識証明のこの部分は、データエントリ単位で機能する。例えば、開示されるデータエントリごとに、受信機デバイスは、データエントリがレコードに対応することの証明を得る。したがって、証明が、全てが同じ署名に含まれる場合等に当てはまるように、開示されないデータエントリに対してではなく、開示されるデータエントリに対してのみ行われ、更に、Camenisch型署名に対する比較的コストの高い証明を用いるのではなく、Boneh-Boyen型署名に対する、より効率的な署名が用いられるため、効率的な解決策が得られる。
詳細には、ゼロ知識証明のこの部分において、証明ユニット342は、それぞれのランダム性vを用いてそれぞれのデータエントリ署名Sをランダム化し、ブラインド処理されたデータエントリ署名V、例えば
Figure 0007219740000016
を得る。証明ユニット342は、ブラインド処理された署名を検証者デバイスに提供し、コミットメント、データエントリ及び発行者公開鍵に対する署名Sの知識を証明する。
例えば、証明ユニット342は、iが開示されるデータエントリにわたる範囲をとる、ランダムなs、q、oを生成し、
Figure 0007219740000017
を受信機デバイスに提供する。例えば受信機デバイスから又はFiat-Shamirヒューリスティックによってチャレンジcを受信すると、証明ユニット342は、応答
Figure 0007219740000018
を生成し、これを受信機デバイスに提供する。
上記の手順は単一のレコードについて論考されたが、セレクタデバイス311は、例えば複数の発行者デバイスからの、複数のレコード及び関連情報を記憶する事例に容易に適合させることができることが理解されよう。そのようにして、セレクタデバイス311はまた、複数のレコードの一部を選択的に開示する。例えば、同様に他の箇所で論考したように、セレクタデバイス311は、レコードクエリを取得し、レコードクエリに従って複数のレコードのうちの1つ又は複数を選択する。ユニット341及び342によって実行されるステップは、それぞれのレコードについて選択的開示を行うために、それぞれの選択されたレコードについて繰り返される。
興味深いことに、このとき、レコードのためのゼロ知識証明も、現在のレコードがレコードクエリを満たすことを証明するのに用いられる。例えば、レコードクエリは、属性に対する条件、例えば、年齢>65、40≦年齢<65等を含む。例えば、適合されたCamenisch匿名証明書を署名380として用いる特定の事例では、そのような証明書の属性に関する特性を証明する知られている技法が容易に用いられる。
図4は、例えば図1bのシステム100において用いるための、セレクタデバイスからレコードの属性及びデータエントリを選択的に取得するための受信機デバイス412の一実施形態の例を概略的に示す。
図4は、受信機デバイス412のプロセッサの機能ユニットである機能ユニット(別個に示されていない)を概略的に示す。例えば、図4は、プロセッサの可能な機能的組織の設計図として用いられる。例えば、図4に示す機能ユニット、例えばユニット441は、デバイス412に、例えばデバイス412の電子メモリに記憶されるコンピュータ命令において全体的に又は部分的に実施され、デバイス412のマイクロプロセッサによって実行可能である。混成の実施形態では、機能ユニットは、一部がハードウェアで、例えばコプロセッサとして実施され、一部が、デバイス412に記憶されデバイス412において実行されるソフトウェアで実施される。説明のために、図4は、様々な動作段階においてデバイス412によって記憶される様々な要素も示す。
受信機デバイス412のメモリに記憶された発行者公開鍵471が図に示されている。レコードの一部の真正性は、この公開鍵に対して確立される。この例では2つのレコードの属性483、484と、この例では1つのレコードのデータエントリ493とが更に示されている。他の箇所で論考されるように、受信機デバイス412は、この情報をセレクタデバイスから受信する。
検証ユニット441も図に示されている。検証ユニット441は、取得した値483、484及びデータエントリ493並びに発行者公開鍵471に対し、セレクタデバイスとゼロ知識証明を実行する。ここでは、検証ユニット441が非対話型で検証する非対話型ゼロ知識証明474が示されているが、証明は代わりに、例えば検証ユニット441がチャレンジを生成し、これをセレクタデバイスに提供する、対話型であってもよい。証明は、セレクタデバイス311に対する証明者の観点から論考される。証明474は、取得した値483~484及びデータエントリ493が、発行者公開鍵481に対応する発行者デバイスのレコードに属することを確かめる。したがって、セレクタデバイスは、秘密レコード識別子と、発行者公開鍵471に対応する秘密鍵で署名された、少なくとも、開示される1つ又は複数の属性483~484及び秘密レコード識別子を含むメッセージのデジタル署名と、発行者公開鍵471に対応する秘密鍵で署名された、開示されるデータエントリ493を含み、各々が秘密レコード識別子を含むメッセージのデジタル署名との知識を証明する。
ゼロ知識証明の検証は、上記で論考した、セレクタデバイスがステートメントを証明するのに用いるゼロ知識証明システムに対応して実行される。具体的例として、ここでもまた、属性のための適合されたCamenisch型署名
Figure 0007219740000019
及びデータエントリのための適合されたBoneh-Boyen型署名
Figure 0007219740000020
が用いられる。この特定の例において、セレクタデバイス311に対して論考された複数の部分における証明は、上記で説明したように用いられる。例えば、受信機デバイス412は、セレクタデバイスから、秘密識別子に対するコミットメントを受信する。次に、上記で論考したように、セレクタデバイスは、秘密レコード識別子に対するコミットメントの開封、及び属性483~484及び同じ秘密識別子の署名の知識を証明し、これを検証ユニット441が検証する。
セレクタデバイス311に関して論考したデータエントリに関連する証明の部分に関して、検証ユニット441は、開示されるデータエントリ493のためのそれぞれのブラインド処理された署名
Figure 0007219740000021
を受信する。セレクタデバイスは、ブラインド処理された署名に対応し、それぞれのデータエントリを含む署名の知識を証明する。具体的には、検証ユニット441は、値
Figure 0007219740000022
及び生成したチャレンジcに対する応答
Figure 0007219740000023
を受信すると、以下を検証することによってこれらの応答を検証する。
Figure 0007219740000024
ここで、yは発行者公開鍵471であり、mはそれぞれのデータエントリ493である。特に、この例において、発行者公開鍵471が、開示されるデータエントリのハッシュH(m)の累乗と乗算されることに留意されたい。したがって、秘密レコード識別子γが秘密に保たれるのに対し、データエントリmは依然として、他のデータエントリ及び属性と同じレコードに対応することが検証される。
図に明示的に示していないが、同様に上記で論考したように、本明細書に記載の選択的開示技法は、場合によっては異なる発行者デバイスからの複数のレコードに適用され、この事例では、検証ユニット442は、開示されるレコードごとに上記の手順を繰り返す。受信機デバイスはまた、どのレコードを取得するかに影響を及ぼすレコードクエリ及び/又はデータエントリクエリを受信機デバイスに提供する。検証ユニット441はまた、例えば取得したレコードによってそのようなデータエントリクエリが満たされることを検証するように適合される。
したがって、上記で論考した様々な手段によって、受信機デバイス412は、開示されていない属性及びデータエントリ、秘密レコード識別子又は発行者秘密鍵等の他の機密マテリアルへのアクセスを必要とすることなく、必要な情報、例えば属性483、484及びデータエントリ493、並びに公開鍵471に対する適切な真正性保証を取得する。
図5は、選択的開示のためにレコードをセレクタデバイスに提供する発行者方法500の一実施形態の例を概略的に示す。方法500は通常、コンピュータ実施される。
発行者方法500は、対応する発行者公開鍵と公開鍵/秘密鍵ペアを形成する発行者秘密鍵と、1つ又は複数の属性を含み、複数のデータエントリを含む、レコードとを記憶すること(510)を含む。
発行者方法500は、秘密レコード識別子を決定すること(520)を含む。
発行者方法500は、発行者秘密鍵を用いて属性メッセージのデジタル署名を生成すること(530)を含み、属性メッセージは1つ又は複数の属性及び秘密レコード識別子を含む。
発行者方法500は、発行者秘密鍵を用いて、複数のデータエントリのための複数のデータメッセージの複数のデジタル署名を生成すること(540)を含み、データエントリのためのデータメッセージは、データエントリ及び秘密レコード識別子を含む。
発行者方法500は、レコード、秘密レコード識別子、属性メッセージのデジタル署名、及びデータメッセージのデジタル署名をセレクタデバイスに提供すること(550)を含む。
図6は、レコードの属性及びデータエントリを受信機デバイスに選択的に開示するセレクタ方法600の一実施形態の例を概略的に示す。方法600は通常、コンピュータ実施される。
セレクタ方法600は、1つ又は複数の属性を含み、複数のデータエントリを含むレコードと、秘密レコード識別子と、発行者秘密鍵を用いて生成された属性メッセージのデジタル署名であって、属性メッセージは1つ又は複数の属性及び秘密レコード識別子を含む、属性メッセージのデジタル署名と、発行者秘密鍵を用いて生成されたデータメッセージのデジタル署名であって、データエントリのためのデータメッセージは、データエントリ及び秘密レコード識別子を含む、データメッセージのデジタル署名とを記憶すること(610)を含む。
セレクタ方法600は、レコード、秘密レコード識別子、属性メッセージのデジタル署名、及びデータメッセージのデジタル署名を取得すること(620)を含む。
セレクタ方法600は、開示される1つ又は複数の属性を、1つ又は複数の属性のサブセットとして決定し、開示される1つ又は複数のデータエントリを、複数のデータエントリのサブセットとして決定すること(630)を含む。
セレクタ方法600は、開示される1つ又は複数の属性、及び開示される1つ又は複数のデータエントリを、受信機デバイスに提供すること(640)を含む。
セレクタ方法600は、受信機デバイスとのゼロ知識証明を実行すること(650)を含み、
- 秘密レコード識別子、
- 発行者公開鍵に対応する秘密鍵で署名された、少なくとも、開示される1つ又は複数の属性及び秘密レコード識別子を含むメッセージのデジタル署名としての、属性メッセージのデジタル署名、
- 発行者公開鍵に対応する秘密鍵で署名された、開示されるデータエントリを含み、各々が秘密レコード識別子を含むメッセージのデジタル署名としての、開示されるデータエントリのためのデータメッセージのデジタル署名、
の知識が証明される。
図7は、セレクタデバイスからレコードの属性及びデータエントリを選択的に取得する受信機方法700の一実施形態の例を概略的に示す。方法700は通常、コンピュータ実施される。
受信機方法700は、発行者公開鍵を記憶すること(710)を含む。
受信機方法700は、セレクタデバイスから、1つ又は複数の属性及び1つ又は複数のデータエントリを取得すること(720)を含む。
受信機方法700は、取得した値及びデータエントリ、並びに発行者公開鍵に関してセレクタデバイスとゼロ知識証明を実行し、取得した値及びデータエントリが発行者公開鍵に対応する発行者デバイスのレコードに属することを確認すること(730)を含み、セレクタデバイスは、
- 秘密レコード識別子、
- 発行者公開鍵に対応する秘密鍵で署名された、少なくとも、開示される1つ又は複数の属性及び秘密レコード識別子を含むメッセージのデジタル署名、
- 発行者公開鍵に対応する秘密鍵で署名された、開示されるデータエントリを含み、各々が秘密レコード識別子を含むメッセージのデジタル署名、
の知識を証明する。
当業者には明らかなように、本方法を実行する多くの異なる方法が可能である。例えば、ステップの順序を変更することができるか、又はいくつかのステップが並列に実行される。更に、ステップ同士の間に、他の方法ステップが挿入されてもよい。挿入されたステップは、ここで説明されるような方法の改良を表してもよく、又はその方法に関連していなくてもよい。例えば、方法500のステップ530及び540は、少なくとも部分的に並列に実行されてもよい。更に、所与のステップは、次のステップが開始される前に完全に終了していなくてもよい。
方法の実施形態は、ソフトウェアを使用して実行されてもよく、ソフトウェアは、プロセッサシステムに方法500、600又は700を実行させるための命令を含む。ソフトウェアは、システムの特定のサブエンティティによって行われるステップのみを含んでもよい。ソフトウェアは、ハードディスク、フロッピー、メモリ、光ディスク等の適切な記憶媒体に記憶される。ソフトウェアは、有線若しくは無線による信号として、又はデータネットワーク、例えばインターネットを用いて送信される。ソフトウェアは、ダウンロード用に及び/又はサーバ上でのリモート使用のために利用可能にされてもよい。方法の実施形態は、方法を実行するために、例えばフィールドプログラマブルゲートアレイ(FPGA)等のプログラマブル論理を構成するように配置されるビットストリームを使用し実行される。
本発明はまた、本発明を実施するように適合されたコンピュータプログラム、特にキャリア上又はキャリア内のコンピュータプログラムに拡張されることが理解されるであろう。プログラムは、ソースコード、オブジェクトコード、コード中間ソース、及び部分的にコンパイルされた形態等のオブジェクトコードの形態をとるか、又は方法の実施形態の実施の際に使用するのに適した他の任意の形態をとる。コンピュータプログラム製品に関する一実施形態は、説明された方法のうちの少なくとも1つの処理ステップのそれぞれに対応するコンピュータ実行可能命令を含む。これらの命令は、サブルーチンに細分され、かつ/又は静的若しくは動的にリンク付けされた1つ又は複数のファイルに保存されてもよい。コンピュータプログラム製品に関する別の実施形態は、説明されたシステム及び/又は製品のうちの少なくとも1つの手段のそれぞれに対応するコンピュータ実行可能命令を含む。
図8は、コンピュータプログラム820を含む書込み可能な部分810を有するコンピュータ可読媒体800を示し、コンピュータプログラム820は、一実施形態に従ってプロセッサシステムに発行者方法、セレクタ方法又は受信機方法を実行させるための命令を含む。コンピュータプログラム820は、物理的なマークとして、又はコンピュータ可読媒体800の磁化によって、コンピュータ可読媒体800上で具現化される。しかしながら、任意の他の適切な実施形態も考えられる。更に、コンピュータ可読媒体800は、ここでは光ディスクとして示されているが、コンピュータ可読媒体800は、ハードディスク、ソリッドステートメモリ、フラッシュメモリ等の任意の適切なコンピュータ可読媒体であってもよく、記録可能でないもの又は記録可能なものであってもよいことが理解されよう。コンピュータプログラム820は、プロセッサシステムに1つの方法又は上記方法を実行させるための命令を含む。
図9は、一実施形態によるプロセッサシステム940を概略図で示す。プロセッサシステムは、1つ又は複数の集積回路910を含む。1つ又は複数の集積回路910のアーキテクチャが、図7bに概略的に示されている。回路910は、一実施形態による方法を実行し、かつ/又はそのモジュール若しくはユニットを実施するためにコンピュータプログラムコンポーネントを実行する処理ユニット920、例えばCPUを含む。回路910は、プログラミングコード、データ等を記憶するためのメモリ922を含む。メモリ922の一部分は、読出し専用であってもよい。回路910は、通信要素926、例えばアンテナ、コネクタ、又は双方を含む。回路910は、本方法で定められる処理の一部又は全部を実行するための専用集積回路924を含む。プロセッサ920、メモリ922、専用IC924、及び通信要素926は、相互接続930、例えばバスを介して互いに接続される。プロセッサシステム910は、アンテナ及び/又はコネクタをそれぞれ使用して、コンタクト及び/又はコンタクトレス通信のために構成される。
例えば、一実施形態では、プロセッサシステム940、例えば発行者デバイス、セレクタデバイス又は受信機デバイスは、プロセッサ回路及びメモリ回路を含み、プロセッサは、メモリ回路に格納されたソフトウェアを実行するように構成される。例えば、プロセッサ回路は、Intel Core i7プロセッサ、ARM Cortex-R8等である。一実施形態では、プロセッサ回路はARM Cortex M0である。メモリ回路は、ROM回路、又は不揮発性メモリ、例えばフラッシュメモリである。メモリ回路は、揮発性メモリ、例えばSRAMメモリである。後者の場合、デバイスは、ソフトウェアを提供するように構成された不揮発性ソフトウェアインタフェース、例えばハードドライブ、ネットワークインタフェース等を含むことができる。
典型的には、デバイスはそれぞれ、デバイスに格納された適切なソフトウェアを実行するマイクロプロセッサを備え、例えば、そのソフトウェアは、対応するメモリ、例えばRAM等の揮発性メモリ、又はフラッシュ等の不揮発性メモリにダウンロード及び/又は格納されている。代替的に、デバイスは、全体的に又は部分的に、例えばフィールドプログラマブルゲートアレイ(FPGA)として、プログラマブルロジックで実施されてもよい。デバイスは、全体的又は部分的に、いわゆる特定用途向け集積回路(ASIC)、すなわち、それらの特定の使用のためにカスタマイズされた集積回路(IC)として実施されてもよい。例えば、回路は、例えばVerilog、VHDL等のハードウェア記述言語を使用して、CMOSで実施されてもよい。
一実施形態では、発行者デバイスは、識別子生成回路と、属性署名回路と、データエントリ署名ユニットとを備える。一実施形態では、セレクタデバイスは選択回路及び証明回路を備える。一実施形態では、受信機デバイスは検証回路を備える。デバイスは更なる回路を備えてもよい。回路は、本明細書に記載の対応するユニットを実施する。回路は、プロセッサ回路及びストレージ回路であってもよく、プロセッサ回路は、ストレージ回路内で電子的に表現される命令を実行する。プロセッサ回路は、分散方式で、例えば複数のサブプロセッサ回路として実施されてもよい。ストレージの一部は読出し専用であってもよい。回路はまた、FPGA、ASIC等であってもよい。ストレージは、複数の分散されたサブストレージにわたって分散されてもよい。メモリの一部又は全部は、電子メモリ、磁気メモリ等であってもよい。例えば、ストレージは、揮発性の部分及び不揮発性の部分を有する。
上述の実施形態は、本発明を限定するものではなく例示するものであり、当業者は、多くの代替実施形態を設計することができることに留意すべきである。
特許請求の範囲において、括弧の間に配置された如何なる参照符号も、特許請求の範囲を限定するものとして解釈されてはならない。「含む、備える、有する」という動詞及びその活用形の使用は、特許請求の範囲で言及されているもの以外の要素又はステップの存在を排除していない。単数形の要素は、複数のそのような要素の存在を除外しない。本発明は、いくつかの別個の要素を含むハードウェアによって、及び適切にプログラムされたコンピュータによって実施されてもよい。いくつかの手段を列挙しているデバイスの請求項において、これらの手段のいくつかは、ハードウェアの1つの同じアイテムによって具現化されてもよい。特定の措置が相異なる従属請求項に記載されているという単なる事実は、これらの措置の組合せが有利に使用できないことを示すものではない。
特許請求の範囲において、括弧内のリファレンスは、例示的な実施形態の図面における参照符号又は実施形態における式を指し、特許請求の範囲の理解を高めている。これらのリファレンスは特許請求の範囲を限定するものとして解釈されてはならない。

Claims (19)

  1. 1つ又は複数の属性と1つ又は複数のデータエントリとを含むレコードにおいて、前記属性及び前記データエントリを選択的に開示するためのシステムであって、
    当該システムは、発行者デバイスと、セレクタデバイスと、受信機デバイスとを備え、
    前記発行者デバイスは、選択的開示のために前記レコードを前記セレクタデバイスに提供するためのものであり、
    前記発行者デバイスは、
    対応する発行者公開鍵と公開鍵/秘密鍵ペアを形成する、発行者秘密鍵と、
    1つ又は複数の属性及び複数のデータエントリを含む、前記レコードと、を記憶する、
    メモリと、
    プロセッサと、を備え、
    前記プロセッサは、
    前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子を決定し、
    前記1つ又は複数の属性と前記秘密レコード識別子とからなる属性メッセージに対して前記発行者秘密鍵を用いて署名方式S によるデジタル署名を生成し
    それぞれがデータエントリ及び前記秘密レコード識別子を含む複数のデータメッセージに対して前記発行者秘密鍵を用いて署名方式S による複数のデジタル署名を生成し
    前記レコード、前記秘密レコード識別子、前記属性メッセージの前記デジタル署名、及び前記データメッセージの前記デジタル署名を前記セレクタデバイスに提供し、
    前記セレクタデバイスは、前記属性及び前記データエントリを前記受信機デバイスに選択的に開示するためのものであり、
    前記セレクタデバイスは、
    前記レコード、前記秘密レコード識別子、前記属性メッセージの前記デジタル署名、及び前記データメッセージの前記デジタル署名を記憶する、メモリと、
    プロセッサとを備え、
    前記プロセッサは、
    開示される1つ又は複数の属性を、前記1つ又は複数の属性のサブセットとして決定し、開示される1つ又は複数のデータエントリを、前記複数のデータエントリのサブセットとして決定し、
    前記開示される1つ又は複数の属性、及び前記開示される1つ又は複数のデータエントリを、前記受信機デバイスに提供し
    前記セレクタデバイスは、
    前記秘密レコード識別子、
    前記発行者公開鍵に対応する秘密鍵で署名された、少なくとも、前記開示される1つ又は複数の属性及び前記秘密レコード識別子を含むメッセージのデジタル署名としての、前記属性メッセージの前記デジタル署名、及び
    前記発行者公開鍵に対応する秘密鍵で署名された、前記開示されるデータエントリを含み、各々が前記秘密レコード識別子を含むメッセージのデジタル署名としての、前記開示されるデータエントリのための前記データメッセージの前記デジタル署名についてこれらに関する情報を一切開示することなく、前記受信機デバイスに提供された属性及びデータエントリが、秘密レコード識別子で特定されるレコードに含まれるものであり、正しく署名されたものであることを、ゼロ知識証明用いて証明し、
    前記受信機デバイスは、前記セレクタデバイスから前記レコードの前記属性及びデータエントリを選択的に取得するためのものであり、
    前記受信機デバイスは、
    前記発行者公開鍵を記憶するメモリと、
    プロセッサとを備え、
    前記プロセッサは、
    前記セレクタデバイスから、前記1つ又は複数の属性及び前記1つ又は複数のデータエントリを取得し、
    前記取得した属性及びデータエントリ、並びに前記発行者公開鍵に関して前記セレクタデバイスと前記ゼロ知識証明を実行し、前記取得した属性及びデータエントリが前記発行者デバイスの前記レコードに属することを確認し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    システム。
  2. 属性及びデータエントリを受信機デバイスに選択的開示するために、前記属性とデータエントリとを含むレコードをセレクタデバイスに提供する発行者デバイスであって、
    当該発行者デバイスは、
    対応する発行者公開鍵と公開鍵/秘密鍵ペアを形成する、発行者秘密鍵と、
    1つ又は複数の属性を含み、複数のデータエントリを含む、前記レコードと、
    を記憶する、メモリと、
    プロセッサとを備え、
    前記プロセッサは、
    前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子を決定し、
    前記1つ又は複数の属性と前記秘密レコード識別子とからなる属性メッセージに対して前記発行者秘密鍵を用いて署名方式S によるデジタル署名を生成し
    それぞれがデータエントリ及び前記秘密レコード識別子を含む複数のデータメッセージに対して前記発行者秘密鍵を用いて署名方式S による複数のデジタル署名を生成し
    前記レコード、前記秘密レコード識別子、前記属性メッセージの前記デジタル署名、及び前記データメッセージの前記デジタル署名を前記セレクタデバイスに提供し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    発行者デバイス。
  3. 前記データメッセージの前記デジタル署名は、少なくとも、前記レコード識別子と前記データエントリのダイジェストとの和に基づく、請求項2に記載の発行者デバイス。
  4. 前記プロセッサは、グループ要素(g)を、値(x+γ+H(m))の乗法逆元で累乗した値を計算することによって、前記データメッセージの前記デジタル署名(g1/(x+γ+H(m)))を生成し、前記値は、少なくとも、前記発行者秘密鍵(x)、前記レコード識別子(γ)及び前記データエントリ(m)に基づく、請求項2又は3に記載の発行者デバイス。
  5. 前記属性メッセージの前記デジタル署名は、前記発行者秘密鍵を用いて前記署名方式S によって署名された匿名証明書を含み、前記匿名証明書は、前記1つ又は複数の属性、及び前秘密レコード識別子を有する、請求項2から4のいずれか一項に記載の発行者デバイス。
  6. 前記発行者デバイスは更に、前記複数のデータエントリのうちの1つについて更新されたデータを取得し、更新されたデータエントリのためのデータメッセージの更新されたデジタル署名を生成し、前記更新されたデジタル署名を前記セレクタデバイスに提供する、請求項2から5のいずれか一項に記載の発行者デバイス。
  7. 1つ又は複数の属性と1つ又は複数のデータエントリとを含むレコードにおいて、前記属性及び前記データエントリを受信機デバイスに選択的に開示するためのセレクタデバイスであって
    記レコードと、前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子と、前記1つ又は複数の属性と前記秘密レコード識別子とからなる属性メッセージに対して発行者秘密鍵を用いて生成された署名方式S によるデジタル署名と、それぞれがデータエントリ及び前記秘密レコード識別子を含む複数のデータメッセージに対して前記発行者秘密鍵を用いて生成された署名方式S による複数のデジタル署名とを記憶する、メモリと、
    プロセッサとを備え、
    前記プロセッサは
    開示される1つ又は複数の属性を、前記1つ又は複数の属性のサブセットとして決定し、開示される1つ又は複数のデータエントリを、前記複数のデータエントリのサブセットとして決定し、
    前記開示される1つ又は複数の属性、及び前記開示される1つ又は複数のデータエントリを、前記受信機デバイスに提供し
    前記セレクタデバイスは、
    前記秘密レコード識別子、
    発行者公開鍵に対応する秘密鍵で署名された、少なくとも、前記開示される1つ又は複数の属性及び前記秘密レコード識別子を含むメッセージのデジタル署名としての、前記属性メッセージの前記デジタル署名、及び
    前記発行者公開鍵に対応する秘密鍵で署名された、前記開示されるデータエントリを含み、各々が前記秘密レコード識別子を含むメッセージのデジタル署名としての、前記開示されるデータエントリのための前記データメッセージの前記デジタル署名についてこれらに関する情報を一切開示することなく、前記受信機デバイスに提供された属性及びデータエントリが、秘密レコード識別子で特定されるレコードに含まれるものであり、正しく署名されたものであることを、ゼロ知識証明用いて証明し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    セレクタデバイス。
  8. 前記メモリは複数のレコードを記憶し、
    前記プロセッサは、
    レコードクエリを取得し、
    前記レコードクエリに従って前記複数のレコードのうちの1つ又は複数を選択し、
    前記決定、前記提供、及びゼロ知識証明の実行を、前記1つ又は複数の選択されたレコードの各レコードについて繰り返す、請求項7に記載のセレクタデバイス。
  9. 前記プロセッサは、コードについて前記ゼロ知識証明を行い、前記レコードが前記レコードクエリを満たすことを更に証明する、請求項8に記載のセレクタデバイス。
  10. 前記プロセッサは更に、データエントリクエリを取得し、前記プロセッサは、前記データエントリクエリに従って前記開示される1つ又は複数のデータエントリを決定する、請求項7から9のいずれか一項に記載のセレクタデバイス。
  11. 前記ゼロ知識証明の実行は、前記セレクタデバイスの証明ユニットが、前記秘密レコード識別子に対するコミットメントを前記受信機デバイスに提供し、前記コミットメントに関する前記デジタル署名の知識を証明することを含む、請求項7から10のいずれか一項に記載のセレクタデバイス。
  12. 1つ又は複数の属性と1つ又は複数のデータエントリとを含むレコードにおいて、セレクタデバイスから前記属性及び前記データエントリを選択的に取得するための受信機デバイスであって、
    当該受信機デバイスは、
    発行者公開鍵を記憶するメモリと、
    プロセッサとを備え、
    前記プロセッサは、
    前記セレクタデバイスから、1つ又は複数の属性及び1つ又は複数のデータエントリを取得し、
    前記取得した属性及びデータエントリ、並びに前記発行者公開鍵に関して前記セレクタデバイスとゼロ知識証明を実行し、前記取得した属性及びデータエントリが前記発行者公開鍵に対応する発行者デバイスのレコードに属することを確認し、
    前記セレクタデバイスは、
    前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子、
    前記発行者公開鍵に対応する秘密鍵で署名された、少なくとも、開示される前記1つ又は複数の属性及び前記秘密レコード識別子を含むメッセージのデジタル署名、及び
    前記発行者公開鍵に対応する秘密鍵で署名された、開示される前記データエントリを含み、各々が前記レコード秘密識別子を含むメッセージのデジタル署名についてこれらに関する情報を一切開示することなく、前記受信機デバイスに提供された属性及びデータエントリが、秘密レコード識別子で特定されるレコードに含まれるものであり、正しく署名されたものであることを、ゼロ知識証明用いて証明し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    受信機デバイス。
  13. 前記受信機デバイスは、前記セレクタデバイス非対話型ゼロ知識証明を実行する、請求項12に記載の受信機デバイス。
  14. 属性及びデータエントリを受信機デバイスに選択的開示するために、前記属性とデータエントリとを含むレコードをセレクタデバイスに提供する発行者方法であって、
    当該発行者方法は、
    発行者デバイスのプロセッサが、
    対応する発行者公開鍵と公開鍵/秘密鍵ペアを形成する、発行者秘密鍵と、
    1つ又は複数の属性を含み、複数のデータエントリを含む、前記レコードと、
    を記憶するステップと、
    前記プロセッサが、前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子を決定するステップと、
    前記プロセッサが、前記1つ又は複数の属性と前記秘密レコード識別子とからなる属性メッセージに対して前記発行者秘密鍵を用いて署名方式S によるデジタル署名を生成するステップと、
    前記プロセッサが、それぞれがデータエントリ及び前記秘密レコード識別子を含む複数のデータメッセージに対して前記発行者秘密鍵を用いて署名方式S による複数のデジタル署名を生成するステップと、
    前記プロセッサが、前記レコード、前記秘密レコード識別子、前記属性メッセージの前記デジタル署名、及び前記データメッセージの前記デジタル署名を前記セレクタデバイスに提供するステップと、を有し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    発行者方法。
  15. 1つ又は複数の属性と1つ又は複数のデータエントリとを含むレコードにおいて、前記属性及び前記データエントリを受信機デバイスに選択的に開示するセレクタ方法であって、
    当該セレクタ方法は、
    セレクタデバイスのプロセッサが、記レコードと、前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子と、前記1つ又は複数の属性と前記秘密レコード識別子とからなる属性メッセージに対して発行者秘密鍵を用いて生成された署名方式S によるデジタル署名と、それぞれがデータエントリ及び前記秘密レコード識別子を含む複数のデータメッセージに対して前記発行者秘密鍵を用いて生成された署名方式S による複数のデジタル署名とを記憶するステップと
    前記プロセッサが、開示される1つ又は複数の属性を、前記1つ又は複数の属性のサブセットとして決定し、開示される1つ又は複数のデータエントリを、前記複数のデータエントリのサブセットとして決定するステップと、
    前記プロセッサが、前記開示される1つ又は複数の属性、及び前記開示される1つ又は複数のデータエントリを、前記受信機デバイスに提供するステップと、
    前記プロセッサが
    前記秘密レコード識別子、
    発行者公開鍵に対応する秘密鍵で署名された、少なくとも、開示される前記1つ又は複数の属性及び前記秘密レコード識別子を含むメッセージのデジタル署名としての、前記属性メッセージの前記デジタル署名、及び
    前記発行者公開鍵に対応する秘密鍵で署名された、開示される前記データエントリを含み、各々が前記秘密レコード識別子を含むメッセージのデジタル署名としての、前記開示されるデータエントリのための前記データメッセージの前記デジタル署名についてこれらに関する情報を一切開示することなく、前記受信機デバイスに提供された属性及びデータエントリが、秘密レコード識別子で特定されるレコードに含まれるものであり、正しく署名されたものであることを、ゼロ知識証明を用いて明するステップと、を有し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    セレクタ方法。
  16. 1つ又は複数の属性と1つ又は複数のデータエントリとを含むレコードにおいて、セレクタデバイスから前記属性及び前記データエントリを選択的に取得する受信機方法であって、
    当該受信機方法は、
    受信機デバイスのプロセッサが、発行者公開鍵を記憶するステップと、
    前記プロセッサが、前記セレクタデバイスから、1つ又は複数の属性及び1つ又は複数のデータエントリを取得するステップと、
    前記プロセッサが、前記取得した属性及び取得した前記データエントリ並びに前記発行者公開鍵に関して、前記セレクタデバイスとゼロ知識証明を実行し、前記取得した属性及び前記取得したデータエントリが前記発行者公開鍵に対応する発行者デバイスのレコードに属することを確認するステップであって、
    前記セレクタデバイスは、
    前記レコードを識別し、前記受信機デバイスからは秘匿され、ゼロ知識証明の対象となる秘密レコード識別子、
    前記発行者公開鍵に対応する秘密鍵で署名された、少なくとも、開示される前記1つ又は複数の属性及び前記秘密レコード識別子を含むメッセージのデジタル署名、及び
    前記発行者公開鍵に対応する秘密鍵で署名された、開示されるデータエントリを含み、各々が前記秘密レコード識別子を含むメッセージのデジタル署名についてこれらに関する情報を一切開示することなく、前記受信機デバイスに提供された属性及びデータエントリが、秘密レコード識別子で特定されるレコードに含まれるものであり、正しく署名されたものであることを、ゼロ知識証明用いて証明する、
    確認するステップと、を有し、
    前記属性は、人物に関する1つ又は複数の表現型属性を含み、前記データエントリは、前記人物の1つ又は複数のゲノム部分を含む、
    受信機方法。
  17. プロセッサシステムに、請求項14に記載の方法を実行させる命令を表す一時的又は非一時的データを含む、コンピュータ可読ストレージ媒体。
  18. プロセッサシステムに、請求項15に記載の方法を実行させる命令を表す一時的又は非一時的データを含む、コンピュータ可読ストレージ媒体。
  19. プロセッサシステムに、請求項16に記載の方法を実行させる命令を表す一時的又は非一時的データを含む、コンピュータ可読ストレージ媒体。
JP2020109859A 2019-06-27 2020-06-25 レコードの属性及びデータエントリの選択的開示 Active JP7219740B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19182989.4A EP3758279A1 (en) 2019-06-27 2019-06-27 Selective disclosure of attributes and data entries of a record
EP19182989.4 2019-06-27

Publications (2)

Publication Number Publication Date
JP2021007217A JP2021007217A (ja) 2021-01-21
JP7219740B2 true JP7219740B2 (ja) 2023-02-08

Family

ID=67211504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020109859A Active JP7219740B2 (ja) 2019-06-27 2020-06-25 レコードの属性及びデータエントリの選択的開示

Country Status (6)

Country Link
US (1) US11658827B2 (ja)
EP (2) EP3758279A1 (ja)
JP (1) JP7219740B2 (ja)
CN (1) CN112149156B (ja)
ES (1) ES2906346T3 (ja)
RU (1) RU2760633C1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11652639B1 (en) 2022-03-28 2023-05-16 Veiovia Ltd. Cryptographically generated data tethered to biological dataset through synchronization over peer-to-peer nodes
US11683186B1 (en) 2022-03-28 2023-06-20 Veiovia Ltd. Cryptographically generated data tethered to biological dataset through synchronization over peer-to-peer nodes for certification
CN116232763B (zh) * 2023-05-05 2023-07-07 敏于行(北京)科技有限公司 选择性披露的动态组合可验证凭证生成方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338816A (ja) 2002-03-15 2003-11-28 Matsushita Electric Ind Co Ltd 個人情報認証を行うサービス提供システム
JP2004185192A (ja) 2002-12-02 2004-07-02 Naoaki Ishii 健康情報の解析・研究及び健康維持・長寿実現のための総合支援システム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US7134021B2 (en) * 1999-10-22 2006-11-07 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
US20030159070A1 (en) * 2001-05-28 2003-08-21 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
JP2002024385A (ja) * 2000-06-30 2002-01-25 Coreflow Technologies:Kk 遺伝子情報管理システム及びその管理方法
JP2002215028A (ja) * 2001-01-22 2002-07-31 Ntt Data Technology Corp 遺伝子情報のセキュリティ管理方法及びそのシステムとプログラム
JP2002278449A (ja) * 2001-03-15 2002-09-27 Dainippon Printing Co Ltd 原本性保証システム、及びサーバ
JP4078454B2 (ja) * 2002-03-22 2008-04-23 株式会社日立製作所 ディジタル署名管理方法とディジタル署名処理装置およびプログラムと記録媒体
JP2003296453A (ja) * 2002-04-04 2003-10-17 Matsushita Electric Ind Co Ltd 医療データ通信システム
JP3701633B2 (ja) * 2002-06-21 2005-10-05 株式会社日立製作所 複数データベースにまたがる項目パターン抽出方法、ネットワークシステム及び処理装置
JP4499542B2 (ja) * 2004-12-08 2010-07-07 株式会社エヌ・ティ・ティ・データ 医療情報処理装置、および、プログラム
US7979473B2 (en) * 2005-10-07 2011-07-12 Hitachi, Ltd. Association rule extraction method and system
JP4876075B2 (ja) * 2005-11-08 2012-02-15 パナソニック株式会社 認証システム、署名生成装置、署名検証装置
US8280039B2 (en) * 2005-12-28 2012-10-02 Panasonic Corporation Signature generating device, signature generating method and signature generating program
WO2008069011A1 (ja) * 2006-12-04 2008-06-12 Nec Corporation 情報管理システム、匿名化方法、及び記憶媒体
US8281131B2 (en) * 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
US8468346B2 (en) * 2008-11-05 2013-06-18 Nec Corporation Data reference system, database presentation/distribution system, and data reference method
JP4884509B2 (ja) * 2009-09-29 2012-02-29 株式会社ソニー・コンピュータエンタテインメント コンテンツ管理サーバ、コンテンツ管理システム、およびコンテンツ管理方法
EP2336933B1 (en) * 2009-12-18 2014-09-10 CompuGroup Medical AG A computer implemented method for analyzing data of a user with the data being stored pseudonymously in a database
US8825555B2 (en) * 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
EP2768177A1 (en) * 2013-02-15 2014-08-20 Thomson Licensing Cryptographic devices and methods for generating and verifying commitments from linearly homomorphic signatures
JP6063821B2 (ja) * 2013-06-12 2017-01-18 株式会社日立ソリューションズ センサデータ管理システム
JP6250497B2 (ja) * 2014-03-13 2017-12-20 株式会社日立製作所 情報管理システム
US9407654B2 (en) * 2014-03-20 2016-08-02 Microsoft Technology Licensing, Llc Providing multi-level password and phishing protection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338816A (ja) 2002-03-15 2003-11-28 Matsushita Electric Ind Co Ltd 個人情報認証を行うサービス提供システム
JP2004185192A (ja) 2002-12-02 2004-07-02 Naoaki Ishii 健康情報の解析・研究及び健康維持・長寿実現のための総合支援システム

Also Published As

Publication number Publication date
EP3758291B1 (en) 2021-12-01
CN112149156A (zh) 2020-12-29
US11658827B2 (en) 2023-05-23
RU2760633C1 (ru) 2021-11-29
EP3758291A1 (en) 2020-12-30
JP2021007217A (ja) 2021-01-21
ES2906346T3 (es) 2022-04-18
US20200412546A1 (en) 2020-12-31
CN112149156B (zh) 2022-12-13
EP3758279A1 (en) 2020-12-30

Similar Documents

Publication Publication Date Title
JP7219740B2 (ja) レコードの属性及びデータエントリの選択的開示
US8825555B2 (en) Privacy-sensitive sample analysis
US9882890B2 (en) Reissue of cryptographic credentials
JP2011091868A (ja) 公開鍵を検証可能に生成する方法及び装置
EP3496331A1 (en) Two-party signature device and method
TW201320701A (zh) 資訊處理裝置、資訊處理方法及程式
WO2019174402A1 (zh) 一种群组数字签名的群组成员发布方法和设备
Ray et al. A Certificate Authority (CA)-based cryptographic solution for HIPAA privacy/security regulations
Naresh et al. Blockchain‐based patient centric health care communication system
US20220255761A1 (en) Summarizing a genomic data entry
TW202318833A (zh) 臨界簽章方案
Xue et al. Blockchain-based fair and fine-grained data trading with privacy preservation
Olakanmi et al. Secure and privacy-preserving referral framework for e-health system
CN1241353C (zh) 自动可恢复自动可认证密码系统
US20220329416A1 (en) Provenance verification for selective disclosure of attributes
EP3805963A1 (en) Provenance verification for selective disclosure of attributes
US20230198777A1 (en) Authenticating a public key of a first person
US20220345312A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets
EP3786961A1 (en) Summarizing a genomic data entry
JPH0695590A (ja) 電子署名システム及び電子署名方法
EP3926889A1 (en) A cryptographic closeness proof between vectors
CN118160275A (zh) 阈值签名方案
CN114338027A (zh) 区块链的隐私处理方法、请求终端及存储介质
Carvajal Gallardo Privacy-preserving social DNA-based recommender

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200625

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200625

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200713

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210713

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211021

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220308

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220412

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20220517

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20220623

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220815

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221024

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20221129

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230104

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230127

R150 Certificate of patent or registration of utility model

Ref document number: 7219740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150