以下、添付図面を参照しながら各実施例について詳細に説明する。以下では、第1ユーザとは、自身の情報記憶媒体を読取端末21に読み取らせる側のユーザを指し、第2ユーザとは、読取端末21を用いて情報記憶媒体から情報を読み取る側のユーザを指す。
情報記憶媒体は、読取端末21による読み取り対象の情報を有する限り任意であり、例えばカードの形態であってもよいし、ユーザ端末(例えばスマートフォン)の形態であってもよい。
図1は、本実施例による読取端末21(情報処理端末の一例)の一例を示す概略図である。読取端末21は、可搬性があり、第2ユーザが手に持って容易に運ぶことができる形態である。例えば、第2ユーザは、クライアントである第1ユーザの近くまで、手に持って読取端末21を運ぶことができる。また、読取端末21は、好ましくは、内部バッテリを備え、コンセントからの配線接続を必要とすることなく、動作可能である。
読取端末21は、正面に、ディスプレイ215やセキュアキーボード217等を有してよい。
図2は、読取端末21の内部構成の一例を示すブロック図である。
読取端末21は、非接触型リーダ211と、接触型リーダ212と、情報処理部213とを含む。
非接触型リーダ211は、非接触型の読み取り部を形成する。読取端末21における非接触型リーダ211の位置は任意である。非接触型リーダ211は、例えばカード式の情報記憶媒体が差し込み可能な差し込み空間に設けられてもよい。非接触型リーダ211は、情報処理部213に接続される。
非接触型リーダ211は、例えばNFC(Near Field Communication)の規格に準拠した無線通信により、非接触型リーダ211に対して所定距離内に位置する情報記憶媒体と通信が可能である。例えば、情報記憶媒体が非接触型リーダ211に対して所定距離内に位置する場合、非接触型リーダ211は、当該情報記憶媒体と通信を行うことで、当該情報記憶媒体から各種情報の取り出しや当該情報記憶媒体との間での各種情報のやり取りを実現できる。この場合、非接触型リーダ211は、Type A/B仕様であってよく、決済については、いわゆるEMV(Euro pay、MasterCard、VISA protcol)コンタクトレスのような各種非接触決済を実現してよい。
非接触型リーダ211は、待ち受け状態と、非待ち受け状態との間で遷移可能である。待ち受け状態とは、当該状態において、情報記憶媒体が非接触型リーダ211に対して所定距離内に位置すると、当該情報記憶媒体と直ちに通信を開始できる状態に対応する。
本実施例では、非接触型リーダ211は、待ち受け状態において、情報記憶媒体が非接触型リーダ211に対して所定距離内に位置すると、当該情報記憶媒体と直ちに通信を開始し、情報記憶媒体からアプリケーションID(識別子)(以下、「AID」)を取得する。
接触型リーダ212は、接触型の読み取り部を形成する。読取端末21における接触型リーダ212の位置は任意である。接触型リーダ212は、挿入される情報記憶媒体のIC(Integrated Circuit)と接触可能なピンパッドの形態であってよい。接触型リーダ212は、例えば、読取端末21における側部に設けられてもよい。この場合、第1ユーザは、自身のカード式の情報記憶媒体を、接触型リーダ212に対してセットすることが容易となる。接触型リーダ212は、情報処理部213に接続される。
接触型リーダ212は、例えばEMVの規格に準拠した接触型のリーダであり、情報記憶媒体のICと通信が可能である。例えば、情報記憶媒体が接触する場合、接触型リーダ212は、当該情報記憶媒体と通信を行うことで、当該情報記憶媒体から各種情報の取り出しや当該情報記憶媒体との間での各種情報のやり取りを実現できる。
接触型リーダ212は、待ち受け状態と、非待ち受け状態との間で遷移可能である。待ち受け状態とは、当該状態において、情報記憶媒体が接触すると、当該情報記憶媒体と直ちに通信を開始できる状態に対応する。
本実施例では、接触型リーダ212は、待ち受け状態において、情報記憶媒体のICを検出すると、当該情報記憶媒体と直ちに通信を開始し、情報記憶媒体からAIDを取得する。
情報処理部213は、例えば耐タンパ性を備えるマイクロコントローラであり、メインプロセッサとして読取端末21のすべての機能を制御し、実行する。
読取端末21は、その他の構成として、イメージスキャンエンジンバーコード214、ディスプレイ215、セキュア磁気ヘッド216、セキュアキーボード217、ブザー218、USB(Universal Serial Bus)に基づく通信部219A、UART(Universal Asynchronous Receiver/Transmitter)のような通信部219B、Bluetooth Low Energy(登録商標)に基づく通信部219Cを有する。これらの各部は、情報処理部213に接続される。
イメージスキャンエンジンバーコード214は、製品のバーコードや各種の二次元コードを読み取る機能を実行する。イメージスキャンエンジンバーコード214は、第1ユーザのユーザ端末に表示される画像(例えばバーコード)を読み取る機能を有してもよい。
ディスプレイ215は、読取端末21の正面部に配置され(図1参照)、各種情報(メッセージを含む)を表示する。
セキュア磁気ヘッド216は、クレジットカードやJIS2規格のカードの磁気部分を読み取る機能を実行する。
セキュアキーボード217は、読取端末21の正面部に配置され(図1参照)、第1ユーザ用のユーザインターフェイスである。セキュアキーボード217は、ボタンを押して暗号化キーを入力するためのユーザインターフェイスを構成する。
ブザー218は、決済や各種情報取得の成功/失敗などをビープ音で出力する。
通信部219Aは、外部端末(例えばパーソナルコンピュータ)をUSBポートに接続した状態で、外部端末とデータ通信する機能を実行する。
通信部219Bは、外部端末をシリアルポートに接続した状態で、外部端末とデータ通信する機能を実行する。
通信部219Cは、外部端末と無線でデータ通信する機能を実行する。
また、読取端末21は、電源系の構成として、電源部210Aと、メインバッテリ210Bと、バッテリゲージ210Cと、コインバッテリ210Dと、充電回路210Eとを含む。
電源部210Aは、メインバッテリ210Bからの電力に基づいて、情報処理部213等が動作可能な電源電圧を生成する。
メインバッテリ210Bは、外部充電可能なバッテリであり、例えばリチウムイオンバッテリであってよい。例えば、メインバッテリ210Bは、充電回路210Eに接続される。充電回路210Eは、外部の充電器から供給可能な電力に基づいてメインバッテリ210Bを充電する。
バッテリゲージ210Cは、メインバッテリ210Bの充電状態等を検出し、検出結果を情報処理部213に与える。
コインバッテリ210Dは、メインバッテリ210Bとは異なり、外部充電が可能ではない。コインバッテリ210Dは、RTC(Real-Time Clock:現在時刻)用の電力や、暗号化キーを保存したりするための電力を供給する。
次に、図3を参照して、本実施例の読取端末21により実行される処理について説明する。
図3は、本実施例の読取端末21により実行される処理の一例を示す概略的なフローチャートである。なお、図3に示す処理の一部は、後述する情報処理装置22(図4参照)と連携して実現されてもよい。
図3に示す処理は、常時(例えば読取端末21のメインバッテリ210Bが正常である間)、所定周期ごとに実行されてよい。なお、変形例では、省電モードを有し、省電モードでは、所定周期が長く設定されてもよい。
ステップS300では、読取端末21は、非接触型リーダ211及び接触型リーダ212のそれぞれを同時に待ち受け状態とする。
ステップS302では、読取端末21は、非接触型リーダ211及び接触型リーダ212のいずれかから、処理対象の情報(例えばAID)が入力されたか否かを判定する。判定結果が“YES”の場合、ステップS304に進み、それ以外の場合は、情報記憶媒体の検出を待機する待ち受け状態を維持する。なお、図3では、処理対象の情報は、AIDであるが、他の情報を含んでもよい。
ステップS304では、読取端末21は、情報記憶媒体が非接触型リーダ211により検出されたか、あるいは、情報記憶媒体が接触型リーダ212により検出されたかを判定する。例えば、読取端末21は、非接触型リーダ211及び接触型リーダ212のいずれかからAIDが入力されたか否かに基づいて、情報記憶媒体が非接触型リーダ211により検出されたか、あるいは、情報記憶媒体が接触型リーダ212により検出されたかを判定してもよい。すなわち、読取端末21は、非接触型リーダ211及び接触型リーダ212のいずれかが機能したか否かの判定(図3では、“IC/NFC判定”と表記)を行う。情報記憶媒体が非接触型リーダ211により検出された場合は(図3では、“NFC”と表記)、第2後続処理を実行するために、ステップS314に進み、情報記憶媒体が接触型リーダ212により検出された場合は(図3では、“IC”と表記)、第1後続処理を実行するために、ステップS306に進む。
ステップS306では、読取端末21は、接触型リーダ212により読み取られたAIDに基づいて、情報記憶媒体の種別として、情報記憶媒体がクレジットカードであるか、あるいは、マイナンバーカード(第1種別の一例)であるかを判定する。なお、現在、マイナンバーカードにはICチップ及びNFC(Near field communication)が搭載され、署名用電子証明書と、利用者証明用電子証明書の2種類の電子証明書を格納している。
なお、本明細書において、情報記憶媒体の種別とは、機能に関連した種別である。従って、各種クレジットカード(カードブランド等の違い)については、機能が同じであるので、同一の種別とする。情報記憶媒体がクレジットカードである場合、ステップS308に進み、情報記憶媒体がマイナンバーカードである場合、ステップS330に進む。
ステップS308では、読取端末21は、接触型リーダ212により読み取られたAIDに基づいて、カードブランドを判定する。
ステップS310では、読取端末21は、図3に示す処理ルーチンから抜け出して、ステップS308で判定したカードブランドに基づいて、カードブランドに応じた決済処理を実行する。なお、この種の決済処理は任意であり、ここでは詳説しない。
ステップS314では、読取端末21は、非接触型リーダ211により読み取られたAIDに基づいて、情報記憶媒体の種別として、情報記憶媒体がクレジットカードであるか、マイナンバーカード(第1種別の一例)であるか、外国人在留者カードであるか、あるいは、運転免許証であるか、を判定する。なお、他の実施例では、外国人在留者カードであるか、あるいは、運転免許証であるかの判定のいずれか一方又は双方に代えて又は加えて、情報記憶媒体が健康保険証であるかを判定してもよい。情報記憶媒体がクレジットカードである場合、ステップS318に進み、情報記憶媒体がマイナンバーカードである場合、ステップS330に進む。また、情報記憶媒体が外国人在留者カードである場合、ステップS322に進み、情報記憶媒体が運転免許証である場合、ステップS324に進む。
ステップS316では、読取端末21は、非接触型リーダ211により読み取られたAIDに基づいて、カードブランドを判定する。
ステップS318では、読取端末21は、図3に示す処理ルーチンから抜け出して、ステップS316で判定したカードブランドに基づいて、カードブランドに応じた決済処理を実行する。なお、この種の決済処理は任意であり、ここでは詳説しない。
ステップS322では、読取端末21は、図3に示す処理ルーチンから抜け出して、外国人在留者カードに応じた処理を実行する。なお、外国人在留者カードに応じた処理は任意であり、ここでは詳説しない。
ステップS324では、読取端末21は、図3に示す処理ルーチンから抜け出して、運転免許証に応じた処理を実行する。なお、運転免許証に応じた処理は任意であり、ここでは詳説しない。
ステップS330では、読取端末21は、ディスプレイ215(図1参照)に、第1ユーザがPIN(Personal Identification Number)を入力するためのピン入力画面を出力し、第1ユーザからのピン入力の待機状態となる。第1ユーザによりセキュアキーボード217(図1参照)を介してピン入力が行われると、ステップS332に進む。
ステップS332では、読取端末21は、マイナンバーカードから取得する照合結果に基づいて、第1ユーザから入力されたピン(コード入力の一例)が正当であるか否かの判定(図3では、“PIN判定”と表記)を行う。例えば、読取端末21は、第1ユーザから入力されたピンを、マイナンバーカードに送ることで、マイナンバーカードにおいて実行される照合結果を取得する。マイナンバーカードは、自身に格納されている正規のピン(暗証番号)と、読取端末21から送られてくるピンとを照合することで、照合結果を生成する。判定結果が“YES”の場合、ステップS334に進み、それ以外の場合は、それ以外の場合、ステップS342に進む。
ステップS334では、読取端末21は、非接触型リーダ211又は接触型リーダ212によるマイナンバーカードの読み取り処理を開始する。
ステップS336では、読取端末21は、読み取り処理が成功したか否かを判定する。判定結果が“YES”の場合、ステップS338に進み、それ以外の場合(例えばリードエラーが発生した場合)、ステップS340に進む。
ステップS338では、読取端末21は、読み取り処理を完了させ、読み取り処理が完了すると、図3の処理を終了する。
ステップS340では、読取端末21は、別の読み取り方式への誘導処理を行う。例えば、今回のマイナンバーカードの読み取りが非接触型リーダ211により行われた場合、接触型リーダ212によりマイナンバーカードを読み取らせるように、第1ユーザ(又は第2ユーザ)を誘導する。また、今回のマイナンバーカードの読み取りが接触型リーダ212により行われた場合、非接触型リーダ211によりマイナンバーカードを読み取らせるように、第1ユーザ(又は第2ユーザ)を誘導する。このような誘導処理は、例えばディスプレイ215上にメッセージ及び/又は案内図等を出力することで実現されてもよい。また、誘導処理は、音声等により実行されてもよい。
ステップS342では、読取端末21は、ピン入力の失敗回数が所定回数以上であるか否かを判定する。なお、所定回数は、マイナンバーカードから利用者証明用電子証明書を取得する用途の場合は、3回であってよく、マイナンバーカードから署名用電子証明書を取得する用途の場合は、5回であってよい。判定結果が“YES”の場合、図3に示す処理を終了し、それ以外の場合は、ステップS330に戻り、ユーザが再度のピン入力を行うためのピン入力画面をディスプレイ215に出力し、第1ユーザからのピン入力の待機状態となる。
なお、ピン入力の失敗回数が所定回数以上となると、マイナンバーカードにおいてパスワードロック処理が実行される。失敗回数に応じた後続処理の決定は、読取端末21単体ではなく、情報処理装置22と連携して実現されてもよい。なお、第1ユーザがパスワードのロック解除をする場合は、住民票がある市区町村の窓口にてパスワードのロック解除とともに、パスワード初期化申請をし、パスワードの再設定を行ってよい。
ところで、マイナンバーカードは、非接触型リーダ211及び接触型リーダ212のいずれによっても読み取り可能な情報記憶媒体である。
従って、第1ユーザは、マイナンバーカードに格納されている電子証明書を読取端末21に読み取らせる際には、非接触型リーダ211及び接触型リーダ212のいずれをも用いることができる。
特に本実施例によれば、上述したように、読取端末21が情報記憶媒体を処理していない状況下では、非接触型リーダ211及び接触型リーダ212は、決済に関する情報の入力の有無に関係なく、同時に待ち受け状態を維持している。これにより、第1ユーザは、いずれが待ち受け状態にあるかを意識することなく、所望の一方を利用して、マイナンバーカード内の電子証明書を読取端末21に読み取らせることができる。また、非接触型リーダ211及び接触型リーダ212がともに待ち受け状態である場合、第1ユーザが非接触型リーダ211及び接触型リーダ212のいずれをも用いて、短時間でマイナンバーカード内の電子証明書を読み取り可能となる。これにより、非接触型リーダ211及び接触型リーダ212の双方又は一方を待ち受け状態へと遷移させるために所定入力を必要とするような比較例に比べて、利便性が向上する。
また、本実施例によれば、何らかの異常(例えばマイナンバーカードのICの破損等)に起因して、非接触型リーダ211及び接触型リーダ212のいずれか一方でマイナンバーカードの読み取りができない場合でも(図3のステップS336の“NO”)、誘導処理(図3のステップS340)が実行されるので、第1ユーザは、非接触型リーダ211及び接触型リーダ212の他方を利用して、マイナンバーカード内の電子証明書を読取端末21に読み取らせることができる。これにより、例えばマイナンバーカードのICの破損があった場合でも、第1ユーザは、マイナンバーカードを再発行等することなく、読取端末21に対する用途に関して継続的に利用できる。
次に、図4以降を参照して、情報記憶媒体がマイナンバーカードである場合に好適な読取端末21の利用態様について説明する。
図4は、読取端末21を組み込んだ個人情報利用システム1の全体構成を示す概略図である。なお、図4には、個人情報利用システム1に関連した他の要素(個人情報利用システム1に属さない要素)として、マイナンバーカードMC(マイナンバーカードの一例)や、汎用基地局90、失効確認サービスサーバ92等が併せて示されている。なお、失効確認サービスサーバ92は、地方公共団体情報システム機構(J-LIS:Japan Agency for Local Authority Information Systems)に係るサーバである。
個人情報利用システム1は、マイナンバーカードMCに紐付けられた個人情報を活用した本人確認エスクローサービスを実現するためのシステムである。
なお、マイナンバーカードからの電子証明書の読み出しにはAPDU(Application Protocol Data Unit)というデータ列が用いられ、読み出しシステムが送出するコマンドメッセージ(C-APDU)に対し、マイナンバーカードMCからはレスポンスメッセージ(R-APDU)が返される。このAPDUコマンド列をWindows(登録商標)環境で扱うためのインターフェースとしてPC/SCがある。PC/SCにより、Windows(登録商標)のPC(Personal Computer)上のアプリケーションからは容易にICカードへのアクセスが可能である。
以下では、ユーザとは、個人情報利用システム1を利用する人を指し、第1ユーザとは、マイナンバーカードMCを所持するユーザを指し、第2ユーザとは、第1ユーザに所定サービス又は所定商品を提供するユーザを指す。第2ユーザは、典型的には、所定サービス又は所定商品を提供する事業者及び/又はその従業員である。所定サービス又は所定商品は、任意であり、例えば所定サービスは、ホテルでの客室提供、レストランでの料理提供等でありうる。また、所定商品は、例えば車、船舶、携帯電話等でありうる。また、所定商品は、規制によって購入が制限される商品(例えば薬品や猟銃)等であってもよい。
個人情報利用システム1は、端末装置2と、第1サーバ3と、第2サーバ4とを含む。
端末装置2は、上述した読取端末21と、情報処理装置22とを含む。
読取端末21は、第2ユーザにより利用される。読取端末21は、マイナンバーカードMCとの間で各種通信を行うことで、マイナンバーカードMCのIC(Integrated Circuit)チップに格納された各種情報を読み取ることができる端末である。読取端末21は、例えば、アンテナを通じて非接触でマイナンバーカードMCのICチップと通信(データの読み込み)を行うリーダの形態である。読取端末21は、マイナンバーカードMCに係る読み取り専用の端末であってもよいし、クレジットカード等に係る決済を支援する機能のような、他の機能を併せて備える端末であってもよい。
読取端末21は、接触方式及び/又は非接触方式で、マイナンバーカードMCから各種情報を読み取る装置であってよい。なお、マイナンバーカードMCのICチップには、4種類のアプリケーションが実装されているが、ここでは、公的個人認証アプリケーションが利用されてよい。
情報処理装置22は、各種のパーソナルコンピュータ、ラップトップコンピュータ、又はその類であってよい。また、情報処理装置22は、読取端末21とは別の携帯型の端末であってよい。この場合、情報処理装置22は、タブレット端末、スマートフォン又はその類であってよい。情報処理装置22のOS(オペレーションシステム)は、任意であってよく、Android(登録商標)、Windows(登録商標)、iOS(登録商標)又はその類であってよい。例えば、あるユーザは、Android(登録商標)の情報処理装置22を使用し、他のユーザは、Windows(登録商標)の情報処理装置22を使用し、更なるユーザは、iOS(登録商標)の情報処理装置22を使用することができる。このように本実施例では、後述する仮想デバイスドライバ33を備えることで、多様なOSに対応できる。
情報処理装置22は、好ましくは、閉域網用のSIM(Subscriber Identity Module)を備え、情報処理装置22と読取端末21との間の通信は、閉域網を介して実現される。これにより、プライバシー性が非常に高い情報である証明用情報をマイナンバーカードMCから読み取り情報処理装置22に送信する際に、高い安全性を確保できる。
第1サーバ3は、例えばクラウドサーバであってよい。第1サーバ3の運営は、第2ユーザとは異なる第3ユーザ(例えば個人情報利用システム1の運営者)により実現されてよい。第1サーバ3のOSは、例えばWindows(登録商標)である。ただし、本実施例では、第1サーバ3は、後述するように、Android(登録商標)やiOS(登録商標)をOSとする情報処理装置22との間で情報のやり取りができるように、仮想デバイスドライバ33を有する。
第1サーバ3は、情報処理装置22と閉域網NW1を介して通信可能である。図4に示す例では、第1サーバ3は、ゲートウェイ装置5、及び汎用基地局90を介して、情報処理装置22と通信可能である。この場合、ゲートウェイ装置5と汎用基地局90の間の通信は、閉域網NW1を介して実現される。これにより、マイナンバーカードMCから読み取った証明用情報(暗号化された情報)を情報処理装置22から第1サーバ3に送信する際の安全性を確保できる。なお、情報処理装置22と第1サーバ3との間で送受信されるデータはJSON形式(char型配列)であってよい。
第1サーバ3は、第2サーバ4と閉域網NW1を介して通信可能である。図4に示す例では、ゲートウェイ装置5及び閉域網NW1を介して第2サーバ4と通信可能である。
なお、閉域網NW1は、例えば、LTE(Long Term Evolution)(登録商標)によるセキュアなネットワークであってよい。なお、LTE(登録商標)に代えて又は加えて、LTE-A(LTE-Advanced)、第五世代移動通信システム、UMB(Ultra Mobile Broadband)等が利用されてもよい。また、ゲートウェイ装置5は、セキュリティを高める観点から、特定ユーザ(例えば個人情報利用システム1の運営者)専用のゲートウェイであってよい。
第2サーバ4は、エスクローサービス用のサーバである。第2サーバ4の運営は、行政機関や地方公共団体情報システム機構、又は、その類の高い信頼性を有する機関や機構等である。これは、第2サーバ4は、後述するように、個人情報を保管する機能を有するためである。
図5は、情報処理装置22が備える各種機能のうちの、個人情報利用システム1に関連する機能を概略的に示す図である。
情報処理装置22は、図5に示すように、リーダ/ライタ制御ライブラリ221と、業務アプリケーション222と、カード読取ライブラリ223とを含む。
情報処理装置22は、読取端末21との間で各種情報のやり取りを行い、マイナンバーカードMCから読取端末21を介して証明用情報を取得するように機能する。この際、業務アプリケーション222は、リーダ/ライタ制御ライブラリ221及びカード読取ライブラリ223と協働して、読取端末21と各種情報のやり取りを行い、かつ、第1サーバ3と各種情報のやり取りを行う。
本実施例では、情報処理装置22は、エスクローサービス用の用途の場合、マイナンバーカードMCから、証明用情報として署名用電子証明書及び利用者証明用電子証明書のうちの、署名用電子証明書を取得する。ただし、別の用途(例えば本人確認用の用途)では、情報処理装置22は、マイナンバーカードMCから、証明用情報として署名用電子証明書及び利用者証明用電子証明書のうちの、利用者証明用電子証明書を取得してもよい。
業務アプリケーション222は、例えば、読取端末21を介してマイナンバーカードMCから証明用情報を取得すると、取得した証明用情報を暗号化するとともに、暗号化した証明用情報に、付加情報を対応付けて、第1サーバ3に送信する。付加情報は、個々の事業者に固有な識別子(以下、「事業者ID」と称する)と、証明用情報の取得日時情報とを含んでよい。なお、付加情報についても、証明用情報とともに暗号化されて、第1サーバ3に送信されてもよい。事業者IDは、事業者番号等が利用されてもよいし、個人情報利用システム1を利用する際に各事業者が行う登録時に付与されてもよい。
また、業務アプリケーション222は、読取端末21を介してマイナンバーカードMCから証明用情報を取得すると、上述のように、第1サーバ3に証明用情報を送信した後に証明用情報を破棄する。これにより、情報処理装置22内に証明用情報を残さない態様で、情報処理装置22を介して第1サーバ3に証明用情報を供給できる。なお、業務アプリケーション222は、第1サーバ3に送信した直後に、証明用情報を破棄してもよいし、第1サーバ3から所定信号(例えば証明用情報を受信した旨の通知)を受信した際に、証明用情報を破棄してもよい。
図6は、第1サーバ3の機能を概略的に示す図である。
第1サーバ3は、図6に示すように、Webアプリケーション31と、カード読取ライブラリ32と、仮想デバイスドライバ33と、復号化モジュール34と、CGI(Common Gateway Interface)35とを含む。なお、カード読取ライブラリ32は、Webアプリケーション31に付加される態様で実装されてよい。なお、カード読取ライブラリ32は、地方公共団体情報システム機構の提供するカード読取ライブラリであってよい。
Webアプリケーション31は、カード読取ライブラリ32と協働して、情報処理装置22から得た証明用情報に基づいて、失効確認サービスサーバ92から、証明用情報の有効性の判定結果(例えば署名用電子証明書が有効か否かの判定結果)を得る。Webアプリケーション31は、証明用情報が有効である場合、第2サーバ4に、証明用情報である署名用電子証明書に含まれる情報(例えば、基本4情報と呼ばれる氏名、性別、生年月日、住所)を、第2サーバ4に送信する。また、Webアプリケーション31は、証明用情報の有効性の判定結果(有効/失効)を情報処理装置22に送信してよい(図4の第1サーバ3から情報処理装置22へのゲートウェイ装置5及び汎用基地局90を介した実線の矢印参照)。
なお、Webアプリケーション31は、電子証明書に含まれるすべてを第2サーバ4に送信してもよいし、電子証明書の一部(例えば基本4情報)だけを第2サーバ4に送信してもよい。以下、このようにしてWebアプリケーション31が第2サーバ4に送信する情報を、単に「個人情報」とも称する。なお、Webアプリケーション31は、個人情報を暗号化した上で、第2サーバ4に送信してよい。
Webアプリケーション31は、好ましくは、個人情報に、上述した付加情報を対応付けて送信する。例えば、一の証明用情報に基づいて取得された個人情報には、当該一の個人情報に対応付けられた付加情報を対応付けて、第2サーバ4に送信する。これにより、第2サーバ4側において、付加情報に基づいて、個人情報を分類/抽出等を行うことが可能となる。これについては、後述する。
Webアプリケーション31は、好ましくは、第2サーバ4に個人情報を送信した後に当該個人情報に係る証明用情報(署名用電子証明書)を破棄する。これにより、第1サーバ3内に証明用情報を残さない態様で、情報処理装置22を介して第2サーバ4に個人情報を供給できる。なお、Webアプリケーション31は、第2サーバ4に個人情報を送信した直後に、当該個人情報に係る証明用情報を破棄してもよいし、第1サーバ3から所定信号(例えば個人情報を受信した旨の通知)を受信した際に、証明用情報を破棄してもよい。
仮想デバイスドライバ33は、異なるアプリケーションインターフェースに適合されたコマンド間の変換を行う。本実施例では、Webアプリケーション31は、Windows(登録商標)用のアプリケーションインターフェースに適合されており、仮想デバイスドライバ33は、PC/SC(Personal Computer/Smart Card)仮想ドライバを構成する。具体的には、仮想デバイスドライバ33は、PC/SCコマンドと、APDUコマンドとの間の変換を行う。なお、APDUは、ICカード読取の際に読取端末(読取端末21)とカード(マイナンバーカードMC)との間で送受信されるデータ列であり、ICカードの国際標準規格であるISO7816-4に規定されている。また、PC/SCは、Microsoft(会社名)が提供する、Windows(登録商標)環境でICカードを利用するための標準アプリケーションインターフェースである。なお、PC/SCの仕様は、カード、カードリーダ、カードのリソースを管理するリソースマネージャ、カードアプリケーションの4つアプリケーションインターフェースが定義されている。
復号化モジュール34は、情報処理装置22から受信した暗号化された情報(上述した証明用情報等)を復号し、復号した情報を仮想デバイスドライバ33を介してWebアプリケーション31に与える。具体的には、図3に示すように、復号化モジュール34は、CGI35からの、暗号化されたAPDUレスポンスストリームを、復号化することで、復号化されたAPDUレスポンスストリームとして仮想デバイスドライバ33に与える。
CGI35は、情報処理装置22側の業務アプリケーション222とWebアプリケーション31との間のインターフェースを実現する。CGI35は、仮想デバイスドライバ33を介して、業務アプリケーション222とWebアプリケーション31との間でのコマンドのやり取りを行い、当該やり取りを介して、上述した読取端末21によるマイナンバーカードMCの読み取りから、Webアプリケーション31への証明用情報の供給までを実現する。
このように本実施例によれば、上述したように第1サーバ3に仮想デバイスドライバ33が設けられるので、第1サーバ3において、仮想デバイスドライバ33によって、異なるアプリケーションインターフェースに適合されたコマンド間の変換を行うことができる。これにより、情報処理装置22側は、第1サーバ3側のWebアプリケーション31とは本来的には整合しない仕様(すなわちPC/SCに基づく仕様)とすることができる。これにより、PC/SCに基づき情報処理装置22によるICカードへの良好なアクセス性を維持できる。このようにして、本実施例によれば、第1サーバ3の汎用性が高くなり、第1サーバ3を介して各種サービス(個人情報に係る各種サービス)を受けることができる情報処理装置22のバリエーションを効率的に増加できる。
図7Aは、読取端末21によるマイナンバーカードMCの読み取りから、Webアプリケーション31への証明用情報の送信までの、処理シーケンスを示す概略的なフローチャートである。なお、図7Aでは、情報処理装置22について「クライアント」と表記し、アプリケーションについて、「アプリ」と省略している。
ステップS400では、情報処理装置22のリーダ/ライタ制御ライブラリ221は、マイナンバーカードMCを検出する。
ステップS402では、第1サーバ3のCGI35は、情報処理装置22からのPOSTを受け取り、仮想デバイスドライバ33にカード検出情報を送出する。
ステップS404では、第1サーバ3のCGI35は、Webアプリケーション31に読取指示を設定する。
ステップS406では、第1サーバ3のWebアプリケーション31は、仮想デバイスドライバ33及びCGI35を介して、情報処理装置22にコマンドメッセージ(C-APDU)を送信する。
ステップS408では、情報処理装置22のリーダ/ライタ制御ライブラリ221は、読取端末21と通信し、暗号化されたレスポンスメッセージ(R-APDU)を受け取る。
ステップS410では、情報処理装置22の業務アプリケーション222は、レスポンスメッセージ(R-APDU)をCGI35に送信する。
ステップS412では、第1サーバ3のCGI35は、レスポンスメッセージ(R-APDU)を復号化した後、仮想デバイスドライバ33を介してWebアプリケーション31に送出する。
ステップS414では、ステップS406からステップS412を繰り返す。例えば、45回繰り返す。これにより、第1サーバ3において読取結果(証明用情報)が得られる。なお、この際、コマンドメッセージ(C-APDU)は、暗号化されず、マイナンバーカードMCからの情報だけが暗号化されてよい。
図7Bは、エスクローサービスの場合に図7Aの処理に後続して実行される処理シーケンスを示す概略的なフローチャートである。
ステップS500では、第1サーバ3は、証明用情報の有効性を、失効確認サービスサーバ92に問い合わせる。
ステップS502では、第1サーバ3は、失効確認サービスサーバ92から証明用情報の有効性の判定結果を受信するための待機状態となる。失効確認サービスサーバ92から証明用情報の有効性の判定結果を受信すると(ステップS502の“YES”)、ステップS504に進む。
ステップS504では、第1サーバ3は、有効性の判定結果に基づいて、証明用情報が有効であるか否かを判定する。証明用情報が有効である場合は、ステップS506に進み、それ以外の場合は、ステップS510に進む。
ステップS506では、第1サーバ3は、カード読取ライブラリ32を用いて証明用情報から個人情報を取り出す。
ステップS508では、第1サーバ3は、ステップS506で取り出した個人情報を第2サーバ4に送信する。
ステップS510では、第1サーバ3は、情報処理装置22に証明用情報の有効性の判定結果を送信する。なお、ステップS510の処理は、ステップS506及びステップS508よりも先に実行されてもよい。
図7Cは、クライアント側が個人情報を取得する場合に図7Aの処理に後続して実行される処理シーケンスを示す概略的なフローチャートである。
ステップS600では、第1サーバ3は、証明用情報の有効性を、失効確認サービスサーバ92に問い合わせる。
ステップS602では、第1サーバ3は、失効確認サービスサーバ92から証明用情報の有効性の判定結果を受信するための待機状態となる。失効確認サービスサーバ92から証明用情報の有効性の判定結果を受信すると(ステップS602の“YES”)、ステップS604に進む。
ステップS604では、第1サーバ3は、有効性の判定結果に基づいて、証明用情報が有効であるか否かを判定する。証明用情報が有効である場合は、ステップS606に進み、それ以外の場合は、ステップS610に進む。
ステップS606では、第1サーバ3は、カード読取ライブラリ32を用いて証明用情報から個人情報(例えば基本4情報)を取り出す。
ステップS608では、第1サーバ3は、ステップS606で取り出した個人情報及び証明用情報の有効性の判定結果を情報処理装置22に送信する。なお、個人情報及び証明用情報の有効性の判定結果は、同時に送信されてもよいし、別々に送信されてもよい。あるいは、個人情報だけが情報処理装置22に送信されてもよい。
ステップS610では、第1サーバ3は、情報処理装置22に証明用情報の有効性の判定結果を送信する。
図7Dは、本人確認のみを行う場合に図7Aの処理に後続して実行される処理シーケンスを示す概略的なフローチャートである。本人確認のみを行う場合は、図示を省略するが、図7Aの処理では、マイナンバーカードMCから、証明用情報として署名用電子証明書及び利用者証明用電子証明書のうちの、利用者証明用電子証明書が取得される。
ステップS700では、第1サーバ3は、証明用情報の有効性を、失効確認サービスサーバ92に問い合わせる。
ステップS702では、第1サーバ3は、失効確認サービスサーバ92から証明用情報の有効性の判定結果を受信するための待機状態となる。失効確認サービスサーバ92から証明用情報の有効性の判定結果を受信すると(ステップS702の“YES”)、ステップS704に進む。
ステップS704では、第1サーバ3は、情報処理装置22に証明用情報の有効性の判定結果を送信する。
このように本実施例によれば、上述したように第1サーバ3に仮想デバイスドライバ33が設けられるので、第1サーバ3において、仮想デバイスドライバ33により異なるアプリケーションインターフェースに適合されたコマンド間の変換を行うことができる。
図8は、第2サーバ4の機能を概略的に示す図である。
第2サーバ4は、図8に示すように、個人情報管理アプリケーション41と、個人情報データベース42とを含む。
個人情報管理アプリケーション41は、上述したように第1サーバ3から個人情報を受信すると、個人情報データベース42内に個人情報を保管する。個人情報管理アプリケーション41は、所定の情報アクセス条件が満たされた場合のみアクセス可能となる態様で、第1サーバから受信した個人情報をアクセス不能な状態で保管する。
所定の情報アクセス条件は、好ましくは、容易な個人情報へのアクセスが許容されないように、厳しい条件に設定される。例えば、所定の情報アクセス条件は、人命や社会全体の危機に関わるいわゆる有事の場合にのみ満たされてよい。この場合、所定の情報アクセス条件は、好ましくは、行政機関によって定められる(例えば市町村の条例によって定められる)。これにより、個人情報の適切な管理を期待できる。また、所定の情報アクセス条件の成否は、好ましくは、行政機関により判断される。これにより、所定の情報アクセス条件の成否が適切に判断されることを期待できる。
個人情報管理アプリケーション41は、個人情報データベース42における個人情報の保管期間を管理する。例えば、個人情報管理アプリケーション41は、一の個人情報の保管時点から所定時間経過すると、当該一の個人情報を破棄してよい。この場合、例えば、個人情報管理アプリケーション41は、各個人情報に対応付けられた付加情報(証明用情報の取得日時情報)に基づいて、取得日時から所定時間経過したか否かを判断してもよい。
個人情報データベース42には、上述したように第1サーバ3から受信した個人情報を記憶する。図9は、個人情報データベース42内のデータの一例を示す図である。図9に示す例では、取得IDごとに、個人情報と、付属情報(取得日時情報及び事業者ID)が記憶されている。
この場合、何月何日に特定の店で所定サービスを受けた人に係る個人情報は、取得日時情報及び事業者ID(特定の店に係る事業者ID)に基づいて容易に抽出できる。具体的には、ある特定の日に、災害があり、あるホテルに火災が発生した事態を想定する。この場合、所定の情報アクセス条件が満たされるとする。そして、その結果、行政機関は、当該ホテルに滞在していた人の個人情報を取得でき、安否確認等に役立てることができる。
次に、図10を参照して、個人情報利用システム1に係る個人情報利用方法について説明する。
図10は、個人情報利用システム1に係る個人情報利用方法を概略的に示すタイミングチャートである。ここでは、ホテルでの客室提供について説明するが、他のサービスや商品についても同様に適用できる。なお、図10において、点線の矢印は、人同士のやり取りを指す。また、図10において、マイナンバーカードMCは、「MC」と略されている。
まず、ホテルの予約を行った第1ユーザは、ホテルのフロントでチェックインを要求する(ステップS700)。
ホテルの従業員である第2ユーザは、マイナンバーカードMCからの証明用情報を要求する(ステップS702)。
第1ユーザ又は第2ユーザは、第1ユーザが所持するマイナンバーカードMCを、読取端末21に対してセットする(ステップS704)。
ついで、端末装置2及び第1サーバ3は、上述した読取端末21によるマイナンバーカードMCの読み取りから、Webアプリケーション31への証明用情報の供給までの処理(図10には「証明用情報エスクロー処理」と表記)を実行する(ステップS706、ステップS708)。
第1サーバ3は、失効確認サービスサーバ92に、供給された証明用情報の有効性を問い合わせする(ステップS710)。
失効確認サービスサーバ92は、第1サーバ3に対して証明用情報(電子証明書)の有効性の判定結果を供給(発行)する(ステップS712)。
第1サーバ3は、証明用情報が有効であるか否かの判定結果(失効確認サービスサーバ92による判定結果)を、端末装置2に送信する(ステップS714)。
第2ユーザは、証明用情報が有効である場合は、チェックインを完了させる(ステップS716)。なお、情報処理装置22は、マイナンバーカードMCから読み取った証明用情報に基づいて、宿泊用の各種情報を記録してもよい(ステップS718)。なお、エスクローサービスとは別のサービス又は用途により、第1サーバ3から証明用情報内に含まれる情報(例えば、基本4情報と呼ばれる氏名、性別、生年月日、住所)が情報処理装置22に送出される場合は、情報処理装置22は、当該情報に基づいて、宿泊用の各種情報を記録してもよい。この場合、情報処理装置22に供給された情報(証明用情報内に含まれる情報)は、宿泊用の各種情報を記録した後にすぐに破棄されてよい。
第1ユーザは、チェックインの完了により、ホテルの客室を利用する(ステップS720)。
第1サーバ3は、証明用情報が有効である場合、個人情報を第2サーバ4に送信する(ステップS722)。
第2サーバ4は、第1サーバ3から個人情報を受信すると、個人情報データベース42に記憶(保管)する(図9)(ステップS724)。この際、第2サーバ4は、所定の情報アクセス条件が満たされた場合のみアクセス可能となる態様で、第1サーバ3から受信した個人情報をアクセス不能な状態で保管する。
その後、有事の発生により所定の情報アクセス条件が満たされたと判定される(ステップS730)ことで、第2サーバ4は、個人情報の照会を可能とする。この場合、例えば第1ユーザに宿泊した日に、当該ホテルに関して、所定の情報アクセス条件が満たされた判定されると、第1ユーザの個人情報がアクセス可能(利用可能)となる(ステップS732)。
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。