(57)【要約】【課題】情報記憶媒体に適用可能な優れたセキュリティ技術を提供すること。【解決手段】モジュールが埋め込まれたカード本体により構成される情報記憶媒体に適用される動作制御方法であって、前記モジュールは、媒体処理装置と通信し第１のコマンドを受信し、前記第１のコマンドに基づくデータ処理において、データに付加された誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき第１の誤り検査結果を取得し、媒体処理装置と通信し第２のコマンドを受信し、前記第２のコマンドに基づく前記データ処理において、前記データに付加された前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき第２の誤り検査結果を取得し、前記第１の検査結果と前記第２の検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する。【選択図】      図８
2009070072.tif 000002
【特許請求の範囲】
【請求項１】
モジュールが埋め込まれたカード本体により構成される情報記憶媒体であって、
前記モジュールは、
媒体処理装置と通信する通信手段と、
誤り検査コードを付加したデータを記憶する記憶手段と、
前記通信手段を介して受信された第１のコマンドに基づくデータ処理において、前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき得られる第１の誤り検査結果を記憶し、前記通信手段を介して受信された第２のコマンドに基づく前記データ処理において、前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき得られる第２の誤り検査結果と前記第１の検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する制御手段と、
を備えた情報記憶媒体。
【請求項２】
前記制御手段は、前記第１の誤り検査結果により正常判定が示され且つ前記第２の誤り検査結果により異常判定が示されることを条件として動作を制限する、請求項１に記載の情報記憶媒体。
【請求項３】
前記制御手段は、前記第１の誤り検査結果により正常判定が示され且つ前記第２の誤り検査結果により異常判定が示されることを条件としてこの情報記憶媒体を使用不能にする、請求項１に記載の情報記憶媒体。
【請求項４】
前記制御手段は、前記第１の誤り検査結果により異常判定が示されることによりエラーステータスを出力し、前記第１の誤り検査結果により正常判定が示され且つ前記第２の誤り検査結果により正常判定が示されることを条件として動作を許容し、前記第１の誤り検査結果により正常判定が示され且つ前記第２の誤り検査結果により異常判定が示されることを条件として動作を制限する、請求項１に記載の情報記憶媒体。
【請求項５】
モジュールが埋め込まれたカード本体により構成される情報記憶媒体であって、
前記モジュールは、
媒体処理装置と通信する通信手段と、
誤り検査コードを付加したデータを記憶する記憶手段と、
前記通信手段を介して受信されたリードコマンドに基づくデータリード処理において、前記誤り検査コードに基づく前記データの誤り検査を少なくとも２回連続的に実行し、１回目の誤り検査に基づき得られる第１の誤り検査結果と、２回目の誤り検査に基づき得られる第２の誤り検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する制御手段と、
を備えた情報記憶媒体。
【請求項６】
モジュールが埋め込まれたカード本体により構成される情報記憶媒体であって、
前記モジュールは、
媒体処理装置と通信する通信手段と、
誤り検査コードを付加したデータを記憶する記憶手段と、
前記通信手段を介して受信されたリードコマンドに基づくデータリード処理において、前記データを読み出し前記誤り検査コードに基づく前記データの誤りを検査し、この誤り検査に基づき得られる第１の誤り検査結果を記憶し、再度、前記データを読み出し前記誤り検査コードに基づく前記データの誤りを検査し、この誤り検査に基づき得られる第２の誤り検査結果と前記第１の検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する制御手段と、
を備えた情報記憶媒体。
【請求項７】
モジュールが埋め込まれたカード本体により構成される情報記憶媒体であって、
前記モジュールは、
媒体処理装置と通信する通信手段と、
誤り検査コードを付加したデータを記憶する記憶手段と、
前記通信手段を介して受信されたコマンドに基づくデータ処理において二つのデータの比較を同一の比較処理で連続して行い、１回目の比較処理検査結果と２回目の比較処理検査結果を比較し、比較結果の不一致に基づき動作を制限する制御手段と、
を備えた情報記憶媒体。
【請求項８】
モジュールが埋め込まれたカード本体により構成される情報記憶媒体であって、
前記モジュールは、
媒体処理装置と通信する通信手段と、
所定のアプリケーションに関するデータであって、誤り検査コードを付加したデータを記憶する記憶手段と、
前記通信手段を介して受信された第１のコマンドに基づくデータ処理において、前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき得られる第１の誤り検査結果を記憶し、前記通信手段を介して受信された第２のコマンドに基づく前記データ処理において、前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき得られる第２の誤り検査結果と前記第１の検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき前記所定のアプリケーション動作を制限する制御手段と、
を備えた情報記憶媒体。
【請求項９】
モジュールが埋め込まれたカード本体により構成される情報記憶媒体に適用される動作制御方法であって、
前記モジュールは、
媒体処理装置と通信し第１のコマンドを受信し、
前記第１のコマンドに基づくデータ処理において、データに付加された誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき第１の誤り検査結果を取得し、
媒体処理装置と通信し第２のコマンドを受信し、
前記第２のコマンドに基づく前記データ処理において、前記データに付加された前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき第２の誤り検査結果を取得し、
前記第１の検査結果と前記第２の検査結果とを比較し、
前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する動作制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭなどの制御素子を有するＩＣ（Integrated Circuit）チップを内蔵するＩＣカードと称される情報記憶媒体に関する。さらに、本発明は、このような情報記憶媒体に適用される動作制御方法に関する。
【背景技術】
【０００２】
ＩＣカードは、クレジットカード、定期券、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのＩＤカードとしても様々な分野で使われるようになっている。これは、従来の磁気カードに比べ、ＩＣカードは、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭなどの制御素子を有するＩＣを備えることにより、様々な機能が実現可能となったこと、さらには偽造が難しいためセキュリティの面でも大きく向上したことが要因である。
【０００３】
この種のＩＣカードは、例えば、利用アプリケーションの運用時に必要なデータ等をファイル形式で記憶しており、各々のファイルは複数のアプリケーションの各々に対応している。個々のファイルは、外部装置からアプリケーション識別名などを入力することにより、選択的に対応するファイルのみが使用可能な状態となる。このように、ＩＣカードは、複数のアプリケーションに対応する複数のファイルを格納しているため、様々な用途に利用でき、大変便利である。
【０００４】
上記したようなＩＣカード等のエラー対策として、例えば、チップカードのメモリ内へ、敏感といわれるデータ、たとえば暗号鍵を安全に記録する技術が提案されている（特許文献１参照）。即ち、重要なデータに対してのチェックサム等の付加に関する技術が提案されている。具体的には、メモリが、物理的に区別される第１、第２保存機構、例えば、「ＲＯＭ」タイプの固定メモリと、「ＥＥＰＲＯＭ」タイプの再プログラミング可能なメモリとを備える。敏感データは、定められた論理コンフィギュレーションによって、少なくとも第１、第２部分に分断され、第１、第２部分の各々は、第１、第２保存機構に記録される。検証のための追加データ、すなわち、チェックサムまたはハッシュデータは、敏感データの第１部分と同時に、第１保存機構内に追加として記録する。
【０００５】
さらに、上記したようなＩＣカード等のエラー対策として、例えば、メモリカード動作中に発生したエラーを、エラー内容をコード化したログナンバを用いてメインメモリの特定ブロックに保存し、速やかにエラー解析を行える技術が提案されている（特許文献２参照）。即ち、メモリカード動作中に発生したエラーログ情報を保存する技術が提案されている。具体的には、エラー発生時には、始めにメモリカードのバッファメモリにエラーログ情報を一時保存し、その後、メモリの所定のブロックにエラーログ情報を書込み、保存し、エラー検証を行う際は、メモリからエラーログ情報を取得する。
【特許文献１】特開２００６−４８７０４
【特許文献２】特開２００６−１７８５３７
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記したようにＩＣカードは、大変便利であり、それ故に急速に普及し、これに目をつけて不正行為を働こうとする者が後を絶たない。特にメモリ上のデータは、不正行為者の標的になり易く、またその方法も年々巧妙になってきている。上記した技術は、主にエラー対策であり不正行為の防止には十分ではなく、更なる高度なセキュリティが求められている。
【０００７】
本発明の目的は、ＩＣカード等の情報記憶媒体に適用可能な優れたセキュリティ技術を提供することにある。
【課題を解決するための手段】
【０００８】
この発明の情報記憶媒体は、モジュールが埋め込まれたカード本体により構成される情報記憶媒体であって、前記モジュールは、媒体処理装置と通信する通信手段と、誤り検査コードを付加したデータを記憶する記憶手段と、前記通信手段を介して受信された第１のコマンドに基づくデータ処理において、前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき得られる第１の誤り検査結果を記憶し、前記通信手段を介して受信された第２のコマンドに基づく前記データ処理において、前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき得られる第２の誤り検査結果と前記第１の検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する制御手段と、を備える。
【０００９】
この発明の動作制御方法は、モジュールが埋め込まれたカード本体により構成される情報記憶媒体に適用される動作制御方法であって、前記モジュールは、媒体処理装置と通信し第１のコマンドを受信し、前記第１のコマンドに基づくデータ処理において、データに付加された誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき第１の誤り検査結果を取得し、媒体処理装置と通信し第２のコマンドを受信し、前記第２のコマンドに基づくデータ処理において、前記データに付加された前記誤り検査コードに基づき前記データの誤りを検査し、この誤り検査に基づき第２の誤り検査結果を取得し、前記第１の検査結果と前記第２の検査結果とを比較し、前記第１及び第２の誤り検査結果の不一致に基づき動作を制限する。
【発明の効果】
【００１０】
本発明によれば、ＩＣカード等の情報記憶媒体に適用可能な優れたセキュリティ技術を提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照し、本発明の実施形態について説明する。
【００１２】
図１は、本発明の一実施形態に係るＩＣカードシステムの概略構成を示すブロック図である。図１に示すように、ＩＣカードシステムは、端末１０及びＩＣカード（情報記憶媒体）２０により構成される。端末１０は、本体（上位装置）１１、ディスプレイ１２、キーボード１３、カードリーダ／ライタ（媒体処理装置）１４を備えている。端末１０はＩＣカード２０と通信可能に構成されており、端末１０はＩＣカード２０に対してデータを送信したり、ＩＣカード２０からのデータを受信したりする。
【００１３】
本体１１は、アプリケーションを実行したり、入出力を司る。ディスプレイ１２は、ＩＣカード２０との通信結果等を表示する。キーボード１３は、本体１１に対して文字や数字等を入力する。カードリーダ／ライタ１４は、ＩＣカード２０と通信する。
【００１４】
なお、本実施形態では、ＩＣカード２０が接触式通信機能をサポートするケースについて説明するが、ＩＣカード２０は非接触式通信機能をサポートするものであってもよいし、接触式通信機能と非接触式通信機能の両者をサポートするコンビ型であってもよい。同様に、カードリーダ／ライタ１４が接触式通信機能をサポートするケースについて説明するが、カードリーダ／ライタ１４は非接触式通信機能をサポートするものであってもよいし、接触式通信機能と非接触式通信機能の両者をサポートするコンビ型であってもよい。
【００１５】
図２は、本発明の一実施形態に係る情報記憶媒体の概観を示す図である。図２に示すように、ＩＣカード２０はカード本体（プラスチックカード）により構成され、カード本体はＩＣチップ２１（モジュール）を備えている。
【００１６】
図３は、ＩＣチップ２１の概略構成を示す図である。図３に示すように、ＣＰＵ２３、ＲＡＭ２４、ＲＯＭ２５、ＥＥＰＲＯＭ２６、Ｉ／Ｏ２７、コプロセッサ２８、及びデータバス２９を備えている。
【００１７】
ＲＯＭ２５は、ＩＣカードの各種プログラムを格納する。ＣＰＵ２３は、ＲＯＭ２５に格納されている各種プログラムを実行する。ＲＡＭ２４及びＥＥＰＲＯＭ２６は、ＣＰＵ２３による各種プログラム実行時に必要なデータを格納する。Ｉ／Ｏ２７は、カードリーダ／ライタ１４などの外部装置からコマンドを受け取り、また処理結果をレスポンスとして出力する。データバス２９は、ＣＰＵ２３、ＲＡＭ２４、ＲＯＭ２５、ＥＥＰＲＯＭ２６、Ｉ／Ｏ２７、及びコプロセッサ２８の間でデータを転送するためのバスである。
【００１８】
ＩＣカード２０は、例えばＥＥＰＲＯＭ２６は、個人情報など重要な情報を格納する。セキュリティを確保するために、ＩＣカードに格納される重要な情報は暗号化され、またＩＣカードユーザに対して認証を要求する。
【００１９】
図４は、ＥＥＰＲＯＭ２６内に格納されたＥＦ（Elementary File）のマッピングの一例を示す図である。図５は、レコードＥＦ５０１のデータ本体３０１のデータ構造の一例を示す図である。図６はＩＣカード２０のＥＥＰＲＯＭ２６内のファイル構成の一例を示す図である。以下、これら図４〜図６を参照して、ＩＣカード２０に格納されるデータについて説明する。
【００２０】
ＩＣカード２０のＥＥＰＲＯＭ２６は、図６に示すような複数のファイル、つまりレコードＭＦ５００、レコードＥＦ５０１、レコードＤＦ５０２、レコードＥＦ５０３、レコードＥＦ５０４を記憶する。また、図４に示すように、レコードＥＦ５０１は、定義情報３００とデータ本体３０１により構成される。ＥＥＰＲＯＭ２６は、定義情報エリアＥ１及びデータ本体エリアＥ２を含み、定義情報エリアＥ１が定義情報３００を格納し、データ本体エリアＥ２がデータ本体３０１を格納する。また、定義情報３００は、データ本体３０１の先頭アドレス及びデータ本体３０１のサイズを示す情報を含み、この情報にはＣＲＣ（エラー訂正コード）が付加されている。
【００２１】
続いて、図７及び図８を参照し、ＩＣカード２０によるデータ処理について説明する。図７は、ＩＣカード２０とＩＣカードリーダ／ライタ１４との信号の送受信を示す図であり、具体的には異常検出に基づくＩＣカード使用制限（使用不能）までの処理の概要を示す図である。図８は、ＩＣカード２０内における異常検出に基づくＩＣカード使用制限（使用不能）までの処理を示すフローチャートである。
【００２２】
例えばＩＣカード２０の起動後、カレントポインタがＭＦ５００に位置すると仮定する。このとき、ＩＣカードリーダ／ライタ１４が、レコードＥＦ５０１を選択するためのパラメータを指定したインタプリタコマンド（第１のコマンド）をＩＣカード２０に送信すると、ＩＣカード２０（Ｉ／Ｏ２７）はそのインタプリタコマンドを受け取る。ＩＣカード２０（ＣＰＵ２３）は、受け取ったインタプリタコマンドで指定されたレコードＥＦ５０１を検索し（ＳＴ１）、レコードＥＦ５０１の正当性をその定義情報３００に付加されたＣＲＣで検査する（ＳＴ２）。ここで検査結果が異常を示す場合は（ＳＴ２、ＮＯ）、ＩＣカード２０（Ｉ／Ｏ２７）はエラーステータスを示すレスポンスをＩＣカードリーダ／ライタ１４に送信する（ＳＴ３）。検査結果が正常を示す場合は（ＳＴ２、ＹＥＳ）、ＩＣカード２０（ＣＰＵ２３）はこのＣＲＣの検査結果をデータメモリ上、例えばＲＡＭ２４に記憶し、ＩＣカード２０（Ｉ／Ｏ２７）は正常を示すレスポンスをＩＣカードリーダ／ライタ１４に送信する。
【００２３】
この後不正な攻撃（不正アクセス）があり、定義情報３００が書き換えられたとする。その後、ＩＣカードリーダ／ライタ１４が、レコードＥＦ５０１内のレコードデータ４０２を読み出すためのパラメータを指定したインタプリタコマンド（第２のコマンド）をＩＣカード２０に送信すると、ＩＣカード２０（Ｉ／Ｏ２７）はそのインタプリタコマンドを受信し、ＩＣカード２０（ＣＰＵ２３）は、レコードＥＦ５０１内のレコードデータ４０２を読み出し（ＳＴ４）、レコードＥＦ５０１の正当性を確かめるために、レコードＥＦ５０１の定義情報３００に付加されたＣＲＣを検査する（ＳＴ５）。この時点では、定義情報３００は不正な攻撃により書き換えられているので、検査結果が異常を示すことになる（ＳＴ５、ＮＯ）。ここでＩＣカード２０（ＣＰＵ２３）は、ＲＡＭ２４に記憶された以前のＣＲＣの検査結果を参照し、以前のＣＲＣの検査結果と今回のＣＲＣの検査結果とを比較し、以前のＣＲＣの検査結果（正常）と今回のＣＲＣの検査結果（異常）とが不一致になることにより、動作を制限する。例えば、ＣＰＵ２３は、一時的あるいは恒久的にＩＣカード２０を使用不能な状態に移行させる（ＳＴ６）。これによりＩＣカード２０に対して不正な攻撃が加えられた場合に、ＩＣカード２０が使用できなくなるため、ＩＣカード２０のセキュリティを維持することができる。
【００２４】
なお、上記した不正な攻撃（不正アクセス）が無ければ、検査結果は正常を示すことになり（ＳＴ５、ＹＥＳ）、以前のＣＲＣの検査結果（正常）と今回のＣＲＣの検査結果（正常）とが一致し、動作は制限されない。
【００２５】
以下に、上記説明した実施形態の別例についていくつか説明する。以下の説明では、上記説明と異なる点について説明し、共通する内容については説明を省略する。
【００２６】
例えば、ＩＣカード２０（ＣＰＵ２３）は、リードコマンドに基づくデータリード処理において、定義情報３００に付加されたＣＲＣに基づくレコードＥＦ５０１の正当性検査（データの誤り検査）を少なくとも２回連続的に実行し、１回目の誤り検査に基づき得られる第１の誤り検査結果と、２回目の誤り検査に基づき得られる第２の誤り検査結果とを比較し、第１及び第２の誤り検査結果の不一致に基づき動作を制限するようにしてもよい。
【００２７】
或いは、ＩＣカード２０（ＣＰＵ２３）は、リードコマンドに基づくデータリード処理において、レコードＥＦ５０１を読み出し定義情報３００に付加されたＣＲＣに基づくレコードＥＦ５０１の正当性（データの誤り）を検査し、この正当性検査（誤り検査）に基づき得られる第１の誤り検査結果を記憶し、再度、レコードＥＦ５０１を読み出し定義情報３００に付加されたＣＲＣに基づくレコードＥＦ５０１の正当性（データの誤り）を検査し、この正当性検査（誤り検査）に基づき得られる第２の誤り検査結果と既に得られた第１の検査結果とを比較し、第１及び第２の誤り検査結果の不一致に基づき動作を制限するようにしてもよい。
【００２８】
或いは、ＩＣカード２０（ＣＰＵ２３）は、所定コマンドに基づくデータ処理において二つのデータ（ＩＣカード２０に記憶された二つのデータ等）の比較を同一の比較処理で連続して行い、１回目の比較処理検査結果と２回目の比較処理検査結果を比較し、比較結果の不一致に基づき動作を制限するようにしてもよい。
【００２９】
或いは、ＩＣカード２０（ＣＰＵ２３）は、第１のコマンドに基づくデータ処理において所定のアプリケーションに関するレコードＥＦ５０１を読み出し定義情報３００に付加されたＣＲＣに基づくレコードＥＦ５０１の正当性（データの誤り）を検査し、この誤り検査に基づき得られる第１の誤り検査結果を記憶し、その後の第２のコマンドに基づくデータ処理においてレコードＥＦ５０１を読み出し定義情報３００に付加されたＣＲＣに基づくレコードＥＦ５０１の正当性（データの誤り）を検査し、この誤り検査に基づき得られる第２の誤り検査結果を記憶し、第１及び第２の誤り検査結果を比較し、第１及び第２の誤り検査結果の不一致に基づき所定のアプリケーション動作を制限するようにしてもよい。つまり、複数存在するアプリケーションのうち、不正動作のおそれのある所定のアプリケーションのみ、動作を制限する。
【００３０】
以上により、ソフトウェアによって不正な攻撃を検出し、それ以上の不正アクセスを防ぐことができる。これにより、ＩＣカードのセキュリティの強化を図ることができる。
【００３１】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施形態に係るＩＣカードシステムの概略構成を示すブロック図である。
【図２】本発明の一実施形態に係る情報記憶媒体の概観を示す図である。
【図３】ＩＣチップの概略構成を示す図である。
【図４】ＥＥＰＲＯＭ内に格納されたＥＦ（Elementary File）のマッピングの一例を示す図である。
【図５】レコードＥＦのデータ本体のデータ構造の一例を示す図である。
【図６】ＩＣカードのＥＥＰＲＯＭ内のファイル構成の一例を示す図である。
【図７】ＩＣカードとＩＣカードリーダ／ライタとの信号の送受信を示す図であり、具体的には異常検出に基づくＩＣカード使用制限（使用不能）までの処理の概要を示す図である。
【図８】ＩＣカード内における異常検出に基づくＩＣカード使用制限（使用不能）までの処理を示すフローチャートである。
【符号の説明】
【００３３】
１０…端末、１４…ＩＣカードリーダ／ライタ、２０…ＩＣカード、２１…ＩＣチップ、２３…ＣＰＵ、２４…ＲＡＭ、２５…ＲＯＭ、２６…ＥＥＰＲＯＭ、２７…Ｉ／Ｏ、２８…コプロセッサ、２９…データバス
【図１】
2009070072.tif 000003
【図２】
2009070072.tif 000004
【図３】
2009070072.tif 000005
【図４】
2009070072.tif 000006
【図５】
2009070072.tif 000007
【図６】
2009070072.tif 000008
【図７】
2009070072.tif 000009
【図８】
2009070072.tif 000010