(57)【要約】携帯型電子デバイスに組み込まれたアプリケーションを実行する方法である。アプリケーションはオブジェクトを処理する命令を備え、電子デバイスはプリセットされたセキュリティ規則にオブジェクトが準拠するかどうかをチェックするよう構成されたファイアウォールを備え、携帯型電子デバイスはオブジェクトに一意的に関連するデータセットを格納するよう構成された揮発性メモリ領域を備え、データセットはプリセットされたセキュリティ規則にオブジェクトが準拠するかどうかのチェックの結果を示すインジケータを備える。当該方法は、命令の実行の前に、オブジェクトに関連しセキュリティ規則のチェックの成功を示すインジケータを備えるデータセットの存在を揮発性メモリ内でチェックする段階と、データセットのチェックが成功の場合、ファイアウォールによって実行される追加のセキュリティ規則のチェックなしに命令の実行を許可する段階とを備える。【選択図】  図３
2012526313.tif 000002
【特許請求の範囲】
【請求項１】
携帯型電子デバイス（ＳＣ）に組み込まれたアプリケーション（ＡＰ）を実行するための方法であって、
前記アプリケーション（ＡＰ）は、オブジェクト指向言語で記述され、第１オブジェクト（ＯＢ１）を処理する少なくとも１つの命令（ＩＮＳ１）を備え、
前記電子デバイス（ＳＣ）は、仮想マシン（ＶＭ）と、前記第１オブジェクトのプリセットされたセキュリティ規則への準拠をチェックするように構成されたファイアウォール（ＦＷ）とを備え、
前記携帯型電子デバイス（ＳＣ）は、前記第１オブジェクト（ＯＢ１）と一意的に関連するデータセット（ＥＮ１）を格納するように構成された揮発性メモリ領域（ＯＣ）を備え、
前記データセット（ＥＮ）は、前記第１オブジェクト（ＯＢ１）のプリセットされたセキュリティ規則への準拠のチェックの結果を示すインジケータ（Ｉ１）を備え、
前記方法は、前記命令（ＩＮＳ１）の実行の前に、
−揮発性メモリ領域（ＯＣ）内における前記第１オブジェクト（ＯＢ１）に関連する前記データセット（ＥＮ１）の存在と、前記データセット（ＥＮ１）内におけるセキュリティ規則のチェックの成功を示すインジケータ（Ｉ１）の存在とを確認する段階と、
−存在のチェック段階が成功の場合、ファイアウォール（ＦＷ）によって実行される追加のセキュリティ規則のチェックなしに、命令（ＩＮＳ１）の実行を許可する段階とを備えることを特徴とする方法。
【請求項２】
前記方法は、存在チェックが成功の場合、さらに、
−前記第１オブジェクト（ＯＢ１）に関連するメタデータを前記データセット（ＥＮ１）から取得する段階を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記方法は、存在チェックが不成功の場合、さらに、
−前記第１オブジェクト（ＯＢ１）に関連し、新たなインジケータを備える新たなデータセットを前記揮発性メモリ領域（ＯＣ）内に生成する段階と、
−前記命令（ＩＮＳ１）に関連する前記第１オブジェクト（ＯＢ１）の前記プリセットされたセキュリティ規則への準拠をチェックする段階と、
−前記新たなデータセットの前記新たなインジケータを、前記第１オブジェクト（ＯＢ１）の前記セキュリティ規則への準拠のチェックの結果で更新する段階とを備えることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記方法はさらに、
−前記新たなデータセットを、前記第１オブジェクト（ＯＢ１）に関連するメタデータで更新する段階を備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記第１オブジェクト（ＯＢ１）はディスクリプタを備え、前記新たなデータセットは前記第１オブジェクト（ＯＢ１）の前記ディスクリプタの一部又は全部で更新されることを特徴とする請求項４に記載の方法。
【請求項６】
前記アプリケーション（ＡＰ）と前記仮想マシン（ＶＭ）とはJavaCard2.x標準要件に準拠することを特徴とする請求項１に記載の方法。
【請求項７】
前記揮発性メモリ領域（ＯＣ）へのアクセスは、前記仮想マシン（ＶＭ）に限定されていることを特徴とする請求項１に記載の方法。
【請求項８】
アプリケーション（ＡＰ）と、仮想マシン（ＶＭ）と、プリセットされたセキュリティ規則へのデータの準拠をチェックするように構成されたファイアウォール（ＦＷ）とを備える携帯型電子デバイス（ＳＣ）であって、
前記アプリケーション（ＡＰ）は、オブジェクト指向言語で記述され、第１オブジェクト（ＯＢ１）を処理する少なくとも１つの命令（ＩＮＳ１）を備え、
前記携帯型電子デバイス（ＳＣ）は、前記第１オブジェクト（ＯＢ１）と一意的に関連するデータセット（ＥＮ１）を格納する揮発性メモリ領域（ＯＣ）を備え、
前記データセット（ＥＮ１）は、前記第１オブジェクト（ＯＢ１）の前記プリセットされたセキュリティ規則（ＳＲ）への準拠のチェックの結果を示すインジケータを備え、
前記携帯型電子デバイス（ＳＣ）は、第１および第２手段（Ｍ１、Ｍ２）を備え、
前記第１手段（Ｍ１）は、前記揮発性メモリ領域（ＯＣ）内における前記第１オブジェクト（ＯＢ１）に関連するデータセット（ＥＮ１）の存在と、前記データセット（ＥＮ１）内におけるセキュリティ規則のチェックの成功を示すインジケータ（Ｉ１）の存在とをチェックすることができ、
前記第２手段（Ｍ２）は、存在チェックが成功の場合、前記ファイアウォール（ＦＷ）によって実行される追加のセキュリティ規則チェックなしに、前記命令（ＩＮＳ１）の実行を許可することができることを特徴とする携帯型電子デバイス。
【請求項９】
前記携帯型電子デバイス（ＳＣ）は、前記揮発性メモリ領域（ＯＣ）内に新たなデータセットを生成し初期化することのできる第３手段（Ｍ３）を備え、
前記新たなデータセットは、前記第１オブジェクト（ＯＢ１）に関連することを特徴とする請求項８に記載の携帯型電子デバイス（ＳＣ）。
【請求項１０】
前記携帯型電子デバイス（ＳＣ）は、プリセットされたイベントが発生した場合、前記揮発性メモリ領域（ＯＣ）を消去することのできる第４手段（Ｍ４）を備えることを特徴とする請求項８乃至９のいずれか１項に記載の携帯型電子デバイス（ＳＣ）。
【請求項１１】
前記アプリケーション（ＡＰ）と前記仮想マシン（ＶＭ）とはJavaCard2.x標準要件に準拠することを特徴とする請求項８乃至１０のいずれか１項に記載の携帯型電子デバイス（ＳＣ）。
【請求項１２】
前記携帯型電子デバイス（ＳＣ）はスマートカードであることを特徴とする請求項８乃至１１のいずれか１項に記載の携帯型電子デバイス（ＳＣ）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯型電子デバイスに組み込まれたアプリケーションを実行する方法に係り、より詳細には、命令がセキュリティ規則に準拠する必要のあるアプリケーションを実行する方法に関する。
【背景技術】
【０００２】
携帯型電子デバイスは、メモリと、マイクロプロセッサと、計算処理のためのオペレーティングシステムとを備える小型のマシンである。通常、携帯型電子デバイスは、異なる種類の複数のメモリを備える。例えば、携帯型電子デバイスは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュメモリを備えてもよい。携帯型電子デバイスが有する計算リソースには制約があり、携帯型電子デバイスはホストマシンに接続されるように構成されている。携帯型電子デバイスは、オブジェクト指向言語で書かれたアプリケーションを実行可能なように、オブジェクト指向仮想マシンを組み込んでもよい。
【０００３】
オペレーティングシステムに基づくスマートカードにおいて、接続されたホストマシンから受信されるほとんどのコマンドは、現在選択されているアプリケーションに格納される。現在選択されているアプリケーションがJava（登録商標）Cardアプレットであると特定されると、受信コマンド処理は、JavaCard実行環境（JavaCard Runtime Environment）またはＪＣＲＥと呼ばれるオペレーティングシステムであるJavaCardサブシステムに任される。JavaCardサブシステムは、選択されたアプリケーションのエントリポイントの１つの上で仮想マシンの解釈ループを開始することによって、コマンドを対象のアプリケーションに格納する。そのようなエントリポイントは例えば、インストール、選択、またはプロセス処理に相当する。JavaCardバイトコード解釈シーケンスの全体を通じて、ＪＣＲＥは、JavaCard 2.x仕様に記載されているファイアウォール規則を適用することによって、現在の実行のフローが違法な動作を試みることがないようにする。
【０００４】
ＪＣＲＥは、アプレットコンテキスト間が十分に分離されるようにする。概念的には、誤ったバイトコードシーケンスの実行に対して保護を提供することは、ＪＣＲＥの責任であることを意味する。セキュリティ検証はファイアウォールによって実行される。Java命令が実行されようとする時、関連するセキュリティ条件はチェックされ、満たされていなければならない。そうでない場合は、セキュリティ例外が発生する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アプリケーションが携帯型電子デバイス上で実行される場合に、セキュリティ規則のチェックに割り当てられる時間を改善する必要がある。
【課題を解決するための手段】
【０００６】
本発明の目的は上記の技術的課題を解決することである。
本発明の目的は携帯型電子デバイス内に組み込まれたアプリケーションを実行するための方法を提供することである。アプリケーションは、第１データを処理する少なくとも1つの命令を備える。携帯型電子デバイスは、第１データのプリセットされたセキュリティ規則への準拠をチェックするように構成されたファイアウォールを備える。携帯型電子デバイスは、第１データと一意的に関連するデータセットを格納するように構成された揮発性メモリ領域を備える。データセットは、第１データのプリセットされたセキュリティ規則への準拠のチェックの結果を示すインジケータを備える。当該方法は、命令の実行の前に、
−揮発性メモリ領域内における第１データに関連するデータセットの存在と、データセット内におけるセキュリティ規則のチェックの成功を示すインジケータの存在とを確認する段階と、
−データセットのチェックが成功の場合、ファイアウォールによって実行される追加のセキュリティ規則のチェックなしに、命令の実行を許可する段階とを備える。
【０００７】
当該方法は、データセットのチェックが成功の場合、さらに、メタデータをデータセットから取得する段階を備えてもよく、メタデータは、第１データに関連する。
揮発性メモリ領域内に第１データに関連するデータセットが存在しない場合、当該方法は、さらに、
−揮発性メモリ領域内に、第１データに関連し、新たなインジケータを備える新たなデータセットを生成する段階と、
−命令に関連する第１データのプリセットされたセキュリティ規則への準拠をチェックする段階と、
−新たなデータセットの新たなインジケータを第１データのセキュリティ規則への準拠のチェックの結果で更新する段階とを備えてもよい。
【０００８】
有利に、当該方法は、第１データに関連するメタデータで新たなデータセットを更新する段階を備えてもよい。
好ましい実施形態において、第１データはディスクリプタを備えてもよく、新たなデータセットは、第１データのディスクリプタの一部又は全部で更新されてもよい。
有利に、アプリケーションはオブジェクト指向言語で記述されてもよい。第１データはオブジェクトであってもよく、携帯型電子デバイスは仮想マシンを備えてもよい。
特に、アプリケーションおよび仮想マシンは、JavaCard2.x標準要件に準拠してもよい。
好ましい実施形態において、揮発性メモリ領域へのアクセスは、仮想マシンに限定される。
【０００９】
本発明の別の目的は、アプリケーションと、データのプリセットされたセキュリティ規則への準拠をチェックするように構成されたファイアウォールを備える携帯型電子デバイスを提供することである。アプリケーションは、第１データを処理する少なくとも１つの命令を備える。携帯型電子デバイスは、第１データと一意的に関連するデータセットを格納する揮発性メモリ領域を備える。データセットは、第１データのプリセットされたセキュリティ規則への準拠のチェックの結果を示すインジケータを備える。携帯型電子デバイスは、第１および第２手段を備える。第１手段は、揮発性メモリ領域内における、第１データに関連し、セキュリティ規則のチェックの成功を示すインジケータを備えるデータセットの存在をチェックする。第２手段は、データセットのチェックが成功の場合、ファイアウォールによって実行される追加のセキュリティ規則チェックなしに、命令の実行を許可することができる。
【００１０】
有利に、携帯型電子デバイスは、揮発性メモリ領域内に新たなデータセットを生成し初期化することのできる第３手段を備えてもよく、新たなデータセットは、第１データに関連する。
携帯型電子デバイスは、プリセットされたイベントが発生した場合、揮発性メモリ領域を消去することのできる第４手段を備えてもよい。
好ましい実施形態において、アプリケーションは、オブジェクト指向言語で記述されてもよい。第１データはオブジェクトであってもよく、携帯型電子デバイスは仮想マシンを備えてもよい。
有利に、アプリケーションおよび仮想マシンは、JavaCard2.x標準要件に準拠してもよい。
携帯型電子デバイスはスマートカードであってもよい。
【図面の簡単な説明】
【００１１】
本発明の他の特徴および有利な効果は、対応する添付の図面を参照しながら、以下の本発明の多数の好ましい実施形態の記載を読むことによってより明らかになるであろう。
【００１２】
【図１】本発明によるスマートカード型の携帯型電子デバイスのアーキテクチャの例の概略図。
【図２】従来の技術によるセキュリティ規則チェックシーケンスの例。
【図３】本発明によるセキュリティ規則チェックシーケンスの例。
【発明を実施するための形態】
【００１３】
本発明は、アプリケーション命令の実行の前にセキュリティ規則をチェックすることを目的とするファイアウォールを備えるどのような携帯型電子デバイスに適用されてもよい。以下の実施形態は、オブジェクト指向言語で記述されたアプリケーションに対するものだが、本発明はどのような言語で記述されたアプリケーションの実行に適用されてもよい。本明細書中において、「オブジェクト」なる用語は、命令によって処理されるあらゆるデータ要素として理解されなければならない。さらに、「命令実行」なる語は、実行または解釈機構を介する命令の実行として理解されなければならない。
【００１４】
各アプリケーション命令は、そのセキュリティ規則がファイアウォールによってチェックされる必要のあるオブジェクトを処理する。本発明は、オブジェクトアクセスに関連するデータを格納する特定の保護されたメモリ領域のおかげで、必要な場合にのみファイアウォールチェックが行われるという事実に依拠する。保護されたメモリ領域はメモリキャッシュとして動作する。各オブジェクトのアクセス規則は、ある実行コンテキストに対して、一度だけチェックされる。
【００１５】
図１は、本発明によるスマートカードＳＣ型の携帯型電子デバイスのアーキテクチャを示す。この例において、携帯型電子デバイスＳＣはJavaCardスマートカードである。
携帯型電子デバイスＳＣは、ＲＡＭ型の作業メモリＭＥＭ１と、不揮発性メモリＭＥＭ２と、揮発性メモリ領域ＯＣと、マイクロプロセッサＭＰと、通信インターフェースＩＮとを備える。不揮発性メモリＭＥＭ２は、オペレーティングシステムＯＳと、オブジェクト指向仮想マシンＶＭと、中間コードにコンパイルされたアプリケーションＡＰと、ファイアウォールＦＷと、セキュリティ規則ＳＲと、４個のメソッドＭ１、Ｍ２、Ｍ３、Ｍ４とを備える。アプリケーションＡＰは、仮想マシンＶＭによって実行されるように構成される。好ましい実施形態において、アプリケーションＡＰはJavaCardアプレットである。携帯型電子デバイスは、通信インターフェースＩＮを介してホストマシンに接続されるように構成される。例えば、ホストマシンは、パーソナルコンピュータまたは携帯電話であってもよい。
【００１６】
揮発性メモリ領域ＯＣは、２個のデータセットＥＮ１およびＥＮ２を備える。データセットＥＮ１は第１オブジェクトＯＢ１に関連し、データセットＥＮ２は第２オブジェクトＯＢ２に関連する。データセットＥＮ１は、インジケータＩ１および第１オブジェクトＯＢ１に属するメタデータＭＤ１を備える。データセットＥＮ２は、インジケータＩ２および第１オブジェクトＯＢ１に属するメタデータＭＤ２を備える。インジケータＩ１は第１オブジェクトＯＢ１の、Ｉ２は第２オブジェクトＯＢ２の、プリセットされたセキュリティ規則ＳＲへの準拠のチェックの結果を示す値を含むように構成される。例えば、インジケータＩ１およびＩ２は、１ビットに記憶され、「０」は「チェック成功」を示し、「１」は「チェック不成功」を示す。例えば、メタデータＭＤ１およびＭＤ２は、対応するオブジェクトデータのセキュリティ情報、権限、場所、および種類に相当する。好ましい実施形態において、メタデータは、対応するオブジェクトディスクリプタから抽出されたデータを含む。
【００１７】
有利に、データセットＥＮ１は第１オブジェクトＯＢ１へのリファレンスを、ＥＮ２は第２オブジェクトＯＢ２へのリファレンスをそれぞれ備えてもよい。例えば、アドレスがリファレンスとして使用されてもよい。
あるいは、メモリ領域ＯＣは、カードＳＣのリセットの間に消去される不揮発性メモリであってもよい。
メモリＭＥＭ２は、ＮＡＮＤフラッシュまたはＥＥＰＲＯＭメモリ、あるいは別の種類の不揮発性メモリであってもよい。
好ましい実施形態において、メモリＭＥＭ１およびＯＣは、固有のメモリコンポーネントに実装されてもよい。
あるいは、メモリＭＥＭ１およびＯＣは複数のメモリコンポーネントに実装されてもよい。
【００１８】
第１メソッドＭ１は、揮発性メモリ領域ＯＣ内における対象のオブジェクトに関連するデータセットの存在をチェックすることができる。メモリ領域ＯＣ内でデータセットが見つかった場合、第１メソッドＭ１はまた、見つかったデータセットがセキュリティ規則のチェック成功を示すインジケータを備えているかどうかをチェックすることができる。
【００１９】
第２メソッドＭ２は、第１メソッドＭ１によって準拠するデータセットがメモリ領域ＯＣ内で見つかった場合は、ファイアウォールによるさらなるセキュリティ規則のチェックなしに、対象のオブジェクトに関する命令の実行を許可することができる。第２メソッドＭ２はまた、ファイアウォールによってセキュリティ規則チェックが成功裏に行われた場合は、対象のオブジェクトに関する命令の実行を許可することができる。第１メソッドＭ１がチェックを実行する時に、メモリ領域ＯＣが対象のオブジェクトに対応する関連するデータセットを備えていない場合もあり得る。
【００２０】
第３メソッドＭ３は、揮発性メモリ領域ＯＣ内に、新たなデータセットを生成し、初期化することができる。新たなデータセットは、実行されるべき命令によって処理される対象のオブジェクトに関連する。
【００２１】
第４メソッドＭ４は、実行コンテキストが変更された時、揮発性メモリ領域ＯＣを消去することができる。例えば、実行コンテキストは、携帯型電子デバイスＳＣがリセットされた時、または、携帯型電子デバイス上で別のアプリケーションが実行を開始した時に変更される。
有利に、第４メソッドＭ４は、実行コンテキストが変更された時、揮発性メモリ領域ＯＣの一部のみを消去することができてもよい。
あるいは、第４メソッドＭ４は、実行コンテキストが変更された時、揮発性メモリ領域ＯＣの全体を消去することができてもよい。
【００２２】
メモリ領域ＯＣはアクセスが制限されている保護領域である。好ましい実施形態においては、メソッドＭ１のみがメモリ領域ＯＣの内容を読み出すことのできるアクセス権を有する。好ましい実施形態においては、メソッドＭ３およびＭ４のみがメモリ領域ＯＣに書き込むことのできるアクセス権を有する。
有利に、メモリ領域ＯＣへのアクセスは、メモリ領域ＯＣの現在の実行コンテキストに関連するデータを含む部分に制限されてもよい。
好ましい実施形態において、メモリ領域ＯＣは、直接ＪＣＲＥによって管理される。あるいは、メモリ領域ＯＣはファイアウォールＦＷによって管理されてもよい。
【００２３】
図２は、従来の技術によるセキュリティ規則チェックの例を示す。
アプリケーション「マイ  アプレット  Ａ」は、オブジェクトmyObjとオブジェクトmyObjを処理するいくつかのメソッドとを定義する。仮想マシンＶＭは、アプリケーションの実行を担当する解釈エンジンを備える。メソッドが呼び出される毎に、解釈エンジンは自動的に現在呼び出されたメソッドに対応するオブジェクトのセキュリティ規則のチェックをファイアウォールＦＷに要求する。図２の例において、３つの連続するメソッド（getfield_s、getfield_bおよびputfield_b）は、同じオブジェクトのために呼び出される。したがって、３つのアクセス要求ＡＲ１、ＡＲ２、およびＡＲ３が引き続いて同じオブジェクトに対してファイアウォールＦＷに送信される。ファイアウォールＦＷによって受信された各アクセス要求は、完全なセキュリティ規則チェックを発生する。
【００２４】
このようにJavaCardメソッドの解釈の間、JavaCard仮想マシンＶＭエンジンは、現在の実行コンテキストの中でオブジェクトがアクセス可能か、または、メソッドが呼び出し可能かを判断するためのセキュリティチェックを実行することに、かなりの時間を費やす。現在の解釈の流れで同じオブジェクトが数個前の命令で操作されていても、オブジェクトがアクセスされる度に、ファイアウォール規則が適用される。実行コンテキストが変更されていない限り、同じオブジェクトに対するアクセス規則の有効性を検証する必要はないため、これは、特に非効率的かつ不必要である。
【００２５】
図３は、本発明によるセキュリティ規則チェックシーケンスの例を示す。
本発明によれば、特定のメモリ領域ＯＣは現在操作されているオブジェクトの情報を保持する。オブジェクトアクセスのキャッシュの役割はメモリ領域ＯＣに割り当てられる。メモリ領域ＯＣは、複数のデータセットを備えるように構成された揮発性メモリ領域である。各データセットは１つのオブジェクトに関連し、関連するオブジェクトの関連情報を含む。データセットのフォーマットは様々であってよい。各データセットは、現在の実行コンテキストにおいて（このデータセットが属する）オブジェクトへのアクセスが検証され許可されたかどうかを知らせるインジケータを含む。
【００２６】
本発明によれば、全ての操作されるオブジェクトは、JavaCardＶＭランタイムシーケンスの間にメモリ領域ＯＣを介してアクセスされる。オブジェクトが操作されるとすぐに新たなデータセットが生成され、新たなオブジェクトに割り当てられ、データセットの内容は新たなオブジェクトのステイタスに対応するデータで占められる。換言すると、対象のオブジェクトに対応するデータセットがメモリ領域ＯＣに存在しないことをメモリ領域ＯＣのチェックが示す場合、新たなデータセットがメモリ領域ＯＣの中で対象のオブジェクトに対して生成される。そして、セキュリティ規則がファイアウォールによってチェックされ、新たなデータセットのインジケータは、ファイアウォールのチェック結果に従って更新される。同様に、対象のオブジェクトに対応するデータセットがセキュリティ規則が成功裏にチェックされなかったことを示すインジケータを備えることをメモリ領域ＯＣのチェックが示す場合、セキュリティ規則はファイアウォールＦＷによってチェックされ、関連データセットのインジケータは、新たなファイアウォールのチェック結果に従って更新される。好ましい実施形態おいて、インジケータはデータセットの一部である。あるいは、インジケータはデータセット自体であってもよい。インジケータのチェックは、メモリ領域ＯＣ内の関連データセットの存在のチェックに相当する。この際、ファイアウォールチェックが不成功である場合、データセットはメモリ領域ＯＣから削除される。
【００２７】
図３の例において、３つの連続するメソッド（getfield_s、getfield_bおよびputfield_b）は同じオブジェクトmyObjに対して呼び出され、ただ１つのアクセス要求ＡＲ４がファイアウォールＦＷに送信され、完全セキュリティ規則チェックを発生する。メモリ領域ＯＣの内容のおかげで、オブジェクトアクセス検証は必要以上には行われない。各オブジェクトアクセスは、ある実行コンテキストに対して、一度だけチェックされる。メモリ領域ＯＣのデータにアクセスするために必要とされる時間は、１つのオブジェクトの完全なセキュリティ規則チェックのために必要な時間よりも少ない。本発明によれば、安全な方法でアプリケーションを実行する場合の時間が節減される。
【００２８】
JavaCard 2.x仕様によれば、オブジェクト生成モデルは永続的である。オブジェクトのメタデータにアクセスすることはまた、オブジェクトが記憶されている不揮発性メモリ領域を読み込むことを意味する。この不揮発性メモリ領域はJavaCardアプレット永続ヒープとも呼ばれる。
【００２９】
有利に、データセットはさらに、他のメタデータ値を収集してもよい。例えば、データセットはさらに、オブジェクトデータの種類およびセキュリティ情報、場所を備えてもよく、関連するオブジェクトのディスクリプタの部分的または完全なコピーを備えることも可能である。メタデータは管理データに相当してもよい。
【００３０】
大抵の場合、JavaCardバイトコード処理の間、JavaCard仮想マシンは、一貫性チェックを実行できるように、関連オブジェクトデータ（オブジェクトの種類、長さ、権限等）を取得するためにオブジェクトにアクセスする。これらの検証を実行されるために使用されるすべてのデータは、通常オブジェクトに関連するメタデータ領域に収集される。このオブジェクトメタデータ構造は通常オブジェクトディスクリプタと呼ばれる。
【００３１】
チェックが実行される必要がある度毎に、以下の操作が実行される。
−オブジェクトディスクリプタの場所の取得と、
−オブジェクトディスクリプタの構造の読み出し。実行中の検証の性質に応じて、読み出し操作は何度か実行されてもよい。
【００３２】
本発明によれば、ＪＣＲＥは、対象オブジェクトに関連するデータを取得するためにメモリ領域ＯＣに格納されたデータセットを使用することができる。例えば、ＪＣＲＥは、オブジェクトの種類またはオブジェクトの所有者を、JavaCardアプレット永続ヒープからではなく、メモリ領域ＯＣから取得する。
本発明によれば、ＪＣＲＥは、オブジェクトに関連する永続メタデータ領域にアクセスすることなく、対象のオブジェクトに関連するデータを取得できる。
【００３３】
揮発性メモリ領域ＯＣに格納されたデータにアクセスするための時間は、不揮発性メモリに格納された同じデータにアクセスするための時間よりも短い。本発明の有利な効果は、不揮発性メモリからメタデータを取得するのではなく、揮発性メモリ領域ＯＣから同じデータを取得する際に、ＪＣＲＥが時間を節減できることである。
本発明の別の有利な効果は、アプリケーションの実行中に不揮発性メモリへのアクセスが集中することを避けられることである。
【符号の説明】
【００３４】
ＳＣ：スマートカード
ＩＮ：インターフェース
ＭＥＭ１：作業メモリ
ＭＥＭ２：不揮発性メモリ
ＯＣ：揮発性メモリ領域
ＭＰ：マイクロプロセッサ
ＡＰ：アプリケーション
ＶＭ：仮想マシン
ＯＳ：オペレーティングシステム
ＦＷ：ファイアウォール
ＳＲ：セキュリティ規則
Ｍ１〜Ｍ４：メソッド
ＥＮ１〜ＥＮ２：データセット
Ｉ１〜Ｉ２：インジケータ
ＭＤ１〜ＭＤ２：メタデータ
ＡＲ１〜ＡＲ４：アクセス要求
【図１】
2012526313.tif 000003
【図２】
2012526313.tif 000004
【図３】
2012526313.tif 000005
【国際調査報告】
2012526313.tif 000006
2012526313.tif 000007
2012526313.tif 000008