(57)【要約】【課題】内部アプリケーションによる不正対策が可能なＩＣカードを提供すること。【解決手段】ＩＣカードは、ＩＣモジュール及び基材により構成されるＩＣカードであって、前記ＩＣモジュールは、記憶手段と、受信手段と、判定手段と、制御手段とを備える。前記記憶手段は、アプリケーションに関する不正処理の検知履歴を記憶する。前記受信手段は、コマンドを受信する。前記判定手段は、前記コマンドにより指定される前記アプリケーションに関する前記不正処理の検知履歴に基づき、前記コマンドに基づく処理の実行可否を判定する。前記制御手段は、前記コマンドに基づく処理の実行可能判定に対応して前記コマンドに基づく処理を実行し、前記コマンドに基づく処理の実行不能判定に対応して前記コマンドに基づく処理を実行せずに次のコマンド待ち状態へ移行する。【選択図】図４
2015102902.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣモジュール及び基材により構成されるＩＣカードであって、
前記ＩＣモジュールは、
アプリケーションに関する不正処理の検知履歴を記憶する記憶手段と、
コマンドを受信する受信手段と、
前記コマンドにより指定される前記アプリケーションに関する前記不正処理の検知履歴に基づき、前記コマンドに基づく処理の実行可否を判定する判定手段と、
前記コマンドに基づく処理の実行可能判定に対応して前記コマンドに基づく処理を実行し、前記コマンドに基づく処理の実行不能判定に対応して前記コマンドに基づく処理を実行せずに次のコマンド待ち状態へ移行する制御手段と、
を備えるＩＣカード。
【請求項２】
前記制御手段は、前記コマンドに基づく処理の実行可能判定に対応して前記アプリケーションに対して前記コマンドを送信し、前記コマンドに基づく処理の実行不能判定に対応して前記アプリケーションに対して前記コマンドを送信せずに次のコマンド待ち状態へ移行する請求項１のＩＣカード。
【請求項３】
前記制御手段は、前記コマンドに基づく処理中の不正処理の検知に対応して前記不正処理の検知履歴を更新する請求項１又は２のＩＣカード。
【請求項４】
前記記憶手段は、不正処理の検知に対応して更新されるパラメータを含む前記不正処理の検知履歴を記憶し、
前記判定手段は、閾値と前記パラメータとを比較し、前記コマンドに基づく処理の実行可否を判定する請求項３のＩＣカード。
【請求項５】
前記制御手段は、第１の不正処理の検知に対応して前記不正処理の検知履歴に含まれるパラメータに第１の値を加算し、第２の不正処理の検知に対応して前記不正処理の検知履歴に含まれるパラメータに第２の値を加算する請求項４のＩＣカード。
【請求項６】
前記制御手段は、基準値を超えるトランザクションの増加に基づく前記第１の不正処理の検知に対応して前記不正処理の検知履歴に含まれるパラメータに前記第１の値を加算し、所定メモリ領域へのアクセス試行に基づく前記第２の不正処理の検知に対応して前記不正処理の検知履歴に含まれるパラメータに前記第１の値より大きい前記第２の値を加算する請求項５のＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカードに関する。
【背景技術】
【０００２】
近年、世界各国においてＩＣカードの普及が目覚ましい。例えば、ＩＣカードは、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのＩＤカードとしても様々な分野で使用されている。ＩＣカードは、不揮発性のデータメモリ及びＣＰＵなどの制御素子を有するＩＣ（集積回路）チップを内蔵する。
【０００３】
例えば、悪意のある外部アプリケーションが、ＩＣカードの内部アプリケーションに対して不正処理を行うとき、当該不正処理の検知をきっかけとして、機能停止や無効化を行うことが可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３６２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
昨今では、以前よりも比較的自由に、ＩＣカード内部にアプリケーションを追加インストールできるようになってきている。悪意のある外部アプリケーションに向けた対策だけでなく、ＩＣカード内部に悪意のあるアプリケーションがインストールされた場合の対策も必要となる。
【０００６】
このＩＣカードの内部アプリケーション（悪意のある内部アプリケーション）による不正対策として、例えば、署名の正当性の保証・悪意のあるＩＣカードアプリケーションへのアクセス制御を、第三者に委託することで実現可能である。しかし、この方法を実施するためには、ＩＣカード内部にインストールするアプリケーションを、予め第三者に預けておかなければならず、第三者の信頼性や開発の利便性の観点から好ましくない。
【０００７】
本発明の目的は、内部アプリケーションによる不正対策が可能なＩＣカードを提供することである。
【課題を解決するための手段】
【０００８】
実施形態のＩＣカードは、ＩＣモジュール及び基材により構成されるＩＣカードであって、前記ＩＣモジュールは、記憶手段と、受信手段と、判定手段と、制御手段とを備える。前記記憶手段は、アプリケーションに関する不正処理の検知履歴を記憶する。前記受信手段は、コマンドを受信する。前記判定手段は、前記コマンドにより指定される前記アプリケーションに関する前記不正処理の検知履歴に基づき、前記コマンドに基づく処理の実行可否を判定する。前記制御手段は、前記コマンドに基づく処理の実行可能判定に対応して前記コマンドに基づく処理を実行し、前記コマンドに基づく処理の実行不能判定に対応して前記コマンドに基づく処理を実行せずに次のコマンド待ち状態へ移行する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るＩＣカードの一例を示す図である。
【図２】ＩＣカードと外部ＩＣカードアクセス装置の間の、メッセージ交換手続きの一例を示す図である。
【図３】ＲＡＭ又はＥＥＰＲＯＭに記憶されるアクセス管理テーブルの一例を示す図である。
【図４】不正対策処理の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施形態について図面を参照して説明する。
【００１１】
図１〜図４を参照し、ＩＣカード内部アプリケーションへのアクセス制御の一例について説明する。
【００１２】
図１は、実施形態に係るＩＣカードの一例を示す図である。図１に示すように、ＩＣカード２００は、例えばプラスティックカード（基材）２００ａにより構成され、ＩＣモジュール２０１（ＩＣチップ）を備える。ＩＣモジュール２０１は、ＲＡＭ（揮発性メモリ）２０２、ＥＥＰＲＯＭ（不揮発性メモリ）２０３、ＣＰＵ（演算装置）２０４、暗号処理コプロセッサ２０５、ＲＯＭ２０６、Ｉ／Ｏライン（通信部）２０７、システムバス２０８を備える。システムバス２０８は、ＲＡＭ２０２、ＥＥＰＲＯＭ２０３、ＣＰＵ２０４、暗号処理コプロセッサ２０５、ＲＯＭ２０６、Ｉ／Ｏライン２０７を相互に接続する。
【００１３】
なお、携帯可能電子装置の一例として、上記したようなＩＣカード２００について説明するが、本実施形態はこれに限定されるものではない。例えば、携帯可能電子装置は、通信機器等に適用されるＳＩＭ形状のＩＣカードであってもよい。
【００１４】
ＣＰＵ２０４は、各種の演算処理を実行し、暗号処理コプロセッサ２０５は、演算処理のうち、暗号に関する処理を補助する。後述する不正処理検知の情報は、アクセス管理テーブル４０１として、ＲＡＭ２０２に保持されるものとする。なお、アクセス管理テーブル４０１は、ＥＥＰＲＯＭ２０３に保持されてもよい。ＩＣカード２０１と外部の情報通信は、Ｉ／Ｏライン２０７を通じて行われる。
【００１５】
図２は、ＩＣカード２００と外部ＩＣカードアクセス装置３０２の間の、メッセージ交換手続きの一例を示す図である。
【００１６】
図２に示すように、ＩＣカード２００のＩ／Ｏライン２０７は、外部からのコマンド３０３を受信し、ＣＰＵ２０４は、受信したコマンド３０３を解析し、使用しているプロトコルや受信したコマンド３０３に応じたレスポンス３０４を生成し、Ｉ／Ｏライン２０７は、生成したレスポンス３０４を外部ＩＣカードアクセス装置３０２へ送信する。
【００１７】
図３は、ＲＡＭ２０２又はＥＥＰＲＯＭ２０３に記憶されるアクセス管理テーブル４０１の一例を示す図である。
【００１８】
図３に示すように、アクセス管理テーブル４０１は、図１のＲＡＭ２０２又はＥＥＰＲＯＭ２０３上に作成される。アクセス管理テーブル４０１は、各アプリケーション（ＩＣカード２００のＲＯＭ２０６またはＥＥＰＲＯＭ２０３に記憶される複数の内部アプリケーション）に関する不正処理の検知履歴を管理するテーブルである。
【００１９】
アクセス管理テーブル４０１のＡＩＤ（Application Identifier）列は、ＩＣカードの内部アプリケーションの識別子（ＡＩＤ）を示し、不正検知パラメータ列は、そのＡＩＤに割り振られた不正検知パラメータを示している。不正検知パラメータ欄の値は、新たな不正処理検知の際に、必要に応じて更新される。このように、ＩＣカード稼働中の不正処理検知に係る情報は、各々のＩＣカードの内部アプリケーションに対応付けられた情報として、アクセス管理テーブル４０１に保持される。このアクセス管理テーブル４０１の情報は、各ＩＣカードの内部アプリケーションにコマンドが送信される前に参照され、コマンド送信の可否の判断材料になる。つまり、ＣＰＵ２０４は、外部から受信したコマンド（例えばＡＩＤ＝Ａの情報を含む）を各ＩＣカードの内部アプリケーション（例えばＡＩＤ＝Ａのアプリケーション）へ送信する前に、アクセス管理テーブル４０１の情報（例えばＡＩＤ＝Ａの不正検知パラメータ）を参照し、コマンド送信の可否を判定し、コマンド送信可能の判定に基づきコマンドを内部アプリケーション（例えばＡＩＤ＝Ａのアプリケーション）へ送信し、コマンド送信不可の判定に基づきコマンドを内部アプリケーションへ送信せず、コマンド受信待ち状態へ移行させる。
【００２０】
上記したように、ＩＣカード２００のＲＯＭ２０６またはＥＥＰＲＯＭ２０３に格納される各アプリケーションには識別子としてのＡＩＤが割り振られる。
【００２１】
以下、図４を参照し、不正対策処理の一例について説明する。
【００２２】
ＩＣカード２００に対して電源投入および活性化が行われた後、ＩＣカード２００のＣＰＵ２０４は、コマンド待ちの状態に移行する(ＳＴ１０１）。ここで、例えば、外部ＩＣカードアクセス装置がＩＣカード２００に対してコマンド＃１を送信すると、ＩＣカード２００はコマンド＃１を受信する（ＳＴ１０２）。例えば、コマンド＃１は、ＡＩＤ＝Ａの情報を含む。つまり、コマンド＃１は、ＡＩＤ＝Ａで識別されるＩＣカード内部アプリケーションを指定するコマンドであり、このコマンド＃１は、ＡＩＤ＝Ａで識別されるＩＣカード内部アプリケーションに対して送信されるコマンドである。
【００２３】
ＩＣカード２００のＣＰＵ２０４は、コマンド＃１の受信に対応し、アクセス管理テーブル４０１を参照し、ＡＩＤ＝Ａに対応する不正検知パラメータが閾値未満か否か判定する（ＳＴ１０３）。
【００２４】
例えば、ＩＣカード２００が、コマンド＃１を受信するより前に、別のコマンド＃０を受信し、そのコマンド＃０がＡＩＤ＝Ａの情報を含み、そのコマンド＃０がＡＩＤ＝Ａで識別される内部アプリケーションへ送信され、ＣＰＵ２０４が、コマンド＃０に基づく処理の実行中に不正処理を検知していたとすると、ＣＰＵ２０４は、アクセス管理テーブル４０１へ不正処理の検知履歴を反映している。例えば、ＣＰＵ２０４は、アクセス管理テーブル４０１のＡＩＤ＝Ａに対応する不正検知パラメータを更新する（不正検知パラメータに対して所定値を加算する）。
【００２５】
よって、ＩＣカード２００のＣＰＵ２０４が、コマンド＃１の受信に対応し、アクセス管理テーブル４０１のＡＩＤ＝Ａに対応する不正検知パラメータを参照することにより、ＡＩＤ＝Ａで識別されるＩＣカード内部アプリケーションによる過去の不正処理の発生状況（発生頻度）を認識することができる。その上で、ＣＰＵ２０４は、コマンド＃１をＡＩＤ＝Ａで識別されるＩＣカード内部アプリケーションへ送るか否かを判定することができる（コマンド＃１に基づく処理を実行するか否かを判定することができる）。
【００２６】
例えば、ＣＰＵ２０４は、ＡＩＤ＝Ａに対応する不正検知パラメータが閾値以上であれば（ＳＴ１０３、ＮＯ）、ＡＩＤ＝Ａで識別されるＩＣカード内部アプリケーションに対して、コマンド＃１を送信せず、再びコマンド待ちの状態に移行する（ＳＴ１０１）。また、ＣＰＵ２０４は、ＡＩＤ＝Ａに対応する不正検知パラメータが閾値未満であれば（ＳＴ１０３、ＹＥＳ）、通常処理を実行する（ＳＴ１０６）。例えば、ＣＰＵ２０４は、ＡＩＤ＝Ａで識別されるＩＣカード内部アプリケーションに対して、コマンド＃１を送信し、コマンド＃１に基づく処理を実行する。
【００２７】
この際、コマンド＃１に基づく処理に不正処理が含まれるかもしれないので、ＣＰＵ２０４は、不正処理を監視する。ＣＰＵ２０４が、不正処理を検知すると（ＳＴ１０７、ＹＥＳ）、コマンド待ちの状態に戻る前に、アクセス管理テーブル４０１を更新し不正処理の検知に対応する情報を反映する（ＳＴ１０９）。例えば、コマンド＃１に基づく処理に不正処理が含まれていることを検知した場合、ＣＰＵ２０４は、アクセス管理テーブル４０１のＡＩＤ＝Ａに対応する不正検知パラメータを更新する（不正検知パラメータに対して所定値を加算する）（ＳＴ１０９）。
【００２８】
例えば、ＣＰＵ２０４は、第１の不正処理の検知に対応して、アクセス管理テーブル４０１のＡＩＤ＝Ａに対応する不正検知パラメータに第１の値（例えば「５」）を加算し、第２の不正処理の検知に対応してアクセス管理テーブル４０１のＡＩＤ＝Ａに対応する不正検知パラメータに第２の値（例えば「１」）を加算する。このように、不正処理の種類に応じてパラメータの加算値を変えることにより、危険度の高い不正処理については１又は数回の不正処理でパラメータの値が閾値（例えば「１０」）を越え、危険度の低い不正処理について多数回の不正処理でパラメータの値が閾値を超える。危険度の高い不正処理として、所定メモリ領域（アクセス禁止領域）へのアクセス試行に基づく不正処理等が挙げられる。危険度の低い不正処理として、基準値を超えるトランザクションの増加に基づく不正処理が挙げられる。不正処理に限らず、種々の要因により、一時的にトランザクションが増加することがあるため、基準値を超えるトランザクションの増加については比較的危険度の低い不正処理とする。一方、所定メモリ領域（アクセス禁止領域）へのアクセス試行は本来起こりえない処理（アクセス禁止領域へのアクセスはＯＳが禁止しており本来起こりえない処理）なので、比較的危険度の高い不正処理とする。
【００２９】
以上により、ＩＣカードは、コマンド実行の際に、アクセス管理テーブル４０１を参照しコマンド実行の可否を判定することにより、ＩＣカード内部アプリケーションによる不正を防ぐことができる。また、不正処理の検知に対応して不正検知パラメータを更新し、パラメータの値と閾値とを比較し、コマンドに基づく処理の可否を判定しているので、疑わしい処理（例えばトランザクションの一時的な増加）の実行に対して、柔軟な不正防止を機能させることができる。つまり、疑わしい処理が複数回繰り返されると不正処理の防止機能が働く。例えば、１回の疑わしい処理の実行に対応して、ＩＣカードを停止したり、対応するアプリケーションを削除するような不正防止では、ユーザにとって不便である。また、対応するアプリケーションを削除してしまうと、不正処理の解析も難しくなってしまう。
【００３０】
以下、本実施形態をまとめる。
【００３１】
外部から指示される命令を解釈・実行し、その結果を外部へ提示するＩＣカードは、ＩＣカード内部アプリケーション毎に、当該ＩＣカード内部アプリケーションへの命令実行中に発生した事象に関する情報（不正処理の検知履歴を含むアクセス管理テーブル）を記憶し、外部から指示される命令の実行に際して、記憶した情報を参照し、命令の実行可否を判定し、実行可能判定に応じて命令を実行し、実行不能判定に応じて命令を実行しない。
【００３２】
言い換えれば、ＩＣカードは、ＩＣカード内部アプリケーション毎に、当該ＩＣカード内部アプリケーションへの命令実行中に発生した事象に関する情報を記憶し、外部から指示される命令の実行に際して、記憶した情報を参照し、当該ＩＣカード内部アプリケーションへの命令の送信可否を判定し、送信可能判定に応じて命令を送信し、送信不能判定に応じて命令を送信しない。なお、不正処理の検知履歴を含むアクセス管理テーブルは、ＩＣカードの揮発性メモリに記憶してもよいし、ＩＣカードの不揮発性メモリに記憶してもよい。
【００３３】
さらに、ＩＣカードに対して、特定の手続きを踏むことで、アクセス管理テーブルを初期化することができる。
【００３４】
以上により、ＩＣカード内部アプリケーションの不正処理に係る情報を管理し、当該アプリケーションへのアクセスを制御可能となる。また、ＩＣカード内部アプリケーションごとのアクセス制御が可能であるため、不正処理検知に際して、ＩＣカード全体を機能停止や無効にすることなく、不正処理対策が可能となる。上記の不正防止は、第三者を必要とせず、ＩＣカードで実現可能である。
【００３５】
なお、上記したアクセス管理テーブルをＩＣカードの外部のサーバで管理するようにしてもよい。各ＩＣカードは、サーバへアクセスし、アクセス管理テーブルを参照し、上記した不正防止を実行するようにしてもよい。また、各アプリケーションに対応するＡＩＤを一意に決めることを条件として、サーバ上のアクセス管理テーブルを公開し、悪意のあるアプリケーションに対して防御することも可能となる。
【００３６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００３７】
２００…ＩＣカード、２０１…ＩＣモジュール、２０２…ＲＡＭ、２０３…ＥＥＰＲＯＭ、２０４…ＣＰＵ、２０５…暗号処理コプロセッサ、２０６…ＲＯＭ、２０７…Ｉ／Ｏライン、２０８…システムバス
【図１】
2015102902.tif 000003
【図２】
2015102902.tif 000004
【図３】
2015102902.tif 000005
【図４】
2015102902.tif 000006