JP2013030175A - 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 - Google Patents
小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 Download PDFInfo
- Publication number
- JP2013030175A JP2013030175A JP2012202985A JP2012202985A JP2013030175A JP 2013030175 A JP2013030175 A JP 2013030175A JP 2012202985 A JP2012202985 A JP 2012202985A JP 2012202985 A JP2012202985 A JP 2012202985A JP 2013030175 A JP2013030175 A JP 2013030175A
- Authority
- JP
- Japan
- Prior art keywords
- applet
- context
- jcre
- card
- access
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Details Of Garments (AREA)
- Surgical Instruments (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】コンテキスト障壁が、プリンシパル及びオブジェクトが同じコンテキスト内にあるか、又は要求されたアクションが操作されるべきオブジェクトに対して認証されているかを検査するセキュリテイ検査を実行する。各プログラム又は1組のプログラムは分離されたコンテキスト内で実行される。しかし、1つのコンテキストがコンテキスト障壁の制約無く、全てのプログラム・モジュールにアクセスできる。
【選択図】図14
Description
本出願は、1997年4月15日に出願された米国特許出願シリアル番号08/839.621、発明の名称「セキュリテイ分配バイト・コード確証を有する仮想マシン」、発明者モシュ・レビイとジュデイ・シュワブ(ドケット番号50253−221/P3263)の関連出願である。
発明の属する技術分野
本発明は、コンピュータ・セキュリテイに関し、より詳細には、スマート・カードなどの小面積装置にセキュリテイを施す技術に関する。
いくつかのオブジェクト指向プログラミング言語が、当業者に良く知られている。これらの例は、C++言語及びスモールトーク言語を含む。
小面積装置上にコンピュータ・プログラム及び他の情報を置くことを試みる時、いくつかの問題が存在する。1つの大きな問題は大変に制限されたメモリ空間の存在である。これはしばしば必要な機能をメモリ空間内に与えるために非常に大きな努力を要する。
本発明は、1つのコンテキストを他から隔離及び分離を与えるためのコンテキスト障壁(時々、フアイヤウォールと呼ばれる)を提供し、必要な時に障壁を横断して制御されたアクセスを提供することに関する。
以下の詳細な説明は、コンピュータ又はコンピュータ・ネットワーク上で実行されるプログラム手順の言葉で説明される。これらの手続的記述及び表現は、当業者が彼等の仕事の本旨を最も効果的に他の当業者に伝えるのに使用される手段である。
付録として明細書に添付したものは、未刊行のジャバ・カード実行時環境2.1仕様という名称の書類の草案である。この草案書類は本発明の特定の実施の形態のさらに詳細な説明を与える。
図13は、フアイヤウォールを横断してアクセスを許可するためにグローバル・データ構造の使用を説明するブロック図である。この手法において、スーパーコンテキスト760は、グローバル配列などのグローバル・データ構造を生成する。特定の実施の形態では、スーパーコンテキスト760はこのようなグローバル・データ構造を生成することを許可された唯一のコンテキストである。(別の実施の形態では、グローバル・データはスーパーコンテキスト以外のコンテキストにより収納されてよいことが理解される。)このグローバル状態のため、コンテキスト770及び780の各々は、グローバル・データ構造を読書きすることができる。このように、1つのコンテキストによりグローバル・データ構造内に書込まれた情報は、別のコンテキストにより読み出すことができる。例えば、この機構はコンテキスト間でオブジェクトへの参照又は2進値データを送るために使用できる。
ジャバ(商標)カード(商標)実行時環境(JCRE)2.1仕様
草案2
Copyright(c)1998 Sun Microsystems,Inc.
901 San Antonio Road, Pal Alto, CA 94303 USA
全ての権利を留保。この書類の著作権はサン・マイクロシステムズ社が所有する。
サンは、このソフトウェアの適当性について、非侵害性又は特定の目的の適合性又は商品可能性の黙示的保証を限定的ではなく含む、一切の明示又は黙示の保証又は表示をしない。サンはこのソフトウエア及び二次的著作物の使用、修正、又は配布の結果としてライセンシーが受けた損害については責任を持たない。
サン、サン・ロゴ、サン・マイクロシステムズ、ジャバソフト、ジャバビーンズ、JDK、ジャバ、ジャバカード、ホットジャバ、ホットジャバ・ビュウズ、ビジュアル・ジャバ、ソラリス、NEO、ジョー、ネトラ、NFC、ONC、ONC+、オープン・ウインドウズ、PC−NFS、エンベデッド・ジャバ、パーソナル・ジャバ、SNM、サンネット・マネージャ、ソラリス・サンバースト・デザイン、ソルステイス、サンコア、ソーラーネット、サンウェブ、サン・ワークステーション、ザ・ネットワーク・イズ・ザ・コンピュータ、ツールトーク、ウルトラ、ウルトラコンピューテイング、ウルトラサーバ、ホェア・ザ・ネットワーク・イズ・ゴーイング、サン・ワークショツプ、エックス・ビュー、ジャバ・ワークショップ、ジャバ・コーヒー・カップ・ロゴ、及びビジュアル・ジャバは、サン・マイクロシステムズ社の米国または他の国での商標又は登録商標である。
目次
前書
1. 導入
2. ジャバ・カード仮想マシンの一生
3. ジャバ・カード・アプレットの一生
3.1 メソッド・インストール
3.2 メソッド・セレクト
3.3 メソッド・プロセス
3.4 メソッド・デセレクト
3.5 電源喪失及びリセット
4. 一時的オブジェクト
4.1 一時的オブジェクトをクリアする出来事
5. 選択
5.1 デフォルト・アプレット
5.2 選択命令処理
5.3 非選択命令処理
6. アプレット隔離及びオブジェクト共有
6.1 アプレット・フアイヤウォール
6.1.1 コンテキスト及びコンテキスト切換え
6.1.2 オブジェクト所有
6.1.3 オブジェクト・アクセス
6.1.4 フアイヤウォール保護
6.1.5 静的フイールド及びメソッド
6.2 コンテキストを横断したオブシェクト・アクセス
6.2.1 JCRE入口点オブジェクト
6.2.2 グローバル配列
6.2.3 JCRE特権
6.2.4 共有可能インターフエイス
6.2.5 前のコンテキストの決定
6.2.6 共有可能インターフエイスの詳細
6.2.7 共有可能インターフエイス・オブシェクトの獲得
6.2.8 オブジェクト・アクセス振舞い
6.3 一時的オブジェクト及びアプレット・コンテキスト
7. トランザクション及びアトミシテイ
7.1 アトミシテイ
7.2 トランザクション
7.3 トランザクション期間
7.4 ネストされたトランザクション
7.5 テスト及びリセット・トランザクション故障
7.6 トランザクションの中止
7.6.1 プログラム的中止
7.6.2 JCREによる中止
7.6.3 JCREのクリーンアップ責任
7.7 一時的オブジェクト
7.8 コミット容量
8. APIトピックス
8.1 APDUクラス
8.1.1 外向きデータ転送のT=0詳細
8.1.2 外向きデータ転送のT=1詳細
8.2 セキュリテイ及び暗号パッケージ
8.3 JCSystemクラス
9. 仮想マシン・トピックス
9.1 資源故障
10. アプレット・インストーラ
10.1 インストーラ
10.1.1 インストーラ実現
10.1.2 インストーラAID
10.1.3 インストーラAPDU
10.1.4 インストーラ振舞い
10.1.5 インストーラ特権
10.2 新にインストールされたアプレット
10.2.1 インストーレイション・パラメータ
11. API定数
前書
ジャバ(商標)カード(商標)技術は、ジャバ・プログラミング言語の一部と、スマート・カード及び関連する小メモリ埋め込み装置に最適化された実行時環境とを結合する。ジャバカード技術の目標は、ジャバ・ソフトウェア・プログラミングの多くの利点を資源を、制約されたスマート・カードの世界へ持って来ることである。
この仕様は、ジャバ・カード技術仕様を拡張する仕様を開発、実現を作成する際、又はジャバ・カード実行時環境(JCRE)の拡張を作る際にJCRE実現を補助することを意図している。この仕様はさらに、ジャバ・カード技術仕様の理解を深めたいシャバ・カード・アプレット開発者に対して意図している。
このガイドを読む前に、あなたはジャバ・プログラミング言語、ジャバ・カード技術仕様、及びスマート・カードに明るくなければならない。ジャバ技術及びジャバ・カード技術に明るくなるための良い材料が、サン・マイクロシステムズ社のウェブ・サイト、http://java.sun.comにある。
1章、「JCREの範囲と責任」はJCRE実現に必要とされるサービスの概観を与える。
2章、「仮想マシンの一生」は仮想マシンの一生を定義する。
3章、「アプレットの一生」はアプレットの一生を定義する。
4章、「短期オブジェクト」は短期オブジェクトの概観を与える。
5章、「選択」はJCREがどのようにアプレット選択を処理するかを説明する。
6章、「アプレット隔離及びオブジェクト共有」はアプレット隔離とオブジェクト共有を説明する。
7章、「トランザクションとアトミシテイ」はトランザクション中のアトミシテイの概観を与える。
8章、「APIトピックス」はJCREに必要だがシャバ・カード2.1API仕様には完全に特定されていないAPI機能を説明する。
9章、「仮想マシン・トピックス」は仮想マシンの詳細を説明する。
10章、「アプレット・インストーラ」はアプレット・インストーラの概観を与える。
11章、「API定数」はシャバ・カード2.1API仕様に特定されていない定数の数値を与える。
関連の書類及び刊行物
このマニュアル内ではさまざまな書類及び製品に言及する。以下の書類が入手可能である。
・シャバ・カード2.1API草案2仕様、サン・マイクロシステムズ社
・ジャバ・カード2.0言語サブセット及び仮想マシン仕様、1997年10月13日、改訂1.0最終、サン・マイクロシステムズ社
・ジャバ・カード・アプレット開発者ガイド、サン・マイクロシステムズ社
・ジャバ言語使用、ジェームズ・ゴスリング、ビル・ジョイ、及びゲイ・エル・ステイール著、アデイソン−ウエズレイ、1996年、ISBN 0-201-63451-1
・ジャバ仮想マシン仕様(ジャバ・シリーズ)、ティム・リインデホルム及びフランク・イェリン著、アディソン−ウエズレイ、1996年、ISBN 0-201-63452-X
・ジャバ・クラス・ライブラリイ:注解参考書(ジャバ・シリーズ)パトリック・チェン及びロザンナ・リー著、アディソン−ウエズレイ、2巻、ISBN 0201310023及び0201310031
・ISO7816仕様1−6部分
・支払いシステム用EMV‘96集積回路カード仕様
1. 導入
ジャバ・カード実行時環境(JCRE)2.1は、ジャバ・カード仮想マシン(VM)、ジャバ・カード・アプリケーション・プログラミング・インターフエイス(API)クラス(及び業界特有拡張)及びサポート・サービスを含む。
2. ジャバ・カード仮想マシンの一生
PC又はワークステーションで、ジャバ仮想マシンはオペレーテイング・システム・プロセスとして実行する。OSプロセスが終了する時、ジャバ・アプリケーションとそれらのオブジェクトは自動的に破壊される。
・Applet.registerメソッドがコールされる時。JCREはアプレット・オブジェクトのインスタンスへの参照を記憶する。JCRE実現者は、クラス・アプレットのインスタンスが持続性であることを保証しなければならない。
・オブジェクトへの参照がクラスの静的フイールド又はその他の持続性オフジェクトのフイールドに記憶される時。この要件は、JCRE内部データ構造の完全性を保存するための必要性から派生する。
3. ジャバ・カード・アプレットの一生
この仕様の目的のため、ジャバ・カード・アプレットの一生は、それが正しくカード・メモリにロードされて、リンクされ、又は、その他、実行のために準備された時点で開始する。(この仕様の以降において、アプレットとはジャバ・カード・プラットホームのために書かれたアプレットを言う。)Applet.registerメソッドに登録されたアプレットは、カードの一生の間、存在する。JCREはアプレットのパブリック・メソッド、インストール、セレクト、デセレクト、及びプロセスを介してアプレットと相互作用をする。アプレットは静的インストール・メソッドを実現する。もしインストール・メソッドが実現されなければ、アプレットのオブジェクトは生成又は初期化できない。JCRE実現はアプレットのインストール、セレクト、デセレクト、及びプロセス・メソッドを以下に説明するようにコールする。
3.1 メソッド・インストール
インストールがコールされる時、アプレットのオブジェクトは存在しない。アプレット内のインストール・メソッドの主な仕事は、アプレット・クラスのインスタンスを生成し、インスタンスを登録することである。アプレットがその一生の間に必要とする全ての他のオブジェクトはそれが可能な時に生成できる。その他のアプレットがCADにより選択されてアクセスされるのに必要な準備は可能な時に行なうことができる。インストール・メソッドは入力するバイト配列パラメータの内容から初期化パラメータを獲得する。
3.2 メソッド・セレクト
アプレットはそれらが明示的に選択されるまで、停止状態に留まる。JCREが名前データがアプレットのAIDと一致するSELECT APDUを受取る時に、選択は発生する。選択はアプレットを現在選択されたアプレットとする。
3.3 メソッド・プロセス
全てのAPDUは、JCREにより受取られ、APDUクラスのインスタンスを現在選択されたアプレットのプロセス・メソッドに送る。
3.4 メソッド・デセレクト
JCREが、アプレットのAIDと一致する名前のSELECT APDU命令を受取る時、JCREは現在選択されているアプレットのデセレクト・メソッドをコールする。これは他のアプレットの実行を可能にするために必要なクリーン・アップ操作をアプレットが実行することを可能にする。
3.5 電源喪失及びリセット
カードがCADから取出される時又はその他の機械的又は電気的故障が存在する場合、電源が喪失する。カードに電源が再び加えられる時及びカード・リセット(ウアーム又はコールド)時、JCREは以下を保証する。
・一時データはデフォルト値にリセットされる。
・電源が喪失した(又はリセットが発生した)時に進行中のトランザクションがあれば、中止される。
・電源が喪失した(又はリセットが発生した)時に選択されたアプレットは黙示的に選択が解除される(この場合、デセレクト・メソッドはコールされない)。
・もしJCREがデフォルト・アプレット選択を実現する場合は(パラグラフ5.1参照)、デフォルト・アプレットが現在選択されたアプレットとして選択され、そして、デフォルト・アプレットのセレクト・メソッドがコールされる。それ以外は、JCREはその状態をアプレットが選択されていないことを示すものに設定する。
4. 一時的オブジェクト
アプレットは時々、CADセッションにわたって持続する必要の無い一時的(暫定)データを含むオブジェクトを必要とする。ジャバ・カードはジャバ・キーワード遷移をサポートしない。しかし、ジャバ・カード技術はオブジェクトへの参照又はプリミティブな成分を有する一時的配列を生成する方法を与える。
・スタック
・ローカル変数
・クラス静的フイールド
・別の存在するオブジェクト内のフイールド
ジャバ・カード・プラットホーム内の一時的オブジェクトは以下の要求された振舞いを有する。
・一時的オブジェクトのフィールドは、ある出来事(以下を参照)の発生時に、フィールドのデフォルト値(ゼロ、誤り、又は無効)にクリアされる。
・セキュリテイの理由のため、一時的オブジェクトのフイールドは「持続性メモリ技術」内には絶対に記憶されない。例として現在のスマート・カード技術を用いれば、一時的オブジェクトの内容はRAMに記憶できるが、EEPROMには決して記憶されない。この要件の目的は一時的オブジェクトがセッション・キーを記憶するのに使用できるようにするためである。
・一時的オブジェクトのフイールドへの書き込みは性能を悪くしてはいけない。(例として、現在のスマート・カード技術を取ると、一時的オブジェクトの内容はRAM内に記憶できるが、一時的でないオブジェクトの内容はEEPROM内に記憶できる。典型的に、RAM技術はEEPROMよりもずっと早い書込みサイクルを有する。)
・一時的オブジェクトのフアイルへの書込みは「トランザクション」により影響を受けない。すなわち、abortTransactionは決して一時的オブジェクト内のフイールドを前の値に回復しない。
4.1 一時的オブジェクトをクリアする出来事
持続性オブジェクトはカード・リセットをわたって持続されるべき状態を維持するために使用される。一時的オブジェクトが生成される時、そのフイールドをクリアするための1つ又は2つの出来事が指定される。クリア・オン・リセット一時的オブジェクトは、アプレット・セッションをわたって持続されるがカード・リセットをわたって持続されない状態を維持するために使用される。クリア・オン・デセレクト一時的オブジェクトは、アプレットが選択されている間は持続されるが、アプレット選択又はカード・リセットをわたっては持続しない状態を維持するために使用される。
・クリア・オン・リセット・オブジェクトのフイールドは、カードがリセットされる時にクリアされる。カードに電源が投入される時、これはカード・リセットを生ずる。
・クリア・オン・デセレクト・オブジェクトのフイールドは、アプレットの選択が解除された時には常にクリアされる。カード・リセットは黙示的に現在選択されたアプレットの選択を解除するため、クリア・オン・デセレクト・オブジェクトのフイールドはまた、クリア・オン・リセットのために指定された同じ出来事によりクリアされる。
・アプレットの選択に失敗。
・異なるアプレットを選択。
・同じアプレットを再選択。
5. 選択
カードは、APDUの形式でCADからサービスの要求を受取る。SELECT APDUはJCREにより現在選択されているアプレットを指定するのに使用される。一旦、選択されると、アプレットは選択が解除されるまで、全ての以降のAPDUを受取る。
・カードがリセットされ、そしてアプレットがデフォルト・アプレットとして前もって指定されていない。
・アプレットの選択を試みた時、選択命令が失敗する。
5.1 デフォルト・アプレット
普通、アプレットは成功した選択命令を介してのみ選択される。しかし、あるスマート・カードCADアプリケーションは、各カード・リセット後に、黙示的に選択されるデフォルト・アプレットの存在を必要とする。その振舞いは、
1. カード・リセット(又は、リセットの形式の電源投入)後、JCREはその初期化を行ない、その内部状態が特定のアプレットがデフォルト・アプレットであると示しているかを検査する。もしそうならば、JCREはこのアプレットを現在選択されたアプレットとし、そのアプレットのセレクト・メソッドがコールされる。もしアプレットのセレクト・メソッドが例外を投げ又は誤りを返すと、JCREはその状態をアプレットが選択されないことを示す状態に設定する。(デフォルト・アプレット選択中にはSELECT APDUが無いため、アプレットのプロセス・メソッドはコールされない。)デフォルト・アプレットがカード・リセットにおいて選択される時、そのプロセス・メソッドがコールされる必要はない。
2. JCREはATRが送られることを保証し、そしてカードは現在APDU命令を受取るための用意ができている。
5.2 選択命令処理
SELECT APDU命令はアプレットを選択するのに使用される。その振舞いは、
1. アプレットがもしあれば活動的かどうかにかかわらず、JCREによりSELECT APDUは常に処理される。
2. JCREは一致したAIDについて内部テーブルを探す。JCREは選択命令中に完全なAIDがある場合、アプレットの選択を支援する。
注−星印はISO7816内の2進値ビット番号を示す。最上位ビット=b8、最下位ビット=b1である。
b)アプレット選択命令は、「DF名による選択」を使用する。従って、P1=0x04である。
f)全てのフアイル制御情報オプション・コード(b4,b3*)は、JCREにより支援され、そしてアプレットにより解釈されそして処理される。
3. もしAID一致が見つからなければ、
a.もし現在選択されたアプレットが存在しなければ、JCREは選択命令に状態コード0x6999(SW_APPLET_SELECT_FAILED)でもって返答する。
4. もし一致したAIDが見つかれば、JCREは新しいアプレットを選択する準備をする。もし現在選択されたアプレットが存在すれば、そのデセレクト・メソッドへのコールを介して選択解除される。この時点で選択解除されたアプレットのコンテキストへのコンテキスト切換えが生ずる。JCREコンテキストはデセレクトからの出口において回復される。
5. JCREは、新たに現在選択されたアプレットを設定する。新しいアプレットは、そのセレクト・メソッドへのコールを介して選択される。そして新しいアプレットのコンテキストへのコンテキスト切換えが発生する。
注−もし一致するAIDが存在しなければ、選択命令は通常のアプレットAPDU命令として処理するために現在選択されたアプレット(もし有れば)に送られる。
5.3 非選択命令処理
非選択APDUが受取られ、そして現在選択されたアプレットが存在しない時、JCREはAPDUに状態コード0x6999(SW_APPLET_SELECT_FAILED)でもって返答する。
6. アプレット隔離及びオブジェクト共有
JCREのどんな実現もコンテキスト及びアプレットの隔離を支援する。隔離とは、他のアプレットが明示的にアクセスのためのインターフエイスを与えなければ、アプレットは別のコンテキスト内のアプレットのオブジェクト又はフイールドにアクセスすることができないことを意味する。
6.1 アプレット・フアイヤウォール
ジャバ・カード技術内のアプレット・フアイヤウォールは実行時実施保護であり、ジャバ技術保護とは別である。ジャバ言語保護はジャバ・カード・アプレットへ適用される。ジャバ言語は強いタイピングと保護属性を実施することを保証する。
6.1.1 コンテキスト及びコンテキスト切換え
フアイヤウォールは本質的にジャバ・カード・プラットホームのオブジェクト・システムを、コンテキストと呼ばれる分離した保護されたオブジェクト空間に区分する。フアイヤウォールは、1つのコンテキストと別の間の境界である。JCREはカード上にインストールされている各アプレットに対するアプレット・コンテキストを割当てそして管理する(しかし、グループ・コンテキストの議論について下のパラグラフ6.1.1.2を参照)。
6.1.1.1 グループ・コンテキスト
普通、ジャバ・カード・アプレットの各インスタンスは別のコンテキストを定義する。しかし、ジャバ・カード2.1技術では、グループ・コンテキストの概念が導入される。もし2以上のアプレットが、1つのジャバ・パッケージ内に含まれる時、それらは同じコンテキストを共有する。これに加え、同じアプレット・クラスの全てのインスタンスは同じコンテキストを共有する。換言すれば、グループ・コンテキスト内の2つのアプレット・インスタンス間にフアイヤウォールは存在しない。
6.1.2 オブジェクト所有
新しいオブジェクトが生成される時、それは現在活動的なコンテキストと関連付けられる。しかし、オブジェクトは、オブジェクトが具体化される時に現在活動的なコンテキスト内のアプレット・インスタンスにより所有される。オブジェクトはアプレット・インスタンス又はJCREにより所有される。
6.1.3 オブジェクト・アクセス
一般に、オブジェクトはその所有するコンテキストによりのみアクセスできる。すなわち、所有コンテキストが現在活動的なコンテキストである時。フアイヤウォールが異なるコンテキスト内の別のアプレットによりオブジェクトがアクセスされることを防ぐ。
オブジェクトの参照を使用して、以下のバイトコードの1つが実行される時、オブジェクトがアクセスされる。
6.1.4 フアイヤウォール保護
ジャバ・カード・フアイヤウォールは、最もしばしば予期されるセキュリテイ問題、大切なデータを別のアプレットに「漏らす」ような開発者の誤り及び設計の見過ごし、に対して保護を与える。アプレットは公にアクセス可能な場所からオブジェクトの参照を得ることができるかもしれないが、しかし、オブジェクトが異なるアプレットに所有されていると、フアイヤウォールはセキュリテイを保証する。
6.1.5 静的フイールド及びメソッド
クラスはコンテキストにより所有されないことに注意すべきである。クラス静的フイールドがアクセスされる時、実行される実行時コンテキスト検査はない。静的メソッドが呼出される時、コンテキスト切換えはない。(同様に、invokespecialはコンテキスト切換えを生じない)
パブリック静的フイールド及びパブリック静的メソッドは、どんなコンテキストからもアクセス可能である。静的メソッドはそれらを呼出したのと同じコンテキスト内で実行される。
もちろん、通常のジャバ技術保護が静的フイールド及びメソッドに対して実施できる。これに加え、アプレットがインストールされる時、インストーラは外部の静的フイールド又はメソッドへのリンクの各試みが許可されることを確証する。インストレーションとリンケージについての仕様はこの仕様の範囲外である。
6.1.5.1 選択的静的アクセス検査
JCREは、確証者により実施される制約と冗長なオプショナルな実行時検査を実行できる。ジャバ・カードVMは、コードが別のクラスのプライベートなメソッドの呼出しなど、基本的な言語制限に違反する時、検出して、報告し、又は違反に対処する。
6.2 コンテキストを横断するオブジェクトへのアクセス
アプレットが互いに相互作用し、又は、JCREと相互作用することを可能にするため、1つのコンテキストが別のコンテキストに属するオブジェクトにアクセスすることができる、良く定義され且つ安全な機構が提供される。
・JCRE入口点オブジェクト
・グローバル配列
・JCRE特権
・共有可能インターフエイス
6.2.1 JCRE入口点オブジェクト
安全なコンピュータ・システムは、非特権ユーザ・プロセス(資源の一部に限定された)が、特権的な「システム」ルーチンにより実行されるシステム・サービスを要求するための方法を持たなければならない。
・一時的JCRE入口点オブジェクト
全てのJCRE入口点オブジェクトと同様に、一時的JCRE入口点オブジェクトのメソッドは、どんなアプレットのコンテキストから呼出されることができる。しかし、これらのオブジェクトへの参照は、クラス変数、インスタンス変数、又は配列要素内には記憶することができない。JCREは、これらのオブジェクトへの参照の記憶の試みを、認証されない再使用を防ぐために、フアイヤウォール機能の一部として検出して制限する。
・永久JCRE入口点オブジェクト
全てのJCRE入口点オブジェクトと同様に、永久JCRE入口点オブジェクトのメソッドは、どんなアプレットのコンテキストから呼出されることができる。これに加えて、これらのオブジェクトへの参照は記憶でき、自由に再使用できる。
JCREは、以下の責任を有する。
・どんな特権的サービスがアプレットに提供できるかを決定する。
・それらのサービスへの入口点メソッドを含むクラスを定義する。
・それらのクラスの1又は複数のオブジェクト・インスタンスを生成する。
・それらのインスタンスをJCRE入口点オブジェクトと指定する。
・JCRE入口点オブジェクトを一時的又は永久と指定する。
・必要に応じてこれらのオブジェクトへの参照をアプレットに利用可能にする。
注−これらのオブジェクトのメソッドのみがフアイヤウォールを通じてアクセス可能にする。これらのオブジェクトのフイールドはフアイヤウォールにより保護されていて、JCREコンテキストのみによりアクセス可能である。
6.2.2 グローバル配列
いくつかのオブジェクトのグローバル性質はそれらがどんなアプレット・コンテキストからもアクセス可能であることを要求する。フアイヤウォールは通常、これらオブジェクトが柔軟な態様で使用されることを防ぐ。ジャバ・カードVMはオブジェクトがグローバルとして指定されることを可能にする。
注−そのグローバル地位のため、アプレットが選択される時は常に、JCREが新しいAPDU命令を受取る前に、APDUバッフアがゼロにクリアされることをAPIは指定する。これは、アプレットの潜在的な重要なデータがグローバルAPDUバッフアを経由して他のアプレットへ「漏れる」ことを防止する。APDUバッフアは、共有インターフエイス・オブジェクト・コンテキストからアクセスでき、アプレット・今テキストを横断してデータを送るのに適している。アプレットは、APDUバッフアからアクセスされる秘密データを保護する責任がある。
6.2.3 JCRE特権
「システム」コンテキストであるため、JCREコンテキストは特別な特権を有する。それはカード上のどんなオブジェクトのメソッドも呼出すことができる。例えば、オブジェクトXがアプレットAにより所有されていると仮定すると、普通、コンテキストAのみがフイールド及びXのメソッドをアクセスできる。しかし、JCREコンテキストはXのどんなメソッドも呼出すことができる。このような呼出し中、コンテキスト切換えが、JCREコンテキストからXを所有するアプレット・コンテキストへ生ずる。
注−JCREは、Xのメソッド及びフイールドの両方をアクセスできる。メソッドのアクセスはJCREがアプレット・コンテキストに入るための機構である。JCREはフアイヤウォールを介してどんなメソッドも呼出すことができるが、アプレット・クラスで定義された、select,process,deselect,getShareableInterfaceObjectメソッド(6.2.7.1参照)のみを呼出すべきである。
6.2.4 共有可能インターフエイス
共有可能インターフエイスは、アプレット相互作用を可能にするためのジャバ・カードAPI2.1の新しい特徴である。共有可能インターフエイスは、1組の共有されたインターフエイス・メソッドを定義する。これらのインターフエイス・メソッドは、もしそれらを実現するオブジェクトが別のアプレット・コンテキストにより所有されていても、1つのアプレット・コンテキストから呼出すことができる。
1. オブジェクトを別のアプレットに利用可能にするため、アプレットAは最初に共有可能インターフエイスSIを定義する。共有可能インターフエイスはインターフエイス、javacard.framework.Shareable、を拡張する。共有可能インターフエイスSIに定義されたメソッドは、アプレットAが他のアプレットにアクセス可能にしたサービスを表す。
2. そして、アプレットAは共有可能インターフエイスSIを実現するクラスCを定義する。CはSI内に定義されたメソッドを実現する。Cは他のメソッド及びフイールドも定義してもよいが、これらはアプレット・フアイヤウォールで保護されている。SI内で定義されているメソッドのみが他のアプレットにとりアクセス可能である。
3. アプレットAは、クラスCのオブジェクト・インスタンスOを生成する。OはアプレットAに属し、フアイヤウォールはAがOのどんなフイールド及びメソッドもアクセスすることを可能にする。
4. アプレットAのオブジェクトOにアクセスするために、アプレットBはタイプSIのオブジェクト参照SIOを生成する。
5. アプレットBは、アプレットAから共有されたインターフエイス・オブジェクト参照を要求するために特別なメソッド(パラグラフ6.2.7.2に記載されたJCSystem.getAppletShareableInterfaceObject)を呼出す。
6. アプレットAは、要求及びApplet.getShareableInterfaceObjectを経由して要求者(B)のAIDを受取り、そしてそれがアプレットBとオブジェクトOを共有するかどうかを決定する。
7. もしアプレットAが、アプレットBと共有を同意すれば、AはOへの参照と共に要求に応答する。この参照はOのメソッド又はフイールドのいずれも見えないようにするために、Shareableをタイプするためのキャストである。
8. アプレットBはアプレットAからオブジェクト参照を受取り、それをSIをタイプするためにキャストし、それをオブジェクト参照SIO内に記憶する。SIOは実際にAのオブジェクトOを参照するが、SIOはタイプSIである。SIで定義された共有可能インターフエイス・メソッドのみがBに見える。フアイヤウォールはOの他のフイールド及びメソッドがBによりアクセスされることを防止する。
9. アプレットBは、SIOの共有可能なインフエイス・メソッドの1つを呼出すことにより、アプレットAからのサービスを要求できる。呼出し中、ジャバ・カードVMはコンテキスト切換えを実行する。元の現在活動的なコンテキスト(B)はスタック上に記憶され、そして実際のオブジェクト(O)の所有者(A)のコンテキストが新しく現在活動的なコンテキストとなる。共有可能インターフエイス・メソッド(SIメソッド)のAの実現がAのコンテキスト中で実行される。
10. SIメソッドは、JCSystem.getPreviousContextAIDメソッドを介してそのクライアント(B)のAIDを見付けることができる。これはパラグラフ6.32.5内に記載されている。このメソッドはアプレットBのためにサービスを実行するかどうかを決定する。
11. コンテキスト切換えのため、フアイヤウォールは、SIメソッドがオブジェクトOの全てのメソッド及びフイールド及びAにより所有されるその他のオブジェクトにアクセスすることを可能にする。同時に、フアイヤウォールはメソッドがBにより所有された非共有オブジェクトをアクセスすることを防止する。
12. SIメソッドは、Bにより送られたパラメータをアクセスでき、そしてBに戻り値を与えることができる。
13. 戻る際に、ジャバ・カードVMはコンテキスト切換えの回復を実行する。元の現在活動的なコンテキスト(B)がスタックから押出されて、再び、現在のコンテキストとなる。
14. コンテキスト切換えのため、フアイヤウォールは再び、Bがそのオブジェクトのいずれにもアクセスすることを可能にし、そしてBがA所有の非共有オブジェクトにアクセスすることを防止する。
6.2.5 前のコンテキストの決定
アプレットが、JCSystem.getPreviousContextAIDをコールする時、JCREは最後のコンテキスト切換えの時に活動的なアプレット・インスタンスのインスタンスAIDを戻す。
6.2.5.1 JCREコンテキスト
JCREコンテキストはAIDを持たない。アプレット・コンテキストがJCREから直接に入った時、もしアプレットが、getPreviousContextAIDをコールすれば、このメソッドは無効を返答する。
6.2.6 共有可能インターフエイス詳細
共有可能インターフエイスは、単にタッギング・インターフエイス、javacard.framework.Shareable、を拡張(直接的又は間接的のいずれかで)したものである。この共有可能インターフエイスはRMIフアシリテイにより使用された遠隔インターフエイスの概念的に類似していて、インターフエイス・メソッドへのコールは、ローカル/遠隔境界を横断して生ずる。
6.2.6.1 ジャバ・カード共有可能インターフエイス
共有可能タッギング・インターフエイスを拡張したインターフエイスはこの特別な性質を有する。インターフエイス・メソッドのコールはコンテキスト切換えによりジャバ・カードのアプレットのフアイヤウォール境界を横断して生ずる。
・共有可能インターフエイス内のメソッドが呼出された時、コンテキスト切換えがオブジェクト所有者のコンテキストへ生ずる。
・メソッドが出る時、コールしたもののコンテキストが回復される。
・例外が投げられた時に発生するスタック・フレームの巻き戻しの際に、現在活動的なコンテキストが正しく回復されるように、例外処理が増強される。
6.2.7 共有可能インターフエイス・オブジェクトの獲得
アプレット間通信は、クライアント・アプレットがサーバー・アプレットに属するSIOの共有可能インターフエイス・メソッドを呼出す時に達成される。これが動作するために、クライアント・アプレットが最初にサーバー・アプレットからSIOを獲得するための方法がなければならない。JCREはこれを可能にする機構を与える。アプレット・クラス及びJCSystemクラスはクライアントがサーバーからサービスを要求することを可能にするメソッドを与える。
6.2.7.1 メソッド・アプレット.getShareableInterfaceObject
このメソッドは、サーバー・アプレット・インスタンスにより実現される。それは別のアプレットに属するオブジェクトを使用することを要求するクライアント・アプレットとオブジェクトを共有可能にするサーバー・アプレットとの間の調停をするため、JCREによりコールされなければならない。
6.2.7.2 メソッドJCSystem.getAppletShareableInterfaceObject
JCSystemクラスはメソッドgetAppletShareableInterfaceObjectを含む。これはサーバー・アプレットと通信するためにクライアント・アプレットにより呼出される。
1. JCREはその内部アプレット・テーブル内でサーバーAIDを持ったものを探す。見つからなければ、無効が戻される。
2. JCREは、このアプレットのgetShareableInterfaceObjectメソッドを呼出し、呼出したもののクライアントAIDとパラメータを送る。
3. コンテキスト切換えがサーバー・アプレットへ生ずる。そして前記したようにgetShareableInterfaceObjectの実現が進行する。サーバー・アプレットはSIO(又は無効)を戻す。
4. GetAppletShareableInterfaceObjectは同じSIO(又は無効)をそのコールしたものに戻す。
・サーバーAIDが見つからない。
・サーバー・アプレットはアプレット間通信に参加していない。
・サーバー・アプレットはクライアントAID又はパラメータを認識しない。
・サーバー・アプレットはこのクライアントと通信しない。
・サーバー・アプレットはパラメータにより指定されたようにこのクライアントと通信しない。
6.2.8 クラス及びオブジェクト・アクセスの振舞い
静的クラス・フイールドは、以下の1つのジャバ・バイトコードが実行される時にアクセスされる。
getstatic, putstatic
オブジェクトは、以下の1つのジャバ・バイトコードがオブジェクト参照を使用して実行される時にアクセスされる。
6.2.8.1 静的クラス・フイールドへのアクセス
バイトコード:
getstatic, putstatic
・もしJCREが現在活動的なコンテキストであれば、アクセスが許可される。
・それ以外で、もしバイトコードがputstaticで、記憶されているフイールドが参照タイプで、記憶されている参照が一時JCRE入口点オブジェクト又はグローバル配列への参照であれば、アクセスは否定される。
・それ以外は、アクセスは許可される。
6.2.8.2 配列オブジェクトへのアクセス
バイトコード:
<T>aload, <T>astore, arraylength, checkcast, instanceof
・もしJCREが現在活動的なコンテキストであれば、アクセスが許可される。
・それ以外は、もしバイトコードがaastoreで、記憶されている要素が参照タイプであり、記憶されている参照が一時JCRE入口点オブジェクト又はグローバル配列への参照であれば、アクセスは否定される。
・それ以外で、もし配列が現在活動的コンテキストにより所有されていれば、アクセスは許可される。
・それ以外で、配列がグローバルと指定されれば、アクセスは許可される。
・それ以外は、アクセスは否定される。
6.2.8.3 クラス・インスタンス・オブジェクト・フイールドへのアクセス
バイトコード:
getfield, putfield
・もしJCREが現在活動的なコンテキストであれば、アクセスが許可される。
・それ以外で、もしバイトコードがputfieldで、記憶されているフイールドが参照タイプで、記憶されている参照が一時JCRE入口点オブジェクト又はグローバル配列への参照であれば、アクセスは否定される。
・それ以外で、もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外は、アクセスは否定される。
6.2.8.4 クラス・インスタンス・オブジェクト・メソッドへのアクセス
バイトコード:
invokevirtual
・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。コンテキストはオブジェクトの所有者のコンテキストへ切り換えられる。
・それ以外で、もしオブジェクトがJCRE入口点オブジェクトと指定されればアクセスは許可される。コンテキストはオブジェクトの所有者のコンテキスト(JCREの)へ切り換えられる。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスが許可される。コンテキストはオブジェクトの所有者のコンテキストへ切り換えられる。
・それ以外は、アクセスが否定される。
6.2.8.5 標準インターフエイス・メソッドへのアクセス
バイトコード:
invokeinterface
・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスが許可される。コンテキストはオブジェクトの所有者のコンテキストへ切り換えられる。
・それ以外は、アクセスは拒否される。
6.2.8.6 共有可能インターフエイス・メソッドへのアクセス
バイトコード:
invokeinterface・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外で、もしオブジェクトのクラスが共有可能インターフエイスを実現すれば、そしてもし呼出されるインターフエイスが共有可能インターフエイスを拡張すれば、アクセスは許可される。コンテキストはオブジェクトの所有者のコンテキストへ切り換えられる。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスが許可される。コンテキストはオブジェクトの所有者のコンテキストへ切り換えられる。
・それ以外は、アクセスは拒否される。
6.2.8.7 例外オブジェクトを投げる
バイトコード:
athrow・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外で、もしオブジェクトがJCRE入口点オブジェクトと指定されれば、アクセスは許可される。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスは許可される。
・それ以外は、アクセスは否定される。
6.2.8.8 クラス・インスタンス・オブジェクトへのアクセス
バイトコード
checkcast, instanceof
・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスは許可される。
・それ以外で、もしオブジェクトがJCRE入口点オブジェクトと指定されれば、アクセスは許可される。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスは許可される。
・それ以外は、アクセスは否定される。
6.2.8.9 標準インターフエイスへのアクセス
バイトコード
checkcast, instanceof
・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスは許可される。
・それ以外は、アクセスは否定される。
6.2.8.10 共有可能インターフエイスへのアクセス
バイトコード
checkcast, instanceof
・もしオブジェクトが現在活動的なコンテキストに所有されれば、アクセスは許可される。
・それ以外で、もしオブジェクトのクラスが共有可能インターフエイスを実現し、そしてもしオブジェクトが共有可能インターフエイスを拡張するインターフエイスにキャスト(checkcast)され又はそのインスタンス(instanceof)であれば、アクセスは許可される。
・それ以外で、もしJCREが現在活動的なコンテキストであれば、アクセスは許可される。
・それ以外は、アクセスは否定される。
6.3 一時的オブジェクト及びアプレット・コンテキスト
クリア・オン・リセット・タイプの一時的オブジェクトは、現在活動的なアプレット・コンテキストがオブジェクトの所有者(オブジェクトが生成された時に現在活動的なアプレット・コンテキスト)と同じ時のみにそれらがアクセスできるという点で、持続性オブジェクトと似た振舞いをする。
同じパッケージ内のどんなアプレット・インスタンスにより所有されるクリア・オン・デセレクト・タイプの一時的オブジェクトは、このパッケージ内のいずれかのアプレット・インスタンスが現在選択されたアプレットである時に、アクセス可能である。
7. トランザクション及びアトミシテイ
トランザクションは、持続性データの更新の論理的組である。例えば、1つの口座から別の口座にある量のお金を移動することは銀行トランザクションである。トランザクションがアトミックであることが重要である。データ・フイールドの全てが更新されるか、又は全くされないかのいずれかである。JCREは、もしトランザクションが正常に終了しなければ、カードのデータはその元のトランザクション前状態に回復されるように、アトミック・トランザクションのための健全な支援を与える。この機構は、トランザクション中の電源喪失やプログラムエラーなどのもしトランザクションの全ステップが正常に終了しない場合にデータを壊すであろう出来事に対して、保護する。
7.1 アトミシテイ
アトミシテイは、1つのオブジェクト又はクラス・フイールド又は配列成分の更新中の停止、故障、又は致命的な例外の後に、持続性記憶の内容をカードがどのように処理するかを定義する。もし電源が更新中に喪失したならば、アプレット開発者は、電源が回復された時にフイールド又は配列成分が含むものに依存することができなければならない。
7.2 トランザクション
アプレットは、いくつかの異なるオブジェクト内のいくつかの異なるフイールド又は配列成分を、アトミカリーに更新する必要があるかもしれない。全ての更新は、正確に且つ整合的に行なわれるか、そうでなければ、全てのフイールド/成分はそれらの前の値に回復されるかのいずれかである。
7.3 トランザクション期間
トランザクションは、JCREがアプレットのセレクト、デセレクト、プロセス、又はインストール・メソッドからの戻りの際にプログラム的制御を再獲得する時に、常に終了する。これは、トランザクションがアプレットのcommitTransactionへのコールでもって、又は、トランザクションの中止(アプレットによりプログラム的に又はJCREによるデフォルトによるかのいずれか)でもって正常に終了するかにかかわらず、真である。トランザクション中止のさらなる詳細はパラグラフ7.6を参照。
7.4 ネストされたトランザクション
現在のモデルは、ネストされたトランザクションは可能でないと仮定する。一時には1つのトランザクションだけが存在できる。もしトランザクションが既に進行中に、JCSystem.beginTransactiontがコールされると、TransactionExceptionが投げられる。
7.5 トランザクション故障のリセット又はテイア
トランザクションが進行中に、電源が喪失(テイア)し、又は、カードがリセットされ、又は、その他のシステム故障が発生した場合、JCREは前のJCSystem.beginTransactionをコール以降の全てのフイールド及び配列の成分の条件付き更新をそれらの前の値に回復する。
注−電源喪失又はカード・リセットにより失敗したトランザクション中に生成されたインスタンスにより使用されたオブジェクト空間は、JCREにより回復できる。
7.6 トランザクションの中止
トランザクションはアプレット又はJCREのいずれかにより中止できる。
7.6.1 プログラム的中止
もしアプレットが内部的問題に出会い又はトランザクションを取消す決定をした場合、それはJCSystem.abortTransactionをコールすることにより、条件付き更新をプログラム的に元に戻すことができる。もしこのメソッドがコールされると、前のJCSystem.beginTransactionのコール以来の全ての条件付き更新されたフイールド又は配列成分はそれらの前の値に回復され、そして、JCSystem.transactionDepth値は0にリセットされる。
7.6.2 JCREによる中止
もしアプレットが進行中のトランザクションの際にセレクト、デセレクト、プロセス又はインストール・メソッドから戻ると、JCREは自動的にトランザクションを中止する。もしトランザクションの進行中にセレクト、デセレクト、プロセス、又はインストール・メソッドからの戻りが発生すると、JCREはあたかも例外が投げなれたように動作する。
7.6.3 JCREのクリーンアップ責任
中止されたトランザクションの際に生成されたオブジェクト・インスタンスは、もしこれらのオブジェクトについての全ての参照が探すことができて無効に変換できれば、削除できる。JCREは中止されたトランザクション中に生成されたオブジェクトについての参照は無効の参照に等しいことを保証する。
7.7 一時的オブジェクト
持続性オブジェクトの更新のみがトランザクションに参加する。一時的オブジェクトの更新は、それらが「内部トランザクション」がどうかにかかわらず決して、元に回復されない。
7.8 コミット容量
プラットホーム資源が制限されるため、トランザクション中に蓄積できる条件付き更新データのバイト数は制限される。ジャバ・カード技術は、実現の際にどれだけのコミット容量が利用可能かを決定するメソッドを与える。コミット能力は、利用可能な条件付きバイト更新の数の上限を表す。マネージメント・オーバーヘッドのために利用できる条件付きバイト更新の実際の数はそれよりも少ない。
8. APIトピックス
この章のトピックスは、ジャバ・カード2.1API草案2仕様に詳述された要件を補足する。第1トピックはAPDUクラス内に完全に実現されるジャバ・カードI/O機能である。第2トピックはAPI支援ジャバ・カード・セキュリテイと暗号である。JCSystem classはAPIバージョン・レベルをカプセル化する。
ジャバ・カード2.1API仕様で特別に表示されなければ、APIクラスの実現はトランザクションを開始したり、又は進行中であれば、トランザクションの状態を変更したりしない。
8.1 APDUクラス
APDUクラスは、ISO7816−4に基づいたカード・シリアル線を横断するI/Oへのアクセスをカプセル化する。APDUクラスは、下にあるI/Oトランスポート・プロトコルに独立に設計されている。
JCREは、T=0又はT=1トランスポート・プロトコル又は両方を支援する。
8.1.1 外向きデータ転送のためのT=0詳細
ブロック連鎖機構を支援しない旧式のCAD/ターミナルとの互換性のため、APDUクラスは、setOutgoingNoChainingメソッドを介してモード選択を可能にする。
8.1.1.1 連鎖無しの制約された転送 setOutgoingNoChainingメソッドをコールすることによりアプレットにより要求された出力転送の無連鎖モードの時、以下のプロトコル順序が続く。
注−無連鎖モードが使用される時、waitExtensionメソッドへのコールは理由コード、ILLEGAL_USE、と共に、APDUException、を投げる。
表記
Le=CADが期待する長さ。
<INS>=次に転送される全データ・バイトを示す、入力ヘッダーINSバイトに等しいプロトコル・バイト。
ISO7816−4 ケース2
Le==Lr
1.カードが、標準のT=0<INS>又は<〜INS>手順バイト機構を使用して、Lrバイトの出力データを送信する。
1.カードが、<0x61,Lr>完了状態バイトを送信する。
3.カードが、標準のT=0<INS>又は<〜INS>手順バイト機構を使用して、Lrバイトの出力データを送信する。
1.カードが、標準のT=0<INS>又は<〜INS>手順バイト機構を使用して、Leバイトの出力データを送信する。
3.CADが、新Le<=Lrで持つGET RESPONSE命令を送信する。
ISO7816−4 ケース4
ケース4において、Leは以下の初期交換後に決定される。
2.CADが、Le<=Lrを持つGET RESPONSE命令を送信する。
もし、アプレットが早く中止してLeバイトよりも少なく送信すると、CADが期待する転送長を満たすためにゼロが代りに送られてもよい。
8.1.1.2 通常の出力転送
アプレットにより出力転送の無連鎖モードが要求されない時(すなわち、setOutgoing方法が使用される)、以下のプロトコル順序が続く。
どんなISO−7816−3/4準拠T=0プロトコル転送順序が使用できる。
注−sendBytes又はsendBytesLongメソッドの連続したコール間でアプレットにより、waitExtensionメソッドを呼出すことができる。waitExtensionメソッドは、0x60手順バイトを使用して追加の作業時間を要求する(ISO−7816−3)。
8.1.1.3 追加的T=0要件
何時でも、T=0出力転送プロトコルが使用中で、そしてAPDUクラスがカードからの<0x61,xx>の返答状態に応答してCADからのGET RESPONSE命令を待っている時、もしCADが異なる命令を送れば、sendBytes又はsendBytesLongメソッドは理由コードNO_TO_GETRESPONSEと共にAPDUExceptionを投げる。
8.1.2 外向きデータ転送のためのT=1詳細
8.1.2.1 無連鎖転送の制約
setOutgoingNoChainingメソッドをコールすることによりアプレットにより要求された出力転送の無連鎖モードの時、以下のプロトコル順序が続く。
表記
Le=CADが期待する長さ。
トランスポート・プロトコル順序ブロック連鎖を使用しない。転送中にMビット(より多くのデータ・ビット)はIブロックのPCB内に設定されない。換言すれば、外向きデータの全体(Lrバイト)は1つのIブロック内で転送される。
(もし、アプレットが早く中止してLeバイトよりも少なく送信すると、残りのブロックの長とを満たすためにゼロが代りに送られる。)
注−無連鎖モードが使用される時、waitExtensionメソッドへのコールは理由コード、ILLEGAL_USE、と共に、APDUException、を投げる。
8.1.2.2 通常の出力転送
アプレットにより出力転送の無連鎖モードが要求されない時、すなわち、setOutgoing方法が使用される時、以下のプロトコル順序が続く。
注−sendBytes又はsendBytesLongメソッドの連続したコール間でアプレットにより、waitExtensionメソッドを呼出すことができる。waitExtensionメソッドは、T=0モード内の追加の1作業時間を要求することに等しい、INFユニットのWTX要求を有するSブロック命令を送る(ISO7816−3参照)。
8.2 セキュリテイ及び暗号パッケージ
次のクラス内のgetInstanceメソッドは、要求されたアルゴリズムをコールするアプレットのコンテキスト中に実現インスタンスを戻す。
Javacard.security.MessageDigest
Javacard.security.Signature
Javacard.security.RandomData
Javacardx.crypto.Cipher
JCREの実現は、APIにリストされたアルゴリズムの0又は複数を実現する。実現されていないアルゴリズムが要求される時、このメソッドは理由コード、NO_SUCH_ALGORITHM、を持った、CryptoException、を投げる。
8.3 JCSystem Class
ジャバ・カード2.1において、getVersionメソッドは、0x0201、(短い)を戻す。
9. 仮想マシン・トピックス この章のトピックスは仮想マシンの詳細を説明する。
9.1 資源故障
回復可能な資源状態(例えば、ヒープ空間)の枯渇は、理由コード、NO_RESOURCE、を持った、SystemException、を生ずる。一時的配列を生成するために使用されるJCSystem内のフアクトリイ・メソッドは、一時的空間の不足を示すために、理由コード、NO_TRANSIENT_SPACE、を持った、SystemException、を投げる。
10. アプレット・インストーラ
ジャバ・カード技術を使用したスマート・カード上のアプレット・インストレーションは、複雑なトピックである。ジャバ・カードAPI2.1は、それらの実現において可能な限りの多くの自由度を、JCRE実現者に与えることを意図している。しかし、いくつかの基本的な共通仕様が、ジャバ・カード・アプレットがインストールする特定のインストーラの実現の詳細を知ることなくインストールすることを可能にするために、要求される。
10.1 インストーラ
ジャバ・カード技術を使用してスマート・カード上にアプレットをインストールするために必要な機構は、インストーラと呼ばれるカード上の部品に具体化されている。
・その他の選択されたアプレットと同様に、それは全てのAPDUを受取る。
・その設計仕様は、さまざまな前処理下でこれらの命令のセマテイックスと共に受取るこてが期待されるAPDUのフォーマット及び様々な種類を規定する。
・それが受取る全てのAPDUを処理して応答する。不正確なAPDUはある種類のエラー状態を持って応答される。
・別のアプレットが選択された時(又はカードがリセットされた時又は電源がカードから取外された時)、インストーラは選択解除されて、それが選択される次の時まで中止される。
10.1.1 インストーラ実現
インストーラは、カード上にアプレットとして実現する必要はない。要件は、インストーラの機能は選択可能であることだけである。この要件の結果として、インストーラ成分は、非インストーラ・アプレットが選択された時又はアプレットが選択されない時、呼出すことができない。
10.1.2 インストーラAID
インストーラは選択可能であるから、それはAIDを有する。JCRE実現者はそれらのインストーラが選択されるAIDを自由に選択できる。複数のインストーラが実現できる。
10.1.3 インストーラAPDU
ジャバ・カードAPI2.1は、インストーラに対してAPDUを指定しない。JCREは実現者はそれらのインストーラに仕事を指示するためにAPDU命令を完全に自由に選択できる。
・カードを認識する。
・カード上のインストーラを選択する。
・適当なAPDUをカード・インストーラに送ることにより、インストレーション・プロセスを駆動する。これらのAPDUは、以下を含む。
>インストレーションが認証されることを保証するための、認証情報。
>カード・メモリ内にロードされるべきアプレット・コード>カード上に既に存在するコードとアプレット・コードをリンクするためのリンケージ情報>アプレットのインストール・メソッドに送られるべきインスタンス・イニシャライゼーション・パラメータ・データ
ジャバ・カードAPI2.1はCADインストーレイション・プログラムの詳細を指定せず、また、APDUはそれとインストーラの間に送られない。
10.1.4 インストーラ振舞い
JCRE実現者は、以下を含むそれらのインストーラの他の振舞いを定義しなければならない。
・インストーレイションが中止できるかどうか、そしてこれがいかになされたか。
・インストーレイション中に、もし例外、リセット、又は電源喪失が発生したら、何が生ずるか。
・インストーラがその仕事を終える前に、もし別のアプレットが選択されたら何が生ずるか。
・Applet.registerメソッドからの成功的な戻りの前に、アプレットのインストール・メソッドが例外を投げる(パラグラフ9.2参照)。
10.1.5 インストーラ特権
インストーラはアプレットとして実現できるが、インストーラは典型的に「他のアプレット」に利用可能ではない特徴にアクセスする必要がある。例えば、JCRE実現者の実現に依存して、インストーラは次のことが必要である。
・オブジェクト・システム及び/又は標準セキュリテイをバイパスして、直接にメモリに読み書きする。
・他のアプレット又はJCREにより所有されたオブジェクトへのアクセス。
・JCREの非入口点メソッドを呼出す。
・新たにインストールされたアプレットのインストール・メソッドを呼出すことができる。
10.2 新にインストールされたアプレット
インストーラとインストールされているアプレットの間に単一のインターフエイスが存在する。インストーラが正しく実行(ローデイング及びリンキングなどの実行されたステップ)するためのアプレットを準備した後に、インストーラはアプレットのインストール・メソッドを呼出す。このメソッドはアプレット・クラスと定義される。
10.2.1 インストーレイション・パラメータ
32バイトの最大サイズ以外に、ジャバ・カードAPI2.1インストーレイション・パラメータ・バイト配列セグメントの内容について何ら指示しない。こりはアプレット設計者により完全に定義され、所望のどんなフオーマットでできる。これに加え、これらインストレーション・パラメータはインストーラーに不透明であることを意図している。
11. API定数
いくつかのAPIクラスは、ジャバ・カードAPI2.1レファレンス内にそれらの定数を指定された値を有しない。もし、一定の値がこのJCRE2.1仕様の実現者により一貫して指定されない場合、業界全体の互換性は不可能である。この章はジャバ・カードAPI2.1レファレンス内で指定されない必要な一定の値を与える。
AIDは、ISO7816−5に定義されたアプリケーション識別子の略。
キャストは、1つのデータ・タイプから別のタイプへの明示的な変換である。
フアイヤウォール(アプレット・フアイヤウォール参照)。
ジャバ・カード実行時環境(JCRE)は、ジャバ・カード仮想マシンねフレームワーク、及び関連のネイテイブ・メソッドからなる。
JCRE実現者は、ジャバ・カードAPIを使用してベンダー固有の実現を作成する人。
オブジェクト指向は、メソッドと呼ばれるデータを操作する1組のルーチンによりカプセル化されたデータ構造である、オブジェクトに基づいたプログラミング方式である。
オブジェクトは、オブジェクト指向プログラミングにおいて、そのクラスにより与えられたテンプレートに従い定義されたデータ構造の独特なインスタンスである。各オブジェクトは、そのクラスに属する変数についてそれ自身の値を有し、そのクラスにより定義されたメッセージ(メソッド)に応答できる。
日付:1998年12月16日
ジャバ・カード・ライセンシー殿
JCRE21−DF2−14DEC98.zipは、ライセンシーの検討と意見のために、1998年12月14日の日付のジャバ・カード2.1実行時環境仕様の第2草案を含む。我々は今まで受取った検討フイードバックに基づいて書類を明確に組み込んで来た。
READ−ME−JCRE21−DE2.txt ‐このREAD ME文書フアイル。
変更の要約
1.これは第2草案のリリースであり、公開のウエブ・サイトに直ぐに公開される。
3.グローバル配列が一時的JCRE入口点オブジェクトと似たセキュリテイ関係の制限を追加する。フアイヤウォール章6.2.2
4.一時的JCRE入口点オブジェクト及びグローバル配列の記憶に関して、バイトコードの詳細な説明が追加された。章6.2.8
5.章8にJCRE所有の例外オブジェクトの一般的説明が追加された。
「ジャバ・カード2.1実行時環境仕様」は、ジャバ・カードAPT2.1及びジャバ・カード2.1仮想マシン仕様書類で言及されるような、ジャバ・カード2.1実現を完成するための最小の振舞いと実行時環境を詳述する。この仕様はジャバ・カード・アプレットの動作と互換性を保証する必要がある。この仕様書類の目的は、ジャバ・カード2.1仕様の一揃いの部分として、簡潔な方法で全てのJCRE要素を一緒にすることである。
よろしく。
ゴットフライ・デイジオルジ
Godfrey DiGiorgi - godfrey.digiorgi@eng.sun.com
OEM Licnesee Engineering
Sun Microsystems / Java Software
+1 408 343-1506 FAX +1 408 517-5460
Claims (1)
- 小面積装置であって、
a.少なくとも1つの処理要素と、
b.メモリと、
c.前記メモリ及び前記処理要素を使用して、プログラム・モジュールを互いに隔離するためのコンテキスト障壁と、
d.前記コンテキスト障壁の制約無しに全てのプログラム・モジュールへのアクセスを有する1つコンテキストと、
を備えた小面積装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/235,155 US6922835B1 (en) | 1999-01-22 | 1999-01-22 | Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges |
US09/235,155 | 1999-01-22 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000595238A Division JP5132853B2 (ja) | 1999-01-22 | 2000-01-20 | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013030175A true JP2013030175A (ja) | 2013-02-07 |
JP5483768B2 JP5483768B2 (ja) | 2014-05-07 |
Family
ID=22884320
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000595238A Expired - Lifetime JP5132853B2 (ja) | 1999-01-22 | 2000-01-20 | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 |
JP2012202985A Expired - Lifetime JP5483768B2 (ja) | 1999-01-22 | 2012-09-14 | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000595238A Expired - Lifetime JP5132853B2 (ja) | 1999-01-22 | 2000-01-20 | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6922835B1 (ja) |
EP (1) | EP1163579B1 (ja) |
JP (2) | JP5132853B2 (ja) |
KR (1) | KR100716699B1 (ja) |
CN (1) | CN1316360C (ja) |
AT (1) | ATE240549T1 (ja) |
AU (1) | AU771765B2 (ja) |
DE (2) | DE1163579T1 (ja) |
WO (1) | WO2000043878A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633984B2 (en) * | 1999-01-22 | 2003-10-14 | Sun Microsystems, Inc. | Techniques for permitting access across a context barrier on a small footprint device using an entry point object |
FR2797968B1 (fr) * | 1999-08-24 | 2001-10-12 | Schlumberger Systems & Service | Dispositif et procede de chargement de commandes dans une carte a circuit integre |
JP4055393B2 (ja) | 2001-10-30 | 2008-03-05 | ソニー株式会社 | データ処理装置およびその方法とプログラム |
DE10324384B3 (de) * | 2003-05-28 | 2004-11-04 | Giesecke & Devrient Gmbh | Behandlung eines Fehlerereignisses bei der Installation eines Anwendungsprogramms in einem tragbaren Datenträger |
JP2005050286A (ja) * | 2003-07-31 | 2005-02-24 | Fujitsu Ltd | ネットワークノードマシンおよび情報ネットワークシステム |
EP1522923A3 (fr) | 2003-10-08 | 2011-06-22 | STMicroelectronics SA | Architecture de processeur à plusieurs contextes d'exécution simultanés |
FR2864398A1 (fr) * | 2003-12-23 | 2005-06-24 | France Telecom | Terminal de telecommunication a deux espaces d'execution |
FR2864658B1 (fr) * | 2003-12-30 | 2006-02-24 | Trusted Logic | Controle d'acces aux donnees par verification dynamique des references licites |
US8087031B2 (en) | 2006-01-09 | 2011-12-27 | Oracle America, Inc. | Method and apparatus for data transfer between isolated execution contexts |
JP4627266B2 (ja) * | 2006-02-16 | 2011-02-09 | 株式会社日立ソリューションズ | 未知のマルウェアによる情報漏洩防止システム |
US20080309665A1 (en) * | 2007-06-13 | 2008-12-18 | 3D Systems, Inc., A California Corporation | Distributed rapid prototyping |
CN101430650B (zh) * | 2007-11-07 | 2013-02-06 | 国际商业机器公司 | 用于事务内存的方法和设备 |
US8621168B2 (en) | 2010-12-17 | 2013-12-31 | Google Inc. | Partitioning the namespace of a contactless smart card |
US8807440B1 (en) | 2010-12-17 | 2014-08-19 | Google Inc. | Routing secure element payment requests to an alternate application |
US8352749B2 (en) | 2010-12-17 | 2013-01-08 | Google Inc. | Local trusted services manager for a contactless smart card |
US8171525B1 (en) | 2011-09-15 | 2012-05-01 | Google Inc. | Enabling users to select between secure service providers using a central trusted service manager |
US8255687B1 (en) | 2011-09-15 | 2012-08-28 | Google Inc. | Enabling users to select between secure service providers using a key escrow service |
US8313036B1 (en) | 2011-09-16 | 2012-11-20 | Google Inc. | Secure application directory |
US8850557B2 (en) | 2012-02-29 | 2014-09-30 | International Business Machines Corporation | Processor and data processing method with non-hierarchical computer security enhancements for context states |
US8385553B1 (en) | 2012-02-28 | 2013-02-26 | Google Inc. | Portable secure element |
US8429409B1 (en) | 2012-04-06 | 2013-04-23 | Google Inc. | Secure reset of personal and service provider information on mobile devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS625441A (ja) * | 1985-02-18 | 1987-01-12 | Nec Corp | 情報処理装置 |
JPH05224956A (ja) * | 1992-02-14 | 1993-09-03 | Nippon Telegr & Teleph Corp <Ntt> | プロセス間メッセージ通信方法 |
JPH07319714A (ja) * | 1993-12-15 | 1995-12-08 | Microsoft Corp | 適切なオブジェクト・オーナシップ・モデルを選択的に適用する方法およびシステム |
JPH09223200A (ja) * | 1995-09-29 | 1997-08-26 | Internatl Business Mach Corp <Ibm> | 多機能チップ・カード |
WO1998019237A1 (en) * | 1996-10-25 | 1998-05-07 | Schlumberger Systemes | Using a high level programming language with a microcontroller |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61177585A (ja) | 1985-02-04 | 1986-08-09 | Toshiba Corp | 携帯用電子装置密封体 |
US4816654A (en) | 1986-05-16 | 1989-03-28 | American Telephone And Telegraph Company | Improved security system for a portable data carrier |
JP2514954B2 (ja) | 1987-03-13 | 1996-07-10 | 三菱電機株式会社 | Icカ−ド |
JPH01277993A (ja) | 1988-04-28 | 1989-11-08 | Toshiba Corp | 携帯可能電子装置 |
JPH02156357A (ja) | 1988-12-08 | 1990-06-15 | Fujitsu Ltd | プログラム破壊防止方法 |
US5057997A (en) | 1989-02-13 | 1991-10-15 | International Business Machines Corp. | Interruption systems for externally changing a context of program execution of a programmed processor |
US5204663A (en) | 1990-05-21 | 1993-04-20 | Applied Systems Institute, Inc. | Smart card access control system |
DE59004248D1 (de) | 1990-07-20 | 1994-02-24 | Siemens Nixdorf Inf Syst | Verfahren zur Verhinderung unzulässiger Abweichungen vom Ablaufprotokoll einer Anwendung bei einem Datenaustauschsystem. |
JP3007425B2 (ja) | 1991-02-14 | 2000-02-07 | 凸版印刷 株式会社 | Icカード |
US5204897A (en) | 1991-06-28 | 1993-04-20 | Digital Equipment Corporation | Management interface for license management system |
DE4126213C2 (de) | 1991-08-08 | 2000-06-15 | Deutsche Telekom Ag | Chipkarte für mehrere Diensteanbieter |
FR2683357A1 (fr) | 1991-10-30 | 1993-05-07 | Philips Composants | Microcircuit pour carte a puce a memoire programmable protegee. |
CA2147824A1 (en) | 1992-10-26 | 1994-05-11 | Johannes Marinus George Bertina | Host and user transaction system |
US5446901A (en) * | 1993-06-30 | 1995-08-29 | Digital Equipment Corporation | Fault tolerant distributed garbage collection system and method for collecting network objects |
US5649118A (en) | 1993-08-27 | 1997-07-15 | Lucent Technologies Inc. | Smart card with multiple charge accounts and product item tables designating the account to debit |
US5544246A (en) | 1993-09-17 | 1996-08-06 | At&T Corp. | Smartcard adapted for a plurality of service providers and for remote installation of same |
US5481715A (en) | 1993-12-15 | 1996-01-02 | Sun Microsystems, Inc. | Method and apparatus for delegated communications in a computer system using trusted deputies |
EP0666550B1 (en) | 1994-02-08 | 1997-05-02 | Belle Gate Investment B.V. | Data exchange system comprising portable data processing units |
US5594227A (en) | 1995-03-28 | 1997-01-14 | Microsoft Corporation | System and method for protecting unauthorized access to data contents |
WO1996031823A1 (en) | 1995-04-07 | 1996-10-10 | Sofmap Future Design Co., Ltd. | Data processing system and method, and computer program architecture |
CA2173695A1 (en) * | 1995-04-14 | 1996-10-15 | Panagiotis Kougiouris | Method and system for providing interoperability among processes written to execute on different operating systems |
PT757336E (pt) * | 1995-08-04 | 2001-04-30 | Belle Gate Invest B V | Sistema de intercambio de dados que inclui unidades portateis de processamento de dados |
US5768385A (en) | 1995-08-29 | 1998-06-16 | Microsoft Corporation | Untraceable electronic cash |
US5721781A (en) | 1995-09-13 | 1998-02-24 | Microsoft Corporation | Authentication system and method for smart card transactions |
FR2743910B1 (fr) | 1996-01-19 | 1998-02-27 | Solaic Sa | Procede de mise en oeuvre d'un programme securise dans une carte a microprocesseur et carte a microprocesseur comportant un programme securise |
US5742756A (en) | 1996-02-12 | 1998-04-21 | Microsoft Corporation | System and method of using smart cards to perform security-critical operations requiring user authorization |
US5781723A (en) | 1996-06-03 | 1998-07-14 | Microsoft Corporation | System and method for self-identifying a portable information device to a computing unit |
US5884316A (en) * | 1996-11-19 | 1999-03-16 | Microsoft Corporation | Implicit session context system with object state cache |
US6575372B1 (en) | 1997-02-21 | 2003-06-10 | Mondex International Limited | Secure multi-application IC card system having selective loading and deleting capability |
AU746459B2 (en) | 1997-03-24 | 2002-05-02 | Visa International Service Association | A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card |
US6220510B1 (en) | 1997-05-15 | 2001-04-24 | Mondex International Limited | Multi-application IC card with delegation feature |
US6564995B1 (en) | 1997-09-19 | 2003-05-20 | Schlumberger Malco, Inc. | Smart card application-selection |
US6212633B1 (en) * | 1998-06-26 | 2001-04-03 | Vlsi Technology, Inc. | Secure data communication over a memory-mapped serial communications interface utilizing a distributed firewall |
US6349336B1 (en) | 1999-04-26 | 2002-02-19 | Hewlett-Packard Company | Agent/proxy connection control across a firewall |
US6292874B1 (en) | 1999-10-19 | 2001-09-18 | Advanced Technology Materials, Inc. | Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges |
-
1999
- 1999-01-22 US US09/235,155 patent/US6922835B1/en not_active Expired - Lifetime
-
2000
- 2000-01-20 KR KR1020017009171A patent/KR100716699B1/ko active IP Right Grant
- 2000-01-20 DE DE1163579T patent/DE1163579T1/de active Pending
- 2000-01-20 WO PCT/US2000/001238 patent/WO2000043878A1/en active IP Right Grant
- 2000-01-20 DE DE60002687T patent/DE60002687T2/de not_active Expired - Lifetime
- 2000-01-20 EP EP00904413A patent/EP1163579B1/en not_active Expired - Lifetime
- 2000-01-20 AT AT00904413T patent/ATE240549T1/de not_active IP Right Cessation
- 2000-01-20 AU AU26176/00A patent/AU771765B2/en not_active Expired
- 2000-01-20 JP JP2000595238A patent/JP5132853B2/ja not_active Expired - Lifetime
- 2000-01-20 CN CNB008029903A patent/CN1316360C/zh not_active Expired - Lifetime
-
2012
- 2012-09-14 JP JP2012202985A patent/JP5483768B2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS625441A (ja) * | 1985-02-18 | 1987-01-12 | Nec Corp | 情報処理装置 |
JPH05224956A (ja) * | 1992-02-14 | 1993-09-03 | Nippon Telegr & Teleph Corp <Ntt> | プロセス間メッセージ通信方法 |
JPH07319714A (ja) * | 1993-12-15 | 1995-12-08 | Microsoft Corp | 適切なオブジェクト・オーナシップ・モデルを選択的に適用する方法およびシステム |
JPH09223200A (ja) * | 1995-09-29 | 1997-08-26 | Internatl Business Mach Corp <Ibm> | 多機能チップ・カード |
WO1998019237A1 (en) * | 1996-10-25 | 1998-05-07 | Schlumberger Systemes | Using a high level programming language with a microcontroller |
Also Published As
Publication number | Publication date |
---|---|
DE60002687T2 (de) | 2004-03-25 |
KR100716699B1 (ko) | 2007-05-14 |
KR20010101622A (ko) | 2001-11-14 |
JP2002535772A (ja) | 2002-10-22 |
JP5132853B2 (ja) | 2013-01-30 |
WO2000043878A1 (en) | 2000-07-27 |
EP1163579A1 (en) | 2001-12-19 |
DE1163579T1 (de) | 2003-03-06 |
AU771765B2 (en) | 2004-04-01 |
DE60002687D1 (de) | 2003-06-18 |
EP1163579B1 (en) | 2003-05-14 |
JP5483768B2 (ja) | 2014-05-07 |
US6922835B1 (en) | 2005-07-26 |
ATE240549T1 (de) | 2003-05-15 |
AU2617600A (en) | 2000-08-07 |
CN1351728A (zh) | 2002-05-29 |
CN1316360C (zh) | 2007-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5483769B2 (ja) | 小面積装置において入力点オブジェクトを使用してコンテキスト障壁を横断するアクセスを許可する技術 | |
JP4716573B2 (ja) | 小面積装置においてグローバル・データ構造を使用してコンテキスト障壁を横断するアクセスを許可する技術 | |
JP5483768B2 (ja) | 小面積装置において実行時環境特権を使用してコンテキスト障壁を横断するアクセスを許可する技術 | |
JP4996787B2 (ja) | 小面積装置においてコンテキスト障壁を用いたセキュリテイを施す技術 | |
JP4981210B2 (ja) | 小型装置において共有オブジェクト・インターフエイスを使用してコンテキスト障壁を横断するアクセスを許可する技術 | |
AU2004200537A1 (en) | Techniques for implementing security on a small footprint device using a context barrier | |
AU2004200758A1 (en) | Techniques for permitting access across a context barrier on a small footprint device using an entry point object | |
AU2004200637A1 (en) | Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5483768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |