(57)【特許請求の範囲】
【請求項１】
マスタデバイスとセキュリティデバイスとを含む情報処理装置であって、
前記マスタデバイスは、
前記セキュリティデバイスへ状態確認のコマンドを繰り返し送信する状態確認手段と、
該状態確認手段により送信された前記状態確認のコマンドに対する状態確認情報を、前記セキュリティデバイスから受信する状態確認情報受信手段とを備え、
前記セキュリティデバイスは、
定期的にセキュリティ検査を実行するセキュリティ検査手段と、
該セキュリティ検査手段によりセキュリティ検査が実行される特定時間前になった場合、前記セキュリティ検査の実行予告を示す状態確認情報を、前記状態確認のコマンドに対する応答として前記マスタデバイスに送信する状態確認情報送信手段とを備える
ことを特徴とする情報処理装置。
【請求項２】
前記セキュリティデバイスの前記セキュリティ検査手段は、
定期的に自己リセットを実行することで、起動時に前記セキュリティ検査を実行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記マスタデバイスの状態確認手段は、
前記状態確認情報受信手段により受信された状態確認情報が前記セキュリティ検査の実行予告を示していた場合、前記特定時間及び前記セキュリティ検査の処理時間の間、前記コマンドの送信を停止する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記マスタデバイスは、
前記状態確認手段により前記コマンドの送信が停止されている間、外部から前記セキュリティデバイスで実行するコマンドを受信した場合、該コマンドを実行不可能であることを外部に応答する状態確認不可能応答通知手段を備える
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
マスタデバイスとセキュリティデバイスとを含む情報処理装置により実行される情報処理方法であって、
前記マスタデバイスにより、前記セキュリティデバイスへ状態確認のコマンドを繰り返し送信し、
前記マスタデバイスにより、送信された前記状態確認のコマンドに対する状態確認情報を、前記セキュリティデバイスから受信し、
前記セキュリティデバイスにより、定期的にセキュリティ検査を実行し、
前記セキュリティデバイスにより、セキュリティ検査が実行される特定時間前になった場合、前記セキュリティ検査が実行されることを示す状態確認情報を、前記状態確認のコマンドに対する応答として前記マスタデバイスに送信する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に係り、特にマスタデバイスとセキュリティデバイスを含む情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、複数の制御部を備えており、マスタ（主）デバイスと、このマスタデバイスにより制御される従属デバイスとからなる情報処理装置が存在する。
このような情報処理装置では、例えば、マスタデバイスが従属デバイスに指示（コマンド）を送信する。これを受信した従属デバイスは、コマンドに対する応答をマスタデバイスに送信する。
【０００３】
また、このような情報処理装置では、マスタデバイスにおいて、従属デバイスの状態を監視するものが存在する。
特許文献１を参照すると、スレーブプロセッサを備えた従属デバイスが、スレーブプロセッサから出力される信号の検出状況に応じて当該スレーブプロセッサが異常状態であることを検出する異常検出手段と、スレーブプロセッサが異常状態であることが検出されたときに、当該スレーブプロセッサの作動状態をリセットするリセット信号を出力するリセット信号出力手段と、スレーブプロセッサが異常状態であると検出された回数に応じてスレーブプロセッサが故障したと判断し、その旨をマスタデバイスのマスタプロセッサに通知する故障判断手段と、を備える情報処理システムが記載されている。
【０００４】
一方、暗号化や復号化を行うセキュリティ機能を実現するセキュリティデバイスが従属デバイスであった場合、当該セキュリティデバイスのセキュリティ上の安全性を確認するため、定期的にセキュリティ検査を実行する必要がある。
このようなセキュリティ検査においては、当該セキュリティデバイスの制御部自身によりソフトウェア的にリセット（以下、「自己リセット」という。）し、初期化処理中にセキュリティをチェックする方式が存在する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１４９５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、セキュリティデバイスがセキュリティ検査で自己リセット等を実行すると、マスタデバイスでは、セキュリティデバイスとの間での通信ができない通信破綻が生じる。しかしながら、特許文献１に記載された技術では、セキュリティ検査の実行中なのか、又はセキュリティデバイスの故障なのかについて、区別ができないという問題があった。
このため、マスタデバイスがセキュリティデバイスをハードウェアエラーと誤認識し、情報処理装置全体として安定的に稼働できない怖れがあった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、マスタデバイスにおいてセキュリティデバイスがセキュリティ検査をすることを把握し、安定性を高める情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、マスタデバイスとセキュリティデバイスとを含む情報処理装置であって、前記マスタデバイスは、前記セキュリティデバイスへ状態確認のコマンドを繰り返し送信する状態確認手段と、該状態確認手段により送信された前記状態確認のコマンドに対する状態確認情報を、前記セキュリティデバイスから受信する状態確認情報受信手段とを備え、前記セキュリティデバイスは、定期的にセキュリティ検査を実行するセキュリティ検査手段と、該セキュリティ検査手段によりセキュリティ検査が実行される特定時間前になった場合、前記セキュリティ検査の実行予告を示す状態確認情報を、前記状態確認のコマンドに対する応答として前記マスタデバイスに送信する状態確認情報送信手段とを備えることを特徴とする。
このように構成することで、セキュリティ検査中なのか、セキュリティデバイスの故障なのかを区別することが可能となり、装置の安定性を高めることができる。
【０００９】
本発明の情報処理装置は、前記セキュリティデバイスの前記セキュリティ検査手段は、定期的に自己リセットを実行することで、起動時に前記セキュリティ検査を実行することを特徴とする。
このように構成することで、自己リセットによる通信破綻を防止することができ、安定性を高めることができる。
【００１０】
本発明の情報処理装置は、前記マスタデバイスの状態確認手段は、前記状態確認情報受信手段により受信された状態確認情報が前記セキュリティ検査の実行予告を示していた場合、前記特定時間及び前記セキュリティ検査の処理時間の間、前記コマンドの送信を停止することを特徴とする。
このように構成することで、セキュリティ検査の処理効率を高めることができる。
【００１１】
本発明の情報処理装置は、前記マスタデバイスは、前記状態確認手段により前記コマンドの送信が停止されている間、外部から前記セキュリティデバイスで実行するコマンドを受信した場合、該コマンドを実行不可能であることを外部に応答する状態確認不可能応答通知手段を備えることを特徴とする。
このように構成することで、セキュリティデバイスの故障を外部の装置が誤認識して停止することを防ぐことができ、安定性を高めることができる。
【００１２】
本発明の情報処理方法は、マスタデバイスとセキュリティデバイスとを含む情報処理装置により実行される情報処理方法であって、前記マスタデバイスにより、前記セキュリティデバイスへ状態確認のコマンドを繰り返し送信し、前記マスタデバイスにより、送信された前記状態確認のコマンドに対する状態確認情報を、前記セキュリティデバイスから受信し、前記セキュリティデバイスにより、定期的にセキュリティ検査を実行し、前記セキュリティデバイスにより、セキュリティ検査が実行される特定時間前になった場合、前記セキュリティ検査が実行されることを示す状態確認情報を、前記状態確認のコマンドに対する応答として前記マスタデバイスに送信することを特徴とする。
このように構成することで、セキュリティ検査中なのか、セキュリティデバイスの故障なのかを区別することが可能となり、安定性を高めることができる。
【発明の効果】
【００１３】
本発明によれば、セキュリティデバイスが、セキュリティ検査が実行される特定時間前になった場合、状態確認情報をマスタデバイスに送信することで、マスタデバイスにおいてセキュリティデバイスがセキュリティ検査をすることを把握し、セキュリティ検査中なのか、セキュリティデバイスの故障なのかを区別することができ、安定性を高めた情報処理装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る情報処理システムのシステム構成図である。
【図２】本発明の実施の形態に係るマスタデバイスのコマンド対応処理のフローチャートである。
【図３】本発明の実施の形態に係る従属デバイスのコマンド実行処理のフローチャートである。
【発明を実施するための形態】
【００１５】
＜実施の形態＞
図１を参照して、本発明の実施の形態に係る情報処理システムＸの構成について説明する。
情報処理システムＸは、本実施形態においては、カード発行機能を備えたＡＴＭ（Automated Teller Machine）、キオスク（Kiosk）の端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード発行システム、小売店のメンバーカード発行システム、遊技機のカード発行／支払システム、入退場管理システム等（以下、単に「ＡＴＭ等」と省略して記載する。）である。
【００１６】
また、情報処理システムＸは、カードリーダ１（情報処理装置）、ホスト装置２、及び周辺装置３を含んでいる。各部は、通信ライン５で接続される。
【００１７】
カードリーダ１は、接触型又は非接触型のＩＣカード及び／又は磁気ストライプを備えた磁気カードであるカード媒体４を読み込み（リード）又は書き込み（ライト）可能な装置である。
カードリーダ１の詳細な構成については後述する。
【００１８】
ホスト装置２は、ＡＴＭ等の各機能を実現するための本体装置である。ホスト装置２は、各部の制御用にＰＣ（Personal Computer）、タブレット端末、携帯電話等の制御演算装置を含み、情報処理システムＸの機能を実現するためのアプリケーション（Application Program、図示せず）を実行する。
【００１９】
周辺装置３は、カード媒体４の表面に印刷や刻印を行うプリンタ、ＬＣＤパネルや有機ＥＬパネル等のディスプレイ、タッチパネル、及びボタン等である。
【００２０】
通信ライン５は、汎用のバス、シリアル、パラレル、ＩＰネットワーク等である。通信ライン５により、各部の間で、各種指示（コマンド）やデータを含む情報を送受信可能である。
【００２１】
また、カードリーダ１は、マスタデバイス１０とセキュリティデバイス２０とを含む情報処理装置である。
【００２２】
マスタデバイス１０は、カードリーダ１全体を制御する、例えばメイン（主）基板上の各種回路である。マスタデバイス１０は、接続されたセキュリティデバイス２０を、通信により制御する。
【００２３】
セキュリティデバイス２０は、マスタデバイス１０に接続されるセキュリティ基板であり、従属デバイスの一例である。セキュリティデバイス２０は、カードリーダ１のセキュリティ機能を実現するための各種回路であり、例えば、ＰＣＩ（Payment Card Industry）規格に準拠して構成される。セキュリティデバイス２０は、例えば、カード媒体４に記憶されたＩＤ、暗証番号、パスワード等のセキュリティデータの詐取を防御するためのデータ暗号化機能、復号化機能、カードリーダ１の不正改造検知機能等を備えている。
【００２４】
このため、セキュリティデバイス２０は、ＰＣＩ規格に対応して、マスタデバイス１０からの指示ではなく、独立して定期的にセキュリティのチェック等のセキュリティ検査を実行する。
また、セキュリティデバイス２０は、情報システムの筐体開閉やカードリーダ１の取り外しや改造等を検知するセンサが接続されていてもよい。
【００２５】
詳細に説明すると、マスタデバイス１０は、制御部１１、及びリードライト部１２を含んでいる。また、セキュリティデバイス２０は、制御部２１を備えている。
【００２６】
制御部１１は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等の制御演算手段である。また、制御部１１は、外部の水晶振動子や発振回路を含むタイマを内蔵している。
【００２７】
また、制御部１１は、ＲＡＭ（Random Access Memory ）、ＲＯＭ（Read Only Memory）、フラッシュメモリ（Flash Memory）等の一時的でない記憶媒体を含んでいる。制御部１１の記憶媒体には、メイン基板に実装されている制御部１１の制御プログラムを記憶している。この制御用プログラムは、カード媒体４の検知用のセンサの監視、カード媒体４のリード、ライト、セキュリティデバイス２０の制御等の処理が組み込まれている。
また、制御部１１の記憶媒体には、周期的に制御部２１の状態確認をするための特定の周期的な間隔時間（以下、「特定間隔時間」という。）が記憶されている。この状態確認用の特定間隔時間として、数ミリ秒〜数分単位の時間を、記憶媒体に記憶可能である。
【００２８】
リードライト部１２は、カード媒体４へのリード、ライトを行う磁気ヘッドや電磁誘導コイルや端子等である。また、リードライト部１２は、カード媒体４の検知用のセンサ、駆動機構等も含んでいる。
【００２９】
制御部２１は、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＤＳＰ、ＡＳＩＣ等の制御演算手段である。制御部２１は、ＡＥＳ（Advanced Encryption Standard）等の方式で、各種暗号化や復号化のためのハッシュ演算を専用に実行するアクセレレータ（Accelerator）を含んでいてもよい。また、制御部２１は、独自のタイマを内蔵している。
【００３０】
また、制御部２１は、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の一時的でない記憶媒体を含んでいる。この制御部２１の記憶媒体は、制御部２１の制御プログラムを記憶している。また、制御部２１の記憶媒体は、暗号化のための鍵や、セキュリティ検査のためのハッシュ値、ＣＲＣ値（Cyclic Redundancy Code）を記憶している。
また、制御部２１の記憶媒体には、定期的に自己リセットするため、例えば、数時間〜１日程度の特定の検査間隔の時間（以下、「特定検査間隔時間」という。）が記憶されている。具体的には、制御部２１は、初期化及びセキュリティ検査終了後から、この特定検査間隔時間が経過すると、自己リセットされる。
また、制御部２１の記憶媒体には、自己リセットの直前であることをマスタデバイスに通知するためのカウントダウン用の特定時間が記憶される。この特定時間は、例えば、数秒〜数十秒程度、状態確認用の特定間隔時間よりも長い時間を、記憶媒体に記憶可能である。
【００３１】
また、制御部２１は、マスタデバイス１０や他の装置が備えるセンサの情報を取得することが可能である。
【００３２】
より詳細に説明すると、マスタ部の制御部１１は、機能構成のブロックとして、状態確認部１００（状態確認手段）と、状態確認情報受信部１１０（状態確認情報受信手段）と、状態確認不可能応答通知部１２０（状態確認不可能応答通知手段）とを備えている。
【００３３】
状態確認部１００は、セキュリティデバイス２０へ状態確認情報を送信するよう要求するコマンド（以下、「状態確認コマンド」という。）を繰り返し送信する。具体的に、状態確認部１００は、セキュリティデバイス２０に対して、特定間隔時間で状態確認コマンドを送信する。
【００３４】
また、状態確認部１００は、状態確認コマンド以外に、ホスト装置２や周辺装置３から送信されたコマンド（以下、「通常コマンド」という。）に対応して、セキュリティデバイス２０を含む各部を制御する。また、状態確認部１００は、データの暗号化や復号化が必要な場合、セキュリティデバイス２０に必要なコマンド及びデータを送信する。
【００３５】
また、状態確認部１００は、状態確認情報受信部１１０から取得した状態確認情報がセキュリティ検査の実行予告を示していた場合、カウントダウン用の特定時間及びセキュリティ検査の処理時間の間、コマンドの送信を停止する。
【００３６】
また、セキュリティ検査の処理時間は、セキュリティデバイス２０の自己リセット開始から各種診断処理を終了して、通常コマンドへの応答が可能になるまでの時間より長い時間を測定し、マスタデバイス１０の制御部２１の記憶媒体に設定可能である。以下、カウントダウン用の特定時間及びセキュリティ検査の処理時間の間の時間を、「コマンド送信停止時間」という。状態確認部１００は、タイマを参照して、設定された当該コマンド送信停止時間の間、コマンドの送信を停止する。また、状態確認部１００が送信を停止するコマンドは、状態確認コマンド及び通常コマンドを含む。
【００３７】
状態確認情報受信部１１０は、状態確認部１００により送信された状態確認コマンドに対する状態確認情報を、セキュリティデバイス２０から受信する。これにより、マスタデバイス１０において、セキュリティデバイス２０の状態を常に監視することが可能となる。
【００３８】
状態確認不可能応答通知部１２０は、状態確認部１００によりコマンドの送信が停止されている間、外部から前記セキュリティデバイス２０で実行するコマンドを受信した場合、当該コマンドを実行不可能であることを外部に応答する。具体例として、状態確認不可能応答通知部１２０は、ホスト装置２又は周辺装置３から、通常コマンドを受信した際に、処理中を意味する「ビジー」等で実行不可能であることを示す応答（以下、「実行不可応答」という。）を行う。
【００３９】
なお、この実行不可能応答は、単にセキュリティデバイス２０が暗号化や複合化の演算処理等をしているためビジーなのか、セキュリティ検査をしているためビジーなのかについて区別できないように応答してもよい。
このように構成することで、セキュリティ検査中であることを隠すことができ、セキュリティを高めることができる。
【００４０】
また、セキュリティデバイス２０の制御部２１は、機能構成のブロックとして、セキュリティ検査部２００（セキュリティ検査手段）、及び状態確認情報送信部２１０（状態確認情報送信手段）を備えている。
【００４１】
セキュリティ検査部２００は、定期的にセキュリティ検査を実行する。このセキュリティ検査の具体例としては、セキュリティデバイス２０自身のセキュリティ上の安全性を確認するためのＰＣＩ規格のセルフチェック（self-check）等を行う。また、セキュリティ検査部２００は、セキュリティデバイス２０が内蔵するタイマを設定して、特定検査間隔時間が経過した場合に、このセキュリティ検査を実行する。この特定の検査間隔時間の値は、制御部２１の記憶媒体のＲＯＭやフラッシュメモリ等に、ＰＣＩ規格等に合わせて設定される。
【００４２】
また、セキュリティ検査部２００は、定期的に自己リセットを実行することで、起動時にセキュリティ検査を実行する。セキュリティ検査部２００は、タイマにより特定検査間隔時間が経過したら、自己リセットにより、制御プログラムの先頭から実行させる。
セキュリティ検査部２００は、セキュリティ検査として、再起動時の一連の初期化処理の中で、各部のセキュリティチェック、プログラムやデータの正真性のチェック等を実行する。
【００４３】
状態確認情報送信部２１０は、セキュリティ検査部２００によりセキュリティ検査が実行される際のカウントダウン用の特定時間前になった場合、セキュリティ検査の実行予告を示す状態確認情報を、マスタデバイス１０に送信する。これにより、自己リセット直前であることを、マスタデバイス１０に報知可能である。
また、状態確認情報送信部２１０は、通常コマンドを受信し、これに対する処理を実行し、結果を応答する。
また、状態確認情報送信部２１０は、セキュリティ検査の結果が不正であったり、各部が故障していたりした場合、これを検知して応答する。
【００４４】
〔マスタデバイス１０によるコマンド対応処理〕
次に、図２により、本発明の実施の形態に係るマスタデバイス１０で実行されるコマンド対応処理の説明を行う。
本実施形態のコマンド対応処理は、セキュリティデバイス２０へ、状態確認コマンドを、定期的に、繰り返し送信する。この際、送信された状態確認コマンドに対する状態確認情報を、セキュリティデバイス２０から受信する。また、受信した状態確認情報がセキュリティ検査の実行予告を示しており、コマンド送信停止時間の場合、コマンドの送信を停止する。このコマンド送信停止時間内で、外部から前記セキュリティデバイス２０で実行するコマンドを受信した場合、当該コマンドを実行不可能であることを外部に応答する。
本実施形態のコマンド対応処理は、主にマスタデバイス１０の制御部１１が、内蔵の記憶媒体に記憶された制御プログラムを実行することで、各部と協同し、ハードウェア資源を用いて実行する。
以下で、図２のフローチャートにより、動作履歴保存処理の詳細をステップ毎に説明する。
【００４５】
（ステップＳ１０１）
まず、状態確認部１００が、タイマチェック処理を行う。
状態確認部１００は、内蔵するタイマの値を読み出し、コマンド送信停止時間が設定されているか、又は状態確認用の特定間隔時間になっているかについて確認する。
【００４６】
（ステップＳ１０２）
次に、状態確認部１００が、コマンド送信停止時間内であるか否かを判定する。状態確認部１００は、コマンド送信停止時間が設定され、まだこのコマンド送信停止時間が経過していない場合に、Ｙｅｓと判定する。また、状態確認部１００は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認部１００は、処理をステップＳ１１０に進める。
Ｎｏの場合、状態確認部１００は、処理をステップＳ１０３に進める。
【００４７】
（ステップＳ１０３）
コマンド送信停止時間内でなかった場合、状態確認部１００が、通常コマンドを受信したか否かを判定する。状態確認部１００は、ホスト装置２及び／又は周辺機器から、通常コマンドを受信していた場合に、Ｙｅｓと判定する。状態確認部１００は、通常コマンドを受信していない場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認部１００は、処理をステップＳ１０４に進める。
Ｎｏの場合、状態確認部１００は、処理をステップＳ１０５に進める。
【００４８】
（ステップＳ１０４）
通常コマンドを受信した場合、状態確認部１００が、通常コマンド対応処理を行う。
状態確認部１００は、受信した通常コマンドに対応する処理を実行する。この際、状態確認部１００は、セキュリティデバイス２０にコマンド及びデータを送信することも可能である。具体例として、状態確認部１００は、データの暗号化、復号化等の処理が必要な場合、セキュリティデバイス２０にコマンドにて必要なデータを送信する。
【００４９】
（ステップＳ１０５）
通常コマンドを受信していない場合、状態確認部１００が、状態確認用の特定間隔時間か否かを判定する。状態確認部１００は、タイマから読み出した値が、特定間隔時間に対応した値であった場合に、Ｙｅｓと判定する。状態確認部１００は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認部１００は、処理をステップＳ１０６に進める。
Ｎｏの場合、状態確認部１００は、処理をステップＳ１０１に戻して、タイマの読み出しを続ける。
【００５０】
（ステップＳ１０６）
タイマが、状態確認用の特定間隔時間に対応した値であった場合、状態確認部１００が、状態確認コマンド送信処理を行う。
状態確認部１００は、セキュリティデバイス２０に対して、状態確認コマンドを送信する。このように、セキュリティデバイス２０へ状態確認コマンドを繰り返し送信することで、周期的にセキュリティデバイス２０の状態を監視することが可能となる。
【００５１】
（ステップＳ１０７）
ここで、状態確認情報受信部１１０が、応答受信処理を行う。
状態確認情報受信部１１０は、状態確認コマンドについて、応答として状態確認情報を受信する。また、状態確認情報受信部１１０は、この状態確認情報から、カードリーダ１が情報処理システムＸから取り外されたことや、不正改造のために分解されたこと等を検出して、ホスト装置２等に報知することが可能である。
【００５２】
状態確認情報受信部１１０は、通常コマンドについて、応答としてセキュリティデバイス２０の制御部２１による計算結果等のデータ等を受信する。状態確認情報受信部１１０は、通常コマンドの応答として、その他のデータやコマンド等も受信可能である。
また、状態確認情報受信部１１０は、通常コマンドの応答においても、セキュリティ検査の実行予告を取得することが可能である。
また、状態確認情報受信部１１０は、これらの応答の内容により、ホスト装置２や周辺装置３にデータを送信したり、制御したりすることが可能である。
【００５３】
（ステップＳ１０８）
次に、状態確認部１００が、セキュリティ検査の実行予告があったか否かを判定する。状態確認部１００は、セキュリティ検査の実行予告を示す状態確認情報を受信した場合、Ｙｅｓと判定する。状態確認部１００は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認部１００は、処理をステップＳ１０９に進める。
Ｎｏの場合、状態確認部１００は、処理をステップＳ１０１に戻して、タイマのチェックを続ける。
【００５４】
（ステップＳ１０９）
セキュリティ検査の実行予告があった場合、状態確認部１００が、コマンド送信停止時間設定処理を行う。
状態確認部１００は、セキュリティ検査の実行予告があった場合、コマンド送信停止時間を設定する。これにより、マスタデバイス１０は、カウントダウン用の特定時間及びセキュリティ検査の処理時間の間、コマンドの送信を停止する。
その後、状態確認部１００は、処理をステップＳ１０１に戻して、タイマのチェックを続ける。
なお、マスタデバイス１０は、コマンド送信停止時間が経過したら、コマンドの送信を再開する。
【００５５】
（ステップＳ１１０）
ここで、コマンド送信停止時間が設定されていた場合でも、状態確認不可能応答通知部１２０が、通常コマンドを受信したか否かを判定する。状態確認不可能応答通知部１２０は、ホスト装置２及び／又は周辺機器から、通常コマンドを受信していた場合に、Ｙｅｓと判定する。状態確認不可能応答通知部１２０は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認不可能応答通知部１２０は、処理をステップＳ１１１に進める。
Ｎｏの場合、状態確認不可能応答通知部１２０は、処理をステップＳ１０１に戻して、タイマのチェックを続ける。
【００５６】
（ステップＳ１１１）
コマンド送信停止時間内に通常コマンドを受信した場合、状態確認不可能応答通知部１２０が、状態確認不可能応答処理を行う。
状態確認不可能応答通知部１２０は、ホスト装置２及び／又は周辺装置３等から、セキュリティデバイス２０で処理が必要なコマンドを受信した場合、実行不可応答を行う。つまり、状態確認不可能応答通知部１２０は、当該コマンドを実行不可能であることを、マスタデバイスの外部の装置に応答する。
また、状態確認不可能応答通知部１２０は、セキュリティデバイス２０へのコマンドの送信をしない。これにより、セキュリティデバイス２０は、コマンド送信停止時間が設定されている間、コマンドに応答することがなくなる。
【００５７】
その後、状態確認不可能応答通知部１２０は、処理をステップＳ１０１に戻して、タイマのチェックを続ける。
なお、マスタデバイス１０は、コマンド送信停止時間が経過したら、コマンド送信を再開し、情報処理システムＸ内の他の装置からのコマンドに対しても、通常通りの応答を行う。
以上により、本発明の実施の形態に係るマスタデバイスによるコマンド対応処理を終了する。
【００５８】
〔セキュリティデバイス２０によるコマンド実行処理〕
次に、図３により、本発明の実施の形態に係るセキュリティデバイス２０で実行されるコマンド実行処理の説明を行う。
本実施形態のコマンド実行処理は、定期的に自己リセットによりセキュリティ検査を実行する。この自己リセットが実行される際のカウントダウン用の特定時間前になった場合、セキュリティ検査の実行予告を、コマンドに対する応答に含めて、マスタデバイス１０に送信する。また、自己リセットの直前でない場合には、マスタデバイス１０から送信された通常コマンドや状態確認コマンドへ応答する。
本実施形態のコマンド実行処理は、主にセキュリティデバイス２０の制御部２１が、内蔵の記憶媒体に記憶された制御プログラムを実行することで、各部と協同し、ハードウェア資源を用いて実行する。
以下で、図３のフローチャートにより、コマンド実行処理の詳細をステップ毎に説明する。
【００５９】
（ステップＳ２０１）
まず、セキュリティ検査部２００が、初期化セキュリティ検査処理を行う。
セキュリティデバイス２０の制御部２１がリセットや起動された場合、まず、記憶媒体のメモリ空間の最初のアドレスから実行が開始される。これにより、セキュリティ検査部２００が、各部の初期化処理を行う。
セキュリティ検査部２００は、例えば、セキュリティデバイス２０の各回路が不正改造されていないかチェックする。また、セキュリティ検査部２００は、内蔵された記憶媒体のプログラムやデータのハッシュ値、ＣＲＣ値等を算出し、これが整合するかどうか等を判断することで、正真性のチェックを行う。
【００６０】
また、セキュリティ検査部２００は、セキュリティデバイス２０が内蔵するタイマに、初期値を設定する。
なお、セキュリティ検査部２００は、マスタデバイス１０についても、セキュリティチェックを実行することが可能である。
【００６１】
（ステップＳ２０２）
次に、状態確認情報送信部２１０が、コマンドを受信したか否かを判定する。状態確認情報送信部２１０は、マスタデバイス１０からコマンドを受信した場合に、Ｙｅｓと判定する。状態確認情報送信部２１０は、マスタデバイス１０からコマンドを受信していない場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認情報送信部２１０は、処理をステップＳ２０３に進める。
Ｎｏの場合、状態確認情報送信部２１０は、コマンドが受信されるまで待機する。
【００６２】
（ステップＳ２０３）
コマンドを受信していた場合、状態確認情報送信部２１０が、自己リセットが実行される際のカウントダウン用の特定時間前か否かを判定する。状態確認情報送信部２１０は、タイマを参照し、特定検査間隔時間の特定時間前、すなわち自己リセットが実行される際のカウントダウン用の特定時間前になった場合に、Ｙｅｓと判定する。状態確認情報送信部２１０は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態確認情報送信部２１０は、処理をステップＳ２０５に進める。
Ｎｏの場合、状態確認情報送信部２１０は、処理をステップＳ２０４に進める。
【００６３】
（ステップＳ２０４）
特定検査間隔時間のカウントダウン用の特定時間前になっていなかった場合、状態確認情報送信部２１０が、通常応答処理を行う。
状態確認情報送信部２１０は、状態確認コマンドに対して、状態確認情報を作成して応答する。状態確認情報送信部２１０は、カードリーダ１の取り外し、分解された等の情報についても判断して、状態確認情報に含めることが可能である。
また、状態確認情報送信部２１０は、通常コマンドに対しても応答する。この際、状態確認情報送信部２１０は、マスタデバイス１０から取得したデータを暗号化、復号化等したデータを含めた応答を行う。
【００６４】
（ステップＳ２０５）
自己リセットが実行される際のカウントダウン用の特定時間前であった場合、状態確認情報送信部２１０が、セキュリティ検査実行予告処理を行う。
状態確認情報送信部２１０は、状態確認コマンドに対して、セキュリティ検査の実行予告を示す状態確認情報を作成して応答する。状態確認情報送信部２１０は、具体的には、状態確認コマンドに対する応答として、自己リセット直前である旨のフラグ等を含む状態確認情報を送信する。
【００６５】
また、状態確認情報送信部２１０は、通常コマンドに対しても、セキュリティ検査の実行予告を示す状態確認情報を作成して応答する。この際、状態確認情報送信部２１０は、上述のステップＳ２０４の通常応答処理と同様のデータに加えて、上述の自己リセット直前である旨のフラグ等を含むデータを作成して応答することが可能である。
これにより、状態確認情報送信部２１０は、まもなく自己リセットが開始されることを予告する応答を行う。
【００６６】
（ステップＳ２０６）
次に、セキュリティ検査部２００が、カウントダウン待機処理を行う。
セキュリティ検査部２００は、タイマにより時間を計測し、カウントダウン用の特定時間だけ処理を停止して待機する。セキュリティ検査部２００は、これにより、自己リセットまでのいわゆる「カウントダウン」を行う。
【００６７】
（ステップＳ２０７）
次に、セキュリティ検査部２００が、自己リセット処理を行う。
セキュリティ検査部２００は、カウントダウン後に、自己リセットを行う。セキュリティ検査部２００は、例えば、特別なリセット用のレジスタを書き込み、プログラムカウンタの値を「０」にする等により、ソフトウェア的にリセットすることが可能である。また、セキュリティ検査部２００は、リセット端子に接続された外部端子に信号を送信することでリセットしてもよい。
【００６８】
その後、再起動したセキュリティデバイス２０の制御部２１は、処理をステップＳ２０１に戻して、初期化及びセキュリティ検査を実行する。つまり、本実施形態では、自己リセットによりメモリ空間の先頭から制御プログラムが実行され、起動時の一連の初期化処理が実行されると、その課程でセキュリティ検査が実行される。
以上により、本発明の実施の形態に係るセキュリティデバイスによるコマンド実行処理を終了する。
【００６９】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来の情報処理装置では、セキュリティデバイスがセキュリティ検査の実行中は、マスタデバイスがセキュリティデバイスにアクセスできず、通信破綻を起こしていた。つまり、マスタデバイスからは、この状態がセキュリティ検査なのか、セキュリティデバイスの故障によるものなのかを区別することができなかった。
【００７０】
これに対して、本発明の実施の形態に係る情報処理装置は、マスタデバイス１０とセキュリティデバイス２０とを含むカードリーダ１であって、マスタデバイス１０は、セキュリティデバイス２０へ状態確認コマンドを繰り返し送信する状態確認部１００と、状態確認部１００により送信された状態確認コマンドに対する状態確認情報を、セキュリティデバイス２０から受信する状態確認情報受信部１１０とを備え、セキュリティデバイス２０は、定期的にセキュリティ検査を実行するセキュリティ検査部２００と、セキュリティ検査部２００によりセキュリティ検査が実行される際のカウントダウン用の特定時間前になった場合、セキュリティ検査の実行予告を示す状態確認情報を、状態確認コマンドに対する応答としてマスタデバイス１０に送信する状態確認情報送信部２１０とを備える。
【００７１】
このように構成することで、マスタデバイス１０は、セキュリティ検査なのか、セキュリティデバイス２０の故障によるものなのかを区別することが可能となる。このため、カードリーダ１の安定性を向上させることができる。
また、セキュリティデバイス２０の故障に対して、マスタデバイス１０が迅速にホスト装置２等に送信して、対応させることが可能になる。
【００７２】
また、本発明の実施の形態に係るカードリーダ１は、セキュリティデバイス２０のセキュリティ検査部２００が、定期的に自己リセットを実行することで、起動時にセキュリティ検査を実行する。
つまり、セキュリティデバイス２０が自己リセットの直前にその旨をマスタデバイス１０に通知することにより、マスタデバイス１０において、セキュリティデバイス２０が自己リセットを行うことを把握できるようになる。
【００７３】
これにより、セキュリティデバイス２０の自己リセットによる通信破綻を防止することで、セキュリティデバイス２０のハードウェア異常の誤認識をなくし、安定した稼働を継続することができる。
【００７４】
また、本発明の実施の形態に係るカードリーダ１は、マスタデバイス１０の状態確認部１００が、状態確認情報受信部１１０により受信した状態確認情報がセキュリティ検査の実行予告を示していた場合、カウントダウン用の特定時間及びセキュリティ検査の処理時間の間、コマンドの送信を停止する。
【００７５】
このように構成することで、セキュリティデバイス２０は、セキュリティ検査の際にコマンドを受信する必要がなくなり、セキュリティ検査の処理効率を高めることができる。これにより、自己リセットからセキュリティデバイス２０が使用可能になるまでの時間を短くすることができる。また、セキュリティ検査時に不正なアクセスによりセキュリティ検査自体を妨害されることを防止し、よりセキュリティを高め、システム全体の安定性を高めることができる。
【００７６】
また、本発明の実施の形態に係るカードリーダ１は、マスタデバイス１０が、状態確認手段によりコマンドの送信が停止されている間、ホスト装置２及び／又は周辺装置３から前記セキュリティデバイス２０で実行するコマンドを受信した場合、当該コマンドを実行不可能であることを当該ホスト装置２及び／又は周辺装置３に応答する状態確認不可能応答通知部１２０を備える。
【００７７】
このように構成することで、マスタデバイス１０は、セキュリティデバイス２０がセキュリティ検査中であるのにハードウェアエラーと誤認識し、これを情報処理システムＸのホスト装置２や周辺装置３等に通知し、結果として情報処理システムＸ全体が停止することを防ぐことができる。
また、ホスト装置２のアプリケーションや制御プログラム等を、セキュリティデバイス２０の自己リセットに対応して変更しなくてもよいため、安定性を高め、開発コストを削減することができる。
【００７８】
〔他の実施の形態〕
なお、上述の実施の形態においては、セキュリティデバイス２０のセキュリティ検査として、自己リセットを具体例として挙げた。しかしながら、自己リセット以外の方式で、セキュリティ検査を実行してもよい。たとえば、サブルーチンやクラス等の専用の検査用の制御プログラムを実行してもよい。
【００７９】
このように構成することで、セキュリティ検査以外の他の初期化等の処理を実行しなくてもよくなり、効率的にセキュリティ検査を実行可能となる。
【００８０】
また、上述の実施の形態においては、セキュリティ検査の特定検査間隔時間として、固定の時間間隔を設定する例について説明した。また、状態確認用の特定間隔時間についても固定である例について説明した。
しかしながら、特定検査間隔時間及び特定間隔時間は、固定値でなくてもよい。具体的には、セキュリティ検査のための自己リセットまでの間隔は、暗号化や複合化の処理の内容や処理数等により、稼働中に変更可能である。
また、セキュリティデバイス２０への状態確認コマンドの送信の間隔も、例えば、省電力モード等の電源の状態、情報処理システムＸの稼働状態等により、変更することが可能である。
【００８１】
このように構成することで、処理負担を抑えて、より安全性を高め、効率を高めた情報処理システムＸを提供可能となる。
【００８２】
また、上述の実施の形態においては、セキュリティ検査の実行予告として、コマンドに対する応答により実行する例について説明した。しかしながら、マスタデバイス１０とセキュリティデバイス２０の間に信号ラインを設けて、当該信号のハイ／ローを切り替える等の手法で、セキュリティ検査の実行予告を通知してもよい。つまり、信号ラインにより、上述のコマンドの送受信と同様に対応可能である。また、メイン基板とセキュリティ基板との通信についても、各種の方式を使用することが可能である。
【００８３】
このように構成することで、マスタデバイス１０において、コマンドに対するレスポンスを解析しなくても、セキュリティ検査の実行予告を把握することができる。また、処理負担を軽減でき、コマンドの処理効率を高めることができる。
【００８４】
また、上述の実施の形態では、状態確認情報の送信とセキュリティ検査の実行予告の受信とについて、マスタデバイス１０とセキュリティデバイス２０との関係で説明したが、これに限られない。つまり、ホスト装置２とカードリーダ１との関係等についても、同様の構成で適用することが可能である。
また、マスタデバイス１０は、ホスト装置２及び／又は周辺装置３に、セキュリティ検査を実行中、若しくはセキュリティ検査を実行済みであることを意味する応答を送信することも可能である。
【００８５】
このように構成することで、セキュリティ検査について柔軟に対応可能である。また、ホスト装置２及び／又は周辺装置３にて、セキュリティ検査の実行の把握が可能となり、ユーザーにメッセージを表示する等、適切な対応をすることが可能となる。また、マスタデバイス１０がビジーの応答等をしなくてもよくなるため、処理効率を高めることができる。
また、ホスト装置２及び／又は周辺装置３で、セキュリティ検査について把握可能となることで、ホスト装置２及び／又は周辺装置３の初期化処理や、初期化済みである旨を確認させる処理等を、適切なタイミングで実行可能となる。
【００８６】
また、上述の実施の形態では、セキュリティ検査を実行するセキュリティデバイス２０が従属デバイスである構成について説明した。しかしながら、従属デバイスとして、セキュリティデバイス２０以外の回路等も使用できる。
【００８７】
このように構成することで、セキュリティデバイス２０以外の従属デバイスであっても、自己リセット等により応答できない場合に、マスタデバイス１０で容易に把握することができる。
【００８８】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００８９】
１  カードリーダ
２  ホスト装置
３  周辺装置
４  カード媒体
５  通信ライン
１０  マスタデバイス
１１、２１  制御部
１２  リードライト部
２０  セキュリティデバイス
１００  状態確認部
１１０  状態確認情報受信部
１２０  状態確認不可能応答通知部
２００  セキュリティ検査部
２１０  状態確認情報送信部
Ｘ  情報処理システム
【図１】
0006444792.tif 000002
【図２】
0006444792.tif 000003
【図３】
0006444792.tif 000004