• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない(前置又は当審拒絶理由) G06F
審判 査定不服 特36条6項1、2号及び3号 請求の範囲の記載不備 特許、登録しない(前置又は当審拒絶理由) G06F
管理番号 1324643
審判番号 不服2015-4094  
総通号数 207 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2017-03-31 
種別 拒絶査定不服の審決 
審判請求日 2015-03-02 
確定日 2017-02-08 
事件の表示 特願2013-154700「安全な環境を初期化する命令を実行するシステムおよび方法」拒絶査定不服審判事件〔平成25年11月21日出願公開、特開2013-235612〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 第1 手続の経緯
本願は、2003年3月20日(パリ条約による優先権主張外国庁受理2002年3月29日(以下、「優先日」という。),米国)を国際出願日として出願した特願2003-582616号の一部を平成23年7月13日に新たな特許出願とし、この新たな特許出願である特願2011-155064号の一部を平成25年7月25日に新たな特許出願としたものであって、その後の手続の経緯の概略は次のとおりである。

出願審査請求(提出日) 平成25年7月25日
手続補正(提出日) 平成26年2月4日
拒絶理由通知(起案日) 平成26年7月8日
意見、手続補正(提出日) 平成26年10月2日
拒絶査定(起案日) 平成26年10月17日
拒絶査定謄本送達 平成26年10月28日
審判請求(提出日) 平成27年3月2日
手続補正(提出日) 平成27年3月2日
前置報告(作成日) 平成27年3月30日
上申書(提出日) 平成27年7月14日
拒絶理由通知(起案日) 平成27年12月4日
意見、手続補正(提出日) 平成28年6月15日

第2 本願発明
本願の請求項1ないし3に係る発明は、平成28年6月15日付の手続補正により補正された特許請求の範囲の請求項1ないし3に記載された事項により特定されると認められるところ、本願の請求項1に係る発明(以下、「本願発明」という。)は次のとおりのものであると認められる。

「ハードウェアリソースと、
専用命令に応じてセキュア環境のセキュアな起動を開始する論理プロセッサであって、
前記セキュア環境はセキュアバーチャルマシンモニタと、セキュアカーネル及びセキュアアプリケーションの少なくとも一方とを含む、論理プロセッサとを有し、
前記セキュアバーチャルマシンモニタは、非セキュア環境で実行された非セキュアオペレーティングシステムと非セキュアアプリケーションとのうち少なくとも一方を含む非セキュア環境からの前記ハードウェアリソースへのアクセスを制御する、
プロセッサ。」

第3 引用文献
1.引用文献1
(1)引用文献1に記載されている技術的事項
本願の出願前(優先日;2002年3月29日)に既に頒布又は電気通信回線を通じて公衆に利用可能となり、当審の平成27年12月4日付の拒絶理由通知において引用された文献である、米国特許第5504814号明細書(以下「引用文献1」という。)には、関連する図面とともに、次の事項が記載されている。(当審注;下線は、参考のために当審が付与した。)
ア.「Basic Concepts and Definitions
The subject invention is based on a data processing environment shown in FIG. 1 that separates the definition of application programs and their associated access rights to processing objects, into a system build phase 11, distinct from the operational execution environment 12 in which they are instantiated and executed. The system build phase 11 assigns unique identifiers for security entities (subjects and objects) with the security level of each, identifies trusted subjects, defines the authorized type of access for each subject for objects and provides verification of compliance with the system security policy.
Schematically shown in FIG. 2 is an access control table 21 generated by the system build phase for security subjects 22 and security objects 23 which are identified in respective fields of the table. A security subject 22 as defined herein may include one or more application programs or instances of these programs. Security objects 23 may be specific data entities or resource containers (such as processors, memory segments, or labelled messages). The type of access 24 allowed on the security object 22 will be dependent on the object type. Simple examples would be send or receive operations on labelled messages, execution of a program segment, or reading or writing of a file. As described in the following, the simple pro-defined static access table 21 is used by the subject invention in the execution environment for the enforcement of security.
The subject invention recognizes the model of security subjects and objects defined in the prior art, and defines a framework of operation and a core architecture upon which secure, high performance computing systems including operating systems may be built.」(4欄40行?5欄11行)
訳;「基本的なコンセプトと定義
サブジェクト発明は処理対象にアプリケーションプログラムとそれらの関連づけられたアクセス権の定義を分離する図1、システムビルドの中にそれらがインスタンスかされそして実行されるオペレーショナル実行環境12と異なったフェーズ11で示されたデータ処理環境に基づいている。フェーズ11が、それぞれのセキュリティーレベルで、セキュリティーエンティティ(サブジェクトとオブジェクト)のためにユニークなIDに割り当てるシステムビルドは信頼できるサブジェクトを識別して、オブジェクトのためにそれぞれのサブジェクトのために検定済みのアクセスのタイプを定義して、そしてシステムセキュリティーポリシーをコンプライアンスの検証に提供する。
テーブルのそれぞれのフィールドで識別されるセキュリティーサブジェクト22とセキュリティーオブジェクト23のためにシステムビルド段階によって生成されたアクセス制御テーブル21が図2に概略的に示されている。セキュリティサブジェクト22はここに定義されるように1又はそれ以上アプリケーションプログラムあるいはこれらのプログラムのインスタンスを含むことができる。セキュリティーオブジェクト23は特定のデータエンティティあるいは(プロセッサ、メモリセグメント、あるいはラベルされたメッセージのような)リソースコンテナである。セキュリティオブジェクト22について許されたアクセスのタイプ24はオブジェクトタイプに依存するであろう。単純な例はラベル付けされたメッセージの送受信オペレーション、プログラムセグメントの実行、あるいはファイルの読み書きであろう。 次に説明されるように、単純な事前定義された静的アクセス表21はセキュリティの施行のために実行環境でサブジェクト発明によって使われる。
サブジェク発明は従来の技術で定義されたセキュリティーサブジェクトとオブジェクトのモデルを認識して、そしてオペレーションとその上にオペレーティングシステムを含めてセキュアな、効率の良いコンピューティングシステムを構築することができるコアアーキテクチャの枠組みを定義する。」

