(57)【要約】【課題】ホストとの相互認証を実行して確立したセキュアチャネルのセキュリティレベルに応じて，セキュアチャネルを確立した後のコマンド実行回数を制限できるＩＣカードを提供する。【解決手段】ＩＣカード１は，セキュアチャネル３を確立するプロトコルであるセキュアチャネルプロトコルに対応したセキュリティドメイン１０を備え，セキュリティドメイン１０は，セキュアチャネルプロトコルで規定されたセキュリティレベル毎にコマンド実行回数の上限値を記憶し，ＩＣカード１とホスト２間のセキュアチャネル３を確立した後，セキュアチャネル３を利用して受信したコマンドのコマンド実行回数をカウントし，セキュアチャネル３を確立する際にホスト２から指定されたセキュリティレベルに対応するコマンド実行回数の上限値をコマンド実行回数のカウント値が超えると，セキュアチャネル３を閉鎖する。【選択図】図１
2018101950.tif 000002
【特許請求の範囲】
【請求項１】
外部のホストと相互認証を行い，前記ホストと通信するときの暗号路になるセキュアチャネルを確立するプロトコルであるセキュアチャネルプロトコルに対応したセキュリティドメインを備え，
前記セキュリティドメインは，前記セキュアチャネルプロトコルで規定された前記セキュアチャネルのセキュリティレベル毎にコマンド実行回数の上限値を記憶し，前記ホストと相互認証を行って前記セキュアチャネルを確立した後，前記セキュアチャネルを利用して受信したコマンドのコマンド実行回数をカウントし，前記セキュアチャネルを確立する際に前記ホストから指定されたセキュリティレベルに対応するコマンド実行回数の上限値をコマンド実行回数のカウント値が超えると，前記セキュアチャネルを閉鎖する処理を実行する，
ことを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＣカードの技術に属する。
【背景技術】
【０００２】
複数のアプリケーション（実行モジュールと実行モジュールを用いたインスタンス）をロード可能に構成されたＵＩＭ（User Identity Module）等のＩＣカードでは，非特許文献１で開示されているGlobal Platform（登録商標）に準拠した製品が事実上のデファクトスタンダードになっている。なお，これ以降，ＩＣカードとは，Global Platformに準拠したＩＣカードを意味する。
【０００３】
ＩＣカードには，クレジットカードやデビットカードなど特定の用途向けに開発されたアプリケーションに加えて，特権（privileged）アプリケーションであるセキュリティドメイン（Security Domain）が実装される。ＩＣカードには必ずカード発行者のセキュリティドメインであるＩＳＤ(Issuer Security Domain)が実装され，カード発行者が提供するアプリケーションはＩＳＤに関連付けられてＩＣカードに実装される。カード発行者が提供するアプリケーション以外のアプリケーションをＩＣカードに実装する場合は，ＩＳＤに加えて，カード発行者以外のアプリケーション提供者のセキュリティドメインであるＳＳＤ(Supplementary Security Domain)がＩＣカードに実装され，カード発行者以外のアプリケーション提供者が提供するアプリケーションは，アプリケーション提供者のＳＳＤに関連付けられてＩＣカードに実装される。
【０００４】
ＩＣカードに実装されるセキュリティドメインは，セキュリティドメインに関連付けられているアプリケーションに提供するセキュリティ機能の一つとして，共通暗号方式の暗号鍵または公開暗号方式の暗号鍵を用いたセキュアチャネルプロトコル（Secure Channel Protocol）に対応する。セキュアチャネルプロトコルは，ＩＣカードとＩＣカードの外部になるホスト間の相互認証（Mutual Authentication）を行い，ＩＣカードとホスト間の暗号路になるセキュアチャネルを確立するためのプロトコルである。
【０００５】
図４は，セキュアチャネルプロトコルに係る処理を説明する図である。セキュアチャネルプロトコルは，ホスト２ａが，セキュアチャネルの確立対象とするＩＣカード１ａのセキュリティドメインを選択するセキュリティドメイン選択フェーズＰ１と，ホスト２ａとＩＣカード１ａ間で相互認証を行ってセキュアチャネルを確立するセキュアチャネル確立フェーズＰ２と，ホスト２ａが，セキュアチャネルを利用してコマンドをＩＣカード１ａへ送信するセキュア通信フェーズＰ３を含む。
【０００６】
セキュリティドメイン選択フェーズＰ１のＰ１ａにおいて，ホスト２ａがＩＣカード１ａに対して送信するSELECTコマンドは，セキュアチャネルの確立対象となるセキュリティドメインの選択に用いられるコマンドである。また，図４では，セキュリティドメイン選択フェーズＰ１のＰ１ｂにおいて，ホスト２ａが， SELECTコマンドを用いて選択したセキュリティドメインに係るデータ（例えば，Issuer Identification Number）を，GET DATAコマンドを利用してＩＣカード１ａから読み出している。
【０００７】
セキュアチャネル確立フェーズＰ２のＰ２ａにおいて，ホスト２ａがＩＣカード１ａへ送信するINITALIZE UPDATEコマンドは，セキュアチャネルの確立を開始することをＩＣカード１ａへ通知するためのコマンドで，INITALIZE UPDATEコマンドを用いてセキュアチャネルの確立に必要なデータがホスト２ａとＩＣカード１ａ間で交換されると共に，ホスト２ａは，INITALIZE UPDATEコマンドのレスポンスメッセージに含まれる暗号データを用いてＩＣカード１ａを認証する。また，セキュアチャネル確立フェーズＰ２のＰ２ｂにおいて，ホスト２ａがＩＣカード１ａへ送信するEXTERNAL AUTHENTICATEコマンドは，ＩＣカード１ａによるホスト２ａの認証とセキュリティレベルの決定に用いられるコマンドで，ＩＣカード１ａは，EXTERNAL AUTHENTICATEコマンドのコマンドメッセージに含まれる暗号データを用いてホスト２ａを認証する。
【０００８】
セキュア通信フェーズＰ３では，セキュアチャネル確立フェーズＰ２で確立したセキュアチャネルを利用してホスト２ａがＩＣカード１ａへ送信するコマンドが保護される。
【０００９】
図５は，セキュアチャネル確立フェーズＰ２の詳細を説明する図である。セキュアチャネル確立フェーズＰ２は，ＩＣカード１ａとホスト２ａ間の相互認証が実行され，ＩＣカード１ａとホスト２ａ間のセキュアチャネルが確立されるフェーズになる。セキュアチャネル確立フェーズＰ２で実行される相互認証では，暗号演算の基となる鍵セットを互いが知っているという前提のもと，セキュアチャネルプロトコルで決められたアルゴリズムに従いＩＣカード１ａとホスト２ａが互いを認証する。なお，暗号演算の基となる鍵セットには，セキュアチャネル暗号鍵と，セキュアチャネルＭＡＣ（Message Authentication Code）鍵およびデータ暗号鍵が含まれる
【００１０】
相互認証を実行する際，ホスト２は，Host Challengeと呼ばれる乱数を生成し（Ｐ２０），INITALIZE UPDATEコマンドを用いて，Host Challenge とKey Version NumberをＩＣカード１ａへ送信する（Ｐ２１）。Key Version Numberは，暗号演算の元となる鍵セットの識別に用いるデータで，Key Version Numberを利用してセキュアチャネルプロトコルで使用する鍵セットがＩＣカード１ａ側で特定される。
【００１１】
INITALIZE UPDATEコマンドを受信したＩＣカード１ａは，Card Challengeと呼ばれる乱数，セキュアチャネルで用いる暗号鍵となるセッション鍵，Card Cryptogramと呼ばれる暗号文を生成した後（Ｐ２２）, Card ChallengeとCard Cryptogramを含ませたINITALIZE UPDATEコマンドのレスポンスメッセージをホスト２ａへ送信することで，Card ChallengeとCard Cryptogramをホスト２ａへ送信する（Ｐ２３）。
【００１２】
ＩＣカード１ａは，Host Challenge， Card Challenge，および，Key Version Numberにより指定された鍵セットを用いてセッション鍵を生成する。鍵セットに含まれるセキュアチャネル暗号鍵を用いて暗号演算が行われることで暗号セッション鍵が生成され，鍵セットに含まれるＭＡＣ鍵を用いて暗号演算が行われることでＭＡＣセッション鍵が生成される。また，ＩＣカード１ａは， Host Challenge とCard Challengeを所定のルールに従い連結させたデータを，暗号セッション鍵を用いて暗号演算を行うことで，Card Cryptogramと呼ばれる暗号文を生成する。
【００１３】
ホスト２ａは，ＩＣカード１ａと同様にセッション鍵を生成した後，暗号セッション鍵を用いて，ＩＣカード１ａと同様な手順でCard Cryptogramを生成し，ホスト２ａ自身が生成したCard CryptogramとＩＣカード１ａから渡されたCard Cryptogramを照合し，INITALIZE UPDATEコマンドの送信対象となったＩＣカード１ａの正当性を検証する（Ｐ２４）。
【００１４】
INITALIZE UPDATEコマンドを送信したＩＣカード１ａの正当性検証に成功すると，ホスト２ａは， Card Challenge とHost Challenge を所定のルールに従い連結させたデータを，暗号セッション鍵を用いて暗号演算を行うことで，Host Cryptogramと呼ばれる暗号文を生成した後（Ｐ２５），EXTERNAL AUTHENTICATEコマンドを用いて，Host Cryptogramと共に，セキュアチャネルのセキュリティレベルを指定するデータをＩＣカード１ａへ送信する（Ｐ２６）。なお，EXTERNAL AUTHENTICATEコマンドのコマンドメッセージには，ＭＡＣセッション鍵を用いて生成されたＭＡＣが付加される。また， EXTERNAL AUTHENTICATEコマンドで指定されたセキュリティレベルは，セキュアチャネルが閉鎖するまで有効である。
【００１５】
EXTERNAL AUTHENTICATEコマンドを受信したＩＣカード１ａは，ＩＣカード１ａが生成したＭＡＣセッション鍵を用いて，EXTERNAL AUTHENTICATEコマンドのコマンドメッセージに付加されたＭＡＣの正当性を検証し，ＭＡＣの正当性検証に成功すると，ホスト２ａと同様な手順でHost Cryptogramを生成して，ＩＣカード１ａ自身が生成したHost Cryptogramとホスト２ａから渡されたHost Cryptogramを照合し，EXTERNAL AUTHENTICATEコマンドを送信したホスト２ａの正当性を検証する（Ｐ２７）。ＩＣカード１ａは，Host Cryptogramの照合に成功すると，EXTERNAL AUTHENTICATEコマンドのレスポンスメッセージを利用して，Host Cryptogramの照合に成功したことをホスト２ａへ通知し（Ｐ２８），セキュアチャネル確立フェーズＰ２が終了する。
【００１６】
ホスト２ａとＩＣカード１ａ間の相互認証が終了した後，EXTERNAL AUTHENTICATEコマンドにより指定されたセキュリティレベルに応じ，相互認証で生成されたセッション鍵を用いて，ホスト２ａがＩＣカード１ａへ送信するコマンドが保護される。例えば，ホスト２ａがＩＣカード１ａへ送信するコマンドの完全性が要求される場合，ＭＡＣセッション鍵を用いて演算されたＭＡＣが，ホスト２ａがＩＣカード１ａへ送信するコマンドのコマンドメッセージに付加される。また，ホスト２ａがＩＣカード１ａへ送信するコマンドの秘匿性が要求される場合，ホスト２ａがＩＣカード１ａへ送信するコマンドメッセージのコマンドデータは暗号セッション鍵により暗号化される。
【００１７】
これまで述べたように，Global Platform（登録商標）ではセキュアチャネルの確立手順は規定されているが，セキュアチャネルを確立した後のコマンド実行回数については規定されておらず，セキュアチャネルが閉鎖するまで，セキュアチャネルを利用してＩＣカードへ何回でもコマンドを送信できる。セキュアチャネルが閉鎖するまでセッション鍵は変更されないので，セキュアチャネルを利用してＩＣカードへ何回でもコマンドを送信できると，セキュアチャネルで利用しているセッション鍵が漏えいするリスクが高まり，その結果として，セッション鍵の生成に用いる鍵セットの内容が漏えいするリスクも高まってしまう。
【００１８】
コマンド実行回数を制限できるＩＣカードに係る発明として，ＩＣカードが活性化されてから実行したコマンドの累計個数を計数し，その累計個数が可能個数を越えた場合に動作を制限するＩＣカードが特許文献１にて開示されている。しかし，上述のように，セキュアチャネルにはセキュリティレベルが指定されるが，特許文献１で開示されている発明は，セキュアチャネルのセキュアチャネルに応じて，セキュアチャネルを確立した後のコマンド実行回数を制限できるように構成されていない。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開平１０−６９４３５号公報
【非特許文献】
【００２０】
【非特許文献１】Global Platform Card Specification Version 2.2 March 2006
【発明の概要】
【発明が解決しようとする課題】
【００２１】
そこで，本発明は，ホストとの相互認証を実行して確立したセキュアチャネルのセキュリティレベルに応じて，セキュアチャネルを確立した後のコマンド実行回数を制限できるＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【００２２】
上述した課題を解決する本発明は，カード外部のホストと相互認証を行い，前記ホストと通信するときの暗号路になるセキュアチャネルを確立するプロトコルであるセキュアチャネルプロトコルに対応したセキュリティドメインを備え，前記セキュリティドメインは，前記セキュアチャネルプロトコルで規定されたセキュリティレベル毎にコマンド実行回数の上限値を記憶し，前記ホストと相互認証を行って前記セキュアチャネルを確立した後，前記セキュアチャネルを利用して受信したコマンドのコマンド実行回数をカウントし，前記セキュアチャネルを確立する際に前記ホストから指定された前記セキュリティレベルに対応するコマンド実行回数の上限値をコマンド実行回数のカウント値が超えると，前記セキュアチャネルを閉鎖する処理を実行することを特徴とするＩＣカードである。
【発明の効果】
【００２３】
上述した本発明に係るＩＣカードは，本発明に係る課題を解決するために，前記セキュアチャネルを確立する際に前記ホストから指定された前記セキュリティレベルに応じて，セキュアチャネルを確立した後のコマンド実行回数の上限値を決定し，セキュアチャネルを確立した後のコマンド実行回数が上限値を超えると，前記セキュアチャネルを閉鎖するように構成されている。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係るＩＣカードのソフトウェア構成図。
【図２】実行回数上限値テーブルを説明する図。
【図３】セキュリティドメインの動作を説明する図。
【図４】ＩＣカードのソフトウェア構成例を説明する図。
【図５】セキュアチャネル確立フェーズの詳細を説明する図。
【発明を実施するための形態】
【００２５】
ここから，本発明の好適な実施形態を記載する。なお，以下の記載は本発明の技術的範囲を束縛するものでなく，理解を助けるために記述するものである。
【００２６】
本実施形態に係るＩＣカード１は，バックエンドになる外部のホスト２と通信して特定の処理を実行するように構成されたカードで，具体的には，クレジットカードやＵＩＭである。
【００２７】
図１は，本実施形態に係るＩＣカード１のソフトウェア構成図である。本実施形態に係るＩＣカード１において，ソフトウェア階層の最下位層は，ＩＣカード１のハードウェアになるＩＣチップ１３になる。ＩＣチップ１３は，ＩＣカード１に実装されたコンピュータプログラムを実行するプロセッサ１３０，ＩＣカード１のメインメモリとなるＲＡＭ１３１，電気的に書き換え不可能な不揮発性メモリであるＲＯＭ１３２，電気的に書き換え可能な不揮発性メモリであるＮＶＭ（Non-volatile memory）１３３，フロントエンドとなるリーダライタと通信するときのインタフェースになるＩ／Ｏ１３４などを備えたＩＣチップ１３である。
【００２８】
本実施形態に係るＩＣカード１は，Global Platform（登録商標）に準拠し，ＩＣカード１のＩＣチップ１３上には，カードＯＳ（Operating System）となるRuntime Environment１２が実装される。Runtime Environment１２は，ＩＣチップ１３が有するメモリのメモリ管理，アプリケーションのセキュアな実行環境，ＩＣチップ１３のＩ／Ｏ１３４を利用してフロントエンドと通信する時の伝送制御（ISO/IEC 7816-3に準拠した通信）などを提供するソフトウェアである。
【００２９】
図１では，ＩＣカード１に実装されたRuntime Environment１２上で動作するソフトウェアとして，セキュリティドメイン１０と，セキュリティドメイン１０の管理対象となるアプリケーション１１が実装されている。セキュリティドメイン１０は，セキュリティドメイン１０に関連付けられたアプリケーション１１に対して，暗号鍵の管理機能，暗号鍵を用いた暗号演算機能，デジタル署名の生成／検証機能などのセキュリティ機能を提供し，本実施形態に係るセキュリティドメイン１０は，これらに加えて，ホスト２と相互認証を行い，ホスト２と通信するときの暗号路になるセキュアチャネル３を確立するプロトコルであるセキュアチャネルプロトコルに対応する。なお，ＩＣカード１に実装されたセキュリティドメイン１０は，Global Platform（登録商標）で定義されているＩＳＤまたはＳＳＤのいずれであってもよい。
【００３０】
本実施形態に係るＩＣカード１のセキュリティドメイン１０がセキュアチャネル３を確立する手順は，図４，５を用いて説明した通りであるため，ここでは説明を省くが，本実施形態に係るＩＣカード１のセキュリティドメイン１０は， SELECTコマンド１００，GET DATAコマンド１０１， INITALIZE UPDATEコマンド１０２およびEXTERNAL AUTHENTICATEコマンド１０３を利用してセキュアチャネル３を確立する処理を実行し，セキュリティドメイン１０は，セキュアチャネル３の確立に用いるデータとして鍵セット１０４を記憶する。
【００３１】
また，本実施形態に係るセキュリティドメイン１０は，セキュアチャネル３を確立する機能に加え，セキュアチャネル３を確立した後のコマンド実行回数を管理する機能を備え，セキュアチャネル３を確立した後のコマンド実行回数を管理する機能で用いるデータとして，ＩＣカード１とホスト２間で確立したセキュアチャネル３のセキュリティレベルであるカレントセキュリティレベル１０５，セキュリティレベルに対応付けてコマンド実行回数の上限値を記憶した実行回数上限値テーブル１０６，および，セキュアチャネル３を利用して受信したコマンドのコマンド実行回数のカウントに用いる実行回数カウンタ１０７を有する。なお，セキュアチャネル３を確立した後のコマンド実行回数の管理とは，セキュアチャネル３を利用して受信したコマンドを実行できる回数を管理することを意味する。
【００３２】
本実施形態に係るセキュリティドメイン１０が有するカレントセキュリティレベル１０５は，セキュアチャネル３を確立する際に，ホスト２から受信したEXTERNAL AUTHENTICATEコマンド１０３によって指定される。本実施形態に係るセキュリティドメイン１０は，EXTERNAL AUTHENTICATEコマンド１０３のコマンドメッセージに含まれるセキュリティレベルをカレントセキュリティレベル１０５としてＩＣチップ１３のＲＡＭ１３１に記憶する。
【００３３】
図２は，実行回数上限値テーブル１０６を説明する図である。本実施形態に係るセキュリティドメイン１０が有する実行回数上限値テーブル１０６は，セキュリティドメイン１０をインストールする際に，ＩＣチップ１３のＮＶＭ１３３に書き込まれるデータテーブルで，セキュアチャネルプロトコルの規格で定められているセキュリティレベル毎に，セキュアチャネル３を確立した後のコマンド実行回数の上限値が記述される。
【００３４】
図２に図示したように，Global Platform（登録商標）で定められているセキュアチャネルプロトコルの一つであるセキュアチャネルプロトコル０１では，セキュリティレベルとして，０ｘ００（００００００００ｂ），０ｘ０１（０００００００１ｂ），０ｘ０３（００００００１１ｂ）が規定されている。なお，「０ｘ」は１６進表記を意味し，「ｂ」はビット表記を意味する。
【００３５】
０ｘ００のセキュリティレベルでは，コマンドメッセージのＭＡＣは「無し」（コマンドの実行にＭＡＣ検証は不要）に設定され，コマンドデータの暗号化も「無し」（コマンドの実行にコマンドデータの復号は不要）に設定される。また，０ｘ０１のセキュリティレベルでは，コマンドメッセージのＭＡＣは「有り」（コマンドの実行にＭＡＣ検証は必要）に設定されるが，コマンドデータの暗号化は「無し」（コマンドの実行にコマンドデータの復号は不要）に設定される。更に，０ｘ０３のセキュリティレベルでは，コマンドメッセージのＭＡＣは「有り」（コマンドの実行にＭＡＣ検証は必要）に設定され，コマンドデータの暗号化も「有り」（コマンドの実行にコマンドデータの復号は必要）に設定される。
【００３６】
このように，Global Platform（登録商標）で定められているセキュアチャネルプロトコルの一つであるセキュアチャネルプロトコル０１では，セキュリティレベルが大きい値になるほどセキュリティが強化されるので，図２で図示した実行回数上限値テーブル１０６は，セキュリティレベルが大きい値ほどコマンド実行回数の上限値が小さくなるようにしている。
【００３７】
実行回数カウンタ１０７は，セキュアチャネル３を利用して受信したコマンドの実行回数をカウントするために，ＩＣチップ１３のＲＡＭ１３１に設けられるデータである。本実施形態に係るセキュリティドメイン１０は，セキュアチャネル３を利用してホスト２からコマンドを受信すると，実行回数カウンタ１０７のカウント値を一つインクリメントする。
【００３８】
図３は，セキュリティドメイン１０の動作を説明する図である。本実施形態に係るセキュリティドメイン１０は，まず，セキュアチャネル３の確立に係る処理を実行する（Ｓ１）。上述したように， ホスト２とＩＣカード１間にセキュアチャネル３を確立する際，ホスト２は，SELECTコマンド１００を用いて，セキュアチャネル３の対象となるＩＣカード１のセキュリティドメイン１０を選択した後，INITALIZE UPDATEコマンド１０２およびEXTERNAL AUTHENTICATEコマンド１０３を用いてＩＣカード１と相互認証を行う。なお，ホスト２とＩＣカード１間にセキュアチャネル３が確立されると，上述しているセッション鍵（暗号セッション鍵，ＭＡＣセッション鍵）がＩＣチップ１３のＲＡＭ１３１に生成される。
【００３９】
本実施形態に係るセキュリティドメイン１０は，セキュアチャネル３の確立に係る処理（Ｓ１）において，ＩＣチップ１３のＮＶＭ１３３に記憶された実行回数上限値テーブル１０６を参照し，EXTERNAL AUTHENTICATEコマンド１０３により指定されたセキュリティレベルであるカレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を特定する処理を行う（Ｓ１ａ）。
【００４０】
カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を特定する際，本実施形態に係るセキュリティドメイン１０は，ＩＣチップ１３のＮＶＭ１３３に記憶された実行回数上限値テーブル１０６を参照し，カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を特定して，ＩＣチップ１３のＲＡＭ１３１に格納する。図２で図示した実行回数上限値テーブル１０６によれば，カレントセキュリティレベル１０５が０ｘ０１の場合，セキュアチャネル３を確立した後のコマンド実行回数の上限値は２０回になる。
【００４１】
なお，ホスト２から送信されるEXTERNAL AUTHENTICATEコマンド１０３によってカレントセキュリティレベル１０５が示されるので，カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を特定する処理（Ｓ１ａ）は，ホスト２からEXTERNAL AUTHENTICATEコマンド１０３を受信した後で， Host Cryptogramの照合に成功したことをホスト２へ通知する前に実行されることになる。
【００４２】
カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を特定する処理を実行したセキュリティドメイン１０はコマンド受信待ちの状態になり（Ｓ２），ホスト２からコマンドを受信すると，セキュリティドメイン１０は，ＩＣチップ１３のＲＡＭ１３１に設けられた実行回数カウンタ１０７のカウント値を一つインクリメントする処理を行う（Ｓ３）。
【００４３】
実行回数カウンタ１０７を一つインクリメントしたセキュリティドメイン１０は，カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値と，インクリメント後の実行回数カウンタ１０７のカウント値を比較する処理を行う（Ｓ４）。
【００４４】
実行回数カウンタ１０７のカウント値が，カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を超えていない場合，セキュリティドメイン１０は，ホスト２から受信したコマンドの実行が許可されていると判断し，ホスト２から受信したコマンドを実行した後（Ｓ５），図３のＳ２の処理に戻る。ホスト２から受信したコマンドがアプリケーション１１のコマンドの場合，セキュリティドメイン１０はアプリケーション１１にコマンドを引き渡して，アプリケーション１１にコマンドを処理させる。また，ホスト２から受信したコマンドがセキュリティドメイン１０のコマンドの場合，セキュリティドメイン１０がコマンドを処理する。
【００４５】
実行回数カウンタ１０７のカウント値が，カレントセキュリティレベル１０５に対応するコマンド実行回数の上限値を超えた場合，セキュリティドメイン１０は，ホスト２から受信したコマンドの実行が許可されないと判断し，コマンド実行回数の上限値と実行回数カウンタ１０７のカウント値を初期化した後（Ｓ６），図３のＳ１で確立したセキュアチャネル３を閉鎖する処理を行う（Ｓ７）。なお，セキュアチャネル３を閉鎖することで，ＩＣチップ１３のＲＡＭ１３１に生成したセッション鍵やカレントセキュリティレベル１０５はＲＡＭ１３１から消去される。そして，セキュアチャネル３を閉鎖したセキュリティドメイン１０は，コマンド実行回数がコマンド実行回数の上限値を超えたことを意味するエラーコードをホスト２へ送信して（Ｓ８），図３の手順は終了する。
【符号の説明】
【００４６】
１    ＩＣカード
１０  セキュリティドメイン
１０４  鍵セット
１０５  カレントセキュリティレベル
１０６  実行回数上限値テーブル
１０７  実行回数カウンタ
１１  アプリケーション
１２  Runtime Environment
１３  ＩＣチップ
２    ホスト
３    セキュアチャネル
【図１】
2018101950.tif 000003
【図２】
2018101950.tif 000004
【図３】
2018101950.tif 000005
【図４】
2018101950.tif 000006
【図５】
2018101950.tif 000007