JP2012027929A - スマートカード上の内部アプリケーションのローディング - Google Patents

スマートカード上の内部アプリケーションのローディング Download PDF

Info

Publication number
JP2012027929A
JP2012027929A JP2011189667A JP2011189667A JP2012027929A JP 2012027929 A JP2012027929 A JP 2012027929A JP 2011189667 A JP2011189667 A JP 2011189667A JP 2011189667 A JP2011189667 A JP 2011189667A JP 2012027929 A JP2012027929 A JP 2012027929A
Authority
JP
Japan
Prior art keywords
smart card
memory
code
executable
program code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011189667A
Other languages
English (en)
Inventor
Agami Michal
アガミ、ミシャエル
Dani Darier
ダリエル、ダニ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Priority to JP2011189667A priority Critical patent/JP2012027929A/ja
Publication of JP2012027929A publication Critical patent/JP2012027929A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ポータブルスマートカード装置、スマートカード装置を使用してプログラムコードを実行する方法、及びスマートカード装置への命令を含むコンピュータ可読記憶媒体を得る。
【解決手段】スマートカード装置は、スマートカード機能をホストシステムに提示するとともに、プログラム実行コマンドをホストシステムから受け取るためのインタフェース、不揮発性メモリ、実行可能メモリ、プログラムコードを不揮発性メモリから実行可能メモリにコピーする内部コピーメカニズム等のコピーメカニズム、およびプログラムコードを実行するプログラム実行メカニズムを含む。適当なインタフェースとしては、ISO7816準拠インタフェース、USBインタフェース、およびMMCインタフェースが挙げられる。スマートカード機能はSIM機能および/またはUSIM機能を含む。任意に、コピーされた実行可能コードの部分のみが実行可能メモリにあるときに、プログラムコードの実行が開始される。
【選択図】図4

Description

