(58)【調査した分野】(Int.Cl.,DB名)
前記IMSアプリケーション部は、前記SNSのプラットフォームより提供されるメッセージの送受信機能を利用して前記SNS側サービス提供部より受信したWebページのリンクから自身が起動される際に受け渡される起動パラメータから前記利用者の前記SNS_IDを取得する、または、前記SNSのプラットフォームより提供される他のアプリケーションから前記SNSへのログインサービスを利用して前記利用者の前記SNS_IDを取得する
請求項1に記載のサービス提供システム。
前記IMSアプリケーション部は、前記SNSのプラットフォームより提供されるメッセージの送受信機能を利用して前記SNS側サービス提供部より受信したWebページのリンクから自身が起動される際に受け渡される起動パラメータから、前記SNS_IDとして前記利用者を特定可能なセッションIDと、前記IMSのプラットフォーム上で前記対象確認サービス部を特定可能な情報である送信先IMS_IDとを含む情報を取得する
請求項2に記載のサービス提供システム。
前記IMSアプリケーション部は、前記利用者の前記SNS_IDと、自身が保持している前記IMSのプラットフォーム上で前記利用者を特定可能な情報であるIMS_IDとを対応づけて前記対象確認サービス部に送信する
請求項1から請求項3のうちのいずれかに記載のサービス提供システム。
前記IMSアプリケーション部は、前記利用者の前記SNS_IDと、前記IMSのプラットフォームを利用して行った前記利用者の前記対象確認の結果とを対応づけて前記対象確認サービス部に送信する
請求項1から請求項3のうちのいずれかに記載のサービス提供システム。
利用者が使用する個人用端末と、利用者に所定のサービスを提供するサービス提供装置と、サービス提供装置で発行された当該サービスの受給資格を示す許可証が使用される場所に設置される許可証判定装置とを備え、
前記個人用端末は、
前記利用者が所定のSNSを利用するための各種処理およびインタフェースを提供するSNSアプリケーション部と、
前記利用者が所定のIMSを利用するための各種処理およびインタフェースを提供するIMSアプリケーション部とを含み、
前記サービス提供装置は、
前記SNSのプラットフォームを利用した前記SNSアプリケーション部との情報のやりとりにより、前記利用者に、前記サービスを提供するSNS側サービス提供部と、
前記IMSのプラットフォームを利用した前記IMSアプリケーション部との情報のやりとりにより、前記利用者の対象確認を行う第1の対象確認サービス部とを含み、
前記許可証判定装置は、
前記利用者から入場の申請または前記許可証により得られる利益の受領の申請を受け付けると、前記IMSのプラットフォームを利用した前記IMSアプリケーション部との情報のやりとりにより、前記利用者の対象確認を行う第2の対象確認サービス部と、
前記第2の対象確認サービス部による前記対象確認の結果に基づいて、前記利用者の申請の可否を判定する判定部とを含み、
前記IMSアプリケーション部は、少なくとも前記第1の対象確認サービス部に、所定の方法で、前記SNSのプラットフォームより提供される機能を少なくとも利用して取得した、前記SNS側サービス提供部が前記SNSのプラットフォーム上で前記利用者を特定可能な情報であるSNS_IDを、前記利用者の対象確認の結果を特定可能な情報とともに送信し、
前記第1の対象確認サービス部は、前記IMSアプリケーション部から受信した前記SNS_IDと、該SNS_IDにより特定された前記利用者の対象確認の結果とを対応づけて前記SNS側サービス提供部に通知し、
前記SNS側サービス提供部は、前記第1の対象確認サービス部から通知された前記利用者の対象確認の結果を基に前記利用者に前記サービスを提供し、
前記IMSは、
2以上のノードが参加する所定のコンセンサスアルゴリズムに従った処理を経て新たなブロックが追加されるブロックチェーンを構成する2以上のノードと、
前記ブロックチェーンに、利用者から開示された個人情報であって、本人確認、ユーザ認証または適格性確認のいずれかである所定の対象確認に必要な個人情報である対象確認情報のハッシュ値を含む第1ブロックを登録する登録部と、
前記利用者から開示された前記対象確認情報の正当性を前記ブロックチェーン内のブロックを用いて検証した上で、開示された前記対象確認情報に基づいて前記対象確認を行う対象確認部と、
前記ブロックチェーンに、前記対象確認もしくはサービスの提供の記録を含む第2ブロックを登録する記録登録部とを備えており、
前記IMSアプリケーション部は、前記IMSの一部として前記登録部を有し、
前記第1の対象確認サービス部および前記第2の対象確認サービス部はそれぞれ、前記IMSの一部として前記対象確認部および前記記録登録部を有し、
前記IMSアプリケーション部は、前記登録部を介して、前記ブロックチェーンに、前記利用者の識別子と、前記利用者から開示された生体情報である第1の対象確認情報のハッシュ値と、前記利用者から開示された所定の個人情報である第2の対象確認情報のハッシュ値とを含む第1ブロックを登録し、
前記第1の対象確認サービス部は、前記対象確認部を介して、前記利用者に、前記第2の対象確認情報の開示を要求して、得られた情報を基に前記対象確認を行い、
前記第2の対象確認サービス部は、前記対象確認部を介して、前記利用者に、前記第2ブロックを特定可能な情報と、前記第1ブロック登録時の第1の対象確認情報と、現在の第1の対象確認情報の開示を要求し、開示された情報に基づいて、本人確認を含む所定の適格性確認を行い、
前記対象確認部は、前記利用者に前記対象確認情報の開示を要求した結果、前記対象確認情報に代えて前記利用者から前記第2ブロックを特定可能な情報が開示された場合に、開示された情報から特定される前記第2ブロック内の前記対象確認の記録を参照して前記対象確認を行う
ことを特徴とするサービス提供システム。
サービスの提供先とされる利用者が使用する個人用端末であって前記利用者が所定のSNSを利用するための各種処理およびインタフェースを提供するSNSアプリケーション部と、前記利用者が、2以上のノードが参加する所定のコンセンサスアルゴリズムに従った処理を経て新たなブロックが追加されるブロックチェーンを構成する2以上のノードを備える所定のIMSを利用するための各種処理およびインタフェースを提供するIMSアプリケーション部とを備える個人用端末が備える前記IMSアプリケーション部が、前記サービスを提供するサービスサーバであって前記SNSのプラットフォームを利用した前記SNSアプリケーション部との情報のやりとりにより、前記利用者に、前記サービスを提供するSNS側サービス提供部と、前記IMSのプラットフォームを利用した前記IMSアプリケーション部との情報のやりとりにより、前記利用者の対象確認を行う対象確認サービス部とを備えたサービスサーバの前記対象確認サービス部に、所定の方法で、前記SNSのプラットフォームより提供される機能を少なくとも利用して取得した、前記SNS側サービス提供部が前記SNSのプラットフォーム上で前記利用者を特定可能な情報であるSNS_IDを、前記利用者の対象確認の結果を特定可能な情報とともに送信し、
前記対象確認サービス部が、前記IMSアプリケーション部から受信した前記SNS_IDと、該SNS_IDにより特定された前記利用者の対象確認の結果とを対応づけて前記SNS側サービス提供部に通知し、
前記SNS側サービス提供部が、前記対象確認サービス部から通知された前記利用者の対象確認の結果を基に前記サービスを提供し、
前記IMSが、
前記ブロックチェーンに、利用者から開示された個人情報であって、本人確認、ユーザ認証または適格性確認のいずれかである所定の対象確認に必要な個人情報である対象確認情報のハッシュ値を含む第1ブロックを登録し、
前記利用者から開示された前記対象確認情報の正当性を前記ブロックチェーン内のブロックを用いて検証した上で、開示された前記対象確認情報に基づいて前記対象確認を行い、
前記IMSが、
前記ブロックチェーンに、前記対象確認の記録を含む第2ブロックを登録し、
前記利用者に前記対象確認情報の開示を要求した結果、前記対象確認情報に代えて前記利用者から前記第2ブロックを特定可能な情報が開示された場合に、開示された情報から特定される前記第2ブロック内の前記対象確認の記録を参照して前記対象確認を行う
ことを特徴とするサービス提供方法。
【発明を実施するための形態】
【0024】
実施形態1.
以下、図面を参照して本発明の実施形態について説明する。
図1は、第1の実施形態のサービス提供システムの例を示すブロック図である。
図1に示すサービス提供システム600は、個人用端末61と、SNSプラットフォーム62と、IMSプラットフォーム63と、サービスサーバ64とを備える。
【0025】
個人用端末61は、個人が利用する端末であって、SNSアプリケーション部(以下、SNSAPP部という)611と、IMSアプリケーション部(以下、IMSAPP部という)612とを含む。
【0026】
SNSAPP部611は、個人用端末61のユーザに、所定のSNSを利用するための各種処理およびインタフェースを提供する。なお、SNSAPP部611は、具体的には、所定のSNSの個人ユーザ向けアプリケーション(SNSAPP)の動作主体とされる処理部である。SNSAPP部611は、個人用端末61上で該SNSAPPを動作させることにより、個人用端末61のユーザに所定のSNSを利用するためのインタフェースの提供および各種処理を行う。
【0027】
ここで、所定のSNSは特に限定されないが、例えば、“LINE”(登録商標)、“Ameba”(登録商標)、“Facebook”(登録商標)、“Google+”(登録商標)、“GREE”(登録商標)、“Instagram”(登録商標)、“LinkedIn”(登録商標)、“mixi”(登録商標)、“skype”(登録商標)、“Twitter”(登録商標)などであってもよい。
【0028】
IMSAPP部612は、個人用端末61のユーザに、所定のIMSで提供される対象確認サービスを利用するための各種処理およびインタフェースを提供する。なお、IMSAPP部612は、具体的には、所定のIMSの個人ユーザ向けアプリケーション(IMSAPP)の動作主体とされる処理部である。IMSAPP部612は、個人用端末61上で該IMSAPPを動作させることにより、個人用端末61のユーザに所定のIMSで提供される対象確認サービスを利用するためのインタフェースの提供および各種処理を行う。
【0029】
ここで、所定のIMSは特に限定されないが、例えば、上述した“ShoCard”や後述する個人情報管理システムであってもよい。なお、対象確認サービスは、これらIMSが提供するような、ブロックチェーンを利用した対象確認サービスに限定されない。
【0030】
SNSAPPおよびIMSAPPは、例えば、予め個人用端末61に記憶される。
【0031】
SNSプラットフォーム62は、所定のSNSを提供するプラットフォームである。SNSプラットフォーム62は、SNSを提供するシステムの一部であり、例えば、SNSユーザ向けの機能(例えば、ユーザIDを使ったメッセージの送受信、タイムライン機能、ユーザ相互リンク機能、アンケート機能、ユーザ検索機能、コミュニティ機能等)を提供する。SNSプラットフォーム62は、具体的には、それらSNSにおける各種機能を実現するためのハードウェアおよびソフトウェアにより実現される。
【0032】
IMSプラットフォーム63は、所定のIMSを提供するプラットフォームである。IMSプラットフォーム63は、個人情報の管理および照合といった対象確認サービスを提供するシステムの一部であり、例えば、対象確認サービスのユーザ向けの機能(例えば、ユーザIDを使った対象確認、そのための個人情報の登録・照合機能等)を提供する。IMSプラットフォーム63は、例えば、具体的には、それら対象確認サービスにおける各種機能を実現するためのハードウェアおよびソフトウェアにより実現される。
【0033】
サービスサーバ64は、SNS上で対象確認を含む所定のサービスを提供するための処理を行うサーバであり、SNS側サービス提供部641と、対象確認サービス部642と、ID連携情報記憶部643とを含む。
【0034】
SNS側サービス提供部641は、SNSプラットフォーム62を利用してSNSAPP部611と情報のやりとりを行って、SNS上(より具体的には、SNSプラットフォーム62上)で対象確認を伴う所定のサービスを提供する処理部である。なお、対象確認については後述する対象確認サービス部642を介して行われる。
【0035】
対象確認サービス部642は、IMSプラットフォーム63を利用してIMSAPP部612と情報のやりとりを行って、IMS上(より具体的には、IMSプラットフォーム63上)で、SNS側サービス提供部641が提供するサービスの利用者に対して、該サービスの提供に必要な対象確認を行う。
【0036】
また、対象確認サービス部642は、SNS側サービス提供部641に対象確認の結果を通知する機能を有する。このとき、本実施形態の対象確認サービス部642は、SNS側サービス提供部641がSNSプラットフォーム62上で本システムのサービス提供先の利用者を特定可能な識別子(以下、SNS_IDという)を用いて、対象確認の結果を通知する。
【0037】
本実施形態の対象確認サービス部642は、自身がIMSプラットフォーム63上で本システムのサービス提供先の利用者を特定可能な識別子であるIMS_IDと、該IMS_IDと対応するSNS_ID(少なくともSNS側サービス提供部641がSNSプラットフォーム62上で該利用者を特定可能な識別子)を取得した上で、該IMS_IDで特定される利用者に対して所定の対象確認を行う。
【0038】
なお、対象確認サービス部642は、IMSプラットフォーム63を利用して指定のユーザに対して対象確認を要求する機能を含む本システム用の確認側ユーザアプリケーション(確認側IMSAPP)の動作主体とされる処理部に相当する。すなわち、対象確認サービス部642は、サービスサーバ64上で該確認側IMSAPPを動作させることにより、IMS上でSNS側サービス提供部641が提供するサービスの利用者に対して、IMS_IDおよびSNS_IDの取得および対象確認を行う。
【0039】
SNS_IDおよびIMS_IDは、そのIDを使用する処理部において、対象プラットフォーム上で該当する利用者を特定可能な情報であればよい。すなわち、SNS_IDは、SNS側サービス提供部641がSNSプラットフォーム62上で該当する利用者を特定可能な情報であればよく、IMS_IDは、SNS側サービス提供部641がIMSプラットフォーム63上で該当する利用者を特定可能な情報であればよい。一例として、SNS_IDは、対象プラットフォーム上で常に該当する利用者を識別可能な情報(対象プラットフォーム上で常にオープンな利用者ID等)以外にも、セッションIDのような、対象プラットフォーム上で該当する利用者とセッション中のサーバ等が自身で一時的に保持している情報と照合すること等により該当する利用者を特定可能な情報であってもよい。
【0040】
ID連携情報記憶部643は、必要に応じて、サービス提供先の利用者のSNS_IDとIMS_IDとを対応づけた情報であるID連携情報を記憶する。
【0041】
本実施形態では、サービスサーバ64においてIMS_IDとSNS_IDのID連携を可能にするために、SNSAPPからIMSAPPへおよびIMSAPPから対象確認サービス部642へ該当する利用者のSNS_IDの受け渡しを行う。このようなIDの受け渡しの具体的な方法としては、例えば、次の3つの方法が挙げられる。
【0042】
(第1のID受け渡し方法)
第1のID受け渡し方法は、本サービスを利用したい個人ユーザからSNSAPPを利用してSNS側サービス提供部641宛てに送信されるメッセージに対する個人用端末61への応答メッセージを利用して、個人用端末61上でIMSAPPを起動させることにより行う。具体的には、起動の際、IMSAPPに、SNS_IDとして、SNSプラットフォーム上でサービス提供先利用者を特定可能なIDを通知し、該IMSAPPから、自身に割り当てられたIMS_IDとともに起動時に通知されたSNS_IDを、サービスサーバ64上の確認側IMSAPPの動作主体に相当する対象確認サービス部642に通知する。
【0043】
SNSプラットフォームの多くは、個人ユーザと任意のサーバ(いわゆるチャットボット等)との間でメッセージを交換(送受信)するためのAPI(Application Programming Interface)(以下、メッセージ用APIという)を提供している。このようなAPIを利用すれば、送信元ユーザに、任意のメッセージを自動で送信することができる。
【0044】
また、SNS側からのIMSAPPの自動起動は、例えば、次のようにして実現できる。まず、webhookのような、所定のイベント発生時に指定したURL(Uniform Resource Locator)にPOSTリクエストを送信する仕組みを利用して、サービスサーバ64のSNS側サービス提供部641が個人ユーザのSNS_IDを含むメッセージを受信できるようにする。その上で、該メッセージ受信に対する応答シーケンスの中で送信されるWebページのリンクにカスタムURLスキーム(ディープリンクとも呼ばれる)を埋め込む。
【0045】
ディープリンクを使用すると、アプリケーションの特定の画面に遷移させることができるだけでなく、スキームを独自に定義すれば、他のアプリケーションの起動や該アプリケーションに対して情報を受け渡すなど、アプリケーション間の遷移を行うことができる。
【0046】
第1のID受け渡し方法では、サービスサーバ64のSNS側サービス提供部641が、SNS上のメッセージ用APIを利用して本サービスの提供を要求するメッセージを送信してきた個人ユーザの端末(個人用端末61)に、本サービス用の応答メッセージを送信する。その際、応答メッセージ中に、所定のアプリケーション間連携機能を実行するためのコードを埋め込む。これにより、ユーザがその機能の実行を選択した際に、個人用端末61上に本サービス用のIMSAPPを自動起動させることができる。さらにこのとき、IMSAPPの起動パラメータに該個人ユーザのSNS_IDを含ませる。これにより、IMSAPP部612が、該個人ユーザのIMS_IDだけでなく、SNS_IDを取得できるようにする。
【0047】
IMSAPP部612は、例えば、ユーザの許可の下、本システムにおける確認側IMSAPPの動作主体に相当するサービスサーバ64の対象確認サービス部642に、自身に割り当てられたIMS_IDとアプリ起動時に取得したSNS_IDとを通知する。起動されるIMSAPPは、予め本サービス用にそのような通知機能が実装されたアプリケーションであって、通知先の宛先情報を知っているものとする。なお、IMSAPP起動時に、SNS_IDと併せて通知先の宛先情報としてサービスサーバ64の情報(URL等)を受け渡すことも可能である。IMSAPP部612から対象確認サービス部642へのIMS_IDおよびSNS_IDの通知は、IMSプラットフォーム63を利用して行うことも可能である。
【0048】
対象確認サービス部642は、IMSAPPからサービス要求元の利用者のIMS_IDとSNS_IDとが通知されると、これらを対応づけてID連携情報記憶部643に記憶した上で、IMSプラットフォーム63を利用して通知元の個人用端末61上のIMSAPPとの間で対象確認シーケンスを開始し、対象確認の結果を受け取る。
【0049】
対象確認シーケンス自体は、IMSプラットフォーム63から提供されるAPI等を利用して行えばよい。例えば、IMSプラットフォーム63は、予め契約等により対象確認を依頼する権限を持つユーザ側アプリケーション(本例では、サービスサーバ64の対象確認サービス部642が対応)に対して、IMS_IDを指定した対象確認要求を受け付けるAPIを提供する。
【0050】
IMSプラットフォーム63は、そのようなAPIを通じて、対象確認の相手先とされるIMS_IDが指定された対象確認要求を受け付ける。対象確認要求を受け付けると、IMSプラットフォーム63は、指定されたIMS_IDで特定される個人ユーザの個人用端末61上のIMSAPPに向けて、対象確認に必要な個人情報の開示を要求するメッセージを送信する。個人用端末61上のIMSAPP(本例では、IMSAPP部612が対応)は、個人情報の開示を要求するメッセージを受信するとその旨をユーザに通知する。その後、IMSAPPは、ユーザ操作に応じて、要求された個人情報をIMSプラットフォーム63に送信する。
【0051】
IMSプラットフォーム63は、IMSAPPから受信した個人情報と自身で保有している該ユーザの個人情報とを照合等して、現在IMSAPPを操作しているユーザに対して、APIで要求された対象確認を行う。IMSプラットフォーム63は、例えば、照合の結果、現在IMSAPPを操作しているユーザが、指定のIMS_IDで特定されているユーザ本人であるか否か、また必要に応じて所定の条件を満たしているか否か等を判定し、その結果を要求元の確認側IMSAPP(サービスサーバ64の対象確認サービス部642)に送信する。
【0052】
対象確認サービス部642は、IMSプラットフォーム63からIMS_IDで特定される個人ユーザに対する対象確認の結果を受信すると、その結果を、SNS側サービス提供部641に、ID連携情報記憶部643において該IMS_IDと対応づけられているSNS_IDとともに通知する。
【0053】
なお、対象確認サービス部642は、対象確認が成功した場合、その応答メッセージとしてIMSAPPに送信するWebページのリンクにカスタムURLスキームを埋め込むことで、ユーザ操作に応じて、SNSAPPの元のサービス画面に戻れるようにしてもよい。
【0054】
図2および
図3に、第1のID受け渡し方法の具体例を示す。
図2は第1のID受け渡し方法の具体例の概要を示す説明図であり、
図3は本具体例のシーケンス図である。
図2および
図3はいずれもSNSとして“LINE”を利用し、IMSとして“ShoCard”を利用した場合の具体例である。
【0055】
本例では、次のようにしてIDの受け渡しおよびサービス提供先の利用者に対する本人確認を行っている。本例では、LINE BotがSNS側サービス提供部641に相当し、LINE APPがSNSAPP部611に相当する。また、ShoCard APPがIMSAPP部612に相当し、ShoCardサービスが対象確認サービス部642に相当する。本例において、LINE Botは、例えば、LINEプラットフォームが提供するMessaging APIやその他のSDKを用いて本作成用に作成されたアプリケーションである。また、ShoCard APPおよびShoCardサービスは、例えば、ShoCard社が提供するShoCardSDKを用いて本システム用に作成されたアプリケーションである。なお、LINE APPは、一般的な個人向けLINEアプリケーションでよい。なお、他の例も同様である。
【0056】
・LINE Botは、自身にメッセージを送信してきた利用者のLINE APPに本システム用のリッチメニューを追加する(図中の1〜4)。なお、該リッチメニューは、選択されると、個人用端末上の本人確認用アプリケーションであるShoCard APPを、自身(この場合、端末側のLINE APP)のSNS_IDに相当するuserId(LINEプラットフォームで使用される内部識別ID)を引き渡して自動起動させるよう構成されたメニューである。
・LINE APPは、該リッチメニューが選択されると、メニューに従い、個人用端末上でShoCard APPを自動起動させる(図中の5)。
・起動されたShoCard APPは、起動パラメータとして、userIdを取得する(図中の6)。
・userIdを取得したShoCard APPは、自身のShoCardID(IMS_ID相当)と併せてuserIdをサーバ側のShoCardサービスに通知する(図中の7)。
・ShoCardIDとuserIdとが通知されたShoCardサービスは、これらを対応づけて所定の記憶部に記憶した上で(図中の8)、サーバ側から本人確認シーケンスを開始する(図中の9〜12)。
・ShoCardサービスは、本人確認シーケンスが完了すると、LINE Botに確認結果を通知する(図中の14)、または所定の記憶部に確認結果を記憶しておき、LINE Botからの問合せを待つ(図中の13、14)。
【0057】
個人用端末上で指定したアプリケーションを自動起動する方法として、例えば、リッチメニューから遷移するWebサービス画面にカスタムURLスキームを埋め込む方法が挙げられる。
【0058】
次に、
図3を参照して、本方法におけるデータのやりとりをより詳細に説明する。
図3に示す例では、まず、利用者が自身の端末上のLINE APPを操作して、LINEプラットフォームを介してLINE Bot宛てに利用開始メッセージを送信する(ステップS601〜ステップS603)。
【0059】
このとき、利用者のLINEメッセージは、MessagingAPIによりwebhookが取得され、LINEプラットフォームから宛先により特定される本システムのLINE Botのwebhook URL宛にリクエストが送信される。このとき、LINE Botには、送信元ユーザを特定する情報として、LINEプラットフォーム上でユニークな内部識別ID(userId)を含むJSONデータが渡される。
【0060】
LINE Botは、利用開始メッセージにかかるリクエストを受け取ると、LINE APPに所定のHTTP応答メッセージを送信し、本システム用のメニューをリッチメニューに追加して表示させる(ステップS604,ステップS605)。
【0061】
利用者がそのメニューを選択すると、サービスサーバの特定のURL宛にWebページのリクエストが送信される(ステップS606、ステップS607)。なお、本例では、LINE Botがリクエストを受け付ける例を示しているが、当該リクエストに対する処理の実装方法は特に限定されない。例えば、ShoCardサービスが受け付けてもよいし、他のサービス(サービスサーバ上の共通のWebサーバサービス等)が受け付けてもよい。
【0062】
リクエストを受け付けたサービスサーバは、リンクにカスタムURLスキームが埋め込まれたWebページを応答メッセージとして返信する(ステップS608、ステップS609)。該カスタムURLスキームは、リンクをタップすると、個人用端末61上でShoCard APPが起動されるとともに、起動パラメータとしてuserIdが引き渡されるように構成されている。
【0063】
サービスサーバからWebページを受信した個人用端末61のLINE APPは、受信したWebページを表示する(ステップS610)。
【0064】
利用者がそのWebページに表示されたリンクをタップすると、該リンクに埋め込まれたカスタムURLスキームに従って、個人用端末61上でShoCard APPが起動されるとともに、起動パラメータとしてuserIdが引き渡される(ステップS611)。
【0065】
ShoCard APPは、起動パラメータとして受け取ったuserIdと自身のShoCardIDのペアを、サービスサーバのShoCardサービスに通知する(ステップS612)。
【0066】
サービスサーバのShoCardサービスは、ShoCard APPからuserIdとShoCardIDのペアが通知されると、これらを対応づけて所定の記憶部に記憶した上で(ステップS613)、本人確認シーケンスを開始する(ステップS614〜ステップS629)。
【0067】
図中の本人確認シーケンスは、サービスサーバ側から本人確認シーケンスを開始する場合の例である。
【0068】
まず、サービスサーバのShoCardサービスが、ShoCardプラットフォームを介して、ShoCard APPに本人確認のための情報開示を要求する(ステップS614、ステップS615)。このとき、ShoCardサービスからShoCardプラットフォームへのメッセージには、ShoCardプラットフォーム上で確認先の利用者を特定する識別子である“toShoCardID”が含まれる。一方、ShoCardプラットフォームからShoCard APPへのメッセージには、ShoCardプラットフォーム上で確認依頼元の利用者を特定するためのShoCardIDであるsenderShoCardIDが含まれる。
【0069】
本人確認のための情報開示の要求を受け取ると、ShoCard APPは、顔認証による本人確認を行う(ステップS616〜ステップS622)。なお、過去にそのサーバからの要求に対し本人確認が完了していれば、当該処理を省略して、ShoCardプラットフォーム上にあるその記録の情報とともに自身が保持している本人確認に必要な情報を返してもよい(ステップS623〜ステップS624)。
【0070】
ステップS616では、例えば、個人用端末61が備えるカメラ装置を利用して利用者の顔を撮影し、本人確認用の個人情報として現在の利用者の顔写真を取得する。
【0071】
ステップS617〜ステップS619では、取得した顔写真(またはそれに基づく情報)を使って、ShoCardプラットフォーム上の情報と照合を行い、該情報(顔写真)の保有者が、指定されたShoCardIDで特定される利用者本人であるか否かを検証し、その結果を取得する。
【0072】
ステップS620〜ステップS622は、自己の本人確認の結果をShoCardプラットフォームに記録する処理である。
【0073】
このようにして自己の本人確認が完了すると、ShoCard APPは、必要に応じて、本システムのサービス提供において本人確認(または対象確認)のために必要な情報を、ShoCardサービスに送信する(ステップS623、ステップS624)。該情報は、提供された側でその情報を参照することにより所望の対象確認が行えるものであれば特に限定されない。例えば、顔写真等の生体情報でもよいし、免許証画像など所定の認証機関が発行した個人情報でもよいし、事前にShoCardプラットフォーム内に記憶されている、本システムのサービス加入者であることを示す情報(契約者識別ID等)等でもよい。また、ShoCardプラットフォームに保持されている自己の本人確認の結果の記録の識別子等でもよい。
【0074】
ShoCardサービスは、受信した情報を使って、ShoCardプラットフォーム上の情報と照合を行い、該情報の保有者である送信元の利用者が、指定されたShoCardIDで特定される利用者本人であるか否かを検証し、その結果を取得する(ステップS625〜ステップS627)。なお、ステップS625〜ステップS627の処理は、ステップS617〜ステップS619と同様である。
【0075】
また、ShoCardサービスは、開示された情報の確認結果を該情報の送信元のShoCard APPに送信する(ステップS628、ステップS629)。なお、図示省略しているが、ShoCardサービスは、例えば、本人確認の結果を所定の記憶部にShoCardIDとともに記憶しておき、LINE Botからの問合せの際に参照できるようにしておく。
【0076】
ShoCard APPは、自己およびサーバ側での本人確認の結果を受けて、起動元のLINE APPに処理を戻してもよい。
【0077】
(第2のID受け渡し方法)
第2のID受け渡し方法は、SNSAPPを利用してSNS側サービス提供部641宛てに送信されるメッセージに対する個人用端末61への応答メッセージを利用して、個人用端末61上でIMSAPPを起動させるまでは第1のID受け渡し方法と同様である。第2のID受け渡し方法では、起動の際、IMSAPPには、本人確認の結果の通知先とするサーバ側のIMS_IDと、サービス提供先の利用者のSNS_IDとして、SNS側サービス提供部641がSNSプラットフォーム上における該利用者を特定可能なセッションIDとを通知する。そして、端末側のアプリケーションであるIMSAPPから本人確認シーケンスを開始して、その結果を、起動時に通知されたIMS_IDを使ってサーバ側(サービスサーバ64の対象確認サービス部642)にセッションIDとともに通知する。対象確認サービス部642は、IMSAPPから本人確認の結果を受け取ると、セッションIDとともにSNS側サービス提供部641に通知する。
【0078】
なお、第2の受け渡し方法では、サービスサーバ64は、サービス提供先の利用者のIMS_IDとSNS_IDとの対応づけを行わず、ID連携情報も保持しない。
【0079】
図4および
図5に、第1のID受け渡し方法の具体例を示す。
図4は第1のID受け渡し方法の具体例の概要を示す説明図であり、
図5は本具体例のシーケンス図である。本例でもSNSとして“LINE”を利用し、IMSとして“ShoCard”を利用している。
【0080】
本例では、次のようにしてIDの受け渡しおよびサービス提供先の利用者に対する本人確認を行っている。
・カスタムURLスキームによるShoCard APP起動までは第1のID受け渡し方法と同様である(図中の1〜4)。
・ただし、リッチメニューは、ShoCard APP起動時に、サーバ側のShoCardID(senderShoCardID)と、SNSプラットフォームでサービス提供先の利用者とのメッセージのやりとりに対して割り当てたsessionIdとを引き渡すように構成される(図中の3:カスタムURLスキーム内)。
・LINE APPは、該リッチメニューが選択されると、メニューに従い、個人用端末61上でShoCard APPを自動起動させる(図中の5)。
・起動されたShoCard APPは、起動パラメータとして、サーバ側のShoCardIDとsessionIdとを取得する(図中の6)。
・ShoCard APPは、本人確認シーケンスを開始する(図中の7)。このとき、ShoCard APPは、必要に応じて、サーバ側のShoCardサービスに本人確認のための情報開示を行ってもよい(図中の8)。
・ShoCard APPは、本人確認シーケンスが完了すると、起動時に取得したsenderShoCardID宛に確認結果を通知する(図中の9)。このとき、起動時に取得したsessionIdも併せて通知する。
・ShoCardサービスは、ShoCard APPからsessionIdを含む本人確認結果を受信すると、本人確認結果をLINE Botに通知する(図中の11)。このとき、ShoCardサービスは、通知された確認結果にかかる確認の記録がShoCardプラットフォーム上に記録されているかを確認した上で、LINE Botに通知してもよい。
【0081】
次に、
図5を参照して、本方法におけるデータのやりとりをより詳細に説明する。
図5に示す例において、ステップS601〜ステップS611は、基本的に、第1のID受け渡し方法と同様のため説明を省略する。
【0082】
なお、本例では、LINE Botは、送信元ユーザを特定する情報として、userIdだけでなく、JSONデータに含まれるsessionIdを管理しているものとする。
【0083】
また、本例では、ステップS608およびステップS609で、リンクをタップすると、個人用端末61上でShoCard APPが起動されるとともに、起動パラメータとしてsenderShoCardIDおよびsessionIdが引き渡されるように構成されたカスタムURLスキームが埋め込まれたWebページを応答メッセージとして返信する。
【0084】
ステップS611で、個人用端末61上でShoCard APPが起動されると、ShoCard APPは、本人確認シーケンスを開始する(ステップS614〜ステップS629)。
【0085】
図中の本人確認シーケンスは、端末側から本人確認シーケンスを開始する場合の例である。なお、ステップS614およびステップS615が省略される点が異なるが、基本的には、第1のID受け渡し方法における本人確認シーケンスと同様である。
【0086】
本方法でも、自己の本人確認が完了すると、ShoCard APPは、必要に応じて、本システムのサービス提供において本人確認のために必要な情報を、ShoCardサービスに送信する(ステップS623、ステップS624)。
【0087】
ShoCardサービスは、受信した情報を使って、ShoCardプラットフォーム上の情報と照合を行い、該情報の保有者である送信元の利用者が、指定されたShoCardIDで特定される利用者本人であるか否かを検証し、その結果を取得する(ステップS625〜ステップS627)。また、ShoCardサービスは、開示された情報の確認結果を該情報の送信元のShoCard APPに送信する(ステップS628、ステップS629)。
【0088】
このようにして、ShoCard APPは、自己およびサーバ側での本人確認の結果を受けると、その結果を、起動パラメータとして受け取ったsenderShoCardID宛に、sessionIdとともに通知する(ステップS630)。
【0089】
その後、ShoCard APPは、起動元のLINE APPに処理を戻してもよい。
【0090】
(第3のID受け渡し方法)
第3のID受け渡し方法は、SNSプラットフォームが他のアプリケーション向けに提供しているSNSログインサービスを利用して、IMSAPPが、利用者のSNS_IDを取得して、自身のIMS_IDとともに対象確認サービス部642に通知する。
【0091】
本方法では、利用者に、IMSAPPから本システムでのサービス提供の場である所定のSNSにログインさせる。SNSログインサービスを利用してSNSにログインすることにより、その利用者がSNSプラットフォーム上で使用しているSNS_ID(例えば、上記のuserId等)を知ることができる。IMSAPPは、例えば、利用者にSNSへのログインを促すメッセージ等を出力するなどして、利用者に所定のSNSにログインさせてもよい。なお、IMSAPPからSNSへのログインのタイミングは特に限定されない。本システム用のIMSAPPの利用開始時でもよいし、利用者がSNS側サービス提供部641にサービスを要求するごとに、その旨のメッセージを送信するなどして利用者にログインを促すことも可能である。
【0092】
IMSAPPは、SNSログインサービスを利用して利用者のSNS_IDを取得すると、自身のIMS_IDと併せてサービスサーバ64の対象確認サービス部642に通知する。通知方法は、第1のID受け渡し方法のように取得後すぐに通知してもよいし、第2のID受け渡し方法のように、本人確認完了後に通知することも可能である。なお、通知の方法は特に問わない。
【0093】
また、通知を受け取った対象確認サービス部642では、受け取ったIMS_IDとSNS_IDとを対応づけてID連携情報記憶部643に記憶する。これにより、SNS_IDで指定されるSNS側サービス提供部641からの本人確認の問合せ等に対して、対応する利用者の本人確認結果を返信できる。
【0094】
図6および
図7に、第3のID受け渡し方法の具体例を示す。
図6は第3のID受け渡し方法の具体例の概要を示す説明図であり、
図7は本具体例のシーケンス図である。本例でもSNSとして“LINE”を利用し、IMSとして“ShoCard”を利用している。なお、
図6(a)はID連携をするまでの処理の概要を示し、
図6(b)はID連携後の処理の概要を示している。
【0095】
本例では、次のようにしてIDの受け渡しおよびサービス提供先の利用者に対する本人確認を行っている。
・ShoCard APPが利用者より起動されると、利用者にLINEログインを要求する。ShoCard APPは、ユーザ操作に応じて、LINEログインサービスを利用してLINEログインを行い、その結果として利用者のuserIdを取得する(図中の1〜3)。
・userIdを取得したShoCard APPは、ユーザ操作に応じて本システムのサービスで必要な個人情報等の登録を行った上で(図中の4)、ShoCardサービスに自身のShoCardIDと取得したuserIdのペアを通知する(図中の5)。
・ShoCardサービスは、ShoCardIDとuserIdのペアが通知されると、それらを対応付けて所定の記憶部に記憶する(図中の6)。
【0096】
・LINE APPは、ユーザ操作に応じて、本システムのLINE Botにメッセージを送信する(図中の7)。
・LINE Botは、自身宛てのメッセージを受信すると(図中の8)、または受信後、送信元の利用者のLINE APPとメッセージのやりとりをする中で、ShoCardサービスに該利用者のuserIdを指定した本人確認の問合せを行う(図中の9)。
・ShoCardサービスは、LINE Botからの問合せに応じて、所定の記憶部に記憶されているID連携情報を基に、その利用者の本人確認状況を取得する(図中の10)。このとき、本人確認が完了していればその旨を通知し、完了していない場合には、サーバ側から本人確認シーケンスを開始する(図中の11〜14)。
・ShoCardサービスは、本人確認シーケンスが完了すると、LINE Botに確認結果を通知する(図中の15)。
【0097】
次に、
図7を参照して、本方法におけるデータのやりとりをより詳細に説明する。
図7に示す例では、まず、利用者が自身の端末上のShoCard APPを起動し、LINEログインを行う(ステップS641)。ShoCard APPは、ログイン結果として、userIdを取得する(ステップS642)。
【0098】
userIdを取得したShoCard APPは、ShoCardサービスに自身のShoCardIDと取得したuserIdのペアを通知する(ステップS643)。
【0099】
ShoCardサービスは、ShoCard APPからuserIdとShoCardIDのペアが通知されると、これらを対応づけて所定の記憶部に記憶した上で(ステップS644)、通知されたShoCardIDを指定した本人確認シーケンスを開始する(ステップS645)。なお、本人確認シーケンスは、
図3に示す本人確認シーケンスと同様でよい。このときの本人確認の結果を、所定の記憶部に少なくともShoCardIDと対応づけて記憶してもよい。
【0100】
次いで、利用者が自身の端末上のLINE APPを操作して、LINEプラットフォームを介してLINE Bot宛てに利用開始メッセージを送信する(ステップS651〜ステップS653)。
【0101】
LINE Botは、利用開始メッセージにかかるリクエストを受け取ると、LINE APPにOKを返信するとともに(ステップS654)、ShoCardサービスにuserIdを指定した本人確認の問合せを行う(ステップS655)。
【0102】
本人確認の問合せを受け付けたShoCardサービスは、所定の記憶部を参照して本人確認の結果が登録されているか否かを確認し(ステップS656)、登録されていなければ、対応するShoCardIDを用いて本人確認シーケンスを開始する(ステップS657)。なお、本人確認シーケンスは、
図3に示す本人確認シーケンスと同様でよい。
【0103】
ShoCardサービスは、本人確認が完了すると、その結果を、対応するuserIdを用いてLINE Botに通知する(ステップS658)。
【0104】
LINE Botは、ShoCardサービスから本人確認結果が通知されると、userIdで特定されるLINE APPに、応答メッセージを送信する(ステップS659〜ステップS661)。応答メッセージは、本システムのサービスの提供にかかるメッセージであってもよい。応答メッセージは、例えば、ステップS651やその後のやりとりでチケットの予約を要求された場合においてチケットの予約結果を示すメッセージ等であってもよい。
【0105】
なお、上記の例では、サービス提供先とされる任意のSNS上の利用者に対して本人確認を含むサービスを提供する際のIDの受け渡し方法について説明したが、IMS上で行うサービス提供にかかる前処理は、本人確認以外にも、例えば、ユーザ認証や適格性確認であってもよく、また、それらの組み合わせであってもよい。
【0106】
また、上記のIDの受け渡し方法の具体例では、“LINE”と“ShoCard”を利用する例を示したが、利用するSNSおよびIMSはこれらに限定されない。
【0107】
以上のように、本実施形態によれば、サービスサーバ64の対象確認サービス部642が、サービス提供先の利用者のIMS_IDと併せてSNS_IDを取得することができるので、サービスサーバ64上でこれらIDを連携させることができる。SNS上でサービスを提供するサーバ上で利用者のIMS_IDとSNS_IDの連携がとれるので、該サーバでサービス提供に必要な最小限の個人情報の開示を要求するだけで、対象確認を含むサービスを提供することができる。
【0108】
実施形態2.
以下の実施形態では、上記のSNSクライアント連携を含むサービス提供システムにおいてIMSとして利用可能な個人情報管理システムについて説明する。
【0109】
まず、本発明における個人情報管理システムの技術コンセプトを簡単に説明する。
【0110】
本発明における個人情報管理システムでは、種々の個人情報と利用者とを対応づける識別情報として1つの個人IDを割り当てる。より具体的には、対象確認に利用される種々の個人情報を、利用者ごとに割り当てられた1つの個人IDに対応づけてセキュアに管理する。なお、個人IDは、その利用者が所有する全ての個人情報に対応づけられることが好ましいが、少なくとも本発明が提供する個人情報管理システムが管理する個人情報と対応づけられていればよい。その場合も、個人IDは、個人情報管理システム内において、対象確認に利用される種々の個人情報に対応づけられる1つの識別情報、すなわち集約された識別番号であるといえる。
【0111】
また、本発明における個人情報管理システムでは、利用者の個人情報を管理するための機構として、ブロックチェーンを利用する。ここで、ブロックチェーンは、ブロックとよばれる所定のデータ構造を有するデータ群を時系列に並べたものであり、取引内容を記した台帳としての役割を有する。各ブロックは、取引内容等の当該ブロックに記録したいデータの他に、一つ以上前のブロック(以下、前ブロックという)の情報と、改ざんの有無を検知するための情報(ノンスや署名など)とを含む。ノンスは、あるデータ領域に対して、その領域内のデータを一方向性関数により処理したときに得られる値が予め決められた規則を満たすように設定される、当該データ領域内の値である。ブロックチェーンには、2台以上のノードが参加する所定のコンセンサスアルゴリズムに従った処理を経て新たなブロックが追加される。例えば、コンセンサスアルゴリズムの一つであるPoW(Proof of Work)では、前ブロックの情報とノンスとを含む各ブロック(データ群)に対して、「ブロックのHash値が閾値(ターゲット値)以下であること」といった規則が予め決められており、ブロックを追加する際に、そのような規則を満たすようなノンスを複数のノードが同時並列的に探索する処理が行われる。なお、PoW以外にもBFT(Byzantine fault tolerance)等のコンセンサスアルゴリズムがある。
【0112】
ただし、ブロックチェーンには個人情報をそのまま記録せずに、個人IDのハッシュ値と対応づけて個人情報のハッシュ値を記録する。その際、ハッシュ値に対して該ハッシュ値を作成した者(作成元)の署名を付す。署名は、例えば、個人情報の所有者である本人の署名や、個人情報が正しいこと(Correctness)を確認した第三者機関(以下、確認機関という)の署名などである。署名として、署名者の秘密鍵で、署名対象の情報(この場合、ハッシュ値)を暗号化して得られたデジタル署名を利用できる。ハッシュ値に作成元の署名を付すことで、該ハッシュ値の信頼性(reliability)、より具体的には、該ハッシュ値が署名者本人によって作成されたもの(作成元証明)であり、かつ署名時点から改ざんされていないこと(非改ざん証明)を、該ハッシュ値を参照する側が確認できるようにする。このようなハッシュ値の作成者証明と非改ざん証明とを行うことより、登録情報であるハッシュ値が信頼できる情報、すなわち正規の所有者が所持している情報または確認機関がその正当性を確認した情報から作成された情報であることが、署名から確認できるようにする。なお、署名を付す処理に代えて暗号化を行うことも可能である。
【0113】
なお、ブロックチェーンに登録された情報(ハッシュ値やそれに付される署名)自体の信頼性は、ブロックチェーンの改ざん困難性によって担保する。
【0114】
一方で、ハッシュ値の元データである個人情報は、本人以外の者に隠ぺいされるようセキュアな環境に保持される。例えば、個人情報は、本人が所持するデバイス(以下、クライアントデバイスという)内のセキュア領域に記憶されたり、分散ファイルサーバに暗号化して記憶されてもよい。利用者は、このようなセキュアな環境に置かれた個人情報について、自由に開示するか否か、開示する場合にはどの個人情報を開示するかをコントロールできる。
【0115】
本発明における個人情報管理システムでは、第三者が参照可能なブロックチェーンには、その個人ID(ブロック内の個人IDのハッシュ値の元データである個人ID)と対応づけられる利用者の個人情報としての正しさを示す情報のみを記憶することで、個人情報の秘匿性を担保する。また、その際、個人情報の所有者を識別するための識別情報を1つにまとめることで、これまで用途ごとに異なっていた対象確認の手続きを、1つの識別情報(個人ID)で指定される統一的な処理により行えるようにする。
【0116】
さらに、本発明における個人情報管理システムでは、ブロックチェーンに記憶されている該利用者の個人情報のハッシュ値を利用して対象確認を行った場合に、その確認の記録を示すブロックを該ブロックチェーンに追加していく。このように、ブロックチェーンに確認の記録の履歴を残すことで、具体的な個人情報の開示を伴わずに同様の目的の対象確認に、過去の対象確認の結果を利用できるようにする。例えば、過去に同様の目的で対象確認が行われた利用者に対しては、個人情報の開示を要求しなくても、個人情報のハッシュ値を利用してブロックチェーン内の情報と照合を行うだけで、過去の対象確認の結果と同様の結果を与えることができるようにする。これにより、個人情報の開示を最小限に抑える。
【0117】
なお、本発明における個人情報管理システムでは、利用者と個人情報とを結びつけるための情報として個人IDを利用しているが、個人IDは携帯電話機やICカードや認証デバイスのような唯一のデバイスと対応づけて管理されるものではないため、仮にデバイス等が紛失したとしても登録済みの情報の書き換え等を行うことなくリカバリが可能となる。
【0118】
次に、具体的なシステム構成を提示しつつ、本発明における個人情報管理システムの実施形態を説明する。
【0119】
図8は、第2の実施形態の個人情報管理システムにおける各種情報の保持例を示す説明図である。
図8には、利用者が所持するクライアントデバイス1と、確認機関が所持する確認機関デバイス2と、ブロックチェーン3とが示されている。
【0120】
図8において、クライアントデバイス1には、その利用者本人の署名用の鍵ペア(秘密鍵11Dと公開鍵12D)と、個人情報管理システムから利用者に割り当てられた個人ID13Dとが保持される。なおクライアントデバイス1において、個人ID13Dは、1つ以上の個人情報14Dと対応づけられている。
【0121】
また、確認機関デバイス2には、その確認機関の署名用の鍵ペア(秘密鍵21Dと公開鍵22D)が保持される。
【0122】
また、ブロックチェーン3には、以下に示すような登録ブロックや確認記録ブロックが保持される。
【0123】
例えば、ある個人が個人情報管理システムの利用を開始すると、利用者となるその個人に個人ID13Dが割り当てられるとともに、署名用の鍵ペア(秘密鍵11Dと公開鍵12D)が生成される。個人ID13Dが割り当てられ、鍵ペアが生成されると、利用者は、クライアントデバイス1を操作して、個人ID13Dのハッシュ値と、登録したい個人情報14D(特に、対象確認に用いられる個人情報)のハッシュ値とを算出し、それらを含む個人情報管理ブロックを作成してブロックチェーンに追加する。
【0124】
図8には、ブロックチェーン3に追加された登録ブロックの例として、ブロックn−1が示されている。登録ブロックには、個人ID_Hash31D(上記の個人ID13Dのハッシュ値に対応)と、個人情報Hash32D(上記の個人情報14Dのハッシュ値に対応)と、それらの作成元である本人の署名33Dとが含まれる。ここで、本人の署名33Dは、当該ブロックに含まれる個人ID_Hash31Dおよび個人情報Hash32Dが、元データの正規の所有者である利用者本人によって作成されたものであることを示すための署名である。
【0125】
個人情報Hash32Dは、該個人情報の所有者である利用者が個人情報を開示する単位ごとに算出されるのが好ましい(
図9(a)参照)。その際、各々の個人情報Hash32Dに対して本人の署名33Dを付すことも可能である(
図9(b)参照)。
図9は、登録ブロックにおける登録情報の署名方法の他の例を示す説明図である。なお、
図9において、点線は本人の署名33Dの署名対象データを表している。
【0126】
なお、利用者は、登録したい個人情報が複数ある場合、それらのハッシュ値を別々の登録ブロックにしてブロックチェーン3に追加することも可能である。いずれの場合においても、登録ブロックにおいて、作成元の署名とともに、利用者の個人ID_Hash31Dと個人情報Hash32Dとが対応づけられていればよい。なお、個人IDも個人情報の一つとみなすこともでき、その場合、登録ブロックは、個人IDとそれ以外の個人情報の2以上の個人情報について、それらのハッシュ値が作成元の署名とともに含まれていればよい。
【0127】
なお、図示省略しているが、各ブロックには、上記の他、署名の作成元の公開鍵や、ブロックの種別や、各登録情報の種別等を示す情報が含まれていてもよい。
【0128】
また、ブロックチェーン3を構成する各ブロックには、当該ブロックがブロックチェーンの一部を構成するために必要とされる制御情報、例えば、前ブロックのハッシュ値や、当該ブロックを追加した者の署名等が含まれる。これら制御情報は、用いるブロックチェーンの仕様により定められる。
【0129】
以下、個人情報として免許証を登録する場合を例に用いて説明する。免許証には、名前、住所、顔写真、生年月日、免許証番号、有効期限など複数の個人情報が含まれるが、利用者は、対象確認に用いる個人情報として、免許証全体を撮影した免許証画像を用いてもよい。その場合、免許証画像のハッシュ値を個人情報Hash32Dとして含む登録ブロックがブロックチェーン3に登録される。なお、個人情報である免許証画像自体は、クライアントデバイス1のセキュア領域に保持されたり、分割・暗号化されて分散ファイルシステムに保持されればよい。
【0130】
免許証を個人情報として登録する場合において、免許証全体を1つの画像にする以外にも、開示をコントロールしたい単位に分割して複数の部分画像にしたり、開示をコントロールしたい単位を設定した上で単位ごとにその部分のみを識別可能に加工して複数の加工画像にしたり、テキスト入力可能な情報(住所や生年月日や氏名等)であればテキスト入力等によりデータ化したり、それらを適宜組み合わせたものを、個人情報として登録してもよい。その場合において、免許証画像(全体)、部分画像、加工画像およびテキストデータをそれぞれ異なる種類の個人情報として保持することも可能である。
【0131】
例えば、利用者は、免許証の生年月日が記載された領域のみが識別できる画像(上記のい部分画像や加工画像)を、個人情報の1つである生年月日データとして登録したい場合には、該利用者の個人IDのハッシュ値と、該生年月日データのハッシュ値とを算出し、それらの各々またはそれらを1つにまとめて本人の署名を付し、それら本人の署名が付されたハッシュ値を登録した登録ブロックを、ブロックチェーン3に追加してもよい。
【0132】
次に、ブロックチェーン3に登録されている情報を利用して、利用者の対象確認を行う場合を説明する。対象確認を行いたい確認機関の確認機関デバイス2は、確認対象の利用者のクライアントデバイス1から、個人ID13Dと、対象確認に用いる個人情報14D(以下、第1の個人情報という)とを取得する。そして、確認機関デバイス2は、個人ID13Dのハッシュ値と対応づけて第1の個人情報のハッシュ値が登録された登録ブロックを取得する。登録ブロックの取得は、個人ID13Dから算出されるハッシュ値と第1の個人情報から算出されるハッシュ値とをキーにしてブロックチェーン3を検索して得てもよいし、後述するような利用者が保持しているブロック登録履歴等から得られる登録ブロックのハッシュ値等を得て、それをキーにブロックチェーン3を検索して得てもよい。少なくともブロックチェーン3において公開されている情報を基に検索できればよい。該当する登録ブロックが検索されると、確認機関デバイス2は、該登録ブロックに登録されている情報(個人ID_Hash31Dや個人情報Hash32D)がその利用者本人(この場合、個人情報を開示した開示者本人)によって作成され(作成元証明)、かつ署名時点から改ざんされていないこと(非改ざん証明)を、該情報に付された本人の署名33Dと、署名者とされた利用者の公開鍵12Dとを用いて確認する(登録情報の信頼性確認)。また、確認機関デバイス2は、検索された登録ブロック内の個人情報Hash32Dと、利用者から取得した第1の個人情報から算出したハッシュ値とを照合する(元データの一致性確認)。なお、元データの一致性確認は、第1の個人情報から算出されるハッシュ値をキーにして登録ブロックを検索した場合は省略される。
【0133】
確認機関デバイス2は、これら2つの確認結果がともにOKであった場合に、開示者から得られた第1の個人情報が、開示者から得られた個人ID13Dが示す利用者本人の個人情報14Dであると判定し、開示された第1の個人情報に基づいて、当該確認機関において必要な対象確認(本人確認やユーザ認証や適格性確認)を行う。
【0134】
一例として、確認機関デバイス2が、サービスの受給資格の条件として、サービス要求元の利用者の年齢確認を行うことを考える。この場合、確認機関デバイス2は、該利用者のクライアントデバイス1に対して、個人ID13Dと、第1の個人情報として生年月日データ(例えば、免許証画像の部分画像や加工画像やテキストデータ)の開示を要求してもよい。なお、第1の個人情報とされる生年月日データは、少なくともそのハッシュ値がその利用者の個人ID13Dから算出されたハッシュ値とともに登録ブロックに登録されているもの、すなわち登録ブロック内の個人情報Hash32Dの元データであるとする。
【0135】
これらの情報を得ると、確認機関デバイス2は、開示された個人ID13Dが示す利用者の、開示された生年月日データのハッシュ値を登録した登録ブロックを取得する。該登録ブロックを取得すると、確認機関デバイス2は、該登録ブロックに含まれる生年月日データのハッシュ値(個人情報Hash32D)および個人ID_Hash31Dに付された本人の署名33Dを作成元(利用者本人)の公開鍵12Dを用いて復号し、得られた復号データ(署名対象とされたハッシュ値)の信頼性を確認する(登録情報の信頼性確認)。ここで、作成元の公開鍵として、ブロック内のものを用いてもよいし、利用者本人として第1の個人情報を開示した開示者の公開鍵を用いることもできる。
【0136】
また、確認機関デバイス2は、必要に応じて該登録ブロックに含まれる個人情報Hash32Dと、利用者から開示された生年月日データから作成したハッシュ値とを照合して、両者が一致するかを確認する(元データの一致性確認)。なお、既に説明したように、元データの一致性確認は、開示された個人情報から算出されたハッシュ値をキーに用いて登録ブロックを検索した場合は、該検索処理に代替される(検索されたブロックは元データと一致している)。
【0137】
登録情報の信頼性確認および元データの一致性確認がいずれもOKであった場合に、確認機関デバイス2は、開示された生年月日データは、開示された個人IDが示す利用者本人である開示者の正しい個人情報であるとして、該生年月日データに基づいて年齢確認を行う。その結果、確認機関デバイス2は、例えば、年齢制限のあるサービス等を提供してもよい。このようにして、確認機関デバイス2は、サービスの要求元から個人ID13Dと生年月日データとを取得するだけで、その生年月日データがその開示者の生年月日データであるか否かといった本人確認を自身で行わなくても、開示された生年月日データを基に対象確認(年齢確認)を行うことができる。
【0138】
また、確認機関デバイス2は、ブロックチェーン3内の情報を利用して対象確認を行った場合、該確認の記録を示す確認記録ブロックをブロックチェーン3に登録する。
【0139】
図8には、ブロックチェーン3に追加された確認記録ブロックの例として、ブロックnやブロックn+1が示されている。確認記録ブロックには、少なくとも個人ID_Hash31D(利用者から開示された個人ID13Dから算出されるハッシュ値に対応)とその作成元である確認機関の署名35Dとが含まれる。なお、ブロックnとして示すように、確認記録ブロックは、さらに、確認情報34Dを含んでいてもよい。
【0140】
ここで、確認情報34Dは、例えば、確認機関の情報(確認機関ID等)や、確認事項を示す情報を含んでいてもよい。このような確認情報34Dを登録することで、以降、同じ目的の対象確認を行う場合に重複した処理を行わなくて済むようにできる。例えば、確認機関の情報は、例えば、確認機関を識別する確認機関IDであってもよい。また、確認事項は、例えば、対象確認に利用したブロックの情報(これにより対象確認に利用した個人情報のハッシュ値や種別等がわかる)や、対象確認の結果(対象確認中に行われた種々の確認の結果を含む)や、対象確認の結果提供したサービスの種別や、そのサービスが必要とする適格性の種別等であってもよい。
【0141】
このような確認記録ブロックがブロックチェーン3に含まれていれば、以降、確認機関は、具体的な個人情報(例えば、生年月日データ)の開示なしに、利用者から開示される個人IDと個人情報のハッシュ値とに基づいて、それらハッシュ値から特定される過去の確認記録ブロックの確認情報34Dで示される確認結果と同等の確認結果を利用者に与えることができる。また、利用者は、個人情報の不要な開示を防ぐことができる。
【0142】
上記の例であれば、生年月日データの開示を受けずに、利用者の個人IDと生年月日データのハッシュ値とから、過去にその利用者に与えられたサービスの種別やそれが必要とする適格性の種別と同等のサービスや適格性を、その利用者に与えることができる。なお、例えば、使用目的および使用機関が限定されている場合など、確認機関の署名35Dからその利用者に対してどのような個人情報を用いてどのような対象確認が行われたかが特定可能な場合は、確認情報34Dがなくても、同様の対象確認の結果をその利用者に与えることも可能である。なお、その場合においても、その利用者の確認記録とされる確認記録ブロックの登録情報について、署名に基づく信頼性確認を行うことを前提とする。
【0143】
なお、利用者のクライアントデバイス1が、自身の情報(少なくとも個人ID_Hash31D)を記録したブロックのブロックチェーン3におけるキー情報(ブロックのハッシュ値等)を登録履歴として保持しておき、対象確認時に援用したいブロックのキー情報を指定することも可能である。
【0144】
ところで、上記の登録情報の信頼性判定は、利用者の個人ID、個人情報および秘密鍵が第三者に秘匿状態にあり、署名者(それらのハッシュ値を作成した者)が正しい個人IDおよび個人情報からハッシュ値を作成していることを前提としている。しかし、仮に正規の利用者が故意に不正(個人情報の改ざん等)をした場合には、登録情報(この場合、個人IDのハッシュ値および個人情報のハッシュ値)に付された本人の署名だけでは、元データ(個人IDそのものや個人情報そのもの)の正当性までは保証されない。
【0145】
例えば、対象確認に用いる第1の個人情報が顔写真や生体情報など利用者の生体由来の情報の場合、開示された第1の個人情報から作成したハッシュ値と開示された個人ID13Dから作成したハッシュ値との対応関係、および開示された第1の個人情報と開示者本人から得られる同等の情報(現在の生体情報等)との類否関係から、開示された第1の個人情報または開示された第1の個人情報のハッシュ値の元データの正当性、すなわち個人ID13Dを開示した開示者でありその個人ID13Dが示す利用者本人の個人情報としての正当性が確認できる。
【0146】
しかし、開示された第1の個人情報が利用者の生体由来の情報以外の情報(例えば、氏名や住所や生年月日などの属性情報)の場合、登録ブロックに含まれる個人情報Hash32Dの信頼性確認だけでは、元データである第1の個人情報の正当性までは確認できない。
【0147】
そこで、利用者の故意の不正までを考慮して、所定の確認機関に該個人情報の正当性を確認させた上で、登録ブロックを追加するようにしてもよい。このとき、個人情報Hash32Dに、本人の署名33Dに代えてもしくは本人の署名33Dと合わせてその確認機関の署名35Dを付してもよい。本人の署名33Dに代えて確認機関の署名35Dを付す場合でも、本人の署名33Dが個人ID_Hash31Dに付されるため、特に問題ない。また、本人の署名33Dと確認機関の署名35Dを合わせて付す場合、一方の署名が付された署名対象データを1つのデータとみなして他方の署名を付すなど入れ子構造にしてもよいし、1つの署名対象データにそれぞれが署名を付してもよい。
【0148】
図10は、登録ブロックにおける登録情報の署名方法の他の例を示す説明図である。なお、
図10において、点線は本人の署名33Dの署名対象データを表し、破線は確認機関の署名35Dの署名対象データを表している。
図10(a)は、個人情報Hash32Dに本人の署名33Dに代えて確認機関の署名35Dを付した場合の例である。また、
図10(b)〜(f)は、個人情報Hash32Dに本人の署名33Dと確認機関の署名35Dとを合わせて付した場合の例である。なお、
図10(b)に示す例では、署名対象データである個人情報Hash32Dに対して本人の署名33Dと確認機関の署名35Dをそれぞれ付し、
図10(c)〜(f)に示す例では、入れ子構造で本人の署名33Dと確認機関の署名35Dを付している。なお、ここで「入れ子構造」は、署名対象データに対して先に一方の署名を付し、その署名を含むデータを新たな署名対象データにして他方の署名を付すことをいう。なお、後に署名を行う署名者は、先に付された署名と合わせて先の署名対象データやそれ以外のデータを含むことも可能である。なお、いずれの場合においても、対象確認において登録情報の信頼性を確認する際に、どのような構造でかつどのデータを対象に誰の署名が付されているかが予めもしくは該ブロック内の情報等からわかっているものとする。これにより、他の確認機関が個人IDのハッシュ値と個人情報のハッシュ値と本人の公開鍵と確認機関の公開鍵とを入手可能であれば、登録情報の信頼性(これには個人情報の正当性を確認した確認機関の署名35Dの信頼性を含む)を確認できるようにする。
【0149】
例えば、
図10(c)に示す例では、登録情報の1つである個人情報Hash32Dに先に本人の署名33Dを付し、その本人の署名33Dと先の署名対象データ(個人情報Hash32D)とを新たな署名対象データにして確認機関の署名35Dを付している。また、例えば、
図10(d)に示す例は、2つの登録情報である個人ID_Hash31Dおよび個人情報Hash32Dに先に本人の署名33Dを付し、その本人の署名33Dと先の署名対象データ(個人ID_Hash31Dおよび個人情報Hash32D)とを新たな署名対象データにして確認機関の署名35Dを付している。なお、
図10(c)〜(d)において、確認機関は、先の署名である本人の署名33Dのみを新たな署名対象データにして確認機関の署名35Dを付すことも可能である。また、例えば、
図10(e)に示す例では、登録情報の1つである個人情報Hash32Dに先に確認機関の署名35Dを付し、その確認機関の署名35Dと先の署名対象データ(個人情報Hash32D)とを新たな署名対象データにして本人の署名33Dを付している。なお、本人は、確認機関の署名35Dのみを新たな署名対象データにして本人の署名33Dを付すことも可能である。また、例えば、
図10(f)に示す例では、登録情報の1つである個人情報Hash32Dに先に確認機関の署名35Dを付し、その確認機関の署名35Dと先の署名対象データ(個人情報Hash32D)と他の登録情報(個人ID_Hash31D)を新たな署名対象データにして本人の署名33Dを付している。
【0150】
なお、個人情報管理システムでは、
図9や
図10に示すように、登録情報(例えば、個人ID_Hash31Dや個人情報Hash32D)と1対1で本人または確認機関の署名が付されていなくても、ある署名の署名対象データに、その署名の目的とされる登録情報もしくはその登録情報を署名対象データとした他の署名が含まれている場合(入れ子構造により含まれている場合も含む)は、実質的にその登録情報にはそのある署名が付されているものとみなす。
【0151】
したがって、ある登録情報について本人の署名を付して登録するといった場合には、他の登録情報と一体になって本人の署名が付されたもの、他の署名の署名対象データとされた登録情報にさらに本人の署名が付されたもの、他の署名が先に付されている登録情報に付された当該他の署名を含む署名対象データに本人の署名が付されたもの、本人の署名が先に付されている登録情報に付された当該本人の署名を署名対象データとしてさらに他の署名が付されたものなども含まれる。
【0152】
例えば、第1の個人情報の正当性確認を依頼された確認機関の確認機関デバイス2は、クライアントデバイス1から、第1の個人情報と、該第1の個人情報が正しいことを当該確認機関において確認できる第2の個人情報とを取得してもよい。そして、確認機関デバイス2は、第2の個人情報を基に第1の個人情報が正しいことを確認した上で、第1の個人情報のハッシュ値(個人情報Hash32D)を算出し、得られたハッシュ値に自身の署名(確認機関の署名35D)を付してクライアントデバイス1に返信する。クライアントデバイス1は、確認機関の署名が付された個人情報のハッシュ値を受け取ると、本人の署名33Dを付した個人IDのハッシュ値(個人ID_Hash31D)と合わせて登録ブロックを作成し、ブロックチェーン3に追加してもよい。
【0153】
個人情報の正当性確認を行う確認機関は、例えば、その個人情報の発行元の機関(例えば、免許証情報であれば警察機関など)であってもよい。その場合、発行元としての確認機関の確認機関デバイス2は、例えば、当該確認機関において本人確認もしくはユーザ認証可能な情報(免許証番号や、顔写真や、クレジットカード番号や、パスワード等)を、第2の個人情報として取得し、それらが自身が保持している認証情報と一致するか否かを確認した上で、自身が発行した第1の個人情報と確認依頼された第1の個人情報とが一致するか否かを確認することでその正当性を判定してもよい。そして、正当性が確認できた場合には、利用者から取得した第1の個人情報のハッシュ値を算出し、そのハッシュ値に自身の署名を付してクライアントデバイス1に返信してもよい。以下、個人情報の正当性確認を行う確認機関が取得する第2の個人情報を、正当性確認情報という場合がある。
【0154】
なお、クライアントデバイス1に返信せず、確認機関側で、登録ブロックを作成してブロックチェーン3に追加することも可能である。その場合、確認機関デバイス2は、クライアントデバイス1から、利用者本人の署名33Dが付された個人ID_Hash31Dをさらに取得すればよい。なお、必要に応じて本人の署名33Dが付された個人情報Hash32Dや、本人の署名33Dが付された登録情報としての個人ID_Hash31Dおよび個人情報Hash32Dを取得してもよい。
【0155】
このような登録ブロックがブロックチェーン3に含まれていれば、以降、確認機関は、利用者から開示された第1の個人情報の正当性を自身で確認する必要なしに、ブロック内の登録情報(個人ID_Hash31Dおよび個人情報Hash32D)の信頼性確認および元データの一致性確認を行うだけで、該個人情報を対象確認に用いることができる。ただし、確認機関は、登録情報の信頼性確認で、本人の署名33Dによるその署名が付された署名対象データの作成元証明(この場合、登録元証明)および非改ざん証明に加えて、確認機関の署名35Dによるその署名が付された署名対象データの作成元証明(この場合、登録元証明)およびを非改ざん証明を行う。
【0156】
なお、登録ブロックの個人情報Hash32Dの元データである個人情報の正当性を確認するタイミングは、登録ブロックの登録時に限定されない。例えば、登録ブロックの登録後に所定の確認機関に該個人情報の正当性を確認させることも可能である。その場合、確認機関は、登録情報の元データ(より具体的には登録情報の元データとの一致性が確認された第1の個人情報)の正当性確認を含む対象確認(本人確認やユーザ認証)を行ったとして、例えば、
図11に示すような確認記録ブロックをブロックチェーン3に登録すればよい。
図11に示す確認記録ブロックは、確認情報34Dに、登録情報の元データの正当性確認を行った登録情報に含まれる個人情報Hash32Dや、本人確認の結果(OK)や、元データの正当性確認の結果(OK)の情報を含んでいる。
【0157】
登録情報の元データである個人情報の正当性確認を含む対象確認は、例えば、上記の対象確認の処理において、確認機関デバイス2がさらにクライアントデバイス1から、開示された個人情報(第1の個人情報)が正しいことを当該確認機関において確認できる第2の個人情報を取得することにより実現できる。なお、第2の個人情報から第1の個人情報の正当性を確認する方法は上述したとおりである。なお、その確認機関において第1の個人情報から、目視等により第1の個人情報の正当性が確認できる場合は、第2の個人情報の取得は省略される。
【0158】
なお、個人情報の発行元以外の確認機関が個人情報の正当性確認を行うことも可能である。その場合、該確認機関の確認機関デバイス2は、上記の対象確認の処理において、第1の個人情報またはそれと同等の内容を示す情報をその一部に含む第2の個人情報であって、さらにその個人情報(第2の個人情報)が正しいことをその確認機関または本システムにおいて確認できるものを取得してもよい。なお、いずれの機関が正当性を確認する場合も、その機関において第1の個人情報から、目視等により第1の個人情報の正当性が確認できる場合は、第2の個人情報の取得は省略される。
【0159】
発行元以外の確認機関が個人情報の正当性確認を行う場合、第2の個人情報(正当性確認情報)として、例えば、次の条件(1)〜(3)のいずれかを満たす個人情報を用いてもよい。
・(1)(a)「(a1)『第1の個人情報またはそれと同じの内容を示す情報』と(a2)『本人確認が可能な情報』とを少なくとも一体化して含む情報の原本」または該原本の複写画像であること。
・(2)(b1)「少なくとも(a1)『第1の個人情報またはそれと同じの内容を示す情報』を含む情報」であって、かつ(b2)「そのハッシュ値の元データに対して発行元の確認機関の署名が付されたブロックがブロックチェーンに登録されている情報」であること。
・(3)(c)「正規の第1の個人情報を保持する機関(正規情報保持機関)において利用者を識別可能な情報とユーザ認証が可能な認証情報の組」であること。
【0160】
なお、条件(1)について、例えば、(a)=(a1)生年月日データと(a2)顔画像とを一体化して含む免許証の原本またはその複写画像である場合を考える。そのような場合、開示された(a)内の(a2)について目視や現在の利用者から取得した(a2)と同等の情報との照合により開示者が本人であることが確認されれば、(a1)も本人の情報であるとみなすことができる。あとは、開示された(a)内の(a1)と、開示された第1の個人情報とを照合すればよい。このとき、複写画像を、対象確認時に原本から得るようにしてもよい。なお、開示された(a)内の(a1)と、開示された第1の個人情報との照合には、画像データとテキストデータの照合等も含まれる。また、第2の個人情報の正当性を確認するために、現在の利用者からさらに(a2)と同等の情報を取得する場合、その情報を第3の個人情報と呼ぶ場合がある。この場合、第3の個人情報を含めて本人確認情報と呼ぶ場合がある。
【0161】
また、条件(2)について、例えば、(b1)=(a1)生年月日データを含む保険証画像(全体)である場合を考える。そのような場合、開示された(b1)のハッシュ値の元データに対して発行元の確認機関の署名が付されたブロックがブロックチェーン3に登録されていれば、そのブロック内の登録情報の信頼性と、開示された(b1)とブロック内のハッシュ値の元データとの一致性とが確認されれば、開示された(b1)について正当性が確認される。あとは、開示された(b1)内の(a1)と、開示された第1の個人情報とを照合すればよい。
【0162】
また、条件(3)について、(c)=そのようなユーザ識別情報と認証情報の組であれば、第1の個人情報とともに(c)を正規情報保持機関に送信して、(c)を基にユーザ認証を行った上で、送信した第1の個人情報と正規情報保持機関が保持しているそのユーザの正規の第1の個人情報とを照合した結果を返信してもらうことで、開示された第1の個人情報の正当性を確認できる。
【0163】
例えば、その利用者の登録ブロックや確認記録ブロックに含まれる個人情報のハッシュ値(個人情報Hash32D)に、元データの正当性を確認した確認機関の署名35Dが付されていない場合、確認機関の確認機関デバイス2は、対象確認に用いる第1の個人情報の正当性確認を含む対象確認を行ってもよい。具体的には、確認機関デバイス2は、対象確認時に上記のような第2の個人情報の開示をさらに要求してもよい。
【0164】
また、個人情報管理システムは、必要に応じて、利用者が個人IDを開示する際に、該個人IDに対してユーザ認証を行った上で、上記の処理を行うようにしてもよい。ユーザ認証は、既存の認証技術を利用できる。
【0165】
なお、上述した登録ブロックの追加、確認記録ブロックの追加、ブロック内の登録情報の信頼性確認、元データの一致性確認、元データの正当性確認等における具体的処理(個人情報や秘密鍵へのアクセスを除く)は、個人情報管理システムが提供するUI(User Interface)やAPI(Application Program Interface)等を利用して個人情報管理システムが行う。
【0166】
次に、
図12を参照して、個人情報管理システムの主要な構成について説明する。
図12に示す個人情報管理システム100は、データ記憶部101、登録部102、開示部103、認証部104、データ記憶部201、確認部202、台帳管理ノード301、データ記憶部501および個人ID割当部502を備える。
図12に示すように、個人情報管理システム100は、大きく、利用者側システム10と、確認機関側システム20と、台帳管理システム30と、管理側システム50とに大別されている。
【0167】
図12において、データ記憶部101、登録部102、開示部103および認証部104は利用者側システム10に属する。また、データ記憶部201および確認部202は確認機関側システム20に属する。また、台帳管理ノード301は台帳管理システム30に属する。また、データ記憶部501および個人ID割当部502は管理側システム50に属する。なお、認証部104は、管理側システムで保持している認証情報を用いてユーザ認証を行う場合は管理側システムに属することも可能である。
【0168】
ただし、この分類は情報のアクセス権限に基づくものであり、実際のプログラムの動作環境を限定するものではない。例えば、登録部102の一部(データ記憶部101へのアクセスを除く)や確認部202の一部(データ記憶部201へのアクセスを除く)の機能が、管理側システム50が備える装置に実装されてもよい。
【0169】
図示省略しているが、利用者側システム10は少なくともクライアントデバイス1を含む。また、確認機関側システム20は少なくとも確認機関デバイス2を含む。
【0170】
データ記憶部101、データ記憶部201およびデータ記憶部501を除いた各処理部は、それぞれネットワーク40を介して接続されている。なお、ネットワーク40は、インターネットとEthereumネットワークなどの複数の異なるネットワークを含んでいてもよい。データ記憶部101は、登録部102、開示部103および認証部104と接続されていればよい。また、データ記憶部201は確認部202と接続されていればよい。また、データ記憶部501は、個人ID割当部502と接続されていればよい。
【0171】
データ記憶部101は、利用者側システム10に属する各処理部が必要な情報や、利用者の情報として他のシステムに開示される情報を保持する。データ記憶部101は、例えば、利用者の個人情報14Dや、個人情報管理システム100が割り当てる個人ID13Dや、署名用のペア鍵(秘密鍵11Dおよび公開鍵12D)を記憶する。本実施形態において、データ記憶部101の少なくとも一部は、利用者側システム10が備える装置(例えば、クライアントデバイス1)が備えるセキュア領域を有する記憶装置や、利用者側システム10が備える装置からアクセス可能な分割ファイルシステムにより実現される。
【0172】
登録部102は、利用者からの指示に応じて、利用者の個人ID13Dのハッシュ値と、登録したい個人情報14Dのハッシュ値と、必要な署名(少なくとも本人の署名を含む)とを有する登録ブロックをブロックチェーン3に登録する。なお、実際の登録は後述する台帳管理ノード301が所定の手続きを経て行うため、登録部102は、台帳管理ノード301を介して登録ブロックをブロックチェーン3に追加するための処理を行う。なお、登録部102は、そのような登録ブロックをブロックチェーン3に登録するための手続きを利用者に提供できればよい。
【0173】
登録部102は、例えば、利用者から登録したい個人情報14Dが指定されると、データ記憶部101から指定された個人情報14Dを読み出し、そのハッシュ値を算出する。そして、得られた個人情報のハッシュ値(個人情報Hash32D)と個人ID13Dのハッシュ値(個人ID_Hash31D)とに対して少なくとも1つの本人の署名33Dを付した上で、それらが登録された登録ブロックの追加要求(ブロック追加要求)を、後述する台帳管理ノード301に送信する。
【0174】
なお、登録部102は、必要に応じて所定の確認機関の確認部202に、元データとされる個人情報14Dの正当性確認の依頼を該個人情報14Dとともに送信してもよい。それにより、少なくとも個人情報Hash32Dに対するその確認機関の署名35Dを得てもよい。その上で、登録部102は、個人情報Hash32Dと、個人ID_Hash31Dと、少なくとも個人情報Hash32Dに対するその確認機関の署名35Dと、少なくとも個人ID_Hash31Dに対する本人の署名33Dとを登録情報として含む登録ブロックの追加要求(ブロック追加要求)を、後述する台帳管理ノード301に送信してもよい。
【0175】
また、登録部102は、所定の確認機関の確認部202に、個人情報14Dの正当性確認および登録ブロックの登録依頼を、少なくとも本人の署名33Dを付した個人ID_Hash31Dとともに送信してもよい。その場合、確認部202によって、個人情報Hash32Dと、個人ID_Hash31Dと、少なくとも個人情報Hash32Dに対するその確認機関の署名35Dと、少なくとも個人ID_Hash31Dに対する本人の署名33Dとを登録情報として含む登録ブロックの追加要求(ブロック追加要求)を、後述する台帳管理ノード301に送信してもよい。
【0176】
開示部103は、利用者からの指示に応じて、指定された個人情報14Dまたはそのハッシュ値を外部に出力する。ここで、外部への出力には、表示(表示装置への出力)や、送信(指定された宛て先への出力)が含まれうる。開示部103は、例えば、確認部202から個人情報14Dが指定された開示要求を受け付けると、利用者にその開示有無を問い合わせた上で、指定された個人情報14Dまたはそのハッシュ値を、指定された出力先(要求元の確認部202や表示部等)に出力する。なお、開示部103は、その個人情報14Dのハッシュ値が同じ目的の対象確認の結果や確認機関の署名とともに確認記録ブロックや登録ブロックとしてブロックチェーン3に登録されている場合、指定された個人情報14Dに代えて、指定された個人情報14Dのハッシュ値を出力することも可能である。その際、開示部103は、いずれの情報を開示するかを利用者に問い合わせした後、指定された情報を出力してもよいし、問い合わせをせずに優先してハッシュ値を出力してもよい。また、個人情報に代えて個人情報のハッシュ値を出力する場合、開示部103は、そのときの確認記録ブロックの情報を合わせて出力してもよい。
【0177】
認証部104は、他の処理部が個人ID13Dにアクセスする際に、現在の利用者に対してユーザ認証を行う。認証部104は、例えば、個人ID13Dへのアクセスを検知すると、現在の利用者に認証情報の入力を要求し、入力された認証情報と予め保持している認証情報とを照合して、現在の利用者のユーザ認証を行う。なお、利用者側システム10において個人ID13Dに対するユーザ認証が不要な場合は、認証部104は省略されてもよい。
【0178】
本実施形態において、登録部102、開示部103および認証部104は、例えば、利用者側システム10が備える装置にインストールされるなど、データ記憶部101にアクセス可能なCPU等により実現される。
【0179】
なお、認証部104は、管理側システム50において、開示部103から開示された個人ID13Dに対するユーザ認証を行う処理部として動作することも可能である。その場合、認証部104は、後述する確認部202からの要求に応じて、個人ID13Dを開示した開示部103の現在の利用者(開示者)に認証情報の入力を要求し、入力された認証情報とデータ記憶部501等に予め保持している認証情報とを照合して、開示者のユーザ認証を行う。その場合、認証部104は、データ記憶部501にアクセス可能に実装されているCPU等により実現される。
【0180】
データ記憶部201は、確認機関側システム20に属する各処理部が必要な情報や、確認機関の情報として当該個人情報管理システム100が備える他のシステムに開示される情報を保持する。データ記憶部201は、例えば、確認機関IDや、署名用のペア鍵(秘密鍵21Dおよび公開鍵22D)を記憶する。本実施形態において、データ記憶部201の少なくとも一部は、確認機関側システム20が備える装置(例えば、確認機関デバイス2)が備えるセキュア領域を有する記憶装置や、確認機関側システム20が備える装置からアクセス可能な分割ファイルシステムにより実現される。
【0181】
確認部202は、利用者からサービスを要求された確認機関からの指示に応じて、利用者の対象確認を行う。確認部202は、例えば、指定された利用者の開示部103から取得される情報と、ブロックチェーン3に登録されている情報(登録ブロックおよび確認記録ブロック内の情報)とに基づいて、利用者の対象確認を行う。
【0182】
確認部202は、例えば、指定された利用者の開示部103に対して、個人ID13Dと対象確認に用いられる個人情報14Dまたはそのハッシュ値(個人情報Hash32D)の開示を要求する。また、確認部202は、得られた情報や利用者側システム10が保持するブロックの登録履歴を基に、該利用者の登録ブロックまたは確認記録ブロックを検索する。そして、得られた該利用者の登録ブロックまたは確認記録ブロックを利用して、上述したような登録情報の信頼性確認や元データの一致性確認や個人情報の正当性確認を行い、それらの確認結果を出力したり、それらの確認結果に基づき対象確認を行う。なお、対象確認自体は、登録情報の信頼性確認、元データの一致性確認または個人情報の正当性確認もしくはそれらの組み合わせを基に判定される開示された情報の正当性の判定結果の出力を基に、確認機関側のユーザが行ってもよい。その場合、確認部202は、該ユーザが行った対象確認結果を受け付ける。
【0183】
また、確認部202は、必要に応じて対象確認の記録を示す確認記録ブロックを作成し、ブロックチェーン3に追加するための処理を行う。確認記録ブロックは、対象確認を行った利用者の個人ID13Dのハッシュ値(個人ID_Hash31D)と、それに対する確認機関の署名35Dとを少なくとも含む。
【0184】
なお、確認部202は、そのような対象確認およびそのような確認記録ブロックのブロックチェーン3への登録手続きを確認機関に提供できればよい。本実施形態において、確認部202は、例えば、確認機関側システム20が備える装置にインストールされるなど、データ記憶部201にアクセス可能なCPU等により実現される。
【0185】
なお、
図12では、利用者側システム10および確認機関側システム20がそれぞれ1つしか示されていないが、利用者側システム10は利用者ごとに設けられ、また確認機関側システム20も確認機関ごとに設けられる。
【0186】
台帳管理システム30は、ブロックチェーンを台帳とし、該台帳を複数のノードが共有して管理するシステムである。なお、ブロックチェーンを管理するシステムとして、台帳管理システムを例示するが、所定のコンセンサスアルゴリズムに従う処理(以下、コンセンサス処理という)を実行可能で、かつ改ざんが困難な台帳をシステム内の端末で共有するシステムであれば、台帳管理システムに限定されない。
【0187】
台帳管理ノード301は、台帳管理システム30において、コンセンサス処理を実行するノードである。台帳管理ノード301の各々は、当該コンセンサス処理の実行を通して、ブロックチェーン3のコピーを保持する。
【0188】
なお、
図12では、利用者側システム10と台帳管理システム30、確認機関側システム20と台帳管理システム30とを分けて記載しているが、例えば、利用者側システム10や確認機関側システム20が台帳管理ノード301の機能を有していてもよい。
【0189】
データ記憶部501は、管理側システム50に属する各処理部が必要な情報や、管理側システム50の情報として当該個人情報管理システム100が備える他のシステムに開示される情報があればそれを保持する。データ記憶部501は、例えば、利用者に割り当てた個人IDの情報や、当該個人情報管理システム100が備える他のシステムの処理部が行う手続きを実装したプログラム(実行コードなど)を記憶してもよい。本実施形態において、データ記憶部501の少なくとも一部は、管理側システム50が備えるセキュア領域を有する記憶装置や、管理側システム50が備える装置からアクセス可能な分割ファイルシステムにより実現される。
【0190】
個人ID割当部502は、利用者に個人ID13Dを割り当てる。本実施形態において、個人ID割当部502は、例えば、管理側システム50が備える装置にインストールされるなど、データ記憶部501にアクセス可能なCPU等により実現される。
【0191】
また、
図13は、確認部202の構成例を示すブロック図である。
図13に示すように、確認部202は、データ取得部221と、登録情報信頼性確認部222と、元データ一致性確認部223と、個人情報正当性確認部224と、結果出力部225と、確認記録登録部226とを含んでいてもよい。
【0192】
データ取得部221は、利用者側システム10(特に、開示部103)から個人ID13Dとともに対象確認に必要な情報(例えば、個人情報14Dまたはそのハッシュ値や、その利用者の過去の確認記録ブロックの情報等)を取得する。また、データ取得部221は、利用者側システム10から取得した情報を基にブロックチェーン3を検索して、その利用者の情報(特に、対象確認に必要な個人情報14Dまたはそのハッシュ値や、それを用いて対象確認を行った旨の記録(確認情報34D等))を含むブロックを取得する。
【0193】
例えば、データ取得部221は、利用者側システム10から個人ID13Dと個人情報14Dとを取得した場合には、その個人ID13Dのハッシュ値とその個人情報14Dのハッシュ値とを含む最新のブロックをブロックチェーン3から取得してもよい。また、例えば、データ取得部221は、利用者側システム10から個人ID13Dと個人情報14Dのハッシュ値とを取得した場合には、その個人ID13Dから算出されるハッシュ値とその個人情報14Dのハッシュ値とを含む最新のブロックをブロックチェーン3から取得してもよい。また、例えば、データ取得部221は、利用者側システム10から個人ID13Dを取得した場合には、その個人ID13Dから算出されるハッシュ値を含む最新のブロックをブロックチェーン3から取得してもよい。また、例えば、データ取得部221は、利用者側システム10から個人ID13Dのハッシュ値と過去の確認記録ブロックの情報とを取得した場合には、最新の確認記録ブロックをブロックチェーン3から取得してもよい。
【0194】
データ取得部221は、利用者側システム10からどのような情報を取得するかを、その利用者の確認記録から決定してもよい。
【0195】
登録情報信頼性確認部222は、データ取得部221が取得したブロック内の情報(登録情報)の信頼性を、該登録情報に付されている署名を基に確認する。なお、登録情報信頼性確認部222は、ブロック内に複数の署名が含まれている場合には、指定された署名の署名対象データについてそれぞれ当該署名の復号結果との照合により信頼性を確認する。このとき、入れ子構造で指定された署名が入れ子構造で付されている場合には、署名を付した際の暗号化処理の順番とは逆向きに復号処理を行って、各署名の署名対象データと当該署名の復号結果とを照合して最終的な信頼性を確認すればよい。
【0196】
元データ一致性確認部223は、データ取得部221が利用者の個人情報14Dを得て、その個人情報14Dのハッシュ値とされる個人情報Hash32Dを含むブロックを取得した場合に、該ブロック内の個人情報Hash32Dの元データとされる個人情報と、取得した個人情報14Dとの一致性を確認する。元データ一致性確認部223は、例えば、データ取得部221が得た個人情報14Dから算出されるハッシュ値と、ブロック内の個人情報Hash32Dとを照合することにより、ブロック内の個人情報Hash32Dの元データとされる個人情報と、取得した個人情報14Dとの一致性を確認すればよい。
【0197】
個人情報正当性確認部224は、データ取得部221が対象確認に用いる個人情報(第1の個人情報)を得た場合に、その第1の個人情報の正当性を確認する。個人情報正当性確認部224は、現在の利用者(開示者)の生体情報・「本人確認が可能な情報」・「本システムにおいてユーザ認証が可能な情報」など第1の個人情報が正しいことを当該確認機関において確認できる第2の個人情報をデータ取得部221にさらに取得させ、それらを基に、第1の個人情報の正当性を確認する。
【0198】
結果出力部225は、登録情報信頼性確認部222、元データ一致性確認部223、個人情報正当性確認部224による確認結果や、それらを基に判定される、開示された情報の正当性の判定結果や、最終的な対象確認の結果を出力する。なお、最終的な対象確認は、登録情報信頼性確認部222、元データ一致性確認部223、個人情報正当性確認部224による確認結果や、それらを基に判定される開示された情報の正当性の判定結果の出力を基に、確認機関側のユーザが行ってもよい。その場合、確認部202は、該ユーザが行った対象確認結果を受け付ける。
【0199】
確認記録登録部226は、結果出力部225が得た結果を基に、確認記録ブロックをブロックチェーン3に登録する。また、確認記録登録部226は、必要に応じて、利用者側システム10に該確認記録ブロックの情報を出力する。
【0200】
また、
図14は、台帳管理ノード301の構成例を示すブロック図である。
図14に示す台帳管理ノード301は、登録情報受付部311と、ブロック生成部312と、ブロック共有部313と、情報記憶部314と、ブロック検証部315とを含む。
【0201】
登録情報受付部311は、外部ノードから、台帳管理システム30が管理するブロックチェーンである台帳に記録する情報を受け付ける。本実施形態では、登録情報受付部311は、例えば、台帳に記録する情報として、登録ブロックの内容(ブロックデータ)や、確認記録ブロックの内容(ブロックデータ)を受け付ける。
【0202】
ブロック生成部312は、登録情報受付部311が受け付けた情報(ブロックデータ)を基に、ブロックチェーンに追加するブロックを生成する。ブロック生成部312は、前ブロックに基づく情報と登録情報受付部311が受け付けた情報とを含むブロックを生成する。また、ブロック生成部312は、自身が生成したブロックまたは後述するブロック共有部313を介して他の台帳管理ノード301が生成したブロックに対して、所定のコンセンサス処理として、例えば、ノンスを探索する処理や署名を付与する処理を行った上で、自身が管理するブロックチェーン(ブロックチェーン3のコピーに相当)にブロックを追加する。なお、ブロック生成部312が生成したブロックに対して、複数の台帳管理ノード301が所定のコンセンサス処理を行って得られたものが、最終的にブロックチェーン3に追加されるブロックとなる。
【0203】
ブロック共有部313は、台帳管理システム30に属する台帳管理ノード301間で情報交換を行う。ブロック共有部313は、より具体的には、登録情報受付部311が受け付けた情報や、ブロック生成部312が生成したブロックや、他の台帳管理ノード301から受け付けたブロック等を、適宜他の台帳管理ノード301に送信する。これにより、可能な限り全ての台帳管理ノード301でこれらの情報および最新のブロックチェーン3を共有する。
【0204】
情報記憶部314は、ブロックチェーン3のコピーを記憶する。なお、情報記憶部314は、ブロックチェーン3のコピー以外にも、例えば、後述するブロック検証部315での検証処理に必要となる情報などを記憶してもよい。
【0205】
ブロック検証部315は、自身が保持するブロックチェーンにブロックを追加する際に、該ブロック内の情報の検証を行う。通常、追加対象とされるブロックは、自ノードを含む台帳管理ノード301群において最も早く規則が満たされたブロックであるが、悪意のある台帳管理ノード301が含まれていた場合等を考慮して、実際に規則が満たされているか等を検証してもよい。
【0206】
なお、
図14の構成はあくまで一例であって、台帳管理ノード301は、改ざんが困難なブロックチェーン3を複数のノードが共有して管理するための所定のコンセンサス処理を実行可能であり、外部ノードからの要求に応じて台帳への情報追加および台帳の参照が可能なノードであれば、具体的な構成は問わない。
【0207】
次に、本実施形態の動作を説明する。本実施形態の動作は、登録ブロックをブロックチェーンに登録する登録フェーズと、ブロックチェーンに登録された登録ブロックや過去の確認記録ブロックを基に対象確認を行う確認フェーズの2つに大別される。さらに、確認フェーズは、利用者に個人情報を開示させて、ブロックチェーン3内の登録ブロックを基に対象確認を行う第1の確認フェーズと、利用者に個人情報を開示させずに、ブロックチェーンに3内の確認記録ブロックを基に対象確認を行う第2の確認フェーズの2つに大別される。
【0208】
まず、
図15を参照して、登録フェーズにおける個人情報管理システムの動作を説明する。
図15は、本実施形態の個人情報管理システムの登録フェーズにおける動作の一例を示すフローチャートである。なお、
図15に示す登録フェーズは、確認機関によって元データとされる個人情報の正当性確認を行わずに登録ブロックを登録する場合の例である。
【0209】
図15に示す例では、まず、利用者側システム10の登録部102が、データ記憶部101から個人ID13Dおよび登録したい個人情報14Dを読み出し、それぞれについてハッシュ値を算出して、個人ID_Hash31Dおよび個人情報Hash32Dを得る(ステップS101)。登録部102は、ユーザ認証を行った上で、個人ID13Dや個人情報14Dへのアクセスを行ってもよい。
【0210】
次いで、登録部102は、そのようにして得た個人ID_Hash31Dおよび個人情報Hash32Dに対して本人の署名33Dを付し、該本人の署名33Dが付された個人ID_Hash31Dおよび個人情報Hash32Dが登録された登録ブロックを作成する(ステップS102)。
【0211】
次いで、登録部102は、作成した登録ブロックの追加要求を台帳管理ノード301に行って、該登録ブロックをブロックチェーン3に登録する(ステップS103)。このとき、登録部102は、登録された登録ブロックのキー情報を台帳管理ノード301から取得して、データ記憶部101に登録履歴として保持してもよい。
【0212】
このようにして、ブロックチェーン3に、利用者本人の署名33Dが付された、利用者の個人ID13Dのハッシュ値である個人ID_Hash31Dおよび利用者の個人情報14Dのハッシュ値である個人情報Hash32Dを登録情報として含む登録ブロックが追加される。
【0213】
また、
図16は、本実施形態の個人情報管理システムの登録フェーズにおける動作の他の例を示すフローチャートである。なお、
図16に示す登録フェーズは、確認機関によって元データとされる個人情報の正当性確認を行った上で登録ブロックを登録する場合の例である。
【0214】
図16に示す例では、まず、利用者側システム10の登録部102が、データ記憶部101から登録したい個人情報14D(第1の個人情報)を読み出す(ステップS111)。
【0215】
次いで、登録部102は、発行元の確認機関側システム20の確認部202に、第1の個人情報と、必要であれば第2の個人情報とを含む、個人情報の正当性確認要求を送信する(ステップS112)。
【0216】
確認部202(例えば、個人情報正当性確認部224)は、個人情報の正当性確認要求を受信すると、それに含まれる第1の個人情報の正当性を、第2の個人情報を基に確認する(ステップS113)。また、確認部202は、第1の個人情報の正当性が確認できた場合に、そのハッシュ値(個人情報Hash32D)を算出し、得られたハッシュ値に確認機関の署名35Dを付して、要求元に確認結果とともに送信する(ステップS114〜ステップS116)。
【0217】
登録部102は、個人情報の正当性の確認が得られた場合、個人ID13Dのハッシュ値(個人ID_Hash31D)を算出し(ステップS117)、得られたハッシュ値に本人の署名33Dを付す。そして、本人の署名33Dが付された個人ID_Hash31Dと確認機関の署名35Dが付された個人情報Hash32Dとが登録された登録ブロックを作成する(ステップS118)。なお、作成した登録ブロックのブロックチェーン3への登録処理は、ステップS103と同様でよい。
【0218】
次に、
図17を参照して、確認フェーズにおける個人情報管理システムの動作を説明する。
図17は、本実施形態の個人情報管理システムの確認フェーズにおける動作の一例を示すフローチャートである。なお、
図17に示す確認フェーズは、利用者に個人情報を開示させて、ブロックチェーン3内の登録ブロックを基に対象確認を行う第1の確認フェーズの例である。
【0219】
図17に示す例では、まず確認機関側システム20の確認部202(例えば、データ取得部221)は、利用者側システム10に個人IDの開示要求を送信する(ステップS201)。
【0220】
個人IDの開示要求を受けた利用者側システム10の開示部103は、データ記憶部101から個人ID13Dを読み出し、要求元に送信する(ステップS202、ステップS203)。
【0221】
個人ID13Dを受信した確認機関側システム20の確認部202(例えば、データ取得部221)は、得られた個人ID13Dのハッシュ値を含む確認記録ブロックをブロックチェーン3から検索する(ステップS204)。データ取得部221は、ステップS203で開示部103から、個人ID13Dとともに同様の目的の対象確認の記録を示す確認記録ブロックの情報を取得し、それらを基に確認記録ブロックを検索してもよい。なお、開示部103は、例えば、そのようなブロックの情報を利用者側システム10が保持している登録履歴より得てもよい。
【0222】
検索の結果、所望の確認記録ブロック(例えば、同一の目的での確認結果を示す確認情報34Dを含む確認記録ブロック)が見つからなかった場合、データ取得部221は、さらに、対象確認に必要な個人情報の開示要求を開示部103に送信する(ステップS205)。該開示要求には要求する個人情報の種別が含まれていてもよい。
【0223】
開示部103は、個人情報の開示要求を受信すると、要求された種別の個人情報(ここでは、第1の個人情報)を読み出し、要求元に送信する(ステップS206、ステップS207)。このとき、開示部103は、利用者に該個人情報の開示の許可を取った上で、要求元に送信してもよい。
【0224】
データ取得部221は、第1の個人情報を取得すると、そのハッシュ値である個人情報Hash32D(以下、個人情報Hash32D−1と記す)が登録された登録ブロックをブロックチェーン3から検索する(ステップS208)。データ取得部221は、ステップS207で開示部103から、個人情報とともにそのハッシュ値が登録された登録ブロックの情報を取得し、それらを基に登録ブロックを検索してもよい。
【0225】
検索の結果、所望の登録ブロックを得ると、確認部202の登録情報信頼性確認部222は、登録ブロックに含まれる、少なくとも個人ID_Hash31Dおよび個人情報Hash32D−1について、それらに付された署名を基に、その信頼性を確認する(ステップS209:登録情報の信頼性確認)。なお、登録情報の信頼性の確認方法は上述した通りである。
【0226】
また、確認部202の元データ一致性確認部223は、登録ブロックに含まれる個人ID_Hash31Dおよび個人情報Hash32D−1について、それらの元データが、取得された個人ID13Dおよび第1の個人情報と一致するかを、ハッシュ値同士の照合により確認する(ステップS210:元データの一致性確認)。なお、元データの一致性確認の方法は上述した通りである。
【0227】
なお、ステップS208で、データ取得部221は、第1の個人情報の正当性の確認記録を示す確認記録ブロックを検索してもよい。
【0228】
その場合、ステップS209の登録情報の信頼性確認処理では、確認記録ブロックに含まれる個人ID_Hash31Dおよび確認情報34Dについて、それらに付された署名を基に、その信頼性を確認すればよい。また、ステップS210の元データの一致性確認処理では、開示された第1の個人情報との比較対象とする個人情報Hash32D−1を、確認記録ブロックの確認情報34Dを基に取得すればよい。例えば、データ取得部221は、確認情報34Dにおいて示される正当性の確認対象とされたハッシュ値(個人情報Hash32D−1)を取得してもよい。また、例えば、データ取得部221は、確認情報34Dに、正当性の確認対象とされたハッシュ値(個人情報Hash32D−1)が登録されている登録ブロックの情報(後述するTxID等)が含まれている場合は、該情報から該登録ブロックを検索し、検索された登録ブロックに含まれる個人情報Hash32D−1を取得してもよい。
【0229】
なお、検索の結果、所望の登録ブロックや確認記録ブロックが発見されなかった場合は、対象確認に用いる個人情報が未登録である旨を、利用者側システム10に送信して、処理を終了してもよい。
【0230】
また、確認部202(例えば、個人情報正当性確認部224)は、登録ブロックに含まれる個人情報Hash32D−1に、例えば発行元や正規情報保持機関などの所定の条件を満たす確認機関の署名35Dが付されていない場合、第1の個人情報について正当性確認を行ってもよい。
【0231】
例えば、個人情報正当性確認部224は、正当性確認に必要な情報(正当性確認情報)の開示要求を開示部103に送信する(ステップS211)。該開示要求には要求する個人情報の種別が含まれていてもよい。
【0232】
開示部103は、正当性確認情報の開示要求を受信すると、要求された種別の個人情報(ここでは、正当性確認情報とされる第2の個人情報)を読み出し、要求元に送信する(ステップS212、ステップS213)。ステップS206と同様、開示部103は、利用者に該個人情報の開示の許可を取った上で、要求元に送信してもよい。
【0233】
個人情報正当性確認部224は、正当性確認情報とされる第2の個人情報を取得すると、第2の個人情報に基づいて第1の個人情報の正当性を確認する(ステップS214:個人情報の正当性確認)。なお、個人情報の信頼性確認の方法は上述した通りである。ここで、データ取得部221が、さらに第2の個人情報のハッシュ値が登録された登録ブロックや、現在の利用者の生体情報などを取得してもよい。
【0234】
なお、ステップS211〜ステップS214の処理は、個人情報Hash32D−1が登録されている登録ブロックにおいて、該個人情報Hash32D−1に、所定の条件を満たす確認機関の署名35Dが付されている場合は省略される。その場合、確認部202は、そのままステップS214の個人情報の正当性の確認結果を、確認OKとすればよい。
【0235】
次いで、確認部202の結果出力部225は、これまでの処理結果から、開示された第1の個人情報の正当性の判定結果や、最終的な対象確認の結果を出力する(ステップS215)。
【0236】
結果出力部225は、例えば、ステップS209の登録情報の信頼性確認、ステップS210の元データの一致性確認およびステップS214の個人情報の正当性確認の結果がいずれもOKであった場合、開示された第1の個人情報は、開示者であって開示された個人IDが対応する利用者本人の正しい情報であると判定してもよい。なお、いずれかの確認結果がNGであった場合、開示された第1の個人情報は、開示者であって開示された個人IDが対応する利用者本人の正しい情報でないと判定してもよい。また、例えば、結果出力部225は、開示された第1の個人情報は、開示者であって開示された個人IDが対応する利用者本人の正しい情報であると判定された場合において、その第1の個人情報に基づいて、当該確認機関が目的とする対象確認を行い、その確認結果を出力してもよい。対象確認の例として、年齢確認や、サービスの受給資格確認などが挙げられる。ここで、サービスの受給資格確認の一例として、開示された第1の個人情報で特定される、確認機関側システム内のユーザ情報(決済情報等)との照合が挙げられる。
【0237】
次いで、確認機関側システム20(例えば、図示しないサービス提供部)は、結果出力部225から出力される、開示された第1の個人情報の正当性(本人確認を含む)の判定結果や、対象確認結果を基に、利用者にサービスを提供してもよい(ステップS216)。
【0238】
次いで、確認記録登録部226が、今回の確認の記録を示す確認記録ブロックを作成し、該ブロックをブロックチェーン3に登録する(ステップS217、ステップS218)。確認記録登録部226は、例えば、上記の登録ブロック内の個人情報Hash32D−1について所定の対象確認OKの旨や、本人確認OKの旨を示す確認情報34Dを生成する。また、確認記録登録部226は、例えば、ステップS203で取得した個人ID13Dのハッシュ値(個人ID_Hash31D)を算出する。そして、そのようにして得た個人ID_Hash31Dおよび確認情報34Dに対して当該確認機関の署名35Dを生成し、該確認機関の署名35Dが付された個人ID_Hash31Dおよび確認情報34Dを含む確認記録ブロックを作成してもよい。なお、ブロックの登録処理は、ステップS103と同様でよい。
【0239】
このようにして、例えば1回目の対象確認が行われると、ブロックチェーン3に、その対象確認を行った確認機関の署名35Dが付された個人ID_Hash31Dと個人情報Hash32D−1に対する確認結果を示す確認情報34Dとを含む確認記録ブロックが追加される。
【0240】
次に、
図18を参照して、確認フェーズにおける個人情報管理システムの動作を説明する。
図18は、本実施形態の個人情報管理システムの確認フェーズにおける動作の一例を示すフローチャートである。なお、
図18に示す確認フェーズは、利用者に個人情報を開示させずに、ブロックチェーンに3内の確認記録ブロックを基に対象確認を行う第2の確認フェーズの例である。
【0241】
図18に示す例でも、まず確認機関側システム20の確認部202(例えば、データ取得部221)は、利用者側システム10に個人IDの開示要求を送信する(ステップS201)。なお、ステップS201〜ステップS204までの処理は、第1の確認フェーズと同様でよい。
【0242】
本例では、検索の結果、所望の確認記録ブロック(例えば、同一の目的での確認結果を示す確認情報34Dを含む確認記録ブロック)を得る。
【0243】
次いで、確認部202の登録情報信頼性確認部222は、確認記録ブロックに含まれる、個人ID_Hash31Dおよび確認情報34Dについて、それらに付された確認機関の署名35Dを基に、その信頼性を確認する(ステップS209:登録情報の信頼性確認)。
【0244】
次いで、確認部202の結果出力部225は、これまでの処理結果から、最終的な対象確認の結果を出力する(ステップS215)。本例では、結果出力部225は、ステップS209の登録情報の信頼性確認の結果がOKであれば、確認記録ブロックの確認情報34Dに含まれる確認結果が過去に得られていることを出力したり、過去の対象確認結果をそのまま援用してもよい。このとき、結果出力部225は、自身以外の確認機関による確認記録であった場合、そのまま援用せずに、対象確認を行った確認機関やその確認内容を出力した上で、確認機関側ユーザに対象確認結果の援用可否を問い合わせてもよい。
【0245】
援用可であった場合、確認機関側システム20(例えば、図示しないサービス提供部)は、その対象確認結果を基に、利用者にサービスを提供してもよい(ステップS216)。なお、援用不可であった場合は、
図17に示すステップS205以降の処理を行えばよい。
【0246】
本例でも、確認記録登録部226が、今回の確認の記録を示す確認記録ブロックを作成し、該ブロックをブロックチェーン3に登録してもよい(ステップS217、ステップS218)。確認記録登録部226は、例えば、取得した個人ID13Dのハッシュ値(個人ID_Hash31D)と、援用した確認記録ブロックの情報や対象確認結果を示す確認情報34Dとに対して当該確認機関の署名35Dを付し、確認記録ブロックを生成してもよい。
【0247】
このようにして、例えば2回目の対象確認が行われると、ブロックチェーン3に、その対象確認を行った確認機関の署名35Dが付された、利用者の個人ID13Dのハッシュ値である個人ID_Hash31D、および援用した確認記録ブロックの情報や対象確認結果を示す確認情報34Dとに対して当該確認機関の署名35Dを含む確認記録ブロックが追加される。
【0248】
なお、3回目以降は、例えば、2回目の対象確認の記録を示す確認記録ブロックの登録情報の信頼性を確認した上で、その確認情報34Dに示される情報から得られる対象確認結果等を利用することができる。例えば、援用した確認記録ブロック(3回目であれば、1回目の対象確認の記録を示す確認記録ブロック)の情報が取得された場合には、さらに、その援用した確認記録ブロックを取得し、その登録情報の信頼性確認や確認情報の検証を行い、援用の可否を問い合わせてもよい。
【0249】
また、
図19は、確認フェーズにおける確認機関側システム20の動作をまとめたフローチャートである。
図19に示すように、確認部202のデータ取得部221は、まず利用者(より具体的には利用者側システム10)から個人ID13Dを取得する(ステップS301)。
【0250】
次いで、データ取得部221は、ブロックチェーン3から、その利用者の過去の確認記録ブロックを検索する(ステップS302)。
【0251】
同様の目的での確認記録を示す確認記録ブロックが存在した場合(ステップS303のYes)、その確認記録ブロックの登録情報を取得した上で、ステップS310に進む。
【0252】
そのような確認記録ブロックが存在しなかった場合(ステップS303のNo)、データ取得部221は、対象確認に用いる個人情報(第1の個人情報)の開示を利用者に要求する(ステップS303)。
【0253】
第1の個人情報を取得すると、ブロックチェーン3から、個人情報Hash32D−1が登録された登録ブロックまたは登録済みの個人情報Hash32D−1の元データに対して本人確認を行った記録を示す確認記録ブロックを検索する(ステップS304)。
【0254】
そのような登録ブロックや確認記録ブロックが確認されると、そのブロックの登録情報を取得した上で、ステップS305に進む。
【0255】
ステップS305では、取得された登録情報における、個人情報Hash32D−1に付されている確認機関の署名35Dの有無や、取得された登録情報に含まれる確認情報34Dの確認結果などから、ブロックチェーン3に登録されている個人情報Hash32D−1に関し、過去にその元データ(第1の個人情報)の正当性が確認されているか否かを確認する。
【0256】
元データ(第1の個人情報)の正当性が確認済みでなければ(ステップS305のNo)、データ取得部221は、第1の個人情報の正当性を確認できる第2の個人情報(正当性確認情報)の開示をさらに利用者に要求する(ステップS306)。
【0257】
そして、個人情報正当性確認部224が、取得された第2の個人情報を基に、利用者から取得した第1の個人情報の正当性を確認する(ステップS307)。第1の個人情報の正当性の確認が終わると、ステップS311に進む。
【0258】
一方、元データ(第1の個人情報)の正当性が確認済みであれば(ステップS305のYes)、データ取得部221は、ブロックチェーン3に登録されている、元データの正当性が確認済みである個人情報Hash32D−1を取得した上で、ステップS308に進む。
【0259】
ステップS308では、元データ一致性確認部223が、ブロックチェーン3内の元データの正当性が確認済みである個人情報Hash32D−1の元データとされる第1の個人情報(登録時の個人情報)と、利用者から取得した第1の個人情報との一致性を確認する。元データ一致性確認部223は、利用者から取得した第1の個人情報からハッシュ値を算出し、それとブロックチェーン3内の元データの正当性が確認済みである個人情報Hash32D−1とが一致するかを確認すればよい。
【0260】
正当性が確認済みである個人情報Hash32D−1の元データとの一致性が確認されなかった場合(ステップS309のNo)、そのままステップS311に進む。
【0261】
一方、正当性が確認済みである個人情報Hash32D−1の元データとの一致性が確認された場合(ステップS309のYes)、ステップS310に進む。
【0262】
ステップS310では、登録情報信頼性確認部222が、これまでの判定に用いた情報の取得先である登録情報(ステップS303の確認記録ブロックやステップS304の登録ブロックまたは確認記録ブロックの登録情報等)について、それに付された署名を用いた信頼性確認を行う。なお、登録情報信頼性確認部222は、登録情報の一部の情報を取得した場合、少なくとも該情報と、該情報と対応づけられている個人ID_Hash31Dについて、信頼性確認を行う。
【0263】
また、本例では、先に個人情報の正当性確認の有無を判定した上で、個人情報の正当性確認、または元データとの一致性確認および登録情報の信頼性確認を行う例を示したが、これら確認の順番は特に問わない。例えば、ブロックの登録情報から情報(確認情報34Dや個人情報Hash32D−1等)を取得する度に、該情報と、それと対応づけられた個人ID_Hash31Dとについて同ブロック内においてそれらに付された署名を用いて信頼性を確認してもよい。
【0264】
また、ステップS311では、これまでの確認結果や、それに基づく開示された情報の正当性の判定結果や、最終的な対象確認の結果を出力する。なお、同様の目的での確認記録ブロックが発見された場合には、その確認結果の援用有無を問い合わせてもよい。また、これまでの確認結果や、開示された情報の正当性の判定結果を出力した上で、確認機関側ユーザから、対象確認結果を受け付けてもよい。
【0265】
また、確認部202は、対象確認に複数の個人情報が必要な場合にそれらについて未取得な情報または正当性が未確認な情報があるなど、対象確認が完了していない場合(ステップS312のNo)は、ステップS303に戻る。そして、必要な個人情報の要求を利用者に行ってもよい。なお、確認部202は、対象確認が完了したか否かを、確認機関側ユーザから受け付けることで判定してもよい。
【0266】
一方、確認部202は、対象確認が完了した場合には(ステップS312のYes)、今回の確認の記録を示す確認記録ブロックを作成し、ブロックチェーン3に登録して処理を終了する(ステップS314)。
【0267】
以上のように、本実施形態によれば、元データの正当性の確認記録や様々な目的での確認記録がブロックチェーン3内に登録されていくことで、一つの個人IDを開示するだけで、免許証やパスポートに代わる本人確認を行うことができるようになる。このため、利用者は目的や用途ごとに本人確認の手続きをする必要がなくなる。
【0268】
例えば、単に個人IDを開示するだけではその個人IDの所有者の身元や要求されたサービスを享受できる権限(受給資格)の有無は確認できない。しかし、本実施形態によれば、例えば一度目の個人IDの開示において、サービスの受給資格があるか、また必要であればその個人IDの所有者が誰であるかの確認(本人確認)を、その個人IDに対応づけられている個人情報を基に確認し、当該確認に用いた情報の正しさを示すハッシュ値やその結果を確認者の署名とともに、ブロックチェーン3に記録をする。そして、二度目以降の同様のサービスを利用するシーンにおいて、サービス提供側で過去の確認結果を確認、その内容を検証することで、同様の確認結果を与えられるようにしている。
【0269】
例えば、ある利用者が、年齢情報である生年月日や成人か否かの情報について、所定の確認機関に正当性(その個人IDが示す利用者本人の正しい情報であること)を確認させた上で、そのハッシュ値を個人IDのハッシュ値と対応づけてブロックチェーンに登録していた場合を想定する。
【0270】
そのような場合に、ある店舗Aでお酒を購入するシーンにおいて、一度目は、個人ID開示後に年齢情報の開示要求がなされ、利用者の許可の下、その年齢情報である生年月日や成人か否かの情報が店舗側に開示される。
【0271】
店舗Aでは、開示された情報の正当性を、ブロックチェーンの記録を基に確認できる。このため、店舗Aでは、開示された情報(生年月日や成人か否かの情報)だけで、年齢確認を行ってお酒を提供できる。このとき、店舗Aは、年齢確認の結果(成人である旨の確認結果)を、開示された個人IDのハッシュ値とともに自身の署名を付してブロックチェーンに記録する。
【0272】
次に、別の店舗Bでお酒を購入するシーンにおいて、同種の年齢確認について二度目となるケースでは、個人IDを開示後、店舗Bにより年齢情報の開示要求がなされた場合に、利用者は、年齢情報の開示に代えて1回目の年齢確認の結果が記録された確認記録ブロックの情報を開示できる。店舗Bでは、開示された情報を基に、1回目の年齢確認の結果をブロックチェーンから取得することで、この個人IDが店舗Aで既に同種の年齢確認がされ、サービス提供を受けていることを確認できる。なお、店舗Bは、確認の記録の開示ではなく、二度目の確認においても、本人確認の情報開示を要求することもできる。これらはサービス提供側のポリシーによって定められるが、同様のサービス提供であれば、二度目の開示が確認記録の開示で済む場合も多く考えられる。
【0273】
このようにして、利用者は、サービス利用にあたって、本人確認のために免許証などの複数の個人情報を含む情報を開示する代わりに、種々の個人情報と互いのハッシュ値を経由して対応づけられている1つの個人IDを開示するだけで、当該個人IDと対応づけられている個人情報またはそれを用いた確認記録を開示したと同等の利益を享受できるようになる。したがって、本システムのサービスを複数のベンダやサービスで共有すれば、サービスごとやベンダごとに個人を識別する情報が増えるのを防止できる。
【0274】
また、本実施形態によれば、一度、元の個人情報の正当性が確認され、その記録がブロックチェーンに登録されていれば、1回目においても、年齢確認のために必要な情報(生年月日等)の正当性を確認するために年齢確認とは関係ない不必要な個人情報(免許証番号や名前、住所など)を開示することを防止できる。このように、本実施形態によれば、個人IDに対応づけられた個人情報を選択的に開示することができるので、確認に必要最小限な情報のみを開示するといったコントロールが可能となる。
【0275】
なお、本実施形態では、各ブロックに個人IDのハッシュ値を登録するようにしているため、サーバダウンなどによるサービスの停止が想定されないブロックチェーンの特性上、利用開始時に発行された個人IDは、利用者や管理者の意志によって無効としない限り、永続的に使用できる。
【0276】
なお、これは、クライアントデバイスにおいて個人IDが認証情報とともに対応づけられていた場合、クライアントデバイスの紛失によって登録された記録は書き換えられないことを意味する。このため、仮にクライアントデバイスが紛失した場合には、次のような方法によって個人IDをリカバリできるようにしてもよい。
【0277】
第1の方法としては、本システム利用開始時に個人IDを割り当てる際、当該個人IDとその認証情報としてのデバイスIDとの組に対して複数の認証メンバを登録しておく方法が挙げられる。利用者は、デバイス紛失した場合、認証メンバに新たなデバイスIDを通知する。このとき、一定数の認証メンバの承認により新たなデバイスIDで当該個人IDを再利用可能としてもよい。当該方法は、uPortと呼ばれるブロックチェーンのID管理プラットフォームを利用して実現してもよい。
【0278】
より具体的には、利用者に対してブロックチェーンネットワークにおけるユーザキーとして、uPortIDと呼ばれる、Proxyコントラクトのアドレスとなる永続的なIDを用意する。なお、uPortIDは、UserAddressからPrivateKeyを用いて作成される。ここで、UserAddressは、ユーザデバイスキーと対応するEOA(Ethereumアカウント)のアドレスに相当する。また、本例においてクライアントデバイスに相当するuPortデバイスは、デバイスIDとペアとなるUserAddress(EOA)と、秘密鍵とをもつ。
【0279】
このようなEhtereumブロックチェーンネットワークを利用して、例えば、ユーザは、uPortデバイスを紛失した場合、まず新しいデバイスでEthereumに接続し、新しいUserAdressを取得する。そして、新しいUserAdressを、事前に登録された認証メンバ(リアルなdelegateメンバ等)に通知する。
【0280】
認証メンバは、Recoveryコントラクトを呼び出し、ユーザ確認を行うなどして、新しいUserAdressを認証する。認証の結果、一定数以上の承認が得られた場合、新しいUserAdressは、Controllerコントラクトに通知されて、古いUserAdressと書き換えられる。
【0281】
これにより、Proxyコントラクトにおいてクライアントデバイスの識別情報として機能するUPortIDは変わらずに、実際のデバイスIDと対応するEOAのみを変更できる。このように、デイバスIDと対応するEOAと、ブロックチェーン上のデータと対応するProxyアドレスとを分断することで、デバイス紛失などによるクライアントデバイスの交換時にも既存のデータとの接続性を維持できる。ここで、uPortIDが上記の個人IDに相当する。
【0282】
また、別の方法としては、本システム利用開始時に個人IDを割り当てた際、その個人IDのハッシュ値と対応づけて本人確認やユーザ認証が可能な個人情報のハッシュ値が登録された登録ブロックをブロックチェーンに追加させておく方法が挙げられる。当該方法では、新たなデバイスにそのような個人情報とそれが登録されたときの個人IDとが登録された場合に、新たなデバイスに対して該個人情報と同等の登録情報を用いたユーザ認証を行うことで、新たなデバイスでの当該個人IDを再利用可能としてもよい。
【0283】
例えば、電話番号であればSMS認証、メールアドレスであればそのメールアドレス宛てのメール送信、生体情報であれば現在の利用者の生体情報との比較などにより、新たなデバイスでのユーザ認証が通れば、新たなデバイスでその個人IDを再利用可能としてもよい。
【0284】
実施形態3.
次に、上述した第2の個人情報管理システムの具体的な利活用例をいくつか説明する。本実施形態では、チケットの転売防止に上記のサービス提供システムや個人情報管理システムを利用した例としてチケットサービスシステムについて説明する。
図20は、第3の実施形態のチケットサービスシステムの概略構成図である。
図20に示すチケットサービスシステムは、個人用端末10Aと、サービス提供装置21Aと、入場装置22Aと、ブロックチェーンネットワーク(以下、ブロックチェーンNWという)30Aとを備える。
【0285】
ここで、個人用端末10Aは、上記の利用者側システム10に相当する。なお、本例の利用者側システム10としての個人用端末10Aは、上記の個人用端末61の機能(SNNAPP部611やIMSAPP部612等)をさらに含んでいてもよい。また、サービス提供装置21Aおよび入場装置22Aは、上記の確認機関側システム20に相当する。なお、本例の確認機関側システム20としてのサービス提供装置21Aおよび入場装置22Aは、上記のサービスサーバ64の機能(例えば、SNS側サービス提供部641や対象確認サービス部642)をさらに含んでいてもよい。サービス提供装置21Aは、より具体的には、チケット情報の発行元の機関(チケットの販売会社等)の確認機関側システム20に相当する。入場装置22Aは、チケット情報を基にチケット購入者の該場所(イベント会場等)への入退場をチェックする機関(コンサートの運営会社等)の確認機関側システム20に相当する。入場装置22Aは、例えば、サービス提供装置21Aが発行したチケットが使用される場所に設置される。なお、サービス提供装置21Aと入場装置22Aとが、同じ機関の確認機関側システム20に属していてもかまわない。
【0286】
また、ブロックチェーンNW30Aは、上記のIMSプラットフォーム63の一部や上記の台帳管理システム30に相当する。なお、図示省略しているが、ブロックチェーンNW30Aは、本システムで使用可能なブロックチェーン3を実装する他、上記の管理側システム50の機能(個人IDの割当やペア鍵の生成等)を行う。なお、本例では、ブロックチェーン3においてブロックの作成者を識別する識別子(上記のuPortID等)が個人ID13Dを兼ねている。この場合、管理側システム50の機能を個人用端末10Aが有していてもよい。
【0287】
本例において、個人用端末10Aには、本例における利用者側アプリケーションとして、利用者が本システムを利用してチケット購入サービスを受けるための手続きを行うチケット購入アプリケーションがダウンロードされている。チケット購入アプリケーションは、当該個人用端末10AのCPU上で動作して、本システムにおける利用者側システム10の所定の処理を当該個人用端末10Aに実行させる。なお、本例では、チケット購入アプリケーションのダウンロード時に、個人IDの割当および鍵ペアの生成が行われるものとする。
【0288】
また、サービス提供装置21Aには、本例における第1のサービス提供側アプリケーションとして、チケット情報管理アプリケーションが予め実装されているものとする。ここで、チケット情報管理アプリケーションは、利用者からの購入申請に応じて、ブロックチェーン3内の情報を利用した本人確認を含むチケットの購入資格の審査および入金確認を行いつつ、利用者に販売するための手続きを行うアプリケーションである。当該アプリケーションは、例えば、サービス提供装置21AのCPU上で動作して、本システムにおける確認機関側システム20の所定の処理を当該サービス提供装置21Aに実行させる。
【0289】
また、入場装置22Aには、本例における第2のサービス提供側アプリケーションとして、チケット情報確認アプリケーションが予め実装されているものとする。ここで、チケット情報確認アプリケーションは、利用者からの入退場申請に応じて、ブロックチェーン3内の情報を利用した本人確認を含む入退場資格の審査を行いつつ、利用者の入退場を管理するための手続きを行うアプリケーションである。当該アプリケーションは、例えば、入場装置22AのCPU上で動作して、本システムにおける確認機関側システム20の所定の処理を当該入場装置22Aに実行させる。
【0290】
次に、本例のチケットサービスシステムの動作を説明する。
図21は、本実施形態のチケットサービスシステムの動作の概略を示すフローチャートである。
図21に示すように、本例のチケットサービスシステムでは、まず、利用者が、本システムに対して本人登録を行う(ステップS401A)。
【0291】
ステップS401Aでは、利用者からの指示に応じて、個人用端末10Aが、チケット購入時および会場への少なくとも入場時に行われる本人確認のための生体情報(例えば、顔写真等)を取得するとともに、チケット購入時に必要とされる個人情報(例えば、住所、氏名、クレジットカード番号等)を読み出す。そして、個人用端末10Aは、それらの各々またはそれらの組み合わせである所定の開示単位についてハッシュ値を算出するとともに、当該利用者に割り当てられた個人ID13Dについてハッシュ値を算出する。なお、各ブロック内において個人を特定するための情報として、個人ID_Hash31Dではなく個人ID13Dをそのまま用いることも可能である。その場合には、以降の処理において個人ID_hash31Dを個人IDと読み替えるとともに、個人ID_hash31Dに対する信頼性確認処理を省略すればよい。なお、上記の実施形態においても同様とする。
【0292】
本例では、住所と氏名の組が、サービス提供装置21Aが提供するチケット購入サービスにおいてチケット購入時のユーザ情報として用いられ、クレジットカード番号が、同サービスにおいて決済情報として用いられることを想定している。なお、生体情報は、既に説明したように、チケット購入時および会場への少なくとも入場時に行われる本人確認情報として用いられることを想定している。
【0293】
以下、説明を簡単にするために、住所と氏名の組を個人情報14D(1)と記し、そのハッシュ値を個人情報Hash32D(1)と記す場合がある。また、決済情報としてのクレジットカード番号を個人情報14D(2)と記し、そのハッシュ値を個人情報Hash32D(2)と記す場合がある。また、生体情報を個人情報14D(3)と記し、そのハッシュ値を個人情報Hash32D(3)と記す場合がある。
【0294】
個人用端末10Aは、個人情報14D(1),(2),(3)および個人ID13Dについてそれぞれハッシュ値(個人情報Hash32D(1),(2),(3))を算出すると、それらとそれに付された本人の署名33Dとを登録情報とする登録ブロックの追加要求をブロックチェーンNW30Aに要求して、ブロックチェーン3に登録させる。
【0295】
ブロックチェーン3にブロックが登録されると、個人用端末10Aは、ブロックチェーンNW30Aから、ブロックチェーン3内においてその個人ID13Dに関する情報のブロックを識別するトランザクションID(TxID)を受信する。ステップS401Aでは、当該個人ID13Dにおける始めての登録ブロックであることを示す、TxID=1を受信する。
【0296】
本例のチケットサービスシステムでは、ブロックチェーン3内のブロックの指定を、このTxIDを用いて行う。したがって、個人用端末10Aは、ブロックチェーンNW30Aから得られる自身の個人ID13DにおけるTxIDを登録履歴として保持しておく。個人用端末10Aは、登録履歴として、例えば、登録ブロックのTxIDと、少なくとも最新の確認記録ブロックのTxIDとを保持しておいてもよい。
【0297】
このようにして、生体情報を含む個人情報のハッシュ値が本人の署名33Dとともに個人ID13Dのハッシュ値と対応づけられた登録ブロックがブロックチェーン3に登録されると、本人登録が完了する。
【0298】
本人登録が完了すると、次いで、利用者は、サービス提供装置21Aに対してチケットの購入申請を行う(ステップS402A)。ステップS402Aでは、個人用端末10Aは、例えば、個人ID13Dと購入したいチケットの情報とを含むチケット購入申請を、サービス提供装置21Aに送信する。
【0299】
チケット購入申請を受け付けたサービス提供装置21Aは、それに含まれる個人ID13Dと、さらに申請者から直接開示される個人情報とを基に、利用者のブロックチェーン3内の登録情報を利用して、購入資格を確認する(ステップS403A)。本例の個人情報管理システムレベルでの購入資格としては、チケット購入に必要な個人情報であって本人確認に用いられる生体情報と一緒にそれらのハッシュ値がブロックチェーン3内に登録されている個人情報(上記の個人情報14D(1)(2))が開示されること、としている。ただし、一部の個人情報(本例では、個人情報14D(1))については、ブロックチェーン3内に登録している過去の購入記録の開示で代替可能としている。なお、チケットサービスシステムレベルでの購入資格には、さらに開示された情報により決済が正常に行われることなどが追加される。
【0300】
また、例えば、入場時だけでなく、購入時にも本人確認を行いたい場合には、上記の購入資格に、さらに、申請者に対して開示された個人情報または過去の購入の際に開示した個人情報の所有者としての本人確認がとれること、を追加することも可能である。なお、これらはあくまで一例であり、サービス提供元で自由に定めればよい。
【0301】
本例のサービス提供装置21Aは、本例の購入資格の確認処理として、要求元の利用者(申請者)に対して、過去の購入記録を含めて少なくとも1度の個人情報14D(1)の開示と、購入の度の個人情報14D(2)の開示とを少なくとも要求し、開示された情報の正当性を確認する(ステップS403A)。サービス提供装置21Aは、開示された情報について、ブロックチェーン3内の登録情報(確認記録を含む)との照合を行って、該情報の正当性を確認すればよい。なお、登録情報との照合には、上述したような元データの一致性確認や登録情報自体の信頼性確認も含まれる。
【0302】
なお、サービス提供装置21Aは、購入資格の確認処理において、申請者(より具体的には上記2つの個人情報を開示した開示者)に対して本人確認を行うこともできる。その場合、サービス提供装置21Aは、個人用端末10Aに、申請者の現在の生体情報をさらに開示させ、そのハッシュ値と、登録ブロックに登録されている個人情報Hash32D(3)とを比較して本人確認を行ってもよい。なお、生体情報によっては登録時と現在の情報が完全には一致しない場合があり、ハッシュ値での比較、照合が難しいことも考えられる。そのような場合には、登録された生体情報のハッシュ値である個人情報Hash32D(3)の元データ(登録時の生体情報)を開示させて、申請者の現在の生体情報との照合を行えばよい。なお、上記の本人確認を、個人用端末10A(より具体的には、確認機関側システムの確認部202の一部の機能を含むチケット購入アプリケーション)側で行うことも可能である。
【0303】
サービス提供装置21Aは、このようにして申請者の購入資格が確認されると、申請者にチケットを発行する。サービス提供装置21Aは、購入資格が確認されチケットを発行すると、確認情報34Dとして、チケット発行情報(例えば、チケットが発行されたことや発行されたチケット情報やチケット発行時における購入資格の確認記録を示す情報)を含む確認記録ブロックをブロックチェーン3に登録する(ステップS404A)。確認記録ブロックには、開示された個人ID13Dのハッシュ値(個人ID_Hash31D)が含まれるとともに、該個人ID_Hash31Dと該確認情報34Dとに対してチケット情報の発行元である確認機関の署名35Dが付される。なお、発行されたチケット情報自体はサービス提供装置21A側で保持しておき、確認記録ブロックには、そのチケット情報を識別する識別子(サービスID)を登録してもよい。
【0304】
確認記録ブロックの登録が完了すると、サービス提供装置21Aは、要求元の個人用端末10Aに、発行されたチケット情報として、サービスIDやそれが記録された確認記録ブロックのTxIDを返信する。
【0305】
次に、このようにして発行されたチケットを利用して、利用者が会場へ入場する場面を考える。本例では、利用者は、入場装置22Aに対して入場申請を行えばよい(ステップS405A)。ステップS405Aでは、個人用端末10Aは、例えば、個人ID13Dと、サービス提供装置21Aから受信したチケット情報(サービスIDやそれが記録された確認記録ブロックのTxID等)とを含む入場申請を、入場装置22Aに送信する。
【0306】
入場申請を受け付けた入場装置22Aは、それに含まれる情報を基に、利用者のブロックチェーン3内の登録情報を利用して、入場資格を確認する(ステップS406A)。本例の個人情報管理システムレベルでの入場資格としては、利用者に対してチケット発行情報を含む確認記録ブロックがブロックチェーン3に登録されており、かつ申請者に対して購入時に開示もしくは参照した個人情報の所有者としての本人確認がとれること、としている。なお、これらはあくまで一例であり、サービス提供元で自由に定めればよい。
【0307】
入場装置22Aは、本例の入場資格の確認処理として、開示されたチケット情報からチケット発行情報を含む確認記録ブロックの有無およびその登録情報の正当性を確認するとともに、申請者に対して本人確認を行う。確認記録ブロックの登録情報の正当性は、チケット情報の発行元とされる確認機関の公開鍵を利用して確認すればよい。なお、本人確認の方法は上述した方法と同様でよい。
【0308】
入場装置22Aは、このようにして申請者の入場資格が確認されると、ゲート(不図示)を開けたり、入場許可を示す情報を出力するなどの入場処理を行う。また、入場装置22Aは、入場資格が確認され入場処理を実施すると、確認情報34Dとして、入場処理をした旨を示す入場情報を含む確認記録ブロックをブロックチェーン3に登録してもよい(ステップS407A)。確認記録ブロックには、開示された個人ID13Dのハッシュ値(個人ID_Hash31D)が含まれるとともに、該個人ID_Hash31Dと該確認情報34Dとに対してチケット情報の発行元である確認機関の署名35Dが付される。
【0309】
なお、再入場の際も、入場申請と同様の方法で本人確認の上で入場処理を行ってもよい。なお、途中退場する際に退場記録をブロックチェーン3に登録しておき、さらにその情報との照合処理を行うことも可能である。
【0310】
なお、
図22〜
図25は、上記の本人登録時、購入申請時および入場申請時の処理の流れの一例を示すシーケンス図である。
【0311】
図22は、本人登録時の処理の流れの一例を示すシーケンス図である。なお、本人登録の前に、個人ID13Dの割り当てや、ペア鍵の発行は行われているものとする。
【0312】
図22に示す例では、まず利用者が個人用端末10Aに対して個人情報の登録指示を行う(ステップS501)。個人情報の登録指示を受け付けると、個人用端末10Aは、個人情報14D(1)(2)(3)を取得し、それらについて各々ハッシュ値を算出し、個人情報Hash32D(1)(2)(3)を得る(ステップS502)。
【0313】
次いで、個人用端末10Aは、個人ID13Dと、個人情報Hash32D(1)(2)(3)と、それらに付す本人の署名33Dとを含むブロック追加要求をブロックチェーンNW30Aに送信する(ステップS503)。
【0314】
ブロックチェーンNW30Aでは、ブロック追加要求に含まれる情報を登録情報として含むブロック(登録ブロック)をブロックチェーン3に追加する(ステップS504)。
【0315】
個人用端末10Aは、ブロックチェーンNW30Aからブロック追加応答を受信すると(ステップS505)、追加したブロックのTxID(本例では、TxID=1)を登録履歴に保持するとともに、以降の開示要求に備えて、登録時の個人情報すなわち登録ブロックの登録時の元データである個人情報14D(1)(2)(3)を保存する(ステップS506)。その後、利用者に完了通知を行う(ステップS507)。
【0316】
また、
図23〜
図24は、購入申請時の処理の流れの一例を示すシーケンス図である。なお、
図24は、
図23のつづきである。
図23〜
図24に示す例では、まず利用者が、個人用端末10Aに対して購入申請の指示を行う(ステップS511)。このとき、購入したいチケットの情報が指定されてもよい。
【0317】
購入申請の指示を受け付けると、個人用端末10Aは、サービス提供装置21Aに、個人ID13Dを含む購入申請を送信する(ステップS512)。
【0318】
個人用端末10Aからの購入申請を受けたサービス提供装置21Aは、まず要求元の個人用端末10Aに、個人情報14D(1)を指定した個人情報の開示要求Aを送信する(ステップS513)。
【0319】
個人情報の開示要求Aを受信した個人用端末10Aは、例えば、登録履歴を検索して過去に当該チケットサービスシステム内において個人情報14D(1)の開示や、それを伴う同等の対象確認(本例では購入資格確認)があったか否かを確認してもよい。
【0320】
過去に個人情報14D(1)の開示も同等の対象確認もなければ、個人用端末10Aは、利用者の許可を得て、個人情報14D(1)を開示する。本例では、個人用端末10Aは、個人情報14D(1)と、その正当性を示す情報(個人情報Hash32D(1)と本人の署名33D等)を含む登録ブロックのTxIDとを含む個人情報開示応答Aを、サービス提供装置21Aに送信する(ステップS514)。
【0321】
個人情報開示応答Aを受信したサービス提供装置21Aは、個人情報開示応答Aに含まれるTxIDを基に、個人情報14D(1)の登録ブロックを取得する(ステップS515)。そして、サービス提供装置21Aは、登録ブロックの登録情報の信頼性確認および元データの一致性確認(開示された個人情報14D(1)と登録ブロック内の個人情報Hash32D(1)の元データ間の一致性確認)を行って、開示された個人情報14D(1)の正当性を確認する(ステップS516)。このとき、サービス提供装置21Aは、個人情報14D(1)の開示がされ、かつその正当性が確認されたことを示す購入資格確認Aの記録を、確認記録ブロックにしてブロックチェーン3に登録してもよい。その結果として、該確認記録ブロックのTxID(本例では、TxID=2)を受信する(ステップS517、ステップS518)。
【0322】
一方、個人用端末10Aは、過去に個人情報14D(1)の開示や同等の対象確認(本例では購入資格確認)があった場合、個人情報14D(1)に代えて、そのときの確認記録ブロックのTxID(例えば、上記のTxID=2や後述するTxID=4等)を含む個人情報開示応答Aを、サービス提供装置21Aに送信する(ステップS519)。
【0323】
個人情報開示応答Aを受信したサービス提供装置21Aは、個人情報開示応答Aに含まれるTxIDを基に、個人情報14D(1)についての正当性確認結果や同等のサービス受給資格(チケット購入資格)を示す確認記録ブロックを取得する(ステップS520)。そして、サービス提供装置21Aは、確認記録ブロックの登録情報の信頼性確認を行って、その登録情報が示す確認結果を検証(援用判定)する(ステップS521)。
【0324】
本例では、自身の機関が登録した確認記録ブロックであれば、その登録情報の信頼性確認(作成者証明および非改ざん証明)がされれば、個人情報14D(1)の開示は省略可能とする。ステップS521の確認についても、サービス提供装置21Aは、指定された確認記録ブロックの確認結果により個人情報14D(1)の正当性が確認されたことを示す購入資格確認Aの記録を、確認記録ブロックにしてブロックチェーン3に登録してもよい。その結果として、該確認記録ブロックのTxIDを受信する(ステップS522、ステップS523)。
【0325】
個人情報14D(1)の開示および/または正当性確認が完了すると、サービス提供装置21Aは、要求元の個人用端末10Aに、決済情報としての個人情報14D(2)を指定した個人情報の開示要求Bを送信する(ステップS524)。なお、本例では、決済情報としての個人情報14D(2)は確認記録での開示は認められない。
【0326】
個人情報の開示要求Bを受信した個人用端末10Aは、利用者の許可を得て、個人情報14D(2)を開示する。本例でも、個人用端末10Aは、個人情報14D(2)と、その正当性を示す情報(個人情報Hash32D(2)と本人の署名33D等)を含む登録ブロックのTxIDとを含む個人情報開示応答Bを、サービス提供装置21Aに送信する(ステップS525)。
【0327】
個人情報開示応答Aを受信したサービス提供装置21Aは、個人情報14D(1)を受信した場合と同様の正当性確認の行い、その記録をブロックチェーン3に追加する(ステップS526〜ステップS529)。
【0328】
サービス提供装置21Aは、このようにして個人情報14D(1)の正当性が少なくとも確認され、かつ正当な個人情報14D(2)が取得されたことを受けて、購入資格の確認を完了する。そして、サービス提供装置21Aは、指定されたチケットをその利用者に発行する(ステップS530)。このとき、サービス提供装置21Aは、チケットが発行されたことを示すチケット発行情報を含む確認記録ブロックをブロックチェーン3に登録する(ステップS531)。その結果として、該確認記録ブロックのTxID(例えば、TxID=3)を受信する(ステップS532)。
【0329】
チケット発行情報には、当該サービス提供装置21Aにおいて今回のチケットの発行にかかる情報(発行先の利用者の情報や入場時等に必要なブロックのTxID(発行記録TxIDや発行処理において登録したブロックや参照したブロックのTxID)や個人情報等)と対応づけられたサービスIDが含まれているものとする。また、サービス提供装置21Aは、そのようなサービスIDと対応づけて、今回のチケットの発行にかかる情報を保持する(ステップS533)。
【0330】
以上の処理を終えると、サービス提供装置21Aは、購入申請に対して購入許可を、今回のチケットの発行にかかる情報を識別するためのサービスIDや、今回のチケットの発行記録が登録されたTxID(図中の発行記録TxID)とともに、要求元の個人用端末10Aに返信する(ステップS534)。
【0331】
購入許可を受信した個人用端末10Aは、購入許可とともに受信したサービスIDや発行記録TxIDを、発券チケット情報として保存する(ステップS535)。その後、利用者に完了通知を行う(ステップS536)。
【0332】
また、
図25は、入場申請時の処理の流れの一例を示すシーケンス図である。
図25に示す例では、まず利用者が、個人用端末10Aに対して入場申請の指示を行う(ステップS541)。このとき、入場申請を行う発券チケット情報としてのサービスIDが指定されてもよい。
【0333】
入場申請の指示を受け付けると、個人用端末10Aは、入場装置22Aに、個人ID13DとサービスIDとを含む入場申請を送信する(ステップS542)。これは、実際に会場に設置された入場装置22Aが備えるリーダー装置へのタッチによる情報通信により行われてもよい。
【0334】
個人用端末10Aからの購入申請を受けた入場装置22Aは、サービス提供装置21Aに個人ID13DとサービスIDとを含むサービスID妥当性確認を送信する(ステップS543)。なお、サービスID妥当性確認にはさらに開催されているイベントや会場に関する情報が含まれていてもよい。
【0335】
入場装置22AからのサービスID妥当性確認を受けたサービス提供装置21Aは、そのサービスIDの妥当性を確認する(ステップS544)。サービス提供装置21Aは、受信したサービスIDに対して、その入場装置22Aが設置されたイベントに対するチケットの発行にかかる情報が登録されているかを確認すればよい。
【0336】
そして、サービス提供装置21Aは、自身が保持している該サービスIDに対応づけられている発行記録TxIDを基に、発行記録を登録した確認記録ブロックを取得し、その登録情報の信頼性を確認した上で、発行記録の正当性を確認する(ステップS545〜ステップS546)。サービス提供装置21Aは、確認記録ブロック内の発行記録の正当性まで確認されると、サービスID妥当性結果(OK)を入場装置22Aに返信する(ステップS547)。サービス提供装置21Aは、発行記録の正当性を確認できなければ、サービスID妥当性結果(NG)を入場装置22Aに返信する。
【0337】
サービスID妥当性結果を受信した入場装置22Aは、サービスID妥当性結果がNGであれば、個人用端末10Aに入場不可を返信する(ステップS548)。このとき、入場装置22Aは、サービスIDが不正である旨を併せて送信してもよい。入場不可を受信した個人用端末10Aは利用者に不可通知をして処理を終了する(ステップS549)。
【0338】
一方、入場装置22Aは、サービスID妥当性結果がOKであれば、生体認証要求Dを個人用端末10Aに送信する(ステップS550)。なお、以下に示す例は、個人用端末10A側でブロックチェーン3内の生体認証を利用して本人確認を行う例であるが、同様の処理を入場装置22A等で行ってもよい。
【0339】
生体認証要求Dを受信した個人用端末10Aは、自身が保持している登録履歴を検索して本人登録の際に登録した登録ブロックのTxIDを取得し(ステップS551)、その登録情報(特に、生体情報のハッシュ値である個人情報Hash32D(3))を取得する。
【0340】
そして、個人用端末10Aは、取得した登録情報の信頼性確認(ステップS552)、および自身で保持している登録時の個人情報と登録情報の元データとの一致性確認により(ステップS553)、自身が保持している個人情報14D(3)がブロックチェーン3に登録した時の生体情報であることを確認する。なお、この確認は、ブロックチェーンNW30Aに、登録ブロックのTxIDを参照TxIDとして指定し、確認対象とする登録した時の生体情報から算出したハッシュ値を比較元として指定した登録情報参照要求を送信することで行うことも可能である。
【0341】
このようにして自身が保持している個人情報14D(3)の正当性(本人登録認証)が確認されると、個人用端末10Aは、さらに現在(入場申請時)の利用者の生体情報を取得し、両者の同一性を確認する(ステップS554)。なお、個人用端末10Aは、両者をハッシュ値の形式で照合してもよい。そして、個人用端末10Aは、ステップS554の結果を生体認証結果として入場装置22Aに返信する(ステップS555)。
【0342】
生体認証結果を受信した入場装置22Aは、生体認証結果NGであれば、個人用端末10Aに入場不可を返信する(ステップS556)。このとき、入場装置22Aは、生体認証エラーである旨を併せて送信してもよい。入場不可を受信した個人用端末10Aは利用者に不可通知をして処理を終了する(ステップS557)。
【0343】
一方、入場装置22Aは、生体認証結果OKであれば、今回の認証記録を確認記録ブロックにしてブロックチェーン3に追加した後(ステップS558、ステップS559)、個人用端末10Aに入場許可を返信する(ステップS560)。入場許可を受信した個人用端末10Aは利用者に許可通知をして処理を終了する(ステップS561)。
【0344】
以上のように、本実施形態によれば、漏れなく、確実かつ素早く、本人確認を含むチケットサービスを実現できる。また、本人確認のために人員の現場におかなくてもよいため、コスト削減にもつながる。
【0345】
なお、本実施形態では、チケットの販売から入場判定までの一連のチケットサービスに、1つの個人IDに対応づけられたブロックチェーン3内の情報を利用して本人確認を含む対象確認を行う個人情報管理システムを適用した例を示したが、SNSプラットフォームを利用してサービスを提供したい場合は、サービス提供時に第1の実施形態のサービス提供システムにおいて説明したようなIDの受け渡し方法を利用することにより、SNSとIMSとの間でIDを連携させることができる。
【0346】
図26は、本実施形態のチケットサービスシステムの他の構成例を示すブロック図である。
図26に示すチケットサービスシステムは、個人用端末10Bと、サービス提供装置21Bと、入場装置22Bと、ブロックチェーンNW30Bとを備える。
【0347】
個人用端末10Bは、SNSアプリケーション部711Bと、IMSアプリケーション部712Bとを含む。
【0348】
サービス提供装置21Bは、SNS側サービス提供部721Bと、第1の対象確認サービス部722Bとを含む。
【0349】
入場装置22Bは、第2の対象確認サービス部731Bと、判定部732Bとを含む。
【0350】
SNSアプリケーション部711Bは、第1の実施形態のSNSAPP部611が行う処理、および第3の実施形態の個人用端末10Aで行っていたサービス提供にかかる処理(確認部202が行う処理に相当する対象確認および記録登録にかかる処理以外の処理)を行う。SNSアプリケーション部711Bは、具体的には、個人用端末10Bのユーザであって本システムの利用者が所定のSNSを利用するための各種処理およびインタフェースを提供する。
【0351】
IMSアプリケーション部712Bは、第1の実施形態のIMSAPP部612が行う相当する処理、および第3の実施形態の個人用端末10Aで行っていた対象確認および記録登録にかかる処理を行う。IMSアプリケーション部712Bは、具体的には、個人用端末10Bのユーザであって本システムの利用者が所定のIMSを利用するための各種処理およびインタフェースを提供する。
【0352】
SNS側サービス提供部721Bは、第3の実施形態のサービス提供装置21Aで行っていたサービス提供にかかる処理のうち、対象確認以外の処理を行う。なお、本例のSNS側サービス提供部721Bは、SNS上でチケットサービスを提供する。SNS側サービス提供部721Bは、具体的には、SNSのプラットフォームを利用したSNSアプリケーション部711Bとの情報のやりとりにより、利用者に、サービスを提供する。
【0353】
第1の対象確認サービス部722Bは、第3の実施形態のサービス提供装置21Aで行っていたサービス提供にかかる処理のうち、対象確認にかかる処理を行う。第1の対象確認サービス部722Bは、具体的には、IMSのプラットフォームを利用したIMSアプリケーション部712Bとの情報のやりとりにより、利用者の対象確認を行う。
【0354】
第2の対象確認サービス部731Bは、第3の実施形態の入場装置22Aで行っていたサービス提供にかかる処理のうち、対象確認にかかる処理を行う。第2の対象確認サービス部731Bは、具体的には、IMSのプラットフォームを利用したIMSアプリケーション部712Bとの情報のやりとりにより、利用者の対象確認を行う。
【0355】
判定部732Bは、第3の実施形態の入場装置22Aで行っていたサービス提供にかかる処理のうち、対象確認以外の処理を行う。判定部732Bは、例えば、第2の対象確認サービス部731Bによる対象確認の結果に基づいて、利用者の入場の可否を判定する。
【0356】
このような構成において、IMSアプリケーション部712Bは、少なくとも第1の対象確認サービス部722Bに、所定の方法で、SNSのプラットフォームより提供される機能を少なくとも利用して取得した、SNS側サービス提供部721BがSNSのプラットフォーム上で利用者を特定可能な情報であるSNS_IDを、利用者の対象確認の結果を特定可能な情報とともに送信してもよい。
【0357】
また、第1の対象確認サービス部722Bは、IMSアプリケーション部712Bから受信したSNS_IDBと、該SNS_IDにより特定された利用者の対象確認の結果とを対応づけてSNS側サービス提供部721Bに通知してもよい。
【0358】
また、SNS側サービス提供部721Bは、第1の対象確認サービス部722Bから通知された利用者の対象確認の結果を基に利用者にチケット購入サービスを提供してもよい。
【0359】
なお、本例においてIMSは、2以上のノード301Bと、登録部102Bと、開示部103Bと、対象確認部2021Bと、記録登録部2022Bとを備えている。
【0360】
ノード301Bは、台帳管理ノード301に相当し、2以上のノードが参加する所定のコンセンサスアルゴリズムに従った処理を経て新たなブロックが追加されるブロックチェーン(より具体的には、ブロックチェーンNW30B)を構成する。
【0361】
登録部102Bは、ブロックチェーンに、利用者から開示された個人情報であって、本人確認、ユーザ認証または適格性確認のいずれかである所定の対象確認に必要な個人情報である対象確認情報のハッシュ値を含む第1ブロックを登録する。
【0362】
開示部103Bは、個人情報の開示要求を受信すると、要求された種別の個人情報を所定の記憶部(図示省略)から読み出し、要求元に送信する。または、要求された種別の個人情報に代えて、該個人情報を用いて行われた過去の対象確認の記録を含む第2ブロックを特定可能な情報を送信してもよい。
【0363】
対象確認部2021Bは、利用者から開示された対象確認情報の正当性をブロックチェーン内のブロックを用いて検証した上で、開示された対象確認情報に基づいて対象確認を行う。
【0364】
記録登録部2022Bは、ブロックチェーンに、対象確認もしくはサービスの提供の記録を含む第2ブロックを登録する。
【0365】
なお、本例では、IMSアプリケーション部712Bが、IMSの一部として登録部102Bを有し、第1の対象確認サービス部722Bおよび第2の対象確認サービス部731Bがそれぞれ、IMSの一部として対象確認部2021Bおよび記録登録部2022Bを有しているものとする。
【0366】
そのような構成において、IMSアプリケーション部712Bは、登録部102Bを介して、ブロックチェーンに、利用者の識別子と、利用者から開示された生体情報である第1の対象確認情報のハッシュ値と、利用者から開示された所定の個人情報である第2の対象確認情報のハッシュ値とを含む第1ブロックを登録してもよい。
【0367】
また、第1の対象確認サービス部722Bは、対象確認部2021Bを介して、利用者に第2の対象確認情報の開示を要求して、得られた情報を基に対象確認を行ってもよい。
【0368】
また、第2の対象確認サービス部731Bは、利用者から入場申請を受け付けると、対象確認部2021Bを介して、利用者に、第2ブロックを特定可能な情報と、第1ブロック登録時の第1の対象確認情報と、現在の第1の対象確認情報の開示を要求し、開示された情報に基づいて、本人確認を含む所定の適格性確認を行ってもよい。
【0369】
また、第1の対象確認サービス部722Bおよび第2の対象確認サービス部731Bは、対象確認や何らかのサービスを提供した場合、記録登録部2022Bを介して、ブロックチェーンに、対象確認もしくはサービスの提供の記録を含む第2ブロックを登録してもよい。
【0370】
このような構成によれば、必要最小限の個人情報の開示だけで、SNS上で、対象確認を伴うチケットサービスの提供を行うことができる。なお、他の点に関しては、第1の実施形態のサービス提供システムおよび第3の実施形態のチケットサービスシステムと同様である。
【0371】
また、適用先のサービスはチケットサービスに限定されない。
【0372】
例えば、スマートキーを利用して施錠/開錠を行う施設や部屋の予約、スマートキーの発行および入出場管理を行う施設管理サービスや、生体情報が登録されたウェアラブルデバイスや携帯端末などを用いた投票サービスや、生体情報が登録されたウェアラブルデバイスや携帯端末などを用いた改札での定期券運賃管理サービスなども考えられる。
【0373】
上記の施設管理サービスへの個人情報管理システムの適用方法としては、例えば次のようなものが挙げられる。
・利用開始時、本サービスにおいて必要とされる個人情報と併せて本人確認用の生体情報のハッシュ値を、個人IDとともにブロックチェーンに登録(本人登録)する。
・予約時、本人確認の上で電子鍵を発行して、その記録をブロックチェーンに登録する。
・チェックイン時、本人確認の上で発行した電子鍵を有効にし、その記録をブロックチェーンに登録する。
・電子による開錠/施錠時、施錠装置等を介してその記録をブロックチェーンに登録する。
・チェックアウト時、発行した電子鍵を無効にし、ブロックチェーン上の記録を基に清算を行う。
【0374】
上記の投票サービスへの個人情報管理システムの適用方法としては、例えば次のようなものが挙げられる。
・利用開始時、本サービスにおいて必要とされる個人情報と併せて本人確認用の生体情報のハッシュ値を、個人IDとともにブロックチェーンに登録(本人登録)する。
・電子投票権申請時、本人確認と電子投票権発行に必要な情報の確認の上、電子投票権を発行して、発行記録をブロックチェーンに登録する。
・投票時、投票を受け付けた投票装置が、本人確認と発行記録を確認した上で、投票を受け付ける。また、投票内容(暗号化)を含む投票記録をブロックチェーンに登録する。
・開票時、開票装置が、ブロックチェーン上の投票記録を基に開票を行う。
【0375】
上記の定期券運賃管理サービスへの個人情報管理システムの適用方法としては、例えば次のようなものが挙げられる。
・利用開始時、利用者が所持しているウェアラブルデバイスや携帯端末に、生体情報を登録する。
・定期券申請時、生体情報を登録したデバイスIDと定期券発行情報とを含む発行記録をブロックチェーンに登録する。このとき、デバイスIDを個人IDとみなしてもよいし、別に割り当ててもよい。
・改札通過(乗車)時、生体認証済みのウェアラブルデバイスや携帯端末から取得されるデバイスIDや定期券発行時に通知した個人IDを基に、ブロックチェーン上の発行記録や直前の記録を確認して、入場可否を判定する。また、入場記録をブロックチェーンに登録する。
・改札通過(下車)時、生体認証済みのウェアラブルデバイスや携帯端末から取得されるデバイスIDや定期券発行時に通知した個人IDを基に、ブロックチェーン上の発行記録や直前の記録を確認して、出場可否を判定する。また、出場記録をブロックチェーンに登録する。
【0376】
なお、上記に示す例では、入場装置が、利用者から入場の申請を受け付けて、対象確認の結果に基づいて、利用者の申請の可否を判定する例を示したが、該入場装置を、サービス提供装置で発行された当該サービスの受給資格を示す許可証が使用される場所に設置される許可証判定装置に置き換えることも可能である。そのような場合、
図26に示すように、許可証判定装置において、第2の対象確認サービス部が、利用者から入場の申請または許可証により得られる利益の受領の申請を受け付け、判定部が、第2の対象確認部による対象確認の結果に基づいて、利用者の申請の可否を判定してもよい。ここで、許可証は、電子チケット、電子キー、電子投票券、定期券であってもよい。
【0377】
また、
図27は、本発明の各実施形態にかかるコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
【0378】
上述の各実施形態のシステムが備えるサーバその他の装置等は、コンピュータ1000に実装されてもよい。その場合、各装置の動作は、プログラムの形式で補助記憶装置1003に記憶されていてもよい。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って各実施形態における所定の処理を実施する。なお、CPU1001は、プログラムに従って動作する情報処理装置の一例であり、CPU(Central Processing Unit)以外にも、例えば、MPU(Micro Processing Unit)やMCU(Memory Control Unit)やGPU(Graphics Processing Unit)などを備えていてもよい。
【0379】
補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータは1000がそのプログラムを主記憶装置1002に展開し、各実施形態における所定の処理を実行してもよい。
【0380】
また、プログラムは、各実施形態における所定の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで各実施形態における所定の処理を実現する差分プログラムであってもよい。
【0381】
インタフェース1004は、他の装置との間で情報の送受信を行う。また、ディスプレイ装置1005は、ユーザに情報を提示する。また、入力デバイス1006は、ユーザからの情報の入力を受け付ける。
【0382】
また、実施形態における処理内容によっては、コンピュータ1000の一部の要素は省略可能である。例えば、コンピュータ1000がユーザに情報を提示しないのであれば、ディスプレイ装置1005は省略可能である。例えば、コンピュータ1000がユーザから情報入力を受け付けないのであれば、入力デバイス1006は省略可能である。
【0383】
また、上記の各実施形態の各構成要素の一部または全部は、汎用または専用の回路(Circuitry)、プロセッサ等やこれらの組み合わせによって実施される。これらは単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、上記の各実施形態各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【0384】
上記の各実施形態の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【0385】
次に、本発明の概要を説明する。
図28は、本発明のサービス提供システムの概要を示すブロック図である。
図28に示すように、本発明のサービス提供システムは、個人用端末71と、サービスサーバ72とを備える。
【0386】
個人用端末71は、SNSアプリケーション部711と、IMSアプリケーション部712とを含む。また、サービスサーバ72は、SNS側サービス提供部721と、対象確認サービス部722とを含む。
【0387】
SNSアプリケーション部711(例えば、SNSAPP部611)は、利用者が所定のSNSを利用するための各種処理およびインタフェースを提供する。
【0388】
IMSアプリケーション部712(例えば、IMSAPP部612)は、利用者が所定のIMSを利用するための各種処理およびインタフェースを提供する。
【0389】
SNS側サービス提供部721(例えば、SNS側サービス提供部641)は、SNSのプラットフォームを利用したSNSアプリケーション部711との情報のやりとりにより、利用者に、サービスを提供する。
【0390】
対象確認サービス部722(例えば、対象確認サービス部642)は、IMSのプラットフォームを利用したIMSアプリケーション部712との情報のやりとりにより、利用者の対象確認を行う。
【0391】
このような構成において、IMSアプリケーション部712は、対象確認サービス部722に、所定の方法で、SNSのプラットフォームより提供される機能を少なくとも利用して取得した、SNS側サービス提供部721がSNSのプラットフォーム上で利用者を特定可能な情報であるSNS_IDを、利用者の対象確認の結果を特定可能な情報とともに送信する。そして、対象確認サービス部722は、IMSアプリケーション部712から受信したSNS_IDと、該SNS_IDにより特定された利用者の対象確認の結果とを対応づけてSNS側サービス提供部721に通知する。
【0392】
これにより、必要最小限の個人情報の開示だけで、SNS上で、対象確認を伴うサービスの提供を行うことができる。
【0393】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【解決手段】 サービス提供システムは、SNSアプリケーション部711とIMSアプリケーション部712とを含む個人用端末71と、SNSのプラットフォームを利用して利用者にサービスを提供するSNS側サービス提供部721と、IMSのプラットフォームを利用して利用者の対象確認を行う対象確認サービス部722とを含むサービスサーバ72とを備え、IMSアプリケーション部712は、対象確認サービス部722にSNSのプラットフォームより提供される機能を利用して取得したSNS_IDとその利用者の対象確認の結果を特定可能な情報とを送信し、対象確認サービス部722は、受信したSNS_IDとSNS_IDにより特定された利用者の対象確認の結果とを対応づけてSNS側サービス提供部721に通知する。