説明

認証処理装置、認証処理方法、認証処理プログラム、処理システム、及び現金自動預け払い機

【課題】中央処理装置の偽装、又はSAMの入出力ポートの状態の不正な変更等があった場合でも、周辺装置の誤動作を防止する。
【解決手段】中央制御装置からの認証用コマンドに応じて認証処理を実行し、その認証結果を前記中央制御装置に出力する認証処理装置は、鍵識別子と暗号鍵データとを対応付けて記憶する記憶手段を備え、認証データ及び認証用コマンドの識別情報を含む認証用コマンドが認証処理用入出力ポートを介して入力された場合に、前記識別情報に基づいて前記鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵データを前記記憶手段から取得し、前記取得された暗号鍵データと、前記認証データとを用いて認証処理を実行し、前記認証処理が成功した場合には、当該認証処理に関係する周辺装置用入出力ポートから周辺装置を動作させる動作信号を出力させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器に搭載される認証処理用マイクロコントローラに関するものである。
【背景技術】
【0002】
この種の認証処理用マイクロコントローラ(以下、SAM(Secure Application Module)という)は、例えば、決済処理端末に搭載されている。決済処理端末が、例えば、IC(Integrated Circuit)カードに記録されている情報をチェックコード等によって検証する場合において、SAMは、このチェックコードの正当性確認のための認証処理を行うようになっている(例えば、特許文献1参照)。
【0003】
また、例えば、ICキャッシュカードを認証し、ネットワークに接続したホストコンピュータと通信し、所定の情報をLED(Light Emitting Diode)、LCD(Liquid Crystal Display)、印刷物等によって表示し、現金の預け払いを行う現金自動預け払い機(以下、ATM(Automated Teller Machine)という)においても、SAMが搭載されている。ATMには、SAMの他に、LED,監視カメラ,現金支払い機構,プリンタ,LCD等の種々の周辺装置と、周辺装置の動作を制御する中央制御装置と、が搭載されている。種々の周辺装置は、入出力ポートによって中央制御装置に接続されている。中央制御装置は、それぞれの周辺装置に対する制御プログラムを備えており、適宜、周辺装置の動作を制御するようになっている。
【0004】
このようなATMにおいて、SAMによる認証結果に従って周辺装置を動作させるケース(例えば「ATMによるICカードの正当性確認」が終わった後にLEDを点灯させ、「ホストコンピュータによる取引承認」が終わった後に「現金支払い機構のモータを作動させる」ようなケース)において、従来は、中央制御装置に接続されたSAMが認証結果を判断し、SAMから判断情報を受信した中央制御装置が周辺装置を動作させていた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−307899号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、従来、悪意ある攻撃者によって中央処理装置が偽装(例えば、中央制御装置のプログラムが改竄されたり、該プログラムを記憶するフラッシュROMが取り替えられたりすることなどによる)され、改竄された動作命令が周辺装置に送信された場合、改竄された動作命令によって周辺装置が誤動作してしまう可能性があった。これを回避するためには、SAMから出力される認証結果の判断情報を周辺装置が直接取得することが考えられる。
【0007】
しかしながら、従来の入出力ポートの制御に必要な制御プログラムは、条件分岐(いわゆるif〜thenルール)によって構成されており、SAMの少ない記憶領域で実現する場合においては必ずしも有効な手段ではなかった。
【0008】
また、悪意のある攻撃者によって、SAMが制御している入出力ポートの状態が不正に変更された場合、周辺装置が誤動作してしまう可能性がある。
【0009】
加えて、SAMにおいて、複数の認証結果の組合せによって、単一、または複数の入出力ポートを制御するような処理を実現することが困難であった。
【0010】
そこで、本発明は、このような点に鑑みてなされたもので、中央処理装置の偽装、又はSAMの入出力ポートの状態の不正な変更等があった場合でも、周辺装置の誤動作を防止することが可能な認証処理装置、認証処理方法、認証処理プログラム、処理システム、及び現金自動預け払い機を提供することを課題の一例とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、請求項1に記載の発明は、識別情報により識別される複数の認証用コマンドのうち少なくとも何れか一つの認証用コマンドであって中央制御装置から入力された当該認証用コマンドに応じた認証処理を実行し、その認証結果を前記中央制御装置に出力する認証処理装置であって、認証処理用入出力ポートと、複数の周辺装置の夫々に接続される複数の周辺装置用入出力ポートと、複数の鍵識別子と、各前記鍵識別子に対応する各暗号鍵データを予め記憶する暗号鍵データ記憶手段と、認証データ及び認証用コマンドの識別情報を含む認証用コマンドが前記認証処理用入出力ポートを介して入力された場合に、当該入力された認証用コマンドの識別情報に基づいて前記鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵データ前記暗号鍵データ記憶手段から取得する取得手段と、前記取得された暗号鍵データと、前記入力された認証用コマンドに含まれる認証データとを用いて、当該認証用コマンドに応じた認証処理を実行する認証手段と、前記認証処理が成功した場合には、当該認証処理に関係する前記周辺装置用入出力ポートから前記周辺装置を動作させる動作信号を出力させる制御手段と、を備えることを特徴とする。
【0012】
請求項2に記載の発明は、請求項1に記載の認証処理装置において、各前記認証用コマンドに応じた認証処理の内容を規定する各プログラムを、各前記認証用コマンドの識別情報に対応付けて記憶するプログラム記憶手段を更に備え、各前記プログラム中には、各前記認証処理において用いられる暗号鍵データに対応する鍵識別子が記述されており、前記取得手段は、前記入力された認証用コマンドの識別情報に対応付けられた前記プログラム中から前記鍵識別子を特定することを特徴とする。
【0013】
請求項3に記載の発明は、請求項1に記載の認証処理装置において、前記認証用コマンドの前記識別情報を、当該認証用コマンドが入力される度に記憶する識別情報記憶手段を更に備え、前記取得手段は、前記識別情報記憶手段に記憶されている前記識別情報に基づいて、前記入力された複数の前記認証用コマンドの入力順序を特定し、当該特定した入力順序に対応する前記鍵識別子を特定することを特徴とする。
【0014】
請求項4に記載の発明は、請求項3に記載の認証処理装置において、候補となる複数の前記入力順序の組合せを、各前記鍵識別子に対応付けて予め記憶する入力順序記憶手段を更に備え、前記取得手段は、前記特定された入力順序に対応する前記鍵識別子を前記入力順序記憶手段から特定することを特徴とする。
【0015】
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の認証処理装置において、前記暗号鍵データ記憶手段には、各前記認証処理用入出力ポートを示す入出力ポート識別子が記憶され、前記入出力ポート識別子毎に前記鍵識別子が対応付けられており、前記制御手段は、前記認証処理が成功した場合には、前記認証処理に用いられた暗号鍵データに対応する鍵識別子に対応付けられた入出力ポート識別子に示される前記周辺装置用入出力ポートから、前記周辺装置を動作させる動作信号を出力させることを特徴とする。
【0016】
請求項6に記載の発明は、請求項1乃至4の何れか一項に記載の認証処理装置において、前記暗号鍵データ記憶手段には、各前記周辺装置用入出力ポートを示す入出力ポート識別子が記憶され、さらに、前記入出力ポート識別子毎に認証状態比較条件情報が対応付けられて記憶されており、前記認証手段は、前記認証処理を複数回実行し、前記制御手段は、複数回の前記認証処理による認証結果に該当する前記認証状態比較条件情報に対応付けられた入出力ポート識別子に示される前記周辺装置用入出力ポートから、前記周辺装置を動作させる動作信号を出力させることを特徴とする。
【0017】
請求項7に記載の発明は、請求項1乃至6の何れか一項に記載の認証処理装置において、前記制御手段は、前記周辺装置用入出力ポートのレジスタの状態情報を変化させることにより、当該周辺装置用入出力ポートから前記動作信号を出力させることを特徴とする。
【0018】
請求項8に記載の発明は、請求項7に記載の認証処理装置において、各前記周辺装置用入出力ポートに対応する状態情報と、各前記状態情報に基づき生成されるエラー検出情報を記憶する状態記憶手段を更に備え、前記制御手段は、前記認証処理が成功した場合には、前記周辺装置用入出力ポートのレジスタの状態情報を変化させずに、前記状態情報及び前記エラー検出情報を前記状態記憶手段に記憶し、所定間隔で実行される割り込み処理が開始された場合に、前記状態記憶手段に記憶されている各前記状態情報を、対応する各前記周辺装置用入出力ポートのレジスタに出力して当該レジスタの状態情報を変化させることを特徴とする。
【0019】
請求項9に記載の発明は、請求項8に記載の認証処理装置において、前記制御手段は、所定間隔で実行される割り込み処理が開始された場合に、前記状態記憶手段に記憶されている各前記状態情報に基づきエラー検出情報を生成し、前記生成されたエラー検出情報と、前記状態記憶手段に記憶されているエラー検出情報とが一致する場合に、前記状態記憶手段に記憶されている各前記状態情報を、対応する各前記周辺装置用入出力ポートのレジスタに出力して当該レジスタの状態情報を変化させることを特徴とする。
【0020】
請求項10に記載の処理システムの発明は、請求項1乃至9の何れか一項に記載の認証処理装置と、モータ駆動により入出力口が開閉する前記周辺装置と、を備え、前記周辺装置は、前記認証処理装置により動作制御されることを特徴とする。
【0021】
請求項11に記載の現金自動預け払い機の発明は、請求項1乃至9の何れか一項に記載の認証処理装置と、当該認証処理装置に認証用コマンドを出力する中央制御装置と、前記認証処理装置又は前記中央制御装置により動作制御される複数の周辺装置と、を備えることを特徴とする。
【0022】
請求項12に記載の発明は、認証処理用入出力ポートと、複数の周辺装置の夫々に接続される複数の周辺装置用入出力ポートと、複数の鍵識別子と各前記鍵識別子に対応する各暗号鍵データを予め記憶する暗号鍵データ記憶手段と、を備え、中央制御装置からの認証用コマンドに応じて認証処理を実行し、その認証結果を前記中央制御装置に出力するコンピュータにより実行される認証処理方法であって、認証データ及び認証用コマンドの識別情報を含む認証用コマンドが前記認証処理用入出力ポートを介して入力された場合に、当該入力された認証用コマンドの識別情報に基づいて前記鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵データ前記暗号鍵データ記憶手段から取得するステップと、前記取得された暗号鍵データと、前記入力された認証用コマンドに含まれる認証データとを用いて認証処理を実行するステップと、前記認証処理が成功した場合には、当該認証処理に関係する前記周辺装置用入出力ポートから前記周辺装置を動作させる動作信号を出力させるステップと、を備えることを特徴とする。
【0023】
請求項13に記載の認証処理プログラムの発明は、請求項12に記載の認証処理方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【0024】
本発明によれば、認証処理に用いられた暗号鍵データに対応する周辺装置用入出力ポートから周辺装置を動作させる動作信号を出力させるように構成したので、中央処理装置が偽装された場合であっても、認証処理装置の少ない記憶領域で周辺装置へセキュリティ性の高い動作信号を送信することができ、その結果、周辺装置の誤動作を防止することができる。
【0025】
また、認証処理が成功した場合には、周辺装置用入出力ポートのレジスタの状態情報を変化させずに、状態情報及び前記エラー検出情報を状態記憶手段に記憶し、割り込み処理が開始された場合に、状態記憶手段に記憶されている各状態情報を、対応する各周辺装置用入出力ポートのレジスタに出力して当該レジスタの状態情報を変化させるように構成すれば、認証処理装置の周辺装置用入出力ポートの状態が不正に変更された場合であっても、周辺装置の誤動作を防止することができる。
【0026】
また、複数回の認証処理による認証結果に該当する認証状態比較条件情報に対応付けられた周辺装置用入出力ポートから、周辺装置を動作させる動作信号を出力させるように構成すれば、複数の認証結果の組合せによって、単一、または複数の周辺装置用入出力ポートを制御することができ、認証処理装置の少ない記憶領域で、より一層、セキュリティ性の高い動作信号を送信することができる。
【0027】
更に、認証処理に使用される暗号鍵データに対応する鍵識別子を、入力された認証用コマンドのコマンド番号に基づいて特定するように構成したので、認証時の通信内容を隠蔽することができ、攻撃の糸口になる認証関連情報(鍵識別子)を外部に漏らさないようにすることができる。
【図面の簡単な説明】
【0028】
【図1】本実施形態に係るATMの概要構成例を示す図である。
【図2】SAM2の概要構成例を示すブロック図である。
【図3】SAM2の電源端子及び入出力ポートの構成例を示す図である。
【図4】(A)は、揮発性メモリ22に記憶されたコマンド番号の一例を示す概念図である。(B)は、コマンドテーブル及び認証処理プログラムの一例を示す概念図である。
【図5】(A)は、暗号鍵の格納形式の一例を示す図である。(B)は、認証用コマンドの電文形式の一例を示す図である。
【図6】第1実施形態に係るSAM2のCPU21におけるコマンド処理を示すフローチャートである。
【図7】各周辺装置用入出力ポートに対応する状態情報及びエラー検出情報の格納形式の一例を示す図である。
【図8】第2実施形態に係るSAM2のCPU21における割り込み処理を示すフローチャートである。
【図9】認証状態情報の格納形式の一例を示す図である。
【図10】第3実施形態における暗号鍵の格納形式の一例を示す図である。
【図11】第3実施形態における認証状態比較条件情報の格納形式の一例を示す図である。
【図12】第3実施形態に係るSAM2のCPU21におけるコマンド処理を示すフローチャートである。
【発明を実施するための形態】
【0029】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、ATMに対して本発明を適用した場合の実施形態である。
【0030】
先ず、本発明の一実施形態に係るATMの構成について、図1を用いて説明する。
【0031】
図1は、本実施形態に係るATMの概要構成例を示す図である。
【0032】
図1に示すように、ATMは、中央制御装置1、認証処理装置の一例としてのSAM2、LED3、監視カメラ4、現金支払い機構5、プリンタ6、LCD7、及びICカード読み取り装置8等を備えて構成されている。
【0033】
ここで、LED3、監視カメラ4、現金支払い機構5、プリンタ6、及びLCD7は、周辺装置の一例である。これらの周辺装置(周辺機器)には、動作に当たって、SAM2からの動作信号(トリガ信号)のみを必要とする装置と、SAM2からの動作信号に加えて中央制御装置1からの情報を必要とする装置の2種類が存在し、夫々図1に示すように接続される。例えば、LED3、監視カメラ4、及び現金支払い機構5は、夫々のコントローラを介してSAM2に接続される。一方、プリンタ6及びLCD7は、夫々のコントローラを介して中央制御装置1及びSAM2に接続される。
【0034】
また、中央制御装置1には、SAMコントローラを介してSAM2が接続され、ICカードコントローラを介してICカード読み取り装置8が接続される。更に、中央制御装置1には、ネットワークコントローラ及びネットワークを介してホストコンピュータが接続される。
【0035】
中央制御装置1は、CPU(Central Processing Unit)、作業用のRAM(Random Access Memory)、及び、プログラム及びデータが記憶されたフラッシュROM(Read Only Memory)等を備え、ATM全体を統括制御する。かかる制御に当たり、中央制御装置1は、SAM2に対して種々のコマンドを出力するようになっている。これらの各コマンドには固有のコマンド番号(識別情報の一例)が付与されている。このコマンド番号により、各コマンドは他のコマンドと識別(区別)される。
【0036】
このように構成されたATMにおいて、特徴的な構成及び機能を有するSAM2の詳細について、第1実施形態〜第3実施形態に分けて説明する。
【0037】
(第1実施形態)
先ず、第1実施形態に係るSAM2の詳細について説明する。
【0038】
図2は、SAM2の概要構成例を示すブロック図である。図3は、SAM2の電源端子及び入出力ポートの構成例を示す図である。
【0039】
図2に示すように、SAM2は、CPU21、RAM等の揮発性メモリ22(識別情報記憶手段の一例)、フラッシュROM等の不揮発性メモリ23(暗号鍵データ記憶手段、プログラム記憶手段、識別情報記憶手段、及び入力順序記憶手段の一例)、及び入出力ポート24等を備え、中央制御装置2からの認証用コマンド(コマンド番号を含む)に応じた認証処理を実行し、その認証結果を中央制御装置2に出力するようになっている。つまり、SAM2は、コマンド番号により識別される複数の認証用コマンドのうち、入力された認証用コマンドに応じた(言い換えれば、コマンド番号に対応する)認証処理を実行し、その認証結果を中央制御装置2に出力する。
【0040】
図3の例では、入出力ポート24は、I/O1〜I/O12まで複数設けられている。これらの複数の入出力ポートの一つ(例えば、I/O8)が認証処理用(認証処理のデータ交換用)入出力ポートに使用され、その他の複数の入出力ポート(例えば、I/O1〜I/O7)が複数の周辺装置(のコントローラ)の夫々に接続される周辺装置用入出力ポートに使用される。
【0041】
揮発性メモリ22には、中央制御装置1から認証処理用入出力ポートを介して認証用コマンドが入力される度に、当該認証用コマンドのコマンド番号が記憶される。
【0042】
図4(A)は、揮発性メモリ22に記憶されたコマンド番号の一例を示す概念図である。図4(A)に示す例では、揮発性メモリ22には、認証用コマンドが入力された順番で若番のアドレスから順次コマンド番号が時系列的に記憶されている。これにより、CPU21は、認証用コマンドの入力順序を特定することができる。
【0043】
不揮発性メモリ23には、各認証用コマンドに応じた認証処理の内容を規定する各認証処理プログラムが予め記憶されている。また、不揮発性メモリ23には、各認証用コマンドのコマンド番号と、各認証処理プログラムが記憶されたメモリ領域の先頭アドレスとを対応付けるコマンドテーブルが記憶されている。このコマンドテーブルにより、各認証用コマンドのコマンド番号と、各認証処理プログラムとが対応付けられる。
【0044】
図4(B)は、コマンドテーブル及び認証処理プログラムの一例を示す概念図である。そして、各認証処理プログラム中には、各認証処理において用いられる暗号鍵データ(以下、「暗号鍵」という)を識別するための鍵識別子が記述されている。例えば、図4(B)の例において、コマンド番号「0001」に対応付けられた先頭アドレスから始まるメモリ領域に記憶された認証処理プログラムには、この認証処理に使用するべき暗号鍵aの鍵識別子axが記述されている。
【0045】
なお、不揮発性メモリ23には、候補となる複数の認証用コマンドの入力順序の組合せを、該入力順序の組合せ毎に各鍵識別子に対応付けて予め記憶するように構成しても良い。例えば、図4(B)の例において、コマンド番号「0002」に対応付けられた先頭アドレスから始まるメモリ領域に記憶された認証処理プログラムには、候補となる複数の認証用コマンドの入力順序の組合せと、各鍵識別子とが対応付けられて記述されている。この例によれば、コマンド番号「0001」→「0002」という入力順序で認証用コマンドが入力された場合、この認証処理で暗号鍵b(鍵識別子bx)が使用され、コマンド番号「0002」→「0001」という入力順序で認証用コマンドが入力された場合、この認証処理で暗号鍵c(鍵識別子cx)が使用されることになる。
【0046】
また、不揮発性メモリ23には、認証処理に使用される複数の暗号鍵が予め記憶(格納)されている。
【0047】
図5(A)は、暗号鍵の格納形式の一例を示す図である。各暗号鍵には、図5(A)に示すように、外部から認証処理用入出力ポートを介して受信(入力)された認証用コマンド(認証処理実行命令)の対象となる暗号鍵の鍵識別子と、認証処理成功時に状態を変化させる対象となる周辺装置用入出力ポートを示す入出力ポート識別子と、が対応付けられて記憶されている。つまり、この例では、暗号鍵と周辺装置用入出力ポートとは1対1に対応付けられる。
【0048】
ここで、上記「状態を変化させる」とは、周辺装置用入出力ポートのレジスタに格納される状態情報を変化させることを意味する。なお、状態情報の一例としては、「High(1)」又は「Low(0)」、或いはその組合せ(複数ビットからなるシリアルデータ)が挙げられる。
【0049】
CPU21(取得手段の一例)は、認証用コマンドが認証処理用入出力ポートを介して受信(入力)された場合に、入力された認証用コマンドのコマンド番号に基づいて鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵を不揮発性メモリ23から取得する。
【0050】
図5(B)は、認証用コマンドの電文形式の一例を示す図である。図5(B)に示すように、認証用コマンドには、認証処理実行命令を示す命令コード、及び認証データが含まれる。ここで、認証処理実行命令を示す命令コードには、当該認証用コマンドのコマンド番号が含まれている。
【0051】
次に、CPU21(認証手段の一例)は、不揮発性メモリ23から取得した暗号鍵と、入力された認証用コマンドに含まれる認証データとを用いて認証処理(例えば、認証データを暗号鍵で解読する)を実行する。そして、認証処理が成功した場合には、CPU21(制御手段の一例)は、当該認証処理に関係する周辺装置用入出力ポートから周辺装置を動作させる動作信号を出力させる。つまり、CPU21は、当該周辺装置用入出力ポートのレジスタの状態情報を変化(Low→High)させることにより、当該周辺装置用入出力ポートから動作信号を出力させる。これにより、当該周辺装置は、当該動作信号に応じて動作を開始する。言い換えれば、当該周辺装置は、周辺装置用入出力ポートの変化を動作のトリガとして利用する。
【0052】
ここで、上記「認証処理に関係する周辺装置用入出力ポート」とは、第1実施形態においては、当該認証処理に用いられた暗号鍵に対応する鍵識別子に対応付けられた入出力ポート識別子に示される周辺装置用入出力ポートである(鍵識別子に対応付けられた入出力ポート識別子は、不揮発性メモリ23から特定される)。
【0053】
図6は、第1実施形態に係るSAM2のCPU21におけるコマンド処理を示すフローチャートである。
【0054】
図6に示す処理が開始されると、CPU21は、コマンド受信を待つ(ステップS1)。次いで、CPU21は、中央制御装置1から、認証処理用入出力ポートを介してコマンドを受信した場合には(ステップS2:YES)、当該受信したコマンドが認証用コマンドであるか否かを、当該コマンドに含まれる命令コードにより判別する(ステップS3)。そして、CPU21は、受信したコマンドが認証用コマンドでない場合には(ステップS3:NO)、ステップS4に進み、認証用コマンドである場合には(ステップS3:YES)、当該認証用コマンドに含まれるコマンド番号を揮発性メモリ22に記憶し、ステップS5に進む。
【0055】
ステップS4では、CPU21は、受信したコマンドに応じたコマンド処理を実行し、ステップS1に戻る。
【0056】
ステップS5では、CPU21は、入力された認証用コマンドのコマンド番号に基づいて鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵(鍵識別子にて指定された暗号鍵)を不揮発性メモリ23から取得し、当該暗号鍵と、認証用コマンドに含まれる認証データとを用いて認証処理を実行する。
【0057】
ここで、コマンド番号に基づく鍵識別子の特定は、次のように行われる。
【0058】
一つの例として、CPU21は、入力された認証用コマンドに含まれるコマンド番号に対応付けられた先頭アドレスをコマンドテーブルから特定し、該特定した先頭アドレスから始まるメモリ領域に記憶された認証処理プログラムを読み出して上記認証処理を開始し、該認証処理プログラム中から鍵識別子を特定する。
【0059】
また、別の例として、CPU21は、先ず、図4(A)に示すように揮発性メモリ22に記憶されているコマンド番号に基づいて、入力された複数の認証用コマンドの入力順序(言い換えれば、認証用コマンドの実行順序)を特定する。次に、CPU21は、当該特定した入力順序に対応する鍵識別子を不揮発性メモリ23から特定する。より具体的には、CPU21は、入力された認証用コマンドに含まれるコマンド番号に対応付けられた先頭アドレスをコマンドテーブルから特定し、該特定した先頭アドレスから始まるメモリ領域に記憶された認証処理プログラムを読み出して上記認証処理を開始し、該認証処理プログラム中から、上記特定した入力順序に対応する鍵識別子を特定する。
【0060】
次いで、CPU21は、認証処理が成功したか否かを判別し(ステップS6)、認証処理が成功しない場合には(ステップS6:NO)、中央制御装置1への応答として、認証処理用入出力ポートを介してエラーメッセージを送信(出力)し(ステップS7)、ステップS1に戻る。
【0061】
一方、認証処理が成功した場合には(ステップS6:YES)、CPU21は、当該認証処理に用いた暗号鍵に対応する鍵識別子にて指定される周辺装置用入出力ポートのレジスタの状態情報をHighに設定する(ステップS8)。これにより、当該周辺装置用入出力ポートに接続された周辺装置に対して動作信号が送信される。
【0062】
次いで、CPU21は、中央制御装置1への応答として、認証処理用入出力ポートを介して正常終了メッセージを送信(出力)し(ステップS9)、ステップS1に戻る。
【0063】
以上説明したように、上記第1実施形態によれば、暗号鍵と周辺装置用入出力ポートとを対応付けておき、認証処理に用いられた暗号鍵に対応する周辺装置用入出力ポートのレジスタの状態情報を変化させることにより、当該周辺装置用入出力ポートから周辺装置を動作させる動作信号を出力させるように構成したので、中央処理装置1が偽装された場合であっても、SAM2の少ない記憶領域で周辺装置へセキュリティ性の高い動作信号を送信することができ、その結果、周辺装置の誤動作を防止することができる。特に、レジスタの状態情報を、「1」又は「0」の1ビットの情報とすることで、SAM2の少ない記憶領域で効率良く周辺装置用入出力ポートを制御することができる。
【0064】
また、認証処理で用いられる暗号鍵の鍵識別子が含まれる認証用コマンドが認証処理用入出力ポートを介して入力される構成も考えられるが、本実施形態においては、認証用コマンドに鍵識別子を含めずに、認証処理に使用される暗号鍵に対応する鍵識別子を、入力された認証用コマンドのコマンド番号に基づいて特定するように構成したので、認証時の通信内容を隠蔽することができ、攻撃の糸口になる認証関連情報(鍵識別子)を外部に漏らさないようにすることができる。更に、認証時の通信内容のバリエーションを減少させることができることより、オペレーションミスを減少させることができる。
【0065】
(第2実施形態)
次に、第2実施形態に係るSAM2の詳細について説明する。なお、第2実施形態に係るSAM2は、図2に示す構成になっていることに加えて、タイマを備えている。また、第2実施形態に係るSAM2の電源端子及び入出力ポートは、図3に示す構成になっている。また、第2実施形態においても、揮発性メモリ22には、図4(A)に示すように、認証用コマンドが入力された順番で若番のアドレスから順次コマンド番号が記憶される。また、第2実施形態においても、図4(B)に示されるコマンドテーブル及び認証処理プログラムの例が適用可能である。また、第2実施形態においても、暗号鍵の格納形式は、図5(A)に示す通りである。また、第2実施形態においても、認証用コマンドの電文形式は、図5(B)に示す通りである。また、第2実施形態においても、CPU21におけるコマンド処理は、ステップS8を除き、図6に示す通りである。なお、第1実施形態と重複する部分については説明を省略する。
【0066】
第2実施形態においては、各周辺装置用入出力ポートに対応する状態情報と、各状態情報に基づき生成されるエラー検出情報が揮発性メモリ22(状態記憶手段の一例)に記憶されるようになっている。
【0067】
図7は、各周辺装置用入出力ポートに対応する状態情報及びエラー検出情報の格納形式の一例を示す図である。図7の例では、I/O1〜I/O7の周辺装置用入出力ポートに対応する状態情報を格納するための記憶領域と、エラー検出情報を格納するための記憶領域が揮発性メモリ22に割り当てられる。なお、I/O1〜I/O7の周辺装置用入出力ポートに対応する状態情報を格納するための記憶領域を2重化するように構成しても良い。
【0068】
ここで、エラー検出情報は、例えば、全ての周辺装置用入出力ポートに対応する状態情報(例えば、1又は0)を足し合わせた値(チェックサム)等であり、周辺装置用入出力ポートのレジスタの状態情報が不正に変更(改竄)されているのを検知するために使用される。
【0069】
第2実施形態に係るCPU21は、認証処理が成功した場合には、周辺装置用入出力ポートのレジスタの状態情報を変化させずに(直ぐには更新しない)、状態情報及び生成したエラー検出情報を揮発性メモリ22に記憶(更新)する。つまり、図6に示すステップS8において、CPU21は、周辺装置用入出力ポートのレジスタの状態情報をHighに設定せずに、当該周辺装置用入出力ポートに対応する記憶領域(揮発性メモリ22の記憶領域)にHighを示す状態情報を記憶すると共に、生成したエラー検出情報をこれに対応する記憶領域に記憶する。
【0070】
そして、CPU21は、所定間隔で実行される割り込み処理が開始された場合に、揮発性メモリ22に記憶されている各状態情報に基づきエラー検出情報を生成する。
【0071】
ここで、割り込み処理は、例えば、インターバルタイマやウォッチドックタイマ等のタイマにより一定の周期(例えば、0.5秒毎)で発生する。
【0072】
そして、CPU21は、上記生成したエラー検出情報と、揮発性メモリ22に記憶されているエラー検出情報とが一致する場合に、揮発性メモリ22に記憶されている各状態情報を、対応する各周辺装置用入出力ポートのレジスタに出力(つまり、レジスタにコピー)して当該レジスタの状態情報を変化させる。
【0073】
図8は、第2実施形態に係るSAM2のCPU21における割り込み処理を示すフローチャートである。
【0074】
図8に示す処理が開始されると、CPU21は、揮発性メモリ22に記憶されている各周辺装置用入出力ポートに対応する状態情報に基づきエラー検出情報を生成する(ステップS11)。
【0075】
次いで、CPU21は、上記生成したエラー検出情報と、揮発性メモリ22に記憶されているエラー検出情報とが一致するか否かを判別し(ステップS12)、一致しない場合には(ステップS12:NO)、ステップS13に進み、一致する場合には(ステップS12:YES)、ステップS14に進む。
【0076】
ステップS13では、CPU21は、全ての周辺装置用入出力ポートのレジスタを全てLowに設定して、無限ループへ移行する。
【0077】
一方、ステップS14では、CPU21は、揮発性メモリ22に記憶されている各状態情報を、対応する各周辺装置用入出力ポートのレジスタにコピーし、当該処理を終了する。
【0078】
以上説明したように、上記第2実施形態によれば、認証処理が成功した場合には、周辺装置用入出力ポートのレジスタの状態情報を直ぐには更新せずに、状態情報及び生成したエラー検出情報を揮発性メモリ22に記憶しておき、その後の割り込み処理が開始された場合に、揮発性メモリ22に記憶されている各状態情報を、対応する各周辺装置用入出力ポートのレジスタに反映するように構成したので、SAM2の周辺装置用入出力ポートの状態が不正に変更された場合であっても、周辺装置の誤動作を防止することができる(一瞬、周辺装置が誤動作することもありうるが、状態情報の反映により直ぐに復旧する)。
【0079】
(第3実施形態)
次に、第3実施形態に係るSAM2の詳細について説明する。なお、第3実施形態に係るSAM2は、図2に示す構成になっている。また、第3実施形態に係るSAM2の電源端子及び入出力ポートは、図3に示す構成になっている。また、第2実施形態においても、揮発性メモリ22には、図4(A)に示すように、認証用コマンドが入力された順番で若番のアドレスから順次コマンド番号が記憶される。また、第2実施形態においても、図4(B)に示されるコマンドテーブル及び認証処理プログラムの例が適用可能である。また、第3実施形態においても、認証用コマンドの電文形式は、図5(A)に示す通りである。なお、第1実施形態と重複する部分については説明を省略する。
【0080】
第3実施形態においては、認証処理が複数回実行され、認証対象の暗号鍵毎に、認証結果(成功/失敗または未実行)を示す認証状態情報が揮発性メモリ22に記憶されるようになっている。
【0081】
図9は、認証状態情報の格納形式の一例を示す図である。図9の例では、暗号鍵a〜hに対応する認証状態情報を格納するための記憶領域が揮発性メモリ22に割り当てられる。
【0082】
また、第3実施形態においても、不揮発性メモリ23には、認証処理に使用される複数の暗号鍵が記憶されている。
【0083】
図10は、第3実施形態における暗号鍵の格納形式の一例を示す図である。各暗号鍵には、図10に示すように、暗号鍵を識別するための鍵識別子が対応付けられて記憶されているが、入出力ポート識別子は対応付けられていない。その代わり、第3実施形態においては、入出力ポート識別子毎に認証状態比較条件情報が対応付けられて不揮発性メモリ23に記憶される。つまり、この例では、複数の暗号鍵による認証結果の組合せと周辺装置用入出力ポートとが対応付けられる。
【0084】
図11は、第3実施形態における認証状態比較条件情報の格納形式の一例を示す図である。各周辺装置用入出力ポートを示す入出力ポート識別子には、図11に示すように、認証状態比較情報と、認証状態比較条件情報と、が対応付けられて記憶されている。
【0085】
ここで、認証状態比較情報は、例えば、上記認証状態情報がどのような状態でなければならないかを定義する。例えば、認証状態比較情報には、認証結果が成功であることが定義される。また、認証状態比較条件情報には、認証状態比較情報に示された状態を、全ての暗号鍵が満たさなければならないのか、或いは一部の暗号鍵が満たさなければならないのかを示す比較条件が定義される。例えば、認証状態比較条件情報には、暗号鍵aと暗号鍵bとのAND条件が定義される。
【0086】
第3実施形態に係るCPU21は、複数回の認証処理による認証結果に該当する認証状態比較条件情報に対応付けられた入出力ポート識別子を特定する。例えば、複数回の認証処理による認証結果、暗号鍵aと暗号鍵bとが認証処理成功であった場合に、これに該当する認証状態比較条件情報が不揮発性メモリ23から特定され、当該特定された認証状態比較条件情報に対応付けられた入出力ポート識別子が特定される。そして、CPU21は、当該特定した入出力ポート識別子に示される周辺装置用入出力ポートから、第1実施形態と同様に、周辺装置を動作させる動作信号を出力させる。
【0087】
図12は、第3実施形態に係るSAM2のCPU21におけるコマンド処理を示すフローチャートである。なお、図12に示すステップS21〜S27の処理は、図6に示すステップS1〜S7の処理と同様である。
【0088】
図12に示すステップS28では、CPU21は、成功した認証処理に用いた暗号鍵に対応する記憶領域に、当該暗号鍵による認証処理に成功したことを示す認証状態情報を記憶する。
【0089】
次いで、CPU21は、各暗号鍵に対応する認証状態情報(更新した認証状態情報を含む)と一致する(該当する)認証状態比較情報及び認証状態比較条件情報があるか否かを判別し(ステップS29)、ある場合には(ステップS29:YES)、ステップS30に進み、ない場合には(ステップS29:NO)、ステップS31に進む。
【0090】
ステップS30では、CPU21は、認証状態情報と一致する認証状態比較情報及び認証状態比較条件情報に対応付けられた入出力ポート識別子に示される周辺装置用入出力ポートのレジスタの状態情報をHighに設定し、ステップS31に進む。これにより、当該周辺装置用入出力ポートに接続された周辺装置に対して動作信号が送信される。
【0091】
ステップS31では、CPU21は、中央制御装置1への応答として、認証処理用入出力ポートを介して正常終了メッセージを送信(出力)し、ステップS21に戻る。
【0092】
以上説明したように、上記第3実施形態によれば、複数の暗号鍵による認証結果の組合せと周辺装置用入出力ポートとを対応付けておき、複数回の認証処理による認証結果に該当する認証状態比較条件情報に対応付けられた周辺装置用入出力ポートから、周辺装置を動作させる動作信号を出力させるように構成したので、複数の認証結果の組合せによって、単一、または複数の周辺装置用入出力ポートを制御することができ、SAM2の少ない記憶領域で、より一層、セキュリティ性の高い動作信号を送信することができる。
【0093】
なお、上記実施形態においては、ATMに対して本発明を適用した場合について説明したが、これに限定されるものではなく、その他の処理システムに対して適用可能である。
【符号の説明】
【0094】
1 中央制御装置
2 SAM
21 CPU
22 揮発性メモリ
23 不揮発性メモリ
24 入出力ポート