本発明はスマートカード装置に関し、特に、不揮発性メモリに記憶されているアプリケーションコードを実行するように動作可能なスマートカード装置に関する。
<スマートカード装置>
本明細書において「スマートカード」なる用語は、都合よく携帯でき、特に許可された外部装置と安全にインタフェースし、かつデータを交換することが可能な能動的内部ロジックデバイスを含む任意の装置を示す。スマートカードは、「集積回路カード」または「チップカード」と呼ばれることもある。一般に、スマートカードは、メモリ、関連するロジックメモリを有するマイクロコントローラ、および実行可能コードを含む。
多くのスマートカード装置の1つの目立つ特徴は、オペレーティングシステムおよびセキュリティロジックにより制御されるインタフェースへのアクセスを制限することにより、記憶されたデータを不正アクセスおよび操作から保護できることである。このため、データがスマートカード外部の装置から常に読み出されないように機密データをスマートカードに書き込み、記憶することができる。国際標準化機構(ISO)が、ISO7816標準群等のスマートカード向けの機械的および電気的な仕様を公開している。集積回路カードの標準に基づくスマートカードは、一般に、妥当な場合にはそれに準拠するが、そこに必ずしも記載されていない特徴も含む。スマートカードは、一般に、含まれるメモリ量により、集積回路(IC)、複雑な処理に対応する能力、暗号化方式、電気的インタフェース、および機械的なレイアウトで区別される。
スマートカードを適用できる目的としては、公衆電話カード、店頭(POS)端末および現金自動預払機(ATM)で使用される銀行カード、セットトップボックスでの有料放送テレビ、および加入者識別モジュール(SIM)カードをGSM(Global System for Mobile)端末で実施している無線テレコム操作者が挙げられるが、これらに限定されない。SIMカードは、(a)小型フォームファクタ、(b)電源が切られた状態で一回だけ設置されること、および(c)、商業的重要性により特に関心が高い。汎用移動体通信システム(UMTS)が第三世代(3G)欧州携帯電話技術として導入されることに伴い、USIM(UMTS加入者識別モジュールまたは汎用加入者識別モジュール)と呼ばれるSIMカードの新しいバージョンがUMTS移動体ネットワークに導入されている。USIMカードは、UMTS加入操作者ネットワークにアクセスできるようにする関連情報を含む。SIMカードおよびUSIMカードは両方ともスマートカードカテゴリに入る。
携帯電話とのスマートカードの併用は、スマートカードの国際的な普及を促進するに当たり、特に重要であった。GSM電話はスマートカードをアクセス媒体として利用し、その理由は、部分的には、スマートカードでは携帯電話ネットワークにアクセスする際に高度のセキュリティの実現が可能なこと、および部分的には、ネットワーク操作者およびサービスプロバイダが電話とサービスとを個別に販売できることから、スマートカードが携帯電話のマーケティングに当たり新しい可能性ひいては主要な利点を提供することである。
図1は、従来技術によるスマートカード構造の例を示す。カード(4)は、ホストシステムを接続するための、ISO標準により規定される1組のピン(1)を含み、ピン(1)は、クロック、データ転送のためのデータ信号、リセット信号、および電源ピンを含む。CPU(3)が、バスインタフェース(2)を介してピン(1)に接続される。CPU(3)は、実行可能コードを記憶するROM(7)のエリアおよび主に構成可能データ(例えば、秘密暗号鍵)の記憶に使用されるEEPROMコンポーネント(6)にアクセスすることができる。大量のデータおよび/または要求の厳しいアプリケーションをサポートするために、フラッシュメモリの形でメモリ容量の増強を提供することもできる。
図2Aは、従来技術によるISO準拠スマートカード(41)およびカードとのインタフェースに使用される8つの端子(40)の組の機械的なレイアウトを示す。ISO標準には5本ピンしか規定されていないが、3本のピンが追加されて、将来使用するために確保される。
図2Bは、従来技術によるSIMカードまたはUSIMカードの物理的なフォームファクタを示す。
ISOインタフェースの他に、他のスマートカードインタフェースが規定されている。これら追加のインタフェースは、通常、高速データ転送を提供し、主に大容量メモリカードと併せて使用されるためのものである。典型的なスマートカードインタフェースとしては、セキュアデジタル(SD)、マルチメディアカード(MMC)、および無線/コンタクトレスインタフェースが挙げられるが、これらに限定されない。最近、汎用シリアルバス(USB)が、スマートカード向けの別の潜在的なインタフェースとして示唆されている。新しいインタフェースは、確保されているISOピンを使用するか、またはISO標準ピンに加えて、またはこれに代えて新しいピンセットを規定する。
図3は、従来技術による高度スマートカードの例示的な構造を示す。この例では、2つの内部バス(14)および(15)により、標準ISOインタフェース(10)を介してCPU(13)へ、および二次USBインタフェース(11)を使用してフラッシュメモリモジュール(18)への独立アクセスが可能である。ROM(9)が、オペレーティングシステムおよびアプリケーションコードの記憶に使用される。
別個のバスインタフェース(16)および(17)により、カードリソースへの独立アクセスが可能である。この構造の下では、2つの別個のアプリケーションがカードに独立してアクセスすることができる。例えば、MP3プレーヤが一体化された携帯電話が、USBバス(11)を介して内部フラッシュメモリにアクセスして音楽データにアクセスすることができ、その間に、セルラローミングアプリケーションが、ISOバス(10)を使用してSIM機能からのローミング関連情報にアクセスすることができる。
近代のスマートカードのオペレーティングシステムでは、ユーザへのカード発行後、新しいアプリケーションをカードにアップロードすることが可能である。本明細書における「発行者」なる用語は、スマートカードを特定の目的(複数可)で配布する任意のエンティティを示す。本明細書における「ユーザ」なる用語は、特定のスマートカードを使用する、または使用しようとする任意の人を指す。本明細書における「認可ユーザ」なる用語は、許可が与えられている人、または特定の目的あるいは目的の組でのスマートカードの使用が「認可」されている人を指す。多くの場合、スマートカードの認可ユーザはスマートカードの所有者であるが、所有者と認可ユーザが同じである必要はない。
これら近代のスマートカードオペレーティングシステムにより提供される新しい柔軟性が、全く新しい応用分野を開く。例えば、インターネット商取引および支払いで不可欠なパーソナルセキュリティモジュールが、スマートカードの使用を通して信用できるものになる。こういったセキュリティモジュールは、個人鍵を安全に記憶し、高性能暗号アルゴリズムを実行することができる。セキュリティ関連タスクは、暗号コプロセッサを有するマイクロプロセッサによりエレガントに行うことができる。
スマートカード内に提供されるメモリ量は、新技術が導入されて、大容量メモリを小型ダイ上に製造できるようになったことから増大している。メモリ技術の強化により、スマートカードは、大容量フラッシュメモリをカード自体に組み込むことにより、より多くのアプリケーションをサポートすることが可能になっている。
マルチメディア機能を増強させた携帯端末が利用可能になるにつれ、かつサービスプロバイダが広帯域携帯サービスの実施を開始するにつれて、安全でスケーラブル、かつ構成可能な大容量ストレージへのニーズが高まりつつある。高度大容量(U)SIMカードの一例が、Mシステムズ(M−Systems')(カリフォルニア州ニューアーク)のMegaSIM(商標)カードモジュールである。MegaSIMを用いて、(U)SIMカードベンダーは、MMS、MP3、およびビデオクリップのダウンロード、完全な個人情報管理(PIM)機能、ならびに高解像度画像ストレージ等の種々の高度なモバイルサービスを可能にする(U)SIMカードを携帯操作者カスタマに提供することができる。
大量のメモリを要求する新しいアプリケーションの出現に伴い、ハイエンド携帯電話は、こういったアプリケーションが必要とするデータを保持するメモリカード専用のインタフェースを提供し始めている。典型的なアプリケーションとしては、静止画像および/またはビデオクリップ、MP3ファイル、およびマルチメディアメッセージングサービス(MMS)メッセージの記憶に大量のメモリを必要とする一体型カメラが含まれる。これまで、メモリカードは数メガバイト(MB)のメモリを提供し、(U)SIMカードはたった数キロバイト(KB)しか提供していなかった。数メガバイトのメモリを含むMegaSIMの導入に伴い、高度アプリケーションは(U)SIMカードをレガシー使用ならびにマルチメディア装置およびアプリケーションの大量のデータの記憶の両方に利用することができる。
まとめると、スマートカードで実行される高度オペレーティングシステムの出現、デジタル静止画像またはビデオ映像(MPEGファイル)、音楽(MP3ファイル)、ゲーム等のマルチメディアアプリケーションの出現、ならびにスマートカードへのより大容量のメモリの必要性により、移動体ネットワーク操作者およびサービスプロバイダに種々の新しい機会が開かれる。
<スマートカード装置を使用しての実行可能コードの実行>
多くの大容量メモリカードでは、提供されるメモリの大半は、NANDフラッシュ技術に基づいた非XIP(eXecute In Place)フラッシュメモリである。この種類のメモリは、EEPROMまたはNORフラッシュ技術に基づく典型的な不揮発性XIPメモリよりもはるかに安価かつ高密度であり、より高い書き込み/消去性能を提供する。
現在、実行可能コードはROMに記憶されるか、またはNORフラッシュ技術に基づくフラッシュメモリに埋め込まれ、これらは両方ともコードを直接実行することが可能である。したがって、非XIPフラッシュメモリを使用すると、オンボードプロセッサがNANDフラッシュ技術に基づいた内部大容量メモリストレージからコードを直接実行することが妨げられる。このメモリストレージエリアに常駐するアプリケーションを実行するには、アプリケーションコードを非XIPフラッシュメモリエリアからXIPメモリエリアにコピーしなければならない。コードを移動するには、外部装置またはホスト装置を通しての外部コピーが必要であり、外部装置がコードを読み取り、そしてスマートカード内の実行可能メモリエリアにそのコードを再び書き込む。このコピーメカニズムは、スマートカードインタフェースを介してデータを転送し、これは、不都合なことに、比較的低速性能を暗示する。さらに、上記メカニズムは、実行可能コードを外部スマートカードインタフェース上で露出させ、非XIPメモリからXIPメモリに転送されている間、コードはモニタおよび/またはコピーに曝される。
スマートカード装置の不揮発性メモリに記憶された実行可能コードを実行する高性能で安全なスマートカード装置に対する継続したニーズがある。
上記ニーズは、本発明のいくつかの態様により満たされる。
これより、ホストシステムからコマンドを受け取るとプログラムコードを実行するポータブルスマートカード装置を初めて開示する。ここに開示するスマートカード装置は、スマートカード機能をホストシステムに提示するとともに、ホストシステムからコマンドを受け取るための少なくとも1つのインタフェースと、プログラム実行前にプログラムコードを記憶する不揮発性メモリ(例えば、非XIPメモリ)と、プログラム実行中にプログラムコードの少なくとも部分を記憶する実行可能メモリと、プログラムコードの少なくとも部分をコピーする内部コピーメカニズムと、を含む。
ここに開示する、本発明の特定の実施形態により提供されるスマートカード装置は内部コピーメカニズムを有し、それにより、外部装置を通して実行可能コードをコピーする必要性をなくすことに留意されたい。外部装置を通してコードをコピーするという回り道を低減するか、またはなくすことにより、データをスマートカードインタフェースのいずれでも露出する必要がないため、非XIPメモリからXIPメモリへのコードの転送が高速になるとともにより安全になる。
いくつかの実施形態によれば、スマートカード装置は内部データバスを含み、内部コピーメカニズムは、内部データバスを通しての内部コピーを行う。いくつかの実施形態では、内部コピーメカニズムは、内部データバスを通してのみ内部コピーを行う。
いくつかの実施形態によれば、スマートカード機能はSIM機能および/またはUSIM機能を含む。
ここに開示するスマートカード装置の例示的な一用途は、携帯端末に関する。本発明の特定の実施携帯により提供されるスマートカード装置を使用することで、モバイルサービスプロバイダは、アプリケーションを(U)SIMカードの非XIPメモリエリアにプレロードすることができ、(U)SIMカードは多くのアプリケーションを保持するのに十分な容量である。こういったアプリケーションは、スマートカードメモリ内で、モバイルサービスプロバイダの顧客によるコピーまたは操作から保護された状態に保たれる。
いくつかの実施形態によれば、ここに開示する実行可能コードの内部コピーは、1つまたは複数の追加コマンドをスマートカードコマンドポートフォリオに追加することに基づく。こういった新しいコマンドのうちの1つまたは複数が、スマートカードプロセッサに、非実行可能メモリ等の不揮発性メモリからスマートカード内部のXIPメモリへのコピー動作を行うように命令する。
いくつかの実施形態によれば、不揮発性メモリは非実行可能メモリを含む。
ここに開示するスマートカード装置に提供されるインタフェースの種類またはインタフェースの数に対して特定の制限はない。適当なインタフェースとしては、ISO7816準拠USBインタフェース、7816準拠インタフェース以外の任意のインタフェース、USBインタフェース、およびMMCインタフェースが挙げられるが、これらに限定されない。
いくつかの実施形態では、スマートカード装置は複数のインタフェースを含み、第1のインタフェースはISO7816準拠インタフェースであり、第2のインタフェースはISO7816準拠インタフェース以外である。特定の実施形態では、コマンドは第2のインタフェースを通して受け取られる。別法として、コマンドは第1のインタフェースを通して受け取られる。
プログラムコードの部分の少なくともいくらかを実行可能メモリにコピーすると、プログラムコードの実際の実行を開始することができる。いくつかの実施形態では、装置は、プログラムコードのコピーされた部分を実行する、内部プロセッサ等のプログラム実行メカニズムをさらに含む。
特定のいずれの理論にも縛られることを望まずに、プログラムコードの部分のいくらかの部分だけが実行可能メモリにあるときにプログラム実行を開始することは、プログラムのサイズが利用可能な実行可能メモリ量を超える状況で特に有用であることに留意されたい。プログラム実行の開始に続き、実行可能メモリにないプログラムコードの必要な部分を、ページフォールト後等の必要に応じて実行可能メモリにロードまたはコピーすることができる。
これより、ホストシステムからコマンドを受け取るとプログラムコードを実行するポータブルスマートカード装置を初めて開示する。本明細書に開示するスマートカード装置は、スマートカード機能をホストシステムに提示するとともに、ホストシステムからコマンドを受け取るための少なくとも1つのインタフェースと、プログラム実行中にプログラムコードを記憶する不揮発性メモリ(例えば、非XIPメモリ)と、プログラム実行中にプログラムコードの少なくとも部分を記憶する実行可能メモリと、実行可能メモリへのプログラムコードの少なくとも部分のコピーを行うコピーメカニズムと、コピー部分の第1のサブポーションのみが実行可能メモリにあるときに、プログラムコードのコピーされた部分の実行を開始するプログラム実行メカニズムと、を含む。
いくつかの実施形態によれば、スマートカード装置は内部データバスを含み、内部コピーメカニズムは、内部データバスを通して内部コピーを行う。いくかの実施形態では、内部コピーメカニズムは、内部データバスのみを通して内部コピーを行う。
別法として、コピーメカニズムにより行われるコピーは、ホストシステムを通しての外部コピーを含む。
いくつかの実施形態によれば、スマートカード装置は、実行中に、プログラムコードのコピーされた部分のうちの少なくとも第2のサブポーションを不揮発性メモリ(例えば、非XIPメモリ)から実行可能メモリにページングするページングメカニズムをさらに含む。いくつかの実施形態では、ページングされたコードは、必要に応じて、例えば、ページフォールト後に、不揮発性メモリ(非XIPメモリ等)から実行可能メモリにロードまたはコピーされる。したがって、プログラムコードの所与の実行中に、すべての「ページングされた」コードが必ずしも実行可能メモリにコピーまたはロードされるわけではない。
これより、スマートカード装置を使用してプログラムコードを実行する方法を初めて開示する。ここで開示する方法は、スマートカード装置内に内部コピーメカニズムを含めること、内部コピーメカニズムを使用して、プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリ(例えば、非XIPメモリ)からスマートカード装置の実行可能メモリにコピーすること、スマートカード装置のインタフェースを通して実行コマンドを受け取ると、プログラムコードのコピーされた部分を実行すること、を含む。
いくつかの実施形態によれば、コピーすることは、スマートカード装置の非実行可能メモリからスマートカード装置の実行可能メモリにコピーすることを含む。
いくつかの実施形態によれば、コピーすることは、スマートカード装置の内部データバスのみを使用して行われる。
実行コマンドを受け取ることができるインタフェースに対して特定の制限はない。適当なインタフェースとしては、ISO7816準拠インタフェース、7816準拠インタフェース以外の任意のインタフェース、USBインタフェース、およびMMCインタフェースが挙げられるが、これらに限定されない。
これより、スマートカード装置を使用してプログラムコードを実行する方法を初めて開示する。ここで開示する方法は、スマートカード装置内に内部コピーメカニズムを含めること、内部コピーメカニズムを使用して、プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリ(例えば、非XIPメモリ)からスマートカード装置の実行可能メモリにコピーすること、スマートカード装置のインタフェースを通して実行コマンドを受け取ると、部分のいくらかのうちの第1のサブポーションのみが実行可能メモリにあるときに、プログラムコードのコピーされた部分の実行を開始すること、を含む。
いくつかの実施形態によれば、実行コマンドはホスト装置から受け取られる。
いくつかの実施形態によれば、コピーすることは、スマートカード装置の内部データバスを通して内部コピーすることのみを含む。
別法として、コピーすることは、ホスト装置を通して外部コピーすることを含む。
いくつかの実施形態によれば、実行することは、実行中に、プログラムコードの部分の少なくとも第2のサブポーションを不揮発性メモリから実行可能メモリにページングすることを含む。
これより、プレロードされ保護された実行可能コードを配布する方法を初めて開示する。ここで開示する方法は、少なくとも1人のスマートカードユーザに、不揮発性メモリに記憶されたプレロードされ保護された実行可能コードおよびプレロードされ保護された実行可能コードをコピーするためのコピーメカニズムを有する各スマートカード装置を提供するステップと、提供後、各スマートカード装置のインタフェースを通して各スマートカードユーザから有効なユーザ認証証明およびコマンドを受け取るステップと、各スマートカード装置のコピーメカニズムを使用して、プレロードされ保護された実行可能コードの少なくとも部分を書くスマートカード装置の不揮発性メモリから各スマートカード装置の実行可能メモリにコピーするステップと、各スマートカード装置を使用してプログラムコードの部分を実行するステップと、を含む。
いくつかの実施形態によれば、少なくとも1つの各スマートカード装置で、コピーすることは内部データバスを通してコピーすることのみを含む。
いくつかの実施形態によれば、少なくとも1つの各スマートカード装置で、ユーザ認証証明および実行コマンドのうちの一方がホスト装置を介して受け取られ、コピーすることは、ホスト装置を通して外部コピーすることを含む。
これより、コンピュータ可読記憶媒体に具現されるコンピュータ可読コードを有するコンピュータ可読記憶媒体であって、コンピュータ可読コードは、スマートカード装置の不揮発性メモリに記憶されているプログラムコードを実行するコマンドを受け取り、実行可能プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリからスマートカード装置の実行可能メモリに内部コピーし、およびプログラムコードの部分をスマートカード装置により実行するコードである、コンピュータ可読記憶媒体を初めて開示する。
これより、コンピュータ可読記憶媒体に具現されるコンピュータ可読コードを有するコンピュータ可読記憶媒体であって、コンピュータ可読コードは、スマートカードの不揮発性メモリに記憶されているプログラムコードを実行するコマンドを受け取り、実行可能プログラムコードの少なくとも部分をスマートカード装置の不揮発性メモリからスマートカード装置の実行可能メモリにコピーし、および部分のサブポーションのみが実行可能メモリにあるときに、スマートカード装置によるプログラムコードの部分の実行を開始するコードである、コンピュータ可読記憶媒体を初めて開示する。
スマートカード構造の例を示す。 ISO準拠スマートカードの機械的なレイアウトを示す。 SIMカードまたはUSIMカードの物理的なフォームファクタを示す。 高度スマートカードの例示的な構造を示す。 本発明のいくつかの実施形態によるスマートカード装置を示す。 本発明の例示的な実施形態によるスマートカード装置においてコードのコピーおよび実行を行う方法を説明するフローチャートを提供する。 本発明の例示的な実施形態によるスマートカード装置においてコードのコピーおよび実行を行う方法を説明するフローチャートを提供する。 本発明の例示的な実施形態によるスマートカード装置においてコードのコピーおよび実行を行う方法を説明するフローチャートを提供する。 ページングメカニズムを使用して実行可能コードをページングする例示的な一実施態様を示す。 プレロードされ保護されたコードのスマートカードユーザへの配布を説明するフローチャートを提供する。
これらおよびさらなる実施形態が以下の詳細な説明および例から明らかになろう。
本発明の実施形態は、プログラムコードを不揮発性メモリから実行可能メモリにコピーするコピーメカニズムを含むスマートカード装置を提供する。さらに、ここに開示するスマートカード装置でプログラムコードを実行する方法は、プログラムコードを不揮発性メモリから実行可能メモリにコピーすることを含む。通常、プログラムコードのコピー元の「不揮発性メモリ」は非実行可能メモリ、すなわち非XIPメモリであるが、これは特定の限定として解釈されるべきではない。同様に、本発明のいくつかの実施形態において「実行可能メモリ」と呼ばれるものは不揮発性メモリであるが、これも特定の限定ではないことに留意されたい。
これより、特定の実施形態例に関して本発明を説明する。本発明が開示される実施形態例に限定されないことを理解されたい。説明するスマートカード装置およびスマートカード装置を使用してアプリケーションコードを実行する方法のあらゆる特徴が、添付の特許請求の範囲のうちの任意の特定の1つに請求されるように本発明を実施するために必要なわけではないことも理解されたい。装置の各種要素および特徴は、本発明を完全に可能にするために説明されている。本開示全体を通して、プロセスまたは方法が図示または説明される場合、方法のステップは、あるステップが先に実行される別のステップに依存することが文脈から明らかな場合以外、任意の順序または同時に実行してよいことも理解されたい。
図4は、標準ISOインタフェース(27)およびUSBの形の高速インタフェース(28)を有するスマートカード構造の例である。高速インタフェースは主に、スマートカード内部大容量メモリストレージへの/からの大容量データ転送に使用され、ISOインタフェースはレガシーモバイル(U)SIMサービスに使用される。図4に示す装置は、ISO7816プロトコルを含むがこれに限定されない、スマートカードによくある特定のプロトコルを使用して1つまたは複数のインタフェースを介して外部装置またはホスト装置と通信する。この例では、オペレーティングシステムおよびプレロードされるアプリケーションは、ROMではなくXIPフラッシュメモリに存在する。
いくつかの実施形態によれば、コードまたは特定のアプリケーションを実行するコマンド(20)が、スマートカード外部インタフェースの1つを介して外部装置またはホスト装置からCPU(23)に送られ、非XIPフラッシュメモリ(22)内のある所望のアプリケーションの少なくともいくらかをスマートカードの内部XIPメモリ、例えばXIPフラッシュ(29)にコピーするようにスマートカード装置に命令する。任意のスマートカードインタフェースを介してコマンドを送ってよいことに留意されたい。
コマンドは、大容量メモリストレージエリア内にあるアプリケーションファイルを参照し、アプリケーションの実行を開始するか、または単にアプリケーションファイルの少なくとも部分をコピーするようにCPU(23)に命令する。任意に、スマートカードオペレーティングシステムは、アプリケーションを受け取る余地がXIPメモリエリアにあることの確認も行い、アプリケーションファイルをコピーするために余地を作るために古いアプリケーションまたは他のデータを検出もする。いくつかの実施形態では、スマートカードCPUは、別個のコマンドの受信により、XIPメモリにすでにロードされているアプリケーションの実行を開始する。
実行コマンドおよび/またはコピーコマンドを受け取った(ステップ110)後、CPU(23)は、アプリケーションファイルの少なくとも部分をスマートカードの非XIPメモリ(22)から読み取り(ステップ112)、アプリケーションの少なくとも部分を実行可能メモリまたはXIPメモリ、例えばXIPフラッシュ(29)にコピーする(ステップ114)。いくつかの実施形態では、ファイルコピー動作は、内部バス(26)を使用してデータを転送する内部コピーを含む。これに代えて、またはこれに加えて、いくつかの実施形態は、ホスト装置(図示せず)を通しての外部コピーを提供する。
アプリケーションコードの少なくとも部分をXIPにコピーした後、CPU(23)を含むスマートカード装置のプログラム実行メカニズムは、XIPフラッシュ(29)からのアプリケーションの実行を開始することができる。別法として、プログラム実行を遅らせ、先に説明したように別個の専用コマンドを受け取った後にアプリケーションを実行してもよい。
本明細書において使用する、実行可能メモリにあるアプリケーションまたはプログラムコードの「実行」は、実行可能メモリ内に記憶されているアプリケーションまたはプログラムコードの少なくともいくつかの命令の実行を含み、任意の所与の時点で実行可能メモリ内に記憶されているすべての命令の実行に限定されない。
図5A〜図5Cは、本発明の例示的な実施形態によるスマートカード装置でコードをコピーして実行する方法を説明するフローチャートを提供する。これより図5Aを参照すると、明示的なコピーコマンドが、スマートカードのインタフェースを介してホスト装置から受け取られる(200)。任意に、オペレーティングシステムは、アプリケーションがXIPメモリにすでに存在しているか否かを調べる(210)。アプリケーションがXIPメモリに存在しない場合、アプリケーションコードのいくらかまたはすべてが不揮発性メモリ(例えば、非XIPメモリ)から実行可能メモリ(XIPメモリ)にコピーされる(202)。実行コマンドをホスト装置から受け取ると(220A)、アプリケーションコードが実行される(204)。実行コマンドを受け取ってよい(220A)時点に制限がなく、適当な時点としては、コピー(202)の直後、またはコピー(202)後ある時間経過後に実行コマンドを受け取っても良いことに留意されたい。
図5Bは、本発明のいくつかの実施形態を説明するフローチャートを提供する。図5Bに示すように、コピーコマンドおよび実行コマンドの両方が、インタフェースを介してホスト装置(230)から受け取られるが、これら2つのコマンドを単一のコマンドとして実施してアプリケーションコードをコピーして実行してよいことが認められよう。任意に、アプリケーションがXIPメモリにあるか否かを調べた(210)後、アプリケーションが実行される(204)。
図5Cは、本発明のいくつかの実施形態を説明するフローチャートを提供する。図5Cに示すように、実行コマンドがホスト装置から受け取られる(220B)。図5Cに説明されるいくつかの実施形態によれば、アプリケーションをXIPメモリにコピーするという実際の明示的なコマンドは受け取られない。任意に、アプリケーションがXIPメモリにあるか否かが調べられた後(210)、アプリケーションが実行される(204)。
いくつかの実施形態では、スマートカード内のXIPメモリの量は制限され、所与の時点で利用可能なXIPメモリ量を超えるサイズ、またはXIPメモリの総量を超えるサイズを有するアプリケーションを実行したい。内部スマートカードプロセッサがこれら大きなアプリケーションを実行できるようにするために、本発明の特定の実施形態は、任意に、高度ページングメカニズムを含む。したがって、本発明のいくつかの実施形態によれば、実行は、アプリケーションの実行可能ノードの第1のサブポーションのみが実行可能メモリにあるときに開始される。実行開始後、コピーされた実行可能コードの少なくとも第2のサブポーションが実行可能メモリにページングされる(206)。
いくつかの実施形態では、この高度ページングメカニズムは、スマートカードオペレーティングシステムの一部として実施される。こういった実施形態では、コピーメカニズムがまず、アプリケーションコードの部分のみをXIPメモリにコピーする。スマートカードプロセッサがXIPメモリにロードされていないコードエリアにアクセスする必要性が生じるとすぐに、アプリケーションの実行が中断され、所望のコードがスマートカードのオペレーティングシステムにより必要に応じてXIPメモリページにコピーされ、現在必要とされていない別のコードまたはXIPメモリ内の他のデータに上書きされる。効率的なページングメカニズムを提供するために、ページングは、新しいページが必要になるとすぐにスマートカードプロセッサを中断するロジックをスマートカードハードウェアにより実施することで、または別法として直接メモリアクセス(DMA)メカニズムを使用してコピー動作を実行することでサポートすることができる。
いくつかの実施形態では、ページングメカニズムは、スマートカードオペレーティングシステムによりまだサポートされていない場合にはアプリケーションコードと統合され、この場合、アプリケーションは、可能な限り最も効率的な方法でページングを本質的にサポートするように設計される。
図6は、ページングメカニズムを使用して実行可能コードをページングする例示的な一実施態様を示す。アプリケーションが、非XIPメモリ等の不揮発大容量メモリストレージエリア(31)にある。このアプリケーションを実行する要求をスマートカードプロセッサが受け取る。アプリケーションを実行するために、スマートカードプロセッサは、アプリケーションを非XIPメモリからXIPメモリエリア(30)にコピーしなければならないが、XIPメモリ(30)の空き容量は、アプリケーション全体を収容するのに不十分である。この制約を解消するために、アプリケーションはセグメント(33、34、35)に分割される。メインセグメント(35)は、基本的な機能および場合によってはページング関連機能を含み、XIPメモリエリア(36)にコピーされる。アプリケーション(33)のさらなるセグメントは、スワップ可能エリア(このエリア内のコードを後で必要になったときに別のアプリケーションコードセグメントと交換できることを意味する)として使用されるXIPメモリエリア(32)の部分にオンデマンドでコピーされる。こうして、スマートカードオペレーティングシステムは、XIPメモリエリアからアプリケーションの実行を開始することができる。
アプリケーションが、XIPメモリエリアにロードされていないセグメント、例えばセグメント(34)にあるデータまたはコードを参照する時点に達するとすぐに、スマートカードオペレーティングシステムは、要求されたセグメント(34)をXIPメモリエリア(32)のスワップ可能エリアの、前にロードされたアプリケーションセグメント上、例えばセグメント(33)上にロードする。
本発明のいくつかの実施形態は、プレロードされ保護された実行可能コードをスマートカードユーザに配布する方法を提供する。プレロードされ保護されたコードの配布を説明するフローチャートを図7に提示する。図7に示すように、発行者はまず、非XIPメモリ等の不揮発性メモリにあるプレロードされ保護されたコードを含むスマートカード装置を1人または複数のユーザに提供する(300)。ユーザは、スマートカード装置を受け取った後、適当な認証証明を提供し、ホスト装置を使用して実行コマンドをスマートカード装置に送ることにより(302)、保護されたアプリケーションコードの実行を選択することができる。実行コマンドを受け取ると、プレロードされ保護されたコードのいくらかまたはすべてが、不揮発性メモリから実行可能メモリにコピーされ(304)、コピーされたコードが実行される(306)。任意に、実行プロセス開始後に、いくつかのプログラムコードが実行可能メモリにページングされる。
本発明が実行可能コードのコピー(304)に特定の制限を課さないことに留意されたい。いくつかの実施形態では、コードの不揮発性メモリから実行可能コードへのコピーは、スマートカードの内部データバスを通しての内部コピーのみである。それに関わらず、これは本発明のあらゆる実施形態での明示的な要件ではない。例えば、コード206を実行可能メモリに任意でページングすることを含む実施形態および図7において説明した実施形態によれば、コピーはホスト装置を通しての外部コピーを任意に含む。
したがって、一例によれば、サービスプロバイダは、アプリケーション群を、顧客に提供する前に(U)SIMカードにプレロードすることができる。プレロードされたアプリケーションコードは、スマートカード外部インタフェースを介しての読み取りから保護され、アプリケーションがアンロックされる場合、スマートカードプロセッサを介してのみこの群からのアプリケーションの実行が可能である。顧客は、ロックされたプレロードアプリケーションを実行したい場合、サービスプロバイダに問い合わせて、新しいサービスへの加入を要求する。サービスプロバイダは、所望のアプリケーションをアンロックする「鍵」を移動端末に送り、鍵は、限られた時間量、または規定の実行回数だけアプリケーションを無条件で実行できるようにすることができる。その瞬間から鍵の期限が切れるまで、(U)SIMカードのCPUはアプリケーションの実行が可能になる。
本発明の特定の態様をSIMカードおよび(U)SIMカードに関して説明したが、本発明がコンタクトレススマートカードにも関連することに留意されたい。
本願の説明および特許請求の範囲では、各動詞「備える」、「含む」、および「有する」ならびにその活用形は、動詞の1つまたは複数の目的語が必ずしも、動詞の1つまたは複数の主語のメンバ、構成要素、要素、またはパーツの完全なリストではないことを示すために使用される。
例として提供され、本発明の範囲の限定を意図しない本発明の実施形態の詳細な説明を用いて本発明を説明した。説明した実施形態は異なる特徴を含み、これらのすべてが本発明のすべての実施形態において必要なわけではない。本発明のいくつかの実施形態は、特徴のいくつかのみ、または特徴の可能な組み合わせを利用する。説明した本発明の実施形態の変形形態および説明した実施形態で記した特徴の異なる組み合わせを含む本発明の実施形態が、当業者により想到されよう。本発明の範囲は、添付の特許請求の範囲によってのみ制限される。

Claims (1)

  1. ホストシステムからコマンドを受け取るとプログラムコードを実行するポータブルスマートカード装置であって、
    a)スマートカード機能を前記ホストシステムに提示するとともに、前記ホストシステムから前記コマンドを受け取るための少なくとも1つのインタフェースと、
    b)プログラム実行前に前記プログラムコードを記憶する不揮発性メモリと、
    c)プログラム実行中に前記プログラムコードの少なくとも部分を記憶する実行可能メモリと、
    d)前記プログラムコードの前記少なくとも部分を前記実行可能メモリにコピーする内部コピーメカニズムと、
    を備えるスマートカード装置。



