(57)【要約】      （修正有）【課題】スレーブデバイスで確実に状態変化に対応した処理を実行可能な情報処理装置を提供する。【解決手段】情報処理システムにおいて、カードリーダの状態通知部１００は、状態変化に対応して、状態通知ラインを介してマスタデバイス１０に状態通知を行う。コマンド送信部１１０は、状態変化からの復帰を待ち、復帰したら、スレーブデバイス２０に、状態変化に対応する処理を実行させるコマンドを送信する。状態通知検出部２００は、マスタデバイスからの状態通知ラインを介した状態通知を検出する。状態処理実行部２１０は、状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイスからの指示を待ち、コマンドを受信した場合に、状態変化に対応した処理を行う。【選択図】図１
2020004207.tif 000002
【特許請求の範囲】
【請求項１】
マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置であって、
前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、
前記マスタデバイスは、
状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行う状態通知部と、
前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを、前記通信ラインを介して送信するコマンド送信部とを備え、
前記スレーブデバイスは、
前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定する状態通知検出部と、
前記状態通知検出部による前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、前記コマンドを受信した際に、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが設定されていない場合は、前記状態変化に対応した処理を行わない状態処理実行部とを備える
ことを特徴とする情報処理装置。
【請求項２】
前記マスタデバイスは、カード媒体検知用センサの状態監視や、各種駆動機構を制御するメイン処理装置であり、
前記スレーブデバイスは、前記情報の暗号化を実行し、暗号化された前記情報を処理し、カード媒体に対する情報の書き込みと読み出しとを制御するサブ処理装置である
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記状態通知は、電圧低下に対する前記状態の通知であり、
前記状態処理実行部は、前記電圧低下があった場合、前記情報の処理のシーケンスをクリアする処理を実行する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、カードリーダである
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置により実行される情報処理方法であって、
前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、
前記マスタデバイスにより、状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行い、
前記スレーブデバイスにより、前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定し、
前記スレーブデバイスにより、前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、
前記マスタデバイスにより、前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを送信し、
前記スレーブデバイスにより、前記コマンドを受信した際に、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが設定されていない場合は、前記状態変化に対応した処理を行わない
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に係り、特にマスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、マスタデバイスとスレーブデバイスとの間で通信可能なカードリーダ等の情報処理装置が存在する。
たとえば、特許文献１には、クロック信号線及びデータ信号線の２種類の信号線によって接続されたマスタデバイスとスレーブデバイスとを有し、所定の通信方式でデータを伝送する情報処理装置が記載されている。
【０００３】
このような情報処理装置において、マスタデバイスが状態変化をスレーブデバイスに通知する場合、マスタデバイスは、通信ラインを介して、マスタデバイスから状態通知コマンドを送信する。スレーブデバイスは、このコマンドを受信して、マスタデバイスの状態変化を認識し、必要な処理を実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−６７２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されたような従来の情報処理装置では、電圧低下等の状態変化が生じた場合、通信が不安定になって、マスタデバイスからスレーブデバイスに状態変化を通知できないことがあった。この場合、状態変化から復帰した際に、マスタデバイスが、状態変化に対応した処理を行うようスレーブデバイスに対して指示しても、上述の必要な処理が実行されていないため、エラーとなることがあった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、スレーブデバイスにて、状態変化に対応した処理を確実に実行可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の情報処理装置は、マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置であって、前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、前記マスタデバイスは、状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行う状態通知部と、前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを、前記通信ラインを介して送信するコマンド送信部とを備え、前記スレーブデバイスは、前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定する状態通知検出部と、前記状態通知検出部による前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、前記コマンドを受信した際に、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが設定されていない場合は、前記状態変化に対応した処理を行わない状態処理実行部とを備えることを特徴とする。
このように構成することで、スレーブデバイスにて、状態変化に対応した処理を確実に実行できる。
【０００８】
本発明の情報処理装置は、前記マスタデバイスは、カード媒体検知用センサの状態監視や、各種駆動機構を制御するメイン処理装置であり、前記スレーブデバイスは、前記情報の暗号化を実行し、暗号化された前記情報を処理し、カード媒体に対する情報の書き込みと読み出しとを制御するサブ処理装置であることを特徴とする。
このように構成することで、暗号化処理を行うため特定の処理手順を遵守する必要があるスレーブデバイスにおいて、状態変化に対応した処理を確実に実行させることが可能になる。
【０００９】
本発明の情報処理装置は、前記状態通知は、電圧低下に対する前記状態の通知であり、前記状態処理実行部は、前記電圧低下があった場合、前記情報の処理のシーケンスをクリアする処理を実行することを特徴とする。
このように構成することで、電源復帰時に、コマンドを受信してから、シーケンスをクリアして、取引再開に備えることができる。
【００１０】
本発明の情報処理装置は、前記情報処理装置は、カードリーダであることを特徴とする。
このように構成することで、状態変化に対応した処理を確実に実行させるカードリーダを提供できる。
【００１１】
本発明の情報処理方法は、マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置により実行される情報処理方法であって、前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、前記マスタデバイスにより、状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行い、前記スレーブデバイスにより、前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定し、前記スレーブデバイスにより、前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、前記マスタデバイスにより、前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを送信し、前記スレーブデバイスにより、前記コマンドを受信した際に、前記通知検出フラグが設定された場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが非設定である場合は、前記状態変化に対応した処理を行わないことを特徴とする。
このように構成することで、状態変化に対応した処理を確実に実行できる。
【発明の効果】
【００１２】
本発明によれば、マスタデバイスから状態変化に対応して、状態通知ラインを介してスレーブデバイスに状態通知を行い、スレーブデバイスにて、この状態通知を検出した際に、状態変化に対応する処理を即実行せずに更にマスタデバイスからのコマンドを待ち、コマンドを受信した場合に、状態変化に対応した処理を行うように構成することで、スレーブデバイスにて、状態変化に対応した処理を確実に実行可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る情報処理システムＸのシステム構成図である。
【図２】本発明の実施の形態に係る状態認識対応処理のフローチャートである。
【図３】図２に示す状態認識対応処理の概念図である。
【図４】図２に示す状態認識対応処理の概念図である。
【図５】図２に示す状態認識対応処理の概念図である。
【発明を実施するための形態】
【００１４】
＜実施の形態＞
図１を参照して、本発明の実施の形態に係る情報処理システムＸの構成について説明する。
情報処理システムＸは、本実施形態においては、カード発行機能を備えたＡＴＭ（Automated Teller Machine）、キオスク（Kiosk）の端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード発行システム、小売店のメンバーカード発行システム、遊技機のカード発行／支払システム、入退場管理システム等（以下、単に「ＡＴＭ等」と省略して記載する。）である。
【００１５】
情報処理システムＸは、カードリーダ１、上位装置２、主電源４、及び予備電源５を含んでいる。
【００１６】
カードリーダ１は、接触型又は非接触型のＩＣカード及び／又は磁気ストライプを備えた磁気カードであるカード媒体３を読み込み（リード）又は書き込み（ライト）可能な装置である。カードリーダ１は、本実施形態の情報処理装置の一例である。
カードリーダ１の詳細な構成については後述する。
【００１７】
上位装置２は、ＡＴＭ等の各機能を実現するための本体装置である。具体的には、上位装置２は、例えば、各部の制御用のＰＣ（Personal Computer）、タブレット端末、携帯電話等の制御演算装置を含み、情報処理システムＸの機能を実現するためのアプリケーション（Application Program、図示せず）を実行する。加えて、上位装置２には、カード媒体３の表面に印刷や刻印を行うプリンタ、ＬＣＤパネルや有機ＥＬパネル等のディスプレイ、タッチパネル、及びボタン等の周辺装置が接続されている。
【００１８】
カードリーダ１と上位装置２との間は、通信ラインＤで接続されている。通信ラインＤは、例えば、汎用のバス、シリアル、パラレル、ＩＰネットワーク等である。通信ラインＤにより、各種指示（コマンド）やデータを含む情報を送受信可能である。
【００１９】
主電源４は、電灯線等と接続された電源回路である。主電源４は、ある程度の電灯線等の電源断や低下が起こっても直後に出力を喪失せず、特定時間の間、特定の割合で電圧を降下させるようなバッファー機能等を備えている。
【００２０】
予備電源５は、主電源４と別回路で接続されている予備電源である。この予備電源５は、例えば、各種バッテリやキャパシタ、無停電電源装置、非常用発電機等である。予備電源５は、主電源４の電圧が特定電圧以下になり、低電圧状態が続くと、電源断でマスタデバイス１０及びスレーブデバイス２０が機能停止する前に、電源を供給する。
【００２１】
より具体的に説明すると、カードリーダ１は、マスタデバイス１０、スレーブデバイス２０、及びリードライト部３０を含む情報処理装置である。
マスタデバイス１０とスレーブデバイス２０との間には、状態通知ラインＢと、通信ラインＣとが接続されている。
【００２２】
マスタデバイス１０は、カードリーダ１としての一般的な処理を行い、カード媒体３の検知用センサの状態監視や、各種駆動機構を制御するメイン処理装置である。マスタデバイス１０は、例えば、カードリーダ１全体を制御するメイン（主）基板上の各種回路として構成される。本実施形態において、マスタデバイス１０は、接続されたスレーブデバイス２０を通信により制御する。
【００２３】
スレーブデバイス２０は、情報の暗号化を実行し又は暗号化された情報を処理するセキュリティ機能を実現したり、カード媒体３に対する情報の書き込みと読み出しとを制御するためのサブ処理装置である。スレーブデバイス２０は、例えば、マスタデバイス１０に接続されるセキュリティ基板上の各種回路として構成される。本実施形態においては、スレーブデバイス２０は、ＰＣＩ（Payment Card Industry）規格に準拠して構成され、カードリーダ１におけるセキュリティ機能を実現させる。このため、スレーブデバイス２０は、例えば、カード媒体３に記憶されたＩＤ、暗証番号、パスワード等のデータの詐取を防御するためのデータ暗号化機能、復号化機能、カードリーダ１の不正改造検知機能等を備えている。加えて、本実施形態のスレーブデバイス２０は、セキュリティのため、特定の処理手順を遵守して制御しないと処理を実行しないよう構成されている。
【００２４】
リードライト部３０は、カード媒体３へのリード（読み出し）、ライト（書き込み）を行う磁気ヘッドや電磁誘導コイルや端子等と、このための回路等を含む構成部である。
【００２５】
状態通知ラインＢは、状態監視を行うための論理出力を行う信号線である。状態通知ラインＢは、例えば、ＧＰＩＯ（General-purpose input/output）のピンの一つとして提供される。この場合、状態通知ラインＢは、論理の反転により、マスタデバイス１０からスレーブデバイス２０へ状態を通知する。この状態通知ラインＢの論理変化の監視は、制御レジスタの読み書きで処理できるため、通信ラインＣを介したコマンドの送信よりも高速に通知可能であり、急激な電圧低下にも対応可能で、多処理への影響も少ない。また、この論理変化の監視について、割り込みを設定することも可能である。
【００２６】
通信ラインＣは、例えば、汎用のバス、シリアル、パラレル等の信号線である。通信ラインＣは、各種指示（コマンド）やデータを含む情報を、マスタデバイス１０及びスレーブデバイス２０の間で送受信可能である。
【００２７】
さらに詳細に説明すると、マスタデバイス１０は、制御部１１及びパワーダウン検出部１２を備えている。スレーブデバイス２０は、制御部２１を備えている。
【００２８】
制御部１１は、マスタデバイス１０の状態監視及び制御を行う、ＣＰＵ（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）を含んでいる。
【００３２】
また、制御部２１は、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の一時的でない記憶媒体を含んでいる。この制御部２１の記憶媒体は、制御部２１の制御プログラム（組み込みソフトウェア）を記憶している。加えて、制御部２１は、マスタデバイス１０や他の構成部や装置が備えるセンサの情報を取得することも可能である。また、この制御用プログラムには、カード媒体３のリード、ライト等の処理も組み込まれている。
【００３３】
より詳細に説明すると、マスタデバイス１０の制御部１１は、機能構成部として、状態通知部１００、及びコマンド送信部１１０を備えている。
スレーブデバイス２０の制御部２１は、機能構成部として、状態通知検出部２００、及び状態処理実行部２１０を備えている。
さらに、スレーブデバイス２０の制御部２１は、記録媒体にシーケンス情報２２０を格納している。
【００３４】
状態通知部１００は、状態変化に対応して、状態通知ラインＢを介してスレーブデバイス２０に状態通知を行う。本実施形態において、この状態通知は、電圧低下に対する状態の通知である。
【００３５】
コマンド送信部１１０は、状態変化からの復帰を待ち、復帰したら、スレーブデバイス２０に、状態変化に対応する処理を実行させるコマンドを送信する。
【００３６】
状態通知検出部２００は、マスタデバイス１０からの状態通知ラインＢを介した状態通知を検出する。具体的には、状態通知検出部２００は、状態通知ラインＢの論理が反転した場合に、状態通知があったと検出する。この状態通知を検出すると、状態通知検出部２００は、シーケンス情報２２０に、通知検出フラグを設定する。
【００３７】
状態処理実行部２１０は、状態通知検出部２００による状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイス１０からのコマンドを待つ。この上で、状態処理実行部２１０は、マスタデバイス１０からのコマンドを受信した場合に、シーケンス情報２２０に通知検出フラグが設定されている場合は、状態変化に対応した処理を行う。本実施形態において、この状態変化に対応した処理は、電圧低下に対応した処理である。具体的には、状態処理実行部２１０は、主電源４の電圧低下があった場合、シーケンス情報２２０をクリアする処理を実行する。一方、シーケンス情報２２０に通知検出フラグが設定されていない（非設定）である場合は、状態処理実行部２１０は、コマンドを受信した場合であっても、セキュリティを高めるため、シーケンス情報２２０をクリアする処理を行わない。
【００３８】
シーケンス情報２２０は、制御部２１による情報の暗号化又は暗号化された情報、制御プログラムの各種変数、フラグ群等であり、セキュリティデータの一部である。このフラグ群は、例えば、通知検出フラグ及びシーケンスフラグを含む。
通知検出フラグは、状態通知が検出されたことを示すフラグである。通知検出フラグは、例えば、状態通知が検出された場合、非設定（０）から設定（１）に変更される。
シーケンスフラグは、制御部２１による情報の暗号化又は暗号化された情報の処理が、どのステップまで進んでいるかを示すフラグである。この情報の処理としては、機器認証シーケンスや、暗号処理に利用する鍵データの交換シーケンス等を含む。加えて、シーケンスフラグは、例えば、情報の処理が開始された後、ステップ毎に、非設定（０）から設定（１）に変更されることで、そのシーケンスが実行されたことを示す。
【００３９】
ここで、制御部１１は、内蔵する記録媒体に格納された制御プログラムを実行することで、状態通知部１００、及びコマンド送信部１１０として機能させられる。制御部２１は、内蔵する記録媒体に格納された制御プログラムを実行することで、状態通知検出部２００、及び状態処理実行部２１０として機能させられる。
また、上述のカードリーダ１の各部は、本発明の情報処理方法を実行するハードウェア資源となる。
なお、上述の機能構成部の一部又は任意の組み合わせをＩＣやプログラマブルロジックやＦＰＧＡ（Field-Programmable Gate Array）等でハードウェア的に構成してもよい。
【００４０】
〔情報処理システムＸによる状態認識対応処理〕
次に、図２により、本発明の実施の形態に係る情報処理システムＸのカードリーダ１により実行される状態認識対応処理の説明を行う。
本実施形態の状態認識対応処理では、マスタデバイス１０は、状態変化に対応して、状態通知ラインＢを介してスレーブデバイス２０に状態通知を行う。スレーブデバイス２０は、マスタデバイス１０からの状態通知ラインＢを介した状態通知を検出すると、通知検出フラグを設定する。スレーブデバイス２０は、状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイス１０からのコマンドを待つ。マスタデバイス１０は、状態変化からの復帰を待ち、復帰したら、スレーブデバイス２０に、状態変化に対応する処理を実行させるコマンドを送信する。スレーブデバイス２０は、コマンドを受信した際に、通知検出フラグが設定された場合は、状態変化に対応した処理を行い、通知検出フラグが非設定である場合は、状態変化に対応した処理を行わない。
本実施形態の状態認識対応処理は、主にマスタデバイス１０の制御部１１及びスレーブデバイス２０の制御部２１が、内蔵の記憶媒体に記憶された制御プログラムを実行することで、各部と協同し、ハードウェア資源を用いて実行する。
以下で、図２のフローチャートにより、動作履歴保存処理の詳細をステップ毎に説明する。
【００４１】
（ステップＳ１０１）
ここで、状態通知部１００は、パワーダウン検出部１２により、主電源４の電圧低下（パワーダウン）を監視している。状態通知部１００は、電圧低下があった場合に、Ｙｅｓと判定する。状態通知部１００は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態通知部１００は、処理をステップＳ１０２に進める。
Ｎｏの場合、状態通知部１００は、処理をステップＳ１０３に進める。
【００４２】
（ステップＳ１０２）
電圧低下した場合、状態通知部１００が、状態通知処理を行う。
状態通知部１００は、状態変化に対応して、状態通知ラインＢの論理を反転させ、スレーブデバイス２０に状態通知を行う。
【００４３】
（ステップＳ１０３）
次に、状態通知部１００が、実行中プロセス終了処理を行う。
状態通知部１００は、特定電圧まで低下したため、停電（電源断）の可能性ありとして、実行中の処理（プロセス）等を適切に終了させて電源断に備える。これにより、制御部１１の記録媒体が破損等しなくなり、再起動時間等に特別なチェックをしなくてもよくなる。
【００４４】
（ステップＳ２０１）
ここで、スレーブデバイス２０の処理について説明する。
状態通知検出部２００は、状態通知を検出したか否かを判断する。具体的には、状態通知検出部２００は、マスタデバイス１０から接続されている状態通知ラインＢを定期的に監視している。本実施形態においては、状態通知検出部２００は、状態通知ラインＢの論理の反転を検知したところで、状態通知を検出したと認識し、Ｙｅｓと判定する。状態通知検出部２００は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態通知検出部２００は、処理をステップＳ２０２に進める。
Ｎｏの場合、状態通知検出部２００は、処理をステップＳ２０３に進める。
【００４５】
（ステップＳ２０２）
状態通知を検出した場合、状態通知検出部２００が、通知検出フラグ設定処理を行う。
状態通知ラインの反転を検知したところで、状態通知検出部２００は、シーケンス情報２２０の通知検出フラグを設定する。この際に、状態通知検出部２００は、シーケンス情報２２０の他のデータは、変更しない。具体的には、状態通知検出部２００は、例えば、シーケンスフラグは、クリアしない。
これにより、後述するように、マスタデバイス１０が状態変化から復帰した際に、スレーブデバイス２０において、シーケンス情報２２０を含むセキュリティデータの再設定が許可される。すなわち、本実施形態において、この処理は、マスタデバイス１０が状態変化を認識した際の、必要な処理となる。
【００４６】
（ステップＳ１０４）
ここで、再び、マスタデバイス１０の処理について説明する。
次に、コマンド送信部１１０が、電源の復帰を判断する。コマンド送信部１１０は、例えば、主電源４の電圧が特定電圧まで下がっても、それ以上には下がらず、また通常の電圧に戻った場合、Ｙｅｓと判断する。さらに、本実施形態においては、予備電源５により、電源が復帰することが想定される。この場合、制御部１１が電源断で機能停止になるより前に、予備電源５により電源が供給される。その後、主電源４が電源断になったとしても、コマンド送信部１１０は、状態変化から復帰したと判断し、Ｙｅｓと判定する。コマンド送信部１１０は、電源が特定電圧に低下しているままの場合、Ｎｏと判定する。
Ｙｅｓの場合、コマンド送信部１１０は、処理をステップＳ１０５に進める。
Ｎｏの場合、コマンド送信部１１０は、電源が復帰するまで待つ。
【００４７】
（ステップＳ１０５）
電源が復帰した場合、コマンド送信部１１０が、上位装置通知処理を行う。
コマンド送信部１１０は、通信ラインＤにて、上位装置２に対して主電源４の電圧低下の発生を通知する。
この通知を受信した上位装置２は、その時点でカード媒体３による取引の処理が実行されていた場合、この取引を中止する。そして、上位装置２は、主電源４の復旧を待って、改めて、取引を初めから再開させる。
【００４８】
（ステップＳ１０６）
次に、コマンド送信部１１０が、コマンド送信処理を行う。
コマンド送信部１１０は、スレーブデバイス２０に、状態変化に対応する処理を実行させるコマンドを、通信ラインＣを介して送信する。本実施形態では、コマンド送信部１１０は、シーケンス情報２２０をクリアさせるシーケンスクリアコマンドを送信する。
【００４９】
（ステップＳ２０３）
ここで、スレーブデバイス２０の処理について、再び説明する。スレーブデバイス２０の状態処理実行部２１０は、マスタデバイス１０からのコマンドの送付を待機している。
ここで、状態処理実行部２１０は、コマンドを受信した際に、シーケンス情報２２０に通知検出フラグが設定されているか否か判断する。状態処理実行部２１０は、通知検出フラグが設定されていた場合に、Ｙｅｓと判定する。状態処理実行部２１０は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、状態処理実行部２１０は、処理をステップＳ２０４に進める。
Ｎｏの場合、状態処理実行部２１０は、状態認識対応処理を終了し、状態通知検出部２００による状態通知の検出待ちを行う。すなわち、シーケンスフラグのクリア等は行わない。
【００５０】
（ステップＳ２０４）
通知検出フラグが設定されていた場合、状態処理実行部２１０が、シーケンスクリア処理を行う。
状態処理実行部２１０は、コマンドを受信すると、シーケンスフラグをクリアして、その先の取引再開に備える、すなわち、状態処理実行部２１０は、状態変化に対応する処理を即実行せずにマスタデバイス１０からのコマンドを待ってから、この処理を行う。
以上により、本発明の実施の形態に係る状態認識対応処理を終了する。
【００５１】
なお、電圧低下の検出後、そのまま更に主電源４の電圧が低下して、完全に電源断の状態になることもあり得る。この場合、次回電源通電時に、制御部１１は再起動処理を行う。この再起動処理では、マスタデバイス１０及びスレーブデバイス２０のいずれも初期化される。このため、シーケンス情報２２０も初期化される。
【００５２】
〔状態認識対応処理の具体例〕
ここで、図３及び図４により、上述の状態認識対応処理の具体例について説明する。
図３は、実際に電源低下があった場合、図４は電源低下がなかった（ノイズ）場合、図５はコマンドのみ送信された場合を示す。
【００５３】
図３（ａ）は、初期状態を示している。マスタデバイス１０が正常状態の場合、スレーブデバイス２０のシーケンス情報２２０の通知検出フラグは、設定されていない（非設定）である。
図３（ｂ）は、マスタデバイス１０が電圧低下を検出し、状態通知ラインＢを介して、状態通知を行った例を示す。スレーブデバイス２０は、状態通知ラインＢの反転を検知すると、通知検出フラグを設定する。スレーブデバイス２０は、そのまま、コマンドを受信するまで待機する。
図３（ｃ）は、スレーブデバイス２０が、通信ラインＣを介して送信されてきたコマンドを受信した例を示す。この場合、通知検出フラグが設定されているため、シーケンス情報２２０がクリア（消去）される。
【００５４】
図４（ａ）は、図３（ａ）と同じ初期状態を示している。
図４（ｂ）は、マスタデバイス１０が正常状態であるものの、ノイズ等により、状態通知ラインＢの論理が反転した場合を示す。この場合でも、スレーブデバイス２０は、状態通知ラインＢの反転を検知すると、通知検出フラグを設定する。
図４（ｃ）は、マスタデバイス１０が正常であるため、コマンドを送信しない例を示す。この場合、通知検出フラグは設定されたままであるものの、コマンドが受信されていない。このため、電源復帰時の処理が実行されないので、シーケンス情報２２０が消去されることはない。
なお、この状態で、電圧低下による電源断が起こり、再起動された場合には、通知検出フラグ、シーケンスフラグを含むシーケンス情報２２０自体が初期化される。
【００５５】
図５（ａ）は、図３（ａ）、図４（ａ）と同じ初期状態を示している。
図５（ｂ）は、カードリーダ１や情報処理システムＸへの不正操作があり、シーケンス情報２２０の通知検出フラグが非設定の状態で、コマンドが送信された例を示す。この場合、シーケンス情報２２０は、消去されない。
すなわち、通知検出フラグにより、シーケンスクリアコマンドの実行が制限される。電圧低下時以外では、このコマンドを実行できないようにしておくことで、セキュリティを高めることができる。
【００５６】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来、マスタデバイス１０とスレーブデバイス２０間で、マスタデバイス１０の状態をスレーブデバイス２０に通知する際に、マスタデバイス１０とスレーブデバイス２０間を接続する通信ラインを介して、マスタデバイス１０から状態通知コマンドを送信、スレーブデバイス２０はそれを受信してマスタデバイス１０の状態変化を認識する技術が存在した。
このような方式では、例えば、マスタデバイス１０が、スレーブデバイス２０に、状態変化を通知するために状態通知コマンドを送信する際に、マスタデバイス１０が、当該状態変化によって通信が不安定になり、正常に通信できなくなってしまうことがあった。この場合、マスタデバイス１０の状態変化を、スレーブデバイス２０に通知することができなかった。このような状況では、状態変化から復帰した際の処理がうまくできないことがあった。
これに対して、本発明の実施の形態に係るカードリーダ１は、マスタデバイス１０とスレーブデバイス２０との間で通信可能な情報処理装置であって、マスタデバイス１０とスレーブデバイス２０との間には、マスタデバイス１０の状態通知のための状態通知ラインＢと、コマンド及びデータの送受信を行うための通信ラインＣとが接続され、マスタデバイス１０は、状態変化に対応して、状態通知ラインＢを介してスレーブデバイス２０に状態通知を行う状態通知部１００と、状態変化からの復帰を待ち、復帰したら、スレーブデバイス２０に、状態変化に対応する処理を実行させるコマンドを、通信ラインＣを介して送信するコマンド送信部１１０と、スレーブデバイス２０は、マスタデバイス１０からの状態通知ラインＢを介した状態通知を検出すると当該検出による通知検出フラグを設定する状態通知検出部２００と、状態通知検出部２００による状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイス１０からのコマンドを待ち、コマンドを受信した際に、通知検出フラグが設定された場合は、状態変化に対応した処理を行い、通知検出フラグが非設定である場合は、状態変化に対応した処理を行わない状態処理実行部２１０とを備える情報処理装置であることを特徴とする。
このように構成することで、状態変化が起こった場合でも、確実に情報を伝達できる状態通知ラインを常時監視ラインで、通知検出フラグを設定することで、復帰後の処理の実行を担保可能となる。すなわち、状態変化から復帰した際に、マスタデバイス１０が、状態変化に対応した処理を行うようスレーブデバイス２０に対して指示した場合、通知検出フラグを設定してあるため、復帰した際の処理を確実に実行させることが可能となる。
【００５７】
ここで、上述のように、状態通知ラインＢを接続し、マスタデバイス１０が、対象となる状態が変化した際、その通知ラインの論理を反転させることで、スレーブデバイス２０に状態変化を通知、スレーブデバイス２０はその通知ラインを定期的に監視して、通知ラインの変化を受けて、マスタデバイス１０の状態変化を認識するように構成することも考えられる。
しかしながら、単に状態通知ラインＢのみで状態変化に対応した処理を行うように構成すると、図４で示したように、通知ラインにノイズが入ったことが原因で通知ラインの論理が反転してしまった場合、スレーブデバイス２０が誤った状態変化を認識してしまう可能性がある。このようなノイズの対策として、例えば、信号線の論理が反転しても、即状態変化ありと認識させず、その後の信号線監視において一定期間その変化が継続した場合のみ変化を認識させるように構成することも考えられる。しかしながら、このように構成しても、一定期間を超えるような連続ノイズに対しては吸収ができないため、対策に限界があった。  
これに対して、本実施形態のカードリーダ１は、ノイズによる状態通知ラインの反転に起因する状態変化の誤認識について、実際の処理開始をコマンドにより指示することで補うことができる。このため、確実に、状態変化に対する処理を実行することができる。
【００５８】
本発明の実施の形態に係るカードリーダ１は、マスタデバイス１０は、カード媒体３の検知用センサの状態監視や、各種駆動機構を制御するメイン処理装置であり、スレーブデバイス２０は、情報の暗号化を実行し、暗号化された情報を処理し、カード媒体３に対する情報の書き込みと読み出しとを制御するサブ処理装置であることを特徴とする。
このように構成することで、暗号化処理を行うため特定の処理手順を遵守する必要があるスレーブデバイス２０において、状態変化が起こった際に、これに対応する処理を、ノイズ等による誤動作を防ぎつつ、確実に実行させることが可能になる。これにより、状態変化からの復帰時に、スレーブデバイス２０がエラーにならないため、再起動等が必要なくなり、サービスの手間を減らすことができ、メンテナンスコストを削減できる。
【００５９】
また、上述のように、電源が特定電圧まで低下しただけの場合、制御部１１、制御部２１とも機能は停止せず、内部で動作している制御プログラムの各種変数、フラグ類は保持されている。このため、シーケンスフラグ等が、前回の取引の途中のまま残っていると、電源の電圧が復帰し、取引が再開された際に、シーケンス異常と判断されて、処理が進められなくなってしまう。
これに対して、本発明の実施の形態に係るカードリーダ１は、状態通知は、電圧低下に対する状態の通知であり、状態処理実行部２１０は、電圧低下があった場合、情報の処理のシーケンスをクリアする処理を実行することを特徴とする。
このように構成することで、電圧の低下が発生したとき、主電源４の復帰後の取引再開を予測して、シーケンスフラグをクリアしておくことができる。
【００６０】
また、状態通知ラインＢの反転を検知したところで、即パワーダウン発生と判断して、シーケンス情報２２０をクリアしてしまうと、不都合が生じる可能性があった。すなわち、ノイズによって状態通知ラインの論理が反転してしまった場合でも、実行途中だったシーケンス情報２２０がクリアされてしまうと、シーケンスの不整合により、エラーとなる。
これに対して、本発明の実施の形態に係るカードリーダ１は、状態通知ラインＢの反転を検知したところで通知検出フラグを設定し、即時にシーケンスフラグをクリアせず、主電源４の状態が復帰したら、制御部１１が、制御部２１に対してシーケンスクリアコマンドを送信することを特徴とする。
このように構成することで、電源復帰時に、コマンドを受信してから、シーケンス情報２２０をクリアして、取引再開に備えることができる。すなわち、通知ラインＢの反転が、ノイズに起因するものだったとしても、通知検出フラグはセットされる。しかしながら、その後、主電源復帰時の処理が実行されないので、シーケンス情報２２０がクリアされることがなくなる。これにより、ノイズ等によるエラーを防ぐことができる。
また、本実施形態のカードリーダ１は、通知検出フラグにより、状態の変化が起こらなかった場合、シーケンスフラグクリアコマンドが実行されない。これにより、セキュリティを高めることができる。
【００６１】
本発明の実施の形態に係るカードリーダ１は、情報処理装置は、カードリーダであることを特徴とする。
このように構成することで、状態変化に対応した処理を確実に実行させることが可能であり、電圧の低下等の状態変化の復帰した際の処理でエラーとなることがないカードリーダを提供できる。これにより、メンテナンスコストを削減可能となる。
【００６２】
〔他の実施の形態〕
なお、上述の実施の形態においては、状態通知ラインＢの出力は、制御部１１からの出力であるように記載した。しかしながら、マスタデバイス１０の基板からの直接（ダイレクト）出力でもよい。加えて、例えば、停電検知信号等からの出力を、状態通知ラインＢの出力とすることも可能である。
このように構成することで、制御部１１で状態変化を一旦検知しなくても、スレーブデバイス２０に状態を通知することが可能となる。なお、この場合でも、マスタデバイス１０においても、状態通知ラインＢの出力を取得して、不正操作を検出してもよい。
【００６３】
さらに、状態通知ラインＢ自体について、物理的な導線を使用せず、光センサの発光部及び受光部の対や静電容量センサ等により、状態を通知するように構成してもよい。
また、通信ラインＣの通信方式は、任意のものを用いることが可能である。たとえば、ＵＡＲＴでもよいし、Ｉ2Ｃでも、ＵＳＢでもよい。
このように構成することで、柔軟な構成に対応可能となる。
【００６４】
上述の実施の形態では、状態変化として電圧低下の検知に利用したが、これに限られない。たとえば、上位装置２との通信ラインＤの「ＤＳＲ  Ｏｆｆ」等の状態変化の検知に用いてもよい。加えて、磁気リード完了、暗号処理完了等の各種状態通知に適用することも可能である。
このように構成することで、ノイズ等による誤動作を防ぎつつ、確実に状態変化に対応した処理をスレーブデバイス２０で実行させ、エラーを回避することが可能になる。
【００６５】
上述の実施の形態では、マスタデバイス１０とスレーブデバイス２０とがカードリーダ１として構成される例について説明した。しかしながら、上位装置２をマスタデバイス１０として、カードリーダ１をスレーブデバイス２０とした情報処理システムＸ（情報処理装置）により、上述の実施の形態の各処理を実行するような構成であってもよい。この場合、状態通知ラインが上位装置２及びカードリーダ１に接続され、通信ラインＤを用いてコマンドを送受信してもよい。
【００６６】
さらに、上述の実施の形態では、カードリーダ１について、上述の各種処理を実行するように記載した。これについて、カードリーダ以外の、マスタデバイス１０とスレーブデバイス２０との間で通信可能な情報処理装置について適用可能である。
【００６７】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００６８】
１  カードリーダ
２  上位装置
３  カード媒体
４  主電源
５  予備電源
１０  マスタデバイス
１１、２１  制御部
１２  パワーダウン検出部
２０  スレーブデバイス
３０  リードライト部
１００  状態通知部
１１０  コマンド送信部
２００  状態通知検出部
２１０  状態処理実行部
２２０  シーケンス情報
Ｂ  状態通知ライン
Ｃ、Ｄ  通信ライン
Ｘ  情報処理システム
【図１】
2020004207.tif 000003
【図２】
2020004207.tif 000004
【図３】
2020004207.tif 000005
【図４】
2020004207.tif 000006
【図５】
2020004207.tif 000007