(57)【要約】【課題】  信頼性の高い自動取引装置及びその制御方法を提案する。【解決手段】  出金取引における金額に関する情報である金額情報を含む第一の出金取引データと、前記第一の出金取引データに基づき紙幣の出金を指示する出金コマンドを生成する本体制御部と、出金コマンドを受信し、紙幣を出金する紙幣処理部と、紙幣処理部とは異なるデバイスであって、本体制御部から送信された第一の出金取引データに基づき、出金の可否を判断する第一のデバイスとを有する自動取引装置及びその制御方法であって、第一のデバイスが、出金可と判断した場合に、第一の出金取引データに基づき出金コマンドよりもセキュリティを高めた出金信用情報を生成し、紙幣処理部が、出金信用情報及び出金コマンドを受信し、出金信用情報及び出金コマンドに基づき、さらに出金の可否を判断し、出金可の場合に、紙幣を出金するようにした。
2017033321.tif 000002
【特許請求の範囲】
【請求項１】
出金取引における金額に関する情報である金額情報を含む第一の出金取引データと、前記第一の出金取引データに基づき紙幣の出金を指示する出金コマンドを生成する本体制御部と、前記出金コマンドを受信し、紙幣を出金する紙幣処理部と、前記紙幣処理部とは異なるデバイスであって、前記本体制御部から送信された前記第一の出金取引データに基づき、出金の可否を判断する第一のデバイスとを有する自動取引装置であって、
前記第一のデバイスは、出金可と判断した場合に、前記第一の出金取引データに基づき前記出金コマンドよりもセキュリティを高めた出金信用情報を生成し、
前記紙幣処理部は、前記出金信用情報及び前記出金コマンドを受信し、前記出金信用情報及び前記出金コマンドに基づき、さらに出金の可否を判断し、出金可の場合に、紙幣を出金する
ことを特徴とする自動取引装置。
【請求項２】
前記第一のデバイスは、
前記出金信用情報を、前記紙幣処理部と共有する第１の暗号鍵を用いて暗号化して前記紙幣処理部に送信する
ことを特徴とする請求項１に記載の自動取引装置。
【請求項３】
前記第一のデバイスは、ＩＣカードを含み、
前記ＩＣカードが、前記第一の出金取引データに基づく出金の可否を判断し、
前記紙幣処理部が、前記出金信用情報及び前記第一の出金取引データに基づく出金の可否を判断する
ことを特徴とする請求項１に記載の自動取引装置。
【請求項４】
情報を暗号化する暗号化機能が搭載されたピンパッドをさらに備え、
前記第一のデバイスは、前記第一の出金取引データに基づく出金の可否を判断し、
前記ピンパッドは、前記出金信用情報及び前記第一の出金取引データを受信し、前記出金信用情報及び前記第一の出金取引データに基づき、前記出金信用情報及び前記第一の出金取引データに基づく出金の可否を判断する
ことを特徴とする請求項１に記載の自動取引装置。
【請求項５】
前記第一のデバイスは、カードリーダを含み、
前記カードリーダは、前記第一の出金取引データに基づく出金の可否を判断し、
前記紙幣処理部は、前記出金信用情報及び前記第一の出金取引データに基づく出金の可否を判断することを特徴とする請求項１に記載の自動取引装置。
【請求項６】
前記紙幣処理部は、利用者により投入された紙幣を計数し、計数に基づく入金計数情報を生成し、前記入金計数情報に基づき前記入金計数情報よりもセキュリティを高めた入金計数信用情報を生成し、
前記本体制御部は、前記入金計数情報を受信し、前記入金計数情報を含む第一の入金取引データを生成し、
前記第一のデバイスは、前記第一の入金取引データ及び前記入金計数信用情報を受信し、前記第一の入金取引データ及び前記入金計数信用情報に基づき、入金取引の可否を判断し、
前記本体制御部は、前記第一のデバイスによる入金取引の可否を受信し、入金取引可であった場合に、計数された紙幣の入金を受け付ける
ことを特徴とする請求項１に記載の自動取引装置。
【請求項７】
送金先を特定する送金先情報の入力を受け付ける第二のデバイスをさらに備え、
前記本体制御部は、送金先情報を含む第一の入金取引データを生成し、
前記第二のデバイスは、前記送金先情報を受信し、前記送金先情報に基づき前記送金先情報よりもセキュリティを高めた送金先信用情報を生成し、
前記第一のデバイスは、前記第一の入金取引データと前記送金先信用情報とに基づき送金の可否を判定する
ことを特徴とする請求項１に記載の自動取引装置。
【請求項８】
出金取引における金額に関する情報である金額情報を含む第一の出金取引データと、前記第一の出金取引データに基づき紙幣の出金を指示する出金コマンドを生成する本体制御部と、前記出金コマンドを受信し、紙幣を出金する紙幣処理部と、前記紙幣処理部とは異なる第一のデバイスとを有する自動取引装置の制御方法であって、
前記第一のデバイスが、前記第一の出金取引データを受信し、前記第一の出金取引データに基づき、出金の可否を判断し、出金可と判断した場合に、前記第一の出金取引データに基づき前記出金コマンドよりもセキュリティを高めた出金信用情報を生成する第１のステップと、
前記紙幣処理部が、前記出金信用情報及び前記出金コマンドを受信し、前記出金信用情報及び前記出金コマンドに基づき、さらに出金の可否を判断し、出金可の場合に、紙幣を出金する第２のステップと
を備えることを特徴とする自動取引装置の制御方法。
【請求項９】
前記第１のステップにおいて、前記第一のデバイスは、
前記出金信用情報を、前記紙幣処理部と共有する第１の暗号鍵を用いて暗号化して前記紙幣処理部に送信する
ことを特徴とする請求項８に記載の自動取引装置の制御方法。
【請求項１０】
前記第一のデバイスは、ＩＣカード含み、
前記第１のステップにおいて、
前記ＩＣカードが、前記第一の出金取引データに基づく出金の可否を判断し、
前記第２のステップにおいて、
前記紙幣処理部が、前記出金信用情報及び前記第一の出金取引データに基づく出金の可否を判断する
ことを特徴とする請求項８に記載の自動取引装置の制御方法。
【請求項１１】
前記自動取引装置は、
情報を暗号化する暗号化機能が搭載されたピンパッドをさらに備え、
前記ピンパッドが、前記出金信用情報及び前記第一の出金取引データを受信し、前記出金信用情報及び前記第一の出金取引データに基づく出金の可否を判断する第３のステップを有する
ことを特徴とする請求項８に記載の自動取引装置の制御方法。
【請求項１２】
前記第一のデバイスは、カードリーダ含み、
前記第１のステップにおいて、
前記カードリーダが、前記第一の出金取引データに基づく出金の可否を判断し、
前記第２のステップにおいて、
前記紙幣処理部が、前記出金信用情報及び前記第一の出金取引データに基づく出金の可否を判断する
ことを特徴とする請求項８に記載の自動取引装置の制御方法。
【請求項１３】
利用者の投入する紙幣を受け付ける入金取引処理において、
前記紙幣処理部は、利用者により投入された紙幣を計数し、計数に基づく入金計数情報を生成し、前記入金計数情報に基づき前記入金計数情報よりもセキュリティを高めた入金計数信用情報を生成し、
前記本体制御部は、前記入金計数情報を含む第一の入金取引データを生成し、
前記第一のデバイスは、前記第一の入金取引データ及び前記入金計数信用情報に基づき、入金取引の可否を判断し、
前記本体制御部は、前記第一のデバイスによる入金取引の可否を受信し、入金取引可であった場合に、計数された紙幣の入金を受け付ける
ことを特徴とする請求項８に記載の自動取引装置の制御方法。
【請求項１４】
前記自動取引装置は、
送金先を特定する送金先情報の入力を受け付ける第二のデバイスをさらに備え、
利用者による送金先の入力を受け付ける処理において、
前記本体制御部は、前記送金先情報を受信し、前記送金先情報を含む第一の入金取引データを生成し、
前記第二のデバイスは、前記送金先情報に基づき前記送金先情報よりもセキュリティを高めた送金先信用情報を生成し、
前記第一のデバイスは、前記第一の入金取引データと前記送金先信用情報を受信し、前記第一の入金取引データと前記送金先信用情報とに基づき送金の可否を判定する
ことを特徴とする請求項８に記載の自動取引装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自動取引装置及びその制御方法に関し、例えば、クレジットカードやキャッシュカードに記録された情報と利用者の操作とに基づいて出金取引又は入金取引を行うＡＴＭ（Automated Teller Machine）に適用して好適なものである。
【背景技術】
【０００２】
従来、ＡＴＭ等の自動取引装置では、内部デバイスに不正なコマンドが送信されることにより、取引の裏付けのない不正処理が実行されることがある。例えば、自動取引装置内の紙幣の入出金を行う紙幣処理部に対し、取引とは関係のない不正な出金コマンドが送信されて現金が引き出されてしまうことがある。このような不正な処理を防止する対策として、自動取引装置全体の制御を司る全体制御部と内部デバイスとの間の通信を暗号化する方法や、メッセージ認証コードを用いてコマンドや内部デバイスからのレスポンスの改ざんを検知する方法などが利用されている。【０００３】
一方、自動取引装置の全体制御部と内部デバイスとの間の通信を暗号化やメッセージ認証コードで保護したとしても十分でない場合もある。例えば、かかる全体制御部には、紙幣処理部を制御するアプリケーションソフトや制御用のソフトウェアが組み込まれているが、これらのソフトウェアがマルウェアに乗っ取られた場合、全体制御部と内部デバイスとの間の通信を暗号化やメッセージ認証コードの利用により保護したとしても、不正な出金コマンドが紙幣処理部に送られてしまうおそれがある。また入金取引の場合に、自動取引装置に投入された紙幣枚数以上に入金金額を増加させ、不正に口座残高を増やすこともマルウェアにより可能になる。【０００４】
このような問題を解決する手段として、例えば特許文献１には、自動取引装置内に安全領域（Secure domain）を設け、その領域が上記ソフトウェアの不整合を検証することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開２０１３／００３６４６７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、特許文献１に開示された技術を利用する場合、アプリケーションソフトや制御ソフトウェアを更新する際に安全領域に更新ソフトウェアを登録する必要がある。その更新手続きが適切に行われない場合、更新ソフトウェアに予めマルウェアが混入した状態で、安全領域に更新ソフトウェアを登録してしまうリスクが存在する。【０００７】
本発明は以上の点を考慮してなされたもので、アプリケーションソフトや制御ソフトウェアがマルウェア等により不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため本発明においては、出金取引における金額に関する情報である金額情報を含む第一の出金取引データと、前記第一の出金取引データに基づき紙幣の出金を指示する出金コマンドを生成する本体制御部と、前記出金コマンドを受信し、紙幣を出金する紙幣処理部と、前記紙幣処理部とは異なるデバイスであって、前記本体制御部から送信された前記第一の出金取引データに基づき、出金の可否を判断する第一のデバイスとを有する自動取引装置であって、前記第一のデバイスは、出金可と判断した場合に、前記第一の出金取引データに基づき前記出金コマンドよりもセキュリティを高めた出金信用情報を生成し、前記紙幣処理部は、前記出金信用情報及び前記出金コマンドを受信し、前記出金信用情報及び前記出金コマンドに基づき、さらに出金の可否を判断し、出金可の場合に、紙幣を出金するようにした。【０００９】
また本発明においては、出金取引における金額に関する情報である金額情報を含む第一の出金取引データと、前記第一の出金取引データに基づき紙幣の出金を指示する出金コマンドを生成する本体制御部と、前記出金コマンドを受信し、紙幣を出金する紙幣処理部と、前記紙幣処理部とは異なるデバイスであって、前記本体制御部から送信された前記第一の出金取引データに基づき、出金の可否を判断する第一のデバイスとを有する自動取引装置の制御方法であって、前記第一のデバイスが、出金可と判断した場合に、前記第一の出金取引データに基づき前記出金コマンドよりもセキュリティを高めた出金信用情報を生成する第１のステップと、前記紙幣処理部が、前記出金信用情報及び前記出金コマンドを受信し、前記出金信用情報及び前記出金コマンドに基づき、さらに出金の可否を判断し、出金可の場合に、紙幣を出金する第２のステップとを設けるようにした。【００１０】
本発明の自動取引装置及びその制御方法によれば、本体制御部に実装されたアプリケーションがマルウェアに犯されて本体制御部から取引の裏付けのない不正な出金コマンドが紙幣処理部に送信されたとしても当該出金コマンドにおいて指示された出金額と、第一のデバイスから紙幣処理部に与えられる出金信用情報に含まれる金額情報とが矛盾する（これらが一致しない）内容となるため、紙幣処理部が当該出金コマンドに基づく出金処理を行わない。
【発明の効果】
【００１１】
本発明によれば、信頼性の高い自動取引装置及びその制御方法を実現できる。
【図面の簡単な説明】
【００１２】
【図１】従来の自動取引システムの概略構成を示すブロック図である。
【図２】従来のＡＴＭ制御部の概略構成を示すブロック図である。
【図３】勘定系ホストコンピュータの概略構成を示すブロック図である。
【図４】ＩＣカードの概略構成を示すブロック図である。
【図５】従来の自動取引システムにおけるＡＴＭ出金取引処理の流れを示すフロー図である。
【図６Ａ】従来の自動取引システムにおけるＡＴＭ入金取引処理の流れを示すフロー図である。
【図６Ｂ】従来の自動取引システムにおけるＡＴＭ入金取引処理の流れを示すフロー図である。
【図７】第１〜第５の実施の形態による自動取引システムの概略構成を示すブロック図である。
【図８】第１〜第５の実施の形態によるＡＴＭ制御部の概略構成を示すブロック図である。
【図９】第１、第２、第４及び第５の実施の形態によるカードリーダの機能構成を示すブロック図である。
【図１０】第１、第２、第４及び第５の実施の形態によるカードリーダ制御部の機能構成を示すブロック図である。
【図１１】第１、第２、第４及び第５の実施の形態によるカードリーダ暗号処理部の機能構成を示すブロック図である。
【図１２】第１〜第５の実施の形態による紙幣処理部の機能構成を示すブロック図である。
【図１３】第１〜第５の実施の形態による紙幣処理部制御部の機能構成を示すブロック図である。
【図１４】第１〜第５の実施の形態による紙幣処理部暗号処理部の機能構成を示すブロック図である。
【図１５】第１の実施の形態におけるＡＴＭ出金取引処理の流れを示すフロー図である。
【図１６】第２の実施の形態におけるＡＴＭ出金取引処理の流れを示すフロー図である。
【図１７】第３の実施の形態による自動取引システムの概略構成を示すブロック図である。
【図１８】取引信用情報生成サーバの概略構成を示すブロック図である。
【図１９】第３の実施の形態によるカードリーダの機能構成を示すブロック図である。
【図２０】第３の実施の形態によるカードリーダ暗号処理部の機能構成を示すブロック図である。
【図２１Ａ】第３の実施の形態におけるＡＴＭ出金取引処理の流れを示すフロー図である。
【図２１Ｂ】第３の実施の形態におけるＡＴＭ出金取引処理の流れを示すフロー図である。
【図２２】第４の実施の形態におけるカードリーダ暗号処理部のデータ構成を示すブロック図である。
【図２３】第４の実施の形態における紙幣処理部暗号処理部のデータ構成を示すブロック図である。
【図２４Ａ】第４の実施の形態におけるＡＴＭ入金取引処理の流れを示すフロー図である。
【図２４Ｂ】第４の実施の形態におけるＡＴＭ入金取引処理の流れを示すフロー図である。
【図２５】第５の実施の形態におけるカードリーダ暗号処理部のデータ構成を示すブロック図である。
【図２６】第５の実施の形態における暗号化ピンパッドの機能構成を示すブロック図である。
【図２７Ａ】第５の実施の形態におけるＡＴＭ入金取引処理の流れを示すフロー図である。
【図２７Ｂ】第５の実施の形態におけるＡＴＭ入金取引処理の流れを示すフロー図である。
【発明を実施するための形態】
【００１３】
以下図面について、本発明の一実施の形態を詳述する。
【００１４】
（１）第１の実施の形態
（１−１）従来の自動取引システムの構成
本実施の形態による自動取引システムを説明するに際して、まず、従来の自動取引システムの構成について説明する。
【００１５】
図１は、従来の自動取引システムの構成例を示す。この自動取引システム１は、１又は複数のＡＴＭ２と、勘定系ホストコンピュータ３とがＬＡＮ（Local Area Network）又はＷＡＮ（Wide Area Network）などの広域ネットワーク４を介して接続されることにより構成されている。
【００１６】
ＡＴＭ２は、利用者の操作に応じて現金の入出金等の取引を行う自動取引装置である。ＡＴＭ２は、当該ＡＴＭ２全体の動作制御を司るＡＴＭ制御部１０と、ＡＴＭ２の前面パネルの表示ランプ制御や前面パネルの開閉検知を行うＩ／Ｏ制御部１１と、ＡＴＭ２の前面に設けられた入出金口内に投入された紙幣を計数して収納庫に搬送、保管し又は出金すべき紙幣を前記収納庫から取り出して入出金口内に搬送する紙幣処理部１２と、ＡＴＭ２での取引に必要なキャッシュカード等のカード媒体から当該カード媒体に記録されている情報を読み取るカードリーダ１３と、暗証番号等を入力するためのテンキーを有し、入力された暗証番号等の情報を暗号化する機能を有する暗号化ピンパッド１４と、取引明細票用のプリンタでなるレシートプリンタ１５と、通帳用のプリンタでなる通帳プリンタ１６と、ＡＴＭ取引のログを記録するジャーナルプリンタ１７と、利用者の顔写真を撮影するセキュリティ用の監視カメラ１８と、入金取引に関する情報を表示する表示部１９と、勘定系ホストコンピュータ３と通信を行う通信処理部２０とを備えて構成される。なお、表示部１９は、利用者からの操作を受け付ける表示操作部であってもよい。
【００１７】
ただしＡＴＭ２は、入金された硬貨や出金する硬貨を取り扱う硬貨処理部（図示せず）を備えていてもよい。また、第１の実施の形態としては、カード媒体としてＩＣ（Integrated Circuit Card）カード２１が使用される例について説明する。
【００１８】
図２は、ＡＴＭ制御部１０の概略構成を示す。この図２に示すように、ＡＴＭ制御部１０は、ＣＰＵ（Central Processing Unit）３０及びメモリ３１等の情報処理資源を備えたマイクロコンピュータ構成を有する。ＣＰＵ３０は、ＡＴＭ制御部１０全体の動作制御を司るプロセッサであり、メモリ３１は、例えば半導体メモリから構成される。
【００１９】
ＡＴＭ制御部１０のメモリ３１の記憶領域は、プログラム領域３２及びデータ領域３３に区分されて管理される。そしてプログラム領域３２には、ＡＴＭ２取引全体を制御するＡＴＭアプリケーション４０と、Ｉ／Ｏ（Input/Output）制御部１１、紙幣処理部１２、カードリーダ１３、暗号化ピンパッド１４、レシートプリンタ１５、通帳プリンタ１６、ジャーナルプリンタ１７、監視カメラ１８及び表示部１９をそれぞれ制御するためのソフトウェア（Ｉ／Ｏ制御部制御ソフトウェア４１、紙幣処理部制御ソフトウェア４２、カードリーダ制御ソフトウェア４３、暗号化ピンパッド制御ソフトウェア４４、レシートプリンタ制御ソフトウェア４５、通帳プリンタ制御ソフトウェア４６、ジャーナルプリンタ制御ソフトウェア４７、監視カメラ制御ソフトウェア４８及び通信処理ソフトウェア４９）と、ソフトウェア環境等の設定ファイル５０とが格納される。
【００２０】
またデータ領域３３には、ＡＴＭ２での入出金取引に必要なデータが格納される。具体的には、カード番号６０、ＡＴＣ（ATm Controler）乱数６１、取引データ６２、ＡＲＱＣ（Authentication Request Cryptogram）６３、取引可否データ６４、ＡＲＰＣ（Authentication Response Cryptogram）６５、ＡＲＰＣ検証結果６６、取引検証結果６７、紙幣処理部制御データ６８及び入金計数金額６９などがデータ領域３３に格納される。
【００２１】
カード番号６０は、ＩＣカード２１に記憶されている、銀行口座の番号又はクレジットカードの番号などの利用者の口座を特定する情報であり、カードリーダ１３によりＩＣカード２１から取得され、ＡＴＭ制御部１０のメモリ３０に記憶される。またＡＴＣ乱数６１は、ＡＴＭ２と勘定系ホストコンピュータ３との間で取引電文のやり取りに必要なセキュリティを高めるために、ＡＴＭ制御部１０で生成される乱数である。これは取引ごとに生成される電文データのビットパターンを見かけ上変えることにより、過去に保存した取引電文を用いて不正な取引を行う「リプレイ攻撃」を防止するためである。
【００２２】
取引データ６２は、勘定系ホストコンピュータ３に送信する取引電文データである。取引データ６２は、例えば、出金額又は入金額などの利用者からの入力に基づく取引に関する情報、特には取引金額に関する情報を含む。また、取引データ６２は、カード番号６０などの情報を含んでもよい。ＡＲＱＣ６３は、勘定系ホストコンピュータ３に送信する取引データ６２に対するメッセージ認証コード（ＭＡＣ）であり、ＩＣカード２１で生成される。取引可否データ６４は、ＡＴＭ２から送信された取引データ６２に対して、勘定系ホストコンピュータ３が銀行口座残高や与信情報などを参照して、その取引を成立させて良いか否かを判断した結果のデータである。ＡＲＰＣ６５は、取引可否データ６４に対するメッセージ認証コードであり勘定系ホストコンピュータ３で生成される。勘定系ホストコンピュータ３は、ＡＴＭスイッチ、ＡＴＭの上位装置又はＡＴＭの外部のコンピュータである外部コンピュータと呼ぶこともある。
【００２３】
ＡＲＰＣ検証結果６６は、ＩＣカード２１内でＡＲＰＣ６５のメッセージ認証コードを検証した結果を示すデータである。取引検証結果６７は、ＩＣカード２１内で生成される取引データに対するメッセージ認証コードであり、取引受入れの場合は「ＴＣ」が格納され、取引拒絶の場合は「ＡＡＣ」が格納される。紙幣処理部制御データ６８は、ＡＴＭ制御部１０が紙幣処理部１２（図１）に対して送信する、紙幣処理のためのコマンドデータであり、例えば、紙幣出金を指示する紙幣出金コマンド、入金計数を指示する紙幣計数コマンド、入金収納を指示する紙幣収納コマンドがある。入金計数金額６９は、入金取引時において紙幣処理部１２が、ＡＴＭ２に投入された紙幣を計数した合計金額である。
【００２４】
一方、勘定系ホストコンピュータ３は、ＡＴＭ２の利用者の口座や残高に関する情報などを記憶し管理する機能を有するコンピュータ装置であり、図３に示すように、勘定系ホストコンピュータ３全体の動作制御を司るＣＰＵ７０と、メモリ７１となどの情報処理資源を備えて構成される。
【００２５】
勘定系ホストコンピュータ３のメモリ７１の記憶領域は、プログラム領域７２及びデータ領域７３に区分されて管理されており、プログラム領域７２には、アプリケーション８０、通信制御ソフトウェア８１及び暗号処理ソフトウェア８２が格納され、データ領域７３には、取引データ８３、ＡＲＱＣ８４、取引可否データ８５及びＡＲＰＣ８６が格納される。
【００２６】
アプリケーション８０は、勘定系ホストコンピュータ３全体の制御を行うソフトウェアである。また通信制御ソフトウェア８１は、勘定系ホストコンピュータ３と各ＡＴＭ２との間でのデータ通信を制御する機能を有するソフトウェアである。暗号処理ソフトウェア８２は、ＡＴＭ２から送信されてくるメッセージ認証コードであるＡＲＱＣ８４を検証したり、ＡＲＰＣ８６といった新たにメッセージ認証コードを生成したりする暗号処理機能を持つソフトウェアである。
【００２７】
また取引データ８３は、ＡＴＭ２から送信されてくる出金取引や入金取引のための取引電文データであり、図２の取引データ６２と同じデータである。ＡＲＱＣ８４は、取引データ８３が改ざんされていないかを検証するためのメッセージ認証コードであり、ＩＣカード２１で生成される。このＡＲＱＣ８４は、図２のＡＲＱＣ６３と同じデータである。取引可否データ８５は、勘定系ホストコンピュータ３が銀行口座残高や与信情報などを参照して、その取引を成立させても良いか否かを判断した結果を表すデータであり、図２の取引可否データ６４と同じデータである。ＡＲＰＣ８６は、取引可否データ８５に対するメッセージ認証コードであり、勘定系ホストコンピュータ３で生成される。このＡＲＰＣ８６も、図２のＡＲＰＣ６５と同じデータである。
【００２８】
図４は、ＩＣカード２１の概略構成を示す。この図４からも明らかなように、ＩＣカード２１は、ＩＣカード２１全体の動作制御を司るＣＰＵ９０と、メモリ９１となどの情報処理資源を備えて構成される。そしてＩＣカード２１のメモリ９１の記憶領域は、プログラム領域９２及びデータ領域９３に区分されて管理されており、プログラム領域９２には、アプリケーション１００、通信制御ファームウェア１０１及び暗号処理ファームウェア１０２が格納され、データ領域９３には、ＡＴＣ乱数１０３、取引データ１０４、ＡＲＱＣ１０５、取引可否データ１０６、ＡＲＰＣ１０７、ＡＲＰＣ検証結果１０８及び取引検証結果１０９が格納される。
【００２９】
アプリケーション１００は、ＩＣカード２１の全体制御を行うソフトウェアである。また通信制御ファームウェア１０１は、カードリーダ１３（図１）との間でのデータ通信を制御する機能を有するソフトウェアである。暗号処理ファームウェア１０２は、ＡＲＱＣ１０５を生成したり、勘定系ホストコンピュータ３から送信されてくるＡＲＰＣ１０７を検証したりする暗号処理機能を持つソフトウェアである。
【００３０】
またＡＴＣ乱数１０３は、ＡＴＭ制御部１０（図２）で生成されたＡＴＣ乱数６１（図２）と同じデータであり、ＡＴＭ制御部１０から送信されてきたものである。取引データ１０４は、ＡＴＭ１０から送信されてきた出金取引又は入金取引のための取引電文データであり、図３の取引データ８３と同じデータである。
【００３１】
ＡＲＱＣ１０５は、図２のＡＲＱＣ６３及び図３のＡＲＱＣ８４と同じデータであり、ＡＴＣ乱数１０３と取引データ１０４から生成される、図２の取引データ６２に対するメッセージ認証コードである。ＡＲＱＣ１０５は、勘定系ホストコンピュータ３で検証される。取引可否データ１０６は、勘定系ホストコンピュータ３が銀行口座残高や与信情報などを参照して、その取引を成立させて良いか否かを判断した判断結果を表すデータであり、図２の取引可否データ６４及び図３の取引可否データ８５と同じデータである。
【００３２】
ＡＲＰＣ１０７は、取引可否データ１０６に対するメッセージ認証コードであり、勘定系ホストコンピュータ３で生成され、図２のＡＲＰＣ６５、図３のＡＲＰＣ８６と同じデータである。取引検証結果１０９は、ＡＲＰＣ１０７をＩＣカード２１が検証した結果、ＡＴＭ制御部１０に紙幣出金コマンド送信を許可するために使われるデータである。また、取引検証結果１０９はＩＣカード２１がＡＲＰＣ３４９を検証してＡＴＭ２での取引を承認したことを勘定系ホストコンピュータ３が検証するためにも使用される。取引検証結果１０９として、取引を承認した場合に「ＴＣ」が生成され、取引拒否の場合に「ＡＡＣ」が生成される。
【００３３】
ＩＣカード２１には、そのＩＣカード２１の保有者の銀行口座番号やクレジットカード番号、あるいは、本人確認を行うための情報が記録されると共に、勘定系ホストコンピュータ３との間でＡＴＭ取引に必要なメッセージ認証コードを生成したり検証したりする機能が搭載される。
【００３４】
次に、図５を参照して、従来の取引システム１における出金取引処理の流れについて説明する。以下においては、ＡＴＭ２の利用者により既にＩＣカード２１がカードリーダ１３（図１）に挿入されており、ＡＴＭ制御部１０がカードリーダ１３を介してＩＣカードに記憶されているカード番号を受信し、記憶すると共に、ＩＣカード２１の認証と暗証番号などによる本人確認認証処理は既に済んでおり、その上で、利用者から入力された出金取引における出金額をＡＴＭの暗号化ピンパッドや表示操作部が受付け、ＡＴＭ制御部１０は出金額の情報を受信し、当該出金取引における出金額を記憶している状態にあるものとする。また、ＩＣカード２１と勘定系ホストコンピュータ３間の通信に必要な暗号鍵などの暗号処理に必要なデータ共有は既に完了しているものとする。
【００３５】
まず、ＡＴＭ２のＡＴＭ制御部１０が、ＡＴＣ乱数６１（図２）を生成し、生成したＡＴＣ乱数６１をメモリ３１（図２）に格納する（Ｓ１）。これは取引ごとに生成される電文データのビットパターンを見かけ上変えることにより、過去に保存した取引電文を用いて不正な取引を行う「リプレイ攻撃」を防止するためである。次に、ＡＴＭ制御部１０は、出金取引に必要な取引データ６２（図２）を生成し（Ｓ２）、ステップＳ１で生成したＡＴＣ乱数６１と、ステップＳ２で生成した取引データ６２とをカードリーダ１３経由でＩＣカード２１に送信する（Ｓ３）。
【００３６】
ＩＣカード２１は、かかるＡＴＣ乱数６１及び取引データ６２を受信すると、これらをメモリ９１（図４）に格納すると共に（Ｓ４）、これらＡＴＣ乱数６１及び取引データ６２に対するメッセージ認証コードであるＡＲＱＣ１０５を生成し（Ｓ５）、生成したＡＲＱＣ１０５をＡＴＭ制御部１０に送信する（Ｓ６）。
【００３７】
ＡＴＭ制御部１０は、かかるＡＲＱＣ１０５を受信すると（Ｓ７）、受信したＡＲＱＣ１０５をＡＲＱＣ６３（図２）としてメモリ３１（図２）に格納すると共に、このＡＲＱＣ１０５を取引データ６２（図２）と共に勘定系ホストコンピュータ３に送信する（Ｓ８）。
【００３８】
勘定系ホストコンピュータ３は、かかる取引データ６２及びＡＲＱＣ６３を受信すると（Ｓ９）、これらをそれぞれ取引データ８３（図３）及びＡＲＱＣ８４（図３）としてメモリ７１（図３）に格納する。また勘定系ホストコンピュータ３は、利用者の口座残高や与信情報を確認し、出金額、口座残高又は与信情報などに基づき出金取引の実施可否を検証した上で、取引可否データ８５（図３）を生成すると共に、それに対応するメッセージ認証コードであるＡＲＰＣ８６（図３）を生成する（Ｓ１０）。そして勘定系ホストコンピュータ３は、生成した取引可否データ８５及びＡＲＰＣ８６をＡＴＭ制御部１０に返送する（Ｓ１１）。
【００３９】
かくしてＡＴＭ制御部１０は、勘定系ホストコンピュータ３から返送されてきた上述の取引可否データ８５及びＡＲＰＣ８６を受信すると（Ｓ１２）、これらをそれぞれ取引可否データ６４（図２）及びＡＲＰＣ６５（図２）としてメモリ３１（図２）に格納し、その後、ＩＣカード２１にＡＲＰＣ６５及びＡＲＰＣ検証に必要な取引可否データを送信する（Ｓ１３）。なお、図を簡素化するため、図５のステップＳ１３〜ステップＳ１４では、取引可否データの記載を省略する。
【００４０】
ＩＣカード２１は、このＡＲＰＣ６５と取引可否データを受信すると、これをＡＲＰＣ１０７（図４）と取引可否データとしてメモリ９１（図４）に格納して、ＡＲＰＣに基づき取引可否データの正当性を検証し、その結果をＡＲＰＣ検証結果１０８（図４）としてメモリ９１に格納する（Ｓ１４）。またＩＣカード２１は、この後、このＡＲＰＣ検証結果１０８をＡＴＭ制御部１０に送信する（Ｓ１５）。
【００４１】
ＡＴＭ制御部１０は、かかるＡＲＰＣ検証結果１０８を受信すると、受信したＡＲＰＣ検証結果１０８をＡＲＰＣ検証結果６６（図２）としてメモリ３１（図２）に格納する（Ｓ１６）。またＡＴＭ制御部１０は、このＡＲＰＣ検証結果６６の内容を参照して、取引が受け入れられていると判断した場合には、再度、ＩＣカード２１の要求に合う取引データ６２（図２）を生成してＩＣカード２１に送信する（Ｓ１７）。
【００４２】
ＩＣカード２１は、この取引データ６２を受信すると（Ｓ１８）、これを取引検証結果６７（図２）としてメモリ３１（図２）に格納する（Ｓ２０）。ＩＣカード２１は、その検証結果のメッセージ認証コードとして取引検証結果１０９（図４）を生成し、生成した取引検証結果１０９をカードリーダ１３経由でＡＴＭ制御部１０に送信する（Ｓ１９）。
【００４３】
ＡＴＭ制御部１０は、この取引検証結果１０９を受信すると、これを取引検証結果６７（図２）としてメモリ３１（図２）に格納する（Ｓ２０）。そしてＡＴＭ制御部１０は、この取引検証結果６７の値が「ＡＡＣ」であった場合には、取引不可の旨をＡＴＭ２の表示部１９（図１）に表示させる。
【００４４】
これに対してＡＴＭ制御部１０は、かかる取引検証結果６７の値が「ＴＣ」であった場合には、取引受入と判断して出金すべき紙幣金種（千円札、二千円札、五千円札及び又は一万円札）及びその枚数の情報を含む紙幣出金コマンドを生成し、生成した紙幣出金コマンドを紙幣処理部制御データ６８（図２）としてメモリ３１（図２）に格納すると共に（Ｓ２１）、この紙幣出金コマンドを紙幣処理部１２に送信する（Ｓ２２）。
【００４５】
そして紙幣処理部１２は、かかる紙幣出金コマンドを受信すると（Ｓ２３）、受信した紙幣出金コマンドに基づいて、紙幣出金コマンドで指定された金種の紙幣をＡＴＭ２内に設けられた金庫に囲われた紙幣を保管する収納庫から指定された枚数だけ取り出してＡＴＭ２の前面に設けられた入出金口内に搬送する出金処理を行う（Ｓ２４）。すなわち、紙幣処理部１２は、紙幣出金コマンドに基づき出金処理を行う。以上が従来のＡＴＭ出金取引処理の流れである。
【００４６】
ここで、ＡＴＭ制御部１０のＡＴＭアプリケーション４０（図２）にマルウェアが混入して、取引の裏付けのない不正な紙幣出金コマンドが紙幣処理部１２に送信される処理は、ステップＳ２１及びステップＳ２２で起こり得る。すなわちＡＴＭ制御部１０は、メモリ３１（図２）に格納されている取引検証結果６７（図２）に基づいて紙幣出金コマンドを生成するのが本来の処理の流れである。それを保障しているのがＡＴＭアプリケーション４０の正当性である。
【００４７】
しかしながら、マルウェアの混入によりその正当性が担保されないと、取引検証結果６７に基づかずに不正な紙幣出金コマンドが紙幣処理部１２に送信される。この場合、紙幣出金コマンド中の出金金額が改ざんされたり、そもそも取引とは全く関係のない紙幣出金コマンドが紙幣処理部１２に送信され、紙幣の不正出金が行われる。
【００４８】
一方、入金取引の場合には、入金金額の不正改ざんに加えて、入金先口座番号の不正改ざんのリスクが存在する。これを説明するために、従来のＡＴＭ入金取引処理の流れを図６Ａ及び図６Ｂを用いて説明する。
【００４９】
図６Ａ及び図６Ｂでは、入金取引の際に口座に残高を増やす必要があるためにカード番号に関わるステップＳ３０〜ステップＳ３３の取引処理の流れを明示したが、これらの処理は出金取引にも存在する。入金取引固有の処理の流れは、図６ＡのステップＳ３４〜ステップＳ３８、及び、図６ＢのステップＳ５８〜ステップＳ６２であるので、以下、それらの処理の流れを主として説明する。
【００５０】
内部に格納されているカード番号がＩＣカード２１から読み出されてカードリーダに送られると（Ｓ３０）、カードリーダ１３はそれを受信し（Ｓ３１）、さらにそのカード番号をそのままＡＴＭ制御部１０に送信する（Ｓ３２）。ＡＴＭ制御部１０は、ＩＣカード２１からカード番号を受信すると（Ｓ３３）、ＡＴＭ２に投入される紙幣の合計金額を計数するために、紙幣処理部制御ソフトウェア４２（図２）により入金計数コマンドを生成し、生成した入金計数コマンドを紙幣処理部１２に送信する（Ｓ３４）。紙幣処理部１２は、この入金計数コマンドを受信すると（Ｓ３５）、ＡＴＭ２の前面に設けられた上述の入出金口に投入された紙幣を計数すると共に、計数した紙幣を紙幣処理部内の一時スタッカに格納する（Ｓ３６）。その後、紙幣処理部１２は、その計数した紙幣の合計金額又は紙幣の金種毎の枚数を入金計数金額として、ＡＴＭ制御部１０に送信する（Ｓ３７）。なお一時スタッカとは、取引き中の紙幣を一時的に収納する収納庫であり、一時収納庫とも呼ばれ、金庫に囲われていないこともある。
【００５１】
ＡＴＭ制御部１０は、かかる入金計数金額を受信すると、これを入金計数金額６９（図２）としてメモリ３１（図２）に格納する、あるいは、紙幣金種毎の枚数を受信した場合は合計金額を計算してメモリ３１（図２）に格納する（Ｓ３８）。その後、ＡＴＭ制御部１０では、ＡＴＭアプリケーション４０（図２）がＡＲＱＣ生成のためのＡＴＣ乱数６１（図２）を生成し（Ｓ３９）、メモリ３１に格納された入金計数金額６９を用いて取引データ６２（図２）を生成する（Ｓ４０）。そしてＡＴＭ制御部１０は、生成したこれらＡＴＭ乱数６１及び取引データ６２をカードリーダ１３（図１）を介してＩＣカード２１に送信する（Ｓ４１）。
【００５２】
かくしてＩＣカード２１がこのＡＴＭ乱数６１及び取引データ６２を受信すると（Ｓ４２）、この後、このＡＴＭ乱数６１及び取引データ６２に基づいて、図５のステップＳ５〜ステップＳ２０と同様にしてステップＳ４３〜ステップＳ５８の処理が行われる。なお、ＩＣカード２１は、ステップＳ５７で取引データの金額又は取引データの紙幣金種毎の枚数に基づき、取引データの正当性を検証してもよい。また、図５と同様、図６ＡではステップＳ５１〜ステップＳ５２の取引可否データの記載を省略している。
【００５３】
なおＡＴＭ制御部１０は、ステップＳ５８において、ＩＣカード２１から送信されてきた取引検証結果が「ＴＣ」であった場合には、紙幣収納コマンドを生成してこれを紙幣処理部制御データ６８（図２）としてメモリ３１（図２）に格納する（Ｓ５９）。またＡＴＭ制御部１０は、かかる取引検証結果が「ＡＡＣ」であった場合には、取引不可と判断し、その旨をＡＴＭ２の表示部１９（図１）に表示させる。
【００５４】
一方、ＡＴＭ制御部１０は、ＩＣカード２１から送信されてきた取引検証結果が「ＴＣ」であった場合、上述のように生成した紙幣収納コマンドを紙幣処理部１２に送信する（Ｓ６０）。そして紙幣処理部１２は、この紙幣収納コマンドを受信すると（Ｓ６１）、上述のように一時スタッカに格納した紙幣を収納庫に移動させる入金紙幣収納処理を行う（Ｓ６２）。以上が従来のＡＴＭ入金取引処理の流れである。
【００５５】
ここで、ＡＴＭアプリケーション４０（図２）にマルウェアが混入した場合、上述した従来のＡＴＭ入金取引処理において、ステップＳ４０の取引データ６２の生成時に、ステップＳ３７において紙幣処理部１２からＡＴＭ制御部１０に通知された入金計数金額以上の金額に基づき取引データ６２が生成されるおそれがある。極端な場合、ＡＴＭ２に投入された紙幣が全く存在しなくても、入金のための取引データ６２をステップＳ４０でＡＴＭ制御部１０に生成させることもできる。
【００５６】
このように、従来の取引システム１では、ＡＴＭアプリケーション４０の正当性が保証されなければ、取引の裏付けのない紙幣出金処理、又は、紙幣の裏付けのない入金取引が成立し得るおそれがある。また、入金取引の場合は、指定された口座以外の口座に入金取引を行うといった不正取引が起きるおそれもある。
【００５７】
ＡＴＭアプリケーション４０や、図２に示す９種類のデバイス制御ソフトウェア（Ｉ／Ｏ制御部制御ソフトウェア４１、紙幣処理部制御ソフトウェア４２、カードリーダ制御ソフトウェア４３、暗号化ピンパッド制御ソフトウェア４４、レシートプリンタ制御ソフトウェア４５、通帳プリンタ制御ソフトウェア４６、ジャーナルプリンタ制御ソフトウェア４７、監視カメラ制御ソフトウェア４８及び通信処理ソフトウェア４９と、ソフトウェア環境の設定ファイル５０の不正改ざんを防止するためのセキュリティ対策ソフトウェアとして、ウィルスの混入を検知するウィルスチェックソフトウェアや、ホワイトリスト型と呼ばれる、登録されたソフトウェア以外のソフトウェアの起動を防止するセキュリティ対策ソフトウェアが従来から存在する。しかしながら、全体制御部（ＡＴＭ制御部１０）が起動するときに、そのセキュリティ対策ソフトウェアの起動が妨げられて機能しないような不正改造が行われる場合もあり、これらの対策ソフトウェアだけでは万能ではない。
【００５８】
そこで、本実施の形態では、ＡＴＭ２内の内部デバイス同士の安全なデバイス間通信により、アプリケーションソフトウェアや制御ソフトウェアがマルウェアにより不正改ざんされた場合においても不正処理ができない自動取引システムを提案する。以下、このような本実施の形態の自動取引システムについて図７〜図１５を参照して説明する。
【００５９】
（１−２）第１の実施の形態による取引システムの構成
図１との対応部分に同一符号を付して示す図７において、１１０は全体として本実施の形態による自動取引システムを示す。本自動取引システム１１０は、ＡＴＭ１１１のＡＴＭ制御部１１２、紙幣処理部１１３及びカードリーダ１１４の機能が異なる点を除いて図１〜図６Ｂについて上述した従来の自動取引システム１と同様に構成されている。
【００６０】
図２との対応部分に同一符号を付して示す図８は、本実施の形態によるＡＴＭ１１１のＡＴＭ制御部１１２の構成を示す。このＡＴＭ制御部１１２は、メモリ３１のデータ領域３３に、カード番号６０、ＡＴＣ乱数６１、取引データ６２、ＡＲＱＣ６３、取引可否データ６４、ＡＲＰＣ６５、ＡＲＰＣ検証結果６６、取引検証結果６７、紙幣処理部制御データ６８及び入金計数金額６９に加えて、出金額信用情報１２０、ＤＥＶ乱数１２１、ＥＰＰ乱数１２２、入金計数金額信用情報１２３、第１のＣＲ乱数１２４及び第２のＣＲ乱数１２５が格納される点と、これに伴いメモリ３１のプログラム領域３２に格納された紙幣処理部制御ソフトウェア１２６及びカードリーダ制御ソフトウェア１２７の機能が異なる点とを除いて図１〜図６Ｂについて上述した従来のＡＴＭ制御部１０と同様に構成されている。
【００６１】
出金額信用情報１２０は、紙幣処理部１１３が出金してもよい金額の情報（金額情報）を含む電子署名データ、又は、メッセージ認証コード（ＭＡＣ）である。出金額信用情報１２０は、出金コマンドよりもセキュリティの高い情報であってよい。この出金額信用情報１２０は、ＩＣカード２１から出力される取引検証結果６７に基づいて後述のカードリーダ暗号処理部１３２（図９）で生成され、ＡＴＭ制御部１１２を経由して、紙幣処理部１１３に送信される。
【００６２】
ＤＥＶ乱数１２１は、紙幣処理部１１３で生成され、カードリーダ暗号処理部１３２（図９）に送信されて出金額信用情報１２０を生成するために使用される。ＤＥＶ乱数１２１は、出金額信用情報１２０のリプレイ攻撃を防止するために使用される。
【００６３】
図９は、本実施の形態のカードリーダ１１４の構成を示す。このカードリーダ１１４は、カードリーダ制御部１３０、カード搬送・読取部１３１及びカードリーダ暗号処理部１３２を備えて構成される。
【００６４】
カードリーダ制御部１３０は、カード搬送・読取部１３１及びカードリーダ暗号処理部１３２を制御すると共に、これらカード搬送・読取部１３１及びカードリーダ暗号処理部１３２との間でデータのやり取りを行う機能を有するハードウェアユニットであり、カード搬送・読取部１３１は、ＡＴＭ１１１内部でＩＣカード２１を搬送すると共に、ＩＣカード２１の接点を通じてＩＣカード２１との間でデータの入出力を行う機能を有するハードウェアユニットである。またカードリーダ暗号処理部１３２は、カードリーダ１１４内で電子署名データやＭＡＣの生成及び検証などの暗号処理を行う機能を有するハードウェアユニットである。
【００６５】
カードリーダ制御部１３０は、図１０に示すように、カードリーダ制御部１３０全体の動作制御を司るＣＰＵ１４０と、例えば半導体メモリなどから構成されるメモリ１４１などの情報処理資源を備えて構成される。
【００６６】
カードリーダ制御部１３０のメモリ１４１の記憶領域は、プログラム領域１４２及びデータ領域１４３に区分されて管理されており、プログラム領域１４２に、全体制御ファームウェア１５０、ＩＣカード通信制御ファームウェア１５１及びＣＳＥ（Card reader Secure Element）制御ファームウェア１５２が格納され、データ領域１４３に、全体制御用バッファ１５３、ＩＣカード通信用バッファ１５４及びＣＳＥ通信用バッファ１５５が設けられる。
【００６７】
全体制御ファームウェア１５０は、ＡＴＭ制御部１１２との間の通信を制御したり、カード搬送・読取部１３１（図９）の搬送制御などを行う機能を有するソフトウェアであり、ＩＣカード通信制御ファームウェア１５１は、ＩＣカード２１との間でデータの入出力制御を行う機能を有するソフトウェアである。またＣＳＥ制御ファームウェア１５２は、カードリーダ暗号処理部１３２（図９）を制御したり、当該カードリーダ暗号処理部１３２との間の通信制御を行うソフトウェアである。
【００６８】
また全体制御用バッファ１５３は、ＡＴＭ制御部１１２との通信用バッファも含む全体制御に使われるデータエリアであり、ＩＣカード通信用バッファ１５４及びＣＳＥ通信用バッファ１５５はそれぞれ、ＩＣカード２１又はカードリーダ暗号処理部１３２との通信制御用バッファである。
【００６９】
図１１は、カードリーダ暗号処理部１３２の概略構成を示す。カードリーダ暗号処理部１３２は、当該カードリーダ暗号処理部１３２全体の動作制御を司るプロセッサであるＣＰＵ１６０と、例えば、半導体メモリなどから構成されるメモリ１６１となどの情報処理資源を備えて構成される。
【００７０】
カードリーダ暗号処理部１３２のメモリ１６１の記憶領域は、カードリーダ制御部１３０（図１０）と同様に、プログラム領域１６２及びデータ領域１６３に区分されて管理されており、プログラム領域１６２には、アプリケーション１７０、通信制御ファームウェア１７１及び暗号処理ファームウェア１７２が格納され、データ領域１６３には、ＤＥＶ乱数１７３、出金額１７４及び出金額信用情報１７５が格納される。
【００７１】
アプリケーション１７０は、カードリーダ暗号処理部１３２の全体制御を行う機能を有するソフトウェアであり、通信制御ファームウェア１７１は、カードリーダ制御部１３０（図１０）との間の通信制御を行う機能を有するソフトウェアである。また暗号処理ファームウェア１７２は、電子署名データやＭＡＣの生成や検証などを行う機能を有するソフトウェアである。
【００７２】
またＤＥＶ乱数１７３は、紙幣処理部１１３で生成された乱数であり、出金額１７４は、勘定系ホストコンピュータ３とＩＣカード２１の間で成立した出金取引の出金金額である。さらに出金額信用情報１７５は、紙幣処理部１１３が出金してよい金額情報を含む電子署名データやＭＡＣである。出金額信用情報１７５は、ＩＣカード２１から出力される取引検証結果１０９（図４）に基づいてカードリーダ暗号処理部１３２内で生成される。本データは、図８の出金額信用情報１２０と同一のデータである。
【００７３】
図１２は、紙幣処理部１１３の構成を示す。紙幣処理部１１３は、紙幣処理部制御部１８０、紙幣搬送機構部１８１及び紙幣処理部暗号処理部１８２を備えて構成される。
【００７４】
紙幣処理部制御部１８０は、紙幣搬送機構部１８１及び紙幣処理部暗号処理部１８２を制御すると共に、これら紙幣搬送機構部１８１及び紙幣処理部暗号処理部１８２との間でデータのやり取りを行う機能を有するハードウェアである。また紙幣搬送機構部１８１は、金庫内の紙幣を保管する収納庫から紙幣を搬送してＡＴＭ１１１の利用者に出金したり、利用者が紙幣入出金口に投入した紙幣を収納庫に搬送し入金する機能を有するハードウェアである。なお、紙幣処理制御部１８０は、出金、入金の際に搬送される紙幣の金種と枚数を計数する機能を有してもよい。紙幣処理部暗号処理部１８２は、紙幣処理部１１３内で電子署名データやＭＡＣの生成や検証などを行う暗号処理を担うユニットである。
【００７５】
紙幣処理部制御部１８０は、図１３に示すように、紙幣処理部制御部１８０全体の動作制御を司るＣＰＵ１９０と、例えば半導体メモリなどから構成されるメモリ１９１などの情報処理資源を備えて構成される。
【００７６】
紙幣処理部制御部１８０のメモリ１９１の記憶領域は、プログラム領域１９２及びデータ領域１９３に区分されて管理されており、プログラム領域１９２に、全体制御ファームウェア２００、紙幣搬送機構制御ファームウェア２０１及びＤＳＥ（Device Secure Element）制御ファームウェア２０２が格納され、データ領域１９３に、全体制御用バッファ２０３、紙幣搬送機構制御用バッファ２０４及びＤＳＥ通信用バッファ２０５が設けられる。
【００７７】
全体制御ファームウェア２００は、ＡＴＭ制御部１１２との間の通信を制御したり、紙幣搬送機構制御ファームウェア２０１及びＤＳＥ制御ファームウェア２０２を制御する機能を有するソフトウェアである。また紙幣搬送機構制御ファームウェア２０１は、紙幣搬送機構部１８１（図１２）の制御を行う機能を有するソフトウェアである。さらにＤＳＥ制御ファームウェア２０２は、紙幣処理部暗号処理部１８２（図１２）を制御したり、紙幣処理部暗号処理部１８２との間の通信制御を行う機能を有するソフトウェアである。
【００７８】
また全体制御用バッファ２０３は、ＡＴＭ制御部１１２との通信用バッファのほか、他の制御ファームウェアを制御するために利用されるデータエリアである。また紙幣搬送機構制御用バッファ２０４及びＤＳＥ通信用バッファ２０５は、それぞれ紙幣搬送機構部１８１又は紙幣処理部暗号処理部１８２との通信時に利用する通信用バッファである。
【００７９】
図１４は、紙幣処理部暗号処理部１８２の概略ハードウェア構成及び出金取引時のデータ構成を示す。紙幣処理部暗号処理部１８２は、当該紙幣処理部暗号処理部１８２全体の動作制御を司るＣＰＵ２１０と、例えば半導体メモリなどから構成されるメモリ２１１となどの情報処理資源を備えて構成される。
【００８０】
紙幣処理部暗号処理部１８２のメモリ２１１の記憶領域は、紙幣処理部制御部１８０（図１３）と同様に、プログラム領域２１２及びデータ領域２１３に区分されて管理されており、プログラム領域２１２には、アプリケーション２２０、通信制御ファームウェア２２１及び暗号処理ファームウェア２２２が格納され、データ領域２１３には、ＤＥＶ乱数２２３、出金額２２４及び出金額信用情報２２５が格納される。
【００８１】
アプリケーション２２０は、紙幣処理部暗号処理部１８２の全体制御を行う機能を有するソフトウェアであり、通信制御ファームウェア２２１は、紙幣処理部制御部１８０（図１３）との間の通信制御を行う機能を有するソフトウェアである。また暗号処理ファームウェア２２２は、電子署名データやＭＡＣの生成や検証などを行う機能を有するソフトウェアである。
【００８２】
またＤＥＶ乱数２２３は、出金額信用情報２２５の生成の際に用いられる乱数であり、紙幣処理部暗号処理部１８２内で生成される。出金額２２４は、ＡＴＭ制御部１１２から送信される紙幣出金コマンドに含まれる出金額である。すなわち、紙幣出金コマンドには紙幣金種とその金種に対応する紙幣枚数が含まれているので、紙幣金種×その紙幣枚数の累積金額に基づき紙幣処理制御部１８０により出金額２２４が算出されるである。さらに出金額信用情報２２５は、カードリーダ暗号処理部１３２（図１１）で生成されて送信されてくるデータであり、紙幣処理部１１３が出金してよい紙幣の金額情報を含む電子署名データやＭＡＣである。本データは図８の出金額信用情報１２０及び図１１の出金額信用情報１７５と同一のデータである。
【００８３】
次に、図１５を用いて、本実施の形態の自動取引システム１１０におけるＡＴＭ出金取引処理の流れについて説明する。
【００８４】
なお図１５では、図５のステップＳ１〜１２までの処理に続く処理であり、発明の特徴を明確にするため図５のステップＳ１〜１２までの処理を割愛しており、それ以降の処理の流れを示している。ここでの前提として、カードリーダ暗号処理部１３２（図１１）と紙幣処理部暗号処理部１８２（図１４）との間の信用情報のやり取りに必要な暗号鍵の共有やセッション生成は既に完了しているとする。また、図５のステップＳ３においてＡＴＭ制御部１１２からのＡＴＣ乱数６１及び取引データ６２がカードリーダ１１４を経由してＩＣカード２１に送信される際に、当該カードリーダ１のカードリーダ制御部１３０（図１０）が取引データ６２に含まれる出金額を抽出して全体制御用バッファ１５３（図１０）に保存しておくことも合わせて前提とする。なお、取引データ６２に含まれる出金額は、利用者の入力した出金額をＡＴＭ制御部１１２にて記憶していたものである。
【００８５】
まずＡＴＭ制御部１１２は、紙幣処理部１１３に対してＤＥＶ乱数生成の要求を送信する（Ｓ７０）。そして紙幣処理部１１３は、かかる要求を受信すると、紙幣処理部暗号処理部１８２（図１４）にてＤＥＶ乱数を生成し（Ｓ７１）、生成したＤＥＶ乱数をＡＴＭ制御部１１２に送信する（Ｓ７２）。
【００８６】
ＡＴＭ制御部１１２は、かかるＤＥＶ乱数を受信すると（Ｓ７３）、勘定系ホストコンピュータ３から送信されてきたＡＲＰＣ、検証に必要な取引可否データと、このとき受信したＤＥＶ乱数とをカードリーダ制御部１３０に送信する（Ｓ７４）。なお、図を簡素化するため、図１５のステップＳ７４〜ステップＳ７７では、取引可否データの記載を省略する。
【００８７】
カードリーダ制御部１３０は、かかるＡＲＰＣ、取引可否データ及びＤＥＶ乱数を受信すると（Ｓ７５）、ＡＲＰＣ、取引可否データをＩＣカード２１に送信すると共に（Ｓ７６）、ＤＥＶ乱数を全体制御用バッファ１５３（図１０）に一時保存する。またＩＣカード２１は、かかるＡＲＰＣ、取引可否データを受信すると、このＡＲＰＣの内容に基づき、取引可否データの正当性を検証し（Ｓ７７）、ＡＲＰＣ検証結果（ＡＲＣ）をＡＴＭ制御部１１２に送信する（Ｓ７８）。
【００８８】
ＡＴＭ制御部１１２は、ＩＣカード２１からのＡＲＰＣ検証結果を受信すると（Ｓ７９）、当該ＡＲＰＣ検証結果の内容を確認し、その内容が取引承認である場合は、新たに取引データを生成してＩＣカード２１に送信する（Ｓ８０）。そしてＩＣカード２１は、この取引データを受信すると（Ｓ８１）、取引を成立させてよい場合には「ＴＣ」を、取引拒絶の場合には「ＡＡＣ」を取引検証結果として生成し、生成した取引検証結果をカードリーダ制御部１３０に送信する（Ｓ８２）。
【００８９】
カードリーダ制御部１３０は、ＩＣカード２１から送信されてきた上述の取引検証結果として「ＴＣ」を受信すると（Ｓ８３）、全体制御用バッファ１５３（図１０）に保存されている出金額と、ステップＳ７５で受信したＤＥＶ乱数とをカードリーダ暗号処理部１３２に送信する（Ｓ８４）。なお、このとき全体制御用バッファ１５３（図１０）に保存されていた出金額は、図５のステップＳ３でＡＴＭ制御部１１２からＩＣカード２１に送信された取引データ６２をカードリーダ１３が仲介する際、上述のようにカードリーダ１３のカードリーダ制御部１３０が当該取引データ６２から抽出して全体制御用バッファ１５３に格納しておいたものである。あるいは、全体制御用バッファ１５３ではなく、予めカードリーダ暗号処理部のデータ領域１７４に格納しておいてもよい。
【００９０】
そしてカードリーダ暗号処理部１３２は、これら出金額及びＤＥＶ乱数を受信すると（Ｓ８５Ａ）、ＤＥＶ乱数をＤＥＶ乱数１７３（図１１）としてメモリ１６１（図１１）に格納すると共に、出金額を出金額１７４（図１１）としてメモリ１６１に格納し、この後、これらＤＥＶ乱数及び出金額と、紙幣処理部暗号処理部１８２（図１４）との間で共有されている暗号鍵とを用いて出金額信用情報を生成し（Ｓ８５Ｂ）、生成した出金額信用情報をカードリーダ制御部１３０に送信する（Ｓ８６）。
【００９１】
またカードリーダ制御部１３０は、この出金額信用情報を受信すると（Ｓ８７）、取引検証結果及び出金額信用情報をＡＴＭ制御部１１２に送信する（Ｓ８８）。
【００９２】
ＡＴＭ制御部１１２は、この取引検証結果と出金額信用情報を受信すると（Ｓ８９）、図５のステップＳ２２と同様にして紙幣出金コマンドを生成し（Ｓ９０）、生成した紙幣出金コマンドを出金額信用情報と共に紙幣処理部１１３に送信する（Ｓ９１）。
【００９３】
そして紙幣処理部１１３は、かかる紙幣出金コマンド及び出金額信用情報を受信すると、紙幣出金コマンドに含まれる紙幣金種と枚数の情報を取り出し、出金紙幣の合計金額である出金額を紙幣処理部制御部１８０（図１３）の全体制御ファームウェア２００（図１３）により計算する。そして、ステップＳ９１でＡＴＭ制御部１１２から送信された出金額信用情報と、上述のようにして計算した出金額とを紙幣処理部暗号処理部１８２（図１４）に送信して、これらを出金額２２４（図１４）及び出金額信用情報２２５（図１４）としてメモリ２１１（図１４）に格納する（Ｓ９２）。
【００９４】
紙幣処理部暗号処理部１８２は、その後、紙幣処理部暗号処理部１８２のメモリ２１１に格納した出金額２２４及び出金額信用情報２２５間に矛盾がないか否かをメモリ２１１（図１４）に格納されているＤＥＶ乱数２２３（図１４）を用いて検証する（Ｓ９３）。例えば、出金額信用情報がメッセージ認証コード、あるいは、電子署名の形で実現されている場合は次の手順で検証を行う。まず、ＤＥＶ乱数２２３と出金額２２４を連結して、その連結データのハッシュ値を計算する。一方、カードリーダ暗号処理部１３２との間で共有されている暗号鍵を用いて出金額信用情報を復号する。その復号されたデータと前記のハッシュ値が一致すれば検証成功と判断し、一致しない場合は検証失敗と判断する。そして紙幣処理部１１３は、検証が成功した場合には、紙幣処理部制御部１８０（図１３）の紙幣搬送機構制御ファームウェア２０１（図１３）により紙幣出金コマンドに含まれた金種と枚数の紙幣を出金する（Ｓ９４）。
【００９５】
（１−３）第１の実施の形態の効果
以上のように本実施の形態の自動取引システム１１０では、紙幣処理部１１３が、カードリーダ１１４からＡＴＭ制御部１１２を介して与えられた出金額信用情報に基づく出金額と、ＡＴＭ制御部１１２から与えられた紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく出金額とを比較し、これらに矛盾がない場合に紙幣出金コマンドに基づいて出金処理を実行する。
【００９６】
従って、本自動取引システム１１０によれば、ＡＴＭ制御部１１２のＡＴＭアプリケーション４０（図８）がマルウェアに犯されて、ＡＴＭ制御部１１２から取引の裏付けのない不正な紙幣出金コマンが紙幣処理部１１３に送信されたとしても、当該紙幣出金コマンドに含まれる紙幣金種及びその枚数が取引の裏付けデータである出金信用情報と矛盾する内容となるため（つまり紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく合計金額と、出金信用情報に基づく出金額とが一致しない）、紙幣処理部１１３が当該紙幣出金コマンドに基づく出金処理を行わない。
【００９７】
よって本実施の形態によれば、図８のＡＴＭアプリケーション４０や、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア１２６などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。
【００９８】
（２）第２の実施の形態
図７において、２３０は第２の実施の形態による自動取引システムを示す。この自動取引システム２３０は、出金取引処理時におけるＡＴＭ２３１のＡＴＭ制御部２３２の処理内容が異なる点を除いて概ね第１の実施の形態による自動取引システム１と同様に構成されている。
【００９９】
実際上、本実施の形態による自動取引システム２３０では、出金取引処理時、カードリーダ２３３のカードリーダ暗号処理部２４０（図９）で生成された出金額信用情報を紙幣処理部２３４（図７）に直接送信するのではなく、暗号化ピンパッド２３５（図７）経由で紙幣処理部２３４に送信する。つまり本自動取引システム２３０では、カードリーダ２３３のカードリーダ暗号処理部２４０と暗号化ピンパッド２３５との間で暗号鍵共有やセッションを生成すると共に、暗号化ピンパッド２３５と紙幣処理部２３４、具体的には紙幣処理部暗号処理部１８２（図１４）との間でも別の暗号鍵共有やセッションを生成する。
【０１００】
このように、暗号化ピンパッド２３５を途中に経由させることにより、暗号化ピンパッド２３５に元々実装されている暗号機能を利用し、デバイス間通信の暗号化や、ＡＴＭ２３１と勘定系ホストコンピュータ３の間の電文を暗号で保護することが可能となる。
【０１０１】
本実施の形態による自動取引システム２３０では、出金取引処理時における図１５の１５−Ａ及び１５−Ｃの領域で示される処理の内容は第１の実施の形態と同じなので、第１の実施の形態と異なる図１５の１５−Ｂに相当する処理の流れのみを図１６に示す。
【０１０２】
この場合、ＡＴＭ制御部２３２は、紙幣処理部２３４からのＤＥＶ乱数を受信すると（図１５のＳ７３）、ＥＰＰ（Encrypting Pin Pad）乱数生成の要求を暗号化ピンパッド２３５に送信する（Ｓ１００）。また暗号化ピンパッド２３５は、この要求を受信すると、その内部でＥＰＰ乱数を生成し（Ｓ１０１）、生成したＥＰＰ乱数をＡＴＭ制御部２３２に送信する（Ｓ１０２）。
【０１０３】
ＡＴＭ制御部２３２は、このＥＰＰ乱数を受信すると（Ｓ１０３）、勘定系ホストコンピュータ３から送信されてきたＡＲＰＣ、検証に必要な取引可否データ、ステップＳ１０３で受信したＥＰＰ乱数とを合わせてカードリーダ制御部２４１に送信する（Ｓ１０４）。なお、図を簡素化するため、図１６のステップＳ１０４〜Ｓ１０７では取引可否データの記載を省略する。
【０１０４】
またカードリーダ制御部２４１は、これらＡＲＰＣ、取引可否データ及びＥＰＰ乱数を受信すると（Ｓ１０５）、受信したＡＲＰＣ、取引可否データをＩＣカード２１に送信する（Ｓ１０６）。そしてＩＣカード２１は、かかるＡＲＰＣ、取引可否データを受信すると、ＡＲＰＣの内容に基づき取引可否データの正当性を検証し（Ｓ１０７）、ＡＲＰＣ検証結果をＡＴＭ制御部２３２に送信する（Ｓ１０８）。
【０１０５】
ＡＴＭ制御部２３２は、このＡＲＰＣ検証結果を受信すると（Ｓ１０９）、当該ＡＲＰＣ検証結果の内容を確認し、その内容が取引承認である場合は、新たにＩＣカード２１の要求に合う取引データを生成してＩＣカード２１に送信する（Ｓ１１０）。そしてＩＣカード２１は、この取引データを受信すると（Ｓ１１１）、その取引を成立させてもよい場合には「ＴＣ」を、取引拒絶の場合には「ＡＡＣ」を内容とする取引検証結果を生成し、生成した取引検証結果をカードリーダ制御部２４１に送信する（Ｓ１１２）。
【０１０６】
カードリーダ制御部２４１は、かかる取引検証結果を受信すると（Ｓ１１３）、全体制御用バッファ１５３（図１０）に保存されている出金額と、ステップＳ１０５で受信したＥＰＰ乱数とをカードリーダ暗号処理部２４０に送信する（Ｓ１１４）。なお、このとき全体制御用バッファ１５３（図１０）に保存されていた出金額は、図５のステップＳ３でＡＴＭ制御部２３２からＩＣカード２１に送信された取引データ６２をカードリーダ２３３が仲介する際、上述のようにカードリーダ２３３のカードリーダ制御部２４１が当該取引データ６２から抽出して全体制御用バッファ１５３に格納しておいたものである。
【０１０７】
そしてカードリーダ暗号処理部２４０は、これら出金額及びＥＰＰ乱数を受信すると（Ｓ１１５Ａ）、このＥＰＰ乱数と、暗号化ピンパッド２３５との間で共有されている暗号鍵とを用いて、ＥＰＰ出金額信用情報を生成し（Ｓ１１５Ｂ）、生成したＥＰＰ出金額信用情報をカードリーダ制御部２４１に送信する（Ｓ１１６）。
【０１０８】
カードリーダ制御部２４１は、このＥＰＰ出金額信用情報を受信すると（Ｓ１１７）、取引検証結果、出金額及びＥＰＰ出金額信用情報をＡＴＭ制御部２３２に送信する（Ｓ１１８）。またＡＴＭ制御部２３２は、これら取引検証結果、出金額及びＥＰＰ出金額信用情報を受信すると（Ｓ１１９）、ＤＥＶ乱数と共に出金額及びＥＰＰ出金額信用情報を暗号化ピンパッド２３５に送信する（Ｓ１２０）。
【０１０９】
暗号化ピンパッド２３５は、ＡＴＭ制御部２３２からのＤＥＶ乱数、出金額及びＥＰＰ出金額信用情報を受信すると（Ｓ１２１）、Ｓ９３と同様な処理により、出金額、ＥＰＰ出金額信用情報を検証する（Ｓ１２２）。そして暗号化ピンパッド２３５は、この検証の検証結果が正しいときには、ＤＥＶ乱数及び出金額と、紙幣処理部２３４との間で共有されている暗号鍵とを用いて、出金額信用情報を生成し（Ｓ１２３）、生成した出金額信用情報をＡＴＭ制御部２３２に送信する（Ｓ１２４）。
【０１１０】
かくしてＡＴＭ制御部２３２がこの出金額信用情報を受信すると（Ｓ１２５）、この後、図１５について上述した第１の実施の形態のステップＳ９０以降の処理が実行され、これにより紙幣処理部２３４から必要な額の紙幣が出金される。
【０１１１】
以上のように本実施の形態の自動取引システム２３０では、カードリーダ２３３のカードリーダ暗号処理部２４０で生成された出金額信用情報を暗号化ピンパッド２３５経由で紙幣処理部２３４に送信し、紙幣処理部２３４が、この出金額信用情報に基づく出金額と、ＡＴＭ制御部２３２から与えられた紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく出金額とを比較し、これらに矛盾がない（一致する）場合に紙幣出金コマンドに基づいて出金処理を実行する。
【０１１２】
従って、本自動取引システム２３０によれば、第１の実施の形態と同様に、ＡＴＭ制御部２３２のＡＴＭアプリケーション４０（図８）がマルウェアに犯されて、ＡＴＭ制御部２３２から取引の裏付けの無い不正な紙幣出金コマンドが紙幣処理部２３４に送信されたとしても、当該紙幣出金コマンドに含まれる紙幣金種及びその枚数が取引の裏付けデータである出金信用情報と矛盾する内容となるため、紙幣処理部２３４が当該紙幣出金コマンドに基づく出金処理が行われない。
【０１１３】
よって本実施の形態によれば、第１の実施の形態と同様に、図８のＡＴＭアプリケーション４０や、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア１２６などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１１４】
（３）第３の実施の形態
次に、図１７〜図２１Ｂを用いて第３の実施の形態について説明する。図１との対応部分に同一符号を付して示す図１７は、第３の実施の形態による自動取引システム２５０を示す。この自動取引システム２５０は、勘定系ホストコンピュータ２５１及び取引信用情報生成サーバ２５２がネットワーク２５３を介して接続されると共に、取引信用情報生成サーバ２５２がネットワーク４を介して１又は複数のＡＴＭ２５４と接続されて構成される。また、取引信用情報生成サーバ２５２は、ＡＴＭの上位装置又はＡＴＭの外部にある外部コンピュータと呼ぶこともある。
【０１１５】
ここで、本実施の形態の自動取引システム２５０では、カード媒体としてＩＣカード２１ではなく磁気カード２５５を用いる点が第１及び第２の実施の形態の自動取引システム１１０，２３０と大きく相違する。磁気カード２５５は、磁気ストライプに顧客の口座番号を特定する情報などを有する。
【０１１６】
このため本実施の形態の自動取引システム２５０では、ＩＣカード２１が従来処理していた取引データに対するＡＲＱＣの生成やＡＲＰＣの検証をカードリーダ２６２のカードリーダ暗号処理部２９２（図２０）が行う。また本自動取引システム２５０では、第１及び第２の実施の形態の自動取引システム１，２３０の勘定系ホストコンピュータ３が処理していたＡＲＱＣの検証やＡＲＰＣの生成を取引信用情報生成サーバ２５２が行う。本実施の形態の勘定系ホストコンピュータ２５１は、ＩＣカード２１との間の電子署名のやり取りはできないので、取引データ及び取引可否データのみを取り扱うことを想定する。
【０１１７】
なお以下においては、第１の実施の形態と同様に、磁気カード２５５のカード番号の取得や本人確認のために必要な暗証番号の検証は既に完了しているものとする。また取引信用情報生成サーバ２５２及びカードリーダ２６２のカードリーダ暗号処理部２９２（図２０）間と、カードリーダ暗号処理部２９２及び紙幣処理部２６１（図１７）の紙幣処理部暗号処理部１８２（図１４）間とで、電子署名や信用データのやり取りに必要な暗号鍵の共有やセッション生成は既に完了しているものとする。さらに磁気カード２５５のカード番号はカードリーダ暗号処理部２９２（図２０）に既に格納されているとする。
【０１１８】
図１８は、取引信用情報生成サーバ２５２の構成を示す。取引信用情報生成サーバ２５２は、当該取引信用情報生成サーバ２５２全体の動作制御を司るＣＰＵ２７０と、例えば半導体メモリなどから構成されるメモリ２７１となどの情報処理資源を備えて構成される。
【０１１９】
この場合、メモリ２７１の記憶領域は、プログラム領域２７２及びデータ領域２７３に区分されて管理されており、プログラム領域２７２には、アプリケーション２８０及び通信制御ファームウェア２８１が格納され、データ領域２７３には、取引データ２８２、ＡＲＱＣ２８３、取引可否データ２８４及びＡＲＰＣ２８５が格納される。
【０１２０】
アプリケーション２８０は、取引信用情報生成サーバ２５２の全体制御を行う機能を有するソフトウェアであり、通信制御ソフトウェア２８１は、勘定系ホストコンピュータ２５１（図１７）やＡＴＭ２５４（図１７）との間の通信制御を行う機能を有するソフトウェアである。なお取引データ２８２、ＡＲＱＣ２８３、取引可否データ２８４及びＡＲＰＣ２８５は、図３について上述した第１実施の形態の勘定系ホストコンピュータ３のメモリ７１に格納される取引データ８３、ＡＲＱＣ８４、取引可否データ８５及びＡＲＰＣ８６と同じものであるため、ここでの説明は省略する。
【０１２１】
また図１９は、本実施の形態のカードリーダ２６２の構成を示す。このカードリーダ２６２は、カードリーダ制御部２９０、カード搬送・読取部２９１及びカードリーダ暗号処理部２９２を備えて構成される。カードリーダ制御部２９０及びカード搬送・読取部２９１は、図９について上述した第１の実施の形態によるカードリーダ１１４のカードリーダ制御部１３０及びカード搬送・読取部１３１とほぼ同様の構成を有するものであるため、ここでの説明は省略する。
【０１２２】
図１１との対応部分に同一符号を付した図２０は、本実施の形態によるカードリーダ暗号処理部２９２のハードウェア構成及び出金取引時のデータ構成を示す。この図２０からも明らかなように、本実施の形態のカードリーダ暗号処理部２９２では、メモリ１６１のデータ領域１６３にＤＥＶ乱数１７３、出金額１７４及び出金額信用情報１７５に加えて、ＡＴＣ乱数３０１、取引データ３０２、ＡＲＰＣ３０３、取引可否データ３０４、ＡＲＰＣ３０５、ＡＲＰＣ検証結果３０６及び取引検証結果３０７が格納される。
【０１２３】
なお、これらＡＴＣ乱数３０１、取引データ３０２、ＡＲＰＣ３０３、取引可否データ３０４、ＡＲＰＣ３０５、ＡＲＰＣ検証結果３０６及び取引検証結果３０７は、第１の実施の形態においてはＩＣカード２１が保持する図４について上述したＡＴＣ乱数１０３、取引データ１０４、ＡＲＰＣ１０５、取引可否データ１０６、ＡＲＰＣ１０７、ＡＲＰＣ検証結果１０８及び取引検証結果１０９と同様のものであるため、ここでの説明は省略する。
【０１２４】
図２１Ａ及び図２１Ｂは、本実施の形態による自動取引システム２５０における取引処理の流れを示す。ステップＳ１３０〜ステップＳ１３６の処理は、図５のステップＳ１〜ステップＳ７の処理と同様であるため、ここでの説明は省略する。ただし、図５ではＩＣカード２１がステップＳ４〜ステップＳ６の処理を行っていたが、図２１Ａ及び図２１Ｂではカードリーダ暗号処理部２９２がその処理を行う点が相違する。
【０１２５】
そして本自動取引システム２５０では、ステップＳ１３６の処理完了後、ＡＴＭ制御部２６０が取引データ及びＡＲＱＣを取引信用情報生成サーバ２５２に送信する（Ｓ１３７）。
【０１２６】
取引信用情報生成サーバ２５２は、これら取引データ及びＡＲＱＣを受信すると（Ｓ１３８）、受信したＡＲＱＣを検証する（Ｓ１３９）。そして取引信用情報生成サーバ２５２は、かかる検証の結果、正しいという検証結果を得た場合には、取引データを勘定系ホストコンピュータ２５１に送信する（Ｓ１４０）。
【０１２７】
そして勘定系ホストコンピュータ２５１は、この取引データを受信すると、従来の磁気カード２５５の取引と同様に、利用者の口座残高や与信情報を確認し、出金取引を行ってもよいか否かを検証した上で（Ｓ１４１）、取引可否データを取引信用情報生成サーバ２５２に送信する（Ｓ１４２）。
【０１２８】
取引信用情報生成サーバ２５２は、かかる取引可否データを受信すると（Ｓ１４３）、それに対応するＡＲＰＣを生成し（Ｓ１４４）、生成したＡＲＰＣを取引可否データと共にＡＴＭ２５４（図１７）に送信する（Ｓ１４５）。
【０１２９】
ＡＴＭ２５４のＡＴＭ制御部２６０は、このＡＲＰＣ及び取引可否データを受信すると（Ｓ１４６）、紙幣処理部２６１と協働してステップＳ１４７〜ステップＳ１６０の処理を、図１５について上述した第１の実施の形態のステップＳ７０〜ステップＳ８３と同様に処理する。ただし、図１５ではＩＣカード２１がステップＳ７７、ステップＳ７８、ステップＳ８１及びステップＳ８２の処理を行っていたのに対し、図２１Ａ及び図２１Ｂでは、カードリーダ暗号処理部２９２が、対応するステップＳ１５４、ステップＳ１５５、ステップＳ１５８及びステップＳ１５９の処理を行う。ステップＳ１６１〜ステップＳ１７１の処理は、図１５のステップＳ８４〜ステップＳ９４と同様の処理を行う。なお、図１５と同様、図２１ＡのステップＳ１５１〜ステップＳ１５４では取引可否データの記載を省略している。
【０１３０】
以上のように本実施の形態の自動取引システム２５０では、紙幣処理部２６１が、カードリーダ２６２からＡＴＭ制御部２６０を介して与えられた出金額信用情報に基づく出金額と、ＡＴＭ制御部２６０から与えられた紙幣出金コマンドに含まれる紙幣金種及びその枚数とを比較し、これらに矛盾がない場合に紙幣出金コマンドに基づいて出金処理を実行する。
【０１３１】
従って、本自動取引システム２５０によれば、第１の実施の形態と同様に、ＡＴＭ制御部２６０のＡＴＭアプリケーション４０（図８）がマルウェアに犯されて、ＡＴＭ制御部２６０から取引の裏付けの無い不正な紙幣出金コマンドが紙幣処理部２６１に送信されたとしても、当該紙幣出金コマンドに含まれる紙幣金種及びその枚数に基づく出金額が取引の裏付けデータである出金信用情報に基づく出金額と矛盾する（不一致）内容となるため、紙幣処理部２６１が当該紙幣出金コマンドに基づく出金処理を行わない。
【０１３２】
よって本実施の形態によれば、第１の実施の形態と同様に、図８のＡＴＭアプリケーション４０や、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア１２６などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１３３】
（４）第４の実施の形態
次に、図７〜図１４及び図２２〜図２４Ｂを用いて第４の実施の形態について説明する。本実施の形態は、第１の実施の形態の自動取引システム１１０におけるＡＴＭ入金取引処理に関する実施形態である。
【０１３４】
本実施の形態では、図８について上述したＡＴＭ制御部１１２のデータ領域３３に格納された各種データのうち、カード番号６０、ＡＴＣ乱数６１、取引データ６２、ＡＲＱＣ６３、取引可否データ６４、ＡＲＰＣ６５、ＡＲＰＣ検証結果６６、取引検証結果６７、紙幣処理部制御データ６８及び入金計数金額６９と、入金計数金額信用情報１２３及び第１のＣＲ乱数１２４とを用いる。
【０１３５】
入金計数金額信用情報１２３は、入金計数金額６９に対する信用情報であり、紙幣処理部１１３で第１のＣＲ乱数１２４を用いて生成される。入金計数金額信用情報１２３は、入金計数情報又は取引データよりもセキュリティの高い情報である。第１のＣＲ乱数１２４は、カードリーダ１１４のカードリーダ暗号処理部１３２（図１１）で生成される乱数であり、紙幣処理部１１３（図７）で入金計数金額信用情報１２３を生成する際に用いられる。この乱数も他の乱数と同様に信用情報のリプレイ攻撃を防止するために使用される。
【０１３６】
本実施の形態の場合、図１１について上述したカードリーダ暗号処理部１３２のデータ構成が図２２のようになる。カード番号３１０は、ＩＣカード２１に格納されているカード番号であり、ＩＣカード２１からカードリーダ制御部１３０（図１０）経由で送られてくるデータである。第１のＣＲ乱数３１１は、カードリーダ暗号処理部１３２で生成される乱数であり、紙幣処理部１１３で入金計数金額信用情報３１２を生成する際に用いられる。この乱数も他の乱数と同様に信用情報のリプレイ攻撃を防止するために使用される。入金計数金額信用情報３１２は、取引データ内入金額３１４に対する信用情報であり、紙幣処理部１１３で入金された紙幣の計数時に第１のＣＲ乱数３１１を用いて生成される。
【０１３７】
取引データ内入金先カード番号３１３は、ＡＴＭ制御部１１２（図８）で生成される取引データに含まれるカード番号である。取引データの改ざんがなければ、ＩＣカード２１に格納されているカード番号と一致する。取引データ内入金額３１４は、紙幣処理部１１３で計数された入金紙幣の合計金額である。取引データ内カード番号、入金額検証結果３１５は、取引データ内のカード番号及び入金金額を、それぞれカード番号３１０及び入金計数金額信用情報３１２を用いて、データの改ざんがないか検証した結果である。
【０１３８】
また本実施の形態の場合、図１４について上述した紙幣処理部暗号処理部１８２のデータ構成が図２３のようになる。第１のＣＲ乱数３２０は、図２２について上述した第１のＣＲ乱数３１１と同じデータであり、カードリーダ暗号処理部１３２で生成され、紙幣処理部１１３で入金計数金額信用情報３２２を生成する際に用いられる。入金計数金額３２１は、紙幣処理部１１３で計数された入金紙幣の合計金額であり、取引データの改ざんが無ければ、図２２について上述した取引データ内入金額３１４と同じデータである。入金計数金額信用情報３２２は、入金計数金額３２１に対する信用情報であり、第１のＣＲ乱数３２０及び入金計数金額３２１と、カードリーダ暗号処理部１３２（図１１）との間で共有されている暗号鍵などを用いて生成される。入金計数金額信用情報３２２は、入金計数金額信用情報３１２と同じデータである。入金計数金額信用情報３３２及び入金計数金額信用情報３１２は、入金計数情報又は取引データよりもセキュリティの高い情報である。
【０１３９】
次に、自動取引システム１１０において実行されるＡＴＭ入金取引処理の流れを図２４Ａ及び図２４Ｂを用いて説明する。ここでは、カードリーダ暗号処理部１３２（図１１）と紙幣処理部暗号処理部１８２（図１４）との間で信用情報生成に必要な暗号鍵共有やセッション生成は予め完了していることを前提とする。また、図６Ａ及び図６Ｂについて上述した従来のＡＴＭ入金取引処理との違いは図６Ａの６−Ａの部分（ステップＳ３０〜ステップＳ４１）のみであり、図６Ａ及び図６Ｂにおける６−Ｂの部分（ステップＳ４３〜ステップＳ６４）の処理は共通なので、ここでの説明は省略する。
【０１４０】
まずカードリーダ制御部１３０は、ＩＣカード２１からカード番号が送信されると（Ｓ１８０）、それを受信し（Ｓ１８１）、受信したカード番号をカードリーダ暗号処理部１３２（図１１）に送信する（Ｓ１８２）。カードリーダ暗号処理部１３２は、受信したカード番号をカード番号３１０（図２２）としてメモリ１６１（図１１）に格納する（Ｓ１８３）。その後、カードリーダ制御部１３０（図１０）は、カード番号をＡＴＭ制御部１１２（図８）に送信し（Ｓ１８４）、ＡＴＭ制御部１１２は受信したカード番号をカード番号６０（図８）としてメモリ３１（図８）に格納する（Ｓ１８５）。
【０１４１】
この後、ＡＴＭ制御部１１２は、カードリーダ暗号処理部１３２（図１１）に第１のＣＲ乱数の生成を要求する（Ｓ１８６）。そしてカードリーダ暗号処理部１３２は、かかる要求に応じて第１のＣＲ乱数を生成し（Ｓ１８７）、生成した第１のＣＲ乱数をＡＴＭ制御部１１２に送信する（Ｓ１８８）。
【０１４２】
ＡＴＭ制御部１１２は、かかる第１のＣＲ乱数を受信すると（Ｓ１８９）、紙幣処理部１１３（図１２）に対して入金計数コマンドと、そのとき受信した第１のＣＲ乱数とを送信する（Ｓ１９０）。
【０１４３】
紙幣処理部１１３は、かかる入金計数コマンド及び第１のＣＲ乱数を受信すると（Ｓ１９１）、ＡＴＭ１１１の入出金口に投入された入金紙幣を計数し（Ｓ１９２Ａ）、入金計数金額に対して第１のＣＲ乱数を用いて、紙幣処理部暗号処理部１８２にて入金計数金額信用情報を生成し（Ｓ１９２Ｂ）、生成した入金計数金額信用情報を入金計数金額と共にＡＴＭ制御部１１２に送信する（Ｓ１９３）。
【０１４４】
そしてＡＴＭ制御部１１２は、かかる入金計数金額信用情報及び入金計数金額を受信すると（Ｓ１９４）、図６ＡのステップＳ３９及びステップＳ４０と同様にして、ＡＴＣ乱数と、入金計数金額を含む取引データとを生成する（Ｓ１９５，Ｓ１９６）。その後、ＡＴＭ制御部１１２は、生成したこれら取引データ及びＡＴＣ乱数と、入金計数金額信用情報とをカードリーダ制御部１３０に送信する（Ｓ１９７）。
【０１４５】
カードリーダ制御部１３０は、これら取引データ、ＡＴＣ乱数及び入金計数金額信用情報を受信すると（Ｓ１９８）、取引データからそれに含まれるカード番号と入金額（入金計数金額に等しい）とを取り出して、入金計数金額信用情報と共にカードリーダ暗号処理部１３２に送信する（Ｓ１９９）。
【０１４６】
またカードリーダ暗号処理部１３２は、これらカード番号、入金額及び入金計数金額信用情報を受信すると（Ｓ２００）、ステップＳ１８３でメモリ１６１（図１１）に格納したカード番号３１０（図２２）と、そのとき受信したカード番号とが一致するか否か、及び、そのとき受信した入金額と、入金計数金額信用情報に基づく入金額とが一致するか否かを検証して検証結果を取引データ内カード番号、入金額検証結果３１５としてメモリ１６１（図１１）に格納する（Ｓ２０１）。そしてカードリーダ暗号処理部１３２は、この後、かかる検証結果をカードリーダ制御部１３０に送信する（Ｓ２０２）。
【０１４７】
カードリーダ制御部１３０は、この検証結果を受信すると（Ｓ２０３）、受信した検証結果に基づいてステップＳ２０４の処理を行うか否か判断する。そしてカードリーダ制御部１３０は、検証結果としてカード番号及び入金額が共に矛盾がない（取引データ内のカード番号及び入金額が共にそれぞれの信用情報が想定する値と一致する）ときにのみ、受信した取引データ及びＡＴＣ乱数をＩＣカード２１に送信する（Ｓ２０４）。
【０１４８】
かくしてＩＣカード２１がこれら取引データ及びＡＴＣ乱数を受信すると（Ｓ２０５）、この後、図６Ａ及び図６Ｂについて上述したステップＳ４３以降の処理が実行される。
【０１４９】
なお、ステップＳ２０３においてカード番号及び入金額の少なくとも一方が矛盾する（カード番号及び入金額の少なくとも一方が一致しない）ときには、カードリーダ制御部１３０がその旨をＡＴＭ制御部１１２に通知し、ＡＴＭ制御部１１２が警告等を表示部１９に表示させるようにしてもよい。
【０１５０】
以上のように本実施の形態の自動取引システム１１０では、紙幣処理部１１３で計数された紙幣金額以上の入金額をＡＴＭ制御部１１２で生成して、カードリーダ制御部１３０に送信したとしても、取引データ中の入金額と入金計数金額信用情報に矛盾が生じするので、入金取引に必要なＩＣカード２１でのＡＲＱＣ生成が行われない。結果として、不正な入金額を用いて勘定系ホストコンピュータ３との間で入金取引を行うことはない。
【０１５１】
加えて、本自動取引システム１１０では、正当な口座以外の口座に入金しようとして、ＡＴＭ制御部１１２で不正なカード番号を含む取引データをカードリーダ制御部１３０に送信したとしても、カードリーダ１１４はＩＣカード２１から読み取ったカード番号を保存しており、それと照合することが可能である。そのため、正当な口座以外の口座に入金するためのＡＲＱＣ生成を防止することができ、当該口座以外の口座への不正入金が防止される。
【０１５２】
よって本実施の形態によれば、図８のＡＴＭアプリケーション４０や、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア１２６などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。
【０１５３】
（５）第５の実施の形態
図７〜図１４及び図２５〜図２７Ｂを用いて第５の実施の形態について説明する。本実施の形態は、第１の実施の形態の自動取引システム１１０において、入金先の口座番号をＩＣカード２１から取得するのではなく、暗号化ピンパッド３２５（図７）を用いて入力する場合を想定する。すなわち、紙幣をＡＴＭ１１１に投入して他の口座に送金する場合を想定する、ＡＴＭ入金取引処理に関する実施形態である。
【０１５４】
本実施の形態では、図８について上述したＡＴＭ制御部１１２のデータ領域３３に格納された各種データのうち、カード番号６０、ＡＴＣ乱数６１、取引データ６２、ＡＲＱＣ６３、取引可否データ６４、ＡＲＰＣ６５、ＡＲＰＣ検証結果６６、取引検証結果６７、紙幣処理部制御データ６８及び入金額６９と、入金計数金額信用情報１２３、第１のＣＲ乱数１２４及び第２のＣＲ乱数１２５とを用いる。
【０１５５】
本実施の形態の場合、図１１について上述したカードリーダ暗号処理部１３２のデータ構成が図２５のようになる。第１のＣＲ乱数は紙幣処理部１１３で入金計数金額信用情報３３３を生成する際に用いられ、第２のＣＲ乱数は暗号化ピンパッド１１５で送金先カード番号信用情報３３２を生成する際に用いられる。これらの乱数も他の乱数と同様に信用情報のリプレイ攻撃を防止するために使用される。
【０１５６】
送金先カード番号信用情報３３２は、暗号化ピンパッド３２５を操作して入力された送金先カード番号が改ざんされてないことを、カードリーダ１１４（図９）のカードリーダ暗号処理部１３２（図１１）が検証するために用いられる。送金先カード番号信用情報３３２は、第２のＣＲ乱数３３１と、暗号化ピンパッド３２５を介して入力された送金先カード番号とを用いて生成され、暗号化ピンパッド３２５よりデータが送られてくる。送信先カード番号信用情報３３２は、送信先カード番号又は取引データよりもセキュリティを高めた情報である。入金計数金額信用情報３３３は、紙幣処理部１１３（図７）で計数された入金紙幣の合計金額である入金計数金額に対する信用情報であり、紙幣処理部１１３で第１のＣＲ乱数３３０を用いて生成される。入金計数金額信用情報３３３は、入金計数金額又は取引データよりもセリティを高めた情報である。
【０１５７】
取引データ内送金先カード番号３３４は、ＡＴＭ制御部１１２（図７）で生成される取引データに含まれる送金先カード番号である。取引データ内入金額３３５は、取引データ内送金先カード番号３３４と同様に取引データに含まれる入金取引金額である。取引データ内送金先カード番号、入金額検証結果３３６は、取引データ内送金先カード番号３３４と取引データ内入金額３３５とを、それぞれ送金先カード番号信用情報３３２及び入金計数金額信用情報３３３を用いて改ざんされていないかを検証した結果である。
【０１５８】
図２６は、暗号化ピンパッド３２５の概略ハードウェア構成と、送金先カード番号を暗号化ピンパッド３２５で入力する機能に関わる部分のデータ構成を示す。この図２６からも明らかなように、暗号化ピンパッド３２５は、当該暗号化ピンパッド３２５全体の動作制御を司るＣＰＵ３４０と、半導体メモリなどからなるメモリ３４１などの情報処理資源と、テンキーを有するピンパッド部３４２とを備えて構成される。
【０１５９】
この場合、メモリ３４１の記憶領域は、プログラム領域３４３及びデータ領域３４４に区分されて管理されており、プログラム領域３４３には、アプリケーション３５０、通信制御ファームウェア３５１及び暗号処理ファームウェア３５２が格納され、データ領域３４４には、第２のＣＲ乱数３５３、送金先カード番号３５４及び送金先カード番号信用情報３５５が格納される。
【０１６０】
アプリケーション３５０は、暗号化ピンパッド３２５の全体制御を行う機能を有するソフトウェアであり、通信制御ファームウェア３５１はＡＴＭ制御部１１２（図８）との間の通信制御を行う機能を有するソフトウェアである。また暗号処理ファームウェア３５２は、信用情報として電子署名の生成や検証などを行う機能を有するファームウェアである。本暗号処理ファームウェア３５２は暗証番号（ＰＩＮ）を暗号化する暗号化機能と兼用することが可能である。
【０１６１】
また第２のＣＲ乱数３５３は、送金先カード番号信用情報３５５の生成に必要な乱数であり、カードリーダ暗号処理部１３２（図１１）において生成されて送信されてくる。送金先カード番号３５４は、暗号化ピンパッド３２５よりキー入力された送金先のカード番号である。送金先カード番号信用情報３５５は、第２のＣＲ乱数３５３及び送金先カード番号３５４から生成され、カードリーダ制御部１３０（図１０）に送信される取引データ内の送金先カード番号が改ざんされていないかを検証するために用いられる。
【０１６２】
次に、自動取引システム１１０において実行される上述のＡＴＭ入金取引処理の流れについて、図２７Ａ及び図２７Ｂを用いて説明する。ここでは、カードリーダ１１４のカードリーダ暗号処理部１３２（図１１）と、紙幣処理部１１３の紙幣処理部暗号処理部１８２（図１４）との間で、又は、暗号化ピンパッド３２５とカードリーダ暗号処理部１３２との間で、それぞれ信用情報生成に必要な暗号鍵共有やセッション生成は予め完了していることを前提とする。また、図２４ＡにおけるステップＳ１８０〜ステップＳ１８５の処理は本実施の形態と共通なので、説明を省略する。また、図２４Ａと同様に図６Ａ及び図６ＢのステップＳ４３〜ステップＳ６４の処理は本実施の形態と共通なので、合わせて説明を省略する。
【０１６３】
図２４Ａについて上述したステップＳ１８０〜ステップＳ１８５の処理の終了後、ＡＴＭ制御部１１２は、カードリーダ暗号処理部１３２に対して第１のＣＲ乱数及び第２のＣＲ乱数の生成を要求する（Ｓ２１０）。
【０１６４】
カードリーダ暗号処理部１３２は、かかる要求を受信すると、要求された第１のＣＲ乱数及び第２のＣＲ乱数を生成し（Ｓ２１１）、生成したこれらの第１及び第２のＣＲ乱数をＡＴＭ制御部１１２に送信する（Ｓ２１２）。またＡＴＭ制御部１１２は、かかる第１及び第２のＣＲ乱数を受信すると（Ｓ２１３）、カード番号入力コマンド及び第２のＣＲ乱数を暗号化ピンパッド３２５に送信する（Ｓ２１４）。
【０１６５】
暗号化ピンパッド３２５は、これらカード番号入力コマンド及び第２のＣＲ乱数を受信すると、受信した第２のＣＲ乱数を第２のＣＲ乱数３５３（図２６）としてメモリ３４１（図２６）に格納する（Ｓ２１５）。また暗号化ピンパッド３２５は、送金先のカード番号をＡＴＭ１１１の利用者に入力させ、入力された送金先のカード番号を送金先カード番号３５４（図２６）としてメモリ３４１に格納する（Ｓ２１６Ａ）。その後、暗号化ピンパッド３２５は、メモリ３４１に格納されている第２のＣＲ乱数３５３（図２６）と送金先カード番号３５４（図２６）とを用いて、入力された送金先のカード番号に対する信用情報である送金先カード番号信用情報３５５（図２６）を生成し（Ｓ２１６Ｂ）、生成した送金先カード番号信用情報３５５を送金先カード番号３５４と共にＡＴＭ制御部１１２に送信する（Ｓ２１７）。
【０１６６】
ＡＴＭ制御部１１２は、かかる送金先カード番号３５４及び送金先カード番号信用情報３５５を受信すると（Ｓ２１８）、紙幣処理部１１３に対して入金計数コマンドと、ステップＳ２１３で受信した第１のＣＲ乱数とを送信する（Ｓ２１９）。この後、ステップＳ２１９〜ステップＳ２２５が図２４ＡのステップＳ１９０〜ステップＳ１９６と同様に実行される。そして、この後、ＡＴＭ制御部１１２は、取引データ、送金先カード番号信用情報、入金計数金額信用情報、及び、ＡＴＣ乱数をカードリーダ制御部１３０に送信する（Ｓ２２６）。
【０１６７】
カードリーダ制御部１３０は、これら取引データ、送金先カード番号信用情報、入金計数金額信用情報、及び、ＡＴＣ乱数を受信すると（Ｓ２２７）、受信した取引データから送金先カード番号と入金額とを取り出し、これらを送金先カード番号信用情報及び入金計数金額信用情報と共に、カードリーダ暗号処理部１３２に送信する（Ｓ２２８）。
【０１６８】
カードリーダ暗号処理部１３２は、これら送金先カード番号、入金額、送金先カード番号信用情報及び入金計数金額信用情報を受信すると（Ｓ２２９）、取引データに含まれる送金先カード番号及び送金先カード番号信用情報に基づく送金先カード番号が矛盾しないか否か（一致するか否か）と、取引データに含まれる入金額及び入金計数金額信用情報に基づく入金額が矛盾しないか否か（一致するか否か）とをそれぞれ検証する（Ｓ２３０）。そしてカードリーダ暗号処理部１３２は、この後、検証結果をカードリーダ制御部１３０に送信する（Ｓ２３１）。
【０１６９】
カードリーダ制御部１３０は、かかる検証結果を受信すると、この検証結果に基づいてＳ２３３の処理を実行すべきか否かを判断する（Ｓ２３２）。そしてカードリーダ制御部１３０は、かかる検証結果が送金先カード番号及び入金額のいずれにも矛盾がない（一致する）と判断した場合には、ステップＳ２２７で受信した取引データ及びＡＴＣ乱数をＩＣカード２１に送信する（Ｓ２３３）。
【０１７０】
かくしてＩＣカード２１がそれら取引データ及びＡＴＣ乱数を受信すると（Ｓ２３３）、この後、図６Ａ及び図６Ｂについて上述したステップＳ４３以降の処理が実行される。
【０１７１】
以上のように本実施の形態の自動取引システム１１０では、第４の実施の形態と同様に、紙幣処理部１１３で計数された金額以上の入金額をＡＴＭ制御部１１２で生成して、カードリーダ制御部１３０に送信したとしても、カードリーダ１１４は取引データ中の入金額と入金計数金額信用情報に基づく入金額に矛盾が生じするので、不正な入金額を用いて勘定系ホストコンピュータ３との間で取引を行うことはない。
【０１７２】
加えて、本自動取引システム１１０では、指定された口座以外の口座に入金しようとして、ＡＴＭ制御部１１２で不正なカード番号を含む取引データをカードリーダ制御部１３０に送信したとしても処理が止まる。すなわち、暗号化ピンパッド３２５で生成された送金先カード番号信用情報に基づく送金先カード番号と取引データに含まれた送金先カード番号とが矛盾するので、指定された口座以外の口座に入金するためのＡＲＱＣ生成を防止することができ、当該口座以外の口座への不正入金が防止される。
【０１７３】
よって本実施の形態によれば、第４の実施の形態と同様に、図８のＡＴＭアプリケーション４０や、Ｉ／Ｏ制御部制御ソフトウェア４１及び紙幣処理部制御ソフトウェア１２６などのデバイス制御ソフトウェアがマルウェアにより不正改ざんされたとしても不正処理が行われない、信頼性の高い自動取引装置を実現できる。なお、上述の実施形態における送金先のカード番号は、送金先を特定できる情報である送金先情報の一例であって、送金先の口座情報などであってもよい。
【０１７４】
（６）他の実施の形態
なお上述の第１〜第５の実施の形態においては、ＡＴＭ１１１，２３１，２５４を図７又は図１７のように構成するようにした場合について述べたが、本発明はこれに限らず、ＡＴＭ１１１，２３１，２５４の構成としてはこの他種々の構成を広く適用することができる。
【０１７５】
また上述の第１〜第５の実施の形態においては、図１５、図１６、図２１Ａ及び図２１Ｂ、図２４Ａ及び図２４Ｂ、又は、図２７Ａ及び図２７Ｂについて上述した処理の流れにより出金取引又は入金取引を行うようにした場合について述べたが、本発明はこれに限らず、本願発明の要旨を変更しない範囲において、この他種々の処理の流れで出金取引又は入金取引を行うようにしてもよい。特に、一部のデバイスを例に説明したが、本願発明の要旨を変更しない範囲において、他のデバイスを利用してもよい。また、信用情報の検証を行う際に、信用情報を復号化し、検証処理を実施してもよい。また、ＩＣカードはカードリーダに挿入されて用いられるので、ＩＣカードおよびカードリーダを一つのデバイスとみなしもよい。
【０１７６】
また、第１〜第３の実施形態においては、図５にて説明した通り、利用者の操作で入力された出金額をピンパッドなどが受け付けるので、カードリーダで出金額信用情報を生成するのではなく、ピンパッドで出金額信用情報を生成してもよい。具体的には、ピンパッドが、利用者の操作により受け付けた出金額をピンパッドのメモリなどの記憶部に格納しておき、ピンパッドは、カードリーダ又はＩＣカードが判断した取引可否の結果を受信し、ピンパッドの記憶部に格納しておいた出金額を、紙幣処理部と共有する第１の暗号鍵を用いて暗号化して出金額信用情報として、紙幣処理部に送信し、紙幣処理部は、全体制御部から送信される第１のコマンドに含まれる出金額に関する情報と、出金額信用情報とに矛盾がないとき（一致する）に、当該第１のコマンドに従って紙幣を出金することを特徴とする。より詳細には、第１の実施形態のＳ８３〜Ｓ８８、第３の実施形態のＳ１６０〜Ｓ１６５に対応する処理を、カードリーダ又はＩＣカードの代わりにピンパッドで実施する。第２の実施形態では、Ｓ１１４〜Ｓ１１８のＥＰＰ出金額信用情報生成に関わる処理を行わず、代わりにＳ１２１において出金額ではなく取引検証結果を受信する。
【０１７７】
さらに上述の第４及び第５の実施の形態においては、本願発明を第１の実施の形態の自動取引システム１１０に適用するようにした場合について述べたが、本発明はこれに限らず、例えば第２の実施の形態の自動取引システム２３０や第３の実施の形態の自動取引システム２５０に第４又は第５の実施の形態の内容を適用するようにしてもよい。
【０１７８】
また、上述の第４及び第５の実施の形態においては、入金収納処理がある形態を用いて説明を行ったが、紙幣処理部が一時スタッカを有しない場合には、紙幣処理部は入金計数にて一時スタッカではなく、収納庫に紙幣を収納し、ＡＴＭ制御部は、Ｓ５８の取引検証結果にて入金可であった場合に、収納庫に収納した紙幣を銀行の管理対象と判断し（入金受け付け又は入金完了と判断し）、入金不可であった場合に、収納庫に収納した紙幣を顧客に返却してもよい。すなわち紙幣処理部１２は、紙幣を一時スタッカから収納庫に搬送する紙幣収納処理をすることなく、入金処理を完了することとなる。
【０１７９】
さらに上述の第５の実施の形態においては、入金の額を特定する情報と口座を特定する情報との両方に関して、信用情報の生成、検証を実施するようにした場合について述べたが、本発明はこれに限らず、入金の額を特定する情報と口座を特定する情報とのいずれか一方に関して実施するようにしてもよい。
【０１８０】
さらに上述の第１〜第５の実施の形態においては、ＡＴＭ制御部１１２，２３２，２６０を経由してデバイス間のデータのやり取りを行うようにした場合について述べたが、本発明はこれに限らず、デバイス間に物理的な結線を設け、ＡＴＭ制御部１１２，２３２，２６０を経由せずにデバイス間で直接データのやり取りを行うようにしてもよい。
【０１８１】
このようにデバイス間に物理的な結線を設け、ATM制御部を経由せずにデバイス間で直接データのやり取りを行う場合には、上記第１〜第５の実施形態同様、一の端末で生成又は取得した取引きに関する情報（出金額、入金額、入金先カード番号）を暗号化し第一の信用情報を生成し、他の端末が取引きに関する情報、あるいは、デバイス制御情報と第一の信用情報を取得し、取引き、あるいは、デバイス制御情報に関する情報と第一の信用情報を復号化して取得した取引き、あるいは、デバイス制御情報に関する情報の一致を確認し、一致した場合に、取引可、あるいは、デバイス制御可と判断し、ＡＴＭ制御部に処理継続可の旨を通知してもよい。
【０１８２】
具体的には、図１５のＳ８８〜Ｓ９２にて、ＡＴＭ制御部１１２を経由して、出金額信用情報をカードリーダ制御部１３０から送信し、紙幣処理部１１３で受信しているが、ＡＴＭ制御部１１２を経由せずに、出金額信用情報をカードリーダ制御部１３０から送信し、紙幣処理部１１３で受信してもよい。
【０１８３】
図１６の場合は、Ｓ１１８〜Ｓ１２１にて、ＡＴＭ制御部２３２を経由して、出金額信用情報をカードリーダ制御部２４１から送信し、暗号化ピンパッド２３５で受信しているが、ＡＴＭ制御部２３２を経由せずに、出金額信用情報をカードリーダ制御部２４１から送信し、暗号化ピンパッド２３５で受信してもよい。さらに、Ｓ１２４〜Ｓ９２（図１５）にて、ＡＴＭ制御部２３２を経由して、出金額信用情報を暗号化ピンパッド２３５から送信し、紙幣処理部２３４で受信しているが、ＡＴＭ制御部２３２を経由せずに、出金額信用情報を暗号化ピンパッド２３５から送信し、紙幣処理部２３４で受信してもよい。
【０１８４】
図２１Ａ、２１Ｂの場合は、Ｓ１６５〜Ｓ１６９にて、ＡＴＭ制御部２６０を経由して、出金額信用情報をカードリーダ制御部２９０から送信し、紙幣処理部２６１で受信しているが、ＡＴＭ制御部２６０を経由せずに、出金額信用情報をカードリーダ制御部２９０から送信し、紙幣処理部２６１で受信してもよい。
【０１８５】
図２４Ａ、２４Ｂの場合は、Ｓ１９３〜Ｓ１９８にて、ＡＴＭ制御部１１２を経由して、入金計数金額信用情報を紙幣処理部１１３から送信し、カードリーダ制御部１３０で受信しているが、ＡＴＭ制御部１１２を経由せずに、入金計数金額信用情報を紙幣処理部１１３から送信し、カードリーダ制御部１３０で受信してもよい。
【０１８６】
図２７Ａ、２７Ｂの場合は、Ｓ２１７〜Ｓ２２７にて、ＡＴＭ制御部１１２を経由して、送金先カード番号信用情報を暗号化ピンパッド３２５から送信し、カードリーダ制御部１３０で受信しているが、ＡＴＭ制御部１１２を経由せずに、送金先カード番号信用情報を暗号化ピンパッド３２５から送信し、カードリーダ制御部１３０で受信してもよい。あるいは、Ｓ２２２〜Ｓ２２７にて、ＡＴＭ制御部１１２を経由して、入金計数金額信用情報を紙幣処理部１１３から送信し、カードリーダ制御部１３０で受信しているが、ＡＴＭ制御部１１２を経由せずに、入金計数金額信用情報を紙幣処理部１１３から送信し、カードリーダ制御部１３０で受信してもよい。
【０１８７】
（７）各実施の形態の特徴
上述した第１〜第５の実施及びその他の実施の形態は、少なくとも以下の特徴を有している。
【０１８８】
取引データそのものではなく、取引データに含まれる重要パラメータ（出金額、入金額、入金先カード番号）だけをデバイス間暗号通信で直接やり取りし、出金時には取引データの出金額と出金コマンドの出金額（＝金種×紙幣枚数の合計）の矛盾（又は一致）を、入金（送金）時には取引データと入金計数結果や入金先カード番号との矛盾（又は一致）をデバイス側で検知することを特徴とする。
【０１８９】
また、出金取引における金額に関する情報である金額情報を含む第一の出金取引データと、第一の出金取引データとに基づき紙幣の出金を指示する出金コマンドを生成する本体制御部（例えば、ＡＴＭ制御部）と、出金コマンドを受信し、紙幣を出金する紙幣処理部と、紙幣処理部とは異なるデバイスであって、本体制御部から送信された第一の出金取引データ（例えば、金額情報）に基づき、出金の可否を判断する第一のデバイス（例えば、ＩＣカード、カードリーダ、暗号化ピンパッドなど）とを有する自動取引装置であって、第一のデバイスは、出金可と判断した場合に、第一の出金取引データに基づき前記出金コマンドよりもセキュリティを高めた出金信用情報（例えば、出金額信用情報、ＥＰＰ出金額信用情報）を生成し、紙幣処理部は、出金信用情報及び出金コマンドを受信し、出金信用情報及び前記出金コマンドに基づき、さらに出金の可否を判断し、出金可の場合に、紙幣を出金することを特徴とする。金額情報は、出金額、紙幣金種毎の枚数などを含んでよい。出金信用情報は、第一のデバイスにて暗号化され、紙幣処理部にて復号化されるものであってよい。また、出金信用情報には、金額情報に基づく出金の額を特定できる情報（例えば、出金額、出金金種毎の紙幣枚数など）を含んでもよい。また、紙幣処理部は、出金信用情報に基づく金額情報と出金コマンドに基づく金額情報の一致を判断し、一致する場合に出金可、不一致の場合に出金否と判断してもよい。上記実施形態では、出金額を中心に説明をしたが、出金金種毎の紙幣枚数は、出金額と同様、顧客からの入力情報に基づき取得し、出金額の代わりに又はと共に出金金種毎の紙幣の枚数を用いて第１〜第３の処理を行えばよい。
【０１９０】
また、利用者により投入された紙幣を計数し、計数に基づく入金計数情報を生成する紙幣処理部と、入金計数情報を含む第一の入金取引データを生成する本体制御部（例えば、ＡＴＭ制御部）と、紙幣処理部とは異なるデバイスであって、第一の入金取引データを受信し、第一の入金取引データに基づき利用者により投入された紙幣の入金取引可否を判断する第一のデバイス（例えば、ＩＣカード、カードリーダ、暗号化ピンパッドなど）とを有する自動取引装置であって、紙幣処理部は、入金計数情報に基づき入金計数情報よりもセキュリティを高めた入金計数信用情報（例えば、入金計数金額信用情報）を生成し、第一のデバイスは、第一の入金取引データ及び入金計数信用情報に基づき、入金取引の可否を判断し、本体制御部は、第一のデバイスによる入金取引の可否を受信し、入金取引可であった場合に、計数された紙幣の入金の受け付ける（銀行に管理される紙幣として管理する）ことを特徴とする。入金計数情報は、紙幣処理部の計数に基づく入金額、紙幣金種毎の枚数などを含んでよい。入金計数信用情報は、紙幣処理部にて暗号化され、第一のデバイスにて復号化されるものであってよい。また、入金計数信用情報には、入金計数情報に基づく入金の額を特定できる情報（例えば、入金額、入金金種毎の紙幣枚数など）を含んでも良い。紙幣処理部は、入金信用情報に基づく入金計数情報と第一の入金取引データに含まれる入金計数情報の一致を判断し、一致する場合に入金取引可、不一致の場合に入金取引否と判断してもよい。上記実施形態では、入金額を中心に説明をしたが、入金金種毎の紙幣枚数は入金計数の際に紙幣処理部により計数された情報に基づき取得し、入金額の代わりに又は入金額と共に入金金種毎の紙幣の枚数を用いて第４、第５の処理を行えばよい。
【０１９１】
また、送金先を特定する送金先情報の入力を受け付ける第一のデバイス（例えば、ＩＣカード、カードリーダ、暗号化ピンパッドなど）と、第一のデバイスとは異なる第二のデバイス（例えば、ＩＣカード、カードリーダ、暗号化ピンパッドなどのうち第一のデバイスとは異なるデバイス）と、送金先情報を含む第一の入金取引データを生成する本体制御部（例えば、ＡＴＭ制御部）とを有する自動取引装置であって、第一のデバイスは、送金先情報に基づき送金先情報よりもセキュリティを高めた送金先信用情報（例えば、カード番号信用情報）を生成し、第二のデバイスは、第一の入金取引データと送金先信用情報とに基づき送金の可否を判定することを特徴とする。送金先情報は、例えば、送金先の口座番号などを含んでよい。送金先信用情報は、第一のデバイスにて暗号化され、第二のデバイスにて復号化されるものであってよい。また、送金先信用情報には、送金先情報に基づく送金先を特定できる情報（例えば、送金先の口座番号など）を含んでもよい。第二のデバイスは、送金先信用情報に基づく送金先情報と第一の入金取引データに含まれる送金先情報の一致を判断し、一致する場合に入金可、不一致の場合に入金否と判断してもよい。
【０１９２】
また、取引に関する取引を特徴付けるデータ（例えば、入金の額を特定する情報、入金先の口座を特定する情報など）を受け付ける又は生成する第一のデバイス（例えば、紙幣処理部、暗号化ピンパッドなど）を有する自動取引装置であって、第一のデバイスとは異なる第二のデバイス（例えば、紙幣処理部、ＩＣカード、カードリーダ、暗号化ピンパッドなどのうち第一のデバイスとは異なるデバイス）を有し、第一のデバイスは、取引を特徴付けるデータに基づく情報であって、取引を特徴付けるデータよりもセキュリティを高めた取引信用情報（例えば、入金計数金額信用情報、送金先カード番号信用情報）を生成し、第二のデバイス（例えば例えば、ＩＣカード、カードリーダなど、）は、取引を特徴付けるデータと取引信用情報を受信し、取引を特徴付けるデータと取引信用情報とに基づき（取引を特徴付けるデータと、取引信用情報に基づく取引を特徴付けるデータとを比較し）取引の可否を判断することを特徴とする。第一のデバイスは暗号化し、第二のデバイスは復号化することによりことにより取引信用情報のセキュリティを高めてもよい。
【０１９３】
また、さらに以下のような特徴を有してもよい。
【０１９４】
出金取引時に、全体制御部は、利用者の操作に応じた出金額を含む第１の取引データをカードリーダに送信すると共に、要求された金額分の紙幣を出金すべき旨の第１のコマンドを前記紙幣処理部に送信し、カードリーダは、全体制御部から送信される前記第１の取引データから抽出され、取引の裏付けがなされた前記出金額を出力し、紙幣処理部は、全体制御部から送信される第１のコマンドに含まれる出金額に関する情報と、カードリーダから出力された出金額とに矛盾がないときに、当該第１のコマンドに従って紙幣を出金することを特徴とする。カードリーダは、取引の裏付けがなされた出金額を、紙幣処理部と共有する第１の暗号鍵を用いて暗号化して紙幣処理部に送信してもよい。また、カードリーダは取引の裏付けがなされた出金額を前記ピンパッドに送信し、前記ピンパッドは、カードリーダから送信されてきた出金額を、紙幣処理部と共有する第２の暗号鍵を用いて暗号化して紙幣処理部に送信し、紙幣処理部は、全体制御部から送信される第１のコマンドに含まれる出金額に関する情報と、前記ピンパッドから送信される出金額とに矛盾がないときに、当該第１のコマンドに従って紙幣を出金することを特徴とする。また、カードリーダは、外部コンピュータとの間でやり取りされる前記出金取引のための電文に関する電子署名及びメッセージ認証コードを処理するものであってもよい。
【０１９５】
また、入金取引時に、全体制御部は、入金された紙幣を計数すべき旨の第２のコマンドを紙幣処理部に送信し、当該紙幣処理部の計数結果に基づく入金計数金額を含む第２の取引データをカードリーダに送信し、紙幣処理部は、第２のコマンドに基づく計数結果でなる入金計数金額を出力し、カードリーダは、全体制御部から送信される前記第２の取引データに含まれる入金計数金額と、紙幣処理部から出力された入金計数金額とに矛盾がないときに、入金取引を継続するための所定処理を実行することを特徴とする。
【０１９６】
上述の特徴を有することにより、取引のセキュリティを高めることが可能となる。すなわち、デバイス間通信において、取引データに係る信用情報の生成、検証を行うことによりセキュリティを高めることが可能となる。より詳細には、出金の場合、ホストによる取引データに基づく取引の承認を受けた後のデバイス間通信において、取引データに係る信用情報の生成、検証を行うことにより、ホストによる承認を受けた後の取引データのセキュリティを高め、入金の場合、ホストによる取引データに基づく取引の承認を受ける前のデバイス間通信において、取引データに係る信用情報の生成、検証を行うことにより、ホストによる承認を受ける前の取引データのセキュリティを高めることで、各取引のセキュリティを高めている。
【産業上の利用可能性】
【０１９７】
本発明は、カード媒体に記録された情報と利用者の操作とに基づいて出金取引又は入金取引を行う自動取引装置に広く適用することができる。
【符号の説明】
【０１９８】
３，２５１……勘定系ホストコンピュータ、１４，２３５，３２５……暗号化ピンパッド、２１……ＩＣカード、１１０，２３０，２５０……自動取引システム、１１１，２３１，２５４……ＡＴＭ、１１２，２３２，２６０……ＡＴＭ制御部、１１３，２３４，２６１……紙幣処理部、１１４，２３３，２６２……カードリーダ、１３０，２４１，２９０……カードリーダ制御部、１３２，２４０，２９２……カードリーダ暗号処理部、１８０……紙幣処理部制御部、１８２……紙幣処理部暗号処理部、２５２……取引信用情報生成サーバ、２５５……磁気カード。
【図１】
2017033321.tif 000003
【図２】
2017033321.tif 000004
【図３】
2017033321.tif 000005
【図４】
2017033321.tif 000006
【図５】
2017033321.tif 000007
【図６Ａ】
2017033321.tif 000008
【図６Ｂ】
2017033321.tif 000009
【図７】
2017033321.tif 000010
【図８】
2017033321.tif 000011
【図９】
2017033321.tif 000012
【図１０】
2017033321.tif 000013
【図１１】
2017033321.tif 000014
【図１２】
2017033321.tif 000015
【図１３】
2017033321.tif 000016
【図１４】
2017033321.tif 000017
【図１５】
2017033321.tif 000018
【図１６】
2017033321.tif 000019
【図１７】
2017033321.tif 000020
【図１８】
2017033321.tif 000021
【図１９】
2017033321.tif 000022
【図２０】
2017033321.tif 000023
【図２１Ａ】
2017033321.tif 000024
【図２１Ｂ】
2017033321.tif 000025
【図２２】
2017033321.tif 000026
【図２３】
2017033321.tif 000027
【図２４Ａ】
2017033321.tif 000028
【図２４Ｂ】
2017033321.tif 000029
【図２５】
2017033321.tif 000030
【図２６】
2017033321.tif 000031
【図２７Ａ】
2017033321.tif 000032
【図２７Ｂ】
2017033321.tif 000033
【国際調査報告】
2017033321.tif 000034
2017033321.tif 000035