イ.「The present invention falls in the class of operating systems processing which form a part what is known as the trusted computing base (TCB) of a computing system. The Security Kernel provides the core portion of operating systems functionality necessary to be trusted to ensure secure operation of the computing system. Other components of the TCB exist, such as the system build tool and trusted subjects, but the Security Kernel forms the core of the operational environment, upon which operating systems may be built, and applications executed.
The objects, methods and functions described herein may be implemented in hardware, firmware, or software or any combination thereof. Shown in FIG. 3a is the operational context of a contemplated implementation of the invention 31 with regard to the execution phase components of the computing system. The bulk of the software involved in the execution environment is expected to be involved in the untrusted application programs 32 as well as the untrusted operating system 33 which depend on subject invention 31 to provide operation in accordance with the security policies of the computing system. Trusted subjects 34, though trusted to operate properly, also rely on the subject invention 31 for protection from outside interference, e.g., untrusted applications 32 or operating systems 33. Hardware 30 is relied upon by the subject invention 31 and is a part of the security relevant TCB.
As described in the following, the subject invention provides for the isolation of security subjects and dedicated logical resources through a modified "virtual machine" approach. For most purposes described herein, the preferred embodiment is described in the context of a single processor computer system supporting a single operating system. However, as indicated in FIG. 3b, multiple operating systems 33 or instances of an operating system 32 can be supported through the definition of protected virtual machines which enclose an operating system 33 and the associated application programs 32 (which includes parent programs 36 as well as child jobs 37) for a single security subject. Only where the usage of logical resources of one security subject (i.e., virtual machine) either implicitly or explicitly affects those of another, is there a need for mediation by the TCB. Thus, a virtual machine approach is used to provide resource encapsulation with explicit I/O interactions between security subjects. Security objects, such as processor and memory resources or data collections such as filer 39, may be dedicated to a security subject's virtual machine, through the access control mechanisms of the Security Kernel, such that explicit mediation of access is provided primarily in setting up the resources for the subject's virtual machine rather than in mediating the usage of these resources. A virtual machine approach is not strictly followed, however, in that the systems software supporting this approach (i.e., the operating systems 33 of the virtual machines, and the Security Kernel 31 supporting the "virtual machines"), are explicitly aware of one another and operate in a complementary fashion to avoid duplicated functionality and performance degradation. For example, operating system software implemented upon the subject invention is fully aware of the services provided by the Security Kernel and is designed to call upon the Security Kernel to gain access to security objects, rather than attempt to manipulate them directly. Additionally, resources associated with a security subject may include multiple processors which may run jobs 37 of the security subject, and would be identified in the access table as authorized security objects.」(5欄33行?6欄31行)
訳;「この発明は計算機システムの信頼されたコンピューティングベース(TCB)として知られている部分を形成するオペレーティングシステムプロセッシングのクラスに入る。セキュリティカーネルが計算機システムのセキュアなオペレーションを保証し信頼されるために必要なオペレーティングシステム機能性のコア部を提供する。システム構築ツールと信頼されたサブジェクトのように、TCBの他のコンポーネントが存在するが、セキュリティカーネルはその上にオペレーティングシステムが構築され、そしてアプリケーションが実行される操作環境のコアを形成することができる。
ここに説明されたオブジェクト、メソッドと関数はハードウェア、ファームウェア、あるいはソフトウェアあるいはそのどんな組み合わせでも実装することができる。 図3aには計算システムの実行段階コンポーネントに関する発明31の予想された実装のオペレーショナルコンテキストが示されている。実行環境に関連したソフトウェアの大部分は、計算機システムのセキュリティポリシーに従ってオペレーションを提供するためのサブジェクト発明31に依存する信頼されていないオペレーティングシステム33と同様に信頼されていないアプリケーションプログラム32に関係していることが予想される。信頼されたサブジェクト34は、適切に稼働することを信頼できるが、外部からの妨害、例えば、信頼されていないアプリケーション32あるいはオペレーティングシステム33から保護されるためにサブジェクト発明31を当てにする。ハードウェア30はサブジェクト発明31によって信頼されており、そしてセキュリティに関連したTCBの一部である。
次に説明されるように、サブジェクト発明は修正された「バーチャルマシン」アプローチを通してセキュリティーサブジェクトと専用の論理的なリソースの分離を提供する。ここに説明された多くの目的のために、望ましい実施形態は一つのオペレーティングシステムをサポートしてシングルプロセッサ計算機システムのコンテキストで記述される。しかしながら、図3bで示されるように、多数のオペレーティングシステム33あるいはオペレーティングシステム32のインスタンスが一つのセキュリティサブジェクトのためにオペレーティングシステム33と関連するアプリケーションプログラム32(子供ジョブ37と同様に親プログラム36を含む)を包む保護されたバーチャルマシンの定義を通してサポートされることができる。ただセキュリティサブジェクトの論理リソースの使用(すなわち、仮想マシン)が暗黙的にあるいは明示的に他のものに影響を与えるところについて、TCBによって調停のために必要性がある。それで、バーチャルマシンアプローチがセキュリティサブジェクトの間の明示的なI/Oインターアクションに関するリソースカプセル化を提供するために使われる。プロセッサ、メモリリソース、又は、ファイラー39のようなデータコレクションの如きセキュリティオブジェクトは、アクセスの明示的な実現が、これらのリソースの使用を調整することにおいてよりむしろサブジェクトのバーチャルマシンに係るリソースをセッティングすることにより基本的に供給されるといったような、セキュリティカーネルのアクセス制御メカニズムを通してセキュリティーサブジェクトのバーチャルマシンに専用になっているかもしれない。バーチャルマシンアプローチは厳密にフォロウされないが、しかしながら、このアプローチをサポートしているシステムソフトウェア(すなわち、バーチャルマシンのオペレーティングシステム33と、「バーチャルマシン」セキュリティカーネル31)は、明示的にお互いに認識があって、そして繰り返された機能性と性能劣化を避けるために相補的なやり方で作用する。 例えば、サブジェクト発明の上に実装されたオペレティングシステムソフトウェアは完全にセキュリティカーネルによって提供されたサービスを知っていて、そして直接それらを操作しようと試みるよりむしろ、セキュリティーオブジェクトへのアクセスを得ようとセキュリティカーネルを呼び出すよう設計される。さらに、セキュリティサブジェクトと関連したリソースがセキュリティサブジェクトのジョブ37を走行することができるマルチプルプロセッサを含むことができ、そしてセキュリティーオブジェクトと認知されるアクセステーブルにおいて識別されるかもしれない。」

