(57)【要約】      （修正有）【課題】安定してＩＣシートを発行するＩＣシート発行プログラム及びＩＣシート発行システムを提供する。【解決手段】ＩＣシート発行システムは、複数の情報処理装置３を備える。情報処理装置３は、他の情報処理装置３と通信する第１の通信部１７と、鍵を生成するハードウェアセキュリティモジュール及びＩＣシートに情報を書き込むリーダライタ５と通信する第２の通信部１８と、第２の通信部１８に接続されたハードウェアセキュリティモジュールの状態を確認する状態確認部と、状態が正常である場合、第２の通信部１８を介してハードウェアセキュリティモジュールから鍵を取得し、状態が異常である場合、第１の通信部を介して他の情報処理装置に接続されたハードウェアセキュリティモジュールで生成された鍵を取得する鍵取得部と、取得した鍵を第２の通信部１８を介してリーダライタ５によりＩＣシートに書き込む書込処理部と、を具備する。【選択図】図２
2018160771.tif 000002
【特許請求の範囲】
【請求項１】
演算素子と、他の情報処理装置と通信する第１の通信部と、鍵を生成するハードウェアセキュリティモジュール及びＩＣシートに情報を書き込むリーダライタと通信する第２の通信部と、を備える情報処理装置を複数具備するＩＣシート発行システムの、前記情報処理装置において実行されるＩＣシート発行プログラムであって、
前記演算素子を、
前記第２の通信部に接続された前記ハードウェアセキュリティモジュールの状態を確認する状態確認部と、
前記ハードウェアセキュリティモジュールの状態が正常である場合、前記第２の通信部を介して前記ハードウェアセキュリティモジュールから鍵を取得し、前記ハードウェアセキュリティモジュールの状態が異常である場合、前記第１の通信部を介して他の情報処理装置に接続されたハードウェアセキュリティモジュールで生成された鍵を取得する鍵取得部と、
取得した鍵を前記第２の通信部を介して前記リーダライタにより前記ＩＣシートに書き込む書込処理部と、
して動作させるＩＣシート発行プログラム。
【請求項２】
前記鍵取得部は、前記ハードウェアセキュリティモジュールの状態が異常である場合、前記第１の通信部を介して他の情報処理装置に鍵を要求する情報を送信する請求項１に記載のＩＣシート発行プログラム。
【請求項３】
前記演算素子を、前記第１の通信部を介して他の情報処理装置から鍵を要求する情報を受信し、且つ前記第２の通信部に接続された前記ハードウェアセキュリティモジュールが正常である場合、前記第２の通信部を介して前記ハードウェアセキュリティモジュールから鍵を取得し、取得した鍵を前記第１の通信部を介して他の情報処理装置に送信する鍵供給部として動作させる請求項２に記載のＩＣシート発行プログラム。
【請求項４】
前記鍵取得部は、前記ハードウェアセキュリティモジュールの状態が異常である場合、予め複数の情報処理装置毎に設定された優先順位に基づいて、鍵を要求する情報処理装置を決定する請求項２または３に記載のＩＣシート発行プログラム。
【請求項５】
前記鍵取得部は、前記ハードウェアセキュリティモジュールの状態が異常である場合、前記第１の通信部を介して接続された複数の情報処理装置にそれぞれ接続された前記ハードウェアセキュリティモジュールの状態を確認し、確認した状態に基づいて、鍵を要求する情報処理装置を決定する請求項２または３に記載のＩＣシート発行プログラム。
【請求項６】
前記状態確認部は、第２の通信部に接続された前記ハードウェアセキュリティモジュールにおける鍵の残数を認識し、認識した鍵の数が予め設定された閾値以上である場合、前記ハードウェアセキュリティモジュールが正常であると判断し、認識した鍵の数が予め設定された閾値未満である場合、前記ハードウェアセキュリティモジュールが異常であると判断する請求項１乃至５のいずれか１項に記載のＩＣシート発行プログラム。
【請求項７】
前記状態確認部は、認識した鍵の数が予め設定された閾値未満である状態が一定時間維持された場合、前記ハードウェアセキュリティモジュールが異常であると判断する請求項６に記載のＩＣシート発行プログラム。
【請求項８】
複数の情報処理装置を備えるＩＣシート発行システムであって、
前記情報処理装置は、
他の情報処理装置と通信する第１の通信部と、
鍵を生成するハードウェアセキュリティモジュール及びＩＣシートに情報を書き込むリーダライタと通信する第２の通信部と、
前記第２の通信部に接続された前記ハードウェアセキュリティモジュールの状態を確認する状態確認部と、
前記ハードウェアセキュリティモジュールの状態が正常である場合、前記第２の通信部を介して前記ハードウェアセキュリティモジュールから鍵を取得し、前記ハードウェアセキュリティモジュールの状態が異常である場合、前記第１の通信部を介して他の情報処理装置に接続されたハードウェアセキュリティモジュールで生成された鍵を取得する鍵取得部と、
取得した鍵を前記第２の通信部を介して前記リーダライタにより前記ＩＣシートに書き込む書込処理部と、
を具備するＩＣシート発行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣシート発行プログラム及びＩＣシート発行システムに関する。
【背景技術】
【０００２】
ＩＣチップと、アンテナと、ＩＣチップ及びアンテナを保持するシート状の筐体とを備えるＩＣシートが実用化されている。ＩＣシートのＩＣチップは、ＣＰＵとメモリとを備える。
【０００３】
ＩＣシートを発行するＩＣシート発行装置は、種々の情報をＩＣシートのメモリに書き込むことにより、ＩＣシートを発行する。例えば、ＩＣシート発行装置は、鍵をＩＣシートに書き込む。この為に、鍵を生成し、生成した鍵をハードウェア内部に保管するハードウェアセキュリティモジュール（ＨＳＭ）が一般的に用いられている。ＩＣシート発行装置は、ＨＳＭから鍵を取得し、取得した鍵をＩＣシートに書き込む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−５３７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＳＭが鍵を生成するスピードが、ＩＣシート発行装置が鍵をＩＣシートに書き込むスピードよりも速い場合、ＩＣシート発行装置は、ＩＣシートに書き込む鍵を安定して取得することができる。しかし、ＨＳＭが鍵を生成するスピードが、ＩＣシート発行装置が鍵をＩＣシートに書き込むスピードよりも遅い場合、ＩＣシートに書き込む鍵が不足するという課題がある。
【０００６】
本発明は、安定してＩＣシートを発行するＩＣシート発行プログラム及びＩＣシート発行システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態に係るＩＣシート発行プログラムは、演算素子と、他の情報処理装置と通信する第１の通信部と、鍵を生成するハードウェアセキュリティモジュール及びＩＣシートに情報を書き込むリーダライタと通信する第２の通信部と、を備える情報処理装置を複数具備するＩＣシート発行システムの、前記情報処理装置において実行されるＩＣシート発行プログラムである。ＩＣシート発行プログラムは、前記演算素子を、前記第２の通信部に接続された前記ハードウェアセキュリティモジュールの状態を確認する状態確認部と、前記ハードウェアセキュリティモジュールの状態が正常である場合、前記第２の通信部を介して前記ハードウェアセキュリティモジュールから鍵を取得し、前記ハードウェアセキュリティモジュールの状態が異常である場合、前記第１の通信部を介して他の情報処理装置に接続されたハードウェアセキュリティモジュールで生成された鍵を取得する鍵取得部と、取得した鍵を前記第２の通信部を介して前記リーダライタにより前記ＩＣシートに書き込む書込処理部と、して動作させる。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係るＩＣシート発行システムの構成例について説明する為の説明図である。
【図２】図２は、一実施形態に係る情報処理装置の構成例について説明する為の説明図である。
【図３】図３は、一実施形態に係る情報処理装置の動作の例について説明する為のフローチャートである。
【図４】図４は、一実施形態に係る情報処理装置の動作の例について説明する為のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながらＩＣシート発行プログラム及びＩＣシート発行システムについて詳細に説明する。  
ＩＣシートは、ＩＣチップと、アンテナと、ＩＣチップ及びアンテナを保持するシート状の筐体とを備える携帯可能電子装置である。アンテナは、ＩＣシートを処理するリーダライタとの通信に用いられる。ＩＣチップは、ＣＰＵなどの演算素子と、データを保存するメモリとを備える。ＩＣシートは、一次発行と二次発行とが行われることにより運用が可能な状態になる。発行されたＩＣシートは、冊子として閉じられることにより、ＩＣ旅券（機械読取式パスポート）として構成される。なお、ＩＣシートは、シート状に構成されるのではなく、矩形状の樹脂のカード内にＩＣチップ及びアンテナが収容されたＩＣカードとして構成されるものであってもよい。
【００１０】
ＩＣシートを発行するＩＣシート発行装置は、一次発行において、ＩＣシートのメモリを初期化し、メモリ内に所定のファイル構造を創成する。例えば、ＩＣシート発行装置は、ＩＳＯ／ＩＥＣ７８１６により規定されているファイル構造をＩＣシートのメモリ内に創成する。これにより、ＩＣシート発行装置は、ＩＣシートのメモリ内にＭａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などを創成する。
【００１１】
さらに、ＩＣシート発行装置は、二次発行において、ＩＣシートのメモリ内のファイルにＩＣシート毎に個別のデータを格納する。ＩＣシートは、二次発行において個別データがメモリに書き込まれると、運用が可能な状態になる。
【００１２】
個別データは、例えば、ＩＣシートを所有するユーザに関する情報、及び認証に用いられる鍵情報（以下鍵と称する）などである。鍵は、具体的には、能動認証に用いられるものであり、ＩＣチップ固有の公開鍵及び秘密鍵である。
【００１３】
図１は、一実施形態に係るＩＣシート発行システム１の例について説明する為の説明図である。ＩＣシート発行システム１は、一次発行が行われたＩＣシートに対して二次発行を行うシステムである。
【００１４】
ＩＣシート発行システム１は、上位装置２と、複数の情報処理装置３と、上位装置２と複数の情報処理装置３とを接続する第１のネットワーク６と、複数の情報処理装置３を相互に接続する第２のネットワーク７とを備える。また、ＩＣシート発行システム１は、一次発行が施されたＩＣシートを搬送する図示されない搬送機構などを備える。
【００１５】
上位装置２は、複数の情報処理装置３及び搬送機構に対して制御信号を送信することにより、情報処理装置３及び搬送機構の動作を制御する装置である。上位装置２は、例えばProgrammable Logic Controller（ＰＬＣ）により構成される。なお、上位装置２は、通常のＰＣとして構成されていてもよい。また、上位装置２は、情報処理装置３から情報を受け取り、受け取った情報をＩＣシート発行システム１の係員に報知する為の表示部またはスピーカなどを備えていてもよい。
【００１６】
情報処理装置３は、上位装置２の制御に従って、ＩＣシートに対して二次発行を施す装置である。情報処理装置３は、上位装置２の制御に従って、ＩＣシートに対して二次発行を施すＩＣシート発行装置である。情報処理装置３には、鍵を生成し、生成した鍵をハードウェア内部に保管するハードウェアセキュリティモジュール（ＨＳＭ）４と、ＩＣシートと通信する為のアンテナを備えるリーダライタ５とが接続されている。
【００１７】
ＨＳＭ４は、鍵を生成し、生成した鍵を補保管するハードウェアである。ＨＳＭ４は、鍵を生成する鍵生成回路と、生成された鍵を保管する鍵保管回路とを備える。鍵生成回路は、例えば、所定の文字数の文字列を出力する。この文字列は、上記の鍵として扱われる。この文字列は、具体的には、機械的なノイズに基づいて生成された乱数である。鍵保管回路は、鍵生成回路から出力された鍵を保管する。ＨＳＭ４は、起動している場合、逐次鍵を生成し、鍵保管回路に蓄積する。ＨＳＭ４は、鍵保管回路に蓄積された鍵の数が一定数以上になった場合、鍵の生成を停止する。また、鍵生成回路は、情報処理装置３からの要求に基づいて、保管している鍵を情報処理装置３に供給する。また、ＨＳＭ４は、鍵が情報処理装置３によって消費され、鍵保管回路に蓄積された鍵の数が一定数未満になった場合、鍵の生成を再開する。
【００１８】
リーダライタ５は、アンテナの通信範囲内に存在するＩＣシートと通信するハードウェアである。リーダライタ５は、情報処理装置３から供給された信号に応じて磁界を生成することにより、ＩＣシートにデータを送信する。また、リーダライタ５は、磁界の変化を検出することにより、ＩＣシートから送信されたデータを復号し、情報処理装置３に供給する。
【００１９】
情報処理装置３は、搬送機構によってＩＣシートがリーダライタ５の通信範囲に進入した場合、ＨＳＭ４から鍵を取得し、取得した鍵をリーダライタ５によってＩＣシートに書き込む。これにより、情報処理装置３は、運用可能な状態のＩＣシートを発行する。
【００２０】
第１のネットワーク６は、上位装置２と複数の情報処理装置３とを接続するネットワークである。第１のネットワーク６は、例えばＬＡＮにより構成される。第１のネットワーク６は、少なくとも、上位装置２と複数の情報処理装置３とがそれぞれ通信可能なネットワークであれば如何なる構成であってもよい。
【００２１】
第２のネットワーク７は、複数の情報処理装置３間で相互に通信可能なネットワークである。第２のネットワーク７は、例えばＬＡＮにより構成される。より具体的には、第２のネットワーク７は、イーサネット（登録商標）により構成される。第２のネットワーク７において、複数の情報処理装置３は、それぞれ異なるアドレスが割り当てられている。即ち、第２のネットワーク７によると、ある情報処理装置３が他の情報処理装置３を指定してデータを送信することが可能である。具体的には、第２のネットワーク７は、スイッチングハブ（ＴＣＰ／ＩＰ制御モジュール）を備えることにより、複数の情報処理装置３に対して重複しないＩＰを割り当てる構成であってもよい。
【００２２】
図２は、各情報処理装置３の構成の例について説明する為の説明図である。  
情報処理装置３は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、表示部１５、操作部１６、第１の通信部１７、及び第２の通信部１８を備える。
【００２３】
ＣＰＵ１１は、演算処理を実行する演算素子（たとえば、プロセッサ）を備える。ＣＰＵ１１は、ＲＯＭ１２または不揮発性メモリ１４に記憶されているプログラムなどのデータに基づいて種々の処理を行う。ＣＰＵ１１は、ＲＯＭ１２または不揮発性メモリ１４に格納されているプログラムを実行することにより、種々の動作を実行可能な制御部として機能する。
【００２４】
ＲＯＭ１２は、読み出し専用の不揮発性メモリである。ＲＯＭ１２は、プログラム及びプログラムで用いられるデータなどを記憶する。
【００２５】
ＲＡＭ１３は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１３は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。また、ＲＡＭ１３は、ＣＰＵ１１が実行するプログラムを一時的に格納する。
【００２６】
不揮発性メモリ１４は、種々の情報を記憶可能な記憶媒体である。不揮発性メモリ１４は、プログラム及びプログラムで用いられるデータなどを記憶する。不揮発性メモリ１４は、例えば、半導体メモリ、または他の記憶装置である。なお、不揮発性メモリ１４の代わりに、メモリカードなどの記憶媒体を挿入可能なカードスロットなどのメモリＩ／Ｆが設けられていてもよい。
【００２７】
表示部１５は、表示用の画面データに基づいて画面を表示する表示装置を備える。表示部１５は、ＣＰＵ１１の制御に基づいて、表示装置に画面を表示する。
【００２８】
操作部１６は、情報処理装置３の各種の操作を行うための複数の操作部材を備える。操作部材は、例えば、電源ボタン、タッチセンサ、及びテンキーなど如何なるものであってもよい。なお、タッチセンサは、上記の表示部１５の表示装置と一体にタッチパネルとして構成されることにより、表示装置に表示された画面上のタッチされた位置を示す信号をＣＰＵ１１に入力する。
【００２９】
第１の通信部１７は、他の機器と通信する為のインタフェースである。第１の通信部１７は、第１のネットワーク６及び第２のネットワーク７に対応した端子及び回路を備える。第１の通信部１７は、ＣＰＵ１１の制御に基づいて、第１のネットワーク６を介して上位装置２と通信する。また、第１の通信部１７は、ＣＰＵ１１の制御に基づいて、第２のネットワーク７を介して他の情報処理装置３と通信する。第１の通信部１７は、例えば、ＬＡＮコネクタを備える。
【００３０】
第２の通信部１８は、他の機器と通信する為のインタフェースである。第２の通信部１８は、ＨＳＭ４及びリーダライタ５に対応した端子及び回路を備える。第２の通信部１８は、ＣＰＵ１１の制御に基づいて、ＨＳＭ４と通信する。また、第２の通信部１８は、ＣＰＵ１１の制御に基づいて、リーダライタ５と通信する。
【００３１】
第２の通信部１８は、例えば、Peripheral Component Interconnect（ＰＣＬ）に対応した端子を備える。第２の通信部１８は、ＰＣＬによってＨＳＭ４と通信する。また、第２の通信部１８は、例えば、Recommended Standard 232（ＲＳ−２３２）に対応した端子を備える。第２の通信部１８は、ＲＳ−２３２によってリーダライタ５と通信する。なお、第２の通信部は、Universal Asynchronous Receiver Transmitter（ＵＡＲＴ）、Universal Serial Bus（ＵＳＢ）、または他の通信規格によってＨＳＭ４及びリーダライタ５と通信する構成であってもよい。
【００３２】
次に、情報処理装置３がＩＣシートを発行する為のプログラムであるＩＣシート発行プログラムについて説明する。
【００３３】
ＩＣシート発行プログラムは、情報処理装置３の不揮発性メモリ１４またはＲＯＭ１２などに格納されている。ＣＰＵ１１は、不揮発性メモリ１４またはＲＯＭ１２に格納されているＩＣシート発行プログラムを読み出し、ＲＡＭ１３に展開することにより、ＩＣシートを発行する為の種々の処理を実行する。
【００３４】
図３及び図４は、情報処理装置３の動作について説明する為のフローチャートである。  
情報処理装置３のＣＰＵ１１は、上位装置からの指示に応じて、ＩＣシート発行プログラムを実行する。これにより、情報処理装置３は、ＩＣシートの発行を行うことができる状態になる。
【００３５】
ＣＰＵ１１は、鍵のＩＣシートへの書き込みを実行するか否か判断する（ステップＳ１１）。例えば、ＣＰＵ１１は、上位装置２から、ＩＣシートに鍵を書き込む指示を受け取った場合、鍵のＩＣシートへの書き込みを実行すると判断する。また、ＣＰＵ１１は、図示されないセンサの検出結果によって、ＩＣシートがリーダライタ５の通信範囲に進入したか否かを判断し、ＩＣシートがリーダライタ５の通信範囲に進入したと判断した場合に、鍵のＩＣシートへの書き込みを実行すると判断する構成でもよい。
【００３６】
ＣＰＵ１１は、鍵のＩＣシートへの書き込みを実行すると判断した場合（ステップＳ１１、ＹＥＳ）、ＨＳＭ４の状態を確認する（ステップＳ１２）。例えば、ＣＰＵ１１は、ＨＳＭ４の鍵保管回路に保管されている鍵の数を認識する。また、ＣＰＵ１１は、ＨＳＭ４の鍵生成回路が所定時間内に生成した鍵の数を認識する構成であってもよい。また、ＣＰＵ１１は、認識した鍵の数を上位装置２に通知してもよい。例えば、上位装置２は、情報処理装置３から通知された鍵の数に応じて、ＩＣシート発行システム１の動作を止める構成であってもよい。
【００３７】
ＣＰＵ１１は、認識した鍵の数に基づいて、ＨＳＭ４が異常であるか否か判断する（ステップＳ１３）。例えば、ＣＰＵ１１は、認識した鍵の数が予め設定された閾値以上である場合、ＨＳＭ４が正常に動作していると判断する。また、例えば、ＣＰＵ１１は、認識した鍵の数が予め設定された閾値未満である場合、ＨＳＭ４に異常が発生している可能性があると判断する。
【００３８】
ＣＰＵ１１は、ＨＳＭ４が正常に動作していると判断した場合（ステップＳ１３、ＮＯ）、ＨＳＭ４から鍵を取得する（ステップＳ１４）。ＣＰＵ１１は、ＨＳＭ４に対して鍵を要求し、レスポンスとしてＨＳＭ４から鍵を受け取る。
【００３９】
ＣＰＵ１１は、ＨＳＭ４から取得した鍵をリーダライタ５によってＩＣカードに書き込む（ステップＳ１５）。これにより、情報処理装置３は、１つのＩＣシートの二次発行を完了する。
【００４０】
ＣＰＵ１１は、ＩＣカードに鍵を書き込むと、図３及び図４の処理を終了するか否か判断する（ステップＳ１６）。ＣＰＵ１１は、上位装置２からの制御信号、または操作部１６における操作に基づいて、処理を終了するか否か判断する。ＣＰＵ１１は、処理を終了しない場合、ステップＳ１１に移行し、次のＩＣシートに対する鍵の書き込みを行う。
【００４１】
また、ＣＰＵ１１は、ステップＳ１３で、ＨＳＭ４が異常であると判断した場合（ステップＳ１３、ＹＥＳ）、一定時間が経過したか否か判断する（ステップＳ１７）。ＣＰＵ１１は、一定時間が経過していないと判断した場合（ステップＳ１７、ＮＯ）、ステップＳ１２に移行し、ＨＳＭ４の状態を再度確認する。
【００４２】
例えば、ＨＳＭ４において異常が発生し、ＨＳＭ４における鍵の生成速度が低下し、情報処理装置３がＩＣシートに鍵を書き込む速度、即ち鍵の消費速度に対して鍵の生成速度が遅くなったとする。この場合、ＨＳＭ４の鍵保管回路に蓄積されている鍵の数が徐々に減少することが想定される。この結果、ＨＳＭ４の鍵保管回路の鍵が枯渇して、情報処理装置３がＩＣシートに鍵を書き込めなくなることが想定される。そこで、ＣＰＵ１１は、ステップＳ１７、ステップＳ１２、及びステップＳ１３の処理を一定時間が経過するまでの間繰り返し行うことにより、ＨＳＭ４が正常な状態に復帰するのを待つ。なお、ＣＰＵ１１は、ステップＳ１１で鍵の書き込みを実行すると判断してからの経過時間が一定時間に達したか否か判断する構成であってもよいし、ステップＳ１３でＨＳＭ４が異常であると判断してからの経過時間が一定時間に達したか否か判断する構成であってもよい。
【００４３】
ＣＰＵ１１は、ステップＳ１７で一定時間が経過したと判断した場合（ステップＳ１７、ＹＥＳ）、他の情報処理装置３に鍵を要求する（ステップＳ１８）。即ち、ＣＰＵ１１は、接続されているＨＳＭ４において鍵の数が閾値未満である状態が一定時間維持された場合、ＨＳＭ４の状態の復帰を待つのではなく、第２のネットワーク７を介して接続された他の情報処理装置３に鍵を要求する情報（鍵要求情報）を送信する。
【００４４】
さらに、ＣＰＵ１１は、鍵要求情報を送信した情報処理装置３から鍵を取得し（ステップＳ１９）、ステップＳ１５の処理に移行する。これによって、ＣＰＵ１１は、正常に動作しているＨＳＭ４が接続されている情報処理装置３から鍵を取得する。さらに、ＣＰＵ１１は、ステップＳ１５において、他の情報処理装置３から取得した鍵をＩＣシートに書き込むことができる。
【００４５】
ＣＰＵ１１は、例えば、第２のネットワーク７を介して接続されている他の情報処理装置３のアドレスを予め取得し、不揮発性メモリ１４などに記憶している。ＣＰＵ１１は、記憶されているアドレスをヘッダに設定し、第２のネットワーク７を介して他の情報処理装置３に鍵要求情報を送信する。
【００４６】
なお、ＣＰＵ１１は、他の情報処理装置３のアドレスを複数不揮発性メモリ１４に記憶している場合、複数のアドレスにそれぞれ優先順位を設定して不揮発性メモリ１４に記憶していてもよい。例えば、ＣＰＵ１１は、最も高い優先順位が設定されたアドレスをヘッダに設定し、鍵要求情報を送信する。
【００４７】
また、ＣＰＵ１１は、定期的に、または鍵要求情報を送信する前に、第２のネットワーク７を介して他の情報処理装置３から、ＨＳＭ４の鍵の残数を取得してもよい。これにより、ＣＰＵ１１は、最も鍵の残数が多いＨＳＭ４が接続されている情報処理装置３に対して鍵要求情報を送信することができる。即ち、ＣＰＵ１１は、第２のネットワークを介して接続された他の情報処理装置３のうちで、鍵の残数に余裕があるＨＳＭ４が接続されている情報処理装置３から鍵を取得する。
【００４８】
また、ＣＰＵ１１は、他の情報処理装置から鍵を取得した場合、他の情報処理装置３から鍵を受け取っている旨を上位装置２に通知してもよい。ＣＰＵ１１が他の情報処理装置３から受け取った鍵を用いてＩＣシートの発行を行うことにより、ＩＣシート発行システム１の係員がその旨に気付くことが懸念される。そこで、上位装置２は、他の情報処理装置３から鍵を受け取っている旨を情報処理装置３から受け取ることにより、正常に動作していないＨＳＭ４がシステム内に存在することを係員に報知することができる。
【００４９】
また、ＣＰＵ１１は、ステップＳ１１において、鍵のＩＣシートへの書き込みを実行しないと判断した場合（ステップＳ１１、ＮＯ）、他の情報処理装置３から鍵要求情報を受信したか否か判断する（ステップＳ２０）。ＣＰＵ１１は、他の情報処理装置３から鍵要求情報を受信していないと判断した場合（ステップＳ２０、ＮＯ）、ステップＳ１１の処理に移行する。
【００５０】
ＣＰＵ１１は、他の情報処理装置３から鍵要求情報を受信したと判断した場合（ステップＳ２０）、図４に示されるように、ＨＳＭ４の状態を確認する（ステップＳ２１）。これによって、ＣＰＵ１１は、自身に接続されているＨＳＭ４の鍵の残数を認識する。
【００５１】
さらに、ＣＰＵ１１は、認識した鍵の数に基づいて、ＨＳＭ４が異常であるか否か判断する（ステップＳ２２）。例えば、ＣＰＵ１１は、ステップＳ１３と同じ処理によってＨＳＭ４の状態が異常であるか否か判断する構成であってもよいし、ステップＳ１３とは異なる閾値と、鍵の残数とを比較することによって、ＨＳＭ４が異常であるか否か判断する構成であってもよい。
【００５２】
ＣＰＵ１１は、ＨＳＭ４が正常に動作していると判断した場合（ステップＳ２２、ＮＯ）、ＨＳＭ４から鍵を取得する（ステップＳ２３）。ＣＰＵ１１は、ＨＳＭ４に対して鍵を要求し、レスポンスとしてＨＳＭ４から鍵を受け取る。
【００５３】
ＣＰＵ１１は、取得した鍵を、第２のネットワーク７を介して他の情報処理装置３に供給し（ステップＳ２４）、図３のステップＳ１６の処理に移行する。ＣＰＵ１１は、ステップＳ２０において鍵要求情報を送信した情報処理装置３に対して鍵を供給する。例えば、ＣＰＵ１１は、鍵要求情報を送信した情報処理装置３を不揮発性メモリ１４に格納されているアドレスの一覧から認識することにより、鍵を送信する情報処理装置３のアドレスを認識する。
【００５４】
また、ＣＰＵ１１は、ステップＳ２２で、ＨＳＭ４が異常であると判断した場合（ステップＳ２２、ＹＥＳ）、鍵要求情報を送信した情報処理装置３に対してアラートを通知し（ステップＳ２５）、図３のステップＳ１６の処理に移行する。アラートは、鍵を供給することができない旨を、鍵要求情報を送信した情報処理装置３に対して伝える為の情報である。
【００５５】
例えば、鍵要求情報を送信した情報処理装置３は、アラートを受信した場合、さらに他の情報処理装置３に対して鍵要求情報を送信してもよい。例えば、情報処理装置３は、優先順位に基づいて鍵要求情報を送信していた場合、次に優先順位の高い情報処理装置３に対して鍵要求情報を送信する。これにより、情報処理装置３は、第２のネットワーク７
を介して接続されたいずれかの情報処理装置３から鍵を取得することができる。
【００５６】
上記したように、ＩＣシート発行システム１は、複数の情報処理装置３を備える。また、情報処理装置３は、演算素子であるＣＰＵ１１と、他の情報処理装置３と通信する第１の通信部１７と、鍵を生成するＨＳＭ４及びＩＣシートに情報を書き込むリーダライタ５と通信する第２の通信部１８と、を備える。ＣＰＵ１１は、プログラムを実行することにより、第２の通信部１８に接続されたＨＳＭ４の状態を確認する状態確認部として機能する。また、ＣＰＵ１１は、ＨＳＭ４の状態が正常である場合、第２の通信部１８を介してＨＳＭ４から鍵を取得し、ＨＳＭ４の状態が異常である場合、第１の通信部１７を介して他の情報処理装置３に接続されたＨＳＭ４で生成された鍵を取得する鍵取得部として機能する。また、ＣＰＵ１１は、取得した鍵を第２の通信部１８を介してリーダライタ５によりＩＣシートに書き込む書込処理部として機能する。このように、情報処理装置３は、他の情報処理装置３に接続されたＨＳＭ４で生成された鍵をＩＣシートに書き込むことにより、ＨＳＭ４に異常が生じた場合であっても、ＩＣシートの発行を継続することができる。この結果、安定してＩＣシートを発行するＩＣシート発行プログラム及びＩＣシート発行システムを提供することができる。
【００５７】
また、情報処理装置３のＣＰＵ１１は、ハードウェアセキュリティモジュールの状態が異常である場合、第１の通信部１７を介して他の情報処理装置３に鍵を要求する情報（鍵要求情報）を送信する。また、情報処理装置３のＣＰＵ１１は、第１の通信部１７を介して他の情報処理装置３から鍵要求情報を受信し、且つ第２の通信部１８に接続されたＨＳＭ４が正常である場合、第２の通信部１８を介してＨＳＭ４から鍵を取得し、取得した鍵を第１の通信部１７を介して他の情報処理装置３に送信する鍵供給部として機能する。これにより、ＣＰＵ１１は、他の情報処理装置においてＨＳＭ４の異常が生じた場合、鍵を供給することができる。
【００５８】
また、ＣＰＵ１１は、ＨＳＭ４の状態が異常である場合、予め複数の情報処理装置３（のアドレス）毎に設定された優先順位に基づいて、鍵を要求する情報処理装置３を決定する。これにより、鍵要求情報を送信する情報処理装置３を任意で設定することができる。
【００５９】
また、ＣＰＵ１１は、他の情報処理装置３に接続されたＨＳＭ４の状態を確認し、正常なＨＳＭ４が接続されている情報処理装置に対して鍵要求情報を送信する。これにより、情報処理装置３は、鍵の取得の確度を向上させることができる。
【００６０】
また、ＣＰＵ１１は、第２の通信部１８に接続されたＨＳＭ４における鍵の残数を認識し、認識した鍵の数が予め設定された閾値以上である場合、ＨＳＭ４が正常であると判断し、認識した鍵の数が予め設定された閾値未満である場合、ハードウェアセキュリティモジュールが異常であると判断する。またさらに、ＣＰＵ１１は、認識した鍵の数が予め設定された閾値未満である状態が一定時間維持された場合、ＨＳＭ４が異常であると判断してもよい。これにより、情報処理装置３は、ＨＳＭ４の異常を適切に判断することができる。
【００６１】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【００６２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６３】
１…ＩＣシート発行システム、２…上位装置、３…情報処理装置、４…ハードウェアセキュリティモジュール、５…リーダライタ、６…第１のネットワーク、７…第２のネットワーク、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…不揮発性メモリ、１５…表示部、１６…操作部、１７…第１の通信部、１８…第２の通信部。
【図１】
2018160771.tif 000003
【図２】
2018160771.tif 000004
【図３】
2018160771.tif 000005
【図４】
2018160771.tif 000006