(57)【要約】【課題】簡易に導入でき、パスワード等の入力を不要とする信頼性の高い認証方法、認証装置、コンピュータプログラム及びシステムの製造方法を提供する。【解決手段】被認証者に係る第１装置と、認証者に係る第２装置との間で認証を行なう認証方法は、分散型データベースネットワークシステムを用い、前記第２装置は、前記第１装置の秘密鍵情報に基づくアドレスへのトークンの帰属を、前記分散型データベースネットワークシステムの複数の処理ノードによって確認できるか否かにより前記第１装置を認証する。【選択図】図１８
2019154055.tif 000002
【特許請求の範囲】
【請求項１】
被認証者に係る第１装置と、認証者に係る第２装置との間で認証を行なう認証方法において、
相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが秘密鍵情報に基づくアドレスに、アドレス間で移転が可能なデジタル資産である所定の種類のトークンが帰属することを記録するためのトランザクションを帰属元に対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成された分散型データベースネットワークシステムを用い、
前記第２装置は、前記第１装置の秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記分散型データベースネットワークシステムの前記複数の処理ノードによって確認できるか否かにより前記第１装置を認証する認証方法。
【請求項２】
前記トークンの帰属は、前記第１装置の秘密鍵情報に基づくアドレス毎のトークン取引履歴を開示するスマートコントラクトによって確認される
請求項１に記載の認証方法。
【請求項３】
前記第２装置は、
前記第１装置から認証要求に対して任意のデータを指定する指定情報を前記第１装置へ送信し、
前記第１装置にて前記指定情報が指定する前記データに対して付与される前記秘密鍵情報に基づく電子署名を受信し、
前記認証要求に対応する前記第１装置の秘密鍵情報に基づくアドレスに基づき前記第１装置の公開鍵情報を導出し、
導出された公開鍵情報を用い、受信した前記電子署名が正当であり、且つ、前記第１装置の前記アドレスに、前記トークンが帰属していることを確認できるか否かにより前記第１装置を認証する
請求項１又は２に記載の認証方法。
【請求項４】
前記第２装置は、前記指定情報により指定されるデータに時間制限を付与する
請求項３に記載の認証方法。
【請求項５】
相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが秘密鍵情報に基づくアドレスに、アドレス間で移転が可能なデジタル資産である所定の種類のトークンが帰属することを記録するためのトランザクションを帰属元に対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成された分散型データベースネットワークシステムとの間で情報を送受信する通信部と、
認証要求に対し、要求元の秘密鍵情報に基づくアドレス秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記分散型データベースネットワークシステムの前記複数の処理ノードによって確認できるか否かにより前記要求元を認証する認証部と
を備える認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証方法、認証装置、コンピュータプログラム及びシステムの製造方法に関する。
【背景技術】
【０００２】
昨今では、通信端末装置を用いて多様なサービスをＷｅｂベースで受けることができる。サービスを享受するユーザを特定するために、サインアップ時に登録したユーザ識別情報（ＩＤ）と、なりすましを防ぐためのパスワードとを用いる認証が広く行なわれている。ユーザＩＤとパスワードとを用いる認証では、ユーザ自身もパスワードの漏洩に注意が必要である。パスワードの管理が煩雑であることによって、安易なパスワードの設定の誘因となり得る。特許文献１に開示されているように生体情報などを用いてパスワードの入力を省略するなどの方法も採られているが、精度の高い生体情報の読み取り用デバイスを多数の通信端末装置に導入することは困難である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０１８３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザ自身でユーザＩＤ及びパスワードの漏洩を防ぐことのみならず、サービス提供者側でもユーザＩＤ及び生体情報を含むパスワードを含む機密情報を安全に管理しなければならない。サービス提供者側でユーザの機密情報を集約して管理する場合、ハッキング、オペレーションミス等のサービス提供者側の責任範囲によって情報漏洩、若しくは資産の流出が発生するリスクが存在する。実際に数百から数千万件規模の機密情報がサービス提供者側から漏洩する事例も数多く報告され、重大な社会問題となっている。
【０００５】
昨今では、通信端末装置で享受できるサービスは、FinTech関連技術によりネットバンキングのみならずユーザの多様な資産の管理を請け負うものが増加している。機密情報漏えいのリスクはサービス提供者及びそのユーザのみの問題にとどまらず、経済全体への影響が大きい。資産管理に関するオンラインサービスについて、その利便性の高さを阻害することなくこれらのリスクを軽減する技術の提供が重要な課題となっている。
【０００６】
本発明は斯かる事情を鑑みてなされたものであり、簡易に導入でき、パスワード等の入力を不要とする信頼性の高い認証方法、認証装置、コンピュータプログラム及びシステムの製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の認証方法は、被認証者に係る第１装置と、認証者に係る第２装置との間で認証を行なう認証方法において、相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが秘密鍵情報に基づくアドレスに、アドレス間で移転が可能なデジタル資産である所定の種類のトークンが帰属することを記録するためのトランザクションを帰属元に対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成された分散型データベースネットワークシステムを用い、前記第２装置は、前記第１装置の秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記分散型データベースネットワークシステムの前記複数の処理ノードによって確認できるか否かにより前記第１装置を認証する。
【０００８】
本開示の認証方法では、前記トークンの帰属は、前記第１装置の秘密鍵情報に基づくアドレス毎のトークン取引履歴を開示するスマートコントラクトによって確認される。
【０００９】
本開示の認証方法では、前記第２装置は、前記指定情報により指定されるデータに時間制限を付与してもよい。
【００１０】
本開示の認証方法では、前記第２装置は、前記第１装置から認証要求に対して任意のデータを指定する指定情報を前記第１装置へ送信し、前記第１装置にて前記指定情報が指定する前記データに対して付与される前記秘密鍵情報に基づく電子署名を受信し、前記認証要求に対応する前記第１装置の秘密鍵情報に基づくアドレスに基づき前記第１装置の公開鍵情報を導出し、導出された公開鍵情報を用い、受信した前記電子署名が正当であり、且つ、前記第１装置の前記アドレスに、前記トークンが帰属していることを確認できるか否かにより前記第１装置を認証する。
【００１１】
本開示の認証装置は、相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが秘密鍵情報に基づくアドレスに、アドレス間で移転が可能なデジタル資産である所定の種類のトークンが帰属することを記録するためのトランザクションを帰属元に対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成された分散型データベースネットワークシステムとの間で情報を送受信する通信部と、認証要求に対し、要求元の秘密鍵情報に基づくアドレス秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記分散型データベースネットワークシステムの前記複数の処理ノードによって確認できるか否かにより前記要求元を認証する認証部とを備える。
【００１２】
本開示の一実施形態では、複数の処理ノード及び記憶媒体で構成され、演算結果を複数の記憶媒体に分散して情報を保持する分散型データベースネットワーク、所謂Blockchainと呼ばれるシステムを用いて認証が行なわれる。分散型データベースネットワークでは、各ノードが所定のデジタル情報（例えば仮想通貨など）の帰属を記録するための記録情報、所謂トランザクションを、帰属元に対応する秘密鍵情報から得られる電子署名に基づいて検証及び承認する演算を行なう。
【００１３】
したがって分散型データベースネットワークにトランザクションを送出でき、デジタル情報の帰属元となり得る「もの」（モノ又は人）は、「もの」自体と、「もの」を識別する識別情報との間の紐付けが立証できれば、正当性が十分に保証されると言える。ここで分散型データベースネットワークでは、デジタル情報の帰属元である「もの」の識別情報、所謂アドレスは数列（英数字）により表されて不特定多数に公開され、識別情報単体で流通可能である。識別情報がその「もの」に帰属していることを証明する多様な方法と併せることで堅牢な認証が実現される。
【００１４】
本開示の一実施形態では、識別情報がその「もの」に帰属していることを証明する方法として例えば、同じ識別情報を導出できるか否かで秘密鍵情報を記憶しているか否かを証明でき、これにより帰属を証明してもよい。導出できるか否かは所謂アドレスである識別情報のみならず、電子署名でもよい。秘密鍵情報を記憶している場合にのみ作成できる情報であれば、デジタル／アナログを問わない。秘密鍵情報を記憶している被認証者だけが回答できるキーワードであってもよいし、被認証者だけが作成できる画像であってもよいし、被認証者だけが正答できる課題であってもよい。
【００１５】
本開示の一実施形態では例えば具体的には、認証装置側から被認証装置へ指定されたデータについて、被認証装置の秘密鍵情報に基づき作成された電子署名が、被認証装置の公開鍵情報に基づき正当であると確認できるか否かという認証と、被認証装置のアドレス対応付けられているデジタル資産が存在するか否かが確認される。被認証装置がデジタル資産を正当に所有していることが確認できるのであれば、被認証者は正当に手続きを行なうことができるものであると言える。これにより、被認証装置からのユーザＩＤ及びパスワードなしに、そして秘密鍵の流通なしに認証が可能である。電子署名の正当性の確認は、認証装置自身が行なわなくとも、分散型データベースネットワークにおける特定の処理ノード、即ちコントラクトで実行するようにしてもよい。
【００１６】
本開示の一実施形態では、電子署名に基づく検証及び承認を用い、認証装置側から被認証装置へデジタル資産を移動させ、そのデジタル資産が再度、被認証装置から認証装置へ戻るトランザクションの繋がりを確認できるのであれば、被認証者は正当に手続きを行なうことができるものであると言える。これにより、被認証装置からのユーザＩＤ及びパスワードなしに、そして秘密鍵の流通なしに認証が可能である。
【００１７】
本開示の一実施形態では、記録情報でデジタル情報の移動を記述するスクリプトにて、デジタル情報の移動を決定する権限に対し期限を設定することが可能である。
【００１８】
本開示の一実施形態では、記録情報でデジタル情報の移動を記述するスクリプトにて、デジタル情報の移動を決定する権限に対し、電子署名のみならず所定のパスワードを加えることが可能である。
【発明の効果】
【００１９】
本開示の認証方法によれば、被認証装置は秘密鍵さえ安全に保持しておけば、ユーザＩＤパスワードの入力を不要となる。秘密鍵に基づく電子署名を用いた記録情報の検証及び承認は、分散型データベースネットワークにて多数で確かめ合いながら実行されるので、信頼性が高い。被認証装置では、記録情報の作成及び電子署名の付与の処理を実行できればよいので、認証が必要なサービスを提供するためのコンピュータプログラムに組み込むことが容易であり、サービスへの導入が簡易である。
【図面の簡単な説明】
【００２０】
【図１】本開示の認証システムにおける認証方法の概要を示す説明図である。
【図２】端末装置の構成を示すブロック図である。
【図３】分散型ＤＢネットワークのノードに対応する処理装置の構成を示すブロック図である。
【図４】認証サーバ装置の構成を示すブロック図である。
【図５】実施の形態１における認証の処理手順の一例を示すシーケンス図である。
【図６】初期状態を示す説明図である。
【図７】認証サーバ装置にて生成されるトランザクションの内容例を示す図である。
【図８】署名付与後のトランザクションの内容例を示す図である。
【図９】認証サーバ装置からのトランザクションの送信後の状態を示す図である。
【図１０】認証サーバ装置からのトランザクションの送信後の状態を示す図である。
【図１１】端末装置にて生成されるトランザクションの内容例を示す図である。
【図１２】署名付与後のトランザクションの内容例を示す図である。
【図１３】端末装置からのトランザクションの送信後の状態を示す図である。
【図１４】端末装置からのトランザクションの送信後の状態を示す図である。
【図１５】分散型ＤＢネットワークにおける認証用トークンの流れを示す図である。
【図１６】時間制限の設定を含むスクリプトの内容例を示す説明図である。
【図１７】ワンタイムパスワードのスクリプトの内容例を示す説明図である。
【図１８】実施の形態２における認証の処理手順の一例を示すシーケンス図である。
【図１９】実施の形態３における認証の処理手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２１】
以下、本開示に係る認証システムについて、実施の形態を示す図面に基づいて説明する。
【００２２】
図１は、本開示の認証システム１００における認証方法の概要を示す説明図である。認証システム１００は、端末装置１、認証サーバ装置２、及び分散型ＤＢネットワーク３を含む。端末装置１、認証サーバ装置２及び分散型ＤＢネットワーク３はネットワークＮを介して相互に通信接続が可能である。
【００２３】
分散型ＤＢネットワーク３は、各々が記憶媒体及びプロセッサを備える複数の処理装置が相互に通信接続し、１又は複数の処理装置でノードを構成し、ノード間で各々が記憶媒体に記憶している情報の検証を行なって構成される。分散型ＤＢネットワーク３は、所謂分散型台帳であって例えばBlockchainと呼ばれるものであってもよい。
【００２４】
認証システム１００は、ネットワークＮを含む。ネットワークＮは、所謂インターネットである公衆通信網、キャリア事業者が提供するキャリアネットワーク、無線通信ネットワーク等を含む。分散型ＤＢネットワーク３における各ノード（ノードを構成する処理装置３００）は、ネットワークＮを介して互いにデータを送受信してもよいし、直接的にデータを送受信しあってもよい。
【００２５】
本開示の認証システム１００では、端末装置１自身、又は端末装置１を使用しているユーザを、分散型ＤＢネットワーク３におけるトークンの存在に基づき認証する。端末装置１は、端末装置１自身が記憶している、又はユーザが記憶している分散型ＤＢネットワーク３における秘密情報に基づき、分散型ＤＢネットワーク３上のトークンを自身に帰属させたり、他者へ帰属させたりすることができる。この帰属はトランザクションに明記され、そのトランザクションはノードにより、端末装置１に係る秘密鍵情報に基づいて検証済みである。分散型ＤＢネットワーク３にトランザクションの記録を実現でき、デジタル情報の帰属元となり得る端末装置１又はそのユーザは、端末装置１自身又はユーザ自身が、分散型ＤＢネットワーク３上のアドレス（ウォレットアドレス）の正当な所有者であることが立証できれば、分散型ＤＢネットワーク３における検証と重ねてその正当性が十分に保証されると言える。
【００２６】
以下、分散型ＤＢネットワーク３におけるアドレスが端末装置１又は端末装置１のユーザ自身のものであることを立証する多様な方法を用いて、本開示の認証システム１００について複数の実施の形態を挙げて説明する。なお以下の実施の形態は全ての点において例示である。
【００２７】
（実施の形態１）
実施の形態１の認証方法では、認証サーバ装置２が、分散型ＤＢネットワーク３で管理されるトークンの受け渡しに係るトランザクションを利用して、端末装置１からの認証要求に対して認証処理を実行する。このとき端末装置１及び認証サーバ装置２は夫々、秘密鍵に基づき作成される分散型ＤＢネットワーク３におけるアドレス（ウォレットアドレス）を用いて処理を行なう。認証サーバ装置２はアドレスに対応付けて認証用に用いるトークン（例えば最小単位である１satoshi ）を保持している。認証サーバ装置２は、この認証用のトークンのトランザクションの送信に必要な電子署名の正当性を分散型ＤＢネットワーク３で検証することを用い、電子署名を付した端末装置１の認証を行なう。
【００２８】
図２は、端末装置１の構成を示すブロック図である。端末装置１は、パーソナルコンピュータ、スマートフォン又はタブレット端末などの通信端末装置であり、処理部１０、記憶部１１、通信部１２、表示部１３及び操作部１４を備える。
【００２９】
処理部１０は、ＣＰＵ（Central Processing Unit ）、ＧＰＵ（Graphics Processing Unit）等のプロセッサと、メモリ等を用いる。なお処理部１０は、プロセッサ、メモリ、更には記憶部１１及び通信部１２を集積した１つのハードウェア（ＳｏＣ：System On a Chip）として構成されていてもよい。処理部１０のメモリには、秘密鍵に基づくアドレス、公開鍵等が少なくとも一時的に記憶される。処理部１０は、記憶部１１に記憶されているアプリプログラム１Ｐに基づき、認証処理を後述する手順により実行する。なおアプリプログラム１Ｐは、後述する認証処理部分を組み込んだユーザが利用する他のサービス用のプログラムである。
【００３０】
記憶部１１はフラッシュメモリを用い、アプリプログラム１Ｐを始めとする処理部１０が参照するプログラム、データが記憶される。アプリプログラム１Ｐは汎用的な端末装置１を、実施の形態１の被認証装置（prover）として機能させる。なお上述の秘密鍵は記憶部１１に記憶されてもよいが、別途他の記憶媒体（ＵＳＢメモリ、二次元バーコード、画像化されて出力可能とされたもの、ユーザ自身の記憶等も含む）に記憶されてあり、処理部１０が該記憶媒体から秘密鍵に基づく公開鍵、アドレス、又は秘密鍵自体を一時的に読み取り可能であることが望ましい。
【００３１】
通信部１２は、ネットワークＮへの通信接続を実現する通信モジュールである。通信部１２は、ネットワークカード、無線通信デバイス又はキャリア通信用モジュールを用いる。
【００３２】
表示部１３は液晶パネル又は有機ＥＬディスプレイ等のディスプレイ装置を用いる。操作部１４は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、ディスプレイ内蔵のタッチパネルデバイス、スピーカ及びマイクロフォン等を用いる。操作部１４は、物理ボタン又はタッチパネルにて表示部１３で表示している画面上で操作を受け付けてもよいし、マイクロフォンにて入力音声から操作内容を認識し、スピーカで出力する音声との対話形式で操作を受け付けてもよい。
【００３３】
図３は、分散型ＤＢネットワーク３のノードに対応する処理装置３００の構成を示すブロック図である。処理装置３００は、処理部３０、記憶部３１、及び通信部３２を備える。処理装置３００は、サーバコンピュータであってもよいし、デスクトップ型又はラップトップ型パーソナルコンピュータであってもよいし、スマートフォン等の通信端末機器であってもよい。また処理装置３００は、少なくとも処理部３０及び通信部３２を備える装置であれば、処理部３０の一部によってノードの一部又は全部を構成することができる。
【００３４】
処理部３０は、ＣＰＵ、ＧＰＵ等のプロセッサと、メモリ等を用いる。処理部３０は、プロセッサ、メモリ、更には記憶部３１及び通信部３２を集積した１つのハードウェアとして構成されていてもよい。処理部３０のメモリには、処理装置３００夫々独自に所有する秘密鍵が記憶されているとよい。そして処理部３０は、記憶部３１に記憶されているノードプログラムに基づいた各処理を実行し、汎用コンピュータを分散型ＤＢネットワーク３におけるノードとして機能させる。
【００３５】
記憶部３１は、ハードディスク又はフラッシュメモリを用い処理部３０が参照するプログラム、データを記憶する。上述の秘密鍵は記憶部３１に記憶されてもよい。記憶部３１は、秘密鍵に基づく公開鍵及びアドレスを記憶する。
【００３６】
通信部３２は、処理装置３００の相互通信を実現する通信モジュールである。通信部３２は、ネットワークカード、光通信用デバイス、又は無線通信デバイス等を用いる。
【００３７】
図４は、認証サーバ装置２の構成を示すブロック図である。認証サーバ装置２は、サーバコンピュータを用い、処理部２０、記憶部２１、及び通信部２２を備える。
【００３８】
処理部２０は、ＣＰＵ、ＧＰＵ等のプロセッサと、メモリ等を用いる。処理部２０は、記憶部２１に記憶されている認証プログラム２Ｐに基づき、端末装置１からの認証要求を受け付けて後述する認証処理を実行する。認証プログラム２Ｐは汎用的なサーバコンピュータを、実施の形態１の認証装置（verifier）として機能させる。
【００３９】
記憶部２１は、ハードディスク又はフラッシュメモリを用い、認証プログラム２Ｐを始めとする処理部２０が参照するプログラム、データを記憶する。認証サーバ装置２側でも秘密鍵に基づくアドレス、公開鍵を用いるので記憶部２１にて秘密鍵を記憶してもよいが、端末装置１同様、別途他の記憶媒体に記憶しておき、処理部２０が該記憶媒体から秘密鍵に基づく公開鍵、アドレス、又は秘密鍵自体を一時的に読み取り可能であることが望ましい。
【００４０】
通信部２２は、ネットワークＮへの通信接続を実現する通信モジュールである。通信部２２は、ネットワークカード、無線通信デバイス又はキャリア通信用モジュールを用いる。
【００４１】
このようなハードウェア構成を有する認証システム１００にて、実行される処理について説明する。図５は、実施の形態１における認証の処理手順の一例を示すシーケンス図である。
【００４２】
端末装置１の処理部１０は予め、分散型ＤＢネットワーク３における秘密鍵を生成しておき（ステップＳ１０１）、生成した秘密鍵に１対１で対応するアドレスを生成する（ステップＳ１０２）。
【００４３】
認証サーバ装置２側でも予め処理部２０にて分散型ＤＢネットワーク３における秘密鍵を生成しておき（ステップＳ２０１）、生成した秘密鍵に基づいてアドレスを生成し、記憶しておく（ステップＳ２０２）。なおステップＳ２０２は、認証要求を受信する都度アドレスを生成してもよい。そして処理部２０は、認証用のトークンを分散型ＤＢネットワーク３上における自身のアドレスに対して保持している。
【００４４】
端末装置１の処理部１０は、ステップＳ１０２で生成したアドレスを含む認証要求を、通信部１２から認証サーバ装置２へ送信する（ステップＳ１０３）。
【００４５】
認証サーバ装置２では、通信部２２により認証要求を受信する（ステップＳ２０３）。これにより、認証処理が開始される。処理部２０は、自身のアドレスから、受信した認証要求に含まれるアドレス即ち端末装置１のアドレスへ、認証用トークンを送信するトランザクションを生成する（ステップＳ２０４）。処理部２０は、生成したトランザクションに、自身の秘密鍵に基づく電子署名を付与し（ステップＳ２０５）、生成したトランザクションを分散型ＤＢネットワーク３へ送信し（ステップＳ２０６）、これと共に認証用トークンの情報を端末装置１へ送信する（ステップＳ２０７）。
【００４６】
分散型ＤＢネットワーク３では、いずれかのノードで認証サーバ装置２から送信されたトランザクションを受信すると（ステップＳ３０１）、受信されたトランザクションを各ノードで検証及び承認する（ステップＳ３０２）。ステップＳ３０２のトランザクションの検証及び承認は、トランザクションに含まれる署名に基づく正当性と、トランザクションに含まれるハッシュ等による前の取引との整合性とを検証する処理と、複数のノード間でこれらの結果について合意する処理とを含む。これにより、認証用トークンが、認証サーバ装置２の秘密鍵に基づくアドレスから、認証要求元の端末装置１の秘密鍵に基づくアドレスへ移動したこととなる。
【００４７】
端末装置１では、通信部１２が認証サーバ装置２から送信された認証用トークンの情報を受信すると（ステップＳ１０４）、処理部１０が自身のアドレスから認証サーバ装置２の秘密鍵情報に基づくアドレスへ認証用トークンを送信するトランザクションを生成する（ステップＳ１０５）。処理部１０は、生成したトランザクションに、自身の秘密鍵に基づく電子署名を書き込み（ステップＳ１０６）、生成したトランザクションを分散型ＤＢネットワーク３へ送信し（ステップＳ１０７）、これと共に認証用トークンの情報を認証サーバ装置２へ送信する（ステップＳ１０８）。
【００４８】
分散型ＤＢネットワーク３では、いずれかのノードで端末装置１から送信されたトランザクションを受信すると（ステップＳ３０３）、受信されたトランザクションを各ノードで検証及び承認する（ステップＳ３０４）。ステップＳ３０４のトランザクションの検証及び承認により、認証用トークンが、認証要求元の端末装置１の秘密鍵に基づくアドレスから、認証サーバ装置２の秘密鍵に基づくアドレスへ移動、即ち戻ったことになる。
【００４９】
認証サーバ装置２では、通信部２２にて端末装置１から送信された認証用トークンの情報を受信すると（ステップＳ２０８）、処理部２０は、認証用トークンが自身のアドレス宛に送信されたことを分散型ＤＢネットワーク３にて確認する（ステップＳ２０９）。処理部２０は、確認ができたか否かによる認証結果を通信部２２から端末装置１へ送信する（ステップＳ２１０）。
【００５０】
端末装置１にて認証結果を受信し（ステップＳ１０９）、認証処理を終了する。
【００５１】
図５のシーケンス図に示した処理手順について、図面を参照して詳細を説明する。図６は、初期状態を示す説明図である。初期状態とは、端末装置１から認証要求が認証サーバ装置２へ送信される前の認証システム１００の状態を示す。なお説明を容易にするため、図中では端末装置１を被認証者（Prover）として「Ａ」と呼び、認証サーバ装置２を認証者（Verifier）として「Ｂ」と記している。ステップＳ１０２及びステップＳ２０２の後の初期状態において、端末装置１及び認証サーバ装置２は夫々、分散型ＤＢネットワーク３に対し秘密鍵に基づくアドレス（図中ではＡのアドレス：「1KfpsrWCRBSZ8...」、Ｂのアドレス：「18Wk9BL4NW5vk...」）を生成して記憶している。そして認証サーバ装置２では、図６に示すように自身のアドレスに対応付けて、認証用トークン、即ち認証用のＵＴＸＯ（未使用のトランザクションアウトプット）を分散型ＤＢネットワーク３に保持している。認証用のＵＴＸＯには、出力用のスクリプトとして、自身のアドレスに対応する公開鍵のハッシュ等のロックスクリプト（OP_DUP OP_HASH160 <B's pub key hash> OP_EQUALVERIFY OP_CHECKSIG ）を含む。なお図６及び図７以降に示すトランザクションのスクリプトは、ビットコインのプロトコルに基づく。
【００５２】
図７は、認証サーバ装置２にて生成されるトランザクションの内容例を示す図である。図７に示すように、ステップＳ２０４で生成されるトランザクション（図７中、符号txA にて示す）にはまず、出力（ouput）に、端末装置１（Ａ）から通知された端末装置１の秘密鍵情報に基づくアドレスに対応する公開鍵のハッシュが送信先を参照する情報として出力（output）に含まれている。そしてトランザクションtxA には、認証サーバ装置２（Ｂ）のアドレスに対応付けられていたＵＴＸＯに基づき入力（input）に情報（取引ハッシュ、インデックス等）が含まれる（図示せず）。なおこの時点で、入力用のスクリプトの内の署名部分は他の情報（認証サーバ装置２の公開鍵のハッシュ）で仮置きされる。
【００５３】
図８は、署名付与後のトランザクションtxA の内容例を示す図である。図８に示すように、ステップＳ２０５の署名付与によりトランザクションtxA には、署名前のトランザクションTxA （図７）のハッシュから認証サーバ装置２の秘密鍵に基づき作成される電子署名（B's signature ）と、認証サーバ装置２の秘密鍵に基づく公開鍵（B's pub key ）とが付与されている。この電子署名により、このトランザクションTxA の作成者が認証サーバ装置２であることが証明される。
【００５４】
図９は、認証サーバ装置２からのトランザクションtxA の送信後の状態を示す図である。認証サーバ装置２から送信されたトランザクションtxA は、分散型ＤＢネットワーク３にてブロードキャストされる。また認証サーバ装置２は、端末装置１へ送付した認証用トークンを特定するための特定情報として、トランザクションＩＤ（tx id ）及びトランザクションＩＤで特定されるトランザクションtxA 中の出力を特定するための出力インデックス（output index）を図９に示すように送信する。これにより端末装置１は、自身のアドレスに対応付けられている認証用ＵＴＸＯを特定できるようになる。
【００５５】
図１０は、認証サーバ装置２からのトランザクションtxA の送信後の状態を示す図である。図９に示した認証サーバ装置２からのトランザクションtxA が分散型ＤＢネットワーク３にて検証及び承認される（Ｓ３０２）。これにより端末装置１（Ａ）のアドレスに、認証用トークン、即ち認証用のＵＴＸＯ（未使用のトランザクションアウトプット）が分散型ＤＢネットワーク３上で対応付けられる（移動する）。認証用のＵＴＸＯは、トランザクションtxA の出力に対応する。
【００５６】
図１１は、端末装置１にて生成されるトランザクションの内容例を示す図である。端末装置１は、認証サーバ装置２から送信された認証用トークンの情報を受信（Ｓ１０４）したことにより、図１０に示した認証用ＵＴＸＯを特定し、これにより送り主の認証サーバ装置２のアドレス（公開鍵）も特定できる。端末装置１の処理部１０は、図１１に示すようにトランザクション（図１１中、符号txB にて示す）を生成する（ステップＳ１０５）。ここで生成されるトランザクションtxB にはまず、認証サーバ装置２のアドレスに対応する公開鍵のハッシュが送信先を参照する情報として出力に含まれている。そしてトランザクションtxB の入力には、特定された認証用ＵＴＸＯからの情報（トランザクションtxA のハッシュ、tx id 等）が含まれる（図示せず）。なおこの時点でも、入力用のスクリプトの内の署名部分は他の情報（端末装置１の公開鍵のハッシュ）で仮置きされる。
【００５７】
図１２は、署名付与後のトランザクションtxB の内容例を示す図である。図１２に示すように、ステップＳ１０６の署名付与の処理によりトランザクションtxB には、署名前のトランザクションTxB （図１１）のハッシュから端末装置１の秘密鍵に基づき作成される電子署名（A's signature ）と、端末装置１の秘密鍵に基づく公開鍵（A's pub key ）とが付与されている。この電子署名により、このトランザクションTxB の作成者が端末装置１であることが証明される。
【００５８】
図１３は、端末装置１からのトランザクションtxB の送信後の状態を示す図である。端末装置１から送信されたトランザクションtxB は、分散型ＤＢネットワーク３にてブロードキャストされる。また端末装置１は、認証サーバ装置２へ送付した認証用トークンを特定するための特定情報として、トランザクションＩＤ（tx id ）及びトランザクションＩＤで特定されるトランザクションtxB 中の出力を特定するための出力インデックス（output index）を図１３に示すように送信する。これにより認証サーバ装置２は、自身のアドレスに対応付けられている認証用ＵＴＸＯを特定できるようになる。
【００５９】
図１４は、端末装置１からのトランザクションtxB の送信後の状態を示す図である。図１３に示した端末装置１からのトランザクションtxB が分散型ＤＢネットワーク３にて検証及び承認される（Ｓ３０４）。これにより認証サーバ装置２（Ｂ）のアドレスに、認証用トークン、即ち認証用のＵＴＸＯが分散型ＤＢネットワーク３上で再び対応付けられる（移動する）。認証用のＵＴＸＯは、トランザクションtxB の出力に対応する。
【００６０】
図１５は、分散型ＤＢネットワーク３における認証用トークンの流れを示す図である。図１５に示すように、認証サーバ装置２のアドレスに対応付けられている認証用ＵＴＸＯのトランザクションでは、いずれの出力を入力として使用したかの情報が含まれるため、トランザクションチェーンを辿ることで、最初に認証サーバ装置２自身が送信した認証用ＵＴＸＯと繋がったＵＴＸＯであるか否かにより、確認処理を行なうことができる。
【００６１】
このように、端末装置１はサービスを利用するために必要な認証を受ける際に、ログイン情報を入力する必要はない。認証サーバ装置２で、１つの端末装置１のアドレスに対して認証に成功した場合、アプリプログラム１Ｐのサービス提供者側でアドレスとユーザＩＤとの対応を記憶しておいてもよい。この場合、端末装置１にてアプリプログラム１Ｐに基づくサービスの利用中に認証が必要な状態となる都度、処理部１０がステップＳ１０３の認証要求の送信からステップＳ１０９までの処理を実行すればよく、ログイン情報（ユーザＩＤ及びパスワード）は不要である。サービス提供者にてユーザＩＤとアドレスとの対応が漏洩したとしても、これらの情報から端末装置１の秘密鍵を算出することは極めて困難であるから、端末装置１及び認証サーバ装置２側で秘密鍵が安全に管理されていればよく、リスクを低減することができる。これによりサービス提供者はユーザの機密情報を管理することなくユーザ認証を行なうことができる。また端末装置１側からトランザクションとして送信される情報は、秘密鍵そのものではなくあくまで電子署名であり、また秘密鍵を入力するような操作は不要であり、秘密鍵が外部に漏えいする可能性を低減できる。
【００６２】
処理部１０は、アプリプログラム１Ｐを起動する都度、端末装置自身の秘密鍵に基づきステップＳ１０２にてアドレスを生成し直し、認証を行なうようにしてもよい。この場合も秘密鍵に基づくステップＳ１０２からＳ１０９を実行すればよく、ユーザが何らかの入力操作を行なう必要がない。なお認証用トークンは認証処理を行なう上では資産として扱われていないので、秘密鍵さえも、認証が必要な状態となる都度に生成してもよい。
【００６３】
また実施の形態１で説明したように、サービス提供者はアプリプログラム１Ｐを、上述した処理（Ｓ１０１からＳ１０９）を実行する部分を組み込んで実装すればよく、認証方式の導入が容易である。認証の検証プロセスは、分散型ＤＢネットワーク３にて実行され、認証用トークンの移動も自動的に記録処理がなされる。サービス提供者は低コストでこの認証方式をサービスに取り込むことが可能である。
【００６４】
なお、本開示の認証方法では、認証の時間制限を設けることも可能である。図１６は、時間制限の設定を含むスクリプトの内容例を示す説明図である。認証サーバ装置２（Ｂ）は、ステップＳ２０４で端末装置１（Ａ）を相手とするトランザクションtxA を作成するに際し、図１６に示すように出力に、一定時間内に端末装置１（Ａ）が認証用トークンを返さない場合に、自身の署名で認証用トークンを回収できるようにしておくことができる。このトランザクションtxA の出力（認証用トークン）は、一定時間内は端末装置１（Ａ）の署名スクリプト（A's signature, A's pub key, OP_TRUE）がなければ動かすことができないが、一定時間が経過した後は、認証サーバ装置２（Ｂ）の署名スクリプト（B's signature, B's pub key, OP_FALSE）によって動かすことができる認証用ＵＴＸＯとなる。なお図１６中におけるスクリプト<num> は時間制限の長さであり、[TIMEOUTTOP]はOP_CHECKLOCKTIMEVERIFY又はOP_CHECKSEQUENCEVERIFYに置き換えられる。
【００６５】
本開示の認証方法では、ワンタイムパスワードを加えることができる。図１７は、ワンタイムパスワードのスクリプトの内容例を示す説明図である。認証サーバ装置２（Ｂ）は、ステップＳ２０４で端末装置１（Ａ）を相手とするトランザクションtxA を作成するに際し、図１７に示すように出力に、予め別の手段で端末装置１（Ａ）と共有しておいたワンタイムパスワードのハッシュを含める。これにより、端末装置１（Ａ）でワンタイムパスワードも正確に署名スクリプトに含めない限り、出力できない認証用ＵＴＸＯとなる。なお図１７中におけるスクリプト[HASHOP]は、OP_HASH160又はOP_HASH256に置き換えられる。
【００６６】
（実施の形態２）
分散型ＤＢネットワーク３を用いてより簡素化した認証方法が実現できる。実施の形態２における認証システム１００の構成は、認証方法の詳細が異なる点以外、即ち端末装置１、認証サーバ装置２、及び分散型ＤＢネットワーク３のハードウェア構成は、実施の形態１と同様であるので、共通する構成について同一の符号を付して詳細な説明を省略する。
【００６７】
実施の形態２の認証方法において認証サーバ装置２は、実施の形態１に示したトークンの受け渡しを行なわずとも、端末装置１自身が分散型ＤＢネットワーク３におけるトークンの所有者であることが確認できれば、正当であるとして認証を行なう。トークンの移動を伴わなくとも同様にして、分散型ＤＢネットワーク３におけるトークンの存在を用いた認証が可能である。
【００６８】
実施の形態２では、端末装置１が分散型ＤＢネットワーク３におけるトークンの所有者であることが証明できるように、自身のアドレスに対応するトランザクションが分散型ＤＢネットワーク３に記録されていることが前提として、以下の処理が行なわれる。図１８は、実施の形態２における認証の処理手順の一例を示すシーケンス図である。なお図１８のシーケンス図に示す処理手順の内、図５に示した実施の形態１における処理手順と共通する手順については、同一のステップ番号を付して詳細な説明を省略する。
【００６９】
認証サーバ装置２にて通信部２２により端末装置１のアドレスを含む認証要求が受信されると（Ｓ２０３）、認証処理が開始される。処理部２０は、任意のデータ（文字列、文書データ等）を指定する指定情報を端末装置１のアドレスへ送信する（ステップＳ２１４）。ステップＳ２１４にて処理部２０は、任意のデータ自体を送信してもよいが、認証サーバ装置２及び端末装置１が共通にアクセス可能なデータであればよく、これを指定する情報であることが好ましい。
【００７０】
端末装置１では、通信部１２が認証サーバ装置２から送信された指定情報を受信し、処理部１０は指定情報に基づき指定されたデータを特定する（ステップＳ１１４）。処理部１０は、特定したデータに対し、自身の秘密鍵を用いた電子署名を作成し（ステップＳ１１５）、作成した電子署名を認証サーバ装置２へ送信する（ステップＳ１１６）。
【００７１】
認証サーバ装置２では、通信部２２が電子署名を受信すると（Ｓ２１５）、処理部２０は、認証の対象である端末装置１のアドレス、即ちステップＳ２０３で受信した認証要求に含まれるアドレスに基づいて公開鍵情報を導出する（ステップＳ２１６）。処理部２０は、導出した公開鍵情報を用いてステップＳ２１５にて受信済みの電子署名を復号し、指定データのハッシュ値と照合する等の検証を行なう（ステップＳ２１７）。
【００７２】
実施の形態２では、処理部２０は更に、端末装置１のアドレスに対応付けたトークンが分散型ＤＢネットワーク３上に存在することを確認する（ステップＳ２１８）。分散型ＤＢネットワーク３において、アドレスに対応付けて諸々のデジタル資産であるトークンの帰属が公開されているのでこれを確認すればよい。処理部２０は、確認ができたか否かによる認証結果を通信部２２から端末装置１へ送信し（Ｓ２１０）、端末装置１にて認証結果を受信し（Ｓ１０９）、認証処理を終了する。
【００７３】
このように、分散型ＤＢネットワーク３におけるトークンの帰属を用いた認証方法は、簡素化が可能である。秘密鍵情報に基づくトランザクション処理によって何らかのトークンの帰属が確認できれば、その秘密鍵情報に基づきデータ（実施の形態２では電子署名）を作成できれば正当であるとして認証が可能である。
【００７４】
（実施の形態３）
実施の形態３における認証システム１００の構成は、認証方法の詳細が異なる点以外、即ち端末装置１、認証サーバ装置２、及び分散型ＤＢネットワーク３のハードウェア構成は、実施の形態１と同様であるので共通する構成について同一の符号を付して詳細な説明を省略する。
【００７５】
実施の形態３の認証方法においては実施の形態２同様に、認証サーバ装置２は、トークンの受け渡しを行なわず、分散型ＤＢネットワーク３におけるトークンの存在を用いて認証する。ただし認証サーバ装置２が直接的に被認証者である端末装置１からの情報について検証を行なわず、分散型ＤＢネットワーク３における処理装置３００（ノード）にてこれを実行する。
【００７６】
実施の形態３における処理装置３００の機能を示す機能ブロック図である。実施の形態３において処理装置３００の一部又は全部は、分散型ＤＢネットワーク３へ送出されるトークンの移転に関するトランザクションに対し、公開鍵情報及びトランザクション中の電子署名を用いた検証を行なう機能（トークンコントラクト）として機能する。更に処理装置３００の一部又は全部は、所謂スマートコントラクトの一種として、認証に係る情報に対する特定の処理を行なう特定のノード（認証コントラクト）として機能する。特定の処理は後述するように（図１９参照）、電子署名についての検証である。
【００７７】
図１９は、実施の形態３における認証の処理手順の一例を示すシーケンス図である。図１９のシーケンス図に示す処理手順の内、図１８に示した実施の形態２における処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
【００７８】
被認証者である端末装置１に関しては認証要求の送信（Ｓ１０３）に先立ち、自身のアドレスを用いたトークンの取引（単なる記録でもよい）が分散型ＤＢネットワーク３に送出されて記録されている（ステップＳ１３１）。トークンは、分散型ＤＢネットワーク３におけるデジタル情報であればよく、認証用のトークンであってもよいし、所謂仮想通貨、暗号通貨と呼ばれる通貨であってもよい。ステップＳ１３１の実行主体は、被認証者である端末装置１自身でなくともよく、例えば他の端末装置１が、被認証者である端末装置１へ向けてトークンを帰属させるトランザクションを送出させていてもよい。
【００７９】
認証者である認証サーバ装置２は、通信部２２により端末装置１のアドレスを含む認証要求を受信し（Ｓ２０３）、これにより認証処理を開始する。処理部２０は認証処理が開始されると、任意のデータ（文字列、文書データ等）と被認証者である端末装置１のアドレスを認証コントラクトとして機能する特定ノードへ送信し（ステップＳ２２１）、指定情報を端末装置１のアドレスへも送信する（Ｓ２１４）。
【００８０】
分散型ＤＢネットワーク３において認証コントラクトは、認証サーバ装置２から送信された指定情報及び端末装置１のアドレスを受信し、受信した指定情報により指定されるデータと、端末装置１のアドレスとを対応付けて分散型ＤＢネットワーク３に記録（書き込み）する（ステップＳ３１１）。
【００８１】
被認証者である端末装置１で処理部１０は指定情報を受信し、指定されたデータを分散型ＤＢネットワーク３にて特定する（Ｓ１１４）。処理部１０は、特定したデータに対し、自身の秘密鍵を用いた電子署名を作成し（Ｓ１１５）、作成した電子署名を分散型ＤＢネットワーク３の認証コントラクトに向けて送信する（ステップＳ１２６）。このとき電子署名は、ステップＳ１０３の認証要求に含まれている端末装置１のアドレス情報でなく、他のアドレス情報に対応するものであってもよい。ただし同一の秘密鍵情報に基づくアドレス（ハッシュ値）である。
【００８２】
分散型ＤＢネットワーク３において認証コントラクトは、端末装置１から送信された電子署名を受信する（ステップＳ３１２）。認証コントラクトとして処理装置３００の処理部３０は、事前に分散型ＤＢネットワーク３にて登録されている電子署名送信元の端末装置１のアドレスを取得する（ステップＳ３１３）。認証コントラクトとして処理部３０は、取得したアドレスに基づいて端末装置１の公開鍵情報を導出する（ステップＳ３１４）。処理部３０は認証コントラクトとして、導出した公開鍵情報を用いてステップＳ３１３にて受信済みの電子署名を復号し、指定データのハッシュ値と照合する等の検証を行なう（ステップＳ３１５）。処理部３０は、正当である場合には被認証者である端末装置１についての検証結果を分散型ＤＢネットワーク３に記録する（ステップＳ３１６）。判断結果は、正当か否かのフラグ等、何らかの数値又は論理値でよい。
【００８３】
認証サーバ装置２では処理部２０が指定情報を送信してから所定のタイミング（例えば一定期間経過後、又は被認証者からの通知）にて、ステップＳ２０３で受信した端末装置１のアドレスに対応付けられたトークンが分散型ＤＢネットワーク３上に存在することを確認する（ステップＳ２２２）。分散型ＤＢネットワーク３において、アドレスに対応付けて諸々のデジタル資産であるトークンの帰属が公開されているのでこれを確認すればよい。分散型ＤＢネットワーク３のトークンコントラクトにて、アドレス毎のトークン取引履歴をまとめて開示するようにしてもよい。処理部２０は更に、分散型ＤＢネットワーク３にて端末装置１の正当性についての検証結果が分散型ＤＢネットワーク３上に記録されているのでこれを確認する（ステップＳ２２３）。処理部２０は、ステップＳ２２２及びステップＳ２２３の２つでの確認ができたか否かによる認証結果を通信部２２から端末装置１へ送信し（Ｓ２１０）、端末装置１にて認証結果を受信し（Ｓ１０９）、認証処理を終了する。
【００８４】
このようにして認証者の認証サーバ装置２自身が被認証者である端末装置１との間で電子署名、指定データ等の情報を直接的にやり取りせずとも、電子署名等の検証をも分散型ＤＢネットワーク３内で行なうようにしてもよい。
【００８５】
実施の形態１から３では、トークンの移転、電子署名の送受信によってトークンに明確に紐づいている識別情報が端末装置１又はそのユーザと対応していることを証明した。その他多様な方法が考えられ得る。例えば同じハッシュ値を導出できるか否かで秘密鍵情報を記憶しているか否かを証明することも可能である。秘密鍵情報を記憶している場合にのみ作成できる情報であれば、デジタル又はアナログを問わない。秘密鍵情報を記憶している端末装置１又はそのユーザだけが回答できるキーワードであってもよいし、そのものだけが作成できる画像であってもよいし、端末装置１又はそのユーザだけが正答できる課題であってもよい。また、分散型ＤＢネットワーク３におけるトークンのアドレスに対応する帰属についても、認証時点で帰属していることが確認できずとも、過去一定の期間内に帰属していたことが確認できた場合、過去所定回数以上のトークンの移転取引が確認できた場合には、確認できたと判断されるようにしてもよい。
【００８６】
開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８７】
１  端末装置（第１装置）
１０  処理部
２  認証サーバ装置（第２装置）
２０  処理部
３  分散型ＤＢネットワーク（分散型データベースネットワーク）
３００  処理装置
３０  処理部
【図１】
2019154055.tif 000003
【図２】
2019154055.tif 000004
【図３】
2019154055.tif 000005
【図４】
2019154055.tif 000006
【図５】
2019154055.tif 000007
【図６】
2019154055.tif 000008
【図７】
2019154055.tif 000009
【図８】
2019154055.tif 000010
【図９】
2019154055.tif 000011
【図１０】
2019154055.tif 000012
【図１１】
2019154055.tif 000013
【図１２】
2019154055.tif 000014
【図１３】
2019154055.tif 000015
【図１４】
2019154055.tif 000016
【図１５】
2019154055.tif 000017
【図１６】
2019154055.tif 000018
【図１７】
2019154055.tif 000019
【図１８】
2019154055.tif 000020
【図１９】
2019154055.tif 000021