(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132302
(43)【公開日】2024-09-30
(54)【発明の名称】情報管理システム及び情報管理方法
(51)【国際特許分類】
H04L 9/08 20060101AFI20240920BHJP
G06Q 10/06 20230101ALI20240920BHJP
G06F 21/62 20130101ALI20240920BHJP
【FI】
H04L9/08 B
G06Q10/06
G06F21/62 345
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023043034
(22)【出願日】2023-03-17
(71)【出願人】
【識別番号】592131906
【氏名又は名称】みずほリサーチ&テクノロジーズ株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】武井 優介
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA08
5L049AA08
(57)【要約】
【課題】ユーザ情報を保護するとともに、円滑にユーザ情報を開示するための情報管理システム及び情報管理方法を提供する。
【解決手段】情報管理システムA1は、ブロックチェーンネットワークBN1の分散台帳BN2に接続される接続部AP1を備える。接続部AP1は、各ユーザの暗号用鍵ペアの公開鍵を、ブロックチェーン鍵を用いて、分散台帳BN2に登録する。接続部AP1は、情報登録者から取得した登録先ユーザのユーザ情報に対して、共通鍵を用いて暗号化登録情報を生成し、共通鍵を、登録先ユーザの公開鍵で暗号化した暗号化共通鍵を生成する。接続部AP1は、暗号化登録情報を、スキル情報記憶部23に登録先アドレスに関連付けて登録し、登録先アドレス及び暗号化共通鍵を、情報登録者のブロックチェーン鍵を用いて、分散台帳BN2に登録する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ブロックチェーンネットワークの分散台帳に接続されるコンピュータを備え、ユーザ情報を管理する情報管理システムであって、
前記コンピュータが、
各ユーザの暗号用鍵ペアの公開鍵を、ブロックチェーン鍵を用いて、分散台帳に登録し、
情報登録者から取得した登録先ユーザのユーザ情報に対して、共通鍵を用いて暗号化登録情報を生成し、
前記共通鍵を、前記登録先ユーザの公開鍵で暗号化した暗号化共通鍵を生成し、
前記暗号化登録情報を、データベースに登録先アドレスに関連付けて登録し、
前記登録先アドレス及び前記暗号化共通鍵を、情報登録者のブロックチェーン鍵を用いて、前記分散台帳に登録することを特徴とする情報管理システム。
【請求項2】
前記ユーザ情報は、第1共通鍵で暗号化されて、前記データベースに記録され、
前記第1共通鍵は、前記ユーザ情報のユーザの公開鍵で暗号化されて、前記データベースの前記登録先アドレスとともに、前記分散台帳に登録されることを特徴とする請求項1に記載の情報管理システム。
【請求項3】
前記コンピュータが、
開示要求者から、ユーザ情報の開示要求を取得し、
前記開示要求に対応する開示希望情報を特定し、
前記開示要求のユーザ情報から、前記開示希望情報に応じた開示可能情報を特定し、
前記開示可能情報を、前記データベースに、前記登録先アドレスに関連付けて共通鍵で暗号化して登録し、
前記共通鍵を、前記開示要求者の公開鍵で暗号化して暗号化共通鍵を生成し、
前記登録先アドレス及び前記暗号化共通鍵を前記ブロックチェーンネットワークにおいて公開することを特徴とする請求項1又は2に記載の情報管理システム。
【請求項4】
前記コンピュータが、
前記共通鍵を、承認者の公開鍵で暗号化した暗号化共通鍵を生成し、
前記暗号化登録情報を、前記データベースに前記登録先アドレスに関連付けて登録し、
前記承認者に対して、承認依頼を行なうことを特徴とする請求項1又は2に記載の情報管理システム。
【請求項5】
前記コンピュータが、前記データベースに記録されたユーザ情報を、前記情報登録者のNFTとして登録することを特徴とする請求項1又は2に記載の情報管理システム。
【請求項6】
前記コンピュータが、前記ユーザ情報のNFTの取引により、前記情報登録者に特典を付与することを特徴とする請求項5に記載の情報管理システム。
【請求項7】
ブロックチェーンネットワークの分散台帳に接続されるコンピュータを備えた情報管理システムを用いて、ユーザ情報を管理する方法であって、
前記コンピュータが、
各ユーザの暗号用鍵ペアの公開鍵を、ブロックチェーン鍵を用いて、分散台帳に登録し、
情報登録者から取得した登録先ユーザのユーザ情報に対して、共通鍵を用いて暗号化登録情報を生成し、
前記共通鍵を、前記登録先ユーザの公開鍵で暗号化した暗号化共通鍵を生成し、
前記暗号化登録情報を、データベースに登録先アドレスに関連付けて登録し、
前記登録先アドレス及び前記暗号化共通鍵を、情報登録者のブロックチェーン鍵を用いて、前記分散台帳に登録することを特徴とする情報管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、個人情報を管理するための情報管理システム及び情報管理方法に関する。
【背景技術】
【0002】
個人情報の管理や運用を行なう情報銀行が注目されている。この情報銀行では、ユーザの個人情報の利用条件を決めた上で、企業等に個人情報を提供する。そして、個人情報を活用した企業が、ユーザに合わせたサービスや商品を提供する。このために、個人情報の管理・運用を行なうための技術が検討されている(例えば、特許文献1参照)。特許文献1に記載された情報銀行システムは、個人情報の開示に対する同意情報または個人情報へのアクセス情報とトランザクション識別子とを含むトランザクションを生成する証跡制御サーバを備える。更に、証跡制御サーバから受信したトランザクションと、第2ブロックより前に生成した第1ブロックから算出されるハッシュ値と、を含む第2ブロックを生成するOrdererと、第2ブロックを分散台帳に書き込む複数の検証サーバと、を備える。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、情報銀行においては、ユーザ情報を保護するとともに、ユーザ情報を効率的に開示できなければ、的確なサービスの提供が困難であった。
【課題を解決するための手段】
【0005】
上記課題を解決する情報管理システムは、ブロックチェーンネットワークの分散台帳に接続されるコンピュータを備える。そして、前記コンピュータが、各ユーザの暗号用鍵ペアの公開鍵を、ブロックチェーン鍵を用いて、分散台帳に登録し、情報登録者から取得した登録先ユーザのユーザ情報に対して、共通鍵を用いて暗号化登録情報を生成し、前記共通鍵を、前記登録先ユーザの公開鍵で暗号化した暗号化共通鍵を生成し、前記暗号化登録情報を、データベースに、登録先アドレスに関連付けて登録し、前記登録先アドレス及び前記暗号化共通鍵を、情報登録者のブロックチェーン鍵を用いて、前記ブロックチェーンネットワーク上の分散台帳に登録する。
【発明の効果】
【0006】
本発明によれば、ユーザ情報を保護するとともに、円滑にユーザ情報を開示することができる。
【図面の簡単な説明】
【0007】
【
図1】実施形態の情報管理システムの説明図である。
【
図2】実施形態のハードウェア構成の説明図である。
【
図3】実施形態のアカウント登録処理の処理手順の説明図である。
【
図4】実施形態のスキル登録処理の処理手順の説明図である。
【
図5】実施形態の開示要求処理の処理手順の説明図である。
【
図6】実施形態の開示許可処理の処理手順の説明図である。
【
図7】実施形態の情報取得処理の処理手順の説明図である。
【
図8】実施形態の登録時のデータの遷移の説明図である。
【
図9】実施形態の開示要求時のデータの遷移の説明図である。
【
図10】実施形態の開示時のデータの遷移の説明図である。
【
図11】他の実施形態の承認依頼処理の処理手順の説明図である。
【
図12】他の実施形態の承認処理の処理手順の説明図である。
【発明を実施するための形態】
【0008】
以下、
図1~
図10に従って、情報管理システム及び情報管理方法を具体化した一実施形態を説明する。本実施形態では、ブロックチェーンネットワーク上にユーザ情報(個人情報)に関する情報を公開することで、開示要求者に個人情報を提供する。
【0009】
図1に示すように、情報管理システムA1では、インターネット等のネットワークN1を介して相互に接続されたユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40、接続部AP1等を用いる。ユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40は、接続部AP1を介して、ブロックチェーンネットワークBN1に接続される。
【0010】
(ハードウェア構成)
図2を用いて、ユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40、接続部AP1を構成する情報処理装置H10のハードウェア構成を説明する。情報処理装置H10は、通信装置H11、入力装置H12、表示装置H13、記憶装置H14、プロセッサH15を備える。なお、このハードウェア構成は一例であり、他のハードウェアにより実現することも可能である。
【0011】
通信装置H11は、他の装置との間で通信経路を確立して、データの送受信を実行するインタフェースであり、例えばネットワークインタフェースや無線インタフェース等である。
【0012】
入力装置H12は、利用者等からの入力を受け付ける装置であり、例えばマウスやキーボード等である。表示装置H13は、各種情報を表示するディスプレイ等である。タッチパネルディスプレイ等は、入力装置H12、表示装置H13として機能する。
【0013】
記憶装置H14は、ユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40、接続部AP1の各種機能を実行するためのデータや各種プログラムを格納する記憶装置である。記憶装置H14の一例としては、ROM、RAM、ハードディスク等がある。
【0014】
プロセッサH15は、記憶装置H14に記憶されるプログラムやデータを用いて、ユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40、接続部AP1における各処理を制御する。プロセッサH15の一例としては、例えばCPUやMPU等がある。このプロセッサH15は、ROM等に記憶されるプログラムをRAMに展開して、各サービスのための各種プロセスを実行する。
【0015】
プロセッサH15は、自身が実行するすべての処理についてソフトウェア処理を行なうものに限られない。例えば、プロセッサH15は、自身が実行する処理の少なくとも一部についてハードウェア処理を行う専用のハードウェア回路(例えば、特定用途向け集積回路:ASIC)を備えてもよい。すなわち、プロセッサH15は、以下で構成し得る。
【0016】
〔1〕コンピュータプログラム(ソフトウェア)に従って動作する1つ以上のプロセッサ
〔2〕各種処理のうち少なくとも一部の処理を実行する1つ以上の専用のハードウェア回路、或いは
〔3〕それらの組み合わせ、を含む回路(circuitry)
プロセッサは、CPU並びに、RAM及びROM等のメモリを含み、メモリは、処理をCPUに実行させるように構成されたプログラムコード又は指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用又は専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。
【0017】
(システム構成)
次に、
図1~
図10を用いて、ブロックチェーンネットワークBN1、ユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40の機能を説明する。
【0018】
ユーザ端末10(10a,10b,10c)は、それぞれ、各ユーザ(スキル保有者、情報登録者、開示要求者)が用いるコンピュータ端末である。スキル保有者は、スキルを保有しているユーザ(登録先ユーザ)である。情報登録者は、スキル保有者のスキル情報(ユーザ情報)を登録するユーザである。開示要求者は、スキル保有者のスキル情報の開示を希望するユーザである。
【0019】
このユーザ端末10は、アプリ実行部を備え、記憶部に格納されたアプリケーションを実行する。本実施形態では、情報管理アプリを実行することにより、ユーザ端末10は、ネットワークN1を介して接続部AP1に接続する。なお、接続部AP1は、情報管理アプリを実行することにより、ユーザ端末10内に設けてもよい。
【0020】
接続部AP1は、ネットワークN1上の所定サーバで動作するAPI(Application Programming Interface)である。この接続部AP1は、ブロックチェーンネットワークBN1にアクセスして、各種情報のダウンロードやアップロードを行なうためのアプリケーションプログラムである。
【0021】
情報サーバ20は、暗号化されたスキル情報を保存するコンピュータシステムである。この情報サーバ20は、スキル情報のハッシュ値(登録先アドレスとしてのURL)によりインデックス化されたデータベースである。この情報サーバ20は、制御部21、ユーザマスタ記憶部22、スキル情報記憶部23、開示情報記憶部24を備える。
制御部21は、情報管理プログラムを実行することにより、ユーザに関する情報の登録やスキル情報の開示を行なう。
【0022】
ユーザマスタ記憶部22には、ユーザマスタ情報が記録される。ユーザマスタ情報は、本サービスの利用登録時に生成される。ユーザマスタ情報には、ユーザ識別子、ユーザ種別、ユーザ属性に関する情報が含まれる。
【0023】
ユーザ識別子は、各ユーザを特定するための識別子である。本実施形態では、ブロックチェーンネットワークBN1にトランザクションを登録する場合のアドレスを用いる。
ユーザ種別は、このユーザの種別(個人又は法人)を特定するための識別子である。
ユーザ属性は、このユーザの属性情報(個人情報や法人情報)である。
【0024】
スキル情報記憶部23は、スキル保有者のスキルに関するユーザ情報(暗号化登録情報としての暗号化スキル情報)を記録するデータベースである。暗号化スキル情報は、情報登録者によってスキル情報が登録された場合に生成される。暗号化スキル情報は、URL(Uniform Resource Locator)に関連付けられて記録される。このURLは、後述するように、ブロックチェーンネットワークBN1に記録される。
【0025】
URLは、暗号化スキル情報のハッシュ値により算出される。
暗号化スキル情報は、スキル保有者のスキル情報を共通鍵(第1共通鍵)で暗号化した情報である。スキル情報には、例えば、身元確認情報、学歴情報、職歴情報、資格情報、経験情報等がある。
【0026】
開示情報記憶部24は、URLに対して、開示可能なスキルに関する情報(暗号化開示情報)を記録するデータベースである。暗号化開示情報は、スキル保有者によって開示が許可された場合に生成される。暗号化開示情報は、URLに関連付けられて記録される。
【0027】
URLは、暗号化開示情報のハッシュ値により算出される。
暗号化開示情報は、スキル保有者によって開示が許可されたスキル情報を共通鍵で暗号化した情報である。
【0028】
鍵管理サーバ30は、各ユーザ(スキル保有者、情報登録者、開示要求者)の鍵を管理するサービスを提供するコンピュータシステムである。鍵管理サーバ30は、暗号用鍵ペアを生成する。本実施形態では、ブロックチェーンネットワークBN1のアドレスに関連付けて、暗号鍵の秘密鍵を管理する。秘密鍵は、各種情報の暗号化に用いる鍵であり、公開鍵暗号(RSA暗号)方式の秘密鍵である。これらの鍵管理は、本人認証を行なう認証サービスと連携して行なわれる。
【0029】
認証サーバ40は、各ユーザの本人確認サービスを提供するコンピュータシステムである。この認証サーバ40は、本人のID/PW方式や多要素認証(SMS,端末認証等)を用いて、ユーザ本人を確認する。
【0030】
ブロックチェーンネットワークBN1は、情報を分散して記憶する分散台帳BN2を備える。このブロックチェーンネットワークBN1を利用することにより、データの対改ざん性、可用性を実現する。ブロックチェーンネットワークBN1上の各ユーザのアドレスは、ECC(楕円曲線暗号)方式の署名鍵から生成される。この署名鍵は、ブロックチェーンネットワークBN1のトランザクションの署名のための秘密鍵である。
【0031】
分散台帳BN2には、ブロックチェーンネットワークBN1のアドレスに対して、ユーザの公開鍵、URL、暗号化共通鍵が記録される。
公開鍵は、暗号化のための秘密鍵である。
【0032】
URLは、共通鍵で暗号化されているスキル情報(ユーザが保有しているスキルに関する情報)が登録されている情報サーバ20のアドレスである。
暗号化共通鍵は、URLに対応して、ユーザの秘密鍵で暗号化されている共通鍵である。
【0033】
(情報管理方法)
次に、
図3~
図10を用いて、情報管理方法を説明する。
(アカウント登録処理)
まず、
図3を用いて、アカウント登録処理について説明する。この処理は、各ユーザ(スキル保有者、情報登録者、開示要求者)によって、本サービスの利用に先立って、ユーザ端末10(10a,10b,10c)を用いて行なわれる。
【0034】
ここでは、まず、ユーザ端末10は、鍵の生成処理を実行する(ステップS101)。具体的には、各ユーザは、ユーザ端末10のアプリ実行部を用いて、情報管理アプリを起動して、接続部AP1にアクセスする。この場合、接続部AP1は、認証サーバ40にアクセスする。そして、接続部AP1は、認証サーバ40による認証サービスを利用して、各ユーザの本人確認を行なう。
【0035】
本人確認を完了した場合、ユーザ端末10は、鍵管理サーバ30にアクセスする。そして、鍵管理サーバ30は、署名鍵(ブロックチェーン鍵)、データ暗号用の暗号鍵(公開鍵、秘密鍵)を生成する。そして、鍵管理サーバ30は、ユーザ毎に、署名鍵、暗号鍵(秘密鍵)を保持する。
【0036】
次に、ユーザ端末10は、アカウントの生成処理を実行する(ステップS102)。具体的には、ユーザ端末10は、接続部AP1を介して、ブロックチェーンネットワークBN1の分散台帳BN2に、署名鍵で署名したトランザクションを用いてアドレス(アカウント)を登録する。
【0037】
この場合、接続部AP1は、ブロックチェーンネットワークBN1のアドレスに関連付けて、暗号鍵の公開鍵を、ブロックチェーンネットワークBN1の分散台帳BN2に、トランザクションとして登録する。これにより、鍵管理サーバ30の鍵(署名鍵、暗号鍵)と、ブロックチェーンネットワークBN1上のアドレスが関連付けられる。
【0038】
(スキル登録処理)
次に、
図4、
図8を用いて、スキル登録処理について説明する。この処理は、情報登録者が、スキル保有者のスキル情報を登録する場合に行なわれる。
【0039】
ここでは、まず、ユーザ端末10bは、登録対象者のスキル情報の生成処理を実行する(ステップS201)。具体的には、情報登録者は、ユーザ端末10bを起動して、登録画面を出力させる。そして、接続部AP1は、登録画面に入力されたスキル保有者(登録対象者)のスキル情報を取得する。このスキル情報は、情報登録者が保有する情報であって、登録対象者のスキル情報である。本実施形態では、スキル情報はJSON形式の非構造で生成される。
【0040】
次に、ユーザ端末10bは、共通鍵の生成処理を実行する(ステップS202)。具体的には、ユーザ端末10bは、共通鍵(第1共通鍵)を生成する。
次に、ユーザ端末10bは、共通鍵によりスキル情報の暗号化処理を実行する(ステップS203)。具体的には、ユーザ端末10bは、生成した共通鍵を用いて、スキル情報を暗号化した暗号化スキル情報を生成する。
図8に示すように、スキル情報511を第1共通鍵512で暗号化した暗号化スキル情報513を生成する。
【0041】
次に、ユーザ端末10bは、暗号化情報の登録処理を実行する(ステップS204)。具体的には、ユーザ端末10bは、接続部AP1を介して、暗号化スキル情報を、情報サーバ20のスキル情報記憶部23に登録する。この場合、情報サーバ20の制御部21は、スキル情報記憶部23において、暗号化スキル情報のハッシュ値により、URL(登録先を示すインデックス)を生成し、URLに関連付けて暗号化スキル情報を記録する。そして、ユーザ端末10bは、接続部AP1を介して、情報サーバ20から、暗号化スキル情報が登録されたURLを取得する。
図8に示すように、情報サーバ20において、暗号化スキル情報513はURL514に関連付けて記録される。
【0042】
次に、ユーザ端末10bは、登録対象者の公開鍵の取得処理を実行する(ステップS205)。具体的には、ユーザ端末10bは、接続部AP1を介して、ブロックチェーンネットワークBN1上に公開されている登録対象者(スキル保有者)の公開鍵を取得する。
【0043】
次に、ユーザ端末10bは、公開鍵により共通鍵の暗号化処理を実行する(ステップS206)。具体的には、ユーザ端末10bは、登録対象者(スキル保有者)の公開鍵で、暗号化スキル情報の生成に用いた共通鍵の暗号化を行なう。
図8に示すように、第1共通鍵512を、登録対象者の公開鍵515で暗号化した暗号化共通鍵516を生成する。
【0044】
次に、ユーザ端末10bは、暗号化共通鍵、URLの登録処理を実行する(ステップS207)。具体的には、ユーザ端末10bは、接続部AP1を介して、暗号化共通鍵、URLを、登録対象者(スキル保有者)のアドレスに関連付けて、ブロックチェーンネットワークBN1の分散台帳BN2に、登録トランザクションとして登録する。この場合、暗号化共通鍵、URLには、情報登録者の署名鍵で署名を行なう。
図8に示すように、URL514、暗号化共通鍵516には、情報登録者の署名517が付される。
【0045】
(開示要求処理)
次に、
図5、
図9を用いて、開示要求処理について説明する。この処理は、開示要求者(リクエスト元)が、ユーザ端末10cを用いて、スキル情報の開示を要求する場合に行なわれる。
【0046】
ここでは、まず、ユーザ端末10cは、開示希望の入力処理を実行する(ステップS301)。具体的には、開示要求者は、ユーザ端末10cの情報管理アプリを起動して、要求画面を出力させる。この要求画面には、開示の同意に必要な要求情報(スキル保有者(要求先)、開示希望情報種類、個人情報の利用目的等)を入力する。そして、接続部AP1は、ユーザ端末10cから、要求画面に入力された要求情報を取得する。
【0047】
次に、ユーザ端末10cは、リクエスト情報の登録処理を実行する(ステップS302)。具体的には、ユーザ端末10cは、接続部AP1にアクセスする。この場合、接続部AP1は、要求情報を含めたリクエスト情報を生成し、開示要求者の署名鍵で署名を付する。そして、接続部AP1は、スキル保有者(要求先)のアドレスに関連付けて、リクエスト情報を、ブロックチェーンネットワークBN1の分散台帳BN2に、登録トランザクションとして登録する。
この場合、
図9に示すように、リクエスト情報521には、開示要求者の署名522が付される。
【0048】
(開示許可処理)
次に、
図6、
図9を用いて、開示許可処理について説明する。この処理は、スキル保有者(要求先)が、ユーザ端末10aを用いて、スキル情報の開示を許可する場合に行なわれる。
【0049】
ここでは、まず、ユーザ端末10aは、リクエスト情報の開示要求者の署名の検証処理を実行する(ステップS401)。具体的には、ユーザ端末10aは、接続部AP1を介して、ブロックチェーンネットワークBN1から、スキル保有者(要求先)のアドレスに関連付けられた自分宛のリクエスト情報を取得する。そして、接続部AP1は、リクエスト情報の開示要求者の署名からアドレスを正しく導出できることを検証する。更に、接続部AP1は、導き出したアドレスが、ブロックチェーンネットワークBN1上で管理されているアカウントのものと一致することを検証する。これにより、リクエスト情報の登録者が開示要求者であることを検証できる。
【0050】
開示要求者の署名の検証を完了した場合、ユーザ端末10aは、開示希望情報の取得処理を実行する(ステップS402)。具体的には、ユーザ端末10aは、接続部AP1を介して、ブロックチェーンネットワークBN1の分散台帳BN2から、暗号化スキル情報が保存されたURLを取得する。次に、ユーザ端末10aは、接続部AP1を介して、URLを用いて、情報サーバ20のスキル情報記憶部23から、暗号化スキル情報を取得する。
【0051】
次に、ユーザ端末10aは、暗号化共通鍵の取得処理を実行する(ステップS403)。具体的には、ユーザ端末10aは、接続部AP1を介して、ブロックチェーンネットワークBN1から、暗号化スキル情報に対応する暗号化共通鍵を取得する。
図9に示すように、ブロックチェーンネットワークBN1から、暗号化共通鍵516を取得する。
【0052】
次に、ユーザ端末10aは、秘密鍵により暗号化共通鍵の復号処理を実行する(ステップS404)。具体的には、ユーザ端末10aは、接続部AP1を介して、鍵管理サーバ30に、暗号化共通鍵の復号を依頼する。この場合、鍵管理サーバ30は、ブロックチェーンネットワークBN1のアドレスに関連付けられた秘密鍵(スキル保有者の秘密鍵)を用いて、暗号化共通鍵を復号する。そして、ユーザ端末10aは、鍵管理サーバ30から、復号された共通鍵(第1共通鍵)を取得する。
図9に示すように、暗号化共通鍵516を、スキル保有者の秘密鍵523で復号して第1共通鍵512を取得する。
【0053】
次に、ユーザ端末10aは、共通鍵によりスキル情報の復号処理を実行する(ステップS405)。具体的には、ユーザ端末10aは、復号した第1共通鍵を用いて、暗号化スキル情報を復号する。
図9に示すように、第1共通鍵512を用いて、スキル保有者の暗号化スキル情報513を復号してスキル情報511を取得する。
【0054】
次に、ユーザ端末10aは、開示するスキル情報の選択処理を実行する(ステップS406)。具体的には、ユーザ端末10aは、選択画面を出力する。この場合、スキル保有者は、選択画面において、リクエスト情報に含まれる開示希望情報種類の中で開示可能なスキル情報を選択する。そして、ユーザ端末10aは、選択画面において、スキル保有者が選択したスキル情報(開示可能情報)を特定する。
図9に示すように、スキル情報511の中で開示可能な開示情報531を特定する。
【0055】
次に、ユーザ端末10aは、開示するスキル情報の暗号化処理を実行する(ステップS407)。具体的には、ユーザ端末10aは、新たな共通鍵(第2共通鍵)を生成する。そして、ユーザ端末10aは、選択されたスキル情報を、新たに生成した共通鍵を用いて暗号化を行なうことにより、暗号化開示情報を生成する。
図9に示すように、開示情報531を第2共通鍵532で暗号化した暗号化開示情報533を生成する。
【0056】
次に、ユーザ端末10aは、暗号化情報の登録処理を実行する(ステップS408)。具体的には、ユーザ端末10aは、接続部AP1を介して、暗号化開示情報を、情報サーバ20の開示情報記憶部24に登録する。この場合、情報サーバ20の制御部21は、暗号化開示情報のハッシュ値により、URL(登録先を示すインデックス)を生成し、URLに関連付けて暗号化スキル情報を記録する。そして、ユーザ端末10aは、接続部AP1を介して、情報サーバ20から、暗号化開示情報が登録されたURLを取得する。
図9に示すように、情報サーバ20において、暗号化開示情報533が登録されているURL534を取得する。
【0057】
次に、ユーザ端末10aは、開示要求者の公開鍵の取得処理を実行する(ステップS409)。具体的には、ユーザ端末10aは、接続部AP1を介して、ブロックチェーンネットワークBN1上に公開されている開示要求者の公開鍵を取得する。
【0058】
次に、ユーザ端末10aは、共通鍵の暗号化処理を実行する(ステップS410)。具体的には、ユーザ端末10aは、開示要求者の公開鍵で、暗号化開示情報の生成に用いた共通鍵(第2共通鍵)の暗号化を行なう。
図9に示すように、第2共通鍵532を、開示要求者の公開鍵535で暗号化した暗号化共通鍵536を生成する。
【0059】
次に、ユーザ端末10aは、暗号化共通鍵、URLの登録処理を実行する(ステップS411)。具体的には、ユーザ端末10aは、接続部AP1を介して、暗号化共通鍵、URLを、開示要求者のアドレスに関連付けて、ブロックチェーンネットワークBN1の分散台帳BN2に、開示トランザクションとして登録する。この場合、暗号化共通鍵、URLには、スキル登録者の署名鍵で署名が付される。
図9に示すように、URL534、暗号化共通鍵536には、スキル保有者の署名537が付される。
【0060】
(情報取得処理)
次に、
図7、
図10を用いて、情報取得処理について説明する。この処理は、情報開示が許可された場合に、開示要求者(リクエスト元)が、ユーザ端末10cを用いて行なわれる。
【0061】
ここでは、まず、ユーザ端末10cは、リクエスト情報のレスポンスの取得処理を実行する(ステップS501)。具体的には、ユーザ端末10cは、接続部AP1を介して、ブロックチェーンネットワークBN1から、開示要求者(リクエスト元)のアドレスに関連付けられた自分宛のレスポンス情報を取得する。次に、ユーザ端末10cは、接続部AP1を介して、ブロックチェーンネットワークBN1の分散台帳BN2から、暗号化共通鍵、URLを取得する。
図10に示すように、ブロックチェーンネットワークBN1から、URL534、暗号化共通鍵536を取得する。
【0062】
次に、ユーザ端末10cは、スキル登録者の署名の検証処理を実行する(ステップS502)。具体的には、ユーザ端末10cは、暗号化共通鍵、URLの署名を用いて、署名からアドレスを正しく導出できることにより検証する。更に、ユーザ端末10cは、導き出したアドレスと、スキル保持者のアドレスとが一致することを検証する。これにより、登録者がスキル保持者であることを検証できる。
【0063】
次に、ユーザ端末10cは、暗号化開示情報の取得処理を実行する(ステップS503)。具体的には、ユーザ端末10cは、接続部AP1を介して、URLを用いて、情報サーバ20の開示情報記憶部24から、暗号化開示情報を取得する。
図10に示すように、URL534を用いて、情報サーバ20から、暗号化開示情報533を取得する。
【0064】
スキル保持者の署名の検証を完了した場合、ユーザ端末10cは、共通鍵の復号処理を実行する(ステップS504)。具体的には、ユーザ端末10cは、鍵管理サーバ30に、暗号化共通鍵の復号を依頼する。この場合、鍵管理サーバ30は、ブロックチェーンネットワークBN1のアドレスに関連付けられた秘密鍵(開示要求者の秘密鍵)を用いて、暗号化共通鍵を復号する。そして、ユーザ端末10cは、鍵管理サーバ30から、復号された共通鍵(第2共通鍵)を取得する。
【0065】
図10に示すように、暗号化共通鍵536を、開示要求者の秘密鍵541で復号して第2共通鍵532を取得する。
次に、ユーザ端末10cは、開示情報の復号処理を実行する(ステップS505)。具体的には、ユーザ端末10cは、取得した共通鍵を用いて、暗号化スキル情報を復号する。そして、開示要求者は、スキル保有者のスキル情報(開示情報)を確認する。
【0066】
図10に示すように、第2共通鍵532を用いて、暗号化開示情報533を復号して開示情報531を取得する。
【0067】
以上、本実施形態によれば、以下に示す効果を得ることができる。
(1)本実施形態では、ユーザ端末10は、公開鍵の登録処理を実行する(ステップS103)。これにより、ブロックチェーンネットワークBN1を介して、各ユーザの公開鍵を取得することができる。
【0068】
(2)本実施形態では、ユーザ端末10bは、共通鍵の生成処理(ステップS202)、共通鍵によりスキル情報の暗号化処理(ステップS203)、暗号化情報の登録処理(ステップS204)を実行する。これにより、情報サーバ20に、スキル保有者のスキル情報を、共通鍵で暗号化した状態で登録できる。そして、提供された情報がブロックチェーンネットワークによって改ざんされていないことを保証できる。更に、情報サーバ20、鍵管理サーバ30での鍵でのユーザ情報、これらを連携させる情報をブロックチェーンネットワークで分散して管理できる。
【0069】
(3)本実施形態では、ユーザ端末10bは、登録対象者の公開鍵の取得処理(ステップS205)、公開鍵により共通鍵の暗号化処理(ステップS206)、暗号化共通鍵、URLの登録処理(ステップS207)を実行する。これにより、暗号化スキル情報を復号するための共通鍵を、スキル保有者のみが復号できる。
【0070】
(4)本実施形態では、ユーザ端末10cは、開示希望の入力処理(ステップS301)、リクエスト情報の登録処理(ステップS302)を実行する。これにより、スキル保有者は、開示要求を把握できる。
【0071】
(5)本実施形態では、ユーザ端末10aは、暗号化共通鍵の取得処理(ステップS403)、秘密鍵により暗号化共通鍵の復号処理(ステップS404)、共通鍵によりスキル情報の復号処理(ステップS405)を実行する。これにより、スキル保有者は、暗号化スキル情報を復号して、スキル情報を取得できる。
【0072】
(6)本実施形態では、ユーザ端末10aは、開示するスキル情報の選択処理(ステップS406)、開示するスキル情報の暗号化処理(ステップS407)、暗号化情報の登録処理(ステップS408)を実行する。これにより、スキル保有者の希望により、開示するスキル情報を選択できる。従って、個人が提供する情報をコントロールできる。
【0073】
(7)本実施形態では、ユーザ端末10bは、開示要求者の公開鍵の取得処理(ステップS409)、共通鍵の暗号化処理(ステップS410)、暗号化共通鍵、URLの登録処理(ステップS411)を実行する。これにより、開示要求者は、暗号化開示情報を復号するための共通鍵を、開示要求保有者のみが復号できる。
【0074】
(8)本実施形態では、ユーザ端末10cは、暗号化開示情報の取得処理(ステップS503)、共通鍵の復号処理(ステップS504)、開示情報の復号処理(ステップS505)を実行する。これにより、スキル保有者のスキル情報を入手できる。そして、提供された側が確実に本人から提供されたことを確認できる。
【0075】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、スキル情報を、所定の承認者の承認に基づいて登録するようにしてもよい。この場合には、ブロックチェーンネットワークBN1上に、スキル情報毎にアドレスに対して、承認者情報(承認者のアカウント)を記録したスマートコントラクトを登録しておく。そして、スマートコントラクトでは、予め定められた承認者だけが、スキル情報の登録を承認できるように設定されている。
【0076】
(承認依頼処理)
次に、
図11を用いて、承認依頼処理について説明する。この処理は、情報登録者が、スキル情報を登録する場合に行なわれる。
【0077】
ユーザ端末10bは、ステップS201~S206と同様に、登録対象者のスキル情報の生成処理(ステップS601)~公開鍵により共通鍵の暗号化処理(ステップS606)を実行する。
【0078】
次に、スマートコントラクトは、承認者の特定処理を実行する(ステップS607)。具体的には、スマートコントラクトは、登録されたスキル情報に関連付けられた承認者を特定する。
【0079】
次に、スマートコントラクトは、承認者の公開鍵の取得処理を実行する(ステップS608)。具体的には、スマートコントラクトは、ブロックチェーンネットワークBN1上に公開されている承認者の公開鍵を取得する。
【0080】
次に、スマートコントラクトは、承認者の公開鍵により共通鍵の暗号化処理を実行する(ステップS609)。具体的には、スマートコントラクトは、暗号化スキル情報の生成に用いた共通鍵を、承認者の公開鍵を用いて暗号化を行なう。
【0081】
次に、スマートコントラクトは、暗号化共通鍵、URLの登録処理を実行する(ステップS610)。具体的には、スマートコントラクトは、承認依頼情報を、承認者のアドレスに関連付けて、ブロックチェーンネットワークBN1の分散台帳BN2に、承認依頼トランザクションとして登録する。この承認依頼情報には、暗号化共通鍵、URLを含める。
【0082】
(承認処理)
次に、
図12を用いて、承認処理について説明する。この処理は、承認者が、ユーザ端末10を用いて、スキル情報を承認する場合に行なわれる。
【0083】
ここでは、ユーザ端末10は、暗号化共通鍵の復号処理を実行する(ステップS701)。具体的には、承認者は、ユーザ端末10のアプリ実行部を用いて、情報管理アプリを起動して、承認画面を出力させる。そして、ユーザ端末10は、接続部AP1を介して、ブロックチェーンネットワークBN1から、承認者のアドレスに関連付けられた自分宛の承認依頼情報を取得する。次に、接続部AP1は、鍵管理サーバ30に、暗号化共通鍵の復号を依頼する。そして、ユーザ端末10は、接続部AP1を介して、鍵管理サーバ30から、承認者の秘密鍵を用いて、暗号化共通鍵を復号した共通鍵を取得する。
【0084】
次に、ユーザ端末10は、暗号化スキル情報の取得処理を実行する(ステップS702)。具体的には、ユーザ端末10は、URLを用いて、情報サーバ20のスキル情報記憶部23から、暗号化スキル情報を取得する。
【0085】
次に、ユーザ端末10は、共通鍵によりスキル情報の復号処理を実行する(ステップS703)。具体的には、ユーザ端末10は、復号した共通鍵を用いて、暗号化スキル情報を復号する。そして、ユーザ端末10は、復号したスキル情報を承認画面に出力する。
【0086】
次に、ユーザ端末10は、スキル情報の承認処理を実行する(ステップS704)。具体的には、承認者は、復号されたスキル情報を確認した場合、承認画面に承認入力を行なう。この場合、ユーザ端末10は、接続部AP1を介して、ブロックチェーンネットワークBN1の分散台帳BN2に、承認者の署名鍵(ブロックチェーン鍵)で署名を行なった承認トランザクションを登録する。
【0087】
次に、スマートコントラクトは、承認者の署名鍵により承認情報の発行処理を実行する(ステップS705)。具体的には、スマートコントラクトは、スキル登録時に登録した承認アカウント(アドレス)と、承認情報の署名から導出されるアドレスとが一致している場合に、暗号化スキル情報に承認フラグを記録する。
これにより、情報要求者、承認者によって承認されたスキル情報を把握できる。
【0088】
・上記実施形態では、開示要求者のリクエスト情報をブロックチェーンネットワークBN1に登録する。リクエスト情報には永続性が不要であるため、ブロックチェーンネットワークBN1を用いなくてもよい。例えば、分散ファイルシステムや個別のRDB(Relational Database)を用いてもよい。なお、ブロックチェーンネットワークBN1以外に登録する場合には、リクエスト情報のハッシュ値に署名する。
【0089】
・上記実施形態では、開示可能なスキルに関する情報(暗号化開示情報)を、URLに関連付けて、開示情報記憶部24に記録する。暗号化開示情報の提供方法は、これに限定されるものではない。
・上記実施形態では、ユーザ端末10、情報サーバ20、鍵管理サーバ30、認証サーバ40とは別に、接続部AP1を設ける。ハードウェア構成は、これに限定されるものではない。例えば、ユーザ端末10~認証サーバ40内に接続部AP1を設けてもよい。
【0090】
・上記実施形態では、ユーザ端末10bは、暗号化共通鍵、URLの登録処理を実行する(ステップS207)。ここで、暗号化共通鍵を、暗号化スキル情報とともにデータセットとして、スキル情報記憶部23に登録し、暗号化共通鍵と暗号化スキル情報の両方を含むデータセットへのURLをブロックチェーンネットワークBN1に登録してもよい。
【0091】
・上記実施形態では、ユーザ端末10cは、リクエスト情報の登録処理を実行する(ステップS302)。ここでは、リクエスト情報を、ブロックチェーンネットワークBN1の分散台帳BN2に、登録トランザクションとして登録する。ここで、開示要求者の署名から導出されるアドレス情報を、ブロックチェーン上のリクエスト情報に付与することで、リクエスト情報の開示要求者の署名の検証処理(ステップS401)を不要にしてもよい。
また、情報サーバ20にリクエスト情報を登録してもよい。この場合には、リクエスト情報の開示要求者の署名の検証処理(ステップS401)が必要である。
【0092】
・上記実施形態では、ユーザ端末10bは、暗号化共通鍵、URLの登録処理を実行する(ステップS207)。具体的には、ユーザ端末10bは、接続部AP1を介して、暗号化共通鍵、URLを、登録対象者(スキル保有者)のアドレスに関連付けて、ブロックチェーンネットワークBN1の分散台帳BN2に登録する。この暗号化共通鍵の登録先は、ブロックチェーンネットワークBN1でなくてもよい。
【0093】
・上記実施形態では、ユーザ端末10aは、暗号化共通鍵、URLの登録処理を実行する(ステップS411)。ここでは、ユーザ端末10aは、接続部AP1を介して、暗号化共通鍵、URLを、開示要求者のアドレスに関連付けて、ブロックチェーンネットワークBN1の分散台帳BN2に登録する。この開示情報にも永続性が不要であるため、ブロックチェーンネットワークBN1を用いなくてもよい。
【0094】
・上記実施形態では、鍵管理サーバ30が、暗号鍵(秘密鍵)を保持する。ユーザ端末10や接続部AP1に暗号鍵(秘密鍵)を保持させてもよい。
・上記実施形態では、ユーザ端末10bは、登録対象者のスキル情報の生成処理を実行する(ステップS201)。登録対象は、他のユーザの情報であれば、スキル情報に限定されるものではない。
【0095】
・上記実施形態では、ユーザ端末10bは、スキル登録処理を実行する。ここで、情報登録者が、スキル保有者のスキル情報を登録した場合、代替不可能なトークン(NFT:Non-Fungible Token)として生成してもよい。この場合、ブロックチェーンネットワークBN1上に、トークンを生成するスマートコントラクトを登録しておく。この場合、スマートコントラクトは、暗号化スキル情報、暗号化共通鍵、URLとともに、NFTを生成する。このNFTは、情報登録者が所有者となり、所有者によって他のアカウントに移転できることにより取引可能とする。この取引により、情報登録者に特典を付与することができる。
【0096】
NFTの所有者は、一定の周期でインセンティブ(特典)を受け取る権利を保有する。スマートコントラクトが、インセンティブをNFTの所有者への提供をブロックチェーンネットワークBN1に蓄積することにより、各ノードを保有する複数の関係者で確認することができる。なお、インセンティブは、Coin形式(ERC-20系)を用いて実現できる。この結果、情報登録の促進を図ることができる。
【0097】
次に、上記実施形態及び別例から把握できる技術的思想について以下に追記する。
(a)ブロックチェーンネットワークの分散台帳に接続されるAPIを備え、ユーザ情報を管理する情報管理システムであって、
前記APIが、
情報登録者からユーザ情報を取得し、データベースに登録し、
前記データベースに登録されたユーザ情報に対応させて、前記情報登録者のNFTとしてブロックチェーンネットワークに登録し、
前記NFTの取引に応じて、前記情報登録者に特典を付与することを特徴とする情報管理システム。
【0098】
(b)前記ユーザ情報は、第1共通鍵で暗号化されて、前記データベースに記録され、
前記第1共通鍵は、前記ユーザ情報のユーザの公開鍵で暗号化されて、前記データベースの登録先アドレスともに、前記ブロックチェーンネットワークに記録されることを特徴とする(a)に記載の情報管理システム。
【符号の説明】
【0099】
A1…情報管理システム、BN1…ブロックチェーンネットワーク、BN2…分散台帳、10,10a,10b,10c…ユーザ端末、20…情報サーバ、21…制御部、22…ユーザマスタ記憶部、23…スキル情報記憶部、24…開示情報記憶部、30…鍵管理サーバ、40…認証サーバ、API…接続部。