説明

安全なポータブルオブジェクト

本発明は、(a)オブジェクト本体と、(b)プロセッサ、および第1の実行空間内で第1の実行エンジンにより実行される第1のアプリケーションが記憶される少なくとも1つのメモリを含むマイクロモジュールとを含む、スマートカードタイプの安全なポータブルオブジェクトに関する。本発明は、第2のアプリケーションが、前記少なくとも1つのメモリ内にさらに記憶され、前記第2のアプリケーションは、第1の実行空間と異なる第2の実行空間内で、第1の実行エンジンと異なる第2の実行エンジンにより実行されることを特徴とする。本発明は、特に、スマートカードに適用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、標準化された安全なポータブルオブジェクトたとえばスマートカードの分野に関する。そのようなオブジェクトは(a)カード本体および(b)マイクロモジュールを含む。マイクロモジュールは、プロセッサ、ならびに第1および第2のアプリケーションが記憶される1つまたは複数のメモリを含む。
【背景技術】
【0002】
スマートカードは、一般に、特に制限されたハードウェアおよびソフトウェアの資源を備える標準化された安全なポータブルオブジェクトである。
【0003】
現在利用可能なカードの一部が、特にいわゆるJava(登録商標) Card(TM)カードが、仮想マシンを含む。そのような仮想マシンは実行エンジン(インタプリタ)を含む。実行エンジンは、スマートカードアプリケーションからの命令を解釈し、特に、実際に前記仮想マシンにより規定される実行空間内で命令を実行することができる。
【0004】
一部のカードが複数のJava Card(TM)アプリケーションを実装する。その場合、すべてのJava Card(TM)アプリケーションが同じ実行空間内部で実行され、しばしば同じセキュリティ規則により支配される。したがって、たとえセキュリティ規則が必要なくても、実行のためにハイレベルのセキュリティを必要とすべきではない一部のアプリケーションが、仮想マシンにより規定される実行空間内部で、アクセスすることができるべきではない機密資源にアクセスすることができる。それはセキュリティ問題につながる。さらに、たとえハイレベルのセキュリティ規則が一部のアプリケーションのためだけに必要であっても、広範な安全対策がすべてのアプリケーションのために実装され、期待される信頼性にかんがみて、そのような対策の適用が正当化されない安全対策を含む。一実施例として、冗長な計算実行または冗長なデータ記憶が、どんなアプリケーションであるかに関係なく、すべてのアプリケーションに対して使用される。その結果、カード資源を必要としないアプリケーションの実行のためにカード資源が使用され、カード性能に影響を及ぼす。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記を考慮して、本発明が解決しようとする1つの技術的問題が、複数のアプリケーションを実行することができるスマートカードタイプの安全なポータブルオブジェクトを作成し、従来技術の前述の欠点を埋め合わせるという技術的問題であり、前記複数のアプリケーションを実行するセキュリティは、特にこれらのアプリケーションが特定の資源へのアクセスを必要としないときに強化され、セキュリティ手段の実装がカード性能に対して与える影響は、前記手段が一部のアプリケーションの実行に対して正当化されないとき、限定される。
【課題を解決するための手段】
【0006】
上記の技術的問題に対して本発明により提供される解決策は、第一に、(a)オブジェクト本体と、(b)プロセッサ、ならびに第1および第2のアプリケーションが記憶される1つまたは複数のメモリを備えるマイクロモジュールとを含む、スマートカードタイプの安全なポータブルオブジェクトであって、前記第1および第2のアプリケーションを実行することができる第1および第2の実行エンジンをさらに含むこと、ならびに前記第1のアプリケーションは、第1の実行空間内で前記第1の実行エンジンにより実行され、前記第2のアプリケーションは、第1の実行空間と異なる第2の実行空間内で前記第2の実行エンジンにより実行されることを特徴とする安全なポータブルオブジェクトを含む。
【0007】
第二に、本発明により提供される解決策は、(a)オブジェクト本体と、(b)プロセッサ、ならびに第1および第2のアプリケーションが記憶される1つまたは複数のメモリとを備えるマイクロモジュールとを含む、スマートカードタイプの安全なポータブルオブジェクトを安全にする方法であって、
前記第1および第2のアプリケーションを実行することができる第1および第2の実行エンジンが提供される段階と、
第1の実行エンジンは、第1の実行空間内で第1のアプリケーションを実行する段階と、
第2の実行エンジンは、第1の実行空間と異なる第2の実行空間内で第2のアプリケーションを実行する段階と
を含むことを特徴とする方法を含む。
【0008】
したがって、第1のアプリケーションが、たとえば、重要なセキュリティ資源に及ぶ実行空間で実行されなければならない場合、第2のアプリケーションは、前記資源にアクセスすることができず、オブジェクトをより安全にする。さらに、実行エンジンに応じて、アプリケーションごとに異なるセキュリティ手段を実装することが可能であり、したがって、カード性能を改善する。
【0009】
有利なことに、(a)第2の実行エンジンは第1の実行エンジンと異なり、(b)第1の実行エンジンは第1の仮想マシンの実行エンジンであり、第2の実行エンジンは第2の仮想マシンの実行エンジンであり、(c)仮想マシンはJava Card(TM)仮想マシンであり、第1および第2のアプリケーションはJava Card(TM)アプリケーションであり、(d)仮想マシンが自分の実行空間内で管理するアプリケーションを実行するために仮想マシンにより必要とされるセキュリティ手段は、仮想マシンごとに異なり、アプリケーションは、アプリケーションの実行に必要とされるセキュリティレベルに応じて、前記仮想マシン内に配置され、(d)仮想マシンにより自分の実行空間内で管理されるアプリケーションを実行するために仮想マシンにより必要とされるセキュリティ手段は、仮想マシンごとに異なり、アプリケーションは、アプリケーションの認証、またはアプリケーションの検証の結果に応じて、前記仮想マシン内に配置され、(e)一方の実行空間が特定の資源に及び、もう一方の実行空間が前記特定の資源に及ばず、(f)特定の資源は、メモリゾーンおよび前記メモリゾーン内に記憶されるデータ、通信チャネル、通信またはデータの記憶装置、あるいはコードライブラリであり、(g)仮想マシンの資源は共有され、(h)共有資源は、アプリケーションに充てられたメモリ、または仮想マシンに共通の一部のコードライブラリを含み、(i)前記オブジェクトは、近距離無線通信(near field radiofrequency communication)用モジュールを含む携帯電話に挿入されるように設計される加入者識別モジュールであり、前記加入者識別モジュールは、前記近距離無線通信用モジュールにルーティングされる第1の通信インタフェース、および第2の通信インタフェースを有し、第1の通信インタフェースへのアクセスが、第1の実行空間内だけで許可され、(j)第1のアプリケーションは、第2の実行空間内での第2の実行エンジンによる任意の実行を除外して、第1の実行空間内で第1の実行エンジンにより排他的に実行され、第2のアプリケーションは、第2の実行空間内での第1の実行エンジンによる任意の実行を除外して、第2の実行空間内で第2の実行エンジンにより排他的に実行され、(k)本発明による方法は、(a)インストールすべき各アプリケーションに割り当てる実行空間が識別され、前記アプリケーションは、前記実行空間内で実行されるようにインストールされるステップと、(b)実行空間が、少なくとも、前記アプリケーションの提供業者の識別情報により識別されるステップと、(c)実行空間が、少なくとも、前記アプリケーションの検証または認証のレベルにより識別されるステップと、(d)前記第1の実行空間が資源へのアクセスを提供し、前記第2の実行空間が前記資源へのアクセスを許可せず、割り当てるべき前記実行空間は、少なくとも、前記アプリケーションが前記資源にアクセスする必要性により識別されるステップと、(e)前記資源は、前記安全なポータブルオブジェクトの通信インタフェースであるステップとをさらに含む。
【0010】
本発明は、添付図面を参照する、以下の限定しない説明を読んだ後、さらによく理解されよう。
【図面の簡単な説明】
【0011】
【図1】2つの別個のJava Card(TM)仮想マシンを含む、本発明によるオブジェクトの実施形態の一実施例の略図である。
【図2】2つの仮想マシン、アプリケーションに充てられた共通に置かれるメモリを含む、本発明によるオブジェクトの実施形態の一実施例の略図である。
【図3】第1の仮想マシンが第1の通信手段にアクセスし、第2の仮想マシンが第2の通信手段にアクセスし、前記第1および第2の通信手段は分かれている2つの仮想マシンを含む、本発明によるオブジェクトの実施形態の一実施例の略図である。
【発明を実施するための形態】
【0012】
本発明は、スマートカードタイプの安全なポータブルオブジェクトに関する。オブジェクトは、第一に、オブジェクト本体、たとえば標準寸法のプラスチックカード本体、第二に、マイクロモジュールを含む。
【0013】
本発明によるオブジェクトのマイクロモジュールは、少なくとも1つのプロセッサと、少なくとも2つのアプリケーション、およびアプリケーションのデータが記憶される少なくとも1つのメモリとを含む。2つのアプリケーションはプロセッサにより断続的に実行される。
【0014】
本発明によるオブジェクトの資源、特に、ハードウェア資源、より具体的にはメモリサイズは制限されている。
【0015】
本発明によれば、第1のアプリケーションが、第1の実行空間内で第1の実行エンジンにより実行され、第2のアプリケーションが、第2の実行空間内で第2の実行エンジンにより実行される。有利なことに、第1の実行エンジンは、第1の仮想マシンの一部であり、第2の実行エンジンは、第2の仮想マシンの一部である。したがって、本発明によるオブジェクトは、少なくとも2つの仮想マシン、たとえばJava Card(TM)仮想マシンを含む。2つの仮想マシンは場合によっては、一部の資源を共有することができる。仮想マシンは、異なるレベルのセキュリティを提供することができる。
【0016】
実行空間
各アプリケーションは、特定の特徴を有する実行空間内で実行されるように設計される。これらの特徴は、たとえば、
実行空間の性質、より詳細には、特定の1組の命令により規定されるプロセッサまたは仮想マシンのタイプ、
特に、データの機密度またはデータの重要性(データの完全性を保護する重要性)に従ってメモリ内の一部のデータを読み出すまたは編集する可能性などの、資源にアクセスする手段、周辺装置または別のシステムとの通信用チャネル、あるいはコードライブラリの提供、
アプリケーションのコード、およびアプリケーションにより処理されるデータを、別のアプリケーションまたは外部の当事者から保護することを意図するセキュリティ手段
を含んでもよい。
【0017】
本発明は、共通の特徴として少なくとも実行空間の性質を有する実行空間内で実行されるように設計される少なくとも2つのアプリケーションを含むオブジェクトに関する。たとえば、2つアプリケーションは、Java Card(TM)仮想マシンで実行されるようにいずれも設計される2つのJava Card(TM)アプリケーションでもよい。2つのアプリケーションの別の特徴に関しては、共通のものがあれば、異なるものもある。
【0018】
本発明によれば、オブジェクトは、別個の実行空間を有する2つのアプリケーションを提供する。しかしながら、これらの空間は、2つのアプリケーションに共通の要件に応じて、一部の構成要素を実際に共有する。
【0019】
より一般的には、本発明によるオブジェクトは、いくつかの実行空間を提供することができ、いくつかのアプリケーションの実行を許可することができ、各アプリケーションは、自分自身の実行空間を有する、またはアプリケーションは、基準たとえば必要とされる1組の特徴および必要とされるセキュリティのレベルに従って、より少数の実行空間内でグループ化される。
【0020】
資源の共有
ポータブルオブジェクトは、アプリケーション間で分配される、量が制限された異なる資源を含む。前記オブジェクトの1つの資源がメモリである。オブジェクトの大部分が、ユーザとの対話、別のコンピュータシステムとのデータの交換、または外部の物理システムに対する動作またはその観測を可能にする追加の機能構成要素をさらに含む。これらの資源はすべて、所与の資源がアプリケーションのために取っておかれたため、またはいくつかのアプリケーション間で共有されるため、アプリケーション間で分配されなければならず、この場合、本発明によるオブジェクトはこの分配を管理する。
【0021】
メモリ
本発明によるオブジェクトは、1つまたは複数のタイプであってもよい1つまたは複数のメモリを含む。メモリは、たとえばRAM、EEPROMタイプなどの恒久的に書き換え可能なメモリ、またはROMであってもよい。本発明によるオブジェクトに含まれるメモリの量は特に制限される。特に、ROMメモリのサイズは約数百Kbであり、EEPROMメモリのサイズは約数十Kbである。
【0022】
各アプリケーションはコンピュータプログラムであり、そのコードは、本発明によるポータブルオブジェクトのメモリ内に記憶される。さらに、各アプリケーションは少なくとも1つのメモリ内にデータを記憶する。
【0023】
本発明によれば、各実行空間は、各実行空間にはっきり限定して割り当てられた1つまたは複数のメモリ部分を有する。別のメモリ部分は、いくつかの実行空間の間で共有されるソフトウェア構成要素にさらに割り当てられてもよい、またはいくつかの実行空間に同時にアクセス可能な共有メモリゾーンを形成してもよい。
【0024】
予約資源
一部の資源が、アプリケーションまたはアプリケーションのカテゴリのために予約される。このとき、資源は実行空間により直接管理され、資源を使用する必要がある任意のアプリケーションが、その実行空間により実行される。
【0025】
一部のオブジェクトは、一部のアプリケーションだけにより正当に使用されてもよい1つまたは複数の通信またはデータの記憶装置を有する。その場合、これらの装置を実行空間内で直接管理することが有利である。装置にアクセスする必要があるアプリケーションは、前記実行空間内部で実行され、一方、その他のアプリケーションは、そのようなアクセスを提供しない実行空間内で実行される。
【0026】
本発明によるオブジェクトが、承認された提供業者だけにより使用されてもよい資源を含んでもよい。これらの資源は周辺装置であってもよいが、同様に、たとえば使用すると料金の支払いが必要なコードライブラリであってもよい。その場合、承認されたアプリケーションを、関係がある資源を備える実行空間内で実行し、その他のアプリケーションを、前記資源へのアクセスを許可しない実行空間内で実行することが有利である。
【0027】
共有資源
一部の資源が、いくつかのアプリケーション間で、またはすべてのアプリケーション間でさえ共有される必要がある。このとき、異なる実行空間がそのような資源を使用することを許可し、可能にすることが有利である。それを達成する1つの手段が、実行空間の外部に論理的に位置する特定のソフトウェア構成要素の助けを借りて、関係がある各資源を管理することである。実行空間は、構成要素を使用して、当該の資源にアクセスする。
【0028】
通信チャネル
潜在的に共有される資源の重要な具体的実例が通信手段である。1つのアプリケーションだけがその通信手段を使用する場合、通信手段に、実行空間により管理されるようにさせ、アプリケーションがその実行空間により実行されることを保証させることが可能である。一方、いくつかのアプリケーションが通信手段を使用する可能性が高い場合、ソフトウェア構成要素が通信手段の共有を許可しなければならない。構成要素は、実行空間の一部であっても(その場合、前記実行空間内で実行されるアプリケーションだけが、前記通信手段にアクセスできる)、またはすべてのアプリケーションが前記通信手段にアクセスすることができるように、実行空間の外部にあり、すべての実行空間により使用可能であってもよい。
【0029】
本発明の実施形態の一様態では、本発明によるオブジェクト内で実行されてもよいアプリケーションは、識別子、たとえば番号または文字列により示され、通信手段は、メッセージを処理すべきアプリケーションの識別子の形で受信者が指示されるメッセージを受信することができるようにする。その場合、受信されるメッセージを最前線で処理する責任を負うソフトウェア構成要素が、メッセージの受信者であるアプリケーションの識別子を識別するために、受信されるあらゆるメッセージを少なくとも部分的に復号する。前記ソフトウェア構成要素は、メッセージを受信する可能性が高い各アプリケーションに対して、前記アプリケーションの識別子を前記アプリケーションが実行される実行空間の識別子と関連付ける対応表にさらにアクセスすることができる。次に、前記ソフトウェア構成要素は、受信者であるアプリケーションが実行される実行空間にメッセージを転送する。必要であれば、前記ソフトウェア構成要素は、たとえば、前記ソフトウェア構成要素の実行空間をアクティブにし、かつ前記アプリケーションから受信されるメッセージを処理するための手順をトリガすることにより、受信者であるアプリケーションによるメッセージの処理をトリガする。
【0030】
ソフトウェア構成要素の分配
本発明による安全なポータブルオブジェクトは、同じタイプの少なくとも2つの安全な実行空間を含む。これらの空間は仮想マシンにより規定される。これらの仮想マシンは、たとえばJava Card(TM)仮想マシンであってもよい。実行空間が、一般にいくつかのソフトウェア構成要素により規定され、ソフトウェア構成要素の中でも、典型的には厳密な意味で仮想マシンにより形成される実行エンジンが識別されることができ、その他の構成要素が、追加要素たとえばデバイスドライバ、メモリマネージャ、セキュリティマネージャ、またはコードライブラリ(API)として出現する。本発明では、これらの構成要素の一部が、実行空間の間で共有される。換言すれば、前記構成要素のコードはメモリ内に一度だけ記憶される。構成要素に関する限り、別の構成要素が、実行空間に特有である。その点、別の構成要素は、もう一方の構成要素を除外して、一方の実行空間だけにアクセス可能である、またはこれらの別の構成要素のいくつかのバージョンが存在するが、異なる特性を有する。
【0031】
実行エンジン
本発明では、実行空間は性質が同じである。すなわち、実行空間が実行できるアプリケーションフォーマットは同じである。したがって、特に、可能なときはいつでも、異なるアプリケーションに対して同じ実行エンジンを使用し、したがって、実行エンジンを共有することは当然である。アプリケーションがネイティブフォーマットである場合、すなわちプロセッサ(物理構成要素)により直接実行されることが意図される場合、実行エンジンは、本来共有される前記プロセッサである。アプリケーションが別のフォーマットである場合、すなわち、適合した実行エンジンが仮想マシンである場合、仮想マシンを実装するコードの共有が可能であるが強いられることはない。
【0032】
本発明の実施形態の一様態では、たとえ実行エンジンが同じアプリケーションを実行することができる同じ基本的機能特性を有しても、実行エンジンは、異なる第2の特徴を有し、したがって、異なるコードを有する。たとえば、一方の実行エンジンが有してもよいが、他方の実行エンジンが有してはいけない第2の特徴の実施例が提示された。
【0033】
実施形態の一実施例では、実行エンジンが、アプリケーションにより処理されるデータを保護するように設計される追加のセキュリティ手段を含む。たとえば、オブジェクトに記憶されたデータ、または外部システムと通信されたデータは、暗号化されてもよい。これらの安全対策は、計算時間、および場合によってはメモリサイズに関して費用がかかるので、機密データを処理しないアプリケーションに、よりよい性能を提供するために、別の実行エンジンはそのようなセキュリティ手段を含まない。
【0034】
実施形態の一実施例では、実行が中断させられた場合、たとえばオブジェクトへの電源が突然遮断された場合、または前記オブジェクトが過熱した場合、またはオブジェクトの物理構成要素が損傷を受けた場合を含み、実行エンジンは、処理されるデータの完全性を保護するように設計される追加のセキュリティ手段を含む。想定される外乱はまた、第三者がアクセスできるべきではないデータを読み出そうとする、またはオブジェクトにより不法行為を達成しようとする、たとえば許可を出されるべきではない銀行取引を許可しようとする第三者からのオブジェクトへの攻撃を含むことがある。そのようなセキュリティ手段は、しばしば冗長な計算の実行または冗長なデータの記憶を含む。したがって、そのようなセキュリティ手段は、期待される信頼性にかんがみて、必ずしも正当化されるわけではない費用がかかる。別の実行エンジンは、データの完全性の損失に対してもよりよい性能を提供するそのような冗長性を提供しない。
【0035】
実施形態の一実施例では、実行エンジンが、アプリケーションに割り当てられたメモリ部分の外側へのアクセスを防ぐために、実行エンジンにより実行されるアプリケーションによるメモリアクセスの制御を含み、一方、別の実行エンジンは、そのような制御を提供しない。したがって、提供業者が十分信頼できると考えられ、かつアプリケーションに付随する証明書により確認されることができるアプリケーションのために、またはメモリアクセスが自動的にまたは手作業で最初に検証されたアプリケーションのために、より高速に、より小さなメモリ要件でアプリケーションを実行する第2の実行エンジンが取っておかれる。
【0036】
実施形態の一実施例では、一方の実行エンジンが、他方より高速であるが、一部の物理資源たとえば電力消費に関してコストがより高い。この場合、実行エンジンの選択は、実行性能と物理資源の消費量の間の妥協の結果である。
【0037】
実施形態の一実施例では、一方の実行エンジンが他方の実行エンジンより効率的であるが、実行エンジンの使用は、実行エンジンにより実行されるアプリケーションの数、あるいは特徴たとえばアプリケーションのサイズまたは複雑さに依存する価格付けの影響を受ける。
【0038】
たった今説明された、本発明の様態の一変形形態では、実行空間は、同じタイプであるが、一部の詳細が異なる。実行空間は、たとえば、同じ規格を満たすが、必ずしも互いに適合するわけではない何らかの拡張を追加して提供する仮想マシンにより規定されてもよい。このとき、それぞれの不適合の拡張ファミリーのための実行空間を実行エンジンに提供することが有利である。
【0039】
本発明の別の変形形態では、実行エンジンは、コードの一部を共有する。それは、実行エンジンが十分似せられ、たとえばある種の特定の動作の完了だけが異なるという条件で可能であり、望ましくさえある。本変形形態の実施形態のいくつかの様態が可能である。実施形態の2つの様態では、実行エンジンは、各命令に対して実行される復号と呼ばれるコードの一部が、命令により実行される動作を復号し、各動作に特有なコードの別の一部に制御を渡すことが意図される仮想マシンである。
【0040】
実施形態の第1の様態では、特に命令復号コードを含む実行エンジンのコアが、2つの実行空間に共通である。メモリセルが、アクティブな実行空間の識別子を含む。復号コードが、実行空間に応じて別々に実行されなければならない命令を検出したとき、アクティブな実行空間内で実行される動作に対応するコードのアドレスをテーブルから読み出し、このように突き止められたコードに制御を渡す。
【0041】
実施形態の第2の様態では、各実行空間が、各実行空間に特有の実行エンジンを有する。復号コードが、考慮中の両方の実行空間内で同じ方法で実行されなければならない命令を検出したとき、前記復号コードは、2つの実行空間に共通のコードの一部に、実行を渡す。
【0042】
本発明によれば、仮想マシンは、オブジェクトの同じメモリ内または異なるメモリ内に含まれやすいことに留意されたい。第1の実施例では、2つのJava Card(TM)仮想マシンが、オブジェクトの単一のROMメモリ内に含まれる。第2の実施例では、第1の仮想マシンが、前記オブジェクトのROMメモリ内に含まれ、第2の仮想マシンが、オブジェクトの別のメモリ内に、すなわちEEPROMメモリ内に含まれる。
【0043】
追加構成要素
実行空間は実行エンジンまたはその他を共有するということとは無関係に、自分自身の別の追加構成要素を共有する、または有することができる。たとえば、典型的なJava Card(TM)仮想マシンは、アプリケーションのコードを構成する命令を解釈する責任を負う実行エンジンに加えて、差別化されたライブラリを、たとえばJava Card API(アプリケーションプログラミングインタフェース)、ファイアウォール、アプリケーションレジストリ、メモリマネージャ、ディスパッチャ、およびアプリケーションの必要性に応じて追加で開発されたライブラリをいくつか含む。場合に応じて、各構成要素が、異なるアプリケーションにより共有される、または各アプリケーションが自分自身の構成要素を有することが好ましいことがある。典型的には、共有はメモリを節約することができるようにし、アプリケーション間の通信を容易にするが、一方、分離は、隔離を増大させ、当該の構成要素の別の実装形態を可能にする。いずれの場合も、共有されることができる構成要素があり、一方、分離される構成要素もあることに留意されたい。
【0044】
実行空間の選択
本発明では、各アプリケーションが、オブジェクト内で利用可能な実行空間から、実行空間を割り当てられる。この割当ての実施形態のいくつかの様態が可能であり、特に、割当てが識別され、有効になるときが異なる。また、割当ては、いくつかの基準に基づいてもよい。割当方法および割当基準の一部の実施例がここで言及されたが、別の様態が可能であることが理解される。
【0045】
割当方法
本発明により安全なポータブルオブジェクト上にアプリケーションをインストールするには、少なくとも、オブジェクト内にアプリケーションのコードをロードすることを伴い、その結果、前記コードはオブジェクトのメモリ内に配置される。ローディングは、前記コードを前記メモリ内に記憶するようオブジェクトを適切にプログラムした後、前記コードをオブジェクトに転送することにあってもよいが、別の方法が実行可能であり、特に、アプリケーションのコードは、オブジェクトが作成されたとき、前記オブジェクトのROM内に配置されてもよい。本発明では、アプリケーションをインストールする方法は、アプリケーションに割り当てられた実行空間を識別することを伴う。割当空間は、ローディングの前、後、またはローディングと一緒に、1つまたは複数のステップで識別されてもよい。
【0046】
割当ての第1の様態では、アプリケーションのコードがオブジェクトのメモリ内にロードされたとき、コードは、割当基準に従って識別される実行空間の1つに割り当てられるそのメモリのゾーン内に配置される。メモリは、たとえば、オブジェクトが製造されている間に前記コードがロードされる場合にはROMでも、オブジェクトが製造された後にコードがロードされる場合にはEEPROMタイプの書き換え可能メモリでもよい。このとき、アプリケーションは、アプリケーションをインストールし実行することを担当する実行空間に割り当てられる。
【0047】
割当ての第2の様態では、アプリケーションのコードがオブジェクトのメモリ内にロードされたとき、アプリケーションに供給されるコード、オブジェクト内にすでに存在するコード、または2つの組合せを実行することを伴うインストール過程が行われる。この方法の間、実行空間は、割当基準に基づき識別され、識別された実行空間とアプリケーションを関連付ける情報がメモリに記憶される。任意選択で、実行空間は、アプリケーションをインストールするための追加手順を実行する。アプリケーションが実行される必要があるとき、実行に責任を負うソフトウェア構成要素が、アプリケーションを実行空間と関連付ける前記情報を読み出し、そのように識別された実行空間内でのアプリケーションの実行をトリガする。
【0048】
割当ての第3の様態では、オブジェクトのユーザからの明示的要求で、あるいは内部または外部の刺激、たとえば時間イベント(たとえばタイマイベントまたはタイムアウトイベント)あるいは装置または通信手段に対する要求の受信に従って、アプリケーションが実行されるとき、実行に責任を負うソフトウェア構成要素は、割当基準に基づき実行空間を識別し、そのように識別された実行空間によるアプリケーションの実行をトリガする。
【0049】
割当基準
割当ては、アプリケーションの開発者または提供業者により決定されてもよい。その場合、アプリケーションは、アプリケーションの開発者または提供業者により配布され、オブジェクト内にロードされたとき、アプリケーションの実行可能コードに加えて、使用すべき実行空間を識別する情報の少なくとも1つの断片を含む。
【0050】
異なる実行空間を、アプリケーションの各開発者または各提供業者に、あるいは開発者または提供業者のグループに割り当てることが可能である。その場合、アプリケーションは、カードの開発者または提供業者を識別する情報の断片と共にカード内にロードされる。
【0051】
実行空間は、アプリケーションに供給される指示に応じて、アプリケーションをオブジェクト上にインストールする人により、あるいはインストール中またはインストール後にオブジェクト上で自動的に選択されてもよい。情報は、アプリケーションの必要性、またはアプリケーションの実行に関する推奨に関係がある。情報はたとえば、
アプリケーションにより実行されるセキュリティのレベル、
典型的に処理されるデータの機密性のレベル、
アプリケーションにより期待される信頼性のレベル、
アプリケーションが使用する可能性が高い装置、
アプリケーションにより使用される通信手段、
実行エンジンによりサポートされる拡張、
アプリケーションが機能するために必要とされるコードライブラリ、
より一般的には、アプリケーションが機能するために必要とされる任意の資源
と関係があってもよい。
【0052】
たとえば、第1の実行空間が特定の装置へのアクセスを許可するが、一方、第2の実行空間が同じ装置へのアクセスを拒否する場合、装置へのアクセスを要求するアプリケーションは、第1の実行空間に割り当てられ、一方、その他のアプリケーションは、第2の実行空間に割り当てられる。
【0053】
実行空間は、何らかの特徴を決定するために、アプリケーションの静的解析により、すなわち、アプリケーションのコードの、手作業での調査または自動的調査により決定されてもよい。たとえば、以下が行われてもよい:
一部のメモリアクセスが、アプリケーションに許可されるメモリゾーンの起こり得るオーバランから保護されず、静的解析が、許可されたメモリアクセスだけをアプリケーションが実行し、かつすべてのメモリアクセスがアプリケーションに対して検証された実行空間を割り当てることを示し、静的解析が、許可されるゾーンの外側へのメモリアクセスをアプリケーションが実行することができることを示す実行空間を割り当てる、および/または
アプリケーションへの一部の攻撃から保護するための手段を含み、静的解析が、アプリケーションがそのような攻撃を免れず、かつ保護のためのそのような手段を備えない実行空間をアプリケーションに割り当てることを示し、静的解析が、アプリケーションの挙動がそのような攻撃により中断させられないことを示す実行空間を割り当てる。
【0054】
これらの異なる基準は、異なる方法で組み合わせられてもよいことに留意されたい。たとえば、実行空間が、アプリケーションの一部の提供業者に割り当てられてもよく、別の規則が、未知の提供業者のアプリケーションに割り当てられる実行空間を識別するために使用されてもよい。アプリケーションに任意選択で供給される情報が使用され、情報が見つからない場合、静的解析により実行空間が識別されてもよい。逆に、静的解析が、常に決定的であるわけではないが、あらゆる場合に実行されることができ、静的解析が決定的ではないときだけ、アプリケーションに供給される指示が使用されることができる。ここで説明される選択方法を組み合わせる、識別の別の方法が実行できる。
【0055】
実施例1:別個の仮想マシン
図1に示される、本発明の実施形態の第1の実施例では、ポータブルオブジェクトは、少なくとも2つのJava Card(TM)仮想マシンVM1およびVM2が実行されるスマートカードである。
【0056】
各仮想マシンは、自分自身の実行エンジンであるインタプリタ1、インタプリタ2、自分自身のライブラリJC API1、JC API2、および自分自身のメモリ、すなわちアプリケーションに充てられたヒープであるヒープ1、ヒープ2を有する。その構成は、仮想マシンVM1およびVM2が、アプリケーションが自分のヒープであるヒープ1、ヒープ2の外側のメモリにアクセスできないようにするので、第1の実行空間内と第2の実行空間内で実行されるアプリケーション間のハイレベルの隔離を提供するという有利な点を提供する。各アプリケーションは、特定の仮想マシンのヒープ内に記憶され、これらのデータを前記ヒープ内に記憶し、前記仮想マシン内部で実行される。
【0057】
一部の構成要素が仮想マシン間で共有される。単一のJava Card(TM)仮想マシンを備える通常のJava Card(TM)スマートカードでは、レジストリは、特に、インストールされたアプリケーションのリストを管理するソフトウェア構成要素であり、各アプリケーションに対する指示、たとえばアプリケーションの可用性(インストール中、実行可能、ブロックされたなど)およびアプリケーションに与えられた許可を含む。実施形態の本実施例では、レジストリは実行空間の間で共有され、通常の情報に加えて、各アプリケーションについて、アプリケーションに割り当てられた実行空間の識別子を保持する。
【0058】
さまざまなISO7816、SWP、USB、RF、およびスマートカードの別のインタフェースのためのIO入出力ドライバも仮想マシン間で共有され、その結果、カードは、各インタフェース用に1つの入出力ドライバだけを有する。
【0059】
スマートカードにより受信されるメッセージは、受信者であるアプリケーションを決定するために、受信される各メッセージを解析することにより、メッセージをディスパッチし、かつ前記メッセージに対する前記アプリケーションの実行をトリガするソフトウェア構成要素により処理される。受信されるメッセージのそのディスパッチャはまた、仮想マシン間で共有される。メッセージが受信されたとき、受信者であるアプリケーションが識別されると、受信メッセージディスパッチャは、受信者であるアプリケーションが実行される実行空間を識別するために、レジストリに問い合わせて、前記実行空間内部でのアプリケーションによるメッセージの処理をトリガする。
【0060】
実施例2:SDセキュリティドメイン
仮想マシン間にアプリケーションを分配させるためには、既存の分類インフラストラクチャを使用するのが有利であり、ここで、既存の分類インフラストラクチャの展開について説明される。
【0061】
図1に示されるように、セキュリティドメインSD1およびSD2と呼ばれる特定のアプリケーションが、仮想マシンVM1およびVM2のそれぞれの中で実行される。セキュリティドメインは、1組のアプリケーションのセキュリティ関連データを管理する。一般に、アプリケーションの各提供業者は、供給業者のアプリケーションすべてで使用されるセキュリティドメインも提供する。セキュリティドメインは、特に提供業者に特有の秘密鍵を保持し、別のアプリケーションのために、特にアプリケーションのインストールおよびデータのローディングのために、一部の動作を実行し、当該の提供業者(または必要とされる鍵が与えられた代表者)だけが、自分自身のアプリケーションに対して作用することができるように、アプリケーションのコードおよびロードされるデータが暗号化され、認証される。
【0062】
本実施例では、各仮想マシンが1つのセキュリティドメインだけを含むことが有利である。その方法では、各仮想マシンVM1およびVM2は、アプリケーションの提供業者に関連付けられる。実際には、仮想マシンの分離が、第1の仮想マシンVM1上で実行されるアプリケーションと、第2の仮想マシンVM2上で実行されるアプリケーションの間に、ある程度の隔離を提供する。特に、これは、提供業者1のアプリケーションが提供業者2のデータにアクセスすることができないという保証を提供し、逆の場合も同様である。
【0063】
アプリケーションが、カード内にロードされると、セキュリティドメインがカード内にすでにロードされ、アプリケーションにより参照されると考えられるため、またはセキュリティドメインが当該のアプリケーションと同時にロードされるため、アプリケーションは、関連するセキュリティドメインを有する。カード上のアプリケーションマネージャが、仮想マシン内へのアプリケーションのインストールをトリガし、提供されたセキュリティドメインを動作させる。仮想マシンがカード内にすでに存在していない場合、アプリケーションマネージャは、メモリの一部を取っておき、メモリのその部分を使用する新しい仮想マシンを始動させる。次に、アプリケーションマネージャは、新しい仮想マシン内への新しいセキュリティドメインのインストール、および次に、新しい仮想マシン内への新しくロードされたアプリケーションのインストールをトリガする。セキュリティドメインが供給されず、すでに存在もしていない場合、またはセキュリティドメインが新規であり、供給されているが、新しい仮想マシンが始動させられることができない場合(たとえば、カードがその機能をサポートしていないため、または不十分な量のメモリが利用可能であるため)、アプリケーションのローディングは失敗する。
【0064】
したがって、本実施例で説明される実装形態に適合するスマートカードが、高いセキュリティ要件を伴うアプリケーションのための媒体の役割を安全に果たすことができる。たとえば、カードは、キャッシュカードの役割(1つの仮想マシン(VM)が、カード所有者の銀行により提供されるアプリケーションに充てられる)、およびトランスポートカードの役割(1つの仮想マシンが、交通機関の事業者により提供されるアプリケーションに充てられる)を同時に果たしてもよい。さらに、カードは、携帯電話に挿入されるSIMカードとすることができ、通信アプリケーションに充てられる仮想マシンの実行を可能にすることができる。
【0065】
実施例3:異なる仮想マシン
本実施例では、スマートカードは、各アプリケーションに対して一部の仮想マシンが別の仮想マシンより適切であるように、たとえ仮想マシンが同じアプリケーションを実行することができても、異なる特性を有するいくつかの仮想マシンの実行を可能にする。違いは、異なるアプリケーションのセキュリティ、および異なるアプリケーションにより処理されるデータに関係がある。
【0066】
スマートカード内にアプリケーションをロードしている間、アプリケーションのコードは、ベリファイア(verifier)と呼ばれるソフトウェア構成要素により解析される。この構成要素は、カード内にロードされ、カードにより実行される、または厳密な意味でロードする前にスマートカードのセキュリティの責任を負うエンティティにより実行される。ベリファイアは、セキュリティの含意を含むアプリケーションのコードの特性を決定するために、アプリケーションのコードの静的解析を実行する。アプリケーションのコードの解析は、アプリケーションのコードに供給される任意選択の注釈によりサポートされてもよい。特に、ベリファイアは、アプリケーションが、許可されないメモリまたは別の資源にアクセスすることができるというリスクがまったくないと結論を下してもよい。したがって、ベリファイアは、安全なアプリケーション(ベリファイアは、禁止されたアクセスがないことを保証する)を安全ではないアプリケーション(保証はまったく提供されない)と区別することにより、またはより正確な結果を提供することにより、アプリケーションのセキュリティのレベルを計算する。
【0067】
アプリケーションがベリファイアにより十分安全であると識別された場合、中にロードされ、その後、メモリまたは別の資源への一部のアクセス、すなわちベリファイアが不可能であると保証するアクセスを検証しない仮想マシンにより実行される。一方、ベリファイアがそのような保証を提供しない場合、アプリケーションは、潜在的に危険な各アクセスを注意深く検証し、実行中、許可されないアクセスを拒否する別の仮想マシンにより実行される。その方法では、同じスマートカードが、どんな適切なアプリケーションも実行することができるが、より早く安全であると保証されることができるアプリケーションを実行する。
【0068】
実施形態の一代替形態では、スマートカードは、同じアプリケーションを実行することができる2つの仮想マシンを提供するが、第1の仮想マシンは、第1の仮想マシンで実行されるアプリケーションにより操作されるデータの完全性または機密性に影響を及ぼすことを意図するソフトウェアまたはハードウェアの攻撃から保護するための手段を有し、一方、第2の仮想マシンは、そのような保護手段を有しない。取扱いに注意を要するデータを処理するアプリケーションは、第1の仮想マシンに割り当てられ、一方、その他のアプリケーションは、保護手段がないことにより、より効率的にされる第2の仮想マシンに割り当てられる。第2の仮想マシンはまた、開発中のアプリケーションの試験およびデバッグのために使用されることができる。この最後の使用事例では、両方の仮想マシンは、仮想マシン内で実行されるアプリケーションの機能的挙動の見地からすれば同一であるが、外部からの観察という見地からすれば異なることが必要であることに留意されたい。
【0069】
実施例4:共有メモリ
図2に提示される実施形態の実施例では、スマートカードは、少なくとも2つのJava Card(TM)仮想マシンVM1、VM2を含み、各仮想マシンは、自分自身の実行エンジンであるインタプリタ1、インタプリタ2、および自分自身のライブラリJC API1、JC API2を有する。しかしながら、ヒープアプリケーションに充てられるメモリは共有される。本来、単独である構成要素、たとえばレジストリ、受信メッセージディスパッチャ、およびISO7816、SWP、USB、RFなどのためのIOドライバは一般に、異なる仮想マシンにより同様に共有される。
【0070】
アプリケーションに充てられるメモリの共有は、各仮想マシンがアプリケーションのために自分自身特有のメモリ空間を有する場合に対してメモリを節約することができるようにする。実際には、空きメモリ空間を必要としない一方の仮想マシン内に設置される空きメモリ空間の一部が、他方の仮想マシンにとって失われるので、メモリをそれぞれに分割することは、メモリの損失につながる。そのような共有はまた、メモリ管理に充てられるメモリに関して、スケールメリットを可能にすることがある。この面は、特にRAMに関する資源が制限されるスマートカードにとって、特に重要である。
【0071】
アプリケーションが記憶されるメモリが共有されるということはまた、アプリケーション間のデータの交換を容易にする。したがって、その構成は、アプリケーション間の通信の可能性が必要とされる場合、およびセキュリティがアプリケーションを互いから隔離することによる以外で提供されることができる場合に好ましい。メモリを共有することはまた、一方のアプリケーションが、もう一方の仮想マシン内で実行されるもう一方のアプリケーションにより提供されるインタフェースを呼び出すことを許可し、したがって、前記もう一方の仮想マシン内で実行されるコードを一方の仮想マシンからトリガすることを許可することができる。
【0072】
また、たとえ仮想マシンが分かれていても、仮想マシンと独立して実装されるコードの一部のライブラリ、たとえばデータフォーマットを処理するコードのライブラリ、または数値計算ライブラリへの共有アクセスができてもよい。
【0073】
この実施例の一部として、仮想マシンは異なる可能性を提供する。たとえば、一方の仮想マシンが、いくつかの方法により一部のセキュリティ検証の実行をバイパスすることを意図する物理的攻撃たとえばスマートカードの電源の中断から保護するための手段を有する。仮想マシンは、スマートカード所有者が不法に修正しようとすることができる取扱いに注意を要するデータを処理するアプリケーションの実行に充てられる。もう一方の仮想マシンは、そのような保護の手段を提供せず、したがって、より高速である。もう一方の仮想マシンは、ハイレベルの保護を必要としないアプリケーションのために使用される。
【0074】
別の実施例では、Java Card(TM)仮想マシンは、Java Card(TM)言語に不適合でもよい別の拡張を追加する。その場合、言語に特有の拡張を必要とするアプリケーションは、当該の拡張を提供する仮想マシンにより実行される。どんな特定の拡張も必要としないアプリケーションは、任意の仮想マシンにより実行されてもよく、最高の性能を提供する仮想マシンが選択されることが好ましい。
【0075】
実施例5:別個の通信
図3に示される本実施例では、スマートカードは、携帯電話に挿入されるように設計される加入者識別モジュール(SIMカード)であり、前記携帯電話は、近距離無線通信用モジュール(NFCモジュール)を含む。
【0076】
このとき、カードは、電話機との、より詳細には前記電話機のNFCモジュールとの通信のための第1の論理インタフェースを有する。その第1の論理インタフェースは、SWP(Single Wire Protocol)プロトコルを使用して携帯電話とのカード通信を実装するインタフェースである。したがって、インタフェースは、前記モジュールにルーティングされ、通信は、SWPプロトコルを使用して実行される。
【0077】
さらに、カードは、電話機との、より詳細には前記電話機のメインプロセッサとの通信のための第2の論理インタフェースを有する。その第2の論理インタフェースは、通信プロトコル、または規格ISO7816で規定されるプロトコルに基づき、電話機とのカード通信を実装するインタフェースである。
【0078】
本実施例では、スマートカードは、2つの別個のJava Card(TM)仮想マシンVM1およびVM2の実行を可能にする。2つの仮想マシンVM1、VM2のそれぞれは、自分自身の実行エンジンであるインタプリタ1、インタプリタ2、および自分自身のライブラリJC API1、JC API2を有する。第1の仮想マシン(VM1)は、非接触アプリケーションに、たとえばトランスポートアプリケーションに充てられ、電話機のNFCモジュールとの通信用論理インタフェースに単独でアクセスできる。第2の仮想マシンVM2は、電話機アプリケーションに充てられ、プロセッサの電話機能を実装するために電話機のプロセッサとの通信用インタフェースに単独でアクセスできる。
【0079】
したがって、第1の通信インタフェースへのアクセスは、第1の実行空間内だけで許可され、一方、第2の通信インタフェースへのアクセスは、第2の実行空間内だけで許可される。
【0080】
有利なことに、一部の構成要素が、仮想マシン間で共有されたままであることに留意されたい。したがって、カードは、すべての仮想マシン内にインストールされたアプリケーションを列挙するアプリケーションレジストリを1つだけ有する。たとえば、それは、インタフェースを使用して、別のインタフェースと通信するように設計されるアプリケーションをロードすることができるようにする。
【0081】
ヒープ1、ヒープ2のアプリケーションに充てられるメモリは、仮想マシン間で共有されても、されなくてもよいことにさらに留意されたい。各手法の利点は、上記で概要を述べられる実装形態に関連して説明された。メモリの一部が、特に、2つの実行空間に共通のコードライブラリが常に共有されてもよいが、一方、共有しないことが好ましいデータ、特に、取扱いに注意を要するデータまたは機密データのためのメモリが、各仮想マシン内部に取っておかれる。

