(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-05
(45)【発行日】2024-04-15
(54)【発明の名称】情報取引方法、情報利用者端末、及び、プログラム
(51)【国際特許分類】
G06Q 20/02 20120101AFI20240408BHJP
G06F 21/64 20130101ALI20240408BHJP
G06F 21/62 20130101ALI20240408BHJP
【FI】
G06Q20/02
G06F21/64
G06F21/62 318
(21)【出願番号】P 2021519469
(86)(22)【出願日】2020-05-13
(86)【国際出願番号】 JP2020019169
(87)【国際公開番号】W WO2020230831
(87)【国際公開日】2020-11-19
【審査請求日】2023-03-08
(32)【優先日】2019-05-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】西田 直央
(72)【発明者】
【氏名】海上 勇二
【審査官】鈴木 和樹
(56)【参考文献】
【文献】特開2017-207979(JP,A)
【文献】特開2019-053427(JP,A)
【文献】国際公開第2018/201009(WO,A1)
【文献】登録実用新案第3222165(JP,U)
【文献】国際公開第2019/072823(WO,A1)
【文献】米国特許出願公開第2018/285839(US,A1)
【文献】米国特許出願公開第2019/028277(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
G06F 21/62
G06F 21/64
(57)【特許請求の範囲】
【請求項1】
情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法であって、
前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、
前記情報提供フェーズでは、
前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、
前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、
前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、
前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる、
情報取引方法。
【請求項2】
さらに、前記情報提供フェーズの前に、前記情報利用者が、前記分散台帳を介して、前記情報提供者に対して前記第1情報を要求する情報要求フェーズと、
前記情報提供フェーズの後に、前記情報利用者が、前記分散台帳を介して前記情報提供者により提供された前記第1暗号化情報の復号を行う情報復号フェーズと、を含み、
前記情報要求フェーズでは、
前記情報利用者端末が、前記第1トランザクションデータを生成し、
前記情報利用者端末が、前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、
前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれ、
前記情報復号フェーズでは、
前記情報利用者端末が、前記分散台帳に書きこまれた前記第2トランザクションデータを取得し、
前記情報利用者端末が、取得した前記第2トランザクションデータに含まれる前記第1暗号化情報を、前記情報利用者端末が前記暗号鍵とともに生成した前記暗号鍵と異なる復号鍵を利用して復号することで、前記第1情報を取得する、
請求項1に記載の情報取引方法。
【請求項3】
前記情報提供者端末が前記第1トランザクションデータを取得する際、
前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを取得し、
前記情報利用者端末が、前記第2トランザクションデータを取得する際、
前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを取得する、
請求項2に記載の情報取引方法。
【請求項4】
前記認証サーバ装置は、トランザクションデータ送信機能を有し、
前記情報提供フェーズでは、前記情報提供者端末が前記第1トランザクションデータを取得する際、
前記認証サーバ装置が、前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを前記情報利用者端末に送信することで、前記情報提供者端末が前記第1トランザクションデータを取得し、
前記情報復号フェーズでは、前記情報利用者端末が、前記第2トランザクションデータを取得する際、
前記認証サーバ装置が、前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを前記情報利用者端末に送信することで、前記情報利用者端末が、前記第2トランザクションデータを取得する、
請求項2に記載の情報取引方法。
【請求項5】
前記第1情報目録は、前記情報提供者が保有している情報のうち前記分散台帳を介して提供可能な1以上の情報のリストを示し、
前記情報取引方法は、さらに、
前記情報要求フェーズの前に、前記情報提供者が、前記リストにおける前記1以上の情報それぞれに対するアクセス権を設定するアクセス権設定フェーズを含み、
前記アクセス権設定フェーズでは、
前記情報提供者端末が、前記第1情報目録と、前記リストにおける前記1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報と、日時と、前記情報提供者の署名とを含む第3トランザクションデータを生成し、
前記情報提供者端末が、前記第3トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録が公開される、
請求項2~4のいずれか1項に記載の情報取引方法。
【請求項6】
前記情報要求フェーズでは、
前記情報利用者端末が、前記第1トランザクションデータを生成する前に、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、
前記情報利用者に前記第1情報に設定されているアクセス権がある場合、前記情報利用者端末が、前記第1トランザクションデータを生成する、
請求項5に記載の情報取引方法。
【請求項7】
前記情報要求フェーズでは、
前記1以上の認証サーバ装置が、前記第1トランザクションデータを取得したときに、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、
前記情報利用者に前記第1情報に設定されているアクセス権がない場合、前記1以上の認証サーバ装置が、取得した前記第1トランザクションデータを破棄し、前記第1トランザクションデータの検証を行わない、
請求項6に記載の情報取引方法。
【請求項8】
前記アクセス権設定フェーズでは、
前記情報提供者端末が、前記第3トランザクションデータに、さらに、前記リストにおける前記1以上の情報それぞれに対して計算したハッシュ値を含めて生成し、
前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録と前記ハッシュ値とが公開され、
前記情報復号フェーズでは、さらに、
前記情報利用者端末が、前記第1暗号化情報を復号することで前記第1情報を取得後、前記第1情報の第1ハッシュ値を計算し、
前記情報利用者端末が、前記分散台帳で公開された前記ハッシュ値のうち前記第1情報に対応する第2ハッシュ値と、前記第1ハッシュ値とを比較する、
請求項5~7のいずれか1項に記載の情報取引方法。
【請求項9】
前記第2ハッシュ値と前記第1ハッシュ値とを比較して、前記第2ハッシュ値と前記第1ハッシュ値とが異なっていた場合、前記情報利用者端末が、再度、前記第1トランザクションデータを生成し、
前記情報利用者端末が、再度生成した前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、
前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれる、
請求項8に記載の情報取引方法。
【請求項10】
前記情報復号フェーズでは、さらに、
前記第1情報を取得した場合、前記情報利用者が、前記情報提供者に対して対価を支払う、
請求項2~9のいずれか1項に記載の情報取引方法。
【請求項11】
前記対価を支払う際、
前記情報利用者が、所定の回数、前記第1情報を取得したときに、前記所定の回数の分の対価を前記情報提供者に対して支払う、
請求項10に記載の情報取引方法。
【請求項12】
前記情報復号フェーズでは、さらに、
前記情報利用者が、所定期間ごとに、前記所定期間内に取得した前記第1情報の分の対価を前記情報提供者に対して支払う、
請求項2~9のいずれか1項に記載の情報取引方法。
【請求項13】
前記対価を支払う際、
前記分散台帳に書きこまれたスマートコントラクトを用いて、前記情報利用者が、前記情報提供者に対して対価を支払う、
請求項10~12のいずれか1項に記載の情報取引方法。
【請求項14】
前記システムは、さらに情報取引を監査する情報取引監査装置を備え、
前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、
前記取引監査フェーズでは、
前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、
前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方に前記第1取引に異常があった旨の通知を行う、
請求項1~13のいずれか1項に記載の情報取引方法。
【請求項15】
前記システムは、さらに情報取引を監査する情報取引監査装置を備え、
前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、
前記取引監査フェーズでは、
前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、
前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引に関する情報を含む第4トランザクションデータを生成し、
前記情報取引監査装置が、前記第4トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置は前記第4トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第4トランザクションデータが前記分散台帳に書き込まれ、
前記第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第4トランザクションデータを取得し、前記第1取引に異常があったことを確認する、
請求項1~13のいずれか1項に記載の情報取引方法。
【請求項16】
前記取引監査フェーズでは、
前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常がなかった第2取引に関する情報を含む第5トランザクションデータを生成し、
前記情報取引監査装置が、前記第5トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置は前記第5トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第5トランザクションデータが前記分散台帳に書き込まれ、
前記第2取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第5トランザクションデータを取得し、前記第2取引には異常がなかったことを確認する、
請求項15に記載の情報取引方法。
【請求項17】
1以上の情報提供者が使用する1以上の情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備える情報取引方法であって、
前記情報提供者が保有する1以上の情報が、前記1以上の情報利用者端末それぞれにより生成された暗号鍵で暗号化された暗号化情報と、前記暗号化情報それぞれを一意に識別するための暗号化情報IDとが前記複数の認証サーバ装置の分散台帳に書き込まれており、
第1情報利用者を一意に識別する識別子である第1情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記第1情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、
前記情報提供者端末が、前記第2情報目録により指定される前記第1情報に対応する1以上の暗号化情報のうち、前記第1情報利用者の情報利用者端末により生成された暗号鍵で暗号化された第1暗号化情報を識別する暗号化情報IDと、前記情報提供者IDと、前記第1情報利用者IDとを含む第2トランザクションデータを生成し、
前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる、
情報取引方法。
【請求項18】
情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報利用者端末であって、
前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記認証サーバ装置の分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、取得する通信部と、
前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成する情報暗号化部と、
前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成するトランザクションデータ生成部とを備え、
前記通信部は、前記第2トランザクションデータを、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置に送信することで、前記1以上の認証サーバ装置に前記第2トランザクションデータを前記分散台帳に書き込ませる、
情報利用者端末。
【請求項19】
情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法をコンピュータに実行させるためのプログラムであって、
前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、
前記情報提供フェーズでは、
前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、
前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、
前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、
前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、
前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれることを、
コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報取引方法、情報利用者端末、及び、プログラムに関し、特にブロックチェーンを用いた情報取引の情報取引方法、並びに、それに用いられる情報利用者端末及びプログラムに関する。
【背景技術】
【0002】
近年では、様々な企業によりブロックチェーンを利用したサービスが提案されている。
【0003】
ここで、ブロックチェーンは、ビットコインから生まれた技術である(例えば非特許文献1参照)。ブロックチェーンでは、ブロックと呼ばれるデータの単位が生成され、鎖のように連結されていくことにより取引履歴を保管する。このため、ブロックチェーンを利用することで、誰もが参加可能なピアツーピア(Peer to Peer:P2P)ネットワークで取引履歴(トランザクションデータ)を共有し、相互に監視することで、信頼性を担保し、データの改ざんを防ぐことができる。
【0004】
例えば、ブロックチェーンを用いた取引履歴を保証するサービスとして、情報提供者が情報をブロックチェーンに登録し、利用者がブロックチェーンを介して登録されている情報を取得するというようなブロックチェーンを介して情報を取引するサービスなどが考えられる。
【先行技術文献】
【非特許文献】
【0005】
【文献】Satoshi Nakamoto、「Bitcoin: A Peer-to-Peer Electronic Cash System」、(https://bitcoin.org/bitcoin.pdf)
【文献】Ronald Linn Rivest、外2名、「A Method for Obtaining Digital Signatures and Public-Key Cryptosystems」、(https://people.csail.mit.edu/rivest/Rsapaper.pdf)
【文献】Neal Koblitz、「Elliptic curve cryptosystems」、(https://www.ams.org/journals/mcom/1987-48-177/S0025-5718-1987-0866109-5/)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、情報提供者が情報をブロックチェーンに登録した場合、ブロックチェーンに登録された情報は、公開情報であることからどのユーザでも履歴を残すことなく情報を取得することができてしまう。このため、ブロックチェーンに履歴を残すことなく情報を取得できないようにする技術が求められている。
【0007】
本開示は、上述の事情を鑑みてなされたもので、ブロックチェーンに履歴を残すことなく情報を取得できない情報取引方法等を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本開示の一形態に係る情報取引方法は、情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法であって、前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、前記情報提供フェーズでは、前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる。
【0009】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示の情報取引方法等によれば、ブロックチェーンに履歴を残すことなく情報を取得できないようにすることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態に係る情報取引システムの全体構成を模式的に示す図である。
【
図2】
図2は、実施の形態に係る情報提供者端末の機能構成の一例を示す図である。
【
図3A】
図3Aは、実施の形態に係る第3トランザクションデータのデータ構造の一例を概念的に示す図である。
【
図3B】
図3Bは、実施の形態に係る第3トランザクションデータのデータ構造の一例を概念的に示す図である。
【
図4】
図4は、実施の形態に係る第2トランザクションデータのデータ構造の一例を概念的に示す図である。
【
図5】
図5は、実施の形態に係る情報利用者端末の機能構成の一例を示す図である。
【
図6】
図6は、実施の形態に係る第1トランザクションデータのデータ構造の一例を概念的に示す図である。
【
図7】
図7は、実施の形態に係る認証サーバ装置の機能構成の一例を示す図である。
【
図8】
図8は、ブロックチェーンのデータ構造を示す説明図である。
【
図9】
図9は、実施の形態に係る情報取引監査装置の機能構成の一例を示す図である。
【
図10】
図10は、実施の形態に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。
【
図11】
図11は、実施の形態に係る情報要求フェーズの動作の一例を示すシーケンス図である。
【
図12】
図12は、実施の形態に係る情報提供フェーズの動作の一例を示すシーケンス図である。
【
図13】
図13は、実施の形態に係る情報復号フェーズの動作の一例を示すシーケンス図である。
【
図14】
図14は、変形例1に係る情報取引監査装置の機能構成の一例を示す図である。
【
図15】
図15は、変形例1に係る取引監査フェーズの動作の一例を示すシーケンス図である。
【
図16】
図16は、変形例2に係る情報提供者端末の機能構成の一例を示す図である。
【
図17】
図17は、変形例2に係る情報利用者端末の機能構成の一例を示す図である。
【
図18】
図18は、変形例2に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。
【
図19】
図19は、変形例2に係る情報復号フェーズの動作の一例を示すシーケンス図である。
【
図20】
図20は、変形例3に係る対価支払いフェーズの動作の一例を示すシーケンス図である。
【
図21】
図21は、変形例4に係るスマートコントラクト設定フェーズの動作の一例を示すシーケンス図である。
【
図22】
図22は、変形例4に係る情報復号フェーズの動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【0012】
(本開示の基礎となった知見)
ブロックチェーンを用いたサービスとしては、例えば個人または組織が保有している情報を、ブロックチェーンを介して取引させることで取引履歴を保証するサービスが考えられる。
【0013】
この場合、情報提供者は、例えば自身のWeb閲覧履歴または購買履歴など、自身が保有している情報をブロックチェーンに登録する。一方、その情報を利用したい利用者はブロックチェーンを介して情報を取得するとともに、取得履歴をブロックチェーンに残す。このように、ブロックチェーンを介して情報を取引させることで、ブロックチェーンに残された取引履歴を用いて、第三者が監査できるので、利用者と情報提供者とが、実際には情報の取引がされていないとか、実際の取引がないのにかかわらず取引があったと偽ることとかもできないので、取引履歴を保証することができる。
【0014】
しかしながら、情報提供者が情報をブロックチェーンに登録した場合、ブロックチェーンに登録された情報は、公開情報であるので、どのユーザでも履歴を残すことなく情報を取得することができてしまう。つまり、悪意のある利用者はブロックチェーンを介して情報を取得するが、取得履歴をブロックチェーンに残さない不正を行うことができる。
【0015】
このため、ブロックチェーンに履歴を残すことなく情報を取得できないようにする技術が求められている。
【0016】
そこで、本開示の一形態に係る情報取引方法は、情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法であって、前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、前記情報提供フェーズでは、前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる。
【0017】
これにより、ブロックチェーンに履歴を残すことなく情報を取得できないようにすることができる。
【0018】
また、さらに、前記情報提供フェーズの前に、前記情報利用者が、前記分散台帳を介して、前記情報提供者に対して前記第1情報を要求する情報要求フェーズと、前記情報提供フェーズの後に、前記情報利用者が、前記分散台帳を介して前記情報提供者により提供された前記第1暗号化情報の復号を行う情報復号フェーズと、を含み、前記情報要求フェーズでは、前記情報利用者端末が、前記第1トランザクションデータを生成し、前記情報利用者端末が、前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれ、前記情報復号フェーズでは、前記情報利用者端末が、前記分散台帳に書きこまれた前記第2トランザクションデータを取得し、前記情報利用者端末が、取得した前記第2トランザクションデータに含まれる前記第1暗号化情報を、前記情報利用者端末が前記暗号鍵とともに生成した前記暗号鍵と異なる復号鍵を利用して復号することで、前記第1情報を取得してもよい。
【0019】
また、前記情報提供者端末が前記第1トランザクションデータを取得する際、前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを取得し、前記情報利用者端末が、前記第2トランザクションデータを取得する際、前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを取得してもよい。
【0020】
また、前記認証サーバ装置は、トランザクションデータ送信機能を有し、前記情報提供フェーズでは、前記情報提供者端末が前記第1トランザクションデータを取得する際、前記認証サーバ装置が、前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを前記情報利用者端末に送信することで、前記情報提供者端末が前記第1トランザクションデータを取得し、前記情報復号フェーズでは、前記情報利用者端末が、前記第2トランザクションデータを取得する際、前記認証サーバ装置が、前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを前記情報利用者端末に送信することで、前記情報利用者端末が、前記第2トランザクションデータを取得してもよい。
【0021】
また、前記第1情報目録は、前記情報提供者が保有している情報のうち前記分散台帳を介して提供可能な1以上の情報のリストを示し、前記情報取引方法は、さらに、前記情報要求フェーズの前に、前記情報提供者が、前記リストにおける前記1以上の情報それぞれに対するアクセス権を設定するアクセス権設定フェーズを含み、前記アクセス権設定フェーズでは、前記情報提供者端末が、前記第1情報目録と、前記リストにおける前記1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報と、日時と、前記情報提供者の署名とを含む第3トランザクションデータを生成し、前記情報提供者端末が、前記第3トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録が公開されてもよい。
【0022】
また、前記情報要求フェーズでは、前記情報利用者端末が、前記第1トランザクションデータを生成する前に、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、前記情報利用者に前記第1情報に設定されているアクセス権がある場合、前記情報利用者端末が、前記第1トランザクションデータを生成してもよい。
【0023】
また、前記情報要求フェーズでは、前記1以上の認証サーバ装置が、前記第1トランザクションデータを取得したときに、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、前記情報利用者に前記第1情報に設定されているアクセス権がない場合、前記1以上の認証サーバ装置が、取得した前記第1トランザクションデータを破棄し、前記第1トランザクションデータの検証を行わないとしてもよい。
【0024】
また、前記アクセス権設定フェーズでは、前記情報提供者端末が、前記第3トランザクションデータに、さらに、前記リストにおける前記1以上の情報それぞれに対して計算したハッシュ値を含めて生成し、前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録と前記ハッシュ値とが公開され、前記情報復号フェーズでは、さらに、前記情報利用者端末が、前記第1暗号化情報を復号することで前記第1情報を取得後、前記第1情報の第1ハッシュ値を計算し、前記情報利用者端末が、前記分散台帳で公開された前記ハッシュ値のうち前記第1情報に対応する第2ハッシュ値と、前記第1ハッシュ値とを比較してもよい。
【0025】
また、前記第2ハッシュ値と前記第1ハッシュ値とを比較して、前記第2ハッシュ値と前記第1ハッシュ値とが異なっていた場合、前記情報利用者端末が、再度、前記第1トランザクションデータを生成し、前記情報利用者端末が、再度生成した前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれてもよい。
【0026】
また、前記情報復号フェーズでは、さらに、前記第1情報を取得した場合、前記情報利用者が、前記情報提供者に対して対価を支払ってもよい。
【0027】
また、前記対価を支払う際、前記情報利用者が、所定の回数、前記第1情報を取得したときに、前記所定の回数の分の対価を前記情報提供者に対して支払ってもよい。
【0028】
また、前記情報復号フェーズでは、さらに、前記情報利用者が、所定期間ごとに、前記所定期間内に取得した前記第1情報の分の対価を前記情報提供者に対して支払ってもよい。
【0029】
また、前記対価を支払う際、前記分散台帳に書きこまれたスマートコントラクトを用いて、前記情報利用者が、前記情報提供者に対して対価を支払ってもよい。
【0030】
また、前記システムは、さらに情報取引を監査する情報取引監査装置を備え、前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、前記取引監査フェーズでは、前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方に前記第1取引に異常があった旨の通知を行うとしてもよい。
【0031】
また、前記システムは、さらに情報取引を監査する情報取引監査装置を備え、前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、前記取引監査フェーズでは、前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引に関する情報を含む第4トランザクションデータを生成し、前記情報取引監査装置が、前記第4トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置は前記第4トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第4トランザクションデータが前記分散台帳に書き込まれ、前記第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第4トランザクションデータを取得し、前記第1取引に異常があったことを確認してもよい。
【0032】
また、前記取引監査フェーズでは、前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常がなかった第2取引に関する情報を含む第5トランザクションデータを生成し、前記情報取引監査装置が、前記第5トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置は前記第5トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第5トランザクションデータが前記分散台帳に書き込まれ、前記第2取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第5トランザクションデータを取得し、前記第2取引には異常がなかったことを確認してもよい。
【0033】
また、本開示の一形態に係る情報取引方法は、1以上の情報提供者が使用する1以上の情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備える情報取引方法であって、前記情報提供者が保有する1以上の情報が、前記1以上の情報利用者端末それぞれにより生成された暗号鍵で暗号化された暗号化情報と、前記暗号化情報それぞれを一意に識別するための暗号化情報IDとが前記複数の認証サーバ装置の分散台帳に書き込まれており、第1情報利用者を一意に識別する識別子である第1情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記第1情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、前記情報提供者端末が、前記第2情報目録により指定される前記第1情報に対応する1以上の暗号化情報のうち、前記第1情報利用者の情報利用者端末により生成された暗号鍵で暗号化された第1暗号化情報を識別する暗号化情報IDと、前記情報提供者IDと、前記第1情報利用者IDとを含む第2トランザクションデータを生成し、前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる。
【0034】
また、本開示の一形態に係る情報利用者端末は、情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報利用者端末であって、前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記認証サーバ装置の分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、取得する通信部と、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成する情報暗号化部と、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成するトランザクションデータ生成部とを備え、前記通信部は、前記第2トランザクションデータを、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置に送信することで、前記1以上の認証サーバ装置に前記第2トランザクションデータを前記分散台帳に書き込ませる。
【0035】
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。つまり、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。また、以下の各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化することがある。
【0036】
(実施の形態)
以下では、図面を参照しながら、本実施の形態に係る情報取引システムについて説明する。
【0037】
[1. 情報取引システムの構成]
本開示に係る情報取引システムでは、情報利用者が要求する情報の目録と、情報利用者から提供された暗号鍵とを、分散台帳を介して情報提供者が取得する。そして、取得した暗号鍵を用いて、情報利用者が要求する情報を暗号化した暗号化情報を、情報提供者が分散台帳を介して情報利用者に提供する。これにより、ブロックチェーンに履歴を残すことなく情報提供者が提供する情報を情報利用者が取得できないようにすることができる。
【0038】
[1.1 情報取引方法の全体構成]
図1は、本実施の形態に係る情報取引システムの全体構成を模式的に示す図である。
【0039】
本実施の形態に係る情報取引システムは、
図1に示されるように、情報提供者端末100と、情報利用者端末200と、3つの認証サーバ装置300、310、320と、情報取引監査装置400とを備える。これらは通信可能に接続されている。これらの通信は、有線のインターネット線、無線通信及び専用通信等のいずれかであればよい。また、これらの通信は、リアルタイムの通信でなくてもよい。例えば、情報利用者端末200はトランザクションデータをある程度集めてから、一時に、複数の認証サーバ装置300、310、320に送信してもよい。
【0040】
なお、
図1では、本実施の形態に係る情報取引システムが、情報提供者端末100を1つ、情報利用者端末200を1つ、認証サーバ装置300を3つ備える場合の例が示されているが、これに限らない。すなわち、本実施の形態に係る情報取引システムは、情報提供者端末100を2つ以上備えてもよいし、情報利用者端末200を2つ以上備えてもよい。また、本実施の形態に係る情報取引システムは、認証サーバ装置300を1つ以上備えればよく4つ以上備えてもよい。
【0041】
[1.2 情報提供者端末100]
情報提供者端末100は、情報提供者により使用され、ブロックチェーンを介して情報提供者が保有する情報を提供するための端末である。情報提供者は、例えば個人であってもよいし、会社などの組織であってもよい。情報提供者端末100は、例えばパーソナルコンピュータであってもよいし、スマートフォン及びタブレットなどの携帯端末であってもよい。情報提供者端末100は、情報利用者が要求する情報を、分散台帳を介して情報利用者から提供された暗号鍵を用いて暗号化した暗号化情報を、分散台帳を介して情報利用者に提供する。
【0042】
図2は、本実施の形態に係る情報提供者端末100の機能構成の一例を示す図である。
【0043】
情報提供者端末100は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インタフェース等とを備える。つまり、情報提供者端末100は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。
【0044】
本実施の形態では、情報提供者端末100は、
図2に示すように、保有情報格納部101と、公開情報選択部102と、アクセス権設定部103と、トランザクションデータ要求部104と、情報暗号化部105と、トランザクションデータ生成部106と、通信部107と、を備える。以下、各構成要素について説明する。
【0045】
[1.2.1 保有情報格納部101]
保有情報格納部101は、情報提供者が保有している情報を格納する。情報提供者が保有する情報は、例えば情報提供者が個人の場合、情報提供者の氏名、生年月日、住所、趣味、購買履歴、Webの閲覧履歴、または生体センサーから得られた情報等である。
【0046】
[1.2.2 公開情報選択部102]
公開情報選択部102は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報を選択する。本実施の形態では、公開情報選択部102は、情報提供者からの入力を受け取るインタフェースを含んで構成される。公開情報選択部102は、インタフェースにより例えば保有情報格納部101に格納されている複数の情報のリスト(目録とも称する)を表示し、表示したリストから、ブロックチェーンを介して公開してもよい1以上の情報を選択する。公開情報選択部102は、選択した1以上の情報のリストを示す公開可能な第1情報目録を作成する。なお、第1情報目録には、1以上の情報の名称とそのIDが示されている。
【0047】
[1.2.3 アクセス権設定部103]
アクセス権設定部103は、ブロックチェーンを介して公開してもよい第1情報目録(1以上の情報のリスト)における1以上の情報それぞれに対するアクセス権を設定する。
【0048】
本実施の形態では、アクセス権設定部103は、公開情報選択部102により選択された第1情報目録が示す1以上の情報それぞれに対して、どのような情報利用者がアクセスできるかを示すアクセス権を設定する。
【0049】
なお、このアクセス権は、情報利用者ごとに設定されてもよいし、情報利用者の属性ごとに設定されてもよい。ここで、情報利用者の属性とは、例えば情報利用者の勤務先、国籍、性別または年齢等である。また、アクセス権は、第1情報目録が示す1以上の情報ごとに設定されてもよいし、当該1以上の情報それぞれの分類が事前にされており、その分類ごとに設定されてもよい。また、アクセス権は、第1情報目録が示す1以上の情報のすべてに対してまとめて設定されるとしてもよい。
【0050】
また、アクセス権設定部103は、公開情報選択部102により選択された第1情報目録と、第1情報目録が示す1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報とを、トランザクションデータ生成部106へ送信する。
【0051】
[1.2.4 トランザクションデータ要求部104]
トランザクションデータ要求部104は、認証サーバ装置300、310及び320の少なくとも1つに対して、通信部107を介して、ブロックチェーンに登録されたすなわち分散台帳に書き込まれたトランザクションデータを要求する。
【0052】
ここで、トランザクションデータ要求部104が要求するトランザクションデータは、分散台帳に記録されている全てのトランザクションデータでもよいし、前回の要求時から新しく記録されたトランザクションデータのみを要求してもよい。また、トランザクションデータ要求部104が要求するトランザクションデータは、公開した第1情報目録に示される情報に対する要求を示すトランザクションデータなど、自身に関係するトランザクションデータのみを要求してもよい。
【0053】
トランザクションデータ要求部104は、通信部107を介して、自身に関係する情報を要求するトランザクションデータ(以下、第1トランザクションデータと称する)を取得した場合、取得した第1トランザクションデータを情報暗号化部105に送信する。なお、本実施の形態では、取得した第1トランザクションデータには、情報利用者端末200が生成した暗号鍵と、情報利用者IDと、情報提供者IDと、分散台帳で公開された第1情報目録に示される情報のうち情報利用者が要求する第1情報の目録を示す第2情報目録とが含まれる。情報利用者IDは情報利用者を一意に識別する識別子であり、情報提供者IDは情報提供者を一意に識別する識別子である。
【0054】
なお、トランザクションデータ要求部104は、情報提供者IDに基づいて、第1トランザクションデータを取得してもよい。より具体的には、トランザクションデータ要求部104は、分散台帳に書きこまれた複数のトランザクションデータから、情報提供者IDを含む第1トランザクションデータを特定することで、第1トランザクションデータを取得することができる。
【0055】
また、トランザクションデータ要求部104は、通信部107を介して、認証サーバ装置300、310及び320の少なくとも1つに対して、情報提供者IDを含む第1トランザクションデータを要求してもよい。これにより、分散台帳に書きこまれた第1トランザクションデータがあれば、認証サーバ装置300、310及び320の少なくとも1つに、第1トランザクションデータをトランザクションデータ要求部104に送信させることができる。よって、トランザクションデータ要求部104は、第1トランザクションデータを取得することができる。
【0056】
[1.2.5 情報暗号化部105]
情報暗号化部105は、第1トランザクションデータに含まれる第2情報目録により指定される第1情報を、第1トランザクションデータに含まれる暗号鍵を利用して暗号化した第1暗号化情報を生成する。
【0057】
本実施の形態では、情報暗号化部105は、トランザクションデータ要求部104から送信された第1トランザクションデータに含まれる第2情報目録を参照して、情報利用者が要求する第1情報を保有情報格納部101から取得する。情報暗号化部105は、トランザクションデータ要求部104から送信された第1トランザクションデータに含まれる暗号鍵を用いて、取得した第1情報を暗号化した第1暗号化情報を生成する。情報暗号化部105は、生成した第1暗号化情報をトランザクションデータ生成部106に送信する。
【0058】
[1.2.6 トランザクションデータ生成部106]
トランザクションデータ生成部106は、アクセス権設定部103から送られた第1情報目録とアクセス権情報とを含むトランザクションデータ(以下、第3トランザクションデータと称する)を生成する。より具体的には、トランザクションデータ生成部106は、第1情報目録と、第1情報目録が示すリストにおける1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報と、日時と、情報提供者の署名とを含む第3トランザクションデータを生成する。
【0059】
図3A及び
図3Bは、本実施の形態に係る第3トランザクションデータのデータ構造の一例を概念的に示す図である。
図3Aには、第3トランザクションデータに、情報提供者IDと、第1情報目録と、アクセス権情報と、情報提供者の署名とが含まれる例が示されている。具体的には、
図3Aには、P001の情報提供者IDで示される情報提供者が、第1情報目録として示されるP001の年齢、性別及び購買履歴といった情報がブロックチェーン(分散台帳)を介して提供可能とするための第3トランザクションデータのデータ構造の一例が示されている。
【0060】
より詳細には、
図3Aには、アクセス権情報として、年齢、性別及び購買履歴に対するアクセス権が、情報利用者ごとに設定される場合の例が示されている。
図3Aに示される例では、年齢に対しては、U001、U002及びU003の情報利用者IDで示される情報利用者のみアクセス可能なことを示すアクセス権が設定されている。同様に、性別に対しては、U002の情報利用者IDで示される情報利用者のみ、購買履歴に対しては、U001の情報利用者IDで示される情報利用者のみアクセス可能なことを示すアクセス権が設定されている。なお、
図3Bには、アクセス権情報に示されるアクセス権が、情報利用者の属性で設定される場合の例が示されており、その他の部分については
図3Aと同様である。
【0061】
また、トランザクションデータ生成部106は、情報暗号化部105から送られた第1暗号化情報を含むトランザクションデータ(以下、第2トランザクションデータと称する)を生成する。より具体的には、トランザクションデータ生成部106は、情報提供者IDと情報利用者IDと第1暗号化情報とを含む第2トランザクションデータを生成する。
【0062】
図4は、本実施の形態に係る第2トランザクションデータのデータ構造の一例を概念的に示す図である。
図4には、第2トランザクションデータに、情報利用者IDと、情報提供者IDと、提供情報と、情報提供者の署名とが含まれる例が示されている。具体的には、
図4には、P001の情報提供者IDで示される情報提供者が、U001の情報利用者IDで示される情報利用者に、ブロックチェーン(分散台帳)を介して第1暗号化情報で情報提供するための第2トランザクションデータのデータ構造の一例が示されている。より詳細には、
図4には、第2トランザクションデータに含まれる提供情報としては、年齢を示す情報と、購買履歴を示す情報とが暗号化されている場合の例が示されている。
【0063】
また、トランザクションデータ生成部106は、第1トランザクションデータまたは第2トランザクションデータを生成した場合には、通信部107を介して、認証サーバ装置300、310及び320の少なくとも1つへ送信する。
【0064】
[1.2.7 通信部107]
通信部107は、トランザクションデータ生成部106で生成された第2トランザクションデータまたは第3トランザクションデータを1以上の認証サーバに送信する。
【0065】
本実施の形態では、通信部107は、トランザクションデータ生成部106により生成されたトランザクションデータを認証サーバ装置300、310及び320のうちの1以上へ送信する。また、通信部107は、トランザクションデータ要求部104の要求に従って、認証サーバ装置300、310及び320のうちの少なくとも1つに対してトランザクションデータを要求し、取得したトランザクションデータをトランザクションデータ要求部104へ送信する。
【0066】
[1.3 情報利用者端末200]
続いて、情報利用者端末200について説明する。
【0067】
情報利用者端末200は、情報利用者により使用され、ブロックチェーンを介して情報提供者が公開する第1情報目録に示される情報の中から情報利用者が利用したい情報を取得するための端末である。情報利用者は、例えば個人であってもよいし、会社などの組織であってもよい。情報利用者端末200は、例えばパーソナルコンピュータであってもよいし、スマートフォン及びタブレットなどの携帯端末であってもよい。
【0068】
情報利用者端末200は、ブロックチェーンを介して情報提供者が公開する第1情報目録に示される情報の中から情報利用者が利用したい情報を選択し、ブロックチェーンを介して情報提供者に対して、選択した情報を要求するとともに、生成した暗号鍵を提供する。また、情報利用者端末200は、情報提供者によりブロックチェーンを介して提供された、暗号化された要求した情報の復号を行って、要求した情報を取得する。
【0069】
図5は、本実施の形態に係る情報利用者端末200の機能構成の一例を示す図である。
【0070】
情報利用者端末200は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インタフェース等とを備える。つまり、情報利用者端末200は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。
【0071】
本実施の形態では、情報利用者端末200は、
図5に示すように、暗号鍵生成部201と、暗号鍵保管部202と、要求情報選択部203と、トランザクションデータ生成部204と、トランザクションデータ要求部205と、暗号化情報復号部206と、通信部207と、を備える。以下、各構成要素について説明する。
【0072】
[1.3.1 暗号鍵生成部201]
暗号鍵生成部201は、情報利用者が要求する情報の受け渡し時に使用する暗号鍵を生成し、暗号鍵保管部202に送信する。
【0073】
ここで、暗号鍵生成部201が生成する暗号鍵は、例えば公開鍵と秘密鍵であるが、これに限らない。暗号鍵生成部201が生成する暗号鍵は、暗号用の暗号鍵と復号用の暗号鍵(以下暗号鍵と復号鍵と称する)とで異なる暗号鍵であればよい。
【0074】
なお、公開鍵及び秘密鍵は、例えば非特許文献2に記載されるRSA暗号を用いて生成されてもよいし、非特許文献3に記載される楕円Elgamal暗号を用いて生成されてもよい。公開鍵は、情報利用者端末200を情報利用者が起動する時に一度だけ生成して、以降は生成した一つの公開鍵のみを利用してもよい。また、公開鍵は、トランザクションデータ生成部204がトランザクションデータを生成する度に新しく生成されるとしてもよい。
【0075】
[1.3.2 暗号鍵保管部202]
暗号鍵保管部202は、例えば公開鍵及び秘密鍵など、暗号鍵生成部201により生成され暗号鍵と復号鍵とを保管する。
【0076】
暗号鍵保管部202は、トランザクションデータ生成部204が情報提供者に対して情報を要求するトランザクションデータ(すなわち第1トランザクションデータ)を生成するときには、トランザクションデータ生成部204に公開鍵などの暗号鍵を送信する。また、暗号鍵保管部202は、暗号化情報復号部206で第1暗号化情報を復号するときには、暗号化情報復号部206に、秘密鍵などの復号鍵を送信する。
【0077】
[1.3.3 要求情報選択部203]
要求情報選択部203は、情報提供者により分散台帳で公開された第1情報目録に示される情報のうち情報利用者が利用するために要求する第1情報の目録すなわち第2情報目録を選択する。本実施の形態では、要求情報選択部203は、情報利用者からの入力を受け取るインタフェースを含んで構成されてもよい。要求情報選択部203は、インタフェースにより例えば情報提供者により分散台帳で公開された情報のリストすなわち第1情報目録を表示し、情報利用者は第1情報目録に示される情報の中から利用したい1以上の情報の目録すなわち第2情報目録を選択する。
【0078】
なお、要求情報選択部203は、ブロックチェーンすなわち分散台帳から、情報提供者により分散台帳で公開された第1情報目録を取得する。より具体的には、要求情報選択部203は、通信部207を介して認証サーバ装置300、310及び320のうちの少なくとも1つに、分散台帳に書き込まれた第1情報目録を含むトランザクションデータを要求することで、第1情報目録を取得することができる。
【0079】
要求情報選択部203は、選択した第2情報目録を、トランザクションデータ生成部204へ送信する。
【0080】
[1.3.4 トランザクションデータ生成部204]
トランザクションデータ生成部204は、要求情報選択部203から送られた第2情報目録と、暗号鍵保管部202から送られた暗号鍵(例えば公開鍵)とを含むトランザクションデータ(すなわち、第1トランザクションデータ)を生成する。より具体的には、トランザクションデータ生成部204は、公開鍵などの暗号鍵と、情報利用者IDと、情報提供者IDと、分散台帳で公開された第1情報目録に示される情報のうち情報利用者が要求する第1情報の目録を示す第2情報目録とを含む第1トランザクションデータを生成する。ここで、第2情報目録は、情報利用者が利用したい1以上の情報の名称とそれらIDとからなる1以上の情報のリストである。
【0081】
図6は、本実施の形態に係る第1トランザクションデータのデータ構造の一例を概念的に示す図である。
図6には、第1トランザクションデータに、情報利用者IDと、情報提供者IDと、要求情報と、暗号鍵と、情報利用者の署名とが含まれる例が示されている。すなわち、
図6には、U001の情報利用者IDで示される情報利用者が、P001の情報提供者IDで示される情報提供者に、分散台帳を介して、利用したい情報を要求するための要求情報とともに暗号鍵を含む第1トランザクションデータのデータ構造の一例が示されている。より詳細には、
図6には、第1トランザクションデータに含まれる要求情報が、年齢を示す情報と、購買履歴を示す情報とである場合の例が示されている。
【0082】
また、トランザクションデータ生成部204は、第1トランザクションデータを生成した場合には、通信部207を介して、認証サーバ装置300、310及び320の少なくとも1つへ送信する。
【0083】
[1.3.5 トランザクションデータ要求部205]
トランザクションデータ要求部205は、通信部207を介して、認証サーバ装置300、310及び320の少なくとも1つから、分散台帳に書きこまれた第2トランザクションデータを取得する。
【0084】
ここで、トランザクションデータ要求部205は、通信部207を介して、認証サーバ装置300、310及び320の少なくとも1つに対して、情報利用者IDを含み、情報提供者が生成した第1暗号化情報を含む第2トランザクションデータを要求してもよい。これにより、分散台帳に書きこまれた第2トランザクションデータがあれば、認証サーバ装置300、310及び320の少なくとも1つに、第2トランザクションデータをトランザクションデータ要求部205に送信させることができる。よって、トランザクションデータ要求部205は、第2トランザクションデータを取得することができる。
【0085】
また、トランザクションデータ要求部205は、情報提供者IDに基づいて、第2トランザクションデータを取得してもよい。より具体的には、トランザクションデータ要求部205は、分散台帳に書きこまれた複数のトランザクションデータから、情報利用者IDを含み、情報提供者が生成した第1暗号化情報を含む第2トランザクションデータを特定することで、第2トランザクションデータを取得してもよい。
【0086】
また、トランザクションデータ要求部205は、分散台帳に書きこまれた第2トランザクションデータを取得した場合、第2トランザクションデータに含まれる第1暗号化情報を暗号化情報復号部206に送信する。
【0087】
[1.3.6 暗号化情報復号部206]
暗号化情報復号部206は、第2トランザクションデータに含まれる暗号化情報を、暗号鍵生成部201により暗号鍵とともに生成した暗号鍵と異なる復号鍵を利用して、復号することで、第1情報を取得する。なお、復号鍵は、上述したように秘密鍵であってもよく、暗号鍵保管部202に保管されている。すなわち、暗号化情報復号部206は、第2トランザクションデータに含まれる暗号化情報を、暗号鍵保管部202に保管されている秘密鍵を利用して復号してよい。
【0088】
[1.3.7 通信部207]
通信部207は、トランザクションデータ生成部204で生成された第1トランザクションデータを1以上の認証サーバに送信する。本実施の形態では、通信部207は、トランザクションデータ生成部204により生成された第1トランザクションデータを、認証サーバ装置300、310、320及び情報提供者端末100とのうちの1以上へ送信する。
【0089】
また、通信部207は、トランザクションデータ要求部205の要求に従って、認証サーバ装置300、310及び320のうちの少なくとも1つに対して第2トランザクションデータまたは最新の分散台帳を要求する。通信部207は、当該少なくとも1つから取得した第2トランザクションデータまたは最新の分散台帳を、トランザクションデータ要求部205へ送信する。
【0090】
[1.4 認証サーバ装置300]
続いて、認証サーバ装置300等について説明する。
【0091】
認証サーバ装置300、310、320は、
図1に示すように例えばクラウドサーバであり、情報提供者端末100及び情報利用者端末200とネットワークを介して通信可能である。なお、本開示に係る情報取引システムでは、認証サーバ装置を1つ以上備えていればよい。認証サーバ装置300、310及び320は同様の構成であるため、以下では、認証サーバ装置300を例に挙げて説明する。
【0092】
認証サーバ装置300は、情報提供者端末100及び情報利用者端末200から取得したトランザクションデータの検証を行い、分散台帳を更新することで、ブロックチェーンにトランザクションデータを登録する。また、認証サーバ装置300は、要求に応じて、情報提供者端末100及び情報利用者端末200に最新の台帳または要求されたトランザクションデータを送信する。
【0093】
図7は、本実施の形態に係る認証サーバ装置300の機能構成の一例を示す図である。
【0094】
認証サーバ装置300は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。本実施の形態では、認証サーバ装置300は、
図7に示すように、トランザクションデータ格納部301と、トランザクションデータ検証部302と、台帳更新部303と、通信部304とを備える。以下、各構成要素について説明する。
【0095】
[1.4.1 トランザクションデータ格納部301]
トランザクションデータ格納部301は、ブロックチェーンのまだ検証されていないトランザクションデータを溜めているトランザクションプールとして機能する。
【0096】
本実施の形態では、トランザクションデータ格納部301は、情報提供者端末100から取得した第2トランザクションデータ、または第3トランザクションデータを格納し、一時的に保持する。また、トランザクションデータ格納部301は、情報利用者端末200から取得した第1トランザクションデータを格納する。
【0097】
[1.4.2 トランザクションデータ検証部302]
トランザクションデータ検証部302は、情報提供者端末100または情報利用者端末200から取得したトランザクションデータの正当性を検証する。例えば、トランザクションデータ検証部302は、取得したトランザクションデータに、正しい方法で生成された電子署名が付与されているか、取得したトランザクションデータに必要な情報が書き込まれているかなどを検証する。ここで、必要な情報とは、例えば情報提供者端末100からアクセス権情報を含む第3トランザクションデータを取得した場合、どの情報に対してどのようなアクセス権を設定しているかが正しく記載されたことを示す情報である。
【0098】
トランザクションデータ検証部302は、トランザクションデータの正当性の検証が成功した場合、その結果を他の認証サーバ装置310及び320に送信する。なお、この検証はスキップされてもよい。
【0099】
また、トランザクションデータ検証部302は、他の認証サーバ装置とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
【0100】
このように、トランザクションデータ検証部302は、複数の認証サーバ装置とともにコンセンサスアルゴリズムを実行する。
【0101】
ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPoW(Proof of Work)またはPoS(Proof of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、トランザクションデータ検証部302は、他の複数の認証サーバ装置310及び320のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、トランザクションデータ検証部302は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。
【0102】
[1.4.3 台帳更新部303]
台帳更新部303は、トランザクションデータ検証部302でトランザクションデータの検証を行った後に分散台帳を更新することで、当該トランザクションデータを分散台帳に書き込む。
【0103】
本実施の形態では、台帳更新部303は、トランザクションデータ検証部302で正当と検証されたトランザクションデータを分散台帳に格納する処理部である。台帳更新部303は、トランザクションデータ検証部302で正当と検証されたトランザクションデータを含むブロックを生成し、分散台帳を更新することで、生成したブロックを分散台帳に格納する(書き込む)。換言すると、台帳更新部303は、トランザクションデータ検証部302により正当性が検証されたトランザクションデータを含むブロックを生成し、生成したブロックを、分散台帳に格納されているブロックチェーンに接続して登録される。
【0104】
また、台帳更新部303は、情報提供者または情報利用者の要求に応じて、情報提供者端末100または情報利用者端末200に最新の台帳を送信したり、要求されたトランザクションデータを送信したりする。
【0105】
ここで、ブロックチェーンのデータ構造について説明する。
【0106】
図8は、ブロックチェーンのデータ構造を示す説明図である。
【0107】
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
【0108】
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
【0109】
[1.4.4 通信部304]
通信部304は、他の認証サーバ装置310、320との通信を行ったり、情報提供者端末100または情報利用者端末200との通信を行ったりする。
【0110】
本実施の形態では、通信部304は、例えば情報提供者端末100または情報利用者端末200からトランザクションデータを取得した場合、取得したトランザクションデータをトランザクションデータ格納部301に送信する。また、通信部304は、例えば情報提供者または情報利用者から最新の台帳またはトランザクションデータを要求された場合、台帳更新部303から最新の台帳または要求されたトランザクションデータを受け取り、情報提供者端末100または情報利用者端末200に送信する。
【0111】
例えば、通信部304は、情報提供者端末100により第1トランザクションデータを要求された場合、情報提供者IDに基づいて特定した、分散台帳に書きこまれた第1トランザクションデータを情報提供者端末100に送信してもよい。また、通信部304は、情報利用者端末200により第2トランザクションデータを要求された場合、情報利用者IDに基づいて特定した、分散台帳に書きこまれた第2トランザクションデータを情報利用者端末200に送信してもよい。
【0112】
[1.5 情報取引監査装置400]
続いて、情報取引監査装置400について説明する。
【0113】
情報取引監査装置400は、
図1に示すように、情報提供者端末100及び情報利用者端末200とは独立な装置である。情報取引監査装置400は、認証サーバの機能を持ち合わせてもよい。
【0114】
情報取引監査装置400は、分散台帳に書きこまれている取引の異常を監査する。より具体的には、情報取引監査装置400は、認証サーバ装置300等が共有している分散台帳を監視することで、情報取引が正しく行われているかを監視する。
【0115】
図9は、本実施の形態に係る情報取引監査装置400の機能構成の一例を示す図である。
【0116】
情報取引監査装置400は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。本実施の形態では、情報取引監査装置400は、
図9に示すように台帳格納部401と、取引検証部402と、通信部403とを備える。以下、各構成要素について説明する。
【0117】
[1.5.1 台帳格納部401]
台帳格納部401は、認証サーバ装置300、310及び320の少なくとも1つから最新の分散台帳(最新台帳とも称する)を取得して記憶装置に格納する。なお、情報取引監査装置400が認証サーバ装置の機能を備える場合には、台帳格納部401の機能は、認証サーバ装置300における台帳更新部303の機能を利用すればよい。
【0118】
[1.5.2 取引検証部402]
取引検証部402は、台帳格納部401に格納されている分散台帳を確認することで、分散台帳に書き込まれる全ての取引について異常があるかを確認する。
【0119】
本実施の形態では、取引検証部402は、台帳格納部401に格納されている最新から過去までの分散台帳を確認し、異常な取引が発生していないか確認を行う。
【0120】
ここで、取引検証部402は、分散台帳を確認し、例えば情報利用者からの要求があったにもかかわらず、情報提供者が一定期間以上返答しなかった場合、その情報取引が異常な取引であるとみなしてもよい。このように、取引検証部402は、一定期間取引が完了していない取引を異常な取引とみなしてもよい。
【0121】
また、取引検証部402は、分散台帳を確認し、例えば、情報利用者からの情報要求のトランザクションデータが書き込まれていないのに、情報提供者からの情報提供のトランザクションデータが書き込まれていた場合には異常な取引とみなしてもよい。
【0122】
なお、分散台帳に基づき異常な取引が発生しているかどうかに関する検証方法または検証内容は、上記の場合に限定されない。
【0123】
また、取引検証部402は、異常な取引があった場合には、異常な取引の取引内容を通信部403に送信し、取引に関係している情報提供者または情報利用者に通知してもよい。より具体的には、取引検証部402は、分散台帳に書き込まれる全ての取引のうち、異常があった第1取引の当事者である情報提供者及び情報利用者の少なくとも一方に第1取引に異常があった旨の通知を行ってもよい。
【0124】
なお、取引検証部402は、異常な取引がなかった場合でも、当該取引に関係している情報提供者または情報利用者に当該取引に異常がない旨を通知してもよい。また、取引検証部402は、異常な取引に関する情報を含むトランザクションデータを生成させて、異常な取引があったことを確認したときには、認証サーバ装置300、310、320に対して、送信してもよい。
【0125】
[1.5.3 通信部403]
通信部403は、認証サーバ装置310、320との通信を行ったり、情報提供者端末100または情報利用者端末200との通信を行ったりする。
【0126】
本実施の形態では、通信部403は、認証サーバ装置300、310、320から分散台帳を取得して台帳格納部401に格納する。また、通信部403は、取引検証部402から検証結果を受け取り、その結果を情報提供者端末100または情報利用者端末200に送信してもよい。
【0127】
[2. 情報取引システムの動作]
続いて、以上のように構成された情報取引システムの動作の一例について説明する。情報取引システムの動作には、アクセス権設定フェーズ、情報要求フェーズ、情報提供フェーズ、情報復号フェーズ及び取引監査フェーズの5つのフェーズの動作がある。以下では、アクセス権設定フェーズ、情報要求フェーズ、情報提供フェーズ及び情報復号フェーズにおける情報取引システムの動作について説明する。
【0128】
[2.1 アクセス権設定フェーズ]
まず、アクセス権設定フェーズにおける情報取引システムの動作について説明する。アクセス権設定フェーズでは、情報提供者が、ブロックチェーンで公開するリストすなわち情報の目録における1以上の情報それぞれに対するアクセス権を設定する動作が行われる。アクセス権設定フェーズは、情報提供フェーズの前に行われる。
【0129】
図10は、本実施の形態に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。
【0130】
まず、情報提供者端末100は、情報提供者が保有している情報のうち1以上の情報を選択し、選択した1以上の情報それぞれに対してアクセス権を設定する(S101)。より具体的には、情報提供者は、情報提供者端末100を使用して、情報提供者が保有している情報のうちブロックチェーンを介して取引してもよい1以上の情報を選択する。情報提供者は、情報提供者端末100を使用して、選択した1以上の情報それぞれに関するアクセス権を設定する。
【0131】
次に、情報提供者端末100は、ステップS101で選択した1以上の情報の目録(すなわち第1情報目録)と、アクセス権情報とを含む第3トランザクションデータを生成する(S102)。より具体的には、情報提供者は、情報提供者端末100を使用して、選択した1以上の情報の名称とそのIDが示される第1情報目録と、1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報とを含む第3トランザクションデータを生成する。
【0132】
次に、情報提供者端末100は、ステップS102で生成した第3トランザクションデータを、認証サーバ装置300、310、320に送信する(S103)。
【0133】
次に、認証サーバ装置300、310、320それぞれは、取得した第3トランザクションデータを格納する(S104)。
【0134】
次に、認証サーバ装置300、310、320は、第3トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S105)。認証サーバ装置300、310、320は、第3トランザクションデータの正当性を検証すると、それぞれ第3トランザクションデータを含むブロックを生成する。ここで、認証サーバ装置300、310、320は、例えば非特許文献1に開示される方法に従うとする。この場合、認証サーバ装置300、310、320のうち最初にブロックを生成した認証サーバは、生成したブロックを他の認証サーバに送信し、他の認証サーバは、送信されて取得したブロックが正しく生成できているかを確認する。
【0135】
次に、認証サーバ装置300、310、320は、ステップS105でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S106)。
【0136】
[2.2 情報要求フェーズ]
続いて、情報要求フェーズにおける情報取引システムの動作について説明する。情報要求フェーズでは、複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳(つまりブロックチェーン)を介して、情報提供者が情報利用者の要求する情報を提供する動作が行われる。情報要求フェーズは、情報提供フェーズの前に行われる。
【0137】
図11は、本実施の形態に係る情報要求フェーズの動作の一例を示すシーケンス図である。
【0138】
まず、情報利用者端末200は、例えば認証サーバ装置300の最新の分散台帳を確認する(S201)。
図11に示す例では、情報利用者端末200は、例えば認証サーバ装置300に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置300により送信された最新台帳を取得することで、最新の分散台帳を確認する。
【0139】
次に、情報利用者端末200は、取得した最新の分散台帳のブロックを参照(確認)し、情報利用者が利用するために要求する情報があるか確認する(S202)。具体的には、情報利用者端末200は、取得した最新の分散台帳で公開された第1情報目録に示される情報のうち情報利用者が利用するために要求する第1情報の目録を示す第2情報目録があるかを確認する。
【0140】
ステップS202において、要求する情報があった場合(S202でYES)、情報利用者端末200は、要求する情報の取引に用いるための暗号鍵と復号鍵とを生成する(S203)。なお、ステップS202において、要求する情報がなかった場合(S202でNO)、ステップS201に戻って処理をやり直す。
【0141】
次に、情報利用者端末200は、情報利用者ID、情報提供者ID、第2情報目録及び暗号鍵を含む第1トランザクションデータを生成する(S204)。
【0142】
次に、情報利用者端末200は、ステップS204で生成した第1トランザクションデータを、認証サーバ装置300、310、320に送信する(S205)。
【0143】
次に、認証サーバ装置300、310、320それぞれは、取得した第1トランザクションデータを格納する(S206)。
【0144】
次に、認証サーバ装置300、310、320は、第1トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S207)。認証サーバ装置300、310、320は、第1トランザクションデータの正当性を検証すると、それぞれ第1トランザクションデータを含むブロックを生成する。
【0145】
次に、認証サーバ装置300、310、320は、ステップS207でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S208)。
【0146】
[2.3 情報提供フェーズ]
続いて、情報提供フェーズにおける情報取引システムの動作について説明する。情報提供フェーズでは、分散台帳を介して、情報利用者が情報提供者に対して第1情報を要求する動作が行われる。
【0147】
図12は、本実施の形態に係る情報提供フェーズの動作の一例を示すシーケンス図である。
【0148】
まず、情報提供者端末100は、例えば認証サーバ装置320の最新の分散台帳を確認する(S301)。
図12に示す例では、情報提供者端末100は、例えば認証サーバ装置320に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置320により送信された最新台帳を取得することで、最新の分散台帳を確認する。なお、情報提供者端末100が最新の分散台帳を確認するタイミングは定期的でもよいし、不定期でもよい。情報提供者端末100は、当該タイミングで認証サーバ装置320から送信された最新の分散台帳を確認する。
【0149】
次に、情報提供者端末100は、情報提供者IDを利用して、公開した第1情報目録に示される情報に対する要求があるか確認する(S302)。より具体的には、情報提供者端末100は、最新の分散台帳に書きこまれたトランザクションデータの中に、情報提供者IDを含み、公開した第1情報目録に示される情報を要求する第1トランザクションデータがあるかを確認する。
【0150】
ステップS302において、公開した第1情報目録に示される情報に対する要求があった場合(S302でYES)、情報提供者端末100は、最新の分散台帳に書きこまれている第2情報目録を含む第1トランザクションデータを取得する(S303)。なお、ステップS302において、公開した第1情報目録に示される情報に対する要求がなかった場合(S302でNO)、ステップS301に戻って処理をやり直す。
【0151】
次に、情報提供者端末100は、要求のあった第1情報目録に示される情報(すなわち第1情報)に対してアクセス権があるか確認する(S304)。より具体的には、情報提供者端末100は、ステップS303で取得した第1トランザクションデータに含まれる第2情報目録に示される、情報利用者が要求する第1情報に対してアクセス権があるか確認する。なお、ステップS304において、要求のあった第1情報目録に示される情報に対してアクセス権がなかった場合(S304でなし)、情報提供者端末100は、取得した第1トランザクションデータを破棄し、ステップS301に戻って処理をやり直す。
【0152】
ステップS304において、要求のあった第1情報目録に示される情報に対してアクセス権があった場合(S304であり)、情報提供者端末100は、要求された第1情報を暗号化した暗号化情報(すなわち第1暗号化情報)を生成する(S305)。より具体的には、情報提供者端末100は、ステップS303で取得した第1トランザクションデータに含まれる情報利用者端末200が生成した暗号鍵を利用して、要求された第1情報を暗号化した暗号化情報(すなわち第1暗号化情報)を生成する。
【0153】
次に、情報提供者端末100は、ステップS305で生成した第1暗号化情報と、情報利用者IDとを少なくとも含む第2トランザクションデータを生成する(S306)。
【0154】
次に、情報提供者端末100は、ステップS306で生成した第2トランザクションデータを、認証サーバ装置300、310、320に送信する(S307)。
【0155】
次に、認証サーバ装置300、310、320それぞれは、取得した第2トランザクションデータを格納する(S308)。
【0156】
次に、認証サーバ装置300、310、320は、第1トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S309)。認証サーバ装置300、310、320は、第2トランザクションデータの正当性を検証すると、それぞれ第2トランザクションデータを含むブロックを生成する。
【0157】
次に、認証サーバ装置300、310、320は、ステップS309でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S310)。
【0158】
[2.4 情報復号フェーズ]
続いて、情報復号フェーズにおける情報取引システムの動作について説明する。情報復号フェーズでは、分散台帳を介して、情報利用者が情報提供者により提供された第1暗号化情報の復号を行う動作が行われる。情報復号フェーズは、情報提供フェーズの後に行われる。
【0159】
図13は、本実施の形態に係る情報復号フェーズの動作の一例を示すシーケンス図である。
【0160】
まず、情報利用者端末200は、例えば認証サーバ装置300の最新の分散台帳を確認する(S401)。
図13に示す例では、情報利用者端末200は、例えば認証サーバ装置300に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置300により送信された最新台帳を取得することで、最新の分散台帳を確認する。なお、情報利用者端末200が最新の分散台帳を確認するタイミングは定期的でもよいし、不定期でもよい。情報利用者端末200は、当該タイミングで認証サーバ装置300から送信された最新の分散台帳を確認する。
【0161】
次に、情報利用者端末200は、取得した最新の分散台帳のブロックを参照(確認)し、情報利用者IDを利用して、情報提供者からの返答があったか確認する(S402)。より具体的には、情報利用者端末200は、最新の分散台帳に書きこまれたトランザクションデータの中に、情報利用者IDと情報提供者が生成した第1暗号化情報とを含む第2トランザクションデータがあるかを確認する。
【0162】
ステップS402において、情報提供者からの返答があった場合(S402でYES)、情報利用者端末200は、最新の分散台帳に書きこまれている情報利用者IDと第1暗号化情報とを含む第2トランザクションデータを取得する(S403)。なお、ステップS402において、情報提供者からの返答がなかった場合(S402でNO)、ステップS401に戻って処理をやり直す。
【0163】
次に、情報利用者端末200は、ステップS403で取得した第2トランザクションデータに含まれる第1暗号化情報を、情報要求フェーズのステップS203で生成した復号鍵で復号する(S404)。これにより、情報利用者は、情報要求フェーズで要求した第1情報を取得することができる。
【0164】
[3. 効果等]
以上、実施の形態に係る情報取引方法等によれば、情報提供者は自身が提供できる情報そのものではなく提供できる情報の名称とそのIDとを示す目録すなわち第1情報目録を含む第3トランザクションデータを分散台帳に書き込んで(ブロックチェーンに登録して)公開する。そして、情報利用者が要求する情報を示すトランザクションデータと、情報提供者が情報利用者から提供された暗号鍵で暗号化した要求する情報を含むトランザクションデータを共にブロックチェーンに書き込む。このようにすることで、ブロックチェーンに履歴を残さないと情報利用者が要求する情報の取引を行えない取引方法を実現できる。つまり、ブロックチェーンに履歴を残すことなく情報を取得できない情報取引方法等を実現できる。
【0165】
なお、情報利用者端末200は、情報提供者が公開した第1情報目録の中から利用したい情報を選択し、選択した情報のリスト(第2情報目録)を情報提供者に分散台帳を介して送信する。また、第2情報目録を情報提供者に分散台帳を介して送信する際に、情報利用者が生成した暗号鍵(公開鍵)を渡すことで、情報利用者以外の人に情報を盗み見られないようにしている。
【0166】
より詳細には、情報利用者は、分散台帳に書きこまれた公開情報である第1情報目録を参照する。情報利用者は、第1情報目録の中にほしい情報の名称があれば、暗号化鍵と復号鍵とをランダムに生成し、欲しい情報のIDと、暗号化鍵を含む第1トランザクションデータを分散台帳に書き込む。情報提供者は最新の分散台帳に書き込まれた第1トランザクションデータを取得して、自身の情報を要求することがわかれば、当該第1トランザクションデータに含まれている暗号鍵で、第1トランザクションデータに含まれているIDに対応する第1情報を暗号化した第1暗号化情報を含めた第2トランザクションデータを、分散台帳に書き込む。情報利用者は、最新の分散台帳に書き込まれた第2トランザクションデータを取得し、第2トランザクションデータの中に情報利用者の暗号化鍵で暗号化された第1暗号化情報が含まれていたら、自身が保持している復号鍵で復号することで、ほしい情報を得る。
【0167】
よって、情報利用者以外の人に情報を盗み見られないようにし、かつ、ブロックチェーンに履歴を残すことなく情報を取得できない情報取引方法等を実現できる。
【0168】
(変形例1)
上述した実施の形態では、情報取引監査装置400は、異常な取引があった場合、該当する取引の当事者である情報提供者及び情報利用者の少なくとも一方にその旨の通知を行うとして説明したが、これに限らない。情報取引監査装置400は、異常な取引があったことを確認したときには、認証サーバ装置300、310、320に対して、異常な取引に関する情報を含むトランザクションデータを生成して送信してもよい。この場合を変形例1として、上記実施の形態と異なる点を中心に説明する。
【0169】
[情報取引監査装置400a]
図14は、変形例1に係る情報取引監査装置400aの機能構成の一例を示す図である。
図9等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0170】
図14に示す情報取引監査装置400aは、
図9に示す情報取引監査装置400に対して、さらにトランザクションデータ生成部404を備える点で構成が異なる。以下、上述した実施の形態と異なる点を中心に説明する。
【0171】
[トランザクションデータ生成部404]
トランザクションデータ生成部404は、取引検証部402により異常な取引が発生していることが確認された場合、異常な取引に関する情報を含むトランザクションデータ(以下、第4トランザクションデータと称する)を生成する。つまり、トランザクションデータ生成部404は、分散台帳に書き込まれる全ての取引のうち、異常があった第1取引に関する情報を含む第4トランザクションデータを生成する。
【0172】
なお、トランザクションデータ生成部404は、取引検証部402により異常な取引が発生していないことが確認された場合でも、当該取引に異常がない旨を含むトランザクションデータ(以下、第5トランザクションデータと称する)を生成してもよい。つまり、トランザクションデータ生成部404は、分散台帳に書き込まれる全ての取引のうち、異常がなかった第2取引に関する情報を含む第5トランザクションデータを生成してもよい。
【0173】
そして、トランザクションデータ生成部404は、第4トランザクションデータまたは第5トランザクションデータを生成した場合には、通信部403を介して、認証サーバ装置300、310及び320の少なくとも1つへ送信する。
【0174】
これにより、第1取引の当事者である情報提供者及び情報利用者の少なくとも一方は、分散台帳に書き込まれた第4トランザクションデータを取得することで、第1取引に異常があったことを確認することができる。同様に、第2取引の当事者である情報提供者及び情報利用者の少なくとも一方が、分散台帳に書き込まれた第5トランザクションデータを取得し、第2取引には異常がなかったことを確認することができる。
【0175】
[変形例1に係る情報取引システムの動作]
続いて、変形例1に係る情報取引システムの動作の一例として、取引監査フェーズにおける情報取引システムの動作について説明する。
【0176】
[取引監査フェーズ]
取引監査フェーズの動作について説明する。取引監査フェーズでは、分散台帳に書きこまれている取引の異常を情報取引監査装置が監査する動作が行われる。
【0177】
図15は、変形例1に係る取引監査フェーズの動作の一例を示すシーケンス図である。
【0178】
まず、情報取引監査装置400aは、例えば認証サーバ装置320の最新の分散台帳を取得する(S501)。
図15に示す例では、情報取引監査装置400aは、例えば認証サーバ装置320に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置320により送信された最新台帳を取得する。なお、情報取引監査装置400aが最新の分散台帳を取得するタイミングは定期的である。
【0179】
次に、情報取引監査装置400aは、ステップS501で取得した最新の分散台帳を格納する(S502)。
【0180】
次に、情報取引監査装置400aは、ステップS502で格納した最新の分散台帳から、既に格納している分散台帳を確認することで、分散台帳に書き込まれる全ての取引のうち異常がある取引があるかを確認する(S503)。より具体的には、情報取引監査装置400aは、分散台帳に含まれる第1トランザクションデータ及び第2トランザクションデータ等をすべて抜き出し、全ての取引について、正しく完了しているか、正しく経過しているかを確認することで異常がある取引があるかを確認する。
【0181】
ステップS503において、異常がある取引がない場合(S503でなし)、情報取引監査装置400aは、ステップS501まで戻って処理を繰り返す。
【0182】
一方、ステップS503において、異常な取引があることが確認された場合(S503であり)には、情報取引監査装置400aは、異常があった第1取引に関する情報を含む第4トランザクションデータを生成する(S504)。
【0183】
次に、情報取引監査装置400aは、ステップS504で生成した第4トランザクションデータを、認証サーバ装置300、310、320に送信する(S505)。
【0184】
次に、認証サーバ装置300、310、320それぞれは、取得した第4トランザクションデータを格納する(S506)。
【0185】
次に、認証サーバ装置300、310、320は、第4トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S507)。認証サーバ装置300、310、320は、第4トランザクションデータの正当性を検証すると、それぞれ第4トランザクションデータを含むブロックを生成する。
【0186】
次に、認証サーバ装置300、310、320は、ステップS507でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S508)。
【0187】
これにより、第1取引の当事者である情報提供者及び情報利用者の少なくとも一方は、分散台帳に書き込まれた第4トランザクションデータを取得することで、第1取引に異常があったことを確認することができる。
【0188】
(変形例2)
上述した実施の形態では、情報提供者端末100は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報の目録と、そのアクセス権とを含む第3トランザクションデータを生成するとして説明したが、これに限らない。情報提供者端末100aは、分散台帳を介して提供可能な1以上の情報のハッシュ値を、第3トランザクションデータに含めてもよい。以下、この場合を変形例2として説明する。
【0189】
[情報提供者端末100a]
図16は、変形例2に係る情報提供者端末100aの機能構成の一例を示す図である。
図2等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0190】
図16に示す情報提供者端末100aは、
図2に示す情報提供者端末100に対して、ハッシュ値計算部108をさらに備える点で構成が異なる。以下、上述した実施の形態と異なる点を中心に説明する。
【0191】
[ハッシュ値計算部108]
ハッシュ値計算部108は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報のリストにおける1以上の情報それぞれに対してしたハッシュ値を計算する。
【0192】
これにより、本変形例では、トランザクションデータ生成部106は、第3トランザクションデータに、さらに、分散台帳を介して提供可能な1以上の情報のリスト(第1情報目録)における1以上の情報それぞれに対して計算したハッシュ値を含めて生成することができる。
【0193】
この結果、第1情報目録と、第1情報目録における1以上の情報それぞれに対して計算されたハッシュ値とが、分散台帳で公開されることになる。
【0194】
[情報利用者端末200a]
図17は、変形例2に係る情報利用者端末200aの機能構成の一例を示す図である。
図5等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0195】
図17に示す情報利用者端末200aは、
図5に示す情報利用者端末200に対して、ハッシュ値検証部208をさらに備える点で構成が異なる。以下、上述した実施の形態と異なる点を中心に説明する。
【0196】
[ハッシュ値検証部208]
ハッシュ値検証部208は、暗号化情報復号部206が第1暗号化情報を復号することで第1情報を取得後、その第1情報のハッシュ値(以下、第1ハッシュ値と称する)を計算する。
【0197】
ハッシュ値検証部208は、分散台帳で公開された1以上の情報それぞれに対するハッシュ値のうち第1情報に対応する第2ハッシュ値と、計算した第1ハッシュ値とを比較する。
【0198】
ハッシュ値検証部208は、第2ハッシュ値と第1ハッシュ値とを比較して、第2ハッシュ値と第1ハッシュ値とが異なっていた場合、トランザクションデータ生成部204に再度、第1トランザクションデータを生成させる。
【0199】
このように、情報利用者端末200aは、取得した第1情報の第1ハッシュ値と、分散台帳で公開された第2ハッシュ値とを比較する。情報利用者端末200aは、第1ハッシュ値と第2ハッシュ値とが一致していれば第1情報の取引を完了するが、一致していなかった場合には情報提供者端末100aに対して第1情報の再送を要求する。
【0200】
[変形例2に係る情報取引システムの動作]
続いて、変形例2に係る情報取引システムの動作の一例として、アクセス権設定フェーズと情報復号フェーズとにおける情報取引システムの動作について説明する。
【0201】
[アクセス権設定フェーズ]
変形例2に係るアクセス権設定フェーズの動作について説明する。
【0202】
図18は、変形例2に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。
図10等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図18に示すアクセス権設定フェーズの動作は、
図10に示すアクセス権設定フェーズの動作と比較して、ステップS102aの動作が異なる。
【0203】
すなわち、ステップS102aにおいて、情報提供者端末100aは、ステップS101で選択した1以上の情報の目録(すなわち第1情報目録)と、アクセス権情報と、ハッシュ値とを含む第3トランザクションデータを生成する。このハッシュ値は上述したように、第1情報目録における1以上の情報それぞれに対して計算されたハッシュ値である。
【0204】
[情報復号フェーズ]
続いて、変形例2に係る情報復号フェーズの動作について説明する。
【0205】
図19は、変形例2に係る情報復号フェーズの動作の一例を示すシーケンス図である。
図13等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
図19に示す情報復号フェーズの動作は、
図13に示す情報復号フェーズの動作と比較して、ステップS405以降の動作が追加されている。
【0206】
すなわち、まず、ステップS404において、情報利用者端末200aは、第2トランザクションデータに含まれる第1暗号化情報を、復号鍵で復号することで、情報要求フェーズで要求した第1情報を取得する。
【0207】
次に、情報利用者端末200aは、ステップS404で復号した第1情報の第1ハッシュ値を計算する(S405)。
【0208】
次に、情報利用者端末200aは、分散台帳で公開された第1情報に対応する第2ハッシュ値を取得する(S406)。
【0209】
次に、情報利用者端末200aは、ハッシュ値を比較する(S407)。より具体的には、情報利用者端末200aは、ステップS405で計算した第1情報の第1ハッシュ値と、ステップS406で取得した第1情報の第2ハッシュ値とを比較する。
【0210】
ステップS407において、比較したハッシュ値が一致する場合(S407で一致)には、処理を終了する。
【0211】
一方、ステップS407において、比較したハッシュ値が一致しない場合(S407で不一致)、情報利用者端末200aは、情報要求フェーズのステップS204で生成した第1トランザクションデータを、認証サーバ装置300、310、320に送信(再送)する(S408)。
【0212】
すると、認証サーバ装置300、310、320それぞれは、取得した第1トランザクションデータを格納する(S409)。
【0213】
次に、認証サーバ装置300、310、320は、第1トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S410)。認証サーバ装置300、310、320は、第1トランザクションデータの正当性を検証すると、それぞれ第1トランザクションデータを含むブロックを生成する。
【0214】
次に、認証サーバ装置300、310、320は、ステップS410でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S411)。
【0215】
このようにして、情報利用者端末200aは、第1ハッシュ値と第2ハッシュ値とが一致していれば第1情報の取引を完了するが、一致していなかった場合には情報提供者端末100aに対して第1情報の再送を要求する。よって、情報利用者端末200aは、情報利用者が要求した正しい第1情報を確実に取得することができる。
【0216】
(変形例3)
上記の実施の形態及び変形例において、情報利用者端末200は、情報復号フェーズにおいて第1情報を復号することにより取得した後、情報提供者に対して対価を支払ってもよい。つまり、情報取引システムの動作として、情報復号フェーズにおいて、さらに対価支払いフェーズの動作を行ってもよい。以下、この場合を変形例3として、上記実施の形態等と異なる点を中心に説明する。
【0217】
[対価支払いフェーズ]
図20は、変形例3に係る対価支払いフェーズの動作の一例を示すシーケンス図である。
【0218】
まず、情報利用者端末200は、情報要求フェーズで要求した第1情報を取得できたかを確認する(S501)。
【0219】
ステップS501において、要求した第1情報を取得できたことを確認した場合(S501でYES)、情報利用者端末200は、情報提供者へ対価を支払う第6トランザクションデータを生成する(S502)。ここでの対価とは、ビットコインのような暗号資産でもよいし、現金でもよいし、情報取引システム内でのみ使用できる独自のポイントでもよいし、相応の価値のあるものでもよい。また、情報利用者が例えば銀行振込等により代価を支払った後、支払ったことを証明する証書を示すデータを第6トランザクションデータに含めてもよい。
【0220】
次に、情報利用者端末200は、ステップS502で生成した第6トランザクションデータを、認証サーバ装置300、310、320に送信する(S503)。
【0221】
次に、認証サーバ装置300、310、320それぞれは、取得した第6トランザクションデータを格納する(S504)。
【0222】
次に、認証サーバ装置300、310、320は、第6トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S505)。認証サーバ装置300、310、320は、第6トランザクションデータの正当性を検証すると、それぞれ第6トランザクションデータを含むブロックを生成する。
【0223】
次に、認証サーバ装置300、310、320は、ステップS506でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S506)。
【0224】
なお、上記では、情報利用者端末200は、情報要求フェーズで要求した第1情報を取得できた毎に、情報提供者に対して対価を支払うとして説明したが、これに限らない。情報利用者端末200は、例えば10回に一度等、一定回数の取引ごとなど、所定の回数、第1情報を取得したときに、情報提供者に対してまとめて対価を支払ってもよい。また、情報利用者端末200は、例えば1か月に一度等、所定期間内に取得した第1情報の分の対価を情報提供者に対してまとめて支払ってもよい。
【0225】
(変形例4)
変形例3では、情報利用者端末200が生成した、情報提供者へ対価を支払う第6トランザクションデータが分散台帳に書き込まれることで、分散台帳を介して情報利用者から情報提供者へ対価を支払われるとして説明したが、これに限らない。情報利用者は、情報提供者端末100が作成したスマートコントラクトを利用し、情報提供者への対価を支払うとしてもよい。この場合、情報利用者は、情報利用者端末200に、第1情報を取得できた旨のトランザクションデータを生成し、分散台帳に送信すればよい。以下、この場合を変形例4として、上記変形例3と異なる点を中心に説明する。
【0226】
[スマートコントラクト設定フェーズ]
図21は、変形例4に係るスマートコントラクト設定フェーズの動作の一例を示すシーケンス図である。
【0227】
まず、情報提供者端末100は、情報提供者へ対価を支払うためのスマートコントラクトを作成する(S601)。ここで作成されるスマートコントラクトは、分散台帳を利用することで情報提供者へ対価を支払うという行動が実行可能にプログラム化されたスマートコントラクトである。
【0228】
次に、情報提供者端末100は、ステップS601で作成したスマートコントラクトと、例えば情報提供者に紐づけられる電子署名とを含むトランザクションデータを生成する(S602)。
【0229】
次に、情報提供者端末100は、ステップS602で生成したトランザクションデータを、認証サーバ装置300、310、320に送信する(S603)。
【0230】
次に、認証サーバ装置300、310、320それぞれは、取得したトランザクションデータを格納する(S604)。
【0231】
次に、認証サーバ装置300、310、320は、当該トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S605)。認証サーバ装置300、310、320は、当該トランザクションデータの正当性を検証すると、それぞれ当該トランザクションデータを含むブロックを生成する。
【0232】
次に、認証サーバ装置300、310、320は、ステップS605でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S606)。
【0233】
このようにして情報提供者端末100が作成したスマートコントラクトが分散台帳に書き込まれる。
【0234】
そして、このスマートコントラクトは、分散台帳に書き込まれることで、実行可能になるすなわち稼働する(S607)。
【0235】
[情報復号フェーズ]
本変形例では、情報復号フェーズにおいて、情報利用者端末200が第1情報を復号することにより取得した後、第1情報を取得できた旨のトランザクションデータを分散台帳に書き込む。これにより、スマートコントラクトが情報提供者に対して対価を支払うことができる。以下、これについて
図22を用いて説明する。
【0236】
図22は、変形例4に係る情報復号フェーズの動作の一例を示すシーケンス図である。
【0237】
まず、情報利用者端末200は、情報要求フェーズで要求した第1情報を取得できたかを確認する(S701)。
【0238】
ステップS701において、要求した第1情報を取得できたことを確認した場合(S701でYES)、情報利用者端末200は、第1情報を取得できた旨を示すトランザクションデータを生成する(S702)。
【0239】
次に、情報利用者端末200は、ステップS702で生成したトランザクションデータを、認証サーバ装置300、310、320に送信する(S703)。
【0240】
次に、認証サーバ装置300、310、320それぞれは、取得した当該トランザクションデータを格納する(S704)。
【0241】
次に、認証サーバ装置300、310、320は、当該トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S705)。認証サーバ装置300、310、320は、当該トランザクションデータの正当性を検証すると、それぞれ当該トランザクションデータを含むブロックを生成する。
【0242】
次に、認証サーバ装置300、310、320は、ステップS705でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S706)。
【0243】
すると、認証サーバ装置300、310、320それぞれは、支払を実行するスマートコントラクトを実行させる(S707)。これにより、スマートコントラクトが情報提供者に対して対価を支払うことができる。
【0244】
以上のようにして、情報利用者は、分散台帳に書きこまれたスマートコントラクトを用いて、情報提供者に対して対価を支払うことができる。なお、ブロックチェーンを用いたシステムの場合、最も時間のかかる処理はコンセンサスアルゴリズムを実行する処理である。本変形例では、スマートコントラクトを用いることで、上記変形例3に比べてコンセンサスアルゴリズムの実行回数が少なくできるので、取引にかかる時間を短縮できる。
【0245】
(変形例5)
なお、上記の実施の形態及び変形例では、分散台帳に書き込まれて公開される情報は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報のリストを示す第1情報目録であるとして説明したが、これに限らない。分散台帳を介して提供可能な1以上の情報であるが公開される情報を、情報利用者それぞれの公開鍵で暗号化した暗号化情報であるとしてもよい。
【0246】
より具体的には、情報提供者が保有する1以上の情報が、1以上の情報利用者端末200それぞれにより生成された暗号鍵で暗号化された暗号化情報と、当該暗号化情報それぞれを一意に識別するための暗号化情報IDとが複数の認証サーバ装置の分散台帳に書き込まれているとしてもよい。
【0247】
この場合、情報提供者端末100は、分散台帳に書きこまれた以下を含む第1トランザクションデータを取得すればよい。ここで、第1トランザクションデータは、第1情報利用者を一意に識別する識別子である第1情報利用者IDと、情報提供者を一意に識別する識別子である情報提供者IDと、情報提供者により分散台帳で公開された第1情報目録のうち第1情報利用者が要求する第1情報の目録を示す第2情報目録とを含む。
【0248】
そして、情報提供者端末100は、以下を含む第2トランザクションデータを生成すればよい。つまり、第2トランザクションデータには、第2情報目録により指定される第1情報に対応する1以上の暗号化情報のうち、第1情報利用者の情報利用者端末200により生成された暗号鍵で暗号化された第1暗号化情報を識別する暗号化情報IDと、情報提供者IDと、第1情報利用者IDとが含まれる。
【0249】
(他の実施の形態)
以上、本開示に係る情報取引システムについて、実施の形態に基づいて説明したが、本開示は、上記の実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態に施したものや、実施の形態に係る一部の構成要素を組み合わせて構成される別の形態も、本開示の範囲に含まれる。例えば、以下のような場合も本開示に含まれる。
【0250】
(1)上記実施の形態及び変形例では、情報提供者端末100等、情報利用者端末200等、及び情報取引監査装置400は、生成したトランザクションデータを全ての認証サーバ装置すなわち認証サーバ装置300、310、320に送信していたが、これに限らない。
【0251】
情報提供者端末100等、情報利用者端末200等、及び情報取引監査装置400は、認証サーバ装置のいずれか1つ、または1つ以上に送信してもよい。この場合、トランザクションデータを受け取った認証サーバ装置は、他の認証サーバ装置のいずれか1つ、または1つ以上に送信していくことで、全ての認証サーバ装置でトランザクションデータを共有することができる。
【0252】
(2)上記実施の形態及び変形例では、情報要求フェーズにおいて、情報利用者のアクセス権を情報提供者が確認する場合を例に挙げて説明したが、これに限らない。情報要求フェーズにおいて、認証サーバ装置300、310、320がコンセンサスアルゴリズムを実行する際にアクセス権の確認も行ってもよい。この場合、情報利用者にアクセス権がなかった場合には取得したトランザクションデータを破棄してもよい。
【0253】
より具体的には、情報要求フェーズでは、1以上の認証サーバ装置が、第1トランザクションデータを取得したときに、第1情報に設定されているアクセス権が情報利用者にあるかを確認してもよい。そして、情報利用者に前記第1情報に設定されているアクセス権がない場合、1以上の認証サーバ装置は、取得した第1トランザクションデータを破棄し、第1トランザクションデータの検証を行わないとしてもよい。
【0254】
(3)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0255】
(4)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0256】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。
【0257】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【0258】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0259】
(5)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0260】
(6)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0261】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0262】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0263】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0264】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0265】
(7)上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0266】
本開示は、情報取引方法、端末、及び、プログラムに利用でき、例えばブロックチェーンを介して情報を取引することで取引履歴を保証するサービスに利用する情報取引方法、端末、及び、プログラムに利用可能である。
【符号の説明】
【0267】
100、100a 情報提供者端末
101 保有情報格納部
102 公開情報選択部
103 アクセス権設定部
104、205 トランザクションデータ要求部
105 情報暗号化部
106、204、404 トランザクションデータ生成部
107、207、304、403 通信部
108 ハッシュ値計算部
200、200a 情報利用者端末
201 暗号鍵生成部
202 暗号鍵保管部
203 要求情報選択部
206 暗号化情報復号部
208 ハッシュ値検証部
300、310、320 認証サーバ装置
301 トランザクションデータ格納部
302 トランザクションデータ検証部
303 台帳更新部
400、400a 情報取引監査装置
401 台帳格納部
402 取引検証部