特許第5825079号(P5825079)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧
特許5825079非接触ICカードの端末装置、情報処理システム
<>
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000006
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000007
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000008
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000009
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000010
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000011
  • 特許5825079-非接触ICカードの端末装置、情報処理システム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5825079
(24)【登録日】2015年10月23日
(45)【発行日】2015年12月2日
(54)【発明の名称】非接触ICカードの端末装置、情報処理システム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20151112BHJP
   H04L 9/08 20060101ALI20151112BHJP
   G06F 21/86 20130101ALI20151112BHJP
   G06F 21/88 20130101ALI20151112BHJP
   G07B 15/00 20110101ALI20151112BHJP
【FI】
   G06F21/62
   H04L9/00 601C
   G06F21/86
   G06F21/88
   G07B15/00 501
【請求項の数】10
【全頁数】19
(21)【出願番号】特願2011-267146(P2011-267146)
(22)【出願日】2011年12月6日
(65)【公開番号】特開2013-120444(P2013-120444A)
(43)【公開日】2013年6月17日
【審査請求日】2014年9月5日
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100085006
【弁理士】
【氏名又は名称】世良 和信
(74)【代理人】
【識別番号】100106622
【弁理士】
【氏名又は名称】和久田 純一
(74)【代理人】
【識別番号】100125357
【弁理士】
【氏名又は名称】中村 剛
(72)【発明者】
【氏名】小田 利彦
(72)【発明者】
【氏名】押山 浩之
(72)【発明者】
【氏名】原田 真太郎
【審査官】 脇岡 剛
(56)【参考文献】
【文献】 特開2004−295502(JP,A)
【文献】 国際公開第2008/117467(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
G06F 21/86
G06F 21/88
G07B 15/00
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
非接触ICカード内のデータへアクセスする機能を有する端末装置であって、
前記端末装置は、少なくとも電源がオフの状態にあるときには前記非接触ICカード内のデータへアクセスするために必要とされる鍵情報を内部に保持しておらず、
前記鍵情報を保持しているサーバ装置からネットワークを介して前記鍵情報を取得し、該鍵情報を一時的に記憶装置に保持する鍵情報管理手段と、
前記鍵情報管理手段から前記鍵情報を受け取り、該鍵情報を用いて前記非接触ICカード内のデータへアクセスする処理を実行する処理手段と
前記端末装置に対して物理的に加えられる不正な操作を検知するために、前記端末装置の状態を監視し、前記端末装置の状態の変化から前記端末装置に対して前記不正な操作が加えられた可能性を推定する状態監視手段と、を有し、
前記鍵情報管理手段は、前記鍵情報の保持方法として、セキュリティレベルの異なる複数の保持モードを有しており、前記状態監視手段において推定された前記可能性が高くなるほどセキュリティレベルの高い保持モードに切り替える
ことを特徴とする端末装置。
【請求項2】
前記記憶装置は、揮発性メモリと、耐タンパ性を有する記憶装置である耐タンパデバイスとを含み、
前記複数の保持モードは、前記揮発性メモリに前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記揮発性メモリに前記鍵情報を保持することなく、前記耐タンパデバイスに前記鍵情報を保持するモードを含む
ことを特徴とする請求項に記載の端末装置。
【請求項3】
前記複数の保持モードは、前記記憶装置に前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記記憶装置に前記鍵情報を保持することなく、前記処理手段から要求がある毎に前記サーバ装置から前記鍵情報を取得し前記処理手段に引き渡すモードを含む
ことを特徴とする請求項又はに記載の端末装置。
【請求項4】
前記状態監視手段は、前記端末装置に組み込まれた位置センサから得られる位置情報に
基づいて、前記端末装置の位置の変化を検知する手段を含む
ことを特徴とする請求項のうちいずれか1項に記載の端末装置。
【請求項5】
前記状態監視手段は、前記端末装置に組み込まれたカメラから得られる前記端末装置の周囲の画像の変化に基づいて、前記端末装置の位置の変化を検知する手段を含む
ことを特徴とする請求項のうちいずれか1項に記載の端末装置。
【請求項6】
前記状態監視手段は、前記端末装置に組み込まれた振動センサの出力に基づいて、前記端末装置に加えられた衝撃又は前記端末装置の動きを検知する手段を含む
ことを特徴とする請求項のうちいずれか1項に記載の端末装置。
【請求項7】
前記状態監視手段は、前記ネットワーク又は前記サーバ装置との通信の切断を検知する手段を含む
ことを特徴とする請求項のうちいずれか1項に記載の端末装置。
【請求項8】
前記状態監視手段は、前記端末装置に組み込まれた照度センサの出力に基づいて、前記端末装置の内部の照度変化を検知する手段を含む
ことを特徴とする請求項のうちいずれか1項に記載の端末装置。
【請求項9】
前記非接触ICカードは鉄道の乗車カードであり、前記端末装置は駅に設置される自動改札機である
ことを特徴とする請求項1〜のうちいずれか1項に記載の端末装置。
【請求項10】
非接触ICカード内のデータへアクセスするために必要とされる鍵情報を保持しているサーバ装置と、
前記サーバ装置とネットワークを介して接続された、請求項1〜のうちいずれか1項に記載の端末装置と、を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非接触ICカードを処理する端末装置に関し、特に、非接触ICカードにアクセスするために必要とされる鍵情報のセキュリティ対策に関するものである。
【背景技術】
【0002】
データの記録や演算を行うICチップを内蔵しており、リーダ/ライタを備えた端末装置との間で近距離無線通信によるデータ交換が可能なカード(非接触ICカードと呼ばれる)が実用化されている。非接触ICカードは従来の磁気カード等に比べて利便性に優れるため、最近では、鉄道やバスの乗車カード、電子マネー、クレジット決済など、様々なサービスに広く利用されている。なお、携帯電話に非接触ICカードと同等の機能をもたせたものや、カード以外の形状の媒体を用いたものも存在するが、本明細書ではそれらも広義の非接触ICカードと呼ぶこととする。
【0003】
この種の非接触ICカードにおいては、データの不正な読み出しや改ざんを防止するために、データの暗号化、端末装置やICカードの認証などに鍵情報(秘密鍵)を用いるのが一般的である。この鍵情報は、当然のことながら、第三者に漏えいしないよう厳重な管理が要求されるため、従来の端末装置ではSAM(Secure Application Module)と呼ば
れる耐タンパ性のあるデバイスに鍵情報を保管するという対策がとられている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−8588号公報
【特許文献2】特開2008−33700号公報
【特許文献3】特開2007−141088号公報
【特許文献4】特開2005−100245号公報
【特許文献5】特開2003−150993号公報
【特許文献6】特開2006−4273号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明者らは、従来は端末装置単独で行われていたICカード処理を、端末装置とサーバ装置からなるクライアント−サーバシステムで分散処理することを検討している。これは、端末装置自体の構成を簡易化及び小型化することで、端末装置の価格、ひいてはシステムの導入コストを低減することを目的としたものである。しかしながら、このようなクライアント−サーバシステムを実現するにあたっては、以下に述べるような新たな課題をクリアする必要がある。
【0006】
まず、端末装置の盗難による鍵情報の漏えいリスクの増大が懸念される。従来の端末装置(例えば、自動改札機、券売機、POS端末、KIOSK端末など)はそれ自体大型で重量もあるために持ち去ることが困難であったが、端末装置が小型・軽量になると盗難が容易になる。そのため、従来のように端末装置の内部に鍵情報を保管しておくことは、鍵情報の漏えい防止という観点からは望ましくない。
【0007】
とはいえ、端末装置内に鍵情報を置かない構成、つまり、サーバ装置にのみ鍵情報を置き、サーバ装置の側で認証や暗号化等の処理をすべて行うという構成は現実的ではない。端末装置とサーバ装置の間の通信回数の増加がボトルネックとなり、処理速度の低下を招くという別の問題が発生するからである。例えば、自動改札機では1枚のICカードあた
りの改札処理を約0.1〜0.2秒で完了することが要求されるが、この要求仕様を満足できない可能性もでてくる。また、自動改札機のようなインフラ設備は、何らかの異常事態が生じた場合でも必要最低限の業務は継続できること(これを可用性と呼ぶ)が望まれるところ、サーバ装置側に鍵情報を置く構成ではネットワーク異常等によりサーバ装置との通信が途絶すると、端末装置単独ではICカードへのアクセスを一切行えないという問題もある。
【0008】
本発明は上記実情に鑑みてなされたものであって、非接触ICカードの処理を端末装置とサーバ装置からなるシステムで行う構成において、システムの処理速度及び可用性を維持しつつ安全性の高い鍵情報の管理を行うことのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明に係る端末装置は、非接触ICカード内のデータへアクセスする機能を有する端末装置であって、前記端末装置は、少なくとも電源がオフの状態にあるときには前記非接触ICカード内のデータへアクセスするために必要とされる鍵情報を内部に保持しておらず、前記鍵情報を保持しているサーバ装置からネットワークを介して前記鍵情報を取得し、該鍵情報を一時的に記憶装置に保持する鍵情報管理手段と、前記鍵情報管理手段から前記鍵情報を受け取り、該鍵情報を用いて前記非接触ICカード内のデータへアクセスする処理を実行する処理手段と、を有していることを特徴とする。
【0010】
この構成によれば、端末装置の電源がオフの状態にあるときは端末装置の内部に鍵情報が存在しないため、たとえ端末装置が盗難されリバースエンジニアリングされたとしても、そこから鍵情報が漏えいすることはない。一方、端末装置の稼働中は、サーバ装置から取得した鍵情報が端末装置内の記憶装置に一時的に保持されるため、端末装置の側で鍵情報を用いた認証やデータアクセスの処理が実行可能となり、高速な処理を実現できる。また、ネットワーク又はサーバ装置の異常により、サーバ装置との通信が突然不調になったとしても、端末装置内に一時的に保持されている鍵情報を利用できるために、端末装置単独で必要最低限の業務を継続することが可能となる。
【0011】
ここで、前記鍵情報管理手段は、前記端末装置の電源がオフされる時、又は、非接触ICカード内のデータへアクセスする機能が無効化される時に、前記端末装置の記憶装置に保持されている前記鍵情報を消去する処理を実行することが好ましい。このように鍵情報が不要となるタイミングで積極的に鍵情報を消去することで、鍵情報の漏えいのリスクを一層低減することができる。なお、前記鍵情報管理手段がサーバ装置から鍵情報を取得するタイミングは任意であるが、例えば、前記端末装置の起動時(電源がオンされた時)、又は、非接触ICカード内のデータへアクセスする機能が有効化される時などに、鍵情報の取得処理を実行するとよい。
【0012】
鍵情報を保持する記憶装置としては、揮発性、不揮発性のいずれの記憶装置を用いてもよいが、アクセス速度が速く、電源がオフになると自動的に鍵情報が消失するという点から揮発性メモリなどの揮発性の記憶装置の方が好ましい。また、さらに安全性を高めるため、耐タンパ性をもつ記憶装置を用いることも好ましい。端末装置内に複数種類の記憶装置を設け、必要とされるセキュリティレベルに応じて格納する記憶装置を選択してもよい。また、鍵情報を保持する際には、鍵情報をそのまま(つまり平文で)記憶装置に格納してもよいし、鍵情報を符号化(暗号化)又は分割した状態で記憶装置に格納してもよい。
【0013】
また、端末装置が、前記端末装置に対して物理的に加えられる不正な操作を検知するために、前記端末装置の状態を監視する状態監視手段を更に有するとよい。本明細書におい
て「端末装置に対して物理的に加えられる不正な操作」とは、端末装置から鍵情報が不正取得されるリスクを伴う操作であって、例えば、盗難(持ち去り)、破壊、分解などが該当する。また、監視の対象とされる「端末装置の状態」とは、端末装置に対して不正な操作が行われた場合に変化し得るものであればよい。このような監視手段の監視結果に基づき、必要に応じて、端末装置側での鍵情報の保持・管理の仕方を制御することで、鍵情報の安全性をより高めることができる。
【0014】
例えば、鍵情報管理手段は、前記状態監視手段により前記不正な操作が検知された場合に、前記端末装置の記憶装置に保持されている前記鍵情報を消去する処理を実行するとよい。このような対処を採ることで、端末装置のリバースエンジニアリングによる鍵情報の不正取得を未然に防止することができる。
【0015】
また、鍵情報管理手段が、前記状態監視手段において検知された前記端末装置の状態の変化に応じて、前記鍵情報の保持方法を変更するという構成を採ることも好ましい。この構成によれば、鍵情報の保持方法を変更することで、端末装置内の鍵情報の安全性を担保することができる。そして、端末装置内の鍵情報をただちに消去するという構成に比べて、システムの可用性や処理速度の低下を抑えることができるという利点もある。なお、鍵情報の保持方法の変更には、さまざまなやり方が考えられる。例えば、鍵情報を保持(格納)する記憶装置を変更したり、鍵情報を平文で保持するか暗号化(符号化)した状態で保持するかを変更したり、鍵情報の暗号化(符号化)の方法や強度を変更したり、鍵情報を端末装置内で保持するかサーバ装置から毎回取得するかを変更したりすることができる。
【0016】
好ましくは、前記状態監視手段が、前記端末装置の状態の変化から、前記端末装置に対して前記不正な操作が加えられた可能性を推定し、前記鍵情報管理手段が、前記鍵情報の保持方法として、セキュリティレベルの異なる複数の保持モードを有しており、前記可能性が高くなるほどセキュリティレベルの高い保持モードに切り替えるとよい。鍵情報の安全性の観点からは当然セキュリティレベルが高い方が望ましいが、セキュリティレベルの高さはシステムの処理速度や可用性とトレードオフの関係にあるため、必要以上にセキュリティレベルを高めることは適当ではない。そこで、上記のように、不正な操作が加えられた可能性(鍵情報の漏えいリスクということもできる)が高くなるほどセキュリティレベルを高めるような制御を行うようにすることで、鍵情報の安全性とシステムの処理速度・可用性とを適切なバランスに設定することができる。
【0017】
具体的には、前記記憶装置が、揮発性メモリと、耐タンパ性を有する記憶装置である耐タンパデバイスとを含んでおり、前記複数の保持モードが、前記揮発性メモリに前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記揮発性メモリに前記鍵情報を保持することなく、前記耐タンパデバイスに前記鍵情報を保持するモードを含んでいるとよい。この構成によれば、平常時には、揮発性メモリに鍵情報を保持するモードを利用することで、高速なICカード処理が実現できる。そして、異常時には、耐タンパデバイスに鍵情報を保持するモードを利用することで、処理速度は若干低下するものの、揮発性メモリに鍵情報を保持するよりも安全性を高めることができる。
【0018】
また、前記複数の保持モードが、前記記憶装置に前記鍵情報を保持するモードと、該モードよりもセキュリティレベルの高いモードとして、前記記憶装置に前記鍵情報を保持することなく、前記処理手段から要求がある毎に前記サーバ装置から前記鍵情報を取得し前記処理手段に引き渡すモードを含むことも好ましい。この構成によれば、平常時には、端末装置内の記憶装置に鍵情報を保持するモードを利用することで、高速なICカード処理が実現できる。そして、異常時には、サーバ装置から鍵情報を都度取得するようにすることで、処理速度は低下するものの、端末装置内に鍵情報を保持するよりもはるかに安全性
を高めることができる。
【0019】
前記状態監視手段は、前記端末装置に組み込まれた位置センサから得られる位置情報に基づいて、前記端末装置の位置の変化を検知する手段を含むとよい。このような方法で端末装置の位置の変化を監視することにより、不正な操作の一つである「盗難」を高い精度で検知することが可能である。
【0020】
前記状態監視手段は、前記端末装置に組み込まれたカメラから得られる前記端末装置の周囲の画像の変化に基づいて、前記端末装置の位置の変化を検知する手段を含むとよい。このような方法で端末装置の位置の変化を監視することにより、不正な操作の一つである「盗難」を高い精度で検知することが可能である。
【0021】
前記状態監視手段は、前記端末装置に組み込まれた振動センサの出力に基づいて、前記端末装置に加えられた衝撃又は前記端末装置の動きを検知する手段を含むとよい。このような方法で端末装置に加えられた衝撃又は端末装置の動きを監視することにより、不正な操作の一つである「破壊」又は「盗難」を高い精度で検知することが可能である。
【0022】
前記状態監視手段は、前記ネットワーク又は前記サーバ装置との通信の切断を検知する手段を含むとよい。これにより、不正な操作の一つである「盗難」又は「破壊」を検知することが可能である。
【0023】
前記状態監視手段は、前記端末装置に組み込まれた照度センサの出力に基づいて、前記端末装置の内部の照度変化を検知する手段を含むとよい。これにより、不正な操作の一つである「破壊」又は「分解」を高い精度で検知することが可能である。
【0024】
なお、本発明は上述した手段の少なくとも一部を含む端末装置、あるいは、この端末装置とサーバ装置とを有する情報処理システムとして捉えることができる。また本発明は、上述した処理の少なくとも一部を含む鍵情報の管理方法、もしくは、非接触ICカードの処理方法、または、これらの方法をコンピュータとしての端末装置に実行させるプログラムや、このプログラムを記録したコンピュータ読み取り可能な記録媒体として捉えることもできる。上述した手段及び処理は、技術的な矛盾がない限り、任意に組み合わせることが可能である。
【発明の効果】
【0025】
本発明によれば、非接触ICカードの処理を端末装置とサーバ装置からなるシステムで行う構成において、システムの処理速度及び可用性を維持しつつ、安全性の高い鍵情報の管理を行うことができる。
【図面の簡単な説明】
【0026】
図1】情報処理システムの構成例を示す図。
図2図1の情報処理システムで用いられる端末装置の構成例を示す図。
図3】初期化処理のフローを示す図。
図4】セキュリティアクションの決定フローを示す図。
図5】業務プログラムから鍵情報の要求を受けた場合の処理フローを示す図。
図6】実施例に係る自動改札システムの構成例を示す図。
図7】ネットワーク障害検知時の改札機の処理フローを示す図。
【発明を実施するための形態】
【0027】
以下に図面を参照して、本発明の好適な実施の形態を詳しく説明する。
【0028】
<システムの構成>
図1は、本発明の実施形態に係る情報処理システムの一構成例を示している。この情報処理システムは、非接触ICカード3を利用したサービスに関わる業務処理を行うシステムであり、リーダ/ライタ10を備える端末装置1と、複数台の端末装置1を統括するサーバ装置2とから構成されている。端末装置1とサーバ装置2の間は、LAN(ローカルエリアネットワーク)、又はインターネットや専用回線などのWAN(ワイドエリアネットワーク)により接続される。端末装置1及びサーバ装置2の台数やネットワーク上の配
置は、システムの規模、サービス内容、取り扱うデータなどに応じて適宜設計される。
【0029】
この情報処理システムは非接触ICカード3を用いたあらゆるサービスに適用可能である。例えば、鉄道・バスなどの乗車カード、電子マネーカード、プリペイドカード、クレジットカード、ポイントカード、電子チケットカード、入退室や身分証明のためのIDカードなどがその代表例である。
【0030】
非接触ICカードを利用したサービスの方式には、大別して、カードバリュー方式とセンターバリュー方式とがある。カードバリュー方式とは、ICカードの中にバリューデータが記録されており、基本的にICカードと端末装置の間でバリュー交換や決済処理などが完結するものである。一方、センターバリュー方式とは、ICカードの中にはバリューデータが記録されておらず、センター側のデータベースで会員全員のバリューデータを一括管理する方式である。ICカードの利便性や拡張性を生かせるカードバリュー方式が現在の主流であるが、カードバリュー方式の場合は、ICカード内のデータの不正な読み出しや改ざんを防止するために、鍵情報を用いたセキュリティ対策を講じることが必須となる。
【0031】
本実施形態の情報処理システムもカードバリュー方式のシステムを想定している。ただし、鉄道の自動出改札システムに代表される従来のシステムでは、端末装置(自動改札機、券売機)が単体で業務処理を行っていたのに対し、本システムでは、端末装置1とサーバ装置2とでクライアント−サーバシステムを構築し、業務処理を端末装置1とサーバ装置2の間で分担(分散処理)する構成となっている。このように従来端末装置1で行っていた処理の一部をサーバ装置2に分担させることで、端末装置1の構成を簡易化し(シンクライアント化ともいう)、端末装置1の小型化・低コスト化を図ることができる。
【0032】
端末装置1とサーバ装置2の処理の分担は任意に設計することができるが、少なくとも鍵情報を用いる処理(ICカード3や端末装置1の認証、データの暗号化/復号、ICカード3に対するデータの読み書き)は端末装置1の側で実行することが好ましい。鍵情報を用いる処理をサーバ装置2の側で実行しようとすると、端末装置1とサーバ装置2の間の認証回数や通信回数の増加がボトルネックとなり処理速度が低下する可能性があるからである。本実施形態では基本的に、鍵情報を用いる処理は端末装置1が担い、運賃計算や電子マネー決済といった演算処理はサーバ装置2が担う構成とする。
【0033】
このように処理を分担した場合、端末装置1の側に鍵情報が存在している必要がある。しかしながら、端末装置1の中に固定的に鍵情報を保管しておくのは、端末装置1の盗難による鍵情報の漏えいの危険性があるため好ましくない。そこで本システムでは、図1に示すようにサーバ装置2の側に鍵情報4を保管し、端末装置1はサーバ装置2から鍵情報4を取得して利用する、という方式を採用する。さらに、本システムでは、端末装置1の内部に一時的に鍵情報4を保持すると共に、端末装置1の状態に応じて鍵情報4の配置(保持方法)を動的に変更することで、鍵情報4の安全性と、処理速度及び可用性とのバランスを適切にコントロールする。以下、本システムの特徴部分である鍵情報の管理方法及びそれを実現するための構成について詳しく説明する。
【0034】
(端末装置)
図2は、図1の情報処理システムで用いられる端末装置1の一構成例を示している。この端末装置1は、非接触ICカード内のデータへアクセスする機能を有する装置であって、ハードウェア的には、リーダ/ライタ10、中央演算装置(CPU)11、揮発性メモリ12、LAN通信制御装置13、耐タンパデバイス14、2次記憶装置15を備えて構成される。また、図示しないが、端末装置1は後述する状態監視を行うための各種のセンサ(例えば、位置センサ、カメラ、振動センサ、照度センサなど)も備えている。
【0035】
揮発性メモリ12は、中央演算装置11がワークメモリとして利用する記憶装置であり、例えばRAMを用いることができる。また、耐タンパデバイス14は、耐タンパ性をもつ記憶装置である。耐タンパ性とは、内部の解析や改変(ここでは特に、記憶装置内に保持される鍵情報を不正に読み出すこと)が不可能又は極めて困難な性質をいう。耐タンパ性を実現する方法としては、論理的な手段(ソフトウェア的な手段)と物理的な手段(ハードウェア的な手段)とがあるが、ここではいずれの手段を用いてもよい。2次記憶装置15は、ハードディスクなどの比較的大容量の記憶装置である。2次記憶装置15には、デバイスドライバ及びオペレーティングシステムの他、ICカード処理に関する各種プログラム(鍵情報管理プログラム、セキュリティ状態監視プログラム、業務プログラム)が格納されている。これらのプログラムは必要に応じてワークメモリにロードされ、中央演算装置11によって実行されることで、端末装置1に目的とする機能を発揮させるものである。
【0036】
鍵情報管理プログラムは、端末装置1における鍵情報の管理を担うプログラムであり、サーバ装置2から鍵情報を取得する機能、鍵情報の保持方法(保持モード)を変更する機能、業務プログラムへ鍵情報を引き渡す機能、鍵情報を消去する機能などをもつ。また、セキュリティ状態監視プログラムは、端末装置1に対して不正な操作(盗難、破壊、分解など)が加えられていないかを検知するために端末装置1の状態を監視するプログラムである。不正な操作又はそのおそれが検知された場合には、鍵情報管理プログラムによって必要なセキュリティアクション(鍵情報の保持方法の変更、削除など)が実行される。業務プログラムは、サーバ装置側の業務プログラムと協働して、ICカード3に関わる業務処理を行うプログラムである。この業務プログラムは、鍵情報が必要な業務処理を実行する場合は、鍵情報管理プログラムから一時的に鍵情報を取得して処理を行う。これらのプログラムによる処理の詳細については後述する。
【0037】
端末装置1の具体的な形態としては、例えば、自動改札機、会計装置、自動販売機、POS端末、KIOSK端末、ATMなどを挙げることができる。また、リーダ/ライタを内蔵又は外付けしたパーソナルコンピュータ、携帯情報端末、タブレットPC、又はスマートフォンにより簡易的な端末装置1を構成することも可能である。本システムの用途、ICカードの種類、サービス内容、端末装置の設置場所などに応じて、端末装置1の具体的な形態を決めればよい。
【0038】
(サーバ装置)
サーバ装置2は、ハードウェア的には、中央演算装置(CPU)、ワークメモリ、2次記憶装置、通信制御装置などを備える汎用のコンピュータシステムにより構成される。図示しないが、2次記憶装置には、デバイスドライバ及びオペレーティングシステムの他、ICカード処理に関する各種プログラム(サーバ装置側の業務プログラム及び鍵情報管理プログラム)が格納されていると共に、ICカード3へのアクセスに必要となる鍵情報が保管されている。これらのプログラムは必要に応じてワークメモリにロードされ、中央演算装置によって実行されることで、サーバ装置2に目的とする機能を発揮させるものである。
【0039】
サーバ装置側の鍵情報管理プログラムは、端末装置1(端末装置側の鍵情報管理プログラム)から鍵情報の要求を受けた場合に、当該端末装置1に対して鍵情報を送信するためのプログラムである。また、サーバ装置側の業務プログラムは、端末装置側の業務プログラムと協働して、ICカード3に関わる業務処理を実行するプログラムである。なお、本システムでは端末装置1とサーバ装置2で業務処理を分担しているため、それぞれの業務プログラムが提供すべき機能は異なるものであるが、システムの可用性及び冗長性を高めるため、端末装置1とサーバ装置2の業務プログラムの機能の一部又は全部を共通にしてもよい。
【0040】
サーバ装置2は、1台のコンピュータで構成してもよいし、複数台のコンピュータで構成してもよい。また、サーバ装置2は端末装置1と同じLANの中に設置することもできるし、WAN上に設置することもできる。
【0041】
<システムの動作>
次に、本システムの動作について詳しく説明する。
【0042】
(端末装置の初期化)
端末装置1の電源がオフの状態にあるとき、端末装置1の内部には鍵情報は保持されていない。そのため、端末装置1は起動後に初期化処理を実行することで、サーバ装置2から鍵情報を取得する。
【0043】
図3に初期化処理のフローを示す。なおこの処理は、端末装置1とサーバ装置2の鍵情報管理プログラムによって実行されるものである。
【0044】
端末装置1の電源がオンされると、端末装置1がサーバ装置2にアクセスし、端末装置1(クライアント)とサーバ装置2(サーバ)の間で互いの認証が行われる。そして、端末装置1の業務が開始されるタイミングで、端末装置1がサーバ装置2に対しICカード3の鍵情報を要求する。業務の開始とは、端末装置1においてICカード3へアクセスする機能(つまり業務プログラムの機能)が有効化されることをいう。端末装置1を起動すると自動的に同機能が有効化される場合には、端末装置1の起動後ただちに鍵情報の取得処理が実行される。一方、ハードウェアスイッチあるいはソフトウェアスイッチにより業務プログラムの有効/無効を切り替え可能な端末装置1の場合には、ユーザ操作により機能が有効化されたタイミングで、鍵情報の取得処理が実行される。
【0045】
サーバ装置2は、認証された端末装置1から鍵情報の要求を受け取ると、この端末装置1に対して鍵情報を送信する。端末装置1とサーバ装置2の間の鍵情報の交換には、暗号化された安全なネットワーク経路が利用される。これにより、端末装置1とサーバ装置2の間の通信傍受による鍵情報の漏えいを防ぐことができる。
【0046】
端末装置1は、サーバ装置2から取得した鍵情報を耐タンパデバイス14に格納する。耐タンパデバイス14では暗号化された状態で鍵情報が保持される。さらに端末装置1は、揮発性メモリ12へも鍵情報を格納する。揮発性メモリ12には平文の状態で鍵情報が保持される。以上で業務処理の準備が整い、端末装置1はICカード3を受け付け可能な状態となる。
【0047】
(鍵情報の保持方法)
本実施形態の端末装置1は、鍵情報の保持方法として、次の3種類の保持モードを有している。
(1)揮発性メモリ12に鍵情報を保持するモード。
(2)揮発性メモリ12の鍵情報を消去し、耐タンパデバイス14にのみ鍵情報を保持
するモード。
(3)揮発性メモリ12と耐タンパデバイス14の鍵情報を消去し、端末装置1内に鍵情報を保持しないモード。この場合は、業務プログラムから鍵情報の要求がある毎にサーバ装置2から鍵情報を取得する。
【0048】
(1)→(2)→(3)の順にセキュリティレベルが高くなり、鍵情報の漏えいのリスクを低減できるが、(1)→(2)→(3)の順に処理速度が低下するという不利がある。また(3)のモードの場合は、端末装置1内に鍵情報が存在しないため、何らかの原因でサーバ装置2との通信が不能状態になると鍵情報を用いた処理が一切実行できなくなる(つまりシステムの可用性が低下する)。
【0049】
そこで本システムでは、セキュリティ状態監視プログラムが端末装置1の状態を監視して、盗難等の不正な操作が行われた可能性(鍵情報の漏えいリスク)を推定する。そして、鍵情報管理プログラムが、推定されたリスクに応じて、動的に保持モード(1)〜(3)を切り替えることで、安全性、処理速度、可用性のバランスを考慮したセキュリティ対策を講じることとする。
【0050】
(端末装置の状態監視)
端末装置1の業務処理が稼働している間、セキュリティ状態監視プログラムが端末装置1の状態を監視する。ここで、監視の対象となる「端末装置の状態」とは、盗難、破壊、分解などの不正な操作が行われた場合に変化し得るもの(状態の変化が不正な操作と因果関係を有するもの)であればよく、端末装置1自体の状態でも、端末装置1の周囲(環境)の状態でもよい。
【0051】
表1に、状態監視の対象と、検知する事象の一例を示す。表1の危険ポイントとは、該当する事象が検知された場合の危険度(盗難等の不正な操作が行われた可能性)を数値化した指標であり、後述するセキュリティレベルの決定に利用するパラメータである。なお、表1に示す危険ポイントの値は一例である。
【表1】
【0052】
(a)設置位置
端末装置1の内部にGPS(Global Positioning System)センサなどの位置センサを
組み込むと共に、端末装置1の設置位置の情報(つまり正しい位置)をセキュリティ状態監視プログラムに登録しておく。セキュリティ状態監視プログラムは、端末装置1の稼働中、定期的に位置センサから現在位置の情報を取り込み、現在位置と正しい設置位置とを比較する。現在位置と正しい設置位置との差が所定距離を超えたかどうかを評価することで、端末装置1の移動、すなわち「盗難」を検知することができる。
【0053】
(b)外部からの振動
端末装置1の内部に加速度センサなどの振動センサを組み込む。セキュリティ状態監視プログラムは、振動センサの出力が所定値を超えたかどうかを評価することで、端末装置
1に加えられた強い衝撃、すなわち「破壊」を検知することができる。また、振動が所定時間以上続くかどうかを評価することで、端末装置1の搬送、すなわち「盗難」を検知することもできる。なお、誤検知を防止するため、近隣の道路や線路などから受ける振動や、地震による振動などを除外するためのフィルタを設けることが望ましい。
【0054】
(c)周辺シーンの画像
端末装置1の内部にカメラを組み込み、端末装置1の周囲のシーンの画像を取り込む。セキュリティ状態監視プログラムは、端末装置1の稼働中、定期的にカメラから画像を取り込み、端末装置1の周囲のシーンに変化がないか監視する。画像が著しく変化したかどうかを評価することで、端末装置1の位置又は向きの変化、すなわち「盗難」を検知することができる。なお、カメラの画角内を人や車などの移動物が通過する場合には、複数枚の画像を平均するなどして、人や車などの移動物をシーン画像から除去することが望ましい。
【0055】
(d)ネットワーク接続
セキュリティ状態監視プログラムが、LANケーブルの通信ドライバから切断検知情報を取得する。これにより、端末装置1がネットワークから切り離されたこと、すなわち「盗難」を検知することができる。(ただし、ネットワークの障害の可能性も高いため、この事象を検知しただけでは「盗難」の可能性は低い。)
【0056】
(e)サーバ装置との通信
セキュリティ状態監視プログラムが、サーバ装置2との通信状態の情報を取得する。サーバ装置2との通信の失敗が発生した場合、端末装置1がネットワークから切り離されたこと、すなわち「盗難」を検知することができる。(ただし、サーバ装置あるいはネットワークの障害の可能性も高いため、この事象を検知しただけでは「盗難」の可能性は低い。)
【0057】
(f)装置内部の照度
端末装置1の筐体の内部に照度センサを組み込む。セキュリティ状態監視プログラムは、照度センサの出力が所定値を超えたかどうか、あるいは、照度センサの出力の時間変化などを評価することで、端末装置1の内部における異常な照度の変化、すなわち「破壊」や「分解」による装置内部の露出を検知することができる。
【0058】
以上、6種類の状態監視を例示したが、これらは一例にすぎず、他の方法やセンサを用いて他の状態を監視してもよい。例えば、温度センサや湿度センサで環境温度や湿度の変化を検知したり、音声センサを用いて環境音の変化や衝撃音を検知したりすることもできる。なお、上述したすべての状態監視を行う必要はなく、端末装置1のコストや装置サイズとの兼ね合いで必要な状態監視機能を組み込めばよい。
【0059】
(セキュリティアクション)
図4に、セキュリティ状態監視プログラムによる、セキュリティレベル及びセキュリティアクションの決定フローと、セキュリティアクションの通知を受けた鍵情報管理プログラムの処理フローを示す。
【0060】
ステップS10では、セキュリティ状態監視プログラムが、前述のとおり端末装置1の状態監視を行う。複数項目の状態監視を行う場合は、それぞれの項目について事象が検知されたか否かを評価する。
【0061】
ステップS11では、セキュリティ状態監視プログラムが、ステップS10で検知された事象に基づいて危険ポイントを算出する。もし複数項目の事象が検知された場合には、
それぞれの事象の危険ポイントを合計する。例えば、表1において、(c)シーン画像の著しい変化と(d)LANとの切断が検知された場合には、危険ポイントは15ポイントと求まる。この危険ポイントは、端末装置1に対して盗難等の不正な操作が加えられた可能性(つまり、鍵情報の漏えいのリスク)を表しており、危険ポイントが大きいほど可能性(リスク)が高いことを表している。
【0062】
ステップS12では、セキュリティ状態監視プログラムが、ステップS11で得られた危険ポイントに基づいて、セキュリティレベルを決定する。セキュリティレベルとは、端末装置1に設定すべきセキュリティの高さを表すものである。ここでは、表2のセキュリティアクションテーブルに示すように、セキュリティレベルがN段階(Nは1より大きい整数)に細分化されており、危険ポイントに応じてセキュリティレベルが決まるようになっている。例えば危険ポイントが15ポイントであった場合、セキュリティレベルは「3」となる。
【表2】
【0063】
ステップS13では、セキュリティ状態監視プログラムが、セキュリティアクションテーブルに基づいて、ステップS12で決定したセキュリティレベルに対応するセキュリティアクションを決定する。セキュリティアクションとは、鍵情報の安全な運用を実現するために端末装置1が採るべき動作(セキュリティ対策)を定義したものである。
【0064】
ステップS14では、セキュリティ状態監視プログラムが、ステップS13で決定したセキュリティアクションに基づく指示を鍵情報管理プログラムに通知する。表2の例では、セキュリティレベルが2の場合は、揮発性メモリ12から鍵情報を消去する指示が通知され、セキュリティレベルが3以上の場合は、揮発性メモリ12と耐タンパデバイス14から鍵情報を消去する指示が通知されることとなる。
【0065】
鍵情報管理プログラムは、セキュリティ状態監視プログラムから通知を受け取ると、ステップS20において当該通知が揮発性メモリ12からの鍵情報の消去指示を含むか否かを判断し、YESの場合はステップS21において揮発性メモリ12から鍵情報を消去する。また鍵情報管理プログラムは、ステップS22において当該通知が耐タンパデバイス14からの鍵情報の消去指示を含むか否かを判断し、YESの場合はステップS23において耐タンパデバイス14から鍵情報を消去する。これにより、セキュリティレベルに応じた適切な保持モードに切り替えられる。
【0066】
(業務プログラムへの鍵情報の提供)
図5に、業務プログラムから鍵情報の要求を受けた場合の鍵情報管理プログラムの処理フローを示す。
【0067】
鍵情報管理プログラムは、業務プログラムからの鍵情報の取得要求を受け取ると(ステ
ップS30)、まず揮発性メモリ12に鍵情報が保持されているか否か調べる(ステップS31)。揮発性メモリ12に鍵情報が存在する場合、鍵情報管理プログラムは揮発性メモリ12から鍵情報を取得し(ステップS32)、その鍵情報を業務プログラムに渡す(ステップS33)。
【0068】
揮発性メモリ12に鍵情報が存在しない場合は、鍵情報管理プログラムは耐タンパデバイス14に鍵情報が保持されているか否か調べる(ステップS34)。耐タンパデバイス14に鍵情報が存在する場合は、鍵情報管理プログラムは耐タンパデバイス14から鍵情報を取得し(ステップS35)、その鍵情報を業務プログラムに渡す(ステップS33)。
【0069】
もし耐タンパデバイス14にも鍵情報が存在しなかった場合は、前述した初期化処理(図3)と同様の処理が実施される。すなわち、鍵情報管理プログラムがサーバ装置2から鍵情報を取得し、鍵情報を耐タンパデバイス14に格納すると共に揮発性メモリ12に展開した後、その鍵情報を業務プログラムに渡す(ステップS33)。
【0070】
(端末装置の終了)
端末装置1の電源がオフされる時、又は、端末装置1の業務終了時に、端末装置1の鍵情報管理プログラムが揮発性メモリ12及び耐タンパデバイス14に保持されている鍵情報をすべて消去する。業務の終了とは、ICカード3へアクセスする機能(業務プログラムの機能)が無効化されることをいう。このように鍵情報が不要となるタイミングで積極的に鍵情報を消去し、端末装置1内に鍵情報を残さないようにすることで、鍵情報の漏えいのリスクを一層低減することができる。
【0071】
<本システムの利点>
以上述べた本実施形態の情報処理システムは次のような利点を有する。すなわち、端末装置1の電源がオフの状態にあるときは端末装置1の内部に鍵情報が存在しないため、たとえ端末装置1が盗難されリバースエンジニアリングされたとしても、そこから鍵情報が漏えいすることはない。一方、端末装置1の稼働中は、サーバ装置2から取得した鍵情報が端末装置1内の記憶装置に一時的に保持されるため、端末装置1の側で鍵情報を用いた認証やデータアクセスの処理が実行可能となり、高速な処理を実現できる。また、ネットワーク又はサーバ装置2の異常により、サーバ装置2との通信が突然不調になったとしても、端末装置1内に一時的に保持されている鍵情報を利用できるために、端末装置1単独で必要最低限の業務を継続することが可能となる。
【0072】
鍵情報の安全性の観点からは当然セキュリティレベルが高い方が望ましいが、セキュリティレベルの高さはシステムの処理速度や可用性とトレードオフの関係にあるため、必要以上にセキュリティレベルを高めることは適当ではない。その点、本システムでは、不正な操作が加えられた可能性(危険ポイント)が高くなるほどセキュリティレベルを高めるような制御を行うようにしたことで、鍵情報の安全性とシステムの処理速度・可用性とを適切なバランスに設定することができる。具体的には、平常時には、アクセスの高速な揮発性メモリ12に鍵情報を保持するモードを利用することで、高速なICカード処理を実現する。そして、警戒が必要な場合には、耐タンパデバイス14に鍵情報を保持するモードを利用することで、処理速度は若干低下するものの、揮発性メモリ12に鍵情報を保持するよりも安全性を高めることができる。さらに、異常時には、端末装置1内の鍵情報を消去し、サーバ装置2から鍵情報を都度取得するようにすることで、処理速度と可用性は低下するものの、端末装置1内に鍵情報を保持するよりもはるかに安全性を高めることができる。
【0073】
<実施例>
上記実施形態に係る情報処理システムを、鉄道の乗車カードの改札・精算を行う自動改札システムに適用した例について説明する。
【0074】
図6は、自動改札システムの構成を示している。このシステムは、端末装置としての改札機1aと、サーバ装置2aから構成されている。改札機1aとサーバ装置2aはネットワークで接続されている。図6の例では、駅Aには2台の改札機1a、駅Bには1台の改札機1aが設置されており、サーバ装置2aがこれらの改札機1aを統括している。
【0075】
本実施例の改札機1aは、無人駅の改札や臨時改札などに簡単に設置できるよう、ICカード3aのリーダ/ライタが一体構成された小型の端末装置で構成されたものである。このような改札機1aは軽量で可搬性があるため、盗難に対するセキュリティ対策を講じる必要がある。
【0076】
サーバ装置2aは、駅あるいは社局のデータセンタに設置されており、ICカード3aの業務処理の一部を実行すると共に、業務処理の結果情報の収集・蓄積を行う機能を有する。また、サーバ装置2aは、ICカード3aのアクセスに必要な鍵情報を安全に保管しており、改札機1aからの要求に対して鍵情報の配信を行う機能も有する。このサーバ装置2aは安全な場所で管理され可搬性は無いと想定する。
【0077】
改札機1aには、状態監視のためのセンサとして、GPSセンサ、振動センサ、及び小型カメラが組み込まれている。そして、改札機1aのセキュリティ状態監視プログラムは、表3に記載した状態監視を行う。
【表3】
【0078】
また、セキュリティレベルとセキュリティアクションは、表4のように定義される。
【表4】
【0079】
セキュリティレベルが0の場合、サーバ装置2aから取得された鍵情報は平文の状態で揮発性メモリに保持され、通常の業務処理が実行される。セキュリティレベルが1の場合、警戒状態となり、揮発性メモリから鍵情報が消去される。ICカード3aのアクセスのために鍵情報が必要な場合には、耐タンパデバイスから鍵情報が取得される。警戒状態で
は、処理速度がやや低下した状態で業務が継続される。セキュリティレベルが2の場合、障害検知状態となり、揮発性メモリ及び耐タンパデバイスの両方から鍵情報が消去される。ICカード3aのアクセスのために鍵情報が必要な場合には、サーバ装置2aから毎回鍵情報が取得される。障害検知状態においては、処理速度がさらに低下するが、業務は継続される。セキュリティレベルが3の場合、盗難検知状態となり、揮発性メモリ及び耐タンパデバイスの両方から鍵情報が消去されると共に、改札機1aの業務が停止される。
【0080】
(障害検知時の処理例)
図7に、ネットワーク障害検知時の改札機1aの各プログラムの処理フローを示す。
【0081】
(1)通常状態から警戒状態への遷移
ステップT1:セキュリティ状態監視プログラムは、サーバ装置2aとの接続の失敗を検知すると、監視用のタイマを起動する。
ステップT2:セキュリティ状態監視プログラムは、10分経過してもサーバ装置2aとの接続が失敗し続けていた場合、危険ポイントに10加算し、セキュリティレベルを更新する。ここでは危険ポイントが0から5になるため、セキュリティレベルが0(通常状態)から1(警戒状態)に遷移する。また、セキュリティ状態監視プログラムは、セキュリティレベルに対応したセキュリティアクションを決定する。
ステップT3:セキュリティ状態監視プログラムは、鍵情報管理プログラムに揮発性メモリからの鍵情報の消去を指示する。
ステップT4:鍵情報管理プログラムは、揮発性メモリ上に展開されている鍵情報を消去する。
以降、セキュリティレベルが0に回復するまでは、業務プログラムからの要求の度に、鍵情報管理プログラムは耐タンパデバイスから鍵情報を取得する。
【0082】
(2)警戒状態から盗難検知状態への遷移
ステップT5:セキュリティ状態監視プログラムは、60分経過してもサーバ装置2aとの接続が失敗し続けていた場合、危険ポイントに20加算し、セキュリティレベルを更新する。ここでは危険ポイントが5から25になるため、セキュリティレベルが1(警戒状態)から3(盗難検知状態)に遷移する。また、セキュリティ状態監視プログラムは、セキュリティレベルに対応したセキュリティアクションを決定する。
ステップT6:セキュリティ状態監視プログラムは、鍵情報管理プログラムに耐タインパデバイスからの鍵情報の消去を指示する。
ステップT7:鍵情報管理プログラムは、耐タンパデバイス上に保存してある鍵情報を消去する。
ステップT8:セキュリティ状態監視プログラムは、業務プログラムに業務停止を指示する。
ステップT9:業務プログラムは、即時に業務を停止する。
【0083】
以上述べたように、本実施例の構成によれば、状態監視結果に応じて鍵情報の保持方法が適切にコントロールされるため、処理速度及び可用性を維持しつつ、安全性の高い鍵情報の管理を行うことができる。
【0084】
<変形例>
上記実施形態では、状態監視の結果(鍵情報の漏えいリスク)に応じて鍵情報の保持モードを切り替える構成としたが、本発明の構成はこれに限られない。
【0085】
例えば、状態監視により盗難等の不正な操作又はそのおそれが検知された場合に、ただちに端末装置1の記憶装置に保持されている鍵情報を消去する、という単純な制御でもよい。このような対処を採ることでも、端末装置1のリバースエンジニアリングによる鍵情
報の不正取得を未然に防止することができる。また、このように鍵情報を保持するか/消去するかという単純な制御の場合は、端末装置1内の記憶装置は1種類でよいため、耐タンパデバイスが不要となり、端末装置1のさらなる小型化及びコスト低減を図ることができる。ところで、盗難、破壊、分解といった不正な操作を100%間違いなく検知することは難しく、誤検知(不正な操作でないものを検知してしまうこと)又は検知漏れ(不正な操作を検知できないこと)の発生は避け得ない。鍵情報の安全性を重視すれば、検知漏れをゼロ又は可能な限り少なくなるような設計にすることが望ましいが、そうすると、誤検知の増加によって頻繁に端末装置内の鍵情報が消去されることとなり、システムの処理速度の低下又は可用性の低下を招くおそれがある。このような点に鑑みると、鍵情報を保持するか/消去するかという単純な制御よりも、上記実施形態のように端末装置1の状態の変化に応じて鍵情報の保持モードを切り替える構成とする方が、安全性、処理速度、可用性のバランスを制御できるという点で優れている。
【符号の説明】
【0086】
1:端末装置
1a:改札機(端末装置)
2、2a:サーバ装置
3、3a:非接触ICカード
4:鍵情報
10:リーダ/ライタ
11:中央演算装置
12:揮発性メモリ
13:LAN通信制御装置
14:耐タンパデバイス
15:2次記憶装置
図1
図2
図3
図4
図5
図6
図7