(57)【要約】【課題】信頼性の高い自動取引装置を提供する。【解決手段】取引に関する取引データを生成し、取引データに基づいて出金、入金又は送金に係るコマンドを生成する制御部と、制御部とは異なるデバイスからの入力に応じて制御部から送られてくるコマンドに基づいて制御部の異常を検出する第１のデバイスと、を備え、第１のデバイスは、制御部から送られてくるコマンドに基づいて、制御部の異常を検出しないと判断したときに、コマンドを第１のデバイスとは異なる第２のデバイスに送信する、ようにした。【選択図】図１８
2018181002.tif 000002
【特許請求の範囲】
【請求項１】
取引に関する取引データを生成し、前記取引データに基づいて出金、入金又は送金に係るコマンドを生成する制御部と、
前記制御部とは異なるデバイスからの入力に応じて前記制御部から送られてくるコマンドに基づいて前記制御部の異常を検出する第１のデバイスと、
を備え、
前記第１のデバイスは、前記制御部から送られてくるコマンドに基づいて、前記制御部の異常を検出しないと判断したときに、前記コマンドを前記第１のデバイスとは異なる第２のデバイスに送信する、
ことを特徴とする自動取引装置。
【請求項２】
取引に関する取引データに基づいて出金又は入金に係るコマンドを生成する制御部と、
前記制御部により生成されたコマンドに基づいて出金又は入金の処理を行う入出金処理部と、
前記制御部の異常を検出可能なデバイスと、
を備え、
前記制御部は、取引の成立後、前記入出金処理部に取引の処理を指示するためのコマンドを生成して前記デバイスに送信し、
前記デバイスは、前記コマンドに基づいて前記制御部の異常を検出した場合、前記制御部の異常を外部に出力する、
ことを特徴とする自動取引装置。
【請求項３】
前記制御部は、出金額を示す金額情報を含む出金を指示する第１のコマンドを生成して前記デバイスに送信した後、現金を取り出すための入出金口のシャッターを開けるための第２のコマンドを生成して前記デバイスに送信し、
前記デバイスは、前記第１のコマンドの受信時間と前記第２のコマンドの受信時間との差がしきい値を超えているか否かに基づいて前記制御部の異常を検出する、
ことを特徴とする請求項２に記載の自動取引装置。
【請求項４】
前記デバイスは、暗号化ピンパッドを含み、
前記暗号化ピンパッドは、前記第１のコマンドの受信時間と前記第２のコマンドの受信時間との差がしきい値以内である場合、前記制御部が正常に動作していると判断し、前記第２のコマンドを暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記第２のコマンドを前記入出金処理部に送信し、
前記入出金処理部は、暗号化された前記第２のコマンドを復号し、入出金口のシャッターを開ける処理を行う、
ことを特徴とする請求項３に記載の自動取引装置。
【請求項５】
前記デバイスは、カードリーダを含み、
前記カードリーダは、前記第１のコマンドの受信時間と前記第２のコマンドの受信時間との差がしきい値以内である場合、前記制御部が正常に動作していると判断し、前記第２のコマンドを暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記第２のコマンドを前記入出金処理部に送信し、
前記入出金処理部は、暗号化された前記第２のコマンドを復号し、入出金口のシャッターを開ける処理を行う、
ことを特徴とする請求項３に記載の自動取引装置。
【請求項６】
前記デバイスは、入金の取引が成立したことを確認した後は、前記制御部から送信されるコマンドと、入金の取引の成立後に許容される予め規定されたコマンドとに基づいて、前記制御部の異常を検出する、
ことを特徴とする請求項２に記載の自動取引装置。
【請求項７】
前記デバイスは、暗号化ピンパッドを含み、
前記暗号化ピンパッドは、入金の取引が成立したことを確認した後に、前記制御部から現金収納コマンドを受信した場合、前記制御部が正常に動作していると判断し、前記現金収納コマンドを暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記現金収納コマンドを前記入出金処理部に送信し、
前記入出金処理部は、暗号化された前記現金収納コマンドを復号し、現金を収納する処理を行う、
ことを特徴とする請求項６に記載の自動取引装置。
【請求項８】
前記デバイスは、カードリーダを含み、
前記カードリーダは、入金の取引が成立したことを確認した後に、前記制御部から現金収納コマンドを受信した場合、前記制御部が正常に動作していると判断し、前記現金収納コマンドを暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記現金収納コマンドを前記入出金処理部に送信し、
前記入出金処理部は、暗号化された前記現金収納コマンドを復号し、現金を収納する処理を行う、
ことを特徴とする請求項６に記載の自動取引装置。
【請求項９】
前記デバイスは、前記制御部の異常を検出した場合、前記制御部の異常を前記自動取引装置を管理する上位装置に出力し、前記上位装置からの応答が所定時間内にないとき、予め規定した異常時対策処理を行う、
ことを特徴とする請求項２に記載の自動取引装置。
【請求項１０】
取引に関する取引データに基づいて出金又は入金に係るコマンドを生成する制御部と、
前記制御部により生成されたコマンドに基づいて出金又は入金の処理を行う入出金処理部と、
前記制御部の異常を検出可能なデバイスと、
を備え、
前記制御部は、取引の成立後、前記入出金処理部に取引の処理を指示するためのコマンドを生成して前記デバイスに送信し、
前記デバイスは、前記コマンドに基づいて前記制御部の異常を検出した場合、予め規定した異常時対策処理を行う、
ことを特徴とする自動取引装置。
【請求項１１】
前記制御部は、出金額を示す金額情報を含む取引データを前記デバイスに送信し、取引の成立後、出金を指示する出金コマンドを前記デバイスに送信し、
前記デバイスは、前記取引データの出金額と前記出金コマンドの出金額とが一致していない場合、前記制御部の異常を検出する、
ことを特徴とする請求項１０に記載の自動取引装置。
【請求項１２】
前記デバイスは、暗号化ピンパッドを含み、
前記暗号化ピンパッドは、前記取引データの出金額と前記出金コマンドの出金額とが一致する場合、前記制御部が正常に動作していると判断し、前記出金コマンドを暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記出金コマンドを前記入出金処理部に送信し、
前記入出金処理部は、暗号化された前記出金コマンドを復号し、出金の処理を行う、
ことを特徴とする請求項１１に記載の自動取引装置。
【請求項１３】
前記デバイスは、カードリーダを含み、
前記カードリーダは、前記取引データの出金額と前記出金コマンドの出金額とが一致する場合、前記制御部が正常に動作していると判断し、前記出金コマンドを暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記出金コマンドを前記入出金処理部に送信し、
前記入出金処理部は、暗号化された前記出金コマンドを復号し、出金の処理を行う、
ことを特徴とする請求項１１に記載の自動取引装置。
【請求項１４】
前記デバイスは、前記入出金処理部により現金が計数された計数結果の入金額と、前記制御部により生成された取引データの入金額とが一致していない場合、前記制御部の異常を検出する、
ことを特徴とする請求項１０に記載の自動取引装置。
【請求項１５】
前記デバイスは、暗号化ピンパッドを含み、
前記入出金処理部は、現金を計数した計数結果を暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記計数結果を前記暗号化ピンパッドに送信し、
前記暗号化ピンパッドは、暗号化された前記計数結果を復号し、前記制御部に送信し、
前記制御部は、前記計数結果に基づいて取引データを生成して前記暗号化ピンパッドに送信し、
前記暗号化ピンパッドは、前記計数結果の入金額と前記取引データの入金額とが一致しない場合、前記制御部の異常を検出する、
ことを特徴とする請求項１４に記載の自動取引装置。
【請求項１６】
前記デバイスは、カードリーダを含み、
前記入出金処理部は、現金を計数した計数結果を暗号化して前記制御部に送信し、
前記制御部は、暗号化された前記計数結果を前記カードリーダに送信し、
前記カードリーダは、暗号化された前記計数結果を復号し、前記制御部に送信し、
前記制御部は、前記計数結果に基づいて取引データを生成して前記カードリーダに送信し、
前記カードリーダは、前記計数結果の入金額と前記取引データの入金額とが一致していない場合、前記制御部の異常を検出する、
ことを特徴とする請求項１４に記載の自動取引装置。
【請求項１７】
自動取引装置であって、
取引に関する取引データを生成し、前記取引データに基づいて出金、入金又は送金に係るコマンドを生成する制御部と、
前記制御部とは異なるデバイスからの情報を入力する第１の入力部、及び前記自動取引装置に対する情報を利用者が入力可能な第２の入力部を備える第１のデバイスと、
を備え、
前記第１のデバイスは、前記第１の入力部、及び前記第２の入力部のいずれか一方、又は両方の入力に応じて前記制御部から送られてくるコマンドに基づいて前記制御部の異常を検出し、異常を検出した場合、前記制御部の異常を外部に出力する、
ことを特徴とする自動取引装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自動取引装置に関し、例えば、利用者の操作に基づいて取引を行うＡＴＭ（Automated Teller Machine）に適用して好適なものである。
【背景技術】
【０００２】
近年、ＡＴＭ等の自動取引装置のＡＴＭ制御部にマルウェアが侵入し、取引の裏付けのない不正出金を行ったり、カード番号などの重要情報が漏えいしたりする事件が海外で増加している。このようなマルウェアは、従来ＵＳＢ（Universal Serial Bus）メモリ、ＣＤ−ＲＯＭ（Compact Disc Read only memory）等の物理的な媒体を介してＡＴＭ制御部にインストールされていたが、マルウェアが添付された標的型メールなどで銀行ネットワークに侵入し、銀行ネットワークからＡＴＭにマルウェアが侵入するネットワーク侵入型のケースが増加している。この場合、正規ソフトウェアとしてマルウェアがＡＴＭにダウンローダされるので、ホワイトリスト型アンチマルウェアソフトもマルウェアを有効に防御できない場合もあり、マルウェア対策が困難になってきている。
【０００３】
そのような問題を解決する手段として、特許文献１には、次のような対策方法が開示されている。出金取引においては、カードリーダからは取引で成立した出金額を暗号通信により紙幣処理部が受信する一方、紙幣処理部を制御するアプリケーションからは、指定された金額の出金を行うための出金コマンドを受信する。そして、紙幣処理部は、受信した２つの金額情報を比較して一致した出金コマンドに対してだけ出金処理を行うことで、マルウェアによる不正出金を防ぐことができる。
【０００４】
また、入金取引においては、紙幣処理部からは計数した紙幣の金額を暗号通信によりカードリーダが受け取る一方、カードリーダを制御するアプリケーションからは、指定された入金額の取引を行うための取引データを受信する。そして、カードリーダは、受信した２つの金額情報を比較して一致した取引データに対してだけ取引データに対する電子署名付与、あるいは、メッセージ認証コード付与をＩＣカード（integrated circuit card）に行わせる。これにより、マルウェアによって紙幣処理部に投入された紙幣の金額以上の入金取引の成立を防ぐことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１７／０３３３２１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法により、自動取引装置のＡＴＭ制御部に侵入したマルウェアが紙幣処理部に送信する取引の裏付けのない出金コマンドを防御できたとしても、ＡＴＭ制御部には依然としてマルウェアが存在してしまうという問題がある。
【０００７】
本発明は以上の点を考慮してなされたもので、自動取引装置の制御部の異常を検出して対応可能な信頼性の高い自動取引装置を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、自動取引装置は、取引に関する取引データを生成し、前記取引データに基づいて出金、入金又は送金に係るコマンドを生成する制御部と、前記制御部とは異なるデバイスからの入力に応じて前記制御部から送られてくるコマンドに基づいて前記制御部の異常を検出する第１のデバイスと、を備え、前記第１のデバイスは、前記制御部から送られてくるコマンドに基づいて、前記制御部の異常を検出しないと判断したときに、前記コマンドを前記第１のデバイスとは異なる第２のデバイスに送信するようにした。
【０００９】
また本発明においては、自動取引装置は、取引に関する取引データに基づいて出金又は入金に係るコマンドを生成する制御部と、前記制御部により生成されたコマンドに基づいて出金又は入金の処理を行う入出金処理部と、前記制御部の異常を検出可能なデバイスと、を備え、前記制御部は、取引の成立後、前記入出金処理に取引の処理を指示するためのコマンドを生成して前記デバイスに送信し、前記デバイスは、前記コマンドに基づいて前記制御部の異常を検出した場合、前記制御部の異常を外部に出力するようにした。
【００１０】
また本発明においては、自動取引装置は、取引に関する取引データに基づいて出金又は入金に係るコマンドを生成する制御部と、前記制御部により生成されたコマンドに基づいて出金又は入金の処理を行う入出金処理部と、前記制御部の異常を検出可能なデバイスと、を備え、前記制御部は、取引の成立後、前記入出金処理に取引の処理を指示するためのコマンドを生成して前記デバイスに送信し、前記デバイスは、前記コマンドに基づいて前記制御部の異常を検出した場合、予め規定した異常時対策処理を行うようにした。
【００１１】
また本発明においては、自動取引装置であって、取引に関する取引データを生成し、前記取引データに基づいて出金、入金又は送金に係るコマンドを生成する制御部と、前記制御部とは異なるデバイスからの情報を入力する第１の入力部、及び前記自動取引装置に対する情報を利用者が入力可能な第２の入力部を備える第１のデバイスと、を備え、前記第１のデバイスは、前記第１の入力部、及び前記第２の入力部のいずれか一方、又は両方の入力に応じて前記制御部から送られてくるコマンドに基づいて前記制御部の異常を検出し、異常を検出した場合、前記制御部の異常を外部に出力するようにした。
【００１２】
上記構成によれば、制御部とは異なるデバイスが制御部の異常を検出するので、例えば異常時に迅速に対応することができるようになる。
【発明の効果】
【００１３】
本発明によれば、信頼性の高い自動取引装置を実現できる。
【図面の簡単な説明】
【００１４】
【図１】従来の自動取引システムの構成を示す図である。
【図２】従来のＡＴＭ制御部の概略構成を示す図である。
【図３】従来の紙幣処理部の機能構成を示す図である。
【図４】従来の紙幣処理部制御部の概略構成を示す図である。
【図５】従来のカードリーダの機能構成を示す図である。
【図６】従来のカードリーダ制御部の概略構成を示す図である。
【図７】従来の暗号化ピンパッドの概略構成を示す図である。
【図８】従来の勘定系ホストコンピュータの概略構成図である。
【図９】従来のＡＴＭ稼働監視サーバの概略構成を示す図である。
【図１０】従来の出金取引処理の流れを示す図である。
【図１１】従来の入金取引処理の流れを示す図である。
【図１２】第１の実施の形態による自動取引システムの構成を示す図である。
【図１３】第１の実施の形態によるＡＴＭ制御部の概略構成を示す図である。
【図１４】第１の実施の形態による紙幣処理部の機能構成を示す図である。
【図１５】第１の実施の形態による紙幣処理制御部の概略構成を示す図である。
【図１６】第１の実施の形態による暗号化ピンパッドの概略構成を示す図である。
【図１７】第１の実施の形態によるセキュリティ監視サーバの概略構成を示す図である。
【図１８】第１の実施の形態による出金取引の流れを示す図である。
【図１９】第１の実施の形態による出金取引における異常時の流れを示す図である。
【図２０】第１の実施の形態による復旧処理の流れを示す図である。
【図２１】第２の実施の形態による入金取引の流れを示す図である。
【図２２】第３の実施の形態によるカードリーダの機能構成を示す図である。
【図２３】第３の実施の形態によるカードリーダ制御部の概略構成を示す図である。
【図２４】第３の実施の形態による出金取引の流れを示す図である。
【図２５】第４の実施の形態による入金取引の流れを示す図である。
【図２６】第５の実施の形態によるＩＣカードの概略構成を示す図である。
【図２７】第５の実施の形態による出金取引の流れを示す図である。
【図２８】第６の実施の形態による入金取引の流れを示す図である。
【発明を実施するための形態】
【００１５】
以下図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）第１の実施の形態
（１−１）従来の自動取引システム１の構成
本実施の形態による自動取引システムを説明するに際し、まず、従来の自動取引システム１の構成について図１を用いて説明する。
【００１７】
自動取引システム１は、１又は複数のＡＴＭ２と、勘定系ホストコンピュータ３とがＷＡＮ（Wide Area Network）などの広域ネットワーク４を介して接続されることにより構成されている。さらに、ＡＴＭ２がシャットダウンされているか稼働しているかなどの稼働状況を監視するＡＴＭ稼働監視サーバ５が広域ネットワーク４を介してＡＴＭ２に接続されている。
【００１８】
（ＡＴＭ２の構成）
ＡＴＭ２は、利用者の操作に応じて現金の入出金等の取引を行う自動取引装置である。ＡＴＭ２は、当該ＡＴＭ２全体の動作制御を司るＡＴＭ制御部１０と、ＡＴＭ２の前面パネルの表示ランプ制御、前面パネルの開閉検知などを行うＩ／Ｏ（Input/Output）制御部１１と、ＡＴＭ２の前面に設けられた入出金口内に投入された紙幣を計数して収納庫に搬送、保管し又は出金すべき紙幣を上記収納庫から取り出して入出金口内に搬送する紙幣処理部１２と、ＡＴＭ２での取引に必要なキャッシュカード等のカード媒体２１から当該カード媒体２１に記録されている情報を読み取るカードリーダ１３と、暗証番号等を入力するためのテンキーを有し、入力された暗証番号等の情報を暗号化する機能を有する暗号化ピンパッド１４と、取引明細票用のプリンタであるレシートプリンタ１５と、通帳用のプリンタでなる通帳プリンタ１６と、ＡＴＭ取引のログを記録するジャーナルプリンタ１７と、利用者の顔写真等を撮影するセキュリティ用の監視カメラ１８と、入出金等の取引に関する情報を表示する表示部１９と、勘定系ホストコンピュータ３と通信を行う通信処理部２０とを備えて構成される。入出金口とは、ＡＴＭ２の利用者がＡＴＭ２から紙幣を取り出したり、紙幣を投入したりする口であり、通常は入出金口の蓋（シャッター）でその口が閉じられている。なお、本実施の形態では、カード媒体２１として磁気ストライプカードが使用される例について説明する。また、表示部１９は、利用者からの操作を受け付ける表示操作部であってもよく、暗号化ピンパッド１４の機能を有していてもよい。
【００１９】
図２は、ＡＴＭ制御部１０の概略構成を示す。図２に示すように、ＡＴＭ制御部１０は、ＣＰＵ（Central Processing Unit）３０、メモリ３１等の情報処理資源を備えたマイクロコンピュータ構成を有する。ＣＰＵ３０は、ＡＴＭ制御部１０全体の動作制御を司るプロセッサであり、メモリ３１は、例えば半導体メモリから構成される。
【００２０】
メモリ３１の記憶領域は、プログラム領域３２及びデータ領域３３に区分されて管理される。プログラム領域３２には、ＡＴＭ２取引全体を制御するＡＴＭアプリケーション４０が格納される。また、プログラム領域３２には、Ｉ／Ｏ制御部１１、紙幣処理部１２、カードリーダ１３、暗号化ピンパッド１４、レシートプリンタ１５、通帳プリンタ１６、ジャーナルプリンタ１７、監視カメラ１８及び表示部１９をそれぞれ制御するためのソフトウェア（Ｉ／Ｏ制御部制御ソフトウェア４１、紙幣処理部制御ソフトウェア４２、カードリーダ制御ソフトウェア４３、暗号化ピンパッド制御ソフトウェア４４、レシートプリンタ制御ソフトウェア４５、通帳プリンタ制御ソフトウェア４６、ジャーナルプリンタ制御ソフトウェア４７、監視カメラ制御ソフトウェア４８及び通信処理ソフトウェア４９）等が格納される。
【００２１】
また、データ領域３３には、ＡＴＭ２での入出金取引に必要なデータが格納される。具体的には、カード番号５０、取引関連データ５１、取引可否関連データ５２、取引検証結果データ５３、コマンド・レスポンスデータ５４、監視カメラ画像データ５５などがデータ領域３３に格納される。
【００２２】
カード番号５０は、カード媒体２１に記憶されている、銀行口座の番号、クレジットカードの番号などの利用者の口座を特定可能な情報であり、カードリーダ１３によりカード媒体２１から取得され、ＡＴＭ制御部１０のメモリ３１に記憶される。
【００２３】
取引関連データ５１は、勘定系ホストコンピュータ３に送信する取引データ、取引データに対するメッセージ認証コード（ＭＡＣ：Message Authentication Code）、それらを生成するために使用される関連データ等である。取引関連データ５１に格納される取引データには、例えば、出金額、入金額などの利用者からの入力に基づく取引に関する情報、特には取引金額に関する情報を含む。また、取引データは、カード番号５０などの情報を含んでもよい。
【００２４】
取引可否関連データ５２は、ＡＴＭ２から送信された取引データに対して、勘定系ホストコンピュータ３が銀行口座残高、与信情報などを参照し、その取引を成立させてよいか否かを判断した結果のデータ、それに対応するメッセージ認証コード等であり、勘定系ホストコンピュータ３で生成される。勘定系ホストコンピュータ３は、ＡＴＭスイッチ、ＡＴＭ２の上位装置又はＡＴＭ２の外部のコンピュータである外部コンピュータと呼ぶこともある。
【００２５】
取引検証結果データ５３は、勘定系ホストコンピュータ３からカード媒体２１（例えばＩＣカード）に送られてきた取引可否データをカード媒体２１で検証した結果のデータである。コマンド・レスポンスデータ５４は、ＡＴＭ制御部１０に接続されているデバイス（１１〜２０）との通信に使用されるデータである。監視カメラ画像データ５５は、監視カメラ制御ソフトウェア４８から送られてくる画像データ、時刻データ等である。
【００２６】
図３は、紙幣処理部１２の機能構成を示す。図３に示すように、紙幣処理部１２は、紙幣処理部制御部６０及び紙幣搬送機構部６１を備えて構成される。
【００２７】
紙幣処理部制御部６０は、紙幣搬送機構部６１を制御すると共に、ＡＴＭ制御部１０との間でコマンド、レスポンス等の授受を行う機能を有するハードウェアである。紙幣搬送機構部６１は、金庫内の紙幣を保管する収納庫から紙幣を搬送してＡＴＭ２の利用者に出金したり、利用者がＡＴＭ２の入出金口に投入した紙幣を一時収納庫に搬送して計数したり、入金取引成立後に一時収納庫に格納されている紙幣を金庫内の収納庫に紙幣を搬送したりする機能を有するハードウェアである。なお、紙幣処理部制御部６０は、出金の際に搬送される紙幣の金種及び枚数を計数する機能を有してもよいし、入金の際に搬送される紙幣の金種及び枚数を計数する機能を有してもよい。
【００２８】
図４は、紙幣処理部制御部６０の概略構成を示す。紙幣処理部制御部６０は、ＣＰＵ７０、メモリ７１等の情報処理資源を備えたマイクロコンピュータ構成を有する。ＣＰＵ７０は、紙幣処理部制御部６０全体の動作制御を司るプロセッサであり、メモリ７１は、例えば半導体メモリから構成される。
【００２９】
メモリ７１の記憶領域は、プログラム領域７２及びデータ領域７３に区分されて管理される。プログラム領域７２には、全体制御ファームウェア８０、紙幣搬送機構制御ファームウェア８１等が格納される。データ領域７３には、全体制御用データ８２、紙幣搬送機構制御用データ８３等が設けられる。
【００３０】
全体制御ファームウェア８０は、ＡＴＭ制御部１０との間の通信を制御したり、紙幣搬送機構制御ファームウェア８１を制御したりする機能を有するソフトウェアである。また紙幣搬送機構制御ファームウェア８１は、紙幣搬送機構部６１の制御を行う機能を有するソフトウェアである。
【００３１】
また全体制御用データ８２は、ＡＴＭ制御部１０との通信用データのほか、他の制御ファームウェアを制御するために利用されるデータ（データエリア）である。紙幣搬送機構制御用データ８３は、紙幣搬送機構部６１の制御に利用するデータである。
【００３２】
なお、図示は省略するが、紙幣搬送機構部６１は、ＡＴＭ２の利用者が紙幣を投入したり取り出したりするための入出金口、取引き中の紙幣を一時的に収納する収納庫（一時スタッカ）、金庫などで囲われた紙幣を保管するための収納庫などを備えている。
【００３３】
図５は、カードリーダ１３の機能構成を示す。カードリーダ１３は、カードリーダ制御部９０、カード搬送・読取部９１を備えて構成される。
【００３４】
カードリーダ制御部９０は、カード搬送・読取部９１を制御すると共に、ＡＴＭ制御部１０との間でコマンド、レスポンス等の授受を行う通信機能を有するハードウェアである。カード搬送・読取部９１は、ＡＴＭ２の利用者がカードリーダ１３に挿入したカード媒体２１を読取部まで搬送したり、読取部からカード媒体２１を搬送して利用者に返却したりする機能を有するハードウェアである。
【００３５】
なお、カードリーダ１３は、磁気ストライプカード、ＩＣカードなどのカード媒体２１が挿入される構成であってもよいし、非接触ＩＣカード、非接触通信機能を備えたスマートフォン等の通信機器（例えば携帯端末）がかざされる構成であってもよく、カード媒体２１等の記憶媒体から情報を読み取る読取装置の一例である。
【００３６】
図６は、カードリーダ制御部９０の概略構成を示す。カードリーダ制御部９０は、ＣＰＵ１００、メモリ１０１等の情報処理資源を備えたマイクロコンピュータ構成を有する。ＣＰＵ１００は、カードリーダ制御部９０全体の動作制御を司るプロセッサであり、メモリ１０１は、例えば半導体メモリから構成される。
【００３７】
メモリ１０１の記憶領域は、プログラム領域１０２及びデータ領域１０３に区分されて管理される。プログラム領域１０２には、全体制御ファームウェア１１０、ＩＣカード通信制御ファームウェア１１１等が格納される。データ領域１０３には、全体制御用データ１１２、カード媒体用データ１１３等が設けられる。
【００３８】
全体制御ファームウェア１１０は、ＡＴＭ制御部１０との間の通信を制御したり、カード搬送・読取部９１、及びＩＣカード通信制御ファームウェア１１１を制御したりする機能を有するソフトウェアである。ＩＣカード通信制御ファームウェア１１１は、ＩＣカードとの通信の制御を行う機能を有するソフトウェアである。
【００３９】
全体制御用データ１１２は、ＡＴＭ制御部１０との通信用データのほか、ＩＣカード通信制御ファームウェア１１１を制御するために利用されるデータ（データエリア）である。カード媒体用データ１１３は、ＩＣカード、磁気カードなどのカード媒体２１から読み出したり書き出したりしたデータである。
【００４０】
図７は、暗号化ピンパッド１４の概略構成を示す。図７に示すように、暗号化ピンパッド１４は、ＣＰＵ１２０、メモリ１２１等の情報処理資源を備えたマイクロコンピュータ構成を有する。ＣＰＵ１２０は、暗号化ピンパッド１４全体の動作制御を司るプロセッサであり、メモリ１２１は、例えば半導体メモリから構成される。
【００４１】
メモリ１２１の記憶領域は、プログラム領域１２２及びデータ領域１２３に区分されて管理される。プログラム領域１２２には、アプリケーション１３０、通信制御ファームウェア１３１、暗号処理ファームウェア１３２等が格納される。データ領域１２３には、平文データ１３３、暗号データ１３４、取引関連データ１３５、取引可否関連データ１３６等が格納される。
【００４２】
アプリケーション１３０は、暗号化ピンパッド１４全体の制御を行うファームウェアである。また通信制御ファームウェア１３１は、暗号化ピンパッド１４とＡＴＭ２内の各デバイスとの間でのデータ通信を制御する機能を有するファームウェアである。暗号処理ファームウェア１３２は、ＡＴＭ制御部１０から送信されてくる取引可否データを検証したり、ＡＴＭ制御部１０から送信されてくる取引データに対する取引データＭＡＣ（電子署名、メッセージ認証コード等）を生成したりする暗号処理機能を持つファームウェアである。
【００４３】
平文データ１３３は、出金取引における出金額、取引メニューなど、暗号化ピンパッド１４のキーを押下して入力される平文データである。暗号データ１３４は、暗号化ピンパッド１４のキーを押下して入力され、暗号化ピンパッド１４の外部に出力されるときには暗号化される暗証番号である。
【００４４】
取引関連データ１３５は、取引関連データ５１に対応するデータである。すなわち、取引関連データ１３５として、勘定系ホストコンピュータ３に送信する取引データ、取引データに対する取引データＭＡＣ、それらを生成するために使用される関連データ等がデータ領域１２３に格納される。取引可否関連データ１３６は、取引可否関連データ５２に対応するデータである。すなわち、取引可否関連データ１３６として、勘定系ホストコンピュータ３が銀行口座残高、与信情報などを参照し、その取引を成立させてもよいか否かを判断した結果を示す取引可否データ、取引可否データに対する取引可否データＭＡＣ（電子署名、メッセージ認証コード等）がデータ領域１２３に格納される。
【００４５】
（勘定系ホストコンピュータ３の構成）
図８は、勘定系ホストコンピュータ３の概略構成を示す。勘定系ホストコンピュータ３は、ＡＴＭ２の利用者の口座、残高に関する情報などを記憶して管理する機能を有するコンピュータ装置であり、勘定系ホストコンピュータ３全体の動作制御を司るＣＰＵ１４０、メモリ１４１などの情報処理資源を備えて構成される。
【００４６】
メモリ１４１の記憶領域は、プログラム領域１４２及びデータ領域１４３に区分されて管理される。プログラム領域１４２には、アプリケーション１５０、通信制御ソフトウェア１５１、暗号処理ソフトウェア１５２等が格納される。データ領域１４３には、取引関連データ１５３、取引可否関連データ１５４等が格納される。
【００４７】
アプリケーション１５０は、勘定系ホストコンピュータ３全体の制御を行うソフトウェアである。また通信制御ソフトウェア１５１は、勘定系ホストコンピュータ３と各ＡＴＭ２との間でのデータ通信を制御する機能を有するソフトウェアである。暗号処理ソフトウェア１５２は、ＡＴＭ２から送信されてくるメッセージ認証コード等を検証したり、新たにメッセージ認証コード等を生成したりする暗号処理機能を持つソフトウェアである。本暗号処理ソフトウェア１５２は、ハードウェアで実現してもよい。
【００４８】
取引関連データ１５３は、取引関連データ５１に対応するデータである。取引可否関連データ１５４は、取引可否関連データ５２に対応するデータである。すなわち、取引可否関連データ１５４として、勘定系ホストコンピュータ３が銀行口座残高、与信情報などを参照し、その取引を成立させてもよいか否かを判断した結果を示す取引可否データ、取引可否データに対するメッセージ認証コードデータ等がデータ領域１４３に格納される。
【００４９】
（ＡＴＭ稼働監視サーバ５の構成）
図９は、ＡＴＭ稼働監視サーバ５の概略構成を示す。ＡＴＭ稼働監視サーバ５は、ＡＴＭ２が稼働している状況を監視・管理する機能を有するコンピュータ装置であり、ＡＴＭ稼働監視サーバ５全体の動作制御を司るＣＰＵ１６０、メモリ１６１などの情報処理資源を備えて構成される。
【００５０】
メモリ１６１の記憶領域は、プログラム領域１６２及びデータ領域１６３に区分されて管理される。プログラム領域１６２には、例えばＡＴＭ稼働監視ソフトウェア１７０が格納される。データ領域１６３には、ＡＴＭ稼働ログ１７１、監視・制御用データ１７２等が格納される。
【００５１】
ＡＴＭ稼働監視ソフトウェア１７０は、ＡＴＭ２の稼働状況を監視したり、ＡＴＭ２に対してシャットダウンなどのリモート操作を可能としたりする機能を有する。ＡＴＭ稼働ログ１７１は、ＡＴＭ２の稼働状況を記録したデータである。監視・制御用データ１７２は、ＡＴＭ稼働監視サーバ５がＡＴＭ２にコマンドを送信するためのデータである。
【００５２】
（自動取引システム１における出金取引処理）
図１０を参照して、カード媒体２１として磁気ストライプカードを用いた従来の出金取引処理の流れについて説明する。
【００５３】
以下においては、勘定系ホストコンピュータ３とＡＴＭ２との間において暗号通信を行うための暗号鍵交換などの事前処理は既に完了している状態であるとする。さらに、暗号通信では、リプレイ攻撃防止のために、乱数を用いたチャレンジコード、レスポンスコード等が必要な場合でも、それらのデータの流れについては省略する。リプレイ攻撃とは、過去に送信されたデータを第三者が保存し、保存しておいたデータを再送することにより、不正処理を行う攻撃である。
【００５４】
また、ＡＴＭ２の利用者によりカード媒体２１がカードリーダ１３に既に挿入されている状態であるとする。また、暗証番号などによる本人確認認証処理に関しては、処理の流れの説明を省略する。
【００５５】
まず、カードリーダ１３は、カード媒体２１からカード番号を読み取り、カード媒体用データ１１３としてデータ領域１０３に格納する（ステップＳ１）。その後カードリーダ１３は、カード媒体用データ１１３としてデータ領域１０３に格納したカード番号をＡＴＭ制御部１０に送信する（ステップＳ２）。ＡＴＭ制御部１０は、カード番号を受信し、カード番号５０としてデータ領域３３に格納する（ステップＳ３）。その後、ＡＴＭ制御部１０は、格納したカード番号を暗号化ピンパッド１４に送信する（ステップＳ４）。暗号化ピンパッド１４は、送られてきたカード番号を平文データ１３３としてデータ領域１２３に格納する（ステップＳ５）。暗号化ピンパッド１４にカード番号を格納するのは、暗証番号を暗号化して出力するフォーマットの１つに、カード番号を必要とするフォーマットが存在するからである。
【００５６】
上記では、カードリーダ１３から暗号化ピンパッド１４まで、カード番号は平文で送信されることを想定したが、安全のために暗号通信により暗号化された状態で送信されてもよい。その場合は、暗号化ピンパッド１４で格納される暗号化カード番号は、暗号データ１３４に一旦格納され、暗号化ピンパッド１４内の暗号処理ファームウェア１３２の機能により、カード番号が復号されて平文データ１３３としてデータ領域１２３に格納されてもよい。
【００５７】
ＡＴＭ２の利用者により暗号化ピンパッド１４が操作されて、取引における出金額が入力されると、暗号化ピンパッド１４は、出金額をＡＴＭ制御部１０に送信する（ステップＳ６）。ＡＴＭ制御部１０は、送られてきた出金額を受信し、取引関連データ５１としてデータ領域３３に格納する（ステップＳ７）。
【００５８】
その後、ＡＴＭ制御部１０は、受信したカード番号と出金額とを用いて取引データを生成し、その取引データに対する取引データＭＡＣを付与するため、取引データを暗号化ピンパッド１４に送信する（ステップＳ８）。暗号化ピンパッド１４は、本来暗証番号の暗号化に用いられるが、暗号機能そのものを用いて、取引電文に対する電子署名、メッセージ認証コード等の生成、検証といった暗号処理に用いられることがある。暗号化ピンパッド１４は、送られてきた取引データを受信し、取引関連データ１３５としてデータ領域１２３に格納する（ステップＳ９）。その後、暗号化ピンパッド１４は、取引データＭＡＣを計算し、その結果を取引関連データ１３５としてデータ領域１２３に格納し、取引データＭＡＣをＡＴＭ制御部１０に送信する（ステップＳ１０）。ＡＴＭ制御部１０は、取引データＭＡＣを受信し、取引関連データ５１としてデータ領域３３に格納する（ステップＳ１１）。そしてＡＴＭ制御部１０は、取引データＭＡＣを既に格納している取引データと共に勘定系ホストコンピュータ３に送信する（ステップＳ１２）。
【００５９】
勘定系ホストコンピュータ３は、かかる取引データ及び取引データＭＡＣを受信し、これらを取引関連データ１５３としてデータ領域１４３に格納する（ステップＳ１３）。勘定系ホストコンピュータ３は、取引関連データ１５３の取引データに対し、取引データに対応する電子署名又はメッセージ認証コードを用いて取引データの正当性を検証する。また勘定系ホストコンピュータ３は、利用者の口座残高、与信情報等を確認し、出金額、口座残高、与信情報などに基づいて出金取引の実施可否を検証した上で、取引可否データを生成する。そして勘定系ホストコンピュータ３は、取引可否データに対応する取引可否データＭＡＣ（電子署名、メッセージ認証コード等）を生成し、取引可否関連データ１５４としてデータ領域１４３に格納する（ステップＳ１４）。そして勘定系ホストコンピュータ３は、データ領域１４３に格納された取引可否データと対応する取引可否データＭＡＣとをＡＴＭ制御部１０に送信する（ステップＳ１５）。
【００６０】
ＡＴＭ制御部１０は、勘定系ホストコンピュータ３から送られてきた取引可否データ及び取引可否データＭＡＣを受信すると、取引可否関連データ５２としてデータ領域３３に格納すると共に、暗号化ピンパッド１４に対してそれらのデータを送信する（ステップＳ１６）。
【００６１】
暗号化ピンパッド１４は、ＡＴＭ制御部１０から送られてきた取引可否データ及び取引可否データＭＡＣを受信すると、取引可否関連データ１３６としてデータ領域１２３に格納する。そして暗号化ピンパッド１４は、取引可否データに対する取引可否データＭＡＣを計算し、取引可否データの正当性を検証し、その結果を取引可否関連データ１３６（取引可否データＭＡＣ検証結果）としてデータ領域１２３に格納する（ステップＳ１７）。暗号化ピンパッド１４は、データ領域１２３から取引可否データＭＡＣ検証結果を読み出し、ＡＴＭ制御部１０に送信する（ステップＳ１８）。
【００６２】
ＡＴＭ制御部１０は、暗号化ピンパッド１４から送られてきた取引可否データＭＡＣ検証結果を受信し、取引検証結果データ５３としてデータ領域３３に格納する（ステップＳ１９）。
【００６３】
ＡＴＭ制御部１０は、取引可否データＭＡＣ検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して紙幣出金コマンドを生成し、紙幣処理部１２に送信する（ステップＳ２０）。紙幣出金コマンドは、紙幣処理部１２内の現金カセットから必要な枚数の現金を繰り出し、ＡＴＭ２の利用者がアクセスできる入出金口まで紙幣を搬送する紙幣出金処理を指示するためのコマンドである。紙幣処理部１２は、紙幣出金コマンドを受信すると、紙幣出金処理を行う（ステップＳ２１）。
【００６４】
取引可否データが取引成立を示すものである場合、ＡＴＭ制御部１０は、引き続き入出金口をふさいでいるシャッターを開くための入出金口シャッター開コマンドを生成し、紙幣処理部１２に送信する（ステップＳ２２）。紙幣処理部１２は、入出金口シャッター開コマンドを受信すると、シャッターを開き、ＡＴＭ２の利用者が紙幣を取り出せる状態にする（ステップＳ２３）。なお、取引可否データが取引成立を示すものでない場合、ＡＴＭ２の利用者に対して取引が成立しなかった旨のメッセージを表示部１９に表示する。以上が従来の出金取引処理の流れである。
【００６５】
ここで、ＡＴＭ制御部１０のＡＴＭアプリケーション４０にマルウェアが混入し、取引の裏付けのない不正な紙幣出金コマンドが紙幣処理部１２に送信される処理は、例えば、ステップＳ２０及びステップＳ２２で起こり得る。すなわちＡＴＭ制御部１０は、メモリ３１に格納されている取引可否データに基づいて紙幣出金コマンドを生成するのが本来の処理の流れである。それを保障しているのがＡＴＭアプリケーション４０の正当性である。
【００６６】
しかしながら、マルウェアの混入によりその正当性が担保されないと、取引可否データに基づかずに不正な紙幣出金コマンドが紙幣処理部１２に送信される。この場合、紙幣出金コマンド中の出金額が改ざんされたり、そもそも取引とは全く関係のない紙幣出金コマンドが紙幣処理部１２に送信されたりして紙幣の不正出金が行われる。
【００６７】
上記の特許文献１には、カードリーダと紙幣処理部との間で暗号通信を行うことにより、ＡＴＭ制御部にマルウェアが混入した場合でも不正出金を防止する方法が記載されている。しかしながら、その場合、取引の裏付けのある暗号化された紙幣出金コマンドと同様に、ステップＳ２２及びステップＳ２３で、取引の裏付けのある入出金口シャッター開コマンドが暗号化されて送信されているとしても、別の攻撃が存在する。
【００６８】
例えば、ＡＴＭ制御部１０のマルウェアが紙幣処理部１２に送信される暗号化入出金口シャッター開コマンドをブロックし、ＡＴＭ２の利用者がＡＴＭ２の前から立ち去った後に、悪意を持つ第三者がＡＴＭ２のマルウェアを何らかの手段で操作し、ブロックされた入出金口シャッター開コマンドを紙幣処理部１２に送信することで紙幣の不正取出が行われる。このような攻撃の場合、仮に、取引の裏付けのある入出金口シャッター開コマンドが暗号化されていても、上記の攻撃を防止することができない。
【００６９】
また、ＡＴＭ制御部１０に混入したマルウェアからの不正出金コマンドを防止できたとしても、混入したマルウェアを放っておくことは許されず、ＡＴＭ制御部１０が正常であるのか異常であるのかをＡＴＭシステムとして監視し、異常があれば早急にＡＴＭ２の上位に存在する監視システムにその異常状態を通知しなければならない。
【００７０】
しかしながら、マルウェアなどの攻撃事例を参照すると、上位の監視システムに異常を通知されるのを、マルウェア自身やＡＴＭ２内部に設置された悪意のあるコンピュータによって阻害される場合がある。また、マルウェア自身が銀行内のネットワークから侵入した場合、上位に存在する監視システム自身も既に乗っ取られている可能性があり、ＡＴＭ２が異常を通知したとしても、監視システムが適切な対処ができるとは限らない。
【００７１】
一方、入金取引の場合には、入金金額の不正改ざん、入金先の口座番号の不正改ざんといったリスクに加えて、入金取引が成立した後に、紙幣返却コマンド、入出金口シャッター開コマンド等がマルウェアにより不正に紙幣処理部１２に送信され、ＡＴＭ２に投入された紙幣が不正に返却されるというリスクが存在する。これを説明するために、従来の入金取引処理の流れについて図１１を用いて説明する。
【００７２】
（自動取引システム１における入金取引処理）
図１１を参照して、カード媒体２１として磁気ストライプカードを用いた従来の入金取引処理の流れについて説明する。入金取引処理において、出金取引処理における図１０のステップＳ１〜ステップＳ５、ステップＳ８〜ステップＳ１９の処理は同じである。図１０のステップＳ６及びステップＳ７、及びステップＳ２０〜ステップＳ２３が、入金取引処理において、それぞれステップＳ３０〜ステップＳ３３、ステップＳ３４及びステップＳ３５に置き換わる。以下、相違部分を主に説明する。
【００７３】
ＡＴＭ制御部１０は、ＡＴＭ２に投入される紙幣の合計金額を計数するために（ＡＴＭアプリケーション４０が紙幣処理部制御ソフトウェア４２を介して）入金計数コマンドを生成し、コマンド・レスポンスデータ５４としてデータ領域３３に格納する。そしてＡＴＭ制御部１０は、格納した入金計数コマンドを紙幣処理部１２に送信する（ステップＳ３０）。紙幣処理部１２は、入金計数コマンドを受信すると、ＡＴＭ２の前面に設けられた入出金口に投入された紙幣を計数すると共に、計数した紙幣を紙幣処理部内の一時収納庫に格納する計数処理を行う（ステップＳ３１）。その後、紙幣処理部１２は、計数した紙幣の合計金額又は紙幣の金種毎の枚数を入金計数結果としてＡＴＭ制御部１０に送信する（ステップＳ３２）。
【００７４】
ＡＴＭ制御部１０は、入金計数結果を受信すると、取引関連データ５１としてデータ領域３３に格納する（ステップＳ３３）。そしてＡＴＭ制御部１０は、取引関連データ５１とカード番号５０とを合わせて入金取引のための取引データを生成し、同じく取引関連データ５１としてデータ領域３３に格納し、取引データを暗号化ピンパッド１４に送信する（図１０のステップＳ８）。以下図１０のステップＳ９〜ステップＳ１９の処理が行われる。
【００７５】
その後、入金取引処理では、ＡＴＭ制御部１０は、ステップＳ１９で受信した取引可否データＭＡＣ検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して（ＡＴＭアプリケーション４０が紙幣処理部制御ソフトウェア４２を介して）紙幣収納コマンドを生成し、コマンド・レスポンスデータ５４としてデータ領域３３に格納する。そしてＡＴＭ制御部１０は、格納した紙幣収納コマンドを紙幣処理部１２に送信する（ステップＳ３４）。紙幣処理部１２は、紙幣収納コマンドを受け取ると、一時収納庫に格納されている紙幣を、金庫などで覆われた収納庫に移動させる紙幣収納処理を行う（ステップＳ３５）。以上が、従来の入金取引処理の流れである。
【００７６】
ここで、例えばＡＴＭ制御部１０のＡＴＭアプリケーション４０にマルウェアが混入した場合、上述した従来の入金取引処理においてステップＳ３４の紙幣収納コマンドを生成して送信する代わりに、ステップＳ３６、ステップＳ３８に示すように、紙幣返却コマンド及び入出金口シャッター開コマンドを生成し、紙幣処理部１２に送信されてしまうおそれがある。この結果、紙幣返却コマンドにより一時収納庫に格納されている収納前の紙幣が入出金口に返却され、入出金口シャッター開コマンドにより入出金口シャッターが開かれて紙幣を取り出すことが可能になる。またＡＴＭ２に一時収納庫が無い場合、収納庫に格納された紙幣を取り出して入出金口に返却されることになる。この場合、入金取引は既に完了しているので、ＡＴＭ２の利用者は何も気づかずにＡＴＭ２の前を離れる。その後、悪意を持った第三者がＡＴＭ２に混入したマルウェアを操作し、上記のような操作により収納庫に移動予定の紙幣を取得することが可能になる。
【００７７】
このような攻撃の場合、勘定系ホストコンピュータ３には何も異常が通知されない。また、ＡＴＭ２内に格納されている取引ログに異常を示すデータの記録がマルウェアによって阻害されていると、ＡＴＭ稼働監視サーバ５にも異常が通知されない。ＡＴＭ制御部１０が既にマルウェアによって乗っ取られている場合、ＡＴＭ制御部１０自身が自らの異常を判断するのは困難となる。
【００７８】
その結果、ＡＴＭ２内の現金が規定枚数分存在するかを検査する「精査」と呼ばれる作業を行うまで異常が分からないことになり、継続して攻撃を受けて被害金額が大きくなるおそれがある。よって、ＡＴＭ２の取引処理において、異常が起こった場合は早急にその異常を検知すると共に、その異常状態に対する対策を迅速に実行する必要がある。
【００７９】
そこで、本実施の形態では、ＡＴＭ２内のアプリケーションソフトウェアや制御ソフトウェアがマルウェアにより不正改ざんされた場合において、ＡＴＭ２内のデバイスがＡＴＭ制御部１０から送られてくるコマンドの正当性を監視することにより、不正出金処理、不正入金処理といった攻撃を防御するだけでなく、ＡＴＭ制御部１０の異常状態を早期にＡＴＭ監視システムに通知する自動取引システムを提案する。
【００８０】
さらに、ＡＴＭ制御部１０の異常状態をＡＴＭ稼働監視サーバ、セキュリティ監視サーバ等にＡＴＭ２内のデバイスが通知しようとしてもマルウェアがその通知を妨害した場合、又は上述のサーバが既に攻撃を受けて正しく機能していない場合でも、その異常状態を検知して次の対策を実行する自動取引システムを提案する。
【００８１】
（１−２）第１の実施の形態による自動取引システム２００の構成
図１２において、２００は全体として本実施の形態による自動取引システムを示す。本実施の形態における自動取引システム２００において、ＡＴＭ２１０（ＡＴＭ制御部２２０、紙幣処理部２２１及び暗号化ピンパッド２２２）、及びセキュリティ監視サーバ２１１以外については、上述した従来の自動取引システム１と同様に構成されている。なお、基本的に同一の構成については同一の符号を用い、その説明を適宜省略する。
【００８２】
（ＡＴＭ２１０の構成）
図１３は、ＡＴＭ制御部２２０の概略構成を示す。プログラム領域３２のセキュリティ監視エージェント２３１、データ領域３３の暗号化コマンド・レスポンスデータ２３２、セキュリティ監視用データ２３３以外については、従来のＡＴＭ制御部１０と同様に構成されている。
【００８３】
セキュリティ監視エージェント２３１は、ＡＴＭ２１０内のデバイスで検知（検出）したＡＴＭ制御部２２０の異常状態をセキュリティ監視サーバ２１１に通知するためのソフトウェアである。暗号化コマンド・レスポンスデータ２３２は、ＡＴＭ２１０内のデバイス間で暗号化されたコマンド、レスポンス等をＡＴＭ制御部２２０経由でやり取りするためのデータである。セキュリティ監視用データ２３３は、ＡＴＭ２１０内のデバイスで検知したＡＴＭ制御部２２０の異常状態をセキュリティ監視サーバ２１１に通知する際に使用するデータである。
【００８４】
図１４は、紙幣処理部２２１の機能構成を示す。図１４に示すように、紙幣処理部２２１は、紙幣処理部制御部２４０及び紙幣搬送機構部６１を備えて構成される。なお、紙幣処理部２２１が備える紙幣処理部１２と同様の機能については、その説明を省略する。
【００８５】
図１５は、紙幣処理部制御部２４０の概略構成を示す。紙幣処理部制御部２４０内のメモリ７１に格納されている暗号処理部ファームウェア２５０、暗号処理用データ２５１以外については、従来の紙幣処理部１２と同様に構成されている。
【００８６】
暗号処理部ファームウェア２５０は、紙幣搬送機構部６１から出力されるデータを暗号化したり、ＡＴＭ制御部２２０から送られてきた暗号化データを復号したりする機能を有するファームウェアであるが、同等の機能を持つハードウェアで構成してもよい。暗号処理用データ２５１は、ＡＴＭ制御部２２０、又は他のＡＴＭ２１０内のデバイスとの暗号通信時に利用する処理用データである。例えば、電子署名データ、メッセージ認証コード等の生成、検証などを行うために使われる。なお、全体制御ファームウェア８０は、従来の制御に加えて、暗号処理部ファームウェア２５０を制御する機能を有する。
【００８７】
図１６は、暗号化ピンパッド２２２の概略構成を示す。デバイス制御関連データ２６０、時刻データ２６１、状態テーブル２６２、異常通知・異常処理用データ２６３、特権処理用データ２６４以外については、従来の暗号化ピンパッド１４と同様に構成されている。
【００８８】
デバイス制御関連データ２６０は、暗号化ピンパッド２２２がＡＴＭ制御部２２０との間でコマンド、レスポンス等をやり取りするためのデータであったり、ＡＴＭ２１０内の他のデバイスとの間で暗号化されたコマンド、レスポンス等をやり取りするためのデータであったりする。
【００８９】
時刻データ２６１は、ＡＴＭ制御部２２０との間、又はＡＴＭ２１０内の他のデバイスとの間でコマンド、レスポンス等を受け渡しした時刻を示すデータである。状態テーブル２６２には、勘定系ホストコンピュータ３が出金取引、入金取引等を承認する前か後かといった、ＡＴＭ２１０における取引の状態を示すデータ、ＡＴＭ制御部２２０が正常であるか異常であるかの状態を示すデータ、セキュリティ監視サーバ２１１からの応答に応じて、暗号化ピンパッド２２２が通常モードであるか、縮退モードであるかといった暗号化ピンパッド２２２の状態を示すデータが格納される。
【００９０】
異常通知・異常処理用データ２６３は、暗号化ピンパッド２２２がＡＴＭ制御部２２０の異常を検出した場合、セキュリティ監視サーバ２１１に異常状態を通知するために用いるデータであったり、セキュリティ監視サーバ２１１からの異常状態に対する対処指示データであったりする。
【００９１】
特権処理用データ２６４は、例えば、セキュリティ監視サーバ２１１からの指示により暗号化ピンパッド２２２が縮退モードに入った後に、通常モードに復帰させる場合に特権モードに入って復帰させる場合に使用するデータである。例えば、ワンタイムパスワードを用いて特権モードに入る場合は、ワンタイムパスワードの発行に必要なチャレンジコードであったり、発行されたワンタイムパスワードを暗号化ピンパッド２２２が検証するために使うデータであったりする。
【００９２】
（セキュリティ監視サーバ２１１の構成）
セキュリティ監視サーバ２１１は、ＡＴＭ２１０のセキュリティ状況を監視するサーバであり、ＡＴＭ２１０内のデバイスがＡＴＭ制御部２２０の異常を検出した場合、ＡＴＭ２１０からの異常検出情報を受信する。セキュリティ監視サーバ２１１は、ＡＴＭ２１０から異常が通知された場合、異常検出情報の内容に応じて、ＡＴＭ２１０に対して縮退モードで運用したりといった異常時対策命令を出力する機能コマンドを送付したり、ＡＴＭ稼働監視サーバ５と連携してＡＴＭ２１０をシャットダウンさせる、直接ＡＴＭ２１０をシャットダウンさせる等の機能を有するコンピュータである。
【００９３】
図１７は、セキュリティ監視サーバ２１１の概略構成を示す。セキュリティ監視サーバ２１１は、セキュリティ監視サーバ２１１全体の動作制御を司るＣＰＵ２７０、メモリ２７１などの情報処理資源を備えて構成される。
【００９４】
メモリ２７１の記憶領域は、プログラム領域２７２及びデータ領域２７３に区分されて管理される。プログラム領域２７２には、例えばセキュリティ監視ソフトウェア２８０が格納される。データ領域２７３には、ＡＴＭ異常通知情報２８１、異常時対策リスト２８２、復旧用データ２８３等が格納される。
【００９５】
セキュリティ監視ソフトウェア２８０は、ＡＴＭ制御部２２０のセキュリティ状況を監視したり、ＡＴＭ２１０に対して異常判断時の対策命令を発行したり、異常時からの復旧に必要なデータ送信を可能としたりする機能を有する。ＡＴＭ異常通知情報２８１は、ＡＴＭ２１０から送信されてくる異常状態の通知データである。異常時対策リスト２８２は、通知された異常状態に対応する対策方法のリストである。復旧用データ２８３は、ＡＴＭ２１０を異常状態から正常状態に復旧するために特権モードが必要な場合、その特権モードに入るために送受信するデータである。
【００９６】
（自動取引システム２００における出金取引処理）
図１８〜図２０を参照して、自動取引システム２００における出金取引の流れについて説明する。ここではカード媒体２１として磁気ストライプカードを用いる場合を例に挙げて説明する。なお、図１８では、図１０のステップＳ１〜ステップＳ１９までの処理に続く処理であり、従来の出金取引との差異を明確にするため、図１０のステップＳ１〜ステップＳ１９までの処理を省略し、それ以降の処理の流れを示している。ここでは、暗号化ピンパッド２２２と紙幣処理部２２１との間の暗号通信に必要な暗号鍵の共有、セッション生成等は既に完了しているとする。また、暗号通信でリプレイ攻撃を防止するためのチャレンジデータ、レスポンスデータといった暗号通信に必要な既知のデータのやり取りも省略する。
【００９７】
またステップＳ４２で必要とする取引データ、取引可否データは、それぞれ暗号化ピンパッド２２２が図１０のステップＳ９、ステップＳ１７で取得し、取引関連データ１３５、取引可否関連データ１３６としてデータ領域１２３に保存しているとものする。さらに、ステップＳ１７では、取引可否データの内容に応じて、状態テーブル２６２には取引が成立した状態であるか、不成立の状態であるのかの状態データが格納されているものとする。さらにステップＳ１７では、取引可否データＭＡＣを受信した時刻（取引可否データＭＡＣの検証を行った時刻であってもよい。）が時刻データ２６１に格納されているものとする。
【００９８】
図１８に示すように、まず、ＡＴＭ制御部２２０は、ステップＳ１９で受信した取引可否データＭＡＣ検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して紙幣出金コマンドを生成し、暗号化ピンパッド２２２に対して、平文の紙幣出金コマンドを送信する（ステップＳ４０）。暗号化ピンパッド２２２は、平文の紙幣出金コマンドを受信すると、受信した時刻を時刻データ２６１としてデータ領域１２３に書き込む（ステップＳ４１）。
【００９９】
そして、ステップＳ１７で保存した取引可否データの受信時刻と、本ステップで紙幣出金コマンドを受信した時刻を比較する。その時刻差があるしきい値以内である場合、紙幣出金コマンドはマルウェアによって送信を妨害されていないと判断する。その後、暗号化ピンパッド２２２は、状態テーブル２６２を参照して出金取引が成立している状態であるか否かを確認する。暗号化ピンパッド２２２は、出金取引が成立していると判断した場合、ステップＳ９で取得した取引データの出金額と紙幣出金コマンドに含まれている出金額とを比較し、検証する（ステップＳ４２）。
【０１００】
この際、暗号化ピンパッド２２２は、両者の金額が一致していると判断した場合、送られてきた紙幣出金コマンドが取引の裏付けのある紙幣出金コマンドであると判断する。さらに、暗号化ピンパッド２２２は、ステップＳ１７で保存した取引可否データの受信時刻と、本ステップＳ４２で紙幣出金コマンドを受信した時刻とを比較する。その時刻差があるしきい値以内である場合、紙幣出金コマンドはマルウェアによって送信を妨害されていないと判断する。暗号化ピンパッド２２２は、取引の裏付けのある紙幣出金コマンドであり、かつ、マルウェアによって出金コマンドの送信を妨害されていないと判断した場合、平文の紙幣出金コマンドを暗号化（暗号化紙幣出金コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ４３）。
【０１０１】
ＡＴＭ制御部２２０は、暗号化紙幣出金コマンドを受信すると（ステップＳ４４）、それをそのまま紙幣処理部２２１に送信する（ステップＳ４５）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣出金コマンドを受信すると、暗号化紙幣出金コマンドを復号し、紙幣出金処理を行う（ステップＳ４６）。
【０１０２】
ＡＴＭ制御部２２０は、さらに入出金口シャッター開コマンドを生成し、暗号化ピンパッド２２２に対して、平文の入出金口シャッター開コマンドを送信する（ステップＳ４７）。暗号化ピンパッド２２２は、平文の入出金口シャッター開コマンドを受信すると、受信した時刻を時刻データ２６１としてデータ領域１２３に書き込む（ステップＳ４８）。その後、暗号化ピンパッド２２２は、ステップＳ４１で保存した受信時刻と、ステップＳ４８で保存した受信時刻とを比較し、検証する（ステップＳ４９）。暗号化ピンパッド２２２は、その時刻差があるしきい値以内である場合、入出金口シャッター開コマンドはマルウェアによって送信を妨害されていないと判断する。暗号化ピンパッド２２２は、マルウェアによるコマンド送信の妨害がないと判断した場合、平文の入出金口シャッター開コマンドを暗号化（暗号化入出金口シャッター開コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ５０）。
【０１０３】
ＡＴＭ制御部２２０は、暗号化入出金口シャッター開コマンドを受信すると（ステップＳ５１）、暗号化入出金口シャッター開コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ５２）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化入出金口シャッター開コマンドを受信すると、暗号化入出金口シャッター開コマンドを復号し、入出金口のシャッターを開くシャッター開処理を行う（ステップＳ５３）。
【０１０４】
なお、ステップＳ４３〜ステップＳ４６までの通信、及びステップＳ５０〜ステップＳ５３までの通信において、紙幣処理部２２１への通信が妨害されたことを検出するために、紙幣処理部２２１自身がコマンドを受信した時刻の妥当性を検証する機能を有してもよい。そのために、ステップＳ１７、ステップＳ４２、ステップＳ４９で保存した時刻データを、紙幣処理部２２１が受信するコマンドの中に含めてもよい。
【０１０５】
図１９は、図１８のステップＳ４２で取引の裏付けのある出金コマンドと判断されなかった場合、又はステップＳ４９でマルウェアによるコマンド送信の妨害がないと判断されなかった場合（異常時）の処理の流れを示す。ステップＳ４２、ステップＳ４９のいずれかの処理の後で、暗号化ピンパッド２２２は、コマンド検証エラー情報を生成し、異常通知・異常処理用データ２６３としてデータ領域１２３に格納する。コマンド検証エラー情報には、取引データに含まれる取引番号、監視カメラ１８で撮影している利用者の顔画像を確認するための取引時の時刻情報等、セキュリティ監視サーバ２１１でＡＴＭ２１０の異常の詳細状況を判断するための情報が含まれる。その後、暗号化ピンパッド２２２は、コマンド検証エラー情報をＡＴＭ制御部２２０に送信すると共に、セキュリティ監視サーバ２１１からの応答が規定時間内に暗号化ピンパッド２２２に届くかどうかのタイムアウト監視のためのタイマーをスタートする（ステップＳ６０）。
【０１０６】
ＡＴＭ制御部２２０は、コマンド検証エラー情報を受信すると（ステップＳ６１）、セキュリティ監視用データ２３３に格納すると共に、コマンド検証エラー情報に含まれている情報を参照し、ＡＴＭ異常通知情報を生成し、セキュリティ監視サーバ２１１に送信する（ステップＳ６２）。ここでは、ＡＴＭ制御部２２０は、例えばコマンド検証エラー情報に含まれている時刻情報を参照し、監視カメラ画像データ５５から、該当する顔画像データを取得したり、その他の付帯情報を追加したりして、ＡＴＭ異常通知情報を生成する。
【０１０７】
セキュリティ監視サーバ２１１は、ＡＴＭ異常通知情報を受信すると、異常時対策リスト２８２を参照し、異常状態に応じた対策を抽出する（ステップＳ６３）。なお、異常時対策リスト２８２を参照して異常状態に応じた対策を抽出する処理は、セキュリティ監視サーバ２１１ではなく、セキュリティ監視サーバ２１１を操作している人手により行われてもよい。そして、セキュリティ監視サーバ２１１は、異常時対策をＡＴＭ２１０に直接送信すべきと判断した場合、異常時対策処理命令をＡＴＭ制御部２２０に送信する（ステップＳ６４）。
【０１０８】
ＡＴＭ制御部２２０は、異常時対策処理命令を受信すると（ステップＳ６５）、暗号化ピンパッド２２２に異常時対策処理命令を転送する（ステップＳ６６）。暗号化ピンパッド２２２は、異常時対策処理命令を受信すると、異常時対策処理命令に基づいて、その後のコマンドを一切拒絶する、縮退モードで動作するなどの異常時対策処理を実行する（ステップＳ６７）。
【０１０９】
セキュリティ監視サーバ２１１は、ステップＳ６３において、対策判断の結果、異常時対策処理命令をＡＴＭ２１０に直接送信するのではなく、ＡＴＭ稼働監視サーバ５にＡＴＭ２１０のシャットダウンの指示（ＡＴＭシャットダウン指示）を出すべきと判断した場合、ＡＴＭ稼働監視サーバ５にＡＴＭシャットダウン指示を送信する（ステップＳ６８）。ここで、ＡＴＭ稼働監視サーバ５は、ＡＴＭ２１０に対して、シャットダウンさせる機能があると仮定する。ＡＴＭ稼働監視サーバ５は、ＡＴＭシャットダウン指示を受信すると（ステップＳ６９）、ＡＴＭ制御部２２０にＡＴＭシャットダウン命令を送信する（ステップＳ７０）。そして、ＡＴＭ制御部２２０は、ＡＴＭシャットダウン命令を受信すると、シャットダウン処理を実行する（ステップＳ７１）。なお、セキュリティ監視サーバ２１１がＡＴＭ２１０に対して直接シャットダウン命令を送信する構成としてもよい。
【０１１０】
一方、ＡＴＭ制御部２２０に存在するマルウェアによってＡＴＭ異常通知情報のセキュリティ監視サーバ２１１への送信が妨害された、セキュリティ監視サーバ２１１が外部からの侵入やその他の理由により正しく機能していない等と想定した場合の処理がステップＳ７２及びステップＳ７３である。この場合、ステップＳ６４〜ステップＳ６７の処理は存在しないことになり、暗号化ピンパッド２２２は、ステップＳ６０でスタートしたタイマーが規定時間を超えてタイムアウトになると判断する（ステップＳ７２）。暗号化ピンパッド２２２は、タイムアウトと判断した場合、異常通知・異常処理用データ２６３の異常時対策リストに従い、例えば、暗号化ピンパッド２２２に対する全てのコマンドを拒絶する等の異常時対策処理を行う（ステップＳ７３）。
【０１１１】
図２０は、暗号化ピンパッド２２２が全てのコマンドを拒絶する等の異常時対策処理を行った後に、通常状態に復旧させるための復旧処理の流れを示す。例えば、暗号化ピンパッド２２２が入出金口シャッター開コマンドを受信したときに、ＡＴＭ制御部２２０が異常状態であると判断し、その後の全てのコマンドを拒絶するなどの異常時対策処理を行っている場合、入出金口には紙幣が残留したままになっている。その状態で、誰でも通常状態に復旧させることができると、悪意を持つ内部者が入出金口シャッター開コマンドを暗号化ピンパッド２２２に送信することで、入出金口に残留している紙幣が盗難されるリスクがある。そこで、暗号化ピンパッド２２２を通常状態に復旧させるためには、特権を用いた管理が必要となり、図２０では、ワンタイムパスワードを用いて特権モードに入り、暗号化ピンパッド２２２を復旧させる処理の例を示す。
【０１１２】
まず、暗号化ピンパッド２２２は、特権モードに必要なワンタイムパスワードを発行するためのチャレンジコードを生成し、異常状態を示すコード、暗号化ピンパッド２２２の固有番号などの付帯情報と共にＡＴＭ制御部２２０に送信する（ステップＳ８０）。ＡＴＭ制御部２２０は、チャレンジコード及び付帯情報を受信すると、それらの情報を表示部１９に表示する（ステップＳ８１）。
【０１１３】
暗号化ピンパッド２２２を復旧させようとする作業者は、表示部１９に表示されたチャレンジコード及び付帯情報をセキュリティ監視サーバ２１１に通知する（ステップＳ８２）。セキュリティ監視サーバ２１１側への通知の方法は限定されるものではなく、作業者が保持している携帯電話、スマートフォン等の通信機器２２にチャレンジコード及び付帯情報を入力してセキュリティ監視サーバ２１１にメールを送信してもよいし、セキュリティ監視サーバ２１１を管理している管理者に作業者が電話してチャレンジコード及び付帯情報を伝えてもよいし、その他の方法により通知してもよい。
【０１１４】
セキュリティ監視サーバ２１１、又はその管理者がチャレンジコード及び付帯情報を受信すると（ステップＳ８３）、それを送信した作業者の本人確認を行った上で、暗号化ピンパッド２２２を復旧させるためのワンタイムパスワードを生成し、携帯電話、スマートフォン等の通信機器２２にメール、電話等によって送信する（ステップＳ８４）。
【０１１５】
作業者は、送られてきたワンタイムパスワードを受信すると（ステップＳ８５）、ワンタイムパスワードを入力機能のあるＡＴＭ２１０の表示部１９、専用キーボード（図示せず）等を通じて入力し、ＡＴＭ制御部２２０は、暗号化ピンパッド２２２に送信する（ステップＳ８６）。なお、作業者は、ワンタイムパスワードを暗号化ピンパッド２２２に直接入力する構成としてもよい。暗号化ピンパッド２２２は、ワンタイムパスワードを受信すると、ワンタイムパスワードを検証し（ステップＳ８７）、ワンタイムパスワードが正しいと判断した場合、正常モードに復旧させる（ステップＳ８８）。
【０１１６】
その後、ＡＴＭ制御部２２０は、入出金口シャッター開コマンドを生成し、暗号化ピンパッド２２２に送信する（ステップＳ８９）。以降のステップＳ９０〜ステップＳ９６の処理は、図１８のステップＳ４８〜ステップＳ５３と基本的に同様であるので、ここでは説明を省略する。これにより、正当な作業者だけが入出金口に残留している紙幣を取り出すことが可能になる。
【０１１７】
（１−３）第１の実施の形態の効果
以上のように、本実施の形態の自動取引システム２００では、暗号化ピンパッド２２２が、取引データと取引可否データとに基づいて、取引で成立した出金額と、ＡＴＭ制御部２２０から与えられた紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく出金額とを比較し、これらに矛盾がない場合に紙幣出金コマンドに基づいて出金処理が実行される。
【０１１８】
したがって、本自動取引システム２００によれば、ＡＴＭ制御部２２０のＡＴＭアプリケーション４０がマルウェアに犯されて、ＡＴＭ制御部２２０から取引の裏付けのない不正な紙幣出金コマンドが暗号化ピンパッド２２２に送信されたとしても、当該紙幣出金コマンドに含まれる紙幣金種及びその枚数が取引の裏付けデータと矛盾する内容となるため（つまり紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく合計金額と、裏付けデータに基づく出金額とが一致しないため）、暗号化ピンパッド２２２が紙幣処理部２２１に対して暗号化紙幣出金コマンドを送信しないので、当該紙幣出金コマンドに基づく出金処理が行われない。
【０１１９】
よって本実施の形態によれば、ＡＴＭアプリケーション４０、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア４２などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１２０】
さらに、本自動取引システム２００では、暗号化ピンパッド２２２が紙幣出金コマンドの受信時刻及び入出金口シャッター開コマンドの受信時刻の差としきい値とを比較し、その時刻差がしきい値を超えた場合、暗号化ピンパッド２２２が紙幣処理部２２１に対して暗号化入出金口シャッター開コマンドを送信しない。あるいは、ステップＳ１７で保存した取引可否データの受信時刻と、入出金口シャッター開コマンドの受信時刻の差としきい値とを比較し、その時刻差がしきい値を超えた場合、暗号化ピンパッド２２２がＡＴＭ制御部２２０（紙幣処理部２２１）に対して暗号化入出金口シャッター開コマンドを送信しない。これにより、ＡＴＭアプリケーション４０が送信した入出金口シャッター開コマンドをマルウェアが仮に一時的に止め、ＡＴＭ２１０の利用者が立ち去った後に、入出金口シャッター開コマンドを暗号化ピンパッド２２２に送信し、入出金口シャッターを開いて紙幣を盗難しようとしても、それができない、信頼性の高い自動取引装置を実現できる。
【０１２１】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０と独立な暗号化ピンパッド２２２でＡＴＭ制御部２２０の異常を検出し、セキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知する。セキュリティ監視サーバ２１１は、異常が通知されたＡＴＭ２１０に対して異常時対策処理命令を出し、ＡＴＭ２１０ではそれに基づいて異常時対策処理が実行される。これにより、早期にＡＴＭ制御部２２０の異常を検知して対応でき、不正出金などの被害が大きくなることを防止することができる。
【０１２２】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０に侵入したマルウェアが仮にセキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知するのを妨害したり、セキュリティ監視サーバ２１１自身が何らかの理由で適切に機能していなかったりする場合でも、ＡＴＭ制御部２２０と独立な暗号化ピンパッド２２２が、異常状態通知に対するセキュリティ監視サーバ２１１からの応答のタイムアウト監視をしている。これにより、タイムアウトが検知された場合、内部に保持している異常時対策リストに従い、暗号化ピンパッド２２２に対する全てのコマンドを拒絶する等の異常時対策処理が行われる。その結果、早期にＡＴＭ制御部２２０、セキュリティ監視サーバ２１１等の異常を検知して対応でき、不正出金などの被害が大きくなることを防止することができる。
【０１２３】
さらに、本実施の形態によれば、例えば入出金口に紙幣が残留した状態で暗号化ピンパッド２２２が異常対策モードに入り、それを解除して復旧させる場合でも、適切な特権モードの設定により、悪意のある作業者が暗号化ピンパッド２２２の復旧時に入出金口に残留した紙幣を盗難することを防止することが可能になり、信頼性の高い自動取引装置の復旧作業が行える。
【０１２４】
（２）第２の実施の形態
第２の実施の形態について、主に図１０、図１１、図１９、図２１を用いて説明する。第２の実施の形態の構成は、第１の実施の形態の構成と基本的に同様であるので、異なる構成（具体的には入金取引）について主に説明する。図２１を用いて、本実施の形態の自動取引システム２００における入金取引の流れについて説明する。ここでは、カード媒体２１として磁気ストライプカードを用いる場合を例に挙げて説明する。
【０１２５】
なお、図２１のステップＳ１００〜ステップＳ１１６は、図１０のステップＳ１〜ステップＳ５に続く処理であり、図１０のステップＳ６〜ステップＳ１１がステップＳ１００〜ステップＳ１１６に置き換わったものである。なお、図１１の従来の入金取引処理でも説明したように、ステップＳ３０〜ステップＳ３３が、図２１のステップＳ１００〜ステップＳ１１１に置き換わったものと考えてもよい。
【０１２６】
さらに、図２１のステップＳ１１７〜ステップＳ１２３は、図１０のステップＳ１２〜ステップＳ１９に続く処理であり、ステップＳ２０〜ステップＳ２３がステップＳ１１７〜ステップＳ１２３に置き換わったものである。なお、図１１の従来の入金取引処理でも説明したように、ステップＳ３４及びステップＳ３５がステップＳ１１７〜ステップＳ１２３に置き換わったものと考えてもよい。このように、従来との相違を明確にするため、図１０の重複する処理については説明を省略している。
【０１２７】
本実施の形態では、第１の実施の形態と同様、暗号化ピンパッド２２２と紙幣処理部２２１との間の暗号通信に必要な暗号鍵の共有、セッション生成などは既に完了しているとする。また、暗号通信でリプレイ攻撃を防止するためのチャレンジデータ、レスポンスデータといった暗号通信に必要な既知のデータのやり取りも省略する。ステップＳ１１４で必要とするカード番号は、暗号化ピンパッド２２２が図１０のステップＳ５で取得し、平文データ１３３としてデータ領域１２３に保存されているものとする。なお、暗号化された形でカード番号を取得された場合、暗号データ１３４としてデータ領域１２３に保存されているものとする。
【０１２８】
ステップＳ１１９で必要とする取引データ、取引可否データは、それぞれ暗号化ピンパッド２２２が図１０のステップＳ９、ステップＳ１７で取得し、取引関連データ１３５、取引可否関連データ１３６に保存されているものとする。さらに、ステップＳ１７では、取引可否データの内容に応じて、状態テーブル２６２に取引が成立した状態であるか、不成立の状態であるのかの状態データが書き込まれているものとする。加えて、ステップＳ１７では、取引可否データＭＡＣを受信した時刻（取引可否データＭＡＣの検証を行った時刻であってもよい。）が時刻データ２６１に格納されているものとする。
【０１２９】
（自動取引システム２００における入金取引処理）
まず、ＡＴＭ制御部２２０は、ＡＴＭ２１０に投入される紙幣の合計金額を計数するために、（ＡＴＭアプリケーション４０が紙幣処理部制御ソフトウェア４２を介して）紙幣計数コマンドを生成し、コマンド・レスポンスデータ５４としてデータ領域３３に格納する。ＡＴＭ制御部２２０は、格納した紙幣計数コマンドを暗号化ピンパッド２２２に送信する（ステップＳ１００）。暗号化ピンパッド２２２は、紙幣計数コマンドを受信すると（ステップＳ１０１）、平文データ１３３に格納し、紙幣計数コマンドを暗号化（暗号化紙幣計数コマンドを生成）し、暗号データ１３４としてデータ領域１２３に格納する。その後、暗号化ピンパッド２２２は、暗号化紙幣計数コマンドをＡＴＭ制御部２２０に送信する（ステップＳ１０２）。
【０１３０】
ＡＴＭ制御部２２０は、暗号化紙幣計数コマンドを受信すると（ステップＳ１０３）、暗号化紙幣計数コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ１０４）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣計数コマンドを受信すると、暗号化紙幣計数コマンドを復号し、紙幣計数処理を行う（ステップＳ１０５）。なお、計数された紙幣は、一時収納庫に格納される。紙幣処理部２２１は、入金計数結果を暗号化（暗号化入金計数結果を生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ１０６）。ＡＴＭ制御部２２０は、暗号化入金計数結果を受信すると（ステップＳ１０７）、暗号化入金計数結果をそのまま暗号化ピンパッド２２２に送信する（ステップＳ１０８）。
【０１３１】
暗号化ピンパッド２２２は、暗号化入金計数結果を受信すると、暗号化入金計数結果を復号し、平文データ１３３としてデータ領域１２３に格納する（ステップＳ１０９）。格納された入金計数結果は、ステップＳ１１４で用いられる。そして、暗号化ピンパッド２２２は、平文入金計数結果をＡＴＭ制御部２２０に送信すると共に、送信時刻を時刻データ２６１としてデータ領域１２３に格納する（ステップＳ１１０）。
【０１３２】
その後、ＡＴＭ制御部２２０は、平文入金計数結果を受信し（ステップＳ１１１）、図１０のステップＳ３で得られたカード番号、受信した入金計数結果を用いて取引データを生成し、取引関連データ５１としてデータ領域３３に格納する。その後、ＡＴＭ制御部２２０は、取引データに取引データＭＡＣを付与するために、取引データを暗号化ピンパッド２２２に送信する（ステップＳ１１２）。
【０１３３】
暗号化ピンパッド２２２は、取引データを受信すると（ステップＳ１１３）、図１０のステップＳ５で格納されたカード番号、及びステップＳ１０９で格納した入金計数結果と取引データの該当箇所とがそれぞれ一致しているかを比較し、検証する（ステップＳ１１４）。そして、暗号化ピンパッド２２２は、それらの比較が一致していると判断した場合、取引データに対する取引データＭＡＣを生成し、ＡＴＭ制御部２２０に送信する（ステップＳ１１５）。ＡＴＭ制御部２２０は、送られてきた取引データＭＡＣを受信する（ステップＳ１１６）。
【０１３４】
その後、図１０のステップＳ１２〜ステップＳ１９までの処理が実行される。ただし、上述したようにステップＳ１７では、取引可否データの内容に応じて、状態テーブル２６２に取引が成立した状態であるか、不成立の状態であるのかの状態データが書き込まれているものとする。さらにステップＳ１７では、取引可否データＭＡＣを受信した時刻（取引可否データＭＡＣの検証を行った時刻であってもよい。）が時刻データ２６１に格納されているものとする。
【０１３５】
ＡＴＭ制御部２２０は、ステップＳ１９で受信した取引可否データＭＡＣ検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して紙幣収納コマンドを生成し、暗号化ピンパッド２２２に送信する（ステップＳ１１７）。暗号化ピンパッド２２２は、紙幣収納コマンドを受信すると（ステップＳ１１８）、状態テーブル２６２を参照し、当該入金取引が成立したことを確認し、入金取引成立後に許容されるコマンドリスト、コマンド順序、ステップＳ１１０で格納した時刻データ２６１等と比較し、それらと矛盾がないことを確認する（ステップＳ１１９）。
【０１３６】
具体的には、暗号化ピンパッド２２２は、勘定系ホストコンピュータ３との間で入金取引が成立している場合、一時収納庫に格納された紙幣を収納庫に移動させるための、紙幣収納コマンドを実行させないといけない。一方、勘定系ホストコンピュータ３との間で入金取引が何らかの理由で成立しない、又はＡＴＭ２１０の利用者が入金取引をキャンセルした場合、一時収納庫に格納されている紙幣を入出金口に返却する紙幣返却コマンドと入出金口のシャッターを開く入出金口シャッター開コマンドとが暗号化ピンパッド２２２に送られてくることになる。
【０１３７】
しかしながら、マルウェアがＡＴＭ制御部２２０に侵入した場合、入金取引が成立したにもかかわらず、紙幣返却コマンドと入出金口シャッター開コマンドとが暗号化ピンパッド２２２に送られてくることがあり得る。このような場合、入金取引成立後に許容されるコマンドリスト、コマンド順序と矛盾が生じることになる。暗号化ピンパッド２２２は、矛盾がないと判断した場合、受信した紙幣収納コマンドを暗号化（暗号化紙幣収納コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ１２０）。
【０１３８】
ＡＴＭ制御部２２０は、暗号化紙幣収納コマンドを受信すると（ステップＳ１２１）、暗号化紙幣収納コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ１２２）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣収納コマンドを受信すると、暗号化紙幣収納コマンドを復号し、一時収納庫に格納されている紙幣を収納庫に移動させる紙幣収納処理を行う（ステップＳ１２３）。なお、ＡＴＭ２１０に一時収納庫が無く既に紙幣が収納庫に入っている場合は、ステップＳ１１７〜ステップＳ１２２の処理は省略されることになる。
【０１３９】
上記ステップＳ１１９において、仮にＡＴＭ制御部２２０内部にマルウェアが存在し、紙幣収納コマンドの代わりに図１１のステップＳ３６〜ステップＳ３９に示すように、紙幣返却コマンド、入出金口シャッター開コマンド等が暗号化ピンパッド２２２に送信されたとする。この場合、暗号化ピンパッド２２２は、状態テーブル２６２を参照し、入金取引成立後に許容されるコマンドリスト、コマンド順序と比較すると矛盾が生じると判断し、マルウェアから不正なコマンドが送信されてきたことがわかる。
【０１４０】
その結果、暗号化ピンパッド２２２がステップＳ１２０を実行する代わりに、第１の実施の形態と同様に、図１９のステップＳ６０〜ステップＳ７３が実行されることになる。そして、暗号化ピンパッド２２２を異常モードから正常モードに復旧させる際に、一時収納庫に残留している紙幣を作業者が不正に取得することがないように、図２０のステップＳ８０〜ステップＳ９６が実行されることになる。
【０１４１】
別の例では、ステップＳ１１１で平文入金計数結果が受信されるのをＡＴＭ制御部２２０内のマルウェアが妨害し、それ以降の取引処理をブロックしてＡＴＭ２１０の利用者がＡＴＭ２１０の前から立ち去り、悪意を持つ第三者がマルウェアを操作し、紙幣返却コマンド及び入出金口シャッター開コマンドを暗号化ピンパッド２２２に送信したとする。この場合、入金取引が成立していないので、ＡＴＭ２１０の利用者が入金紙幣計数後に取引をキャンセルしたために、紙幣返却コマンド及び入出金口シャッター開コマンドが暗号化ピンパッド２２に送られてきて正常取引のように見える。しかしながら、ステップＳ１１０で平文入金計数結果を送信した時刻と紙幣返却コマンドを受信した時刻とを比較し、その時刻差がしきい値を超えているため、マルウェアによる不正コマンドであると判定できる。この際に、上記時刻差だけでなく、ＡＴＭ２１０の利用者が入れ替わったか等を確認するための利用者の顔認識結果を併用してもよい。
【０１４２】
以上のように、本実施の形態の自動取引システム２００では、暗号化ピンパッド２２２が紙幣処理部２２１で計数された紙幣入金額と取引データに含まれる入金額とを比較し、これらが一致したと判断した場合、取引データに対する取引データＭＡＣを計算してＡＴＭ制御部２２０に送信する。
【０１４３】
したがって、本自動取引システム２００によれば、ＡＴＭ制御部２２０のＡＴＭアプリケーション４０がマルウェアに犯されて、ＡＴＭ制御部２２０から紙幣処理部２２１で計数された紙幣入金額の裏付けのない不正な取引データが暗号化ピンパッド２２２に送信されたとしても、当該取引データに含まれる入金額と矛盾する内容となるため（つまり紙幣入金計数結果に含まれる紙幣金種及びその枚数に基づく合計金額と、取引データに含まれる入金額とが一致しないため）、暗号化ピンパッド２２２は、ＡＴＭ制御部２２０に対して、取引データに対する取引データＭＡＣを送信しない。その結果、取引データを勘定系ホストコンピュータ３に送信できなくなり、不正なコマンドに基づく入金取引処理が行われない。
【０１４４】
よって、本実施の形態によれば、ＡＴＭアプリケーション４０、Ｉ／Ｏ制御部制御ソフトウェア４１、紙幣処理部制御ソフトウェア４２などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても、不正な入金取引処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１４５】
さらに、本実施の形態の自動取引システム２００では、勘定系ホストコンピュータ３との間で入金取引が成立したかどうかを暗号化ピンパッド２２２が確認した上で、入金取引成立後に許容されるコマンドリスト、コマンド順序等と比較し、それらと矛盾がないことを確認した上で、暗号化紙幣収納コマンドを送信する、あるいは、紙幣返却コマンドと入出金口シャッター開コマンドとを送信する。これにより、入金取引が成立してＡＴＭ２１０の利用者が立ち去った後に、紙幣返却コマンド、入出金口シャッター開コマンド等を暗号化ピンパッド２２２に送信し、入出金口シャッターを開いて紙幣を盗難しようとしてもそれができない、信頼性の高い自動取引装置を実現できる。
【０１４６】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０と独立な暗号化ピンパッド２２２でＡＴＭ制御部２２０の異常を検出し、セキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知する。セキュリティ監視サーバ２１１は、異常が通知されたＡＴＭ２１０に対して異常時対策処理命令を出し、ＡＴＭ２１０ではそれに基づいて異常時対策処理を実行する。これにより、早期にＡＴＭ制御部２２０の異常を検知して対応でき、入金時の不正による被害が大きくなることを防止することができる。
【０１４７】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０に侵入したマルウェアが仮にセキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知するのを妨害したり、セキュリティ監視サーバ２１１自身が何らかの理由で適切に機能していなかったりする場合でも、ＡＴＭ制御部２２０と独立な暗号化ピンパッド２２２は、異常状態通知に対するセキュリティ監視サーバ２１１からの応答のタイムアウト監視をしている。これにより、暗号化ピンパッド２２２は、タイムアウトを検知した場合、内部に保持している異常時対策リストに従い、暗号化ピンパッド２２２に対する全てのコマンドを拒絶する等の異常時対策処理を行う。その結果、早期にＡＴＭ制御部２２０やセキュリティ監視サーバ２１１の異常を検知して対応でき、入金時の不正による被害が大きくなることを防止することができる。
【０１４８】
さらに、本実施の形態によれば、入出金口に紙幣が残留した状態で暗号化ピンパッド２２２が異常対策モードに入り、それを解除して復旧させる場合でも、適切な特権モードの設定により、悪意のある作業者が暗号化ピンパッド２２２の復旧時に入出金口に残留した紙幣を盗難することを防止することが可能になり、信頼性の高い自動取引装置の復旧作業が行える。
【０１４９】
（３）第３の実施の形態
第３の実施の形態について、主に図１０、図１６、図２２〜図２４を用いて説明する。第３の実施の形態による構成は、第１の実施の形態の構成と基本的に同様であるので、異なる構成（具体的には、暗号化ピンパッド２２２での所定の処理をカードリーダ２９０が行う構成）について主に説明する。
【０１５０】
図２２は、カードリーダ２９０の機能構成を示す。カードリーダ２９０は、カードリーダ制御部３００、カード搬送・読取部９１を備えて構成される。なお、カードリーダ２９０が備えるカードリーダ１３と同様の機能については、その説明を省略する。
【０１５１】
カードリーダ制御部３００は、カード搬送・読取部９１を制御すると共に、ＡＴＭ制御部２２０との間でコマンド、レスポンス等の授受を行う機能を有するハードウェアである。
【０１５２】
図２３は、カードリーダ制御部３００の概略構成を示す。ここでは、カードリーダ制御部９０と異なる主な構成について説明する。暗号処理ファームウェア３２０は、取引データに対する取引データＭＡＣを計算したり、勘定系ホストコンピュータ３から送信されてくる取引可否データに対する電子署名又はメッセージ認証コードを検証したりする機能を担う。さらに、暗号処理ファームウェア３２０は、紙幣処理部２２１等の他のデバイスとの暗号通信に必要な暗号化、復号化の処理を行う。暗号処理用データ３２１は、暗号処理ファームウェア３２０が暗号処理を行うために使用するデータである。取引関連データ３２２〜特権処理用データ３２８については、図１６に示す取引関連データ１３５〜特権処理用データ２６４と同等なデータであるのでここでは説明を省略する。
【０１５３】
（自動取引システム２００における出金取引処理）
図２４を参照して、本実施の形態の自動取引システム２００における出金取引の流れについて説明する。ここではカード媒体２１として磁気ストライプカードを用いる場合を例に挙げて説明する。なお、図２４のステップＳ１３０〜ステップＳ１５５は、図１０のステップＳ１〜ステップＳ７に続く処理である。ここでは、カードリーダ２９０と紙幣処理部２２１との間、カードリーダ２９０と勘定系ホストコンピュータ３との暗号通信に必要な暗号鍵の共有、セッション生成などは既に完了しているとする。また、暗号通信でリプレイ攻撃を防止するためのチャレンジデータ、レスポンスデータといった暗号通信に必要な既知のデータのやり取りも省略する。
【０１５４】
まず、ＡＴＭ制御部２２０は、ステップＳ３で受信したカード番号とステップＳ７で受信した出金額とを用いて取引データを生成し、取引データに対する取引データＭＡＣを付与するため、取引データをカードリーダ２９０に送信する（ステップＳ１３０）。
【０１５５】
カードリーダ２９０は、送られてきた取引データを受信すると（ステップＳ１３１）、取引関連データ３２２としてデータ領域３１３に格納する。その後、カードリーダ２９０は、取引データに対する取引データＭＡＣを計算（生成）し、その結果を取引関連データ３２２としてデータ領域３１３に格納し、取引データＭＡＣをＡＴＭ制御部２２０に送信する（ステップＳ１３２）。
【０１５６】
ＡＴＭ制御部２２０は、取引データＭＡＣを受信すると、取引関連データ５１としてデータ領域３３に格納し（ステップＳ１３３）、既に格納されている取引データと共に勘定系ホストコンピュータ３に送信する（ステップＳ１３４）。勘定系ホストコンピュータ３は、ステップＳ１３及びステップＳ１４と同等の処理を行い（ステップＳ１３５及びステップＳ１３６）、取引可否データと取引可否データに対応する取引可否データＭＡＣとをＡＴＭ制御部２２０に返送する（ステップＳ１３７）。
【０１５７】
ＡＴＭ制御部２２０は、ホストコンピュータ３から送られてきた取引可否データと対応する取引可否データＭＡＣとを受信すると、取引可否関連データ５２としてデータ領域３３に格納すると共に、カードリーダ２９０に対してそれらのデータを送信する（ステップＳ１３８）。
【０１５８】
カードリーダ２９０は、ＡＴＭ制御部２２０から送られてきた取引可否データと対応する取引可否データＭＡＣとを受信すると、取引可否関連データ３２３としてデータ領域３１３に格納する。そして、カードリーダ２９０は、取引可否データに対する取引可否データＭＡＣを計算し、取引可否データの正当性を検証し、その結果を取引可否関連データ３２３（取引可否データＭＡＣ検証結果）としてデータ領域３１３に格納する。さらに、カードリーダ２９０は、取引可否データの内容に応じて、取引が成立した状態であるか、不成立の状態であるのかの状態データを状態テーブル３２６に書き込む。さらに取引可否データを受信した時刻を時刻データ３２５に書き込む。（ステップＳ１３９）。カードリーダ２９０は、取引可否関連データ３２３から取引可否データＭＡＣ検証結果を読み出し、ＡＴＭ制御部２２０に送信する（ステップＳ１４０）。
【０１５９】
ＡＴＭ制御部２２０は、カードリーダ２９０から送られてきた取引可否データＭＡＣ検証結果を受信すると（ステップＳ１４１）、取引検証結果データ５３としてデータ領域３３に格納し、その検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して平文の紙幣出金コマンドを生成し、カードリーダ２９０に送信する（ステップＳ１４２）。ＡＴＭ制御部２２０は、取引成立でないと判断した場合、ＡＴＭ２１０の利用者に対して取引が成立しなかった旨のメッセージを表示部１９に表示する。
【０１６０】
カードリーダ２９０は、平文の紙幣出金コマンドを受信すると、受信した時刻を時刻データ３２５に書き込む（ステップＳ１４３）。その後、状態テーブル３２６を参照して出金取引が成立している状態であるか否かを確認する。カードリーダ２９０は、取引が成立していると判定した場合、ステップＳ１３１で取得した取引データの出金額と紙幣出金コマンドに含まれている出金額とを比較する（ステップＳ１４４）。カードリーダ２９０は、両者の金額が一致していると判断した場合、カードリーダ２９０に送られてきた紙幣出金コマンドは、取引の裏付けのある紙幣出金コマンドであると判断する。さらに、本ステップＳ１４４では、ステップＳ１３９で保存した取引可否データの受信時刻と、ステップＳ１４３で紙幣出金コマンドを受信した時刻とを比較する。その時刻差があるしきい値以内である場合、紙幣出金コマンドはマルウェアによって送信を妨害されていないと判断する。カードリーダ２９０は、取引の裏付けのある紙幣出金コマンドであり、かつ、マルウェアによって出金コマンドの送信を妨害されていないと判断した場合、平文の紙幣出金コマンドを暗号化（暗号化紙幣出金コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ１４５）。
【０１６１】
ＡＴＭ制御部２２０は、暗号化紙幣出金コマンドを受信すると（ステップＳ１４６）、暗号化紙幣出金コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ１４７）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣出金コマンドを受信すると、暗号化紙幣出金コマンドを復号し、紙幣出金処理を行う（ステップＳ１４８）。
【０１６２】
ＡＴＭ制御部２２０は、さらに入出金口シャッター開コマンドを生成し、カードリーダ２９０に対して平文の入出金口シャッター開コマンドを送信する（ステップＳ１４９）。カードリーダ２９０は、平文の入出金口シャッター開コマンドを受信すると、受信した時刻を時刻データ３２５としてデータ領域３１３に書き込む（ステップＳ１５０）。その後、カードリーダ２９０は、ステップＳ１４３で保存した受信時刻と、ステップＳ１５０で保存した受信時刻とを比較する（ステップＳ１５１）。カードリーダ２９０は、その時刻差があるしきい値以内であると判定した場合、入出金口シャッター開コマンドはマルウェアによって送信を妨害されていないと判断する。カードリーダ２９０は、マルウェアによるコマンド送信の妨害がないと判断した場合、平文の入出金口シャッター開コマンドを暗号化（暗号化入出金口シャッター開コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ１５２）。
【０１６３】
ＡＴＭ制御部２２０は、暗号化入出金口シャッター開コマンドを受信すると（ステップＳ１５３）、暗号化入出金口シャッター開コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ１５４）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化入出金口シャッター開コマンドを受信すると、暗号化入出金口シャッター開コマンドを復号し、入出金口のシャッターを開く（ステップＳ１５５）。
【０１６４】
ステップＳ１４４で取引の裏付けのある紙幣出金コマンドであると判断されなかった場合、又はステップＳ１５１でマルウェアによるコマンド送信の妨害がないと判断されなかった場合は、第１の実施の形態と同様なので、ここでは説明を省略する。
【０１６５】
以上のように、本実施の形態の自動取引システム２００では、カードリーダ２９０が、取引データと取引可否データとに基づいて、取引で成立した出金額と、ＡＴＭ制御部２２０から与えられた紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく出金額とを比較し、これらに矛盾がない場合に紙幣出金コマンドに基づいて出金処理が実行される。
【０１６６】
したがって、本自動取引システム２００によれば、ＡＴＭ制御部２２０のＡＴＭアプリケーション４０がマルウェアに犯されて、ＡＴＭ制御部２２０から取引の裏付けのない不正な紙幣出金コマンドがカードリーダ２９０に送信されたとしても、当該紙幣出金コマンドに含まれる紙幣金種及びその枚数が取引の裏付けデータと矛盾する内容となるため（つまり紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく合計金額と、裏付けデータに基づく出金額とが一致しないため）、カードリーダ２９０がＡＴＭ制御部２２０（紙幣処理部２２１）に対して暗号化紙幣出金コマンドを送信しないので、当該紙幣出金コマンドに基づく出金処理が行われない。
【０１６７】
よって本実施の形態によれば、ＡＴＭアプリケーション４０、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア４２などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１６８】
さらに、本自動取引システム２００では、カードリーダ２９０が紙幣出金コマンドの受信時刻及び入出金口シャッター開コマンドの受信時刻の差としきい値とを比較し、その時刻差がしきい値を超えた場合、カードリーダ２９０がＡＴＭ制御部２２０（紙幣処理部２２１）に対して暗号化入出金口シャッター開コマンドを送信しない。あるいは、ステップＳ１３９で保存した取引可否データの受信時刻、及び入出金口シャッター開コマンドの受信時刻の時刻差としきい値とを比較し、その時刻差がしきい値を超えた場合、カードリーダ２９０がＡＴＭ制御部２２０（紙幣処理部２２１）に対して暗号化入出金口シャッター開コマンドを送信しない。これにより、ＡＴＭアプリケーション４０が送信した入出金口シャッター開コマンドをマルウェアが仮に一時的に止め、ＡＴＭ２１０の利用者が立ち去った後に、入出金口シャッター開コマンドをカードリーダ２９０に送信し、入出金口シャッターを開いて紙幣を盗難しようとしても、それができない、信頼性の高い自動取引装置を実現できる。
【０１６９】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０と独立なカードリーダ２９０でＡＴＭ制御部２２０の異常を検出し、セキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知する。セキュリティ監視サーバ２１１は、異常が通知されたＡＴＭ２１０に対して異常時対策処理命令を出し、ＡＴＭ２１０ではそれに基づいて異常時対策処理が実行される。これにより、早期にＡＴＭ制御部２２０の異常を検知して対応でき、不正出金などの被害が大きくなることを防止することができる。
【０１７０】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０に侵入したマルウェアが仮にセキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知するのを妨害したり、セキュリティ監視サーバ２１１自身が何らかの理由で適切に機能していなかったりする場合でも、ＡＴＭ制御部２２０と独立なカードリーダ２９０が、異常状態通知に対するセキュリティ監視サーバ２１１からの応答のタイムアウト監視をしている。これにより、タイムアウトが検知された場合、内部に保持している異常時対策リストに従い、カードリーダ２９０に対する全てのコマンドを拒絶する等の異常時対策処理が行われる。その結果、早期にＡＴＭ制御部２２０、セキュリティ監視サーバ２１１等の異常を検知して対応でき、不正出金などの被害が大きくなることを防止することができる。
【０１７１】
さらに、本実施の形態によれば、入出金口に紙幣が残留した状態でカードリーダ２９０が異常対策モードに入り、それを解除して復旧させる場合でも、適切な特権モードの設定により、悪意のある作業者がカードリーダ２９０の復旧時に入出金口に残留した紙幣を盗難することを防止することが可能になり、信頼性の高い自動取引装置の復旧作業が行える。
【０１７２】
（４）第４の実施の形態
第４の実施の形態について、主に図１０、図１１、図１９〜図２５を用いて説明する。第４の実施の形態による構成は、第３の実施の形態の構成と基本的に同様であるので、異なる構成（具体的には、入金取引処理における暗号化ピンパッド２２２での所定の処理をカードリーダ２９０が行う構成）について主に説明する。
【０１７３】
（自動取引システム２００における入金取引処理）
図２５を参照して、本実施の形態の自動取引システム２００における入金取引の流れについて説明する。ここではカード媒体２１として磁気ストライプカードを用いる場合を例に挙げて説明する。
【０１７４】
なお、図２５のステップＳ１６０〜ステップＳ１７６は、図１０のステップＳ１〜Ｓ４に続く処理であり、図１０のステップＳ６〜ステップＳ１１がステップＳ１６０〜ステップＳ１７６に置き換わったものである。なお、図２１の第２の実施の形態の入金取引の流れでも説明したように、ステップＳ１００〜ステップＳ１１６が、図２５のステップＳ１６０〜ステップＳ１７６に置き換わったものと考えてもよい。
【０１７５】
ここでは、上述の実施の形態で説明したような暗号鍵の共有等は、本実施の形態でも成り立っているとする。また、ステップＳ１７４で必要とするカード番号は、図１０のステップＳ１で取得され、図２３のカード媒体用データ１１３としてデータ領域３１３に保存されているものとする。
【０１７６】
ステップＳ１７９で必要とする取引データ及び取引可否データについては、それぞれカードリーダ２９０が図２４のステップＳ１３１、ステップＳ１３９で取得し、取引関連データ３２２、取引可否関連データ３２３としてデータ領域３１３に保存しているものとする。さらに、ステップＳ１３９では、取引可否データの内容に応じて、状態テーブル３２６に取引が成立した状態であるか、不成立の状態であるのかの状態データが書き込まれているものとする。
【０１７７】
まず、ＡＴＭ制御部２２０は、ＡＴＭ２１０に投入される紙幣の合計金額を計数するために、（ＡＴＭアプリケーション４０が紙幣処理部制御ソフトウェア４２を介して）紙幣計数コマンドを生成し、コマンド・レスポンスデータ５４としてデータ領域３３に格納する。ＡＴＭ制御部２２０は、格納した紙幣計数コマンドをカードリーダ２９０に送信する（ステップＳ１６０）。カードリーダ２９０は、紙幣計数コマンドを受信すると（ステップＳ１６１）、紙幣計数コマンドを暗号化（暗号化紙幣計数コマンドを生成）し、暗号処理用データ３２１としてデータ領域３１３に格納する。その後、カードリーダ２９０は、暗号化紙幣計数コマンドをＡＴＭ制御部２２０に送信する（ステップＳ１６２）。
【０１７８】
ＡＴＭ制御部２２０は、暗号化紙幣計数コマンドを受信すると（ステップＳ１６３）、暗号化紙幣計数コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ１６４）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣計数コマンドを受信すると、暗号化紙幣計数コマンドを復号し、紙幣計数処理を行う（ステップＳ１６５）。なお、計数された紙幣は、一時収納庫に格納される。紙幣処理部２２１は、入金計数結果を暗号化（暗号化入金計数結果を生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ１６６）。ＡＴＭ制御部２２０は、暗号化入金計数結果を受信すると（ステップＳ１６７）、暗号化入金計数結果をそのままカードリーダ２９０に送信する（ステップＳ１６８）。
【０１７９】
カードリーダ２９０は、暗号化入金計数結果を受信すると、暗号化入金計数結果を復号し、暗号処理用データ３２１としてデータ領域３１３に格納する（ステップＳ１６９）。この格納された平文入金計数結果は、ステップＳ１７４で用いられる。そして、カードリーダ２９０は、平文入金計数結果をＡＴＭ制御部２２０に送信する（ステップＳ１７０）。
【０１８０】
その後、ＡＴＭ制御部２２０は、平文入金計数結果を受信し（ステップＳ１７１）、図１０のステップＳ３で得られたカード番号、受信した平文入金計数結果を用いて取引データを生成し、取引関連データ５１としてデータ領域３３に格納する。その後、ＡＴＭ制御部２２０は、取引データに取引データＭＡＣを付与するために、取引データをカードリーダ２９０に送信する（ステップＳ１７２）。
【０１８１】
カードリーダ２９０は、取引データを受信すると（ステップＳ１７３）、図１０のステップＳ１で格納したカード番号、及びステップＳ１６９で格納した入金計数結果と取引データの該当箇所とがそれぞれ一致しているか比較し、検証する（ステップＳ１７４）。そして、カードリーダ２９０は、それらの比較が一致していると判断した場合、取引データに対する取引データＭＡＣを生成し、ＡＴＭ制御部２２０に送信する（ステップＳ１７５）。ＡＴＭ制御部２２０は、送られてきた取引データＭＡＣを受信する（ステップＳ１７６）。
【０１８２】
その後、図２４のステップＳ１３４〜ステップＳ１４１までが実行される。ただし、上述したように、ステップＳ１３９では、取引可否データの内容に応じて、状態テーブル３２６に取引が成立した状態であるか、不成立の状態であるのかの状態データが書き込まれているものとする。
【０１８３】
ＡＴＭ制御部２２０は、ステップＳ１４１で受信した取引可否データＭＡＣ検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して紙幣収納コマンドを生成し、カードリーダ２９０に送信する（ステップＳ１７７）。カードリーダ２９０は、紙幣収納コマンドを受信すると（ステップＳ１７８）、状態テーブル３２６を参照し、当該入金取引が成立したことを確認し、入金取引成立後に許容されるコマンドリスト、コマンド順序等と比較し、それらと矛盾がないことを確認する（ステップＳ１７９）。カードリーダ２９０は、矛盾がないと判断した場合、受信した紙幣収納コマンドを暗号化（暗号化紙幣収納コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ１８０）。
【０１８４】
ＡＴＭ制御部２２０は、暗号化紙幣収納コマンドを受信すると（ステップＳ１８１）、暗号化紙幣収納コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ１８２）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣収納コマンドを受信すると、暗号化紙幣収納コマンドを復号し、一時収納庫に格納されている紙幣を収納庫に移動させる紙幣収納処理を行う（ステップＳ１８３）。なお、ＡＴＭ２１０に一時収納庫が無い場合は、ステップＳ１７７〜ステップＳ１８２の処理は省略されることになる。
【０１８５】
上記ステップＳ１７９において、仮にＡＴＭ制御部２２０内部にマルウェアが存在し、紙幣収納コマンドの代わりに図１１のステップＳ３６〜ステップＳ３９に示すように、紙幣返却コマンド、入出金口シャッター開コマンド等がカードリーダ２９０に送信されたとする。この場合、カードリーダ２９０は、状態テーブル２６２を参照し、入金取引成立後に許容されるコマンドリスト、コマンド順序と比較すると矛盾が生じると判断し、マルウェアから不正なコマンドが送信されてきたことがわかる。
【０１８６】
その結果、カードリーダ２９０がステップＳ１８０を実行する代わりに、第１の実施の形態と同様に、図１９のステップＳ６０〜ステップＳ７３と同様の処理が実行されることになる。そして、カードリーダ２９０を異常モードから正常モードに復旧させる際に、一時収納庫に残留している紙幣を作業者が不正に取得することがないように、図２０のステップＳ８０〜ステップＳ９６が実行されることになる。
【０１８７】
以上のように、本実施の形態の自動取引システム２００では、カードリーダ２９０が紙幣処理部２２１で計数された紙幣入金額と取引データに含まれる入金額とを比較し、これらが一致したと判断した場合、取引データに対する取引データＭＡＣを計算してＡＴＭ制御部２２０に送信する。
【０１８８】
したがって、本自動取引システム２００によれば、ＡＴＭ制御部２２０のＡＴＭアプリケーション４０がマルウェアに犯されて、ＡＴＭ制御部２２０から紙幣処理部２２１で計数された紙幣入金額の裏付けのない不正な取引データがカードリーダ２９０に送信されたとしても、当該取引データに含まれる入金額と矛盾する内容となるため（つまり紙幣入金計数結果に含まれる紙幣金種及びその枚数に基づく合計金額と、取引データに含まれる入金額とが一致しないため）、カードリーダ２９０は、ＡＴＭ制御部２２０に対して、取引データに対する取引データＭＡＣを送信しない。その結果、取引データを勘定系ホストコンピュータ３に送信できなくなり、不正なコマンドに基づく入金取引処理が行われない。
【０１８９】
よって、本実施の形態によれば、ＡＴＭアプリケーション４０、Ｉ／Ｏ制御部制御ソフトウェア４１、紙幣処理部制御ソフトウェア４２などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても、不正な入金取引処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１９０】
さらに、本実施の形態の自動取引システム２００では、勘定系ホストコンピュータ３との間で入金取引が成立したかどうかをカードリーダ２９０が確認した上で、入金取引成立後に許容されるコマンドリスト、コマンド順序等と比較し、それらと矛盾がないことを確認した上で、暗号化コマンドを送信する。これにより、入金取引が成立してＡＴＭ２１０の利用者が立ち去った後に、紙幣返却コマンド、入出金口シャッター開コマンド等をカードリーダ２９０に送信し、入出金口シャッターを開いて紙幣を盗難しようとしてもそれができない、信頼性の高い自動取引装置を実現できる。
【０１９１】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０と独立なカードリーダ２９０でＡＴＭ制御部２２０の異常を検出し、セキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知する。セキュリティ監視サーバ２１１は、異常が通知されたＡＴＭ２１０に対して異常時対策処理命令を出し、ＡＴＭ２１０ではそれに基づいて異常時対策処理を実行する。これにより、早期にＡＴＭ制御部２２０の異常を検知して対応でき、入金時の不正による被害が大きくなることを防止することができる。
【０１９２】
さらに、本実施の形態によれば、ＡＴＭ制御部２２０に侵入したマルウェアが仮にセキュリティ監視サーバ２１１にＡＴＭ制御部２２０の異常状態を通知するのを妨害したり、セキュリティ監視サーバ２１１自身が何らかの理由で適切に機能していなかったりする場合でも、ＡＴＭ制御部２２０と独立なカードリーダ２９０は、異常状態通知に対するセキュリティ監視サーバ２１１からの応答のタイムアウト監視をしている。これにより、カードリーダ２９０は、タイムアウトを検知した場合、内部に保持している異常時対策リストに従い、カードリーダ２９０に対する全てのコマンドを拒絶する等の異常時対策処理を行う。その結果、早期にＡＴＭ制御部２２０やセキュリティ監視サーバ２１１の異常を検知して対応でき、入金時の不正による被害が大きくなることを防止することができる。
【０１９３】
さらに、本実施の形態によれば、入出金口に紙幣が残留した状態でカードリーダ２９０が異常対策モードに入り、それを解除して復旧させる場合でも、適切な特権モードの設定により、悪意のある作業者がカードリーダ２９０の復旧時に入出金口に残留した紙幣を盗難することを防止することが可能になり、信頼性の高い自動取引装置の復旧作業が行える。
【０１９４】
（５）第５の実施の形態
第５の実施の形態について、主に図１０、図２３、図２４、図２６、図２７を用いて説明する。第５の実施の形態による構成は、第３の実施の形態の構成と基本的に同様であるので、異なる構成（具体的には、出金取引処理におけるカードリーダ２９０での所定の処理をカード媒体２１の一例であるＩＣカード３３０が行う構成）について主に説明する。
【０１９５】
図２６は、ＩＣカード３３０の概略構成を示す。図２６に示すように、ＩＣカード３３０は、ＩＣカード３３０全体の動作制御を司るＣＰＵ３４０、メモリ３４１などの情報処理資源を備えて構成される。メモリ３４１の記憶領域は、プログラム領域３４２及びデータ領域３４３に区分されて管理される。プログラム領域３４２には、アプリケーション３５０、通信制御ファームウェア３５１、暗号処理ファームウェア３５２等が格納される。データ領域３４３には、取引データ３５３、取引データＭＡＣ３５４、取引可否データ３５５、取引可否データＭＡＣ３５６、取引可否データＭＡＣ検証結果３５７、取引検証結果３５８等が格納される。
【０１９６】
アプリケーション３５０は、ＩＣカード３３０の全体制御を行うソフトウェアである。通信制御ファームウェア３５１は、カードリーダ２９０との間でのデータ通信を制御する機能を有するソフトウェアである。暗号処理ファームウェア３５２は、取引データＭＡＣ３５４を生成したり、勘定系ホストコンピュータ３から送信されてくる取引可否データＭＡＣ３５６を検証したりする暗号処理機能を有するソフトウェアである。
【０１９７】
取引データ３５３は、ＡＴＭ２１０から送信されてきた出金取引又は入金取引のための取引データである。
【０１９８】
取引データＭＡＣ３５４は、取引データ３５３から生成される、メッセージ認証コード等である。取引データＭＡＣ３５４は、勘定系ホストコンピュータ３で検証される。取引可否データ３５５は、勘定系ホストコンピュータ３が銀行口座残高、与信情報などを参照し、その取引を成立させてよいか否かを判断した判断結果を示すデータである。
【０１９９】
取引可否データＭＡＣ３５６は、取引可否データ３５５に対するメッセージ認証コード等であり、勘定系ホストコンピュータ３で生成される。取引可否データＭＡＣ検証結果３５７は、図２３の取引可否関連データ３２３に格納されるデータと同様である。取引検証結果３５８は、ＩＣカード３３０がＩＣカード取引の仕様に基づいて、紙幣出金可否を判断するためのデータである。例えば、取引検証結果３５８は、取引可否データＭＡＣ３５６をＩＣカード３３０が検証した結果、ＡＴＭ制御部２２０に紙幣出金コマンド送信を許可するために使われるデータである。また、取引検証結果３５８は、ＩＣカード３３０が取引データＭＡＣ３５４を検証してＡＴＭ２１０での取引を承認したことを勘定系ホストコンピュータ３が検証するためにも使用される。取引検証結果３５８として、取引を承認した場合に「取引承認データ」が生成され、取引拒否の場合に「取引拒否データ」が生成される。
【０２００】
このように、ＩＣカード３３０には、当該ＩＣカード３３０の保有者の銀行口座番号、クレジットカード番号、本人確認を行うための情報などが記録されると共に、勘定系ホストコンピュータ３との間でＡＴＭ２１０との取引に必要なメッセージ認証コード等を生成したり検証したりする機能が搭載される。
【０２０１】
（自動取引システム２００における出金取引処理）
図２７を参照して、本実施の形態の自動取引システム２００における出金取引の流れについて説明する。ここではカード媒体２１としてＩＣカード３３０を用いる場合を例に挙げて説明する。なお、図２７のステップＳ１９０〜ステップＳ２１９は、図１０のステップＳ１〜ステップＳ７に続く処理である。ここでは、カードリーダ２９０と紙幣処理部２２１との間、ＩＣカード３３０と勘定系ホストコンピュータ３との暗号通信に必要な暗号鍵の共有、セッション生成等は既に完了しているとする。また、暗号通信でリプレイ攻撃を防止するためのチャレンジデータ、レスポンスデータといった、暗号通信に必要な既知のデータのやり取りも省略する。
【０２０２】
まず、ＡＴＭ制御部２２０は、ステップＳ３で受信したカード番号とステップＳ７で受信した出金額とを用いて取引データを生成し、その取引データに対する取引データＭＡＣを付与するため、取引データをカードリーダ２９０に送信する（ステップＳ１９０）。カードリーダ２９０は、取引データ受信すると（ステップＳ１９１）、取引データに含まれている出金額を取引関連データ３２２としてデータ領域３１３に保存すると共に、取引データをＩＣカード３３０に送信する（ステップＳ１９２）。
【０２０３】
ＩＣカード３３０は、取引データを受信すると（ステップＳ１９３）、内部に保持している暗号鍵を用いて取引データに対する取引データＭＡＣを生成し、取引データＭＡＣとしてカードリーダ２９０経由でＡＴＭ制御部２２０に送信する（ステップＳ１９４）。
【０２０４】
ＡＴＭ制御部２２０は、取引データＭＡＣを受信すると（ステップＳ１９５）、取引関連データ５１としてデータ領域３３に格納し、既に格納されている取引データと共に勘定系ホストコンピュータ３に送信する（ステップＳ１９６）。勘定系ホストコンピュータ３は、図２４のステップＳ１３５及びステップＳ１３６と同様な処理を行い、取引可否関連データ１５４の取引可否データと取引可否データに対応する取引可否データＭＡＣとをＡＴＭ制御部２２０に返送する（ステップＳ１９９）。
【０２０５】
ＡＴＭ制御部２２０は、ホストコンピュータ３から送られてきた取引可否データと取引可否データＭＡＣとを受信すると（ステップＳ２００）、取引可否関連データ５２としてデータ領域３３に格納すると共に、カードリーダ２９０に対してそれらのデータを送信する（ステップＳ２０１）。
【０２０６】
カードリーダ２９０は、ＡＴＭ制御部２２０から送られてきた取引可否データ及び取引可否データＭＡＣを受信すると、そのままＩＣカード３３０に送信し、ＩＣカード３３０は、取引可否データ及び取引可否データＭＡＣを受信すると、取引可否データ及び取引可否データＭＡＣの検証を行う（ステップＳ２０２）。そして、ＩＣカード３３０は、検証した結果を取引可否データＭＡＣ検証結果としてカードリーダ２９０経由でＡＴＭ制御部２２０に送信する（ステップＳ２０３）。
【０２０７】
ＡＴＭ制御部２２０は、取引可否データＭＡＣ検証結果を受信すると（ステップＳ２０４）、ＩＣカード取引の仕様に基づいて、再度取引データをカードリーダ２９０に向けて送信する（ステップＳ２０５）。カードリーダ２９０は、取引データを受信すると、その中の出金額を取り出し、取引関連データ３２２としてデータ領域３１３に保存し（ステップＳ２０６）、ＩＣカード３３０に向けて取引データを送信する（ステップＳ２０７）。ＩＣカード３３０は、取引データを受信すると（ステップＳ２０８）、取引可否検証結果を生成し、カードリーダ２９０に対して送信する（ステップＳ２０９）。
【０２０８】
カードリーダ２９０は、取引可否検証結果を受信すると、取引可否検証結果を取引可否関連データ３２３としてデータ領域３１３に格納すると共に、取引可否検証結果を参照し、取引が成立した状態であるか、不成立の状態であるのかの状態データを状態テーブル３２６に書き込む（ステップＳ２１０）。その後、カードリーダ２９０は、取引可否検証結果をＡＴＭ制御部２２０に送信すると共に、送信時刻を時刻データ３２５に格納する（ステップＳ２１１）。ＡＴＭ制御部２２０は、取引可否検証結果を受信すると（ステップＳ２１２）、ステップＳ２１２で受信した取引可否検証結果が正しく、かつ、取引可否データが取引成立を示すものである場合、取引が成立したと判断して平文の紙幣出金コマンドを生成し、カードリーダ２９０に送信する（ステップＳ２１３）。
【０２０９】
カードリーダ２９０は、平文の紙幣出金コマンドを受信すると、受信した時刻を時刻データ３２５としてデータ領域３１３に書き込む（ステップＳ２１４）。そして、カードリーダ２９０は、ステップＳ２１１で保存した送信時刻と、ステップＳ２１４で紙幣出金コマンドを受信した時刻とを比較する。その時刻差があるしきい値以内である場合、紙幣出金コマンドはマルウェアによって送信を妨害されていないと判断する。その後、カードリーダ２９０は、状態テーブル３２６を参照して出金取引が成立している状態であるか否かを確認する。カードリーダ２９０は、取引が成立していると判断した場合、ステップＳ１９２で保存した取引データの出金額と紙幣出金コマンドに含まれている出金額とを比較する（ステップＳ２１５）。カードリーダ２９０は、両者の金額が一致していると判断した場合、カードリーダ２９０に送られてきた紙幣出金コマンドを取引の裏付けのある紙幣出金コマンドであると判断する。カードリーダ２９０は、取引の裏付けのある紙幣出金コマンドであると判断した場合、平文の紙幣出金コマンドを暗号化（暗号化紙幣出金コマンドを生成）し、ＡＴＭ制御部２２０に送信する（ステップＳ２１６）。
【０２１０】
ＡＴＭ制御部２２０は、暗号化紙幣出金コマンドを受信すると（ステップＳ２１７）、暗号化紙幣出金コマンドをそのまま紙幣処理部２２１に送信する（ステップＳ２１８）。紙幣処理部２２１は、ＡＴＭ制御部２２０から送られてきた暗号化紙幣出金コマンドを受信すると、暗号化紙幣出金コマンドを復号し、紙幣出金処理を行う（ステップＳ２１９）。
【０２１１】
ＡＴＭ制御部２２０は、さらに入出金口シャッター開コマンドを生成し、カードリーダ２９０に対して、平文の紙幣出金コマンドを送信するが、以降の処理は図２４のステップＳ１４９以降と同様であるので、ここでは説明を省略する。
【０２１２】
本実施の形態によれば、第３の実施の形態と同様の効果を得ることができる。
【０２１３】
（６）第６の実施の形態
第６の実施の形態について、主に図２５、図２７、図２８を用いて説明する。第６の実施の形態による構成は、第４の実施の形態の構成と基本的に同様であるので、異なる構成（具体的には、入金取引処理におけるカードリーダ２９０での所定の処理をカード媒体２１の一例であるＩＣカード３３０が行う構成）について主に説明する。
【０２１４】
（自動取引システム２００における入金取引処理）
図２８を参照して、本実施の形態の自動取引システム２００における入金取引の流れについて説明する。ここではカード媒体２１としてＩＣカード３３０を用いる場合を例に挙げて説明する。なお、上述の実施の形態で説明したような暗号鍵の共有等は、本実施の形態でも成り立っているとする。
【０２１５】
まず、カードリーダ２９０は、ＩＣカード３３０からカード番号を読み取り、カード媒体用データ１１３としてデータ領域３１３に格納する（ステップＳ２２１）。その後、カードリーダ２９０は、カード媒体用データ１１３としてデータ領域３１３に格納されたカード番号をＡＴＭ制御部２２０に送信する（ステップＳ２２２）。ＡＴＭ制御部２２０は、カード番号を受信し、カード番号５０としてデータ領域３３に格納する（ステップＳ２２３）。その後、ＡＴＭ制御部２２０は、紙幣計数コマンドを生成し、カードリーダ２９０に対して送信するが（ステップＳ２２４）、ステップＳ２２４〜ステップＳ２３７については、図２５のステップＳ１６０〜ステップＳ１７３と同様な処理であるので、ここでは説明を省略する。
【０２１６】
カードリーダ２９０は、ステップＳ２２１で格納したカード番号、及びステップＳ２３３で格納した入金計数結果と、ステップＳ２３７で受信した取引データの該当箇所とがそれぞれ一致しているかを比較する（ステップＳ２３８）。カードリーダ２９０は、一致していると判断した場合、取引データに対する取引データＭＡＣを生成するために、取引データをＩＣカード３３０に向けて送信する（ステップＳ２３９）。ＩＣカード３３０は、取引データを受信する（ステップＳ２４０）。以降の処理は、図２７のステップＳ１９４〜ステップＳ２１２までと同じである。その後、ＡＴＭ制御部２２０が紙幣収納コマンドを生成して送信する処理については、図２５のステップＳ１７７〜ステップＳ１８３と同様な処理であるので、ここでは説明を省略する。
【０２１７】
本実施の形態によれば、第４の実施の形態と同様の効果を得ることができる。
【０２１８】
（７）他の実施の形態
なお上述の第１〜第６の実施の形態においては、本発明をＡＴＭ２１０に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の自動取引装置に広く適用することができる。あるいは、取引データと現金との両方を取り扱う有人（銀行テラー）用の現金処理端末にも適用することができる。
【０２１９】
また上述の第１〜第６の実施の形態においては、コマンド送信、取引データへの電子署名、メッセージ認証コード等の付与のための判断機能を、既存のデバイスである紙幣処理部２２１、カードリーダ１３，２９０、暗号化ピンパッド２２２等に実装する例を示した。しかしながら、このような判断機能は、ＡＴＭ２１０内に新規に設けた独立デバイスが行ってもよい。すなわち、紙幣処理部２２１、カードリーダ１３，２９０、暗号化ピンパッド２２２等の既存のデバイスとＡＴＭ制御部２２０との間に独立なデバイスが存在し、ＡＴＭ制御部２２０からのコマンドは独立なデバイスに送信され、紙幣処理部２２１、カードリーダ１３，２９０、暗号化ピンパッド２２２等の既存のデバイスには独立なデバイスから暗号通信により、データの送受信を行う。また、紙幣処理部２２１、カードリーダ１３，２９０、暗号化ピンパッド２２２等の既存のデバイスからＡＴＭ制御部２２０へのデータ送信は、独立なデバイス経由で行われる。
【０２２０】
また上述の第１〜第６の実施の形態においては、紙幣処理部２２１、カードリーダ１３、暗号化ピンパッド２２２間で暗号通信を行ったり、上記判断機能を実装したりする例を示したが、レシートプリンタ１５、通帳プリンタ１６、生体認証装置等のその他デバイスについても一般性を失わない範囲で、暗号通信機能、上記判断機能等を実装してもよい。
【０２２１】
また上述の第２、第４及び第６の実施の形態においては、入金収納処理がある形態を用いて説明を行ったが、紙幣処理部２２１が一時収納庫を有しない場合には、紙幣処理部２２１は入金計数にて一時収納庫ではなく、収納庫に紙幣を収納し、ＡＴＭ制御部２２０は、ステップＳ１７の取引検証結果にて入金可であった場合に、収納庫に収納した紙幣を銀行の管理対象と判断し（入金受け付け又は入金完了と判断し）、入金不可であった場合に、収納庫に収納した紙幣を利用者（顧客）に返却してもよい。すなわち紙幣処理部２２１は、紙幣を一時収納庫から収納庫に搬送する紙幣収納処理をすることなく、入金処理を完了することとなる。
【０２２２】
また上述の第２、第４及び第６の実施の形態においては、入金取引の形態について説明を行ったが、本発明はこれに限らず、送金取引の形態についても適用してもよい。その場合は、送金先の口座情報は、暗号化ピンパッド２２２で入力し、例えばステップＳ１１４における取引データとの比較項目の中に、送金先の口座番号が含まれるようにしてもよい。
【０２２３】
また上述の第１、第３及び第５の実施の形態においては、出金取引における不正な出金コマンドやシャッター開コマンドの防止について説明を行ったが、本発明はこれに限らず、入金取引の場合と同様に、不正な出金額を伴う取引防止の形態についても適用してもよい。その場合は、例えばステップＳ６で暗号化ピンパッド２２２から入力された出金額は、ステップＳ１０において出金取引データＭＡＣ生成時の出金取引データに含まれる出金額と比較して、一致しているときにのみ取引データＭＡＣを生成するとしてもよい。これにより、ＡＴＭ２１０の利用者の意図に反する出金取引の成立を防止することができる。
【０２２４】
また上述の実施の形態においては、本発明をＡＴＭ２１０内の既存のデバイスに適用するようにした場合について述べたが、本発明はこれに限らず、ＡＴＭ２１０の異常を検出する専用のデバイスを設けて適用するようにしてもよい。
【０２２５】
また上述の実施の形態においては、一のデバイスが金額の検証（ステップＳ４２等）とコマンドの検証（ステップＳ４９等）とを実行するようにした場合について述べたが、本発明はこれに限らず、一のデバイスが金額の検証を実行し、他のデバイスがコマンドの検証を実行するようにしてもよい。
【０２２６】
また上述の実施の形態においては、ＡＴＭ制御部２２０の異常を検出した場合、ＡＴＭ制御部２２０の異常を外部に出力する例として、ＡＴＭ２１０を管理するセキュリティ監視サーバ２１１（上位装置の一例）に出力する場合について述べたが、本発明はこれに限らず、ＡＴＭ制御部２２０の異常をＡＴＭ２１０の保守員に通知（例えば保守員が所持する情報処理装置にメール、電話等）するようにしてもよいし、所定の場所に設置された警報装置を作動させるようにしてもよいし、その他の出力をしてもよい。
【０２２７】
また上述の実施の形態においては、異常状態に応じた対策を抽出する処理をセキュリティ監視サーバ２１１が行う場合について述べたが、本発明はこれに限らず、異常状態に応じた対策を抽出する処理をデバイス（暗号化ピンパッド２２２、カードリーダ２９０等）が行うようにしてもよい。
【０２２８】
また上述の実施の形態においては、ＡＴＭ２１０は、入金された硬貨、及び出金する硬貨を取り扱う硬貨処理部（図示せず）を備えていてもよい。紙幣処理部２２１及び硬貨処理部は、入金された現金（紙幣のみであってもよいし、硬貨のみであってもよいし、紙幣及び硬貨であってもよい。）、及び出金する現金を取り扱う入出金処理部の一例である。付言するならば、紙幣収納コマンドは現金収納コマンドというように、上述の実施の形態において、紙幣は現金に読み替えることが可能である。
【０２２９】
また上述の実施の形態においては、紙幣出金コマンドの受信時刻と入出金口シャッター開コマンドの受信時刻とを比較して検証する場合について述べたが、本発明はこれに限らず、暗号化紙幣出金コマンドの送信時刻と入出金口シャッター開コマンドの受信時刻とを比較して検証するようにしてもよい。あるいは、取引可否データの受信時刻と入出金口シャッター開コマンドの受信時刻とを比較して検証するようにしてもよい。
【０２３０】
また上述の実施の形態においては、ＡＴＭ制御部２２０を経由してデバイス間のデータのやり取りを行うようにした場合について述べたが、本発明はこれに限らず、一部又は全部のデバイス間に物理的な結線を設け、ＡＴＭ制御部２２０を経由せずにデバイス間で直接データのやり取りを行うようにしてもよい。
【０２３１】
また上述の実施の形態の構成については、本発明の要旨を変更しない範囲において、適宜に組み合わせることができる。
【０２３２】
上述の実施の形態では、説明の便宜上、従来との差異を区別して説明したが、本発明は、従来の構成を含んでもよいし、含まなくてもよく、従来との差異を区別して説明したことにより、本発明が不当に制限されたり不当に解釈されたりしてはならない。
【０２３３】
（８）実施の形態の特徴
上述した実施の形態は、少なくとも下記の特徴を有している。
【０２３４】
自動取引装置は、第１のデバイス（カードリーダ、暗号化ピンパッド等）と第２のデバイス（例えば紙幣処理部）とを備え、第２のデバイスは、第２のデバイスに処理を実行させる第１のコマンド及び第２のコマンドを、自動取引装置の制御部から第１のデバイス経由で受信し、第１のデバイスは、第１のコマンドと第２のコマンドとが所定時間内に受信したか否かを判断し、所定時間内に受信していない場合は、異常を通知することを特徴とする。
【０２３５】
また、第１のデバイス（カードリーダ、暗号化ピンパッド等）は、第２のデバイス（例えば紙幣処理部）に処理を実行させる第１のコマンド及び第２のコマンドを、自動取引装置の制御部を介して第２のデバイスに送信し、第１のコマンドと第２のコマンドとが所定時間内に受信したか否かを判断し、所定時間内に受信していない場合は、異常を通知することを特徴とする。
【０２３６】
上述の特徴的な構成によれば、自動取引装置の制御部にマルウェアの侵入などがあった場合でも、第１のデバイスにより異常を検知することが可能となる。
【０２３７】
自動取引装置は、第１のデバイス（カードリーダ、暗号化ピンパッド等）を備え、第１のデバイスは、異常を検知した場合、上位装置（例えばセキュリティ監視サーバ）に異常を通知し、上位装置から通知に対する応答が所定時間ない場合、異常時対策処理（停止処理など）を行うことを特徴とする。
【０２３８】
また、第１のデバイス（カードリーダ、暗号化ピンパッド等）は、異常を検知した場合、上位装置（例えばセキュリティ監視サーバ）に異常を通知し、上位装置から通知に対する応答が所定時間ない場合、異常時対策処理（停止処理など）を行うことを特徴とする。
【０２３９】
なお、異常時対策処理は、第２のデバイス（例えば紙幣処理部）に異常時対策処理を行うコマンドを発する処理を含んでもよい。
【０２４０】
上述の特徴的な構成によれば、上位装置で異常が生じていた場合であっても、第１のデバイス及び第２のデバイスへの不正動作を禁止することが可能となる。
【０２４１】
自動取引装置は、第１のデバイス（カードリーダ、暗号化ピンパッド等）と紙幣処理部とを備え、第１のデバイスは、サーバ（例えば勘定系ホストコンピュータ）にて取引可否の判断が行われ、出金額を含む取引データを記憶し、取引データを自動取引装置の制御部に送信し、取引データに基づいて自動取引装置の制御部により生成される、出金額に関する情報を含む出金コマンドを受信し、取引データに含まれる出金額に関する情報と、出金コマンドに含まれる出金額に関する情報とを比較し、一致する場合、紙幣処理部に出金コマンドを送信することを特徴とする。
【０２４２】
第１のデバイス（カードリーダ、暗号化ピンパッド等）は、サーバ（例えば勘定系ホストコンピュータ）にて取引可否の判断が行われ、出金額を含む取引データを記憶し、取引データを自動取引装置の制御部に送信し、取引データに基づいて自動取引装置の制御部により生成される、出金額に関する情報を含む出金コマンドを受信し、取引データに含まれる出金額に関する情報と、出金コマンドに含まれる出金額に関する情報とを比較し、一致する場合、自動取引装置に搭載された紙幣処理部に出金コマンドを送信することを特徴とする。
【０２４３】
上述の特徴的な構成によれば、自動取引装置の制御部にマルウェアの侵入などによる不正な出金を阻止することが可能となる。
【０２４４】
第２のデバイスと、第２のデバイスとは異なる第１のデバイスと、第２のデバイス及び第１のデバイスと接続される制御部とを有する自動取引装置で、制御部は、第２のデバイスを動作させるコマンドを生成し、コマンドを第１のデバイスに送信し、第１のデバイスは、当該コマンドに関連する処理の可否を判断する。これにより、複数のデバイスを搭載する自動取引装置の制御部にマルウェアの侵入などがあった場合でも、第１のデバイスにより異常を検知することが可能となる。
【０２４５】
また、紙幣を処理する紙幣処理部と、紙幣処理部とは異なる第１のデバイスと、紙幣処理部及び第１のデバイスと接続される制御部とを有する自動取引装置の場合、制御部は、紙幣処理部を動作させるコマンドを生成し、コマンドを第１のデバイスに送信し、第１のデバイスは、当該コマンドに関連する処理の可否を判断する。第１のデバイスにコマンドを送信し、紙幣処理部以外の第１のデバイスで、紙幣処理部の動作可否を判断することで、制御部に異常があった場合でも、紙幣処理部を動作させるコマンドの改ざんを検知することが可能となる。
【０２４６】
特に、第１のデバイスは、自動取引装置の外部から入力された取引情報又はサーバで認証を受けた取引情報と、制御部の生成するコマンドに含まれる取引情報又は制御部の生成するコマンドにより第２のデバイス（例えば紙幣処理部）が動作した結果に含まれる取引情報と、を比較してもよい。また、紙幣処理部と第１のデバイスとの間で暗号化がされていてもよい。この構成によれば、よりセキュリティを高めることが可能となる。
【０２４７】
自動取引装置（例えばＡＴＭ２１０）は、取引に関する取引データを生成し、取引データに基づいて出金、入金又は送金に係るコマンドを生成する制御部（例えばＡＴＭ制御部２２０）と、制御部とは異なるデバイス（カードリーダ１３、カードリーダ２９０等）からの情報を入力する第１の入力部（例えば通信制御ファーム１３１）、及び自動取引装置に対する情報を利用者が入力可能な第２の入力部（例えばテンキー）を備える第１のデバイス（例えば暗号化ピンパッド２２２）と、を備え、第１のデバイスは、第１の入力部、及び第２の入力部のいずれか一方、又は両方の入力に応じて制御部から送られてくるコマンドに基づいて制御部の異常を検出し、異常を検出した場合、制御部の異常を外部に出力する、ことを特徴とする自動取引装置。
【０２４８】
以下では、取引種類及び各ステップでのより詳細な特徴を示す。
【０２４９】
例えば、次の特徴を有するものであってもよい（図１８のステップＳ４２等）。紙幣処理部と、紙幣処理部とは異なる第１のデバイスと、紙幣処理部及び第１のデバイスと接続される制御部とを有する自動取引装置で、制御部は、紙幣処理部に出金処理を実施させる出金コマンドを生成し、第１のデバイスは、出金コマンドに含まれる取引情報と、自動取引装置の外部から利用者により入力された取引情報との一致が確認された場合に、紙幣処理部による出金処理の実施を可と判断する。当該構成により、出金取引のセキュリティを高めることが可能となる。特に、紙幣処理部で取引情報を検証（出金コマンドを実行許可すべきかを判断）する場合、出金コマンドや入出金口シャッター開コマンドを第１のデバイスに送信して検証することができるため、紙幣処理部に対するコマンド送信の妨害も検知して、より広い範囲の攻撃を防止することが可能になる。例えば、ＡＴＭ利用者がＡＴＭの前から立ち去った後に入出金口シャッター開コマンドを送信し、入出金口に残留した紙幣を不正取得する攻撃を防止することが可能となる。
【０２５０】
また、例えば、次の特徴を有するものであってもよい（図１８のステップＳ４９等）。第２のデバイス（例えば紙幣処理部）と、第２のデバイスとは異なる第１のデバイスと、第２のデバイス及び第１のデバイスと接続される制御部とを有する自動取引装置で、制御部は、第２のデバイスに第１の動作をさせる第１のコマンド及び第２の動作をさせる第２のコマンドを生成し、第１のコマンド及び第２のコマンドを第１のデバイスを経由して第２のデバイスに送信し、第１のデバイスは、上記第１のコマンドを受信した第１の時刻情報及び第２のコマンドを受信した第２の時刻情報との差分に基づき、異常有無を検知する。より詳細には、第１のデバイスは、第１の時刻と第２の時刻との差分が所定時間よりも大きい場合は、制御部又は自動取引装置に異常が生じていると判断する。これにより、マルウェアによる第２のデバイスを動作させる不正コマンドを検知することが可能となる。
【０２５１】
また、例えば、次の特徴を有するものであってもよい（図１９のステップＳ６０等）。紙幣処理部と、紙幣処理部とは異なる第１のデバイスと、紙幣処理部及び第１のデバイスと接続される制御部とを有する自動取引装置で、第１のデバイスは、制御部の異常を検知した場合に、制御部の接続される上位装置に上記異常を通知する異常通知処理を実施し、上記上位装置から所定時間応答がなかった場合に、上記第１のデバイスは、異常対策処理を行う。第１のデバイス又は紙幣処理部は、異常対策処理として、コマンドに基づく処理を禁止してもよいし、第１のデバイス、紙幣処理部、制御部、自動取引装置等のデバイスのシャットダウンを実施してもよい。これにより、上位装置で異常が生じていた場合であっても、デバイスへの不正動作を禁止することが可能となる。
【０２５２】
また、例えば、次の特徴を有するものであってもよい（図２１のステップＳ１１４等）。紙幣処理部と、紙幣処理部とは異なる第１のデバイスと、紙幣処理部及び第１のデバイスと接続される制御部とを有する自動取引装置で、制御部は、紙幣処理部に入金計数処理を実施させる入金計数コマンドを生成し、第１のデバイスは、入金計数コマンドに基づき紙幣処理部が計数した紙幣の情報である取引情報を受信し、計数した紙幣の情報である取引情報と、自動取引装置の外部から利用者により入力された取引情報との一致が確認された場合に、入金紙幣収納可と判断する。当該構成により、入金取引のセキュリティを高めることが可能となる。特に、紙幣処理部で取引情報を検証する場合に比較し、第１のデバイスが取引情報を検証した上で、紙幣処理部に対するコマンドを送信することで、コマンド送信を遅らせるなどのコマンド送信に対する攻撃を検知し、不正な紙幣の返却を防止することが可能となる。また、上記実施の形態では、入金収納するために紙幣を搬送するコマンドを用いて説明しているが、紙幣を搬送しなくとも、計数した紙幣を当該紙幣処理部の紙幣として確定するコマンドであってもよい。
【０２５３】
また、例えば、次の特徴を有するものであってもよい（図２１のステップＳ１１４等）。第２のデバイス（例えば紙幣処理部）と、第２のデバイスとは異なる第１のデバイスと、第２のデバイス及び第１のデバイスと接続される制御部とを有する自動取引装置で、第１のデバイスは、制御部で生成される入金先に関連する情報（カード番号、口座番号など）を受信し、制御部で生成される入金先に関連する情報と、自動取引装置の外部から利用者により入力された入金先に関連する情報との一致が確認された場合に、入金可と判断する。
【０２５４】
また、例えば、次の特徴を有するものであってもよい（図２１のステップＳ１１９等）。第２のデバイス（例えば紙幣処理部）と、第２のデバイスとは異なる第１のデバイスと、第２のデバイス及び第１のデバイスと接続される制御部とを有する自動取引装置で、制御部は、第２のデバイスに処理を実行させる複数のコマンドを生成し、複数のコマンドを第１のデバイスに送信し、第１のデバイスは、複数のコマンドが所定の順序又は内容ではない場合に、異常時対策処理を実行する。
【符号の説明】
【０２５５】
３……勘定系ホストコンピュータ、１３，２９０……カードリーダ、２１……カード媒体、２００……自動取引システム、２１０……ＡＴＭ、２１１……セキュリティ監視サーバ、２２０……ＡＴＭ制御部、２２１……紙幣処理部、２２２……暗号化ピンパッド。
【図１】
2018181002.tif 000003
【図２】
2018181002.tif 000004
【図３】
2018181002.tif 000005
【図４】
2018181002.tif 000006
【図５】
2018181002.tif 000007
【図６】
2018181002.tif 000008
【図７】
2018181002.tif 000009
【図８】
2018181002.tif 000010
【図９】
2018181002.tif 000011
【図１０】
2018181002.tif 000012
【図１１】
2018181002.tif 000013
【図１２】
2018181002.tif 000014
【図１３】
2018181002.tif 000015
【図１４】
2018181002.tif 000016
【図１５】
2018181002.tif 000017
【図１６】
2018181002.tif 000018
【図１７】
2018181002.tif 000019
【図１８】
2018181002.tif 000020
【図１９】
2018181002.tif 000021
【図２０】
2018181002.tif 000022
【図２１】
2018181002.tif 000023
【図２２】
2018181002.tif 000024
【図２３】
2018181002.tif 000025
【図２４】
2018181002.tif 000026
【図２５】
2018181002.tif 000027
【図２６】
2018181002.tif 000028
【図２７】
2018181002.tif 000029
【図２８】
2018181002.tif 000030