以下に本発明の実施形態について図面を用いて詳細に説明する。本発明は、個人情報の管理を対象とする。
図1は、本実施形態における個人情報管理サーバ100と、利用者クライアント端末120と、事業者システム130とを含むネットワーク構成を示すブロック図である。なお、上記の全体を個人情報管理システム150とも記載する。
個人情報管理サーバ100は、個人情報を管理するコンピュータシステムである。個人情報管理サーバ100は、ネットワーク140を介して、利用者クライアント端末120および事業者システム130と通信可能となっている。利用者クライアント端末120は、個人情報管理サーバ100に接続し、利用者が個人情報を管理および利活用する際に用いるコンピュータシステムである。事業者システム130は、個人情報管理サーバ100に接続し、事業者が事業者情報を管理、あるいは、個人情報の提供および要求を行う際に利用するコンピュータシステムである。
図1には例として一つの利用者クライアント端末120を示すが、一般には、それぞれ別の利用者が使用する複数の利用者クライアント端末120がネットワーク140に接続される。同様に、図1には例として一つの事業者システム130を示すが、一般には、それぞれ別の事業者が使用する複数の事業者システム130がネットワーク140に接続される。
個人情報管理サーバ100、利用者クライアント端末120、事業者システム130のハードウェア構成は以下の通りである。個人情報管理サーバ100、利用者クライアント端末120、事業者システム130は、ハードディスクドライブまたは組み込み用マルチメディアカードなどの不揮発性記憶装置で構成される記憶装置105、125、135と、RAM(Random Access Memory)などの揮発性記憶装置で構成されるメモリ102、122、132と、記憶装置105、125、135に保持されるプログラムをメモリ102、122、132に呼び出してシステム自体の統括制御を行うと共に各種判定、演算および制御処理を行うCPU(Central Processing Unit)104、124、134と、入力装置および出力装置と接続するためのI/Oインタフェース101、121、131と、ネットワーク140と接続し他装置との通信を行う通信装置103、123、133とを備える。
個人情報管理サーバ100の記憶装置105に実装される機能として、ユーザ登録機能106と、ユーザ認証機能107と、事業者管理機能108と、アカウント連携機能109と、利用許諾管理機能110と、個人情報流通機能111とがある。上記のように、これらの機能は、記憶装置105に保持されたプログラムをメモリ102に呼び出してCPU104が実行することで実現される。したがって、以下に説明される上記の機能の処理は、実際にはCPU104によって実行される。
また、記憶装置105が保持するデータとして、本人基本情報DB(データベース)112と、電子証明書リポジトリ113と、事業者DB114と、アカウント連携DB115と、利用許諾DB116と、利用実績DB117とがある。
利用者クライアント端末120の記憶装置125に実装される機能として、個人情報管理サーバ100との入出力を管理する個人情報管理アプリ126と、利用者の本人認証を行う認証機能127とがある。上記のように、これらの機能は、記憶装置125に保持されたプログラムをメモリ122に呼び出してCPU124が実行することで実現される。したがって、以下に説明される上記の機能の処理は、実際にはCPU124によって実行される。また、記憶装置125が保持するデータとして、個人情報管理サーバ100にログインするために用いる秘密鍵と電子証明書がある。
事業者システム130の記憶装置135に実装される機能として、個人情報管理サーバ100との入出力を管理する個人情報管理API136がある。上記のように、この機能は、記憶装置135に保持されたプログラムをメモリ132に呼び出してCPU134が実行することで実現される。したがって、以下に説明される上記の機能の処理は、実際にはCPU134によって実行される。また、記憶装置135は当該事業者システム130を所有する事業者が管理する個人情報137を保持する。
図2は、本実施形態における個人情報管理サーバ100へのユーザ登録処理を示すフローチャートである。
本実施形態のユーザ登録フローは、利用者が保有する利用者クライアント端末120の個人情報管理アプリ126(処理S201、S203、S208、S211)および認証機能127(処理S204)と、個人情報管理サーバ100のユーザ登録機能106(処理S202、S205~S207、S209、S210)とによって処理される。
処理S201では、利用者クライアント端末120は、ネットワーク140を介して、個人情報管理サーバ100にユーザ登録要求を送信する。
処理S202では、個人情報管理サーバ100は、利用者クライアント端末120にユーザ登録に必要な登録情報の要求を送信する。
処理S203では、利用者クライアント端末120は、利用者からの本人基本情報の入力を受け付ける。本人基本情報は、例えば、氏名、氏名のふりがな、生年月日、性別、住所、などである。
処理S204では、利用者クライアント端末120は、利用者が保有する本人識別情報を読み取り、前記処理S203で取得した本人基本情報と合わせて個人情報管理サーバ100に送信する。本人識別情報は、例えば、公的機関が発行した運転免許証などの顔写真が付いた身分証明書、および、身分証明書の券面に印刷された顔などの本人生体情報である。
処理S205では、個人情報管理サーバ100は、受信した本人識別情報の真贋を確認する。身分証明書の真贋確認は、例えば、身分証明書の厚みなどを検知して偽造されたものでないことを確認することによって行われる。本人生体情報の真贋判定は、例えば、顔を右に向ける、などの指示に応えられているかどうかによって、あらかじめ撮影された動画または静止画などではないことを確認する。真贋確認によって、有効な身分証明書、本人生体情報であると確認された場合、処理S206を実行する。
処理S206では、個人情報管理サーバ100は、受信した本人基本情報が正しいことを確認する。本人基本情報の確認は、例えば、身分証明書の券面に印字された氏名、住所、生年月日などと、入力された本人基本情報とを比較して行う。本人確認によって、入力された本人基本情報が正しいと確認された場合、処理S207を実行する。
処理S207では、個人情報管理サーバ100は、ユーザ登録を要求してきた利用者に対してユーザIDを発行する。
処理S208では、利用者クライアント端末120は、ユーザIDを受信したことを受けて個人情報管理サーバ100に対して電子証明書の発行要求を送信する。電子証明書の発行に必要な鍵ペア生成は、利用者クライアント端末120が行う場合と、個人情報管理サーバ100が行う場合とがある。
利用者クライアント端末120が鍵ペアの生成を行う場合、例えば、以下のような処理を行う。まず、利用者クライアント端末120は、個人情報管理サーバ100にログインするための鍵ペアを生成する。次に、利用者クライアント端末120は、生成した鍵ペアのうち秘密鍵を、クライアント端末120の保有者の生体認証によってのみアクセス可能なセキュアなエリアに格納する。次に、利用者クライアント端末120は、生成した鍵ペアのうち公開鍵を、個人情報管理サーバ100に送信し、電子証明書の発行要求を行う。利用者は、自身の利用者クライアント端末120と、自身の生体情報を用いて、秘密鍵を利用することができる。
一方、個人情報管理サーバ100が鍵ペアの生成を行う場合、個人情報管理サーバ100によって生成された秘密鍵は、例えば、ハードウェアトークンなどの形で利用者に提供される。本実施例においては、以降、利用者クライアント端末120の認証機能127が鍵ペア生成を行う場合について説明する。
処理S209では、個人情報管理サーバ100は、処理S203で入力され、処理S206で確認された本人基本情報を、処理S207で発行されたユーザIDと対応づけて本人基本情報DB112に格納する。
図8は、本実施形態における本人基本情報DB112の一例を示す説明図である。
本人基本情報DB112は、利用者に関する情報を含む複数のレコードを有する。各レコードは、一人の利用者に関する情報を含む。図8には例として一つのレコードを示している。各レコードは、ユーザID801、氏名802、ふりがな803、生年月日804、性別805、住所806及び登録日時807を含む。ユーザID801は、処理S207で発行された利用者の識別情報である。氏名802~住所806は、処理S203で入力され、処理S206で確認された、利用者に関する情報である。登録日時807は、各レコードが本人基本情報DB112に登録された日時を示す。
再び図2を参照する。処理S210では、個人情報管理サーバ100は、処理S208で受け取った公開鍵情報および処理S207で発行されたユーザIDに基づき電子証明書を発行する。電子証明書は、例えば、X.509規格に準拠した書式を用いる。個人情報管理サーバ100は、発行した電子証明書を電子証明書リポジトリ113に保管し、利用者クライアント端末120にコピーを送信する。
処理S211では、利用者クライアント端末120は、受信した電子証明書を利用者クライアント端末120内に保存し、登録完了画面を表示する。
以上の処理によって、個人情報管理サーバ100に本人確認済みの利用者の本人基本情報および電子証明書が、利用者クライアント端末120に個人情報管理サーバ100のログインに必要な秘密鍵および電子証明書がそれぞれ格納される。
図3は、本実施形態におけるユーザログイン処理を示すフローチャートである。
本実施形態のユーザログインフローは、利用者クライアント端末120の個人情報管理アプリ126(処理S301、S304)および認証機能127(処理S303)と、個人情報管理サーバ100のユーザ認証機能107(処理S302、S305)とによって処理される。利用者は利用者クライアント端末120からネットワーク140を介して個人情報管理サーバ100にログインする。
処理S301では、利用者クライアント端末120は、個人情報管理サーバ100に登録済みの利用者からのログイン要求を受け付け、利用者のユーザIDと共にログイン要求を個人情報管理サーバ100に送信する。利用者のユーザIDは処理S211で保存した電子証明書に含まれている。
処理S302では、個人情報管理サーバ100は、利用者のユーザIDを用いてログイン要求を行った利用者の電子証明書を電子証明書リポジトリ113から呼び出し、公開鍵を抽出する。個人情報管理サーバ100は、乱数を生成し、それを利用者の公開鍵で暗号化した後、利用者クライアント端末120に認証要求として送信する。
処理S303では、利用者クライアント端末120は、利用者の認証を行う。本実施形態では、利用者クライアント端末120が有する生体認証機能を用いて、利用者の生体認証を行い、正しく認証された場合に、処理S208で格納した秘密鍵を有効化する。
処理S304では、利用者クライアント端末120は、処理S303で有効化した秘密鍵を用いて、処理S302で暗号化された乱数を復号し、認証結果として個人情報管理サーバ100に送信する。
処理S305では、個人情報管理サーバ100は、処理S302で生成した乱数と、処理S304で復号された乱数とを比較し、両者が同値であった場合に認証成功と判定する。
これらの処理によって、利用者は利用者クライアント端末120でセキュアに管理された秘密鍵と、個人情報管理サーバ100に登録された電子証明書を用いて、個人情報管理サーバ100にログインできる。
図4は、本実施形態における事業者登録処理を示すフローチャートである。
本実施形態の事業者登録フローは、事業者が所有する事業者システム130の個人情報管理API136(処理S401、S403、S406)と、個人情報管理サーバ100の事業者管理機能108(処理S404、S405)とによって処理される。個人情報管理サーバ100に登録した事業者は、個人情報管理サーバ100に対して自身が管理する個人情報を提供する場合、および、個人情報管理サーバ100を介して自身が希望する個人情報を要求する場合に、個人情報管理サーバ100を利用する。事業者登録フローは、事前に事業者と個人情報管理サーバ100の運営者との間で、事業者登録について合意がなされていることを前提として処理される。
処理S401では、事業者システム130は、ネットワーク140を介して、個人情報管理サーバ100に事業者登録要求を送信する。
処理S402では、個人情報管理サーバ100は、事業者システム130に、事業者登録に必要な登録情報の要求を送信する。
処理S403では、事業者システム130は、事業者からの事業者情報の入力を受け付ける。事業者情報は、例えば、事業者名、事業者所在地などの事業者基本情報と、提供可能なデータ項目名、提供を希望するデータ項目名などの個人情報に関する情報と、を含む。
処理S404では、個人情報管理サーバ100は、受信した登録要求が、事前に合意された事業者からの登録要求であることを確認したうえで、事業者IDを発行する。
処理S405では、個人情報管理サーバ100は、事業者基本情報を事業者DB114内の事業者基本情報テーブル901に、個人情報に関する情報を事業者DB114内の事業者個人情報テーブル902に格納する。
図9は、本実施形態における事業者DB114内の事業者基本情報テーブル901および事業者個人情報テーブル902の一例を示す説明図である。
事業者基本情報テーブル901(図9(a))は、事業者に関する情報を含む複数のレコードを有する。各レコードは、一つの事業者に関する情報を含む。図9(a)には例として二つの事業者に関する二つのレコードを示している。各レコードは、事業者ID911、事業者名912、ふりがな913、所在地914、業種915及び登録日時916を含む。事業者ID911は、処理S404で発行された事業者の識別情報である。事業者名912~業種915は、処理S403で入力された、事業者に関する情報である。登録日時916は、各レコードが事業者DB114に登録された日時を示す。
事業者個人情報テーブル902(図9(b))は、事業者が管理する個人情報に関する情報を含む複数のレコードを有する。各レコードは、一つの事業者が管理する一つの個人情報の項目に関する情報を含む。図9(b)には例として一つの事業者が管理する二つの個人情報の項目に関する二つのレコードを示している。各レコードは、事業者ID921、個人情報ID922、個人情報データ名称923及び区分924を含む。
事業者ID921は、処理S404で発行された事業者の識別情報であり、図9(a)の事業者ID911に対応する。個人情報IDは、各個人情報の項目の識別情報であり、個人情報管理サーバ100によって発行されたものであってもよい。個人情報データ名称923は、各個人情報の項目の名称であり、処理S403で入力されたものであってもよい。区分924は、各個人情報の項目の区分(例えば、その項目の個人情報を他の事業者に提供するか、または、その項目の個人情報の提供を他の事業者に要求するか)を示す情報であり、処理S403で入力されたものであってもよい。
図9(b)の例は、事業者ID「COMPANY_A」で識別される事業者が、利用者の趣味に関する個人情報を保持しており、それを他の事業者に提供することが可能であること、及び、当該事業者が他の事業者に利用者のオンラインショッピング取引履歴に関する個人情報の提供を要求していることを示している。
再び図4を参照する。処理S406では、事業者システム130は、個人情報管理サーバ100に登録が完了した旨を表示する。
以上の処理によって、個人情報管理サーバ100に事業者に関する情報が格納される。以降、事業者は事業者IDを用いて適宜個人情報管理サーバ100にアクセスすることができる。個人情報管理サーバ100へのアクセス認証には、例えば、個人情報管理サーバ100が仮パスワードを発行した後に事業者が本パスワードに変更して利用してもよいし、事業者が鍵ペアを生成し個人情報管理サーバ100に電子証明書の発行を要求してもよい。
図5は、本実施形態におけるユーザアカウント連携処理を示すフローチャートである。
本実施形態のユーザアカウント連携フローは、利用者クライアント端末120の個人情報管理アプリ126(処理S502、S505、S507、S510)および認証機能127(処理S501)と、個人情報管理サーバ100のアカウント連携機能109(処理S503、S509)と、事業者システム130の個人情報管理API136(処理S504、S506、S508)とによって処理される。この処理は、個人情報管理サーバ100に登録された利用者が、個人情報管理サーバ100に登録された事業者のサービスを利用しており、その事業者が保有する個人情報を個人情報管理サーバ100で管理したい場合に行う。このような処理の標準として、OpenID Connectなどの規格が提案されている。以降、ユーザアカウント連携フローの詳細を説明する。
処理S501では、利用者クライアント端末120および個人情報管理サーバ100は、ユーザログインフローS300(図3)を実行し、利用者のログイン処理を行う。厳正な本人確認を経て個人情報管理サーバ100に登録された利用者が、信頼できる認証方法によってログインすることで、以降の手続きは全て本人確認済みの真正な利用者からの要求であることが保証される。
処理S502では、利用者クライアント端末120は、利用者に対して、図13に示すアカウント連携登録画面1300(後述)を表示する。利用者は、アカウント連携メニューから連携を希望する事業者を選択し、利用者クライアント端末120は、アカウント連携要求を個人情報管理サーバ100に送信する。
図13は、本実施形態の利用者クライアント端末120によって表示されるアカウント連携登録画面1300の一例を示す説明図である。
図13に示すアカウント連携登録画面1300は、事業者選択欄1301、提供個人情報表示欄1302、要求個人情報表示欄1303及び連携要求ボタン1304を含む。この画面は、例えば、I/O121に接続された出力装置によって表示される。
事業者選択欄1301には、利用者がアカウント連携を要求する対象として選択した事業者が入力される。例えば、利用者の操作に応じて、個人情報管理サーバ100に登録された事業者のリストが表示され、利用者がそれらのいずれかを選択してもよい。
提供個人情報表示欄1302及び要求個人情報表示欄1303には、利用者が選択した事業者が提供する個人情報および要求する個人情報が表示される。これらは、当該事業者に対応する事業者個人情報テーブル902の区分924に対応する。
利用者が連携要求ボタン1304を操作(例えばタッチスクリーンへのタッチ、またはマウスクリック等)すると、選択された事業者に関するアカウント連携要求が個人情報管理サーバ100に送信される(処理S502)。
再び図5を参照する。処理S503では、個人情報管理サーバ100は、利用者がアカウント連携を希望する事業者が保有する事業者システム130に対して、利用者クライアント端末120を介してリダイレクトさせることで認証要求を送信する。
処理S504では、認証要求を受け付けた事業者システム130は、利用者クライアント端末120に対してログイン要求を送信する。
処理S505では、利用者クライアント端末120は、利用者から事業者システム130へのログインに必要なログイン情報の入力を受け付ける。必要なログイン情報は、事業者システム130に依存するが、例えば、IDとパスワードなどである。
処理S506では、ログイン情報を受け取った事業者システム130は、ログイン情報を検証することで、利用者のログイン認証を行う。認証に成功した場合、事業者システム130は、利用者に対してアカウント連携を認可するか確認するための要求を利用者クライアント端末120に送信する。
処理S507では、利用者クライアント端末120は、利用者のアカウント連携認可の入力を受け付け、その結果を事業者システム130に送信する。
処理S508では、事業者システム130は、個人情報管理サーバ100に対して、利用者クライアント端末120を介してリダイレクトさせることで、利用者のログイン認証結果およびアカウント連携認可結果を送信する。
処理S509では、個人情報管理サーバ100は、利用者の個人情報管理サーバ100におけるユーザIDと、事業者システム130におけるユーザIDとをアカウント連携DB115に格納する。
図10は、本実施形態におけるアカウント連携DB115の一例を示す説明図である。
アカウント連携DB115は、利用者が要求したアカウント連携に関する情報を含む。アカウント連携DB115の各レコードは、利用者と、当該利用者がアカウント連携を要求した事業者との組み合わせに対応し、その組み合わせに関する情報を含む。図10には例として一つのレコードを示している。各レコードは、個人情報システムユーザID1001、事業者ID1002、事業者システムユーザID1003及び登録日時1004を含む。
個人情報システムユーザID1001は、アカウント連携を要求した利用者の識別情報であり、個人情報管理サーバ100によって発行されたものである。すなわち、個人情報システムユーザID1001は、本人基本情報DB112のユーザID901に対応する。事業者ID1002は、利用者がアカウント連携を要求した事業者の識別情報であり、個人情報管理サーバ100によって発行されたものである。すなわち、事業者ID1002は、事業者DB114の事業者ID911及び921に対応する。事業者システムユーザID1003は、アカウント連携を要求した利用者の識別情報であり、事業者システム130によって使用されているものである。登録日時1004は、各レコードがアカウント連携DB115に登録された日時を示す。
図10の例は、個人情報管理サーバ100が発行したユーザID「USER001」によって識別される利用者が、事業者ID「COMPANY_A」によって識別される事業者のアカウント連携を要求した場合に登録される情報を示す。ここで、事業者システムユーザID1003に登録された「A_USER_01」は、当該利用者を識別するために当該事業者が使用している識別情報である。
図10には一つの事業者に関する情報のみを例として示しているが、実際には、例えば後述する事業者A及び事業者Bなど、複数の事業者について、それぞれ、利用者と、事業者と、当該事業者が当該利用者を識別するために使用する識別情報とが対応付けてアカウント連携DB115に登録される。
再び図5を参照する。処理S510では、利用者クライアント端末120は、アカウント連携が完了した旨を表示する。
これらの処理によって、個人情報管理サーバ100における利用者のユーザIDと、事業者システム130における利用者のユーザIDとが連携される。個人情報管理サーバ100では、利用者は厳正な本人確認を経て登録されているため、この一連の処理によって連携された事業者システム130が管理する個人情報も個人情報管理サーバ100が確認した本人の情報であることが推認される。
図6は、本実施形態における利用許諾登録処理を示すフローチャートである。
本実施形態の利用許諾登録携フローは、利用者クライアント端末120の個人情報管理アプリ126(処理S602、S604、S606)および認証機能127(処理S601)と、個人情報管理サーバ100の利用許諾管理機能110(処理S603、S605)によって処理される。
処理S601では、利用者クライアント端末120および個人情報管理サーバ100は、ユーザログインフローS300(図3)を実行し、ユーザのログイン処理を行う。厳正な本人確認を経て個人情報管理サーバ100に登録されたユーザが、信頼できる認証方法によってログインすることで、以降の手続きは全て本人確認済みの真正なユーザからの要求であることが保証される。
処理S602では、利用者クライアント端末120は、利用者からの利用許諾登録要求を受け付け、個人情報管理サーバ100に利用許諾登録要求を送信する。
処理S603では、個人情報管理サーバ100は、利用者クライアント端末120に対して、図14に示す利用許諾登録画面1400(後述)を送信する。
図14は、本実施形態の利用者クライアント端末120によって表示される利用許諾登録画面1400の一例を示す説明図である。
図14に示す利用許諾登録画面1400は、事業者選択欄1401、個人情報選択欄1402、事業者選択欄1403、目的選択欄1404、提供期間入力欄1405及び登録ボタン1406を含む。この画面は、例えば、I/O121に接続された出力装置によって表示される。
事業者選択欄1401には、利用者が利用許諾をする対象の個人情報の提供元の事業者が入力される。例えば、利用者の操作に応じて、個人情報管理サーバ100に登録された事業者のリストが表示され、利用者がそれらのいずれかを選択してもよい。
個人情報選択欄1402には、利用者が利用許諾をする対象の個人情報の項目が入力される。例えば、事業者選択欄1401で選択された事業者が提供する個人情報の項目のリストと、それぞれの項目に対応するチェックボックスが表示され、利用者が利用許諾をする項目のチェックボックスにチェックを入力してもよい。
事業者選択欄1403には、利用者が利用許諾をする個人情報の提供先の事業者が入力される。例えば、当該利用者がアカウント連携を要求した事業者のうち、上記の提供元の事業者以外の事業者のリストと、それぞれの事業者に対応するチェックボックスが表示され、利用者が提供先の事業者のチェックボックスにチェックを入力してもよい。
目的選択欄1404には、利用者が利用許諾をする個人情報の提供の目的が入力される。例えば、一次利用、二次利用などの目的のリストが表示され、ユーザがそれらのいずれかを選択してもよい。
提供期間入力欄1405には、個人情報の利用を許諾する期間を示す情報(例えば、開始日及び終了日)が入力される。
利用者が登録ボタン1406を操作すると、上記の入力欄の入力内容に応じた利用許諾情報が個人情報管理サーバ100に送信される(処理S604)。
再び図6を参照する。処理S604では、利用者クライアント端末120は、利用許諾登録画面1400を表示し、利用者からの利用許諾情報の入力を受け付ける。利用許諾情報は、個人情報を保有している事業者名、個人情報のデータ名、提供先の事業者名、提供の目的、提供を開始する日時と提供を終了する日時などで構成される。提供の目的には、個人情報が紐づく利用者本人へのサービスに活用する一次利用と、適宜匿名加工などを行いマーケティングなどの分析に活用する二次利用とがある。なお、利用可能な個人情報には、後述する個人情報管理サーバ100が管理する利用実績DB117の情報も含まれる。利用者クライアント端末120は、これらの利用許諾情報を個人情報管理サーバ100に送信する。
処理S605では、個人情報管理サーバ100は、利用許諾登録を要求した利用者のユーザIDと前記利用許諾情報とを対応づけて利用許諾DB116に格納し、利用許諾登録が完了した旨を利用者クライアント端末120に送信する。
図11は、本実施形態における利用許諾DB116の一例を示す説明図である。
利用許諾DB116は、ユーザID1101、提供元事業者ID1102、個人情報ID1103、提供先事業者ID1104、提供の目的1105、提供開始日1106及び提供終了日1107を含む。
ユーザID1101は、利用を許諾した利用者の識別情報であり、本人基本情報DB112のユーザID801に対応する。提供元事業者ID1102は、利用者が利用を許諾した個人情報の提供元の事業者の識別情報であり、事業者DB114の事業者ID911及び921に対応する。個人情報ID1103は、利用者が利用許諾をした個人情報の項目の識別情報であり、事業者DB114の個人情報ID922に対応する。提供先事業者ID1104は、利用者が利用を許諾した個人情報の提供先の事業者の識別情報であり、事業者DB114の事業者ID911及び921に対応する。提供の目的1105は、利用者が利用許諾をした個人情報の提供の目的を示す。提供開始日1106及び提供終了日1107は、利用者が個人情報の利用を許諾した期間の開始日及び終了日を示す。
処理S606では、利用者クライアント端末120は、利用者に対して利用許諾登録が完了した旨を表示する。
これら一連の処理によって、利用者は個人情報管理サーバ100に登録された事業者に対して自身の個人情報を提供することが可能となる。
図7は、本実施形態における個人情報利用処理を示すフローチャートである。
本実施形態の個人情報利用フローは、利用者クライアント端末120の個人情報管理アプリ126(処理S702、S708)および認証機能127(処理S701)と、個人情報管理サーバ100の個人情報流通機能111(処理S703、S704、S706、S709)と、事業者Aが所有する事業者システム130(以下、これを事業者システムA130Aと記載する)の個人情報管理API136(処理S705)と、事業者Bが所有する事業者システム130(以下、これを事業者システムB130Bと記載する)の個人情報管理API136(処理S707)とによって処理される。ここでは、利用者が事業者Bの提供するサービスを利用する際に、事業者Aが保有する利用者個人情報を事業者Bに提供し、事業者Bがその個人情報を利用してサービスを提供する場合について説明する。
処理S701では、利用者クライアント端末120と個人情報管理サーバ100は、ユーザログインフローS300(図3)を実行し、ユーザのログイン処理を行う。厳正な本人確認を経て個人情報管理サーバ100に登録されたユーザが、信頼できる認証方法によってログインすることで、以降の手続きは全て本人確認済みの真正なユーザからの要求であることが保証される。
処理S702では、利用者クライアント端末120は、個人情報管理サーバ100に登録されている事業者のサービスメニューを表示し、利用者からのサービス利用要求を受け付ける。ここでは、事業者Bのサービスを利用する旨の入力を受け付け、個人情報管理サーバ100に送信する。
処理S703では、個人情報管理サーバ100は、利用者クライアント端末120からのサービス利用要求に基づいて、利用許諾DB116を参照する。利用許諾DB116を参照するために必要な情報は、利用者のユーザIDと、サービス提供者である事業者Bの事業者IDである。個人情報管理サーバ100は、これらの情報を基に、事業者Bに対して提供可能な個人情報を特定する。
処理S704では、個人情報管理サーバ100は、処理S703で参照した利用許諾情報に基づいて、当該利用者の個人情報を保有する事業者システムA130Aに対して個人情報の提供要求を送信する。個人情報提供要求には、誰の、どんな個人情報の提供を求めるかを示す情報が含まれる。
具体的には、誰の個人情報であるかは、アカウント連携DB115に格納された、事業者システムA130Aで管理される当該利用者のユーザID(例えば「A_USER_01」など)によって指定される。また、どんな個人情報の提供を求めるかは、事業者個人情報テーブル902に登録された、事業者システムA130Aで管理されるデータ項目名(例えば「A001」または「趣味」など)によって指定される。
処理S705では、事業者システムA130Aは、個人情報提供要求に基づき、自身が管理する個人情報の中から求められた個人情報を抽出し、個人情報管理サーバ100に送信する。
処理S706では、個人情報管理サーバ100は、処理S702で利用者から受け付けたサービス利用要求と、処理S705で事業者システムA130Aから受信した利用者個人情報とを、利用者クライアント端末120を介して、事業者システムB130Bに送信する。このとき、個人情報管理サーバ100は、アカウント連携DB115(図10)を参照して、事業者Bが当該利用者を識別するための識別情報を、サービス利用要求とともに送信してもよい。
処理S707では、事業者システムB130Bは、サービス利用要求および利用者個人情報に基づき、事業者Bのサービスを提供する。事業者Bに対して提供される個人情報は、例えば、利用者の趣味、嗜好、または今までの他事業者サービス利用実績などである。なお、提供するサービスによっては、利用者からの検索または条件指定を受け付けるなど、利用者クライアント端末120と事業者システムB130Bとの間で情報のやり取りが行われてもよい。
処理S708では、利用者クライアント端末120は事業者Bのサービスを利用した結果を個人情報管理サーバ100に送信する。結果には、利用者のユーザID、事業者Bの事業者ID、利用したサービス名およびサービス内容、サービス利用日時などのほか、サービスの評価が含まれてもよい。
処理S709では、個人情報管理サーバ100は、サービス利用結果を利用者のユーザIDとサービス提供者である事業者Bの事業者IDと対応づけて利用実績DB117に格納する。
図12は、本実施形態における利用実績DB117の一例を示す説明図である。
利用実績DB117は、ユーザID1201、サービス提供事業者ID1202、サービス名1203、サービス内容1204、提供した個人情報1205、評価1206及び利用日時1207を含む。
ユーザID1201は、事業者によるサービスの提供を受けた利用者の識別情報である。サービス提供事業者ID1202は、利用者にサービスを提供した事業者の識別情報である。サービス名1203及びサービス内容1204は、事業者が利用者に提供したサービスの種類及びその内容の識別情報(名称)である。例えば、サービス名1203が「オンラインショッピング」の場合、対応するサービス内容1204は購入品の名称及び購入金額等であってもよい。
提供した個人情報1205は、当該事業者に他の事業者から提供された個人情報を示すであり、例えば他の事業者から趣味に関する個人情報が提供された場合にはそのことを示す情報が登録される。評価1206は、利用者が提供されたサービスに対して与えた評価であり、例えばそのサービスに対する利用者の満足度等を示す。この情報は、例えば後述するレコメンドに利用される。利用日時1207は、利用者が事業者によるサービスの提供を受けた日時を示す。
以上の本実施形態の一連の処理によって、利用者は、事業者Aのサービス利用によって蓄積された利用者の個人情報を、事業者Bのサービスを利用する際にも活用できる。また、事業者Bは、事業者システムB130Bに存在しない、利用者の個人情報をサービス提供に活用することができる。また、個人情報管理サーバ100は、厳正な本人確認済みの利用者のサービス利用結果を蓄積することができ、これ以後、利用者および事業者に対してサービス利用結果の提供が可能となる。
図15は、別の実施形態におけるユーザアカウント連携処理を示すフローチャートである。
図15に示す別の実施形態のユーザアカウント連携フローS1500は、図5に示したユーザアカウント連携フローS500に、本人基本情報検証処理S1509と、本人基本情報確認処理S1510とを加えたものである。ユーザアカウント連携フローS1500の処理S1501~S1508はユーザアカウント連携フローS500の処理S501~S508と同一であり、処理S1511~S1512は処理S509~S510と同一であることから、それらの説明は省略する。
ユーザアカウント連携フローS1500によれば、処理S1508の次に処理S1509が実行される。処理S1509では、個人情報管理サーバ100は、事業者システム130から利用者の本人基本情報を更に受信し、それを本人基本情報登録処理S209にて登録された本人基本情報と比較し、両者が一致しない場合、その旨を利用者クライアント端末120に送信する。
処理S1510では、利用者クライアント端末120は、事業者システム130から受信した本人基本情報と、前記本人基本情報登録処理S209で登録された本人基本情報との比較の結果を表示し、利用者に本人基本情報の確認を求める。両者の値が異なる場合に、利用者が行う操作として、以下の3通りがある。
1つは個人情報管理サーバ100の情報を正とする場合で、利用者は利用者クライアント端末120及び個人情報管理サーバ100を介して、事業者システム130に本人基本情報の変更要求を送信し、これを受信した事業者システム130は、事業者が管理する個人情報を更新する。別の1つは事業者システム130の情報を正とする場合で、利用者は利用者クライアント端末120を介して、個人情報管理サーバ100に本人基本情報の変更を要求し、個人情報管理サーバ100は本人基本情報を更新する。これら2つの場合では、必要に応じて本人確認書類の提供を求めてもよい。さらに別の1つでは利用者は本人基本情報の変更を行わない。
上記の別の実施形態の個人情報管理サーバ100は、これらの追加の処理によって、異なるシステム間での本人基本情報の整合性確保を支援する。例えば利用者がいずれかの事業者システム130又は個人情報管理サーバ100に誤った個人情報を登録してしまった場合、または、転居によって個人情報が変更された場合など、システム間で登録された個人情報の不整合が生じた場合に、上記の処理によってそれらを整合させることができる。
図16は、別の実施形態におけるサービスレコメンド処理を示すフローチャートである。
これは、本発明の個人情報流通機能111の別の実施形態を示す。当該別の実施形態の個人情報流通機能111は、個人情報利用フローS700に加えて、サービスレコメンドフローS1600を更に実行する。
処理S1601では、個人情報管理サーバ100は、利用実績DB117に含まれる、利用者が利用したサービス名およびサービス内容、利用者の個人情報、利用者のサービスに対する評価を参照し、事業者のサービスに対する評価と利用者の趣味などの個人情報の関係性を分析する。この際、個人情報管理サーバ100が利用可能な利用実績情報は、利用者が利用許諾DB116に、提供の目的としてマーケティングなどの二次利用を許可した情報に限られる。
処理S1602では、個人情報管理サーバ100は、処理S1601の分析結果を用いて、事業者が提供するサービスと、利用者の個人情報のマッチングを行う。
処理S1603では、処理S1602のマッチングの結果を利用者クライアント端末120に表示する。
処理S1604では、処理S1602のマッチングの結果を事業者システム130に表示する。
別の実施形態の個人情報管理サーバ100は、これらの追加の処理によって、年齢および性別など、本人確認済みの真正な情報を用いたサービスの分析およびレコメンドが可能である。
例えば、事業者Bが利用者の趣味に関する情報を保持していない場合、事業者Bのサービスに対する評価と利用者の趣味とを対応付けることができない。しかし、アカウント連携処理の結果、事業者Aから事業者Bに提供された利用者の趣味に関する情報を二次利用できることになれば、利用者によって与えられた当該事業者Bのサービスに対する評価と、当該利用者の趣味とが対応付けられる(図12参照)。そのようにして対応付けられた情報を蓄積し、サービスの内容と、趣味等の個人情報の内容と、サービスに対する評価との関係を分析することによって、例えば当該利用者と同一の趣味を持つ利用者に評価の高いサービスをレコメンドするなど、提供された個人情報に関連したより精度の高いレコメンドが可能になる。
以上に説明した本発明の態様の代表的な例をまとめると次の通りとなる。すなわち、プロセッサ(例えばCPU104)と、プロセッサに接続される記憶装置(例えば記憶装置105)と、を有する個人情報管理サーバであって、記憶装置は、利用者の認証に使用する電子証明書(例えば電子証明書リポジトリ113)を保持し、プロセッサは、利用者からのログイン要求(例えばS301)を受信すると、電子証明書を使用して利用者の認証に成功したか否かを判定し(例えばS305)、利用者の認証に成功し、かつ、利用者から、第1の事業者が保持する利用者の個人情報を第2の事業者に提供することを許諾する利用許諾登録要求(例えばS602)を受信した場合、利用者と、第1の事業者と、第2の事業者と、を対応付ける利用許諾情報(例えば利用許諾DB116)を記憶装置に格納し、利用者の認証に成功し、かつ、利用者によって入力された第2の事業者のサービスの利用要求(例えばS702)を受信した場合、利用許諾情報に基づいて、第1の事業者に対する利用者の個人情報の提供要求を送信し(例えばS704)、第1の事業者から利用者の個人情報を受信すると(例えばS705)、受信した利用者の個人情報を含む、利用者にサービスを提供することを前記第2の事業者に要求するためのサービス提供要求を送信する(例えばS706)ことを特徴とする。
これによって、厳正な本人確認がなされた個人が自らの意思において、蓄積されたサービスの個人情報を集約し、利活用できる。サービス提供者(例えば上記の事業者)は、本人性が保証された個人情報を利活用することができる。
ここで、利用許諾登録要求は、提供を許諾する個人情報の項目を示す情報を含み、プロセッサは、受信した前記利用許諾登録要求に基づいて、提供を許諾する個人情報の項目を示す情報(例えば個人情報ID1103)を利用許諾情報に含めて記憶装置に格納し、利用者の認証に成功し、かつ、利用者によって入力された前記第2の事業者のサービスの利用要求を受信した場合、第1の事業者に対する前記利用者の個人情報のうち、前記提供を許諾された項目の個人情報の提供要求を送信してもよい。
これによって、個人の意思で、項目ごとに個人情報を提供するか否かを決定することができる。
また、記憶装置は、電子証明書として、利用者に対応する公開暗号鍵(例えばS208で送信された公開鍵情報)を保持し、プロセッサは、利用者からのログイン要求に基づいて、公開暗号鍵によって暗号化された情報を利用者に送信し(例えばS302)、利用者から受信した情報(例えばS304で送信された情報)と、利用者に対応する公開暗号鍵によって暗号化される前の情報とを照合した結果に基づいて、前記利用者の認証に成功したか否かを判定(例えばS305)してもよい。
これによって、個人情報の利用許諾を行うとき、及び、利用許諾に基づいて個人情報を利用するときのそれぞれにおいて、厳正な本人確認が可能になる。
また、プロセッサは、利用者の認証に成功した場合、各事業者に向けた前記利用者の認証要求を送信し(例えばS503)、各事業者による利用者の認証が成功したことを示す認証応答を受信すると、利用者と、各事業者と、各事業者が利用者を識別するための識別情報と、を対応付ける情報(例えばアカウント連携DB115)を記憶装置に格納し(例えばS509)、第1の事業者が利用者を識別するための識別情報を使用して、第1の事業者に対する利用者の個人情報の提供要求を送信し(例えばS704)、第2の事業者が利用者を識別するための識別情報を使用して、第2の事業者に対するサービス提供要求を送信(例えばS706)してもよい。
これによって、利用者は第2の事業者へのサービス提供要求をすれば、第1の事業者からの個人情報の取得等は個人情報管理サーバによって行われるため、利用者の利便性が向上する。
また、記憶装置は、利用者の基本的な個人情報を保持し、各事業者による利用者の認証が成功したことを示す認証応答(例えばS1508)は、各事業者が保持する利用者の基本的な個人情報(例えば本人基本情報DB112に含まれる情報)を含み、プロセッサは、記憶装置が保持する利用者の基本的な個人情報と、いずれかの事業者が保持する利用者の基本的な個人情報とが異なる場合に、利用者に対する基本的な個人情報の確認要求を送信(例えばS1509)してもよい。
ここで、利用者の基本的な個人情報は、利用者の氏名、性別、住所及び生年月日の少なくとも一つを含んでもよい。
これによって、過去に登録した個人情報の誤り等を修正する機会が与えられる。
また、プロセッサは、利用者から、利用者がサービスを利用した結果を示す情報(例えばS708)を受信すると、受信した情報を、サービスを提供した事業者以外の事業者から提供された個人情報と対応付けて、利用実績情報(例えば利用実績DB117)として保持し(例えばS709)、利用実績情報を分析することによって生成した推奨情報を出力(例えばS1602)してもよい。
ここで、利用者が前記サービスを利用した結果を示す情報は、利用者によるサービスに対する評価(例えば評価1206)を含み、プロセッサは、サービスの内容と、利用者の個人情報の内容と、サービスに対する評価との関係を分析することによって推奨情報を生成(例えばS1602)してもよい。
これによって、他の事業者から提供された個人情報に関連した、より精度の高い推奨情報の生成が可能になる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。