IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特表2024-522133検証可能な請求のための信頼できる管理の連鎖
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-11
(54)【発明の名称】検証可能な請求のための信頼できる管理の連鎖
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240604BHJP
【FI】
H04L9/32 200Z
H04L9/32 200B
H04L9/32 200F
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023574228
(86)(22)【出願日】2022-05-06
(85)【翻訳文提出日】2024-01-05
(86)【国際出願番号】 US2022027952
(87)【国際公開番号】W WO2022256119
(87)【国際公開日】2022-12-08
(31)【優先権主張番号】17/334,869
(32)【優先日】2021-05-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】マードック,ブランドン・ブライアン
(72)【発明者】
【氏名】パテル,アンクール
(72)【発明者】
【氏名】ザックス,エリック・クリストファー
(57)【要約】
第1の管理の連鎖の検証可能な請求は、第1のエンティティから第2のエンティティによって受け取られる。第1の管理の連鎖の検証可能な請求は、第1のエンティティによって署名され、オブジェクトが第1のエンティティの管理下にあったことを指定する。分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証する。第2の管理の連鎖の検証可能な請求が生成され、これには第1の管理の連鎖の検証可能な請求が埋め込まれ、第2のエンティティによって署名される。第2の管理の連鎖の検証可能な請求は分散台帳に記録される。第2の管理の連鎖の検証可能な請求は、第3のエンティティに提供される。第2の管理の連鎖の検証可能な請求は、オブジェクトが第2のエンティティの管理下にあったことを第3のエンティティに指定するように構成されている。
【特許請求の範囲】
【請求項1】
分散台帳に裏付けられた分散識別子(DID)を実装する、分散ネットワークに管理の連鎖を記録するための計算システムであって、
1つまたは複数のプロセッサと、
コンピュータ実行可能命令を有する1つまたは複数のコンピュータ可読記憶媒体と
を含み、前記コンピュータ実行可能命令は、前記1つまたは複数のプロセッサによって実行されると、前記計算システムに、
第2のエンティティにおいて、第1のエンティティから第1の管理の連鎖の検証可能な請求を受け取ることであって、前記第1の管理の連鎖の検証可能な請求は、前記第1のエンティティによって署名され、前記第1の管理の連鎖の検証可能な請求が受け取られた時点でオブジェクトが前記第1のエンティティの管理下にあったことを指定する、受け取ることと、
分散台帳にアクセスして、前記第1の管理の連鎖の検証可能な請求を検証することと、
第2の管理の連鎖の検証可能な請求を生成することであって、前記第2の管理の連鎖の検証可能な請求は、その中に前記第1の管理の連鎖の検証可能な請求を埋め込み、前記第2のエンティティによって署名される、生成することと、
前記第2の管理の連鎖の検証可能な請求の少なくとも一部を前記分散台帳に記録することと、
前記第2の管理の連鎖の検証可能な請求を第3のエンティティに提供することであって、前記第2の管理の連鎖の検証可能な請求は、前記第2の管理の連鎖の検証可能な請求が前記第3のエンティティに提供された時点で、前記オブジェクトが前記第2のエンティティの管理下にあったことを前記第3のエンティティに指定するように構成される、提供することと
を実行させるように構成された、
計算システム。
【請求項2】
請求項1に記載の計算システムであって、前記第1のエンティティは、前記管理の連鎖を開始するエンティティである、計算システム。
【請求項3】
請求項1に記載の計算システムであって、前記第1のエンティティは、前記オブジェクトを作成するエンティティである、計算システム。
【請求項4】
請求項1に記載の計算システムであって、前記第2の管理の連鎖の検証可能な請求は、前記オブジェクトに対して行われた修復または変更を指定する請求を含む、計算システム。
【請求項5】
請求項1に記載の計算システムであって、前記第2の管理の連鎖の検証可能な請求は、信頼できるエンティティによってなされた請求を含む、計算システム。
【請求項6】
請求項1に記載の計算システムであって、前記オブジェクトはデジタルオブジェクトであり、前記第1の管理の連鎖の検証可能な請求は、前記デジタルオブジェクトのメタデータに含まれる、計算システム。
【請求項7】
請求項1に記載の計算システムであって、前記第1の管理の連鎖の検証可能な請求は、前記第1の管理の連鎖の検証可能な請求のメタデータ内に前記オブジェクトのデジタル画像を含む、計算システム。
【請求項8】
分散台帳に裏付けられた分散識別子(DID)を実装する、分散ネットワークに管理の連鎖を記録するための方法であって、
第2のエンティティにおいて、第1のエンティティから第1の管理の連鎖の検証可能な請求を受け取るステップであって、前記第1の管理の連鎖の検証可能な請求は、前記第1のエンティティによって署名され、前記第1の管理の連鎖の検証可能な請求が受け取られた時点でオブジェクトが前記第1のエンティティの管理下にあったことを指定する、ステップと、
分散台帳にアクセスして、前記第1の管理の連鎖の検証可能な請求を検証するステップと、
第2の管理の連鎖の検証可能な請求を生成するステップであって、前記第2の管理の連鎖の検証可能な請求は、その中に前記第1の管理の連鎖の検証可能な請求を埋め込み、前記第2のエンティティによって署名される、ステップと、
前記第2の管理の連鎖の検証可能な請求の少なくとも一部を前記分散台帳に記録するステップと、
前記第2の管理の連鎖の検証可能な請求を第3のエンティティに提供するステップであって、前記第2の管理の連鎖の検証可能な請求は、前記第2の管理の連鎖の検証可能な請求が前記第3のエンティティに提供された時点で前記オブジェクトが前記第2のエンティティの管理下にあったことを前記第3のエンティティに指定するように構成される、ステップと
を含む方法。
【請求項9】
分散台帳に裏付けられた分散識別子(DID)を実装する、分散ネットワークにおける管理の連鎖を検証するための計算システムであって、
1つまたは複数のプロセッサと、
コンピュータ実行可能命令を有する1つまたは複数のコンピュータ可読記憶媒体と
を含み、前記コンピュータ実行可能命令は、前記1つまたは複数のプロセッサによって実行されると、前記計算システムに、
第3のエンティティにおいて、第1のエンティティからオブジェクトに関連する第1の管理の連鎖の検証可能な請求を受け取ることであって、前記第1の管理の連鎖の検証可能な請求は、前記第1のエンティティによって生成された第1の署名を含み、その中に前記第1のエンティティが第2のエンティティから受け取った前記オブジェクトに関連する第2の管理の連鎖の検証可能な請求が埋め込まれており、前記第2の管理の連鎖の検証可能な請求は、前記第2のエンティティによって生成された第2の署名を含む、受け取ることと、
分散台帳にアクセスして、前記第1の管理の連鎖の検証可能な請求を検証することであって、前記第1の管理の連鎖の検証可能な請求の検証は、前記第1の管理の連鎖の検証可能な請求が前記第3のエンティティによって受け取られた時点で、前記第1のエンティティが前記オブジェクトの適切な管理権を有していたことを示す、検証することと、
前記第1の管理の連鎖の検証可能な請求の検証が成功すると、前記分散台帳にアクセスして、前記第2の管理の連鎖の検証可能な請求を検証することであって、前記第2の管理の連鎖の検証可能な請求の検証は、前記第2の管理の連鎖の検証可能な請求が前記第1のエンティティによって受け取られた時点で、前記第2のエンティティが前記オブジェクトの適切な管理権を有していたことを示す、検証することと
を実行させるように構成された、
計算システム。
【請求項10】
請求項9に記載の計算システムであって、前記オブジェクトはデジタルオブジェクトであり、前記第1の管理の連鎖の検証可能な請求は前記デジタルオブジェクトのメタデータに含まれる、計算システム。
【発明の詳細な説明】
【背景技術】
【0001】
デジタルアイデンティティは、さまざまなデジタルコンテキストにわたってエンティティを追跡する機構である。アイデンティティが決定されると、そのアイデンティティを持つエンティティに関連して適切なアクションを実行できる。一例として、認可、特権、カスタマイズ、およびアクセスをエンティティに提供できる。したがって、デジタルアイデンティティは、認可と特権を適切に封じ込めて情報を適切な信頼境界に確実に制限するための重要な機構である。デジタルアイデンティティは、データおよびカスタマイズにアクセスする際に、ポジティブで一貫したユーザエクスペリエンスを確保するための重要な機構でもある。
【0002】
現在使用されている、アイデンティティを証明する文書や記録のほとんどは、政府、企業、学校、雇用主、またはその他のサービスセンターもしくは規制組織などの集中組織によって発行されている。これらの組織は多くの場合、集中アイデンティティ管理(management)システムですべてのメンバーのアイデンティティを維持する。集中アイデンティティ管理システムは、組織が、発行されたアイデンティティ、その認証、認可、役割、および特権を管理する(manage)ために使用される集中情報システムである。集中アイデンティティ管理システムは、専門的に保守されたハードウェアおよびソフトウェアを使用することが多いため、安全であると考えられている。通常、アイデンティティ発行組織は、組織に人物を登録するための条件と要件を設定する。当事者が他の当事者のアイデンティティを検証する必要がある場合、検証する当事者は、多くの場合、集中アイデンティティ管理システムを経由して、相手方のアイデンティティを検証および/または認証する情報を取得する必要がある。
【0003】
分散識別子(DID)は、より新しいタイプの識別子である。分散識別子は、集中レジストリ、アイデンティティプロバイダ、または認証局から独立している。分散台帳技術(ブロックチェーンなど)は、完全に分散された識別子を使用する機会を提供する。分散台帳技術は、分散台帳を使用して、2つ以上の当事者間のトランザクションを検証可能な方法で記録する。トランザクションが記録されると、台帳のすべての後続セクションを変更しない限り、台帳のセクション内のデータを遡って変更することはできない。これにより、分散台帳に記録されたデータの改ざんが困難または不可能な、かなり安全なプラットフォームが提供される。DIDは通常、集中管理システムによって制御されず、DIDの所有者によって所有されるため、DIDは権限のないアイデンティティと呼ばれることがある。
【0004】
本明細書で特許請求される主題は、あらゆる欠点を解決する実施形態、または上記のような環境でのみ動作する実施形態に限定されない。むしろ、この背景は、本明細書で説明するいくつかの実施形態が実施され得る1つの例示的な技術分野を説明するためにのみ提供される。
【発明の概要】
【0005】
この概要は、以下の発明を実施するための形態でさらに説明される概念の選択を簡略化した形式で紹介するために提供されている。この発明の概要は、特許請求された主題の主要な特徴または本質的な特徴を識別することを意図したものではなく、特許請求された主題の範囲を決定する際の補助として使用されることを意図したものでもない。
【0006】
計算技術は、「検証可能な請求または証明書」と呼ばれるデータ構造を提供する。これらの技術では、請求発行者が対象について1つまたは複数の請求を作成し、検証可能な請求を生成する。検証可能な請求には、これらの請求、ならびに請求が改ざんされておらず、実際に請求発行者によって発行されたものであることを証明するための証明指示が含まれる。検証可能な請求には、検証可能な請求の使用が有効な期間を定義するか、または検証可能な請求の使用が認可される特定の回数を定義する持続期間情報メタデータも含まれることがよくある。分散環境では、検証可能な請求には請求発行者のDIDも含まれる。次に、請求発行者は、請求の真実性に依存する任意の信頼当事者に提示するために、検証可能な請求を請求保持者に提供する。
【0007】
一例として、請求発行者は、運転免許証の発行を担当する政府機関に関連する計算システムであり得る。政府機関の計算システムは、生年月日、居住地住所、体重、目の色、髪の色、運転認可、運転認可の制限など、国民に関する請求を含む検証可能な請求を生成し得る。政府機関の計算システムは、検証可能な請求を国民に発行する。国民が法の執行により止められた場合、国民の計算システムは検証可能な請求を提示し得、これにより、法の執行に関連する計算システムは証明指示を使用して、請求が政府機関によって発行されたものであり、実際に発行以来改ざんされていないことを検証できる。別の例では、予防接種計算システムを提供する組織が、子供の親に対して、子供が特定の予防接種を受けたと主張する請求を発行し得る。次に、親の計算システムは、これらの予防接種請求を、子供が通う学校に提示することができる。上記の例では、信頼当事者は法執行機関と子供が通う学校、より具体的には法執行機関と学校の計算システムであった。
【0008】
いくつかの検証可能な請求は、価値があると考えられ、さまざまなエンティティによって売買できる特定のオブジェクトを対象とする。例えば、そのようなオブジェクトは、デジタルもしくは物理的な芸術作品、または家具もしくは車などの骨董品であり得る。したがって、第1のエンティティがオブジェクトを作成することができる。あるいは、第1のエンティティは、オブジェクトが真正であることを妥当性検査できるアートブローカーなどのエンティティであってもよい。次に、第1のエンティティはオブジェクトを第2のエンティティに販売することができる。第2のエンティティは、その作成者またはアートブローカーなどのエンティティからオブジェクトを受け取ったため、第2のエンティティは通常、そのオブジェクトが真正であるという高い確信を持つ。しかし、後日、第2のエンティティがオブジェクトを第3のエンティティに販売することを選択する場合があり、次いで第3のエンティティがそのオブジェクトが第4のエンティティに販売する場合がある、というようになる。
【0009】
第1のエンティティからの管理の連鎖(chain of custody)が長くなるにつれて、購入エンティティがそのオブジェクトが真正であるかどうかを知ることがますます困難になり得る。例えば、ある時点で、エンティティがオブジェクトの不正なバージョンを販売しようとし得る。あるいは、オブジェクトを所有していないエンティティが、自分が所有していると主張を試みる場合があり、これを利用して不正な販売を開始しようとし得る。多くの場合、購入エンティティは、そのオブジェクトが真正であるかどうか、および販売エンティティがそのオブジェクトを所有しているかどうかを確認する方法がない状態になる。
【0010】
本明細書に提示される実施形態は、上述の問題に対する新規な解決策を提供する。本明細書に提示される実施形態は、オブジェクトの管理の連鎖を分散台帳に記録することを可能にする。その後、後続の各購入者がこの管理の連鎖にアクセスして検証できることで、購入しているオブジェクトが真正であることを保証するのに役立ち得る。例えば、第1のエンティティは、第1の管理の連鎖の検証可能な請求を生成し、次いで、これ(または少なくとも検証可能な請求の表現)をブロックチェーンに記録できる。第2のエンティティがオブジェクトの購入を希望する場合、分散台帳にアクセスでき、第1の管理の連鎖の検証可能な請求を検証できる。第1の管理の連鎖の検証可能な請求が検証されると、第2のエンティティは、購入する前にそのオブジェクトが真正であるという確信を持つことができる。
【0011】
次に、第2のエンティティは、第1の管理の連鎖の検証可能な請求を埋め込む第2の管理の連鎖の検証可能な請求を生成し、次いで、これを分散台帳に記録することができる。第3のエンティティがオブジェクトの購入を希望する場合、分散台帳にアクセスでき、第2の管理の連鎖の検証可能な請求と、埋め込まれた第1の管理の連鎖の検証可能な請求の両方を検証することができる。第1および第2の管理の連鎖の検証可能な請求が検証されると、第3のエンティティは、そのオブジェクトが、購入する前に真正であるという確信を持つことができる。追加の管理の連鎖の検証可能な請求を生成して埋め込み、それらを分散台帳に記録するプロセスは、オブジェクトの所有権が変更されるたびに発生し得るため、後続のすべての購入者に信頼が生まれる。
【0012】
一実施形態では、第1の管理の連鎖の検証可能な請求が、第1のエンティティから第2のエンティティによって受け取られる。第1の管理の連鎖の検証可能な請求は、第1のエンティティによって署名され、第1の管理の連鎖の検証可能な請求が受け取られた時点で、オブジェクトが第1のエンティティの管理(custody)下にあったことを指定する。分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証する。第2の管理の連鎖の検証可能な請求が生成される。第2の管理の連鎖の検証可能な請求には、第1の管理の連鎖の検証可能な請求が埋め込まれており、第2のエンティティによって署名されている。第2の管理の連鎖の検証可能な請求の少なくとも一部が分散台帳に記録される。第2の管理の連鎖の検証可能な請求は、第3のエンティティに提供される。第2の管理の連鎖の検証可能な請求は、第2の管理の連鎖の検証可能な請求が第3のエンティティに提供された時点で、オブジェクトが第2のエンティティの管理下にあったことを第3のエンティティに指定するように構成される。
【0013】
一実施形態では、オブジェクトに関連する第1の管理の連鎖の検証可能な請求が、第1のエンティティから第3のエンティティによって受け取られる。第1の管理の連鎖の検証可能な請求は、第1のエンティティによって生成された第1の署名を含み、第1のエンティティが第2のエンティティから受け取ったオブジェクトに関連する第2の管理の連鎖の検証可能な請求を埋め込む。第2の管理の連鎖の検証可能な請求には、第2のエンティティによって生成された第2の署名が含まれる。分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証する。第1の管理の連鎖の検証可能な請求の検証は、第1の管理の連鎖の検証可能な請求が第3のエンティティによって受け取られた時点で、第1のエンティティがオブジェクトの適切な管理権(custody)を有していたことを示す。第1の管理の連鎖の検証可能な請求の検証が成功すると、分散台帳にアクセスして第2の管理の連鎖の検証可能な請求を検証する。第2の管理の連鎖の検証可能な請求の検証は、第2の管理の連鎖の検証可能な請求が第1のエンティティによって受け取られた時点で、第2のエンティティがオブジェクトの適切な管理権を有していたことを示す。
【0014】
追加の特徴および利点は、以下の説明に記載され、部分的にはその説明から明らかになるか、または本明細書の教示を実践することによって学習され得る。本発明の特徴および利点は、添付の特許請求の範囲で特に指摘された手段および組合せによって実現および獲得することができる。本発明の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになるか、または以下に記載する本発明の実施によって学習され得る。
【0015】
上記およびその他の利点もしくは特徴を得ることができる方法を説明するために、上で簡単に説明した主題のより詳細な説明は、添付の図面に示される特定の実施形態を参照することによって行われる。これらの図面は典型的な実施形態のみを示しており、したがって範囲を限定するものとみなされるべきではないことを理解して、実施形態は、添付の図面を使用することによってさらに具体的かつ詳細に記載および説明される。
【図面の簡単な説明】
【0016】
図1】本明細書で説明される原理が採用され得る例示的な計算システムを示す図である。
図2】分散識別または識別子(DID)を作成するための環境例を示す図である。
図3】さまざまなDID管理(management)動作およびサービスの環境例を示す図である。
図4】分散パーソナル記憶装置またはアイデンティティハブの例を示す図である。
図5】本明細書で説明する原理が実装される環境例を示す図である。
図6A】請求の例を示す図である。
図6B】検証可能な請求の例を示す図である。
図7A】分散ネットワークにおける管理の連鎖の記録と検証に使用できる環境例を示す図である。
図7B】真正性および管理の連鎖の請求の例を示す図である。
図7C】一連の元の(originating)管理の連鎖の検証可能な請求の例を示す図である。
図7D】別の例示的な管理の連鎖の請求を示す図である。
図7E】元の管理の連鎖の検証可能な請求が埋め込まれた管理の連鎖の検証可能な請求の例を示す図である。
図7F】別の例示的な管理の連鎖の請求を示す図である。
図7G】元の管理の連鎖の検証可能な請求と、その中に埋め込まれた別の管理の連鎖の検証可能な請求とを有する管理の連鎖の検証可能な請求の例を示す図である。
図7H図7Aの環境の代替実施形態を示す図である。
図7I図7Aの環境の代替実施形態を示す図である。
図7J】修復検証可能な請求を含む管理の連鎖の検証可能な請求の例を示す図である。
図7K】支援(endorsement)検証可能な請求を含む管理の連鎖の検証可能な請求の例を示す図である。
図8】複数の管理の連鎖の検証可能な請求を検証するフローの例を示す図である。
図9】元の管理の連鎖の検証可能な請求の代替実施形態を示す図である。
図10】分散台帳に裏付けられた分散識別子(DID)を実装する分散ネットワークにおいて管理の連鎖を記録するための例示的な方法のフローチャートを示す図である。
図11】分散台帳に裏付けられた分散識別子(DID)を実装する分散ネットワークにおける管理の連鎖を検証するための例示的な方法のフローチャートを示す図である。
【発明を実施するための形態】
【0017】
一実施形態では、第1の管理の連鎖の検証可能な請求が、第1のエンティティから第2のエンティティによって受け取られる。第1の管理の連鎖の検証可能な請求は、第1のエンティティによって署名され、第1の管理の連鎖の検証可能な請求が受け取られた時点で、オブジェクトが第1のエンティティの管理下にあったことを指定する。分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証する。第2の管理の連鎖の検証可能な請求が生成される。第2の管理の連鎖の検証可能な請求には、第1の管理の連鎖の検証可能な請求が埋め込まれており、第2のエンティティによって署名されている。第2の管理の連鎖の検証可能な請求の少なくとも一部が分散台帳に記録される。第2の管理の連鎖の検証可能な請求は、第3のエンティティに提供される。第2の管理の連鎖の検証可能な請求は、第2の管理の連鎖の検証可能な請求が第3のエンティティに提供された時点で、オブジェクトが第2のエンティティの管理下にあったことを第3のエンティティに指定するように構成される。
【0018】
一実施形態では、オブジェクトに関連する第1の管理の連鎖の検証可能な請求が、第1のエンティティから第3のエンティティによって受け取られる。第1の管理の連鎖の検証可能な請求は、第1のエンティティによって生成された第1の署名を含み、第1のエンティティが第2のエンティティから受け取ったオブジェクトに関連する第2の管理の連鎖の検証可能な請求を埋め込む。第2の管理の連鎖の検証可能な請求には、第2のエンティティによって生成された第2の署名が含まれる。分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証する。第1の管理の連鎖の検証可能な請求の検証は、第1の管理の連鎖の検証可能な請求が第3のエンティティによって受け取られた時点で、第1のエンティティがオブジェクトの適切な管理権を有していたことを示す。第1の管理の連鎖の検証可能な請求の検証が成功すると、分散台帳にアクセスして第2の管理の連鎖の検証可能な請求が検証される。第2の管理の連鎖の検証可能な請求の検証は、第2の管理の連鎖の検証可能な請求が第1のエンティティによって受け取られた時点で、第2のエンティティがオブジェクトの適切な管理権を有していたことを示す。
【0019】
本明細書で説明する原理は計算システムのコンテキストで実行されるため、計算システムのいくつかの導入的な説明は図1を参照して説明される。次に、この説明は、残りの図に関して本明細書に開示される実施形態の原理に戻る。
【0020】
計算システムは現在、ますますさまざまな形をとっている。計算システムは、例えば、ハンドヘルドデバイス、アプライアンス、ラップトップコンピュータ、デスクトップコンピュータ、メインフレーム、分散計算システム、データセンター、またはウェアラブル(例えばメガネ)など、従来計算システムとは考えられていなかったデバイスであってもよい。この説明および特許請求の範囲において、「計算システム」という用語は、任意のデバイスまたはシステム(またはそれらの組合せ)を含むものとして広く定義され、これは、少なくとも1つの物理的かつ有形のプロセッサと、プロセッサによって実行されるコンピュータ実行可能命令を有することができる物理的かつ有形のメモリとを含む。メモリは任意の形式をとり、計算システムの性質と形式によって決まる。計算システムはネットワーク環境上に分散され、複数の構成計算システムを含む。
【0021】
図1に示すように、その最も基本的な構成では、計算システム100は、通常、少なくとも1つのハードウェア処理ユニット102およびメモリ104を含む。ハードウェア処理ユニット102は、汎用プロセッサを含み、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または任意の他の専門化された回路も含む。メモリ104は物理システムメモリであり、揮発性、不揮発性、またはその2つのいくつかの組合せである。「メモリ」という用語は、本明細書では、物理記憶媒体などの不揮発性大容量記憶装置を指すためにも使用される。計算システムが分散されている場合、処理、メモリ、および記憶装置の機能も分散される。
【0022】
計算システム100はまた、しばしば「実行可能コンポーネント」と呼ばれる複数の構造をその上に有する。例えば、計算システム100のメモリ104は、実行可能コンポーネント106を含むものとして示されている。「実行可能コンポーネント」という用語は、ソフトウェア、ハードウェア、またはそれらの組合せであり得る構造として計算分野の当業者によく理解されている構造の名前である。例えば、ソフトウェアに実装される場合、当業者であれば、実行可能コンポーネントの構造にはソフトウェアオブジェクト、ルーチン、方法などが含まれ、計算システムで実行され、そのような実行可能コンポーネントが計算システムのヒープに存在するかどうか、または実行可能コンポーネントがコンピュータ可読記憶媒体に存在するかどうかを理解するであろう。
【0023】
このような場合には、当業者は、実行可能コンポーネントの構造がコンピュータ可読媒体上に存在するため、計算システムの1つまたは複数のプロセッサによって(例えば、プロセッサスレッドによって)解釈されると、計算システムに機能が実行されることを認識するであろう。このような構造は、プロセッサによって直接コンピュータで読み取り可能である(実行可能コンポーネントがバイナリの場合と同様)。あるいは、構造は、プロセッサによって直接解釈可能なそのようなバイナリを生成するために、解釈可能であるおよび/またはコンパイル(単一ステージまたは複数ステージで)されるように構造化される。実行可能コンポーネントの構造例のそのような理解は、「実行可能コンポーネント」という用語を使用する場合、計算技術の当業者の理解の範囲内に十分に含まれる。
【0024】
「実行可能コンポーネント」という用語はまた、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または任意の他の専門化された回路内などのハードウェア内で排他的またはほぼ排他的に実装される、ハードコード化または配線された論理ゲートなどの構造を含むものとして当業者にはよく理解される。したがって、「実行可能コンポーネント」という用語は、ソフトウェア、ハードウェア、またはその組合せで実装されるかどうかにかかわらず、計算技術の当業者にはよく理解される構造を表す用語である。この説明では、「コンポーネント」、「エージェント」、「マネージャ」、「サービス」、「エンジン」、「モジュール」、「仮想マシン」などの用語も使用される。この説明および事例で使用されるように、これらの用語は(修飾句の有無にかかわらず)「実行可能コンポーネント」という用語と同義であることも意図され、したがって、計算技術の当業者にはよく理解される構造も有する。
【0025】
以下の説明では、実施形態は、1つまたは複数の計算システムによって実行される行為を参照して説明される。そのような行為がソフトウェアで実装される場合、(行為を実行する関連計算システムの)1つまたは複数のプロセッサは、実行可能コンポーネントを構成するコンピュータ実行可能命令の実行に応答して、計算システムの動作を指示する。例えば、そのようなコンピュータ実行可能命令は、コンピュータプログラム製品を形成する1つまたは複数のコンピュータ可読媒体上に具体化される。このような動作の例には、データの操作が含まれる。このような行為がFPGAやASIC内などのハードウェア内で排他的またはほぼ排他的に実装される場合、コンピュータ実行可能命令はハードコード化または配線された論理ゲートである。コンピュータ実行可能命令(および操作されたデータ)は、計算システム100のメモリ104に記憶される。計算システム100は、例えばネットワーク110を介して計算システム100が他の計算システムと通信できるようにする通信チャネル108も含む。
【0026】
すべての計算システムがユーザインターフェースを必要とするわけではないが、いくつかの実施形態では、計算システム100は、ユーザとのインターフェースに使用するためのユーザインターフェースシステム112を含む。ユーザインターフェースシステム112は、出力機構112Aおよび入力機構112Bを含む。本明細書で説明される原理は、正確な出力機構112Aまたは入力機構112Bに限定されるものではなく、それ自体はデバイスの性質に依存する。しかし、出力機構112Aには、例えば、スピーカ、ディスプレイ、触覚出力、ホログラムなどが含まれ得る。入力機構112Bの例としては、例えば、マイクロフォン、タッチスクリーン、ホログラム、カメラ、キーボード、マウスまたは他のポインタ入力、任意の種類のセンサなどが含まれ得る。本明細書で説明される実施形態は、以下でより詳細に説明されるように、例えば1つまたは複数のプロセッサおよびシステムメモリなどのコンピュータハードウェアを含む専用もしくは汎用の計算システムを備えるか、または利用する。本明細書に記載される実施形態は、コンピュータ実行可能命令および/もしくはデータ構造を搬送または記憶するための物理媒体および他のコンピュータ可読媒体も含む。このようなコンピュータ可読媒体は、汎用または専用の計算システムによってアクセスできる任意の利用可能な媒体であり得る。コンピュータ実行可能命令を記憶するコンピュータ可読媒体は、物理記憶媒体である。コンピュータ実行可能命令を搬送するコンピュータ可読媒体は、伝送媒体である。したがって、限定ではなく例として、本発明の実施形態は、少なくとも2つの明確に異なる種類のコンピュータ可読媒体、すなわち記憶媒体と伝送媒体とを備えることができる。
【0027】
コンピュータ可読記憶媒体には、RAM、ROM、EEPROM、CD-ROM、またはその他の光ディスク記憶装置、磁気ディスク記憶装置、またはその他の磁気記憶デバイス、あるいはその他の任意の物理的および有形記憶媒体が含まれ、これは、コンピュータ実行可能命令またはデータ構造の形式で所望のプログラムコード手段を記憶するために使用でき、汎用または専用の計算システムによってアクセスできる。
【0028】
「ネットワーク」は、計算システムおよび/またはモジュールおよび/または他の電子デバイス間での電子データの転送を可能にする1つまたは複数のデータリンクとして定義される。情報がネットワークまたは別の通信接続(有線、無線、もしくは有線と無線の組合せ)を介して計算システムに転送または提供される場合、計算システムはその接続を伝送媒体として適切に認識する。伝送媒体には、コンピュータ実行可能命令またはデータ構造の形で所望のプログラムコード手段を搬送するために使用でき、汎用または専用の計算システムによってアクセスできる、ネットワークおよび/またはデータリンクが含まれ得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれる必要がある。
【0029】
さらに、さまざまな計算システムコンポーネントに到達すると、コンピュータ実行可能命令またはデータ構造の形式のプログラムコード手段を、伝送媒体から記憶媒体へ(またはその逆に)自動的に転送することができる。例えば、ネットワークまたはデータリンクを介して受け取ったコンピュータ実行可能命令またはデータ構造は、ネットワークインターフェースモジュール(例えば「NIC」)内のRAMにバッファリングし、最終的に計算システムのRAMおよび/または計算システムの揮発性の低い記憶媒体に転送することができる。したがって、記憶媒体は、伝送媒体も(または主に)利用する計算システムコンポーネントに含めることができることを理解されたい。
【0030】
コンピュータ実行可能命令は、例えば、プロセッサで実行されると、汎用計算システム、専用計算システム、または専用処理デバイスに特定の機能または機能グループを実行させる命令およびデータを含む。代替として、または追加として、コンピュータ実行可能命令は、特定の機能または機能のグループを実行するように計算システムを構成する。コンピュータ実行可能命令は、例えば、バイナリ、またはプロセッサによって直接実行される前にいくつかの変換(コンパイルなど)を受ける命令(アセンブリ言語などの中間形式の命令、あるいはソースコードなど)である。
【0031】
主題は、構造的特徴および/または方法論的行為に特有の言語で説明されているが、添付の特許請求の範囲で定義される主題は、必ずしも上述の説明された特徴または行為に限定されないことが理解されるべきである。むしろ、記載された特徴および行為は、特許請求の範囲を実装する例示的な形態として開示される。
【0032】
当業者は、本発明が多くのタイプの計算システム構成を備えたネットワーク計算環境で実施されることを理解するであろう。これは、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ポケットベル、ルーター、スイッチ、データセンター、ウェアラブル(メガネなど)などを含む。場合によっては、本発明は、ローカルおよびリモートの計算システムである分散システム環境でも実施され、これらはネットワークを通じて(有線データリンク、無線データリンク、または有線データリンクと無線データリンクの組合せによって)リンクされており、両方ともタスクを実行する。分散システム環境では、プログラムモジュールはローカルとリモートの両方のメモリ記憶デバイスに配置される。
【0033】
当業者はまた、本発明がクラウド計算環境で実施されることを理解するであろう。クラウド計算環境は分散されているが、これは必須ではない。分散される場合、クラウド計算環境は組織内で国際的に分散される、および/または複数の組織にまたがってコンポーネントが所有される。この説明および以下の特許請求の範囲において、「クラウド計算」は、構成可能な計算リソース(例えば、ネットワーク、サーバー、記憶装置、アプリケーション、およびサービス)の共有プールへのオンデマンドネットワークアクセスを可能にするモデルとして定義される。「クラウド計算」の定義は、適切に展開された場合にそのようなモデルから得られ得る他の数多くの利点のいずれにも限定されない。
【0034】
残りの図は、前述の計算システム100に対応するさまざまな計算システムについて説明する。残りの図の計算システムは、後述するように、本明細書に開示されるさまざまな実施形態を実装するさまざまなコンポーネントまたは機能ブロックを含む。さまざまなコンポーネントまたは機能ブロックは、ローカル計算システム上に実装されるか、またはクラウドに存在する要素を含む分散計算システムもしくはクラウド計算の側面を実装する分散計算システム上に実装される。さまざまなコンポーネントまたは機能ブロックは、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せとして実装される。残りの図の計算システムには、図に示されているコンポーネントより多いか、または少ないコンポーネントが含まれており、コンポーネントのいくつかは状況に応じて組み合わされる。必ずしも図示されていないが、計算システムのさまざまなコンポーネントは、それらのさまざまな機能を実行するために必要に応じて、処理ユニット102およびメモリ104などのプロセッサおよびメモリにアクセスする、および/またはそれらを利用する。
【0035】
ここで、分散識別(DID)およびそれらが作成され存在する環境についてのいくつかの導入的な説明が、分散ネットワーク200を示す図2に関して与えられる。図2に示すように、DID所有者201は、DID所有者201のアイデンティティを表すDID205を所有または制御する。DID所有者201は、作成および登録サービスを使用してDIDを登録するが、これについては以下でより詳細に説明する。
【0036】
DID所有者201は、DIDから利益を得ることができる任意のエンティティである。例えば、DID所有者201は人間または人間の組織である。このような組織には、会社、部門、政府、機関、またはその他の任意の組織もしくは組織グループが含まれ得る。個々の人間はDIDを有し得、一方、各人が所属する組織も同様にDIDを有し得る。
【0037】
あるいは、DID所有者201は、マシン、システム、またはデバイス、あるいはマシン、デバイス、および/またはシステムのコレクションである。さらに他の実施形態では、DID所有者201は、マシン、システム、またはデバイスのサブパーツである。例えば、デバイスはプリント回路基板であり得、その回路基板のサブパーツは回路基板の個々のコンポーネントである。このような実施形態では、マシンまたはデバイスはDIDを有し、各サブパーツもDIDを有する。DID所有者は、図1に関して上で説明した実行可能コンポーネント106などのソフトウェアコンポーネントでもあり得る。複雑な実行可能コンポーネント106の例は、人工知能であり得る。人工知能もDIDを所有する。
【0038】
したがって、DID所有者201は、DID205を作成できるか、または少なくとも自分のために作成され関連付けられたDID205を有することができる、人間または人間以外の任意の合理的なエンティティである。DID所有者201は単一のDID205を有するように示されているが、状況に応じてDID所有者201に関連付けられるDIDはいくつでも存在するため、そうである必要はない。
【0039】
前述したように、DID所有者201はDID205を作成して登録する。DID205は、DID所有者201に関連付けられた任意の識別子である。好ましくは、その識別子は、少なくともDIDが使用されると予想される範囲内で、そのDID所有者201に固有である。一例として、識別子はローカルに固有の識別子であり、グローバルに動作することが予想されるアイデンティティシステムにとってはグローバルに固有の識別子であることがおそらくより望ましい。いくつかの実施形態では、DID205は、ユニフォームリソース識別子(URI)(URL(ユニフォームリソースロケータ)など)、またはDID所有者201を、DID所有者201と信頼できる対話を行う機構に関連付ける他のポインタである。
【0040】
DID205は、生成、管理(management)、または使用のために集中のサードパーティ管理システムを必要としないため、「分散」である。したがって、DID205はDID所有者201の制御下に残る。これは、企業ディレクトリサービス、認証局、ドメイン名レジストリ、またはその他の集中当局(本明細書では総称して「集中当局」と呼ぶ)の制御下にある、集中当局の信頼に基づく従来の集中IDとは異なる。したがって、DID205は、DID所有者201の制御下にあり、いかなる集中当局からも独立した任意の識別子である。
【0041】
いくつかの実施形態では、DID205の構造は、ユーザ名または他の人間が理解できる用語と同じくらい単純である。しかし、他の実施形態では、DID205は、セキュリティを高めるために、数字と文字のランダムな文字列であることが好ましい。一実施形態では、DID205は、128個の文字と数字の文字列である。したがって、本明細書に開示される実施形態は、DID205のいかなる特定の実装にも依存しない。非常に単純な例では、DID205は「123ABC」として示される。
【0042】
図2にも示されているように、DID所有者201は、DID205に関連付けられた秘密鍵206と公開鍵207のペアを制御する。DID205は集中当局から独立しているため、秘密鍵206は常にDID所有者201によって完全に制御される必要がある。つまり、秘密鍵と公開鍵は、確実にDID所有者201の制御下に残るように、分散の方法で生成される必要がある。
【0043】
以下に、より詳細に説明するように、秘密鍵206と公開鍵207のペアは、DID所有者201によって制御されるデバイス上で生成される。秘密鍵206と公開鍵207のペアは、集中当局によって制御されるサーバー上で生成されるべきではない。これにより、秘密鍵206と公開鍵207のペアが常にDID所有者201の完全な制御下に置かれなくなるためである。図2およびこの説明では秘密鍵と公開鍵のペアについて説明したが、状況に応じて他の種類の合理的な暗号化情報および/または機構も使用されることにも留意されたい。
【0044】
図2は、DID205に関連付けられたDID文書210も示している。以下に、より詳細に説明するように、DID文書210は、DID205の作成時に生成される。最も単純な形式では、DID文書210はDID205の使用方法を説明する。したがって、DID文書210は、DID文書210によって記述されるDIDであるDID205への参照を含む。いくつかの実施形態では、DID文書210は、以下に、より詳細に説明するように、DID205の表現を記憶するために使用される分散台帳220によって指定される方法に従って実装される。したがって、DID文書210は、特定の分散台帳に応じて異なる方法を有する。
【0045】
DID文書210は、DID所有者201によって作成された公開鍵207、または他の同等の暗号化情報も含む。公開鍵207は、DID所有者201が所有する情報およびデータにアクセスするために、DID所有者201によって許可を与えられたサードパーティエンティティによって使用される。公開鍵207は、DID所有者201が実際にDID205を所有または制御していることを検証することによっても使用される。
【0046】
DID文書210には認証情報211も含まれている。認証情報211は、DID所有者201がDID205を所有していることを、DID所有者201が証明できる、1つまたは複数の機構を指定する。言い換えれば、認証情報211の機構は、DID205(したがってそのDID所有者201)とDID文書210との間のバインディングの証拠を示す。一実施形態では、認証情報211は、DID205の所有権を証明するために署名動作で公開鍵207が使用されることを指定する。あるいは、または追加として、認証情報211は、公開鍵207がDID205の所有権を証明するための署名動作に使用されることを指定する。したがって、認証情報211には、DID所有者201がDID205を所有していることを、DID所有者201が証明できる任意の数の機構が含まれる。
【0047】
DID文書210には、認可情報212も含まれる。認可情報212により、DID所有者201は、サードパーティにDID205の所有権を証明する権利を与えることなく、DID文書210または文書の一部を変更する権利をサードパーティエンティティに認可することができる。例えば、認可情報212により、サードパーティは、任意の指定された更新機構を使用して、DID文書210内の任意の1つまたは複数のフィールドの指定されたセットを更新することができる。あるいは、認可情報により、サードパーティは、指定された時間期間、DID所有者201によるDID205の使用を制限することができる。これは、DID所有者201が未成年の子供であり、サードパーティがその子供の親または保護者である場合に役立つ。認可情報212により、親または保護者は、子供が未成年でなくなるまで、DID205の使用を制限することができる。
【0048】
認可情報212はまた、サードパーティがDID文書210を変更する権限を与えられていることを証明するために従う必要がある1つまたは複数の機構を指定する。いくつかの実施形態では、この機構は、認証情報211に関して前述したものと同様である。
【0049】
DID文書210には、1つまたは複数のサービスエンドポイント213も含まれる。サービスエンドポイントには、DID所有者201に代わってサービスが動作するネットワークアドレスが含まれる。特定のサービスの例には、ディスカバリーサービス、ソーシャルネットワーク、アイデンティティサーバーまたはハブなどのファイル記憶サービス、および検証可能な請求リポジトリサービスが含まれる。したがって、サービスエンドポイント213は、DID所有者201に代わって動作するサービスへのポインタとして動作する。これらのポインタは、DID所有者201またはサードパーティエンティティによって、DID所有者201に代わって動作するサービスにアクセスするために使用される。サービスエンドポイント213の具体例については、以下でより詳細に説明する。
【0050】
DID文書210は、識別情報214をさらに含む。識別情報214には、DID所有者201の氏名、住所、職業、家族構成、年齢、趣味、興味などの個人を識別可能な情報が含まれる。したがって、DID文書210にリストされている識別情報214は、異なる目的のためのDID所有者201の異なるペルソナを表す。例えば、ペルソナは擬似匿名である。例えば、DID所有者201は、ブログに記事を投稿するライターとして自分を識別するときに、DID文書にペンネームを含める。ペルソナは完全に匿名であり、例えば、DID所有者201は、自分の役職やその他の背景データ(例えば、学校の教師、FBI捜査官、21歳以上の成人など)のみを開示したいが、DID文書では自身の名前は開示したくない。ペルソナは、DID所有者201が個人として誰であるかを特定する。例えば、DID所有者201には、特定の慈善組織のボランティア、特定の企業の従業員、特定の賞の受賞者などとして自身を識別する情報が含まれる。
【0051】
DID文書210はまた、本明細書では証拠とも呼ばれ得る証明書情報215を含む。証明書情報215(検証可能な請求とも呼ばれる)は、DID所有者201の背景に関連付けられた任意の情報である。例えば、証明書情報215は、資格、実績、政府ID、パスポートもしくは運転免許証などの政府の権利、デジタル資産プロバイダもしくは銀行口座、大学の学位もしくはその他の学歴、雇用状況もしくは経歴、またはDID所有者201の背景に関するその他の任意の情報などである(しかし、これらに限定されない)。
【0052】
DID文書210には、他のさまざまな情報216も含まれる。いくつかの実施形態では、他の情報216は、DID文書210が作成されたときおよび/または最後に変更されたときを指定するメタデータを含む。他の実施形態では、他の情報216は、DID文書210の完全性の暗号証明を含む。さらに別の実施形態では、他の情報216は、DID文書を実装する特定の方法によって指定されるか、またはDID所有者201によって所望される追加情報を含む。
【0053】
図2は、分散台帳またはブロックチェーン220も示す。分散台帳220は、相互に通信するさまざまな計算システムを含む任意の分散型分散ネットワークである。例えば、分散台帳220は、楕円260によって示されるように、第1の分散計算システム230、第2の分散計算システム240、第3の分散計算システム250、および任意の数の追加の分散計算システムを含む。分散台帳またはブロックチェーン220は、分散台帳の任意の既知の標準または方法に従って動作する。分散台帳またはブロックチェーン220に対応する従来の分散台帳の例には、ビットコイン[BTC]、イーサリアム、およびライトコインが含まれるが、これらに限定されない。
【0054】
DID205のコンテキストでは、分散台帳またはブロックチェーン220は、DID文書210を指すDID205の表現を記憶するために使用される。いくつかの実施形態では、DID文書210は、実際に分散された台帳に記憶される。あるいは、他の実施形態では、DID文書210は、分散台帳またはブロックチェーン220に関連付けられたデータ記憶装置(図示せず)に記憶される。
【0055】
前述したように、DID205の表現は、分散台帳またはブロックチェーン220の各分散計算システムに記憶される。例えば、図2では、DIDが231を有し、DIDが241を有し、DIDが251を有するとして示されており、これらは理想的には同じDIDの同一コピーである。DIDハッシュ231、DIDハッシュ241、およびDIDハッシュ251は、次いで、DID文書210の場所を指す。分散台帳またはブロックチェーン220は、参照232、233、234、242、243、244、252、253、および254によって示されるように、他のDIDの多数の他の表現も記憶する。
【0056】
一実施形態では、DID所有者201がDID205および関連するDID文書210を作成すると、DIDが231を有し、DIDが241を有し、およびDIDハッシュ251が分散台帳またはブロックチェーン220に書き込まれる。したがって、分散台帳またはブロックチェーン220は、DID205が現在存在していることを記録する。分散台帳またはブロックチェーン220は分散化されているため、DID205は、DID所有者201の外部の任意のエンティティの制御下にない。DIDハッシュ231、DIDが241を有し、およびDIDが251を有するには、DID文書210へのポインタに加えて、DID205がいつ作成されたかを指定する記録またはタイムスタンプが含まれる。後日、DID文書210に変更が加えられると、これもDIDは231を有し、DIDは241を有し、およびDIDは251を有することが記録される。DIDは231を有し、DIDは241を有し、およびDIDハッシュ251はさらに、DID205がDID文書210に暗号的にバインドされるように、公開鍵207のコピーを含む。
【0057】
図2を参照してDIDとそれらが一般的にどのように動作するかを説明してきたが、次にDID環境の特定の実施形態について説明する。図3を参照して、さまざまなDID管理動作およびサービスを実行するために使用される計算システム環境300についてここで説明する。図3の環境は、説明を容易にするために必要に応じて図2の要素を参照していることが理解されるであろう。
【0058】
図3に示すように、計算システム環境300は、DID所有者201が所有するか、そうでなければDID所有者201の制御下にあるさまざまなデバイスおよび計算システムを含む。これらには、ユーザデバイス301が含まれる。ユーザデバイス301は、スマートフォンなどのモバイルデバイス、ラップトップコンピュータなどの計算デバイス、または計算能力を含む自動車もしくは電化製品などの任意のデバイスであるが、これらに限定されない。ユーザデバイス301は、デバイス上で動作するウェブブラウザ302と、デバイスを動作させるオペレーティングシステム303とを含む。より大まかに言えば、破線304は、これらのデバイスのすべてがDID所有者201の所有であるか、そうでなければDID所有者201の制御下にあることを表す。
【0059】
計算システム環境300は、DID管理(management)モジュール320も含む。動作中、DID管理モジュール320は、それぞれの線301a、302a、および303aによって示されるように、ユーザデバイス301、ウェブブラウザ302、およびオペレーティングシステム303のうちの1つまたは複数上に存在し、それらによって実行されることに留意されたい。したがって、説明を容易にするために、DID管理モジュール320は別個のものとして示されている。いくつかの実施形態では、DID管理モジュール320は、「デジタルウォレット」または「ユーザエージェント」と呼ばれる。しかし、他の実施形態では、デジタルウォレットまたはユーザエージェントがDID管理モジュール320以外の計算システムに実装され得ることが、当業者には理解されよう。
【0060】
図3に示すように、DID管理モジュール320は、DID作成モジュール330を含む。DID作成モジュール330は、DID205、またはDID331などの任意の数の追加のDIDを作成するために、DID所有者201によって使用される。一実施形態では、DID作成モジュールは、DID205の作成においてDID所有者201をガイドするユーザインターフェース(UI)要素335を含むか、そうでなければそれにアクセスできる。DID作成モジュール330は、DID205がその分散台帳の基礎となる方法に準拠するように、分散台帳220などの特定の分散台帳と連携するように構成された1つまたは複数のドライバを有する。
【0061】
次に、特定の実施形態について説明する。例えば、UI335は、ユーザ名またはその他の人間が認識できる名前を入力するようユーザに指示する。この名前は、生成されるDID205の表示名として使用される。前述したように、DID205は乱数と文字の長い文字列であるため、表示名として人間が認識できる名前を持つことが有利である。次に、DID作成モジュール330は、DID205を生成する。UI335を有する実施形態では、DID205がアイデンティティのリストに示され、人間が認識できる名前に関連付けられる。
【0062】
DID作成モジュール330には、鍵生成モジュール350も含まれる。鍵生成モジュールは、前述した秘密鍵206と公開鍵207のペアを生成する。DID作成モジュール330は、DID205および秘密鍵と公開鍵のペアを使用してDID文書210を生成する。
【0063】
動作中、DID作成モジュール330は、DID205に関連するトランザクションを記録する特定の分散台帳に構成されたレジストラ310にアクセスする。DID作成モジュール330は、レジストラ310を使用して、前述の方法で分散台帳にDIDハッシュ231、DIDハッシュ241、およびDIDハッシュ251を記録し、前述の方法でDID文書210を記憶する。このプロセスでは、ハッシュの生成に公開鍵207が使用される。
【0064】
いくつかの実施形態では、DID管理モジュール320は所有権モジュール340を含む。所有権モジュール340は、DID所有者201がDID205を単独で制御することを保証する機構を提供する。このようにして、DID管理モジュール320のプロバイダは、プロバイダがDID205を制御せず、管理(management)サービスのみを提供していることを保証することができる。
【0065】
前述したように、鍵生成モジュール350は秘密鍵206と公開鍵207のペアを生成し、公開鍵207は次いでDID文書210に記録される。したがって、公開鍵207は、DID所有者201に関連付けられたすべてのデバイス、およびDID所有者201にサービスを提供することを望むすべてのサードパーティによって使用可能である。したがって、DID所有者201が新しいデバイスをDID205に関連付けることを望む場合、DID所有者201は新しいデバイス上でDID作成モジュール330を実行する。次いで、DID作成モジュール330は、レジストラ310を使用して、新しいデバイスが現在DID205に関連付けられていることを反映するためにDID文書210を更新し、その更新は、前述したように、分散台帳220上のトランザクションに反映されることになる。しかし、いくつかの実施形態では、DID所有者201が所有するユーザデバイス301ごとに公開鍵を有することが有利である。これにより、DID所有者201は、一般的な公開鍵にアクセスする必要なく、デバイス固有の公開鍵で署名できるようになるためである。換言すれば、DID所有者201は、異なる時間に異なるデバイスを使用するため(例えば、1つのインスタンスでは携帯電話を使用し、次いで、別のインスタンスではラップトップコンピュータを使用する)、鍵を使用した署名を効率化するには、各デバイスに鍵を関連付けることが有利である。したがって、そのような実施形態では、追加のデバイスがDID作成モジュール330を実行するときに、鍵生成モジュール350は追加の公開鍵208および209を生成する。これらの追加の公開鍵は秘密鍵206に関連付けられるか、場合によっては新しい秘密鍵とペアになる。
【0066】
追加の公開鍵208および209が異なるデバイスに関連付けられる実施形態では、追加の公開鍵208および209は、それらのデバイスに関連付けられるものとしてDID文書210に記録される。これを図3に示す。DID文書210は、図3に示す情報(情報208、209、および365)に加えて、図2に関連して前述した情報(情報205、207、および211から216)を含むことが多いことが理解されるであろう。デバイス固有の公開鍵が生成される前にDID文書210が存在していた場合、DID文書210は、レジストラ310を介してDID作成モジュール330によって更新され、これは分散台帳220上の更新されたトランザクションに反映されることになる。
【0067】
いくつかの実施形態では、DID所有者201は、デバイスと公開鍵との関連付け、またはデバイスとDID205との関連付けを秘密にすることを望むことが多い。したがって、DID作成モジュール330は、そのようなデータがDID文書210内に秘密に示されるようにする。
【0068】
これまで説明したように、デバイスが独自の公開鍵を有している場合でも、DID205は、DID所有者201の制御下にあるすべてのデバイスに関連付けられている。しかし、いくつかの実施形態では、DID所有者201の制御下にある各デバイスまたはデバイスのいくつかのサブセットがそれぞれ独自のDIDを有することが有用であり得る。したがって、いくつかの実施形態では、DID作成モジュール330は、デバイスごとに追加のDID、例えばDID331を生成する。次いで、DID作成モジュール330は、各デバイスの秘密鍵と公開鍵のペアおよびDID文書を生成し、それらを前述した方法で分散台帳220に記録させる。このような実施形態は、DID文書において新しい所有者に認可する権利を付与し、古い所有者からそのような権利を取り消すことによって、デバイス固有のDIDをデバイスの新しい所有者に関連付けることができるため、所有権を変更するデバイスにとって有利である。
【0069】
前述したように、秘密鍵206が完全にDID所有者201の制御下にあることを保証するために、秘密鍵206は、DID管理モジュール320を実行したDID所有者201によって所有または制御されるユーザデバイス301、ウェブブラウザ302、またはオペレーティングシステム303上で作成される。このようにして、サードパーティ(および最も結果的には、DID管理モジュール320のプロバイダ)が秘密鍵206の制御を取得する可能性はほとんどない。
【0070】
しかし、秘密鍵206を記憶しているデバイスがDID所有者201によって紛失される可能性があり、その結果、DID所有者201はDID205へのアクセスを失うことになる。したがって、いくつかの実施形態では、UI335は、DID所有者201が、DID所有者201の制御下にあるオフデバイスで保護されたデータベース305に秘密鍵206をエクスポートできるようにする選択肢を含む。一例として、データベース305は、図4に関して以下で説明されるアイデンティティハブ410の1つである。記憶モジュール380は、データ(秘密鍵206、またはDID所有者201によってまたはDID所有者201について作成された証明書情報215など)を、デバイス外のデータベース305または以下でより詳細に説明されるアイデンティティハブ410に記憶するように構成される。もちろん、いくつかの実施形態では、デバイスが十分な記憶リソースを有する場合、記憶モジュール380はデバイス上に少なくとも一部のデータを記憶する。いくつかの実施形態では、秘密鍵206は、DID所有者201によってスキャンされるQRコードとして記憶される。
【0071】
他の実施形態では、DID管理モジュール320は、失われた秘密鍵206を回復するために使用される回復モジュール360を含む。動作中、回復モジュール360は、DID所有者201が、DID205の作成時に、後で失われた秘密鍵を回復するために使用される1つまたは複数の回復機構365を選択できるようにする。UI335を有するこれらの実施形態では、UI335により、DID所有者201は、回復中に1つまたは複数の回復機構365によって使用される情報を提供できるようになる。回復モジュール360は、DID205に関連付けられた任意のデバイス上で実行される。
【0072】
DID管理モジュール320には、デバイスをDID205から取り消すか、または切断するために使用される取り消しモジュール370も含まれる。動作中、取り消しモジュールはUI335を使用し、これにより、DID所有者201は、デバイスをDID205との関連付けから削除したいという要望を示すことができる。一実施形態では、取り消しモジュール370は、DID文書210にアクセスし、デバイスへのすべての参照をDID文書210から削除させる。あるいは、デバイスの公開鍵が削除される。次いで、DID文書210におけるこの変更は、前述したように、分散台帳220上の更新されたトランザクションとして反映される。
【0073】
図4は、DID205などのDIDが利用される計算システム環境400の実施形態を示す。具体的には、計算システム環境400は、それぞれがDID所有者201の制御下にあり、DID所有者201に属するか、またはDID所有者201に関するデータを記憶する1つまたは複数の分散ストアまたはアイデンティティハブ410に関連したDID205の使用を記述するために使用される。例えば、データは、図3の記憶モジュール380を使用してアイデンティティハブ内に記憶される。図4には、図2または図3に関連して最初に説明した要素への参照が含まれているため、説明を容易にするために同じ参照番号を使用していることに留意されたい。
【0074】
一実施形態では、アイデンティティハブ410は、同じアイデンティティハブの複数のインスタンスである。これは線410Aによって表される。したがって、さまざまなアイデンティティハブ410は、同じデータおよびサービスのうちの少なくともいくつかを含む。したがって、アイデンティティハブ410の1つにおける少なくともいくつかのデータの一部(および潜在的にはデータのいずれかの部分)に変更が加えられた場合、変更は、残りのアイデンティティハブの1つまたは複数(およびおそらくそのすべて)に反映される。
【0075】
アイデンティティハブ410は、DID所有者201の排他的制御下にある任意のデータストアであってもよい。単なる例として、第1のアイデンティティハブ411および第2のアイデンティティハブ412は、クラウド記憶装置(おそらく同じクラウド内、または異なるクラウドプロバイダによって管理される(managed)異なるクラウド上)に実装され、したがって、大量のデータを保持することができる。したがって、データの完全なセットをこれらのアイデンティティハブに記憶できる。
【0076】
しかし、アイデンティティハブ413および414はメモリ空間がより少ない場合がある。したがって、これらのアイデンティティハブには、第1および第2のアイデンティティハブに記憶されたデータの記述子が含まれる。あるいは、他のアイデンティティハブ内のデータに加えられた変更の記録が含まれる。したがって、アイデンティティハブ410のうちの1つにおける変更は、他のアイデンティティハブに完全に複製されるか、または少なくともそのデータの記録または記述子が他のアイデンティティハブに記録されるかのいずれかである。
【0077】
アイデンティティハブは同じアイデンティティハブの複数のインスタンスであるため、この説明はアイデンティティハブ412~414にも適用されるため、第1のアイデンティティハブ411の完全な説明のみを提供する。図示のように、アイデンティティハブ411はデータ記憶装置420を含む。データ記憶装置420は、DID所有者201に関連付けられた任意のタイプのデータを記憶するために使用される。一実施形態では、データは、特定のプロトコルに対応する特定のタイプのデータのコレクション422である。例えば、コレクション422は、医療データの特定のプロトコルに対応する医療記録データであってもよい。コレクション422には、DID所有者201によって作成された、またはDID所有者201について作成された証明書情報215など、他のタイプのデータも含まれる。
【0078】
一実施形態では、記憶されたデータは、記憶されたデータに関連付けられた異なる認証およびプライバシー設定421を有する。例えば、データの第1のサブセットには、データの公開を許可するが、DID所有者201に対する認証は含まない設定421がある。このタイプのデータは通常、配色などの比較的重要ではないデータ用である。データの第2のサブセットには、データの公開を許可し、DID所有者201への認証を含む設定421がある。データの第3のサブセットには、DID所有者201に関連付けられた秘密鍵206と公開鍵207のペア(またはいくつかの他の鍵のペア)を使用してデータのサブセットを暗号化する設定421がある。このタイプのデータでは、データを復号化するために当事者が公開鍵207(またはその他の関連する公開鍵)にアクセスする必要がある。このプロセスには、DID所有者201への認証も含まれる。データの第4のサブセットには、このデータをサードパーティのサブセットに制限する設定421がある。これには、データを復号化するためにサードパーティのサブセットに関連付けられた公開鍵を使用する必要がある。例えば、DID所有者201は、DID所有者201の友人に関連付けられた公開鍵のみがこのデータを復号できることを設定421に指定させる。記憶モジュール380によって記憶されるデータに関して、これらの設定421は、図3の記憶モジュール380によって少なくとも部分的に構成される。
【0079】
いくつかの実施形態では、アイデンティティハブ411は、DID所有者201が、サードパーティ401および402などのサードパーティがアイデンティティハブにアクセスするための特定の認可または許可を設定できるようにする許可モジュール430を有する。例えば、DID所有者201は、データ記憶装置420に記憶されたすべてのデータへのアクセス許可を自分の配偶者に与える。あるいは、DID所有者201は、任意の医療記録について自身の医師にアクセスを許可する。DID所有者201は、データ記憶装置420に記憶されたデータのサブセットにアクセスする許可を任意の数のサードパーティに与えることができることが理解されよう。これについては後でさらに詳しく説明する。記憶モジュール380によって記憶されたデータに関して、これらのアクセス許可430は、図3の記憶モジュール380によって少なくとも部分的に構成される。
【0080】
アイデンティティハブ411は、メッセージングモジュール440も含む。動作中、メッセージングモジュールは、アイデンティティハブが、アイデンティティハブのデータおよびサービスにアクセスするためのサードパーティ401および402などの当事者からの要求などのメッセージを受け取ることができるようにする。さらに、メッセージングモジュール440は、アイデンティティハブ411がサードパーティからのメッセージに応答し、DIDリゾルバ450と通信することも可能にする。これについては後でさらに詳しく説明する。省略記号416は、状況に応じてアイデンティティハブ411が追加のサービスを有することができることを表す。
【0081】
一実施形態では、DID所有者201は、前述した方法でDID205に既に関連付けられているアイデンティティハブ411を用いて新しいユーザデバイス301を認証したいと考えている。したがって、DID所有者201は、新しいユーザデバイス301に関連付けられたDID管理モジュール320を利用して、新しいユーザデバイスがDID所有者201のDID205に関連付けられていることを主張するメッセージをアイデンティティハブ411に送信する。
【0082】
しかし、アイデンティティハブ411は、最初は、新しいデバイスがDID所有者201によって所有されているものとして認識することができない。したがって、アイデンティティハブ411はメッセージングモジュール440を使用してDIDリゾルバ450に連絡する。DIDリゾルバ450に送信されるメッセージにはDID205が含まれる。
【0083】
DIDリゾルバ450は、DIDに関連付けられたDID文書を求めて分散台帳220を検索するように動作中に構成されるサービス、アプリケーション、またはモジュールである。したがって、本実施形態では、DIDリゾルバ450は、DID205を使用して分散台帳220を検索し、その結果、DIDリゾルバ450はDID文書210を見つけることになるはずである。次に、DID文書210がアイデンティティハブ411に提供される。
【0084】
前述したように、DID文書210は、新しいユーザデバイス301に関連付けられた公開鍵208または209を含む。新しいユーザデバイスがDID所有者201によって所有されていることを検証するために、アイデンティティハブ411は、メッセージングモジュール440を使用して新しいユーザデバイス301に暗号化チャレンジを提供する。この暗号化チャレンジは、秘密鍵206にアクセスできるデバイスのみがチャレンジにうまく答えることができるように構成される。
【0085】
この実施形態では、新しいユーザデバイスはDID所有者201によって所有されており、したがって秘密鍵206にアクセスできるため、チャレンジは首尾よく答えられる。次に、アイデンティティハブ411は、新しいユーザデバイス301がアイデンティティハブ411のデータおよびサービスにアクセスできること、およびアイデンティティハブ410の残りの部分にもアクセスできることを許可430に記録する。
【0086】
新しいユーザデバイス301を認証するこのプロセスは、アイデンティティハブ411がアクセスされ得る前に、DID所有者201がアイデンティティハブ411のプロバイダ(すなわち、第1のクラウド記憶プロバイダ)にユーザ名、パスワードなどを提供する必要なく、実行されたことに留意されたい。むしろ、アクセスは、DID205、DID文書210、および関連する公開鍵と秘密鍵に基づいて分散方式で決定された。これらは常にDID所有者201の制御下にあったため、アイデンティティハブ411のプロバイダは関与しておらず、したがってDID所有者201のトランザクションや個人情報については何も知らない。
【0087】
別の例示的な実施形態では、DID所有者201は、サードパーティ401にDID205を提供し、サードパーティがアイデンティティハブ411に記憶されたデータまたはサービスにアクセスできるようにする。例えば、DID所有者201は、科学会議に参加している人間であり、同じく人間であるサードパーティ401に自分の研究データへのアクセスを許可したい人間である。したがって、DID所有者201は、DID205をサードパーティ401に提供する。
【0088】
サードパーティ401は、DID205にアクセスできると、DIDリゾルバ450にアクセスして、DID文書210にアクセスする。前述したように、DID文書210は、分散アイデンティティに関連付けられたサービスへのアドレスまたはポインタであるサービスエンドポイント213を含む。研究データの例を完成すると、サードパーティ401は、研究データにアクセスする許可を求めるメッセージをメッセージングモジュール440に送信する。メッセージングモジュール440は、サードパーティ401に研究データへのアクセスを与えるべきかどうかを尋ねるメッセージをDID所有者201に送信する。DID所有者はこのデータへのアクセスを提供することを望むため、DID所有者201はサードパーティ401への許可を可能にし、この許可は許可430に記録される。次に、メッセージングモジュール440は、サードパーティ401にメッセージを送り、サードパーティが研究データにアクセスできることを通知する。アイデンティティハブ411とサードパーティ401は、サードパーティがデータにアクセスできるように直接通信する。多くの場合、実際には、アイデンティティハブ411と通信するのは、サードパーティ401に関連付けられたアイデンティティハブであることに留意されたい。しかし、通信を行うのはサードパーティ401のデバイスであってもよい。有利なことに、上述のプロセスにより、アイデンティティハブ411とサードパーティ401は、サードパーティが従来の方法でアイデンティティハブ411にアクセスする必要なしに通信し、データを共有できるようになる。むしろ、通信は、DID205とDID文書210を使用して分散方式でプロビジョニングされる。これにより、DID所有者がプロセスを完全に制御できるという利点がある。
【0089】
図4に示すように、サードパーティ402はまた、DID205およびDID文書210を使用して、アイデンティティハブ411へのアクセス許可を要求する。したがって、本明細書に開示される実施形態は、任意の数のサードパーティによるアイデンティティハブ410へのアクセスを可能にする。
【0090】
上で簡単に説明したように、アイデンティティハブ411はクラウドサービスでホストされる。サービスプロバイダは、各ユーザのアイデンティティハブ411に記憶されるデータにアクセスできる。さらに、サービスプロバイダは、DID所有者の特定のアクティビティにもアクセスできる。例えば、DID所有者が自分のデータを共有しているエンティティは、アイデンティティハブ411に記憶される。別の例として、ユーザは複数のDIDを有し、複数のDID間でデータを共有している。あるいは、ユーザは同じデータにアクセスするために異なるDID管理モジュールを使用している。データ共有アクティビティに基づいて、アイデンティティハブ411のサービスプロバイダは、異なるDIDの関係を相関させ、2つのDIDが関連しているか、または同じ所有者によって所有されていることを発見する。したがって、ユーザのプライバシーが侵害される。本明細書で説明する原理は、アイデンティティハブ411に記憶されている個人データを暗号化することで、DID所有者のこれらの潜在的なプライバシー問題を解決する。暗号化/復号化鍵は、アイデンティティハブ411によって記憶されず、アクセスできないため、DID所有者は、他のDID所有者またはユーザからのデータを高度に制御できるだけでなく、サービスプロバイダからプライバシーも保護される。
【0091】
アイデンティティハブ411には多くのさまざまなオブジェクトが記憶されている。データオブジェクトは、ファイル、フォルダー、またはアイデンティティハブ411に記憶されているデータの任意の部分である。アイデンティティハブ411全体は、1つの暗号化/復号化鍵を1つのオブジェクトとして暗号化される。あるいは、アイデンティティハブ411に記憶されたデータの異なる部分が、異なる暗号化/復号化鍵で暗号化される。
【0092】
別の例示的な実施形態では、検証可能な請求(例えば、証明書情報215)が発行され、アイデンティティハブ411に記憶される。例えば、DID所有者201に関連付けられた検証可能な請求は、請求発行エンティティによって発行され、発行された検証可能な請求は、DID所有者201に関連付けられたアイデンティティハブ411に記憶される。DID所有者201は、他のエンティティがDID所有者の証明書を検証するよう要求する場合に、検証可能な請求を別のエンティティに送信する。例えば、DID所有者201は運転免許証を保有する人物であり、請求発行エンティティはDID所有者の運転免許証を発行したDMVである。DMVは、DID所有者201が有効な運転免許証を保有していることを検証する検証可能な請求を発行する。DID所有者201は、検証可能な請求をアイデンティティハブ411に記憶する。別のエンティティはレンタカー会社であり、この会社は、DID所有者201が有効な運転免許証を有していることを示すことを要求する。次いで、DID所有者は、アイデンティティハブ411に記憶されている検証可能な請求をレンタカー会社に送信する。
【0093】
図2図4を参照してDIDとそれらが一般にどのように動作するかを説明してきたが、次に分散識別の特定の実施形態を説明する。図5を参照して、DID所有者が自分自身を識別しながらサービスにアクセスし、他のDID所有者とトランザクションを実行できるようにする分散環境500についてここで説明する。説明を容易にするために、図5が必要に応じて図2図4の要素を参照することが理解されるであろう。
【0094】
図5に示すように、分散環境500は、サービスプロバイダ510に関連付けられたデバイスと、ユーザ520および530(例えば、DID所有者)のウォレットアプリ521および522とを含む。省略記号540は、分散環境500内に任意の数のサービスプロバイダおよび/またはユーザに関連付けられた任意の数のデバイスが存在し得ることを表す。サービスプロバイダおよびユーザ520、530のそれぞれは、図2のDID所有者201に対応する。ウォレットアプリ521または531は、図3のDID管理モジュール320に対応する。IDハブ522またはIDハブ532は、図4のIDハブ411に対応する。
【0095】
ユーザ520はウォレットアプリ521を使用して自分のDIDを管理(manage)し、ユーザ530はウォレットアプリ531を使用して自分のDIDを管理する。ウォレットアプリ521または531は、それぞれのIDハブ522または531に接続される。サービスプロバイダのデバイス510およびウォレットアプリ521、531のそれぞれは、コンピュータネットワーク550を介して分散台帳にアクセスすることができる。いくつかの実施形態では、ウォレットアプリ521または531は、IDハブ522または532を介して分散台帳に間接的にアクセスすることができる。いくつかの実施形態では、ウォレットアプリ521または531は、分散台帳の完全なコピーを記憶するように構成されるか、またはコンピュータネットワーク550を介して分散台帳に直接アクセスすることができる。
【0096】
サービスプロバイダ510のデバイスと、各ウォレットアプリ521、531および/またはIDハブ522、532は、さまざまな通信チャネルを介して相互に通信することができ、これには、ローカルエリアネットワーク、ワイドエリアネットワーク、BLEビーコン信号、および/または近距離無線通信(NFC)が含まれるが、これらに限定されない。通信は、1つのウォレットアプリ521によってバーコードまたはQRコードを生成し、別のウォレットアプリ531またはサービスプロバイダ510のデバイスによってバーコードまたはQRコードをスキャンすることによって実行することもできる。バーコードまたはQRコードには、ユーザ520に関連付けられたDIDなど、ユーザ520に関連する識別情報が含まれる。いくつかの実施形態では、サービス510は、発行者または信頼当事者として機能することができる。本明細書で使用される場合、「発行者」とは、対象について少なくとも1つの主張を行うエンティティである。この主張は、本明細書では「請求」とも呼ばれる。「証明書」は、1つまたは複数の請求のセットである。発行者の例には、企業、組織、協会、政府、機関、個人、または他者が信頼できる主張を行うことができるその他の任意のエンティティが含まれる。したがって、サービス510は、そのようなインスタンスが「保持者」として機能するユーザ520またはユーザ530に関する1つまたは複数の検証可能な請求または証明書を提供することができる。ユーザ520および530は、検証可能な請求をそれぞれIDハブ522およびIDハブ532に記憶することができる。本明細書で使用される場合、「信頼当事者」とは、保持者に関する情報を確認するために検証可能な請求または証明書に依存し、その後、保持者にサービスを提供する当事者である。
【0097】
例えば、サービス510が自動車省(DMV)であると仮定する。「発行者」として機能する一方で、サービス510は、ユーザ520がDMVによって発行された有効な運転免許証を有することを主張する検証可能な請求をユーザ520に発行する。次いで、「保持者」としてのユーザ520は、運転免許証に関連する検証可能な請求を、この情報を必要とする中継当事者に提供することができる。信頼当事者(上述したように、いくつかの実施形態ではサービス510が信頼当事者となり得るが、この実施形態では示されていない)がレンタカー代理店であると仮定する。ユーザ520は、自身が車を借りたく、レンタカー代理店が運転免許証に関連する検証可能な請求を使用して、ユーザ520が車を借りるために使用できる有効な運転免許証を有していることを確認できるときに、運転免許証に関連する検証可能な請求をレンタカー代理店に提示する。
【0098】
図6Aは、請求610を表すデータ構造例を示す。請求610には、サブジェクト611、プロパティ612、および値613が含まれる。例えば、サブジェクト611は、DIDの所有者(例えば、DID所有者201)に対応し、DID205に対応するDID611Aは、サブジェクト611の一部として記録される。プロパティ612は、名前、電話番号、電子メールアドレスなど、DID611Aの所有者の任意のプロパティであり得る。値613は、対応するプロパティ612の値である。例えば、プロパティが「名前」の場合、値はDIDの所有者の名前(例えば、JohnDoe)になる。プロパティが「電話番号」の場合、値はDIDの所有者の電話番号(例えば、1-800-123-4567)になる。
【0099】
図6Bは、検証可能な請求または証明書600Bのデータ構造例を示す。いくつかの実施形態では、検証可能な請求または証明書のデータ構造は、ポータブルアイデンティティカード(PIC)と呼ばれ、これは、発行者(例えば、サービス510)が、検証可能な請求または証明書を、ユーザ(例えば、ユーザ520またはユーザ530)が容易に理解できる方法で整理するための方法である。検証可能な請求または証明書600Bには、図6Aの請求610に対応し、DID611Aを含む請求610が含まれる。検証可能な請求または証明書600Bは、発行者の秘密鍵によって検証可能な請求または証明書600Bに署名することによって生成される署名630も含む。署名630は、典型的には、検証可能な請求または証明書600Bが発行されたとき以降に、検証可能な請求または証明書600Bが改ざんされているかどうかを検出するために使用される暗号化機構(デジタル署名など)であり、これを使用して、検証可能な請求または証明書600Bの発行者のアイデンティティを検証することができる。
【0100】
検証可能な請求または証明書600Bが生成されると、検証可能な請求または証明書600Bに関連するデータの少なくとも一部が分散台帳(例えば、220、560)に伝播され、これにより、信頼エンティティは、分散台帳上に伝播されたデータの一部を使用して、検証可能な請求または証明書600Bを検証できる。いくつかの実施形態では、発行者の秘密鍵に対応する公開鍵が分散台帳に伝播される。いくつかの実施形態では、公開鍵のハッシュ、または検証可能な請求または証明書600Bのハッシュが分散台帳上に伝播される。
【0101】
いくつかの実施形態では、検証可能な請求または証明書600Bは、検証可能な請求または証明書600Bに関連するさまざまなメタデータ620も含む。例えば、メタデータには(1)対応する検証済みの請求もしくは証明書を識別する固有の識別子621、(2)検証可能な請求もしくは証明書600Bにアクセスするための1つもしくは複数の条件622、または(3)発行者が検証可能な請求もしくは証明書600Bが有効であることもしくは使用可能であることを望む持続時間に関連する持続期間情報メタデータ623が含まれるが、これらに限定されない。
【0102】
検証可能な請求または証明書600Bにアクセスするための1つまたは複数の条件メタデータ622には、(1)信頼エンティティに対し、所定の金額の暗号通貨または通貨の種類の支払いを要求し、(2)信頼エンティティに識別情報の提供を要求し、(3)信頼エンティティに1つまたは複数の検証可能な請求を提供するよう要求し、(4)信頼エンティティにデータの一部にアクセスするための許可を与えるよう要求し、および/または(5)信頼エンティティに特定のサービスを提供するよう要求することが含まれるが、これらに限定されない。
【0103】
持続期間情報メタデータ623には、(1)対応する検証可能な請求もしくは証明書600Bの有効期限、(2)対応する検証可能な請求もしくは証明書600Bがアクセスもしくは使用できる所定の回数、(3)発行者からの指示に応じて、検証可能な請求もしくは証明書600Bを自動的に期限切れにする機構、または、(4)ユーザが検証可能な請求もしくは証明書600Bを手動で期限切れにすることを可能にする機構が含まれるが、これらに限定されない。
【0104】
図7Aは、分散ネットワークにおいて管理の連鎖を記録し、管理の連鎖を検証するための計算システム環境700の実施形態を示す。図示されるように、環境700は、オブジェクト712に関連付けられた元のエンティティ710を含む。例えば、いくつかの実施形態では、オブジェクト712は、絵画、肖像画、彫刻、音楽作品、または任意の他の種類の芸術作品などの芸術作品であるが、これらに限定されない。いくつかの実施形態では、芸術作品は、デジタル肖像画またはデジタル音楽などのデジタルオブジェクトバージョンである。他の実施形態では、芸術作品は、物理的な肖像画や音楽などの物理的なオブジェクトのバージョンである。いくつかの実施形態では、オブジェクト712は、テーブル、机、他の家具、楽器、または車両などの物理的オブジェクトである。本明細書に開示される実施形態は、オブジェクト712のタイプによって限定されないが、オブジェクト712は、通常、価値があると考えられ、売買され得る、あるいは、1つのエンティティから別のエンティティに転送され得るオブジェクトである。
【0105】
本明細書に開示されるいくつかの実施形態では、元のエンティティ710は、オブジェクト712を作成または生成するエンティティである。例えば、そのような実施形態では、元のエンティティ710は、デジタルまたは物理的な芸術作品であるオブジェクト712を作成または生成するアーティストであってもよい。他の実施形態では、元のエンティティ710は、他のエンティティに販売するためにオブジェクト712を取得するエンティティである。例えば、そのような実施形態では、元のエンティティ710は、骨董品の家具または車両を販売する骨董品ディーラーであってもよい。したがって、本明細書に開示される実施形態は、元のエンティティ710のタイプによって限定されない。
【0106】
オブジェクト712は通常、価値があると考えられ、売買できるオブジェクトであるため、オブジェクト712が売買される際に真正であることを保証することが重要である。これは、特定のエンティティが不正なオブジェクト712を販売しようとしていないことを保証するのに役立つ。したがって、本明細書に開示される実施形態は、元のエンティティまたはその後の販売エンティティが、オブジェクト712の管理の連鎖に関する検証可能な請求または証明書を分散台帳に記録できるようにする。次いで、購入エンティティは、分散台帳にアクセスして、オブジェクト712に関連する検証可能な請求または証明書を検証することができる。オブジェクト712の管理の連鎖に関連する検証可能な請求または証明書が検証された場合、購入エンティティは、オブジェクト712が真正であるという高い確信を持つことができる。いくつかの実施形態では、元のエンティティ710は、前述した方法でオブジェクト712のDID712Aを取得する。オブジェクト712のDIDを取得することは、分散システムにおいてオブジェクト712を識別するのにさらに役立ち、分散台帳上の検証可能な請求または証明書を記録および妥当性検査するのに役立ち得る。したがって、図7Aの701に示すように、元のエンティティ710の計算システムは、元の管理の連鎖の検証可能な請求または証明書715を、元のエンティティ710からオブジェクト712を購入しているエンティティであるエンティティ730の計算システムに提供する。元のエンティティ710の計算システムは、エンティティ730が購入プロセスを開始するときに、元の管理の連鎖の検証可能な請求または証明書715を生成することができる。
【0107】
図7Bは、元のエンティティ710によって作成された管理の連鎖の請求720を表すデータ構造例を示す。管理の連鎖の請求720には、請求の主題としてオブジェクト712、オブジェクト712が販売されたことを指定するプロパティ721、およびオブジェクト712が販売されるエンティティの名前をリストする値722、ならびにそのエンティティに関連付けられたDIDが含まれる。図示の実施形態では、オブジェクト712が販売されるのはエンティティ730であるため、エンティティ730に関連付けられたDID737Aが含まれる。さらに、オブジェクト712は、そのDID712Aに関連付けられているように示されており、これは、前述したDIDに対応し得る。
【0108】
いくつかの実施形態では、管理の連鎖の請求720に加えて、元のエンティティ710は、オブジェクト712に関して真正性請求711も行う。図7Bは、元のエンティティ710によって作成された真正性請求711を表すデータ構造例を示す。真正性請求711には、請求の主題としてオブジェクト712およびその関連するDID712A、オブジェクト712が真正であることを指定するプロパティ713、およびオブジェクト712が真正であるため「真」を示す値714が含まれる。
【0109】
図7Cは、元の検証可能な請求または証明書715のデータ構造例を示す。元の管理の連鎖の検証可能な請求または証明書715は、管理(custody)の請求720を含み、オブジェクト712のDID712Aおよびエンティティ730のDID737Aを含む。いくつかの実施形態では、オブジェクト712のDID712Aを含む真正性請求711も含まれる。元の管理の連鎖の検証可能な請求または証明書715はまた、元の管理の連鎖の検証可能な請求または証明書715に元のエンティティ710の秘密鍵によって署名することによって生成される署名717を含み、これは元のエンティティ710のDID717Aに関連付けられており、署名717に含まれる公開鍵717Bとの鍵ペアの一部である。署名717は、通常、元の管理の連鎖の検証可能な請求または証明書715が発行された時点以降に、元の管理の連鎖の検証可能な請求または証明書715が改ざんされているかどうかを検出するために使用される暗号化機構(デジタル署名など)であり、元のエンティティ710のアイデンティティを検証するために使用できる。いくつかの実施形態では、元の管理の連鎖の検証可能な請求または証明書715は、元の検証可能な請求または証明書715に関連する請求メタデータ716も含む。請求メタデータ716は、前述のメタデータ620に対応する。
【0110】
元の管理の連鎖の検証可能な請求または証明書715が生成されると、元の管理の連鎖の検証可能な請求または証明書715に関連するデータの少なくとも一部は、図7Aの702に示すように、元のエンティティ710の計算システムによって分散台帳760(分散台帳220、560に対応する)に伝播され、これにより、信頼エンティティは、分散台帳に伝播されたデータの一部を使用して、元の検証可能な請求または証明書715を検証できるようになる。例えば、いくつかの実施形態では、DID717Aまたは公開鍵717Bは、元の検証可能な請求または証明書715を妥当性検査する際に使用するために、分散台帳760上に伝播される。他の実施形態では、公開鍵717Bのハッシュ、または元の管理の連鎖の検証可能な請求もしくは証明書715のハッシュが、分散台帳760上に伝播される。
【0111】
図7Aの701に示すように、エンティティ730の計算システムは、オブジェクト712の販売が完了すると、元のエンティティ710から元の管理の連鎖の検証可能な請求または証明書715を受け取る。説明を容易にするために示されていないが、エンティティ730は現在オブジェクト712を所有しているため、オブジェクト712の販売が完了すると、エンティティ730はまた、元のエンティティ710から実際のオブジェクト712を受け取ることになることが理解されよう。
【0112】
元の検証可能な請求または証明書715を受け取ると、エンティティ730の計算システムは、704に示すように分散台帳760にアクセスし、DID717Aおよび/または公開鍵717Bを使用して署名717を検証することができる。換言すれば、エンティティ730の計算システムは、DID717Aおよび/または公開鍵717Bを使用することになり、分散台帳760上の複数のエントリが、署名717(または少なくとも署名717の表現)が適切に記録され、改ざんされていないことを示していることを確認する。署名717の検証が成功すると、元の管理の連鎖の検証可能な請求または証明書715がエンティティ730によって受け取られた時点で、元のエンティティ710がオブジェクト712の適切な管理権を有していたことを検証することになる。
【0113】
オブジェクト712の管理権を取得した後、エンティティ730は、オブジェクト712をエンティティ740に販売することを望む場合がある。したがって、図7Aの703に示されるように、エンティティ730の計算システムは、エンティティ740に適切な管理の連鎖を示すために、管理の連鎖の検証可能な請求または証明書735をエンティティ740の計算システムに提供する。エンティティ730の計算システムは、エンティティ740が購入プロセスを開始するときに、管理の連鎖の検証可能な請求または証明書735を生成することができる。エンティティ730は、管理の連鎖の検証可能な請求または証明書735をエンティティ740に「提示」しているため、管理の連鎖の検証可能な請求または証明書735は、検証可能な提示735とも呼ばれ得る。
【0114】
図7Dは、エンティティ730によって作成された管理の連鎖の請求731を表すデータ構造例を示す。管理の連鎖の請求731には、請求の主題としてオブジェクト712とそれに関連付けられたDID712A、オブジェクト712が販売されたことを指定するプロパティ732、オブジェクト712が販売されるエンティティの名前をリストする値733およびそのエンティティの関連するDIDが含まれる。図示の実施形態では、オブジェクト712が販売されるのはエンティティ740であるため、エンティティ740に関連付けられたDID747Aが含まれる。
【0115】
図7Eは、管理の連鎖の検証可能な請求または証明書735のデータ構造例を示す。管理の連鎖の検証可能な請求または証明書735は、管理の連鎖の請求731を含み、オブジェクト712のDID712Aおよびエンティティ740のDID747Aを含む。いくつかの実施形態では、管理の連鎖の検証可能な請求または証明書735は、管理の連鎖の検証可能な請求または証明書735に関連し、前述のメタデータ620に対応し得るさまざまなメタデータ736も含む。管理の連鎖の検証可能な請求または証明書735はまた、元の検証可能な請求または証明書715を含むか、またはその中に埋め込んでいる。
【0116】
管理の連鎖の検証可能な請求または証明書735は、エンティティ730のDID737Aに関連付けられたエンティティ730の秘密鍵によって管理の連鎖の検証可能な請求または証明書735に署名することによって生成される署名737も含む。署名737は通常、暗号化機構(デジタル署名など)であり、これは、管理の連鎖の検証可能な請求または証明書735が発行された時点以降に改ざんされているかどうかを検出するために使用され、エンティティ730のアイデンティティを検証するために使用することができる。
【0117】
管理の連鎖の検証可能な請求または証明書735が生成されると、図7Aの704に示すように、管理の連鎖の検証可能な請求または証明書735に関連するデータの少なくとも一部が、エンティティ730の計算システムによって分散台帳760上に伝播され、信頼エンティティが分散台帳に伝播されたデータの一部を使用して、管理の連鎖の検証可能な請求または証明書735を検証できるようにする。例えば、いくつかの実施形態では、DID737Aまたは公開鍵737Bは、管理の連鎖の検証可能な請求または証明書735を妥当性検査する際に使用するために分散台帳760上に伝播される。他の実施形態では、公開鍵737Bのハッシュ、または管理の連鎖の検証可能な請求または証明書735のハッシュが分散台帳760上に伝播される。
【0118】
図7Aの703に示すように、オブジェクト712の販売が完了すると、エンティティ740の計算システムは、エンティティ730から管理の連鎖の検証可能な請求または証明書735を受け取る。説明を容易にするために示されていないが、エンティティ740は現在オブジェクト712を所有しているため、オブジェクト712の販売が完了すると、エンティティ740はまた、実際のオブジェクト712をエンティティ730から受け取ることになることが理解されよう。
【0119】
管理の連鎖の検証可能な請求または証明書735を受け取ると、エンティティ740の計算システムは、706に示すように分散台帳760にアクセスし、DID737Aおよび/または公開鍵737Bを使用して署名737を検証することができる。換言すれば、エンティティ740の計算システムは、DID737Aおよび/または公開鍵737Bを使用することになり、分散台帳760上の複数のエントリが、署名737(または少なくとも署名737の表現)が適切に記録されており、改ざんまたは取り消されていないことを示していることを確認する。
【0120】
しかし、署名737をそれ自体で妥当性検査することは、エンティティ730がオブジェクト712の適切な管理権を有していたことを必ずしも検証するとは限らない。例えば、エンティティ730がオブジェクト712の偽造バージョンを販売しようとしており、したがってエンティティ740を騙すために管理の連鎖の検証可能な請求または証明書735を不正に生成した可能性がある。したがって、エンティティ740の計算システムは、706に示すように分散台帳にアクセスして、DID717Aおよび/または公開鍵717Bを使用して、管理の連鎖の検証可能な請求または証明書735に埋め込まれる元の管理の連鎖の検証可能な請求または証明書715の署名717を検証することもできる。前述したように、署名717を検証することは、元の管理の連鎖の検証可能な請求または証明書715が改ざんされていないことを示す。そのような改ざんは署名の検証に失敗するからである。さらに、署名717を検証することは、そのような取り消しが分散台帳760に記録される可能性が高いため、支援の元の管理の連鎖の検証可能な請求または証明書715が取り消されていないことを示す。したがって、署名717および737の検証が成功すると、管理の連鎖の検証可能な請求または証明書735がエンティティ740によって受け取られた時点で、エンティティ730がオブジェクト712の適切な管理権を有していたことを検証することになる。
【0121】
オブジェクト712の管理権を取得した後、エンティティ740は、オブジェクト712をエンティティ750に販売することを望む場合がある。したがって、図7Aの705に示すように、エンティティ740の計算システムは、エンティティ750の計算システムに検証可能な請求または証明書745を提供する。エンティティ740の計算システムは、エンティティ730が購入プロセスを開始するときに、検証可能な請求または証明書745を生成することができる。エンティティ740は、管理の連鎖の検証可能な請求または証明書745をエンティティ750に「提示」しているため、管理の連鎖の検証可能な請求または証明書745は、検証可能な提示745と呼ばれることもある。
【0122】
図7Fは、エンティティ740によって作成される管理の連鎖の請求741を表すデータ構造例を示す。管理の連鎖の請求741には、請求の主題としてオブジェクト712とそれに関連するDID712A、オブジェクト712が販売されたことを指定するプロパティ742、およびオブジェクト712が販売されるエンティティの名前をリストする値743、ならびにそのエンティティの関連するDIDが含まれる。図示の実施形態では、オブジェクト712が販売されるのはエンティティ750であるため、エンティティ750に関連付けられたDID750Aが含まれる。
【0123】
図7Gは、管理の連鎖の検証可能な請求または証明書745のデータ構造例を示す。管理の連鎖の検証可能な請求または証明書745には、管理の連鎖の請求741が含まれ、オブジェクト712のDID712Aおよびエンティティ750のDID750Aが含まれる。いくつかの実施形態では、管理の連鎖の検証可能な請求または証明書745は、管理の連鎖の検証可能な請求または証明書745に関連し、前述のメタデータ620に対応し得るさまざまなメタデータ746も含む。管理の連鎖の検証可能な請求または証明書745はまた、管理の連鎖の検証可能な請求または証明書735を含むか、あるいはその中に埋め込んでいる。前述したように、管理の連鎖の検証可能な請求または証明書735は、元の検証可能な請求または証明書715を含むか、あるいはその中に埋め込んでいる。
【0124】
管理の連鎖の検証可能な請求または証明書745は、エンティティ740のDID747Aに関連付けられたエンティティ740の秘密鍵によって管理の連鎖の検証可能な請求または証明書745に署名することによって生成される署名747も含む。署名747は通常、暗号化機構(デジタル署名など)であり、これは、管理の連鎖の検証可能な請求または証明書745が発行された時点以降に、管理の連鎖の検証可能な請求または証明書745が改ざんされているかどうかを検出するために使用され、エンティティ740のアイデンティティを検証するために使用することができる。
【0125】
管理の連鎖の検証可能な請求または証明書745が生成されると、図7Aの706に示すように、管理の連鎖の検証可能な請求または証明書745に関連するデータの少なくとも一部が、エンティティ740の計算システムによって分散台帳760上に伝播され、信頼エンティティが分散台帳に伝播されたデータの一部を使用して、管理の連鎖の検証可能な請求または証明書745を検証できるようにする。例えば、いくつかの実施形態では、DID747Aまたは公開鍵747Bは、管理の連鎖の検証可能な請求または証明書745を妥当性検査する際に使用するために分散台帳760上に伝播される。他の実施形態では、公開鍵747Bのハッシュ、または管理の連鎖の検証可能な請求または証明書745のハッシュが、分散台帳760上に伝播される。
【0126】
図7Aの706に示すように、エンティティ750の計算システムは、オブジェクト712の販売が完了すると、エンティティ740から管理の連鎖の検証可能な請求または証明書745を受け取る。説明を容易にするために示されていないが、エンティティ750は現在オブジェクト712を所有しているため、オブジェクト712の販売が完了すると、エンティティ750はまた、実際のオブジェクト712をエンティティ740から受け取ることになることが理解されよう。
【0127】
管理の連鎖の検証可能な請求または証明書745を受け取ると、エンティティ750の計算システムは、707に示すように分散台帳760にアクセスし、DID747Aおよび/または公開鍵747Bを使用して署名747を検証することができ、分散台帳760上の複数のエントリが、署名747(または少なくとも署名747の表現)が適切に記録されており、改ざんまたは取り消されていないことを示していることを確認する。
【0128】
署名747をそれ自体で妥当性検査することは、エンティティ740またはエンティティ730がオブジェクト712の適切な管理権を有していたことを必ずしも検証するとは限らない。なぜなら、不正な管理の連鎖の請求が以前の管理の連鎖の検証可能な請求または証明書に追加されている可能性があるからである。したがって、エンティティ750の計算システムは、707に示すように分散台帳にアクセスして、DID737Aおよび/または公開鍵737Bを使用して、管理の連鎖の検証可能な請求または証明書745に埋め込まれた管理の連鎖の検証可能な請求または証明書735の署名737を検証することもできる。さらに、エンティティ750の計算システムは、706に示すように分散台帳にアクセスして、DID717Aおよび/または公開鍵717Bを使用して、管理の連鎖の検証可能な請求または証明書735に埋め込まれた元の管理の連鎖の検証可能な請求または証明書715の署名717を検証することもできる。署名717、737、および747の検証が成功すると、管理の連鎖の検証可能な請求または証明書745がエンティティ750によって受け取られた時点で、エンティティ740がオブジェクト712の適切な管理権を有していたことを検証することになる。
【0129】
図8は、エンティティ750がさまざまな検証可能な請求または証明書715、735、および745を検証または妥当性検査するためのプロセスフローのより詳細な図を示す。前述したように、エンティティ750の計算システムは、エンティティ730から管理の連鎖の検証可能な請求または証明書745を受け取る。801に示すように、エンティティ750の計算システムは分散台帳760にアクセスして、前述した方法で管理の連鎖の検証可能な請求または証明書745を検証または妥当性検査する。802に示すように、管理の連鎖の検証可能な請求または証明書745の検証または妥当性検査が成功すると、エンティティ750の計算システムは、分散台帳760にアクセスして、803で示されるように前述した方法で、管理の連鎖の検証可能な請求または証明書745に埋め込まれている管理の連鎖の検証可能な請求または証明書735を検証または妥当性検査する。804に示すように、管理の連鎖の検証可能な請求または証明書735の検証または妥当性検査が成功すると、エンティティ750の計算システムは、分散台帳760にアクセスして、805に示されるように前述した方法で、管理の連鎖の検証可能な請求または証明書735に埋め込まれている元の管理の連鎖の検証可能な請求または証明書715を検証または妥当性検査する。このようにして、エンティティ750は、ある時点でオブジェクト712の適切な管理権を有すると請求したエンティティのそれぞれが実際に管理権を有していたことを検証することができる。これにより、エンティティ750はオブジェクト712の真正性を確信することができる。
【0130】
いくつかの実施形態では、オブジェクト712の管理権を有するエンティティのうちの1つが、オブジェクト712に対して修復または他の変更を実行することを望む場合がある。例えば、オブジェクト712がアンティーク家具またはアンティーク車である場合、その価値を高めるために修復または復元する必要があり得る。したがって、図7Hは、修復エンティティ770を含む環境700の代替実施形態を示す。この実施形態では、修復エンティティ770の計算システムは、修復検証可能な請求または証明書775を生成することができる。図示されていないが、修復検証可能な請求または証明書775は、主題、プロパティ、および値を有する請求を含み、オブジェクト712に対して行われた修復または変更を指定する請求メタデータを含むことができる。709に示すように、分散台帳760上に修復検証可能な請求または証明書775を記録するために使用される、関連するDIDおよび公開鍵と共に署名を含めることもできる。
【0131】
修復検証可能な請求または証明書775は、修復または変更を開始したエンティティに提供される。図示の実施形態では、このエンティティはエンティティ740であり、708に示すように、修復検証可能な請求または証明書775がエンティティ740に提供される。次に、図7Jに示すように、修復検証可能な請求または証明書775を管理の連鎖の検証可能な請求または証明書745に埋め込むことができる。このようにして、オブジェクト712に対する任意の修復または変更を検証可能な請求または証明書に含めることが可能である。図示の実施形態は、修復または変更を開始するエンティティ740を示しているが、これは、エンティティのいずれかによって実行されてもよい。さらに、いくつかの実施形態では、修復エンティティ770は、エンティティ740または環境700の何らかの他のエンティティであってもよい。
【0132】
図7Iは、支援エンティティ780を含む環境700の別の代替実施形態を示す。支援エンティティ780は、通常、その専門知識により他のエンティティから信頼され得る特定の分野の専門家であるよく知られたエンティティである。例えば、支援エンティティ780は、骨董品についての請求を行うことでよく知られている骨董品店であってもよい。
【0133】
この実施形態では、支援エンティティ780の計算システムは、支援請求または証明書785を生成することができる。図示されていないが、支援請求または証明書785は、主題、プロパティおよび値を有する請求を含み、支援エンティティがオブジェクト712の真正性を確立したことを指定する請求メタデータを含むことができる。709Aに示すように、分散台帳760上に支援請求または証明書785を記録するために使用される、関連するDIDおよび公開鍵と共に署名を含むこともできる。
【0134】
支援請求または証明書785は、支援を要求したエンティティに提供される。図示の実施形態では、このエンティティはエンティティ740であり、708Aに示すように、支援請求または証明書785がエンティティ740に提供される。次いで、支援請求または証明書785は、図7Kに示すように、管理の連鎖の検証可能な請求または証明書745に埋め込むことができる。エンティティ750(または、管理の連鎖の検証可能な請求または証明書を受け取る任意の後続エンティティ)は、その後、分散台帳760を使用して前述した方法で支援請求または証明書785を検証することができる。支援請求または証明書785が検証または妥当性検査された場合、エンティティ750は、オブジェクト712が真正であると信頼することができる。エンティティ750(または、管理の連鎖の検証可能な請求または証明書を受け取る任意のその後のエンティティ)は、他の管理の連鎖の請求または証明書をさらに検証または妥当性検査する必要がない場合があり、これは、エンティティ750が支援エンティティ780によって行われた支援を確信できるためである。図示の実施形態は、エンティティ740が支援請求または証明書785を要求していることを示しているが、これはエンティティのいずれかによって実行されてもよい。さらに、いくつかの実施形態では、支援エンティティは、エンティティ740または環境700の何らかの他のエンティティであってもよい。
【0135】
図9は、オブジェクト712がデジタルアート作品910である実施形態を示す。デジタルアート作品910は、通常、デジタルアート作品に関する情報を含むメタデータ920を含むことになる。したがって、いくつかの実施形態では、元のエンティティ710は、デジタルアート作品910をエンティティ730に販売するときに、メタデータ920の一部として、元の管理の連鎖の検証可能な請求または証明書715を含む。図示されていないが、エンティティ730は、次いで、管理の連鎖の検証可能な請求または証明書735をメタデータ920に含めることができる。このプロセスは、次いで、管理の連鎖の検証可能な請求または証明書745に対してエンティティ740によって繰り返され得る。他の実施形態では、デジタルアート作品910は、元の検証可能な請求または証明書715の請求メタデータ716に含まれてもよい。
【0136】
図9はまた、元の検証可能な請求または証明書715の代替実施形態を示す。この実施形態では、元のエンティティ710は、オブジェクト712のデジタル画像930を請求メタデータ716に含めている。これは、オブジェクト712がアンティーク家具や物理的な芸術作品などの物理的なオブジェクトである実施形態に有用であり得る。請求メタデータ716にデジタル画像930を含めることにより、元の管理の連鎖の検証可能な請求または証明書715の生成後にオブジェクト710を取得するエンティティは、物理的オブジェクト712をデジタル画像930と比較することができる。一致は、オブジェクト712が真正であり、管理の連鎖が適切に維持されていたことを示す可能性がある。
シェーン
次に、以下の説明では、実行され得る多くの方法および方法行為について言及する。方法行為は特定の順序で説明されるか、または特定の順序で発生するものとしてフローチャートで示され得るが、ある行為は、その行為が実行される前に完了する別の行為に依存するため、特に言及または要求されない限り、特定の順序は要求されない。
【0137】
図10は、分散台帳に裏付けられた分散識別子(DID)を実装する分散ネットワークにおいて管理の連鎖を記録するための例示的な方法1000のフローチャートを示す。方法1000は、前述の図2図9のうちの1つまたは複数に関して説明される。
【0138】
方法1000は、第2のエンティティにおいて、第1のエンティティから第1の管理の連鎖の検証可能な請求を受け取るステップを含み、第1の管理の連鎖の検証可能な請求は、第1のエンティティによって署名され、第1の管理の連鎖の検証可能な請求が受け取られた時点でオブジェクトが第1のエンティティの管理下にあったことを指定する(1010)。例えば、前述したように、エンティティ730は、元のエンティティ710から、元の管理の連鎖の検証可能な請求または証明書715を受け取ることができる。元の管理の連鎖の検証可能な請求または証明書715には、元のエンティティ710の署名717が含まれ、元の管理の連鎖の検証可能な請求または証明書715がエンティティ730によって受け取られた時点で、オブジェクト712が元のエンティティ710の管理下にあったことを指定する管理の連鎖の請求720が含まれる。あるいは、エンティティ740は、エンティティ740から管理の連鎖の検証可能な請求または証明書735を受け取ることもできる。管理の連鎖の検証可能な請求または証明書735には、エンティティ730の署名737が含まれ、管理の連鎖の検証可能な請求または証明書735がエンティティ740によって受け取られた時点で、オブジェクト712がエンティティ730の管理下にあったことを指定する管理の連鎖の請求731が含まれる。
【0139】
方法1000は、分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証するステップ(1020)を含む。例えば、前述したように、エンティティ730は分散台帳760にアクセスして、元の管理の連鎖の検証可能な請求または証明書715を検証する。あるいは、エンティティ740は、分散台帳760にアクセスして、管理の連鎖の検証可能な請求または証明書735を検証する。
【0140】
方法1000は、第2の管理の連鎖の検証可能な請求を生成するステップを含み、第2の管理の連鎖の検証可能な請求は、その中に第1の管理の連鎖の検証可能な請求を埋め込み、第2のエンティティによって署名される(1030)。例えば、前述したように、エンティティ730は、署名737および埋め込まれた元の管理の連鎖の検証可能な請求または証明書715を含む管理の連鎖の検証可能な請求または証明書735を生成する。あるいは、エンティティ740は、署名747および埋め込まれた管理の連鎖の検証可能な請求または証明書735を含む管理の連鎖の検証可能な請求または証明書745を生成する。
【0141】
方法1000は、第2の管理の連鎖の検証可能な請求の少なくとも一部を分散台帳に記録するステップを含む(1040)。例えば、前述したように、エンティティ730は、管理の連鎖の検証可能な請求または証明書735の少なくとも一部を分散台帳760に記録する。あるいは、エンティティ740は、管理の連鎖の検証可能な請求または証明書745の少なくとも一部を分散台帳760に記録する。
【0142】
方法1000は、第2の管理の連鎖の検証可能な請求を第3のエンティティに提供するステップを含み、第2の管理の連鎖の検証可能な請求は、第2の管理の連鎖の検証可能な請求が第3のエンティティに提供された時点でオブジェクトが第2のエンティティの管理下にあったことを第3のエンティティに指定するように構成される(1050)。例えば、前述したように、エンティティ730は、オブジェクト712に対する適切な管理の連鎖を確立するために、管理の連鎖の検証可能な請求または証明書735をエンティティ740に提供する。あるいは、エンティティ740は、オブジェクト712に対する適切な管理の連鎖を確立するために、管理の連鎖の検証可能な請求または証明書745をエンティティ750に提供する。
【0143】
図11は、分散台帳に裏付けられた分散識別子(DID)を実装する分散ネットワークにおける管理の連鎖を検証するための例示的な方法1100のフローチャートを示す。方法900は、前述した図2図9のうちの1つまたは複数に関して説明される。
【0144】
方法1100は、第3のエンティティにおいて、オブジェクトに関連する第1の管理の連鎖の検証可能な請求を第1のエンティティから受け取るステップを含み、第1の管理の連鎖の検証可能な請求は、第1のエンティティによって生成された第1の署名を含み、その中に第1のエンティティが第2のエンティティから受け取ったオブジェクトに関連する第2の管理の連鎖の検証可能な請求が埋め込まれており、第2の管理の連鎖の検証可能な請求は、第2のエンティティによって生成された第2の署名を含む(1110)。例えば、前述したように、エンティティ740は、エンティティ730から、署名737、オブジェクト712の管理の連鎖の請求731を含む管理の連鎖の検証可能な請求または証明書735、および元のエンティティ710の署名717を含む、埋め込まれた元の管理の連鎖の検証可能な請求または証明書715を受け取る。あるいは、エンティティ750は、エンティティ740から、署名747、オブジェクト712の管理の連鎖の請求741、ならびにエンティティ730の署名737および元のエンティティ710の署名171をそれぞれ含む、埋め込まれた管理の連鎖の検証可能な請求または証明書735および元の管理の連鎖の検証可能な請求または証明書715を受け取る。
【0145】
方法1100は、分散台帳にアクセスして、第1の管理の連鎖の検証可能な請求を検証するステップを含み、第1の管理の連鎖の検証可能な請求の妥当性検査は、第1の管理の連鎖の検証可能な請求が第3のエンティティによって受け取られた時点で、第1のエンティティがオブジェクトの適切な管理を有していたことを示す(1120)。例えば、前述したように、エンティティ740は、分散台帳760にアクセスして、管理の連鎖の検証可能な請求または証明書735を検証して、エンティティ730がオブジェクト712の適切な管理の連鎖を有していたことを確立することができる。あるいは、エンティティ750は、分散台帳760にアクセスして、管理の連鎖の検証可能な請求または証明書745を検証して、エンティティ740がオブジェクト712の適切な管理の連鎖を有していたことを確立することができる。
【0146】
方法1100は、第1の管理の連鎖の検証可能な請求の検証に成功すると、分散台帳にアクセスして第2の管理の連鎖の検証可能な請求を検証するステップを含み、第2の管理の連鎖の検証可能な請求の検証は、第2の管理の連鎖の検証可能な請求が第1のエンティティによって受け取られた時点で、第2のエンティティがオブジェクトの適切な管理を有していたことを示す(1130)。例えば、前述したように、エンティティ740は、分散台帳760にアクセスして、元の管理の連鎖の検証可能な請求または証明書715を検証して、元のエンティティ710がオブジェクト712について適切な管理の連鎖を有していたことを確立することができる。あるいは、エンティティ750は分散台帳760にアクセスし、管理の連鎖の検証可能な請求または証明書を検証し、エンティティ730および元のエンティティ710がオブジェクト712の適切な管理の連鎖を有していたことを確立するために、元の管理の連鎖の検証可能な請求または証明書715を検証することができる。
【0147】
本明細書に開示されるプロセスおよび方法では、プロセスおよび方法で実行される動作は、異なる順序で実装されてもよい。さらに、概説した動作は例としてのみ提供され、開示された実施形態の本質を損なうことなく、動作のいくつかは任意であってもよく、より少ないステップおよび動作に結合され、さらなる動作で補足され、または追加の動作に拡張されてもよい。
【0148】
本発明は、その趣旨または特徴から逸脱することなく、他の特定の形態で具体化することができる。記載された実施形態は、あらゆる点において例示としてのみ考慮されるべきであり、限定的なものではない。したがって、本発明の範囲は、前述の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等の意味および範囲内にあるすべての変更は、その範囲内に包含されるものとする。
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図7C
図7D
図7E
図7F
図7G
図7H
図7I
図7J
図7K
図8
図9
図10
図11
【国際調査報告】