(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-09
(45)【発行日】2022-06-17
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
G06F 13/36 20060101AFI20220610BHJP
G06F 13/38 20060101ALI20220610BHJP
G06F 21/60 20130101ALI20220610BHJP
【FI】
G06F13/36 520B
G06F13/38 320Z
G06F21/60 320
(21)【出願番号】P 2018124591
(22)【出願日】2018-06-29
【審査請求日】2021-05-21
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】日本電産サンキョー株式会社
(74)【代理人】
【識別番号】100097113
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194146
【氏名又は名称】長谷川 明
(74)【代理人】
【識別番号】100194283
【氏名又は名称】村上 大勇
(74)【代理人】
【識別番号】100141324
【氏名又は名称】小河 卓
(72)【発明者】
【氏名】馬場 勉
【審査官】田名網 忠雄
(56)【参考文献】
【文献】特開2012-178189(JP,A)
【文献】特開2006-127648(JP,A)
【文献】特開2017-068662(JP,A)
【文献】特開2015-197942(JP,A)
【文献】特開2011-070282(JP,A)
【文献】特開平06-028207(JP,A)
【文献】米国特許第07343496(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/20-13/42
G06F 21/60-21/88
(57)【特許請求の範囲】
【請求項1】
マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置であって、
前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、
前記マスタデバイスは、
状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行う状態通知部と、
前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを、前記通信ラインを介して送信するコマンド送信部とを備え、
前記スレーブデバイスは、
前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定する状態通知検出部と、
前記状態通知検出部による前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、前記コマンドを受信した際に、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが設定されていない場合は、前記状態変化に対応した処理を行わない状態処理実行部とを備える
ことを特徴とする情報処理装置。
【請求項2】
前記マスタデバイスは、カード媒体検知用センサ
の監視を行い、各種駆動機構を制御するメイン処理装置であり、
前記スレーブデバイスは
、情報の暗号化を実行し、暗号化された前記情報を処理し、カード媒体に対する
前記情報の書き込みと読み出しとを制御するサブ処理装置である
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記状態通知は、電圧低下に対す
る状態の通知であり、
前記状態処理実行部は、前記電圧低下があった場合、
前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理として、前記情報の処理のシーケンスをクリアする処理を実行する
ことを特徴とする請求項
2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、カードリーダである
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置により実行される情報処理方法であって、
前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、
前記マスタデバイスにより、状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行い、
前記スレーブデバイスにより、前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定し、
前記スレーブデバイスにより、前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、
前記マスタデバイスにより、前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを送信し、
前記スレーブデバイスにより、前記コマンドを受信した際に、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが設定されていない場合は、前記状態変化に対応した処理を行わない
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に係り、特にマスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
従来から、マスタデバイスとスレーブデバイスとの間で通信可能なカードリーダ等の情報処理装置が存在する。
たとえば、特許文献1には、クロック信号線及びデータ信号線の2種類の信号線によって接続されたマスタデバイスとスレーブデバイスとを有し、所定の通信方式でデータを伝送する情報処理装置が記載されている。
【0003】
このような情報処理装置において、マスタデバイスが状態変化をスレーブデバイスに通知する場合、マスタデバイスは、通信ラインを介して、マスタデバイスから状態通知コマンドを送信する。スレーブデバイスは、このコマンドを受信して、マスタデバイスの状態変化を認識し、必要な処理を実行する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されたような従来の情報処理装置では、電圧低下等の状態変化が生じた場合、通信が不安定になって、マスタデバイスからスレーブデバイスに状態変化を通知できないことがあった。この場合、状態変化から復帰した際に、マスタデバイスが、状態変化に対応した処理を行うようスレーブデバイスに対して指示しても、上述の必要な処理が実行されていないため、エラーとなることがあった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、スレーブデバイスにて、状態変化に対応した処理を確実に実行可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の情報処理装置は、マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置であって、前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、前記マスタデバイスは、状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行う状態通知部と、前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを、前記通信ラインを介して送信するコマンド送信部とを備え、前記スレーブデバイスは、前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定する状態通知検出部と、前記状態通知検出部による前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、前記コマンドを受信した際に、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが設定されていない場合は、前記状態変化に対応した処理を行わない状態処理実行部とを備えることを特徴とする。
このように構成することで、スレーブデバイスにて、状態変化に対応した処理を確実に実行できる。
【0008】
本発明の情報処理装置は、前記マスタデバイスは、カード媒体検知用センサの監視を行い、各種駆動機構を制御するメイン処理装置であり、前記スレーブデバイスは、情報の暗号化を実行し、暗号化された前記情報を処理し、カード媒体に対する前記情報の書き込みと読み出しとを制御するサブ処理装置であることを特徴とする。
このように構成することで、暗号化処理を行うため特定の処理手順を遵守する必要があるスレーブデバイスにおいて、状態変化に対応した処理を確実に実行させることが可能になる。
【0009】
本発明の情報処理装置は、前記状態通知は、電圧低下に対する状態の通知であり、前記状態処理実行部は、前記電圧低下があった場合、前記通知検出フラグが設定されている場合は、前記状態変化に対応した処理として、前記情報の処理のシーケンスをクリアする処理を実行することを特徴とする。
このように構成することで、電源復帰時に、コマンドを受信してから、シーケンスをクリアして、取引再開に備えることができる。
【0010】
本発明の情報処理装置は、前記情報処理装置は、カードリーダであることを特徴とする。
このように構成することで、状態変化に対応した処理を確実に実行させるカードリーダを提供できる。
【0011】
本発明の情報処理方法は、マスタデバイスとスレーブデバイスとの間で通信可能な情報処理装置により実行される情報処理方法であって、前記マスタデバイスと前記スレーブデバイスとの間には、前記マスタデバイスの状態通知のための状態通知ラインと、コマンド及びデータの送受信を行うための通信ラインとが接続され、前記マスタデバイスにより、状態変化に対応して、前記状態通知ラインを介して前記スレーブデバイスに前記状態通知を行い、前記スレーブデバイスにより、前記マスタデバイスからの前記状態通知ラインを介した前記状態通知を検出すると該検出の通知検出フラグを設定し、前記スレーブデバイスにより、前記状態通知を検出した際に、前記状態変化に対応する処理を即実行せずにマスタデバイスからの前記コマンドを待ち、前記マスタデバイスにより、前記状態変化からの復帰を待ち、復帰したら、スレーブデバイスに、前記状態変化に対応する処理を実行させる前記コマンドを送信し、前記スレーブデバイスにより、前記コマンドを受信した際に、前記通知検出フラグが設定された場合は、前記状態変化に対応した処理を行い、前記通知検出フラグが非設定である場合は、前記状態変化に対応した処理を行わないことを特徴とする。
このように構成することで、状態変化に対応した処理を確実に実行できる。
【発明の効果】
【0012】
本発明によれば、マスタデバイスから状態変化に対応して、状態通知ラインを介してスレーブデバイスに状態通知を行い、スレーブデバイスにて、この状態通知を検出した際に、状態変化に対応する処理を即実行せずに更にマスタデバイスからのコマンドを待ち、コマンドを受信した場合に、状態変化に対応した処理を行うように構成することで、スレーブデバイスにて、状態変化に対応した処理を確実に実行可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態に係る情報処理システムXのシステム構成図である。
【
図2】本発明の実施の形態に係る状態認識対応処理のフローチャートである。
【
図3】
図2に示す状態認識対応処理の概念図である。
【
図4】
図2に示す状態認識対応処理の概念図である。
【
図5】
図2に示す状態認識対応処理の概念図である。
【発明を実施するための形態】
【0014】
<実施の形態>
図1を参照して、本発明の実施の形態に係る情報処理システムXの構成について説明する。
情報処理システムXは、本実施形態においては、カード発行機能を備えたATM(Automated Teller Machine)、キオスク(Kiosk)の端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード発行システム、小売店のメンバーカード発行システム、遊技機のカード発行/支払システム、入退場管理システム等(以下、単に「ATM等」と省略して記載する。)である。
【0015】
情報処理システムXは、カードリーダ1、上位装置2、主電源4、及び予備電源5を含んでいる。
【0016】
カードリーダ1は、接触型又は非接触型のICカード及び/又は磁気ストライプを備えた磁気カードであるカード媒体3を読み込み(リード)又は書き込み(ライト)可能な装置である。カードリーダ1は、本実施形態の情報処理装置の一例である。
カードリーダ1の詳細な構成については後述する。
【0017】
上位装置2は、ATM等の各機能を実現するための本体装置である。具体的には、上位装置2は、例えば、各部の制御用のPC(Personal Computer)、タブレット端末、携帯電話等の制御演算装置を含み、情報処理システムXの機能を実現するためのアプリケーション(Application Program、図示せず)を実行する。加えて、上位装置2には、カード媒体3の表面に印刷や刻印を行うプリンタ、LCDパネルや有機ELパネル等のディスプレイ、タッチパネル、及びボタン等の周辺装置が接続されている。
【0018】
カードリーダ1と上位装置2との間は、通信ラインDで接続されている。通信ラインDは、例えば、汎用のバス、シリアル、パラレル、IPネットワーク等である。通信ラインDにより、各種指示(コマンド)やデータを含む情報を送受信可能である。
【0019】
主電源4は、電灯線等と接続された電源回路である。主電源4は、ある程度の電灯線等の電源断や低下が起こっても直後に出力を喪失せず、特定時間の間、特定の割合で電圧を降下させるようなバッファー機能等を備えている。
【0020】
予備電源5は、主電源4と別回路で接続されている予備電源である。この予備電源5は、例えば、各種バッテリやキャパシタ、無停電電源装置、非常用発電機等である。予備電源5は、主電源4の電圧が特定電圧以下になり、低電圧状態が続くと、電源断でマスタデバイス10及びスレーブデバイス20が機能停止する前に、電源を供給する。
【0021】
より具体的に説明すると、カードリーダ1は、マスタデバイス10、スレーブデバイス20、及びリードライト部30を含む情報処理装置である。
マスタデバイス10とスレーブデバイス20との間には、状態通知ラインBと、通信ラインCとが接続されている。
【0022】
マスタデバイス10は、カードリーダ1としての一般的な処理を行い、カード媒体3の検知用センサの状態監視や、各種駆動機構を制御するメイン処理装置である。マスタデバイス10は、例えば、カードリーダ1全体を制御するメイン(主)基板上の各種回路として構成される。本実施形態において、マスタデバイス10は、接続されたスレーブデバイス20を通信により制御する。
【0023】
スレーブデバイス20は、情報の暗号化を実行し又は暗号化された情報を処理するセキュリティ機能を実現したり、カード媒体3に対する情報の書き込みと読み出しとを制御するためのサブ処理装置である。スレーブデバイス20は、例えば、マスタデバイス10に接続されるセキュリティ基板上の各種回路として構成される。本実施形態においては、スレーブデバイス20は、PCI(Payment Card Industry)規格に準拠して構成され、カードリーダ1におけるセキュリティ機能を実現させる。このため、スレーブデバイス20は、例えば、カード媒体3に記憶されたID、暗証番号、パスワード等のデータの詐取を防御するためのデータ暗号化機能、復号化機能、カードリーダ1の不正改造検知機能等を備えている。加えて、本実施形態のスレーブデバイス20は、セキュリティのため、特定の処理手順を遵守して制御しないと処理を実行しないよう構成されている。
【0024】
リードライト部30は、カード媒体3へのリード(読み出し)、ライト(書き込み)を行う磁気ヘッドや電磁誘導コイルや端子等と、このための回路等を含む構成部である。
【0025】
状態通知ラインBは、状態監視を行うための論理出力を行う信号線である。状態通知ラインBは、例えば、GPIO(General-purpose input/output)のピンの一つとして提供される。この場合、状態通知ラインBは、論理の反転により、マスタデバイス10からスレーブデバイス20へ状態を通知する。この状態通知ラインBの論理変化の監視は、制御レジスタの読み書きで処理できるため、通信ラインCを介したコマンドの送信よりも高速に通知可能であり、急激な電圧低下にも対応可能で、多処理への影響も少ない。また、この論理変化の監視について、割り込みを設定することも可能である。
【0026】
通信ラインCは、例えば、汎用のバス、シリアル、パラレル等の信号線である。通信ラインCは、各種指示(コマンド)やデータを含む情報を、マスタデバイス10及びスレーブデバイス20の間で送受信可能である。
【0027】
さらに詳細に説明すると、マスタデバイス10は、制御部11及びパワーダウン検出部12を備えている。スレーブデバイス20は、制御部21を備えている。
【0028】
制御部11は、マスタデバイス10の状態監視及び制御を行う、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等の制御演算手段である。
【0029】
加えて、制御部11は、RAM(Random Access Memory )、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の一時的でない記憶媒体を含んでいる。制御部11の記憶媒体には、マスタデバイス10に実装されている制御部11の制御プログラム(組み込みソフトウェア)を格納している。この制御用プログラムは、カード媒体3の検知用のセンサの監視、カードリーダの駆動機構の制御、スレーブデバイス20の制御等の処理が組み込まれている。
【0030】
パワーダウン検出部12は、主電源4の電圧低下を監視する回路である。たとえば、パワーダウン検出部12は、主電源4から生成されるカードリーダ1用の各種電圧を測定する電圧測定回路及びA/Dコンバータ等を備えている。
【0031】
制御部21は、スレーブデバイス20の状態監視及び制御を行うCPU、MPU、GPU、DSP、ASIC等の制御演算手段である。制御部21は、情報の暗号処理や暗号を利用した認証等の処理を実行する。具体的には、制御部21は、例えば、AES(Advanced Encryption Standard)等の方式で、各種暗号化や復号化のためのハッシュ演算を専用に実行するアクセレレータ(Accelerator)を含んでいる。
【0032】
また、制御部21は、RAM、ROM、フラッシュメモリ等の一時的でない記憶媒体を含んでいる。この制御部21の記憶媒体は、制御部21の制御プログラム(組み込みソフトウェア)を記憶している。加えて、制御部21は、マスタデバイス10や他の構成部や装置が備えるセンサの情報を取得することも可能である。また、この制御用プログラムには、カード媒体3のリード、ライト等の処理も組み込まれている。
【0033】
より詳細に説明すると、マスタデバイス10の制御部11は、機能構成部として、状態通知部100、及びコマンド送信部110を備えている。
スレーブデバイス20の制御部21は、機能構成部として、状態通知検出部200、及び状態処理実行部210を備えている。
さらに、スレーブデバイス20の制御部21は、記録媒体にシーケンス情報220を格納している。
【0034】
状態通知部100は、状態変化に対応して、状態通知ラインBを介してスレーブデバイス20に状態通知を行う。本実施形態において、この状態通知は、電圧低下に対する状態の通知である。
【0035】
コマンド送信部110は、状態変化からの復帰を待ち、復帰したら、スレーブデバイス20に、状態変化に対応する処理を実行させるコマンドを送信する。
【0036】
状態通知検出部200は、マスタデバイス10からの状態通知ラインBを介した状態通知を検出する。具体的には、状態通知検出部200は、状態通知ラインBの論理が反転した場合に、状態通知があったと検出する。この状態通知を検出すると、状態通知検出部200は、シーケンス情報220に、通知検出フラグを設定する。
【0037】
状態処理実行部210は、状態通知検出部200による状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイス10からのコマンドを待つ。この上で、状態処理実行部210は、マスタデバイス10からのコマンドを受信した場合に、シーケンス情報220に通知検出フラグが設定されている場合は、状態変化に対応した処理を行う。本実施形態において、この状態変化に対応した処理は、電圧低下に対応した処理である。具体的には、状態処理実行部210は、主電源4の電圧低下があった場合、シーケンス情報220をクリアする処理を実行する。一方、シーケンス情報220に通知検出フラグが設定されていない(非設定)である場合は、状態処理実行部210は、コマンドを受信した場合であっても、セキュリティを高めるため、シーケンス情報220をクリアする処理を行わない。
【0038】
シーケンス情報220は、制御部21による情報の暗号化又は暗号化された情報、制御プログラムの各種変数、フラグ群等であり、セキュリティデータの一部である。このフラグ群は、例えば、通知検出フラグ及びシーケンスフラグを含む。
通知検出フラグは、状態通知が検出されたことを示すフラグである。通知検出フラグは、例えば、状態通知が検出された場合、非設定(0)から設定(1)に変更される。
シーケンスフラグは、制御部21による情報の暗号化又は暗号化された情報の処理が、どのステップまで進んでいるかを示すフラグである。この情報の処理としては、機器認証シーケンスや、暗号処理に利用する鍵データの交換シーケンス等を含む。加えて、シーケンスフラグは、例えば、情報の処理が開始された後、ステップ毎に、非設定(0)から設定(1)に変更されることで、そのシーケンスが実行されたことを示す。
【0039】
ここで、制御部11は、内蔵する記録媒体に格納された制御プログラムを実行することで、状態通知部100、及びコマンド送信部110として機能させられる。制御部21は、内蔵する記録媒体に格納された制御プログラムを実行することで、状態通知検出部200、及び状態処理実行部210として機能させられる。
また、上述のカードリーダ1の各部は、本発明の情報処理方法を実行するハードウェア資源となる。
なお、上述の機能構成部の一部又は任意の組み合わせをICやプログラマブルロジックやFPGA(Field-Programmable Gate Array)等でハードウェア的に構成してもよい。
【0040】
〔情報処理システムXによる状態認識対応処理〕
次に、
図2により、本発明の実施の形態に係る情報処理システムXのカードリーダ1により実行される状態認識対応処理の説明を行う。
本実施形態の状態認識対応処理では、マスタデバイス10は、状態変化に対応して、状態通知ラインBを介してスレーブデバイス20に状態通知を行う。スレーブデバイス20は、マスタデバイス10からの状態通知ラインBを介した状態通知を検出すると、通知検出フラグを設定する。スレーブデバイス20は、状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイス10からのコマンドを待つ。マスタデバイス10は、状態変化からの復帰を待ち、復帰したら、スレーブデバイス20に、状態変化に対応する処理を実行させるコマンドを送信する。スレーブデバイス20は、コマンドを受信した際に、通知検出フラグが設定された場合は、状態変化に対応した処理を行い、通知検出フラグが非設定である場合は、状態変化に対応した処理を行わない。
本実施形態の状態認識対応処理は、主にマスタデバイス10の制御部11及びスレーブデバイス20の制御部21が、内蔵の記憶媒体に記憶された制御プログラムを実行することで、各部と協同し、ハードウェア資源を用いて実行する。
以下で、
図2のフローチャートにより、動作履歴保存処理の詳細をステップ毎に説明する。
【0041】
(ステップS101)
ここで、状態通知部100は、パワーダウン検出部12により、主電源4の電圧低下(パワーダウン)を監視している。状態通知部100は、電圧低下があった場合に、Yesと判定する。状態通知部100は、それ以外の場合には、Noと判定する。
Yesの場合、状態通知部100は、処理をステップS102に進める。
Noの場合、状態通知部100は、処理をステップS103に進める。
【0042】
(ステップS102)
電圧低下した場合、状態通知部100が、状態通知処理を行う。
状態通知部100は、状態変化に対応して、状態通知ラインBの論理を反転させ、スレーブデバイス20に状態通知を行う。
【0043】
(ステップS103)
次に、状態通知部100が、実行中プロセス終了処理を行う。
状態通知部100は、特定電圧まで低下したため、停電(電源断)の可能性ありとして、実行中の処理(プロセス)等を適切に終了させて電源断に備える。これにより、制御部11の記録媒体が破損等しなくなり、再起動時間等に特別なチェックをしなくてもよくなる。
【0044】
(ステップS201)
ここで、スレーブデバイス20の処理について説明する。
状態通知検出部200は、状態通知を検出したか否かを判断する。具体的には、状態通知検出部200は、マスタデバイス10から接続されている状態通知ラインBを定期的に監視している。本実施形態においては、状態通知検出部200は、状態通知ラインBの論理の反転を検知したところで、状態通知を検出したと認識し、Yesと判定する。状態通知検出部200は、それ以外の場合には、Noと判定する。
Yesの場合、状態通知検出部200は、処理をステップS202に進める。
Noの場合、状態通知検出部200は、処理をステップS203に進める。
【0045】
(ステップS202)
状態通知を検出した場合、状態通知検出部200が、通知検出フラグ設定処理を行う。
状態通知ラインの反転を検知したところで、状態通知検出部200は、シーケンス情報220の通知検出フラグを設定する。この際に、状態通知検出部200は、シーケンス情報220の他のデータは、変更しない。具体的には、状態通知検出部200は、例えば、シーケンスフラグは、クリアしない。
これにより、後述するように、マスタデバイス10が状態変化から復帰した際に、スレーブデバイス20において、シーケンス情報220を含むセキュリティデータの再設定が許可される。すなわち、本実施形態において、この処理は、マスタデバイス10が状態変化を認識した際の、必要な処理となる。
【0046】
(ステップS104)
ここで、再び、マスタデバイス10の処理について説明する。
次に、コマンド送信部110が、電源の復帰を判断する。コマンド送信部110は、例えば、主電源4の電圧が特定電圧まで下がっても、それ以上には下がらず、また通常の電圧に戻った場合、Yesと判断する。さらに、本実施形態においては、予備電源5により、電源が復帰することが想定される。この場合、制御部11が電源断で機能停止になるより前に、予備電源5により電源が供給される。その後、主電源4が電源断になったとしても、コマンド送信部110は、状態変化から復帰したと判断し、Yesと判定する。コマンド送信部110は、電源が特定電圧に低下しているままの場合、Noと判定する。
Yesの場合、コマンド送信部110は、処理をステップS105に進める。
Noの場合、コマンド送信部110は、電源が復帰するまで待つ。
【0047】
(ステップS105)
電源が復帰した場合、コマンド送信部110が、上位装置通知処理を行う。
コマンド送信部110は、通信ラインDにて、上位装置2に対して主電源4の電圧低下の発生を通知する。
この通知を受信した上位装置2は、その時点でカード媒体3による取引の処理が実行されていた場合、この取引を中止する。そして、上位装置2は、主電源4の復旧を待って、改めて、取引を初めから再開させる。
【0048】
(ステップS106)
次に、コマンド送信部110が、コマンド送信処理を行う。
コマンド送信部110は、スレーブデバイス20に、状態変化に対応する処理を実行させるコマンドを、通信ラインCを介して送信する。本実施形態では、コマンド送信部110は、シーケンス情報220をクリアさせるシーケンスクリアコマンドを送信する。
【0049】
(ステップS203)
ここで、スレーブデバイス20の処理について、再び説明する。スレーブデバイス20の状態処理実行部210は、マスタデバイス10からのコマンドの送付を待機している。
ここで、状態処理実行部210は、コマンドを受信した際に、シーケンス情報220に通知検出フラグが設定されているか否か判断する。状態処理実行部210は、通知検出フラグが設定されていた場合に、Yesと判定する。状態処理実行部210は、それ以外の場合には、Noと判定する。
Yesの場合、状態処理実行部210は、処理をステップS204に進める。
Noの場合、状態処理実行部210は、状態認識対応処理を終了し、状態通知検出部200による状態通知の検出待ちを行う。すなわち、シーケンスフラグのクリア等は行わない。
【0050】
(ステップS204)
通知検出フラグが設定されていた場合、状態処理実行部210が、シーケンスクリア処理を行う。
状態処理実行部210は、コマンドを受信すると、シーケンスフラグをクリアして、その先の取引再開に備える、すなわち、状態処理実行部210は、状態変化に対応する処理を即実行せずにマスタデバイス10からのコマンドを待ってから、この処理を行う。
以上により、本発明の実施の形態に係る状態認識対応処理を終了する。
【0051】
なお、電圧低下の検出後、そのまま更に主電源4の電圧が低下して、完全に電源断の状態になることもあり得る。この場合、次回電源通電時に、制御部11は再起動処理を行う。この再起動処理では、マスタデバイス10及びスレーブデバイス20のいずれも初期化される。このため、シーケンス情報220も初期化される。
【0052】
〔状態認識対応処理の具体例〕
ここで、
図3及び
図4により、上述の状態認識対応処理の具体例について説明する。
図3は、実際に電源低下があった場合、
図4は電源低下がなかった(ノイズ)場合、
図5はコマンドのみ送信された場合を示す。
【0053】
図3(a)は、初期状態を示している。マスタデバイス10が正常状態の場合、スレーブデバイス20のシーケンス情報220の通知検出フラグは、設定されていない(非設定)である。
図3(b)は、マスタデバイス10が電圧低下を検出し、状態通知ラインBを介して、状態通知を行った例を示す。スレーブデバイス20は、状態通知ラインBの反転を検知すると、通知検出フラグを設定する。スレーブデバイス20は、そのまま、コマンドを受信するまで待機する。
図3(c)は、スレーブデバイス20が、通信ラインCを介して送信されてきたコマンドを受信した例を示す。この場合、通知検出フラグが設定されているため、シーケンス情報220がクリア(消去)される。
【0054】
図4(a)は、
図3(a)と同じ初期状態を示している。
図4(b)は、マスタデバイス10が正常状態であるものの、ノイズ等により、状態通知ラインBの論理が反転した場合を示す。この場合でも、スレーブデバイス20は、状態通知ラインBの反転を検知すると、通知検出フラグを設定する。
図4(c)は、マスタデバイス10が正常であるため、コマンドを送信しない例を示す。この場合、通知検出フラグは設定されたままであるものの、コマンドが受信されていない。このため、電源復帰時の処理が実行されないので、シーケンス情報220が消去されることはない。
なお、この状態で、電圧低下による電源断が起こり、再起動された場合には、通知検出フラグ、シーケンスフラグを含むシーケンス情報220自体が初期化される。
【0055】
図5(a)は、
図3(a)、
図4(a)と同じ初期状態を示している。
図5(b)は、カードリーダ1や情報処理システムXへの不正操作があり、シーケンス情報220の通知検出フラグが非設定の状態で、コマンドが送信された例を示す。この場合、シーケンス情報220は、消去されない。
すなわち、通知検出フラグにより、シーケンスクリアコマンドの実行が制限される。電圧低下時以外では、このコマンドを実行できないようにしておくことで、セキュリティを高めることができる。
【0056】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来、マスタデバイス10とスレーブデバイス20間で、マスタデバイス10の状態をスレーブデバイス20に通知する際に、マスタデバイス10とスレーブデバイス20間を接続する通信ラインを介して、マスタデバイス10から状態通知コマンドを送信、スレーブデバイス20はそれを受信してマスタデバイス10の状態変化を認識する技術が存在した。
このような方式では、例えば、マスタデバイス10が、スレーブデバイス20に、状態変化を通知するために状態通知コマンドを送信する際に、マスタデバイス10が、当該状態変化によって通信が不安定になり、正常に通信できなくなってしまうことがあった。この場合、マスタデバイス10の状態変化を、スレーブデバイス20に通知することができなかった。このような状況では、状態変化から復帰した際の処理がうまくできないことがあった。
これに対して、本発明の実施の形態に係るカードリーダ1は、マスタデバイス10とスレーブデバイス20との間で通信可能な情報処理装置であって、マスタデバイス10とスレーブデバイス20との間には、マスタデバイス10の状態通知のための状態通知ラインBと、コマンド及びデータの送受信を行うための通信ラインCとが接続され、マスタデバイス10は、状態変化に対応して、状態通知ラインBを介してスレーブデバイス20に状態通知を行う状態通知部100と、状態変化からの復帰を待ち、復帰したら、スレーブデバイス20に、状態変化に対応する処理を実行させるコマンドを、通信ラインCを介して送信するコマンド送信部110と、スレーブデバイス20は、マスタデバイス10からの状態通知ラインBを介した状態通知を検出すると当該検出による通知検出フラグを設定する状態通知検出部200と、状態通知検出部200による状態通知を検出した際に、状態変化に対応する処理を即実行せずにマスタデバイス10からのコマンドを待ち、コマンドを受信した際に、通知検出フラグが設定された場合は、状態変化に対応した処理を行い、通知検出フラグが非設定である場合は、状態変化に対応した処理を行わない状態処理実行部210とを備える情報処理装置であることを特徴とする。
このように構成することで、状態変化が起こった場合でも、確実に情報を伝達できる状態通知ラインを常時監視ラインで、通知検出フラグを設定することで、復帰後の処理の実行を担保可能となる。すなわち、状態変化から復帰した際に、マスタデバイス10が、状態変化に対応した処理を行うようスレーブデバイス20に対して指示した場合、通知検出フラグを設定してあるため、復帰した際の処理を確実に実行させることが可能となる。
【0057】
ここで、上述のように、状態通知ラインBを接続し、マスタデバイス10が、対象となる状態が変化した際、その通知ラインの論理を反転させることで、スレーブデバイス20に状態変化を通知、スレーブデバイス20はその通知ラインを定期的に監視して、通知ラインの変化を受けて、マスタデバイス10の状態変化を認識するように構成することも考えられる。
しかしながら、単に状態通知ラインBのみで状態変化に対応した処理を行うように構成すると、
図4で示したように、通知ラインにノイズが入ったことが原因で通知ラインの論理が反転してしまった場合、スレーブデバイス20が誤った状態変化を認識してしまう可能性がある。このようなノイズの対策として、例えば、信号線の論理が反転しても、即状態変化ありと認識させず、その後の信号線監視において一定期間その変化が継続した場合のみ変化を認識させるように構成することも考えられる。しかしながら、このように構成しても、一定期間を超えるような連続ノイズに対しては吸収ができないため、対策に限界があった。
これに対して、本実施形態のカードリーダ1は、ノイズによる状態通知ラインの反転に起因する状態変化の誤認識について、実際の処理開始をコマンドにより指示することで補うことができる。このため、確実に、状態変化に対する処理を実行することができる。
【0058】
本発明の実施の形態に係るカードリーダ1は、マスタデバイス10は、カード媒体3の検知用センサの状態監視や、各種駆動機構を制御するメイン処理装置であり、スレーブデバイス20は、情報の暗号化を実行し、暗号化された情報を処理し、カード媒体3に対する情報の書き込みと読み出しとを制御するサブ処理装置であることを特徴とする。
このように構成することで、暗号化処理を行うため特定の処理手順を遵守する必要があるスレーブデバイス20において、状態変化が起こった際に、これに対応する処理を、ノイズ等による誤動作を防ぎつつ、確実に実行させることが可能になる。これにより、状態変化からの復帰時に、スレーブデバイス20がエラーにならないため、再起動等が必要なくなり、サービスの手間を減らすことができ、メンテナンスコストを削減できる。
【0059】
また、上述のように、電源が特定電圧まで低下しただけの場合、制御部11、制御部21とも機能は停止せず、内部で動作している制御プログラムの各種変数、フラグ類は保持されている。このため、シーケンスフラグ等が、前回の取引の途中のまま残っていると、電源の電圧が復帰し、取引が再開された際に、シーケンス異常と判断されて、処理が進められなくなってしまう。
これに対して、本発明の実施の形態に係るカードリーダ1は、状態通知は、電圧低下に対する状態の通知であり、状態処理実行部210は、電圧低下があった場合、情報の処理のシーケンスをクリアする処理を実行することを特徴とする。
このように構成することで、電圧の低下が発生したとき、主電源4の復帰後の取引再開を予測して、シーケンスフラグをクリアしておくことができる。
【0060】
また、状態通知ラインBの反転を検知したところで、即パワーダウン発生と判断して、シーケンス情報220をクリアしてしまうと、不都合が生じる可能性があった。すなわち、ノイズによって状態通知ラインの論理が反転してしまった場合でも、実行途中だったシーケンス情報220がクリアされてしまうと、シーケンスの不整合により、エラーとなる。
これに対して、本発明の実施の形態に係るカードリーダ1は、状態通知ラインBの反転を検知したところで通知検出フラグを設定し、即時にシーケンスフラグをクリアせず、主電源4の状態が復帰したら、制御部11が、制御部21に対してシーケンスクリアコマンドを送信することを特徴とする。
このように構成することで、電源復帰時に、コマンドを受信してから、シーケンス情報220をクリアして、取引再開に備えることができる。すなわち、通知ラインBの反転が、ノイズに起因するものだったとしても、通知検出フラグはセットされる。しかしながら、その後、主電源復帰時の処理が実行されないので、シーケンス情報220がクリアされることがなくなる。これにより、ノイズ等によるエラーを防ぐことができる。
また、本実施形態のカードリーダ1は、通知検出フラグにより、状態の変化が起こらなかった場合、シーケンスフラグクリアコマンドが実行されない。これにより、セキュリティを高めることができる。
【0061】
本発明の実施の形態に係るカードリーダ1は、情報処理装置は、カードリーダであることを特徴とする。
このように構成することで、状態変化に対応した処理を確実に実行させることが可能であり、電圧の低下等の状態変化の復帰した際の処理でエラーとなることがないカードリーダを提供できる。これにより、メンテナンスコストを削減可能となる。
【0062】
〔他の実施の形態〕
なお、上述の実施の形態においては、状態通知ラインBの出力は、制御部11からの出力であるように記載した。しかしながら、マスタデバイス10の基板からの直接(ダイレクト)出力でもよい。加えて、例えば、停電検知信号等からの出力を、状態通知ラインBの出力とすることも可能である。
このように構成することで、制御部11で状態変化を一旦検知しなくても、スレーブデバイス20に状態を通知することが可能となる。なお、この場合でも、マスタデバイス10においても、状態通知ラインBの出力を取得して、不正操作を検出してもよい。
【0063】
さらに、状態通知ラインB自体について、物理的な導線を使用せず、光センサの発光部及び受光部の対や静電容量センサ等により、状態を通知するように構成してもよい。
また、通信ラインCの通信方式は、任意のものを用いることが可能である。たとえば、UARTでもよいし、I2Cでも、USBでもよい。
このように構成することで、柔軟な構成に対応可能となる。
【0064】
上述の実施の形態では、状態変化として電圧低下の検知に利用したが、これに限られない。たとえば、上位装置2との通信ラインDの「DSR Off」等の状態変化の検知に用いてもよい。加えて、磁気リード完了、暗号処理完了等の各種状態通知に適用することも可能である。
このように構成することで、ノイズ等による誤動作を防ぎつつ、確実に状態変化に対応した処理をスレーブデバイス20で実行させ、エラーを回避することが可能になる。
【0065】
上述の実施の形態では、マスタデバイス10とスレーブデバイス20とがカードリーダ1として構成される例について説明した。しかしながら、上位装置2をマスタデバイス10として、カードリーダ1をスレーブデバイス20とした情報処理システムX(情報処理装置)により、上述の実施の形態の各処理を実行するような構成であってもよい。この場合、状態通知ラインが上位装置2及びカードリーダ1に接続され、通信ラインDを用いてコマンドを送受信してもよい。
【0066】
さらに、上述の実施の形態では、カードリーダ1について、上述の各種処理を実行するように記載した。これについて、カードリーダ以外の、マスタデバイス10とスレーブデバイス20との間で通信可能な情報処理装置について適用可能である。
【0067】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【0068】
1 カードリーダ
2 上位装置
3 カード媒体
4 主電源
5 予備電源
10 マスタデバイス
11、21 制御部
12 パワーダウン検出部
20 スレーブデバイス
30 リードライト部
100 状態通知部
110 コマンド送信部
200 状態通知検出部
210 状態処理実行部
220 シーケンス情報
B 状態通知ライン
C、D 通信ライン
X 情報処理システム