(57)【特許請求の範囲】
【請求項１】
非接触ＩＣカード内のデータへアクセスする機能を有する端末装置であって、
前記端末装置は、少なくとも電源がオフの状態にあるときには前記非接触ＩＣカード内のデータへアクセスするために必要とされる鍵情報を内部に保持しておらず、
前記鍵情報を保持しているサーバ装置からネットワークを介して前記鍵情報を取得し、該鍵情報を一時的に記憶装置に保持する鍵情報管理手段と、
前記鍵情報管理手段から前記鍵情報を受け取り、該鍵情報を用いて前記非接触ＩＣカード内のデータへアクセスする処理を実行する処理手段と、
前記端末装置に対して物理的に加えられる不正な操作を検知するために、前記端末装置の状態を監視し、前記端末装置の状態の変化から前記端末装置に対して前記不正な操作が加えられた可能性を推定する状態監視手段と、を有し、
前記鍵情報管理手段は、前記鍵情報の保持方法として、セキュリティレベルの異なる複数の保持モードを有しており、前記状態監視手段において推定された前記可能性が高くなるほどセキュリティレベルの高い保持モードに切り替える
ことを特徴とする端末装置。
【請求項２】
前記記憶装置は、揮発性メモリと、耐タンパ性を有する記憶装置である耐タンパデバイスとを含み、
前記複数の保持モードは、前記揮発性メモリに前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記揮発性メモリに前記鍵情報を保持することなく、前記耐タンパデバイスに前記鍵情報を保持するモードを含む
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記複数の保持モードは、前記記憶装置に前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記記憶装置に前記鍵情報を保持することなく、前記処理手段から要求がある毎に前記サーバ装置から前記鍵情報を取得し前記処理手段に引き渡すモードを含む
ことを特徴とする請求項１又は２に記載の端末装置。
【請求項４】
前記状態監視手段は、前記端末装置に組み込まれた位置センサから得られる位置情報に
基づいて、前記端末装置の位置の変化を検知する手段を含む
ことを特徴とする請求項１〜３のうちいずれか１項に記載の端末装置。
【請求項５】
前記状態監視手段は、前記端末装置に組み込まれたカメラから得られる前記端末装置の周囲の画像の変化に基づいて、前記端末装置の位置の変化を検知する手段を含む
ことを特徴とする請求項１〜４のうちいずれか１項に記載の端末装置。
【請求項６】
前記状態監視手段は、前記端末装置に組み込まれた振動センサの出力に基づいて、前記端末装置に加えられた衝撃又は前記端末装置の動きを検知する手段を含む
ことを特徴とする請求項１〜５のうちいずれか１項に記載の端末装置。
【請求項７】
前記状態監視手段は、前記ネットワーク又は前記サーバ装置との通信の切断を検知する手段を含む
ことを特徴とする請求項１〜６のうちいずれか１項に記載の端末装置。
【請求項８】
前記状態監視手段は、前記端末装置に組み込まれた照度センサの出力に基づいて、前記端末装置の内部の照度変化を検知する手段を含む
ことを特徴とする請求項１〜７のうちいずれか１項に記載の端末装置。
【請求項９】
前記非接触ＩＣカードは鉄道の乗車カードであり、前記端末装置は駅に設置される自動改札機である
ことを特徴とする請求項１〜８のうちいずれか１項に記載の端末装置。
【請求項１０】
非接触ＩＣカード内のデータへアクセスするために必要とされる鍵情報を保持しているサーバ装置と、
前記サーバ装置とネットワークを介して接続された、請求項１〜９のうちいずれか１項に記載の端末装置と、を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非接触ＩＣカードを処理する端末装置に関し、特に、非接触ＩＣカードにアクセスするために必要とされる鍵情報のセキュリティ対策に関するものである。
【背景技術】
【０００２】
データの記録や演算を行うＩＣチップを内蔵しており、リーダ／ライタを備えた端末装置との間で近距離無線通信によるデータ交換が可能なカード（非接触ＩＣカードと呼ばれる）が実用化されている。非接触ＩＣカードは従来の磁気カード等に比べて利便性に優れるため、最近では、鉄道やバスの乗車カード、電子マネー、クレジット決済など、様々なサービスに広く利用されている。なお、携帯電話に非接触ＩＣカードと同等の機能をもたせたものや、カード以外の形状の媒体を用いたものも存在するが、本明細書ではそれらも広義の非接触ＩＣカードと呼ぶこととする。
【０００３】
この種の非接触ＩＣカードにおいては、データの不正な読み出しや改ざんを防止するために、データの暗号化、端末装置やＩＣカードの認証などに鍵情報（秘密鍵）を用いるのが一般的である。この鍵情報は、当然のことながら、第三者に漏えいしないよう厳重な管理が要求されるため、従来の端末装置ではＳＡＭ（Secure Application Module）と呼ば
れる耐タンパ性のあるデバイスに鍵情報を保管するという対策がとられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−８５８８号公報
【特許文献２】特開２００８−３３７００号公報
【特許文献３】特開２００７−１４１０８８号公報
【特許文献４】特開２００５−１００２４５号公報
【特許文献５】特開２００３−１５０９９３号公報
【特許文献６】特開２００６−４２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明者らは、従来は端末装置単独で行われていたＩＣカード処理を、端末装置とサーバ装置からなるクライアント−サーバシステムで分散処理することを検討している。これは、端末装置自体の構成を簡易化及び小型化することで、端末装置の価格、ひいてはシステムの導入コストを低減することを目的としたものである。しかしながら、このようなクライアント−サーバシステムを実現するにあたっては、以下に述べるような新たな課題をクリアする必要がある。
【０００６】
まず、端末装置の盗難による鍵情報の漏えいリスクの増大が懸念される。従来の端末装置（例えば、自動改札機、券売機、ＰＯＳ端末、ＫＩＯＳＫ端末など）はそれ自体大型で重量もあるために持ち去ることが困難であったが、端末装置が小型・軽量になると盗難が容易になる。そのため、従来のように端末装置の内部に鍵情報を保管しておくことは、鍵情報の漏えい防止という観点からは望ましくない。
【０００７】
とはいえ、端末装置内に鍵情報を置かない構成、つまり、サーバ装置にのみ鍵情報を置き、サーバ装置の側で認証や暗号化等の処理をすべて行うという構成は現実的ではない。端末装置とサーバ装置の間の通信回数の増加がボトルネックとなり、処理速度の低下を招くという別の問題が発生するからである。例えば、自動改札機では１枚のＩＣカードあた
りの改札処理を約０．１〜０．２秒で完了することが要求されるが、この要求仕様を満足できない可能性もでてくる。また、自動改札機のようなインフラ設備は、何らかの異常事態が生じた場合でも必要最低限の業務は継続できること（これを可用性と呼ぶ）が望まれるところ、サーバ装置側に鍵情報を置く構成ではネットワーク異常等によりサーバ装置との通信が途絶すると、端末装置単独ではＩＣカードへのアクセスを一切行えないという問題もある。
【０００８】
本発明は上記実情に鑑みてなされたものであって、非接触ＩＣカードの処理を端末装置とサーバ装置からなるシステムで行う構成において、システムの処理速度及び可用性を維持しつつ安全性の高い鍵情報の管理を行うことのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明に係る端末装置は、非接触ＩＣカード内のデータへアクセスする機能を有する端末装置であって、前記端末装置は、少なくとも電源がオフの状態にあるときには前記非接触ＩＣカード内のデータへアクセスするために必要とされる鍵情報を内部に保持しておらず、前記鍵情報を保持しているサーバ装置からネットワークを介して前記鍵情報を取得し、該鍵情報を一時的に記憶装置に保持する鍵情報管理手段と、前記鍵情報管理手段から前記鍵情報を受け取り、該鍵情報を用いて前記非接触ＩＣカード内のデータへアクセスする処理を実行する処理手段と、を有していることを特徴とする。
【００１０】
この構成によれば、端末装置の電源がオフの状態にあるときは端末装置の内部に鍵情報が存在しないため、たとえ端末装置が盗難されリバースエンジニアリングされたとしても、そこから鍵情報が漏えいすることはない。一方、端末装置の稼働中は、サーバ装置から取得した鍵情報が端末装置内の記憶装置に一時的に保持されるため、端末装置の側で鍵情報を用いた認証やデータアクセスの処理が実行可能となり、高速な処理を実現できる。また、ネットワーク又はサーバ装置の異常により、サーバ装置との通信が突然不調になったとしても、端末装置内に一時的に保持されている鍵情報を利用できるために、端末装置単独で必要最低限の業務を継続することが可能となる。
【００１１】
ここで、前記鍵情報管理手段は、前記端末装置の電源がオフされる時、又は、非接触ＩＣカード内のデータへアクセスする機能が無効化される時に、前記端末装置の記憶装置に保持されている前記鍵情報を消去する処理を実行することが好ましい。このように鍵情報が不要となるタイミングで積極的に鍵情報を消去することで、鍵情報の漏えいのリスクを一層低減することができる。なお、前記鍵情報管理手段がサーバ装置から鍵情報を取得するタイミングは任意であるが、例えば、前記端末装置の起動時（電源がオンされた時）、又は、非接触ＩＣカード内のデータへアクセスする機能が有効化される時などに、鍵情報の取得処理を実行するとよい。
【００１２】
鍵情報を保持する記憶装置としては、揮発性、不揮発性のいずれの記憶装置を用いてもよいが、アクセス速度が速く、電源がオフになると自動的に鍵情報が消失するという点から揮発性メモリなどの揮発性の記憶装置の方が好ましい。また、さらに安全性を高めるため、耐タンパ性をもつ記憶装置を用いることも好ましい。端末装置内に複数種類の記憶装置を設け、必要とされるセキュリティレベルに応じて格納する記憶装置を選択してもよい。また、鍵情報を保持する際には、鍵情報をそのまま（つまり平文で）記憶装置に格納してもよいし、鍵情報を符号化（暗号化）又は分割した状態で記憶装置に格納してもよい。
【００１３】
また、端末装置が、前記端末装置に対して物理的に加えられる不正な操作を検知するために、前記端末装置の状態を監視する状態監視手段を更に有するとよい。本明細書におい
て「端末装置に対して物理的に加えられる不正な操作」とは、端末装置から鍵情報が不正取得されるリスクを伴う操作であって、例えば、盗難（持ち去り）、破壊、分解などが該当する。また、監視の対象とされる「端末装置の状態」とは、端末装置に対して不正な操作が行われた場合に変化し得るものであればよい。このような監視手段の監視結果に基づき、必要に応じて、端末装置側での鍵情報の保持・管理の仕方を制御することで、鍵情報の安全性をより高めることができる。
【００１４】
例えば、鍵情報管理手段は、前記状態監視手段により前記不正な操作が検知された場合に、前記端末装置の記憶装置に保持されている前記鍵情報を消去する処理を実行するとよい。このような対処を採ることで、端末装置のリバースエンジニアリングによる鍵情報の不正取得を未然に防止することができる。
【００１５】
また、鍵情報管理手段が、前記状態監視手段において検知された前記端末装置の状態の変化に応じて、前記鍵情報の保持方法を変更するという構成を採ることも好ましい。この構成によれば、鍵情報の保持方法を変更することで、端末装置内の鍵情報の安全性を担保することができる。そして、端末装置内の鍵情報をただちに消去するという構成に比べて、システムの可用性や処理速度の低下を抑えることができるという利点もある。なお、鍵情報の保持方法の変更には、さまざまなやり方が考えられる。例えば、鍵情報を保持（格納）する記憶装置を変更したり、鍵情報を平文で保持するか暗号化（符号化）した状態で保持するかを変更したり、鍵情報の暗号化（符号化）の方法や強度を変更したり、鍵情報を端末装置内で保持するかサーバ装置から毎回取得するかを変更したりすることができる。
【００１６】
好ましくは、前記状態監視手段が、前記端末装置の状態の変化から、前記端末装置に対して前記不正な操作が加えられた可能性を推定し、前記鍵情報管理手段が、前記鍵情報の保持方法として、セキュリティレベルの異なる複数の保持モードを有しており、前記可能性が高くなるほどセキュリティレベルの高い保持モードに切り替えるとよい。鍵情報の安全性の観点からは当然セキュリティレベルが高い方が望ましいが、セキュリティレベルの高さはシステムの処理速度や可用性とトレードオフの関係にあるため、必要以上にセキュリティレベルを高めることは適当ではない。そこで、上記のように、不正な操作が加えられた可能性（鍵情報の漏えいリスクということもできる）が高くなるほどセキュリティレベルを高めるような制御を行うようにすることで、鍵情報の安全性とシステムの処理速度・可用性とを適切なバランスに設定することができる。
【００１７】
具体的には、前記記憶装置が、揮発性メモリと、耐タンパ性を有する記憶装置である耐タンパデバイスとを含んでおり、前記複数の保持モードが、前記揮発性メモリに前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記揮発性メモリに前記鍵情報を保持することなく、前記耐タンパデバイスに前記鍵情報を保持するモードを含んでいるとよい。この構成によれば、平常時には、揮発性メモリに鍵情報を保持するモードを利用することで、高速なＩＣカード処理が実現できる。そして、異常時には、耐タンパデバイスに鍵情報を保持するモードを利用することで、処理速度は若干低下するものの、揮発性メモリに鍵情報を保持するよりも安全性を高めることができる。
【００１８】
また、前記複数の保持モードが、前記記憶装置に前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記記憶装置に前記鍵情報を保持することなく、前記処理手段から要求がある毎に前記サーバ装置から前記鍵情報を取得し前記処理手段に引き渡すモードを含むことも好ましい。この構成によれば、平常時には、端末装置内の記憶装置に鍵情報を保持するモードを利用することで、高速なＩＣカード処理が実現できる。そして、異常時には、サーバ装置から鍵情報を都度取得するようにすることで、処理速度は低下するものの、端末装置内に鍵情報を保持するよりもはるかに安全性
を高めることができる。
【００１９】
前記状態監視手段は、前記端末装置に組み込まれた位置センサから得られる位置情報に基づいて、前記端末装置の位置の変化を検知する手段を含むとよい。このような方法で端末装置の位置の変化を監視することにより、不正な操作の一つである「盗難」を高い精度で検知することが可能である。
【００２０】
前記状態監視手段は、前記端末装置に組み込まれたカメラから得られる前記端末装置の周囲の画像の変化に基づいて、前記端末装置の位置の変化を検知する手段を含むとよい。このような方法で端末装置の位置の変化を監視することにより、不正な操作の一つである「盗難」を高い精度で検知することが可能である。
【００２１】
前記状態監視手段は、前記端末装置に組み込まれた振動センサの出力に基づいて、前記端末装置に加えられた衝撃又は前記端末装置の動きを検知する手段を含むとよい。このような方法で端末装置に加えられた衝撃又は端末装置の動きを監視することにより、不正な操作の一つである「破壊」又は「盗難」を高い精度で検知することが可能である。
【００２２】
前記状態監視手段は、前記ネットワーク又は前記サーバ装置との通信の切断を検知する手段を含むとよい。これにより、不正な操作の一つである「盗難」又は「破壊」を検知することが可能である。
【００２３】
前記状態監視手段は、前記端末装置に組み込まれた照度センサの出力に基づいて、前記端末装置の内部の照度変化を検知する手段を含むとよい。これにより、不正な操作の一つである「破壊」又は「分解」を高い精度で検知することが可能である。
【００２４】
なお、本発明は上述した手段の少なくとも一部を含む端末装置、あるいは、この端末装置とサーバ装置とを有する情報処理システムとして捉えることができる。また本発明は、上述した処理の少なくとも一部を含む鍵情報の管理方法、もしくは、非接触ＩＣカードの処理方法、または、これらの方法をコンピュータとしての端末装置に実行させるプログラムや、このプログラムを記録したコンピュータ読み取り可能な記録媒体として捉えることもできる。上述した手段及び処理は、技術的な矛盾がない限り、任意に組み合わせることが可能である。
【発明の効果】
【００２５】
本発明によれば、非接触ＩＣカードの処理を端末装置とサーバ装置からなるシステムで行う構成において、システムの処理速度及び可用性を維持しつつ、安全性の高い鍵情報の管理を行うことができる。
【図面の簡単な説明】
【００２６】
【図１】情報処理システムの構成例を示す図。
【図２】図１の情報処理システムで用いられる端末装置の構成例を示す図。
【図３】初期化処理のフローを示す図。
【図４】セキュリティアクションの決定フローを示す図。
【図５】業務プログラムから鍵情報の要求を受けた場合の処理フローを示す図。
【図６】実施例に係る自動改札システムの構成例を示す図。
【図７】ネットワーク障害検知時の改札機の処理フローを示す図。
【発明を実施するための形態】
【００２７】
以下に図面を参照して、本発明の好適な実施の形態を詳しく説明する。
【００２８】
＜システムの構成＞
図１は、本発明の実施形態に係る情報処理システムの一構成例を示している。この情報処理システムは、非接触ＩＣカード３を利用したサービスに関わる業務処理を行うシステムであり、リーダ／ライタ１０を備える端末装置１と、複数台の端末装置１を統括するサーバ装置２とから構成されている。端末装置１とサーバ装置２の間は、ＬＡＮ（ローカルエリアネットワーク）、又はインターネットや専用回線などのＷＡＮ（ワイドエリアネットワーク）により接続される。端末装置1及びサーバ装置２の台数やネットワーク上の配
置は、システムの規模、サービス内容、取り扱うデータなどに応じて適宜設計される。
【００２９】
この情報処理システムは非接触ＩＣカード３を用いたあらゆるサービスに適用可能である。例えば、鉄道・バスなどの乗車カード、電子マネーカード、プリペイドカード、クレジットカード、ポイントカード、電子チケットカード、入退室や身分証明のためのＩＤカードなどがその代表例である。
【００３０】
非接触ＩＣカードを利用したサービスの方式には、大別して、カードバリュー方式とセンターバリュー方式とがある。カードバリュー方式とは、ＩＣカードの中にバリューデータが記録されており、基本的にＩＣカードと端末装置の間でバリュー交換や決済処理などが完結するものである。一方、センターバリュー方式とは、ＩＣカードの中にはバリューデータが記録されておらず、センター側のデータベースで会員全員のバリューデータを一括管理する方式である。ＩＣカードの利便性や拡張性を生かせるカードバリュー方式が現在の主流であるが、カードバリュー方式の場合は、ＩＣカード内のデータの不正な読み出しや改ざんを防止するために、鍵情報を用いたセキュリティ対策を講じることが必須となる。
【００３１】
本実施形態の情報処理システムもカードバリュー方式のシステムを想定している。ただし、鉄道の自動出改札システムに代表される従来のシステムでは、端末装置（自動改札機、券売機）が単体で業務処理を行っていたのに対し、本システムでは、端末装置１とサーバ装置２とでクライアント−サーバシステムを構築し、業務処理を端末装置１とサーバ装置２の間で分担（分散処理）する構成となっている。このように従来端末装置１で行っていた処理の一部をサーバ装置２に分担させることで、端末装置１の構成を簡易化し（シンクライアント化ともいう）、端末装置１の小型化・低コスト化を図ることができる。
【００３２】
端末装置１とサーバ装置２の処理の分担は任意に設計することができるが、少なくとも鍵情報を用いる処理（ＩＣカード３や端末装置１の認証、データの暗号化／復号、ＩＣカード３に対するデータの読み書き）は端末装置１の側で実行することが好ましい。鍵情報を用いる処理をサーバ装置２の側で実行しようとすると、端末装置１とサーバ装置２の間の認証回数や通信回数の増加がボトルネックとなり処理速度が低下する可能性があるからである。本実施形態では基本的に、鍵情報を用いる処理は端末装置１が担い、運賃計算や電子マネー決済といった演算処理はサーバ装置２が担う構成とする。
【００３３】
このように処理を分担した場合、端末装置１の側に鍵情報が存在している必要がある。しかしながら、端末装置１の中に固定的に鍵情報を保管しておくのは、端末装置１の盗難による鍵情報の漏えいの危険性があるため好ましくない。そこで本システムでは、図１に示すようにサーバ装置２の側に鍵情報４を保管し、端末装置１はサーバ装置２から鍵情報４を取得して利用する、という方式を採用する。さらに、本システムでは、端末装置１の内部に一時的に鍵情報４を保持すると共に、端末装置１の状態に応じて鍵情報４の配置（保持方法）を動的に変更することで、鍵情報４の安全性と、処理速度及び可用性とのバランスを適切にコントロールする。以下、本システムの特徴部分である鍵情報の管理方法及びそれを実現するための構成について詳しく説明する。
【００３４】
（端末装置）
図２は、図１の情報処理システムで用いられる端末装置１の一構成例を示している。この端末装置１は、非接触ＩＣカード内のデータへアクセスする機能を有する装置であって、ハードウェア的には、リーダ／ライタ１０、中央演算装置（ＣＰＵ）１１、揮発性メモリ１２、ＬＡＮ通信制御装置１３、耐タンパデバイス１４、２次記憶装置１５を備えて構成される。また、図示しないが、端末装置１は後述する状態監視を行うための各種のセンサ（例えば、位置センサ、カメラ、振動センサ、照度センサなど）も備えている。
【００３５】
揮発性メモリ１２は、中央演算装置１１がワークメモリとして利用する記憶装置であり、例えばＲＡＭを用いることができる。また、耐タンパデバイス１４は、耐タンパ性をもつ記憶装置である。耐タンパ性とは、内部の解析や改変（ここでは特に、記憶装置内に保持される鍵情報を不正に読み出すこと）が不可能又は極めて困難な性質をいう。耐タンパ性を実現する方法としては、論理的な手段（ソフトウェア的な手段）と物理的な手段（ハードウェア的な手段）とがあるが、ここではいずれの手段を用いてもよい。２次記憶装置１５は、ハードディスクなどの比較的大容量の記憶装置である。２次記憶装置１５には、デバイスドライバ及びオペレーティングシステムの他、ＩＣカード処理に関する各種プログラム（鍵情報管理プログラム、セキュリティ状態監視プログラム、業務プログラム）が格納されている。これらのプログラムは必要に応じてワークメモリにロードされ、中央演算装置１１によって実行されることで、端末装置１に目的とする機能を発揮させるものである。
【００３６】
鍵情報管理プログラムは、端末装置１における鍵情報の管理を担うプログラムであり、サーバ装置２から鍵情報を取得する機能、鍵情報の保持方法（保持モード）を変更する機能、業務プログラムへ鍵情報を引き渡す機能、鍵情報を消去する機能などをもつ。また、セキュリティ状態監視プログラムは、端末装置１に対して不正な操作（盗難、破壊、分解など）が加えられていないかを検知するために端末装置１の状態を監視するプログラムである。不正な操作又はそのおそれが検知された場合には、鍵情報管理プログラムによって必要なセキュリティアクション（鍵情報の保持方法の変更、削除など）が実行される。業務プログラムは、サーバ装置側の業務プログラムと協働して、ＩＣカード３に関わる業務処理を行うプログラムである。この業務プログラムは、鍵情報が必要な業務処理を実行する場合は、鍵情報管理プログラムから一時的に鍵情報を取得して処理を行う。これらのプログラムによる処理の詳細については後述する。
【００３７】
端末装置１の具体的な形態としては、例えば、自動改札機、会計装置、自動販売機、ＰＯＳ端末、ＫＩＯＳＫ端末、ＡＴＭなどを挙げることができる。また、リーダ／ライタを内蔵又は外付けしたパーソナルコンピュータ、携帯情報端末、タブレットＰＣ、又はスマートフォンにより簡易的な端末装置１を構成することも可能である。本システムの用途、ＩＣカードの種類、サービス内容、端末装置の設置場所などに応じて、端末装置１の具体的な形態を決めればよい。
【００３８】
（サーバ装置）
サーバ装置２は、ハードウェア的には、中央演算装置（ＣＰＵ）、ワークメモリ、２次記憶装置、通信制御装置などを備える汎用のコンピュータシステムにより構成される。図示しないが、２次記憶装置には、デバイスドライバ及びオペレーティングシステムの他、ＩＣカード処理に関する各種プログラム（サーバ装置側の業務プログラム及び鍵情報管理プログラム）が格納されていると共に、ＩＣカード３へのアクセスに必要となる鍵情報が保管されている。これらのプログラムは必要に応じてワークメモリにロードされ、中央演算装置によって実行されることで、サーバ装置２に目的とする機能を発揮させるものである。
【００３９】
サーバ装置側の鍵情報管理プログラムは、端末装置１（端末装置側の鍵情報管理プログラム）から鍵情報の要求を受けた場合に、当該端末装置１に対して鍵情報を送信するためのプログラムである。また、サーバ装置側の業務プログラムは、端末装置側の業務プログラムと協働して、ＩＣカード３に関わる業務処理を実行するプログラムである。なお、本システムでは端末装置１とサーバ装置２で業務処理を分担しているため、それぞれの業務プログラムが提供すべき機能は異なるものであるが、システムの可用性及び冗長性を高めるため、端末装置１とサーバ装置２の業務プログラムの機能の一部又は全部を共通にしてもよい。
【００４０】
サーバ装置２は、１台のコンピュータで構成してもよいし、複数台のコンピュータで構成してもよい。また、サーバ装置２は端末装置１と同じＬＡＮの中に設置することもできるし、ＷＡＮ上に設置することもできる。
【００４１】
＜システムの動作＞
次に、本システムの動作について詳しく説明する。
【００４２】
（端末装置の初期化）
端末装置１の電源がオフの状態にあるとき、端末装置１の内部には鍵情報は保持されていない。そのため、端末装置１は起動後に初期化処理を実行することで、サーバ装置２から鍵情報を取得する。
【００４３】
図３に初期化処理のフローを示す。なおこの処理は、端末装置１とサーバ装置２の鍵情報管理プログラムによって実行されるものである。
【００４４】
端末装置１の電源がオンされると、端末装置１がサーバ装置２にアクセスし、端末装置１（クライアント）とサーバ装置２（サーバ）の間で互いの認証が行われる。そして、端末装置１の業務が開始されるタイミングで、端末装置１がサーバ装置２に対しＩＣカード３の鍵情報を要求する。業務の開始とは、端末装置１においてＩＣカード３へアクセスする機能（つまり業務プログラムの機能）が有効化されることをいう。端末装置１を起動すると自動的に同機能が有効化される場合には、端末装置１の起動後ただちに鍵情報の取得処理が実行される。一方、ハードウェアスイッチあるいはソフトウェアスイッチにより業務プログラムの有効／無効を切り替え可能な端末装置１の場合には、ユーザ操作により機能が有効化されたタイミングで、鍵情報の取得処理が実行される。
【００４５】
サーバ装置２は、認証された端末装置１から鍵情報の要求を受け取ると、この端末装置１に対して鍵情報を送信する。端末装置１とサーバ装置２の間の鍵情報の交換には、暗号化された安全なネットワーク経路が利用される。これにより、端末装置１とサーバ装置２の間の通信傍受による鍵情報の漏えいを防ぐことができる。
【００４６】
端末装置１は、サーバ装置２から取得した鍵情報を耐タンパデバイス１４に格納する。耐タンパデバイス１４では暗号化された状態で鍵情報が保持される。さらに端末装置１は、揮発性メモリ１２へも鍵情報を格納する。揮発性メモリ１２には平文の状態で鍵情報が保持される。以上で業務処理の準備が整い、端末装置１はＩＣカード３を受け付け可能な状態となる。
【００４７】
（鍵情報の保持方法）
本実施形態の端末装置１は、鍵情報の保持方法として、次の３種類の保持モードを有している。
（１）揮発性メモリ１２に鍵情報を保持するモード。
（２）揮発性メモリ１２の鍵情報を消去し、耐タンパデバイス１４にのみ鍵情報を保持
するモード。
（３）揮発性メモリ１２と耐タンパデバイス１４の鍵情報を消去し、端末装置１内に鍵情報を保持しないモード。この場合は、業務プログラムから鍵情報の要求がある毎にサーバ装置２から鍵情報を取得する。
【００４８】
（１）→（２）→（３）の順にセキュリティレベルが高くなり、鍵情報の漏えいのリスクを低減できるが、（１）→（２）→（３）の順に処理速度が低下するという不利がある。また（３）のモードの場合は、端末装置１内に鍵情報が存在しないため、何らかの原因でサーバ装置２との通信が不能状態になると鍵情報を用いた処理が一切実行できなくなる（つまりシステムの可用性が低下する）。
【００４９】
そこで本システムでは、セキュリティ状態監視プログラムが端末装置１の状態を監視して、盗難等の不正な操作が行われた可能性（鍵情報の漏えいリスク）を推定する。そして、鍵情報管理プログラムが、推定されたリスクに応じて、動的に保持モード（１）〜（３）を切り替えることで、安全性、処理速度、可用性のバランスを考慮したセキュリティ対策を講じることとする。
【００５０】
（端末装置の状態監視）
端末装置１の業務処理が稼働している間、セキュリティ状態監視プログラムが端末装置１の状態を監視する。ここで、監視の対象となる「端末装置の状態」とは、盗難、破壊、分解などの不正な操作が行われた場合に変化し得るもの（状態の変化が不正な操作と因果関係を有するもの）であればよく、端末装置１自体の状態でも、端末装置１の周囲（環境）の状態でもよい。
【００５１】
表１に、状態監視の対象と、検知する事象の一例を示す。表１の危険ポイントとは、該当する事象が検知された場合の危険度（盗難等の不正な操作が行われた可能性）を数値化した指標であり、後述するセキュリティレベルの決定に利用するパラメータである。なお、表１に示す危険ポイントの値は一例である。
【表１】
0005825079.tif 000002
【００５２】
（ａ）設置位置
端末装置１の内部にＧＰＳ（Global Positioning System）センサなどの位置センサを
組み込むと共に、端末装置１の設置位置の情報（つまり正しい位置）をセキュリティ状態監視プログラムに登録しておく。セキュリティ状態監視プログラムは、端末装置１の稼働中、定期的に位置センサから現在位置の情報を取り込み、現在位置と正しい設置位置とを比較する。現在位置と正しい設置位置との差が所定距離を超えたかどうかを評価することで、端末装置１の移動、すなわち「盗難」を検知することができる。
【００５３】
（ｂ）外部からの振動
端末装置１の内部に加速度センサなどの振動センサを組み込む。セキュリティ状態監視プログラムは、振動センサの出力が所定値を超えたかどうかを評価することで、端末装置
１に加えられた強い衝撃、すなわち「破壊」を検知することができる。また、振動が所定時間以上続くかどうかを評価することで、端末装置１の搬送、すなわち「盗難」を検知することもできる。なお、誤検知を防止するため、近隣の道路や線路などから受ける振動や、地震による振動などを除外するためのフィルタを設けることが望ましい。
【００５４】
（ｃ）周辺シーンの画像
端末装置１の内部にカメラを組み込み、端末装置１の周囲のシーンの画像を取り込む。セキュリティ状態監視プログラムは、端末装置１の稼働中、定期的にカメラから画像を取り込み、端末装置１の周囲のシーンに変化がないか監視する。画像が著しく変化したかどうかを評価することで、端末装置１の位置又は向きの変化、すなわち「盗難」を検知することができる。なお、カメラの画角内を人や車などの移動物が通過する場合には、複数枚の画像を平均するなどして、人や車などの移動物をシーン画像から除去することが望ましい。
【００５５】
（ｄ）ネットワーク接続
セキュリティ状態監視プログラムが、ＬＡＮケーブルの通信ドライバから切断検知情報を取得する。これにより、端末装置１がネットワークから切り離されたこと、すなわち「盗難」を検知することができる。（ただし、ネットワークの障害の可能性も高いため、この事象を検知しただけでは「盗難」の可能性は低い。）
【００５６】
（ｅ）サーバ装置との通信
セキュリティ状態監視プログラムが、サーバ装置２との通信状態の情報を取得する。サーバ装置２との通信の失敗が発生した場合、端末装置１がネットワークから切り離されたこと、すなわち「盗難」を検知することができる。（ただし、サーバ装置あるいはネットワークの障害の可能性も高いため、この事象を検知しただけでは「盗難」の可能性は低い。）
【００５７】
（ｆ）装置内部の照度
端末装置１の筐体の内部に照度センサを組み込む。セキュリティ状態監視プログラムは、照度センサの出力が所定値を超えたかどうか、あるいは、照度センサの出力の時間変化などを評価することで、端末装置１の内部における異常な照度の変化、すなわち「破壊」や「分解」による装置内部の露出を検知することができる。
【００５８】
以上、６種類の状態監視を例示したが、これらは一例にすぎず、他の方法やセンサを用いて他の状態を監視してもよい。例えば、温度センサや湿度センサで環境温度や湿度の変化を検知したり、音声センサを用いて環境音の変化や衝撃音を検知したりすることもできる。なお、上述したすべての状態監視を行う必要はなく、端末装置１のコストや装置サイズとの兼ね合いで必要な状態監視機能を組み込めばよい。
【００５９】
（セキュリティアクション）
図４に、セキュリティ状態監視プログラムによる、セキュリティレベル及びセキュリティアクションの決定フローと、セキュリティアクションの通知を受けた鍵情報管理プログラムの処理フローを示す。
【００６０】
ステップＳ１０では、セキュリティ状態監視プログラムが、前述のとおり端末装置１の状態監視を行う。複数項目の状態監視を行う場合は、それぞれの項目について事象が検知されたか否かを評価する。
【００６１】
ステップＳ１１では、セキュリティ状態監視プログラムが、ステップＳ１０で検知された事象に基づいて危険ポイントを算出する。もし複数項目の事象が検知された場合には、
それぞれの事象の危険ポイントを合計する。例えば、表１において、（ｃ）シーン画像の著しい変化と（ｄ）ＬＡＮとの切断が検知された場合には、危険ポイントは１５ポイントと求まる。この危険ポイントは、端末装置１に対して盗難等の不正な操作が加えられた可能性（つまり、鍵情報の漏えいのリスク）を表しており、危険ポイントが大きいほど可能性（リスク）が高いことを表している。
【００６２】
ステップＳ１２では、セキュリティ状態監視プログラムが、ステップＳ１１で得られた危険ポイントに基づいて、セキュリティレベルを決定する。セキュリティレベルとは、端末装置１に設定すべきセキュリティの高さを表すものである。ここでは、表２のセキュリティアクションテーブルに示すように、セキュリティレベルがＮ段階（Ｎは１より大きい整数）に細分化されており、危険ポイントに応じてセキュリティレベルが決まるようになっている。例えば危険ポイントが１５ポイントであった場合、セキュリティレベルは「３」となる。
【表２】
0005825079.tif 000003
【００６３】
ステップＳ１３では、セキュリティ状態監視プログラムが、セキュリティアクションテーブルに基づいて、ステップＳ１２で決定したセキュリティレベルに対応するセキュリティアクションを決定する。セキュリティアクションとは、鍵情報の安全な運用を実現するために端末装置１が採るべき動作（セキュリティ対策）を定義したものである。
【００６４】
ステップＳ１４では、セキュリティ状態監視プログラムが、ステップＳ１３で決定したセキュリティアクションに基づく指示を鍵情報管理プログラムに通知する。表２の例では、セキュリティレベルが２の場合は、揮発性メモリ１２から鍵情報を消去する指示が通知され、セキュリティレベルが３以上の場合は、揮発性メモリ１２と耐タンパデバイス１４から鍵情報を消去する指示が通知されることとなる。
【００６５】
鍵情報管理プログラムは、セキュリティ状態監視プログラムから通知を受け取ると、ステップＳ２０において当該通知が揮発性メモリ１２からの鍵情報の消去指示を含むか否かを判断し、ＹＥＳの場合はステップＳ２１において揮発性メモリ１２から鍵情報を消去する。また鍵情報管理プログラムは、ステップＳ２２において当該通知が耐タンパデバイス１４からの鍵情報の消去指示を含むか否かを判断し、ＹＥＳの場合はステップＳ２３において耐タンパデバイス１４から鍵情報を消去する。これにより、セキュリティレベルに応じた適切な保持モードに切り替えられる。
【００６６】
（業務プログラムへの鍵情報の提供）
図５に、業務プログラムから鍵情報の要求を受けた場合の鍵情報管理プログラムの処理フローを示す。
【００６７】
鍵情報管理プログラムは、業務プログラムからの鍵情報の取得要求を受け取ると（ステ
ップＳ３０）、まず揮発性メモリ１２に鍵情報が保持されているか否か調べる（ステップＳ３１）。揮発性メモリ１２に鍵情報が存在する場合、鍵情報管理プログラムは揮発性メモリ１２から鍵情報を取得し（ステップＳ３２）、その鍵情報を業務プログラムに渡す（ステップＳ３３）。
【００６８】
揮発性メモリ１２に鍵情報が存在しない場合は、鍵情報管理プログラムは耐タンパデバイス１４に鍵情報が保持されているか否か調べる（ステップＳ３４）。耐タンパデバイス１４に鍵情報が存在する場合は、鍵情報管理プログラムは耐タンパデバイス１４から鍵情報を取得し（ステップＳ３５）、その鍵情報を業務プログラムに渡す（ステップＳ３３）。
【００６９】
もし耐タンパデバイス１４にも鍵情報が存在しなかった場合は、前述した初期化処理（図３）と同様の処理が実施される。すなわち、鍵情報管理プログラムがサーバ装置２から鍵情報を取得し、鍵情報を耐タンパデバイス１４に格納すると共に揮発性メモリ１２に展開した後、その鍵情報を業務プログラムに渡す（ステップＳ３３）。
【００７０】
（端末装置の終了）
端末装置１の電源がオフされる時、又は、端末装置１の業務終了時に、端末装置１の鍵情報管理プログラムが揮発性メモリ１２及び耐タンパデバイス１４に保持されている鍵情報をすべて消去する。業務の終了とは、ＩＣカード３へアクセスする機能（業務プログラムの機能）が無効化されることをいう。このように鍵情報が不要となるタイミングで積極的に鍵情報を消去し、端末装置１内に鍵情報を残さないようにすることで、鍵情報の漏えいのリスクを一層低減することができる。
【００７１】
＜本システムの利点＞
以上述べた本実施形態の情報処理システムは次のような利点を有する。すなわち、端末装置１の電源がオフの状態にあるときは端末装置１の内部に鍵情報が存在しないため、たとえ端末装置１が盗難されリバースエンジニアリングされたとしても、そこから鍵情報が漏えいすることはない。一方、端末装置１の稼働中は、サーバ装置２から取得した鍵情報が端末装置１内の記憶装置に一時的に保持されるため、端末装置１の側で鍵情報を用いた認証やデータアクセスの処理が実行可能となり、高速な処理を実現できる。また、ネットワーク又はサーバ装置２の異常により、サーバ装置２との通信が突然不調になったとしても、端末装置１内に一時的に保持されている鍵情報を利用できるために、端末装置１単独で必要最低限の業務を継続することが可能となる。
【００７２】
鍵情報の安全性の観点からは当然セキュリティレベルが高い方が望ましいが、セキュリティレベルの高さはシステムの処理速度や可用性とトレードオフの関係にあるため、必要以上にセキュリティレベルを高めることは適当ではない。その点、本システムでは、不正な操作が加えられた可能性（危険ポイント）が高くなるほどセキュリティレベルを高めるような制御を行うようにしたことで、鍵情報の安全性とシステムの処理速度・可用性とを適切なバランスに設定することができる。具体的には、平常時には、アクセスの高速な揮発性メモリ１２に鍵情報を保持するモードを利用することで、高速なＩＣカード処理を実現する。そして、警戒が必要な場合には、耐タンパデバイス１４に鍵情報を保持するモードを利用することで、処理速度は若干低下するものの、揮発性メモリ１２に鍵情報を保持するよりも安全性を高めることができる。さらに、異常時には、端末装置１内の鍵情報を消去し、サーバ装置２から鍵情報を都度取得するようにすることで、処理速度と可用性は低下するものの、端末装置１内に鍵情報を保持するよりもはるかに安全性を高めることができる。
【００７３】
＜実施例＞
上記実施形態に係る情報処理システムを、鉄道の乗車カードの改札・精算を行う自動改札システムに適用した例について説明する。
【００７４】
図６は、自動改札システムの構成を示している。このシステムは、端末装置としての改札機１ａと、サーバ装置２ａから構成されている。改札機１ａとサーバ装置２ａはネットワークで接続されている。図６の例では、駅Ａには２台の改札機１ａ、駅Ｂには１台の改札機１ａが設置されており、サーバ装置２ａがこれらの改札機１ａを統括している。
【００７５】
本実施例の改札機１ａは、無人駅の改札や臨時改札などに簡単に設置できるよう、ＩＣカード３ａのリーダ／ライタが一体構成された小型の端末装置で構成されたものである。このような改札機１ａは軽量で可搬性があるため、盗難に対するセキュリティ対策を講じる必要がある。
【００７６】
サーバ装置２ａは、駅あるいは社局のデータセンタに設置されており、ＩＣカード３ａの業務処理の一部を実行すると共に、業務処理の結果情報の収集・蓄積を行う機能を有する。また、サーバ装置２ａは、ＩＣカード３ａのアクセスに必要な鍵情報を安全に保管しており、改札機１ａからの要求に対して鍵情報の配信を行う機能も有する。このサーバ装置２ａは安全な場所で管理され可搬性は無いと想定する。
【００７７】
改札機１ａには、状態監視のためのセンサとして、ＧＰＳセンサ、振動センサ、及び小型カメラが組み込まれている。そして、改札機１ａのセキュリティ状態監視プログラムは、表３に記載した状態監視を行う。
【表３】
0005825079.tif 000004
【００７８】
また、セキュリティレベルとセキュリティアクションは、表４のように定義される。
【表４】
0005825079.tif 000005
【００７９】
セキュリティレベルが０の場合、サーバ装置２ａから取得された鍵情報は平文の状態で揮発性メモリに保持され、通常の業務処理が実行される。セキュリティレベルが１の場合、警戒状態となり、揮発性メモリから鍵情報が消去される。ＩＣカード３ａのアクセスのために鍵情報が必要な場合には、耐タンパデバイスから鍵情報が取得される。警戒状態で
は、処理速度がやや低下した状態で業務が継続される。セキュリティレベルが２の場合、障害検知状態となり、揮発性メモリ及び耐タンパデバイスの両方から鍵情報が消去される。ＩＣカード３ａのアクセスのために鍵情報が必要な場合には、サーバ装置２ａから毎回鍵情報が取得される。障害検知状態においては、処理速度がさらに低下するが、業務は継続される。セキュリティレベルが３の場合、盗難検知状態となり、揮発性メモリ及び耐タンパデバイスの両方から鍵情報が消去されると共に、改札機１ａの業務が停止される。
【００８０】
（障害検知時の処理例）
図７に、ネットワーク障害検知時の改札機１ａの各プログラムの処理フローを示す。
【００８１】
（１）通常状態から警戒状態への遷移
ステップＴ１：セキュリティ状態監視プログラムは、サーバ装置２ａとの接続の失敗を検知すると、監視用のタイマを起動する。
ステップＴ２：セキュリティ状態監視プログラムは、１０分経過してもサーバ装置２ａとの接続が失敗し続けていた場合、危険ポイントに１０加算し、セキュリティレベルを更新する。ここでは危険ポイントが０から５になるため、セキュリティレベルが０（通常状態）から１（警戒状態）に遷移する。また、セキュリティ状態監視プログラムは、セキュリティレベルに対応したセキュリティアクションを決定する。
ステップＴ３：セキュリティ状態監視プログラムは、鍵情報管理プログラムに揮発性メモリからの鍵情報の消去を指示する。
ステップＴ４：鍵情報管理プログラムは、揮発性メモリ上に展開されている鍵情報を消去する。
以降、セキュリティレベルが０に回復するまでは、業務プログラムからの要求の度に、鍵情報管理プログラムは耐タンパデバイスから鍵情報を取得する。
【００８２】
（２）警戒状態から盗難検知状態への遷移
ステップＴ５：セキュリティ状態監視プログラムは、６０分経過してもサーバ装置２ａとの接続が失敗し続けていた場合、危険ポイントに２０加算し、セキュリティレベルを更新する。ここでは危険ポイントが５から２５になるため、セキュリティレベルが１（警戒状態）から３（盗難検知状態）に遷移する。また、セキュリティ状態監視プログラムは、セキュリティレベルに対応したセキュリティアクションを決定する。
ステップＴ６：セキュリティ状態監視プログラムは、鍵情報管理プログラムに耐タインパデバイスからの鍵情報の消去を指示する。
ステップＴ７：鍵情報管理プログラムは、耐タンパデバイス上に保存してある鍵情報を消去する。
ステップＴ８：セキュリティ状態監視プログラムは、業務プログラムに業務停止を指示する。
ステップＴ９：業務プログラムは、即時に業務を停止する。
【００８３】
以上述べたように、本実施例の構成によれば、状態監視結果に応じて鍵情報の保持方法が適切にコントロールされるため、処理速度及び可用性を維持しつつ、安全性の高い鍵情報の管理を行うことができる。
【００８４】
＜変形例＞
上記実施形態では、状態監視の結果（鍵情報の漏えいリスク）に応じて鍵情報の保持モードを切り替える構成としたが、本発明の構成はこれに限られない。
【００８５】
例えば、状態監視により盗難等の不正な操作又はそのおそれが検知された場合に、ただちに端末装置１の記憶装置に保持されている鍵情報を消去する、という単純な制御でもよい。このような対処を採ることでも、端末装置１のリバースエンジニアリングによる鍵情
報の不正取得を未然に防止することができる。また、このように鍵情報を保持するか／消去するかという単純な制御の場合は、端末装置１内の記憶装置は１種類でよいため、耐タンパデバイスが不要となり、端末装置１のさらなる小型化及びコスト低減を図ることができる。ところで、盗難、破壊、分解といった不正な操作を１００％間違いなく検知することは難しく、誤検知（不正な操作でないものを検知してしまうこと）又は検知漏れ（不正な操作を検知できないこと）の発生は避け得ない。鍵情報の安全性を重視すれば、検知漏れをゼロ又は可能な限り少なくなるような設計にすることが望ましいが、そうすると、誤検知の増加によって頻繁に端末装置内の鍵情報が消去されることとなり、システムの処理速度の低下又は可用性の低下を招くおそれがある。このような点に鑑みると、鍵情報を保持するか／消去するかという単純な制御よりも、上記実施形態のように端末装置１の状態の変化に応じて鍵情報の保持モードを切り替える構成とする方が、安全性、処理速度、可用性のバランスを制御できるという点で優れている。
【符号の説明】
【００８６】
１：端末装置
１ａ：改札機（端末装置）
２、２ａ：サーバ装置
３、３ａ：非接触ＩＣカード
４：鍵情報
１０：リーダ／ライタ
１１：中央演算装置
１２：揮発性メモリ
１３：ＬＡＮ通信制御装置
１４：耐タンパデバイス
１５：２次記憶装置
【図１】
0005825079.tif 000006
【図２】
0005825079.tif 000007
【図３】
0005825079.tif 000008
【図４】
0005825079.tif 000009
【図５】
0005825079.tif 000010
【図６】
0005825079.tif 000011
【図７】
0005825079.tif 000012