(57)【特許請求の範囲】
【請求項１】
読み出し専用であって不揮発性の第１記憶部を備え、プログラム部及びデータ部を含む複数のアプリケーションを記憶することが可能なマルチアプリケーションＩＣカードであって、
前記第１記憶部は、複数の種類の前記プログラム部を記憶しており、
書き込むべきデータ部に対応するプログラム部が前記第１記憶部に記憶されているか否かが判定された結果が肯である場合に、前記データ部が書き込まれる書き換え可能な不揮発性の第２記憶部と、
前記第１記憶部が記憶しているプログラム部と、前記第２記憶部が記憶しているデータ部とを関連づける関連づけ情報を記憶する関連づけ情報記憶手段とを備えること、
を特徴とするマルチアプリケーションＩＣカード。
【請求項２】
読み出し専用であって不揮発性の第１記憶部と、書き換え可能な不揮発性の第２記憶部とを備え、プログラム部及びデータ部を含む複数のアプリケーションを記憶することが可能なマルチアプリケーションＩＣカードへ前記アプリケーションを書き込むＩＣカードの書き込み方法であって、
前記第２記憶部へ書き込むデータ部に対応するプログラム部が前記第１記憶部に記憶されているか否かを判定する判定ステップと、
前記判定ステップにおいて肯と判定した場合に、前記第１記憶部に記憶されているプログラム部に対応するデータ部を前記第２記憶部へ書き込む書き込みステップと、
前記第１記憶部に記憶されているプログラム部と、前記第２記憶部に記憶されているデータ部とを結び付ける関連づけ情報を書き込む関連づけ情報書き込みステップとを備えること、
を特徴とするＩＣカードの書き込み方法。
【請求項３】
請求項２に記載のＩＣカードの書き込み方法であって、
前記書き込みステップは、暗号化されたデータ部を前記ＩＣカードへ送信することによって、前記第２記憶部へ書き込むこと、
を特徴とするＩＣカードの書き込み方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のアプリケーションを１枚のＩＣカードに搭載可能なマルチアプリケーションＩＣカード及びその書き込み方法に関するものである。
【０００２】
【従来の技術】
従来、ＭｕｌｔｏｓやＪａｖａ等（ＪＡＶＡは登録商標）のマルチアプリケーションＩＣカードは、複数のアプリケーションをＩＣチップの不揮発性メモリ（ＥＥＰＲＯＭやＦＲＡＭ等）に格納し、カード発行後でも、必要に応じて、アプリケーションの追加、削除が可能である。最近の半導体技術の進歩により、６４ＫＢ等、大容量の不揮発性メモリ、１２８ＫＢ等、大容量のＲＯＭを持つ、自由度の高いＩＣカード用チップが登場した。
このＩＣカードに搭載するアプリケーションは、その性格上、機密性が重要視されているため、通常、共通鍵暗号（ＤＥＳ等）により暗号化され、その共通鍵が公開鍵暗号（ＲＳＡ等）によりアプリケーションの搭載証明書として、ホストコンピュータより外部ＩＣカード端末を通してＩＣカードに送信される。ＩＣカードは、ＲＳＡ、ＤＥＳ等により復号を行い、アプリケーションを不揮発性メモリに格納する。これによって、アプリケーションの秘匿性を保証するとともに、アプリケーションの正当性（送信元に偽りのないこと、内容に改竄のないこと等）を保証している。
【０００３】
【発明が解決しようとする課題】
しかし、ＩＣカードは、ＲＳＡの復号のために数回の演算、ＤＥＳの復号のためにアプリケーションサイズの８分の１回の演算が必要となり、復号に時間が掛かる。例えば、６４ＫＢのアプリケーション全体がＳｉｎｇｌｅ  ＤＥＳで暗号化されている場合には、６４×１０２４／８＝８１９２回の演算、ＳｉｎｇｌｅＤＥＳを３段並べて鍵を長くしたＴｒｉｐｌｅ  ＤＥＳであれば、その３倍の２４５７６回の演算が必要となり、より強固な暗号アルゴリズムを採用した場合には、復号により多くの時間が掛かってしまうという問題があった。
【０００４】
また、外部ＩＣカード端末は標準とされる通信スピードは９６００ｂｐｓ半二重送信が標準であり、６４ＫＢのアプリケーションを外部ＩＣカード端末からＩＣカードへ送信するだけで約８０秒の時間が掛かるという問題があった。
従って、大容量のＩＣチップを持つＩＣカードは、複数のＩＣカードの機能が１枚にまとまって利便性が増す反面、カード発行時間やその後のアプリケーション追加で多くの時間が掛かり、ＩＣカードを所有するカード所有者及びＩＣカードを媒介とした役務をカード所有者へ提供するカード発行者へ時間的な負担をかけるという問題があった。
更に、不揮発性メモリは、同一容量を有するＲＯＭに比べ、その特性から、ＩＣチップ上で４倍程度の回路面積が必要であり、容量あたりのコストが高いため、十分な容量を確保するためには製造コストがかかるという問題があった。
【０００５】
本発明の課題は、製造コストを削減するとともに、短時間でセキュアにアプリケーションを書き込むことができるマルチアプリケーションＩＣカード及びアプリケーション書き込み方法を提供することである。
【０００６】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、読み出し専用であって不揮発性の第１記憶部（１４）を備え、プログラム部及びデータ部を含む複数のアプリケーションを記憶することが可能なマルチアプリケーションＩＣカードであって、前記第１記憶部は、複数の種類の前記プログラム部を記憶しており、書き込むべきデータ部に対応するプログラム部が前記第１記憶部に記憶されているか否かが判定された結果が肯である場合に、前記データ部が書き込まれる書き換え可能な不揮発性の第２記憶部（１５）と、前記第１記憶部が記憶しているプログラム部と、前記第２記憶部が記憶しているデータ部とを関連づける関連づけ情報を記憶する関連づけ情報記憶手段（１５）とを備えること、を特徴とするマルチアプリケーションＩＣカード（１０）である。
【０００９】
請求項２の発明は、読み出し専用であって不揮発性の第１記憶部（１４）と、書き換え可能な不揮発性の第２記憶部（１５）とを備え、プログラム部及びデータ部を含む複数のアプリケーションを記憶することが可能なマルチアプリケーションＩＣカード（１０）へ前記アプリケーションを書き込むＩＣカードの書き込み方法であって、前記第２記憶部へ書き込むデータ部に対応するプログラム部が前記第１記憶部に記憶されているか否かを判定する判定ステップ（Ｓ１０５）と、前記判定ステップにおいて肯と判定した場合に、前記第１記憶部に記憶されているプログラム部に対応するデータ部を前記第２記憶部へ書き込む書き込みステップ（Ｓ１０６）と、前記第１記憶部に記憶されているプログラム部と、前記第２記憶部に記憶されているデータ部とを結び付ける関連づけ情報を書き込む関連づけ情報書き込みステップ（Ｓ１０６）とを備えること、を特徴とするＩＣカードの書き込み方法である。
【００１２】
請求項３の発明は、請求項２に記載のＩＣカードの書き込み方法であって、前記書き込みステップは、暗号化されたデータ部を前記ＩＣカードへ送信することによって、前記第２記憶部へ書き込むこと、を特徴とするＩＣカードの書き込み方法である。
【００１３】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
（実施形態）
図１は、本発明によるマルチアプリケーションＩＣカードの実施形態を示すブロック図である。
図１に示すように、ＩＣカード１０は、複数のアプリケーションを搭載可能な、マルチアプリケーションＩＣカードである。カード所有者がＩＣカード１０を外部ＩＣカード端末２０に接続することによって、ＩＣカード１０へポイントアプリケーションが書き込まれる。
【００１４】
アプリケーションとは、主にプログラムコードの部分であるプログラム部、個人情報等のプログラム部の処理に必要なデータであるデータ部及び外部に知らせるための情報である属性情報部等で構成され、オペレーティングシステム（以下、「ＯＳ」という。通信機能や暗号機能、アプリケーション登録・削除機能等マルチアプリケーションＩＣカードとして必要な機能を有するもの）の管理下においてＣＰＵ１２にＩＣカード１０の各種用途に合わせた処理を行わせるためにまとめられた情報である。
本実施形態においては、クレジットアプリケーション及び入退出管理アプリケーションは、カード所有者への発送前にすべてのＩＣカード１０に搭載されている。ポイントアプリケーションは、カード所有者の必要に応じてＩＣカード１０の発送後に搭載されるアプリケーションである。
【００１５】
外部ＩＣカード端末２０は、ＣＰＵ２２と、ＣＰＵ２２に接続された記憶部２３及びリーダライタ（以下、「Ｒ／Ｗ」という。）２１とを備えている。外部ＩＣカード端末２０は、ＣＰＵ２２が記憶部２３に記憶されているプログラムに従って処理を行うことにより、Ｒ／Ｗ２１に接続されたＩＣカード１０にコマンドを送信し、レスポンスを受信する通信を行い、ポイントの増減の書き換え等、ポイントアプリケーションに関する処理、ポイントアプリケーションのプログラム部、データ部及び属性情報の書き込み等を行う。外部ＩＣカード端末２０は、カード所有者がポイントアプリケーションに関するサービスを受けたい場合に（ＩＣカード１０の使用頻度をポイントに変換して対価を受けたい等のアプリケーションを利用したい場合）、ＩＣカード１０を接続するカード発行者の店舗窓口等、カード所有者が利用可能な場所に設置されている端末である。
【００１６】
ＩＣカード１０は、ＣＰＵ１２と、ＣＰＵ１２に接続されたＩ／Ｏインターフェイス１１、ＲＡＭ１３、ＲＯＭ１４及びＥＥＰＲＯＭ１５とを備えている。
Ｉ／Ｏインターフェイス１１は、Ｒ／Ｗ２１との通信を可能とする入出力回路であり、カード発行者端末２０から、コマンド等、その他情報を受信し、その処理結果であるレスポンス等の情報を送信する。
ＣＰＵ１２は、ＩＣカード１０を統括制御する中央処理装置である。
ＲＡＭ１３、ＲＯＭ１４及びＥＥＰＲＯＭ１５は、情報を記憶するための記憶手段である。ＲＡＭ１３は、揮発性メモリであり、ＣＰＵ１２が処理を行う作業領域として使用される。
【００１７】
図２（ａ）は、ＲＯＭに記憶されている情報を説明する図である（図２において「アプリケーション」を「ＡＰ」と記す。図３において同じ。）
ＲＯＭ１４は、不揮発性の読み出し専用メモリであって、ＯＳ、外部端末との通信機能、暗号計算の処理を行う暗号機能（ＯＳ、通信機能及び暗号機能を含めてＯＳという場合もある。）、アプリケーション識別子ＩＤにそれぞれ結び付けられた複数のアプリケーションのプログラム部等を格納している。本実施形態では、クレジットアプリケーション、ポイントアプリケーション及び入退出管理アプリケーションのプログラム部をそれぞれ１，２，３のアプリケーション識別子ＩＤに結び付けて格納している。アプリケーション識別子ＩＤは、これらのＲＯＭ１４に格納されている複数のプログラム部から、個々のプログラム部を識別するための情報であって、対応するデータ部を結び付ける関連付け情報である。
【００１８】
図２（ｂ）は、ＥＥＰＲＯＭに記憶されている情報を説明する図である。
ＥＥＰＲＯＭ１５は、随時書き換え可能な不揮発性のメモリであり、通常ユーザのワークエリア、プログラムエリア等として使用されている。ＥＥＰＲＯＭ１５は、クレジットアプリケーション及び入退出管理アプリケーションのデータ部、アプリケーション識別子ＩＤ、属性情報等を格納している。アプリケーションは、ＥＥＰＲＯＭ１５に格納されているデータ部及び属性情報と、同一のアプリケーション識別子ＩＤに結び付けられ、ＲＯＭ１４に格納されているプログラム部とで構成される。
【００１９】
図３は、本発明によるＩＣカードの書き込み方法の実施形態を示すフローチャートであり、外部ＩＣカード端末がＩＣカードに対して行うポイントアプリケーションに関する処理を示している。
Ｓ１００において、ＩＣカード１０は、外部ＩＣカード端末２０に挿入又は翳されることによってＲ／Ｗ２１に接続されている。
Ｓ１０１において、外部ＩＣカード端末２０は、ＩＣカード１０へポイントアプリケーションを選択するコマンドを送信する。選択可能な場合には、ポイントの増減の書き換え等、ポイントアプリケーションに関する処理を行い（Ｓ１０３）、処理を終了する（Ｓ１０８）。選択できない場合には、Ｓ１０４へ進む。
【００２０】
Ｓ１０４において、外部ＩＣカード端末２０は、ＲＯＭ１４に入っているプログラム部の種類のリストとしてアプリケーション識別子ＩＤリストを取得する。
Ｓ１０５において、ポイントアプリケーションのアプリケーション識別子ＩＤがこのリストに含まれているか否かを判定することによって、ポイントアプリケーションのプログラム部がＲＯＭ１４に入っているか否かを判定する。入っている場合には、ポイントアプリケーションのデータ部をＩＣカード１０へ送信し、ＥＥＰＲＯＭ１５への書き込みを行い（Ｓ１０６）、同様の処理を繰り返し（Ｓ１０１からＳ１０３まで）、処理を終了する（Ｓ１０８）。ポイントアプリケーションがＲＯＭ１４に入っていない場合には、ポイントアプリケーションのプログラム部及びデータ部をＩＣカード１０へ送信し、ＥＥＰＲＯＭ１５への書き込みを行い（Ｓ１０７）、同様の処理を行い（Ｓ１０１からＳ１０３まで）、処理を終了する（Ｓ１０８）。
【００２１】
（製造方法）
本発明によるＩＣカード１０は、以下のように製造される。
まず、ＩＣチップ作製段階でセキュアにＲＯＭ１４を作製する。このときＩＣカード１０を動作させるためのＯＳと、クレジットアプリケーション、ポイントアプリケーション及び入退出管理アプリケーションのプログラム部をＲＯＭ１４に搭載したＣＰＵ１２付きの１チップマイコンを作製する。カード製造会社は、この１チップマイコンをカード基材に貼り付け、ＩＣカード１０を製造する。カード製造会社は、このＩＣカード１０に対して初期化を行う。一般的に初期化とは、ＩＣカードに初期化データを送信することによってアプリケーションが追加可能な状態（マルチアプリケーションＩＣカードとしては動作可能な状態ではあるが、利用可能なアプリケーションは１つも入っていない状態、つまり、ＯＳのみ動作可能な状態である。）にすることをいう。特定のカード所有者向けのＩＣカードでは、個人の情報（氏名や生年月日等）やカードの有効期限等も初期化データの一部に含まれる事がある。
【００２２】
ＩＣカード１０を利用したサービスをその所有者に提供するカード発行者は、自己の業務遂行に必要なアプリケーションであるクレジットアプリケーション及び入退出アプリケーションを外部ＩＣカード端末２０と同様の処理を行う端末に初期化済みのＩＣカード１０を接続することによってＥＥＰＲＯＭ２５に書き込み、図１に示すＩＣカード１０を発行する。尚、ＲＯＭ１４に格納されるアプリケーションの種類は、カード発行者によって任意に定められる。
【００２３】
本実施形態によれば、プログラム部を予めＲＯＭ１４に格納したＩＣカード１０に対してアプリケーションを搭載する場合には、ＲＯＭ１４に格納されているアプリケーションの識別子ＩＤを送信することで、プログラム部を改めてＩＣカード１０に送信する必要がないため、約半分の時間でアプリケーションの搭載を行い、利用可能な状態にできることから、カード発行者及びカード所有者の利便性を向上することが可能となった。
また、ＥＥＰＲＯＭ１５は、アプリケーションのプログラム部を記憶する必要がないため、その設定容量を低減することによって、ＩＣカードの製造コストの低減を図ることが可能となった。
【００２４】
（変形形態）
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。
例えば、外部ＩＣカード端末２０は、ポイントアプリケーションのデータ部等を共通鍵暗号（ＤＥＳ等）により暗号化し、その共通鍵を公開鍵暗号（ＲＳＡ等）によりアプリケーションの搭載証明書としてＩＣカード１０に送信し、ＩＣカード１０が復号手段、認証手段等によって復号、内容の正当性の判断等を行い、ＥＥＰＲＯＭ１５に格納してもよい。
外部ＩＣカード端末２０は、アプリケーションをセキュアにＩＣカード１０へ書き込むことが可能である。
【００２５】
外部ＩＣカード端末２０がデータ部の書き込みを行っているが、電話回線、光ケーブルその他の有線、又は、赤外線その他の無線の通信回線を介して接続されているカード発行者のホストコンピュータが外部ＩＣカード端末２０を介してＩＣカード１０と通信を行い、書き込みを行ってもよい。
【００２６】
【発明の効果】
以上詳しく説明したように、本発明によれば、ＩＣカードの第１記憶部に記憶されているアプリケーションのプログラム部に対応するデータ部を第２記憶部へ書き込むため、プログラム部をＩＣカードへ書き込む必要がないため、短時間でアプリケーションを書き込むことが可能となった。
また、容量あたりのコストが第２記憶部に比べて低い第１記憶部がプログラム部を記憶するため、製造コストの低減を図ることが可能となった。
更に、暗号化したデータ部をＩＣカードへ送信することによって第２記憶部へ書き込むため、セキュアにアプリケーションを書き込むことが可能となった。
【図面の簡単な説明】
【図１】本発明によるマルチアプリケーションＩＣカードの実施形態を示すブロック図である。
【図２】ＲＯＭ及びＥＥＰＲＯＭに記憶されている情報を説明する図である。
【図３】本発明によるＩＣカードの書き込み方法の実施形態を示すフローチャートである。
【符号の説明】
ＩＤ  アプリケーション識別子
１０  ＩＣカード
１１  Ｉ／Ｏインターフェイス
１２  ＣＰＵ
１３  ＲＡＭ
１４  ＲＯＭ
１５  ＥＥＰＲＯＭ
２０  外部ＩＣカード端末
２１  Ｒ／Ｗ
２２  ＣＰＵ
２３  記憶部
【図１】
0003911153.tif 000002
【図２】
0003911153.tif 000003
【図３】
0003911153.tif 000004