JP4688490B2 - 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント - Google Patents
高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント Download PDFInfo
- Publication number
- JP4688490B2 JP4688490B2 JP2004509764A JP2004509764A JP4688490B2 JP 4688490 B2 JP4688490 B2 JP 4688490B2 JP 2004509764 A JP2004509764 A JP 2004509764A JP 2004509764 A JP2004509764 A JP 2004509764A JP 4688490 B2 JP4688490 B2 JP 4688490B2
- Authority
- JP
- Japan
- Prior art keywords
- security
- request
- memory
- access
- sem
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
Description
本発明の別の態様によれば、コンピュータ・システムが提供される。本コンピュータ・システムはセキュリティルーチンと非セキュリティルーチンを実行するように構成可能なプロセッサを含む。本コンピュータ・システムは非セキュリティルーチンに関連する要求の第1の評価を実行するように結合されたハードウェアも含む。ハードウェアはさらにセキュリティルーチンへの要求の通知を提供するように構成される。セキュリティルーチンは要求の第2の評価を実行するように構成される。セキュリティルーチンはさらに要求への要求された応答を拒否するように構成される。
本発明は添付の図面を参照しつつ以下の詳細な説明を熟読することで理解されよう。図面に於いて同一の参照番号は同様の要素を表す。
本発明の図示した実施例について以下で説明する。簡明のため、実際の実施の全ての特徴が本明細書で説明されているわけではない。当然のことながらこのような実際の実施例の開発に当たっては数多くの実装特有の決定を行って、例えばシステム関連及びビジネス関連の制限との適合性など、開発者の特定の目標を実現する必要があり、これは実施毎に変化するものであることは理解されるであろう。さらに、このような開発努力は複雑でありまた時間がかかるが、本開示の恩恵を有する当業者には尚且つ日常的な保証であろうことも理解されよう。
図4Cの実施例に於いて、CPU402はCPUセキュリティチェック・ユニット(SCU)416を含みホスト・ブリッジ404はホスト・ブリッジSCU418を含む。詳細に後述するように、CPUSCU416はCPU402によって生成された無許可アクセス(すなわち「ソフトウェアが開始したアクセス」)からメモリ406を保護し、ホスト・ブリッジSCU418はデバイス・ハードウェア・ユニット414A〜414Dによって開始された無許可アクセス(すなわち「ハードウェアが開始したアクセス」)からメモリ406を保護する。
CPU402の実行ユニット600は命令(例えばx86命令)とデータをフェッチし、フェッチした命令を実行し、命令実行中に信号(例えばアドレス、データ、及び制御信号)を生成する。実行ユニット600はキャッシュ・ユニット604に接続されて、キャッシュ・ユニット604とBIU606経由でメモリ406からの命令を受信する。実行ユニット600は実装により、標準命令、セキュリティ命令、及び/又はマイクロコードを実行できることに注意する。一実施例に於いて、CPU402で実行するマイクロコードはハードウェアでありソフトウェアではない。
図6Bの実施例に於いて、SEMレジスタ610のセットはSEMビット609を含む。図4Bのコンピュータ・システム400Bは例えば、(i)CPU402Bがx86保護モードで動作するx86プロセッサであり、(ii)メモリ・ページングが有効になっていて、かつ(iii)SEMビットが「1」にセットしてある場合にSEMで動作する。
コンピュータ・システム400Bのメモリ406は多数のメモリ位置を含み、その各々がユニークな物理アドレスを有する。ページングを有効にした保護モードで動作する場合、CPU402Bのアドレス空間はページ・フレーム又は「ページ」と呼ばれる多数のブロックに分割される。その他のメモリ単位又は分割も企図される。ページ群の一部に対応するデータだけが任意の時刻にメモリ406内に格納されている。図6Bの実施例に於いて、命令実行中に実行ユニット600によって生成されたアドレス信号はセグメント化された(すなわち「論理」)アドレスを表現する。MMU602は実行ユニット600によって生成されたセグメント化アドレスをメモリ406の対応する物理アドレスへと変換する。MMU602はキャッシュ・ユニット604へ物理アドレスを提供する。キャッシュ・ユニット604は比較的小さなストレージ・ユニットで、実行ユニット600によって最近フェッチされた命令とデータを格納するために使用される。
一般に、制御レジスタ608のセットの内容がCPU402Cの動作を規制する。したがって、制御レジスタ608のセットの内容は、実行ユニット600、MMU602、キャッシュ・ユニット604、及び/又はBIU606の動作を規制する。制御レジスタ608のセットは例えばx86プロセッサ・アーキテクチャの多数の制御レジスタ群を含むことができる。
コンピュータ・システム400Cのメモリ406は多数のメモリ位置を含み、その各々がユニークな物理アドレスを有する。ページングを有効にした保護モードで動作する場合、CPU402のアドレス空間はページ・フレーム又は「ページ」と呼ばれる多数のブロックに分割される。その他のメモリ単位又は分割も企図される。前述したように、ページ群の一部に対応するデータだけが任意の時刻にメモリ406内に格納されている。図6Cの実施例に於いて、命令実行中に実行ユニット600によって生成されたアドレス信号はセグメント化された(すなわち「論理」)アドレスを表現する。後述するように、MMU602は実行ユニット600によって生成されたセグメント化アドレスをメモリ406の対応する物理アドレスへと変換する。MMU602はキャッシュ・ユニット604へ物理アドレスを提供する。キャッシュ・ユニット604は比較的小さなストレージ・ユニットで、実行ユニット600によって最近フェッチされた命令とデータを格納するために使用される。BIU606はキャッシュ・ユニット604とホスト・ブリッジ404の間に結合され、ホスト・ブリッジ404経由でメモリ406から、キャッシュ・ユニット604に存在しない命令とデータをフェッチするために使用される。
また実行ユニット600は標準命令、セキュリティ命令、及び/又はマイクロコードを実装により実行できることに注意する。つまり、一実施例に於いて、実行ユニット600とマイクロコード・エンジン650の双方がマイクロコードを実行する。
I/O命令が16ビット・ワードI/Oポート又は32ビット・ダブルワードI/Oポートへのアクセスを試みる場合、実行ユニット600は多バイトI/Oポート番号をセキュリティチェック論理800Aに連続して提供する。セキュリティチェック論理800AがバイトI/Oポート番号の各々についてEXECUTE信号を発行する場合、実行ユニット600はI/O命令を実行できる。他方で、セキュリティチェック論理800AがバイトI/Oポート番号の1つ又はそれ以上についてSEM SECURITY EXCEPTIONを発行する場合、実行ユニット600はI/O命令を実行せず、その代わりとしてSEM例外ハンドラを実行する。
前述したように、SEMレジスタ610のセットはコンピュータ・システム400内部にSEMを実装するために使用できる。SEMレジスタ610のセットの内容はI/OSCU417の動作を規制する。セキュリティチェック論理800Bは図8Bに図示してある通信バスを経由してMMU602からSATエントリ・バッファ802に格納されるべき情報を受信する。セキュリティチェック論理800Bは又ページング・ユニットによって発生した物理アドレスも受信する。
セキュリティ上の理由から、SEMセキュリティ例外メカニズムは、SEMセキュリティ例外が発生した場合、いずれかのロード制御レジスタ又はデータ構造を頼ることができずSEM例外ハンドラ及びスタックのアドレスを提供することができない。
SMSTARレジスタ900は「SMRET CSセレクタ及びSSセレクタ・ベース」フィールド、「SMCALL CSセレクタ及びSSセレクタ・ベース」フィールド、「目標EIPアドレス」フィールドを含む。SMGSBASEレジスタ902はセキュリティモードGSベースアドレスを含む。SMSTARレジスタ900とSMGSBASEレジスタ902に格納される値は代表的にはブート時にセットされる。
エラー・コードはSEM例外スタック・フレーム1000内でGS[00h]にある。フォールトを発生したアプリケーションの命令ポインタ(EIP)の内容はSEM例外スタック・フレーム1000内のGS[04h]にある。フォールトを発生したアプリケーションのコード・セグメント(CS)レジスタの内容はSEM例外スタック・フレーム1000内のGS[08h]にある。フォールトを発生したアプリケーションのフラグ(EFLAGS)レジスタの内容はSEM例外スタック・フレーム1000内のGS[0Ch]にある。フォールトを発生したアプリケーションのスタック・ポインタ(ESP)レジスタの内容はSEM例外スタック・フレーム1000内のGS[10h]にある。フォールトを発生したアプリケーションのスタック・セグメント(SS)レジスタの内容はSEM例外スタック・フレーム1000内のGS[14h]にある。
図10Bは図10AのSEM例外スタック・フレーム1000のエラー・コードの代表的フォーマット1010の略図である。図10Bの実施例に於いて、エラー・コード・フォーマットはライト/リード(W/R)ビット、ユーザ/スーパーバイザ(U/S)ビット、モデル固有レジスタ(MSR)ビット、システム管理割り込み(SMI)ビットを含む。SEMセキュリティ例外が書き込み演算中に発生した場合にはライト/リード(W/R)ビットが「1」になり、SEMセキュリティ例外が読み出し又は実行演算中に発生した場合には「0」になる。ユーザ/スーパーバイザ(U/S)ビットは、セキュリティ例外モード(SEM)例外がユーザ・モード(CPL=3)で発生した場合に「1」になり、SEMセキュリティ例外がスーパーバイザ・モード(CPL=0)で発生した場合に「0」になる。
図11は本発明の一つの態様によるSEMセキュリティ例外を処理する方法1100の実施例のフローチャートを示す。方法1100はブロック1105で、ハードウェア経由又はソフトウェア経由いずれかで、例えばSMCALL命令経由で、SEMセキュリティ例外を生成するステップを含む。方法1100はブロック1110に於いてベース・アドレスにオフセットを加えた位置にSEMスタック・フレーム1000を作成するステップを含む。セキュリティモードGSベースアドレスはSMGSBASEレジスタ902から読み出される。SEMスタック・ポインタはセキュリティモードGSベースアドレスからSEMスタック・フレーム内のバイト数だけオフセットして形成される。SEM例外スタック・フレーム1000はSMGSBASEレジスタ902に格納されたセキュリティモードGSベースアドレスによって示されている位置にエラー・コードがあるようにメモリ内に書き込まれる。SEMセキュリティ例外のエラー・コードはSEM例外ハードウェアによって生成される。SEMセキュリティ例外それ自体はオペレーティング・システム502によって、デバイス・ドライバ・コード506によって、アプリケーション・コード500によって、などで生成される。フォールトを発生したコード・セグメント値は図10Aに図示してあるようにGS空間内に書き込まれる。
方法1100は、ブロック1120でSWAPGS命令も実行する。SWAPGS命令の実行でCPU402内にキャッシュされているGSセグメント・デスクリプタのベース・アドレスとSMGSBASEレジスタ902の内容とを入れ換える。後続のSEMセキュリティ例外ハンドラ命令は、GS空間移動のみアドレシングを使用することで、SEM例外スタック・フレーム1000と、SEM例外スタック・フレーム1000より上又は下のメモリへアクセスできる。GS空間アドレシングはSEMセキュリティ例外ハンドラにセキュリティメモリを提供する。
セキュリティカーネル504のSEMセキュリティ例外ハンドラは、例えばSEMレジスタ610に格納されている又は本明細書で説明するその他のセキュリティ化手段など、セキュリティビットによって保護された数ページの仮想メモリを含む。SEMセキュリティ例外ハンドラは例えばSEMレジスタ610に格納されている又は本明細書で説明するその他のセキュリティ化手段などのセキュリティビットによって保護された数ページの保護物理メモリを含む。
ブロック1135で方法1100がSEMセキュリティ例外を評価すると、方法1100はブロック1140で必要に応じてその評価に基づいて機能する。SEMセキュリティ例外は無視され演算を再開することがある。フォールトを発生した命令又はコード・セグメントが無視されることがある。フォールトを発生した命令又はコード・セグメントが内包されフォールトを発生した命令又はコード・セグメントが仮想メモリ又はI/O空間内でプロキシによって実行されるようにする。
1実施例において、方法1100のブロック1105〜1115は主としてハードウェアで実行されるが、ブロック1120〜1145は主としてソフトウェアで実行されることに注意する。別の実施例において、方法1100は主としてソフトウェアで実行される。さらに別の実施例において、方法1100は主としてハードウェアで実行される。一実施例に於いて、EIPアドレスはSEMセキュリティ例外の原因となったかも知れない命令を回避するように変更される。
CPU402はx86プロセッサであり、x86プロセッサ・アーキテクチャの16ビット・セグメント・レジスタの一つであるコード・セグメント(CS)レジスタを含む。各セグメント・レジスタはセグメントと呼ばれる64kブロックのメモリを選択する。ページングを有効にした保護モードに於いて、CSレジスタはメモリ406の実行可能セグメントを表すセグメント・セレクタによってロードされる。セグメント・セレクタの最高次(すなわち最上位)ビットはCPU402の実行ユニット600によって実行されるべき次の命令を含むメモリのセグメントを表示する情報を格納するために使用される。命令ポインタ(IP)レジスタはコード・セグメント(CS)レジスタによって示されたセグメントへのオフセットを格納するために使用される。CS:IPペアは次の命令のセグメント化アドレスを表示する。CSレジスタの最低次(すなわち最下位)2ビットは実行ユニット600によって現在実行されているタスクのCPL(すなわち現在のタスクのCPL)を表す値を格納するために使用される。
セキュリティチェック論理800BがSEM SECURITY EXCEPTION信号を発行した場合、MMU602はSEM SECURITY EXCEPTION信号を実行ユニット600へ転送する。x86プロセッサ・アーキテクチャのIDTベクトル化メカニズムを使用する通常のプロセッサ例外とは異なり、別のベクトル化方法を用いてSEMセキュリティ例外を処理する。SEMセキュリティ例外はx86「SYSENTER」及び「SYSEXIT」命令が動作する方法と同様に一対のレジスタ(例えばMSR)を介して配当される。レジスタ対は「セキュリティ例外エントリ・ポイント」レジスタで、SEMセキュリティ例外が発生した場合の命令実行の分岐目標アドレスを定義する。
その他の値も、例えばページングをオン/オフするCR0、拡張機能レジスタ、又は拡張アドレシングのためのページアドレス拡張モード・レジスタなどが含まれるものとして企図している。図示した値1242,1244,1246の1つ又はそれ以上を希望に応じて除外することもできる。セキュリティカーネル504はCPU状態1230、仮想メモリ構成1220、セキュリティ属性エントリ1225の1つ又はそれ以上からのセキュリティ値及び信号1250を受信する。セキュリティ値1250Aはセキュリティカーネル504と仮想メモリ構成1220との間に図示してある。セキュリティ値1250Bはセキュリティカーネル504とセキュリティ属性エントリ1225との間に図示してある。セキュリティ値1250Cはセキュリティカーネル504とCPU状態1230との間に図示してある。
一実施例に於いて、セキュリティ属性エントリ1225は1250B経由でセキュリティカーネル504によりモニタされる。メモリ位置へのアクセス試行によりSEMセキュリティ例外ハンドラ1210に対してSEMセキュリティ例外1205を生成し、CPU状態1230のSEMへの変更を惹起する。メモリ位置へのアクセスはセキュリティ属性エントリ1225の関連する一つにより許可されるか又は拒否される。セキュリティ属性エントリ1225はメモリ406内の保護されたページにある。
一実施例において、CPU状態1230は1250C経由でセキュリティカーネル504によりモニタされる。本実施例はモード依存である。メモリ位置へのアクセス試行によりSEMセキュリティ例外ハンドラ1210に対してSEMセキュリティ例外1205を生成する。メモリ位置へのアクセスはアクセスを試みた時点でのCPU状態1230にしたがって許可されるか又は拒否される。
セキュリティモード例えばSEMから非セキュリティモード例えば通常モードへの移行で幾つかのレジスタの内容がクリアされる。メモリ内容は不変のままだが、幾つかのメモリアドレスは以後読み出しできなくなる。セキュリティ性を強化するため仮想メモリ構成1220を使用している場合、CR3レジスタ1242の内容が再ロードされる。これにより信頼コードで使用されている仮想メモリ構成1220とは異なる非信頼コードに仮想メモリ構成1220を提供する。セキュリティ属性エントリ1225を使用している場合には、セキュリティページに関連したエントリはページ・テーブル内で保護されているようにマークされ、CPU状態1230がセキュリティ(又は保護)モードにならない限りアクセスできなくなる。セキュリティ性を強化するためCPU状態1230を使用している場合、CPU状態1230は保護メモリへのアクセスが許容される前にセキュリティモードには入らなければならない。
一実施例において、SEMにおけるセキュリティカーネル504はページ管理ルーチン1215を実装することにより仮想メモリ構成1220に対する保護を提供できる。この保護には最小限のハードウェアを必要とし主として最高特権(SCID)レベルで実行されるソフトウェアで実現される。
仮想メモリ構成1220、セキュリティ属性エントリ1225、CPU状態1230の、図12において説明したメカニズムの一つを用いて強化したセキュリティ性は残りのメカニズムに対して排他的である。他の実施例に於いて、これらのメカニズムのうちの二つ又はそれ以上を協動して動作させることができる。
ここで図13を参照しSATベースアドレス・レジスタ1308のPビットが「1」であると仮定すると、ページング論理702によって発生した物理アドレス1302は、選択されたメモリ・ページについてのSATエントリ1225の関連する一つにアクセスするための3つの部分に分割される。前述したように、SATベースアドレス・レジスタ1308のSATディレクトリ・ベースアドレスはSATディレクトリ1304を含むメモリ・ページのベース・アドレスである。SATディレクトリ1304は、SATディレクトリ・エントリ1312を含めた多数のSATディレクトリ・エントリを含む。各SATディレクトリ・エントリはこれに対応するSATをメモリ406内に保持する。物理アドレス1302の最高次又は最上位ビット群を含む物理アドレス1302の「上部」はSATディレクトリ1304へのインデックスとして使用される。SATディレクトリ・エントリ1312はSATベースアドレス・レジスタ1308のSATディレクトリ・ベースアドレスと物理アドレス1302の上部とを使用してSATディレクトリ304内部から選択される。
P=0の場合、SATベース・アドレスは有効ではなく、これに対応するSATはメモリ406内に存在せず、又ストレージ・デバイス(例えばディスク・ドライブ装置)からメモリ406へコピーする必要がある。P=0の場合、セキュリティチェック論理800はページング・ユニット702内部の論理へページ・フォールトを通知し、MMU602がページ・フォールト信号を実行ユニット600(図6)へ転送する。ページ・フォールト信号に応答して、実行ユニット600はページ・フォールト・ハンドラ・ルーチンを実行し、これによってストレージ・デバイスから必要とされるSATを取り出して必要なSATをメモリ406内に格納する。必要なSATがメモリ406内に格納された後で、対応するSATディレクトリ・エントリのPビットが「1」にセットされ、メカニズム1300が継続する。
BIU606はメモリ406から必要となるSEMデータ構造エントリを取り出し、SEMデータ構造エントリをMMU602へ提供する。もう一度図8Bを参照するとセキュリティチェック論理800BがMMU602とページング・ユニット702から通信バス経由でSEMデータ構造エントリを受信する。前述したように、SATエントリ・バッファ802は最近アクセスしたメモリ・ページの比較的少数のSATエントリ1225を格納するために使用される。セキュリティチェック論理800Bは任意のSATエントリ1312をSATエントリ・バッファ802へ格納し、これに併せて対応する物理アドレスの「タグ」部分も格納する。
表1:コンピュータ・システム400BがSEMで動作している場合に
おけるソフトウェアで開始されたメモリ・アクセスでの代表的規則
現在実行 選択された
中の命令 メモリ・ページ 許可されるアクセス
SP CPL SP U/S R/W アクセス 備考
1 0 X X 1(R/W) R/W 全アクセス許可(1)
1 0 X X 0(R) 読み出し (2)
1 3 1 1(U) 1(R/W) 標準保護メカニズム適用
1 3 1 0(S) X なし アクセスでGPF発生(1)
1 3 0 0 1 なし アクセスでGPF発生(4)
0 0 1 X X なし アクセスでSEMセキュリティ例外発生
0 0 0 1 1 R/W 標準保護メカニズム適用(3)
0 3 X 0 X なし 注5参照
0 3 0 1 1 R/W 標準保護メカニズム適用(6)
注(1):代表的なアクセスされるページ内容はセキュリティカーネルとSEMデータ構造を含む。
注(2):書き込み試行でGPFを発生する。選択されたメモリ・ページがセキュリティページ(SP=1)だとSEMセキュリティ例外がGPFの代わりに通知される。
注(3):代表的なアクセスされるページ内容は高セキュリティアプレットを含む。
注(4):代表的なアクセスされるページ内容はOSカーネルとリング0デバイス・ドライバを含む。
注(5):全てのアクセス試行でGPFを発生する。選択されたメモリ・ページがセキュリティページ(SP=1)だとSEMセキュリティ例外がGPFの代わりに通知される。
注(6):代表的なアクセスされるページ内容はアプリケーションを含む。
表2:コンピュータ・システム400がSEMで動作している場合の
ハードウェアで開始されたメモリ・アクセスについての代表的規則
特定の
メモリ
ページ
SP アクセス種別 動作
0 R/W アクセスは通常どおり完了する
1 読み出し アクセスは実際のメモリ内容の代わりに全部 「F」を返して完了する。
無許可アクセスは記録される
1 書き込み アクセスは完了するが書き込みデータは破棄
される。メモリ内容は変更されない。
無許可アクセスは記録される。
表2に示してあるように、目標メモリ・ページがセキュリティページであることを示すSP=1の場合、メモリ・アクセスは無許可である。この状況に於いて、セキュリティチェック論理800はメモリ・制御装置へメモリ・アクセス信号を提供しない。メモリ・アクセス信号の一部(例えば制御信号)はメモリ・アクセスの種別を示し、ここに於いてメモリ・アクセス種別は読み出しアクセスか書き込みアクセスのどちらかである。SP=1で、かつメモリ・アクセス種別が読み出しアクセスであることをメモリ・アクセス信号が示している場合、メモリ・アクセスは無許可の読み出しアクセスであり、セキュリティチェック論理800は実際のメモリ内容の代わりに全部「F」を提供することで(すなわち偽物の読み出しデータ)無許可読み出しアクセスに応答する。セキュリティチェック論理800はまた、前述のように無許可読み出しアクセスを記録することで無許可読み出しアクセスに応答する。
SP=1かつメモリ・アクセス種別が書き込みアクセスであるとメモリ・アクセス信号が示している場合、メモリ・アクセスは無許可の書き込みアクセスである。この状況では、メモリ・アクセス信号によって伝送される書き込みデータを破棄することにより、セキュリティチェック論理800は無許可書き込みアクセスに応答する。セキュリティチェック論理800はまた、前述のように無許可書き込みアクセスを記録することで無許可書き込みアクセスに応答する。
図16Bの実施例に於いて、バス・アービタ1608はデバイス・バス・インタフェース1606、ブリッジ論理1602、ホスト・ブリッジSCU418へ接続される。バス・アービタ1608はブリッジ論理1602、デバイス・ハードウェア・ユニット414Aと414B、及びデバイス・バス・ブリッジ410の間でデバイス・バス408の制御について調停する。(デバイス・ハードウェア・ユニット414Cと414Dはデバイス・バス・ブリッジ410経由でデバイス・バス408へアクセスする。)一般に、デバイス・バス408は許可信号を伝送する1本又はそれ以上の信号線を含み、ここに於いて許可信号はデバイス・バス408へ接続されているデバイスのどれがデバイス・バス408の制御を行っているかを表す複数状態のうちの一つの状態にある。バス・アービタ1608は許可信号を伝送する1本又はそれ以上の信号線に許可信号を駆動する。バス・アービタ1608は、代表的には、デバイス・ハードウェア・ユニット414Aと414B、及びデバイス・バス・ブリッジ410から別々の要求信号を受信し、ここに於いて各要求信号は対応するデバイスがデバイス・バス408の制御を必要とする場合に対応するデバイスによって発行される。バス・アービタ1608はデバイス・ハードウェア・ユニット414Aと414Bへ又デバイス・バス・ブリッジ410へ別々の許可信号を発行し、ここに於いて許可信号の任意の一つが発行されて対応するデバイスがデバイス・バス408の制御を許可されていることを表す。バス・アービタ1608はホスト・ブリッジSCU418と協動してコンピュータ・システム400C内部でデバイス間アクセスセキュリティを提供する。
セキュリティチェック論理1700はデバイス・バス・インタフェース1606とブリッジ論理1602経由でデバイス・ハードウェア・ユニット417A〜417Dによって開始されたメモリ・アクセスのメモリ・アクセス信号を受信する。メモリ・アクセス信号はデバイス・ハードウェア・ユニット417A〜417Dからの物理アドレスと、関連する制御及び/又はデータ信号をを伝送する。セキュリティチェック論理1700は対応するメモリ・ページのSATエントリ1225を取得するためのメカニズム1300を実現し、コンピュータ・システム400がSEMで動作する場合にメカニズム1300を実装するものである。SATエントリ・バッファ1704は前述のCPUSCU416のSATエントリ・バッファ802と同様であり、最近アクセスされたメモリ・ページの比較的少数のSATエントリ1225を格納するために使用する。
PCIバス・プロトコルによれば、「イニシエータ」デバイスは「ターゲット」デバイスにアクセスしてバス転送又は「トランザクション」を開始する。ターゲット・デバイスはSTOP#信号を発行することによりトランザクションを終了する。イニシエータ・デバイスが発行されたSTOP#信号を検出すると、イニシエータ・デバイスはトランザクションを終了し、トランザクションを完了するためにPCIバスの制御を再調停する必要がある。何らかのデータが転送される前にターゲット・デバイスがSTOP#信号を発行した場合終了は「リトライ」と呼ばれる。
ホスト・ブリッジSCU418はデバイス・バス・インタフェース1606経由でデバイス・バス408の信号線へ接続され、デバイス・バス408のGNT#及びA/D信号線をモニタしてデバイス・アクセス試行を検出する。例えば、デバイス・ハードウェア414Aがデバイス・ハードウェア414Bへのアクセスを試みたと仮定する。「イニシエータ」デバイス・ハードウェア414Aが「ターゲット」デバイス・ハードウェア414Bへのアクセスを試みた場合、デバイス・ハードウェア414BはPCIバス・リトライを開始することによる(すなわちデバイス・バス408のA/D信号線上でデバイス・ハードウェア414Bに割り当てられたアドレスを検出した後でSTOP#信号を発行することによる)アクセス試行を阻止する。この動作でデバイス・ハードウェア414Aに対し後続のアクセス試行を経由してアクセス試行をリトライするよう強制する。
Claims (10)
- セキュリティカーネル(504)への無許可アクセスを予防するセキュリティルーチンと、非セキュリティルーチンとを実行するように構成可能なプロセッサ(404)と、
前記非セキュリティルーチンに関連する要求の第1の評価を実行するように接続され、さらに前記第1のセキュリティ評価に基づいて前記セキュリティルーチンへ前記要求の通知を提供するように構成されたハードウェアとを含み、
前記セキュリティルーチンは、前記第1のセキュリティ評価に基づいて前記要求の第2のセキュリティ評価を実行し、前記要求に応えるに際してセキュリティリスクがないとの決定がされた場合は前記要求に応えることを許可し、前記要求に応えるに際してセキュリティリスクがあるがそのセキュリティリスクが管理可能であるとの決定がされた場合は前記要求に応えることを許可し、前記要求に応えるに際してセキュリティリスクがありかつそのセキュリティリスクが管理不可能であるとの決定がされた場合は前記要求により要求された応答を拒否するように構成される、コンピュータ・システム(400A−B)。 - 前記セキュリティルーチンは前記要求の前記第2の評価を実行するように構成されたソフトウェアセキュリティ例外ハンドラ(1210)を含む請求項1に記載のコンピュータ・システム。
- 前記ソフトウェアセキュリティ例外ハンドラ(1210)は前記要求が前記第2の評価を通過した場合前記要求された応答を許可するように構成される請求項2に記載のコンピュータ・システム。
- 前記セキュリティカーネルはオペレーティング・システム(502)の要素である請求項1に記載のコンピュータ・システム。
- 前記第1のセキュリティ評価では、前記要求が可能性として又は潜在的なセキュリティリスクを含むようなカテゴリ及びトランザクション形式の少なくとも一つに分類されるかどうかを判定し、前記第2のセキュリティ評価は前記要求がセキュリティリスクであるかどうかを判定するセキュリティリスク評価である請求項1に記載のコンピュータ・システム。
- 前記第1のセキュリティ評価では、最小限のセキュリティリスクを伴うカテゴリ又はトランザクション形式や、潜在的に高いセキュリティリスクを伴うカテゴリ又はトランザクション形式を含む複数のカテゴリと前記要求とを比較することにより、可能性として又は潜在的セキュリティリスクを含むカテゴリ及びトランザクション形式の少なくとも一つに前記要求が該当するかどうかを判定し、前記要求が潜在的に高いセキュリティリスクを伴うカテゴリの一つに該当する場合は、前記ハードウェアは前記セキュリティルーチンに前記要求を通知する請求項5に記載のコンピュータ・システム。
- 前記ハードウェアは、少なくともセキュリティ実行モードビット(609)を格納するセキュリティ実行モードハンドラ(610)とI/O保護ビットマップ(2200)とセキュリティ属性データ構造とを格納するメモリ(406)を含み、前記セキュリティルーチンはマイクロコード(650)と有限状態マシンの少なくとも一方を含む請求項1に記載のコンピュータ・システム。
- 非セキュリティルーチンを実行し、
前記非セキュリティルーチンから要求を受け取り、
前記要求の第1のセキュリティ評価をハードウェアで実行し、
前記第1のセキュリティ評価に基づいて、セキュリティルーチンにおける前記要求の第2のセキュリティ評価をセキュリティカーネルのソフトウェアで実行し、
前記第2のセキュリティ評価に基づいて、前記要求に応えるに際してセキュリティリスクがないとの決定がされた場合は前記要求に応えることを許可し、前記要求に応えるに際してセキュリティリスクがあるがそのセキュリティリスクが管理可能であるとの決定がされた場合は前記要求に応えることを許可し、前記要求に応えるに際してセキュリティリスクがありかつそのセキュリティリスクが管理不可能であるとの決定がされた場合は前記要求により要求された応答を拒否する、方法。 - 前記要求の前記第1の評価のハードウェアでの実行では、前記要求のカテゴリ分けをハードウェアで実行し、前記要求の前記第2の評価の前記セキュリティルーチン内のソフトウェアでの実行では、前記要求のセキュリティリスク評価を前記セキュリティルーチン内でソフトウェアで実行する請求項8に記載の方法。
- 前記要求のカテゴリ分けのハードウェアでの実行では、前記要求を、わずかなセキュリティリスクを伴うカテゴリと潜在的セキュリティリスクを伴うカテゴリとを含む複数のカテゴリと比較し、前記要求が潜在的セキュリティリスクを伴うカテゴリの一つに該当する場合、前記ハードウェアが前記要求を前記セキュリティルーチンへ渡す、請求項9に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/160,984 US20030226014A1 (en) | 2002-05-31 | 2002-05-31 | Trusted client utilizing security kernel under secure execution mode |
US10/160,984 | 2002-05-31 | ||
PCT/US2002/040218 WO2003102745A2 (en) | 2002-05-31 | 2002-12-17 | Trusted client utilizing security kernel under secure execution mode |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005528686A JP2005528686A (ja) | 2005-09-22 |
JP4688490B2 true JP4688490B2 (ja) | 2011-05-25 |
Family
ID=29583316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004509764A Expired - Lifetime JP4688490B2 (ja) | 2002-05-31 | 2002-12-17 | 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント |
Country Status (9)
Country | Link |
---|---|
US (1) | US20030226014A1 (ja) |
EP (1) | EP1509839A2 (ja) |
JP (1) | JP4688490B2 (ja) |
KR (1) | KR100975981B1 (ja) |
CN (1) | CN1307535C (ja) |
AU (1) | AU2002360617A1 (ja) |
GB (1) | GB2405976B (ja) |
TW (1) | TWI289787B (ja) |
WO (1) | WO2003102745A2 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130951B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Method for selectively disabling interrupts on a secure execution mode-capable processor |
US7334123B2 (en) * | 2003-05-02 | 2008-02-19 | Advanced Micro Devices, Inc. | Computer system including a bus bridge for connection to a security services processor |
US8838950B2 (en) * | 2003-06-23 | 2014-09-16 | International Business Machines Corporation | Security architecture for system on chip |
US7089397B1 (en) * | 2003-07-03 | 2006-08-08 | Transmeta Corporation | Method and system for caching attribute data for matching attributes with physical addresses |
US7496958B2 (en) * | 2003-10-29 | 2009-02-24 | Qualcomm Incorporated | System for selectively enabling operating modes of a device |
KR100591555B1 (ko) | 2004-01-19 | 2006-06-21 | 주식회사 전유시스템 | Pam 인증 기반 보안 커널 시스템 및 그 제어방법 |
US8533777B2 (en) * | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
JP2006203564A (ja) * | 2005-01-20 | 2006-08-03 | Nara Institute Of Science & Technology | マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法 |
US7617534B1 (en) | 2005-08-26 | 2009-11-10 | Symantec Corporation | Detection of SYSENTER/SYSCALL hijacking |
US20070168574A1 (en) * | 2005-09-28 | 2007-07-19 | Dell Products L.P. | System and method for securing access to general purpose input/output ports in a computer system |
US7685638B1 (en) | 2005-12-13 | 2010-03-23 | Symantec Corporation | Dynamic replacement of system call tables |
US8214296B2 (en) * | 2006-02-14 | 2012-07-03 | Microsoft Corporation | Disaggregated secure execution environment |
EP1865435A1 (en) * | 2006-06-06 | 2007-12-12 | Texas Instruments France | Enhanced exception handling |
US8245307B1 (en) | 2006-12-18 | 2012-08-14 | Nvidia Corporation | Providing secure access to a secret |
US20090144821A1 (en) * | 2007-11-30 | 2009-06-04 | Chung Shan Institute Of Science And Technology, Armaments Bureau, M.N.D. | Auxiliary method for investigating lurking program incidents |
KR101017015B1 (ko) * | 2008-11-17 | 2011-02-23 | (주)소만사 | 네트워크 기반 고성능 콘텐츠 보안 시스템 및 방법 |
US9348784B2 (en) * | 2008-12-01 | 2016-05-24 | Micron Technology, Inc. | Systems and methods for managing endian mode of a device |
CN101833621B (zh) * | 2010-04-27 | 2011-11-30 | 广州广电运通金融电子股份有限公司 | 终端安全审计方法及系统 |
US8495750B2 (en) | 2010-08-31 | 2013-07-23 | International Business Machines Corporation | Filesystem management and security system |
KR101895453B1 (ko) | 2011-11-09 | 2018-10-25 | 삼성전자주식회사 | 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치 |
US9225719B2 (en) * | 2011-12-12 | 2015-12-29 | Jpmorgan Chase Bank, N.A. | System and method for trusted pair security |
US20150047015A1 (en) * | 2012-02-27 | 2015-02-12 | Nokia Corporation | Access control for hardware units |
US9204522B2 (en) * | 2012-10-16 | 2015-12-01 | Productions Resource Group, LLC | Remote communications protocol |
US9207940B2 (en) * | 2013-03-15 | 2015-12-08 | Intel Corporation | Robust and high performance instructions for system call |
JP6370098B2 (ja) * | 2014-05-16 | 2018-08-08 | 杉中 順子 | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 |
US20170109526A1 (en) * | 2015-10-20 | 2017-04-20 | Intel Corporation | Systems and methods for providing anti-malware protection and malware forensics on storage devices |
US10375106B1 (en) * | 2016-01-13 | 2019-08-06 | National Technology & Engineering Solutions Of Sandia, Llc | Backplane filtering and firewalls |
WO2017120812A1 (en) * | 2016-01-14 | 2017-07-20 | Intel Corporation | Secure communication channel for system management mode |
CN108345522B (zh) * | 2017-12-15 | 2019-03-29 | 清华大学 | 用于对中央处理器cpu进行安全检测的方法、装置和系统 |
US11455398B2 (en) | 2019-03-08 | 2022-09-27 | International Business Machines Corporation | Testing storage protection hardware in a secure virtual machine environment |
US11283800B2 (en) | 2019-03-08 | 2022-03-22 | International Business Machines Corporation | Secure interface control secure storage hardware tagging |
US11176054B2 (en) | 2019-03-08 | 2021-11-16 | International Business Machines Corporation | Host virtual address space for secure interface control storage |
US11182192B2 (en) * | 2019-03-08 | 2021-11-23 | International Business Machines Corporation | Controlling access to secure storage of a virtual machine |
US11068310B2 (en) | 2019-03-08 | 2021-07-20 | International Business Machines Corporation | Secure storage query and donation |
US10747875B1 (en) * | 2020-03-19 | 2020-08-18 | Cyberark Software Ltd. | Customizing operating system kernels with secure kernel modules |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5561788A (en) * | 1985-04-10 | 1996-10-01 | Microsoft Corporation | Method and system for executing programs using memory wrap in a multi-mode microprocessor |
JP2001056783A (ja) * | 1999-08-18 | 2001-02-27 | Nec Software Kobe Ltd | プログラム単位メモリ属性管理方式 |
US6249872B1 (en) * | 1996-02-09 | 2001-06-19 | Intel Corporation | Method and apparatus for increasing security against unauthorized write access to a protected memory |
US20020051538A1 (en) * | 1997-09-16 | 2002-05-02 | Safenet, Inc. | Kernel mode protection |
JP2005509946A (ja) * | 2001-11-13 | 2005-04-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621321A (en) * | 1984-02-16 | 1986-11-04 | Honeywell Inc. | Secure data processing system architecture |
US4984272A (en) * | 1988-11-30 | 1991-01-08 | At&T Bell Laboratories | Secure file handling in a computer operating system |
US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
US5303378A (en) * | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
JPH06324910A (ja) * | 1993-05-13 | 1994-11-25 | Hitachi Ltd | コンピュータシステムのアクセス検出装置 |
US5684948A (en) * | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US5881282A (en) * | 1996-12-10 | 1999-03-09 | Intel Corporation | Controlling ill-behaved computer add-on device through a virtual execution mode |
US6292798B1 (en) * | 1998-09-09 | 2001-09-18 | International Business Machines Corporation | Method and system for controlling access to data resources and protecting computing system resources from unauthorized access |
US7013296B1 (en) * | 1999-06-08 | 2006-03-14 | The Trustees Of Columbia University In The City Of New York | Using electronic security value units to control access to a resource |
US6880108B1 (en) * | 1999-07-29 | 2005-04-12 | International Business Machines Corporation | Risk assessment methodology for AIX-based computer systems |
US6745306B1 (en) * | 1999-07-29 | 2004-06-01 | Microsoft Corporation | Method and system for restricting the load of physical address translations of virtual addresses |
US6718485B1 (en) * | 1999-11-16 | 2004-04-06 | Parasoft Corporation | Software emulating hardware for analyzing memory references of a computer program |
US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
GB0016835D0 (en) * | 2000-07-07 | 2000-08-30 | Messagelabs Limited | Method of, and system for, processing email |
US7185192B1 (en) * | 2000-07-07 | 2007-02-27 | Emc Corporation | Methods and apparatus for controlling access to a resource |
US6738875B1 (en) * | 2000-07-31 | 2004-05-18 | Microsoft Corporation | Efficient write-watch mechanism useful for garbage collection in a computer system |
US20020083183A1 (en) * | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US7058978B2 (en) * | 2000-12-27 | 2006-06-06 | Microsoft Corporation | Security component for a computing device |
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US7130613B2 (en) * | 2001-08-30 | 2006-10-31 | Motorola, Inc. | Method for reducing fraudulent system access |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
US7127579B2 (en) * | 2002-03-26 | 2006-10-24 | Intel Corporation | Hardened extended firmware interface framework |
-
2002
- 2002-05-31 US US10/160,984 patent/US20030226014A1/en not_active Abandoned
- 2002-12-17 CN CNB028290577A patent/CN1307535C/zh not_active Expired - Lifetime
- 2002-12-17 KR KR1020047019257A patent/KR100975981B1/ko active IP Right Grant
- 2002-12-17 WO PCT/US2002/040218 patent/WO2003102745A2/en active Application Filing
- 2002-12-17 JP JP2004509764A patent/JP4688490B2/ja not_active Expired - Lifetime
- 2002-12-17 AU AU2002360617A patent/AU2002360617A1/en not_active Abandoned
- 2002-12-17 GB GB0427590A patent/GB2405976B/en not_active Expired - Lifetime
- 2002-12-17 EP EP02795889A patent/EP1509839A2/en not_active Withdrawn
-
2003
- 2003-04-14 TW TW092108498A patent/TWI289787B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5561788A (en) * | 1985-04-10 | 1996-10-01 | Microsoft Corporation | Method and system for executing programs using memory wrap in a multi-mode microprocessor |
US6249872B1 (en) * | 1996-02-09 | 2001-06-19 | Intel Corporation | Method and apparatus for increasing security against unauthorized write access to a protected memory |
US20020051538A1 (en) * | 1997-09-16 | 2002-05-02 | Safenet, Inc. | Kernel mode protection |
JP2001056783A (ja) * | 1999-08-18 | 2001-02-27 | Nec Software Kobe Ltd | プログラム単位メモリ属性管理方式 |
JP2005509946A (ja) * | 2001-11-13 | 2005-04-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100975981B1 (ko) | 2010-08-16 |
WO2003102745A3 (en) | 2004-03-25 |
WO2003102745A2 (en) | 2003-12-11 |
JP2005528686A (ja) | 2005-09-22 |
GB2405976B (en) | 2007-02-21 |
CN1307535C (zh) | 2007-03-28 |
AU2002360617A1 (en) | 2003-12-19 |
US20030226014A1 (en) | 2003-12-04 |
EP1509839A2 (en) | 2005-03-02 |
KR20050006282A (ko) | 2005-01-15 |
AU2002360617A8 (en) | 2003-12-19 |
TW200307216A (en) | 2003-12-01 |
CN1630849A (zh) | 2005-06-22 |
GB2405976A (en) | 2005-03-16 |
TWI289787B (en) | 2007-11-11 |
GB0427590D0 (en) | 2005-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4688490B2 (ja) | 高セキュリティ実行モードにおいて高セキュリティカーネルを使用するトラステッド・クライアント | |
US5469556A (en) | Resource access security system for controlling access to resources of a data processing system | |
US6854039B1 (en) | Memory management system and method providing increased memory access security | |
US8135962B2 (en) | System and method providing region-granular, hardware-controlled memory encryption | |
US7401358B1 (en) | Method of controlling access to control registers of a microprocessor | |
US4858117A (en) | Apparatus and method for preventing computer access by unauthorized personnel | |
US7043616B1 (en) | Method of controlling access to model specific registers of a microprocessor | |
US4581702A (en) | Critical system protection | |
JP4295111B2 (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
EP1355235A2 (en) | Using limits on address translation to control access to an addressable entity | |
US20020147916A1 (en) | Method and apparatus for securing portions of memory | |
US7130977B1 (en) | Controlling access to a control register of a microprocessor | |
KR101001344B1 (ko) | 구획된 보안을 위한 입/출력 허가 비트맵 | |
US7082507B1 (en) | Method of controlling access to an address translation data structure of a computer system | |
US7451324B2 (en) | Secure execution mode exceptions | |
US7426644B1 (en) | System and method for handling device accesses to a memory providing increased memory access security | |
US20050165783A1 (en) | Secure direct memory access through system controllers and similar hardware devices | |
KR100972635B1 (ko) | 컴퓨터 시스템내에서의 장치간 액세스를 제어하는 시스템및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090826 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090902 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090928 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091005 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091026 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091102 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100421 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100707 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101108 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101222 |
|
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: 20110119 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4688490 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
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 |
|
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 |
|
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 |