ウ.「Initialization
The establishment of the secure execution environment is guaranteed through the initialization of the computing system by the Security Kernel. The first step in this process must be the identification of the specific hardware environment and the verification of the hardware integrity. …(中略)…
The next phase of the initialization processing establishes the Security Kernel itself as a protected subsystem and the sole owner of the right and ability to create new object types in the execution environment.
…(中略)…
The type manager routines of the Security Kernel are trusted routines which own non-forgeable access descriptors to TDO's 45 (FIG. 4a) which allow the routines to create and control access to the class of objects defined for the type manager. Examples of such object classes may be labelled messages, data file,and program images. Typically the security objects of the computing system are controlled by the Security Kernel type managers through the control and use of low-level objects of the hardware, such as memory pages, I/O controller registers, and processor state registers.」(7欄46行?8欄17行)
訳;「初期化
セキュアな実行環境の設置はセキュリティカーネルによって計算機システムの初期値設定を通して保証される。このプロセスで最初のステップは特定のハードウェア環境の識別子とハードウェアインテグリティの検証であるに違いない。
…(中略)…
初期値設定プロセッシングの次のフェーズはそれ自身保護されたサブシステムとしてのセキュリティカーネルを確立する、そして権利と新しいオブジェクトタイプを作成することができる唯一のオーナーは実行環境を確立する。
…(中略)…
セキュリティカーネルのタイプマネージャルーチンは信頼できるルーチンであり、タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成してそして制御することを許可するTDO(タイプ定義オブジェクト)45(図4a)への自身の偽造できないアクセス記述子を所有する。このようなオブジェクトクラスの例はラベル付けされたメッセージ、データファイル、そしてプログラムイメージであるかもしれない。典型的には計算機システムのセキュリティーオブジェクトは、メモリーページ、入出力コントローラレジスタ、プロセッサ状態レジスタのようなハードウェアの低レベルのオブジェクトの使用と制御を通してセキュリティカーネルのタイプマネージャによって制御される。」

(2)引用文献1に記載された発明
(ア)前記ア.の「テーブルのそれぞれのフィールドで識別されるセキュリティーサブジェクト22とセキュリティーオブジェクト23のためにシステムビルト段階において生成されたアクセス制御テーブル21が図2に概略的に示されている。セキュリティサブジェクト22はここに定義されるように1又はそれ以上アプリケーションプログラムあるいはこれらのプログラムのインスタンスを含むことができる。セキュリティーオブジェクト23は特定のデータエンティティあるいは(プロセッサ、メモリセグメント、あるいはラベルされたメッセージのような)リソースコンテナである。セキュリティオブジェクト22について許されたアクセスのタイプ24はオブジェクトタイプに依存するであろう」との記載、前記イ.の「プロセッサ、メモリリソース、又は、ファイラー39のようなデータコレクションの如きセキュリティオブジェクト」との記載から「セキュリティーサブジェクトとセキュリティーオブジェクトのためにシステムビルト段階においてアクセス制御テーブルが生成され、セキュリティオブジェクトについて許されたアクセスのタイプはオブジェクトタイプに依存し、前記セキュリティーオブジェクトはプロセッサ、メモリのようなリソース」であることをよみとることができる。

(イ)前記ウ.の「セキュアな実行環境の設置はセキュリティカーネルによって計算機システムの初期値設定を通して保証される・・・初期値設定プロセッシングの次のフェーズはそれ自身保護されたサブシステムとしてのセキュリティカーネルを確立する、そして権利と新しいオブジェクトタイプを作成することができる唯一のオーナーは実行環境を確立する」との記載から「セキュリティカーネルによって計算機システムの初期値設定を通してセキュアな実行環境が保証される」をよみとることができ、前記イ.の「セキュリティカーネルが計算機システムのセキュアなオペレーションを保証し信頼されるために必要なオペレーティングシステム機能性のコア部を提供する。システム構築ツールと信頼されたサブジェクトのように、TCBの他のコンポーネントが存在するが、セキュリティカーネルはその上にオペレーティングシステムが構築され、そしてアプリケーションが実行される操作環境のコアを形成することができる・・・サブジェクト発明は修正された「バーチャルマシン」アプローチを通してセキュリティーサブジェクトと専用の論理的なリソースの分離を提供する・・・望ましい実施形態は一つのオペレーティングシステムをサポートし・・・多数のオペレーティングシステム33・・・が一つのセキュリティサブジェクトのためにオペレーティングシステム33と関連するアプリケーションプログラム32(子供ジョブ37と同様に親プログラム36を含む)を包む保護されたバーチャルマシンの定義を通してサポートされる」との記載から、「セキュリティカーネルはその上にオペレーティングシステムが構築され、そしてアプリケーションが実行される操作環境のコアを形成し、セキュリティサブジェクトのためにオペレーティングシステムと関連するアプリケーションプログラムを包む保護されたバーチャルマシン」をよみとることができる。これらをあわせると「セキュリティカーネルによって計算機システムの初期値設定を通してセキュアな実行環境が保証され、セキュリティカーネルはその上にオペレーティングシステムが構築され、アプリケーションが実行される操作環境のコアを形成し、セキュリティサブジェクトのためにオペレーティングシステムと関連するアプリケーションプログラムを包む保護されたバーチャルマシン」をよみとることができる。

(ウ)前記(イ)での言及から、前記「セキュアな実行環境」は、「セキュリティサブジェクトのためにオペレーティングシステムと関連するアプリケーションプログラムを包む」バーチャルマシンであり、前記ウ.の「セキュリティカーネルのタイプマネージャルーチンは信頼できるルーチンであり、タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成してそして制御することを許可する・・・オブジェクトクラスの例はラベル付けされたメッセージ、データファイル、そしてプログラムイメージであるかもしれない。典型的には計算機システムのセキュリティーオブジェクトは、メモリーページ、入出力コントローラレジスタ、プロセッサ状態レジスタのようなハードウェアの低レベルのオブジェクトの使用と制御を通してセキュリティカーネルのタイプマネージャによって制御される」との記載から、前記「セキュリティカーネル」は「タイプマネージャルーチンを含むセキュリティカーネル」であり「タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成してそして制御することを許可する」ものである。よって、「前記セキュアな実行環境はタイプマネージャルーチンを含むセキュリティカーネルと、オペレーティングシステムと、オペレーティングシステムと関連するセキュリティサブジェクト(アプリケーションプログラム)を含み、タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成して制御することを許可するバーチャルマシン」であることをよみとることができる。