JP2011189667A 2011-08-31 2011-08-31 スマートカード上の内部アプリケーションのローディング Pending JP2012027929A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011189667A JP2012027929A (ja) 2011-08-31 2011-08-31 スマートカード上の内部アプリケーションのローディング

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011189667A JP2012027929A (ja) 2011-08-31 2011-08-31 スマートカード上の内部アプリケーションのローディング

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008502555A Division JP2009506390A (ja) 2005-03-24 2006-03-19 スマートカード上の内部アプリケーションのローディング

Publications (1)

Publication Number Publication Date
JP2012027929A true JP2012027929A (ja) 2012-02-09

Family

ID=45780704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011189667A Pending JP2012027929A (ja) 2011-08-31 2011-08-31 スマートカード上の内部アプリケーションのローディング

Country Status (1)

Country Link
JP (1) JP2012027929A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08129628A (ja) * 1994-11-02 1996-05-21 Dainippon Printing Co Ltd Cpuを内蔵した情報記録媒体
JPH08506915A (ja) * 1994-01-14 1996-07-23 セー・ペー・8・トランザツク 複数のマイクロプロセッサ間でアプリケーション・データおよび手続きを共用するための安全なアプリケーション・カード
JP2001502099A (ja) * 1998-04-15 2001-02-13 ブル・セー・ペー・8 仮想メモリを管理するための手段を含むチップカードおよび関連する通信方法とプロトコル
JP2002525720A (ja) * 1998-09-11 2002-08-13 シュラムバーガー システムズ データ伝送の方法及びデータ伝送のためのカード
JP2004038285A (ja) * 2002-06-28 2004-02-05 Toshiba Corp 携帯可能電子装置及び携帯可能電子装置の処理方法
JP2004527040A (ja) * 2001-03-26 2004-09-02 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド 非揮発性メモリをバッファーリングするために揮発性メモリを用いること
WO2005010637A2 (en) * 2003-07-31 2005-02-03 M-Systems Flash Disk Pioneers Ltd. Sdram memory device with an embedded nand flash controller
JP2005056150A (ja) * 2003-08-05 2005-03-03 Sony Corp 情報処理装置および方法、プログラム、並びに記憶媒体
JP2005190312A (ja) * 2003-12-26 2005-07-14 Toshiba Corp マルチチップパッケージ型メモリシステムおよびコンピュータシステム
JP2005322109A (ja) * 2004-05-11 2005-11-17 Renesas Technology Corp Icカードモジュール

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08506915A (ja) * 1994-01-14 1996-07-23 セー・ペー・8・トランザツク 複数のマイクロプロセッサ間でアプリケーション・データおよび手続きを共用するための安全なアプリケーション・カード
JPH08129628A (ja) * 1994-11-02 1996-05-21 Dainippon Printing Co Ltd Cpuを内蔵した情報記録媒体
JP2001502099A (ja) * 1998-04-15 2001-02-13 ブル・セー・ペー・8 仮想メモリを管理するための手段を含むチップカードおよび関連する通信方法とプロトコル
JP2002525720A (ja) * 1998-09-11 2002-08-13 シュラムバーガー システムズ データ伝送の方法及びデータ伝送のためのカード
JP2004527040A (ja) * 2001-03-26 2004-09-02 エム−システムズ フラッシュ ディスク パイオニアーズ リミテッド 非揮発性メモリをバッファーリングするために揮発性メモリを用いること
JP2004038285A (ja) * 2002-06-28 2004-02-05 Toshiba Corp 携帯可能電子装置及び携帯可能電子装置の処理方法
WO2005010637A2 (en) * 2003-07-31 2005-02-03 M-Systems Flash Disk Pioneers Ltd. Sdram memory device with an embedded nand flash controller
JP2005056150A (ja) * 2003-08-05 2005-03-03 Sony Corp 情報処理装置および方法、プログラム、並びに記憶媒体
JP2005190312A (ja) * 2003-12-26 2005-07-14 Toshiba Corp マルチチップパッケージ型メモリシステムおよびコンピュータシステム
JP2005322109A (ja) * 2004-05-11 2005-11-17 Renesas Technology Corp Icカードモジュール

Similar Documents

Publication Publication Date Title
KR101013032B1 (ko) 스마트 카드 상에 내부 애플리케이션을 로딩하는 장치 및방법
KR101463586B1 (ko) 비접촉 스마트 카드용 로컬 신뢰 서비스 매니저
US8621168B2 (en) Partitioning the namespace of a contactless smart card
KR101060549B1 (ko) 스마트 카드 전력 관리 시스템
US9009835B2 (en) Smart card, anti-virus system and scanning method using the same
KR20170042344A (ko) 모바일 결제 장치 및 방법
US9430650B2 (en) Method for managing memory space in a secure non-volatile memory of a secure element
CN107111728B (zh) 安全密钥导出功能
EP3292504B1 (en) Secure element with shared memories, for a multi-image owner device
US8276188B2 (en) Systems and methods for managing storage devices
JP2012027929A (ja) スマートカード上の内部アプリケーションのローディング
AU2013222020B2 (en) Local trusted services manager for a contactless smart card

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130415

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130418

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130516

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130521

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130820