(57)【要約】【解決手段】第１のリモート装置のロジックは、身分証明書から、ユーザを特定する個人データを取得する。ロジックは、ハッシュアルゴリズムを用いて個人データからハッシュ値を生成し、公開鍵と対の秘密鍵を用いて作成されるデジタル署名でハッシュ値に署名する。ロジックは、ネットワークを介して、リモート装置から分散公開データベースに署名されたハッシュ値および公開鍵を格納のために送信する。ロジックは、ネットワークを介して、分散公開データベースからトランザクション番号を受信する。次に、ロジックは、トランザクション番号および個人データを第２のリモート装置に送信する。第２のリモート装置のロジックは、署名されたハッシュ値のハッシュ値が、生成されたハッシュ値と同じであることを検証し、署名されたハッシュ値が秘密鍵で署名されたことを検証する。【選択図】図２Ｂ−２
2018516030.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを特定する個人データを身分証明書から取得する工程であって、ユーザアクセス可能インタフェースをサポートするリモート装置によって実行される工程と、
ハッシュアルゴリズムを用いて前記個人データからハッシュ値を生成する工程と、
公開鍵と対の秘密鍵を用いて作成されるデジタル署名で前記ハッシュ値に署名する工程と、
ネットワークを介して、前記リモート装置から分散公開データベースに前記署名されたハッシュ値および前記公開鍵を格納のために送信する工程と、
前記ネットワークを介して、前記分散公開データベースからトランザクション番号を受信する工程と、
前記ユーザアクセス可能インタフェース用いて、前記トランザクション番号および前記個人データを第三者に検証のために送信する工程と
を含む方法。
【請求項２】
前記公開鍵を用いて前記個人データを暗号化し、前記暗号化された個人データを前記リモート装置に格納する工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記リモート装置が、スマートフォン、タブレット、または電子装置のうちの１つである、請求項１に記載の方法。
【請求項４】
前記分散公開データベースが、複数のエンティティからデータを格納のために受信するブロックチェーンであり、格納のために受信される前記データが、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成され、前記ブロックチェーンに格納される以後のデータが、前記ブロックチェーンに格納された以前のデータに依存し続けるため、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録が、前記ブロックチェーンに格納されたデータが変更不可能であることを保証する、請求項１に記載の方法。
【請求項５】
前記身分証明書が、運転免許証、パスポート、職員バッジ、軍人身分証明書、または政治的な身分証明書のうちの１つである、請求項１に記載の方法。
【請求項６】
前記取得する工程が、デジタルカメラ、スキャナ、スマートフォン、キーボード、タッチスクリーン、音声認識、手書き認識、またはこれらのうちの２つ以上の組み合わせを用いて実行される、請求項１に記載の方法。
【請求項７】
前記個人データの少なくとも一部が、バーコードまたはＱＲコードで符号化される、請求項１に記載の方法。
【請求項８】
ユーザを特定する個人データを身分証明書から受信する工程であって、前記個人データが、ユーザアクセス可能インタフェースをサポートする第１のリモート装置で受信される工程と、
ハッシュアルゴリズムを用いて前記個人データからハッシュ値を作成する工程と、
第１の公開鍵と対の第１の秘密鍵を用いて作成されるデジタル署名で前記ハッシュ値に署名する工程と、
ネットワークを介して、前記第１のリモート装置から分散公開データベースに前記署名されたハッシュ値および前記第１の公開鍵を格納のために送信する工程と、
前記分散公開データベースから第１のトランザクション番号を受信する工程と、
前記第１のトランザクション番号および前記個人データを第２のリモート装置に送信する工程であって、
前記第２のリモート装置のロジックが、
前記第１のトランザクション番号を使用して、前記分散公開データベースから前記署名されたハッシュ値および前記第１の公開鍵を検索し、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成し、
前記署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証し、
前記署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証し、
証明書を作成する
工程と
を含む方法。
【請求項９】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項８に記載の方法。
【請求項１０】
前記証明書が、前記第２のリモート装置上の第２の公開鍵と対の第２の秘密鍵で署名される、請求項９に記載の方法。
【請求項１１】
前記署名された認証記録が、ネットワークを介して前記分散公開データベースに格納のために送信される、請求項１０に記載の方法。
【請求項１２】
前記分散公開データベースからの第２のトランザクション番号が、前記第２のリモート装置によって受信される、請求項１１に記載の方法。
【請求項１３】
前記リモート装置の各々が、スマートフォン、タブレット、または電子装置のうちの１つである、請求項８に記載の方法。
【請求項１４】
前記分散公開データベースが、複数のエンティティからデータを格納のために受信するブロックチェーンであり、格納のために受信される前記データが、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成され、前記ブロックチェーンに格納される以後のデータが、前記ブロックチェーンに格納された以前のデータに依存し続けるため、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録が、前記ブロックチェーンに格納されたデータが変更不可能であることを保証する、請求項８に記載の方法。
【請求項１５】
ユーザを特定する個人データを身分証明書から受信する工程であって、前記個人データが、第１のスマートフォンで受信される工程と、
ハッシュアルゴリズムを用いて前記個人データからハッシュ値を作成する工程と、
第１の公開鍵と対の第１の秘密鍵を用いて作成されるデジタル署名で前記ハッシュ値に署名する工程と、
ネットワークを介して、前記第１のスマートフォンからブロックチェーンデータベースに前記署名されたハッシュ値および前記第１の公開鍵を送信する工程と、
前記ブロックチェーンデータベースから第１のトランザクション番号を受信する工程と、
前記第１のトランザクション番号および前記個人データを第２のスマートフォンに送信する工程であって、
前記第２のスマートフォンのロジックが、
前記第１のトランザクション番号を使用して、前記ブロックチェーンデータベースから前記署名されたハッシュ値および前記第１の公開鍵を検索し、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成し、
前記署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証し、
前記署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証し、
証明書を作成する
工程と
を含む方法。
【請求項１６】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項１５に記載の方法。
【請求項１７】
前記証明書が、前記第２のスマートフォン上の第２の公開鍵と対の第２の秘密鍵で署名される、請求項１６に記載の方法。
【請求項１８】
前記署名された認証記録が、ネットワークを介して前記ブロックチェーンデータベースに送信される、請求項１７に記載の方法。
【請求項１９】
前記ブロックチェーンデータベースからの第２のトランザクション番号が、前記第２のスマートフォンによって受信される、請求項１８に記載の方法。
【請求項２０】
前記個人データの少なくとも一部が、バーコードまたはＱＲコードで符号化される、請求項１５に記載の方法。
【請求項２１】
第１のリモート装置で、第２のリモート装置から送信される第１のトランザクション番号および個人データを受信する工程であって、前記第１のトランザクション番号が、署名されたハッシュ値と、前記第２のリモート装置上の第１の秘密鍵に関連する第１の公開鍵との、前記第２のリモート装置からの送信に応答して分散公開データベースから受信されたものであり、前記署名されたハッシュ値が、前記第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、前記ハッシュ値が、前記第２のリモート装置でハッシュアルゴリズムを用いて前記個人データをハッシュすることによって生成されたものである工程と、
前記第１のトランザクション番号を使用して、前記分散公開データベースから前記署名されたハッシュ値および前記第１の公開鍵を検索する工程と、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成する工程と、
前記検索された署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証する工程と、
前記検索された署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証する工程と、
証明書を作成する工程と
を含む方法。
【請求項２２】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項２１に記載の方法。
【請求項２３】
前記証明書が、前記第１のリモート装置上の第２の秘密鍵で署名される、請求項２１に記載の方法。
【請求項２４】
前記署名された認証記録が、ネットワークを介して前記分散公開データベースに格納のために送信される、請求項２１に記載の方法。
【請求項２５】
前記分散公開データベースからの第２のトランザクション番号が、前記第１のリモート装置によって受信される、請求項２１に記載の方法。
【請求項２６】
前記分散公開データベースが、複数のエンティティからデータを格納のために受信するブロックチェーンであり、格納のために受信される前記データが、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成され、前記ブロックチェーンに格納される以後のデータが、前記ブロックチェーンに格納された以前のデータに依存し続けるため、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録が、前記ブロックチェーンに格納されたデータが変更不可能であることを保証する、請求項２１に記載の方法。
【請求項２７】
前記リモート装置が、スマートフォン、タブレット、または電子装置のうちの１つである、請求項２１に記載の方法。
【請求項２８】
前記身分証明書が、運転免許証、パスポート、職員バッジ、軍人身分証明書、または政治的な身分証明書のうちの１つである、請求項２１に記載の方法。
【請求項２９】
前記受信する工程が、デジタルカメラ、スキャナ、スマートフォン、キーボード、タッチスクリーン、音声認識、手書き認識、またはこれらのうちの２つ以上の組み合わせを用いて実行される、請求項２１に記載の方法。
【請求項３０】
前記個人データの少なくとも一部が、バーコードまたはＱＲコードで符号化される、請求項２１に記載の方法。
【請求項３１】
第１のスマートフォンで、第２のスマートフォンから送信される第１のトランザクション番号および個人データを受信する工程であって、前記第１のトランザクション番号が、署名されたハッシュ値と前記第２のスマートフォン上の第１の秘密鍵に関連する第１の公開鍵の前記第２のスマートフォンからの送信に応答してブロックチェーンから受信されたものであり、前記署名されたハッシュ値が、前記第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、前記ハッシュ値が、前記第２のスマートフォンでハッシュアルゴリズムを用いて前記個人データをハッシュすることによって生成されたものである工程と、
前記第１のトランザクション番号を使用して、前記ブロックチェーンから前記署名されたハッシュ値および前記第１の公開鍵を検索する工程と、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成する工程と、
前記検索された署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証する工程と、
前記検索された署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証する工程と、
証明書を作成する工程と
を含む方法。
【請求項３２】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項３１に記載の方法。
【請求項３３】
前記証明書が、前記第１のスマートフォン上の第２の秘密鍵で署名される、請求項３２に記載の方法。
【請求項３４】
前記署名された認証記録が、ネットワークを介して前記ブロックチェーンに格納のために送信される、請求項３３に記載の方法。
【請求項３５】
前記ブロックチェーンからの第２のトランザクション番号が、前記第１のスマートフォンによって受信される、請求項３４に記載の方法。
【請求項３６】
前記身分証明書が、運転免許証、パスポート、職員バッジ、軍人身分証明書、または政治的な身分証明書のうちの１つである、請求項３１に記載の方法。
【請求項３７】
前記受信する工程が、デジタルカメラ、スキャナ、スマートフォン、キーボード、タッチスクリーン、音声認識、手書き認識、またはこれらのうちの２つ以上の組み合わせを用いて実行される、請求項３１に記載の方法。
【請求項３８】
第１のスマートフォンで、第２のスマートフォンから送信される第１のトランザクション番号および個人データを受信する工程であって、前記受信する工程が、バーコードまたはＱＲコードをスキャンすることを含み、前記第１のトランザクション番号が、署名されたハッシュ値と前記第２のスマートフォン上の第１の秘密鍵に関連する第１の公開鍵の前記第２のスマートフォンからの送信に応答してブロックチェーンから受信されたものであり、前記署名されたハッシュ値が、前記第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、前記ハッシュ値が、前記第２のスマートフォンでハッシュアルゴリズムを用いて前記個人データをハッシュすることによって生成されたものである工程と、
前記第１のトランザクション番号を使用して、前記ブロックチェーンから前記署名されたハッシュ値および前記第１の公開鍵を検索する工程と、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成する工程と、
前記検索された署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証する工程と、
前記検索された署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証する工程と、
証明書を作成する工程と
を含む方法。
【請求項３９】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項３８に記載の方法。
【請求項４０】
前記証明書が、前記第１のスマートフォン上の第２の秘密鍵で署名される、請求項３９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権の主張］
本願は、２０１５年５月５日に出願した「ユーザＩＤ管理システムおよび方法」と題する米国仮特許出願第６２／１５７，２５６号、２０１６年３月７日に出願した「ブロックチェーンを使用するＩＤ管理サービス」と題する米国仮特許出願第６２／３０４，９３４号の優先権と利益を主張する。これらの出願の開示はすべての目的のためにここに援用される。
【０００２】
本発明は、一般に、ユーザのＩＤを管理し、第三者にユーザを確認させるシステムおよび方法に関する。ＩＤの盗難は、毎年何百億ドルもの損失をもたらしている。
【背景技術】
【０００３】
ＩＤの盗難に対抗するために、第三者にユーザを確認させるシステムおよび方法が開発されてきた。一般的な二段階の利用法では、ユーザは、カードに対応する暗証番号（「ＰＩＮ：ｐｅｒｓｏｎａｌ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｎｕｍｂｅｒ」）に加えて、銀行カードまたはクレジットカードを提示する。他のシステムでは、ユーザは、彼／彼女を特定するためのパスワードを提供し、ユーザがアクセスのために入力しなければならない固有のコードを有する、ショートメッセージサービス（ＳＭＳ：Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）のテキストメッセージが与えられ得る。さらに他のシステムでは、ユーザには、ＩＤの確認のために質問が与えられ得る。しかしながら、これらのシステムの各々は、基本的なセキュリティ侵害の攻撃にさらされ、究極的にはこれに敵わないものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザのＩＤを管理し、第三者にユーザを確認させるより安全なシステムおよび方法を有することは好適である。
【課題を解決するための手段】
【０００５】
例示的な実施形態では、方法が説明される。この方法によれば、リモート装置のロジックは、身分証明書から、ユーザを特定する個人データを取得する。リモート装置は、ユーザアクセス可能インタフェースをサポートする。ロジックは、ハッシュアルゴリズムを用いて個人データからハッシュ値を生成し、公開鍵と対の秘密鍵を用いて作成されるデジタル署名でハッシュ値に署名する。次に、ロジックは、ネットワークを介して、リモート装置から分散公開データベースに署名されたハッシュ値および公開鍵を格納のために送信する。次に、ロジックは、ネットワークを介して、分散公開データベースからトランザクション番号を受信し、ユーザアクセス可能インタフェースを用いて、認証および／または検証のためにトランザクション番号および個人データを第三者のリモート装置に送信する。
【０００６】
別の例示的な実施形態では、別の方法が説明される。この方法によれば、第１のリモート装置のロジックは、身分証明書から、ユーザを特定する個人データを取得する。第１のリモート装置は、ユーザアクセス可能インタフェースをサポートする。ロジックは、ハッシュアルゴリズムを用いて個人データからハッシュ値を生成し、第１の公開鍵と対の第１の秘密鍵を用いて作成されるデジタル署名でハッシュ値に署名する。次に、ロジックは、ネットワークを介して、リモート装置から分散公開データベースに署名されたハッシュ値および第１の公開鍵を格納のために送信する。次に、ロジックは、ネットワークを介して、分散公開データベースから第１のトランザクション番号を受信する。
【０００７】
次に、ロジックは、第１のトランザクション番号および個人データを第２のリモート装置に送信し、第２のリモート装置のロジックは、（ａ）第１のトランザクション番号を使用して、分散公開データベースから署名されたハッシュ値および第１の公開鍵を検索し、（ｂ）ハッシュアルゴリズムを用いて個人データをハッシュして、生成されたハッシュ値を作成し、（ｃ）署名されたハッシュ値のハッシュ値が生成されたハッシュ値と同じであることを検証し、（ｄ）署名されたハッシュ値が第１の秘密鍵で署名されたことを検証し、（ｃ）証明書を作成する。
【０００８】
別の例示的な実施形態では、別の方法が説明される。この方法によれば、第１のスマートフォンのロジックは、身分証明書から、ユーザを特定する個人データを取得する。ロジックは、ハッシュアルゴリズムを用いて個人データからハッシュ値を生成し、第１の公開鍵と対の第１の秘密鍵を用いて作成されるデジタル署名でハッシュ値に署名する。次に、ロジックは、ネットワークを介して、リモート装置からブロックチェーンデータベースに署名されたハッシュ値および第１の公開鍵を格納のために送信する。次に、ロジックは、ネットワークを介して、ブロックチェーンデータベースから第１のトランザクション番号を受信する。
【０００９】
次に、ロジックは、第１のトランザクション番号および個人データを第２のスマートフォンに送信し、第２のスマートフォンのロジックは、（ａ）第１のトランザクション番号を使用して、ブロックチェーンデータベースから署名されたハッシュ値および第１の公開鍵を検索し、（ｂ）ハッシュアルゴリズムを用いて個人データをハッシュして、生成されたハッシュ値を作成し、（ｃ）署名されたハッシュ値のハッシュ値が生成されたハッシュ値と同じであることを検証し、（ｄ）署名されたハッシュ値が第１の秘密鍵で署名されたことを検証し、（ｃ）証明書を作成する。
【００１０】
例示的な実施形態では、方法が説明される。この方法によれば、第１のリモート装置のロジックは、第２のリモート装置から送信される第１のトランザクション番号および個人データを受信する。第１のトランザクション番号は、署名されたハッシュ値と、第２のリモート装置上の第１の秘密鍵に関連する第１の公開鍵との、第２のリモート装置からの送信に応答して分散公開データベースから受信されたものである。署名されたハッシュ値は、第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、ハッシュ値は、第２のリモート装置でハッシュアルゴリズムを用いて個人データをハッシュすることによって生成されたものである。第１のリモート装置のロジックは、第１のトランザクション番号を使用して、分散公開データベースから署名されたハッシュ値および第１の公開鍵を検索する。ロジックは、ハッシュアルゴリズムを用いて個人データをハッシュして、生成されたハッシュ値を作成する。次に、ロジックは、検索された署名されたハッシュ値のハッシュ値が生成されたハッシュ値と同じであることを検証し、検索された署名されたハッシュ値が第１の秘密鍵で署名されたことを検証する。次に、ロジックは、証明書を作成する。
【００１１】
別の例示的な実施形態では、別の方法が説明される。この方法によれば、第１のスマートフォンのロジックは、第２のスマートフォンから送信される第１のトランザクション番号および個人データを受信する。第１のトランザクション番号は、署名されたハッシュ値と、第２のスマートフォン上の第１の秘密鍵に関連する第１の公開鍵との、第２のスマートフォンからの送信に応答してブロックチェーンデータベースから受信されたものである。署名されたハッシュ値は、第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、ハッシュ値は、第２のスマートフォンでハッシュアルゴリズムを用いて個人データをハッシュすることによって生成されたものである。第１のスマートフォンのロジックは、第１のトランザクション番号を使用して、ブロックチェーンデータベースから署名されたハッシュ値および第１の公開鍵を検索する。ロジックは、ハッシュアルゴリズムを用いて個人データをハッシュして、生成されたハッシュ値を作成する。次に、ロジックは、検索された署名されたハッシュ値のハッシュ値が生成されたハッシュ値と同じであることを検証し、検索された署名されたハッシュ値が第１の秘密鍵で署名されたことを検証する。次に、ロジックは、証明書を作成する。
【００１２】
別の例示的な実施形態では、別の方法が説明される。この方法によれば、第１のスマートフォンのロジックは、第２のスマートフォンから送信される第１のトランザクション番号および個人データを受信する。受信は、バーコードまたはＱＲコード（登録商標）をスキャンすることを含む。第１のトランザクション番号は、署名されたハッシュ値と、第２のスマートフォン上の第１の秘密鍵に関連する第１の公開鍵との、第２のスマートフォンからの送信に応答してブロックチェーンデータベースから受信されたものである。署名されたハッシュ値は、第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、ハッシュ値は、第２のスマートフォンでハッシュアルゴリズムを用いて個人データをハッシュすることによって生成されたものである。第１のスマートフォンのロジックは、第１のトランザクション番号を使用して、ブロックチェーンデータベースから署名されたハッシュ値および第１の公開鍵を検索する。ロジックは、ハッシュアルゴリズムを用いて個人データをハッシュして、生成されたハッシュ値を作成する。次に、ロジックは、検索された署名されたハッシュ値のハッシュ値が生成されたハッシュ値と同じであることを検証し、検索された署名されたハッシュ値が第１の秘密鍵で署名されたことを検証する。次に、ロジックは、証明書を作成する。
【００１３】
本発明の他の態様および利点は、例を通して本発明の原理を示す添付の図面に関連する以下の詳細な説明から明らかとなる。
【図面の簡単な説明】
【００１４】
【図１Ａ】公開格納設備（ｐｕｂｌｉｃ  ｓｔｏｒａｇｅ  ｆａｃｉｌｉｔｙ）に個人のＩＤを封印する（ｓｅａｌ）ためのシステムおよび方法の簡略ブロック図を示す。
【００１５】
【図１Ｂ】公開格納設備に個人のＩＤを封印するためのシステムおよび方法の簡略ブロック図を示す。
【００１６】
【図１Ｃ】公開格納設備に任意の入力データを封印するためのシステムおよび方法の簡略ブロック図を示す。
【００１７】
【図２Ａ】個人のＩＤを認証するためのシステムおよび方法の簡略ブロック図を示す。
【００１８】
【図２Ｂ−１】ハッシュされた入力データおよびデジタル署名を検証するためのプロセスの前半を示す。
【図２Ｂ−２】ハッシュされた入力データおよびデジタル署名を検証するためのプロセスの後半を示す。
【００１９】
【図２Ｃ】受信確認を記録するための簡略ブロック図を示す。
【００２０】
【図３Ａ】受信確認記録を検証するためのシステムおよび方法の簡略ブロック図を示す。
【００２１】
【図３Ｂ】受信確認記録およびその基となった認証記録を検証するための方法のフローチャート図を示す。
【００２２】
対応する参照符号は、図面を通して対応する部分を示す。
【発明を実施するための形態】
【００２３】
以下の説明では、例示的な実施形態の完全な理解を提供するために、多くの具体的な詳細が述べられる。しかしながら、これらの具体的な詳細の一部がなくても例示的な実施形態を実施することができることは、当業者には明らかであろう。他の例において、既によく知られている場合は、プロセス工程および実施態様の詳細について詳細に説明していない。
【００２４】
図１Ａは、公開格納設備１２８との検証可能なトランザクションを作成することによってユーザのＩＤを管理するためのシステム１００および方法の簡略ブロック図を示す。例として、身分証明書１０２を使用することができる。他の実施形態では、デジタルまたは非デジタルであってもよい他の形態の身分証明書が使用されてもよい。身分証明書１０２の例では、身分証明書１０２には、ユーザを特定する個人データ１０４が含まれている。個人データは、ユーザの写真１０６、ユーザの名前、住所、および運転免許証番号１０８、ならびに／またはバーコード１１０もしくは追加データを格納、スキャン、および／もしくは検索するための同様のコンピュータコードを含んでもよい。このような符号化は、ＰＤＦ４１７コード、ＱＲコード、および他のこのようなコードを含んでもよい。しかしながら、このようなコードを有することは必須ではなく、身分証明書は、人間が読めるテキスト文字列しか有さなくてもよい。上述したように、身分証明書１０２はまた、物理的形式またはデジタル形式をとってもよく、情報は、例示的な実施形態では、説明したようなコードのスキャン、テキスト文字列の光学式文字認識（ＯＣＲ：Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）の実行、あるシステムから別のシステムへのデジタル身分証明書のデジタル伝送、キーボードを用いた、情報の手動入力、音声認識を用いた、情報の手動入力などのいずれかによって取得されてもよい。
【００２５】
身分証明書１０２は、運転免許証、パスポート、職員バッジ（ｅｍｐｌｏｙｅｅ  ｂａｄｇｅ）、軍人身分証明書（ｍｉｌｉｔａｒｙ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、または行政文書（ｐｏｌｉｔｉｃａｌ  ｄｏｃｕｍｅｎｔａｔｉｏｎ）などの政府発行の形態の身分証明書であってもよい。身分証明書１０２はまた、学生ＩＤ、図書館カード、ソーシャルクラブカード、または第三者によって発行された任意の他の形態の身分証明書などの私的に発行された形態の身分証明書であってもよい。
【００２６】
一実施形態では、三角形１１４によって示されているように、入力装置１１２が、入力データを提供するために身分証明書１０２からこのような個人データを入力するために使用されてもよい。入力装置１１２は、多くの形態を取ることができる。例えば、入力装置１１２は、カード１０２にあるコードを含む身分証明書１０２からデータを読み取るためのデジタルスキャナ、デジタルカメラ、またはスマートフォン（例えば、スマートフォンに一般的に見られるカメラ付きの）であってもよい。入力装置１１２はまた、キーボード、タッチスクリーン、音声認識装置、手書き認識装置、または他の手動入力装置などの、個人データを手動で入力するための装置であってもよい。
【００２７】
図１Ａに示すように、入力データは、任意選択で、暗号化ロジック１１８によって暗号化され、工程１１９ｂで安全に格納されてもよい。一実施態様では、入力データは、暗号化ロジック１１８を通過することなく、ハッシュロジック１２０に直接伝送される。理解を容易にするために、最初に、任意選択の暗号化ロジック１１８の工程について述べ、次に、ハッシュロジック１２０によって処理される工程について述べる。したがって、プロセスは、１１２におけるユーザ情報の受信からハッシュロジック１２０に直接進んでもよい。
【００２８】
入力装置１１２（例えば、ユーザのスマートフォン）から収集された入力データは、入力装置１１２の暗号化ロジック１１８に渡される。例示的な実施形態では、暗号化ロジック１１８は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせを含んでもよく、１つ以上の暗号化アルゴリズム（例えば、ＲＳＡ暗号化アルゴリズム）からなってもよい。暗号化ロジック１１８は、入力データを公開鍵で暗号化して暗号化データを提供する。公開鍵は、ＲＳＡ暗号化アルゴリズム、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ：Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｄｉｇｉｔａｌ  Ｓｉｇｎａｔｕｒｅ  Ａｌｇｏｒｉｔｈｍ）、または当業者に知られている他の暗号化アルゴリズムを用いて鍵を生成するときに従来のように、関連する秘密鍵と対にされる。工程１１９ｂに示すように、この暗号化データは、次に、セキュリティを強化するために入力装置１１２にローカルに格納することができる。その後、この暗号化データは、入力装置１１２がｉＯＳ（例えば、Ａｐｐｌｅ，Ｉｎｃ．製の装置によって使用されるオペレーティングシステム）のスマートフォンである場合に工程１１９ａで入力装置１１２のより安全な部分（例えば、「キーチェーン」）に格納され得る、入力装置１１２上のユーザの秘密鍵でのみアクセスすることができる。装置が異なるタイプのもの（例えば、Ａｎｄｒｏｉｄ（登録商標）  ＯＳ（例えば、Ｇｏｏｇｌｅ，Ｉｎｃ．のオペレーティングシステム）を使用したもの）である場合に、同様の安全な装置格納方法を使用することができる。このように、セキュリティを強化するために、秘密鍵は、漏洩されず、入力装置１１２に安全に保持される。秘密鍵は別の装置に格納されてもよいが、秘密鍵が漏洩しないことを保証するために同様のまたは追加のセキュリティ処理をすべきであることを理解されたい。
【００２９】
上述したように、ハッシュロジック１２０によって実行される工程は、入力装置１１２から入力データを受信した直後に進めることができる。この実施形態では、ハッシュロジック１２０は、入力データ（例えば、収集された個人情報）をハッシュしてハッシュ値を提供または生成するために使用される。ハッシュ値は、アルゴリズムによって生成される「ハッシュデータ」と呼ばれることもある。例示的な実施形態では、ハッシュロジック１２０は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせであってもよく、１つ以上のハッシュアルゴリズム（例えば、セキュアハッシュアルゴリズム（ＳＨＡ：Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）アルゴリズムからなってもよい。ハッシュロジック１２０は、ハッシュ値をデジタル署名ロジック１２１に渡し、デジタル署名ロジック１２１は、入力装置１１２上の秘密鍵を用いてハッシュ値にデジタル署名を実行する。例示的な実施形態では、デジタル署名ロジック１２１は、暗号化ロジック１１８のコンポーネント（またはモジュール）であってもよい。他の実施形態では、デジタル署名ロジック１２１は、別個のコード、ファームウェア、および／またはハードウェアによって形成されてもよい。
【００３０】
一実施形態では、デジタル署名ロジック１２１は、次に、署名付きハッシュ値および公開鍵を、入力装置１１２上で実行される他のソフトウェアであってもよいユーザアクセス可能インタフェース１２６（例えば、グラフィカルユーザインタフェース、すなわちＧＵＩ）に渡す。例示的な実施形態では、ユーザアクセス可能インタフェース１２６は、暗号化ロジック１１８、ハッシュロジック１２０、およびデジタル署名ロジック１２１、ならびに／または他のモジュールもしくはコードを含むアプリケーションまたはアプリケーションプログラムの一部であってもよい。ユーザアクセス可能インタフェース１２６は、回線１３０を介してデジタル署名付きハッシュ値および公開鍵を公開格納設備１２８に送信し、公開格納設備１２８からの応答として、送信されたハッシュ値および公開鍵に対応するトランザクション番号１３２を受信するためにユーザによって使用されてもよい。本開示で用いられる場合、「回線」は、例示的な実施形態では、バス、イントラネット、インターネット、エクストラネット、パブリックコンピュータネットワーク、プライベートコンピュータネットワークなどを含む有線および／または無線の接続またはネットワークの一部であってもよい。代替的な例示的な実施形態では、署名付きハッシュ値のみが、ユーザによって公開格納設備１２８に送信されてもよく、署名付きハッシュ値を取得する個人が、他の場所（例えば、ユーザ、公開データベース、インターネットリポジトリ、ウェブサイトなど）から公開鍵を入手してもよい。よく知られているように、公開鍵を保護する必要はなく、実際、公開鍵／秘密鍵のペアを使用するアルゴリズムは、公開鍵の完全な共有を可能にするように設計されている。一方、秘密鍵は、上述したように保護しなければならない。
【００３１】
一実施形態では、公開格納設備１２８は、ブロックチェーン（例えば、ビットコインのオンライン決済システムの）または任意の他の公開または私的分散データベースの形態をとってもよい。公開格納設備１２８は、回線を介して通信リンクに接続され、パブリックコンピュータネットワーク、インターネット、イントラネット、エクストラネット、または任意のプライベート通信ネットワークを介して通信するように適合され得る。大まかに言って、公開格納設備１２８は、ネットワークを介してインターネット接続を行う任意の装置によってアクセス可能である。ブロックチェーンは、当該技術分野で知られているように、ユーザのアクセスによって公共の場でデータが安全に格納されることを可能にするシステムである。データの書き込み（これは、暗号ハッシュ演算の実行を含む）のたびに、書き込まれるデータが以前に書き込まれたデータに依存するため、データは安全であると考えられる。ブロックチェーンを使用する利点は、データがブロックチェーンに書き込まれ、ブロックチェーントランザクションが作成されると、そのトランザクションがそのまま残されて、将来確認することができることである。この理由は、データがブロックチェーンに連続的に書き込まれ（例えば、特定のトランザクションが行われた後に）、以後のデータが以前の特定のトランザクションに依存するからである。この結果、公開ブロックチェーンを実装した公開格納設備にデータを書き込むことによって、そのデータのその後の確認の正しさが実際に保証される。一実施形態では、分散公開データベースは、ブロックチェーンであり、ブロックチェーンは、複数のエンティティからデータを格納のために受信する。エンティティを互いに関係づける必要はなく、データのタイプが同じである必要はない。一般に、ブロックチェーンを格納するエンティティは互いに無関係であり、データのタイプは、例えばＩＤデータ、コマーシャルデータ、ビットコインデータなどに限定されないデジタルデータのほぼあらゆるタイプに変更することができる。したがって、格納のために受信されたデータは、ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成される。トランザクション記録がブロックチェーンに格納された以前のデータに依存することにより、ブロックチェーンに格納されたデータが変更不可能であることが保証される。これは、ブロックチェーンに格納される以後のデータの各々が、ブロックチェーンに格納された以前のデータに依存し続けるためである。
【００３２】
上に示したように、例示的な実施形態では、入力装置（例えば、ユーザのスマートフォン）１１２から公開格納設備１２８に格納のために送信する（任意選択で、公開鍵と共に）前に、入力データをハッシュしてもよく、結果として得られたハッシュ値に、公開鍵と対の秘密鍵を用いて作成したデジタル署名で署名を行ってもよい。したがって、ユーザアクセス可能インタフェース１２６は、公開格納設備１２８に署名付きハッシュ値および公開鍵を「封印」するように適合される。一実施形態では、ハッシュ値および任意選択でユーザの公開鍵が、トランザクションでブロックチェーンに書き込まれた後、別の関係者が同じ入力データをハッシュすることができれば、後の検証を行うことができる。
【００３３】
図１Ｂに示すように、ユーザアクセス可能インタフェース１２６（例えば、ＧＵＩ）は、例えばユーザのＩＤを確立する目的で、トランザクション番号１３２、入力データ、および任意選択でユーザの公開鍵を暗号化して、第三者（例えば、金融機関または商業的、私的な取引、もしくはユーザとの他の取引に関与する他のエンティティ）の入力装置１４２（例えば、スマートフォン）に提供するために、入力装置１１２のユーザによって制御可能であり得る。一実施形態では、第三者は、トランザクション番号１３２を用いてブロックチェーンにアクセスして、デジタル署名付きハッシュ値を検索し、任意選択で、公開鍵が第三者によって前もって取得されなかった場合、別のソース／ロケーションから公開鍵を検索し、入力データおよび同じハッシュアルゴリズムを用いて第三者によって生成されたハッシュ値との比較を可能にする。
【００３４】
例示的な実施形態では、トランザクション番号１３２、入力データ、および任意選択でユーザの公開鍵の暗号化は、第三者の秘密鍵と対の第三者の公開鍵を用いて暗号化ロジック１１８によって実行されてもよい。次に、入力装置１１２の符号化ロジック１５０は、暗号化項目をバーコードまたはＱＲコードに符号化してもよく、第三者は、暗号化項目にアクセスする目的でバーコードまたはＱＲコードをスキャンしてこれを復号するために入力装置１４２を使用してもよい。その後、第三者は、第三者の秘密鍵を用いて暗号化項目を解読して、検証工程を実行してもよい。一実施形態では、検証は、以下でさらに詳細に説明するようにＲＳＡアルゴリズムを使用してもよい。構成された実施態様に応じて、他の検証アルゴリズムを使用することもできる。
【００３５】
図１Ｃは、公開格納設備に任意の入力データを封印するためのシステムおよび方法の簡略ブロック図を示す。上述したように、ハッシュロジック１２０によって実行される工程は、入力装置１１２からユーザ情報を受信した直後に進めることができる。この実施形態では、ハッシュロジック１２０は、入力データ（例えば、収集された個人情報）をハッシュしてハッシュ値を提供または生成するために使用される。ハッシュ値は、アルゴリズムによって生成される「ハッシュデータ」と呼ばれることもある。例示的な実施形態では、ハッシュロジック１２０は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせであってもよく、１つ以上のハッシュアルゴリズム（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）アルゴリズムからなってもよい。ハッシュロジック１２０は、ハッシュ値をデジタル署名ロジック１２１に渡し、デジタル署名ロジック１２１は、入力装置１１２上の秘密鍵を用いてハッシュ値にデジタル署名を実行する。例示的な実施形態では、デジタル署名ロジック１２１は、暗号化ロジック１１８のコンポーネント（またはモジュール）であってもよい。他の実施形態では、デジタル署名ロジック１２１は、別個のコード、ファームウェア、および／またはハードウェアによって形成されてもよい。
【００３６】
一実施形態では、デジタル署名ロジック１２１は、次に、署名付きハッシュ値および公開鍵を、入力装置１１２上で実行される他のソフトウェアであってもよいユーザアクセス可能インタフェース１２６（例えば、グラフィカルユーザインタフェース、すなわちＧＵＩ）に渡す。例示的な実施形態では、ユーザアクセス可能インタフェース１２６は、暗号化ロジック１１８、ハッシュロジック１２０、およびデジタル署名ロジック１２１、ならびに／または他のモジュールもしくはコードを含むアプリケーションまたはアプリケーションプログラムの一部であってもよい。ユーザアクセス可能インタフェース１２６は、回線１３０を介してデジタル署名付きハッシュ値および公開鍵を公開格納設備１２８に送信し、公開格納設備１２８からの応答として、送信されたハッシュ値および公開鍵に対応するトランザクション番号１３２を受信するためにユーザによって使用されてもよい。代替的な例示的な実施形態では、署名付きハッシュ値のみが、ユーザによって公開格納設備１２８に送信されてもよく、署名付きハッシュ値を取得する個人が、他の場所（例えば、ユーザ、公開データベース、インターネットリポジトリ、ウェブサイトなど）から公開鍵を入手してもよい。よく知られているように、公開鍵を保護する必要はなく、実際、公開鍵／秘密鍵のペアを使用するアルゴリズムは、公開鍵の完全な共有を可能にするように設計されている。一方、秘密鍵は、上述したように保護しなければならない。
【００３７】
一実施形態では、公開格納設備１２８は、ブロックチェーン（例えば、ビットコインのオンライン決済システムの）または任意の他の公開または私的分散データベースの形態をとってもよい。公開格納設備１２８は、回線を介して通信リンクに接続され、パブリックコンピュータネットワーク、インターネット、イントラネット、エクストラネット、または任意のプライベート通信ネットワークを介して通信するように適合され得る。大まかに言って、公開格納設備１２８は、ネットワークを介してインターネット接続を行う任意の装置によってアクセス可能である。
【００３８】
上に示したように、例示的な実施形態では、入力装置（例えば、ユーザのスマートフォン）１１２から公開格納設備１２８に格納のために送信する（任意選択で、公開鍵と共に）前に、入力データをハッシュしてもよく、結果として得られたハッシュ値に、公開鍵と対の秘密鍵を用いて作成したデジタル署名で署名を行ってもよい。したがって、ユーザアクセス可能インタフェース１２６は、公開格納設備１２８に署名付きハッシュ値および公開鍵を「封印」するように適合される。一実施形態では、ハッシュ値および任意選択でユーザの公開鍵が、トランザクションでブロックチェーンに書き込まれた後、別の関係者が同じ入力データをハッシュすることができれば、後の検証を行うことができる。
【００３９】
図２Ａは、公開格納設備２２８内のユーザのＩＤを管理するための認証方法の簡略ブロック図を示す。例として、身分証明書２０２を使用することができる。他の実施形態では、デジタルまたは非デジタルであってもよい他の形態の身分証明書が使用されてもよい。身分証明書２０２の例では、身分証明書２０２には、ユーザを特定する個人データ２０４が含まれている。入力データは、ユーザの写真２０６、ユーザの名前、住所、および運転免許証番号２０８、ならびに／またはバーコード２１０もしくは追加データを格納、スキャン、および／もしくは検索するための同様のコンピュータコードを含んでもよい。このような符号化は、ＰＤＦ４１７コード、ＱＲコード、および他のこのようなコードを含んでもよい。しかしながら、このようなコードを有することは必須ではなく、身分証明書は、人間が読めるテキスト文字列しか有さなくてもよい。上述したように、身分証明書２０２はまた、物理的形式またはデジタル形式をとってもよく、情報は、例示的な実施形態では、説明したようなコードのスキャン、テキスト文字列の光学式文字認識（ＯＣＲ）の実行、あるシステムから別のシステムへのデジタル身分証明書のデジタル伝送、キーボードを用いた、情報の手動入力、音声認識を用いた、情報の手動入力などのいずれかによって取得されてもよい。
【００４０】
身分証明書２０２は、運転免許証、パスポート、職員バッジ、軍人身分証明書、または行政文書などの政府発行の形態の身分証明書であってもよい。身分証明書２０２はまた、学生ＩＤ、図書館カード、ソーシャルクラブカード、または第三者によって発行された任意の他の形態の身分証明書などの私的に発行された形態の身分証明書であってもよい。
【００４１】
一実施形態では、三角形２１４によって示されているように、入力装置２１２が、入力データを提供するために身分証明書２０２からこのような個人データを入力するために使用されてもよい。入力装置２１２は、多くの形態を取ることができる。例えば、入力装置２１２は、カード２０２にあるコードを含む身分証明書２０２からデータを読み取るためのデジタルスキャナ、デジタルカメラ、またはスマートフォン（例えば、スマートフォンに一般的に見られるカメラ付きの）であってもよい。入力装置２１２はまた、キーボード、タッチスクリーン、音声認識装置、手書き認識装置、または他の手動入力装置などの、個人データを手動で入力するための装置であってもよい。
【００４２】
図２Ａに示すように、入力データは、任意選択で、暗号化ロジック２１８によって暗号化され、安全に格納されてもよい。一実施態様では、入力データは、暗号化ロジック２１８を通過することなく、ハッシュロジック２２０に直接伝送される。理解を容易にするために、最初に、任意選択の暗号化ロジック２１８の工程について述べ、次に、ハッシュロジック２２０によって処理される工程について述べる。したがって、プロセスは、２１２におけるユーザ情報の受信からハッシュロジック２２０に直接進んでもよい。
【００４３】
入力装置２１２（例えば、ユーザのスマートフォン）から収集された入力データは、入力装置２１２の暗号化ロジック２１８に渡される。例示的な実施形態では、暗号化ロジック２１８は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせを含んでもよく、１つ以上の暗号化アルゴリズム（例えば、ＲＳＡ暗号化アルゴリズム）からなってもよい。暗号化ロジック２１８は、入力データを公開鍵で暗号化して暗号化データを提供する。公開鍵は、ＲＳＡ暗号化アルゴリズム、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）、または当業者に知られている他の暗号化アルゴリズムを用いて鍵を生成するときに従来のように、関連する秘密鍵と対にされる。この暗号化データは、次に、セキュリティを強化するために入力装置２１２にローカルに格納することができる。その後、この暗号化データは、入力装置２１２がｉＯＳ（例えば、Ａｐｐｌｅ，Ｉｎｃ．製の装置によって使用されるオペレーティングシステム）のスマートフォンである場合に入力装置２１２のより安全な部分（例えば、「キーチェーン」）に格納され得る、入力装置２１２上のユーザの秘密鍵でのみアクセスすることができる。装置が異なるタイプのもの（例えば、Ａｎｄｒｏｉｄ  ＯＳ（例えば、Ｇｏｏｇｌｅ，Ｉｎｃ．のオペレーティングシステム）を使用したもの）である場合に、同様の安全な装置格納方法を使用することができる。このように、セキュリティを強化するために、秘密鍵は、漏洩されず、入力装置２１２に安全に保持される。秘密鍵は別の装置に格納されてもよいが、秘密鍵が漏洩しないことを保証するために同様のまたは追加のセキュリティ処理をすべきであることを理解されたい。
【００４４】
上述したように、ハッシュロジック２２０によって実行される工程は、入力装置２１２から入力データを受信した直後に進めることができる。この実施形態では、ハッシュロジック２２０は、入力データ（または入力データもしくは個人データの選択されたフィールド）をハッシュしてハッシュ値を提供または生成するために使用される。ハッシュ値は、アルゴリズムによって生成される「ハッシュデータ」と呼ばれることもある。例示的な実施形態では、ハッシュロジック２２０は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせであってもよく、１つ以上のハッシュアルゴリズム（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）アルゴリズムからなってもよい。ハッシュロジック２２０は、ハッシュ値をデジタル署名ロジック２２１に渡し、デジタル署名ロジック２２１は、入力装置２１２上の秘密鍵を用いてハッシュ値にデジタル署名を実行する。例示的な実施形態では、デジタル署名ロジック２２１は、暗号化ロジック２１８のコンポーネント（またはモジュール）であってもよい。他の実施形態では、デジタル署名ロジック２２１は、別個のコード、ファームウェア、および／またはハードウェアによって形成されてもよい。
【００４５】
一実施形態では、デジタル署名ロジック２２１は、次に、署名付きハッシュ値および公開鍵を、入力装置２１２上で実行される他のソフトウェアであってもよいユーザアクセス可能インタフェース２２６（例えば、グラフィカルユーザインタフェース、すなわちＧＵＩ）に渡す。例示的な実施形態では、ユーザアクセス可能インタフェース２２６は、暗号化ロジック２１８、ハッシュロジック２２０、およびデジタル署名ロジック２２１、ならびに／または他のモジュールもしくはコードを含むアプリケーションまたはアプリケーションプログラムの一部であってもよい。ユーザアクセス可能インタフェース２２６は、回線２３０を介してデジタル署名付きハッシュ値および任意選択で公開鍵を公開格納設備２２８に送信し、公開格納設備２２８からの応答として、送信されたハッシュ値および公開鍵に対応するトランザクション番号２３２を受信するためにユーザによって使用されてもよい。
【００４６】
一実施形態では、公開格納設備２２８は、ブロックチェーン（例えば、ビットコインのオンライン決済システムの）または任意の他の公開または私的分散データベースの形態をとってもよい。公開格納設備２２８は、回線を介して通信リンクに接続され、パブリックコンピュータネットワーク、インターネット、イントラネット、エクストラネット、または任意のプライベート通信ネットワークを介して通信するように適合され得る。大まかに言って、公開格納設備２２８は、ネットワークを介してインターネット接続を行う任意の装置によってアクセス可能である。
【００４７】
上に示したように、例示的な実施形態では、入力装置（例えば、ユーザのスマートフォン）２１２から公開格納設備２２８に格納のために送信する（任意選択で、公開鍵と共に）前に、入力データ（または入力データの選択されたフィールド）をハッシュしてもよく、結果として得られたハッシュ値に、公開鍵と対の秘密鍵を用いて作成したデジタル署名で署名を行ってもよい。したがって、ユーザアクセス可能インタフェース２２６は、公開格納設備２２８に署名付きハッシュ値および公開鍵を「封印」するように適合される。一実施形態では、ハッシュ値および任意選択でユーザの公開鍵が、トランザクションでブロックチェーンに書き込まれた後、別の関係者が同じ入力データをハッシュすることができれば、後の検証を行うことができる。
【００４８】
ユーザアクセス可能インタフェース２２６（例えば、ＧＵＩ）は、トランザクション番号２３２、入力データ（または入力データの選択されたフィールド）、および任意選択で公開鍵を暗号化して、認証者の入力装置２４２（例えば、スマートフォン）に提供するために、入力装置２１２のユーザによって制御可能であり得る。例示的な実施形態では、暗号化は、認証者の秘密鍵と対の認証者の公開鍵を用いて暗号化ロジック２１８によって実行されてもよい。次に、入力装置２１２の符号化ロジックは、暗号化されたトランザクション番号２３２、入力データ（または入力データの選択されたフィールド）、および任意選択で公開鍵をバーコードまたはＱＲコードに符号化してもよく、認証者は、暗号化項目にアクセスする目的でバーコードまたはＱＲコードをスキャンしてこれを復号するために入力装置２４２を使用してもよい。その後、認証者は、認証者の秘密鍵を用いて、暗号化項目を解読し、例えば、以下でさらに詳細に説明するようにＲＳＡアルゴリズムの「検証」関数呼び出しを用いて、これらを検証してもよい。
【００４９】
認証者の入力装置２４２がバーコードまたはＱＲコードを受信したら、認証者の入力装置２１２の復号ロジックは、バーコードまたはＱＲコードを復号してもよく、認証者の入力装置２４２の解読ロジック２７０は、認証者の秘密鍵を使用して暗号化項目を解読してもよい。例示的な実施形態では、解読ロジック２７０は、より一般的な暗号化ロジックのコンポーネント（またはモジュール）であってもよい。一実施形態では、解読された入力データ（または入力データの選択されたフィールド）は、ユーザによってデジタル署名されたハッシュ値を作成するために使用されたのと同じハッシュアルゴリズムを用いて、認証者の入力装置２４２のハッシュロジック２７２によってハッシュ値にハッシュされてもよい。また、解読されたトランザクション番号２３２は、ユーザアクセス可能インタフェース２８０（例えば、ＧＵＩ）によって、公開格納設備２２８（例えば、ブロックチェーン）にアクセスして、署名付きハッシュ値およびユーザの公開鍵を検索するために使用されてもよい。次に、検索された署名付きハッシュ値、生成されたハッシュ値、および検索または取得された公開鍵は、検証（例えば、ＲＳＡアルゴリズムの「検証」関数呼び出しによる）のために検証ロジック２７３に入力されてもよい。また、検証ロジック２７３は、２つのハッシュ値が同じであり、公開鍵が署名に関連する場合は「真」値を出力し、２つのハッシュ値が同じでないか、または公開鍵が署名に関連しない場合は「偽」値を出力する。例示的な実施形態では、検証ロジック２７３は、解読ロジック２７０のコンポーネント（またはモジュール）であってもよい。別の実施形態では、検証ロジック２７３は、別個のモジュール、ソフトウェア、ファームウェア、および／またはハードウェアであってもよい。上に示したように、例示的な実施形態では、ユーザの公開鍵は、公開格納設備２２８以外の何らかの他のソース（例えば、ユーザ）から取得されてもよい。
【００５０】
この検証プロセスは、図２Ｂ−１および図２Ｂ−２に示されている。図２Ｂ−１は、入力データからデジタル署名付きハッシュ値を作成する方法を示す。入力データ（または入力データの選択されたフィールド）は、工程１で、ユーザの入力装置１１２のハッシュロジック２２０によってハッシュ値「ＡＢＣ」にハッシュされる。次に、工程２で、ハッシュ値「ＡＢＣ」は、デジタル署名ロジック１２１を用いてユーザの秘密鍵でデジタル署名され、デジタル署名付きハッシュ値「ＸＹＺ」が作成される。
【００５１】
図２Ｂ−２は、デジタル署名付きハッシュ値を、公開格納設備２２８からユーザの公開鍵と共に検索した後に検証する方法を示す。ユーザの入力装置２１２からの入力データ（または入力データの選択されたフィールド）が、工程３において、認証者の入力装置２４２で受信され、ハッシュロジック２７２を用いて、生成されたハッシュ値「ＡＢＣ」にハッシュされる。次に、署名付きハッシュ値「ＸＹＺ」、生成されたハッシュ値「ＡＢＣ」、およびユーザの公開鍵が、工程４で、検証ロジック２７３に入力される。検証ロジック２７３は、例示的な実施形態では、ＲＳＡ検証アルゴリズムを含んでもよい。デジタル署名付きハッシュ値「ＸＹＺ」のハッシュ値が、生成されたハッシュ値「ＡＢＣ」と同じであり、デジタル署名が、ユーザの公開鍵に関連する秘密鍵で署名されていた場合、検証ロジック２７３は、「真」の値を返す。そうでなければ、検証ロジック２７３は、「偽」の値を返す。検証ロジック２７３は、検証工程を行う必要がある任意の装置（例えば、ユーザの装置、認証者の装置、検証者の装置、第三者の装置、商業団体の装置、私的な団体の装置など）上で実行されてもよいことを理解されたい。
【００５２】
暗号化ロジック２７０から「真」の値を受信したら、認証者は、検証に関する認証記録を作成してもよい。例示的な実施形態では、認証記録は、トランザクション番号２３２、ユーザから受信した入力データ（または入力データの選択されたフィールド）、および任意選択でタイムスタンプを含んでもよく、認証記録は、認証者によってハッシュされ、公開鍵に関連する認証者の秘密鍵を用いてデジタル署名されてもよい。次に、認証者は、ユーザアクセス可能インタフェース２８０（例えば、ＧＵＩ）を使用して、署名付き認証記録を公開格納設備２２８に格納のために送信し、公開格納設備２２８からの応答としてトランザクション番号２８２を受信してもよい。例示的な実施形態では、認証記録を秘密にしておくために、認証者は、公開格納設備２２８に送信する前に認証者の公開鍵で認証記録を暗号化してもよい。
【００５３】
図２Ｂ−１および図２Ｂ−２に示した検証プロセスは、入力装置２１２によって受信された入力データ（または入力データの選択されたフィールド）以外のデータ項目に関するデジタル署名を検証するために使用され得ることが理解されよう。例示的な実施形態では、デジタル署名されるデータ項目は、デジタル署名される前にハッシュされなくてもよい。例示的な実施形態では、図２Ｂ−１および図２Ｂ−２に示した検証プロセスは、身分証明書以外の文書（例えば、上で説明したようなデジタル署名付き証明書または以下で説明するようなデジタル署名付き受信確認）のデジタル署名付きハッシュを検証するために使用されてもよい。あるいは、同じ検証プロセスは、安全なエンベローププロセスを用いて送信者によって送信されたデジタル署名付きトークン（例えば、乱数）を検証するために使用されてもよい。以下で説明するように、安全なエンベローププロセスは、ユーザから認証者、検証者、第三者などにデータを送信するときおよびこれの逆のときに、公開鍵暗号化の代わりにまたはこれに加えて使用されてもよい。
【００５４】
例示的な実施形態では、安全なエンベローププロセスを使用する場合、送信者は、リアルタイムトークン（例えば、ユーザのリモート装置によって生成される乱数）をハッシュし、送信者の秘密鍵を用いて、ハッシュされたトークンにデジタル署名する。例示的な実施形態では、タイムスタンプが、任意選択でトークンに含まれてもよい。次に、送信者は、署名付きのハッシュされたトークンおよび任意選択で送信者の秘密鍵に関連する公開鍵を分散公開データベースに格納のために送信し、分散公開データベースからの応答としてトランザクション番号を受信してもよい。その後、送信者は、任意選択でトランザクション番号およびトークンを受信者の公開鍵で暗号化した後に、トランザクション番号およびトークンを受信者（例えば、認証者、検証者、第三者など）に送信してもよい。例示的な実施形態では、受信者は、トランザクション番号およびトークン（任意選択でタイムスタンプを含む）を受信し、必要に応じてこれらを受信者の秘密鍵を用いて解読し、次に、トランザクション番号を使用して、分散公開データベースからデジタル署名付きハッシュおよび任意選択で送信者の公開鍵を検索する。受信者は、送信者が使用したのと同じハッシュアルゴリズムを用いてトークンのハッシュを生成してもよい。次に、受信者は、例えば上で説明したようにＲＳＡ検証呼び出しを用いて、生成されたハッシュのトークンがデジタル署名付きハッシュトークンのトークンと同じであることを検証し、デジタル署名が送信者の秘密鍵で作成されたことを検証してもよい。ＲＳＡ検証呼び出しは、例えば検証工程を実行するために、例えば、検証ロジック２７３によって処理されてもよい。例示的な実施形態では、トークン（任意選択でタイムスタンプを含む）は、署名される前にハッシュされなくてもよい。
【００５５】
１つの構成では、図２Ｃに示すように、認証者は、ユーザの公開鍵で認証記録およびトランザクション番号２８２（例えば、認証者が公開格納設備２２８から受信したトランザクション番号）を暗号化し、２８１で、ユーザアクセス可能インタフェース２８０（例えば、ＧＵＩ）を用いて、暗号化された認証記録をユーザに送信してもよい。暗号化された認証記録を受信すると、ユーザは、ユーザの秘密鍵を用いてこれを解読し、次に、認証記録が検証されたら、任意選択でタイムスタンプを含む、認証記録を参照するかまたは含む受信確認記録を作成し、第三者による便利なルックアップを容易にするために公開格納設備２２８の２つの記録をリンクする。ここでも同様に、認証記録を検証するために、ユーザは、認証者が認証者によるデジタル署名の前に使用したのと同じハッシュアルゴリズムを用いて認証記録をハッシュしてもよい。ユーザは、公開格納設備２２８から署名付き認証記録および認証者の公開鍵を検索するためにトランザクション番号２８２を使用してもよい。次に、ユーザは、生成されたハッシュの認証記録がデジタル署名付き認証記録の認証記録と同じであることを検証し、上で説明したように例えばＲＳＡ検証呼び出しを用いて、デジタル署名が認証者の秘密鍵で作成されたことを検証してもよい。
【００５６】
例示的な実施形態では、受信確認記録は、認証記録、トランザクション番号２８２、および任意選択でタイムスタンプを含んでもよく、ユーザは、ユーザの秘密鍵で受信確認記録にデジタル署名してもよい。次に、ユーザは、ユーザアクセス可能インタフェース２２８（例えば、ＧＵＩ）を使用して、署名付き受信確認記録およびユーザの公開鍵を公開格納設備２２８に格納のために送信し、公開格納設備２２８からの応答としてトランザクション番号２２９を受信してもよい。例示的な実施形態では、ユーザは、受信確認記録を秘密にしておくために、公開格納設備２２８に送信する前に署名付き受信確認記録をユーザの公開鍵で暗号化してもよい。
【００５７】
図３Ａは、懸案のトランザクションを認証するためのシステムおよび方法の簡略ブロック図を示す。例として、身分証明書３０２を使用することができる。他の実施形態では、デジタルまたは非デジタルであってもよい他の形態の身分証明書が使用されてもよい。身分証明書３０２の例では、身分証明書３０２には、ユーザを特定する個人データ３０４が含まれている。個人データは、ユーザの写真３０６、ユーザの名前、住所、および運転免許証番号３０８、ならびに／またはバーコード３１０もしくは追加データを格納、スキャン、および／もしくは検索するための同様のコンピュータコードを含んでもよい。このような符号化は、ＰＤＦ４１７コード、ＱＲコード、および他のこのようなコードを含んでもよい。しかしながら、このようなコードを有することは必須ではなく、身分証明書は、人間が読めるテキスト文字列しか有さなくてもよい。上述したように、身分証明書３０２はまた、物理的形式またはデジタル形式をとってもよく、情報は、例示的な実施形態では、説明したようなコードのスキャン、テキスト文字列の光学式文字認識（ＯＣＲ）の実行、あるシステムから別のシステムへのデジタル身分証明書のデジタル伝送、キーボードを用いた、情報の手動入力、音声認識を用いた、情報の手動入力などのいずれかによって取得されてもよい。
【００５８】
身分証明書３０２は、運転免許証、パスポート、職員バッジ、軍人身分証明書、または行政文書などの政府発行の形態の身分証明書であってもよい。身分証明書３０２はまた、学生ＩＤ、図書館カード、ソーシャルクラブカード、または第三者によって発行された任意の他の形態の身分証明書などの私的に発行された形態の身分証明書であってもよい。
【００５９】
一実施形態では、三角形３１４によって示されているように、入力装置３１２が、入力データを提供するために身分証明書３０２からこのような個人データを入力するために使用されてもよい。入力装置３１２は、多くの形態を取ることができる。例えば、入力装置３１２は、カード３０２にあるコードを含む身分証明書３０２からデータを読み取るためのデジタルスキャナ、デジタルカメラ、またはスマートフォン（例えば、スマートフォンに一般的に見られるカメラ付きの）であってもよい。入力装置３１２はまた、キーボード、タッチスクリーン、音声認識装置、手書き認識装置、または他の手動入力装置などの、個人データを手動で入力するための装置であってもよい。
【００６０】
図３Ａに示すように、入力データは、任意選択で、暗号化ロジック３１８によって暗号化され、安全に格納されてもよい。一実施態様では、入力データは、暗号化ロジック３１８を通過することなく、ハッシュロジック３２０に直接伝送される。理解を容易にするために、最初に、任意選択の暗号化ロジック３１８の工程について述べ、次に、ハッシュロジック３２０によって処理される工程について述べる。したがって、プロセスは、３１２におけるユーザ情報の受信からハッシュロジック３２０に直接進んでもよい。
【００６１】
入力装置３１２（例えば、ユーザのスマートフォン）から収集された入力データは、入力装置３１２の暗号化ロジック３１８に渡される。例示的な実施形態では、暗号化ロジック３１８は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせを含んでもよく、１つ以上の暗号化アルゴリズム（例えば、ＲＳＡ暗号化アルゴリズム）からなってもよい。暗号化ロジック３１８は、入力データを公開鍵で暗号化して暗号化データを提供する。公開鍵は、ＲＳＡ暗号化アルゴリズム、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）、または当業者に知られている他の暗号化アルゴリズムを用いて鍵を生成するときに従来のように、関連する秘密鍵と対にされる。この暗号化データは、次に、セキュリティを強化するために入力装置３１２にローカルに格納することができる。その後、この暗号化データは、入力装置３１２がｉＯＳ（例えば、Ａｐｐｌｅ，Ｉｎｃ．製の装置によって使用されるオペレーティングシステム）のスマートフォンである場合に入力装置３１２のより安全な部分（例えば、「キーチェーン」）に格納され得る、入力装置３１２上のユーザの秘密鍵でのみアクセスすることができる。装置が異なるタイプのもの（例えば、Ａｎｄｒｏｉｄ  ＯＳ（例えば、Ｇｏｏｇｌｅ，Ｉｎｃ．のオペレーティングシステム）を使用したもの）である場合に、同様の安全な装置格納方法を使用することができる。このように、セキュリティを強化するために、秘密鍵は、漏洩されず、入力装置３１２に安全に保持される。秘密鍵は別の装置に格納されてもよいが、秘密鍵が漏洩しないことを保証するために同様のまたは追加のセキュリティ処理をすべきであることを理解されたい。
【００６２】
上述したように、ハッシュロジック３２０によって実行される工程は、入力装置３１２からユーザ情報を受信した直後に進めることができる。この実施形態では、ハッシュロジック３２０は、入力データ（または入力データもしくは個人データの選択されたフィールド）をハッシュしてハッシュ値を提供または生成するために使用される。ハッシュ値は、アルゴリズムによって生成される「ハッシュデータ」と呼ばれることもある。例示的な実施形態では、ハッシュロジック３２０は、ソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせであってもよく、１つ以上のハッシュアルゴリズム（例えば、セキュアハッシュアルゴリズム（ＳＨＡ）アルゴリズムからなってもよい。ハッシュロジック３２０は、ハッシュ値をデジタル署名ロジック３２１に渡し、デジタル署名ロジック３２１は、入力装置３１２上の秘密鍵を用いてハッシュ値にデジタル署名を実行する。例示的な実施形態では、デジタル署名ロジック３２１は、暗号化ロジック３１８のコンポーネント（またはモジュール）であってもよい。他の実施形態では、デジタル署名ロジック３２１は、別個のコード、ファームウェア、および／またはハードウェアによって形成されてもよい。
【００６３】
一実施形態では、デジタル署名ロジック３２１は、次に、署名付きハッシュ値および任意選択で公開鍵を、入力装置３１２上で実行される他のソフトウェアであってもよいユーザアクセス可能インタフェース３２６（例えば、グラフィカルユーザインタフェース、すなわちＧＵＩ）に渡す。例示的な実施形態では、ユーザアクセス可能インタフェース３２６は、暗号化ロジック３１８、ハッシュロジック３２０、およびデジタル署名ロジック３２１、ならびに／または他のモジュールもしくはコードを含むアプリケーションまたはアプリケーションプログラムの一部であってもよい。ユーザアクセス可能インタフェース３２６は、回線３３０を介してデジタル署名付きハッシュ値および任意選択で公開鍵を公開格納設備３２８に送信し、公開格納設備３２８からの応答として、送信されたハッシュ値および公開鍵に対応するトランザクション番号３３２を受信するためにユーザによって使用されてもよい。
【００６４】
一実施形態では、公開格納設備３２８は、ブロックチェーン（例えば、ビットコインのオンライン決済システムの）または任意の他の公開または私的分散データベースの形態をとってもよい。公開格納設備３２８は、回線を介して通信リンクに接続され、パブリックコンピュータネットワーク、インターネット、イントラネット、エクストラネット、または任意のプライベート通信ネットワークを介して通信するように適合され得る。大まかに言って、公開格納設備３２８は、ネットワークを介してインターネット接続を行う任意の装置によってアクセス可能である。
【００６５】
上に示したように、例示的な実施形態では、入力装置（例えば、ユーザのスマートフォン）３１２から公開格納設備３２８に格納のために送信する（任意選択で、公開鍵と共に）前に、入力データをハッシュしてもよく、結果として得られたハッシュ値に、公開鍵と対の秘密鍵を用いて作成したデジタル署名で署名を行ってもよい。したがって、ユーザアクセス可能インタフェース３２６は、公開格納設備３２８に署名付きハッシュ値および公開鍵を「封印」するように適合される。一実施形態では、ハッシュ値および任意選択でユーザの公開鍵が、トランザクションでブロックチェーンに書き込まれた後、別の関係者が同じ入力データをハッシュすることができれば、後の検証を行うことができる。
【００６６】
ユーザアクセス可能インタフェース３２６（例えば、ＧＵＩ）は、３５０で受信確認記録、署名付き受信確認記録のトランザクション番号、および任意選択でユーザの公開鍵を検証者３４２に送信するために入力装置３１２のユーザによって制御可能であり得る。例示的な実施形態では、署名付き入力データのトランザクション番号３３２および入力データも、上で説明したように、認証者によって使用される検証プロセスを用いる検証のために、検証者３４２に送信されてもよい。本明細書で用いるとき、検証者３４２の機能または工程の概略の理解を提供するために、銀行が検証者である例示的な使用状況を提供する。検証者は、ＩＤ、データ、またはトランザクションを検証する必要のある任意のエンティティであってもよいことを理解されたい。さらに、認証者は、ＩＤ、データ、またはトランザクションを認証した任意のエンティティであってもよい。したがって、この使用状況の例では、銀行は、必ずしも認証者と同じエンティティである必要はないが、他の状況では、銀行は、さらに認証者であってもよい。例として、銀行は、別のエンティティ（例えば、クレジットカード会社、自動車会社、政府機関、私的な団体など）によって作成された証明書を検証してもよい。署名付き受信確認記録の受信確認記録およびトランザクション番号については、図２Ｃに関して上で詳細に述べた。上に示して述べたように、ユーザは、送信３５０のために、検証者の公開鍵を用いた暗号化および／または安全なエンベローププロセスを使用してもよい。
【００６７】
検証者が、署名付き受信確認記録の受信確認記録およびトランザクション番号を受信したら、検証者は、図３Ｂに示すプロセスを使用して、受信確認記録およびその基となった認証記録を検証してもよい。工程１では、検証者は、トランザクション番号を使用して、公開格納設備３２８から署名付き受信確認記録および任意選択でユーザの公開鍵を検索する。次に、工程２では、検証者は、ユーザによって使用されたのと同じハッシュアルゴリズムで受信確認記録をハッシュし、上で詳細に述べたように検証アルゴリズムを用いて受信確認記録およびユーザの署名を検証する。検証が成功した場合、検証者は、工程３で、署名付き認証記録のトランザクション番号を使用して、公開格納設備３２８から署名付き認証記録および認証者の公開鍵を検索する。次に、工程４で、検証者は、認証者によって使用されたのと同じハッシュアルゴリズムで認証記録をハッシュし、上で詳細に述べたように検証アルゴリズムを用いて認証記録および認証者の署名を検証する。この検証も成功したら、検証者は、上で述べたのとは別の認証記録を作成し、これを公開格納設備３２８に送信し、その応答として、別のトランザクション番号を受信してもよい。なお、この別のトランザクション番号は、別の受信確認記録のために検証者の認証記録と共にユーザに送信されてもよい。
【００６８】
認証記録および／または受信確認記録がブロックチェーンに送信される前に任意選択で暗号化される場合、ユーザは、暗号化されていない受信確認記録を検証者に送信し、検証者は、暗号化されていない受信確認記録のデータを用いてその検証を実行する。例示的な実施形態では、これらの検証は、実際に受信確認記録が署名付き受信確認記録のトランザクション番号と共にブロックチェーンに存在することのチェックを含む。また、例示的な実施形態では、暗号化されていない受信確認記録は、認証記録からの暗号化されていない他のデータと共に署名付き認証記録のトランザクション番号を含む。署名付き証明書のトランザクション番号および認証記録からの暗号化されていないデータを用いて、検証者は、認証記録が、ブロックチェーンに送信される前に暗号化された場合であっても、認証記録が実際にブロックチェーンに存在することを確認することができ、認証記録の暗号化されていないデータを処理して認証者の署名を検証することができる。
【００６９】
本明細書の実施形態および説明された使用状況は例として挙げられているに過ぎないことを理解されたい。本明細書に記載の機能は、多くの新しい使用状況を包含し、容易にすることができる。例えば、ＩＤの検証は、様々な商用アプリケーションおよび私的アプリケーションに組み込むことができる。商用アプリケーションは、ユーザのＩＤを検証するために商業団体が必要とするアプリケーションを含んでもよい。ユーザのＩＤの検証は、旅行、取引、銀行取引、通信、ローン確認、信用確認、購入確認、および他の使用などの任意の数の機能を達成するために必要とされ得る。本明細書に記載の方法、機器、コンピュータ可読媒体、およびシステムを用いて、私的なＩＤの検証を容易にすることもできる。私的なＩＤの検証は、ユーザが迅速かつ効率的に自分のＩＤを別のユーザに証明したい場合に有用であり得る。本明細書に記載のシステムは、上で説明したように、ブロックチェーンデータベースであって、書き換え不可能であり、記録を危険にさらすことなく永久に維持するブロックチェーンデータベースにデータを書き込む方法を利用する。これは、本発明の方法によって実行される１つ以上のトランザクションによって検証され得る方法でブロックチェーンに情報を書き込むことを可能にする。
【００７０】
さらに、本明細書に記載の方法の工程は、任意の数のコンピュータシステムで実行することができる。例として、コンピュータシステムは、携帯電話、タブレット、デスクトップコンピュータ、時計コンピュータ、頭に取り付けるコンピュータ、眼鏡コンピュータ、またはこれらの組み合わせなどのユーザ装置を含んでもよい。また、サーバの動作が、ブロックチェーンデータベースおよびサーバストレージなどとのトランザクションを容易にするためにクライアント装置間で実行され、通信されてもよい。例として、これらのコンピュータ装置は、インターネットなどのネットワークを介して通信してもよい。ネットワークは、交換される情報の送信、受信、および処理などによって個々の装置が互いにトランザクションを行うことを可能にする。交換される情報は、異なるタイプの暗号化データ、ハッシュデータ、エンベロープ、コード、ＱＲコード、メッセージ、通知、および他のタイプのデータを含んでもよい。
【００７１】
ＩＤを検証するためにユーザがデータを交換することを可能にするために、またはサービス、商品、もしくは商取引へのユーザのアクセスを可能にするもしくは提供するために、メッセージング機能および通信機能が用意される。銀行業務の場合、検証プロセスは、銀行、および銀行のユーザまたはユーザに関する、銀行からの認証情報を必要とする第三者によって利用され得る。旅行タイプの検証の場合、異なる旅行会社は、ユーザの身分証明書を必要とする場合があり、その身分証明書を自分たちでまたは信頼できる他の第三者によって確認することを必要とする場合がある。これらの業務は、検証プロセスを実行するシステム、方法、コンピュータ可読媒体、およびコードを用いて容易にすることができる。大まかに言って、ユーザのＩＤの検証は、あらゆるタイプの産業または私的な環境で有用であり得る。検証の使用は、検証が安全であることを確保するために検証用のインフラストラクチャ、プログラムコード、アプリケーション、およびこれらの組み合わせを使用して簡単に促進される。
【００７２】
一部の実施形態では、検証システムは、アプリケーション（モバイル装置にインストールすることができるアプリケーション（例えば、アプリケーションプログラム）など）で具体化することができる。例として、ＩＤを確認してもらいたいユーザは、自分のＩＤに関する情報を封印するためにアプリケーションプログラムを使用することができる。データが封印され、暗号化データがブロックチェーンに格納されると、このデータは、別の関係者によるその後の認証に使用することできる。他の関係者は、データ、コード、ＱＲコード、メッセージ、または通知を効率的に読み出してユーザのＩＤを検証できる対応するアプリケーションプログラムを利用することもできる。
【００７３】
さらに他の実施形態では、コードプラグインを、異なる理由または機能のためにＩＤ検証を使用する可能性のある商用ウェブサイトに組み込むことができる。例えば、銀行は、情報の封印および／またはＩＤに関する情報の認証を行うために検証処理の一部または全部を実行することができるプラグインのアプリケーション、コード、またはプログラムを導入することができる。上記を考慮して、本明細書に記載の検証プロセスおよび様々な使用状況が単なる例として挙げられており、さらなる使用状況は当業者には明らかであろうことを理解されたい。
【００７４】
本明細書に明示された様々な実施形態は、個々の実施態様を明示することができ、１つ以上の明示された実施形態の組み合わせに依存する実施態様を明示することができる。さらに、本発明の実施形態は、ハンドヘルド装置、マイクロプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルな民生用電子機器、ミニコンピュータ、およびメインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施することができる。本発明は、有線ベースネットワークまたは無線ネットワークを介してリンクされた遠隔処理装置によってタスクが実行される分散コンピューティング環境で実施することもできる。
【００７５】
本発明の一部を形成する、本明細書に記載の工程のすべてが有用なマシン工程である。本発明はまた、これらの工程を実行するための装置または機器に関する。機器は、必要な目的のために特別に構成されてもよいし、機器は、コンピュータに格納されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータであってもよい。具体的には、様々な汎用マシンを、本明細書の教示に従って書かれたコンピュータプログラムと共に使用する場合もあれば、必要な工程を実行するためにより特殊化した機器を構成する方が便利な場合もある。
【００７６】
本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとして具体化されてもよい。コンピュータ可読媒体は、コンピュータシステムによって後に読み取られ得るデータを格納することができる任意のデータ記憶装置である。コンピュータ可読媒体はまた、コンピュータ可読コードが分散して格納され、実行されるように、ネットワーク結合コンピュータシステム上に分散されてもよい。
【００７７】
この詳細な説明を提供してきたが、添付の特許請求の範囲に規定された本発明の範囲から逸脱することなく、修正および変形が可能であることは明らかであろう。本発明またはその好ましい実施形態の要素を導入するとき、冠詞「ある（ａ）」、「ある（ａｎ）」、「その（ｔｈｅ）」、および「前記（ｓａｉｄ）」は、１つ以上の要素が存在することを意味することが意図されている。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、および「有する（ｈａｖｉｎｇ）」という用語は包括的であり、列挙された要素以外の追加の要素が存在してもよいことを意味する。上記を考慮すれば、本発明のいくつかの目的が達成され、他の好適な結果が達成されることが分かる。上記のシステムでは、本発明の範囲から逸脱することなく様々な変更を行うことができることから、上記の説明に含まれ、添付の図面に示されているすべての内容は、例示として解釈すべきであり、限定的な意味で解釈すべきでないことが意図されている。
【００７８】
上記の実施形態を念頭に置いて、本発明が、コンピュータシステムに格納されるデータを含む、様々なコンピュータ実施工程を用いてもよいことを理解されたい。本発明の一部を形成する、本明細書に記載の工程のすべてが有用なマシン工程である。本発明はまた、これらの工程を実行するための装置または機器に関する。機器は、必要な目的（上で述べたキャリアネットワークなど）のために特別に構成されてもよいし、コンピュータに格納されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータであってもよい。具体的には、様々な汎用マシンを、本明細書の教示に従って書かれたコンピュータプログラムと共に使用する場合もあれば、必要な工程を実行するためにより特殊化した機器を構成する方が便利な場合もある。
【００７９】
本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとして具体化されてもよい。コンピュータ可読媒体は、コンピュータシステムによって後に読み取られ得るデータを格納することができる任意のデータ記憶装置である。コンピュータ可読媒体の例としては、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ：ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、フラッシュ、磁気テープ、ならびに他の光学的データ記憶装置および非光学的データ記憶装置が挙げられる。コンピュータ可読媒体はまた、コンピュータ可読コードが分散して格納され、実行されるように、ネットワーク結合コンピュータシステム上に分散されてもよい。
【００８０】
本発明の例示的な実施形態を、理解を明確にするためにある程度詳細に説明してきたが、以下の特許請求の範囲内で、ある種の変更および修正を実施できることは明らかであろう。例えば、ウェブサイトは、接続されたテレビサービスではなく、オンライン小売店またはオンライン出版を提供してもよい。さらに、上で説明した工程は、任意の適切な方法で順序づけ、モジュール化および／または分散されてもよい。したがって、本実施形態は、例示的であって限定的ではないものとして考えられるべきであり、本発明は、本明細書に与えられた詳細に限定されず、以下の特許請求の範囲および均等物内で修正されてもよい。以下の特許請求の範囲において、要素および／またはステップは、特許請求の範囲に明示的に記載されていない限り、または開示によって暗に要求されない限り、特定の工程順序を意味するものではない。
【図１Ａ】
2018516030.tif 000003
【図１Ｂ】
2018516030.tif 000004
【図１Ｃ】
2018516030.tif 000005
【図２Ａ】
2018516030.tif 000006
【図２Ｂ−１】
2018516030.tif 000007
【図２Ｂ−２】
2018516030.tif 000008
【図２Ｃ】
2018516030.tif 000009
【図３Ａ】
2018516030.tif 000010
【図３Ｂ】
2018516030.tif 000011
【手続補正書】
【提出日】平成30年1月5日(2018.1.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザを特定する個人データを身分証明書から取得する工程であって、ユーザアクセス可能インタフェースをサポートする装置によって実行される工程と、
ハッシュアルゴリズムを用いて前記個人データからハッシュ値を生成する工程と、
公開鍵と対の秘密鍵を用いて作成されるデジタル署名で前記ハッシュ値に署名する工程と、
ネットワークを介して、前記装置から分散公開データベースに前記署名されたハッシュ値および前記公開鍵を格納のために送信する工程と、
前記ネットワークを介して、前記分散公開データベースからトランザクション番号を受信する工程と、
前記ユーザアクセス可能インタフェース用いて、前記トランザクション番号および前記個人データを第三者に検証のために送信する工程と
を含む方法。
【請求項２】
前記公開鍵を用いて前記個人データを暗号化し、前記暗号化された個人データを前記装置に格納する工程をさらに含む、請求項１に記載の方法。
【請求項３】
前記装置が、スマートフォン、タブレット、または電子装置のうちの１つである、請求項１に記載の方法。
【請求項４】
前記分散公開データベースが、複数のエンティティからデータを格納のために受信するブロックチェーンであり、格納のために受信される前記データが、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成され、前記ブロックチェーンに格納される以後のデータが、前記ブロックチェーンに格納された以前のデータに依存し続けるため、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録が、前記ブロックチェーンに格納されたデータが変更不可能であることを保証する、請求項１に記載の方法。
【請求項５】
前記身分証明書が、運転免許証、パスポート、職員バッジ、軍人身分証明書、または政治的な身分証明書のうちの１つである、請求項１に記載の方法。
【請求項６】
前記取得する工程が、デジタルカメラ、スキャナ、スマートフォン、キーボード、タッチスクリーン、音声認識、手書き認識、またはこれらのうちの２つ以上の組み合わせを用いて実行される、請求項１に記載の方法。
【請求項７】
前記個人データの少なくとも一部が、バーコードまたはＱＲコードで符号化される、請求項１に記載の方法。
【請求項８】
ユーザを特定する個人データを身分証明書から受信する工程であって、前記個人データが、ユーザアクセス可能インタフェースをサポートする第１の装置で受信される工程と、
ハッシュアルゴリズムを用いて前記個人データからハッシュ値を作成する工程と、
第１の公開鍵と対の第１の秘密鍵を用いて作成されるデジタル署名で前記ハッシュ値に署名する工程と、
ネットワークを介して、前記第１の装置から分散公開データベースに前記署名されたハッシュ値および前記第１の公開鍵を格納のために送信する工程と、
前記分散公開データベースから第１のトランザクション番号を受信する工程と、
前記第１のトランザクション番号および前記個人データを第２の装置に送信する工程であって、
前記第２の装置のロジックが、
前記第１のトランザクション番号を使用して、前記分散公開データベースから前記署名されたハッシュ値および前記第１の公開鍵を検索し、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成し、
前記署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証し、
前記署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証し、
証明書を作成する
工程と
を含む方法。
【請求項９】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項８に記載の方法。
【請求項１０】
前記証明書が、前記第２の装置上の第２の公開鍵と対の第２の秘密鍵で署名される、請求項９に記載の方法。
【請求項１１】
前記署名された認証記録が、ネットワークを介して前記分散公開データベースに格納のために送信される、請求項１０に記載の方法。
【請求項１２】
前記分散公開データベースからの第２のトランザクション番号が、前記第２の装置によって受信される、請求項１１に記載の方法。
【請求項１３】
前記装置の各々が、スマートフォン、タブレット、または電子装置のうちの１つである、請求項８に記載の方法。
【請求項１４】
前記分散公開データベースが、複数のエンティティからデータを格納のために受信するブロックチェーンであり、格納のために受信される前記データが、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成され、前記ブロックチェーンに格納される以後のデータが、前記ブロックチェーンに格納された以前のデータに依存し続けるため、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録が、前記ブロックチェーンに格納されたデータが変更不可能であることを保証する、請求項８に記載の方法。
【請求項１５】
前記個人データの少なくとも一部が、バーコードまたはＱＲコードで符号化される、請求項８に記載の方法。
【請求項１６】
第１の装置で、第２の装置から送信される第１のトランザクション番号および個人データを受信する工程であって、前記第１のトランザクション番号が、署名されたハッシュ値と、前記第２の装置上の第１の秘密鍵に関連する第１の公開鍵との、前記第２の装置からの送信に応答して分散公開データベースから受信されたものであり、前記署名されたハッシュ値が、前記第１の秘密鍵でハッシュ値に署名することによって作成されたものであり、前記ハッシュ値が、前記第２の装置でハッシュアルゴリズムを用いて前記個人データをハッシュすることによって生成されたものである工程と、
前記第１のトランザクション番号を使用して、前記分散公開データベースから前記署名されたハッシュ値および前記第１の公開鍵を検索する工程と、
前記ハッシュアルゴリズムを用いて前記個人データをハッシュして、生成されたハッシュ値を作成する工程と、
前記検索された署名されたハッシュ値の前記ハッシュ値が前記生成されたハッシュ値と同じであることを検証する工程と、
前記検索された署名されたハッシュ値が前記第１の秘密鍵で署名されたことを検証する工程と、
証明書を作成する工程と
を含む方法。
【請求項１７】
前記証明書が、前記第１のトランザクション番号と、前記個人データまたは前記個人データの選択されたフィールドとを含む、請求項１６に記載の方法。
【請求項１８】
前記証明書が、前記第１の装置上の第２の秘密鍵で署名される、請求項１６に記載の方法。
【請求項１９】
前記署名された認証記録が、ネットワークを介して前記分散公開データベースに格納のために送信される、請求項１６に記載の方法。
【請求項２０】
前記分散公開データベースからの第２のトランザクション番号が、前記第１の装置によって受信される、請求項１６に記載の方法。
【請求項２１】
前記分散公開データベースが、複数のエンティティからデータを格納のために受信するブロックチェーンであり、格納のために受信される前記データが、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録を生成するように処理されるよう構成され、前記ブロックチェーンに格納される以後のデータが、前記ブロックチェーンに格納された以前のデータに依存し続けるため、前記ブロックチェーンに格納された以前のデータに依存するトランザクション記録が、前記ブロックチェーンに格納されたデータが変更不可能であることを保証する、請求項１６に記載の方法。
【請求項２２】
前記装置が、スマートフォン、タブレット、または電子装置のうちの１つである、請求項１６に記載の方法。
【請求項２３】
前記身分証明書が、運転免許証、パスポート、職員バッジ、軍人身分証明書、または政治的な身分証明書のうちの１つである、請求項１６に記載の方法。
【請求項２４】
前記受信する工程が、デジタルカメラ、スキャナ、スマートフォン、キーボード、タッチスクリーン、音声認識、手書き認識、またはこれらのうちの２つ以上の組み合わせを用いて実行される、請求項１６に記載の方法。
【請求項２５】
前記個人データの少なくとも一部が、バーコードまたはＱＲコードで符号化される、請求項１６に記載の方法。
【請求項２６】
前記受信する工程が、バーコードまたはＱＲコードをスキャンすることを含む、請求項１６に記載の方法。
【国際調査報告】
2018516030.tif 000012
2018516030.tif 000013
2018516030.tif 000014