(エ)前記イ.の「信頼されたサブジェクト34は、適切に稼働することを信頼できるが、外部からの妨害、例えば、信頼されていないアプリケーション32あるいはオペレーティングシステム33から保護されるためにサブジェクト発明31を当てにする・・・プロセッサ、メモリリソース、又は、ファイラー39のようなデータコレクションの如きセキュリティオブジェクトは、アクセスの明示的な実現が、これらのリソースの使用を調整することにおいてよりむしろサブジェクトのバーチャルマシンに係るリソースをセッティングすることにより基本的に供給されるといったような、セキュリティカーネルのアクセス制御メカニズムを通してセキュリティーサブジェクトのバーチャルマシンに専用になっているかもしれない。・・・例えば、サブジェクト発明の上に実装されたオペレティングシステムソフトウェアは完全にセキュリティカーネルによって提供されたサービスを知っていて、そして直接それらを操作しようと試みるよりむしろ、セキュリティーオブジェクトへのアクセスを得ようとセキュリティカーネルを呼び出すよう設計される」との記載(FIG3.aの信頼サブジェクト34,非信頼アプリケーション32、非信頼OS33、セキュリティカーネル31、ハードウェアTCB、FIG3bのバーチャルマシン33をあわせて参照のこと)、前記ウ.の「セキュリティカーネルのタイプマネージャルーチンは信頼できるルーチンであり、タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成してそして制御する・・・オブジェクトクラスの例はラベル付けされたメッセージ、データファイル、そしてプログラムイメージであるかもしれない。典型的には計算機システムのセキュリティーオブジェクトは、メモリーページ、入出力コントローラレジスタ、プロセッサ状態レジスタのようなハードウェアの低レベルのオブジェクトの使用と制御を通してセキュリティカーネルのタイプマネージャによって制御される」との記載から、「タイプマネージャを有するセキュリティカーネルは、信頼されていないアプリケーションあるいはオペレーティングシステムから保護されるために当てにされ、プロセッサ、メモリリソース、又は、ファイラーのようなデータコレクションの如きセキュリティオブジェクトは、アクセスの明示的な実現が、サブジェクトのバーチャルマシンに係るリソースがセッティングされたセキュリティカーネルのアクセス制御メカニズムを通して制御される」ことをよみとることができる。

(オ)図3a、図3bに関しての記載である前記イ.の「プロセッサ」から「プロセッサ」(物理的なプロセッサ)は明らか。

前記(ア)?(オ)によれば、引用文献1には次の発明(以下「引用発明」という。)が示されている。

「セキュリティーサブジェクトとセキュリティーオブジェクトのためにシステムビルト段階においてアクセス制御テーブルが生成され、セキュリティオブジェクトについて許されたアクセスのタイプはオブジェクトタイプに依存し、前記セキュリティーオブジェクトはプロセッサ、メモリのようなリソースであり、
セキュリティカーネルによって計算機システムの初期値設定を通してセキュアな実行環境が保証され、セキュリティカーネルはその上にオペレーティングシステムが構築され、アプリケーションが実行される操作環境のコアを形成し、セキュリティサブジェクトのためにオペレーティングシステムと関連するアプリケーションプログラムを包む保護されたバーチャルマシンであって、
前記セキュアな実行環境はタイプマネージャルーチンを含むセキュリティカーネルと、オペレーティングシステムと、オペレーティングシステムと関連するセキュリティサブジェクト(アプリケーションプログラム)を含み、タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成して制御することを許可する前記バーチャルマシンと、
前記タイプマネージャを有するセキュリティカーネルは、信頼されていないアプリケーションあるいはオペレーティングシステムから保護されるために当てにされ、プロセッサ、メモリリソース、又は、ファイラーのようなデータコレクションの如きセキュリティオブジェクトは、アクセスの明示的な実現が、サブジェクトのバーチャルマシンに係るリソースがセッティングされたセキュリティカーネルのアクセス制御メカニズムを通して制御される、
プロセッサ。」

2.引用文献2
(1)引用文献2に記載されている技術的事項
本願の出願前に既に頒布又は電気通信回線を通じて公衆に利用可能となり、当審の平成27年12月4日付の拒絶理由通知において引用された文献である、国際公開第01/75565号(以下「引用文献2」という。)には、関連する図面とともに、次の事項が記載されている。(日本語訳は、ファファミリーである特表2004-500666号公報を参酌した。)

A.「DESCRIPTION

In an embodiment of the present invention, a technique is provided to execute isolated instructions. An execution unit executes an isolated instruction in a processor operating in a platform. The processor is configured in one of a normal execution mode and an isolated execution mode. A parameter storage contains at least one parameter to support execution of the isolated instruction when the processor is configured in the isolated execution mode.

In one embodiment, the isolated instruction is one of an isolated initialize (iso_init) instruction, an isolated close (iso_close) instruction, an isolated enter (iso_enter) instruction, an isolated exit (iso_exit) instruction, an isolated configuration read (iso_config_read), and an isolated configuration write (iso_config_write) instruction. The parameter is one of an isolated feature word, an execution mode word, a logical processor value, an isolated setting including a mask value and a base value, an exit physical address, an entry physical address, and a processor nub loader physical address.

The parameter storage is one of an internal storage and an external storage. The internal storage includes a control register to store the execution mode word, a logical processor register, a mask register to store the mask value, a base register to store the base value, a frame register set, an exit frame register to store the exit address, an entry frame register to store the entry address, and a loader register to store the processor nub loader address. The external storage includes a memory controller hub (MCH) storage and an input/output controller hub (ICH) storage. The execution mode word configures the processor in the isolated execution mode.

The iso_init instruction, when executed, causes the processor to create an isolated area defined by the base value and the mask value in a memory if the isolated area has not been created, set a range of the isolated area in the MCH register, copy a processor nub loader into the isolated area using the processor nub loader address in the loader register, and execute the processor nub loader. The iso_init instruction, when executed, further causes the processor to initialize the isolated area for the platform, and obtain a location of a processor nub. The iso_init instruction causing the processor to execute the processor nub loader causes the processor to copy the processor nub into the isolated area, verify a signature of the processor nub using a public key contained in the processor nub loader, and execute the processor nub if the signature is verified. The iso_init instruction, therefore, ensures that the state of the environment or platform is clean upon creation of the isolated area.

The iso_enter instruction, when executed, causes the processor to store contents of the frame register set in an exit frame, the exit frame being pointed to by the exit address in the exit frame register, and load an entry frame into the frame register set, the entry frame being pointed to by the entry address in the entry frame register. The iso_exit instruction, when executed, causes the processor to load an exit frame into the frame register set. The exit frame is pointed by the exit address in the exit frame register. The iso_close instruction, when executed, causes the processor to reset the isolated setting in the processor if a corresponding logical processor is last to withdraw, and reset the isolated setting in the MCH and the ICH if the processor is last to withdraw. The iso_config_read instruction, when executed, causes the processor to return contents of a configuration storage corresponding to the parameter storage. The iso_config_write instruction, when executed, causes the processor to write contents of a configuration storage corresponding to the parameter storage.」(3頁4行?4頁17行)

