(57)【要約】【課題】状況に応じたセキュリティ対策を行えるＩＣカードおよび携帯可能電子装置を提供する。【解決手段】実施形態によれば、ＩＣカードは、通信インターフェースと、第１の記憶手段と、通信処理手段と、第２の記憶手段と、取得手段と、決定手段と、実行手段とを有する。第１の記憶手段は、複数のデータを記憶する。通信処理手段は、通信インターフェースにより複数の論理チャネルで外部装置と通信する。第２の記憶手段は、論理チャネルごとに各論理チャネルを使用して指示された命令を実行中に発生した事象を記憶する。取得手段は、外部装置から指示される命令を受信した場合、別の命令を実行中に発生した事象を第２の記憶手段から取得する。決定手段は、取得手段により取得した事象に応じて受信した命令に対する処理の実行内容を決定する。実行手段は、決定手段により決定した実行内容で外部装置から指示された前記命令に対する処理を実行する。【選択図】図２
2014127129.tif 000002
【特許請求の範囲】
【請求項１】
外部装置から指示される命令を実行するＩＣカードであって、
前記外部装置と通信するための通信インターフェースと、
複数のデータを記憶する第１の記憶手段と、
前記通信インターフェースにより複数の論理チャネルで前記外部装置と通信する通信処理手段と、
前記論理チャネルごとに各論理チャネルを使用して指示された命令を実行中に発生した事象を記憶する第２の記憶手段と、
前記外部装置から指示される命令を受信した場合、別の命令を実行中に発生した事象を前記第２の記憶手段から取得する取得手段と、
前記取得手段により取得した事象に応じて前記受信した命令に対する処理の実行内容を決定する決定手段と、
前記決定手段により決定した実行内容で前記外部装置から指示された前記命令に対する処理を実行する実行手段と、
を有するＩＣカード。
【請求項２】
前記第２の記憶手段は、前記各論理チャネルを使用して指示された命令を実行中に発生した事象をアクセス対象としたファイルを示す情報に対応づけて記憶し、
前記取得手段は、前記外部装置から受信した命令がアクセス対象とするファイルをアクセス対象とした別の命令を実行中に発生した事象を前記第２の記憶手段から取得する、
前記請求項１に記載のＩＣカード。
【請求項３】
前記第２の記憶手段は、揮発性のメモリである、
前記請求項１又は２の何れか１項に記載のＩＣカード。
【請求項４】
前記第２の記憶手段は、書換え可能な不揮発性のメモリである、
前記請求項１又は２の何れか１項に記載のＩＣカード。
【請求項５】
外部装置と通信するための通信インターフェースと、複数のデータを記憶する第１の記憶手段と、前記通信インターフェースにより複数の論理チャネルで前記外部装置と通信する通信処理手段と、前記論理チャネルごとに各論理チャネルを使用して指示された命令を実行中に発生した事象を記憶する第２の記憶手段と、前記外部装置から指示される命令を受信した場合、別の命令を実行中に発生した事象を前記第２の記憶手段から取得する取得手段と、前記取得手段により取得した事象に応じて前記受信した命令に対する処理の実行内容を決定する決定手段と、前記決定手段により決定した実行内容で前記外部装置から指示された前記命令に対する処理を実行する実行手段と、を有するモジュールと、
前記モジュールを具備する本体と、
を有するＩＣカード。
【請求項６】
外部装置から指示される命令を実行する携帯可能電子装置であって、
前記外部装置と通信するための通信インターフェースと、
複数のデータを記憶する第１の記憶手段と、
前記通信インターフェースにより複数の論理チャネルで前記外部装置と通信する通信処理手段と、
前記論理チャネルごとに各論理チャネルを使用して指示された命令を実行中に発生した事象を記憶する第２の記憶手段と、
前記外部装置から指示される命令を受信した場合、別の命令を実行中に発生した事象を前記第２の記憶手段から取得する取得手段と、
前記取得手段により取得した事象に応じて前記受信した命令に対する処理の実行内容を決定する決定手段と、
前記決定手段により決定した実行内容で前記外部装置から指示された前記命令に対する処理を実行する実行手段と、
を有する携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、および携帯可能電子装置に関する。
【背景技術】
【０００２】
ＩＣカードは、複数の機能を実現するために複数のアプリケーションを搭載するものがある。従来、ＩＣカードに搭載される複数のアプリケーションは、個々のセキュリティポリシーに基づいてセキュリティ的脅威を検知し、検知したセキュリティ的脅威に対処する。しかしながら、あるアプリケーションを実行中に検知したセキュリティ的脅威は、他のアプリケーションと共有していない。また、セキュリティポリシーが異なるアプリケーションでは、各種のセキュリティ的脅威に対する対処も異なる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２４３２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、状況に応じたセキュリティ対策を行えるＩＣカード、および携帯可能電子装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
実施形態によれば、ＩＣカードは、通信インターフェースと、第１の記憶手段と、通信処理手段と、第２の記憶手段と、取得手段と、決定手段と、実行手段とを有する。第１の記憶手段は、複数のデータを記憶する。通信処理手段は、通信インターフェースにより複数の論理チャネルで外部装置と通信する。第２の記憶手段は、論理チャネルごとに各論理チャネルを使用して指示された命令を実行中に発生した事象を記憶する。取得手段は、外部装置から指示される命令を受信した場合、別の命令を実行中に発生した事象を第２の記憶手段から取得する。決定手段は、取得手段により取得した事象に応じて受信した命令に対する処理の実行内容を決定する。実行手段は、決定手段により決定した実行内容で外部装置から指示された前記命令に対する処理を実行する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態に係るＩＣカードとＩＣカード処理装置との構成例を示す図である。
【図２】図２は、実施形態に係るＩＣカードの構成例を示すブロック図である。
【図３】図３は、実施形態に係るＩＣカードの不揮発性メモリに記憶されるファイルの構成例を示す図である。
【図４】図４は、実施形態に係るＩＣカードのＲＡＭ内の設けられるセキュリティ設定テーブルの構成例を示す図である。
【図５】図５は、複数のアプリケーションが複数の論理チャネルでＩＣカード内のデータにアクセスする様子を模式的に示す図である。
【図６】図６（ａ）は、異常管理テーブルの第１の構成例を示す図であり、図６（ｂ）は、異常管理テーブルの第２の構成例を示す図である。
【図７】図７は、実施形態に係るＩＣカードにおける動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００７】
以下、この発明の実施の形態について図面を参照して説明する。  
図１は、本実施の形態に係るＩＣカード（携帯可能電子装置）２、および、ＩＣカード２との通信機能を有する外部装置としてのＩＣカード処理装置１の構成例を概略的に示すブロック図である。  
まず、ＩＣカード処理装置１の構成について説明する。  
ＩＣカード処理装置１は、図１に示すように、制御部１１、ディスプレイ１２、キーボード１３、および、カードリーダライタ１４などを有する。
【０００８】
制御部１１は、ＩＣカード処理装置１全体の動作を制御するものである。制御部１１は、プロセッサ、種々のメモリ及び各種インターフェースなどにより構成される。制御部１１では、プロセッサがメモリに記憶されているプログラムを実行することにより、種々の処理を実現している。たとえば、制御部１１は、パーソナルコンピュータ（ＰＣ）により構成される。
【０００９】
制御部１１は、カードリーダライタ１４によりＩＣカード２へコマンドを送信する機能、ＩＣカード２から受信したデータを基に種々の処理を行う機能などを有する。たとえば、制御部１１は、カードリーダライタ１４を介してＩＣカード２にライト系のコマンド（書き込みコマンド）を送信することによりＩＣカード２内の不揮発性メモリにデータを書き込む制御を行う。また、制御部１１は、ＩＣカード２にリード系のコマンド（読み取りコマンド）を送信することによりＩＣカード２からデータを読み出す制御を行う。
【００１０】
また、制御部１１は、処理対象とするＩＣカード２が有する機能（例えば、電子マネー機能、クレジットカード機能、個人認証機能、入退出管理機能など）に対応する処理を行うためのアプリケーションプログラム（以下、単にアプリケーションとも称する）を実行する機能を有する。たとえば、複数のアプリケーションプログラムを用いて１つのＩＣカード２に複数の機能を実行させる場合、制御部１１は、各アプリケーションプログラム（機能）に論理チャネル（後述する）を割り当てることにより機能（アプリケーション）ごとにＩＣカード２との通信経路を確保して、ＩＣカード２との通信を行う。
【００１１】
カードリーダライタ１４は、ＩＣカード２との通信を行うためのインターフェース装置である。カードリーダライタ１４は、ＩＣカード２の通信方式に応じたインターフェースにより構成される。たとえば、ＩＣカード２が接触型のＩＣカードである場合、カードリーダライタ１４は、ＩＣカード２のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
【００１２】
また、ＩＣカード２が非接触型のＩＣカードである場合、カードリーダライタ１４は、ＩＣカード２との無線通信を行うためのアンテナおよび通信制御などにより構成される。カードリーダライタ１４では、ＩＣカード２に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ１４は、制御部１１による制御に基づいて上記ＩＣカード２の活性化（起動）、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
【００１３】
キーボード１３は、当該ＩＣカード処理装置１の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。ディスプレイ１２は、制御部１１の制御により種々の情報を表示する表示装置である。
【００１４】
次に、ＩＣカード２の構成例について説明する。  
ＩＣカード２は、ＩＣカード処理装置１などの上位装置からの電源および動作クロックの供給を受けて活性化される（動作可能な状態になる）。例えば、ＩＣカード２が接触型の通信によりＩＣカード処理装置１と接続される場合、つまり、ＩＣカード２が接触型のＩＣカードである場合、ＩＣカード２は、通信インターフェースとしてのコンタクト部を介してＩＣカード処理装置１からの動作電源及び動作クロックの供給を受けて活性化される。
【００１５】
また、ＩＣカード２が非接触型の通信方式によりＩＣカード処理装置１と接続される場合、つまり、ＩＣカード２が非接触型のＩＣカードである場合、ＩＣカード２は、通信インターフェースとしてのアンテナ及び変復調回路などを介してＩＣカード処理装置１からの電波を受信し、その電波から図示しない電源部により動作用の電力及び動作クロックを生成して活性化する。
【００１６】
図２は、本実施の形態に係るＩＣカード２のハードウエア構成例を概略的に示すブロック図である。  
ＩＣカード２は、プラスチックなどで形成されたカード状の筐体（本体）Ｃ内にモジュールＭが内蔵されている。モジュールＭは、１つまたは複数のＩＣチップＣａと通信用の外部通信用のインターフェース（Ｉ／Ｆ）とが接続された状態で一体的に形成され、本体Ｃ内に埋設されている。また、ＩＣカード２のモジュールＭは、図２に示すように、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、不揮発性メモリ２４、Ｉ／Ｏインターフェース（通信部）２５、および、コプロセッサ２６などを有してしている。
【００１７】
ＣＰＵ２１は、当該ＩＣカード２全体の制御を司るものである。ＣＰＵ２１は、ＲＯＭ２２あるいは不揮発性メモリ２４に記憶されている制御プログラムおよび制御データに基づいて動作することにより、種々の機能を実現する。たとえば、ＣＰＵ２１は、オペレーティングシステムのプログラム（以下、カードＯＳと称する）を実行することにより、当該ＩＣカード２の基本的な動作制御を行う。また、ＣＰＵ２１は、当該ＩＣカード２の利用目的に応じたアプリケーションプログラムを実行することにより、当該ＩＣカード２の運用形態に応じた種々の動作制御を行う。
【００１８】
ＲＯＭ２２は、予め制御用のプログラムや制御データなどが記憶されている不揮発性のメモリである。ＲＯＭ２２には、当該ＩＣカード２の製造段階で制御プログラムあるいは制御データなどが記憶された状態でＩＣカード２内に組み込まれる。つまり、ＲＯＭ２２に記憶されている制御プログラムあるいは制御データは、当該ＩＣカード２の基本的な動作を司るものであり、予め当該ＩＣカード２の仕様に応じて組み込まれる。
【００１９】
たとえば、ＲＯＭ２２は、当該ＩＣカード２の基本的な動作及び処理機能を司るカードＯＳを記憶する。ＣＰＵ２１は、ＲＯＭ２２に格納したカードＯＳを実行することにより、当該ＩＣカード２における基本的な制御として、外部装置からコマンドを受信したり、受信したコマンドの処理内容を解釈したり、コマンドの処理内容に応じて処理を実行したり、コマンドの処理結果を含むレスポンスを送信したりする。また、ＣＰＵ２１は、ＩＣカード２が具備する拡張的な機能として、物理的に１つの通信部（Ｉ／Ｏインターフェース）２５を用いて仮想的（論理的）に設けた複数の通信経路（論理チャネル）で通信を行う論理チャネル機能をカードＯＳにより実現する。なお、カードＯＳは、ＲＯＭ２２以外の別の不揮発性メモリに記憶するようにしても良い。
【００２０】
ＲＡＭ２３は、揮発性のメモリである。ＲＡＭ２３は、ＣＰＵ２１が処理中のデータなどを一時保管するバッファとして機能する。また、ＲＡＭ２３には、各ファイルへのアクセス状況、通信用の論理チャネルの使用状況、および、各論理チャネルでの処理状況などを示す情報を記憶する。たとえば、ＲＡＭ２３は、論理チャネルとアプリケーションとの対応関係を示すチャネル管理テーブル２３ａを格納する記憶領域、および、各論理チャネルにおける処理状況（異常の有無）を示す情報を格納する異常管理テーブル２３ｂを格納する記録領域などを有する。
【００２１】
不揮発性メモリ２４は、例えば、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）あるいはフラッシュＲＯＭなどのデータの書き込み及び書換えが可能な不揮発性メモリにより構成される。不揮発性メモリ２４は、当該ＩＣカード２の運用用途に応じた種々のアプリケーションプログラムおよび種々のアプリケーションデータなどを記憶する。不揮発性メモリ２４には、当該ＩＣカード２の規格に応じた種々のファイルが定義され、それらのファイルに種々のデータが書き込まれる。不揮発性メモリ２４に格納されるファイル構成の例については、後述する。
【００２２】
また、不揮発性メモリ２４は、当該ＩＣカード２が有する種々の機能に対する設定内容を示す設定情報を記憶する。たとえば、不揮発性メモリ２４は、当該ＩＣカード２が有する種々の機能（アプリケーション）に対するセキュリティ設定を示す情報を記憶するセキュリティ設定テーブル２４ａを格納する記憶領域を有する。なお、不揮発性メモリ２４は、上述したチャネル管理テーブル２３ａ、異常管理テーブル２３ｂを記憶するようにしても良い。
【００２３】
Ｉ／Ｏインターフェース２５は、ＩＣカード処理装置１のカードリーダライタ１４との通信を行うためのインターフェースである。当該ＩＣカード２が接触型のＩＣカードとして実現される場合、Ｉ／Ｏインターフェース２５は、ＩＣカード処理装置１のカードリーダライタ１４と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、当該ＩＣカード２が非接触型のＩＣカードとして実現される場合、Ｉ／Ｏインターフェース２５は、ＩＣカード処理装置１のカードリーダライタ１４との無線通信を行うための変復調回路などの通信制御部および電波を送受信するためのアンテナなどにより構成される。
【００２４】
コプロセッサ（Co-Processor）２６は、暗号処理を実行するためのプロセッサである。コプロセッサ２６は、たとえば、暗号化及び復号化を用いた認証処理、あるいは、暗号化されたデータの読み出し処理などに用いられる。
【００２５】
次に、不揮発性メモリ２４に格納されるファイルについて説明する。  
図３は、不揮発性メモリ２４に格納されるファイルの構造例を示す図である。  
図３に示すように、不揮発性メモリ２４には、ＭＦ（Master File）、ＤＦ(Dedicated File)および、ＥＦ(Elementary File)などからなる階層構造を有する複数のファイル群が定義される。なお、図３に示すようなファイル構造は、たとえば、ＩＣカードの国際的な標準規格であるＩＳＯ／ＩＥＣ  ７８１６−４で規定されているものを適用できる。
【００２６】
図３に示す例では、最上階層のマスターファイル（ＭＦ）の次の階層には、複数のＤＦ（ＤＦ＃１、ＤＦ＃２、ＤＦ＃３）が存在する。たとえば、１つのＤＦには、当該ＩＣカード２が具備する１つのアプリケーションを実現するためのデータが格納される。複数のアプリケーションによって複数の機能を実現しているＩＣカード２では、各アプリケーションに対応する複数のＤＦを不揮発性メモリ２４内に設けるようにして良い。ただし、あるアプリケーションに対応するＤＦに属するＥＦを別のアプリケーションが参照（アクセス）できるようにしても良い。
【００２７】
また、図３に示す例では、第１のアプリケーションが対応する第１のＤＦ（ＤＦ＃１）の配下としては、ＤＦの次の階層に２つのＥＦ（ＥＦ＃１−１、および、ＥＦ＃１−２）が存在し、第２のアプリケーションが対応する第２のＤＦ（ＤＦ＃２）の配下としては、ＤＦの次の階層に２つのＥＦ（ＥＦ＃２−１、および、ＥＦ＃２−２）が存在し、第３のアプリケーションが対応する第３のＤＦ（ＤＦ＃３）の配下としては、ＤＦの次の階層に１つのＥＦ（ＥＦ＃３−１）が存在している。
【００２８】
各ＥＦ（ＥＦ＃１−１、ＥＦ＃１−２、ＥＦ＃２−１、ＥＦ＃２−２、ＥＦ＃３−１）は、それぞれが各種のアプリケーションで用いるデータ（アプリケーションデータ）を格納するためのデータファイルである。各ＥＦには、所定のデータ構造でデータが格納される。たとえば、各ＥＦ内のデータ構造は、ＩＣカードの国際的な標準規格であるＩＳＯ／ＩＥＣ  ７８１６−４で規定されているものが適用できる。一例として、ＩＳＯ／ＩＥＣ  ７８１６−４では、識別子（タグ（Tag））、データ長（レングス(Length)）、および、データ部（バリュー（Value））が順に連結されるＴＬＶ構造のオブジェクトデータ（TLV data object）などがＥＦ内のデータ構造として規定している。
【００２９】
次に、ＩＣカード２における論理チャネル機能について説明する。
【００３０】
ＣＰＵ２１は、カードＯＳを実行することにより実現される処理機能として論理チャネル機能を有する。論理チャネル機能とは、物理的に１つの通信部（Ｉ／Ｏインターフェース）２５を用いて、仮想的に設けた複数の通信経路（論理チャネル）で外部装置と通信を行う機能である。たとえば、カードＯＳは、各種のアプリケーションがＩＣカード２の不揮発性メモリ２４内の各ファイルへのアクセスなどを要求するコマンドをＩＣカード処理装置１から受信するための仮想的な複数の通信用チャネルとして複数の論理チャネルを管理する。
【００３１】
論理チャネル機能によって複数の論理チャネルで通信制御を行うことにより、ＩＣカード２は、複数のアプリケーションにそれぞれ複数の論理チャネルを割り当て、論理チャネル（アプリケーション）ごとに複数系列のコマンド群を処理することができる。たとえば、第１のアプリケーションでは、第１の論理チャネルでコマンド処理を実行し、第２のアプリケーションでは、第２の論理チャネルでコマンド処理を実行するという処理が可能となっている。
【００３２】
すなわち、ＩＣカード２は、論理チャネル機能によって、複数のアプリケーションにそれぞれ論理チャネルを割り当てて、各論理チャネルでの処理を同時期に並列的に実行することができる。ただし、複数のアプリケーションを同時期に実行するというのは、完全に同じ時刻に複数の異なる処理を実行するのではなく、正確には、複数のアプリケーションが異なる論理チャネルを割り当てられた状態で同時に選択され、複数の各論理チャネルを切り換えながら複数のアプリケーションを実行することを意味するものとする。
【００３３】
論理チャネル機能は、外部装置としてのＩＣカード処理装置１から論理チャネルが指定され、指定された論理チャネルを管理する機能を有する。たとえば、ＩＣカード２に設定する個々の論理チャネルは、ＩＣカード処理装置１からのコマンドによって、アプリケーションごとにオープン及びクローズが制御される。本実施形態においては、チャネル管理テーブル２３ａにより、各アプリケーションに対して各論理チャネルを割り当てて管理するものとする。なお、本実施形態において、外部装置としてのＩＣカード処理装置１は、ＩＣカード２に設定する各アプリケーションには特定の論理チャネルを割り当てるものとする。
【００３４】
次に、ＩＣカード２における各種のテーブルについて説明する。  
図４は、不揮発性メモリ２４内に設けられるセキュリティ設定テーブル２４ａの構成例を示す図である。  
セキュリティ設定テーブル２４ａは、ＩＣカード２が有する各種の機能としての各アプリケーションに対するセキュリティに関する設定情報を記憶する。図４に示す例では、３つの機能に対応するアプリケーションＡ、アプリケーションＢ、アプリケーションＣにおける各種のステータスに対する対処方法を示す情報がセキュリティ設定情報として格納されている。
【００３５】
図４に示すセキュリティ設定テーブル２４ａの例では、アプリケーションＡに対しては、ステータスが「００（異常発生無）」或いは「５５（対象領域外読出試行の異常検知）」である場合には通常処理を実行し、ステータスが「９９（処理手順の異常検知）」である場合には照会（リード）処理のみを実行可とするセキュリティ設定情報が記憶されている。また、図４に示すセキュリティ設定テーブル２４ａの例では、アプリケーションＢに対しては、ステータスが「００（異常発生無）」である場合には通常処理を実行し、ステータスが「５５（対象領域外読出試行の異常検知）」或いは「９９（処理手順の異常検知）」である場合には動作停止とするセキュリティ設定情報が記憶されている。また、図４に示すセキュリティ設定テーブル２４ａの例では、アプリケーションＣに対しては、ステータスが「００（異常発生無）」である場合には通常処理を実行し、ステータスが「５５（対象領域外読出試行の異常検知）」である場合には照会（リード）処理のみを実行可とし、ステータスが「９９（処理手順の異常検知）」である場合には処理を実行不可とするセキュリティ設定情報が記憶されている。
【００３６】
図４に示すようなセキュリティ設定によれば、アプリケーションＡでは、アプリケーションＣでステータスが「９９」となるような重大な不正が検知された場合、照会（リード処理）は実行可能となる。たとえば、小額決済を行う電子マネー機能のようなアプリケーションは、図４に示すアプリケーションＡのようなセキュリティ設定とすれば、他のアプリケーションで重大な不正（例えば、ステータスが「９９」となる処理手順異常など）が検知された場合であっても、データ書換えなどを含む決済処理などが実行不可能となるが、残高照会などの照会（リード処理）は実行可能とすることができる。この結果として、ＩＣカードを再発行する場合であっても、残額を確認でき、預け入れ金が失われることは無いという運用を実現できる。
【００３７】
一方、病院の受信暦、納税記録、或いは年金支払記録などの重大な個人情報を扱うアプリケーションは、図４に示すアプリケーションＢのようなセキュリティ設定とすれば、他のアプリケーションで軽度の不正（例えば、ステータスが「５５」となる対象領域外読出試行など）が検知された場合であっても、当該ＩＣカード２の全機能を停止させることができる。この結果として、個人情報などの重要な情報を確実に保護することができ、重要な情報の流出を防ぐことができる。
【００３８】
なお、ＩＣカード２では、各種の機能に対応する各アプリケーションにはそれぞれにＤＦを対応させる形態が多い。このような形態であれば、各アプリケーションに対するセキュリティ設定は、各ＤＦに対するセキュリティ設定情報としても良い。また、複数のアプリケーションでは、特定のＤＦに属する１つのＥＦを共有することもある。このため、セキュリティ設定情報は、ＥＦごとに設定しても良い。
【００３９】
次に、ＩＣカード２における複数の論理チャネルでの処理例について説明する。  
図５は、複数のアプリケーションが複数の論理チャネルを使用してＩＣカード２内のデータにアクセスする様子を模式的に示す図である。図６（ａ）は、異常管理テーブル２３ｂの第１の構成例を示す図であり、図６（ｂ）は、異常管理テーブル２３ｂの第２の構成例を示す図である。
【００４０】
図５に示す例において、外部装置としてのＩＣカード処理装置１は、アプリケーションＡ、アプリケーションＢおよびアプリケーションＣを有し、ＩＣカード２は、アプリケーションＡ、アプリケーションＢ、アプリケーションＣにより実行可能な３つの機能を有する。３つの機能を同時期に実行させる場合、ＩＣカード処理装置１は、ＩＣカード２に対して３つの論理チャネルＣｈ＃１、論理チャネルＣｈ＃２、論理チャネルＣｈ＃３をオープンさせるコマンドを送信し、各論理チャネルＣｈ＃１、Ｃｈ＃２、Ｃｈ＃３に各アプリケーションＡ、Ｂ、Ｃを割り当てる。
【００４１】
アプリケーションＡがＥＦ＃１−１にアクセスする場合、ＩＣカード処理装置１は、アプリケーションＡに対応する論理チャネルＣｈ＃１を指定してＥＦ＃１−１へのアクセスを要求するコマンドをＩＣカード２へ送信する。ＩＣカード２のＣＰＵ２１は、図５に示すように、当該コマンドをＩ／Ｏインターフェース２５を介して論理チャネルＣｈ＃１で受信する。このコマンドを受信すると、ＩＣカード２のＣＰＵ２１は、図６（ａ）或いは（ｂ）に示すような異常管理テーブル２３ｂを参照して他の論理チャネルでの処理状況を確認し、他の論理チャネルでの処理状況に応じてコマンドに対する処理の実行内容を決定する。
【００４２】
また、アプリケーションＢがＥＦ＃２−１にアクセスする場合、ＩＣカード処理装置１は、アプリケーションＢに対応する論理チャネルＣｈ＃２を指定してＥＦ＃２−１へのアクセスを要求するコマンドをＩＣカード２へ送信する。ＩＣカード２のＣＰＵ２１は、図５に示すように、当該コマンドをＩ／Ｏインターフェース２５を介して論理チャネルＣｈ＃２で受信する。このコマンドを受信すると、ＩＣカード２のＣＰＵ２１は、図６（ａ）或いは（ｂ）に示すような異常管理テーブル２３ｂを参照して他の論理チャネルでの処理状況を確認し、他の論理チャネルでの処理状況に応じてコマンドに対する処理の実行内容を決定する。
【００４３】
また、アプリケーションＣがＥＦ＃１−１にアクセスする場合、ＩＣカード処理装置１は、アプリケーションＣに対応する論理チャネルＣｈ＃３を指定してＥＦ＃１−１へのアクセスを要求するコマンドをＩＣカード２へ送信する。ＩＣカード２のＣＰＵ２１は、図５に示すように、当該コマンドをＩ／Ｏインターフェース２５を介して論理チャネルＣｈ＃３で受信する。このコマンドを受信すると、ＩＣカード２のＣＰＵ２１は、図６（ａ）或いは（ｂ）に示すような異常管理テーブル２３ｂを参照して他の論理チャネルでの処理状況を確認し、他の論理チャネルでの処理状況に応じてコマンドに対する処理の実行内容を決定する。
【００４４】
図６（ａ）に示す異常管理テーブル２３ｂでは、論理チャネル欄には論理チャネルを示す識別情報としてのチャネル番号を格納し、ステータス欄には対応する論理チャネルで発生した事象を示す情報を格納する。また、図６（ｂ）に示す異常管理テーブル２３ｂでは、図６（ａ）に示す異常管理テーブル２３ｂに、さらに、アクセス対象としたファイルを示す情報を格納するファイル欄が設けられている。図６（ｂ）に示すファイル欄には、対応するステータス欄で示す事象が発生したファイル（事象が発生した場合にアクセス対象としたファイル）を示す情報が格納される。
【００４５】
図６（ａ）及び図６（ｂ）に示す例では、ステータス欄の値「００」は不正処理の検知無し（異常発生無し）、「５５」は不正処理として対象領域外読出試行を検知した事、「９９」は不正処理として処理手順異常を検知した事を意味するものとする。ステータス欄の値は、新たな不正処理を検知した場合に、必要に応じて更新される。たとえば、図６（ａ）に示す異常管理テーブル２３ｂは、各論理チャネルで不正な処理が検知される毎、あるいは、不正な処理が解除されて異常無し状態になった場合に更新される。また、図６（ｂ）に示す異常管理テーブル２３ｂは、各論理チャネルで各ファイルへのアクセス処理において不正な処理が検知される毎、あるいは、異常無し状態になった場合に更新される。
【００４６】
ＩＣカード２では、各アプリケーション実行中の不正処理検知に係る情報は、各々の論理チャネルに紐付いた情報として、図６（ａ）或いは図６（ｂ）に示すような異常管理テーブル２３ｂに保持される。各アプリケーションが実行される場合、ＩＣカード２は、異常管理テーブル２３ｂに格納されている情報を参照することによって、他のアプリケーションを実行した時の不正検知などの情報を得ることができる。
【００４７】
なお、ＩＣカード２は、各論理チャネルがアクセス対象とするファイル（カレント状態とするファイル）を示す情報をＲＡＭ２３などに記憶して管理する。このため、図６（ａ）に示す構成例であっても、ＣＰＵ２１は、各論理チャネルがどのファイルに対するアクセス処理で不正が検知されたかを判定することも可能である。
【００４８】
また、ＩＣカード２は、複数の論理チャネルが同一のＥＦを参照する場合がある。たとえば、論理チャネルＣｈ＃１を使用するアプリケーションＡと論理チャネルＣｈ＃３を使用するアプリケーションＣとがＥＦ＃１−１をアクセス対象とする場合がある。このような場合、図６（ｂ）に示すような異常管理テーブルによれば、「ＥＦ＃１−１に異常がある」という情報だけでなく、その異常が論理チャネル＃１を使用するアプリケーションＡによるものか、論理チャネル＃３を使用するアプリケーションＣによるものかを判別できる。また、アプリケーションＡとしては、アクセス対象とするＥＦ＃１−１を他のアプリケーションＣが処理対象とした場合に発生した（検知された）異常内容を判別することも可能となる。
【００４９】
また、一旦電源を遮断した後に電源を再投入した場合、電源再投入後の各アプリケーションと各論理チャネルとの対応が電源遮断前と同様な状態であれば、図６（ａ）或いは図６（ｂ）に示すような異常管理テーブル２３ｂを不揮発性メモリ２４に格納することによって、ＩＣカード２は、電源再投入後も電源遮断前の各論理チャネルで処理状態（異常検知）を参照してセキュリティ対応を行うことができる。
【００５０】
次に、ＩＣカード２における動作について説明する。  
ＩＣカード２は、ＩＣカード処理装置１からの電源供給を受けて活性化処理を行う（ステップＳ１１）。活性化処理が完了した後、ＩＣカード２のＣＰＵ２１は、ＩＣカード処理装置１からのコマンドの受信待ち状態に移行する（ステップＳ１２）。この状態において、ＣＰＵ２１は、ＩＣカード処理装置１が指定する論理チャネルでＩＣカード処理装置１から送信されたコマンドをＩ／Ｏインターフェース２５を介して受信する（ステップＳ１２、ＹＥＳ）。たとえば、ＩＣカード２は、論理チャネルＣｈ＃１を使用してＩＣカード処理装置１から受信コマンドＣ＃１を受信したものとする。なお、受信待ちの状態で、ＩＣカードの引き抜き（ＩＣカードの通信可能な位置からの引き離し）などがあれば、当該ＩＣカードは、動作停止となる。
【００５１】
ＩＣカード処理装置１からのコマンドを受信すると、ＩＣカード２のＣＰＵ２１は、異常管理テーブル２３ｂを参照して全ての論理チャネルでの処理における異常の有無をチェックする（ステップＳ１３）。ここで、各論理チャネルには、それぞれアプリケーションが対応しているものとし、各論理チャネルでの処理における異常の有無のチェックは、各アプリケーションに対する不正な処理などの異常の有無をチェックする処理である。
【００５２】
たとえば、仮に、受信コマンドＣ＃１より前に論理チャネルＣｈ＃２を使用したコマンドＣ＃０の実行中に不正処理が検知されていた場合、コマンドＣ＃０の実行中に検知した不正処理のＦｂＭＦ（ステータス）は、異常管理テーブル２３ｂにおいて論理チャネルＣｈ＃２に対応づけたステータスとして記憶される。このような場合、ＣＰＵ２１は、論理チャネルＣｈ＃１を使用して受信コマンドＣ＃１を受信した場合であっても、異常管理テーブル２３ｂを参照することにより論理チャネルＣｈ＃２を使用した処理で発生した不正処理を確認できる。
【００５３】
全ての論理チャネルが正常な状態であると確認した場合（ステップＳ１４、ＹＥＳ）、ＣＰＵ２１は、受信した受信コマンドＣ＃１に対して制限無しの通常のコマンド処理を実行する（ステップＳ１５）。  
また、何れかの論理チャネルで異常が有ることを確認した場合（ステップＳ１４、ＮＯ）、ＣＰＵ２１は、確認した論理チャネルで発生した異常内容を考慮して受信コマンドＣ＃１に対する処理の実行内容を決定する（ステップＳ１６）。
【００５４】
たとえば、図４に示す例では、ステータスが「５５」である場合、論理チャネルＣｈ＃１に対応するアプリケーションＡは、通常処理が可能であるが、論理チャネルＣｈ＃２に対応するアプリケーションＢは、動作停止となる。また、図４に示す例では、ステータスが「９９」である場合、論理チャネルＣｈ＃１に対応するアプリケーションＡは、照会（リード）のみが実行可能であるが、論理チャネルＣｈ＃２に対応するアプリケーションＢは、動作停止となる。
【００５５】
各論理チャネルでの異常内容を考慮して決定した実行内容が通常処理である場合（つまり、各論理チャネルでの異常内容を考慮しても通常処理が実施可能である場合）（ステップＳ１７、ＹＥＳ）、ＣＰＵ２１は、受信コマンドＣ＃１に対する通常のコマンド処理を実行する（ステップＳ１５）。
【００５６】
また、各論理チャネルでの異常内容を考慮して決定した実行内容が通常処理よりも制限された処理内容である場合（制限された状態でのコマンド処理となる場合）（ステップＳ１７、ＮＯ）、ＣＰＵ２１は、各論理チャネルでの異常内容を考慮して決定した実行内容でのコマンド処理（制限されたコマンド処理）を受信コマンドＣ＃１に対するコマンド処理として実行する（ステップＳ１８）。
【００５７】
受信コマンドＣ＃１に対するコマンド処理を実行する場合、あるいはコマンド処理を実行中において、ＣＰＵ２１は、不正な処理を監視している（ステップＳ１９）。不正な処理を検知しなかった場合、つまり、受信コマンドに対するコマンド処理が正常に実行された場合（ステップＳ１９、ＮＯ）、ＣＰＵ２１は、当該受信コマンドＣ＃１に対するコマンド処理の実行結果を含むレスポンスをＩＣカード処理装置１へ送信する（ステップＳ２０）。
【００５８】
また、コマンド処理を実行する場合、あるいは、コマンド処理の実行中に不正な処理を検知した場合（ステップＳ１９、ＹＥＳ）、ＣＰＵ２１は、当該論理チャネルに対するステータスとして検知した不正な処理の内容を示す情報を異常管理テーブル２３ｂに書き込む（ステップＳ２１）。この場合、ＩＣカード処理装置１には、無応答として受信コマンドに対するレスポンスを送信しないようにしても良いし、エラーが発生した旨のレスポンスを送信するようにしても良い。
【００５９】
また、不正な処理を検知した場合（ステップＳ１９、ＹＥＳ）、ＣＰＵ２１は、検知した不正な処理が当該ＩＣカード２自体の動作を停止すべき不正な処理であるか否かを判断する（ステップＳ２２）。当該ＩＣカード２の動作を停止させると判断した場合（ステップＳ２２、ＹＥＳ）、ＣＰＵ２１は、当該ＩＣカード２を動作停止状態として全ての処理を終了する（ステップＳ２３）。
【００６０】
また、検知した不正な処理が動作を停止すべき不正な処理でないと判断した場合（ステップＳ２２、ＮＯ）、ＣＰＵ２１は、受信コマンドＣ＃１に対する処理結果を含むレスポンスをＩＣカード処理装置１へ送信した後、再びコマンド待ちの状態に戻る。ただし、この場合（ステップＳ２２、ＮＯ）、ＣＰＵ２１は、検知した不正な処理の内容によっては、レスポンスを送信せずに無応答のままとして、次のコマンド待ち状態となるようにしても良い。
【００６１】
上記のように、本実施形態に係るＩＣカードは、ある論理チャネルで受信したコマンドを実行する場合、異常管理テーブルに保持している各論理チャネルでの不正処理検知などの処理状況を参照することにより、他の論理チャネルで受信したコマンドを実行中に検知された不正処理の内容を考慮して、当該論理チャネルで受信したコマンドに対する処理の実行内容を決定する。
【００６２】
これにより、本実施形態に係るＩＣカードでは、ある論理チャネルでコマンドを受信した場合に、他の論理チャネルで受信したコマンドの処理中に検知された不正処理に関する情報に基づいて、当該論理チャネルで受信したコマンドに対する処理の実行内容を決定できる。この結果として、当該論理チャネルに対応するアプリケーションが、自身のセキュリティポリシーに基づいて他の論理シャネルに対するアプリケーションで発生した不正処理を考慮した処理を実行できる。
【００６３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
１…ＩＣカード処理装置（外部装置）、２…ＩＣカード（携帯可能電子装置）、１１…制御部、１２…ディスプレイ、１３…キーボード、１４…カードリーダライタ、Ｃ…本体、Ｍ…ＩＣモジュール、Ｃａ…ＩＣチップ、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２３ａ…チャネル管理テーブル、２３ｂ…異常管理テーブル、２４…不揮発性メモリ、２４ａ…セキュリティ設定テーブル、２５…Ｉ／Ｏインターフェース（通信部）。
【図１】
2014127129.tif 000003
【図２】
2014127129.tif 000004
【図３】
2014127129.tif 000005
【図４】
2014127129.tif 000006
【図５】
2014127129.tif 000007
【図６】
2014127129.tif 000008
【図７】
2014127129.tif 000009