【特許請求の範囲】
【請求項1】
識別情報により識別される複数の認証用コマンドのうち少なくとも何れか一つの認証用コマンドであって中央制御装置から入力された当該認証用コマンドに応じた認証処理を実行し、その認証結果を前記中央制御装置に出力する認証処理装置であって、
認証処理用入出力ポートと、
複数の周辺装置の夫々に接続される複数の周辺装置用入出力ポートと、
複数の鍵識別子と、各前記鍵識別子に対応する各暗号鍵データを予め記憶する暗号鍵データ記憶手段と、
認証データ及び認証用コマンドの識別情報を含む認証用コマンドが前記認証処理用入出力ポートを介して入力された場合に、当該入力された認証用コマンドの識別情報に基づいて前記鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵データ前記暗号鍵データ記憶手段から取得する取得手段と、
前記取得された暗号鍵データと、前記入力された認証用コマンドに含まれる認証データとを用いて、当該認証用コマンドに応じた認証処理を実行する認証手段と、
前記認証処理が成功した場合には、当該認証処理に関係する前記周辺装置用入出力ポートから前記周辺装置を動作させる動作信号を出力させる制御手段と、
を備えることを特徴とする認証処理装置。
【請求項2】
請求項1に記載の認証処理装置において、
各前記認証用コマンドに応じた認証処理の内容を規定する各プログラムを、各前記認証用コマンドの識別情報に対応付けて記憶するプログラム記憶手段を更に備え、
各前記プログラム中には、各前記認証処理において用いられる暗号鍵データに対応する鍵識別子が記述されており、
前記取得手段は、前記入力された認証用コマンドの識別情報に対応付けられた前記プログラム中から前記鍵識別子を特定することを特徴とする認証処理装置。
【請求項3】
請求項1に記載の認証処理装置において、
前記認証用コマンドの前記識別情報を、当該認証用コマンドが入力される度に記憶する識別情報記憶手段を更に備え、
前記取得手段は、前記識別情報記憶手段に記憶されている前記識別情報に基づいて、前記入力された複数の前記認証用コマンドの入力順序を特定し、当該特定した入力順序に対応する前記鍵識別子を特定することを特徴とする認証処理装置。
【請求項4】
請求項3に記載の認証処理装置において、
候補となる複数の前記入力順序の組合せを、各前記鍵識別子に対応付けて予め記憶する入力順序記憶手段を更に備え、
前記取得手段は、前記特定された入力順序に対応する前記鍵識別子を前記入力順序記憶手段から特定することを特徴とする認証処理装置。
【請求項5】
請求項1乃至4の何れか一項に記載の認証処理装置において、
前記暗号鍵データ記憶手段には、各前記認証処理用入出力ポートを示す入出力ポート識別子が記憶され、前記入出力ポート識別子毎に前記鍵識別子が対応付けられており、
前記制御手段は、前記認証処理が成功した場合には、前記認証処理に用いられた暗号鍵データに対応する鍵識別子に対応付けられた入出力ポート識別子に示される前記周辺装置用入出力ポートから、前記周辺装置を動作させる動作信号を出力させることを特徴とする認証処理装置。
【請求項6】
請求項1乃至4の何れか一項に記載の認証処理装置において、
前記暗号鍵データ記憶手段には、各前記周辺装置用入出力ポートを示す入出力ポート識別子が記憶され、さらに、前記入出力ポート識別子毎に認証状態比較条件情報が対応付けられて記憶されており、
前記認証手段は、前記認証処理を複数回実行し、
前記制御手段は、複数回の前記認証処理による認証結果に該当する前記認証状態比較条件情報に対応付けられた入出力ポート識別子に示される前記周辺装置用入出力ポートから、前記周辺装置を動作させる動作信号を出力させることを特徴とする認証処理装置。
【請求項7】
請求項1乃至6の何れか一項に記載の認証処理装置において、
前記制御手段は、前記周辺装置用入出力ポートのレジスタの状態情報を変化させることにより、当該周辺装置用入出力ポートから前記動作信号を出力させることを特徴とする認証処理装置。
【請求項8】
請求項7に記載の認証処理装置において、
各前記周辺装置用入出力ポートに対応する状態情報と、各前記状態情報に基づき生成されるエラー検出情報を記憶する状態記憶手段を更に備え、
前記制御手段は、
前記認証処理が成功した場合には、前記周辺装置用入出力ポートのレジスタの状態情報を変化させずに、前記状態情報及び前記エラー検出情報を前記状態記憶手段に記憶し、
所定間隔で実行される割り込み処理が開始された場合に、前記状態記憶手段に記憶されている各前記状態情報を、対応する各前記周辺装置用入出力ポートのレジスタに出力して当該レジスタの状態情報を変化させることを特徴とする認証処理装置。
【請求項9】
請求項8に記載の認証処理装置において、
前記制御手段は、
所定間隔で実行される割り込み処理が開始された場合に、前記状態記憶手段に記憶されている各前記状態情報に基づきエラー検出情報を生成し、
前記生成されたエラー検出情報と、前記状態記憶手段に記憶されているエラー検出情報とが一致する場合に、前記状態記憶手段に記憶されている各前記状態情報を、対応する各前記周辺装置用入出力ポートのレジスタに出力して当該レジスタの状態情報を変化させることを特徴とする認証処理装置。
【請求項10】
請求項1乃至9の何れか一項に記載の認証処理装置と、モータ駆動により入出力口が開閉する前記周辺装置と、を備え、
前記周辺装置は、前記認証処理装置により動作制御されることを特徴とすることを特徴とする処理システム。
【請求項11】
請求項1乃至9の何れか一項に記載の認証処理装置と、当該認証処理装置に認証用コマンドを出力する中央制御装置と、前記認証処理装置又は前記中央制御装置により動作制御される複数の周辺装置と、を備えることを特徴とする現金自動預け払い機。
【請求項12】
認証処理用入出力ポートと、複数の周辺装置の夫々に接続される複数の周辺装置用入出力ポートと、複数の鍵識別子と各前記鍵識別子に対応する各暗号鍵データを予め記憶する暗号鍵データ記憶手段と、を備え、中央制御装置からの認証用コマンドに応じて認証処理を実行し、その認証結果を前記中央制御装置に出力するコンピュータにより実行される認証処理方法であって、
認証データ及び認証用コマンドの識別情報を含む認証用コマンドが前記認証処理用入出力ポートを介して入力された場合に、当該入力された認証用コマンドの識別情報に基づいて前記鍵識別子を特定し、当該特定した鍵識別子に対応する暗号鍵データ前記暗号鍵データ記憶手段から取得するステップと、
前記取得された暗号鍵データと、前記入力された認証用コマンドに含まれる認証データとを用いて認証処理を実行するステップと、
前記認証処理が成功した場合には、当該認証処理に関係する前記周辺装置用入出力ポートから前記周辺装置を動作させる動作信号を出力させるステップと、
を備えることを特徴とする認証処理方法。
【請求項13】
請求項12に記載の認証処理方法をコンピュータに実行させることを特徴とする認証処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図3】
image rotate


【公開番号】特開2011−248593(P2011−248593A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−120564(P2010−120564)
【出願日】平成22年5月26日(2010.5.26)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】