(57)【要約】【課題】利用者が割り当てられたメモリ領域を他の者の制限を受けずに自己の裁量で利用することができるとともに、各割り当てられた領域への不正なアクセスを防止することが可能な利便性及びセキュリティ性の高いＩＣカード、ＩＣカードプログラム及びＩＣカードのメモリ領域の割当方法を提供する。【解決手段】Ａ社、Ｂ社及びＣ社に割り当てられた複数の割当メモリ領域を含むメモリ領域を有し、Ａ社によって発行されたＩＣカード１０であって、ＫＭＡの公開鍵ＰＫｋに基づいて正当性が確認された、Ｂ社の公開鍵ＰＫｂを含む制御情報を記憶する不揮発性メモリと、公開鍵ＰＫｂに基づいて、外部から受信したアプリケーション搭載証明書Ｌｂ−１の正当性を判定する判定部とを備える。【選択図】                図３
2004334542.tif 000002
【特許請求の範囲】
【請求項１】
メモリ領域が分割され複数の利用者に割り当てられた複数の割当メモリ領域を有するＩＣカードであって、
前記複数の利用者が信頼する第三者の暗号鍵に基づいて正当性を確認した、前記各割当メモリ領域へのアクセスを制限するための制御情報を記憶する制御情報記憶手段と、
外部から受信した、前記割当領域へのアクセスを要求する命令について正当なものであるか否かを、前記制御情報記憶手段によって記憶されている制御情報に基づいて判定する正当性判定手段とを備えること、
を特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードにおいて、
前記第三者の暗号鍵を記憶する第三者暗号鍵記憶手段と、
外部から受信した前記制御情報が正当であるか否かを前記第三者の暗号鍵に基づいて正当性を判定する制御情報正当性判定手段とを備え、
前記正当性判定手段は、前記制御情報正当性判定手段によって正当と判定された制御情報に基づいて判定を行うこと、
を特徴とするＩＣカード。
【請求項３】
請求項１又は請求項２に記載のＩＣカードにおいて、
前記制御情報は、前記割当メモリ領域に対応する前記利用者の暗号鍵を含み、
前記正当性判定手段は、前記アクセスの対象となる前記割当領域に対応する前記利用者の暗号鍵に基づいて判定を行うこと、
を特徴とするＩＣカード。
【請求項４】
請求項３に記載のＩＣカードにおいて、
前記正当性判定手段は、外部から受信した、アプリケーションの前記割当領域への書き込みを要求する命令又は前記割当領域に記憶されているアプリケーションの削除を要求する命令について、前記制御情報及び、外部から受信した搭載証明書又は削除証明書に基づいて判定を行うこと、
を特徴とするＩＣカード。
【請求項５】
請求項１から請求項４までのいずれか１項に記載のＩＣカードにおいて、
前記制御情報は、前記外部から受信する命令の送信元が前記命令を行う正当な権限を有することを確認するための命令元認証情報を含み、
前記正当性判定手段は、前記命令元認証情報に基づいて判定を行うこと、
を特徴とするＩＣカード。
【請求項６】
請求項１から請求項５までのいずれか１項に記載のＩＣカードにおいて、
一の前記割当領域が複数の利用者に割り当てられ、
前記制御情報は、各利用者の前記一の割当領域へのアクセス権限を示すアクセス権限情報を含むこと、
を特徴とするＩＣカード。
【請求項７】
利用者にメモリ領域を割り当てるためにＩＣカードに実行させるＩＣカードプログラムであって、
前記メモリ領域を前記利用者に割り当てるための制御情報の書き込みを要求する制御情報書き込み要求を外部から受信した場合に、記憶している、前記利用者が信頼する第三者の暗号鍵に基づいて、前記制御情報の正当性を判定する制御情報正当性判定手順と、
前記制御情報正当性判定手順において、正当と判定した場合に前記制御情報を有効なものとして記憶する制御情報記憶手順とを備えること、
を特徴とするＩＣカードプログラム。
【請求項８】
請求項７に記載のＩＣカードプログラムにおいて、
外部から前記利用者の暗号鍵を含む前記制御情報が暗号化された暗号化制御情報を受信する暗号化制御情報受信手順を備え、
前記制御情報正当性判定手順は、前記暗号化制御情報受信手順において受信した暗号化制御情報を前記第三者の暗号鍵で復号することによって前記制御情報の正当性を判定すること、
を特徴とするＩＣカードプログラム。
【請求項９】
ＩＣカードのメモリ領域を分割して利用者に割り当てるＩＣカードのメモリ領域の割当方法であって、
暗号鍵を記憶している前記ＩＣカードに、前記メモリ領域を前記利用者に割り当てるための制御情報が、前記利用者が信頼する第三者が機密保持状態で保持する暗号鍵によって、前記ＩＣカードが記憶している暗号鍵で復号可能なように暗号化された暗号化制御情報を前記ＩＣカードへ送信する暗号化制御情報送信ステップを備えること、
を特徴とするＩＣカードのメモリ領域の割当方法。
【請求項１０】
請求項９に記載のＩＣカードのメモリ領域の割当方法において、
前記暗号化制御情報送信ステップは、前記利用者の暗号鍵を含む制御情報が暗号化された暗号化制御情報を前記ＩＣカードへ送信すること、
を特徴とするＩＣカードのメモリ領域の割当方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ領域が分割され複数の利用者に割り当てられた複数の割当メモリ領域を有するＩＣカード、利用者にそのメモリ領域を分割して割り当てるためにＩＣカードに実行させるＩＣカードプログラム及びＩＣカードのメモリ領域を分割して利用者に割り当てるＩＣカードのメモリ領域の割当方法に関するものである。
【０００２】
【従来の技術】
近年、セキュリティの高さからＩＣカードが様々な態様で使用されるようになってきている。中でも、例えば、クレジットやポイント、入退出管理などの機能を実現する複数のアプリケーション（以下、「アプリケーション」を「アプリ」という。）を１枚に収めたＩＣカードが徐々に浸透しつつある。特に、発行後にアプリの追加及び削除が可能なＭｕｌｔｏｓカードやＪａｖａ  Ｃａｒｄ（「ＪＡＶＡ」は、登録商標。）といったマルチアプリケーションＩＣカードが有名である。
【０００３】
ＩＣカードに機能を追加する場合には、先ず、その機能を実現するためのアプリを構成する、主にプログラムコードの部分であるプログラム部、個人情報等のプログラム部の処理に必要なデータであるデータ部、及び、コード部及びデータ部のサイズ、アプリケーションＩＤなどのアプリに係る情報である属性情報等と共に、搭載証明書をホストコンピュータより端末を通じてＩＣカードに送信する。ＩＣカードは、搭載証明書の正当性を確認した後、アプリの有効化（カードの機能として利用可能な状態にする。活性化とも言う。）を行い、ユーザが使用可能な状態となる。なお、搭載証明書とは、付されているアプリなどの情報が正当なものであること（改竄されていないこと、アプリの提供者が正当であること）を証明するものであって、その具体例は、アプリを特徴づける特徴情報を認証局［以下、「ＫＭＡ」（Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  Ａｕｔｈｏｒｉｔｙ）という。］が他の者に漏洩することのないように機密保持状態で（セキュアに）保持している秘密鍵で暗号化し、ＫＭＡの公開鍵を用いて復号を行う者に対して、アプリが正当であることをＫＭＡが証明する証明書である。従って、ＩＣカードは、搭載証明書をこの秘密鍵と対になる公開鍵で復号することによって、その正当性を確認することができる。
【０００４】
また、秘密鍵及び公開鍵は、ＲＳＡなどの公開鍵暗号方式で用いられる暗号鍵である。また、ＫＭＡは、ＩＣカードの発行を行う発行者やビューロー（以下、これらの者を「発行者」という。）、アプリの提供を行うアプリケーション・プロバイダーなどＩＣカードに関わる者が信頼を有する第三者であって、搭載証明書などの証明書に用いる暗号鍵（公開鍵及び秘密鍵）を管理している。かかる信頼を有する第三者がその提供者の証明を行ったアプリのみを搭載することによって、ＩＣカードへの不正なアプリの搭載を防止することが可能となる。
一方、アプリを削除する場合も同様に、属性情報（無くても良い。）及びＫＭＡが正当性を証明する削除証明書をホストコンピュータから端末を通じてＩＣカードに送信し、ＩＣカードはその削除証明書の正当性を確認した後、属性情報あるいは削除証明書で指定されたアプリを削除する。削除とは、メモリ上からのクリア、無効化などのアプリを使用できない状態にすることである。
【０００５】
搭載証明書や削除証明書は、発行者が作成してもよいが、Ｍｕｌｔｏｓカードでは、中立性を保持するために、ＫＭＡが作成している。
現在、発行者は、アプリケーション・プロバイダーよりアプリを入手し、カード保有者の情報をアプリのデータ部に反映させ、ＫＭＡより搭載証明書の作成依頼および入手を行うことによってＩＣカードを発行し、アプリを搭載後にＩＣカードをカード保有者に送付する。このためＩＣカードの流通を管理しているのは発行者であり、アプリは、発行時にまとめて搭載されることが多い。今後は、ＡＴＭなどの端末でのアプリ追加や、インターネットを通じて自宅でアプリを追加することが多くなると考えられている。
しかし、一の発行者が発行したＩＣカードについて、アプリを搭載、削除などの処理を行う権限は一の発行者にあり、他の発行者が他社製のカードに機能を追加することはなかった。
【０００６】
一方、近年、ＩＣカード用チップの進歩は目覚ましいものがあり、容量が６４ＫＢ以上の書き換え可能なＥＥＰＲＯＭなどの不揮発メモリが登場しており、クレジット機能（コード部；約４ＫＢ、データ部；約３ＫＢ。）のアプリであれば８個程度の搭載が可能である。このようなＩＣチップは高価であり、一の発行者が製造し、顧客に配るにはコスト的に高すぎる（磁気カードは５０円程度、６４ＫＢのＥＥＰＲＯＭを持つＩＣカードは７００〜１０００円程度。）という問題があった。
そこで、メモリ領域に複数の領域を定義し、各領域を各者に割り当てる方法、また、自己の領域を他の者に割り当てる方法がある（例えば、特許文献１参照。）。
【０００７】
このメモリ領域の管理方法によれば、複数の者による並列的な利用形態及び階層的な利用形態に対処することができ、合理的にメモリ領域を管理することができる。従って、メモリ領域を割り当てることによって、１枚のＩＣカードに複数の者がアプリを搭載することが可能となる。また、領域を貸与することによって、その対価を得ることが可能となる。
一方、メモリ領域が複数の者によって利用される場合には、セキュリティに関連した種々のアクセス権限を多数の者の間ではっきり取り決めておく必要がある。
そこで、第２の者に割り当てられた（貸与された）第２の領域に対して、上位の第１の者が所定の命令を実行可能であるか否かを示す権限情報を、第２の領域についてのディレクトリ内に書き込み、メモリ領域が複数の者によって階層的に利用される場合に、各利用者毎のアクセス権限を明確に取り扱うことができるメモリ領域の管理方法がある（例えば、特許文献２参照。）。
【０００８】
【特許文献１】
特許第３１７７０４７号公報（［０００８］、図４）
【特許文献２】
特開平６−２２２９８０号公報（［０００７］）
【０００９】
【発明が解決しようとする課題】
しかし、このメモリ領域の管理方法は、メモリ領域が複数の者によって階層的に利用される場合におけるアクセス権限を明確にしているが、下位の第２の者がその領域に対してアプリの搭載などの処理を行う過程、つまり、誰がどのようにアプリの搭載などを行うかは示されておらず、誰がその管理責任を負うか明確に開示されていない。また、第１の者が管理責任を負うと仮定した場合には、第２の者が第２の領域にアプリを搭載するときには、ＫＭＡなどの第三者による搭載証明を得る必要、第１の者の端末を介して行う必要などの制約が第２の者にかかり、利便性に欠けるとともに、第１及び第２の者に負担がかかるおそれがあった。
一方、発行者は、ＩＣカードに対してアプリの搭載などの処理を行う権限を有すると同時に、その管理責任を負う者である。従って、一のＩＣカードにアプリの搭載などの処理を行う複数の発行者は、それぞれがアプリの搭載などの処理を行う権限を有する必要がある。
【００１０】
本発明の課題は、利用者が割り当てられたメモリ領域を他の者の制限を受けずに自己の裁量で利用することができるとともに、各割り当てられた領域への不正なアクセスを防止することが可能な利便性及びセキュリティ性の高いＩＣカード、ＩＣカードプログラム及びＩＣカードのメモリ領域の割当方法を提供することである。
【００１１】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、メモリ領域が分割され複数の利用者に割り当てられた複数の割当メモリ領域を有するＩＣカードであって、前記複数の利用者が信頼する第三者の暗号鍵（ＰＫｋ）に基づいて正当性を確認した、前記各割当メモリ領域へのアクセスを制限するための制御情報を記憶する制御情報記憶手段（１７）と、外部から受信した、前記割当領域へのアクセスを要求する命令について正当なものであるか否かを、前記制御情報記憶手段によって記憶されている制御情報に基づいて判定する正当性判定手段（１４１、Ｓ１５０，Ｓ１７０）とを備えること、を特徴とするＩＣカード（１０，１０−２，１０−３）である。
【００１２】
請求項２の発明は、請求項１に記載のＩＣカードにおいて、前記第三者の暗号鍵を記憶する第三者暗号鍵記憶手段（１６）と、外部から受信した前記制御情報が正当であるか否かを前記第三者の暗号鍵に基づいて正当性を判定する制御情報正当性判定手段（１４１、Ｓ１３０）とを備え、前記正当性判定手段は、前記制御情報正当性判定手段によって正当と判定された制御情報に基づいて判定を行うこと、を特徴とするＩＣカード（１０，１０−２，１０−３）である。
【００１３】
請求項３の発明は、請求項１又は請求項２に記載のＩＣカードにおいて、前記制御情報は、前記割当メモリ領域に対応する前記利用者の暗号鍵（ＰＫａ，ＰＫｂ，ＰＫｃ）を含み、前記正当性判定手段は、前記アクセスの対象となる前記割当領域に対応する前記利用者の暗号鍵に基づいて判定を行うこと、を特徴とするＩＣカード（１０，１０−２，１０−３）である。
【００１４】
請求項４の発明は、請求項３に記載のＩＣカードにおいて、前記正当性判定手段は、外部から受信した、アプリケーションの前記割当領域への書き込みを要求する命令又は前記割当領域に記憶されているアプリケーションの削除を要求する命令について、前記制御情報及び、外部から受信した搭載証明書（Ｌａ−１，Ｌａ−２，Ｌｂ−１）又は削除証明書に基づいて判定を行うこと、を特徴とするＩＣカード（１０，１０−２，１０−３）である。
【００１５】
請求項５の発明は、請求項１から請求項４までのいずれか１項に記載のＩＣカードにおいて、前記制御情報は、前記外部から受信する命令の送信元が前記命令を行う正当な権限を有することを確認するための命令元認証情報を含み、前記正当性判定手段は、前記命令元認証情報に基づいて判定を行うこと、を特徴とするＩＣカードである。
【００１６】
請求項６の発明は、請求項１から請求項５までのいずれか１項に記載のＩＣカードにおいて、一の前記割当領域が複数の利用者に割り当てられ、前記制御情報は、各利用者の前記一の割当領域へのアクセス権限を示すアクセス権限情報を含むこと、を特徴とするＩＣカード（１０−３）である。
【００１７】
請求項７の発明は、利用者にメモリ領域を割り当てるためにＩＣカード（１０，１０−２，１０−３）に実行させるＩＣカードプログラムであって、前記メモリ領域を前記利用者に割り当てるための制御情報の書き込みを要求する制御情報書き込み要求を外部から受信した場合に、記憶している、前記利用者が信頼する第三者の暗号鍵（ＰＫｋ）に基づいて、前記制御情報の正当性を判定する制御情報正当性判定手順（Ｓ１３０）と、前記制御情報正当性判定手順において、正当と判定した場合に前記制御情報を有効なものとして記憶する制御情報記憶手順（Ｓ１３０）とを備えること、を特徴とするＩＣカードプログラムである。
【００１８】
請求項８の発明は、請求項７に記載のＩＣカードプログラムにおいて、外部から前記利用者の暗号鍵（ＰＫａ，ＰＫｂ，ＰＫｃ）を含む前記制御情報が暗号化された暗号化制御情報を受信する暗号化制御情報受信手順を備え、前記制御情報正当性判定手順は、前記暗号化制御情報受信手順において受信した暗号化制御情報を前記第三者の暗号鍵で復号することによって前記制御情報の正当性を判定すること、を特徴とするＩＣカードプログラムである。
【００１９】
請求項９の発明は、ＩＣカード（１０，１０−２，１０−３）のメモリ領域を分割して利用者に割り当てるＩＣカードのメモリ領域の割当方法であって、暗号鍵（ＰＫｋ）を記憶している前記ＩＣカードに、前記メモリ領域を前記利用者に割り当てるための制御情報が、前記利用者が信頼する第三者が機密保持状態で保持する暗号鍵（ＳＫｋ）によって、前記ＩＣカードが記憶している暗号鍵で復号可能なように暗号化された暗号化制御情報を前記ＩＣカードへ送信する暗号化制御情報送信ステップ（Ｓ１３０）を備えること、を特徴とするＩＣカードのメモリ領域の割当方法である。
【００２０】
請求項１０の発明は、請求項９に記載のＩＣカードのメモリ領域の割当方法において、前記暗号化制御情報送信ステップは、前記利用者の暗号鍵（ＰＫａ，ＰＫｂ，ＰＫｃ）を含む制御情報が暗号化された暗号化制御情報を前記ＩＣカードへ送信すること、を特徴とするＩＣカードのメモリ領域の割当方法である。
【００２１】
【発明の実施の形態】
以下、図面などを参照しながら、本発明の実施の形態について、更に詳しく説明する。
（実施形態）
図１は、本発明によるＩＣカードの実施形態を示すブロック図である。
図１に示すように、ＩＣカード１０は、通信部１１、ＩＣチップ１２などを備え、カード発行者であるＡ社によって発行されたマルチアプリケーションＩＣカードである。ＩＣカード１０は、ＡＴＭなどのリーダライタを備える情報処理端末である外部装置に挿入され、接続されることによって、外部装置から受信した命令（コマンド）に応じた処理を行い、結果を応答（レスポンス）として返信する。
【００２２】
通信部１１は、例えば、接触端子又はアンテナなどであって、外部装置及びＣＰＵ１４の通信を媒介する。ＩＣチップ１２は、ＣＰＵ１４と、ＣＰＵ１４に接続されたＩ／Ｏインターフェイス１３、ＲＡＭ１５、ＲＯＭ１６及び不揮発性メモリ１７などを備えている。
Ｉ／Ｏインターフェイス１３は、通信部１１及びＣＰＵ１４間の入出力を媒介する入出力インターフェイスである。
ＣＰＵ１４は、種々の演算及び制御を行う、ＩＣカード１０を統括制御する中央処理装置であって、ＲＯＭ１６、不揮発性メモリ１７などのメモリに格納されているプログラムを実行することによって、判定部１４１などを実現する。判定部１４１の機能については、図４を用いて後述する。
【００２３】
ＲＡＭ１５、ＲＯＭ１６及び不揮発性メモリ１７は、プログラムなどのＣＰＵ１４の処理に必要な情報を記憶するための記憶手段である。ＲＡＭ１５は、揮発性メモリであり、ＣＰＵ１４が処理を行うための作業領域として使用される。
ＲＯＭ１６は、不揮発性の読み出し専用メモリであって、オペレーティングシステム（以下、「ＯＳ」という。）、実行環境などの基本プログラムなどを記憶している。また、ＲＯＭ１６は、ＫＭＡの搭載証明書公開鍵ＰＫｋを記憶している。搭載証明書公開鍵ＰＫｋは、ＫＭＡが機密保持状態で保持している秘密鍵ＳＫｋ（図示しない。以下、秘密鍵について同じ。）と対となり、公開鍵暗号方式で用いられる公開鍵であって、不揮発性メモリ１７のメモリ領域の利用者であるＡ社、Ｂ社及びＣ社（後述する図２参照。）が信頼するＫＭＡによって提供される。
【００２４】
図２は、不揮発性メモリに記憶されている情報を説明する図である。
不揮発性メモリ１７は、ＥＥＰＲＯＭ、フラッシュメモリ、ＦＲＡＭなどの随時書き換え可能な不揮発性のメモリであり、通常ユーザのワークエリア、プログラムエリアなどとして使用され、複数のアプリを記憶することが可能である。また、不揮発性メモリ１７は、６４ＫＢのメモリ領域を有している。図２に示すように、発行者であって、ＩＣカード１０の発行を行うＡ社は、自身が使用する領域として２４ＫＢを確保し、他の発行者であるＢ社及びＣ社にそれぞれ２０ＫＢ、１６ＫＢのメモリ領域を割り当てて貸与し、その対価を受けている。Ａ社の割当メモリ領域には、クレジットアプリ及びポイントアプリ（１６ＫＢ）、Ｂ社の割当メモリ領域には、チケットアプリが記憶されている（以下、「Ａ社の割当メモリ領域」、「Ｂ社の割当メモリ領域」、「Ｃ社の割当メモリ領域」をそれぞれ「Ａ社領域」、「Ｂ社領域」、「Ｃ社領域」という。）。
また、不揮発性メモリ１７は、クレジットアプリ、ポイントアプリ、チケットアプリの正当性を確認するために用いられた搭載証明書Ｌａ−１，Ｌａ−２，Ｌｂ−１を記憶している。
【００２５】
図３は、本発明によるＩＣカードの通信機能を階層構造（三層）に分割して示した概略模式図である。
更に、不揮発性メモリ１７は、制御情報を記憶している。図３に示すように、制御情報とは、各発行者に割り当てられている各割当メモリ領域へのアクセスを制限し、管理するための情報であって、各割当メモリ領域について、アドレス、容量、利用者となる発行者の搭載証明書公開鍵ＰＫａ，ＰＫｂ又はＰＫｃなどを含んでいる。割当メモリ領域へのアクセスとは、割当メモリ領域に記憶されている情報の読み出し、割当メモリ領域への情報の書き込み、割当メモリ領域に記憶されている情報の書き換え（削除を含む。）など、外部装置からの命令に応じて割当メモリ領域についてＣＰＵ１４が処理を行うことである。また、搭載証明書公開鍵ＰＫａ，ＰＫｂ，ＰＫｃは、各発行者の秘密鍵ＳＫａ，ＳＫｂ，ＳＫｃと対となり、公開鍵暗号方式で用いられる公開鍵である。
更にまた、不揮発性メモリ１７は、各割当メモリ領域に対応する制御情報の正当性を確認するために用いられた搭載証明書Ｌｋ−ａ，Ｌｋ−ｂ，Ｌｋ−ｃを記憶している。この搭載証明書Ｌｋ（Ｌｋ−ａ，Ｌｋ−ｂ，Ｌｋ−ｃ）は、制御情報の正当性をＫＭＡが証明するものであって、例えば、搭載証明書秘密鍵ＳＫｋを用いて制御情報の特徴情報を暗号化したものである。
【００２６】
図４は、本発明によるＩＣカードの発行過程、本発明によるＩＣカードプログラム及び本発明によるＩＣカードのメモリ領域の割当方法を示すフローチャートである。
図４に示すように、ＩＣカード１０の製造及び発行の責務を負うＡ社は、製造を依頼したカード製造会社からＩＣチップ１２付きのＩＣカード１０を受け取る（Ｓ１１０）。このＩＣカード１０のＲＯＭ１６には、ＯＳ及びＫＭＡの搭載証明書公開鍵ＰＫｋが書き込まれ、不揮発性メモリ１７のメモリ領域は分割されていない状態である。Ａ社は、先ず、このＩＣカード１０について０次発行を行い、ＯＳが動作する環境を整える。Ａ社は、ＫＭＡよりＡ社領域の制御情報についての搭載証明書Ｌｋ−ａと、Ｂ社領域及びＣ社領域のそれぞれの制御情報についての搭載証明書Ｌｋ−ｂ，Ｌｋ−ｃとを入手する（Ｓ１２０）。Ａ社は、Ａ社の搭載証明書公開鍵ＰＫａ、Ａ社に割り当てるメモリ領域のアドレス、容量などを含む制御情報と、ＫＭＡから入手した搭載証明書Ｌｋ−ａとを含み、制御情報の書き込みを要求する所定の命令をＩＣカード１０に送信し、制御情報の書き込みを行う（Ｓ１３０）。ＩＣカード１０の判定部１４１は、搭載証明書公開鍵ＰＫｋを用いて搭載証明書Ｌｋ−ａを復号し、正当性を判定する。正当性が確認できた場合には、受信した制御情報を有効なものとして不揮発性メモリ１７へ記憶し（有効化し）、Ａ社領域を確保する。制御情報の正当性を確認できない場合には、ＩＣカード１０は、この制御情報を削除し、外部装置へエラーのレスポンスを送信する。また、Ａ社は、同様にＢ社領域及びＣ社領域を確保し、ＩＣカード１０のメモリ領域は、Ａ社、Ｂ社及びＣ社に貸与された（割り当てられた）状態となる。
【００２７】
次にＡ社は、アプリをＩＣカード１０へ搭載する１次発行を行う。Ａ社は、自社向けのクレジットアプリ及びポイントアプリをそれぞれ、自社の搭載証明書秘密鍵ＳＫａで暗号化し、搭載証明書Ｌａ−１，Ｌａ−２を生成して、各アプリにこの搭載証明書を付してＩＣカード１０へ送信し、アプリの書き込みを行う（Ｓ１５０）。ＩＣカード１０の判定部１４１は、搭載証明書公開鍵ＰＫａを用いて搭載証明書Ｌａ−１，Ｌａ−２を復号し、受信したアプリが正当なものであるか否かを判定し、正当であると確認できた場合には、ＩＣカード１０は、アプリを有効なものとして不揮発性メモリ１７に記憶する。一方、アプリの正当性を確認できない場合には、ＩＣカード１０は、このアプリを削除し、エラーのレスポンスを送信する。
【００２８】
また、Ａ社は、他社のアプリを請負でＩＣカード１０へ搭載する。Ａ社は、１次発行の段階でチケットアプリをＩＣカード１０に搭載する依頼をＢ社から受けている。Ｂ社は、チケットアプリと、チケットアプリの特徴情報を自社の搭載証明書秘密鍵ＳＫｂで暗号化して作成した搭載証明書Ｌｂ−１とをＡ社に渡す（Ｓ１６０）。Ａ社は、自社のアプリと同様にＩＣカード１０にＢ社のチケットアプリの書き込みを行う（Ｓ１７０）。その後にアプリの実行に必要な個人情報などのデータを書き込む２次発行などを行い（Ｓ１８０）、発行されたＩＣカード１０は、顧客に送付される（Ｓ１９０）。
なお、ＩＣカード１０は、制御情報の正当性を確認した後に搭載証明書Ｌｋを削除してもよい。図３において表記しているが、その後に使用しても使用しなくともよい。また、不揮発性メモリ１７には、Ａ社、Ｂ社及びＣ社の割当メモリ領域以外に４ＫＢの空き領域ＶＡがあるが、この領域は、将来のための予備であり、同様に他社に割り当ててもよいし、ＫＭＡの搭載証明書公開鍵ＰＫｋを利用してアプリの搭載などを行ってもよい。
更に、発行後に制御情報の書き換えを行う場合には、新たな制御情報を含む所定の命令をＩＣカード１０へ送信し、ＩＣカード１０は、記憶しているＫＭＡの搭載証明書公開鍵ＰＫｋに基づいて、新たな制御情報について正当性を確認し、書き換えを行う。
【００２９】
一方、顧客（カード保有者）に送付されたＩＣカード１０のＡ社、Ｂ社及びＣ社の割当メモリ領域には、それぞれ未使用の空き領域がある。カード保有者は、Ｃ社に関連するアミューズメント施設を訪れた場合に、その窓口（端末）でアミューズメントアプリをＣ社領域に書き込むことができる。具体的には、Ｃ社の管理する端末がＣ社の搭載証明書秘密鍵ＳＫｃで暗号化された搭載証明書Ｌｃ−１を作成することによって、アミューズメントアプリをＣ社領域に搭載することが可能となる。Ａ社及びＢ社の空き領域についても同様である。
また、カード保有者は、アプリの搭載と同様に、必要であれば不要となったアプリを削除することが可能であるが、このアプリが記憶されている割当メモリ領域の発行者より削除証明書の交付を受けることが必要である（搭載と同様にこの発行者が管理する端末にて行うことも可能である。）。
【００３０】
このように、本実施形態によれば、ＩＣカード１０は、複数の発行者が信頼する第三者であるＫＭＡの搭載証明書公開鍵ＰＫｋに基づいて制御情報の正当性を判定するため、不正な制御情報を排除し、不正なアクセスを防止するとともに、Ａ社、Ｂ社及びＣ社による並列的な立場でのアプリの搭載、削除などの割当メモリ領域の利用を可能とし、利便性及びセキュリティ性を向上することが可能となった。
例えば、Ｂ社及びＣ社は、自己の発行したＩＣカードではないが、既に市中に出回っているＡ社のＩＣカード１０に、自社のアプリを追加でき、メリットが大きい。また、Ａ社がＢ社のアプリや搭載証明書Ｌｂ−１の改変を行った場合には、ＩＣカード１０が正当性を認めないため、たとえＡ社であってもＢ社のデータを改変できず、実際にＩＣカード１０を発行する者以外の他の発行者のデータの安全性を保障することができ、セキュリティ性を向上することが可能となった。
【００３１】
一方、ＩＣカード１０の発行を行うＡ社は、Ｂ社及びＣ社から割当メモリ領域の貸与に対する対価を得ることによって、単独でメモリ領域を利用する場合に比べて低いコストでＩＣカード１０を顧客に配布することが可能となった。
更に、ＩＣカード１０は、記憶しているＫＭＡの搭載証明書公開鍵ＰＫｋに基づいて正当性が確認できた制御情報に基づいてアクセスを制限するため、例えば、空き領域ＶＡをＤ社に貸与してこの領域についての制御情報を搭載するなど、いつでもＩＣカード１０に正当な制御情報を搭載することができ、利便性の向上を図ることが可能となった。また、ＫＭＡの搭載証明書公開鍵ＰＫｋを記憶しているため、制御情報の書き換えを搭載と同様に行うことができ、利便性の向上を図ることが可能となった。
更にまた、ＫＭＡの搭載証明書公開鍵ＰＫｋで正当性を確認した発行者の搭載証明書公開鍵ＰＫａ，ＰＫｂ，ＰＫｃに基づいてアプリの搭載及び削除を制限することによって、他社による割当メモリ領域へのアプリの搭載などの不正なアプリの搭載及び削除を防止するとともに、各発行者が搭載証明書Ｌｋを発行することによって自己の裁量でアプリの搭載及び削除を行うことができ、各発行者の利便性を向上することが可能となった。
【００３２】
（変形形態）
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、各実施形態において、ＩＣカード１０は、接触式のＩＣカードに限られず、非接触式又は接触式／非接触式兼用のＩＣカードであってもよく、通信方法は、限定されない。
【００３３】
制御情報、搭載するアプリなどの搭載証明書は、特徴情報を秘密鍵で暗号化したものであるが、これに限定されず、ＩＣカード１０内に記憶されている公開鍵を用いて復号を行い、情報の提供者が正当であること、情報が改竄されていないことなどの情報の正当性を確認することができればよい。従って、例えば、提供者又は信頼性のある第三者、つまり、ＩＣカード１０が識別可能な者の秘密鍵で情報を暗号化したものをＩＣカード１０へ送信してもよい。
【００３４】
図５は、本発明によるＩＣカードの変形形態を説明する図である。
図５（ａ）に示すように、Ｃ社が領域をＤ社に貸与し、ＩＣカード１０−２は、Ｄ社の公開鍵ＰＫｄ及びＤ社領域についての制御情報をＣ社領域で記憶し、Ｃ社がＤ社領域を管理し、Ｄ社によるアプリの搭載、削除を制限してもよい。Ａ社から貸与された領域を複数の者が階層的に利用することも可能である。
また、図５（ｂ）に示すように、ＩＣカード１０−３は、Ｃ社領域にＣ社及びＤ社の公開鍵ＰＫｃ，ＰＫｄを記憶し、Ｃ社の公開鍵ＰＫｃは、アプリの搭載のみの権限を有し、Ｄ社の公開鍵ＰＫｄは、削除のみの権限を有するとしてもよい。同一グループ内などのつながりの深い複数の発行者が領域の貸与を受け、制御情報が各社の役割などの関係に応じたアクセス権限を含み、各発行者によるこの割当メモリ領域へのアクセスを制限し、発行者の利便性を向上することが可能となる。特に、アプリの搭載及び削除の権限を複数の発行者に分けることによってセキュリティ性を向上することが可能である。
【００３５】
ＩＣカード１０は、制御情報の正当性を確認するためにＫＭＡの搭載証明書公開鍵ＰＫｋを記憶しているが、この暗号鍵の代わりにＫＭＡが機密保持状態で保持する共通鍵（ＤＥＳなどの共通暗号鍵方式で用いられる暗号鍵）を記憶し、この共通鍵で暗号化された制御情報を復号することによって、制御情報の正当性を確認してもよい。つまり、復号に用いることによって制御情報の正当性を確認することができる、利用者（Ａ社、Ｂ社及びＣ社）が信頼する第三者が機密保持状態で保持する暗号鍵と対になる暗号鍵であればよい。
また、ＩＣカード１０は、アプリの正当性を判定するために利用者の搭載証明書公開鍵ＰＫａ，ＰＫｂ，ＰＫｃを記憶しているが、同様に各利用者が機密保持状態で保持する共通鍵を記憶していてもよい。復号に用いることによってアプリの正当性を確認することができる、個々の利用者がセキュアに保持する暗号鍵と対になる暗号鍵であればよい。
【００３６】
更に、ＩＣカード１０は、制御情報に含まれている搭載証明書公開鍵ＰＫａ，ＰＫｂ，ＰＫｃに基づいて、各割当メモリ領域に対してのアプリの搭載、削除を制限するが、同様に他の情報の書き込み、書き換えを制限してもよい。
更にまた、ＩＣカード１０は、各割当メモリ領域に対応し、各利用者のみが知っているＰＩＮを命令元認証情報として制御情報に含めて記憶していてもよい。ＩＣカード１０は、記憶しているＰＩＮと外部から入力されたＰＩＮとを照合することによって外部から入力された命令の送信元（外部装置、外部装置の利用者など）が割当メモリ領域に対してこの命令を実行する正当な権限を有するか否かを判定することが可能である。
また、ＩＣカード１０が各割当メモリ領域について制限するアクセスの種類は、書き込み、書き換えに限られず、読み出しなど他の種類のアクセスを制限してもよい。更に、アクセスの種類毎にその命令を実行できる者を制限してもよい。
【００３７】
ＫＭＡの搭載証明書公開鍵ＰＫｋは、ＲＯＭ１６に記憶されているが、不揮発性メモリ１７に記憶されていてもよい。制御情報をＩＣカード１０に搭載する際にＩＣカード１０に記憶されていればよく、いずれのメモリが搭載証明書公開鍵ＰＫｋを記憶していてもよい。
【００３８】
【発明の効果】
以上詳しく説明したように、本発明によるＩＣカード及び／又はＩＣカードプログラムによれば、以下の効果を得ることが可能となった。
（１）ＫＭＡなどの複数の利用者が信頼する第三者の暗号鍵に基づいて正当性を確認した制御情報に基づいて各割当メモリ領域へのアクセスを制限することによって、不正な制御情報を排除し、各割当メモリ領域への不正なアクセスを防止するとともに、複数の発行者などの複数の利用者が並列的な立場での割当メモリ領域の利用を可能とし、利便性及びセキュリティ性を向上する。
（２）複数の利用者に割り当てられた複数の割当メモリ領域を有することによって、コストの低減を図る。
（３）外部から受信した制御情報について記憶している第三者の暗号鍵に基づいて正当性を判定することによって、不正な制御情報を排除するとともに、いつでもＩＣカードに正当な制御情報を搭載することを可能とし、セキュリティ性及び利便性の向上を図る。
（４）第三者の暗号鍵で正当性を確認した利用者の暗号鍵に基づいて各割当メモリ領域へのアクセスを制限することによって、例えば、不正なアプリケーションの搭載及び削除を防止するとともに、ＫＭＡによる搭載証明書（削除証明書）を必要とせずに利用者が自己の裁量で、アプリケーションの搭載及び削除を行うことを可能とし、各利用者の利便性を向上する。
（５）特に、アプリケーションの搭載又は削除にかかる命令について、利用者の暗号鍵を含む制御情報、及び、搭載証明又は削除証明書に基づいて正当性の判定を行うことによって、各利用者は、各割当メモリ領域において、自己の裁量でアプリケーションの搭載、削除を行う。
（６）命令元認証情報を制御情報に含んで記憶することによって、割当メモリ領域に対する各種アクセスについて制限を行うことができ、利便性及びセキュリティ性の向上を図る。
（７）一の割当メモリ領域へのアクセス権限を示すアクセス権限情報を制御情報に含んで記憶することによって、一の割当メモリ領域が複数の利用者に割り当てられた場合に、利用者毎にアクセス権限を設定し、利便性及びセキュリティ性の向上を図る。
【００３９】
また、本発明によるＩＣカードのメモリ領域の割当方法によれば、以下の効果を得ることが可能となった。
（１）利用者の信頼がある第三者の暗号鍵を利用して制御情報をＩＣカードへ送信することによって、簡易な方法によって、不正な制御情報を排除し、メモリ領域を分割し、利用者に正確に割り当てる。
（２）利用者の暗号鍵を含む制御情報が暗号化された暗号化制御情報をＩＣカードへ送信することによって、例えば、この利用者のみが割り当てられたメモリ領域においてアプリケーションの搭載、削除などを他の者の制限を受けずに自己の裁量で行うなど、セキュリティ性及び利便性の向上を図る。
【図面の簡単な説明】
【図１】本発明によるＩＣカードの実施形態を示すブロック図である。
【図２】不揮発性メモリに記憶されている情報を説明する図である。
【図３】本発明によるＩＣカードの通信機能を階層構造に分割して示した概略模式図である。
【図４】本発明によるＩＣカードの発行過程、本発明によるＩＣカードプログラム及び本発明によるＩＣカードのメモリ領域の割当方法を示すフローチャートである。
【図５】本発明によるＩＣカードの変形形態を示す概略模式図である。
【符号の説明】
１０  ＩＣカード
１１  通信部
１２  ＩＣチップ
１３  Ｉ／Ｏインターフェイス
１４  ＣＰＵ
１５  ＲＡＭ
１６  ＲＯＭ
１７  ＥＥＰＲＯＭ
１４１  判定部
【図１】
2004334542.tif 000003
【図２】
2004334542.tif 000004
【図３】
2004334542.tif 000005
【図４】
2004334542.tif 000006
【図５】
2004334542.tif 000007