訳;「【0006】
(説明)
本発明の一実施態様では、分離命令(isolated instruction)を実行するための技術を提供する。実行ユニットが、プラットフォームで動作するプロセッサ中で分離命令を実行する。プロセッサは、ノーマル実行モードおよび分離実行モードの1つに構成される。パラメータ記憶域は、プロセッサが分離実行モードに構成されている場合に分離命令の実行をサポートするための少なくとも1つのパラメータを含む。
【0007】
一実施態様では、分離命令は、分離初期化(iso_init)命令、分離クローズ命令(iso_close)命令、分離入口(iso_enter)命令、分離出口(iso_exit)命令、分離構成読込み(iso_config_read)命令、および分離構成書込み(iso_config_write)命令の1つである。パラメータは、分離特徴ワード、実行モード・ワード、論理プロセッサ値、マスク値およびベース値を含む分離設定、出口物理アドレス、入口物理アドレス、およびプロセッサ・ナブ・ローダ(processor nub loader)の物理アドレスの1つである。
【0008】
パラメータ記憶域は、内部記憶域か外部記憶域の1つである。内部記憶域は、実行モード・ワードを記憶する制御レジスタ、論理プロセッサ・レジスタ、マスク値を記憶するマスク・レジスタ、ベース値を記憶するベース・レジスタ、フレーム・レジスタ・セット、出口アドレスを記憶する出口フレーム・レジスタ、入口アドレスを記憶する入口フレーム・レジスタ、プロセッサ・ナブ・ローダ・アドレスを記憶するローダ・レジスタを含む。外部記憶域は、メモリ・コントローラ・ハブ(MCH)記憶域、および入出力コントローラ・ハブ(ICH)記憶域を含む。実行モード・ワードは、プロセッサを分離実行モードに構成する。
【0009】
iso_init命令を実行すると、プロセッサは、分離域がまだ作成されていない場合は、ベース値およびマスク値によって定義される分離域をメモリ中に作成し、MCHレジスタにその分離域の範囲を設定し、ローダ・レジスタ中のプロセッサ・ナブ・ローダ・アドレスを使ってその分離域にプロセッサ・ナブ・ローダをコピーし、プロセッサ・ナブ・ローダを実行する。さらに、iso_init命令を実行すると、プロセッサは、分離域をプラットフォーム用に初期化し、プロセッサ・ナブのロケーションを得る。プロセッサにプロセッサ・ナブ・ローダを実行させるiso_init命令によって、プロセッサは、プロセッサ・ナブを分離域中にコピーし、プロセッサ・ナブ・ローダ中に含まれる公開キーを使ってプロセッサ・ナブの署名を検証し、署名が検証された場合はそのプロセッサ・ナブを実行する。したがって、iso_init命令は、分離域が作成されると、その環境またはプラットフォームを確実にクリーンな状態にする。
【0010】
iso_enter命令を実行すると、プロセッサは、フレーム・レジスタ・セットの内容を出口フレーム・レジスタ中の出口アドレスが指す出口フレーム中に記憶し、入口フレーム・レジスタ中の入口アドレスが指す入口フレームをフレーム・レジスタ・セット中にロードする。iso_exit命令を実行すると、プロセッサは出口フレームをフレーム・レジスタ・セット中にロードする。出口フレーム・レジスタ中の出口アドレスが出口フレームを指す。iso_close命令を実行すると、プロセッサは、対応する論理プロセッサが最後に引き下るものである場合はプロセッサ中の分離設定をリセットし、また、そのプロセッサが最後に引き下るものである場合はMCHおよびICH中の分離設定をリセットする。iso_config_read命令を実行すると、プロセッサは、パラメータ記憶域に対応する構成記憶域の内容を返す。iso_config_write命令を実行すると、プロセッサは、パラメータ記憶域に対応する構成記憶域の内容を書き込む。」

B.「ARCHITECTURE OVERVIEW

One principle for providing security in a computer system or platform is the concept of an isolated execution architecture. The isolated execution architecture includes logical and physical definitions of hardware and software components that interact directly or indirectly with an operating system of the computer system or platform. An operating system and the processor may have several levels of hierarchy, referred to as rings, corresponding to various operational modes. A ring is a logical division of hardware and software components that are designed to perform dedicated tasks within the operating system. The division is typically based on the degree or level of privilege, namely, the ability to make changes to the platform. For example, a ring-0 is the innermost ring, being at the highest level of the hierarchy. Ring-0 encompasses the most critical, privileged components. In addition, modules in Ring-0 can also access to lesser privileged data, but not vice versa. Ring-3 is the outermost ring, being at the lowest level of the hierarchy. Ring-3 typically encompasses users or applications level and has the least privilege. Ring- 1 and ring-2 represent the intermediate rings with decreasing levels of privilege.
…(中略)…
Ring-0 10 includes two portions: a normal execution Ring-0 11 and an isolated execution Ring-0 15. The normal execution Ring-0 11 includes software modules that are critical for the operating system, usually referred to as kernel. These software modules include primary operating system (e.g., kernel) 12, software drivers 13, and hardware drivers 14. The isolated execution Ring-0 15 includes an operating system (OS) nub 16 and a processor nub 18. The OS nub 16 and the processor nub 18 are instances of an OS executive (OSE) and processor executive (PE), respectively. The OSE and the PE are part of executive entities that operate in a secure environment associated with the isolated area 70 and the isolated execution mode. The processor nub loader 52 is a protected bootstrap loader code held within a chipset in the system and is responsible for loading the processor nub 18 from the processor or chipset into an isolated area as will be explained later.
…(中略)…
One concept of the isolated execution architecture is the creation of an isolated region in the system memory, referred to as an isolated area, which is protected by both the processor and chipset in the computer system. The isolated region may also be in cache memory, protected by a translation look aside (TLB) access check. Access to this isolated region is permitted only from a front side bus (FSB) of the processor, using special bus (e.g., memory read and write) cycles, referred to as isolated read and write cycles. The special bus cycles are also used for snooping. The isolated read and write cycles are issued by the processor executing in an isolated execution mode. The isolated execution mode is initialized using a privileged instruction in the processor, combined with the processor nub loader 52. The processor nub loader 52 verifies and loads a ring-0 nub software module (e.g., processor nub 18) into the isolated area. The processor nub 18 provides hardware-related services for the isolated execution.

One task of the processor nub 18 is to verify and load the ring-0 OS nub 16 into the isolated area, and to generate the root of a key hierarchy unique to a combination of the platform, the processor nub 18, and the operating system nub 16. The operating system nub 16 provides links to services in the primary OS 12 (e.g., the unprotected segments of the operating system), provides page management within the isolated area, and has the responsibility for loading ring-3 application modules 45, including applets 46 x to 46 κ , into protected pages allocated in the isolated area. The operating system nub 16 may also load ring-0 supporting modules.

