(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022073280
(43)【公開日】2022-05-17
(54)【発明の名称】ユーザ情報管理システム、ユーザ情報管理方法及びコンピュータプログラム
(51)【国際特許分類】
G06F 21/62 20130101AFI20220510BHJP
G06F 21/64 20130101ALI20220510BHJP
G06F 21/60 20130101ALI20220510BHJP
【FI】
G06F21/62 345
G06F21/64
G06F21/60 320
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2020183167
(22)【出願日】2020-10-30
(11)【特許番号】
(45)【特許公報発行日】2022-02-14
(71)【出願人】
【識別番号】518429539
【氏名又は名称】サークレイス株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】井上 賢
(72)【発明者】
【氏名】深谷 正人
(72)【発明者】
【氏名】フェレイラ アマラル ジョアォン パウロ
(57)【要約】
【課題】特定のユーザに紐づけられる情報を、改竄不可能、かつ、事実上抹消することを可能に管理する。
【解決手段】ユーザ情報をユーザIDに関連付けて取得するユーザ情報取得部105と、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成部109と、前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベース101と、前記ユーザID対応値と、前記ユーザ情報に対応する情報であるユーザ情報対応情報とを対応付けて分散型台帳に保存する第2のデータベース102と、前記ユーザID及び前記ユーザ情報と、前記ユーザID対応値及び前記ユーザ情報対応情報との整合性を検証する整合性検証部106と、第1のデータベース101から、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去部107と、を有するユーザ情報管理システム100。
【選択図】
図3
【特許請求の範囲】
【請求項1】
特定のユーザに紐づけられる情報(以下「ユーザ情報」という。)を、当該ユーザを識別する情報(以下「ユーザID」という。)に関連付けて閲覧可能に保存するユーザ情報管理システムであって、
ユーザ情報をユーザIDに関連付けて取得するユーザ情報取得部と、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成部と、
前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベースと、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて分散型台帳に保存する第2のデータベースと、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証部と、
前記第1のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去部と、
を有するユーザ情報管理システム。
【請求項2】
前記ユーザ情報対応情報は、暗号化された前記ユーザ情報の少なくとも一部分を含む、
請求項1に記載のユーザ情報管理システム。
【請求項3】
前記ユーザ情報対応情報は、前記暗号化された前記ユーザ情報の一部分及び、暗号化されていない前記ユーザ情報の残りの部分を含む、
請求項2に記載のユーザ情報管理システム。
【請求項4】
前記ユーザIDと暗号化キーを対応付けて保存する第3のデータベースを有し、
前記消去部は、さらに、前記第3のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記暗号化キーを消去する、
請求項2又は3に記載のユーザ情報管理システム。
【請求項5】
前記暗号化キーと対応する復号化キーは異なり、
前記ユーザIDと前記復号化キーを対応付けて保存する前記第3のデータベースと異なる第4のデータベースを有し、
前記消去部は、さらに、前記第4のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記複合化キーを消去する、
請求項4に記載のユーザ情報管理システム。
【請求項6】
前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分に対する暗号学的対応値であるユーザ情報対応情報を含む、
請求項1~5のいずれか1項に記載のユーザ情報管理システム。
【請求項7】
前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分についての前記ユーザ情報対応情報及び、前記ユーザ情報の残りの部分を含む、
請求項6に記載のユーザ情報管理システム。
【請求項8】
前記暗号学的対応値は、暗号学的ハッシュ関数を用いて生成される、
請求項1~7のいずれか1項に記載のユーザ情報管理システム。
【請求項9】
特定のユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理方法であって、
ユーザ情報をユーザIDに関連付けて取得し、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成し、
前記ユーザIDと前記ユーザ情報とを対応付けて第1のデータベースに保存し、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて第2のデータベースの分散型台帳に保存し、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証し、
前記第1のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する、
ユーザ情報管理方法。
【請求項10】
コンピュータを、特定のユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理システムとして機能させるコンピュータプログラムであって、コンピュータを、
ユーザ情報をユーザIDに関連付けて取得するユーザ情報取得手段、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成手段、
前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベース、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて分散型台帳に保存する第2のデータベース、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証手段、及び、
前記第1のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去手段、
として機能させるための命令列を有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ情報管理システム、ユーザ情報管理方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
一般にブロックチェーンとして知られる分散型台帳の技術は、パブリックチェーンにおける51%攻撃等、ある特殊な事情下を除いては原理的にその管理される情報の改竄が不可能なセキュアな台帳を実現するシステムとして知られている。そのため、分散型台帳の技術は、その開発当初実装された仮想通貨だけでなく、車両の運行記録や公共料金等の記録などの社会インフラストラクチャーや、各種の契約や購買の記録、コンピュータシステムへのアクセスログなど、逐次蓄積されるあらゆる情報をセキュアに記録する手段として、その応用開発が急速に進展している。
【0003】
特許文献1には、ブロックチェーンの技術を用いて、データを不変に保存するとともに、データ提供者によって提供されたデータが改竄されているかどうかをチェックするデータ認証機能を有するデータの保存及び認証方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えばコンピュータシステムへの不正なアクセスログの記録や、事故時の証明等、様々な用途のために、ある特定のユーザについて、そのユーザの行動記録等の当該ユーザに紐づけられる情報を改竄不能に記録するため、上述の分散型台帳技術を用いることは有益である。
【0006】
ところが、分散型台帳はその改竄不能という性質のため、一旦記録された情報を抹消することが原理的にできない。すなわち、ある期間、ユーザが分散型台帳を利用した記録システムを利用した場合、当該記録システムに記録された当該ユーザに紐づけられる情報は参照可能な形で残り続ける。
【0007】
このことは、分散型台帳技術を用いた記録システムを運用するにあたり、深刻な契約上の、あるいは法上の問題を生じる。すなわち、特定の期間のみ情報の記録及び閲覧利用を認める旨の契約をしても、情報が削除できずに分散台帳上に残るため、当該契約を履行できない。また、いわゆる「忘れられる権利」の行使により、あるユーザに紐づけられる情報を削除するよう裁判所に命じられたとしても、これに応じることは技術的に不可能である。
【0008】
本発明は、上述した事情に鑑みてなされたものであり、その解決しようとする課題は、特定のユーザに紐づけられる情報を、改竄不可能、かつ、事実上抹消することを可能に管理することである。
【0009】
上記課題を解決すべく本出願において開示される発明は種々の側面を有しており、それら側面の代表的なものの概要は以下のとおりである。
【0010】
(1)特定のユーザに紐づけられる情報(以下「ユーザ情報」という。)を、当該ユーザを識別する情報(以下「ユーザID」という。)に関連付けて閲覧可能に保存するユーザ情報管理システムであって、ユーザ情報をユーザIDに関連付けて取得するユーザ情報取得部と、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成部と、前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベースと、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて分散型台帳に保存する第2のデータベースと、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証部と、前記第1のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去部と、を有するユーザ情報管理システム。
【0011】
(2)(1)において、前記ユーザ情報対応情報は、暗号化された前記ユーザ情報の少なくとも一部分を含む、ユーザ情報管理システム。
【0012】
(3)(2)において、前記ユーザ情報対応情報は、前記暗号化された前記ユーザ情報の一部分及び、暗号化されていない前記ユーザ情報の残りの部分を含む、ユーザ情報管理システム。
【0013】
(4)(2)又は(3)において、前記ユーザIDと暗号化キーを対応付けて保存する第3のデータベースを有し、前記消去手段は、さらに、前記第3のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記暗号化キーを消去する、ユーザ情報管理システム。
【0014】
(5)(4)において、前記暗号化キーと対応する復号化キーは異なり、前記ユーザIDと前記復号化キーを対応付けて保存する前記第3のデータベースと異なる第4のデータベースを有し、前記消去手段は、さらに、前記第4のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記複合化キーを消去する、ユーザ情報管理システム。
【0015】
(6)(1)~(5)のいずれかにおいて、前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分に対する暗号学的対応値であるユーザ情報対応情報を含む、ユーザ情報管理システム。
【0016】
(7)(6)において、前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分についての前記ユーザ情報対応情報及び、前記ユーザ情報の残りの部分を含む、ユーザ情報管理システム。
【0017】
(8)(1)~(7)のいずれかにおいて、前記暗号学的対応値は、暗号学的ハッシュ関数を用いて生成される、ユーザ情報管理システム。
【0018】
(9)特定のユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理方法であって、ユーザ情報をユーザIDに関連付けて取得し、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成し、前記ユーザIDと前記ユーザ情報とを対応付けて第1のデータベースに保存し、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて第2のデータベースの分散型台帳に保存し、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証し、前記第1のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する、ユーザ情報管理方法。
【0019】
(10)コンピュータを、特定のユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理システムとして機能させるコンピュータプログラムであって、コンピュータを、ユーザ情報をユーザIDに関連付けて取得するユーザ情報取得手段、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成手段、前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベース、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて分散型台帳に保存する第2のデータベース、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証手段、及び、前記第1のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去手段、として機能させるための命令列を有するコンピュータプログラム。
【図面の簡単な説明】
【0020】
【
図2】サーバ及びクライアント端末の物理構成を示す一般的なコンピュータの構成図である。
【
図3】本発明の第1の実施形態に係るユーザ情報管理システムの機能的構成を示す機能ブロック図である。
【
図4】ユーザ情報管理システムによるユーザ情報蓄積の情報処理フローを示すフロー図である。
【
図5】ユーザ情報管理システムによる整合性の検証の情報処理フローを示すフロー図である。
【
図6】ユーザ情報管理システムによる消去の情報処理フローを示すフロー図である。
【
図7】ユーザ情報管理システムによる復号の情報処理フローを示すフロー図である。
【
図8】本発明の第2の実施形態に係るユーザ情報管理システムの機能的構成を示す機能ブロック図である。
【
図9】本実施形態の第3の実施形態に係るユーザ情報管理システムの機能的構成を示す機能ブロック図である。
【発明を実施するための形態】
【0021】
以下、本発明の第1の実施形態に係るユーザ情報管理システム100を、図面を参照して説明する。
【0022】
図1は、ユーザ情報管理システム100の概念図である。ユーザ情報管理システム100は、コンピュータおよびそのネットワークを利用した情報処理システムであり、本実施形態では、情報通信ネットワークNを介したサーバ=クライアントシステムとして実現されている。ここで、同図に示されたコンピュータ機器は、その役割を示すものとして図示されているのであり、その物理的な機器の外見や台数、構成及びネットワーク接続を限定するものではない。すなわち、同図には、ユーザ端末2、サービスサーバ3、管理サーバ4及びオペレータ端末5が示されているが、物理的には、これらの機器が図示した形でそれぞれ独立している必要は必ずしもなく、またその数も限定されない。
【0023】
ユーザ端末2は通常、サービスを利用する多くのユーザがそれぞれ用いる多数のコンピュータ端末であり、複数である。また、
図1ではユーザ端末2をラップトップPCとして図示しているが、これは一例であり、その他スマートフォンやタブレットPCなどの携帯型情報端末や、水道メータや自動車制御器などのIoT(Internet of Things)機器、チケット発券機、電子ゲートシステムなど、ユーザに紐づけられる情報を収集し利用する機器であればどのようなものであっても差し支えない。以降本明細書では、ユーザに紐づけられる情報をユーザ情報と称する。
【0024】
ユーザ情報はサービスサーバ3に送られ、利用される。例えば、サービスサーバ3は、SaaS(Software as a Service)によりユーザにクラウドコンピューティング環境を提供するものである。あるいは、サービスサーバ3は、ユーザに電子商取引サイトを提供するものであっても、地図情報や地域の情報を提供するものであっても、音楽や映像、ビデオゲームなどの各種電子コンテンツを提供するものであっても、あるいはユーザの個人情報や健康に関する情報の管理を提供するもの等であってもよい。ユーザ端末2とサービスサーバ3間でのトランザクションにより生じる情報もまたユーザ情報を構成する。
【0025】
サービスサーバ3にて提供されるサービスがどのようなものであれ、ユーザ情報を改竄される危険がなく保存する用途が存在する。そのため、サービスサーバ3は、新たなトランザクションが発生し、それに伴いユーザ情報が生じると、そのユーザ情報を当該ユーザを識別する情報に関連付けて管理サーバ4に閲覧可能に保存する。以降本明細書では、ユーザを識別する情報をユーザIDと称する。
【0026】
ここで、サービスサーバ3と、管理サーバ4とは物理的に異なっていなくともよい。また、サービスサーバ3の各機能及び、管理サーバ4の各機能が物理的には別のコンピュータ上に分散されていてもよい。さらに、サービスサーバ3と、管理サーバ4との情報通信は、必ずしもネットワークNを経由するものでなく、専用の回線により接続されるようにしていてもよい。いずれにせよ、サービスサーバ3及び管理サーバ4をどのように物理的に実現するか、またそれらをどのように通信可能に接続するかはコンピュータシステムの設計上の問題にすぎない。
【0027】
オペレータ端末5は、ユーザ情報管理システム100のオペレータが、管理サーバ4に保存されたユーザ情報を閲覧し、あるいはその改竄がないことを確認し、さらには、ある特定のユーザについて保存されたユーザ情報を事実上抹消するために操作するコンピュータ端末である。ここで、事実上抹消とは、ある情報を、意味のある形で復元することが不可能な状態とすることをいい、現実問題として、当該情報を物理的に消去した場合と同等の結果をもたらす行為を指す。なお、オペレータはユーザ情報管理システム100を管理する者としてユーザとは別の人物であってもよいし、ユーザ自体がオペレータとして自身に関するユーザ情報を管理してもよい。その際、オペレータ端末5とユーザ端末1は同一のコンピュータ端末であってもよく、別のものであってもよい。当然、オペレータ端末5の数も特に限定されない。
【0028】
ネットワークNは情報通信可能なコンピュータネットワークであればその態様は特に限定されず、どのようなものであってもよいが、本例ではインターネットである。したがって、本例では、ユーザはユーザ端末2を通じて、いわゆるクラウドコンピューティングの態様により、サービスサーバ3が提供するサービスを享受している。
【0029】
図2はユーザ端末2、サービスサーバ3、管理サーバ4及びオペレータ端末5の物理構成を示す一般的なコンピュータ1の構成図である。基本的には、ユーザ端末2、サービスサーバ3、管理サーバ4及びオペレータ端末5は、情報処理能力と記憶容量の違いはあるものの、標準的なコンピュータとしての構成を有している。ただし、ユーザ端末2がIoT機器や、各種の業務用の専用機、組み込み機器である場合には、ワンボードマイコンやSoC(System on Chip)など、若干異なる構成を有する場合があるが、かかる構成により実現されるコンピュータとしての機能は、当該機器の機能に求められる範囲において、一般的なコンピュータ1と変わりはないため、その個別の説明は省略し、以下に示す一般的なコンピュータ1についての説明を援用するものとする。
【0030】
コンピュータ1は、CPU(Central Processing Unit)1a、RAM(Random Access Memory)1b、外部記憶装置1c、GC(Graphics Controller)1d、入力デバイス1e及びI/O(Inpur/Output)1fがデータバス1gにより相互に電気信号のやり取りができるよう接続されている。ここで、外部記憶装置1cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC1dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ1hに出力され、画像として表示される。入力デバイス1eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、I/O1fはコンピュータ1が外部の機器と情報をやり取りするためのインタフェースである。CPU1aはコンピュータ1が必要とする情報処理の負荷に応じて、複数用意されて並列演算がなされるように構成されていてもよい。
【0031】
コンピュータ1をユーザ端末2、サービスサーバ3、管理サーバ4又はオペレータ端末5として機能させるための命令列を含むアプリケーションプログラムは、外部記憶装置1cにインストールされ、必要に応じてRAM1bに読みだされてCPU1aにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよい。コンピュータ1をユーザ端末2又はオペレータ端末5として機能させるアプリケーションに関しては、webブラウザのような汎用のソフトウェアを用い、I/O1fを介してサービスサーバ3又は管理サーバ4により機能が提供される、いわゆるクラウドコンピューティングにより提供されてもよい。
【0032】
図3は、本発明の第1の実施形態に係るユーザ情報管理システム100の機能的構成を示す機能ブロック図である。同図に示したユーザ情報管理システム100の各機能は、基本的には管理サーバ4を構成するコンピュータ1のCPU1aがRAM1b上に展開されたプログラムコードを読み込み実行し、あるいはRAM1b又は外部記憶装置1cの所定の領域が特定の機能に割り当てられ、もしくはその両方等により実現されるものであり、同図に示す各機能ブロックは、そのようにして実現されるユーザ情報管理システム100の機能を概念的に示したものである。しかしながら、ユーザ情報管理システム100の構成によっては、同図に示した機能的構成の一部分をユーザ端末2、サービスサーバ3及びオペレータ端末5が実現するものとしても差し支えない。
【0033】
本実施形態に係るユーザ情報管理システム100は、ユーザ情報の管理に関する第1のデータベース101、第2のデータベース102、第3のデータベース103及び第4のデータベース104の4種のデータベースを有し、それらデータベースの取り扱いに関して、ユーザ情報取得部105、整合性検証部106、消去部107、複合部108、ユーザID対応値生成部109及び、ユーザ情報対応情報生成部110、が設けられている。なお、ユーザ情報管理システム100は、さらなるユーザ情報の管理に関して、又は、ユーザ情報の管理以外の情報処理の目的で、
図3に示されない種々の機能を追加で有していてもよい。本実施形態の説明にあたっては、本実施形態により具現される本発明に関する事項の説明に必要な部分を取り上げ、そうでない部分についてはその説明は省略するものとする。
【0034】
ユーザ情報取得部105は、ユーザ端末2とのトランザクションによりサービスサーバ3にて把握されるユーザ情報を、ユーザIDに関連付けて取得するユーザ情報取得手段である。ユーザ情報には種々のものが想定される点については上述のとおりであるが、ここでは、一例として、ユーザがユーザ端末2を介してサービスサーバ3により提供されるCRM(Customer Relationship Management)ツールなどのアクセス履歴並びに操作履歴を対象として説明する。
【0035】
すなわち、サービスサーバ3は、ユーザ端末2とのトランザクションにより、ユーザが何らかの操作をツール上で行う都度、そのユーザのユーザIDとユーザ情報、すなわち、操作についての情報をユーザ情報取得部105に通知する。
【0036】
ユーザIDは、ユーザを識別可能である情報であればどのようなものであってもよいが、ここでは、ユーザ毎に固有に割り当てられたランダムな情報列、例えば、12桁の数値とする。ユーザ情報には、タイムスタンプ(ユーザによる操作がなされた時間)、機能名(ユーザによりなされた操作の種別)、引数(ユーザが当該操作を実行するにあたって、その機能に対して与えた指令値など)が含まれる。
【0037】
ユーザ情報管理システム100は、一義的には、このように、ユーザ情報取得部105により時々刻々と収集されるユーザIDとユーザ情報の組を保存管理することにより、ユーザによるサービスサーバ3の利用の履歴を保存するものである。このような履歴が信頼する形で存在することにより、例えば、悪意あるユーザやユーザに成りすました外部の攻撃者が行った不明な操作を追跡したり、不慮の事象によりサービスサーバ3上の情報が失われたり、不具合が生じた場合に、それ以前の状態への復帰を行ったりすることができるため、サービスサーバ3により信頼性の高いサービスを提供するにあたっては、かかるユーザ情報の管理は重要である。
【0038】
かかる目的のため、ユーザ情報取得部105で取得されたユーザIDとユーザ情報は、互いに対応付けて、第1のデータベース101に保存される。ここでは図示しないが、ユーザ情報管理システム100のオペレータは、オペレータ端末3を用い、第1のデータベース101にアクセスして、特定のユーザの操作履歴を参照して種々の役に立てることができる。
【0039】
ところが、不正アクセスの事実を隠蔽する目的やその他の理由により、第1のデータベース101が外部からの攻撃を受け、その保存する情報の改竄を受けると上の目的は達し得ない。そのため、ユーザ情報管理システム100は、ユーザIDとユーザ情報の組に対応する情報を第2のデータベース102にも保存する。
【0040】
ここで、第2のデータベース102は、改竄に対する耐性を持つデータベースであり、具体的には、分散型台帳を用いたデータベースシステムである。分散型台帳の記述には、現在、その管理主体の差異により、パブリックチェーン、コンソーシアムチェーン及びプライベートチェーンの3種が知られており、このうちのどれを第2のデータベース102として用いるかは、その利用の態様により適宜選択してよいが、ユーザ情報管理システム100はユーザ情報を集中管理する態様を取っているため、コンソーシアムチェーン又はプライベートチェーンの使用が適している。このどちらにするかは、ユーザ情報管理システム100を単一のエンティティにより集中管理する場合にはプライベートチェーンを、複数主体による共同管理をする場合にはコンソーシアムチェーンを選択するとよい。
【0041】
第2のデータベース102は、具体的には、公知のブロックチェーン開発フレームワーク、例えば、Hyperledger FABRICやHyperledger IROHA等を用いて構築することができる。あるいは、これらのフレームワークを用いた、商業ベースにおけるデータベースサービスを利用してもよい。そのようなものとしては、Amazon社のQLDB(Quantum Ledger Database)が例示できる。
【0042】
そして、第2のデータベース102には、第1のデータベース101と異なり、単にユーザIDとユーザ情報の組をそのまま保存してはならない。なぜなら、第2のデータベース102は分散型台帳であって改竄耐性を持つため、一度第2のデータベース102に記録された情報は、第2のデータベース102そのものを消去でもしない限り抹消することができず、永久に残るからである。
【0043】
そのため、第2のデータベース102は、ユーザIDに対する暗号学的対応値であるユーザID対応値と、ユーザ情報及びユーザ情報に対応する情報であるユーザ情報対応情報のいずれかを対応付けて保存するものとなっている。本実施形態では、第2のデータベース102には、ユーザID対応値と、ユーザ情報対応情報が保存される。
【0044】
ユーザID対応値は、ユーザID対応値生成部109により、ユーザIDに基づいて生成される暗号学的対応値である。ここで、「暗号学的」とは、弱衝突耐性(現像計算困難性)及び強衝突耐性の両方の性質を持つことを意味している。すなわち、前者は、あるユーザID対応値に対して、そのようなユーザID対応値を導くユーザIDを得ることが事実上不可能であることであり、後者は、同じユーザID対応値を導く異なるユーザIDの組を得ることが事実上不可能であることを指す。したがって、何人も、ユーザID対応値からその元となったユーザIDを推測することも、あるユーザID対応値に対応するユーザIDに成りすますことができる偽のユーザIDを生成することもできない。なお、「事実上不可能」とは、現在の計算技術において、実用的な計算時間内に計算を終えることができないことを意味している。
【0045】
具体的には、ユーザID対応値生成部109は、暗号学的ハッシュ関数を用いて、ユーザIDからユーザID対応値を生成する。そのような暗号学的ハッシュ関数としては、SHA-256が例示される。
【0046】
また、ユーザ情報対応情報は、ユーザ情報対応情報生成部110により、ユーザ情報に基いて生成される、ユーザ情報に対応する情報である。そして、ユーザ情報対応情報は、対応するユーザ情報の少なくとも一部分を暗号化したものであるか、暗号学的対応値に変換したものである。本実施形態では、ユーザ情報対応情報は、ユーザ情報に含まれる情報のうち、タイムスタンプと機能名はそのままの形で、また、引数は暗号化したものとなっている。なお、ユーザ情報全体を暗号化したものであってもよい。暗号化の方式については後述する。
【0047】
その結果、第2のデータベース102には、ユーザIDとユーザ情報の組ではなく、これに対応する情報として、ユーザID対応値とユーザ情報対応情報が保存されることになる。ここで重要なことは、第2のデータベース102に保存されたユーザID対応値からは、元のユーザIDを推測することができず、また、ユーザ情報対応情報は暗号化されているため、暗号を復号しない限りは元のユーザ情報を知ることができないという点である。
【0048】
第3のデータベース103はユーザ情報対応情報生成部110におけるユーザ情報の暗号化のため、第4のデータベース104は、後述する復号部108におけるユーザ情報の復号化のために用意される。
【0049】
第3のデータベース103には、ユーザIDと対応づけて暗号化キーが保存される。そして、ユーザ情報対応情報生成部110は、ユーザ情報の一部または全部を暗号化する際に、第3のデータベース103から、該当するユーザIDに対応する暗号化キーを用いる。この暗号化のアルゴリズムは特に限定されるものではないが、いわゆる公開鍵暗号方式の暗号のように、暗号化キーと復号化キーが異なる暗号を用いることが望ましい。なぜなら、悪意の第三者が第3のデータベース103に不正にアクセスし、あるいは別の経路から暗号化キーが流出し、第三者が暗号化キーを知ることとなっても、第2のデータベース102に保存されたユーザ情報対応情報から元となったユーザ情報を復元することができないからである。
【0050】
第4のデータベース104には、ユーザIDと対応づけて復号化キーが保存される。そして、第3のデータベース103と第4のデータベース104は別のものとされ、第4のデータベース104に対するセキュリティの方が、第3のデータベース103に対するセキュリティよりレベルの高いものとすることが望ましい。すなわち、第3のデータベース103に対するアクセス権限を持つものであっても、第4のデータベース104に対するアクセス権限を持たない場合がある。例えば、ユーザ情報対応情報生成部110は、第3のデータベース103に対してアクセス権限を持つが、第4のデータベース104に対するアクセス権限は必要なく、これを持たない。また、オペレータ端末5を操作するオペレータであっても、第4のデータベース104に対してアクセス権限を持つものは限定されていてよい。
【0051】
なお、ユーザ情報対応情報生成部110にて使用する暗号化方式が、暗号化キーと復号化キーが同一のものである場合には、第4のデータベース104は設ける必要はなく、省略してよい。
【0052】
このような構成により、ユーザ情報管理システム100は、第1のデータベース101にユーザIDと対応するユーザ情報を、また、第2のデータベース102にユーザID対応値と対応するユーザ情報対応情報とを逐次蓄積していく。
【0053】
図4は、ユーザ情報管理システム100によるユーザ情報蓄積の情報処理フローを示すフロー図である。まずステップS01にて、ユーザ情報取得部105は、サービスサーバ3からユーザID及びユーザ情報を取得する。続くステップS02では、ユーザID対応値生成部109が、ユーザID対応値を生成する。さらに、ステップS03において、ユーザ情報対応情報生成部110が、第3のデータベース103より、当該ユーザIDに対応する暗号化キーを取得する。そして、ステップS04において、ユーザ情報対応情報生成部110は取得した暗号化キーを用い、ユーザ情報の少なくとも一部分を暗号化し、ユーザ情報対応情報を生成する。
【0054】
その後、ステップS05において、第1のデータベース101にユーザIDとユーザ情報とを対応づけて保存し、ステップS06において、第2のデータベース102にユーザID対応値とユーザ情報対応情報とを対応付けて保存する。
【0055】
また、ユーザ情報管理システム100は、オペレータが、蓄積されたユーザ情報に対する適切な管理を実行するための機能を備えている。そのオペレータが実行する主要な機能は、整合性の検証、消去、及び、復号の3つである。
【0056】
整合性の検証は、オペレータがオペレータ端末5を操作し、ユーザ情報管理システム100の整合性検証部106に指示することによって、又は、定期など所定のタイミングで整合性検証部106が自動的に実行され、あるいはその両方によってなされる。そして、整合性の検証とは、第1のデータベース101に保存されたユーザID及びユーザ情報が改竄を受けていないことを確認する処理であり、第1のデータベース101に保存されたユーザID及びユーザ情報と第2のデータベース102に保存されたユーザID対応情報及びユーザ情報対応情報との間の整合性を検証することによって行われる。
【0057】
この検証は、第2のデータベース102に保存されたユーザID対応情報及びユーザ情報対応情報が本来的に改竄不能であることを利用して行われる。すなわち、第1のデータベース101に保存されているユーザIDと対応するユーザ情報が改竄を受けていなければ、そのユーザIDと対応するユーザ情報から新たに生成したユーザID対応情報及びユーザ情報対応情報に一致する情報が、第2のデータベース102に保存されているはずだからである。
【0058】
従って、整合性検証部106による整合の検証は、第1のデータベース101に保存されているあるユーザIDと対応するユーザ情報に対し、ユーザID対応値及びユーザ情報対応情報を生成し、第2のデータベース102に同一のレコードが存在するか否かを検索することによりなされ、該当するレコードが発見できれば改竄はなく、該当するレコードが発見できなければ、改竄などにより、第1のデータベース101に保存されている当該ユーザIDと対応するユーザ情報に変化が生じていることが発見できる。この場合、整合性検証部106は、オペレータに警告などの通知を行う。
【0059】
なお、整合性検証部106による整合の検証を自動で行う場合、第1のデータベース101に保存されている情報は定期的に検証されるようになされていることが望ましい。具体的には、第1のデータベース101に保存されているユーザIDと対応するユーザ情報毎に、最後に整合性の検証がなされた日時を記録しておき、所定の期間、整合性の検証がなされていないものについて、順次整合性の検証を行うとよい。このようにしておくと、改竄などにより、何らかの変化が第1のデータベース101に保存されているユーザIDと対応するユーザ情報に生じたとしても、最長で所定の期間が経過するまでにその変化の事実が発見される。所定の期間は、管理サーバ4として用意するコンピュータの情報処理能力と第1のデータベース101に保存されている情報の量、ユーザ情報管理システム100の具体的用途に応じて定めてよいが、例えば、数分から数月とする。
【0060】
図5は、ユーザ情報管理システム100による整合性の検証の情報処理フローを示すフロー図である。整合性検証部106は、まずステップS11にて、オペレータによる整合性の検証の指示が有るか否かを判定する。整合性の検証の指示が有る場合、当該指示に係るユーザID及びユーザ情報をその検証対象とすればよいので、ステップS13へと進む。この時、対象となるユーザID及びユーザ情報は単一のものである必要はなく、複数であってもよい。その指定は、複数のユーザID及びユーザ情報を具体的に指定するものであっても、あるいは、ユーザIDや期間、ユーザ情報の内容などの条件を指定することにより、複数のユーザID及びユーザ情報を包括的に指定するものであってもよい。
【0061】
オペレータによる整合性の検証の指示がなければ、ステップS12へと進み、第1のデータベース101に保存されているユーザID及びユーザ情報のうち、最後に整合性の検証がなされてから所定の期間が経過したものがあるか否かを判定する。なお、新規に保存され、整合性の検証がなされていないものについては、新規に保存された時から所定の期間が経過したか否かを判定するとよい。所定の期間を経過したものが存在しなければ、整合性の検証の必要はないので、処理を終了する。所定の期間を経過したものが存在すれば、該当するユーザID及びユーザ情報をその検証対象とすればよいので、ステップS13へと進む。
【0062】
ステップS13では、整合性の検証の対象となるユーザID及びユーザ情報を具体的に特定する。具体的には、オペレータにより指定された条件に適合するもの、あるいは、最後に整合性の検証がなされてから所定の期間が経過したものを抽出する。
【0063】
そして、続くステップS14では、第1のデータベース101から、該当するユーザID及びユーザ情報を取得する。そして、ステップS15で、ユーザID対応値生成部109が、ユーザID対応値を生成する。さらに、ステップS16で、ユーザ情報対応情報生成部110が、第3のデータベース103より、当該ユーザIDに対応する暗号化キーを取得し、ステップS17において、ユーザ情報対応情報生成部110は取得した暗号化キーを用い、ユーザ情報の少なくとも一部分を暗号化し、ユーザ情報対応情報を生成する。
【0064】
整合性検証部106は、ステップS18で、そのようにして生成されたユーザID対応値とユーザ情報対応情報の組と同一のものが、第2のデータベース102に保存されているかを検索して判定する。同一のものが発見された場合には、該当する第1のデータベース101におけるユーザID及びユーザ情報は改竄を受けていないと確認できるので、ステップS19に進み、オペレータに検証の結果が正常であった旨の通知をする。なお、ステップS19における通知は、ステップS11においてオペレータの指示に基づいて整合性の検証を実行した場合にのみ通知し、整合性検証部106が自動的に実行した場合には通知を省略してもよい。
【0065】
ステップS18において、第2のデータベース102に保存されているユーザID対応値とユーザ情報対応情報の組の中から、同一のものが発見されなかった場合、該当する第1のデータベース101におけるユーザID及びユーザ情報には変化が生じている。したがって、ステップS20へと進み、オペレータ、あるいは場合に応じて、ユーザ情報管理システム100の管理者に対し、整合性の検証結果が異常であり、ユーザID及びユーザ情報が改竄を受けた可能性がある旨の警告を通知する。これにより、警告を受けたオペレータあるいは管理者は、ユーザ情報管理システム100の状態を精査し、必要な措置を速やかにとることができる。
【0066】
整合性の検証の結果が正常、異常のいずれにせよ、整合性の検証及びその結果の通知が済めば処理を終了する。
【0067】
消去は、オペレータがオペレータ端末5を操作し、ユーザ情報管理システム100の消去部106に指示することによって、特定のユーザについてのユーザ情報を「消去」、すなわち、事実上抹消するものである。これは、サービスサーバ3を利用していたユーザについて、例えば利用期間の満了による契約の履行や、ユーザ情報管理システム100を利用したユーザについての忘れられる権利の担保その他の理由により、当該ユーザがサービスサーバ3を利用していた事実を含め、当該ユーザに関する情報をユーザ情報管理システム100から「消去」する際に、当該ユーザに関する情報を意味のある形での回復が不可能な状態とすることにより実現される。
【0068】
このユーザに関する情報の「消去」すなわち事実上抹消は、本実施形態においては、消去部107が、事実上抹消を要するものとして指定されたユーザのユーザIDに関して、第1のデータベース101からユーザIDと対応するユーザ情報を、また、第3のデータベース103と第4のデータベース104からユーザIDと対応する暗号化キー及び復号化キーを消去することによってなされる。なお、ユーザ情報対応情報生成部110で使用する暗号方式が共通鍵暗号である場合には、第4のデータベース104は不要であるから、第3のデータベースからユーザIDと対応する暗号化キーを消去すれば足る。
【0069】
すでに述べたとおり、第2のデータベースは分散型台帳を使用するものであり、本質的に特定の保存された情報の復元不可能な形での消去は不可能である。ところが、すでに述べたとおり、第2のデータベースに保存されている、ユーザIDに対応する情報は、ユーザID対応値であり、これは、ユーザIDの暗号学的対応値であるから、このユーザID対応値を導くようなユーザIDの値を発見することは事実上できない。そのため、第1のデータベース101、第3のデータベース103及び第4のデータベース104からユーザIDの具体的な値が消去されてしまうと、ユーザID対応値に対応するユーザIDの値を再発見することはできなくなり、ユーザID対応値から元のユーザを推測することは不可能となる。
【0070】
さらに、第2のデータベースに保存されている、ユーザ情報に対応する情報は、ユーザ情報対応情報であり、これはユーザ情報を暗号化した情報である。したがって、第4のデータベース104から復号化キーが消去されると、これをもはや復号することはできず、ユーザ情報の内容からユーザを推測することも不可能となり、いかなる方法を用いても、第2のデータベースに保存されている、ユーザID対応値及びユーザ情報対応情報からその元のユーザと、そのユーザについてのユーザ情報を得ることはできなくなるから、当該ユーザに関する情報は、ユーザ情報管理システム100から事実上抹消されるのである。
【0071】
なお、ユーザ情報対応情報生成部110で使用する暗号方式が公開鍵暗号である場合には、第4のデータベース104に保存された復号化キーは、次に述べる復号の場合を除き、通常のユーザ情報管理システム100におけるユーザ情報の蓄積の際には一切使用されないため、仮に攻撃者がユーザ情報管理システム100の動作の追跡に成功していたとしても、復号化キーの存在を知ることができず、情報のトランザクション中から復号化キーを盗み取ることもできない。また、第4のデータベース104はそのセキュリティレベルが高く、その管理も厳重であり、通常は第4のデータベース104の存在自体が秘匿されるため、第4のデータベース104に対する攻撃が成功することは通常ない。
【0072】
そして、攻撃者が仮に、第3のデータベース103への攻撃を成功させ、あるいはユーザ情報管理システム100の情報のトランザクションを盗み見て暗号化キーを取得していたとしても、これによって第2のデータベース102に保存されたユーザ情報対応情報を復号することはできないから、ユーザ情報管理システム100から事実上抹消されたユーザについてのユーザ情報を復元することは不可能である。
【0073】
図6は、ユーザ情報管理システム100による消去の情報処理フローを示すフロー図である。消去部106は、まずステップS31にて、オペレータによる「消去」、すなわち、事実上抹消の対象となるユーザIDを取得する。
【0074】
続くステップS32にて第1のデータベース101から該当するユーザIDと、対応するユーザ情報の全てを消去し、ステップS33にて第3のデータベース103から該当するユーザIDと対応する暗号化キーを、ステップS34にて第4のデータベース104から該当するユーザIDと対応する復号化キーを消去することにより、ユーザIDに該当するユーザについての情報がユーザ情報管理システム100から事実上抹消される。
【0075】
最後に、復号は、第1のデータベースに保存された情報に対する改竄や、情報の破損が確認された際に、かかる情報を正しい情報に復元する操作である。復号は、オペレータがオペレータ端末5を操作し、ユーザ情報管理システム100の復号部106に指示することによって実行される。
【0076】
復号が必要となる状況は、通常は整合性検証部106により整合性の異常が発見された場合や、第1のデータベース101の機器のトラブルなど物理的な障害が発生した場合等、種々の状況が考えられる。復号部106は、復元が必要と考えられる情報を選択的に復元することが可能であり、場合によっては、第1のデータベースに保存され管理されるべきすべての情報を復元することも可能である。
【0077】
オペレータは、復号部106に復元すべきユーザIDと対応するユーザ情報を指示する。状況によっては、復元すべきユーザIDと対応するユーザ情報を明確に特定することが困難である場合も想定され、この指示は、条件を指定するものであってよい。例えば、単独或いは複数のユーザIDのみを指定するものであっても、ユーザ情報が第1のデータベースに保存された期間を指定するものであっても、さらにはその他の条件であってもよく、これらの組み合わせであってもよい。あるいは全てのユーザIDと対応するユーザ情報を対象としてもよい。
【0078】
復号部108は、第2のデータベース102に保存されたユーザID対応値とユーザ情報対応情報から、オペレータに復元を指示された条件に合致するものを抽出する。この抽出は所与の条件により適宜の手法により行われるが、それらを例示すると、ユーザIDが条件として提示されている場合には、ユーザID対応値生成部109によりかかるユーザIDからユーザID対応値を生成できるため、第2のデータベース102中から同一のユーザID対応値と、対応するユーザ情報対応情報を抽出することができる。また、期間が条件として提示されている場合、本実施形態のように、ユーザ情報対応情報に、暗号化されていないタイムスタンプが含まれている場合には、当該タイムスタンプに基づいて、条件に合致するユーザID対応値と、対応するユーザ情報対応情報を抽出することができる。
【0079】
復号部108は、さらに、第4のデータベース104からユーザIDと対応する復号化キーを読み出し、ユーザ情報対応情報を復号化キーを用いて復号する。第4のデータベース104には、「消去」すなわち、事実上抹消されていないユーザIDが保存されているため、この復号の処理にあたり、復元すべきユーザ情報のユーザIDが失われていても、これを回復することができる。すなわち、第4のデータベース104に保存されているユーザIDをユーザID対応値生成部109によりユーザID対応値に変換してその対応表を得ることで、第2のデータベース102に保存されたユーザID対応値に対応するユーザIDを知ることができるためである。もちろん、第4のデータベース104から消去されたユーザIDについては、これを復元することはできない。
【0080】
復号部108は、以上のようにして第2のデータベース102に保存されたユーザ情報対応情報を復号し、ユーザIDと対応するユーザ情報としてオペレータに提示する。オペレータは、提示された情報を参照して、復元が必要な情報を取捨選択し、第1のデータベースを修復することができる。
【0081】
図7は、ユーザ情報管理システム100による復号の情報処理フローを示すフロー図である。復号部108は、まずステップS41にて、オペレータから、復元対象となるユーザIDとユーザ情報の条件を取得する。この条件は、単独のユーザIDと対応するユーザ情報の組を指定するものでも、複数の組を包括的に指定するものであっても、全てのユーザIDと対応するユーザ情報の組を指定するものであってもよい。
【0082】
続くステップS42で、復号部108は、第2のデータベース102から、条件に合致するユーザID対応値とユーザ情報対応情報を抽出する。このとき、第2のデータベース102から抽出すべきユーザID対応値を得る目的で、復号部106は、適宜、ユーザID対応値生成部109にユーザIDを生成させ、あるいは、第4のデータベース104に保存されているユーザIDを取得する場合があり得る。
【0083】
ステップS43で、復号部108は、第4のデータベース104から抽出したユーザ情報対応情報に適合した復号化キーを取得し、ステップS44でユーザ情報対応情報を復号する。復号されたユーザ情報は、ステップS45にて、ユーザIDと対応付けられて、オペレータに提示される。
【0084】
以上説明の通り、本発明の第1の実施形態に係るユーザ情報管理システム100では、ユーザ情報を、その改竄等があることを隠蔽不可能な方法で保存管理すると同時に、特定のユーザについてのユーザ情報を事実上抹消することを可能としている。さらに、改竄等により破損したユーザ情報は、安全に復元可能である。
【0085】
図8は、本発明の第2の実施形態に係るユーザ情報管理システム200の機能的構成を示す機能ブロック図である。ユーザ情報管理システム200の全体の外見的構成は先の実施形態に係るユーザ情報管理システム100と何ら変わりがないため、その概念図として、
図1を援用するものとする。また、ユーザ情報管理システム100と同等の構成については同符号を付することとし、その重複する説明は省略する。
【0086】
ユーザ情報管理システム200は、先の第1の実施形態に係るユーザ情報管理システム100と比して、第3のデータベース103及び第4のデータベース104及び、復号部108(
図3参照)が存在しておらず、また、ユーザ情報対応情報生成部110が、ユーザ情報の少なくとも一部を暗号化するのではなく、ユーザ情報の少なくとも一部分に対する暗号学的対応値を生成するものであることが異なっている。
【0087】
すなわち、ユーザ情報管理システム200においても、ユーザ情報取得部105が時々刻々とユーザ情報をユーザIDと関連付けて取得し、第1のデータベース101にユーザIDとユーザ情報を、第2のデータベース102にユーザID対応値とユーザ情報対応情報を保存するが、ユーザ情報対応情報が、ユーザ情報の少なくとも一部分に対する暗号学的対応値を含む。
【0088】
ここで、暗号学的対応値は、ユーザIDに対するユーザID対応値の場合と同様に、ユーザ情報の少なくとも一部分、場合によっては全部、に対して一方向関数により得られる値であり、その一方向関数の具体例は、暗号学的ハッシュ関数である。本実施形態の場合、ユーザ情報には先の実施形態と同様に、タイムスタンプ、機能名、引数が含まれており、ユーザ情報対応情報生成部110は、それらのうち、引数を暗号学的対応値であるハッシュ値に変換する。したがって、ユーザ情報対応情報には、タイムスタンプ及び機能名はそのままの形で含まれ、引数はその暗号学的対応値のみが含まれることとなる。
【0089】
このような態様においても、整合性検証部106は、第1のデータベース101に保存されたユーザIDから対応するユーザID対応値を、ユーザ情報から対応するユーザ情報対応情報を得て第2のデータベースに保存されたものとの整合性を検証することができ、また、第2のデータベース102に保存された情報からは、保存されたユーザID対応情報の元となったユーザID及び、ユーザ情報対応情報の元となったユーザ情報を復元することはできない。
【0090】
したがって、本実施形態においても、消去部107により、第1のデータベースに保存された特定のユーザについてのユーザID及び対応するユーザ情報を消去すると、そのユーザについてのユーザ情報はもはや復元され得ず、事実上抹消されることになる。
【0091】
一方で、本実施形態に係るユーザ情報管理システム200では、第2のデータベースに保存されたユーザ情報対応情報からは、元となるユーザ情報を復元することはできない。すなわち、暗号学的対応値に変換されていないタイムスタンプ及び機能名は取り出すことができるが、ユーザが実際にどのような操作を実行したかを示す引数は、暗号学的対応値の性質から、復元することはできない。
【0092】
そのため、ユーザ情報管理システム200では、先の実施形態に係るユーザ情報管理システム100のような、復号部108(
図3参照)は設けられていない。すなわち、ユーザ情報管理システム200では、改竄などにより第1のデータベース101に保存された情報に変化が生じたことは、整合性検証部106による検証により検出できるが、第2のデータベース102に保存された情報から、正しい情報の復元をすることはできない。
【0093】
従って、ユーザ情報管理システム200は、正しい情報の復元が不要又は重要でないような用途に用いるか、あるいは、第1のデータベースがミラーリングなどにより複数の複製を持っている場合に、どの複製が正しい情報を保持しているかを検証する用途に用いることができる。
【0094】
図9は、本実施形態の第3の実施形態に係るユーザ情報管理システム300の機能的構成を示す機能ブロック図である。ユーザ情報管理システム300の全体の外見的構成は第1、第2の実施形態に係るユーザ情報管理システム100,200と同様であり、その概念図は
図1のとおりである。また、ユーザ情報管理システム100,200と同等の構成については同符号を付することとし、その重複する説明は省略する。
【0095】
ユーザ情報管理システム300は、先の第2の実施形態に係るユーザ情報管理システム200と比して、さらに、ユーザ情報対応情報生成部110(
図9参照)が存在しておらず、また、第2のデータベース102に保存される情報が、ユーザID対応情報と、ユーザ情報対応情報ではなく、ユーザ情報そのものである点が異なっている。
【0096】
すなわち、第1のデータベース101に保存される情報と、第2のデータベース102に保存される情報の差異は、前者がユーザIDを保存するのに対し、後者がユーザID対応値を保存する点のみであり、ユーザ情報は共通に保存される。このような構成であっても、消去部107により、第1のデータベース101に保存された特定のユーザに係るユーザIDとユーザ情報を消去すれば、第2のデータベース102に保存されたユーザID対応値から元のユーザIDを復元することはできないから、特定のユーザについてのユーザ情報を事実上抹消することが可能である。ユーザ情報管理システム300は、ユーザ情報から特定されるユーザの行動によっては、その行動に係るユーザを特定することが著しく困難であるような用途に適しており、そのような場合には、ユーザ情報管理システム300で示したような比較的シンプルな構成を採用することができる。
【0097】
本実施形態の場合においても、第2のデータベース102は分散型台帳を使用しているため、保存されたユーザID対応値と対応するユーザ情報を改竄することができないから、整合性検証部106は、第1のデータベースに保存されたユーザIDと対応するユーザ情報に改竄などにより変化が生じた場合には、上述した整合性の検証により、これを容易に発見することができる。
【0098】
なお、以上説明した各実施形態は、必要に応じて、あるいは設計により、適宜組み合わせてもよい。例えば、第1の実施形態に係るユーザ情報管理システム100と第2の実施形態に係るユーザ情報管理システム200の両方の構成を備えるようにして、第2のデータベースに保存されたユーザ情報対応情報が、暗号化されたユーザ情報の少なくとも一部分と、ユーザ情報の少なくとも一部分に対する暗号学的対応値の両方を含むようにしてもよい。
【符号の説明】
【0099】
1 コンピュータ、1a CPU、1b RAM、1c 外部記憶装置、1d GC、1e 入力デバイス、1f I/O、1g データバス、1h モニタ、2 ユーザ端末、3 サービスサーバ、4 管理サーバ、5 オペレータ端末、100,200,300 ユーザ情報管理システム、101 第1のデータベース、102 第2のデータベース、103 第3のデータベース、104 第4のデータベース、105 ユーザ情報取得部、106 整合性検証部、107 消去部、108 複合部、109 ユーザID対応値生成部、110 ユーザ情報対応情報生成部。
【手続補正書】
【提出日】2021-10-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザに紐づけられる情報(以下「ユーザ情報」という。)を、当該ユーザを識別する情報(以下「ユーザID」という。)に関連付けて閲覧可能に保存するユーザ情報管理システムであって、
ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するユーザ情報取得部と、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成部と、
前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベースと、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて保存する、分散型台帳を用いたデータベースシステムである第2のデータベースと、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証部と、
前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去部と、
を有するユーザ情報管理システム。
【請求項2】
前記ユーザ情報対応情報は、暗号化された前記ユーザ情報の少なくとも一部分を含む、
請求項1に記載のユーザ情報管理システム。
【請求項3】
前記ユーザ情報対応情報は、前記暗号化された前記ユーザ情報の一部分及び、暗号化されていない前記ユーザ情報の残りの部分を含む、
請求項2に記載のユーザ情報管理システム。
【請求項4】
前記ユーザIDと暗号化キーを対応付けて保存する第3のデータベースを有し、
前記消去部は、さらに、前記第3のデータベースから、前記特定のユーザに係る前記ユーザID及び対応する前記暗号化キーを消去する、
請求項2又は3に記載のユーザ情報管理システム。
【請求項5】
前記暗号化キーと対応する復号化キーは異なり、
前記ユーザIDと前記復号化キーを対応付けて保存する前記第3のデータベースと異なる第4のデータベースを有し、
前記消去部は、さらに、前記第4のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記複号化キーを消去する、
請求項4に記載のユーザ情報管理システム。
【請求項6】
前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分に対する暗号学的対応値であるユーザ情報対応情報を含む、
請求項1~5のいずれか1項に記載のユーザ情報管理システム。
【請求項7】
前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分についての前記ユーザ情報対応情報及び、前記ユーザ情報の残りの部分を含む、
請求項6に記載のユーザ情報管理システム。
【請求項8】
前記暗号学的対応値は、暗号学的ハッシュ関数を用いて生成される、
請求項1~7のいずれか1項に記載のユーザ情報管理システム。
【請求項9】
ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理方法であって、コンピュータに、
ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得させ、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成させ、
前記ユーザIDと前記ユーザ情報とを対応付けて第1のデータベースに保存させ、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて、分散型台帳を用いたデータベースシステムである第2のデータベースに保存させ、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証させ、
前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去させる、
ユーザ情報管理方法。
【請求項10】
コンピュータを、ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理システムとして機能させるコンピュータプログラムであって、コンピュータを、
ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するユーザ情報取得手段、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成手段、
前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベース、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて保存する、分散型台帳を用いたデータベースシステムである第2のデータベース、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証手段、及び、
前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去手段、
として機能させるための命令列を有するコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正の内容】
【0010】
(1)ユーザに紐づけられる情報(以下「ユーザ情報」という。)を、当該ユーザを識別する情報(以下「ユーザID」という。)に関連付けて閲覧可能に保存するユーザ情報管理システムであって、ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するユーザ情報取得部と、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成部と、前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベースと、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて保存する、分散型台帳を用いたデータベースシステムである第2のデータベースと、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証部と、前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去部と、を有するユーザ情報管理システム。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正の内容】
【0013】
(4)(2)又は(3)において、前記ユーザIDと暗号化キーを対応付けて保存する第3のデータベースを有し、前記消去部は、さらに、前記第3のデータベースから、前記特定のユーザに係る前記ユーザID及び対応する前記暗号化キーを消去する、ユーザ情報管理システム。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正の内容】
【0014】
(5)(4)において、前記暗号化キーと対応する復号化キーは異なり、前記ユーザIDと前記復号化キーを対応付けて保存する前記第3のデータベースと異なる第4のデータベースを有し、前記消去部は、さらに、前記第4のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記複号化キーを消去する、ユーザ情報管理システム。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正の内容】
【0018】
(9)ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理方法であって、コンピュータに、ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得させ、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成させ、前記ユーザIDと前記ユーザ情報とを対応付けて第1のデータベースに保存させ、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて、分散型台帳を用いたデータベースシステムである第2のデータベースに保存させ、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証させ、前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去させる、ユーザ情報管理方法。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0019
【補正方法】変更
【補正の内容】
【0019】
(10)コンピュータを、ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理システムとして機能させるコンピュータプログラムであって、コンピュータを、ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するユーザ情報取得手段、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成手段、前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベース、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて保存する、分散型台帳を用いたデータベースシステムである第2のデータベース、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証手段、及び、前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去手段、として機能させるための命令列を有するコンピュータプログラム。
【手続補正書】
【提出日】2021-12-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザに紐づけられる情報(以下「ユーザ情報」という。)を、当該ユーザを識別する情報(以下「ユーザID」という。)に関連付けて閲覧可能に保存するユーザ情報管理システムであって、
ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するユーザ情報取得部と、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成部と、
前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベースと、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて保存する、分散型台帳を用いたデータベースシステムである第2のデータベースと、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証部と、
前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去部と、
を有するユーザ情報管理システム。
【請求項2】
前記ユーザ情報対応情報は、暗号化された前記ユーザ情報の少なくとも一部分を含む、
請求項1に記載のユーザ情報管理システム。
【請求項3】
前記ユーザ情報対応情報は、前記暗号化された前記ユーザ情報の一部分及び、暗号化されていない前記ユーザ情報の残りの部分を含む、
請求項2に記載のユーザ情報管理システム。
【請求項4】
前記ユーザIDと暗号化キーを対応付けて保存する第3のデータベースを有し、
前記消去部は、さらに、前記第3のデータベースから、前記特定のユーザに係る前記ユーザID及び対応する前記暗号化キーを消去する、
請求項2又は3に記載のユーザ情報管理システム。
【請求項5】
前記暗号化キーと対応する復号化キーは異なり、
前記ユーザIDと前記復号化キーを対応付けて保存する前記第3のデータベースと異なる第4のデータベースを有し、
前記消去部は、さらに、前記第4のデータベースから、特定のユーザに係る前記ユーザID及び対応する前記複号化キーを消去する、
請求項4に記載のユーザ情報管理システム。
【請求項6】
前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分に対する暗号学的対応値であるユーザ情報対応情報を含む、
請求項1~5のいずれか1項に記載のユーザ情報管理システム。
【請求項7】
前記ユーザ情報対応情報は、前記ユーザ情報の少なくとも一部分についての前記ユーザ情報対応情報及び、前記ユーザ情報の残りの部分を含む、
請求項6に記載のユーザ情報管理システム。
【請求項8】
前記暗号学的対応値は、暗号学的ハッシュ関数を用いて生成される、
請求項1~7のいずれか1項に記載のユーザ情報管理システム。
【請求項9】
ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理方法であって、
ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するステップと、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するステップと、
前記ユーザIDと前記ユーザ情報とを対応付けて第1のデータベースに保存するステップと、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて、分散型台帳を用いたデータベースシステムである第2のデータベースに保存するステップと、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証するステップと、
前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去するステップと、
をコンピュータが実行することを特徴とするユーザ情報管理方法。
【請求項10】
コンピュータを、ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理システムとして機能させるコンピュータプログラムであって、コンピュータを、
ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するユーザ情報取得手段、
前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するユーザID対応値生成手段、
前記ユーザIDと前記ユーザ情報とを対応付けて保存する第1のデータベース、
前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて保存する、分散型台帳を用いたデータベースシステムである第2のデータベース、
前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証する整合性検証手段、及び、
前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去する消去手段、
として機能させるための命令列を有するコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正の内容】
【0018】
(9)ユーザに紐づけられる情報を、当該ユーザを識別する情報に関連付けて閲覧可能に保存するユーザ情報管理方法であって、ユーザ端末とのトランザクションによりサービスサーバにて把握されるユーザ情報をユーザIDに関連付けて取得するステップと、前記ユーザIDに対する暗号学的対応値であるユーザID対応値を生成するステップと、前記ユーザIDと前記ユーザ情報とを対応付けて第1のデータベースに保存するステップと、前記ユーザID対応値と、前記ユーザ情報及び前記ユーザ情報に対応する情報であるユーザ情報対応情報のいずれかとを対応付けて、分散型台帳を用いたデータベースシステムである第2のデータベースに保存するステップと、前記第1のデータベースに保存された前記ユーザID及び前記ユーザ情報と、前記第2のデータベースに保存された前記ユーザID対応値並びに前記ユーザ情報及び前記ユーザ情報対応情報のいずれかとの整合性を検証するステップと、前記第1のデータベースから、オペレータにより指示された特定のユーザに係る前記ユーザID及び対応する前記ユーザ情報を消去するステップと、をコンピュータが実行することを特徴とするユーザ情報管理方法。