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

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

▶ シビラ株式会社の特許一覧

<>
  • 特許-認証方法及び認証装置 図1
  • 特許-認証方法及び認証装置 図2
  • 特許-認証方法及び認証装置 図3
  • 特許-認証方法及び認証装置 図4
  • 特許-認証方法及び認証装置 図5
  • 特許-認証方法及び認証装置 図6
  • 特許-認証方法及び認証装置 図7
  • 特許-認証方法及び認証装置 図8
  • 特許-認証方法及び認証装置 図9
  • 特許-認証方法及び認証装置 図10
  • 特許-認証方法及び認証装置 図11
  • 特許-認証方法及び認証装置 図12
  • 特許-認証方法及び認証装置 図13
  • 特許-認証方法及び認証装置 図14
  • 特許-認証方法及び認証装置 図15
  • 特許-認証方法及び認証装置 図16
  • 特許-認証方法及び認証装置 図17
  • 特許-認証方法及び認証装置 図18
  • 特許-認証方法及び認証装置 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-04
(45)【発行日】2024-01-15
(54)【発明の名称】認証方法及び認証装置
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240105BHJP
   G06F 21/31 20130101ALI20240105BHJP
   G09C 1/00 20060101ALI20240105BHJP
【FI】
H04L9/32 200Z
H04L9/32 200B
G06F21/31
G09C1/00 640E
【請求項の数】 8
(21)【出願番号】P 2019083133
(22)【出願日】2019-04-24
(62)【分割の表示】P 2018099913の分割
【原出願日】2018-05-24
(65)【公開番号】P2019154055
(43)【公開日】2019-09-12
【審査請求日】2021-05-18
【審判番号】
【審判請求日】2023-03-13
(73)【特許権者】
【識別番号】516293484
【氏名又は名称】シビラ株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】藤井 隆嗣
(72)【発明者】
【氏名】流郷 俊彦
(72)【発明者】
【氏名】佐藤 基起
【合議体】
【審判長】吉田 美彦
【審判官】須田 勝巳
【審判官】稲垣 良一
(56)【参考文献】
【文献】米国特許出願公開第2017/0317997(US,A1)
【文献】米国特許出願公開第2016/0127134(US,A1)
【文献】東角 芳樹 ほか,コンソーシアムチェーンにおける証明書管理に関する一考察,2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集 [USB],日本,2017年 暗号と情報セキュリティシンポジウム実行,2017年01月24日,1F2-3,p.1-4
【文献】淵田 康之,特集:イノベーションと金融 ブロックチェーンと金融取引の革新,野村資本市場クォータリー,日本,株式会社野村資本市場研究所,2015年11月01日,第19巻第2号(通巻74号),p.11-35
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F21/64
(57)【特許請求の範囲】
【請求項1】
被認証者に係る第1装置と、認証者に係る第2装置との間で認証を行なう認証方法において、
相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが、秘密鍵情報に基づくアドレスを、アドレス間で移転が可能なデジタル資産である所定の種類のトークンの帰属先であることを記録するためのトランザクションを前記帰属先のアドレスに対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成されたブロックチェーンシステムを用い、
前記第1装置が前記第2装置へ認証要求を送信した場合、
前記認証要求を受信した前記第2装置が、前記第1装置へ任意のデータを指定する指定情報を送信し、
前記指定情報を受信した前記第1装置は、前記指定情報が指定する任意のデータに対し、第1装置の秘密情報に基づく演算結果であるデータを作成して前記第2装置へ送信し、
前記第2装置は、前記データの検証と、前記第1装置の秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記ブロックチェーンシステムの前記複数の処理ノードを介して確認できるか否かとによって、前記第1装置を認証する
認証方法。
【請求項2】
前記トークンは、前記第1装置及び第2装置以外の他の装置から前記第1装置へ、認証以外の目的で移転されたものである
請求項1に記載の認証方法。
【請求項3】
前記トークンは、非暗号通貨である
請求項1に記載の認証方法。
【請求項4】
前記トークンの帰属は、前記第1装置の秘密鍵情報に基づくアドレス毎のトークン取引履歴を開示するスマートコントラクトを介して確認される
請求項1から請求項のいずれか1項に記載の認証方法。
【請求項5】
前記第2装置は、前記指定情報により指定されるデータに時間制限を付与する
請求項1から請求項のいずれか1項に記載の認証方法。
【請求項6】
前記複数の処理ノードの内の特定ノードは、前記第1装置の秘密鍵情報に基づくアドレスの指定を受け付け、前記第1装置によるトークン取引履歴を出力し、
前記第2装置は、出力されたトークン取引履歴から前記トークンの帰属を確認する
請求項1から請求項のいずれか1項に記載の認証方法。
【請求項7】
前記データの検証、又は前記電子署名の検証は、前記ブロックチェーンシステムに実装される認証コントラクトによって実行する
請求項1から請求項のいずれか1項に記載の認証方法。
【請求項8】
相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが、秘密鍵情報に基づくアドレスを、アドレス間で移転が可能なデジタル資産である所定の種類のトークンの帰属先であることを記録するためのトランザクションを前記帰属先のアドレスに対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成されたブロックチェーンシステムとの間で情報を送受信する通信部と、
認証要求に対して要求元の装置へ任意のデータを指定する指定情報を送信し、
前記要求元から、前記指定情報が指定する任意のデータに対する前記要求元の秘密情報に基づく前記要求元での演算結果であるデータを受信して検証し、
検証の実行結果と、前記要求元の秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記ブロックチェーンシステムの前記複数の処理ノードを介して確認できるか否かとにより前記要求元を認証する認証部と
を備える認証装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証方法及び認証装置に関する。
【背景技術】
【0002】
昨今では、通信端末装置を用いて多様なサービスをWebベースで受けることができる。サービスを享受するユーザを特定するために、サインアップ時に登録したユーザ識別情報(ID)と、なりすましを防ぐためのパスワードとを用いる認証が広く行なわれている。ユーザIDとパスワードとを用いる認証では、ユーザ自身もパスワードの漏洩に注意が必要である。パスワードの管理が煩雑であることによって、安易なパスワードの設定の誘因となり得る。特許文献1に開示されているように生体情報などを用いてパスワードの入力を省略するなどの方法も採られているが、精度の高い生体情報の読み取り用デバイスを多数の通信端末装置に導入することは困難である。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-018331号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザ自身でユーザID及びパスワードの漏洩を防ぐことのみならず、サービス提供者側でもユーザID及び生体情報を含むパスワードを含む機密情報を安全に管理しなければならない。サービス提供者側でユーザの機密情報を集約して管理する場合、ハッキング、オペレーションミス等のサービス提供者側の責任範囲によって情報漏洩、若しくは資産の流出が発生するリスクが存在する。実際に数百から数千万件規模の機密情報がサービス提供者側から漏洩する事例も数多く報告され、重大な社会問題となっている。
【0005】
昨今では、通信端末装置で享受できるサービスは、FinTech関連技術によりネットバンキングのみならずユーザの多様な資産の管理を請け負うものが増加している。機密情報漏えいのリスクはサービス提供者及びそのユーザのみの問題にとどまらず、経済全体への影響が大きい。資産管理に関するオンラインサービスについて、その利便性の高さを阻害することなくこれらのリスクを軽減する技術の提供が重要な課題となっている。
【0006】
本発明は斯かる事情を鑑みてなされたものであり、簡易に導入でき、パスワード等の入力を不要とする信頼性の高い認証方法及び認証装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の認証方法は、被認証者に係る第1装置と、認証者に係る第2装置との間で認証を行なう認証方法において、相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが秘密鍵情報に基づくアドレスに、アドレス間で移転が可能なデジタル資産である所定の種類のトークンが帰属することを記録するためのトランザクションを帰属元に対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成された分散型データベースネットワークシステムを用い、前記第2装置は、前記第1装置の秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記分散型データベースネットワークシステムの前記複数の処理ノードによって確認できるか否かにより前記第1装置を認証する。
【0008】
本開示の認証方法では、前記トークンの帰属は、前記第1装置の秘密鍵情報に基づくアドレス毎のトークン取引履歴を開示するスマートコントラクトによって確認される。
【0009】
本開示の認証方法では、前記第2装置は、前記指定情報により指定されるデータに時間制限を付与してもよい。
【0010】
本開示の認証方法では、前記第2装置は、前記第1装置から認証要求に対して任意のデータを指定する指定情報を前記第1装置へ送信し、前記第1装置にて前記指定情報が指定する前記データに対して付与される前記秘密鍵情報に基づく電子署名を受信し、前記認証要求に対応する前記第1装置の秘密鍵情報に基づくアドレスに基づき前記第1装置の公開鍵情報を導出し、導出された公開鍵情報を用い、受信した前記電子署名が正当であり、且つ、前記第1装置の前記アドレスに、前記トークンが帰属していることを確認できるか否かにより前記第1装置を認証する。
【0011】
本開示の認証装置は、相互にネットワークを介して接続された複数の処理ノード及び記憶媒体で構成され、前記複数の処理ノードが秘密鍵情報に基づくアドレスに、アドレス間で移転が可能なデジタル資産である所定の種類のトークンが帰属することを記録するためのトランザクションを帰属元に対応する秘密鍵情報から得られる電子署名に基づき検証及び承認する演算を夫々行ない、前記演算の結果を複数の記憶媒体に分散して情報を保持するように構成された分散型データベースネットワークシステムとの間で情報を送受信する通信部と、認証要求に対し、要求元の秘密鍵情報に基づくアドレス秘密鍵情報に基づくアドレスへの前記トークンの帰属を、前記分散型データベースネットワークシステムの前記複数の処理ノードによって確認できるか否かにより前記要求元を認証する認証部とを備える。
【0012】
本開示の一実施形態では、複数の処理ノード及び記憶媒体で構成され、演算結果を複数の記憶媒体に分散して情報を保持する分散型データベースネットワーク、所謂Blockchainと呼ばれるシステムを用いて認証が行なわれる。分散型データベースネットワークでは、各ノードが所定のデジタル情報(例えば仮想通貨など)の帰属を記録するための記録情報、所謂トランザクションを、帰属元に対応する秘密鍵情報から得られる電子署名に基づいて検証及び承認する演算を行なう。
【0013】
したがって分散型データベースネットワークにトランザクションを送出でき、デジタル情報の帰属元となり得る「もの」(モノ又は人)は、「もの」自体と、「もの」を識別する識別情報との間の紐付けが立証できれば、正当性が十分に保証されると言える。ここで分散型データベースネットワークでは、デジタル情報の帰属元である「もの」の識別情報、所謂アドレスは数列(英数字)により表されて不特定多数に公開され、識別情報単体で流通可能である。識別情報がその「もの」に帰属していることを証明する多様な方法と併せることで堅牢な認証が実現される。
【0014】
本開示の一実施形態では、識別情報がその「もの」に帰属していることを証明する方法として例えば、同じ識別情報を導出できるか否かで秘密鍵情報を記憶しているか否かを証明でき、これにより帰属を証明してもよい。導出できるか否かは所謂アドレスである識別情報のみならず、電子署名でもよい。秘密鍵情報を記憶している場合にのみ作成できる情報であれば、デジタル/アナログを問わない。秘密鍵情報を記憶している被認証者だけが回答できるキーワードであってもよいし、被認証者だけが作成できる画像であってもよいし、被認証者だけが正答できる課題であってもよい。
【0015】
本開示の一実施形態では例えば具体的には、認証装置側から被認証装置へ指定されたデータについて、被認証装置の秘密鍵情報に基づき作成された電子署名が、被認証装置の公開鍵情報に基づき正当であると確認できるか否かという認証と、被認証装置のアドレス対応付けられているデジタル資産が存在するか否かが確認される。被認証装置がデジタル資産を正当に所有していることが確認できるのであれば、被認証者は正当に手続きを行なうことができるものであると言える。これにより、被認証装置からのユーザID及びパスワードなしに、そして秘密鍵の流通なしに認証が可能である。電子署名の正当性の確認は、認証装置自身が行なわなくとも、分散型データベースネットワークにおける特定の処理ノード、即ちコントラクトで実行するようにしてもよい。
【0016】
本開示の一実施形態では、電子署名に基づく検証及び承認を用い、認証装置側から被認証装置へデジタル資産を移動させ、そのデジタル資産が再度、被認証装置から認証装置へ戻るトランザクションの繋がりを確認できるのであれば、被認証者は正当に手続きを行なうことができるものであると言える。これにより、被認証装置からのユーザID及びパスワードなしに、そして秘密鍵の流通なしに認証が可能である。
【0017】
本開示の一実施形態では、記録情報でデジタル情報の移動を記述するスクリプトにて、デジタル情報の移動を決定する権限に対し期限を設定することが可能である。
【0018】
本開示の一実施形態では、記録情報でデジタル情報の移動を記述するスクリプトにて、デジタル情報の移動を決定する権限に対し、電子署名のみならず所定のパスワードを加えることが可能である。
【発明の効果】
【0019】
本開示の認証方法によれば、被認証装置は秘密鍵さえ安全に保持しておけば、ユーザIDパスワードの入力を不要となる。秘密鍵に基づく電子署名を用いた記録情報の検証及び承認は、分散型データベースネットワークにて多数で確かめ合いながら実行されるので、信頼性が高い。被認証装置では、記録情報の作成及び電子署名の付与の処理を実行できればよいので、認証が必要なサービスを提供するためのコンピュータプログラムに組み込むことが容易であり、サービスへの導入が簡易である。
【図面の簡単な説明】
【0020】
図1】本開示の認証システムにおける認証方法の概要を示す説明図である。
図2】端末装置の構成を示すブロック図である。
図3】分散型DBネットワークのノードに対応する処理装置の構成を示すブロック図である。
図4】認証サーバ装置の構成を示すブロック図である。
図5】実施の形態1における認証の処理手順の一例を示すシーケンス図である。
図6】初期状態を示す説明図である。
図7】認証サーバ装置にて生成されるトランザクションの内容例を示す図である。
図8】署名付与後のトランザクションの内容例を示す図である。
図9】認証サーバ装置からのトランザクションの送信後の状態を示す図である。
図10】認証サーバ装置からのトランザクションの送信後の状態を示す図である。
図11】端末装置にて生成されるトランザクションの内容例を示す図である。
図12】署名付与後のトランザクションの内容例を示す図である。
図13】端末装置からのトランザクションの送信後の状態を示す図である。
図14】端末装置からのトランザクションの送信後の状態を示す図である。
図15】分散型DBネットワークにおける認証用トークンの流れを示す図である。
図16】時間制限の設定を含むスクリプトの内容例を示す説明図である。
図17】ワンタイムパスワードのスクリプトの内容例を示す説明図である。
図18】実施の形態2における認証の処理手順の一例を示すシーケンス図である。
図19】実施の形態3における認証の処理手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【0021】
以下、本開示に係る認証システムについて、実施の形態を示す図面に基づいて説明する。
【0022】
図1は、本開示の認証システム100における認証方法の概要を示す説明図である。認証システム100は、端末装置1、認証サーバ装置2、及び分散型DBネットワーク3を含む。端末装置1、認証サーバ装置2及び分散型DBネットワーク3はネットワークNを介して相互に通信接続が可能である。
【0023】
分散型DBネットワーク3は、各々が記憶媒体及びプロセッサを備える複数の処理装置が相互に通信接続し、1又は複数の処理装置でノードを構成し、ノード間で各々が記憶媒体に記憶している情報の検証を行なって構成される。分散型DBネットワーク3は、所謂分散型台帳であって例えばBlockchainと呼ばれるものであってもよい。
【0024】
認証システム100は、ネットワークNを含む。ネットワークNは、所謂インターネットである公衆通信網、キャリア事業者が提供するキャリアネットワーク、無線通信ネットワーク等を含む。分散型DBネットワーク3における各ノード(ノードを構成する処理装置300)は、ネットワークNを介して互いにデータを送受信してもよいし、直接的にデータを送受信しあってもよい。
【0025】
本開示の認証システム100では、端末装置1自身、又は端末装置1を使用しているユーザを、分散型DBネットワーク3におけるトークンの存在に基づき認証する。端末装置1は、端末装置1自身が記憶している、又はユーザが記憶している分散型DBネットワーク3における秘密情報に基づき、分散型DBネットワーク3上のトークンを自身に帰属させたり、他者へ帰属させたりすることができる。この帰属はトランザクションに明記され、そのトランザクションはノードにより、端末装置1に係る秘密鍵情報に基づいて検証済みである。分散型DBネットワーク3にトランザクションの記録を実現でき、デジタル情報の帰属元となり得る端末装置1又はそのユーザは、端末装置1自身又はユーザ自身が、分散型DBネットワーク3上のアドレス(ウォレットアドレス)の正当な所有者であることが立証できれば、分散型DBネットワーク3における検証と重ねてその正当性が十分に保証されると言える。
【0026】
以下、分散型DBネットワーク3におけるアドレスが端末装置1又は端末装置1のユーザ自身のものであることを立証する多様な方法を用いて、本開示の認証システム100について複数の実施の形態を挙げて説明する。なお以下の実施の形態は全ての点において例示である。
【0027】
(実施の形態1)
実施の形態1の認証方法では、認証サーバ装置2が、分散型DBネットワーク3で管理されるトークンの受け渡しに係るトランザクションを利用して、端末装置1からの認証要求に対して認証処理を実行する。このとき端末装置1及び認証サーバ装置2は夫々、秘密鍵に基づき作成される分散型DBネットワーク3におけるアドレス(ウォレットアドレス)を用いて処理を行なう。認証サーバ装置2はアドレスに対応付けて認証用に用いるトークン(例えば最小単位である1satoshi )を保持している。認証サーバ装置2は、この認証用のトークンのトランザクションの送信に必要な電子署名の正当性を分散型DBネットワーク3で検証することを用い、電子署名を付した端末装置1の認証を行なう。
【0028】
図2は、端末装置1の構成を示すブロック図である。端末装置1は、パーソナルコンピュータ、スマートフォン又はタブレット端末などの通信端末装置であり、処理部10、記憶部11、通信部12、表示部13及び操作部14を備える。
【0029】
処理部10は、CPU(Central Processing Unit )、GPU(Graphics Processing Unit)等のプロセッサと、メモリ等を用いる。なお処理部10は、プロセッサ、メモリ、更には記憶部11及び通信部12を集積した1つのハードウェア(SoC:System On a Chip)として構成されていてもよい。処理部10のメモリには、秘密鍵に基づくアドレス、公開鍵等が少なくとも一時的に記憶される。処理部10は、記憶部11に記憶されているアプリプログラム1Pに基づき、認証処理を後述する手順により実行する。なおアプリプログラム1Pは、後述する認証処理部分を組み込んだユーザが利用する他のサービス用のプログラムである。
【0030】
記憶部11はフラッシュメモリを用い、アプリプログラム1Pを始めとする処理部10が参照するプログラム、データが記憶される。アプリプログラム1Pは汎用的な端末装置1を、実施の形態1の被認証装置(prover)として機能させる。なお上述の秘密鍵は記憶部11に記憶されてもよいが、別途他の記憶媒体(USBメモリ、二次元バーコード、画像化されて出力可能とされたもの、ユーザ自身の記憶等も含む)に記憶されてあり、処理部10が該記憶媒体から秘密鍵に基づく公開鍵、アドレス、又は秘密鍵自体を一時的に読み取り可能であることが望ましい。
【0031】
通信部12は、ネットワークNへの通信接続を実現する通信モジュールである。通信部12は、ネットワークカード、無線通信デバイス又はキャリア通信用モジュールを用いる。
【0032】
表示部13は液晶パネル又は有機ELディスプレイ等のディスプレイ装置を用いる。操作部14は、ユーザの操作を受け付けるインタフェースであり、物理ボタン、ディスプレイ内蔵のタッチパネルデバイス、スピーカ及びマイクロフォン等を用いる。操作部14は、物理ボタン又はタッチパネルにて表示部13で表示している画面上で操作を受け付けてもよいし、マイクロフォンにて入力音声から操作内容を認識し、スピーカで出力する音声との対話形式で操作を受け付けてもよい。
【0033】
図3は、分散型DBネットワーク3のノードに対応する処理装置300の構成を示すブロック図である。処理装置300は、処理部30、記憶部31、及び通信部32を備える。処理装置300は、サーバコンピュータであってもよいし、デスクトップ型又はラップトップ型パーソナルコンピュータであってもよいし、スマートフォン等の通信端末機器であってもよい。また処理装置300は、少なくとも処理部30及び通信部32を備える装置であれば、処理部30の一部によってノードの一部又は全部を構成することができる。
【0034】
処理部30は、CPU、GPU等のプロセッサと、メモリ等を用いる。処理部30は、プロセッサ、メモリ、更には記憶部31及び通信部32を集積した1つのハードウェアとして構成されていてもよい。処理部30のメモリには、処理装置300夫々独自に所有する秘密鍵が記憶されているとよい。そして処理部30は、記憶部31に記憶されているノードプログラムに基づいた各処理を実行し、汎用コンピュータを分散型DBネットワーク3におけるノードとして機能させる。
【0035】
記憶部31は、ハードディスク又はフラッシュメモリを用い処理部30が参照するプログラム、データを記憶する。上述の秘密鍵は記憶部31に記憶されてもよい。記憶部31は、秘密鍵に基づく公開鍵及びアドレスを記憶する。
【0036】
通信部32は、処理装置300の相互通信を実現する通信モジュールである。通信部32は、ネットワークカード、光通信用デバイス、又は無線通信デバイス等を用いる。
【0037】
図4は、認証サーバ装置2の構成を示すブロック図である。認証サーバ装置2は、サーバコンピュータを用い、処理部20、記憶部21、及び通信部22を備える。
【0038】
処理部20は、CPU、GPU等のプロセッサと、メモリ等を用いる。処理部20は、記憶部21に記憶されている認証プログラム2Pに基づき、端末装置1からの認証要求を受け付けて後述する認証処理を実行する。認証プログラム2Pは汎用的なサーバコンピュータを、実施の形態1の認証装置(verifier)として機能させる。
【0039】
記憶部21は、ハードディスク又はフラッシュメモリを用い、認証プログラム2Pを始めとする処理部20が参照するプログラム、データを記憶する。認証サーバ装置2側でも秘密鍵に基づくアドレス、公開鍵を用いるので記憶部21にて秘密鍵を記憶してもよいが、端末装置1同様、別途他の記憶媒体に記憶しておき、処理部20が該記憶媒体から秘密鍵に基づく公開鍵、アドレス、又は秘密鍵自体を一時的に読み取り可能であることが望ましい。
【0040】
通信部22は、ネットワークNへの通信接続を実現する通信モジュールである。通信部22は、ネットワークカード、無線通信デバイス又はキャリア通信用モジュールを用いる。
【0041】
このようなハードウェア構成を有する認証システム100にて、実行される処理について説明する。図5は、実施の形態1における認証の処理手順の一例を示すシーケンス図である。
【0042】
端末装置1の処理部10は予め、分散型DBネットワーク3における秘密鍵を生成しておき(ステップS101)、生成した秘密鍵に1対1で対応するアドレスを生成する(ステップS102)。
【0043】
認証サーバ装置2側でも予め処理部20にて分散型DBネットワーク3における秘密鍵を生成しておき(ステップS201)、生成した秘密鍵に基づいてアドレスを生成し、記憶しておく(ステップS202)。なおステップS202は、認証要求を受信する都度アドレスを生成してもよい。そして処理部20は、認証用のトークンを分散型DBネットワーク3上における自身のアドレスに対して保持している。
【0044】
端末装置1の処理部10は、ステップS102で生成したアドレスを含む認証要求を、通信部12から認証サーバ装置2へ送信する(ステップS103)。
【0045】
認証サーバ装置2では、通信部22により認証要求を受信する(ステップS203)。これにより、認証処理が開始される。処理部20は、自身のアドレスから、受信した認証要求に含まれるアドレス即ち端末装置1のアドレスへ、認証用トークンを送信するトランザクションを生成する(ステップS204)。処理部20は、生成したトランザクションに、自身の秘密鍵に基づく電子署名を付与し(ステップS205)、生成したトランザクションを分散型DBネットワーク3へ送信し(ステップS206)、これと共に認証用トークンの情報を端末装置1へ送信する(ステップS207)。
【0046】
分散型DBネットワーク3では、いずれかのノードで認証サーバ装置2から送信されたトランザクションを受信すると(ステップS301)、受信されたトランザクションを各ノードで検証及び承認する(ステップS302)。ステップS302のトランザクションの検証及び承認は、トランザクションに含まれる署名に基づく正当性と、トランザクションに含まれるハッシュ等による前の取引との整合性とを検証する処理と、複数のノード間でこれらの結果について合意する処理とを含む。これにより、認証用トークンが、認証サーバ装置2の秘密鍵に基づくアドレスから、認証要求元の端末装置1の秘密鍵に基づくアドレスへ移動したこととなる。
【0047】
端末装置1では、通信部12が認証サーバ装置2から送信された認証用トークンの情報を受信すると(ステップS104)、処理部10が自身のアドレスから認証サーバ装置2の秘密鍵情報に基づくアドレスへ認証用トークンを送信するトランザクションを生成する(ステップS105)。処理部10は、生成したトランザクションに、自身の秘密鍵に基づく電子署名を書き込み(ステップS106)、生成したトランザクションを分散型DBネットワーク3へ送信し(ステップS107)、これと共に認証用トークンの情報を認証サーバ装置2へ送信する(ステップS108)。
【0048】
分散型DBネットワーク3では、いずれかのノードで端末装置1から送信されたトランザクションを受信すると(ステップS303)、受信されたトランザクションを各ノードで検証及び承認する(ステップS304)。ステップS304のトランザクションの検証及び承認により、認証用トークンが、認証要求元の端末装置1の秘密鍵に基づくアドレスから、認証サーバ装置2の秘密鍵に基づくアドレスへ移動、即ち戻ったことになる。
【0049】
認証サーバ装置2では、通信部22にて端末装置1から送信された認証用トークンの情報を受信すると(ステップS208)、処理部20は、認証用トークンが自身のアドレス宛に送信されたことを分散型DBネットワーク3にて確認する(ステップS209)。処理部20は、確認ができたか否かによる認証結果を通信部22から端末装置1へ送信する(ステップS210)。
【0050】
端末装置1にて認証結果を受信し(ステップS109)、認証処理を終了する。
【0051】
図5のシーケンス図に示した処理手順について、図面を参照して詳細を説明する。図6は、初期状態を示す説明図である。初期状態とは、端末装置1から認証要求が認証サーバ装置2へ送信される前の認証システム100の状態を示す。なお説明を容易にするため、図中では端末装置1を被認証者(Prover)として「A」と呼び、認証サーバ装置2を認証者(Verifier)として「B」と記している。ステップS102及びステップS202の後の初期状態において、端末装置1及び認証サーバ装置2は夫々、分散型DBネットワーク3に対し秘密鍵に基づくアドレス(図中ではAのアドレス:「1KfpsrWCRBSZ8...」、Bのアドレス:「18Wk9BL4NW5vk...」)を生成して記憶している。そして認証サーバ装置2では、図6に示すように自身のアドレスに対応付けて、認証用トークン、即ち認証用のUTXO(未使用のトランザクションアウトプット)を分散型DBネットワーク3に保持している。認証用のUTXOには、出力用のスクリプトとして、自身のアドレスに対応する公開鍵のハッシュ等のロックスクリプト(OP_DUP OP_HASH160 <B's pub key hash> OP_EQUALVERIFY OP_CHECKSIG )を含む。なお図6及び図7以降に示すトランザクションのスクリプトは、ビットコインのプロトコルに基づく。
【0052】
図7は、認証サーバ装置2にて生成されるトランザクションの内容例を示す図である。図7に示すように、ステップS204で生成されるトランザクション(図7中、符号txA にて示す)にはまず、出力(ouput)に、端末装置1(A)から通知された端末装置1の秘密鍵情報に基づくアドレスに対応する公開鍵のハッシュが送信先を参照する情報として出力(output)に含まれている。そしてトランザクションtxA には、認証サーバ装置2(B)のアドレスに対応付けられていたUTXOに基づき入力(input)に情報(取引ハッシュ、インデックス等)が含まれる(図示せず)。なおこの時点で、入力用のスクリプトの内の署名部分は他の情報(認証サーバ装置2の公開鍵のハッシュ)で仮置きされる。
【0053】
図8は、署名付与後のトランザクションtxA の内容例を示す図である。図8に示すように、ステップS205の署名付与によりトランザクションtxA には、署名前のトランザクションTxA (図7)のハッシュから認証サーバ装置2の秘密鍵に基づき作成される電子署名(B's signature )と、認証サーバ装置2の秘密鍵に基づく公開鍵(B's pub key )とが付与されている。この電子署名により、このトランザクションTxA の作成者が認証サーバ装置2であることが証明される。
【0054】
図9は、認証サーバ装置2からのトランザクションtxA の送信後の状態を示す図である。認証サーバ装置2から送信されたトランザクションtxA は、分散型DBネットワーク3にてブロードキャストされる。また認証サーバ装置2は、端末装置1へ送付した認証用トークンを特定するための特定情報として、トランザクションID(tx id )及びトランザクションIDで特定されるトランザクションtxA 中の出力を特定するための出力インデックス(output index)を図9に示すように送信する。これにより端末装置1は、自身のアドレスに対応付けられている認証用UTXOを特定できるようになる。
【0055】
図10は、認証サーバ装置2からのトランザクションtxA の送信後の状態を示す図である。図9に示した認証サーバ装置2からのトランザクションtxA が分散型DBネットワーク3にて検証及び承認される(S302)。これにより端末装置1(A)のアドレスに、認証用トークン、即ち認証用のUTXO(未使用のトランザクションアウトプット)が分散型DBネットワーク3上で対応付けられる(移動する)。認証用のUTXOは、トランザクションtxA の出力に対応する。
【0056】
図11は、端末装置1にて生成されるトランザクションの内容例を示す図である。端末装置1は、認証サーバ装置2から送信された認証用トークンの情報を受信(S104)したことにより、図10に示した認証用UTXOを特定し、これにより送り主の認証サーバ装置2のアドレス(公開鍵)も特定できる。端末装置1の処理部10は、図11に示すようにトランザクション(図11中、符号txB にて示す)を生成する(ステップS105)。ここで生成されるトランザクションtxB にはまず、認証サーバ装置2のアドレスに対応する公開鍵のハッシュが送信先を参照する情報として出力に含まれている。そしてトランザクションtxB の入力には、特定された認証用UTXOからの情報(トランザクションtxA のハッシュ、tx id 等)が含まれる(図示せず)。なおこの時点でも、入力用のスクリプトの内の署名部分は他の情報(端末装置1の公開鍵のハッシュ)で仮置きされる。
【0057】
図12は、署名付与後のトランザクションtxB の内容例を示す図である。図12に示すように、ステップS106の署名付与の処理によりトランザクションtxB には、署名前のトランザクションTxB (図11)のハッシュから端末装置1の秘密鍵に基づき作成される電子署名(A's signature )と、端末装置1の秘密鍵に基づく公開鍵(A's pub key )とが付与されている。この電子署名により、このトランザクションTxB の作成者が端末装置1であることが証明される。
【0058】
図13は、端末装置1からのトランザクションtxB の送信後の状態を示す図である。端末装置1から送信されたトランザクションtxB は、分散型DBネットワーク3にてブロードキャストされる。また端末装置1は、認証サーバ装置2へ送付した認証用トークンを特定するための特定情報として、トランザクションID(tx id )及びトランザクションIDで特定されるトランザクションtxB 中の出力を特定するための出力インデックス(output index)を図13に示すように送信する。これにより認証サーバ装置2は、自身のアドレスに対応付けられている認証用UTXOを特定できるようになる。
【0059】
図14は、端末装置1からのトランザクションtxB の送信後の状態を示す図である。図13に示した端末装置1からのトランザクションtxB が分散型DBネットワーク3にて検証及び承認される(S304)。これにより認証サーバ装置2(B)のアドレスに、認証用トークン、即ち認証用のUTXOが分散型DBネットワーク3上で再び対応付けられる(移動する)。認証用のUTXOは、トランザクションtxB の出力に対応する。
【0060】
図15は、分散型DBネットワーク3における認証用トークンの流れを示す図である。図15に示すように、認証サーバ装置2のアドレスに対応付けられている認証用UTXOのトランザクションでは、いずれの出力を入力として使用したかの情報が含まれるため、トランザクションチェーンを辿ることで、最初に認証サーバ装置2自身が送信した認証用UTXOと繋がったUTXOであるか否かにより、確認処理を行なうことができる。
【0061】
このように、端末装置1はサービスを利用するために必要な認証を受ける際に、ログイン情報を入力する必要はない。認証サーバ装置2で、1つの端末装置1のアドレスに対して認証に成功した場合、アプリプログラム1Pのサービス提供者側でアドレスとユーザIDとの対応を記憶しておいてもよい。この場合、端末装置1にてアプリプログラム1Pに基づくサービスの利用中に認証が必要な状態となる都度、処理部10がステップS103の認証要求の送信からステップS109までの処理を実行すればよく、ログイン情報(ユーザID及びパスワード)は不要である。サービス提供者にてユーザIDとアドレスとの対応が漏洩したとしても、これらの情報から端末装置1の秘密鍵を算出することは極めて困難であるから、端末装置1及び認証サーバ装置2側で秘密鍵が安全に管理されていればよく、リスクを低減することができる。これによりサービス提供者はユーザの機密情報を管理することなくユーザ認証を行なうことができる。また端末装置1側からトランザクションとして送信される情報は、秘密鍵そのものではなくあくまで電子署名であり、また秘密鍵を入力するような操作は不要であり、秘密鍵が外部に漏えいする可能性を低減できる。
【0062】
処理部10は、アプリプログラム1Pを起動する都度、端末装置自身の秘密鍵に基づきステップS102にてアドレスを生成し直し、認証を行なうようにしてもよい。この場合も秘密鍵に基づくステップS102からS109を実行すればよく、ユーザが何らかの入力操作を行なう必要がない。なお認証用トークンは認証処理を行なう上では資産として扱われていないので、秘密鍵さえも、認証が必要な状態となる都度に生成してもよい。
【0063】
また実施の形態1で説明したように、サービス提供者はアプリプログラム1Pを、上述した処理(S101からS109)を実行する部分を組み込んで実装すればよく、認証方式の導入が容易である。認証の検証プロセスは、分散型DBネットワーク3にて実行され、認証用トークンの移動も自動的に記録処理がなされる。サービス提供者は低コストでこの認証方式をサービスに取り込むことが可能である。
【0064】
なお、本開示の認証方法では、認証の時間制限を設けることも可能である。図16は、時間制限の設定を含むスクリプトの内容例を示す説明図である。認証サーバ装置2(B)は、ステップS204で端末装置1(A)を相手とするトランザクションtxA を作成するに際し、図16に示すように出力に、一定時間内に端末装置1(A)が認証用トークンを返さない場合に、自身の署名で認証用トークンを回収できるようにしておくことができる。このトランザクションtxA の出力(認証用トークン)は、一定時間内は端末装置1(A)の署名スクリプト(A's signature, A's pub key, OP_TRUE)がなければ動かすことができないが、一定時間が経過した後は、認証サーバ装置2(B)の署名スクリプト(B's signature, B's pub key, OP_FALSE)によって動かすことができる認証用UTXOとなる。なお図16中におけるスクリプト<num> は時間制限の長さであり、[TIMEOUTTOP]はOP_CHECKLOCKTIMEVERIFY又はOP_CHECKSEQUENCEVERIFYに置き換えられる。
【0065】
本開示の認証方法では、ワンタイムパスワードを加えることができる。図17は、ワンタイムパスワードのスクリプトの内容例を示す説明図である。認証サーバ装置2(B)は、ステップS204で端末装置1(A)を相手とするトランザクションtxA を作成するに際し、図17に示すように出力に、予め別の手段で端末装置1(A)と共有しておいたワンタイムパスワードのハッシュを含める。これにより、端末装置1(A)でワンタイムパスワードも正確に署名スクリプトに含めない限り、出力できない認証用UTXOとなる。なお図17中におけるスクリプト[HASHOP]は、OP_HASH160又はOP_HASH256に置き換えられる。
【0066】
(実施の形態2)
分散型DBネットワーク3を用いてより簡素化した認証方法が実現できる。実施の形態2における認証システム100の構成は、認証方法の詳細が異なる点以外、即ち端末装置1、認証サーバ装置2、及び分散型DBネットワーク3のハードウェア構成は、実施の形態1と同様であるので、共通する構成について同一の符号を付して詳細な説明を省略する。
【0067】
実施の形態2の認証方法において認証サーバ装置2は、実施の形態1に示したトークンの受け渡しを行なわずとも、端末装置1自身が分散型DBネットワーク3におけるトークンの所有者であることが確認できれば、正当であるとして認証を行なう。トークンの移動を伴わなくとも同様にして、分散型DBネットワーク3におけるトークンの存在を用いた認証が可能である。
【0068】
実施の形態2では、端末装置1が分散型DBネットワーク3におけるトークンの所有者であることが証明できるように、自身のアドレスに対応するトランザクションが分散型DBネットワーク3に記録されていることが前提として、以下の処理が行なわれる。図18は、実施の形態2における認証の処理手順の一例を示すシーケンス図である。なお図18のシーケンス図に示す処理手順の内、図5に示した実施の形態1における処理手順と共通する手順については、同一のステップ番号を付して詳細な説明を省略する。
【0069】
認証サーバ装置2にて通信部22により端末装置1のアドレスを含む認証要求が受信されると(S203)、認証処理が開始される。処理部20は、任意のデータ(文字列、文書データ等)を指定する指定情報を端末装置1のアドレスへ送信する(ステップS214)。ステップS214にて処理部20は、任意のデータ自体を送信してもよいが、認証サーバ装置2及び端末装置1が共通にアクセス可能なデータであればよく、これを指定する情報であることが好ましい。
【0070】
端末装置1では、通信部12が認証サーバ装置2から送信された指定情報を受信し、処理部10は指定情報に基づき指定されたデータを特定する(ステップS114)。処理部10は、特定したデータに対し、自身の秘密鍵を用いた電子署名を作成し(ステップS115)、作成した電子署名を認証サーバ装置2へ送信する(ステップS116)。
【0071】
認証サーバ装置2では、通信部22が電子署名を受信すると(S215)、処理部20は、認証の対象である端末装置1のアドレス、即ちステップS203で受信した認証要求に含まれるアドレスに基づいて公開鍵情報を導出する(ステップS216)。処理部20は、導出した公開鍵情報を用いてステップS215にて受信済みの電子署名を復号し、指定データのハッシュ値と照合する等の検証を行なう(ステップS217)。
【0072】
実施の形態2では、処理部20は更に、端末装置1のアドレスに対応付けたトークンが分散型DBネットワーク3上に存在することを確認する(ステップS218)。分散型DBネットワーク3において、アドレスに対応付けて諸々のデジタル資産であるトークンの帰属が公開されているのでこれを確認すればよい。処理部20は、確認ができたか否かによる認証結果を通信部22から端末装置1へ送信し(S210)、端末装置1にて認証結果を受信し(S109)、認証処理を終了する。
【0073】
このように、分散型DBネットワーク3におけるトークンの帰属を用いた認証方法は、簡素化が可能である。秘密鍵情報に基づくトランザクション処理によって何らかのトークンの帰属が確認できれば、その秘密鍵情報に基づきデータ(実施の形態2では電子署名)を作成できれば正当であるとして認証が可能である。
【0074】
(実施の形態3)
実施の形態3における認証システム100の構成は、認証方法の詳細が異なる点以外、即ち端末装置1、認証サーバ装置2、及び分散型DBネットワーク3のハードウェア構成は、実施の形態1と同様であるので共通する構成について同一の符号を付して詳細な説明を省略する。
【0075】
実施の形態3の認証方法においては実施の形態2同様に、認証サーバ装置2は、トークンの受け渡しを行なわず、分散型DBネットワーク3におけるトークンの存在を用いて認証する。ただし認証サーバ装置2が直接的に被認証者である端末装置1からの情報について検証を行なわず、分散型DBネットワーク3における処理装置300(ノード)にてこれを実行する。
【0076】
実施の形態3における処理装置300の機能を示す機能ブロック図である。実施の形態3において処理装置300の一部又は全部は、分散型DBネットワーク3へ送出されるトークンの移転に関するトランザクションに対し、公開鍵情報及びトランザクション中の電子署名を用いた検証を行なう機能(トークンコントラクト)として機能する。更に処理装置300の一部又は全部は、所謂スマートコントラクトの一種として、認証に係る情報に対する特定の処理を行なう特定のノード(認証コントラクト)として機能する。特定の処理は後述するように(図19参照)、電子署名についての検証である。
【0077】
図19は、実施の形態3における認証の処理手順の一例を示すシーケンス図である。図19のシーケンス図に示す処理手順の内、図18に示した実施の形態2における処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
【0078】
被認証者である端末装置1に関しては認証要求の送信(S103)に先立ち、自身のアドレスを用いたトークンの取引(単なる記録でもよい)が分散型DBネットワーク3に送出されて記録されている(ステップS131)。トークンは、分散型DBネットワーク3におけるデジタル情報であればよく、認証用のトークンであってもよいし、所謂仮想通貨、暗号通貨と呼ばれる通貨であってもよい。ステップS131の実行主体は、被認証者である端末装置1自身でなくともよく、例えば他の端末装置1が、被認証者である端末装置1へ向けてトークンを帰属させるトランザクションを送出させていてもよい。
【0079】
認証者である認証サーバ装置2は、通信部22により端末装置1のアドレスを含む認証要求を受信し(S203)、これにより認証処理を開始する。処理部20は認証処理が開始されると、任意のデータ(文字列、文書データ等)と被認証者である端末装置1のアドレスを認証コントラクトとして機能する特定ノードへ送信し(ステップS221)、指定情報を端末装置1のアドレスへも送信する(S214)。
【0080】
分散型DBネットワーク3において認証コントラクトは、認証サーバ装置2から送信された指定情報及び端末装置1のアドレスを受信し、受信した指定情報により指定されるデータと、端末装置1のアドレスとを対応付けて分散型DBネットワーク3に記録(書き込み)する(ステップS311)。
【0081】
被認証者である端末装置1で処理部10は指定情報を受信し、指定されたデータを分散型DBネットワーク3にて特定する(S114)。処理部10は、特定したデータに対し、自身の秘密鍵を用いた電子署名を作成し(S115)、作成した電子署名を分散型DBネットワーク3の認証コントラクトに向けて送信する(ステップS126)。このとき電子署名は、ステップS103の認証要求に含まれている端末装置1のアドレス情報でなく、他のアドレス情報に対応するものであってもよい。ただし同一の秘密鍵情報に基づくアドレス(ハッシュ値)である。
【0082】
分散型DBネットワーク3において認証コントラクトは、端末装置1から送信された電子署名を受信する(ステップS312)。認証コントラクトとして処理装置300の処理部30は、事前に分散型DBネットワーク3にて登録されている電子署名送信元の端末装置1のアドレスを取得する(ステップS313)。認証コントラクトとして処理部30は、取得したアドレスに基づいて端末装置1の公開鍵情報を導出する(ステップS314)。処理部30は認証コントラクトとして、導出した公開鍵情報を用いてステップS313にて受信済みの電子署名を復号し、指定データのハッシュ値と照合する等の検証を行なう(ステップS315)。処理部30は、正当である場合には被認証者である端末装置1についての検証結果を分散型DBネットワーク3に記録する(ステップS316)。判断結果は、正当か否かのフラグ等、何らかの数値又は論理値でよい。
【0083】
認証サーバ装置2では処理部20が指定情報を送信してから所定のタイミング(例えば一定期間経過後、又は被認証者からの通知)にて、ステップS203で受信した端末装置1のアドレスに対応付けられたトークンが分散型DBネットワーク3上に存在することを確認する(ステップS222)。分散型DBネットワーク3において、アドレスに対応付けて諸々のデジタル資産であるトークンの帰属が公開されているのでこれを確認すればよい。分散型DBネットワーク3のトークンコントラクトにて、アドレス毎のトークン取引履歴をまとめて開示するようにしてもよい。処理部20は更に、分散型DBネットワーク3にて端末装置1の正当性についての検証結果が分散型DBネットワーク3上に記録されているのでこれを確認する(ステップS223)。処理部20は、ステップS222及びステップS223の2つでの確認ができたか否かによる認証結果を通信部22から端末装置1へ送信し(S210)、端末装置1にて認証結果を受信し(S109)、認証処理を終了する。
【0084】
このようにして認証者の認証サーバ装置2自身が被認証者である端末装置1との間で電子署名、指定データ等の情報を直接的にやり取りせずとも、電子署名等の検証をも分散型DBネットワーク3内で行なうようにしてもよい。
【0085】
実施の形態1から3では、トークンの移転、電子署名の送受信によってトークンに明確に紐づいている識別情報が端末装置1又はそのユーザと対応していることを証明した。その他多様な方法が考えられ得る。例えば同じハッシュ値を導出できるか否かで秘密鍵情報を記憶しているか否かを証明することも可能である。秘密鍵情報を記憶している場合にのみ作成できる情報であれば、デジタル又はアナログを問わない。秘密鍵情報を記憶している端末装置1又はそのユーザだけが回答できるキーワードであってもよいし、そのものだけが作成できる画像であってもよいし、端末装置1又はそのユーザだけが正答できる課題であってもよい。また、分散型DBネットワーク3におけるトークンのアドレスに対応する帰属についても、認証時点で帰属していることが確認できずとも、過去一定の期間内に帰属していたことが確認できた場合、過去所定回数以上のトークンの移転取引が確認できた場合には、確認できたと判断されるようにしてもよい。
【0086】
開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0087】
1 端末装置(第1装置)
10 処理部
2 認証サーバ装置(第2装置)
20 処理部
3 分散型DBネットワーク(分散型データベースネットワーク)
300 処理装置
30 処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19