(58)【調査した分野】(Int.Cl.,DB名)
内部に搭載される第1のデバイスと、装置を制御する制御部と、保守に関する情報を表示する表示部とを備え、該第1のデバイスと該制御部との間でデータの送受信を行う自動取引装置と、携帯端末と、サーバとを備える自動取引システムであって、
前記第1のデバイスは、
該第1のデバイスに関する第1のコードを生成し、前記制御部に送信する処理と、
前記制御部から受信した第2のコードを検証し、検証結果に応じて暗号鍵を生成する処理と、を実行し、
前記制御部は、
前記第1のコードを受信した後、動作環境が前記自動取引装置内であることを検証する処理と、
前記動作環境が前記自動取引装置内であると判断された場合、前記第1のコードから第3のコードを生成し、該制御部に関する第4のコードを生成し、該第3のコード及び該第4のコードに関する情報を前記表示部に表示する処理と、
前記携帯端末に表示された、第5のコード及び第6のコードに関する情報を読み取る処理と、
前記第5のコードを検証し、検証結果に応じて、前記第6のコードから前記第2のコードを生成し、該第2のコードを前記第1のデバイスに送信する処理と、を実行し、
前記携帯端末は、
前記表示部に表示された前記第3のコード及び前記第4のコードに関する情報を読み取り、送信する処理と、
前記サーバから送信された前記第5のコード及び前記第6のコードを受信する処理と、
前記第5のコード及び前記第6のコードに関する情報を表示する処理と、を実行し、
前記サーバは、
前記第3のコード及び前記第1のデバイスから受信した前記第1のデバイスに固有の情報から前記第6のコードを生成する処理と、
前記第4のコードから前記第5のコードを生成する処理と、を実行することを特徴とする自動取引システム。
【発明を実施するための形態】
【0013】
(1)実施例1
通信相手が正当であるかを認証する手段として、「チャレンジ・レスポンス認証」と呼ばれる手法が用いられる。本実施例では、自動取引装置(以下、ATMとする)の制御部(以下、「ATM制御部(AC)」とする)がATMの環境認識をすると共に、ATM固有の内部デバイス(DEV)(紙幣処理部、硬貨処理部、カードリーダ、暗号化キーパッド、レシートプリンタ、通帳プリンタ、ジャーナルプリンタ、監視カメラ等のハードウェア)がATM制御部(AC)に対して、デバイス間での「チャレンジ・レスポンス認証」を実行する。デバイス間での「チャレンジ・レスポンス認証」により、ATM制御部(AC)に紐付けられた秘密鍵を、内部デバイス(DEV)紙幣処理部に予め設定しておくことが可能となる。これにより、ATM制御部(AC)で暗号化された通信暗号鍵を前記秘密鍵で復号することにより、ATM制御部(AC)と内部デバイスのみが前記通信暗号鍵を共有でき、以降の通信を暗号化および復号することが可能となる。
【0014】
一般的な「チャレンジ・レスポンス認証」は、サーバと装置との間における認証であって、ソフトウェアで実現可能であるため、ATM制御部(AC)以外の外部端末(例えば、ノートパソコン)に認証プログラムをコピーしても認証可能である。外部端末における認証を防止するためには、ATM制御部(AC)が内部デバイス(DEV)の接続状況を参照することにより、動作環境がATM内の環境であるか否かの認識(環境認識)を行う。すなわち、一般的な「チャレンジ・レスポンス認証」とは異なり、デバイス間での「チャレンジ・レスポンス認証」となる。その上で、ATM制御部(AC)がレスポンスコード(DEV RS)を送信し、内部デバイス(DEV)において当該レスポンスコード(DEV RS)を検証する。このようなATM制御部(AC)と内部デバイス(DEV)との間のチャレンジ・レスポンス認証により、内部デバイス(DEV)の接続環境がATM内であることを検証することが可能となる。なお、本実施例における内部デバイス(DEV)として、紙幣処理部を用いる場合について説明するが、他の内部デバイス(硬貨処理部、カードリーダ、暗号化キーパッド、レシートプリンタ、通帳プリンタ、ジャーナルプリンタ、監視カメラ等)でも同様の処理が可能である。
【0015】
以下、
図1〜
図8を用いて、第1の実施例について説明する。
図1は、自動取引システムの全体構成図である。自動取引システムS1は、ATM101と、上位装置であるホストコンピュータ103と、これらを接続する金融取引ネットワーク102とから構成される。
【0016】
ATM101は、利用者の操作により、現金の入出金等の取引を行う装置である。金融取引ネットワーク102は、例えばLAN(Local Area Network)やWAN(Wide Area Network)であるが、これに限られるものではない。ホストコンピュータ103は、複数のATM101と接続されるコンピュータであり、ATM101の利用者の口座や残高に関する情報などが記録されている。
【0017】
図2は、ATM101の機能ブロック図である。ATM101は、ATM内のデバイスを制御するためのATM制御部(AC)201と、ATMの前面パネルの表示ランプ制御や前面パネルの開閉検知を行うI/O制御部202と、入金された紙幣や出金される紙幣を取り扱う紙幣処理部203と、ATMでの取引に必要なキャッシュカード等のカードの情報を読取るカードリーダ部204と、ATMでの取引における本人確認のための暗証番号を入力し、さらに、ホストコンピュータ103に送るための暗号化を内部で行う暗号化キーパッド205と、取引の明細票を印字するレシートプリンタ206と、通帳の読み取りと記帳を行う通帳プリンタ207と、ATM取引のログを記録するジャーナルプリンタ208と、ATM利用者の顔写真を撮影する等のATMセキュリティ維持のために活用する監視カメラ209と、ホストコンピュータ103と通信を行うための通信処理部210と、ATM利用者に取引に必要な情報を表示するための表示部211と、ATMの保守員がATMの保守作業を行う際に、ATMの保守に関する情報を表示する保守用表示部212と、保守員がATMの保守作業のために操作するための保守用キーボード213と、を備える。また、入金された硬貨や出金される硬貨を取り扱う硬貨処理部(図示せず)を備えていても良い。
【0018】
図3は、ATM制御部(AC)201内のメモリに格納されたプログラム及びデータ構成を示す図である。
【0019】
プログラム領域301には、ATM取引全体を制御するATM取引アプリケーション302と、暗号処理に関わる2種類のソフト303及び304と、9種類のデバイス制御ソフト305〜313と、ソフトウェア環境の設定ファイル314とが格納される。
【0020】
暗号鍵インストーラ303は、ATM制御部(AC)201と紙幣処理部203との間の暗号通信に必要な暗号鍵生成に関わると共に、暗号鍵生成に必要な安全な環境がATM内部で実現しているかを検証するソフトウェアである。なお、暗号鍵インストーラ303は、ATMを保守するソフトウェアの一部の機能であっても良い。暗号通信制御ソフト304は、暗号鍵インストーラ303によって生成、あるいは、設定された暗号鍵を用いて、内部デバイスと暗号通信を行うソフトウェアである。デバイス制御ソフト305〜313は、それぞれ202〜210の機能に対応するソフトウェアである。
【0021】
データ領域315には、ATM制御部(AC)201に関するデータ316〜317と、紙幣処理部203に関するデータ321〜323との2種類のデータが格納されている。
【0022】
保守員ID316は、暗号鍵をATM内に設定する作業者を識別するための情報(識別コード)である。ATMシリアルナンバー(ATM Ser.No.)317は、個々のATMを識別するための情報であり、いわゆる製造ラインで割り当てられた製造番号や、金融機関がATMを識別するために製造番号とは別に与えた識別番号等である。
【0023】
内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321は、紙幣処理部203を識別するための情報であり、いわゆる製造ラインで割り当てられた製造番号や、製造番号とは別に保守会社等によって与えられた識別番号等である。また、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321は、紙幣処理部203から送信される。
【0024】
DEVチャレンジコード1(DEV CH 1)322は、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321と共に、紙幣処理部203から送信されたデータであり、ATM制御部(AC)201に対し、紙幣処理部203がチャレンジ・レスポンス認証を行うために用いられる。
【0025】
DEVレスポンスコード1(DEV RS 1)323は、暗号鍵インストーラ303により、DEVチャレンジコード1(DEV CH 1)322から所定の一方向変換アルゴリズムにより生成される。また、DEVレスポンスコード1(DEV RS 1)323は、ATM制御部(AC)201に対し、紙幣処理部203の正当性を検証するために生成される。
【0026】
図4は、紙幣処理部203内のメモリM203に格納されたプログラム及びデータ構成を示す図である。
【0027】
プログラム領域401には、紙幣処理部203の紙幣搬送などの制御を行う内部デバイス(DEV)制御ファームウェア402と、ATM制御部(AC)201と通信を行うための通信制御ファームウェア403と、ATM制御部(AC)201と紙幣処理部203との間の通信の暗号化を実行する暗号処理ファームウェア404とが格納される。
【0028】
データ領域405には、3種類のデータ406〜408が格納されている。内部デバイスシリアルナンバー(DEV Ser.No.)406は、紙幣処理部203を識別するための情報である。DEVチャレンジコード1(DEV CH 1)407は、ATM制御部(AC)201の正当性を検証するために、紙幣処理部203がチャレンジ・レスポンス認証を行う際に生成される。
【0029】
内部デバイスシリアルナンバー(DEV Ser.No.)406と、DEVチャレンジコード1(DEV CH 1)407とは、共にATM制御部(AC)201に送信される。DEVレスポンスコード1(DEV RS 1)408は、上述のチャレンジ・レスポンス認証の際に用いられるデータであって、内部デバイス(DEV)としての紙幣処理部紙幣処理部203で生成される。また、DEVレスポンスコード1(DEV RS 1)408は、ATM制御部(AC)201から送信されるDEVレスポンスコード1(DEV RS 1)323と一致しているか否かの比較対象となるデータである。
【0030】
以下、
図5(a)及び
図6を用いて、第1の実施例における全体処理の流れを説明する。紙幣処理部203において、暗号処理ファームウェア404の所定の乱数生成器により、DEVチャレンジコード1(DEV CH 1)407が生成される(S101)。その後、例えば、保守員により保守用表示部212に表示された所定のキーが押下されたことを検知した等の予め定めた処理が発生した場合、通信制御ファームウェア403により、内部デバイスシリアルナンバー(DEV Ser.No.)406と、DEVチャレンジコード1(DEV CH 1)407とは、ATM制御部(AC)201に送信される(S102)。
【0031】
ATM制御部(AC)201では、内部デバイスシリアルナンバー(DEV Ser.No.)406とDEVチャレンジコード1(DEV CH 1)407とを受信し、データ領域315内の、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321及びDEVチャレンジコード1(DEV CH 1)322もそれぞれに格納する。さらに、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321は、暗号鍵生成のトレース情報として電子ジャーナルなどのログファイルに記録される。暗号鍵漏洩などの問題発生時に、このログファイルを参照することで、暗号鍵生成状況を確認することができる。このログファイルは改ざん防止などのセキュリティ対策を施されることが望ましい。
【0032】
その後、暗号鍵インストーラ303は、ATM制御部(AC)が動作している環境が外部端末(一般のノートパソコン等)ではなく、ATM101の内部であることを検証するために、ATMの環境認識を行う(S103)。例えば、ATM101に固有のデバイスである、I/O制御部202、カードリーダ204、暗号化キーパッド205等が、ATM制御部(AC)201に接続されているか否かを判断する。当該判断は、例えば、ATMアプリケーション302が各デバイスに対して、デバイスの起動を指示し、起動した旨のレスポンスを確認することにより行われる。また、ATMの環境認識の精度を向上させるため、各デバイスが単に接続されているか否かを判断するだけでなく、インストールされているソフトウェア、環境設定パラメータ群、デバイスのエラー状態等も参照することにより、各デバイスが適切に動作しているか否かを判断しても良い。
【0033】
また、ATMの環境認識の例として、ATM制御部(AC)201内のプログラムや設定が正当なものであるか、例えば電子署名や所定のツールなどを用いて検証することも可能である。
【0034】
このようなATMの環境認識にあたり、
図7に示すような、デバイスの接続状態(立上状態)や、ソフトウェアのステータスを管理する管理テーブル1500を用いて処理を実行しても良い。1501は、ATM内に実装されているデバイス/ソフトウェア名称であり、1502は、各デバイスが正常に立ち上がったか否かを示す状態データであり、1503は、各デバイスの立ち上げが異常である場合における、異常の種類を示すエラーコードなどの具体的異常状態を示すデータである。データ1504〜1512は、それぞれ
図3に示すI/O制御部制御ソフト305、紙幣処理部制御ソフト306、カードリーダ制御ソフト307、暗号化キーパッド制御ソフト308、レシートプリンタ制御ソフト309、通帳プリンタ制御ソフト310、ジャーナルプリンタ制御ソフト311、監視カメラ制御ソフト312、通信処理ソフト313の動作状態にそれぞれ対応する。また、データ1513は、
図3に示すATMアプリケーション302の完全性検証状態に対応するが、暗号鍵インストーラ303又は暗号通信制御ソフト304の完全性検証状態を含めても良い。また、データ1514は、
図3に示すソフトウェア設定ファイル314の完全性検証状態に対応する。ここで、完全性(integrity)検証とは、データの改竄や破壊が無いことを検証する処理である。
【0035】
このとき、ATMが立ち上がる過程で、各デバイスの接続状態(立上状態)を予め管理テーブル1500に格納する。そして、ATMの環境認識において、暗号鍵インストーラ302が本テーブルを参照し、各デバイスが正常立上げであるか、または各ソフトウェアの完全性が検証されているか、を確認する。
【0036】
ATMの環境認識の結果は、保守用表示部212に表示される。
図8は、ATMの環境認識の結果画面の一例である。ATMの環境認識の結果画面1600は、デバイスのステータスを表示するデバイスステータス領域1601と、ソフトウェアのステータスを表示するソフトウェアステータス領域1602と、「続行」キー1603と、「再実行」キー1604と、「キャンセル」キー1605とを備える。
【0037】
デバイスステータス領域1601には、
図7で示したデータ1504〜1512に対応するデータが表示される。また、ソフトウェアステータス領域1602には、
図7で示したデータ1513、1514に対応するデータが表示される。
【0038】
各データの接続状態(立上状態)が正常であり、保守員により「続行」キー1603が押下されたことを検出した場合は、次のステップ以降の処理を実行する。一方、異常があるデータを検出した場合は、保守員により該当するデバイスやソフトウェアの状態を確認する必要がある。その後、保守員により「再実行」キー1604が押下されたことを検出した場合は、再度環境認識を実行する。一方、異常があるデータを検出した場合であり、保守員により「キャンセル」キー1605が押下されたことを検出した場合は、処理を停止する。なお、異常があるデータを検出した場合は、「続行」キー1603を表示しなかったり、「続行」キー1603の押下を検出しないようにすることが望ましい。
【0039】
ATMの環境認識に失敗した場合、ATM制御部(AC)201は、正当なATM環境ではないと判断し、ATMの環境認識の失敗結果をログファイルに記録する。このログファイルは、暗号化などにより改ざんに対して保護されていることが望ましい。その後、紙幣処理部203に対して、正当なATM環境ではない旨を示すデータを送信する。紙幣処理部203は、当該データを受信し、正当なATM環境ではない旨を記録し、更なるセキュリティ対策を施すことも可能である。例えば、正当なATM環境ではない旨を記録した累積回数、または、正当なATM環境ではない旨を記録した連続回数が所定値を超えた場合に、ATMではなく外部端末(ノートパソコン等)から不正なアクセスがされていると見做し、紙幣処理部203の暗号鍵生成動作を閉塞させることも可能である。
【0040】
ATMの環境認識に成功した場合、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321及びDEVチャレンジコード1(DEV CH 1)322から、DEVレスポンスコード1(DEV RS 1)323が生成される(S104)。生成されたDEVレスポンスコード1(DEV RS 1)323は、紙幣処理部203に送信される(S105)。
【0041】
紙幣処理部203では、DEVレスポンスコード1(DEV RS 1)323を受信すると、所定の変換アルゴリズムを用いて、内部デバイスシリアルナンバー(DEV Ser.No.)406とDEVチャレンジコード1(DEV CH 1)407とから、DEVレスポンスコード1(DEV RS 1)408を生成する。ここで、所定の変換アルゴリズムとは、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321とATM制御部(AC)201のDEVチャレンジコード1(DEV CH 1)322から、DEVレスポンスコード1(DEV RS 1)323を生成する変換アルゴリズムと同一の変換アルゴリズムである。
【0042】
次に、受信したDEVレスポンスコード1(DEV RS 1)323と、生成されたDEVレスポンスコード1(DEV RS 1)408とが一致するかを検証する(S106)。
【0043】
このように、紙幣処理部203における変換アルゴリズムは、ATM制御部(AC)201と共有されている。その結果、内部デバイスシリアルナンバー(DEV Ser.No.)406が、ATM制御部(AC)201のログファイルに登録されたかを、DEVレスポンスコード1(DEV RS 1)323とDEVレスポンスコード1(DEV RS 1)408との一致を検証することにより、紙幣処理部203側で確認することが可能となる。この一致検証により、紙幣処理部203は、安全なATM運用環境であると判断し、その後暗号鍵生成コマンドを受信した場合に暗号鍵生成処理を実行する。
【0044】
ここで、紙幣処理部203は、安全なATM運用環境であると判断した後に、暗号鍵生成コマンドを受信するまでの間に時間の上限を設けることも可能である。時間制限を設けることにより、保守員がATM101を操作中に現場から離れてしまった場合に、第三者が暗号鍵生成コマンドを部デバイス(DEV)としての紙幣処理部203に送信して、不正に暗号鍵を生成されるリスクが回避される。
【0045】
受信したDEVレスポンスコード1(DEV RS 1)323と、生成されたDEVレスポンスコード1(DEV RS 1)408とが一致しない場合は、暗号鍵を生成する適切な環境にないとして、紙幣処理部203は、後に暗号鍵生成コマンドを受信したとしても処理を拒絶する。なお、DEVレスポンスコード1(DEV RS 1)323とDEVレスポンスコード1(DEV RS 1)408との不一致が所定の回数以内であれば、S101から再度処理を実行しても良い。この場合、所定の回数を超えて不一致となったときは、紙幣処理部203に対して不正なアクセスがされていると見做し、所定の期間S101の処理を拒絶する。また、処理の拒絶の他に、ATM制御部(AC)と紙幣処理部203との通信を遮断しても良い。
【0046】
第1の実施例によれば、内部デバイスと通信する相手であるATM制御部(AC)において、暗号鍵を生成するソフトウェアの動作環境が外部端末ではなく、ATM内の環境であることの環境認識を行う。すなわち、ATM制御部(AC)が内部デバイスの接続状況を参照すると共に、レスポンスコード(DEV RS)を送信し、内部デバイスでそれを検証することにより、内部デバイスの接続環境を検証する。これにより、暗号化通信を実行する場合や、暗号鍵が一切設定されていない自動取引装置に対して暗号鍵を新規に設定する場合において、暗号鍵を生成するソフトウェアが、ATM以外の外部端末で動作していないことを検証することが可能となる。
【0047】
また、耐タンパ性を持つセキュアチップのような安全なハードウェアを用いて、暗号鍵をそのハードウェア内部で生成する場合であっても、安全な環境であることを確認することは有効である。ハードウェア内部で暗号鍵を生成する場合は、暗号鍵生成命令を送るためのアクセスコントロールが必要となる。その場合、アクセスコントロールにパスワード認証などが使われるが、パスワードが漏洩すると、例えば、秘密鍵・公開鍵が勝手にハードウェア内部で生成され、公開鍵が不必要にそのハードウェアから取り出されることがある。このように意図しない暗号鍵の取り出しは脆弱性につながるのでハードウェアであっても環境の安全性は重要である。
【0048】
なお、本実施例では、内部デバイスシリアルナンバー(DEV Ser.No.)406が、ATM制御部(AC)201のログファイルに登録されたかを、紙幣処理部203が検証できるようにするために、S104において、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321とDEVチャレンジコード1(DEV CH 1)322との2つの情報から、DEVレスポンスコード1(DEV RS 1)323を生成する。しかし、ATM制御部(AC)201のログファイルへの登録を、紙幣処理部203がS106のレスポンスコード検証を通じて確認する必要がなければ、S104では、DEVチャレンジコード1(DEV CH 1)322の1つの情報から、DEVレスポンスコード1(DEV RS 1)323を生成してもよい。その場合、S106での検証も同様に、DEVチャレンジコード1(DEV CH 1)407の一つの情報から、DEVレスポンスコード1(DEV RS 1)408を生成することになる。
【0049】
また、本実施例では、内部デバイス(DEV)において、DEVレスポンスコード1(DEV RS 1)を検証する例について説明したが、例えば、不正な内部デバイス(DEV)が接続されている可能性がある場合は、ATM制御部(AC)においてレスポンスコードを生成、検証するようにしても良い。
【0050】
この場合、
図5(b)に示すように、最初にATM制御部(AC)201は、動作環境が前記自動取引装置内であることを検証する処理を実行し(S111)、前記動作環境が前記自動取引装置内であると判断された場合、ACチャレンジコード1(AC CH 1)を生成し(S112)、ACシリアルナンバー(AC Ser.No.)とACチャレンジコード1(AC CH 1)とを、内部デバイス(DEV)に送信する(S113)。その後、内部デバイス(DEV)は、ACシリアルナンバー(AC Ser.No.)及びACチャレンジコード1(AC CH 1)から、ACレスポンスコード1(AC RS 1)を生成し(S114)、ATM制御部(AC)201に送信する(S115)。323が生成される(S104)。生成されたDEVレスポンスコード1(DEV RS 1)323は、内部デバイス(DEV)に送信される(S105)。最後に、ATM制御部(AC)201は、内部デバイス(DEV)から受信したACレスポンスコード1(AC RS 1)と、ATM制御部(AC)201において、受信したACレスポンスコード1(AC RS 1)と、ACシリアルナンバー(AC Ser.No.)及びACチャレンジコード1(AC CH 1)から生成されたACレスポンスコード1(AC RS 1)とが一致するかを検証する(S116)。上記説明ではACシリアルナンバー(AC Ser.No.)及びACチャレンジコード1(AC CH 1)を一緒に送信して、その両者からACレスポンスコード1(AC RS 1)を生成する例を示したが、ACチャレンジコード1(AC CH 1)のみを送信し、ACチャレンジコード1(AC CH 1)からACレスポンスコード1(AC RS 1)を生成してもよい。
【0051】
なお、本実施例は、ATM制御部(AC)と内部デバイス(DEV)との間において、チャレンジコード、レスポンスコードを用いるチャレンジ・レスポンス認証を例にして説明したが、他の認証形式でも良い。例えば、使い捨て方式のパスワードである、ワンタイムパスワード(One Time PW)を用いた方式が挙げられる。ワンタイムパスワード方式でも複数の方式がありうるが、例えば、認証する側とされる側で時刻を共有しておき、その時刻に対応するパスワードを同じ適当なアルゴリズムを用いて互いに生成して検証する方式について、
図5(c)を用いて説明する。なお、内部デバイス(DEV)にも時計が実装されていることが前提である。
【0052】
まず、内部デバイス(DEV)では、内蔵されている時計を参照して、時刻データを取得する(S121)。得られた時刻データから、適当なアルゴリズムを用いてワンタイムパスワード(DEV One Time PW)が生成される(S122)。その後、内部デバイス(DEV)はATM制御部(AC)に対し、ACワンタイムパスワード(AC One Time PW)の送信要求を送信する(S123)。
【0053】
ATM制御部(AC)の暗号鍵インストーラ303は、ステップS103と同様の手順に基づき、ATMの環境認識を行う(S124)。ATMの環境認識が成功した場合は、ATM制御部(AC)201内に組み込まれている時計を参照し、時刻データ(AC時刻データ)を取得する(S125)。そして、得られた時刻データから、内部デバイス(DEV)と同じアルゴリズムを用いて、ワンタイムパスワード(AC One Time PW)を生成し(S126)、ACワンタイムパスワード(AC One Time PW)を内部デバイス(DEV)に送信する(S127)。内部デバイス(DEV)は、DEVワンタイムパスワード(DEV One Time PW)とACワンタイムパスワード(AC One Time PW)とが一致しているかを検証し(S128)、検証結果に応じて暗号鍵生成処理の実行等の処理を実行する。
【0054】
このように、共有されている時刻データを用いたワンタイムパスワード方式を用いて、内部デバイス(DEV)はATM制御部(AC)201を認証することが可能である。
【0055】
(2)実施例2
以下、
図2、
図4、
図9〜20を用いて、第2の実施例について説明する。
図9は、第2の実施例の概念、すなわち、第2の実施例における処理手順の基本的な考え方について示した図である。
【0056】
例えば、保守用の倉庫にATMが保管されている場合(すなわちATMが運用されていない場合)、運用に必要なソフトウェア群をATM制御部(AC)上にコピーして、その状態で暗号鍵を生成することが可能になる。この場合、ATMは運用されていないため、ソフトウェアの構成が変更された上で、暗号鍵が生成された際にメモリダンプが行われると、暗号鍵が不正に取得されてしまう。
【0057】
このような不正を防止するためには、第1の実施例において説明した、内部デバイス(DEV)の接続環境がATM内であることの検証((a)参照)に加え、ATMが運用中であるか否かを更に検証することが必要である。ATMが運用中であることは、ATMがホストコンピュータに接続されていることが一つの判断材料になる。しかし、暗号鍵をATMに設定する際は、通常の取引を実行する運用モードとは別のモードである保守モードでATMを動作させるため、ホストコンピュータへの接続は切断されていることが一般的であり、ATM101とホストコンピュータ103との間の通信状態を基に、運用中のATMであることを検証することは困難である。そのため、運用中のATMであるか否かを判断するためには、ホストコンピュータ103との接続以外の手段で判断する必要がある。
【0058】
そこで、(b)に示すように、内部デバイス(DEV)は、ATMの外部に設置された管理サーバに対して、暗号鍵生成のトレーサビリティに必要な情報(内部デバイス(DEV)のシリアルナンバー、ATMのシリアルナンバー、日時、作業者のID等)を送信し、当該管理サーバで当該情報を保管する処理が考えられる。仮に、不正な暗号鍵生成が行われた場合、当該トレーサビリティ情報を用いて、不正行為者等の追跡調査ができるので、運用されていないATMを用いた不正な暗号鍵生成を抑止できる。
【0059】
暗号鍵生成のトレーサビリティに必要な情報が管理サーバに確実に保管されたか否かは、内部デバイス(DEV)においてチャレンジ・レスポンス認証を用いて検証される。例えば、管理サーバは、内部デバイスが生成したチャレンジコードと、トレーサビリティに必要な情報とから、一方向関数などの所定の変換アルゴリズムを用いて、レスポンスコードを生成する。内部デバイス(DEV)において、管理サーバから送信されたレスポンスコードを正しく検証できれば、管理サーバに暗号鍵生成のトレーサビリティに必要な情報が確実に登録されたことを確認することが可能である。
【0060】
このように、トレーサビリティに必要な情報が管理サーバに確実に登録されたことを、内部デバイス(DEV)において検証することにより、保守モードであるか否かによらず、運用中のATMに接続されていることを確認することが可能である。
【0061】
また、暗号鍵が生成される際に、内部デバイス(DEV)だけでなく、ATM制御部(AC)も、運用中のATMの環境であることを検証する必要がある。そこで、(c)に示すように、ATM制御部(AC)も、ATMの外部に設置された管理サーバに対して、暗号鍵生成のトレーサビリティに必要な情報を送信し、当該管理サーバで当該情報を保管する処理が考えられる。そして、暗号鍵生成のトレーサビリティに必要な情報が管理サーバに確実に保管されたか否かは、ATM制御部(AC)においてチャレンジ・レスポンス認証を用いて検証される。
【0062】
以上(a)〜(c)で説明した概念を組み合わせることにより、暗号鍵の不正漏洩があった場合に、認証用のサーバに登録された履歴情報を参照することで、問題のあったATMのトレースが可能になり、結果として暗号鍵生成に伴う不正行為を抑止することが可能となる。すなわち、(a)(c)に示すATM制御部(AC)が同一であり、かつ(b)(c)に示す管理サーバが同一かつ正当な通信相手であることの情報を用いて、内部デバイスにおいて、運用中のATMに接続されていることを精度良く検証することが可能となる。本実施例では、(a)〜(c)で説明した概念である(d)を実現する構成や処理について、詳細に説明する。
【0063】
図10は、自動取引システムの全体構成図である。自動取引システムS2は、第1の実施例で述べたATM101、金融取引ネットワーク102、ホストコンピュータ103の他に、携帯情報端末104と、金融取引ネットワーク102とは別のネットワークである、保守用ネットワーク105と、管理サーバ106と、ストレージ107とを備える。ATM101は、携帯情報端末104を介し、保守用ネットワーク105に接続され、管理サーバ106と情報のやり取りを行う。ストレージ107は、管理サーバ106に接続され、携帯情報端末104経由でATM101から送信される暗号鍵生成のトレース情報を格納する格納部である。
【0064】
ATM101の機能ブロック図は、第1の実施例と同様であるため(
図2を参照)、詳細な説明を省略する。
【0065】
図11は、ATM制御部(AC)201内のメモリに格納されたプログラム・データ構成を示す図である。プログラム領域301は、第1の実施例と同様であるため、詳細な説明を省略する。
【0066】
データ領域315には、ATM制御部(AC)201に関するデータ316〜320と、内部デバイス(DEV)に関するデータ321〜325との2種類のデータが格納されている。
【0067】
時刻データ316は、管理サーバ106にデータを送信する時刻を表すデータである。保守員ID317は、暗号鍵をATM内に設定する作業者を識別するための識別コードである。ATMシリアルナンバー(ATM Ser.No.)318は、個々のATMを識別するための情報であり、いわゆる製造ラインで割り当てられた製造番号や、金融機関がATMを識別するために製造番号とは別に与えた識別番号等である。
【0068】
ACチャレンジコード(AC CH)319は、ATM制御部(AC)201が管理サーバ106の正当性を検証する際に、チャレンジ・レスポンス認証を行うために生成される。すなわち、ACチャレンジコード(AC CH)319は、ATM制御部(AC)201が、管理サーバ106を認証すると共に、当該管理サーバ106でトレーサビリティ用の登録データが適切に保存されたかを検証するために生成される。ACレスポンスコード(AC RS)320は、チャレンジ・レスポンス認証のために用いられるデータであって、ATM制御部(AC)201によって生成される。また、ACレスポンスコード(AC RS)320は、管理サーバ106から送信されるACレスポンスコード(AC RS)711(
図13参照)と一致しているか否かの比較対象となるデータである。
【0069】
内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321は、紙幣処理部203を識別するための情報であり、いわゆる製造ラインで割り当てられた製造番号や、製造番号とは別に保守会社等によって与えられた識別番号等である。また、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321は、紙幣処理部203から送信されたデータであり、暗号鍵生成のトレース情報の一部として管理サーバ106に送信される。
【0070】
DEVチャレンジコード1(DEV CH 1)322は、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321と共に、紙幣処理部203から送信されたデータであり、ATM制御部(AC)201に対し、紙幣処理部203がチャレンジ・レスポンス認証を行うために用いられる。また、DEVチャレンジコード1(DEV CH 1)322は、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321が管理サーバ106に確実に送信されたことを、紙幣処理部203が検証する際にも用いられる。
【0071】
DEVレスポンスコード1(DEV RS 1)323は、暗号鍵インストーラ303により、後述するDEVレスポンスコード2(DEV RS 2)324から所定の一方向変換アルゴリズムにより生成される。また、DEVレスポンスコード1(DEV RS 1)323は、ATM制御部(AC)201と管理サーバ106との両者に対し、紙幣処理部203の正当性を検証するために生成される。さらに、DEVレスポンスコード1(DEV RS 1)323により、暗号鍵トレース情報として、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321が管理サーバ106に確実に届いたことも検証することが可能となる。
【0072】
DEVチャレンジコード2(DEV CH 2)324は、暗号鍵インストーラ303により、DEVチャレンジコード1(DEV CH 1)322から一方向変換を行うことにより生成される。また、DEVチャレンジコード2(DEV CH 2)324は、紙幣処理部203により、管理サーバ106の正当性が検証される際に用いられ、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321と共に管理サーバ106に送信される。なお、管理サーバ106に送信されるデータは、これに限るものではなく、暗号鍵生成のトレースに寄与できるデータであれば、どのようなデータでもよい。
【0073】
DEVレスポンスコード2(DEV RS 2)325は、管理サーバ106によって生成されたレスポンスコードである。すなわち、適切な一方向変換によって、紙幣処理部製造番号321とDEVチャレンジコード1(DEV CH 1)と2つのデータから、DEVレスポンスコード2(DEV RS 2)325が管理サーバ106上で生成される。DEVレスポンスコード2(DEV RS 2)325は、紙幣処理部203により、管理サーバ106の正当性を検証するために生成される。
【0074】
紙幣処理部203内のメモリに格納されたプログラム及びデータ構成は、第1の実施例と同様であるため(
図4を参照)、詳細な説明を省略する。
【0075】
図12は、ATM101からの入出力データを管理サーバ106と送受信するために用いられる携帯端末104内の、メモリM104に格納されたプログラム・データ構成を示す図である。
【0076】
プログラム領域501には、4種類のソフトウェア502〜505が格納される。通信制御ソフトウェア502は、無線ネットワーク105を介して通信を行うためのソフトウェアである。データ送信ソフトウェア503は、データを管理サーバ106に送信するためのソフトウェアであり、例えば、ショートメッセージや電子メールソフトウェアである。データ入力ソフトウェア504は、ATM101の保守用表示部212に表示されたデータを携帯端末104に入力するためのソフトウェアであり、例えば、二次元コードを読み取るソフトウェアである。データ表示ソフトウェア505は、携帯端末104の情報をATM101に入力するためにデータの表示形式を変換するためのソフトウェアであり、例えば、バーコードや二次元コードの生成や表示をするソフトウェアである。
【0077】
データ領域506には、管理サーバ106に対して送信されるデータと、管理サーバ106から受信されるデータとが格納される。すなわち、ATM101の保守用表示部212に表示され、携帯端末104内に取り込まれ、管理サーバ106に送信されるデータと、管理サーバ106から受信され、ATM101に入力されるデータとが格納される。
【0078】
具体的には、データ領域506には、8種類のデータ507〜512、601、602が格納される。時刻データ507、保守員ID 508、ATMシリアルナンバー(ATM Ser.No.)509、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)510、ACチャレンジコード(AC CH)511及びDEVチャレンジコード2(DEV CH 2)512は、ATM制御部(AC)201のデータ領域315に格納されているデータ318、316、317、321、319及び324にそれぞれ対応するデータ。また、ACレスポンスコード(AC RS)601及びDEVレスポンスコード2(DEV RS 2)602は、ATM制御部(AC)201のデータ領域315に格納されているデータ320及び325にそれぞれ対応する。
【0079】
図13は、管理サーバ106内のメモリM106に格納されたプログラム・データ構成を示す図である。
【0080】
プログラム領域701には、2種類のソフトウェア702〜703が格納される。ATM暗号鍵生成管理ソフトウェア702は、ATM暗号鍵生成のログ管理や、受信したACチャレンジコード(AC CH)やDEVチャレンジコード2(DEV CH 2)から、ACレスポンスコード(AC RS)やDEVレスポンスコード2(DEV RS 2)を生成すると共に、ストレージ107に暗号鍵トレース情報を格納するソフトウェアである。通信制御ソフトウェア703は、ネットワーク105を介して携帯端末104と通信を行うためのソフトウェアである。
【0081】
データ領域704には、ログとして保存するデータとして、8種類のデータ705〜712が格納される。これらのデータの内、時刻データ705、保守員ID706、ATMシリアルナンバー(ATM Ser.No.)707、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)708、ACチャレンジコード(AC CH)709及びDEVチャレンジコード2(DEV CH 2)710は、携帯端末104から受信したデータであり、それぞれデータ507〜512に対応する。
【0082】
ACレスポンスコード(AC RS)711は、ATM暗号鍵生成管理ソフトウェア702によって生成されたデータである。ACレスポンスコード(AC RS)711を生成する際に、ATM暗号鍵生成管理ソフトウェア702は、入力された時刻データ705、保守員ID706、ATMシリアルナンバー(ATM Ser.No.)707及びACチャレンジコード(AC CH)709を用いて、適切な一方向変換処理(ハッシュ計算等)を実行する。
【0083】
DEVレスポンスコード2(DEV RS 2)712は、ACレスポンスコード(AC RS)711と同様に、ATM暗号鍵生成管理ソフトウェア702によって生成されたデータである。DEVレスポンスコード2(DEV RS 2)712を生成する際に、ATM暗号鍵生成管理ソフトウェア702は、入力された内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)708及びDEVチャレンジコード2(DEV CH 2)710を用いて、適切な一方向変換処理(ハッシュ計算等)を実行する。
【0084】
図14は、ストレージ107に格納される暗号鍵生成ログ(トレース情報)のデータ項目名を示した図である。項目801〜808は、管理サーバ106内のメモリM106に格納されたデータ705〜712にそれぞれ対応する。
【0085】
以下、
図15及び
図16を用いて、第2の実施例における全体処理の流れを説明する。紙幣処理部203において、暗号処理ファームウェア404の所定の乱数生成器により、DEVチャレンジコード1(DEV CH 1)407が生成される(S201)。その後、例えば、保守員により保守用表示部212に表示された所定のキーが押下されたことを検知した等の予め定めた処理が発生した場合、通信制御ファームウェア403により、内部デバイスシリアルナンバー(DEV Ser.No.)406と、DEVチャレンジコード1(DEV CH 1)407とは、ATM制御部(AC)201に送信される(S202)。ATM制御部(AC)201では、内部デバイスシリアルナンバー(DEV Ser.No.)406とDEVチャレンジコード1(DEV CH 1)407とを受信し、データ領域315内の、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321及びDEVチャレンジコード1(DEV CH 1)322としてそれぞれに格納する。その後、暗号鍵インストーラ303は、ATM制御部(AC)が動作している環境が外部端末(一般のノートパソコン等)ではなく、ATM101の内部であることを検証するために、ATMの環境認識を行う(S203)。
【0086】
S201〜S203の処理は、第1の実施例におけるS101〜S103の処理と同様である。但し、第2の実施例の場合、ATMアプリケーション302により、ATM101とホストコンピュータ103とが、金融取引ネットワーク102を介して接続されているか否かを判断することにより、正常な運用がされているATMであることも確認可能である。ATM101に暗号鍵を設定する際には、保守モードでATM101を起動し、通常の取引サービス提供を停止する必要がある。保守モードである場合、ATM101とホストコンピュータ103とが接続されているか否かを判断することは、一般的に不可能である。このような場合は、ATM101内のログデータに含まれる、電子ジャーナルなどの時刻を含むデータを参照し、ホストコンピュータ103と接続され、正常な運用がされているATMであることを確認しても良い。
【0087】
ATMの環境認識に失敗した場合の処理は、第1の実施例と同様であるため、説明を省略する。
【0088】
ATMの環境認識に成功した場合、所定の乱数生成器を用いて、ACチャレンジコード(AC CH)319が生成される(S204)。その後、DEVチャレンジコード1(DEV CH 1)322から、所定の変換アルゴリズムを用いてDEVチャレンジコード2(DEV CH 2)324を生成する(S205)。当該変換アルゴリズムは、ATM制御部(AC)201と紙幣処理部203との間で共有されているものとし、例えば、紙幣処理部203から送られてきた管理サーバ106への登録データである、内部デバイスシリアルナンバー(DEV Ser.No.)406を、変換アルゴリズムの入力の一つにしても良い。
【0089】
その後、保守員ID316、ATMシリアルナンバー(ATM Ser.No.)317、時刻データ318、ACチャレンジコード(AC CH)319、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321及びDEVチャレンジコード2(DEV CH 2)324を、管理サーバ認証用データとして保守用表示部212に表示する(S206)。
【0090】
保守用表示部212に表示される、管理サーバへの認証画面の例を
図17に示す。1701〜1706は、それぞれ
図11に示す時刻データ318、保守員ID316、ATMシリアルナンバー(ATM Ser.No.)317、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321、ACチャレンジコード(AC CH)319及びDEVチャレンジコード2(DEV CH 2)324に対応する。1707は、1701〜1706の情報を格納した2次元コードである。このように、保守用表示部212への表示は、テキスト形式による表示の他、所定のリーダで読取ることが可能であれば、バーコードまたは2次元コードのようなコード形式による表示でも良い。これにより、保守員は、管理サーバ認証用データを自らが保有している携帯端末104に入力することが可能となる。なお、管理サーバ認証用データは、無線の他の手段によりATM101の外部に出力しても良い。
【0091】
また、保守用表示部212に表示された2次元コード1707が外光などの悪条件により携帯端末の読取装置で読み取りづらい場合は、プリンタから印字された2次元コードを読み取ることで処理を継続しても良い。この場合、1708に表示された「印刷」キーが押下されたときに、ATMに実装されているいずれかの印字手段を用いて、2次元コードを印字する。さらに、無線通信等の手段により、管理サーバ認証用データをATM101の外部に出力しても良い。
【0092】
携帯端末104は、管理サーバ認証用データが入力されたことを確認し、データ領域506内のデータ507〜512に前述の情報を格納する(S207)。管理サーバ認証用データの携帯端末104への入力は、例えば、データ入力ソフトウェア504が、バーコードリーダや2次元コードリーダを備えている場合、当該リーダを用いてATM101の保守用表示部212に表示されたコード情報を読み取るようにしても良い。携帯端末104の表示部に表示される、管理サーバへの認証画面の表示例を
図18に示す。1801〜1806は、それぞれ
図11に示す時刻データ318、保守員ID316、ATMシリアルナンバー(ATM Ser.No.)317、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)321、ACチャレンジコード(AC CH)319及びDEVチャレンジコード2(DEV CH 2)324(すなわち、
図17に示す1701〜1706)に対応する。
【0093】
その後、「送信」キー1807の押下が検出されると、データ送信ソフトウェア503は、通信ネットワーク105を介して、管理サーバ106にデータ507〜512を送信する(S208)。
【0094】
管理サーバ106は、携帯端末104より送信されたデータ507〜512を受信し、ATM暗号鍵生成管理ソフトウェア702により、データ領域704上のデータ705〜710として格納する(S209)。その後、ATM暗号鍵生成管理ソフトウェア702は、所定の変換アルゴリズムを用いて、時刻データ705、保守員ID706、ATMシリアルナンバー(ATM Ser.No.)707及びACチャレンジコード(AC CH)709から、ACレスポンスコード(AC RS)711を生成する。同様に、ATM暗号鍵生成管理ソフトウェア702は、所定の変換アルゴリズムを用いて、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)708及びDEVチャレンジコード2(DEV CH 2)710から、DEVレスポンスコード2(DEV RS 2)712を生成する(S210)。
【0095】
所定の変換アルゴリズムとは、例えば、チャレンジコード(AC CH、DEV CH2)とそれ以外の入力データとを結合した上で、それに所定の一方向変換関数を掛けてレスポンスコードを生成するような関数が考えられる。このように、管理サーバ106とATM制御部(AC)201の間で、または管理サーバ106と紙幣処理部203の間でそれぞれ共有された変換アルゴリズムを用いると共に、レスポンスコード(AC RS、DEV RS 2)の生成の際に、チャレンジコードとそれ以外の入力データとを含めることにより、レスポンスコードを検証するATM制御部(AC)201や、紙幣処理部203は、送信したデータが確実に管理サーバ106に届いたことを確認することが可能となる。
【0096】
ATM暗号鍵生成管理ソフトウェア702は、携帯端末104より受信したデータと生成された2種類のレスポンスコードとを、
図14に示す暗号鍵生成ログ(トレース情報)として、ストレージ107に格納する(S211)。その後、ATM暗号鍵生成管理ソフトウェア702は、ACレスポンスコード(AC RS)711とDEVレスポンスコード2(DEV RS 2)712とを、携帯端末104に対して送信する(S212)。
【0097】
S209〜S212の処理を実行している際に、携帯端末104より送信されたデータ507〜512の全部または一部が同一であるデータを、一定時間内に繰り返し管理サーバ106で受信した場合、管理サーバ106、ATM101、または紙幣処理部203に対して不正なアクセスがされていると見做し、携帯端末104に対するデータの送信を中止する。すなわち、携帯端末104より送信されたデータ507〜512の全部または一部が同一であるデータに対する連続受信回数や一定期間内の受信回数に上限を設け、その上限を超えた場合に、ストレージ107にその旨の記録を行い、管理サーバ106の管理者に対して警告を発する。または、不正なアクセスがあった旨の情報をACレスポンスコード(AC RS)711及びDEVレスポンスコード2(DEV RS 2)712に含めることも可能である。これにより、レスポンスコードを受信したATM制御部(AC)201や、紙幣処理部203は、管理サーバ106に対する不正のアクセスがあったことを判断することが可能となる。その結果、適切なATMの運用環境ではない(またはATM制御部(AC)や紙幣処理部が攻撃されていると検知している)と判断して、その後の暗号鍵生成処理を拒絶することが可能となる。
【0098】
ACレスポンスコード(AC RS)711とDEVレスポンスコード2(DEV RS 2)712とを受信した携帯端末104は、これらのレスポンスコードを、データ領域506のACレスポンスコード(AC RS)601、DEVレスポンスコード2(DEV RS 2)602として格納する(S213)。その後、データ表示ソフトウェア505は、当該601及びDEVレスポンスコード2(DEV RS 2)602を、例えばバーコードや2次元コード、あるいは、テキストの形で携帯端末の表示部に表示する(S214)。携帯端末の表示部に表示される、管理サーバのレスポンス受信画面の表示例を
図19に示す。1901及び1902は、それぞれ、
図13に示すACレスポンスコード(AC RS)711及びDEVレスポンスコード2(DEV RS 2)712に対応する。1903は、1901及び1902の情報を格納した2次元コードである。
【0099】
表示されたバーコードや2次元コードは、監視カメラ209によって読取られるたり、テキストは保守員により保守用キーボード213を介して入力され、その結果を保守用表示部212に表示する。保守用表示部212に表示される、管理サーバのレスポンス受信画面の表示例を
図20に示す。2001及び2002は、それぞれ、
図13に示すACレスポンスコード(AC RS)711及びDEVレスポンスコード2(DEV RS 2)712(すなわち、
図19に示す1901及び1902)に対応する。「2次元コード読み込み」キー2003は、携帯端末104の表示部に表示された2次元コード1903を、監視カメラ209で読み込むためのキーである。2004は、ACレスポンスコード(AC RS)を検証するためのキーである。
【0100】
管理サーバから送られてきたレスポンスコード(AC RS、DEV RS 2)の内、ACレスポンスコード(AC RS)は、ATM制御部(AC)201が正当性を検証する。具体的には、「検証」キー2004への押下が検出されると、暗号鍵インストーラ303は、S210で説明した変換アルゴリズムと同一の変換アルゴリズムを用いて、ACレスポンスコード(AC RS)320の妥当性を検証する(S215)。すなわち、データ316〜319が変換アルゴリズムに入力されることにより生成されたACレスポンスコード(AC RS)320が、携帯端末104より受信されたACレスポンスコード601と一致するか否かが検証される。これにより、ATM制御部(AC)201は、通信相手が適切な管理サーバ106であることを検証すると共に、送信した登録データが管理サーバに確実に保存されたことを確認することが可能となる。
【0101】
一致していない場合、携帯端末104による通信不良や、保守員による操作ミスがあったと判断し、保守員に操作ミスの確認を促す。その結果、
図19に示す、携帯端末104の管理サーバのレスポンス受信画面のACレスポンスコード(AC RS)1901及びDEVレスポンスコード2(DEV RS 2)1902と、
図20に示すATMの管理サーバのレスポンス受信画面のACレスポンスコード(AC RS)2001及びDEVレスポンスコード2(DEV RS 2)2002と、が一致している場合は、操作ミスではなく通信不良と判断される。そして、データ316〜319、321、324のデータを管理サーバ106に再度送信するべく、S206(またはS208)以降の処理を再度実行する。
【0102】
また、通信不良などにより、ACレスポンスコード(AC RS)601が得られない場合は、一時的な暗号鍵生成状態に移行する。すなわち、ACレスポンスコード(AC RS)320の妥当性が正しく検証された場合と同様に、その後の処理において、ATM制御部(AC)201と、紙幣処理部203との間の暗号通信に必要な暗号鍵を生成するモードに移行する。但し、生成された暗号鍵に対して、有効期限を設け、適切なACレスポンスコード(AC RS)601が、有効期限内に暗号鍵インストーラ303に入力される必要がある。有効期限内に適切なACレスポンスコード(AC RS)601が入力されなかった場合は、生成された暗号鍵は無効となり、ATM制御部(AC)201と、紙幣処理部203との間の暗号通信を禁止するように、暗号鍵インストーラ303は設定を変更する。
【0103】
S215の処理が終了すると、暗号鍵インストーラ303は、所定の変換アルゴリズムを用いて、DEVレスポンスコード2(DEV RS 2)325から、DEVレスポンスコード1(DEV RS 1)323を生成する(S216)。当該変換アルゴリズムは、ATM制御部(AC)201と、紙幣処理部203との間で共有されている。また、前述した一時的な暗号鍵生成状態に移行しているか否かにより、DEVレスポンスコード1(DEV RS 1)323を生成する変換アルゴリズムを変更してもよい。そして、生成されたDEVレスポンスコード1(DEV RS 1)323は、紙幣処理部203に送信される(S217)。
【0104】
紙幣処理部203では、DEVレスポンスコード1(DEV RS 1)323を受信すると、所定の変換アルゴリズムを用いて、内部デバイスシリアルナンバー(DEV Ser.No.)406とDEVチャレンジコード1(DEV CH 1)407とから、DEVレスポンスコード1(DEV RS 1)408を生成する。そして、受信したDEVレスポンスコード1(DEV RS 1)323と、DEVレスポンスコード1(DEV RS 1)408とが一致するか否かを検証する(S218)。
【0105】
ここで、所定の変換アルゴリズムとは、(1)ATM制御部(AC)201のDEVチャレンジコード1(DEV CH 1)322から、DEVチャレンジコード2(DEV CH 2)324を生成する変換アルゴリズムと、(2)管理サーバ106における、内部デバイス(DEV)シリアルナンバー(DEV Ser.No.)708とDEVチャレンジコード2(DEV CH 2)710とからDEVレスポンスコード2(DEV RS 2)712を生成する変換アルゴリズムと、(3)ATM制御部(AC)201のDEVレスポンスコード2(DEV RS 2)325からDEVレスポンスコード1(DEV RS 1)323を生成する変換アルゴリズムと、の3つの変換アルゴリズムを結合したアルゴリズムである。
【0106】
このように、紙幣処理部203の変換アルゴリズムは、ATM制御部(AC)201及び管理サーバ106と部分的に共有されている。その結果、内部デバイスシリアルナンバー(DEV Ser.No.)406が、ATM制御部(AC)201経由で、管理サーバ106のストレージ107に確実に登録されたかを、DEVレスポンスコード1(DEV RS 1)323と、DEVレスポンスコード1(DEV RS 1)408との一致を検証することにより、紙幣処理部203は確認することが可能となる。この一致検証により、紙幣処理部203は、安全なATM運用環境であると判断し、その後暗号鍵生成コマンドを受信した場合に暗号鍵生成処理を実行する。
【0107】
ここで、紙幣処理部203は、安全なATM運用環境であると判断した後に、暗号鍵生成コマンドを受信するまでの間に時間の上限を設けることも可能である。時間制限を設けることにより、保守員がATMを操作中に現場から離れてしまった場合に、第三者が暗号鍵生成コマンドを、紙幣処理部203に送信して、不正に暗号鍵を生成されるリスクが回避される。
【0108】
DEVレスポンスコード1(DEV RS 1)323と、DEVレスポンスコード1(DEV RS 1)408とが一致しない場合は、暗号鍵を生成する適切な環境にないとして、紙幣処理部203は、その後、暗号鍵生成コマンドを受信したとしても処理を拒絶する。または、携帯端末104の管理サーバのレスポンス受信画面の1901及び1902と、ATMの管理サーバのレスポンス受信画面の2001及び2002とが一致していることによりネットワーク105の通信不良と判断された場合や、保守員による操作ミスがあったと判断された場合において、一定回数以内であれば、S201以降の処理を再度実行する。一定回数を超えた場合、紙幣処理部203に対して不正なアクセスがされていると見做し、一定期間S201以降の処理の再実行を拒絶する。
【0109】
ATM制御部(AC)201が一時的な暗号鍵生成状態の場合、DEVレスポンスコード1(DEV RS 1)323は、その状態に応じた変換アルゴリズムで生成されているため、紙幣処理部203は、その変換アルゴリズムを用いてDEVレスポンスコード1(DEV RS 1)408を生成する。そして、DEVレスポンスコード1(DEV RS 1)323と一致するか検証し、一致すれば、一時的な暗号鍵生成状態と判断して、その後、暗号鍵生成コマンド受信した場合は暗号鍵を生成する。
【0110】
管理サーバ106に対する不正なアクセスが検知されている場合、DEVレスポンスコード1(DEV RS 1)408に、当該情報が含まれているため、紙幣処理部203が当該情報の有無を検証することにより、管理サーバ106に対する不正なアクセスを確認することが可能となる。その場合、紙幣処理部203が適切なATMの運用環境でない(またはATM制御部(AC)や紙幣処理部が攻撃されていると検知している)と判断して、その後に暗号鍵生成コマンドを受信した場合でも暗号鍵生成処理を、無期限、あるいは、一定期間拒絶する。
【0111】
本実施例は、暗号鍵が一切設定されていない自動取引装置に対して暗号鍵を新規に設定する場合において、紙幣処理部203の通信相手である管理サーバ(
図9(b)に示す管理サーバ)と、ATM制御部(AC)201の通信相手である管理サーバ(
図9(c)に示す管理サーバ)とが同一の管理サーバであることを前提として説明したが、異なる管理サーバとしても良い。この場合、ATM制御部(AC)201を経由して、紙幣処理部203が、
図9(b)に示す管理サーバ(すなわち、紙幣処理部203に接続された管理サーバ)に情報を送信する処理となる。
【0112】
なお、本実施例では、ATM外部の管理サーバと通信を行うことを前提として説明したが、管理サーバの代わりにATM内部の暗号化キーパッドを用いてもよい。暗号化キーパッドは、ホストコンピュータ103と通信を行う機能があるため、暗号化キーパッドとホストとの通信の有無により、当該ATMが運用中のATMであるか否かを判断してもよい。
【0113】
また、本実施例では、保守モードにおいて、ATM101とホストコンピュータ103との接続は切断されていることが一般的であると説明したが、ATM101とホストコンピュータ103とが接続されていても良い。
【0114】
また、本実施例では、携帯端末104を備えた自動取引システムS2について説明したが、
図21に示すように、ATM101と管理サーバ106とが、いずれも保守用ネットワーク105に接続された自動取引システムS3としても良い。このとき、
図22に示すように、管理サーバへの認証画面に、管理サーバへのアクセスキー1709を追加しても良い。このような画面にすることにより、携帯端末を備えていなくても、ATM101と管理サーバ106との間で情報の送受信を実行することが可能となる。