(57)【要約】【課題】  ハード／ソフトトークン検証を介したブロックチェーン認証のための方法、装置、コンピュータ・プログラム及びコンピュータ可読ストレージ媒体を提供する。【解決手段】  例示的動作は、ユーザプロファイルと関連付けられた公開鍵及び対応する１又は複数のアドレスをブロックチェーンに格納すること、公開鍵に基づいてユーザプロファイルに対する証明書を作成すること、証明書を１又は複数のアドレスに転送すること、ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取ること、及び１又は複数のアドレスに基づいてブロックチェーンから証明書を取り出すこと、のうちの１つ又は複数を含むことができる。【選択図】図５
2020528695.tif 000002
【特許請求の範囲】
【請求項１】
ユーザプロファイルと関連付けられた公開鍵及び対応する１又は複数のアドレスをブロックチェーンに格納することと、
前記公開鍵に基づいて前記ユーザプロファイルに対する証明書を作成することと、
前記証明書を前記１又は複数のアドレスに転送することと、
前記ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取ることと、
前記１又は複数のアドレスに基づいて前記ブロックチェーンから前記証明書を取り出すことと、
を含む、方法。
【請求項２】
前記証明書は、アクセス制御リスト（ＡＣＬ）である、請求項１に記載の方法。
【請求項３】
前記証明書は、限定された時間ウィンドウ内に作成される、請求項１に記載の方法。
【請求項４】
前記１又は複数のアドレスは、複数のアクセス試行の反復の間の複数の証明書に対応する複数のアドレス位置を含む、請求項３に記載の方法。
【請求項５】
前記要求は、前記複数のアドレス位置を含む、請求項４に記載の方法。
【請求項６】
前記要求を受け取ることに応答して、暗号化メッセージを前記ユーザデバイスに伝送することと、
前記暗号化メッセージに基づいて復号メッセージを受け取ることと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記復号メッセージの復号メッセージコンテンツを、前記暗号化の暗号化メッセージコンテンツと比較することと、
前記復号メッセージコンテンツが前記暗号化メッセージコンテンツと合致する場合、前記証明書が有効であるかどうかを検証し、前記証明書が有効である場合、前記ユーザデバイスへアクセス権を与えることと、
をさらに含む、請求項６に記載の方法。
【請求項８】
装置であって、
ユーザプロファイルと関連付けられた公開鍵及び対応する１又は複数のアドレスをブロックチェーンに格納し、
前記公開鍵に基づいて前記ユーザプロファイルに対する証明書を作成し、
前記証明書を前記１又は複数のアドレスに転送する、
ように構成されたプロセッサと、
前記ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取る
ように構成された受信機と、
を含み、
前記プロセッサは、前記ブロックチェーンからの前記１又は複数のアドレスに基づいて前記証明書を取り出すようにさらに構成される、装置。
【請求項９】
前記証明書は、アクセス制御リスト（ＡＣＬ）である、請求項８に記載の装置。
【請求項１０】
前記証明書は、限定された時間ウィンドウ内に作成される、請求項８に記載の装置。
【請求項１１】
前記１又は複数のアドレスは、複数のアクセス試行の反復の間の複数の証明書に対応する複数のアドレス位置を含む、請求項１０に記載の装置。
【請求項１２】
前記要求は、前記複数のアドレス位置を含む、請求項１１に記載の装置。
【請求項１３】
前記プロセッサは、
前記要求を受け取ることに応答して、暗号化メッセージを前記ユーザデバイスに転送するようにさらに構成され、前記受信機は、前記暗号化メッセージに基づいて復号メッセージを受け取るようにさらに構成される、請求項８に記載の装置。
【請求項１４】
前記プロセッサは、
前記復号メッセージの復号メッセージコンテンツを前記暗号化の暗号化メッセージコンテンツと比較し、
前記復号メッセージコンテンツが前記暗号化メッセージコンテンツと合致する場合、前記証明書が有効であるかどうかを検証し、前記証明書が有効である場合、前記ユーザデバイスへアクセス権を与える、
ようにさらに構成される、請求項１３に記載の装置。
【請求項１５】
実行されるとき、プロセッサに、
ユーザプロファイルと関連付けられた公開鍵及び対応する１又は複数のアドレスをブロックチェーンに格納することと、
前記公開鍵に基づいて前記ユーザプロファイルに対する証明書を作成することと、
前記証明書を前記１又は複数のアドレスに転送することと、
前記ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取ることと、
前記ブロックチェーンからの前記１又は複数のアドレスに基づいて前記証明書を取り出すことと、
を行わせる命令を格納するように構成された、非一時的コンピュータ可読ストレージ媒体。
【請求項１６】
前記証明書は、アクセス制御リスト（ＡＣＬ）である、請求項１５に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１７】
前記証明書は、限定された時間ウィンドウ内に作成される、請求項１５に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１８】
前記１又は複数のアドレスは、複数のアクセス試行の反復の間の複数の証明書に対応する複数のアドレス位置を含む、請求項１７に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項１９】
前記要求は、前記複数のアドレス位置を含む、請求項１８に記載の非一時的コンピュータ可読ストレージ媒体。
【請求項２０】
前記プロセッサは、
前記要求を受け取ることに応答して、暗号化メッセージを前記ユーザデバイスに伝送することと、
前記暗号化メッセージに基づいて復号メッセージを受け取ることと、
前記復号メッセージの復号メッセージコンテンツが前記暗号化メッセージコンテンツと合致する場合、前記証明書が有効であるかどうかを検証し、前記証明書が有効である場合、前記ユーザデバイスへアクセス権を与えることと、
を行わせるようにさらに構成される、請求項１５に記載の非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、認可（authorization）アクセス管理に関し、より特定的には、ハード／ソフトトークン検証を介したブロックチェーン認証に関する。
【背景技術】
【０００２】
ブロックチェーンは、単一の組織又はエンティティではなく、多くの異なる組織又はエンティティにより制御されるピアツーピア型の分散型（共有及び複製される）データベース又は台帳（ledger）を可能にする１つのタイプのコンピューティングアーキテクチャである。この構成は、独立マシンのネットワークにわたって、ノードがシステム内の情報の状態を確実に追跡し、保持することを可能にする。その際に、ブロックチェーンは、制御の中心点を必要とせずに、ビジネスネットワークを高い費用対効果で作成することを可能にする。この構成は、独立したパーティが、それぞれのシステムの記録を保持し、不十分かつ時として複雑な組織間プロセスで互いに更新を照合するという、独立した信頼できるサードパーティ管理者のサービスを必要とする、伝統的データベース指向システムとは対照的に動作する。
【０００３】
二要素認証（two-factor authentication）は、国防省（Department of Defense、ＤｏＤ）などの主要政府機関により承認されたデファクト・タイプの認証である。二要素認証は、共通アクセス・カード（ＣＡＣ、Common Access Card）、及び／又はセキュリティ識別キー「フォブ（fob）」などのハードウェアドングルを用いて実行される。ＣＡＣは、カード内に存在するＩＤ／ＥＤＩＰＩ番号を検証するために用いられる集中型サーバに依存する。ハードウェアトークンは、システムにアクセスするためにワンタイムコード（例えば、ワンタイムパスワード）を生成するのに必要とされる必要コンポーネントを有するので、バックエンドサーバと通信する必要がない。バックエンドシステムはユーザにより提供されるトークンが合致することを検証する必要があるので、こうしたトークンは、検証される必要がある。
【０００４】
二要素認証は、種々のコンピューティングシステム及びネットワークに適用される周知のタイプのセキュリティ手順である。ソーシャルメディアサイト及び電子メールプロバイダは、モバイルデバイスを、第２の形態の認証として使用する（例えば、パスワード＋携帯電話に送られるアクセス・コード）。ＤｏＤは、全てのＤｏＤネットワークを、ＣＡＣにより保護する必要があると規定している。ＣＡＣを使用するためには、システムは、ＤｏＤ  ＰＫＩをサポートする必要がある。このＤｏＤ  ＰＫＩは、デジタル証明書（digital certificate）の作成、管理、配布、使用、格納及び取り消しを行うと共に公開鍵暗号を管理するのに必要とされる、役割、ポリシー及び手順のセットである。ＰＫＩは、システムがＤｏＤネットワーク内にあるという仮定の下で動作する。これは、ＤｏＤネットワークへのアクセス権がないユーザ（例えば、戦術的環境）の認証を試みるときに問題となる。ＤｏＤ／ＤｏＪは、ブリッジを用いてＣＡＣカード及びそれぞれのＰＫＩを介してユーザを相互認証することができる。こうしたインフラストラクチャをディプロイすることは、複雑になることがある。ハードウェアトークンは、そのほとんどが改ざん防止されているので、モバイルデバイスよりも信頼できることが多いが、それらのデバイスの管理は別の問題である。
【０００５】
従来の認証機構において、認証プロセスは、ＣＡＣカード又はハードウェアトークンのいずれかを用いることができる。この手法により、プライベートネットワーク内のユーザは、その内部ユーザがネットワーク内にいることで、ＣＡＣカードを用いて認証することができる。プライベートネットワーク外のユーザは、有効なＣＡＣを有してプライベートネットワークに関連するサードパーティサイトへの登録を試みることができるが、外部ユーザはプライベートネットワーク内にいないので、要求は拒絶され、プライベートネットワークへのアクセスが拒否される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ハード／ソフトトークン検証を介したブロックチェーン認証のための方法、装置及び非一時的コンピュータ可読ストレージ媒体を提供する。
【課題を解決するための手段】
【０００７】
１つの例示的実施形態は、ユーザプロファイルと関連付けられた公開鍵及び対応するアドレスをブロックチェーンに格納すること、公開鍵に基づいてユーザプロファイルに対する証明書（credential）を作成すること、証明書を１又は複数のアドレスに転送すること、ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取ること、及び１又は複数のアドレスに基づいてブロックチェーンから証明書を取り出すこと、のうちの１つ又は複数を提供する方法を含むことができる。このプロセスは、セキュリティを向上させるためにランダム化することができ、及び要素を要求するポリシーは、システム管理者により定義することができる。
【０００８】
別の例示的実施形態は、ユーザプロファイルと関連付けられた公開鍵及び１又は複数の対応するアドレスをブロックチェーンに格納し、公開鍵に基づいてユーザプロファイルに対する証明書を作成し、証明書を１又は複数のアドレスに転送することのうちの１つ又は複数を実行するように構成されたプロセッサと、ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取るように構成された受信機とを含み、プロセッサは、１又は複数のアドレスに基づいてブロックチェーンから証明書を取り出すようにさらに構成される、装置を含むことができる。
【０００９】
さらに別の例示的実施形態は、実行されるとき、プロセッサに、ユーザプロファイルと関連付けられた公開鍵及び対応するアドレスをブロックチェーンに格納すること、公開鍵に基づいてユーザプロファイルに対する証明書を作成すること、証明書を１又は複数のアドレスに転送すること、ユーザプロファイルと関連付けられたユーザデバイスからサイトへのアクセス要求を受け取ること、及び１又は複数のアドレスに基づいてブロックチェーンから証明書を取り出すこと、のうちの１つ又は複数を行わせる命令を格納するように構成された非一時的コンピュータ可読ストレージ媒体を含むことができる。このプロセスは、セキュリティを向上させるためにランダム化することができ、及び要素を要求するポリシーは、システム管理者により定義することができる。
【００１０】
ここで、添付図面を参照して、本発明の実施形態を単なる例として説明する。
【図面の簡単な説明】
【００１１】
【図１】例示的実施形態による、ブロックチェーンを用いる鍵生成手順を示す。
【図２】例示的実施形態による、ブロックチェーンシステム構成を用いる公開アドレス認証スキームを示す。
【図３】例示的実施形態による、ブロックチェーンアーキテクチャ構成を示す。
【図４】例示的実施形態による、ユーザデバイス、セキュリティエンティティ、及びブロックチェーンの間の相互作用のシステムメッセージング図を示す。
【図５】例示的実施形態による、ブロックチェーンにおける認証を管理する例示的方法のフロー図を示す。
【図６】例示的実施形態による、ブロックチェーンにおける認証を管理する例示的方法の別のフロー図を示す。
【図７】例示的実施形態の１つ又は複数をサポートするように構成された例示的ネットワークエンティティを示す。
【発明を実施するための形態】
【００１２】
本明細書で一般的に説明され、図示されるように、本出願のコンポーネントは、多様な異なる構成で配置及び設計することができることが、容易に理解されるであろう。従って、添付図面に示されるように、方法、装置、非一時的コンピュータ可読媒体、及びシステムのうちの少なくとも１つの実施形態の以下の詳細な説明は、特許請求されているような本出願の範囲を限定することを意図せず、選択された実施形態を表しているに過ぎない。
【００１３】
本明細書全体を通して記載される本出願の特徴、構造、又は特性は、１つ又は複数の実施形態において任意の適切な方法で組み合わせることができる。例えば、本明細書全体を通じて、「例示的実施形態」、「幾つかの実施形態」という語句、又は他の同様の言葉の使用は、その実施形態に関連して記載されている特定の特徴、構造、又は特性が、少なくとも１つの実施形態に含まれ得ることを指す。従って、本明細書全体を通じて、「例示的実施形態」、「幾つかの実施形態において」、「他の実施形態において」という語句、又は他の同様の言葉の出現は、必ずしも全てが実施形態の同じグループを指すとは限らず、記載されている特徴、構造、又は特性を、１つ又は複数の実施形態において任意の適切な方法で組み合わせることができる。
【００１４】
さらに、実施形態の説明において「メッセージ」という用語が使用されることがあるが、本出願は、パケット、フレーム、データグラムなどの多くのタイプのネットワーク・データに応用できる。「メッセージ」という用語は、パケット、フレーム、データグラム、及びこれらのあらゆる同等物も含む。また、例示的実施形態において特定のタイプのメッセージ及びシグナリング（signaling）が示されることがあるが、それらは、特定のタイプのメッセージに限定されず、また、本出願は特定のタイプのシグナリングに限定されない。
【００１５】
本出願は、一実施形態では、認可アクセスの管理に関し、別の実施形態では、ハード／ソフトトークン検証を介して実行されるブロックチェーン認証のためのソフトウェア及びハードウェアトークン検証を含む分散型多要素認証（multi-factor authentication）プロセスに基づいて、認可されたパーティによるデータへのアクセスを管理することに関する。
【００１６】
例示的実施形態は、分散型多要素認証をサポートしてパスワードを検証し、ＣＡＣシステム、ハードウェアトークン、及び／又はソフトトークンの発行を介したバイオメトリクス（biometrics）の使用、をサポートするために、ブロックチェーンを使用することを提供する。ブロックチェーン技術を用いて多要素認証を行うことにより検証プロトコルに対するサポートを提供し、それにより分散型の検証認可（verification authority）が可能になる。この手法は、高可用性、高い耐障害性、高い冗長性等をサポートするので、インフラストラクチャはサイバー攻撃に耐えることができる。
【００１７】
ソフトウェアトークンの発行は、ブロックチェーン技術を介してプライベート情報の所有権を証明する方法を与える。この手法は、異なる組織／ブロックチェーンにわたり検証トークンを発行することを可能にし、分散型構成で動作する戦術的クラウド・アクセス制御配備をサポートする。他の特徴として、ブロックチェーン内の公開鍵を用いたプライベートデータの所有権証明書（proof-of-ownership）を介する、パスワード、ＥＰＩＤ、ハードウェアトークンコード、バイオメトリクスからのブロックチェーンアドレス及び鍵の導出、及び／又は他のタイプの認証が挙げられる。
【００１８】
例示的実施形態によると、ソフトウェアトークン検証は、ブロックチェーンを分散インフラストラクチャとして用いてハードウェアトークンと組み合わせて使用される。この手法は、ブロックチェーンを介するトークンの発行／アクセス制御を可能にしながら、バックエンドＤｏＤ  ＰＫＩ（例えば、プライベートＰＫＩシステム）にアクセスする必要なしに異なる組織間のユーザの認証を可能にする。これは、ＣＡＣカードの基本論理を拡張して、ブロックチェーンアドレス／公開鍵を提供し、次に、ブロックチェーンアドレス／公開鍵をブロックチェーンにプッシュし、これを用いてカードのユーザを確認しかつ署名を検証することにより実行される。同様に、各ユーザは、専用アドレスセットを有し、ここではハードウェアトークンが生成されるのと同じレートでソフトウェアトークンが生成される。ソフトウェアトークンがアドレスに送られ、トークンの所有権を証明する。各トークンは、ユーザを認証するためにサービスが必要とするアクセス制御規則の形態である。ブロックチェーン内のデータを用いてハードウェアトークンコードを検証することにより、集中型バックエンドサーバが認証プロセスを管理する必要はない。ブロックチェーン手法により与えられる検証は、集中型権限者（central authority）なしのバイオメトリクス情報の検証、集中型権限者なしのＣＡＣカードの検証、ハードウェアトークンの検証、及び／又はパブリックネットワークにおけるプライベートネットワークアクセス制御リスト（ＡＣＬ）の発行に対するサポートを提供する。１つの手法は、合計「Ｍ」個の認証要素から任意のランダムな「Ｎ」個の認証要素を使用するものである。例えば、パスワード、ＰＩＮ、ピクチャパスワード、指紋、及びＣＡＣという、この例では合計５個の認証要素を含むシステムを検討する。この構成は、要素と関連付けられた公開鍵をブロックチェーン検証サービスに登録することにより、５個の要素全ての登録を可能にする。ユーザの認証が必要になると、認証サービスは、ｍ個のうちｎ個（n-of-m）の認証要素（ｎ−要素）への回答を要求することによってユーザを確認する。例えば、上記の５個の要素がある場合、システムは、５個のうち３個の要素を要求して認証する。これにより、ユーザは、要素が失われた又は危険にさらされた場合、要求に応じて認証要素を付加／除去できる。
【００１９】
図１は、例示的実施形態による、ブロックチェーンを利用する鍵生成手順を示す。図１を参照すると、構成１００は、ＣＡＣ１１２、バイオメトリクス１１４、及び／又はハードウェア（ＨＷ）トークン１１６を含む、認証のための１つより多い選択肢を含む。鍵生成は、このソースの何れからでもよい。鍵は、秘密鍵ＳＫ１、公開鍵ＰＫ１、及び情報が格納されるブロックチェーンアドレスＡ１を含むことができる。このｎ要素認証スキーム１００において、使用されるプライベートデータ項目の各々について、公開／プライベート鍵の対が生成される（ＳＫ、ＰＫ）。例えば、ＥＰＩＤ、ハードウェアトークンコード、又は何らかのバイオ情報データは、暗号化プロセスの一部とすることができる。一例によると、「ｎ」個の操作の任意の組み合わせを用いることができる。例えば、多要素認証プロバイダをイネーブルにするために、パスワードを所有し、「シード」として使用して、公開／プライベート鍵の対を生成する必要がある。次に、公開鍵が発行され、認証に使用される。また、ブロックチェーンアドレスを公開鍵から導出し、それにより、誰もがＡＣＬ／ソフトウェアトークンを送ることを可能にし、これを用いて、確立されたアドレスを介して、そのデバイスを集中型権限者（例えば、企業ＰＫＩ  １２０）に登録することができ、次に、集中型権限者がＡＣＬ又はアクセストークンを生成し、ブロックチェーン１４０内の特定のアドレス１３０に送る。アクセス制御は、静的又は動的とすることができ、スマートコントラクト／チェーンコードを用いて実施される。例えば、ＡＣＬの代わりに、スマートコントラクトハッシュを、ブロックチェーンファブリックにおいてスマートコントラクトを実行するのに必要とされる必要パラメータと共に送ってもよい。
【００２０】
図２は、例示的実施形態によるブロックチェーンシステム構成を用いる公開アドレス認証スキームを示す。図２を参照すると、構成１５０は、ブロックチェーン内の公開アドレスを使用してユーザデバイスの認証を行う。任意の所与の時間に、ユーザ「Ａ」１５２が認証してネットワークシステムにアクセスしたい場合、ユーザが自らの公開鍵／アドレスを登録し、それがブロックチェーン１４０内で発行されると、ＡＣＬも生成され、ブロックチェーンのユーザＡのアドレスに送られる。ハードウェアトークンの場合、ＡＣＬは要求される時間ウィンドウに従って発行され、トークンコードはユーザＡの次のアドレスを導出するために用いられ、従来のインフラストラクチャは、ハードウェアトークンがホームサーバと同期したままにさせるので、トークンコードをシステムに登録する必要はない。
【００２１】
認証操作により、ユーザＡ１５２がモバイルデバイス又は他のコンピューティングデバイスから要求１７２をサブミットしてサイト１７０へのアクセスを試みることができる。この要求は、Ａ１、Ａ２、Ａｉなど、デバイスと関連付けられた種々のアドレスを含むことができ、ここで「ｉ」は、ハードウェアトークンの最新の反復である。次に、ウェブサイト１７０が、ブロックチェーン１４０からこのデータを要求する。ウェブサイトは、ナンスを用いてユーザデバイスに確認を送り（１７４）、ｎ個のランダムな認証手段のうちの１つを選択する。例えば、ユーザデバイスのＣＡＣカードに属するＰＫ１が選択された場合、デバイスは、暗号文を受け取り、プライベート鍵（ＳＫ１）を用いて復号する。このプロセスでは、ユーザＡ１５２はＰＩＮ又は他の秘密の語若しくは語句を入力する必要があり、これによりＳＫがそのＥＰＩＤから導出されるか、又は既にユーザデバイスのＣＡＣカード内に格納されている。次に、カードは、ＳＫを用いて暗号文を復号し（１７６）、ナンス２を回収する。サイト１７０は、ナンス１＝＝ナンス２であるかを検証する（１８２）。次に、上記の確認の結果、問題がなかった場合、次の操作でユーザＡが所有するＡＣＬを検証する。ＡＣＬが有効であれば（例えば、ユーザＡが適正な権限を有する）（１８４）、アクセス権を与え（１８６）、有効でなければ、ユーザＡの認可は拒絶される。同様の手法が、バイオメトリクスデータ及びハードウェアトークンに対して用いられる。一つ異なるのは、バイオメトリクスデータは、バイオメトリクスを提供するよう、ユーザＡに求め、そこから鍵の対がその場で（on the fly）生成される。次いで、バイオメトリクス論理は、鍵の対を用いてデータを署名／暗号化／復号する。バイオメトリクスの場合、２つの実施形態が有り得る。１つは、ランダムな公開／プライベート鍵の対の使用であり、鍵の対は、バイオメトリクスを用いてロック解除して、信頼できるデバイスで認証する（例えば、モバイルデバイスでの登録（enrollment）／認証）。第２の実施形態は、バイオメトリクス信号の抽出（例えば、テンプレート抽出）並びにシードを生成するための量子化の利用であり、シードは、ランダムソルトと組み合わせると、公開／プライベート鍵の対を導出するのに用いることができる。このスキームは、メッセージに署名し、否認防止（non-repudiation）を与えることができるので、認証より優れている。
【００２２】
図３は、例示的実施形態によるブロックチェーンシステム構成を示す。ブロックチェーンシステム２００は、ブロックチェーントランザクション追加及び検証プロセス（コンセンサス）に参加する及び／又はブロックチェーンへのアクセスを有する、割り当てられたブロックチェーンピアノード２８２〜２８５のグループ２８０など、特定の共通ブロックチェーン要素を含むことができる。ブロックチェーンピアノード２８０の何れかは、新しいトランザクションを開始し、ブロックチェーンの不変台帳２７２に書き込みを試みることがあり、台帳のコピーは、基盤の物理インフラストラクチャ２７１上に格納される。この構成において、カスタマイズされたブロックチェーン構成は、１又は複数のアプリケーション２７７を含み、このアプリケーション２７７は、格納されたプログラム／アプリケーションコード（例えば、チェーンコード及び／又はスマートコントラクト）２７５にアクセスして実行するためにＡＰＩ２７６にリンクされている。アプリケーションコードは、参加者が求めるカスタマイズされた構成に従って作成され、自らの状態を保持し、所有アセットを制御し、外部情報を受け取ることができる。このコードは、トランザクションとしてディプロイされ、分散型台帳への追加（append）により、全てのブロックチェーンピアノード上にインストールされ得る。
【００２３】
ブロックチェーンベース２７０は、種々の層のブロックチェーンデータと、サービス（例えば、暗号化信頼サービス、仮想実行環境）と、新しいトランザクションを受け取って格納し、データエントリにアクセスを試みる監査員（auditor）にアクセスを提供するのに必要な基盤の物理コンピュータインフラストラクチャと、を含む。ブロックチェーン層２７２は、プログラムコードを処理し、物理プラットフォーム２７１に関与するのに必要な仮想実行環境へのアクセスを提供するインターフェースを提示する。暗号化信頼サービス２７３は、トランザクションを検証し、情報をプライベートに保つために用いられる。例示的実施形態によると、ブロックチェーン台帳は、種々のユーザデバイスに関する、トークン２７８など、アドレス情報及び他のデータを格納することができる。このトークン及び他の認証データは、これらのデバイスがサードパーティのセキュアサイトにアクセスを試みる際に、そのデバイスを認証するために用いることができる。図３のブロックチェーン構成は、提示されたインターフェースによってプログラム／アプリケーションコードを処理し、実行することができる（２７５）。そして、ブロックチェーンプラットフォーム２７０により、サービスが提供される。コードは、ブロックチェーンアセットを制御できる。例えば、コードは、データを格納及び転送することができ、スマートコントラクトの形態でブロックチェーンにより実行され得る。これは、条件付きチェーンコード又はその実行対象の他のコード要素を含む。
【００２４】
図４は、ソフトウェア、ハードウェア、又はそれら両方の組み合わせを含み得る多数のコンポーネント又はモジュール間の相互作用のシステムメッセージング図３００を示す。例示的実施形態によると、コンポーネントは、ユーザデバイスなどの第１のコンポーネント、ＰＫＩなどの第２のコンポーネント、及びブロックチェーンなどの第３のコンポーネントを含むことができる。図４を参照すると、ユーザデバイス３１０は、ブロックチェーン３３０内に格納された種々のユーザプロファイル情報へのアクセスを試みることがある。アクセスを得るために、プロセスは、鍵及び鍵を格納するための一意のアドレスを作成すること（３１２）を含むことができる。公開鍵３１３は、ＰＫＩ３２０を介して作られた鍵に基づいて格納され、ブロックチェーン３３０内に格納されてもよい（３１４）。ユーザデバイスを登録し（３１６）、その後アクセスを試みると（３１８）、格納された証明書をブロックチェーンから取り出し（３２２）、暗号化メッセージとして転送する（３２４）ことができる。復号メッセージ応答３２６は、適切な証明書を示しており、これが検証されると（３２８）、アクセスが与えられる（３３２）。
【００２５】
一実施形態において、第１のコンポーネント、第２のコンポーネント及び第３のコンポーネントは、サーバ、コンピュータ、若しくは他の計算デバイスなどの別個のデバイスとすることができ、又は単一のデバイスとすることができる。他の実施形態において、第１のコンポーネント及び第２のコンポーネントは、単一のデバイスとしてまとめられ、又は単一のデバイスとして動作することができ、第１のコンポーネント及び第３のコンポーネントは、単一のデバイスとしてまとめられ、又は単一のデバイスとして動作することができ、第２のコンポーネント及び第３のコンポーネントは、単一のデバイスとしてまとめられ、又は単一のデバイスとして動作することができる。コンポーネント、つまりデバイス３１０、３２０及び３３０は、有線又は無線方式で、直接接続又は互いに通信可能に結合し、ローカル及び／又は遠隔に常駐することができる。
【００２６】
図５は、例示的実施形態による、ブロックチェーンにおける認証を管理する例示的方法の流れ図４００を示す。図５を参照すると、方法は、ユーザプロファイルと関連付けられた公開鍵及び１又は複数の対応するアドレスをブロックチェーンに格納すること（４１２）と、公開鍵に基づいてユーザプロファイルに対する証明書を作成すること（４１４）と、証明書を１又は複数のアドレスに転送すること（４１６）と、ユーザプロファイルと関連付けられたユーザデバイスから、サイトへのアクセス要求を受け取ること（４１８）と、１又は複数のアドレスに基づいてブロックチェーンから証明書を取り出すこと（４２０）とを含むことができる。
【００２７】
証明書は、アクセス制御リスト（ＡＣＬ）である。証明書は、限定された時間ウィンドウ内に作成される。１又は複数のアドレスは、複数のアクセス試行の反復の間の複数の証明書に対応する複数のアドレス位置を含む。要求は、複数のアドレス位置を含む。また、方法、要求を受け取ることに応答して、暗号化メッセージをユーザデバイスに伝送することと、暗号化メッセージに基づいて復号メッセージを受け取ることとを含むこともできる。また、方法は、復号メッセージの復号メッセージコンテンツを、暗号化の暗号化メッセージコンテンツと比較することと、復号メッセージコンテンツが暗号化メッセージコンテンツと合致する場合、証明書が有効であることを検証し、証明書が有効であれば、ユーザデバイスへアクセス権を与えることとを含むこともできる。
【００２８】
図６は、例示的実施形態による、ブロックチェーンにおける認証を管理する例示的方法の別のフロー図４５０を示す。図６を参照すると、方法は、ユーザプロファイルと関連付けられた公開鍵及び１又は複数の対応するアドレスをブロックチェーンに格納すること（４５２）と、ユーザプロファイルと関連したバイオメトリックデータサンプルを受け取ること（４５４）と、バイオメトリックデータサンプルから１つ又は複数のバイオメトリック要素を抽出すること（４５６）と、公開鍵及び１つ又は複数のバイオメトリック要素に基づいてユーザプロファイルに対する証明書を作成すること（４５８）と、証明書をブロックチェーンに格納すること（４６２）と、ユーザプロファイルと関連付けられたユーザデバイスから、サイトへのアクセス要求を受け取ること（４６４）と、ブロックチェーンから証明書を取り出すこと（４６６）と、サイトへのアクセス要求を認可すること（４６８）とを含むことができる。
【００２９】
登録プロセスは、公開鍵及びプライベート鍵を含む公開／プライベート鍵の対の生成から始まる。実際のところ、非対称暗号化システムが作成され、公開鍵は、コントリビュータ（contributor）以外の人に対して一般的に既知及び／又は利用可能であるように意図され、一方、プライベート鍵は、プライベートのままにされ、コントリビュータのみが知っているように意図される。プライベート鍵は、登録プロセスで用いて識別子を作成した後、セキュアなストレージ・デバイスに格納するか、破棄するか、又は他の方法で秘密にしておく必要がある。公開／プライベート鍵の対を用いて、トランザクション要求を修正及び暗号化する。トランザクション要求は、トランザクションメッセージ、又はトランザクション台帳内の他の暗号化エントリとすることができる。次に、バイオメトリックサンプルを、ＰＩＮ又はパスワード、又は他の何らかのタイプのセキュアデータと共に受け取る。バイオメトリック抽出を用いて、バイオメトリックサンプルからバイオメトリック特徴を導出することができる。バイオメトリック要素、プライベート鍵、及び随意的に他のデータを用いて入力を組み合わせ、組み込み関数を出力し、次に組み込み関数は、暗号の一方向性関数を通じて変換され、外部パーティにより容易に再作成できない組み合わせ識別子を出力する。
【００３０】
上記の実施形態は、ハードウェア、プロセッサにより実行されるコンピュータプログラム、ファームウェア、又は上記の組み合わせで実装することができる。コンピュータプログラムは、ストレージ媒体などのコンピュータ可読媒体上に具体化され得る。例えば、コンピュータプログラムは、ランダムアクセスメモリ（「ＲＡＭ」）、フラッシュ・メモリ、読み取り専用メモリ（「ＲＯＭ」）、消去可能プログラム可能読み取り専用メモリ（「ＥＰＲＯＭ」）、電気的消去可能プログラム可能読み取り専用メモリ（「ＥＥＰＲＯＭ」）、レジスタ、ハードディスク、取り外し可能ディスク、コンパクト・ディス読み取り専用メモリ（「ＣＤ−ＲＯＭ」）、又は当技術分野において周知の他の任意の形態のストレージ媒体に常駐し得る。
【００３１】
例示的ストレージ媒体は、プロセッサに結合して、プロセッサがストレージ媒体から情報を読み取り、情報をストレージに書き込むようにすることができる。代替的に、プロセッサ及びストレージ媒体は、プロセッサと一体であってもよい。プロセッサ及びストレージ媒体は、特定用途向け集積回路（「ＡＳＩＣ」）内に常駐できる。代替的に、プロセッサ及びストレージ媒体は、個別コンポーネントとして常駐できる。例えば、図７は、例示的ネットワーク要素５００を示し、これは上述のコンポーネント等のいずれかを表すこと、又はそこに統合することができる。
【００３２】
図７に示されるように、メモリ５１０及びプロセッサ５２０は、本明細書で説明されるアプリケーション又は操作のセットを実行するために用いられるネットワークエンティティ５００の個別コンポーネントとすることができる。アプリケーションは、プロセッサ５２０が理解するコンピュータ言語でソフトウェアにコード化し、メモリ５１０などのコンピュータ可読媒体に格納することができる。コンピュータ可読媒体は、ソフトウェアを格納できる、メモリなどの有形のハードウェア・コンポーネントを含む非一時的コンピュータ可読媒体とすることができる。さらに、ソフトウェアモジュール５３０は、ネットワークエンティティ５００の一部であり、本明細書で説明される機能の１つ又は複数を実施するために、プロセッサ５２０により実行され得るソフトウェア命令を含む、別の個別エンティティとすることができる。ネットワークエンティティ５００の上述のコンポーネントに加えて、ネットワークエンティティ５００は、通信信号（図示せず）を受送信するように構成された送信機及び受信機の対を含むこともできる。
【００３３】
システム、方法、及び非一時的コンピュータ可読媒体の少なくとも１つの例示的実施形態が添付図面に示され、前述の詳細な説明で説明されたが、本出願は開示された実施形態に限定されず、以下の特許請求の範囲によって示され、定義されるように、非常に多くの再配置、修正、及び置換を行い得ることが理解されるであろう。例えば、様々な図のシステムの能力は、本明細書で説明される、又は分散アーキテクチャ内の、モジュール又はコンポーネントの１つ又は複数によって実施することができ、送信機、受信機、又はその両方の対を含むことができる。例えば、個別のモジュールによって実施される機能の全て又は一部は、これらのモジュールの１つ又は複数により実施され得る。さらに、本明細書で説明される機能は、様々な時間に、及びモジュール又はコンポーネントの内部又は外部の種々のイベントに関連して実施され得る。また、種々のモジュール間で送られる情報は、データネットワーク、インターネット、音声ネットワーク、インターネット・プロトコル・ネットワーク、無線デバイス、有線デバイスのうちの少なくとも１つを介して、及び／又は複数のプロトコルを介して、モジュール間で送ることができる。また、モジュールのいずれかにより受送信されるメッセージは、直接的に及び／又は他のモジュールのうちの１つ又は複数を介して、受送信され得る。
【００３４】
当業者であれば、「システム」は、パーソナルコンピュータ、サーバ、コンソール、携帯情報端末（ＰＤＡ）、携帯電話、タブレットコンピューティングデバイス、スマートフォン、又は他の任意の適切なコンピューティングデバイス、又はデバイスの組み合わせとして具体化され得ることを理解するであろう。「システム」によって実施されるような上述の機能を提示することは、何らかの方式で本出願の範囲を限定することを意図するものではなく、多くの実施形態の１つの例を提供することを意図するものである。実際は、本明細書で開示される方法、システム、及び装置は、コンピューティング技術と一致する局所化され、分散された形で実装され得る。
【００３５】
本明細書で説明されるシステムの特徴の幾つかは、これらの実施の独立性を特に強調するためにモジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積（ＶＬＳＩ）回路又はゲート・アレイを含むハードウェア回路、ロジック・チップ、トランジスタなどの市販の半導体、又は他の個別コンポーネントとして実装することができる。モジュールは、フィールドプログラマブルゲートアレイ、プログラム可能アレイ論理、プログラム可能論理デバイス、グラフィックス処理ユニット等などのプログラム可能ハードウェアデバイスに実装することができる。
【００３６】
モジュールは、種々のタイプのプロセッサによって実行するために、ソフトウェアに少なくとも部分的に実装され得る。実行可能コードの識別単位は、例えば、オブジェクト、手順、又は関数として組織化され得る、例えば、コンピュータ命令の１つ又は複数の物理ブロック若しくは論理ブロックを含むことができる。それにもかかわらず、識別されたモジュールの実行ファイルは、物理的に一緒に配置する必要はなく、論理的に一緒に結合されるとき、モジュールを含み、モジュールに対する表明された目的を達成する異なる場所に格納された完全に異なる命令を含むことができる。さらに、モジュールは、コンピュータ可読媒体に格納することができ、このコンピュータ可読媒体は、例えば、ハードディスクドライブ、フラッシュデバイス、ランダムアクセスメモリ（ＲＡＭ）、テープ、又はデータを格納するために用いられる他のこうした媒体とすることができる。
【００３７】
実際は、実行可能コードのモジュールは、単一の命令、又は多くの命令とすることができ、幾つかの異なるコードセグメントにわたって、異なるプログラムの間に、及び幾つかのメモリ・デバイスにわたって分散させることさえ可能である。同様に、動作データは、モジュール内に本明細書で識別され、示されることがあり、任意の適切な形で具体化され、任意の適切なタイプのデータ構造内で組織化することが可能である。動作データは、単一のデータ・セットとして収集すること、又は異なるストレージ・デバイスを含む異なる場所にわたって分散することが可能であり、単にシステム又はネットワーク上の電子信号として、少なくとも部分的に存在し得る。
【００３８】
本出願のコンポーネントは、本明細書の図に全体的に説明され、示されるように、様々な異なる構成で配置し、設計できることが容易に理解されるであろう。従って、実施形態の詳細な説明は、特許請求されるような本出願の範囲を限定することを意図するものではなく、本出願の選択された実施形態を表すにすぎない。
【００３９】
当業者であれば、上記は、異なる順序のステップで、及び／又は開示されたものとは異なる構成のハードウェア要素で、実施され得ることを容易に理解するであろう。従って、本出願は、これらの好ましい実施形態に基づいて説明されたが、特定の修正、変形、及び代替的な構造が明白であることが当業者には明らかであろう。
【００４０】
本出願の好ましい実施形態が説明されたが、説明された実施形態は例示的なものにすぎず、本出願の範囲は、全ての範囲の均等物及びその修正（例えば、プロトコル、ハードウェアデバイス、ソフトウェアプラットフォーム等）を考慮するとき、添付の特許請求の範囲によってのみ定義されるべきであることを理解されたい。
【符号の説明】
【００４１】
１００、１５０：構成
１１２：共通アクセス・カード（ＣＡＣ）
１１４：バイオメトリックス
１１６：ハードウェア（ＨＷ）トークン
１４０、３３０：ブロックチェーン
１５２：ユーザＡ
１７０：サイト
１７２：要求
１７４：ナンス
１７５、２７５：プログラム／アプリケーションコード
２００：ブロックチェーンシステム
２７０：ブロックチェーンベース
２７１：物理プラットフォーム
２７２：ブロックチェーン層
２７４：暗号信頼サービス
２７７：アプリケーション
２７８：トークン
２８０：ブロックチェーンピアノードのグループ
２８２〜２８５：ブロックチェーンピアノード
３００：システムメッセージング図
３１０：ユーザデバイス
４５０：流れ図
【図１】
2020528695.tif 000003
【図２】
2020528695.tif 000004
【図３】
2020528695.tif 000005
【図４】
2020528695.tif 000006
【図５】
2020528695.tif 000007
【図６】
2020528695.tif 000008
【図７】
2020528695.tif 000009
【国際調査報告】
2020528695.tif 000010
2020528695.tif 000011
2020528695.tif 000012