JP2022104875A - 否認可能な証明書 - Google Patents
否認可能な証明書 Download PDFInfo
- Publication number
- JP2022104875A JP2022104875A JP2021192429A JP2021192429A JP2022104875A JP 2022104875 A JP2022104875 A JP 2022104875A JP 2021192429 A JP2021192429 A JP 2021192429A JP 2021192429 A JP2021192429 A JP 2021192429A JP 2022104875 A JP2022104875 A JP 2022104875A
- Authority
- JP
- Japan
- Prior art keywords
- user
- response
- secret key
- challenge query
- public key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
【課題】否認可能な証明書(repudiable credentials)に係るユーザ属性の検証を適切に実施する方法及びコンピュータ可読媒体を提供する。【解決手段】証明者は、検証されるべきユーザの属性に関する第1信頼機関から、ポリシ情報及び公開鍵を取得し、公開鍵、ポリシ情報及び検証者ランダム値に基づき、チャレンジクエリを生成し、ユーザの属性を検証するために、ユーザへチャレンジクエリを送信する。ユーザは、チャレンジクエリ及び公開鍵に対応する汎用シークレット鍵及びユーザの属性に基づき前記信頼機関により生成され、ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、チャレンジクエリに応答する。証明者は、ユーザからの応答を受信し、応答に基づきユーザの属性を検証する。【選択図】図4
Description
本開示の実施形態は、否認可能な証明書(repudiable credentials)に関し、特に、ユーザの属性を検証する際の否認可能な証明書の使用に関する。
証明書を検証することは、難しい処理であり得る。例えば、自分の年齢又は自分のアイデンティティを検証することを求める者は、彼らの証明書を検証するために種々の情報コンポーネントを提供する必要があり得る。しかしながら、多くの環境において、そのような証明書検証は、何年もの間、変わっていない。
本開示の1つ以上の実施形態は、方法であって、検証されるべきユーザの属性に関する第1信頼機関から、ポリシ情報及び電子公開鍵(以後、「公開鍵」)を取得するステップと、前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、を含む方法を含んでよい。前記方法は、ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップを更に含んでよい。前記方法は、前記チャレンジクエリに応答する前記ユーザからの応答を受信するステップであって、前記応答は前記チャレンジクエリ及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記ユーザ固有シークレット鍵は、前記公開鍵に対応する汎用シークレット鍵及び前記ユーザの属性に基づき前記第2信頼機関により生成される、ステップを更に含んでよい。前記方法は、前記応答に基づき、前記ユーザの属性を検証するステップを更に含んでよい。
実施形態の目的及び利点は、請求項において特に指摘される要素、特徴、及び組み合わせにより少なくとも実現され達成される。
理解されるべきことに、前述の一般的な説明及び以下の詳細な説明の両者は、単なる例及び説明のためであり、限定ではない。
例示的な実施形態は、以下の添付の図面の使用を通じて更なる特殊性及び詳細事項により記載され説明される。
本開示は、否認可能な証明書(repudiable credential)の使用を助けるための属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))の使用に関する。例えば、ユーザは、証明書に関連付けられた1つ以上の属性を検証するために使用可能な、運転免許証又は銀行口座のような証明書を有してよい。しかしながら、ユーザは、証明書を介して利用可能な情報の全部を提供することを望まない場合がある(例えば、ユーザは、彼らの年齢を検証するとき、彼らの自宅住所、運転免許証番号、等を暴露することを望まない可能性がある)。本願明細書に記載されるCP-ABE暗号方式の使用は、否認可能な証明書の使用を助けることができる。その結果、ユーザの属性を検証するパーティは、属性の検証のみを有する。
これら及び他の実施形態では、第1信頼機関は、汎用公開鍵及び関連付けられた汎用シークレット鍵を生成してよい。汎用シークレット鍵は、第1信頼機関と同じ又は同じでなくてもよい、(例えば、運転免許証を管理する自動車局(Division of Motor Vehicles (DMV))のような)所与の証明書を管理又は制御する第2信頼機関に提供されてよい。第2信頼機関は、証明書及び/又は証明書に関連付けられた属性に関するポリシ情報を生成してよい。ポリシ情報及び汎用公開鍵は、ブロックチェーンへ投稿されてよい。第2信頼機関は、検証されるべき属性に基づき、ユーザ毎にユーザ固有シークレット鍵を生成してよく、属性をそれぞれのユーザに検証させたいと望むユーザにセキュアに提供してよい。ユーザの属性を検証しようとする検証者は、公開鍵、ポリシ情報、及び検証者がCP-ABE暗号化アルゴリズムを用いて生成した検証者ランダム値に基づき、クエリを生成してよい。クエリはユーザに提供されてよく、ユーザは、ユーザ固有シークレット鍵を用いて該クエリに対してCP-ABE復号処理を実行する。CP-ABE復号処理の結果は、検証者に、応答として提供されてよく、該応答により、検証者がユーザの属性を検証できる。
本開示の特定の実施形態は、セキュアな通信、及びアイデンティティ確認/検証の従来の反復に対する改良を提供し得る。例えば、本開示の実施形態は、情報の限られた露出を許可することにより、パーティ間のよりセキュアな相互作用を提供し得る。特に、検証者は、信頼できる方法でユーザの属性を検証でき、一方で、ユーザは、属性を検証するためにユーザに関する追加情報を開示する必要がない。更に、本開示の実施形態は、ブロックチェーン技術を用いて、否認可能な証明書の使用を促進する公開情報のセキュリティ及び信頼性を促進することを可能にする。
1つ以上の例示的な実施形態は、添付の図面を参照して説明される。
図1は、本開示の1つ以上の実施形態による、否認可能な証明書を利用し得る例示的なシステム100を示す図である。システム100は、1つ以上の信頼機関110、ユーザの属性又は証明書を検証しようとする検証者120、及び属性又は証明書が検証されているユーザであってよい証明者130を含んでよい。システム100は、属性又は証明書を検証する際に、検証者120が、証明者130に関する他の情報を取得することなく、証明書のみを検証できるように、動作してよい。
幾つかの環境では、検証者120は、第三者の特定の証明書を検証したいと望み得る。例えば、検証者120はバーまたはパブを経営し、バーの所有者は、見込み顧客が21歳のような法定飲酒年齢であることを検証したいと望み得る。標準的に、そのような検証は、自宅住所、運転免許証番号、等のような他の個人情報も含み得る運転免許証又は他の身分証明書を物理的に検査することを含む。本開示の実施形態を使用することにより、検証者120は、証明者130に関する他の情報を取得することなく、証明者130の証明書(例えば、顧客の年齢)を検証できる。別の言い方をすれば、本開示は、個人情報を取得する及び/又は第三者と共有することを防ぐ否認可能な証明書の使用を実現し得る。
証明者130は、彼らの証明書を検証させようとする任意のエンティティであってよい。例えば、バー又はパブの顧客は、彼らの個人情報をバーが収集し及び/又は何らかの他のエンティティに販売できることなく、バーにアクセスしたいと望み得る。否認可能な証明書を使用することにより、証明者130は、彼らのプライバシを維持したまま、彼らの証明書を検証させることができ、検証者120は証明者130の証明書を検証することができる。検証者120と証明者130との間の交換の例は、図2及び/又は4を参照して更に説明される。
幾つかの実施形態では、信頼機関110は、検証者120と証明者130との間の情報の交換を促進してよい。例えば、信頼機関110は、セキュアな通信、証明者130の証明書に関連付けられた属性の生成、及び/又は証明書及び/又は検証されるべき属性に関するポリシの公開、を促進するために、1つ以上の鍵の生成を促進してよい。信頼機関110により実行される動作の例は、図2及び/又は3を参照して更に説明され得る。
幾つかの実施形態では、信頼機関110は、互いに通信し及び/又は制御してよく又はそうしなくてもよい、分散型信頼機関として動作してよい複数のエンティティを含んでよい。例えば、信頼機関110は、複数のフルノード、マスタノード、又はブロックを検証し及び/又はブロックチェーンに書き込むことを認可されたブロックチェーンネットワークの他のノードを含んでよい。別の例として、信頼機関110は、検証されるべき証明書及び/又は関連する属性を制御するエンティティを含んでよい。例えば、所与の州又は地域の自動車局(Department of Motor Vehicles (DMV))は、運転免許証の交付及び/又は生成を制御してよく、運転免許証により検証可能な情報に関するポリシを確立し及び/又は公表してよい。別の例として、銀行は、銀行口座番号及び残高に関する情報を制御してよく、銀行情報により検証可能な情報に関するポリシを確立し及び/又は公表してよい。これら及び他の実施形態では、(DMVのような)1つの信頼機関110は、(ブロックチェーンを管理するマスタノード/フルノードのような)別の信頼機関110に提供されるポリシを、発行(例えばブロックチェーンに投稿する)のために生成してよい。
変更、追加、又は省略が、本開示の範囲から逸脱することなくシステム100に対して行われてよい。例えば、記載されたように異なる要素の指定は、本明細書に記載の概念を説明することを助けることを意味し、限定ではない。更に、システム100は、任意の数の他の要素を含んでよく、又は記載されたもの以外のシステム又は環境の中で実装されてよい。
図2は、本開示の1つ以上の実施形態による、否認可能な証明書が利用され得る例示的なシステム200を示す図である。システム200は、信頼機関210(これは、ブロックチェーン212、DMV214、及び銀行216を含んでよい)を含んでよい。システムは、ユーザ220の年齢を検証するバー230及び銀行情報を検証するレンタル店232と相互作用するような、特定の証明書を検証する種々の検証者と相互作用するユーザ220も含んでよい。第三者240は、バー230及び/又はレンタル店232から、ユーザ220に関する個人情報を収集しようと試みる可能性がある。10代の人250は、バー230に偽の証明書を提供しようと試みる可能性がある。
動作中、DMV214は、証明書に関するポリシを確立してよく、自身がそのポリシに対する制御を有する。例えば、DMV214は、運転免許証の形式、フォーマット、等、それに含まれる情報、証明書の所有者に対する情報の個々のピースの利用可能性、等を確立してよい。DMV214は、これらのポリシをブロックチェーン212に投稿されるよう送信してよい。同様に、銀行216は、証明書に関するポリシを確立してよく、自身がそのポリシに対する制御を有する。例えば、銀行216は、銀行口座情報の形式、フォーマット、等、口座番号、口座残高、銀行コード、等の利用可能性、を確立してよい。銀行216は、これらのポリシをブロックチェーン212に投稿されるよう送信してよい。
幾つかの実施形態では、信頼機関210のうちの1つ以上は、否認可能な証明書の使用を促進するために、公開及び秘密鍵の生成を促進してよい。例えば、信頼機関210は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムに従い、セキュリティパラメータを用いて、汎用シークレット鍵及び汎用公開鍵を生成してよい。数学的に記述すると、信頼機関210は、以下を実行してよい:
ここで、λはセキュリティパラメータ(セキュリティのレベルを示す)を表し、mpkは汎用公開鍵を表し、mskは汎用シークレット鍵を表し、CPABEはCP-ABEアルゴリズムに従う鍵生成関数を表す。幾つかの実施形態では、このようなマスタ機関は、ブロックチェーン212を管理するマスタノード及び/又はフルノードを含んでよく、汎用公開鍵はブロックチェーン212に投稿されてよい。追加又は代替として、ポリシ及び/又は証明書に責任のあるエンティティの各々は、彼ら自身のそれぞれの公開鍵及び汎用シークレット鍵を生成してよい。
幾つかの実施形態では、ユーザの所与の証明書に責任のある各信頼機関210は、証明書に対応するユーザの特定の属性を生成してよい。例えば、DMV214は、ユーザに関連する他の情報(例えば、誕生日、自宅住所、等)に加えて、ユーザの運転免許証番号を生成してよい。これら及び他の実施形態では、ユーザ固有シークレット鍵は、CP-ABE鍵生成アルゴリズムに関連付けられた属性のうちの1つ以上について生成されてよい。数学的に記述すると、(DMV214及び/又は銀行216のような)信頼機関210は、以下を実行してよい:
ここで、attributesはそれぞれのユーザの証明書に関連付けられた属性を表し、skは特定のattributeに関連付けられたユーザ固有シークレット鍵を表し、mskは汎用シークレット鍵を表し、CPABE.keygenはCP-ABEアルゴリズムに従う鍵生成関数を表す。幾つかの実施形態では、ユーザ固有シークレット鍵skの生成後に、信頼機関は、skをそれぞれのユーザにセキュアに提供してよい。例えば、図2を参照すると、ユーザ220は、DMV214とセキュアな通信セッションを確立し、彼らの年齢の属性を検証するために使用されるユーザ固有シークレット鍵としてskを受信してよい。別の例として、ユーザ220は、銀行216のセキュアなポータルにログインし、彼らの銀行口座及び/又は残高を検証するために使用されるユーザ固有シークレット鍵としてskをダウンロードしてよい。
幾つかの実施形態では、バー230のようなエンティティがユーザ220の属性を検証しようとするとき、バー230は、汎用公開鍵(例えば、mpk)、及びバー230が検証しようとする属性に関連するポリシを取得してよい。例えば、バー230は、ブロックチェーン212にアクセスして、壇上日を検証することに関連してDMV214により確立されたような汎用公開鍵mpk及びポリシを検索してよい。汎用公開鍵mpk、1つ以上のポリシ、及びバー230により生成されたランダム値を使用して、バー230は、ユーザ220の属性を検証するためにユーザ220に送信されるべきクエリを生成してよい。数学的に記述すると、バー230は、以下を実行してよい:
chalはユーザ220へ送信されるべきチャレンジクエリを表し、mpkは汎用公開鍵を表し、stはバー230によりランダムにサンプリングされた値を表し、policyは信頼機関210により生成されたポリシを表し、CPABE.encryptはCP-ABEアルゴリズムに従う暗号化関数を表す。チャレンジクエリ(例えば、chal)を生成した後に、バー230は、ユーザ220の年齢を検証するために、chalをユーザ220へ送信してよい。追加又は代替として、バー230は、chalと共に及び/又はその部分として値stを含んでよい。
チャレンジクエリを受信することに基づき、ユーザ220は、否認可能な方法で彼らの属性を検証する応答を生成してよい。例えば、属性(例えば、sk)及びチャレンジクエリ(例えば、chal)に関連付けられたユーザ固有鍵を使用して、ユーザ220は、彼らの年齢を検証するバー230へ返すべき応答を生成してよい。数学的に記述すると、ユーザ220は、以下を実行してよい:
ここで、respはバー230へ送信するためにユーザ220により生成される応答を表し、skはユーザ固有シークレット鍵を表し、chalはユーザ220へ送信されるチャレンジクエリを表し、CPABE.decryptはCP-ABEアルゴリズムに従う復号関数を表す。応答(例えば、resp)を生成した後に、ユーザ220は、ユーザ220の年齢を検証するために、応答をバー230へ送信してよい。
ユーザ220から応答を受信した後に、バー230は、応答とランダムにサンプリングされた値との間の期待される相関が観察されるかを検証してよい。例えば、ランダムにサンプリングされた値及び応答は、同じ値であってよく、又は任意の他の知られた期待される関係を有してよい。応答及びランダムにサンプリングされた値が知られている関係に従うことに応答して、バー230は、ユーザ220の年齢を検証してよい。交換は、ユーザ220に関する他の情報を開示しない。例示的な交換は、DMV214からの証明書を用いてユーザ220及びバー230に関して表現されたが、同様の処理が、同様の又は互換性のある方法で、レンタル店232により、ユーザ220について、彼らの銀行216の銀行情報を検証することに当てはまる。
幾つかの実施形態では第三者240は、ユーザ220に関する情報を取得しようと試みる可能性がある。例えば、第三者240は、ユーザ220に関するマーケティング情報又は他のユーザの詳細事項を入手するために、バー230及びレンタル店232からユーザ情報を購入することを申し出る可能性がある。しかしながら、否認可能な証明書のために、バー230が交換で取得する情報は、バー230によりサンプリングされたランダム値とユーザ220の応答との間に知られている関係が存在することだけである。このような情報は、ユーザ220に関する任意の他の個人情報を提供しない。更に、第三者240は、バー230及びバー230により提供された情報を模倣する又は複製するためにランダム値を生成する何らかの他のエンティティにより提供された情報を区別できない。別の言い方をすると、バー230により提供された情報は、特権情報を有しないで、誰にでもシミュレート可能であってよい。更に、開示されるのは、ランダム値との知られている関係の存在だけである。このような情報が、バー230及びレンタル店232のような複数のベンダに渡り蓄積されたとしても、第三者240は、データを個人ユーザ220に又は互いに相関させることができない。これら及び他の実施形態では、本開示の否認可能な証明書のアプローチを使用すると、第三者240のような悪意あるアクターは、バー230及び/又はレンタル店232からユーザ220に関するユーザ情報を取得することができない。
ユーザ220の個人情報の暴露に関してユーザ220に提供されるセキュリティに追加又は代替として、バー230及び/又はレンタル店232は、偽の証明書を提供しようとする他者から保護され得る。例えば、10代の人250は、バー230へのアクセスを許可されるために、より上の年齢を検証するようバー230に応答を提供するために、偽の証明書を生成しようとする可能性がある。しかしながら、不正な証明書(例えば、21歳より若い年齢に関連するsk)又は不正な証明書の複数のインスタンスにより、10代の人250は不正な証明書を生成することができない。これら及び他の実施形態では、10代の人250が偽の証明書を提出すると、10代の人からの応答(例えば、resp)の検証は、バー230によりランダムにサンプリングされた値との応答の知られている既存の関係の検証を失敗させる。これら及び他の実施形態では、ユーザ220についてのskの値、及び/又はバー230及び/又はレンタル店232により生成されたrespの値は、第三者240及び/又は10代の人250により生成されたとき、これらの項目のシミュレートされた値又はバージョンと区別できなくてよい。
変更、追加、又は省略が、本開示の範囲から逸脱することなくシステム200に対して行われてよい。例えば、記載されたように異なる要素の指定は、本明細書に記載の概念を説明することを助けることを意味し、限定ではない。更に、システム200は、任意の数の他の要素を含んでよく、又は記載されたもの以外のシステム又は環境の中で実装されてよい。例えば、システム200は、任意の数の信頼機関を含んでよい。別の例として、ブロックチェーン212にインプットを提供する及び/又はブロックチェーン212を制御する任意の数のノードが存在してよい。
図3は、本開示の1つ以上の実施形態による、否認可能な証明書の使用をサポートする予備動作を実行する例示的な方法300の例示的なフローチャートを示す。方法300の1つ以上の動作は、図1のシステム100、信頼機関110、検証者120、及び/又は証明者130。及び/又は図2のシステム200、信頼機関210、ブロックチェーン212(及び/又は関連システム/ノード)、バー230、及び/又はレンタル店232、のようなシステム又は装置又はそれらの組合せにより実行されてよい。別個のブロックを示したが、方法300の種々のブロックは、所望の実装に依存して、追加ブロックに分けられ、少ないブロックに結合され、又は削除されてよい。
ブロック310で、公開鍵及び汎用シークレット鍵が、第1信頼機関により生成されてよい。例えば、ブロックチェーンを管理し又は運用する1つ以上のマスタノード又はフルノードは、公開鍵及び汎用シークレット鍵を生成してよい。別の例として、所与の証明書に責任のある信頼機関(例えば、DMV、銀行、等)は、公開鍵及び汎用シークレット鍵を生成してよい。これら及び他の実施形態では、そのような鍵生成は、CP-ABE暗号化アルゴリズムに従い実行されてよい。幾つかの実施形態では、そのような動作は、数学的に次のように表現できる:
ブロック320で、ポリシ情報が第2信頼機関により生成されてよい。ポリシ情報は、第2信頼機関により制御され及び/又は維持される証明書に関連付けられた属性の形式、フォーマット、等を含んでよい。別の例として、ポリシは情報を含んでよく、該情報に関連する属性が、第2信頼機関により維持される証明書により検証され得る(例えば、DMVにより生成されるポリシは、誕生日、自宅住所、等が運転免許証により検証され得ることを示してよい)。幾つかの実施形態では、第2信頼機関は、第1信頼機関と同じエンティティであってよい。例えば、DMVは、自身の汎用シークレット鍵/公開鍵を生成してよく、一方で、ポリシ情報も生成する。
ブロック330で、ポリシ情報が第1信頼機関に提供されてよい。例えば、第2信頼機関は、ポリシ情報を第1信頼機関に提供してよい。その結果、ポリシ情報はブロックチェーンに投稿されてよい。ポリシ情報をブロックチェーンに投稿することにより、ポリシ情報は、検証可能になり信頼できるようになってよい。追加又は代替として、属性の検証を取得しようとするエンティティは、ポリシ情報を取得するために第2信頼機関に行くことなく、そのような検証で使用される情報を、ブロックチェーンから直接取得してよい。
ブロック340で、汎用シークレット鍵が第2信頼機関に提供されてよい。例えば、第1信頼機関は、セキュアな通信チャネルを確立し、汎用シークレット鍵を第2信頼機関に提供してよい。これら及び他の実施形態では、汎用シークレット鍵は、セキュアに保持され、属性を検証しようとするエンティティ及び該属性に関連付けられた証明書により彼らの属性を検証させようとするエンティティに開示されなくてよい。幾つかの実施形態では、汎用シークレット鍵は、複数の信頼機関に渡り使用されてよい(例えば、銀行及びDMVは同じ汎用シークレット鍵を利用してよい)。追加又は代替として、汎用シークレット鍵は、特定の信頼機関に固有であってよい(例えば、DMVに固有であり、その結果、異なる汎用シークレット鍵がDMVと銀行により使用される)。
ブロック350で、汎用シークレット鍵を使用して、ユーザ固有シークレット鍵が、ユーザの属性に基づき生成されてよい。例えば、第2信頼機関により管理され及び/又は制御される属性に関連付けられた証明書について、第2信頼機関は、汎用シークレット鍵及びユーザの属性を用いてユーザ固有シークレット鍵(例えば、sk)のセットを生成してよい。幾つかの実施形態では、ユーザ固有シークレット鍵は、次式のように、CP-ABE暗号化アルゴリズムに従い生成されてよい:
ブロック360で、証明者は、彼らのユーザ固有シークレット鍵を第2信頼機関から取得してよい。例えば、ユーザは、第2信頼機関とのセキュアな通信チャネルを確立してよく、それを介して、第2信頼機関は、ブロック350で生成されたユーザ固有シークレット鍵をユーザに提供してよい。幾つかの実施形態では、ユーザ固有シークレット鍵は、第2信頼機関により制御される証明書を介してアクセス可能な全部の情報ではなく、特定の情報に固有であってよい(例えば、ユーザ固有シークレット鍵は、ユーザの運転免許証により示されるようなユーザの年齢に固有であってよく、ユーザの運転免許証上で入手可能な全部の情報に結びつけられない)。
変更、追加、又は省略が、本開示の範囲から逸脱することなく方法300に対して行われてよい。例えば、方法300の動作は、異なる順序で実施されてよい。追加又は代替として、2以上の動作が同時に実行されてよい。さらに、概説された工程及び動作は例として提供されたものであり、工程及び動作の幾つかは、開示した実施形態の本質を減じることなく、任意であり、少ない工程及び動作に結合され、又は追加の工程及び動作に拡張されてよい。
図4は、本開示の1つ以上の実施形態による、否認可能な証明書の使用の方法400の例示的なフローチャートを示す。方法400の1つ以上の動作は、図1のシステム100、信頼機関110、検証者120、及び/又は証明者130。及び/又は図2のシステム200、信頼機関210、ブロックチェーン212(及び/又は関連システム/ノード)、バー230、及び/又はレンタル店232、のようなシステム又は装置又はそれらの組合せにより実行されてよい。別個のブロックを示したが、方法400の種々のブロックは、所望の実装に依存して、追加ブロックに分けられ、少ないブロックに結合され、又は削除されてよい。
ブロック410で、検証者は、公開鍵、ポリシ情報、及び検証者ランダム値を取得してよい。例えば、検証者は、信頼機関により生成された汎用公開鍵及びポリシ情報をブロックチェーンから取得してよい。ブロックチェーン上に情報を提供することにより、検証者は、証明書を制御しているエンティティと実際に連絡をとってよく又は取らなくてよい。検証者はその証明書を介してユーザの属性を検証しようとする。検証者は、値をランダムにサンプリングして、検証者ランダム値を導出してよい。
ブロック420で、証明者は、彼らのユーザ固有シークレット鍵を取得してよい。ブロック420は、図3のブロック360と同様であり又はそれに相当する。
ブロック430で、チャレンジクエリが、検証者により生成されてよい。例えば、検証者は、数値をランダムにサンプリングすることにより、自身の検証者ランダム値を生成してよい。検証者ランダム値は、他のエンティティに未知であってよい。検証者ランダム値、及びブロック410で取得されたポリシ情報及び公開鍵を使用して、検証者はチャレンジクエリを生成してよい。幾つかの実施形態では、チャレンジクエリは、CP-ABE暗号化アルゴリズムを用いて生成されてよい。例えば、検証者は以下の演算を実行してよい:
ブロック440で、チャレンジクエリが、検証者から証明者へ送信されてよい。例えば、証明者は、バーに到着し、彼らの年齢を検証しようとしてよい。応答して、バーは、証明者の電子装置へ送信すべき電子メッセージとして、クエリを生成してよい。
幾つかの実施形態では、証明者は、ブロック410で送信されたチャレンジクエリを受信することに応答して、彼らのユーザ固有シークレット鍵を要求してよい。その結果、ブロック420は、ブロック440の動作に応答して実行されてよい。例えば、チャレンジクエリを受信すると、証明者は、検証されるべき属性を含む彼らの証明書を制御する又はそれに責任のあるエンティティへのセキュアな通信チャネルを開始してよく、彼らの属性に対応するユーザ固有シークレット鍵を取得してよい。
ブロック450で、証明者は、チャレンジクエリ及び彼らのユーザ固有シークレット鍵に基づき、応答を生成してよい。例えば、ユーザは、彼らのユーザ固有シークレット鍵を用いてCP-ABE復号処理をチャレンジクエリに対して実行して、応答を導出してよい。そのような演算は、以下により表される:
ブロック460で、応答が検証者へ送信されてよい。例えば、証明者の電子装置は、検証者の電子装置へ送信される応答を含むメッセージを生成してよい。幾つかの実施形態では、応答は検証者ランダム値、又は検証者ランダム値との知られている関係を有する何らかの値を含んでよい。
ブロック470で、証明者の属性は、検証者により、応答及び検証者ランダム値の分析に基づき、検証されてよい。幾つかの実施形態では、検証は、応答が検証者ランダム値と同じであることに基づく。追加又は代替として、検証は、応答が検証者ランダム値との何らかの知られている関係を有することに基づいてよい。本開示に説明されたアプローチを使用することにより、検証者は、証明者の属性を検証することができ、一方で、検証者に実際に提供される情報はランダム値のみである。
ブロック480で、堕落した非道な証明者に対して、第2検証が実行されてよい。例えば、非道な証明者は、検証を失敗させる複数の属性、及び/又は検証を失敗させる属性に関連付けられたシークレット鍵のセットを所有してよい。しかしながら、非道な証明者は、属性を検証することに成功するクエリに対応する応答を生成することができない。追加又は代替として、成功するクエリを生成しようとする繰り返される試みも、成功しない。
変更、追加、又は省略が、本開示の範囲から逸脱することなく方法400に対して行われてよい。例えば、方法400の動作は、異なる順序で実施されてよい。追加又は代替として、2以上の動作が同時に実行されてよい。さらに、概説された工程及び動作は例として提供されたものであり、工程及び動作の幾つかは、開示した実施形態の本質を減じることなく、任意であり、少ない工程及び動作に結合され、又は追加の工程及び動作に拡張されてよい。幾つかの実施形態では、情報を送信又は受信する任意のステップは、パケット化されたメッセージ、QR(Quick Response)コード又は他の画像に埋め込まれた情報、等を含む任意の手段により伝達されてよい。
図5は、本開示に記載された少なくとも1つの実施形態による、例示的なコンピューティングシステム500を示す。コンピューティングシステム500は、プロセッサ510、メモリ520、データ記憶装置530、及び/又は通信ユニット540を含んでよい。これら全ては、通信可能に結合されてよい。図1のシステム100のいずれか又は全部は、信頼機関110、検証者120、及び/又は証明者130を含むコンピューティングシステム500に合致するコンピューティングシステムとして実装されてよい。
通常、プロセッサ510は、種々のコンピュータハードウェア又はソフトウェアモジュールを含む、任意の適切な専用又は汎用コンピュータ、コンピューティングエンティティ、又は処理装置を含んでよく、任意の適切なコンピュータ可読記憶媒体に格納された命令を実行するよう構成されてよい。例えば、プロセッサ510は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラム命令を解釈し及び/又は実行し及び/又はデータを処理するよう構成される任意の他のデジタル若しくはアナログ回路を含んでよい。
図5には単一のプロセッサが示されるが、プロセッサ510は、任意の数のネットワーク又は物理的位置に渡り分散され、個々に又は共同で本開示に記載された任意の数の動作を実行するよう構成される、任意の数のプロセッサを含んでよいことが理解される。幾つかの実施形態では、プロセッサ510は、プログラム命令を解釈し及び/又は実行し、及び/又はメモリ520、データ記憶装置530、又はメモリ520及びデータ記憶装置530に格納されたデータを処理してよい。幾つかの実施形態では、プロセッサ510は、プログラム命令をデータ記憶装置530からフェッチし、プログラム命令をメモリ520にロードしてよい。
プログラム命令がメモリ520にロードされた後に、プロセッサ510は、プログラム命令、例えば図3及び4のそれぞれ方法300及び/又は400のいずれかを実行するための命令を実行してよい。例えば、プロセッサ810は、ユーザの属性を暗号化する、ブロックチェーンに情報を投稿する、及び/又は否認可能な証明書の交換を促進することに関する命令を取得してよい。
メモリ520及びデータ記憶装置530は、コンピュータ実行可能命令を運び又は有するコンピュータ可読記憶媒体又は1つ以上のコンピュータ可読記憶媒体、又はそれに記憶されたデータ構造を含んでよい。このようなコンピュータ可読記憶媒体は、プロセッサ510のような汎用又は専用コンピュータによりアクセスされ得る任意の市販の媒体であってよい。例えば、メモリ520及び/又はデータ記憶装置530は、ブロックチェーン(例えば、図2のブロックチェーン222)の完全なコピーを格納してよい。幾つかの実施形態では、コンピューティングシステム500は、メモリ520及びデータ記憶装置530のいずれかを含んでよく、又は含まなくてよい。
例として、限定ではなく、このようなコンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能なプログラマブル読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD-ROM)、又は他の光ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置、フラッシュメモリ素子(例えば、個体メモリ装置)、又はコンピュータ実行可能命令若しくはデータ構造の形式で所望のプログラムコードを運ぶ又は格納するために使用され得る且つ汎用又は専用コンピュータによりアクセスされ得る任意の他の記憶媒体、を含む非一時的コンピュータ可読媒体を含んでよい。上記の組み合わせも、コンピュータ可読記憶媒体の範囲に含まれてよい。コンピュータ実行可能命令は、例えば、プロセッサ510に特定動作または一群の動作を実行させるよう構成される命令及びデータを含んでよい。
通信ユニット540は、ネットワークを介して情報を送信し又は受信するよう構成される、任意のコンポーネント、装置、システム、又はそれらの組み合わせを含んでよい。幾つかの実施形態では、通信ユニット540は、他の場所、同じ場所にある装置、又は同じシステム内の他のコンポーネントと通信してよい。例えば、通信ユニット540は、モデム、ネットワークカード(無線又は有線)、光通信装置、赤外線通信装置、無線通信装置(例えば、アンテナ)、及び/又はチップセット(例えば、Bluetooth装置、802.6装置(例えば、都市域ネットワーク(MAN))、WiFi装置、WiMax装置、セルら通信設備、等)、等を含んでよい。通信ユニット540は、ネットワーク及び/又は本開示に記載の任意の他の装置またはシステムとのデータ交換を可能にしてよい。例えば、通信ユニット540は、システム500が、他のシステム、例えば通信装置及び/又は他のネットワークと通信することを可能にしてよい。
当業者は、本開示を吟味した後に、本開示の範囲から逸脱することなく、変更、追加、又は省略がシステム500に対して行われ得ることを理解し得る。例えば、システム500は、明示的に図示され記載されたものより多くの又は少ないコンポーネントを含んでよい。
前述の開示は、本発明を開示され詳細な形式又は特定の使用分野に限定することを意図しない。したがって、本開示に対する種々の代替の実施形態及び/又は変更が、ここに明示的に記載され又は示されたか否かにかかわらず、本開示に照らして可能であると考えられる。したがって、本開示の実施形態を記載することにより、本開示の範囲から逸脱することなく、変更が形式上及び詳細に行われてよいことが理解される。したがって、本開示は、請求項によってのみ限定される。
幾つかの実施形態では、本明細書に記載されたものと異なるコンポーネント、モジュール、エンジン、及びサービスが、コンピューティングシステム上で実行するオブジェクト又はプロセス(例えば、別個のスレッド)として実装されてよい。本明細書に記載されたシステム及びプロセスのうちの一部は、概して(汎用ハードウェアに格納される及び/又はそれにより実行される)ソフトウェアで実装されるとして記載されたが、専用ハードウェア実装又はソフトウェア及び専用ハードウェア実装の組み合わせも、可能であり想定される。
本明細書で及び特に添付の特許請求の範囲(例えば、添付の請求項本体)で使用される用語は、通常、「広義」の用語として意図される(例えば、用語「含む」は「含むが、これに限定されない」と解釈されるべきであり、用語「有する」は「有するが、これに限定されない」と解釈されるべきである、等)。
さらに、特定数の導入された請求項の列挙が意図される場合、このような意図は、請求項中に明示的に示され、このような列挙のない場合、このような意図は存在しない。例えば、理解の支援として、以下の添付の請求項は、請求項の列挙を導入するために、導入フレーズ「少なくとも1つ」及び「1つ以上」の使用を含み得る。しかしながら、このようなフレーズの使用は、同じ請求項が導入フレーズ「1つ以上」又は「少なくとも1つ」及び不定冠詞「a」又は「an」を含むときでも(例えば、「a」及び/又は「an」は「少なくとも1つ」又は「1つ以上」を意味すると解釈されるべきである)、不定冠詞「a」又は「an」による請求項の列挙の導入が、このような導入された請求項の列挙を含む任意の特定の請求項を、1つのこのような列挙のみを含む実施形態に限定することを意味すると考えられるべきではない。つまり、同じことが、請求項の列挙を導入するために使用される定冠詞の使用にも当てはまる。
さらに、特定数の導入された請求項の列挙が明示的に記載される場合、当業者は、このような列挙が、少なくとも列挙された数を意味すると解釈されるべきであることを理解する(例えば、他の修飾のない「2つの列挙」の記載は、少なくとも2つの列挙、又は2以上の列挙を意味する)。さらに、「A、B、及びC等のうちの少なくとも1つ」又は「A、B、及びC等のうちの1つ以上」と同様の記載が使用される例では、通常、このような構成は、A単独で、B単独で、C単独で、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、又はA、B、及びCを一緒に、等を含むことを意図する。例えば、用語「及び/又は」の使用は、この方法で解釈されることが意図される。
さらに、2以上の選択的な用語を表す任意の離接的な語又はフレーズは、説明、請求項、又は図面にあるかにかかわらず、用語のうちの1つ、用語のうちのいずれか、又は両方の用語を含む可能性を想定すると理解されるべきである。例えば、フレーズ「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むと理解されるべきである。
しかしながら、このようなフレーズの使用は、同じ請求項が導入フレーズ「1つ以上」又は「少なくとも1つ」及び不定冠詞「a」又は「an」を含むときでも(例えば、「a」及び/又は「an」は「少なくとも1つ」又は「1つ以上」を意味すると解釈されるべきである)、不定冠詞「a」又は「an」による請求項の列挙の導入が、このような導入された請求項の列挙を含む任意の特定の請求項を、1つのこのような列挙のみを含む実施形態に限定することを意味すると考えられるべきではない。つまり、同じことが、請求項の列挙を導入するために使用される定冠詞の使用にも当てはまる。
さらに、用語「第1」、「第2」、「第3」等の使用は、必ずしも本明細書で特定の順序を暗示するために使用されない。通常、用語「第1」、「第2」、「第3」等は、異なる要素間を区別するために使用される。用語「第1」、「第2」、「第3」等が特定の順序を意味するという特定の表示がない場合、これらの用語は特定の順序を意味すると理解されるべきではない。
本明細書に記載された全ての例及び条件付き言語は、読者が本発明及び本発明が技術を更に発展させることに貢献する概念を理解するのを支援する教示目的を意図しており、そのような具体的に列挙された例及び条件に限定されないと解釈されるべきである。本開示の実施形態は詳細に記載されたが、本開示の精神及び範囲から逸脱することなく、これらに種々の変更、代替、及び選択が行われ得ることが理解されるべきである。
開示された実施形態の前述の説明は、当業者が本開示を実施し及び使用することを可能にするために提供された。これらの実施形態に対する種々の変更は、当業者に直ちに明らかになるだろう。また、本明細書に定められた一般的原理は、本開示の精神又は範囲から逸脱することなく他の実施形態に適用されてよい。したがって、本開示は、本明細書に示された実施形態に限定されることを意図せず、むしろ、本明細書に開示した原理及び新規な特徴と合致する最も広い範囲に従う。
以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) 検証されるべきユーザの属性に関する第1信頼機関からポリシ情報及び公開鍵を取得するステップと、
前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、
ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップと、
前記チャレンジクエリに応答するユーザからの応答を受信するステップであって、前記応答は、前記チャレンジクエリ、及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記第2信頼機関により汎用シークレット鍵に基づき生成された前記ユーザ固有シークレット鍵は、前記公開鍵及び前記ユーザの属性に対応する、ステップと、
前記応答に基づき、前記ユーザの属性を検証するステップと、
を含む方法。
(付記2) 前記ポリシ情報及び前記公開鍵は、ブロックチェーン上に発行される、付記1に記載の方法。
(付記3) 前記第1信頼機関は、ブロックチェーンへの投稿を検証する分散型機関である、付記2に記載の方法。
(付記4) 前記公開鍵及び前記汎用シークレット鍵は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムを用いて生成される、付記1に記載の方法。
(付記5) 前記チャレンジクエリを生成するステップは、前記公開鍵、前記ポリシ情報、及び前記検証者ランダム値を入力として使用して、CP-ABE暗号方式を用いて前記チャレンジクエリを生成するステップを含む、付記1に記載の方法。
(付記6) 前記応答は、CP-ABE復号動作が前記ユーザ固有シークレット鍵を用いて前記チャレンジクエリに対して実行されたとき、前記ユーザにより生成される、付記5に記載の方法。
(付記7) 前記検証は、前記ユーザの他の情報を発見可能にすることなく、前記ユーザの属性を検証する、付記1に記載の方法。
(付記8) 前記チャレンジクエリ及び前記応答は、前記ユーザ固有シークレット鍵を有しないで生成されたシミュレートされたチャレンジクエリ及びシミュレートされた応答と区別できない、付記1に記載の方法。
(付記9) 失敗する第2検証を実行するステップであって、前記第2検証は、前記チャレンジクエリを満たすための繰り返される試行に基づき生成される第2応答に基づき、更に、前記ポリシ情報に関連付けられたポリシを満たさない偽のユーザ固有シークレット鍵のセットの知識に基づき生成される、ステップ、を更に含む付記1に記載の方法。
(付記10) 前記第1信頼機関及び前記第2信頼機関は同じエンティティである、付記1に記載の方法。
(付記11) 命令を含む1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサにより実行されると、システムに動作を実行させるよう構成され、前記動作は、
検証されるべきユーザの属性に関する第1信頼機関からポリシ情報及び公開鍵を取得するステップと、
前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、
ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップと、
前記チャレンジクエリに応答するユーザからの応答を受信するステップであって、前記応答は、前記チャレンジクエリ、及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記第2信頼機関により汎用シークレット鍵に基づき生成された前記ユーザ固有シークレット鍵は、前記公開鍵及び前記ユーザの属性に対応する、ステップと、
前記応答に基づき、前記ユーザの属性を検証するステップと、
を含む、コンピュータ可読媒体。
(付記12) 前記ポリシ情報及び前記公開鍵は、ブロックチェーン上に発行される、付記11に記載のコンピュータ可読媒体。
(付記13) 前記第1信頼機関は、ブロックチェーンへの投稿を検証する分散型機関である、付記12に記載のコンピュータ可読媒体。
(付記14) 前記公開鍵及び前記汎用シークレット鍵は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムを用いて生成される、付記11に記載のコンピュータ可読媒体。
(付記15) 前記チャレンジクエリを生成するステップは、前記公開鍵、前記ポリシ情報、及び前記検証者ランダム値を入力として使用して、CP-ABE暗号方式を用いて前記チャレンジクエリを生成するステップを含む、付記11に記載のコンピュータ可読媒体。
(付記16) 前記応答は、CP-ABE復号動作が前記ユーザ固有シークレット鍵を用いて前記チャレンジクエリに対して実行されたとき、前記ユーザにより生成される、付記15に記載のコンピュータ可読媒体。
(付記17) 前記検証は、前記ユーザの他の情報を発見可能にすることなく、前記ユーザの属性を検証する、付記11に記載のコンピュータ可読媒体。
(付記18) 前記チャレンジクエリ及び前記応答は、前記ユーザ固有シークレット鍵を有しないで生成されたシミュレートされたチャレンジクエリ及びシミュレートされた応答と区別できない、付記11に記載のコンピュータ可読媒体。
(付記19) 前記動作は、失敗する第2検証を実行するステップであって、前記第2検証は、前記チャレンジクエリを満たすための繰り返される試行に基づき生成される第2応答に基づき、更に、前記ポリシ情報に関連付けられたポリシを満たさない偽のユーザ固有シークレット鍵のセットの知識に基づき生成される、ステップ、を更に含む、付記11に記載のコンピュータ可読媒体。
(付記20) 前記第1信頼機関及び前記第2信頼機関は同じエンティティである、付記11に記載のコンピュータ可読媒体。
(付記1) 検証されるべきユーザの属性に関する第1信頼機関からポリシ情報及び公開鍵を取得するステップと、
前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、
ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップと、
前記チャレンジクエリに応答するユーザからの応答を受信するステップであって、前記応答は、前記チャレンジクエリ、及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記第2信頼機関により汎用シークレット鍵に基づき生成された前記ユーザ固有シークレット鍵は、前記公開鍵及び前記ユーザの属性に対応する、ステップと、
前記応答に基づき、前記ユーザの属性を検証するステップと、
を含む方法。
(付記2) 前記ポリシ情報及び前記公開鍵は、ブロックチェーン上に発行される、付記1に記載の方法。
(付記3) 前記第1信頼機関は、ブロックチェーンへの投稿を検証する分散型機関である、付記2に記載の方法。
(付記4) 前記公開鍵及び前記汎用シークレット鍵は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムを用いて生成される、付記1に記載の方法。
(付記5) 前記チャレンジクエリを生成するステップは、前記公開鍵、前記ポリシ情報、及び前記検証者ランダム値を入力として使用して、CP-ABE暗号方式を用いて前記チャレンジクエリを生成するステップを含む、付記1に記載の方法。
(付記6) 前記応答は、CP-ABE復号動作が前記ユーザ固有シークレット鍵を用いて前記チャレンジクエリに対して実行されたとき、前記ユーザにより生成される、付記5に記載の方法。
(付記7) 前記検証は、前記ユーザの他の情報を発見可能にすることなく、前記ユーザの属性を検証する、付記1に記載の方法。
(付記8) 前記チャレンジクエリ及び前記応答は、前記ユーザ固有シークレット鍵を有しないで生成されたシミュレートされたチャレンジクエリ及びシミュレートされた応答と区別できない、付記1に記載の方法。
(付記9) 失敗する第2検証を実行するステップであって、前記第2検証は、前記チャレンジクエリを満たすための繰り返される試行に基づき生成される第2応答に基づき、更に、前記ポリシ情報に関連付けられたポリシを満たさない偽のユーザ固有シークレット鍵のセットの知識に基づき生成される、ステップ、を更に含む付記1に記載の方法。
(付記10) 前記第1信頼機関及び前記第2信頼機関は同じエンティティである、付記1に記載の方法。
(付記11) 命令を含む1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサにより実行されると、システムに動作を実行させるよう構成され、前記動作は、
検証されるべきユーザの属性に関する第1信頼機関からポリシ情報及び公開鍵を取得するステップと、
前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、
ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップと、
前記チャレンジクエリに応答するユーザからの応答を受信するステップであって、前記応答は、前記チャレンジクエリ、及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記第2信頼機関により汎用シークレット鍵に基づき生成された前記ユーザ固有シークレット鍵は、前記公開鍵及び前記ユーザの属性に対応する、ステップと、
前記応答に基づき、前記ユーザの属性を検証するステップと、
を含む、コンピュータ可読媒体。
(付記12) 前記ポリシ情報及び前記公開鍵は、ブロックチェーン上に発行される、付記11に記載のコンピュータ可読媒体。
(付記13) 前記第1信頼機関は、ブロックチェーンへの投稿を検証する分散型機関である、付記12に記載のコンピュータ可読媒体。
(付記14) 前記公開鍵及び前記汎用シークレット鍵は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムを用いて生成される、付記11に記載のコンピュータ可読媒体。
(付記15) 前記チャレンジクエリを生成するステップは、前記公開鍵、前記ポリシ情報、及び前記検証者ランダム値を入力として使用して、CP-ABE暗号方式を用いて前記チャレンジクエリを生成するステップを含む、付記11に記載のコンピュータ可読媒体。
(付記16) 前記応答は、CP-ABE復号動作が前記ユーザ固有シークレット鍵を用いて前記チャレンジクエリに対して実行されたとき、前記ユーザにより生成される、付記15に記載のコンピュータ可読媒体。
(付記17) 前記検証は、前記ユーザの他の情報を発見可能にすることなく、前記ユーザの属性を検証する、付記11に記載のコンピュータ可読媒体。
(付記18) 前記チャレンジクエリ及び前記応答は、前記ユーザ固有シークレット鍵を有しないで生成されたシミュレートされたチャレンジクエリ及びシミュレートされた応答と区別できない、付記11に記載のコンピュータ可読媒体。
(付記19) 前記動作は、失敗する第2検証を実行するステップであって、前記第2検証は、前記チャレンジクエリを満たすための繰り返される試行に基づき生成される第2応答に基づき、更に、前記ポリシ情報に関連付けられたポリシを満たさない偽のユーザ固有シークレット鍵のセットの知識に基づき生成される、ステップ、を更に含む、付記11に記載のコンピュータ可読媒体。
(付記20) 前記第1信頼機関及び前記第2信頼機関は同じエンティティである、付記11に記載のコンピュータ可読媒体。
110 信頼機関
120 検証者
130 証明者
120 検証者
130 証明者
Claims (20)
- 検証されるべきユーザの属性に関する第1信頼機関からポリシ情報及び公開鍵を取得するステップと、
前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、
ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップと、
前記チャレンジクエリに応答するユーザからの応答を受信するステップであって、前記応答は、前記チャレンジクエリ、及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記第2信頼機関により汎用シークレット鍵に基づき生成された前記ユーザ固有シークレット鍵は、前記公開鍵及び前記ユーザの属性に対応する、ステップと、
前記応答に基づき、前記ユーザの属性を検証するステップと、
を含む方法。 - 前記ポリシ情報及び前記公開鍵は、ブロックチェーン上に発行される、請求項1に記載の方法。
- 前記第1信頼機関は、ブロックチェーンへの投稿を検証する分散型機関である、請求項2に記載の方法。
- 前記公開鍵及び前記汎用シークレット鍵は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムを用いて生成される、請求項1に記載の方法。
- 前記チャレンジクエリを生成するステップは、前記公開鍵、前記ポリシ情報、及び前記検証者ランダム値を入力として使用して、CP-ABE暗号方式を用いて前記チャレンジクエリを生成するステップを含む、請求項1に記載の方法。
- 前記応答は、CP-ABE復号動作が前記ユーザ固有シークレット鍵を用いて前記チャレンジクエリに対して実行されたとき、前記ユーザにより生成される、請求項5に記載の方法。
- 前記検証は、前記ユーザの他の情報を発見可能にすることなく、前記ユーザの属性を検証する、請求項1に記載の方法。
- 前記チャレンジクエリ及び前記応答は、前記ユーザ固有シークレット鍵を有しないで生成されたシミュレートされたチャレンジクエリ及びシミュレートされた応答と区別できない、請求項1に記載の方法。
- 失敗する第2検証を実行するステップであって、前記第2検証は、前記チャレンジクエリを満たすための繰り返される試行に基づき生成される第2応答に基づき、更に、前記ポリシ情報に関連付けられたポリシを満たさない偽のユーザ固有シークレット鍵のセットの知識に基づき生成される、ステップ、を更に含む請求項1に記載の方法。
- 前記第1信頼機関及び前記第2信頼機関は同じエンティティである、請求項1に記載の方法。
- 命令を含む1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサにより実行されると、システムに動作を実行させるよう構成され、前記動作は、
検証されるべきユーザの属性に関する第1信頼機関からポリシ情報及び公開鍵を取得するステップと、
前記公開鍵、前記ポリシ情報、及び検証者ランダム値に基づき、チャレンジクエリを生成するステップと、
ユーザの属性を検証するために、前記ユーザへ前記チャレンジクエリを送信するステップと、
前記チャレンジクエリに応答するユーザからの応答を受信するステップであって、前記応答は、前記チャレンジクエリ、及び前記ユーザにより第2信頼機関から取得されたユーザ固有シークレット鍵に基づき、前記第2信頼機関により汎用シークレット鍵に基づき生成された前記ユーザ固有シークレット鍵は、前記公開鍵及び前記ユーザの属性に対応する、ステップと、
前記応答に基づき、前記ユーザの属性を検証するステップと、
を含む、コンピュータ可読媒体。 - 前記ポリシ情報及び前記公開鍵は、ブロックチェーン上に発行される、請求項11に記載のコンピュータ可読媒体。
- 前記第1信頼機関は、ブロックチェーンへの投稿を検証する分散型機関である、請求項12に記載のコンピュータ可読媒体。
- 前記公開鍵及び前記汎用シークレット鍵は、属性ベース暗号(Ciphertext-Policy Attribute-Based Encryption (CP-ABE))マスタシークレット鍵生成アルゴリズムを用いて生成される、請求項11に記載のコンピュータ可読媒体。
- 前記チャレンジクエリを生成するステップは、前記公開鍵、前記ポリシ情報、及び前記検証者ランダム値を入力として使用して、CP-ABE暗号方式を用いて前記チャレンジクエリを生成するステップを含む、請求項11に記載のコンピュータ可読媒体。
- 前記応答は、CP-ABE復号動作が前記ユーザ固有シークレット鍵を用いて前記チャレンジクエリに対して実行されたとき、前記ユーザにより生成される、請求項15に記載のコンピュータ可読媒体。
- 前記検証は、前記ユーザの他の情報を発見可能にすることなく、前記ユーザの属性を検証する、請求項11に記載のコンピュータ可読媒体。
- 前記チャレンジクエリ及び前記応答は、前記ユーザ固有シークレット鍵を有しないで生成されたシミュレートされたチャレンジクエリ及びシミュレートされた応答と区別できない、請求項11に記載のコンピュータ可読媒体。
- 前記動作は、失敗する第2検証を実行するステップであって、前記第2検証は、前記チャレンジクエリを満たすための繰り返される試行に基づき生成される第2応答に基づき、更に、前記ポリシ情報に関連付けられたポリシを満たさない偽のユーザ固有シークレット鍵のセットの知識に基づき生成される、ステップ、を更に含む、請求項11に記載のコンピュータ可読媒体。
- 前記第1信頼機関及び前記第2信頼機関は同じエンティティである、請求項11に記載のコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/138697 | 2020-12-30 | ||
US17/138,697 US20220209965A1 (en) | 2020-12-30 | 2020-12-30 | Repudiable credentials |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022104875A true JP2022104875A (ja) | 2022-07-12 |
Family
ID=82118261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021192429A Pending JP2022104875A (ja) | 2020-12-30 | 2021-11-26 | 否認可能な証明書 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220209965A1 (ja) |
JP (1) | JP2022104875A (ja) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892887B2 (en) * | 2006-10-10 | 2014-11-18 | Qualcomm Incorporated | Method and apparatus for mutual authentication |
US10255419B1 (en) * | 2009-06-03 | 2019-04-09 | James F. Kragh | Identity validation and verification system and associated methods |
US9805213B1 (en) * | 2009-06-03 | 2017-10-31 | James F. Kragh | Identity validation and verification system and associated methods |
US8582829B2 (en) * | 2010-11-03 | 2013-11-12 | Gary S. Shuster | Online identity verification |
US10129028B2 (en) * | 2015-07-13 | 2018-11-13 | Fujitsu Limited | Relational encryption for password verification |
CA3002034A1 (en) * | 2015-10-14 | 2017-04-20 | Cambridge Blockchain, LLC | Systems and methods for managing digital identities |
US20190342096A1 (en) * | 2016-02-11 | 2019-11-07 | Evident ID, Inc. | Online identity and credential verification systems and methods protecting user data |
CN109905877B (zh) * | 2017-12-08 | 2020-11-10 | 大唐移动通信设备有限公司 | 通信网络系统的消息验证方法、通信方法和通信网络系统 |
US20190320039A1 (en) * | 2018-04-13 | 2019-10-17 | Mastercard International Incorporated | Systems and methods for use in providing digital identities |
US11321476B2 (en) * | 2018-06-26 | 2022-05-03 | SRI Intemational | Selectively sharing data in unstructured data containers using attribute based encryption |
US11316662B2 (en) * | 2018-07-30 | 2022-04-26 | Koninklijke Philips N.V. | Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption |
WO2021030388A1 (en) * | 2019-08-13 | 2021-02-18 | Mastercard International Incorporated | Systems and methods for use in provisioning tokens associated with digital identities |
US20210110397A1 (en) * | 2019-10-14 | 2021-04-15 | Mastercard International Incorporated | Systems and methods for use in providing identity services |
KR20220014095A (ko) * | 2020-07-28 | 2022-02-04 | 삼성에스디에스 주식회사 | 블록체인 기반의 데이터 분산 관리 방법 및 이를 위한 장치 |
-
2020
- 2020-12-30 US US17/138,697 patent/US20220209965A1/en not_active Abandoned
-
2021
- 2021-11-26 JP JP2021192429A patent/JP2022104875A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220209965A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853801B2 (en) | Methods and devices for protecting sensitive data of transaction activity based on smart contract in blockchain | |
US20210351931A1 (en) | System and method for securely processing an electronic identity | |
US11533164B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11038883B2 (en) | System and method for decentralized-identifier creation | |
US11496312B2 (en) | Collecting surveys with secure identities via a blockchain | |
RU2747947C2 (ru) | Системы и способы персональной идентификации и верификации | |
WO2021000337A1 (en) | System and method for mapping decentralized identifiers to real-world entities | |
JP6907679B2 (ja) | 暗号通貨ベースのイベント参加検証 | |
AU2017225928A1 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
CN111753014B (zh) | 基于区块链的身份认证方法及装置 | |
TW202223793A (zh) | 驗證系統及方法 | |
CN112966309A (zh) | 一种基于区块链的业务实现方法和装置 | |
CN113364763B (zh) | 可验证声明生成方法、装置、电子设备及存储介质 | |
JP2022104875A (ja) | 否認可能な証明書 | |
TWI670990B (zh) | 自動連線安全無線網路的方法與系統 | |
Alizadeh Saveh | A PERMISSIONED BLOCKCHAIN-BASED MODEL FOR DIGITAL FORENSICS | |
CN113159774A (zh) | 一种区块链中可监管零知识证明验证方法及系统 |