(57)【特許請求の範囲】
【請求項１】
書き換え可能な不揮発性メモリと演算装置を備えたＩＣチップを内蔵し、複数のアプリケーションが不揮発性メモリに搭載可能なＩＣカードにおいて、
アプリケーションコードの再登録指示に対し、既登録コードの書き換え証明書をＩＣカード内部で作成し、外部で作成した書き換え証明書をロードして前記内部で作成した書き換え証明書を照合した後、コードの書き換えを行うことを特徴とするマルチアプリケーションＩＣカード。
【請求項２】
書き換え可能な不揮発性メモリと演算装置を備えたＩＣチップを内蔵し、複数のアプリケーションが不揮発性メモリに搭載可能なＩＣカードにおいて、
ロードされているアプリケーションコードの登録証明書をＩＣカード内部で生成し、生成した登録証明書を外部に読み出し、読みだした登録証明書に基づき認証局で発行された再登録証明書と修正コードとをＩＣカードにロードし、生成した登録証明書と再登録証明書とを照合した後、コード書き換えを行うことを特徴とするマルチアプリケーションＩＣカード。
【請求項３】
アプリケーションの登録後、登録証明書を削除することを特徴とする請求項１または２記載のマルチアプリケーションＩＣカード。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は複数のアプリケーションを１枚のＩＣカードに登録可能なマルチアプリケーションＩＣカードに関する。
【０００２】
【従来の技術】
アプリケーションはコード（プログラム）とデータとからなっており、コードとデータ部分をＩＣカード内の書き換え可能な不揮発性メモリ（ＥＥＰＲＯＭ，ＦＲＡＭ等）に複数登録可能であるとともに削除可能なＩＣカードにおいて、アプリケーションコードのバクやバージョンアップ等、コードのみ修正（書き換え）する場合、容易に修正可能とすると、不当なカード発行者やハッカーによりアプリケーションのデータ部分を覗き見るアプリケーションコードを作成し、既にＩＣカードに登録済みのアプリケーションコードの代わりに不当なアプリケーションコードをロードし、データ部分にある秘密鍵や個人情報等の機密データを取り出すことを許してしまう。
【０００３】
図５は不当なアプリケーションコードがロードされることを説明する概念図である。コード１、データ１からなるアプリケーション１（図５（ａ））のコードのバージョンアップのため、正当なカード発行者がコード１′に変更してアプリケーション１′（図５（ｂ））とすれば良いが、ハッカー等が不当なコード２を登録してアプリケーション１″（図５（ｃ））とした場合、不当にデータ１を読みだすことで機密データが第３者に漏洩する可能性がある。
【０００４】
【発明が解決しようとする課題】
複数のアプリケーションが搭載可能なマルチアプリケーションＩＣカードでは、アプリケーションのコードとデータは対であり、同時に登録および削除することで、他の登録済みアプリケーションから独立し、機密データの漏洩から守られている。このような方法でセキュリティを向上させることはできるが、アプリケーションコードの修正や改良を容易に行うことが難しくなり、コードのみ修正したい場合でもデータと共に削除し、改めて再登録することになってしまう。
【０００５】
この場合、使用しているＩＣカード内のデータ、例えば個人の情報や電子マネーの残高等が利用者により変更されているにもかかわらず、アプリケーションの削除と共にデータを削除するか、アプリケーションの変更を諦めるかのどちらかとなってしまう。
【０００６】
また、アプリケーションのコードとデータを同時に入れ換えれば、セキュリティは高くなるが、コードだけを修正するために、先の機密データを全て読み出し、コードと共に、データを再登録することになり、データを外に読みだすことでセキュリティが保たれなくなってしまう。
【０００７】
本発明は上記課題を解決するためのもで、既に登録済みのアプリケーションから正当な証明書を持つアプリケーションコードだけを再登録可能にすることを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、書き換え可能な不揮発性メモリと演算装置を備えたＩＣチップを内蔵し、複数のアプリケーションが不揮発性メモリに搭載可能なＩＣカードにおいて、アプリケーションコードの再登録指示に対し、既登録コードの書き換え証明書をＩＣカード内部で作成し、外部で作成した書き換え証明書をロードして前記内部で作成した書き換え証明書を照合した後、コードの書き換えを行うことを特徴とする。
また、本発明は、書き換え可能な不揮発性メモリと演算装置を備えたＩＣチップを内蔵し、複数のアプリケーションが不揮発性メモリに搭載可能なＩＣカードにおいて、ロードされているアプリケーションコードの登録証明書をＩＣカード内部で生成し、生成した登録証明書を外部に読み出し、読みだした登録証明書に基づき認証局で発行された再登録証明書と修正コードとをＩＣカードにロードし、生成した登録証明書と再登録証明書とを照合した後、コード書き換えを行うことを特徴とする。
また、本発明は、アプリケーションの登録後、登録証明書を削除することを特徴とする。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しつつ説明する。
図１は本発明のマルチアプリケーションＩＣカードの例を説明する図である。この例は、ＩＣカード内に登録証明書を保持しておき、コードの修正は登録証明書と再登録証明書の照合をクリアした後行われる。
ＩＣカード内に未登録のアプリケーションを登録する際に、コードとデータと登録証明書をＩＣカードにロードする。図示の例では、コード１、データ１、登録証明書１がロードされる（図１（ａ））。登録証明書１はデジタル署名と言われているもので、コード１のハッシュ値を暗号鍵を用いて暗号化することにより生成され、権威ある認証局より発行される。ＩＣカードはこれらコード、データ、登録証明書を不揮発性メモリ内に保持しておき、アプリケーション利用時には、コードにより実行された処理内容によってデータを更新していく。
【００１０】
コード部分に修正の必要が発生した場合には、修正したコード２と認証局より発行される再登録証明書２をＩＣカードにロードする（図１（ｂ））。ＩＣカードは登録証明書１と再登録証明書２とを照合して不正か否かの確認を行う。この確認は、ＩＣカードに保持されている登録証明書を生成するための暗号鍵を用いて行われる。正当であればコード２を再登録し、再登録証明書をコード２に対する登録証明書２として保持し、先の登録証明書１は削除する（図１（ｃ））。登録証明書２は、次にコードを変更する場合の登録証明書として利用される。このような処理において、認証局における再登録証明書の発行は、登録証明書１を必要とするので、アプリケーションの登録証明書を知るカード発行者等だけがコードの変更を行うことができるので、セキュリティを確保することができる。
【００１１】
図２は本発明のマルチアプリケーションＩＣカードの他の例を説明する図である。この例ではメモリ節約の観点から、登録完了後、登録証明書を消去するようにしている。
ＩＣカードに未登録のアプリケーションを登録する際に、コード１、データ１と登録証明書をロードした後、メモリ節約のために登録証明書を消去する（図２（ａ））。コードを修正する必要が生じた場合、ＩＣカードに対してコードの修正指示を与えると、ＩＣカード内のＯＳがコード１から書き換え証明書（登録証明書）を生成してコードの再登録準備を行う（図１（ｂ））。このＩＣカードに再登録のコード２と、コード２に基づき生成し認証局で発行された書き換え証明書１をＩＣカードにロードする（図１（ｃ））。ＩＣカードは登録済みのアプリケーションコードから生成した図１（ｂ）の書き換え証明書と、外部からロードされた図１（ｃ）の書き換え証明書１とを照合し、正当な場合にはコードの書き換えを行い、登録完了後、メモリ節約のため書き換え証明書（登録証明書）を削除する（図１（ｃ））。この処理において、アプリケーションコードと書き換え証明書の作成方法を知っているカード発行者、もしくはアプリケーションプロパイダーだけが証明書の作成が可能であり、正当性の確認を行うことができる。
【００１２】
図３は本発明のマルチアプリケーションＩＣカードの他の例を説明する図である。この例では、コード登録書（登録証明書）を認証局に送付して再登録証明書の発行を申請し、認証局ではコードの再登録依頼があったことを記録し、再登録証明書を発行するようにしている。
ＩＣカードに未登録のアプリケーションを登録する際に、コード１、データ１と登録証明書をＩＣカードにロードし、メモリ節約のために登録完了後登録証明書を削除する（図３（ａ））。コードを修正する必要が生じた場合、コード再登録のコマンド、もしくは証明書付きのコマンドによりＩＣカード内でコード登録書（登録証明書）を生成させて外部に読み出しコードの再登録準備を行う（図３（ｂ））。読み出したコード登録書は変更のコード（もしくは署名）と共に、認証局に送付して再登録証明書の発行を申請する。認証局では、コードの再登録依頼があったことを記録し、再登録証明書を発行する。カード発行者は変更のコードと再登録証明書をＩＣカードにロードし、ＩＣカード内において再登録証明書をコード登録書と照合し、正当であればコードの書き換えを行う（図３（ｃ））。登録完了後、メモリ節約のために登録証明書を削除する（図３（ｄ））。仮に、不正に書き換えが行われたことが分かれば認証局の履歴を紹介し、カードの使用を停止する。
〔実施例〕
以下に、図１のマルチアプリケーションＩＣカードについての実施例を説明する。図中、１はアプリケーションプロパイダー、２は認証局、３はカード発行者、４はＩＣカード、５はカード利用者を示している。
（１）アプリケーション・プロバイダーはアプリケーションのコードとデータを作成し、アプリケーションコード１（もしくはコードの署名）を認証局に登録する。
（２）ＩＣカード発行者はＩＣカードに登録したいアプリケーションを認証局に請求する。
（３）認証局はアプリケーションコード１、データ１、登録証明書１をＩＣカード発行者に送付する。
（４）ＩＣカード発行者はＩＣカードにコード１、データ１、登録証明書１をロードする。
（５）ＩＣカードは登録証明書１が正当であることを確認し、ＩＣカードとして利用可能なようにＩＣカード内に登録する。
（６）利用者はＩＣカードを利用できる。
（７）後にアプリケーションに不具合、もくしは仕様の変更等でコード１に修正が生じた場合、アプリケーション・プロパイダーはコード２を作成し、認証局に登録する。
（８）アプリケーション発行者は認証局にコード１を書き換えるコード２を請求する。
（９）認証局はアプリケーションコードに再登録証明書２をＩＣカード発行者に送付する。
（１０）ＩＣカード発行者はＩＣカード２、コード２、登録証明書１、再登録証明書２をロードする。
（１１）ＩＣカードは再登録証明書２がＩＣカード内部に登録済みの登録証明書１と比較して正当か否か確認する。再登録証明書２と共に、正当な場合はコード１をコード２に置き換えて再登録証明書２を登録証明書２として保持する。
（１２）利用者はデータ内容が維持されたままの状態で、ＩＣカードを利用できる。
【００１３】
【発明の効果】
以上のように、本発明によれば、既に登録済みのアプリケーションから正当な証明書を持つアプリケーションコードのみを再登録することが可能となり、高いセキュリティを維持しつつ、容易にアプリケーションコードの修正や改良を行うことができる。
【図面の簡単な説明】
【図１】  本発明のＩＣカードの例を説明する図である。
【図２】  本発明のＩＣカードの他の例を説明する図である。
【図３】  本発明のＩＣカードの他の例を説明する図である。
【図４】  本発明のＩＣカードの発行例を説明する図である。
【図５】  不当なアプリケーションコードがロードされることを説明する概念図図である。
【符号の説明】
１…アプリケーションプロパイダー、２…認証局、３…カード発行者、４…ＩＣカード、５…カード利用者。
【図１】
0004793673.tif 000002
【図２】
0004793673.tif 000003
【図３】
0004793673.tif 000004
【図４】
0004793673.tif 000005
【図５】
0004793673.tif 000006