The operating system nub 16 may choose to support paging of data between the isolated area and ordinary (e.g., non-isolated) memory. If so, then the operating system nub 16 is also responsible for encrypting and hashing the isolated area pages before evicting the page to the ordinary memory, and for checking the page contents upon restoration of the page. The isolated mode applets 46 x to 46 κ and their data are tamper- resistant and monitor-resistant from all software attacks from other applets, as well as from non-isolated-space applications (e.g., 42 2 to 42^, dynamic link libraries (DLLs), drivers and even the primary operating system 12. Only the processor nub 18 or the operating system nub 16 can interfere with or monitor the applet' s execution.」(5頁4行?18行)
訳;「【0013】
アーキテクチャの概要
コンピュータ・システムまたはプラットフォームにセキュリティを与えるための1つの原則は、分離実行アーキテクチャという概念である。分離実行アーキテクチャは、コンピュータ・システムまたはプラットフォームのオペレーティング・システムと直接的または間接的に相互作用するハードウェアおよびソフトウェアのコンポーネントの論理的および物理的定義を含む。オペレーティング・システムおよびプロセッサは、様々な動作モードに対応するリングと呼ばれるいくつかのレベルの階層を備えることができる。リングは、オペレーティング・システム内で専用タスクを実行するように設計されたハードウェアおよびソフトウェアのコンポーネントの論理区分である。この区分は、一般に、特権、すなわちプラットフォームに変更を施す能力の程度またはレベルに基づく。例えば、リング0は最も内側のリングであり、階層の最上レベルにある。リング0は、最も重要な特権コンポーネントを包含する。さらに、リング0中のモジュールは、それよりも特権度の低いデータにアクセスすることもできるが、その反対は不可能である。リング3は最も外側のリングであり、階層の最低レベルにある。リング3は、一般に、ユーザ・レベルまたはアプリケーション・レベルを包含し、最小特権を有する。リング1およびリング2は中間リングを表し、その特権のレベルが減少していく。
…(中略)…
【0015】
リング0 10は、ノーマル実行リング0 11および分離実行リング0 15の2つの部分を含む。ノーマル実行リング0 11は、オペレーティング・システムにとって重要なソフトウェア・モジュールを含み、これは、通常、カーネルと呼ばれる。これらのソフトウェア・モジュールは、プライマリ・オペレーティング・システム(例えばカーネル)12、ソフトウェア・ドライバ13、およびハードウェア・ドライバ14を含む。分離実行リング0 15は、オペレーティング・システム(OS)ナブ16およびプロセッサ・ナブ18を含む。OSナブ16およびプロセッサ・ナブ18は、それぞれOSエグゼクティブ(OSE)およびプロセッサ・エグゼクティブ(PE)のインスタンスである。OSEおよびPEは、分離域70および分離実行モードに関連する安全な環境で動作するエグゼクティブ・エンティティ(executive entity)の一部である。プロセッサ・ナブ・ローダ52は、システム中のチップセット内に保持される保護ブートストラップ・ローダ・コードであり、後述するように、プロセッサまたはチップセットから分離域にプロセッサ・ナブ18をロードする責任をもつ。
…(中略)…
【0017】
分離実行アーキテクチャの1つの概念は、システム・メモリ中に、分離域と呼ばれる分離された領域を作成することであり、この分離域は、コンピュータ・システム中のプロセッサおよびチップセットの両方によって保護される。この分離領域は、トランスレーション・ルックアサイド(TLB)アクセス・チェックによって保護されるキャッシュ・メモリ中にあってもよい。この分離領域へのアクセスは、分離読込みおよび書込みサイクルと呼ばれる、専用バス(例えば、メモリ読込みおよび書込み)サイクルを使って、プロセッサのフロント・サイド・バス(FSB)からのみ可能である。この専用バス・サイクルは、スヌーピングにも使用される。この分離読込み/書込みサイクルは、プロセッサが分離実行モードで実行することにより発行される。分離実行モードの初期化は、プロセッサ中の特権命令をプロセッサ・ナブ・ローダ52と組み合わせて使用して行う。プロセッサ・ナブ・ローダ52は、リング0のナブ・ソフトウェア・モジュール(例えば、プロセッサ・ナブ18)を検証し、分離域中にロードする。プロセッサ・ナブ18は、分離実行のためのハードウェア関連のサービスを提供する。
【0018】
プロセッサ・ナブ18の1つのタスクは、リング0のOSナブ16を検証して分離域中にロードし、プラットフォーム、プロセッサ・ナブ18、およびオペレーティング・システム・ナブ16の組み合わせに一意のキー階層のルートを生成することである。オペレーティング・システム・ナブ16は、プライマリOS12中のサービス(例えば、オペレーティング・システム中の非保護セグメント)へのリンクを提供し、分離域内のページ管理を提供し、また、アプレット461?46Kを含めて、リング3のアプリケーション・モジュール45を分離域中の割り振られた保護ページ中にロードする責任を有する。オペレーティング・システム・ナブ16はまたリング0サポート・モジュールをロードすることができる。
【0019】
オペレーティング・システム・ナブ16は、分離域と通常の(例えば非分離)メモリの間のデータのページングをサポートすることを選択することができる。その場合、オペレーティング・システム・ナブ16は、ページを通常のメモリに追い出す前に、分離域のページを暗号化しハッシングする責任と、ページを復元したときにそのページの内容をチェックする責任も有する。分離モード・アプレット46_(1)?46_(K)、およびそれらのデータは、他のアプレットから、また、非分離スペースのアプリケーション(例えば41_(1)?42_(N))、ダイナミック・リンク・ライブラリ(DLL)、ドライバ、およびさらにはプライマリ・オペレーティング・システム12からのあらゆるソフトウェア攻撃に対して耐偽造性および耐監視性を有する。プロセッサ・ナブ18またはオペレーティング・システム・ナブ16のみがアプレットの実行を干渉または監視することができる。」

C.「ISOLATED INSTRUCTIONS

Figure 2 is a diagram illustrating a part of the isolated execution circuit 115 shown in Figure 1C according to one embodiment of the invention. The isolated execution circuit 115 includes an execution unit 230 and a parameter storage 240.

The execution unit 230 executes an isolated instruction in the processor 110, shown in Figure 1C. As discussed above, the processor 110 operates in a platform including the MCH 130, the system memory 140, the ICH 150, and the token bus 180 as shown in Figure 1C. In addition, the processor 110 is configured in one of a normal execution mode and an isolated execution mode. The execution unit 230 may include a decoder to decode the isolated instruction, sub execution units to carry out the tasks in the decoded instruction, an arithmetic and logic unit (ALU) to perform arithmetic and logic functions, and associated registers. The execution unit 230 receives an isolated instruction 210.
…(中略)…
The logical processor register 330 stores a logical processor value 332. The logical processor value 332 indicates the number of logical processors that enter the isolated execution mode. A physical processor may have a number of logical processors, each logical processor corresponds to a logical processor. Initially, the logical processor value 332 is zero. When a logical processor enters the isolated execution mode, the logical processor value 332 increments by one. When a logical processor exits the isolated execution mode, the logical processor value decrements by one. The logical processor value 332 has a maximum value to limit the number of logical processors in the isolated execution mode. When a logical processor exits and the logical processor value 332 decrements to zero, that logical processor knows that it is the last logical processor to withdraw from the isolated execution mode.」(12頁20行?14頁14行)

訳;「【0037】
分離命令
図2は、本発明の一実施形態による、図1Cに示す分離実行回路115の一部を示す図である。分離実行回路115は、実行ユニット230およびパラメータ記憶域240を含む。
【0038】
実行ユニット230は、図1Cに示すように、プロセッサ110で分離命令を実行する。上述のように、プロセッサ110は、図1Cに示すように、MCH130、システム・メモリ140、ICH150、トークン・バス180を含むプラットフォームにおいて動作する。さらに、プロセッサ110は、ノーマル実行モードおよび分離実行モードの1つに構成される。実行ユニット230は、分離命令を復号するためのデコーダ、復号化された命令においてタスクを実行するサブ実行ユニット、演算機能および論理機能を実行するための演算論理ユニット(ALU)、および関連するレジスタを含むことができる。実行ユニット230は分離命令210を受け取る。
…(中略)…
【0044】
論理プロセッサ・レジスタ330は論理プロセッサ値332を記憶する。論理プロセッサ値332は、分離実行モードに入る論理プロセッサの数を表す。物理プロセッサはいくつかの論理プロセッサを有することができ、各論理プロセッサは1つの論理プロセッサに対応する。論理プロセッサ値332は最初はゼロである。論理プロセッサが分離実行モードに入ると、論理プロセッサ値332は1だけ増加する。論理プロセッサが分離実行モードから出ると、論理プロセッサ値は1だけ減少する。論理プロセッサ値332は、分離実行モードでの論理プロセッサの数を制限するために最大値を有する。論理プロセッサが出て、論理プロセッサ値332がゼロに減少すると、この論理プロセッサは、自分が分離実行モードから引き下る最後の論理プロセッサであることを知る。」

(2)引用文献2に記載された技術
前記A.の「本発明の一実施態様では、分離命令(isolated instruction)を実行するための技術を提供する。実行ユニットが、プラットフォームで動作するプロセッサ中で分離命令を実行する。プロセッサは、ノーマル実行モードおよび分離実行モードの1つに構成される・・・iso_init命令は、分離域が作成されると、その環境またはプラットフォームを確実にクリーンな状態にする・・・iso_enter命令を実行すると、プロセッサは、フレーム・レジスタ・セットの内容を出口フレーム・レジスタ中の出口アドレスが指す出口フレーム中に記憶し、入口フレーム・レジスタ中の入口アドレスが指す入口フレームをフレーム・レジスタ・セット中にロードする・・・iso_close命令を実行すると、プロセッサは、対応する論理プロセッサが最後に引き下るものである場合はプロセッサ中の分離設定をリセットし、また、そのプロセッサが最後に引き下るものである場合はMCHおよびICH中の分離設定をリセットする」との記載、前記B.の「コンピュータ・システムまたはプラットフォームにセキュリティを与えるための1つの原則は、分離実行アーキテクチャという概念である。・・・分離実行リング0 15は、オペレーティング・システム(OS)ナブ16およびプロセッサ・ナブ18を含む。OSナブ16およびプロセッサ・ナブ18は、それぞれOSエグゼクティブ(OSE)およびプロセッサ・エグゼクティブ(PE)のインスタンスである。OSEおよびPEは、分離域70および分離実行モードに関連する安全な環境で動作するエグゼクティブ・エンティティ(executive entity)の一部である・・・分離実行モードの初期化は、プロセッサ中の特権命令をプロセッサ・ナブ・ローダ52と組み合わせて使用して行う。プロセッサ・ナブ・ローダ52は、リング0のナブ・ソフトウェア・モジュール(例えば、プロセッサ・ナブ18)を検証し、分離域中にロードする。プロセッサ・ナブ18は、分離実行のためのハードウェア関連のサービスを提供する・・・プロセッサ・ナブ18の1つのタスクは、リング0のOSナブ16を検証して分離域中にロードし、プラットフォーム、プロセッサ・ナブ18、およびオペレーティング・システム・ナブ16の組み合わせに一意のキー階層のルートを生成することである・・・プロセッサ・ナブ18またはオペレーティング・システム・ナブ16のみがアプレットの実行を干渉または監視することができる」との記載から、プロセッサは、ノーマル実行モードおよび分離実行モードの1つに構成されており、iso_init命令、iso_enter命令を含む分離命令を実行することにより、プロセッサ中の特権命令をプロセッサ・ナブ・ローダと組み合わせて使用して分離実行モードの初期化を行い、初期化されたプロセッサ・ナブは、分離実行のためのハードウェア関連のサービスを提供しOSナブを検証して分離域中にロードし、プラットフォーム、プロセッサ・ナブ、およびオペレーティング・システム・ナブの組み合わせのルートを生成し、プロセッサ・ナブまたはOSナブのみがアプレットの実行を干渉または監視することができる技術をよみとることができる。
前記A.の記載における「プロセッサは、対応する論理プロセッサが最後に引き下るものである場合」に関連し、前記C.の「物理プロセッサはいくつかの論理プロセッサを有することができ、・・・論理プロセッサが分離実行モードに入ると、論理プロセッサ値332は1だけ増加する。論理プロセッサが分離実行モードから出ると、論理プロセッサ値は1だけ減少する」との記載をふまえると、前記「プロセッサ」には「論理プロセッサ」が含まれると解され、また、前記「プロセッサ・ナブ」は、リング0にあってOS(バーチャルマシン)をロードし初期化し管理可能であり、また、アプレット(アプリケーション)を監視することができることから「バーチャルマシンモニタ」に相当するといえる。
これらの点をふまえると、引用文献2には、セキュア環境のセキュアな分離操作に係る論理プロセッサに関し、iso_init命令、iso_enter命令を含む分離命令に応じて、セキュア環境(安全な環境)のセキュアな起動を開始する(分離実行モードの初期化、プロセッサ・ナブが起動可能になっていることは明らか)論理プロセッサの技術が示されている。

第4 対比
本願発明と引用発明とを対比する。
(1)引用発明の「セキュリティーサブジェクトとセキュリティーオブジェクトのためにシステムビルト段階においてアクセス制御テーブルが生成され、セキュリティオブジェクトについて許されたアクセスのタイプはオブジェクトタイプに依存し、前記セキュリティーオブジェクトはプロセッサ、メモリのようなリソース」における当該「プロセッサ、メモリのようなリソース」と本願発明の「ハードウェアリソース」とに実質的な差異はない。

(2)引用発明の「セキュアな実行環境」は本願発明の「セキュア環境」に対応し、引用発明の「オペレーティングシステムが構築され、アプリケーションが実行される操作環境のコアを形成し、セキュリティサブジェクトのためにオペレーティングシステムと関連するアプリケーションプログラムを包む保護されたバーチャルマシン」は本願発明の「論理プロセッサ」に相当し、引用発明の「セキュアな実行環境」は本願発明の「専用命令に応じてセキュア環境のセキュアな起動を開始する」こととセキュアな動作に係るといえる点で共通する。してみれば、引用発明の「セキュリティカーネルによって計算機システムの初期値設定を通してセキュアな実行環境が保証され、セキュリティカーネルはその上にオペレーティングシステムが構築され、アプリケーションが実行される操作環境のコアを形成し、セキュリティサブジェクトのためにオペレーティングシステムと関連するアプリケーションプログラムを包む保護されたバーチャルマシン」と本願発明の「専用命令に応じてセキュア環境のセキュアな起動を開始する論理プロセッサ」とは、「セキュア環境のセキュアな動作に係る論理プロセッサ」である点で共通する。

(3)引用発明の「セキュリティカーネル」は、「タイプマネージャを有するセキュリティカーネル」であり、引用発明の4番目の段落に記載された「アクセスの明示的な実現が、サブジェクトのバーチャルマシンに係るリソースが・・・セキュリティカーネルのアクセス制御メカニズムを通して制御される」ことから、前記「セキュリティカーネル」は、「バーチャルマシンに係る」ものであり、セキュリティカーネルのアクセス制御メカニズム(アクセス制御テーブル)を通せるものか否かをみている(モニタしている)と解することができ、これらの点をふまえると引用発明の「セキュリティカーネル」は、本願発明の「セキュアバーチャルマシンモニタ」及び「セキュアカーネル」に相当する。また、引用発明の「セキュリティサブジェクト(アプリケーションプログラム)」は本願発明の「セキュアアプリケーション」に相当する。しかも、本願発明は、択一的に「セキュアバーチャルマシンモニタと、セキュアカーネル及びセキュアアプリケーションの少なくとも一方とを含む」事項を有する点をふまえると、引用発明の「タイプマネージャルーチンを含むセキュリティカーネルと、オペレーティングシステムと、オペレーティングシステムと関連するセキュリティサブジェクト(アプリケーションプログラム)を含み、タイプマネージャのために定義したオブジェクトクラスへのアクセスを生成して制御することを許可する前記バーチャルマシン」と本願発明の「セキュアバーチャルマシンモニタと、セキュアカーネル及びセキュアアプリケーションの少なくとも一方とを含む、論理プロセッサ」とに実質的な差異はない。

(4)前記(3)で言及した引用発明の「セキュリティカーネル」の点をふまえると、引用発明の「タイプマネージャを有するセキュリティカーネルは、信頼されていないアプリケーションあるいはオペレーティングシステムから保護されるために当てにされ、プロセッサ、メモリリソース、又は、ファイラーのようなデータコレクションの如きセキュリティオブジェクトは、アクセスの明示的な実現が、サブジェクトのバーチャルマシンに係るリソースがセッティングされたセキュリティカーネルのアクセス制御メカニズムを通して制御される」ことと本願発明の「前記セキュアバーチャルマシンモニタは、非セキュア環境で実行された非セキュアオペレーティングシステムと非セキュアアプリケーションとのうち少なくとも一方を含む非セキュア環境からの前記ハードウェアリソースへのアクセスを制御する」こととに実質的な差異はない。

以上の対比によれば、本願発明と引用発明とは次の事項を有する点で一致し、そして相違する。
〈一致点〉
ハードウェアリソースと、
セキュア環境のセキュアな動作に係る論理プロセッサであって、
前記セキュア環境はセキュアバーチャルマシンモニタと、セキュアカーネル及びセキュアアプリケーションの少なくとも一方とを含む、論理プロセッサとを有し、
前記セキュアバーチャルマシンモニタは、非セキュア環境で実行された非セキュアオペレーティングシステムと非セキュアアプリケーションとのうち少なくとも一方を含む非セキュア環境からの前記ハードウェアリソースへのアクセスを制御する、
プロセッサ。

〈相違点〉
セキュア環境のセキュアな動作に係る論理プロセッサに関し、本願発明は、「専用命令に応じて」セキュア環境のセキュアな「起動を開始する」論理プロセッサであるのに対し、引用発明はそのような特定がされていない点。

第5 当審判断
引用文献2には、セキュア環境のセキュアな分離操作に係る論理プロセッサに関し、iso_init命令、iso_enter命令を含む分離命令に応じて、セキュア環境(安全な環境)のセキュアな起動を開始する(分離実行モードの初期化され、プロセッサ・ナブは実行可能になっているからセキュアな起動の開始を経ていることは明らか)論理プロセッサの技術が示されている。そして、引用発明と引用文献2とは、いずれもセキュア環境を生成するために、セキュアバーチャルマシンモニタに相当する「セキュアカーネル」、「プロセッサ・ナブ」を初期化ないし起動するもので共通するセキュア技術に係るものである。
してみれば、引用発明において、セキュア環境のセキュアな論理プロセッサに関し、「専用命令に応じて」セキュア環境のセキュアな「起動を開始する」論理プロセッサと成すことは前記引用文献2の技術を参酌することにより当業者が容易になし得ることである。

そして、本願発明の構成により奏する効果も、引用発明、引用文献2に記載された技術から当然予測される範囲内のものにすぎない。

以上のとおり、本願発明は、特許法第29条第2項の規定により特許を受けることができないから、他の請求項に係る発明について検討するまでもなく、本願は拒絶されるべきものである。

第6 むすび
以上のとおり、本願発明は、本願出願前に日本国内又は外国において、頒布された刊行物に記載された発明又は電気通信回線を通じて公衆に利用可能となった発明、技術に基いて当業者が容易に発明をすることができたものであって、特許法第29条第2項の規定により特許を受けることができないものであるから、本願は、拒絶すべきものである。

よって、結論のとおり審決する。
 
審理終結日 2016-09-09 
結審通知日 2016-09-13 
審決日 2016-09-27 
出願番号 特願2013-154700(P2013-154700)
審決分類 P 1 8・ 537- WZ (G06F)
P 1 8・ 121- WZ (G06F)
最終処分 不成立  
前審関与審査官 戸島 弘詩  
特許庁審判長 石井 茂和
特許庁審判官 高木 進
辻本 泰隆
発明の名称 安全な環境を初期化する命令を実行するシステムおよび方法  
代理人 大貫 進介  
代理人 伊東 忠重  
代理人 伊東 忠彦  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