【特許請求の範囲】
【請求項1】
(a)オブジェクト本体と、(b)プロセッサ、ならびに第1および第2のアプリケーションが記憶される1つまたは複数のメモリを含むマイクロモジュールとを含む、スマートカードタイプの安全なポータブルオブジェクトであって、前記第1および第2のアプリケーションを実行することができる第1および第2の実行エンジンをさらに含むこと、および前記第1のアプリケーションは、第1の実行空間内で前記第1の実行エンジンにより実行され、前記第2のアプリケーションは、第1の実行空間と異なる第2の実行空間内で前記第2の実行エンジンにより実行されることを特徴とする、安全なポータブルオブジェクト。
【請求項2】
第2の実行エンジンが第1の実行エンジンと異なることを特徴とする、請求項1に記載のポータブルオブジェクト。
【請求項3】
第1の実行エンジンが、第1の仮想マシン(VM1)の実行エンジン(インタプリタ1)であること、および第2の実行エンジンが、第2の仮想マシン(VM2)の実行エンジン(インタプリタ2)であることを特徴とする、請求項1また2のいずれか一項に記載のポータブルオブジェクト。
【請求項4】
仮想マシン(VM1、VM2)が、Java Card(TM)仮想マシンであること、および第1および第2のアプリケーションが、Java Card(TM)アプリケーションであることを特徴とする、請求項3に記載のポータブルオブジェクト。
【請求項5】
仮想マシンの実行空間内で仮想マシンにより管理されるアプリケーションを実行するために仮想マシンにより必要とされるセキュリティ手段が、仮想マシンごとに異なること、およびアプリケーションは、アプリケーションの実行に必要とされるセキュリティレベルに基づき、前記仮想マシン内に配置されることを特徴とする、請求項3または4のいずれか一項に記載のポータブルオブジェクト。
【請求項6】
仮想マシンの実行空間内で仮想マシンにより管理されるアプリケーションを実行するために仮想マシンにより必要とされるセキュリティ手段が、仮想マシンごとに異なること、およびアプリケーションは、アプリケーションの認証、またはアプリケーションの検証結果に基づき、前記仮想マシン内に配置されることを特徴とする、請求項3または4のいずれか一項に記載のポータブルオブジェクト。
【請求項7】
実行空間が特定の資源に及ぶこと、および別の実行空間が前記特定の資源に及ばないことを特徴とする、請求項1から6のいずれか一項に記載のポータブルオブジェクト。
【請求項8】
特定の資源が、メモリゾーン内に記憶されるデータを伴う前記メモリゾーン、通信チャネル、通信またはデータの記憶装置、あるいはコードライブラリであることを特徴とする、請求項7に記載のポータブルオブジェクト。
【請求項9】
仮想マシン(VM1、VM2)の資源が共有されることを特徴とする、請求項3から8のいずれか一項に記載のポータブルオブジェクト。
【請求項10】
共有資源が、アプリケーションに充てられるメモリ(ヒープ)、または仮想マシンに共通の一部のコードライブラリを含むことを特徴とする、請求項9に記載のポータブルオブジェクト。
【請求項11】
前記オブジェクトが、近距離無線通信(near field radiofrequency communication)用モジュールを含む携帯電話に挿入されるように設計される加入者識別モジュールであること、前記加入者識別モジュールは、前記近距離無線通信用モジュールに向けてルーティングされる第1の通信インタフェース、および第2の通信インタフェースを有すること、および第1の通信インタフェースへのアクセスが、第1の実行空間内だけで許可されることを特徴とする、請求項1から10のいずれか一項に記載のポータブルオブジェクト。
【請求項12】
第1のアプリケーションが、第2の実行空間内での第2の実行エンジンによる任意の実行を除外して、第1の実行空間内で第1の実行エンジンにより排他的に実行され、第2のアプリケーションが、第2の実行空間内での第1の実行エンジンによる任意の実行を除外して、第2の実行空間内で第2の実行エンジンにより排他的に実行されることを特徴とする、請求項1から11のいずれか一項に記載のポータブルオブジェクト。
【請求項13】
(a)オブジェクト本体と、(b)プロセッサ、ならびに第1および第2のアプリケーションが記憶される1つまたは複数のメモリを含むマイクロモジュールとを含む、スマートカードタイプの安全なポータブルオブジェクトを安全にする方法であって、
前記第1および第2のアプリケーションを実行することができる第1および第2の実行エンジンが提供される段階と、
第1の実行エンジンは、第1の実行空間内で第1のアプリケーションを実行する段階と、
第2の実行エンジンは、第1の実行空間と異なる第2の実行空間内で第2のアプリケーションを実行する段階と
を含むことを特徴とする方法。
【請求項14】
インストールすべき各アプリケーションに対して割り当てられる実行空間が識別される段階と、
前記アプリケーションは、前記実行空間内で実行されるようにインストールされる段階と
をさらに含むことを特徴とする、請求項13に記載の方法。
【請求項15】
実行空間が、少なくとも、前記アプリケーションの提供業者の識別情報により識別されることを特徴とする、請求項14に記載の方法。
【請求項16】
実行空間が、少なくとも、前記アプリケーションの検証または認証のレベルにより決定されることを特徴とする、請求項14に記載の方法。
【請求項17】
前記第1の実行空間が資源へのアクセスを許可し、前記第2の実行空間が前記資源へのアクセスを許可せず、割り当てるべき前記実行空間は、少なくとも、前記アプリケーションが前記資源にアクセスする必要性により識別されることを特徴とする、請求項14に記載の方法。
【請求項18】
前記資源が、前記安全なポータブルオブジェクトの通信インタフェースであることを特徴とする、請求項17に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公表番号】特表2013−510352(P2013−510352A)
【公表日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2012−537321(P2012−537321)
【出願日】平成22年11月3日(2010.11.3)
【国際出願番号】PCT/EP2010/006693
【国際公開番号】WO2011/054498
【国際公開日】平成23年5月12日(2011.5.12)
【出願人】(512116055)
【Fターム(参考)】