(57)【特許請求の範囲】
【請求項１】
書き換え可能な不揮発性メモリを有するＩＣカードにおいて、
前記不揮発性メモリに格納されている情報に、加算又は減算のいずれか一方の処理のみを実行する情報変更手段を有し、
前記情報変更手段は、加算処理機能及び減算処理機能の双方を備え、前記一方の処理機能のみを実行可能となるように設定すること、
を特徴とするＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリに格納された情報に対し、加算処理又は減算処理のいずれか一方のみを行うコマンドを有するＩＣカードに関する。
【０００２】
【従来の技術】
ＩＣカードは、カード内部に集積回路（ＩＣ）を有し、外部機器との間で情報交換を行い、計算した結果や記憶している情報を外部へ送信する、又は、記憶している情報の変更その他の動作を行うカードである。
一般に、ＩＣカードはＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭの３種類のメモリと、それらのメモリにアクセスするＣＰＵとを備えている。ＥＥＰＲＯＭには、１又は２以上のファイルが設けられており、それぞれのファイルに情報が保存されている。これらファイルへのアクセスは、すべてＣＰＵを介して行われ、外部からこれらファイルに直接アクセスすることはできない。すなわち、リーダライタ装置等の外部機器からＣＰＵに対して所定の「コマンド」を与えると、ＣＰＵはこの「コマンド」を解釈実行し、その結果を「レスポンス」として外部機器へ送信する。
【０００３】
一般に、ＩＣカードは、ＷＲＩＴＥ＿ＢＩＮＡＲＹコマンド、ＵＰＤＡＴＥ＿ＢＩＮＡＲＹコマンドなど、メモリに情報を書き込む、又はメモリの情報を更新するためのコマンドを備えている。例えばＷＲＩＴＥ＿ＢＩＮＡＲＹコマンドを用いれば、ＥＥＰＲＯＭに設けてある透過構造の基礎ファイルに情報を書き込むことが可能である。また、ＵＰＤＡＴＥ＿ＢＩＮＡＲＹコマンドを用いれば、その基礎ファイル中の指定したビットを更新することが可能である。ただし、上記コマンドを用いても、無条件にファイルにアクセスし、情報の更新等を行うことができるわけではない。各ファイルには、固有のアクセス条件が設定されており、コマンドの実行に先立ちそのアクセス条件が満たされなければそのファイルに対しコマンドを実行することはできない。このように、ファイルにアクセス条件を設定するのは、ファイルの内容を第三者に改竄されることを防止し、ＩＣカードのセキュリティーを高く維持するためである。
【０００４】
【発明が解決しようとする課題】
しかし、前述した従来のＩＣカードでは、例えばＩ／Ｏ端子から通信信号を不正に受信することなどで、ファイルへのアクセス条件を第三者に盗まれる可能性がある。この場合には、その第三者が盗んだアクセス条件を利用してファイルの内容を自由に書き換え、不正な用途にＩＣカードを使用することが可能となる。例えば、テレフォンカードとして利用されているＩＣカードに対し、ＩＣカード内の残りポイントを加算し、カードの購入額以上に電話を利用するがごとくである。このために、ＩＣカードによる取引の安全性が著しく害される、ＩＣカード提供者に多大の損害が発生するおそれがあるという問題があった。
【０００５】
そこで、本発明の課題は、ＩＣカードのアクセス条件等が盗まれ、メモリの内容を不正に変更され得る状況となった場合にも、ＩＣカード提供者が不測の不利益を受けることのないＩＣカードを提供することである。
【０００６】
【課題を解決するための手段】
前記課題を解決するために、請求項１の発明は、書き換え可能な不揮発性メモリを有するＩＣカードにおいて、前記不揮発性メモリに格納されている情報に、加算又は減算のいずれか一方の処理のみを実行する情報変更手段を有し、前記情報変更手段は、加算処理機能及び減算処理機能の双方を備え、前記一方の処理機能のみを実行可能となるように設定すること、を特徴とする。
【０００７】
【発明の実施の形態】
以下、図面等を参照して、本発明に係る一実施形態について、さらに詳しく説明する。
図１は、本発明に係るＩＣカード１０の構成を示す図である。
ＩＣカード１０には、ＲＯＭ１３、ＲＡＭ１４、ＥＥＰＲＯＭ１５、ＣＰＵ１２、Ｉ／Ｏインタフェース１１が内蔵されている。Ｉ／Ｏインタフェース１１は、データを送受信するための入出力回路であり、ＣＰＵ１２はこのＩ／Ｏインタフェース１１を介して、リーダライタ等の外部機器と交信する。ＲＯＭ１３内には、ＣＰＵ１２によって実行されるべきプログラムが格納されており、ＣＰＵ１２はこのプログラムに基いてＩＣカード１０を統括制御する。ＲＡＭ１４は、ＣＰＵ１２がこのような統括制御を行う上で作業領域として使用するメモリである。一方、ＥＥＰＲＯＭ１５は、このＩＣカード１０に記録すべき本来のデータを格納するメモリである。
【０００８】
ＥＥＰＲＯＭ１５には、ＭＦ(Ｍａｓｔｅｒ  Ｆｉｌｅ) 、ＤＦ(Ｄｅｄｉｃ
ａｔｅｄ  Ｆｉｌｅ)、ＥＦ(Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ) の３種類のフ
ァイルがＭＦを根幹とする階層構造を構成するように格納されている。図２は、上記各種ファイルがＥＥＰＲＯＭ１５に格納された様子を模式的に示すブロック図である。ＭＦは、データメモリ全体のファイルである。ＭＦは、各アプリケーション（サービス）に共通したデータを格納するためのファイルであり、例えば、このＩＣカード１０の所有者の氏名、住所、電話番号などの情報が記録される。ＤＦは、専用ファイルであり、一般的にはアプリケーションごとにＤＦの設定がなされる。ＥＦは、基礎ファイルであり、キー・データを格納するＩＥＦと、アプリケーションが使用するデータを格納するＷＥＦの２種類がある。
【０００９】
図３は、本実施形態のＩＣカード１０において利用が可能であるＩＮＣＲＥＭＥＮＴコマンドのＡＰＤＵを示す図である。ＩＮＣＲＥＭＥＮＴコマンドは、カレントＥＦの指定アドレスに４バイトの数値を加算し、加算に成功した場合には、加算結果をレスポンスとして送信するという一連の処理をＩＣカード１０に実行させるためのコマンドである。カレントＥＦとは、ＥＥＰＲＯＭ１５に格納されているファイルの中で、コマンドの操作対象として現在選択されているファイルのことをいう。ＩＮＣＲＥＭＥＮＴコマンドの操作対象アドレスは、トランスペアレントファイルＷＥＦのみである。ＩＮＣＲＥＭＥＮＴコマンドのパラメータＰ１及びＰ２は、数値を加算すべき情報のファイル内アドレスを指定する。また、データフィールドは、加算すべき数値を指定する。
【００１０】
図４は、ＩＮＣＲＥＭＥＮＴコマンドを処理するときのＩＣカード１０の動作を示す流れ図である。
リーダライタ装置からＩＮＣＲＥＭＥＮＴコマンドがあった場合には、ＣＰＵ１２は、実行前チェックを行う（Ｓ８０１）。具体的には、カレントＥＦが選択されているか、カレントＥＦがトランスペアレントＥＦであるか等についてチェックが行われる。チェックの結果エラーがあったときには、その旨のメッセージがリーダライタ装置へ送信される（Ｓ８０３、Ｓ８１４）。
【００１１】
次に、コマンドのパラメータＰ１、Ｐ２で指定されたアドレスがカレントＥＦのファイルエンドを超えていないことが確認され（Ｓ８０４）、超えている場合には、その旨のエラーメッセージを送信する（Ｓ８０５、Ｓ８１４）。
一方、超えていない場合には、該当するアドレスから４バイトのデータをレジスタにロードし、コマンドのデータフィールド（ＤＡＴＡ）で指定された４バイトの値を加算する（Ｓ８０６）。このときに、キャリーが出た場合には（Ｓ８０７：ＮＯ）、加算結果がＦＦＦＦｈを超える旨のメッセージを送信する（Ｓ８０８、Ｓ８１４）。
【００１２】
次に、ＣＰＵ１２は、加算結果をＥＥＰＲＯＭ１５の制御書き込みルーチンを使用して書き戻す（Ｓ８０９）。書き込みエラーが発生したら、その旨のメッセージ（Ｓ８１１）を送信する。
書き込み後に、書き込み最終アドレスがライトアペンドポインタを超えているか否かを確認し（Ｓ８１２）、超えている場合には、書き込み最終アドレス＋１をライトアペンドポインタとしてセットする（Ｓ８１３）。
最後に、加算結果と正常である旨のメッセージを送信して（Ｓ８１４）、一連の処理を終了する。
【００１３】
以上説明したように、本実施形態のＩＣカードは、指定されたアドレスの情報に、指定された数値を加算するＩＮＣＲＥＭＥＮＴコマンドを処理する機能を有している。したがって、本実施形態のＩＣカードでは、ＥＥＰＲＯＭ１５に格納されているファイルについて、ＩＮＣＲＥＭＥＮＴコマンドによるアクセスを許可し、ＵＰＤＡＴＥ＿ＢＩＮＡＲＹコマンド等の他のデータ書き換え用又は書き込み用コマンドによるアクセスを許可しないようにアクセス条件を設定することにより、たとえファイルのＩＮＣＲＥＭＥＮＴコマンドに関するアクセス条件が盗まれた場合であっても、ファイルに保存されている情報が不正に減算されることを防止できる。
【００１４】
（その他の実施形態）
なお、本発明は、上記実施形態に限定されるものではない。上記実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【００１５】
例えば、上記実施形態では、指定されたアドレスの情報に指定された数値を加算するコマンドについて説明したが、これは、指定された数値を減算するコマンド（以下「ＤＥＣＲＥＭＥＮＴコマンド」という）とすることであってもよい。この場合には、ＤＥＣＲＥＭＥＮＴコマンドによってのみ情報の更新が可能であるようにファイルのアクセス条件を設定すれば、例えば、ＩＣカードをテレフォンカード等に利用した場合に、カードの度数を減算することのみが可能となり、第三者がアクセス条件を不正に取得した場合であっても、度数を加算して、ＩＣカードを不正に利用することが不可能となる。
【００１６】
なお、本発明に係るＩＣカードは、ＩＮＣＲＥＭＥＮＴ（ＤＥＣＲＥＭＥＮＴ）コマンドを処理する機能は有するがＤＥＣＲＥＭＥＮＴ（ＩＮＣＲＥＭＥＮＴ）コマンドを処理する機能は備えないものとすることであってもよく、また、ＩＮＣＲＥＭＥＮＴコマンド及びＤＥＣＲＥＭＥＮＴコマンド双方を処理する機能を備え、ＩＣカード発行時等に、一方のコマンドのみによりファイルにアクセス可能となるようにファイルのアクセス条件等を設定することであってもよい。
【００１７】
【発明の効果】
以上詳しく説明したように、本発明によれば、メモリへのアクセス条件等を盗まれ、メモリの記憶内容を不正に変更された場合にも、ＩＣカード提供者が不測の不利益を受けることのないＩＣカードを提供することが可能である。
【図面の簡単な説明】
【図１】本発明に係るＩＣカード１０の構成を示す図である。
【図２】ファイルがＥＥＰＲＯＭ１５に格納された様子を模式的に示すブロック図である。
【図３】ＩＮＣＲＥＭＥＮＴコマンドのＡＰＤＵを示す図である。
【図４】ＩＮＣＲＥＭＥＮＴコマンドを処理するときのＩＣカード１０の動作を示す流れ図である。
【符号の説明】
１１  Ｉ／Ｏインタフェース
１２  ＣＰＵ
１３  ＲＯＭ
１４  ＲＡＭ
１５  ＥＥＰＲＯＭ
２０  リーダライタ装置
【図１】
0003789994.tif 000002
【図２】
0003789994.tif 000003
【図３】
0003789994.tif 000004
【図４】
0003789994.tif 000005