(57)【要約】【課題】 書換え可能なメモリ容量の小さいマルチアプリケーションＩＣカードにおいても、セキュアに、ロードしたアプリケーションを更新することができるマルチアプリケーションＩＣカードを提供する。【解決手段】  マルチアプリケーションＯＳ２０は、ロードされたアプリケーション３０のアプリケーションコード部３１を更新するアプリケーション更新コマンド２２と、このコマンドＡＰＤＵを送信する端末装置を認証する端末装置認証コマンド２１とを備えている。そして、アプリケーション情報２３には、アプリケーション３０をロードしたときに更新用認証情報が書き込まれる。アプリケーションコード部３１を更新するときは、端末装置認証コマンド２１と更新用認証情報とを用いて端末装置を認証し、認証に成功した場合のみ、アプリケーション更新コマンド２２によって、アプリケーションコード部３１の上書きが可能になる。【選択図】      図３
2006293706.tif 000002
【特許請求の範囲】
【請求項１】
書換え可能なメモリにアプリケーションをロードする機能を備えたマルチアプリケーションＩＣカードであって、前記マルチアプリケーションＩＣカードにロードされた前記アプリケーションは、前記アプリケーションを識別するための情報であるアプリケーション識別情報と、前記アプリケーションを更新するときに認証される認証情報とを有し、前記マルチアプリケーションＩＣカードは、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域に、更新後の前記アプリケーションのプログラムコードを書き込むアプリケーション更新手段と、前記アプリケーションを更新するときに、前記認証情報を用いて、前記マルチアプリケーションＩＣカードと電気的に接続している端末装置を認証する端末装置認証手段とを備え、前記マルチアプリケーションＩＣカードは、前記アプリケーションが有する前記認証情報を用いて、前記端末装置認証手段による前記端末装置の認証に成功した場合にのみ、前記アプリケーション更新手段の実行を許可することを特徴とする更新機能を有するマルチアプリケーションＩＣカード。
【請求項２】
請求項１に記載のマルチアプリケーションＩＣカードにおいて、前記マルチアプリケーションＩＣカードに備えられた前記アプリケーション更新手段は、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域の一部にのみ、更新後の前記アプリケーションのプログラムコードを書き込む手段であることを特徴とするマルチアプリケーションＩＣカード。
【請求項３】
請求項１または請求項２に記載のマルチアプリケーションＩＣカードにおいて、更新後の前記アプリケーションのプログラムコードを記憶する前記メモリの領域が、更新前の前記アプリケーションのプログラムコードが記憶される前記メモリの領域を超えるときは、前記マルチアプリケーションＩＣカードに備えられた前記アプリケーション更新手段は実行されないことを特徴とするマルチアプリケーションＩＣカード。
【請求項４】
請求項１から請求項３のいずれかに記載のマルチアプリケーションＩＣカードにおいて、更新後の前記アプリケーションのプログラムコードを記憶する前記メモリの領域が、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域よりも小さいときは、前記マルチアプリケーションＩＣカードに備えられた前記アプリケーション更新手段は、前記更新前のアプリケーションのプログラムコードが記憶されている前記メモリの領域において、更新後の前記アプリケーションのプログラムコードが記憶されない領域に記憶されたデータを消去することを特徴とするマルチアプリケーションＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のアプリケーションを書換え可能なメモリに実装できるマルチアプリケーションＩＣカードに関し、更に詳しくは、実装したアプリケーションを更新する機能を備えたマルチアプリケーションＩＣカードに関する。
【背景技術】
【０００２】
ＩＣカードとは、クレジットカードサイズのプラスチックカードにＩＣチップを埋め込み、このＩＣチップのメモリにデータを記録するカードである。近年、ＩＣカードはキャッシュカード、クレジットカードまたは電子マネーなどに幅広く応用されている。
【０００３】
従来、ＩＣカードには用途ごとに単一のソフトウェア、すなわちアプリケーションを読み出し専用メモリ（Read Only Memory 、以下ＲＯＭと記す）に実装することが主流であったため、一枚のＩＣカードは単一の機能しか持たず、用途ごとにＩＣカードが必要であった。このため、利用者側は複数枚のＩＣカードを常に所持する必要があり大変不便であった。この問題を解消すべく、現在は一枚のＩＣカードに複数のアプリケーションを組み込むことができるマルチアプリケーション型ＩＣカードが主流になりつつある。
【０００４】
マルチアプリケーション型ＩＣカードとは、複数のアプリケーションを書き換え可能なメモリに実装することができるＩＣカードで、ＩＣチップが備えているＲＯＭに基本処理を行うマルチアプリケーションオペレーティングシステム（Operating System、以下ＯＳと記す）を実装し、同じくＩＣチップが備えている電気的に消去・書き換えができるＲＯＭ（Electrically Erasable Programmable Read Only Memory、以下ＥＥＰＲＯＭと記す）等の書き換え可能なメモリに一つまたは複数のアプリケーションをロードする。
【０００５】
しかし、ＥＥＰＲＯＭにロードしたアプリケーションを修正する場合や、アプリケーションをバージョンアップする場合など、ＥＥＰＲＯＭにロードしたアプリケーションを更新するときに、新しいアプリケーションをＥＥＰＲＯＭにロードしてしまうと、これまでに使用されていたアプリケーションのデータが利用できなくなる問題がある。
【０００６】
このため、本出願人は既に特許文献１において、新しいアプリケーションをＥＥＰＲＯＭにロードしてアプリケーションを更新した後でも、更新前のこのアプリケーションのデータが利用できるＩＣカードを開示している。
【０００７】
特許文献１によれば、セキュリティを確保しつつ、アプリケーションの更新が行え、かつ、更新前のアプリケーションのデータを利用できるＩＣカードを提供できるが、更新後のアプリケーションコードをすべてＥＥＰＲＯＭにロードした後に、更新前のアプリケーションコードをすべて削除するため、サイズの大きなアプリケーションを更新するときには短時間で更新処理できなかったり、ＥＥＰＲＯＭのメモリ容量の制約から、サイズの大きなアプリケーションを更新することができないといった問題がある。
【特許文献１】特開２００３−３２３５９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで、本発明は、セキュリティを確保しつつアプリケーションの更新が行え、更新後においても更新前のアプリケーションのデータを利用できるＩＣカードにおいて、アプリケーションを更新するときに使用するメモリ容量が小さくてすみ、かつ、アプリケーションの更新を短時間で行うことができるＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決する本発明は、書換え可能なメモリにアプリケーションをロードする機能を備えたマルチアプリケーションＩＣカードであって、前記マルチアプリケーションＩＣカードにロードされた前記アプリケーションは、前記アプリケーションを識別するための情報であるアプリケーション識別情報と、前記アプリケーションを更新するときに認証される認証情報とを有し、前記マルチアプリケーションＩＣカードは、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域に、更新後の前記アプリケーションのプログラムコードを書き込むアプリケーション更新手段と、前記アプリケーションを更新するときに、前記認証情報を用いて、前記マルチアプリケーションＩＣカードと電気的に接続している端末装置を認証する端末装置認証手段とを備え、前記マルチアプリケーションＩＣカードは、前記アプリケーションが有する前記認証情報を用いて、前記端末装置認証手段による前記端末装置の認証に成功した場合にのみ、前記アプリケーション更新手段の実行を許可することを特徴とする更新機能を有するマルチアプリケーションＩＣカードである。
【００１０】
更に、本発明の更新機能を有するマルチアプリケーションＩＣカードにおいて、前記マルチアプリケーションＩＣカードに備えられた前記アプリケーション更新手段は、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域の一部にのみ、更新後の前記アプリケーションのプログラムコードを書き込む手段であることが望ましい。
【００１１】
更に、本発明の更新機能を有するマルチアプリケーションＩＣカードにおいて、更新後の前記アプリケーションのプログラムコードを記憶する前記メモリの領域が、更新前の前記アプリケーションのプログラムコードが記憶される前記メモリの領域を超えるときは、前記マルチアプリケーションＩＣカードに備えられた前記アプリケーション更新手段は実行されないことが望ましい。
【００１２】
更に、本発明の更新機能を有するマルチアプリケーションＩＣカードにおいて、更新後の前記アプリケーションのプログラムコードを記憶する前記メモリの領域が、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域よりも小さいときは、前記マルチアプリケーションＩＣカードに備えられた前記アプリケーション更新手段は、前記更新前のアプリケーションのプログラムコードが記憶されている前記メモリの領域において、更新後の前記アプリケーションのプログラムコードが記憶されない領域に記憶されたデータを消去することが望ましい。
【００１３】
本発明の更新機能を有するマルチアプリケーションＩＣカードによれば、前記マルチアプリケーションＩＣカードが、前記アプリケーション更新手段を備えることで、更新前の前記アプリケーションが記憶されている前記メモリの領域を使用して、前記アプリケーションの更新が行える。また、前記マルチアプリケーションＩＣカードが前記端末装置認証手段を備えることで、セキュアに前記アプリケーションの更新が行える。
【００１４】
加えて、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域の一部に、更新後の前記アプリケーションのプログラムコードを書き込むことで、更新前の前記アプリケーションのプログラムコードを再利用できるため、更新時間を短縮することができる。
【００１５】
加えて、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの領域のサイズが、更新後の前記アプリケーションのプログラムコードが記憶される前記メモリの領域のサイズを超えることを確認することで、他の前記アプリケーションが破壊されることを防ぐことができる。また、前記アプリケーションを更新した後に、更新前の前記アプリケーションのプログラムコードが記憶されている前記メモリの未使用領域を消去することで、未使用の領域のプログラムコードが実行されることによる誤動作を防ぐことができる。
【発明の効果】
【００１６】
上述した本発明によれば、セキュリティを確保しつつアプリケーションの更新が行え、更新後においても更新前のアプリケーションのデータを利用できるＩＣカードにおいて、アプリケーションを更新するときに使用するメモリ容量が小さくてすみ、かつ、アプリケーションの更新を短時間で行うことができるＩＣカードを提供できる。
【発明を実施するための最良の形態】
【００１７】
ここから、図を参照しながら、本発明に係る更新機能を有するマルチアプリケーションＩＣカード１０について詳細に説明する。図１はマルチアプリケーションＩＣカード１０を説明する図、図２はマルチアプリケーションＩＣカード１０に実装されるＩＣチップ１１のハードウェア構成図である。
【００１８】
図１はマルチアプリケーションＩＣカード１０の斜視図で、マルチアプリケーションＩＣカード１０はキャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにＩＣチップ１１がエンベットされたカードで、本実施の形態においてマルチアプリケーションＩＣカード１０は接触型ＩＣカードとしている。
【００１９】
なお、本実施の形態においてはマルチアプリケーションＩＣカード１０を接触型ＩＣカードとしているが、マルチアプリケーションＩＣカード１０はアンテナコイルを内蔵し無線でリーダライタとデータ通信する非接触型ＩＣカード、または接触によるデータ通信と非接触によるデータ通信の２つの通信機能を兼ね備えたデュアルインターフェース型ＩＣカードであってもよい。
【００２０】
図２はマルチアプリケーションＩＣカード１０に実装されるＩＣチップ１１のハードウェア構造図である。ＩＣチップ１１には、中央演算装置１１０（Central Processing Unit、以下ＣＰＵと記す）、読み出し専用メモリ１１１（Read Only Memory、以下ROMと記す）、書換え可能なメモリとしてＥＥＰＲＯＭ１１２（Electrically Erasable Programmable Read-Only Memoryの略）、揮発性メモリとしてランダムアクセスメモリ１１３（Random Access Memory、以下ＲＡＭと記す）および図外の外部端末とデータを通信するためのＩ／Ｏ回路１１４をなどが備なえられている。
【００２１】
なお、本発明は、ＩＣチップ１１の仕様を限定するものではなく、マルチアプリケーションＩＣカード１０の用途に適した仕様のＩＣチップを選択することができる。例えばＲＯＭ１１１およびＥＥＰＲＯＭ１１２の容量については限定しないし、書換え可能なメモリは強誘電体メモリまたはフラッシュメモリ等のＥＥＰＲＯＭ以外のメモリであっても構わない。またＩＣチップ１１はタイマー回路、暗号演算回路またはコプロセッサ回路等の図示していない他のデバイスを備えていても構わない。
【００２２】
図３は、ＩＣカードのソフトウェアブロック図である。図３に示したように、マルチアプリケーションＩＣカード１０にはソフトウェアとして、マルチアプリケーションＯＳ２０とアプリケーション３０とが記憶されている。なお、図３では、マルチアプリケーションＩＣカード１０にロードされたアプリケーション３０は一つとしているが、複数のアプリケーション３０をロードした場合でも、本発明を適用することができる。
【００２３】
マルチアプリケーションＯＳ２０とは、アプリケーション３０をＥＥＰＲＯＭ１１２へロードするアプリケーションロード機能、ＥＥＰＲＯＭ１１２にロードしたアプリケーション３０を選択するアプリケーション選択機能、ならびにＩ／Ｏ回路１１４を制御し、図外の端末装置と通信する伝送制御機能等などのマルチアプリケーションＩＣカード１０が動作するため必要な基本機能を備えたプログラムで、マルチアプリケーションＯＳ２０のプログラムコードはＲＯＭ１１１に実装され、マルチアプリケーションＯＳ２０が使用するデータはＥＥＰＲＯＭ１１２に記憶される。
【００２４】
加えて、本発明に係る機能を実現するために、マルチアプリケーションＯＳ２０は、プログラムとして、新しいプログラムコードを書き込む手段としてアプリケーション更新コマンド２２と、アプリケーション更新コマンドＡＰＤＵ（Application Protocol Data Unit）を送信する端末装置を認証する手段である端末装置認証コマンド２１とを備え、データとして、端末装置認証コマンド２１が使用する認証情報である更新用認証情報を含み、ＥＥＰＲＯＭ１１２にアプリケーション３０をロードしたことを示すアプリケーション情報２３を記憶している。
【００２５】
マルチアプリケーションＯＳ２０のアプリケーションロード機能によってＥＥＰＲＯＭ１１２にロードされるアプリケーション３０とは、ある特定の用途（例えば、金融決済用途）のために設計されたプログラムで、アプリケーション３０は、アプリケーション３０で使用されるコマンドを記憶するアプリケーションコード部３１と、アプリケーション３０で使用されるデータを記憶するアプリケーションデータ部３２とを有している。
【００２６】
なお、アプリケーション３０の更新を考慮し、アプリケーション３０のプログラムコードにダミーデータを付加するなどして、最初にロードするアプリケーション３０のプログラムコードのサイズよりも、アプリケーションコード部３１のサイズを大きくすることが望ましい。
【００２７】
アプリケーション３０がＥＥＰＲＯＭ１１２にロードされるごとに、マルチアプリケーションＯＳ２０によって、上述したアプリケーション情報２３が生成され、ＥＥＰＲＯＭ１１２に記憶される。このアプリケーション情報２３には、ロードしたアプリケーション３０を識別するための情報であるアプリケーション識別情報と、端末装置認証コマンド２１によって使用される認証情報である更新用認証情報と、アプリケーション３０をＥＥＰＲＯＭ１１２にロードしたアドレスを示すアプリケーションアドレス情報が含まれる。なお、アプリケーションアドレス情報には、アプリケーションコード部３１のアドレスとアプリケーションデータ部３２のアドレスが、少なくとも記憶される。
【００２８】
ここから、図４を用いて、アプリケーション３０が更新されるときの、マルチアプリケーションＩＣカード１０の動作について説明する。図４はアプリケーション３０を更新するときの手順を示したフロー図である。
【００２９】
アプリケーション３０を更新する前のＥＥＰＲＯＭ１１２には、アプリケーション３０が既にロードされ、このアプリケーション３０は、図３に示したようにアプリケーションコード部３１とアプリケーションデータ部３２とを有する。また、アプリケーション３０がＥＥＰＲＯＭ１１２にロードされたことを示すアプリケーション情報２３が、マルチアプリケーションＯＳ２０によって生成され、マルチアプリケーションＯＳ２０が使用するＥＥＰＲＯＭ１１２の領域に記憶されている。
【００３０】
アプリケーション３０を更新する最初のステップＳ１０は、更新されるアプリケーション３０が選択されるステップである。このステップでは、ＩＳＯ７８１６規格に記述されているＳＥＬＥＣＴコマンドＡＰＤＵ（Application Protocol Data Unit）などで、更新するアプリケーション３０のアプリケーション識別情報が、端末装置からマルチアプリケーションＩＣカード１０に送信され、更新されるアプリケーション３０が選定される。
【００３１】
次のステップＳ１１は、マルチアプリケーションＩＣカード１０が、端末装置認証コマンド２１と、端末装置から送信されたアプリケーション識別情報を有するアプリケーション情報２３に含まれる更新用認証情報とを用いて、マルチアプリケーションＩＣカード１０と電気的に接続している端末装置を認証するステップである。
【００３２】
この端末装置認証コマンド２１は、例えば、ＩＳＯ７８１６規格に記述されている外部装置認証コマンド（External Authentication Command）と乱数生成コマンド（Generate Random Number Command）によって実現することができる。
【００３３】
マルチアプリケーションＩＣカード１０が端末装置の認証に成功すると、マルチアプリケーションＩＣカード１０は端末装置の認証に成功したことを示すレスポンスＡＰＤＵを端末装置に返信し、アプリケーション３０の更新が行える状態に設定する。また、端末装置の認証に失敗すると、端末装置の認証に失敗したことを示すレスポンスＡＰＤＵを端末装置に返信し、アプリケーション３０を更新する手順を終了する（ステップＳ１２）。
【００３４】
次に実行されるループＬ１は、更新されるアプリケーション３０のプログラムコードがすべてＥＥＰＲＯＭ１１２に書き込まれるまで、繰り返し実行されるループである。ループ１の最初のステップＳ１３は、更新後のアプリケーション３０のプログラムコードを含むアプリケーション更新コマンドＡＰＤＵが、端末装置からマルチアプリケーションＩＣカード１０に送信されるステップである。このアプリケーション更新コマンドＡＰＤＵには、選択されたアプリケーション３０のアプリケーションコード部３１に上書きするプログラムコードと、プログラムコードを上書きするＥＥＰＲＯＭ１１２のアドレス（例えば、ページ番号）とが含まれる。
【００３５】
次のステップＳ１４は、マルチアプリケーションＩＣカード１０に備えられたアプリケーション更新コマンド２２が、ステップＳ１３で受信したプログラムコードを上書きするアドレスが、更新するアプリケーション３０に対応するアプリケーション情報に記述されたアプリケーションコード部３１のアドレス内であることを確認するステップである。
【００３６】
ステップＳ１３で受信したプログラムコードを上書きするアドレスが、このアプリケーションコード部３１のアドレス内であればステップＳ１６に進み、アプリケーションコード部３１外であれば、アプリケーション更新コマンドの実行を中止するレスポンスＡＰＤＵを送信し、この手順を終了する（ステップＳ１５）。
【００３７】
次のステップＳ１６は、マルチアプリケーションＩＣカード１０に備えられたアプリケーション更新コマンド２２が、ステップＳ１３で受信したプログラムコードを書き込むアドレスに、同じく受信したプログラムコードを書き込むステップである。そして、マルチアプリケーションＩＣカード１０は、受信したプログラムコードを正常に書き込んだことを示すレスポンスＡＰＤＵを端末装置に返信する。このステップＳ１６をもってループ１は終了し、すべての更新するアプリケーション３０のプログラムコードを書き込むと、アプリケーション３０を更新するときの手順は終了する。
【００３８】
なお、更新後のアプリケーション３０のプログラムコードを記憶するＥＥＰＲＯＭ１１２の領域が、更新前の前記アプリケーション３０のプログラムコードが記憶されているＥＥＰＲＯＭ１１２の領域よりも小さいときは、マルチアプリケーションＯＳ２０は、更新前のアプリケーション３０のプログラムコードが記憶されている前記メモリの領域において、未使用となった領域に記憶されたデータを消去することが望ましい。
【００３９】
ここから、図５を用いて本発明の効果について説明する。図５は、アプリケーション３０を更新する時のアプリケーションコード部３１の状態を説明する図である。図５（ａ）において、アプリケーションコード部３１の斜線部３０１のみを変更するときは、斜線部３１１ａに上書きするプログラムコードが、アプリケーション更新コマンドＡＰＤＵによって、端末装置からマルチアプリケーションＩＣカード１０に送信される。マルチアプリケーションＩＣカード１０は、上述した手順で、斜線部３１１ａに、アプリケーション更新コマンドＡＰＤＵで送信されるプログラムコードを上書きすることで、図５（ａ）の斜線部３１１ａのプログラムコードは、図５（ｂ）の網掛け部３１１ｂのプログラムコードに更新される。
【００４０】
図５で示したように、本発明の更新機能を有するマルチアプリケーションＩＣカード１０によれば、アプリケーション３０を更新するときに、アプリケーションコード部３１以外のＥＥＰＲＯＭ１１２の領域を使用しないため、アプリケーション３０の更新時に使用するメモリ容量を小さくすることができる。
【００４１】
また、本発明によれば、アプリケーション３０のプログラムコードの一部のみを更新することも可能であるため、アプリケーション３０すべてを更新する必要はなくなるため、アプリケーション３０を更新する時間を短縮することができる。加えて、アプリケーションコード部を更新、アプリケーションデータ部３２は更新されないため、アプリケーション３０を更新した後も、更新前のデータを使用することができる。
【図面の簡単な説明】
【００４２】
【図１】マルチアプリケーションＩＣカードの斜視図。
【図２】ＩＣチップのハードウェア構成図。
【図３】マルチアプリケーションＩＣカードのソフトウェアブロック図。
【図４】アプリケーションを更新するときの手順を示したフロー図。
【図５】更新時のアプリケーションコード部の状態を説明する図。
【符号の説明】
【００４３】
１０  マルチアプリケーションＩＣカード
１１  ＩＣチップ
１１２  ＥＥＰＲＯＭ
２０  マルチアプリケーションＯＳ
２１  端末装置認証コマンド
２２  アプリケーション更新コマンド
２３  アプリケーション情報
３０  アプリケーション
３１  アプリケーションコード部
３２  アプリケーションデータ部
【図１】
2006293706.tif 000003
【図２】
2006293706.tif 000004
【図３】
2006293706.tif 000005
【図４】
2006293706.tif 000006
【図５】
2006293706.tif 000007