説明

トラステッド・コンピュータ・システム

Linux(登録商標)互換性を提供し、現時代のハードウェア速度をサポートするトラステッド・コンピュータ・システム。それは、開発することが容易であり、多種多様な最新の開発ツールの使用が可能であるように、Linux(登録商標)上で動作する共通アプリケーションの移植を必要としないように設計される。システムは更に、必要とされるセキュリティ機能の組み込み、および広範囲にわたる操作環境において広範囲にわたる機密性(例えば、機密区分)レベルでデータを処理するための非常に高いレベルのアシュアランスによって、コモン・クライテリアEAL−5またはそれより高いレートを満たすかまたは上回るように設計される。これは、セキュリティを実施するために下層から設計され、Linux(登録商標)オペレーティング・システムの機能および方法もサポートする、良くレイヤ化されたオペレーティング・システムの実施によって達成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トラステッド・コンピューティング・システムの分野に関する。
【背景技術】
【0002】
(著作権の通知)
本出願は、著作権の保護を受ける資料を含む。この特許開示は特許商標庁のファイルまたは記録に公開されているので、著作権者はその何人による複写にも異議を唱えないが、それ以外については、いかなるものであれすべての著作権の権利を保有する。
【0003】
(優先権の主張)
本出願は、2003年6月17日に出願された米国特許出願第10/462771号からの優先権を主張し、同出願の全体を参照により本明細書に組み込む。
【0004】
バージニア州ハーンドンのGetronics Government Solutions,LLCによって最近製造されたXTS−300(商標)トラステッド・コンピュータ・システムは、長い間、国家安全保障局(NSA)の評価を受けている唯一の高保証汎用コンピュータ・システムである。慎重な設計によって、XTS−300は、NSAによって、そのトラステッド・コンピュータ・システム評価基準(TCSEC)に基づき、クラスB3レベルと評価されたものであり、TCSECの教示をその全体がこの参照により本明細書に組み込まれる。B3評価は、システムが非常に高いレベルのセキュリティ機能を提供するという証明である。図1は、様々なTCSECセキュリティ区分レベルを達成するための要件について高水準の概要を提供する。TCSECは、より正式には米国国防総省規格番号5200.28−STDとしても知られ、しばしば「オレンジ・ブック」と呼ばれる。
【0005】
XTS−300によって提供される高いレベルのセキュリティ機能のため、XTS−300は、防衛界、諜報界、外交界、法執行界、およびその他の世界に、最新世代のIntel(登録商標)サーバ・クラス・ハードウェア上で動作する極めて安全なシステムを提供している。加えて、XTS−300は、その汎用ハードウェア構成を利用して、Intel(登録商標)x86ハードウェア・ベースおよびSCSIサブシステムにおける頻繁なハードウェアの進歩を用いる。
【0006】
XTS−300は、データをフィルタリングし、セキュリティ・ポリシーを実施するアプリケーションがその上で構築されるプラットホームとして使用される。フィルタリングは、ルール・ベースの検査および選択基準が様々なデータに適用されることを可能にするプロセスであり、それによって、適切な場合には、承認されたデータが1つのセキュリティ区分レベルから別のセキュリティ区分レベルへ安全に受け渡されることを可能にする。これらのプログラムの多くは、XTS−300のハードウェア実施の保護を使用して1つのネットワークを別のネットワークから保護しながら、なおも、選択されたデータが、慎重に構成され且つ十分な認定を受けた論理パスを介して異なるレベルのネットワーク間を流れることを可能にするので、「ガード(Guard)」と呼ばれている。
【0007】
XTS−300は成功しているが、XTS−300上で動作させることができるコンピュータ・ソフトウェア・プログラムの数および種類は、そのオペレーティング・システムによって限定される。
【発明の開示】
【発明が解決しようとする課題】
【0008】
従って、本発明の好ましい一実施形態は、関連技術の限界および不都合に起因する1または複数の問題を実質的に回避するシステムおよび方法に関する。
【0009】
本発明の目的は、トラステッド・オペレーティング・システムを作成することであり、トラステッド・オペレーティング・システムは、トラステッドおよび非トラステッドのアプリケーションがそこで実行されることができるアプリケーション・ドメインと、(オペレーティング・システム・サービス・レイヤが)少なくとも1つの他のオペレーティング・システム用に書かれたアプリケーションがトラステッド・オペレーティング・システムで実行されることを可能にするインタフェースを提供することによって、(オペレーティング・システム・サービス・レイヤが)前記の少なくとも1つの他のオペレーティング・システムをエミュレートするオペレーティング・システム・サービス・レイヤと、トラステッド・システム・サービス・レイヤと、システムのセキュリティ・ポリシーおよびインテグリティ規則を実施するため、ならびにユーザおよび管理者のアクションを促進することを含む基本オペレーティング・システム・サービスを提供するためのセキュリティ・カーネルとを含む。
【0010】
本発明の別の目的は、トラステッド・コンピュータ・システムを作成することであり、トラステッド・コンピュータ・システムは、各々がマルチドメイン・アーキテクチャをサポートする少なくとも1つのプロセッサと、トラステッド・コンピュータ・システムの操作を容易にするための少なくとも1つの端末と、少なくとも1つのデータ記憶ユニットと、少なくとも1つのメモリ・ユニットと、トラステッド・コンピューティング・システム上で動作するものであり、プロセス分離を実施するために前記の少なくとも1つのプロセッサのマルチドメイン・アーキテクチャを用いるセキュア・オペレーティング・システムとを含む。
【0011】
本発明の更に別の目的は、セキュリティ・ポリシー強化システムを提供することであり、セキュリティ・ポリシー強化システムは、少なくとも1つがマルチドメイン・アーキテクチャをインプリメントする少なくとも1つのプロセッサと、少なくとも1つのランダム・アクセス・メモリ・ユニットと、それぞれのセキュリティ区分レベルにデータが存在する少なくとも2つの異なるセキュリティ区分レベルで動作するセキュア・オペレーティング・システムと、データの内容に関してセキュリティ・チェックを実行して、そのデータが1つの機密区分レベルから別の機密区分レベルへセキュア・オペレーティング・システムによって転送されることができるか否かを決定する少なくとも1つのデータ・セキュリティ検証手段とを含む。
【0012】
本発明のまた別の目的は、トラステッド・オペレーティング・システムを提供することであり、このトラステッド・オペレーティング・システムは、他のオペレーティング・システム用に書かれたアプリケーション・プログラムを、そのアプリケーション・プログラムを変更する必要なしに、このトラステッド・オペレーティング・システムで実行することを可能にすることによって、別のオペレーティング・システムをエミュレートする。
【0013】
本発明の別の目的は、複数のプロセスを同時に実行することができるトラステッド・オペレーティング・システムを作成することであり、このシステムは、強制および任意のアクセスを超えた追加的なアクセス制御区別化(access control differentiation)を可能にするサブタイプ機構を提供する。
【0014】
本発明の更に別の目的は、任意のプロセスが任意のファイル・システム・オブジェクトにアクセスを試みるときはいつでも4つの別々のポリシーが実施されるトラステッド・オペレーティング・システムを実施することであり、そのポリシーは、強制セキュリティ・ポリシーと、強制インテグリティ・ポリシーと、任意アクセス制御ポリシーと、サブタイプ・ポリシーとを含む。
【0015】
本発明の更に別の目的は、隠れストレージ・チャネルの数および速度を制限することによって、第1のプロセスが、第2のより高い機密扱いのプロセスの存在や状態について知ることを防止する、トラステッド・オペレーティング・システムを作成することである。
【0016】
本発明の更なる特徴および利点が以下で説明されるが、部分的にはその説明から明らかとなり、または本発明の実施によって学ばれることもあろう。本発明の目的およびその他の利点は、記載された説明および本明細書の特許請求の範囲、ならびに添付の図面において特に指摘される構造によって実現および達成される。
【課題を解決するための手段】
【0017】
本発明は、好ましくは、マルチユーザ・ワークステーションからトラステッド・ガードやトラステッド・サーバまで広範囲にわたるアプリケーションのために使用されることができるという意味で、汎用コンピューティング・システムである。本発明の好ましい一実施形態は、XTS−300で使用されるハードウェア・アーキテクチャおよびオペレーティング・システム・カーネルの設計技法のいくつかを用いるが、本明細書で説明される本発明の好ましい一実施形態は、現時代のハードウェアならびに堅牢なLinux(登録商標)アプリケーション・プログラミング・インタフェース(API)およびアプリケーション・バイナリ・インタフェース(ABI)の組に対するサポートを追加するように再構築されており、それにより、Linux(登録商標)用に書かれた数千のプログラムおよびコマンドが、それらのバイナリ形式のまま、移植や再コンパイルすることなく、本発明の好ましい一実施形態で実施されるセキュリティ・アーキテクチャの保護の下で、コピーおよび実行されることができる。従って、本発明の好ましい一実施形態は、極めてセキュアな機能が高信頼な様式で実行されることができる、エミュレートされたオープン・ソース環境を提供する。
【0018】
加えて、本発明の好ましい一実施形態は、他のトラステッド・プログラムが、本発明に特有のAPIにアクセスすることを可能にし、それによって、本発明の好ましい一実施形態のセキュリティ態様の一部または全部へのアクセス、または一定の状況下ではそれらに対する制御を、提供する。本発明は、Linux(登録商標)とのABI/API互換性(即ち、Linux(登録商標)のエミュレーション)を提供するが、本発明は、発明者らと本発明の譲受人との全くの創造であって、Linux(登録商標)カーネル・コードを使用しない。従って、それは、オープン・ソース・アプリケーションを実行する自由と、保護されたプロプライエタリ・システムに関連するセキュリティとの双方を持つ安全性の高いLinux(登録商標)コンパチブルの環境である。
【0019】
本発明の好ましい一実施形態は、セキュア・トラステッド・オペレーティング・プログラム(STOP(登録商標))と呼ばれるオペレーティング・システムを用いる。以前のアプローチとは異なり、本発明の好ましい一実施形態は、Linux(登録商標) ABI/API、ならびに独特なコマンドおよびAPIを実施するセキュリティをサポートするために構成される。これは、好ましくは、本発明が、無比のセキュリティを提供することを可能にすると同時に、本発明が、より多くの標準的な市販のアプリケーションを、実質的な変更を必要とせずに実行できるようにする。
【0020】
本発明の好ましい一実施形態は、マルチレベルのセキュアなトラステッド・セキュリティ機能(TSF)を提供するものであり、情報技術セキュリティ評価のコモン・クライテリア(Common Criteria for Information Technology Security Evaluation)に対してのその関係が、TCSECに対するトラステッド・コンピューティング・ベース(TCB)の関係とほぼ同じであり、このトラステッド・セキュリティ機能は、異なるクリアランスおよび必知事項(needs-to-know)を有するユーザによっての、異なる区分または機密性および必知事項(カテゴリ/区分)での、データの同時の処理および保存を可能にする。システム・ハイ(system-high)・モードで動作するシステムとは異なり、本発明の好ましい一実施形態は、データの恣意的な過剰機密扱い(over-classify)をなくすことができるものであり、システム・ハイ・モードは、動作のセキュリティ・モードとして典型的に定義されるものであり、特定の情報システムや、その周辺機器や、リモート端末や、リモート・ホストへ直接的または間接的にアクセスする各ユーザが、下記のすべて、即ち、(a)情報システム内のすべての情報に対する有効なセキュリティ・クリアランスと、(b)保存および/または処理されるすべての情報(すべての区分、副区分、および/または特別なアクセス・プログラムを含む)に対する正式なアクセス承認および署名された非開示合意と、(c)情報システム内に含まれるいくつかの情報に対する有効な必知事項とを有するものである。
【0021】
本発明の好ましい一実施形態は、高い堅固性および/または高いリスク環境のために設計され、これは、特定のセキュリティ機能の組み込みばかりではなく、非常に高いレベルのアシュアランスも意味する。このアシュアランス・レベルは、本発明の好ましい一実施形態が、広範囲にわたる動作環境において広範囲にわたる機密性(例えば機密区分レベル)でデータを処理するために認定されることを可能にする。本発明は、情報の半自動または全自動のダウングレード化および/またはダウン・フローを処理するためのネットワーク・ガードやフィルタなどの専門化されたアプリケーションを含む多くの種類のアプリケーションを実行しながらも、高いレベルのセキュリティを提供するように設計される。
【0022】
上述の概略的な説明および以下の詳細な説明は共に例示的かつ説明的なものであり、特許請求される発明の更なる説明を提供することを意図していることを理解されたい。
【0023】
添付の図面は、本発明の更なる理解を可能にするために含まれ、本明細書の一部に組み込まれ、本明細書の一部を構成するものであり、本発明の実施形態を図説しており、説明と共に本発明の原理を説明するのに役立つ。
【発明を実施するための最良の形態】
【0024】
これから本発明の好ましい実施形態に対して詳しく言及するが、添付の図面にその例が示されている。
【0025】
本発明の好ましい一実施形態のオペレーティング・システム・コンポーネントは、複数のユーザに対して端末接続をサポートすることができるマルチプログラミング・オペレーティング・システムである。現在好ましい一実施形態では、最大200のプロセスが同時に動作することができ、その各々は最大4ギガバイトの仮想メモリをもつことができる。本発明のオペレーティング・システム・コンポーネントは、好ましくは、Linux(登録商標) APIもサポートし、安全な環境において、Linux(登録商標)上でコンパイルされた大部分のオブジェクトまたはバイナリ・プログラムを、そのようなオブジェクトまたはバイナリ・プログラムの変更を必要とせずに、実行することができる。加えて、本発明は、好ましくは、トラステッド・セキュリティ機能(TSF)の外部で、X−Windows(登録商標)グラフィカル・ユーザ・インタフェース(GUI)を提供し、それは非高信頼(untrusted)のユーザによる作業用のコンソールで利用可能にされることができる。
【0026】
本発明の好ましい一実施形態は、TCP/IPおよびEthernet(登録商標)プロトコル(10BaseT/100BaseT)をTSFに組み込むことによってネットワーク接続も可能にし、一方、TSFの外部でネットワーク・サーバ(例えば、SMTP、HTTPなど)のインプリメントもサポートする。コモン・クライテリア(Common Criteria)評価に合格することを期待される本発明の一実施形態では、同じネットワーク内のアタッチメント(付属装置)は現在単一のレベルでなければならないが、複数のネットワークは各々異なるレベルにあることができる。
【0027】
本発明の好ましい一実施形態は、現在アクセス可能なすべてのウィンドウを、所与のディスプレイ上に同じセキュリティ・レベルで実施する。本発明の好ましい一実施形態は、セキュリティ上の懸念および考慮され得るプロセッサ・オーバヘッドのため、マルチレベルのカット・アンド・ペーストをサポートしないが、そのような機能を本発明の主旨または範囲から逸脱することなく実施できることを当業者であれば理解できる。本発明の好ましい一実施形態は、他のセキュリティ・レベルでのコマンド実行のために、好ましくはセキュア・アテンション・キー(SAK)としてインプリメントされるトラステッド・パス機構を実施する。そのようなコマンドは、好ましくは、トラステッド・コマンド・インタフェースを介して入力される。トラステッド・パスの起動は、GUIの一時停止を引き起こし、トラステッド・コマンド・インタフェースをGUI環境から確実に分離する。
【0028】
本発明の好ましい一実施形態は、マルチレベル・セキュア・オペレーティング・システムとカスタマイズされたIntel(登録商標)x86ハードウェア・ベースとの組み合わせに関する基礎をもつ。本発明のオペレーティング・システム・コンポーネントは、好ましくは、セキュリティ(MAC)およびインテグリティ(MCC)ポリシーの両方を可能にする強制アクセス制御(mandatory access control)を提供する。本発明の好ましい一実施形態によって実施される強制セキュリティ・ポリシーはBellおよびLaPadulaのセキュリティ・モデルを反映しており、それはD.BellおよびL.LaPadulaによる「Secure computer systems:Mathematical Foundation」、ESD−TR−73−278、Vol.1、Mitre Corp,1973年に記載されており、同文献の教示の全体を参照により本明細書に組み込む。
【0029】
TCSEC B3またはコモン・クライテリア・システムのための最小要件を超えて、本発明の好ましい実施形態は、強制インテグリティ・ポリシー(中程度ないし高度な堅牢性プロファイルに必要とされる)と、追加のサブタイプ・ポリシーと、よく知られたLinux(登録商標)様の動作環境とを提供する。本発明を限定することを意図しない一例として、本発明の好ましい一実施形態のインテグリティ・モデルは、高度なウイルス保護のために使用されることができる。強制インテグリティ・ポリシーはBibaのインテグリティ・モデルを反映しており、それは、Biba,K.J.による「Integrity considerations for Secure computer Systems」、ESD−TR76−372、MITRE Co.、1977年4月に記載されており、同文献の教示の全体を参照により本明細書に組み込む。
【0030】
強制アクセス制御に加えて、本発明の好ましい一実施形態は、任意アクセス制御(DAC)もインプリメントし、ユーザIDに基づくポリシー実施のために必要とされるユーザ識別および認証の手段を提供する。本発明の好ましい一実施形態では、「サブタイプ」と呼ばれるポリシー機構を提供し、これは、MAC、MICおよびDAC制御と併せて顧客特定的(customer-specific)な方法で使用され得る。この実施形態では、それぞれのデバイス、プロセス、およびファイル・システム・オブジェクトは、サブタイプ属性を有する。各プロセスは、上述のデバイス、プロセス、およびファイル・システム・オブジェクト・タイプ毎に1つの、アクセス可能なサブタイプの3つのリストを有する。それらのタイプのうちの1つのもののオブジェクトにアクセスするためには、プロセスは、所有するサブタイプ・リストに、そのオブジェクトのサブタイプをもたなければならない。
【0031】
これら4つの機構(DAC、MAC、MIC、およびサブタイプ)は、様々なデータ・オブジェクト、プロセス、デバイスなどへのアクセスを制限または許可するために、アプリケーション設計者によって選択される様々な組み合わせで使用されることができる。例えば、特定のファイルは、これらのアクセス制御の選択によって、特定の区分のプロセスによってのみ変更可能であるが、それを越えて、特定のグループ、更には特定のユーザだけによって変更可能であるように制限されることができる。
【0032】
TSFは、最小化、階層化、抽象化、およびデータ隠蔽を含む、複数の強力なアーキテクチャ上の特性を示す。本明細書で用いている最小化とは、全体的なシステムの複雑性を低減するために、重要性の低い非セキュリティの機能がTSFから分離されるオペレーティング・システム設計技法を指す。これは、人間が複雑なデータ処理プログラムおよびシステムをうまく評価することを可能にする。本明細書で用いている階層化とは、編成原則として「レイヤ」を用いるモジュール化設計をTSFが用いるオペレーティング・システム設計技法を指す。これは、明瞭に定義されたインタフェース、個別のレイヤ試験を提供し、ロッキング階層を容易にし、より抽象的なデータがより上位レイヤにあるように、データ抽象化のレイヤを指し示す。本明細書で用いている抽象化とは、より複雑なデータ構造が、より複雑でないデータ構造から組み立てられるオペレーティング・システム設計技法を指す。抽象化は、必要でないまたは好ましくない細部(オペレーティング・システムの1つのレイヤでは適切であり得る)を、より上位のレイヤで動作するプロセスまたはモジュールから隠すために使用される。本明細書で使用されるデータ隠蔽とは、データの範囲を最小化するオペレーティング・システム設計技法を指す。隠蔽されるデータは、ビジビリティ(visibility)が必要なモジュールだけから見ることができる。データ隠蔽は、抽象化の使用を強く推すために使用される。TSFは、ハードウェア機能を利用して、プロセス分離およびTSF分離を提供し、侵入に抵抗するように設計および実施される。システム設計は、正式のセキュリティ・モデルおよびその他の高水準設計文書に基づく。
【0033】
大部分の現在のオペレーティング・システムとは異なり、本発明のオペレーティング・システムのコンポーネントは、好ましくは、セキュリティを中心に据えて構成される。従って、各データベース、アプリケーション、ユーザ、端末、およびプロセスを含むシステムのあらゆるレベルは、それと関連するセキュリティ・レベルを有する。図3に示されるように、本発明の好ましい一実施形態のオペレーティング・システムの部分は、「分離のリング(rings of isolation)」と呼ばれる(「ドメイン」とも呼ばれる)アーキテクチャを用い、この構成において、内側のリングはセキュリティ機能を提供するために協力し、外側のリングは適切に機能するために内側のリングに依存する。
【0034】
図3に示されるマルチドメイン・アーキテクチャは、端末が異なるMACレベルでプロセスへ同時に接続することを防止する。異なるレベルのプロセスに接続するためには、ユーザは、最初に、現在実行中のプロセスから接続を断たなければならず、または、オペレーティング・システムがユーザをそれらのプロセスから切断しなければならない。オペレーティング・システムは、このドメイン・アーキテクチャおよびプロセス分離のため、基本的に改ざんされる恐れはない。実際、本発明の好ましい一実施形態は安全性が高く、プロセスは、ドメイン特権によって制限され、また、同じまたはより低いドメイン特権を有する他のプロセスへのみメッセージ送信が許可される。これらの規約のすべてはシステムそれ自体の内部で実施される。本発明を限定することを意図しない一例として、セキュリティ・カーネルを表し且つシステムの最高のセキュリティ・レベルで動作する図3のドメイン0は、ユーザからアクセスはできない。入力/出力デバイス・ドライバはこのレベルに存在することで、デバイス・ドライバへの権限のないアクセスを防止する。
【0035】
上述のドメイン・アーキテクチャを使用してセキュリティを実施することに加えて、本発明の好ましい一実施形態は、更に、インテグリティ・ポリシーを使用して管理者とオペレータとの役割を分離する。システムは、管理者とオペレータとの役割に対して「最小特権の原則」(即ち、ユーザは自らの役目を実行するのに必要とされる権限より多くの権限を有さないべきである)を実施する。特権を持つ(および通常の)ユーザによって実行されるすべてのアクションは、監査されることができる。監査ログは、インテグリティおよびサブタイプの機構を用いて、変更から保護される。
【0036】
本発明の好ましい一実施形態ものオペレーティング・システムのコンポーネントは、一連の不成功ログインやパスワード誤りなどのような、セキュリティ・ポリシー違反が今にも起こりかねないことを示すイベントが累積されることを検出する警報機構も提供する。個々のアカウンタビリティは監査能力を備えている。データ・スカベンジング(data scavenging)は、オブジェクト再使用(即ち、残余データ)防止機構によって防止される。
【0037】
本発明のTSFの好ましい一実施形態のマルチレベル・セキュリティ機能は、トラステッド・ラベリング、強制アクセス制御ポリシー、および強制インテグリティ制御ポリシーを実施し、これは、システムが、異なるクリアランスおよび必知事項をもつユーザに、異なる機密区分レベルもしくは機密性にあり且つ/又は異なる必知事項カテゴリもしくは区分にある情報を同時に保存および処理することを許すことができるようにする。許可されたユーザは、情報をその実際の機密性レベルで処理することができ、システム・ハイ動作でしばしば生じる情報の恣意的な過剰機密扱いを排除するのに役立つ。
【0038】
配備されるまたはコモン・クライテリアを使用して評価される本発明の一施形態に関して、本発明は、好ましくは、EAL5アシュアランス要件を満たすように設計され、EAL6およびEAL7の要件の一部も満たされる。これらのEAL要件は大部分がオレンジ・ブック(即ち、TCSEC)のB3アシュアランス要件と類似している。B3のために必要とされるセキュリティ機能が好ましくは達成されるが、本発明の好ましい一実施形態によって満たされる機能要件の正確な組は、顧客から出される保護プロファイルに依存する。
【0039】
図1に示されるように、クラスB3システムと格付けされたシステムは、TCSECによって必要とされるセキュリティ機能を提供するTCB/TSFを提供する。NCSCの「Guidance for Applying the DoD TCSEC in Specific Environments」(「イエロー・ブック」として知られ、同文献の教示の全体を参照により本明細書に組み込む)は、「オープン・セキュリティ環境のためのセキュリティ・インデックス・マトリックス」を含む。明確にしておくと、オープンおよびクローズドという用語は、システムの動作環境ではなく、その開発環境におけるセキュリティ制御の厳格さを表す。図2は、所与の許可範囲内にあるユーザに所与の区分範囲内にあるデータへのアクセスを許すためにシステムがもつべき、最低限のTCSECレーティング(格付け)を示している。
【0040】
区分の範囲が広がれば広がるほど、データの保護を保証するために、システムはより高いレーティングを必要とする。クラスB1システム(例えば、コンパートメント・モードのワークステーション)は、非機密扱いから機密の区画にわたって、または機密から最高機密/SCIにわたってデータが区画される多くのマルチレベル処理シナリオに対して、ほとんどアシュアランス(保証)を提供しない。
【0041】
本発明のオペレーティング・システムのコンポーネントは、好ましくは、トラステッド・コンピューティング・ベース(TCB)およびトラステッド・セキュリティ機能(TSF)を含み、これらがセキュリティ・ポリシーおよび非トラステッド・コマンドを実施し、これらは一般に、Unix(登録商標)および/またはLinux(登録商標)ユーザに馴染み深いユーザ・インタフェースを提供する。
【0042】
本発明の好ましい一実施形態は、Pentium(登録商標)またはXeon(登録商標)のCPUの4ドメイン・チップ・アーキテクチャを用い、オペレーティング・システム・コンポーネントの強制セキュリティおよびインテグリティ・アクセス制御のポリシーを強化するものであり、これは、セキュリティ・ドメインをハードウェアで物理的に分離することでなされ、それによりシステム・プロセスが互いに改ざんし合うことを防止する。マルチドメインCPUアーキテクチャは、セグメント、ページ、および命令へのアクセスを制限する。図3に示されるように、ドメイン0からドメイン3までの4つのレベルが存在し、ドメイン0が最も特権的なレベルである。CPUは、メモリ参照内での保護違反に対する複数のチェックも提供する。
【0043】
図3に示されるように、非TSFプロセスとTSFプロセスとは、マルチドメインCPUアーキテクチャへ同じようにマッピングされる。両タイプのプロセスが、同じドメイン0カーネル、ドメイン1トラステッド・システム・サービス、およびドメイン2オペレーティング・システム・サービスへマッピングされる。各ドメインにおけるプロセスについての詳しい情報は以下の通りである。
【0044】
ドメイン0:セキュリティ・カーネル
最も特権的なドメインであるセキュリティ・カーネルは、システム・セキュリティ・ポリシーを実施するリファレンス・モニタの大部分を含む。完全なセキュリティ評価、テスト、および検証を可能にするために小さく且つ良く構造化されたカーネルは、基本OSサービスを提供する。そのようなサービスは、プロセスおよび装置オブジェクトのための、リソース管理、プロセス・スケジューリング、割り込みおよびトラップ処理、監査、ならびに強制および任意のアクセス・ポリシーの実施を含むが、これらに限定されるものではない。そのような実施を容易にするために、I/Oデバイス・ドライバは、好ましくは、ドメイン0に存在する。ドメイン0プロセスは、ユーザによっての直接呼び出しや変更はできない。
【0045】
ドメイン1:トラステッド・システム・サービス(TSS)
TSSは、トラステッドおよび非トラステッドの両方のシステム・プロセスおよびアプリケーションのための、ネットワーキング、I/O、ファイル・システム管理、ならびにファイル・システム・オブジェクトの任意アクセス・ポリシーの実施を提供する。TSS環境はセキュリティ・カーネルによって制御され、セキュリティ・カーネルは、TSSおよびその他のすべての動作において、強制セキュリティ、強制インテグリティ、およびサブタイプ制御を実施する。ドメイン1プロセスは、ユーザによっての直接呼び出しや変更はできない。
【0046】
ドメイン2:オペレーティング・システム・サービス(OSS)
OSSは、Linux(登録商標)用に書かれたアプリケーション、またはLinux(登録商標)ツールを使用するアプリケーションが求めるAPIを提供する。OSSは、本発明の好ましい一実施形態の高信頼態様を管理および使用するのに役立つプロプライエタリAPIも提供する。OSSは、APIを、カーネルおよびTSSによって提供されるトラステッド・オペレーティング・システム・プリミティブへと翻訳する。OSSは、いくつかのアプリケーション信号およびプロセス・グループも管理する。本発明の好ましい一実施形態のセキュリティ・アーキテクチャに起因して、アプリケーションは、TSFのOSS部分のみとインタフェースを取ることができ、TSSやカーネルを直接呼び出すことはできない。
【0047】
ドメイン3:アプリケーション・ドメイン
プロセスが低いインテグリティで動作しており、特権を有していない場合、それは信頼性をもたない(非トラステッド)と見なされる。これらの非トラステッド・アプリケーションは、Linux(登録商標)/Unix(登録商標)ユーザに馴染み深いユーザ・コマンドおよびツールを含む。トラステッドおよび非トラステッドのアプリケーションは共にドメイン3で実行されるものであり、ドメイン3でのみ実行することができる。
【0048】
トラステッド・ソフトウェア
トラステッド・ソフトウェアは、独立サービス(例えば、セキュリティ・マップ・エディタ)として動作するすべてのセキュリティ関連の機能を含む。いくつかのトラステッド・ソフトウェア機能は、例えば、TSFの強制および/または任意の制御(管理)をバイパスして、高インテグリティ・ユーザがファイル・システム階層を確立/変更して高インテグリティ・ノードの使用に対応するようにできるように、することができる。トラステッド・ソフトウェア機能は、ユーザ登録/削除、パスワード割り当て、システム・インストール/コンフィギュレーション、および他のオペレーティング・システム・コンポーネントによってサポートされない特権的タスクを含むセキュリティ関連のハウスキーピングのために、システム・オペレータおよび管理者が利用できるものである。なお、セキュリティ関連のハウスキーピングは上記のものに限定されるものではない。ドメイン3ユーザは、アプリケーション・セッション開始などのような少数のトラステッド・ソフトウェア機能を使用できる。
【0049】
非トラステッド・ソフトウェアおよびランタイム・ライブラリ
また、本発明の好ましい一実施形態のオプション部分として、開発者が自らの非トラステッド・アプリケーションを書くことができるソフトウェア開発環境が含まれる。典型的には、「C」がそのような非トラステッド・アプリケーションのために使用されるプログラミング言語であるが、Linux(登録商標)によってサポートされるその他の言語およびシェルを使用することもできる。非トラステッド・コマンドおよびプログラムは、システムの管理用のオペレーティング・システムを用いて配布される。
【0050】
トラステッド・データベース
本発明の好ましい一実施形態はトラステッド・データベースをインプリメントし、トラステッド・データベースは、機密ユーザおよびグループ・アクセス、セッション制御、ならびに非特権プロセスによる未許可の変更から保護されるプリント・キュー情報を含む。トラステッド・データベースは、ユーザの開発したトラステッド・プロセス、またはシステム/セキュリティ管理者によって使用されるトラステッド・エディタによってのみ、操作されることができる。
【0051】
保護の哲学
本発明の好ましい一実施形態をマルチレベルで安全にする強制アクセス・ポリシーを実施するために、オペレーティング・システム・コンポーネントは、リファレンス・モニタをインプリメントする。リファレンス・モニタは、ユーザに代わってアクセスなどを行うトラステッドおよび非トラステッド・プロセスなどのシステム・サブジェクトと、ファイル・システム・オブジェクトやデバイスやセマフォやソケットやプロセスなどのシステム・オブジェクトとの間の認可されたアクセス関係を実施する。
【0052】
トラステッド・システム・サブジェクトは、システムのトラステッド・データベースを操作する機能、またはTSFの強制および/または任意のアクセス規則の厳格に規制された迂回(circumvention)を実行する機能のために、主に使用される。トラステッド・プロセスの典型的な例は、トラステッド・ガード(Trusted Guard)におけるリグレーダ(Regrader)(再分類手段/再ラベル付け手段)プロセスである。トラステッド・データベースを更新しなければならない、またはオペレーティング・システム・コンポーネントのアクセス制御をバイパスしなければならないそれら少数のプロセスを除いて、非トラステッド・サブジェクトは、大部分のアプリケーション機能を実行するために依存されることができる。
【0053】
リファレンス・モニタ
リファレンス・モニタは、サブジェクトによってのオブジェクトを参照またはアクセスするそれぞれの試みを、サブジェクトがそのオブジェクトに対して実行することを許可された参照タイプ(読み取り、書き込み、および/または実行を含む)のリストと比較する。リファレンス・モニタのアクセス妥当性検証機構は、サブジェクトによるオブジェクトの参照のたびに呼び出され、それにより、あらゆる未許可アクセスを防止する。そのインテグリティを確実にするため、リファレンス・モニタのアクセス制御/妥当性検証機構は、改ざんされる恐れがないようにプログラムされる。リファレンス・モニタはTSFでインプリメントれ、TSFは、Intel(登録商標)CPUのマルチドメイン分離機構を用いて、ドメイン2およびドメイン3の機能ならびにシステム上で動作するアプリケーションからのリファレンス・モニタの確実な分離を達成する。
【0054】
TSFアシュアランス機構
本発明のすべてのソフトウェア・プロセスは、好ましくは、Bell−LaPadulaセキュリティ規則およびBibaインテグリティ規則のセキュリティ・カーネルの実施によって、互いに分離される。プロセスは、自らが支配する情報にだけアクセスすることができ、TSF全体は、以下の機構によって未許可(不許可)の改ざんから保護される。
【0055】
ドメイン分離
ドメイン分離は、カーネルのコードおよびデータを、他のあらゆるドメインのプロセスによる変更から保護し、また、各ドメインのコードおよびデータを、より特権の低いあらゆるドメインのユーザ/プロセスによる変更から保護する。
【0056】
インテグリティ
システムの強制インテグリティ機構は、TSFプログラム・ファイル、データベース、および大部分のトラステッド・ソフトウェア・プロセスのインテグリティ・レベルを、オペレータに対してまたはそれより高く設定し、非トラステッド・ユーザ(サブジェクト)の最大インテグリティをTSFオブジェクトのインテグリティより低く制限することによって、非トラステッド・ユーザ(サブジェクト)をTSFから排除する。
【0057】
プロセス分離
トラステッド・ソフトウェア・プロセスは(大部分のアプリケーションと同様に)、その作業データを、その他のプロセスによって共用されることができず、また非トラステッド・ソフトウェアによってアクセスされることができないプロセス・ローカル・データ・エリアに保有する。カーネルは、どのようなプロセスも、別のプロセスのプログラム・テキストおよびローカル・データに直接アクセスすることができないようにし、また、非トラステッド・プロセスがトラステッド・プロセスおよびそのデータを変更することを防止する。
【0058】
トラステッド・パス
好ましい一実施形態では、端末がTSFと通信可能になる前に、オペレータは、セキュア・アテンション・キー(SAK)を押さなければならず、このキーは、端末を一時的にあらゆる非トラステッド・プロセッサ・プロセスから切り離す。これは、ユーザがTSFと通信しており、TSFプロセスになりすます非トラステッド・プロセスとは通信していないことを、確実にする。トラステッド・ソフトウェアによって使用されるアンロックされた端末は、端末に特有のデバイス・サブタイプによって、非トラステッド・ソフトウェアおよびその他のユーザのプロセスから保護される。ユーザがセキュア・パスを介してTSFに入った場合、セキュア・サーバは、その端末のサブタイプを、そのセッションに関連するすべての非トラステッド・プロセスから切り離す。端末からの非トラステッド・プロセスへのアクセスは、ユーザが明らかにトラステッド環境から出た後にのみ、復帰される。
【0059】
サブタイプ
サブタイプはトークンのように使用され、システム上のオブジェクトにアクセスするためには、サブジェクトは、そのオブジェクトに対するオブジェクト・サブタイプを所有しなければならない。システムのサブタイプの機構はカーネルによって使用され、アクセスをプロセス、トラステッド・データベース、およびデバイスに制限する。上述したように、サブタイプの主な用途は、トラステッド・パスに対する制御を提供することであり、SAKが押されたとき、サーバは、端末のサブタイプを変更して、非トラステッド・プロセスがそれにアクセスすることを防止する。サブタイプは、ファイル・システム管理(FSM)プロセスによっても使用され、FSMがファイル・オブジェクトへの排他的アクセスを得ることを保証する。FSMは、ファイル・オブジェクトにアクセスするとき、サブタイプを、FSMだけがアクセス可能なものにリセットする。ファイルを処理し終わった後、FSMは、ファイルをその元のサブタイプへとリセットする。最後に、サブタイプはシステムのトラステッド・データベースを保護するために使用され、それは、データベースにアクセスするのに必要な適切なサブタイプをトラステッド・プログラムにのみ与えることによってなされる。
【0060】
強制セキュリティ・ポリシー
本発明の好ましい一実施形態の各オブジェクトは、一意の識別子によって参照され、そして、必知事項、強制アクセス属性および任意アクセス属性に基づく非階層的な強制アクセス制御をインプリメントするために、そのオブジェクト自体の、アクセスおよびステータス情報(サブタイプを含む)の組を有する。オブジェクトの強制アクセス情報は、その強制のセキュリティおよびインテグリティのレベルならびにカテゴリまたは区分を含むものであり、この情報は、カーネルがオブジェクトに関連する強制アクセス制御を決定するときの基礎を提供する。
【0061】
本発明の好ましい一実施形態のサブジェクトは、コンピュータ・セキュリティ・ポリシーのNCSC認可のBell−LaPadulaの正式な数学的モデルに従ってオブジェクトだけを参照することができる。このポリシーは、データを未許可アクセスから保護するために設計されたセキュリティ規則の組によって実施される。簡潔に述べると、数学的モデルは以下のように動作する。
【0062】
簡易セキュリティ: サブジェクトは、サブジェクトのセキュリティ・レベルがオブジェクトより優位にある場合にのみ、オブジェクトの読み取りまたは実行を行うことができる。
【0063】
セキュリティ特性(SecurityProperty): サブジェクトは、オブジェクトのセキュリティ・レベルがサブジェクトより優位にある場合にのみ、オブジェクトに書き込みを行うことができる。本発明のセキュリティ特性のインプリメントは、好ましくは、サブジェクトとオブジェクトとが同じセキュリティ・レベルにある場合にのみ、サブジェクトがオブジェクトに書き込みを行うこと許可する。これは、より低いレベルのサブジェクトが、後でアクセスできないより高いレベルのオブジェクトへ書き込みを行うことを防止する。
【0064】
本発明の好ましい一実施形態は、16の階層のセキュリティ区分と、64の独立した非階層的な「必知事項」セキュリティ・カテゴリ/区分とをサポートする。
【0065】
強制インテグリティ・ポリシー
本発明の好ましい一実施形態は、システムの強制インテグリティ規則を実施するK.J.Bibaのインテグリティ・ポリシーを実施するものであり、K.J.Bibaのインテグリティ・ポリシーはBell−LaPadulaのモデルの結果として生じるものである。システムの強制セキュリティ規則により、情報が未許可に開示されないように保護されるように、システムの強制インテグリティ規則は、情報に未許可の変更がなされないように保護する。
【0066】
システムの強制インテグリティ・ポリシーは、セキュリティ管理者または開発者が、保護水準が高い実行ドメインを確立することを可能にするものであり、そのドメインの状態は、実行可能な主体はそれらが必要とするファイルを読むことができるが、それらのファイルは、未許可のロジックまたは悪意のあるコードによる変更から保護されている、というものである。本発明の好ましい一実施形態は現在は、8つの階層的な役割に基づくインテグリティ区分と、16の独立した非階層的な必知事項インテグリティ・カテゴリ/区分をサポートする。簡潔に述べると、インテグリティ・モデルは以下のように動作する。
【0067】
単純インテグリティ: サブジェクトは、オブジェクトのインテグリティ・レベルがサブジェクトより優位にある場合にのみ、オブジェクト(例えば、データ・ファイル)に対して読み出しまたは実行を行うことができる。
【0068】
インテグリティ特性(IntegrityPropeerty): サブジェクトは、サブジェクトのインテグリティ・レベルがオブジェクトより優位にある場合にのみ、オブジェクトに書き込みを行うことができる。本発明のインテグリティ特性は、好ましくは、サブジェクトとオブジェクトとのインテグリティ・レベルが同じ場合にのみ、サブジェクトがオブジェクトに書き込みを行うことを許し、高いインテグリティのサブジェクトが、後でアクセスできない低いインテグリティのオブジェクト(他のソフトウェアによって信頼できると見なされ得る)へ書き込みを行うことを防止する。
【0069】
任意アクセス制御
本発明は、好ましくは、任意アクセス・ポリシーを実施し、それによって、オブジェクトへのアクセスが、オブジェクトに関連づけられたサブジェクトの識別情報および/またはそれらのサブジェクトが所属するグループの識別情報に従って、オブジェクトのオーナによって割り当てられる。オブジェクトの任意アクセス情報は、少なくとも7つまでのユーザおよびグループの識別子(オブジェクトを所有するユーザおよび所有するグループを含む)と、それらの個々の読み取り、書き込み、および実行の許可とを含む。読み取り、書き込み、および実行の許可は、「全体(world)」に対しても提供される。
【0070】
アクセス・モード: サブジェクトは、オブジェクトのオーナによって承諾されたモード(1または複数)においてのみ、オブジェクトにアクセスすることができる。各オブジェクトには、オブジェクトのオーナ、オーナのグループ(1または複数)、オーナによって許可された他のグループのメンバ、およびすべての他者(「全体」許可)に対しての、読み取り、書き込み、および実行の許可が割り当てられる。
【0071】
TSFは、サブジェクトがオブジェクトへの任意アクセスを承諾されるべきかどうかを決定するために、以下の一連の規則を実施する。
【0072】
もしサブジェクトがオブジェクトを所有するならば、指定されたオーナ許可を使用せよ、その他の場合、
もしサブジェクトがシステムのアクセス制御リストにエントリを有するならば、それらの許可を使用せよ、その他の場合、
もしサブジェクトのグループがオブジェクトのグループと同じならば、指定されたグループ許可を使用せよ、その他の場合、
もしサブジェクトのグループがACLの中に存在するならば、グループACL許可を使用せよ、その他の場合、
指定された「全体」許可を使用せよ。
【0073】
サブタイプ制御
プロセス、装置、およびファイル・システムのオブジェクトは、強制制御および任意制御に加えて、サブタイプによっても制御される。サブタイプは、非階層的である。アプリケーションが同じオーナーで同じ強制レベルで動作するとしても、サブタイプは、それらのアプリケーションを分離するために(例えば、ガードにおけるステージなど)、トラステッド・アプリケーションによって利用されることができる。
【0074】
隠れチャネル(covert channel)保護
強制セキュリティ・ポリシーを実施するシステムは、強制セキュリティ・ポリシーに反する意図せぬ信号チャネルや不正な情報フローをなおも許すことがあり得る。そのような信号チャネルおよび不正なフローは、隠れチャネルとして一般に知られている。本発明を限定することを意図しない一例として、典型的な隠れチャネルは、ファイル・システムを使用して作られるものであり、例えば、低セキュリティ・レベルで悪意のあるプロセスがファイル作成を試みることにより作られる。そのような例では、ファイル作成の試みが成功した場合、それは「1」に等しいと見なされ、ファイル作成の試みが失敗した場合、それは「0」に等しいと見なされる。高セキュリティ・プロセスは、ファイル・システムまたはその一部を満たすことによって、ファイル作成の試みが成功であるかどうかを制御することができる。従って、ビットのストリングは、高セキュリティ・プロセスから低セキュリティ・プロセスへ、このシーケンスを繰り返すことによって、効果的に伝えられることができ、高セキュリティ・プロセスは、低セキュリティ・プロセスの作成の試みが成功することを望む場合、ファイルを除去する。そのような通信手段は、非常に効果的であることができ、強制セキュリティ・ポリシーなどを回避するのに使用できる。
【0075】
隠れチャネルは、一般に、使用するのが難しく、低アシュアランス・システムは、それらを文書化することや減らすことを要求されない。しかし、本発明の好ましい一実施形態は、高アシュアランスであるように、また、非常に敵対的な環境において保護を提供するように設計され、従って、本発明は、好ましくは、隠れチャネルの数および容量(即ち、速度)を減らすための機構を組み入れ、潜在的な隠れチャネルは文書にされる。本発明の好ましい一実施形態で使用される、隠れチャネルの使用に対する保護に役立つ機構は、タイミング遅延を導入すること、および隠れチャネルとして使用され得る状況においてステータス値の覆い隠すことを含むが、これらに限定されるものではない。
【0076】
ハードウェア
本発明の好ましい一実施形態は、好ましくは、パフォーマンスを向上させるため、Intel(登録商標)「Prestonia」Xeon(登録商標)2+GHz CPUの際立った処理能力および内部構成を用いる。図4は、本発明の好ましい標準的なハードウェア構成に関する詳細を提供しており、本発明の好ましい一実施形態のオペレーティング・システム・コンポーネントがサポートするハードウェア周辺機器を含んでいる。
【0077】
本発明の好ましい一実施形態は、タワー・ケースもしくはラック・マウント型の構成で、または高密度、TEMPEST、およびゾーン(Zone)の実施形態で実施されることができる。一貫性があり信頼姓がありセキュアな製品を送ることを保証するため、慎重なコンフィギュレーション制御およびテストが適用される。
【0078】
アプリケーション
本発明の先の一実施形態上のトラステッド・アプリケーションは、マルチレベル・セキュリティ(MLS)を、MLSシステムが低いリスクかつ大きい利益(payoff)での操作構成(operational configuration)において広く配備されているところまで成熟させることの、大きな手助けをした。先の実施形態を高保証プラットホームとして使用する、今動作するトラステッド・アプリケーション(そのいくつかは出願人らによって開発された)についての数々の認可および認定の作業が成し遂げられた。これらのアプリケーションの多くは、異なる機密性レベル(例えば、機密区分)および/または「必知事項」(カテゴリもしくは区分)で動作するネットワークの中での情報の厳格に制御された共有を許すように設計された、トラステッド・ガードである。
【0079】
本発明の好ましい一実施形態は、これらの古いトラステッド・アプリケーションとバックワード・コンパチブルとなるように設計されることもできる。しかし、本発明のためのトラステッド・ガード・アプリケーションを構築するための2つの「イネーブリング・テクノロジ(enabling technologies)」、即ち、DataSyncガードおよび標準自動ガード環境(SAGE:Standard Automated Guard Environment)も開発された。
【0080】
本発明の好ましい一実施形態のオペレーティング・システム・コンポーネントを用いれば、トラステッド・アプリケーションの開発がはるかに容易になる。アプリケーションは、「実際の」Linux(登録商標)システム上ですべて作成されることができ、また、開発システムとして実施される本発明の一実施形態上ですべて作成されることができ、また、その両方で部分別に作成されることができる。これらの開発環境のいずれにおいても、迅速に進化する開発ツールの完全に新しくかつ富かな組を、プログラマおよび設計者は利用できる。
【0081】
ガード・イネーブリング・テクノロジ
DataSync Guard(ガード)
カスタマイズ可能なDataSyncガード(登録商標)は、トラステッド・ガード・アプリケーションの新世代を代表する、史上初のTCP/IPソケット・ベースの高アシュアランス・ガードである。DataSyncガードは、異なる機密区分(または機密性)レベルで別々のシステム・ハイ(system-high)のネットワーク上に存在するシステム間でのコネクション指向のデータ転送を管理するセキュリティ・ポリシーを厳格に実施する。DataSyncガードは、ほぼリアルタイムのデータ転送を達成する。元々は異なる機密性レベルで動作するデータベースの高信頼の同期を可能にするために考案されたDataSyncガードは、通信プロトコルから独立しており、データをソケット・コネクションを介してガードに転送することができる任意の2つのシステム間を流れるASCII、HTML、XML、整形式(well-formed)のバイナリ・データ、およびその他のデータを処理することができる。
【0082】
そのデータ転送機構として「蓄積交換」ファイル転送プロトコルをTCP/IPソケットで置き換えることによって、また、その処理の大部分をRAM内で実行して、ディスクに対して書き込みや読み取りを行う必要をなくし、またデータが1つのガード・サブルーチンから別のガード・サブルーチンへ渡されるたびにファイル・システムを再同期させる必要をなくすことによって、DataSyncガードは、データ・スループット中のトランザクションの待ち時間遅延を低減する。
【0083】
現在の好ましい一実施形態では、DataSyncガードは、最大4つの異なる単一レベルのシステム・ハイのネットワーク上のデータベース間でデータ転送を仲介するために、複雑なフィルタ・プロファイルをサポートすることができる。DataSyncガードは、ASCIIおよび/または整形式のバイナリ・データをフィルタリングすることができ、データベース・トランザクションのヘッダのフォーマットが正しいことのチェックと、各データ・エレメントの内容についてのセキュリティ・チェックとを共に実行する。DataSyncガードは、複数の「if−then−else」アクション、および洗練されたダーティー・ワード/クリーン・ワード(dirty word/clean word)サーチを実施することができる。
【0084】
標準自動ガード環境
標準自動ガード環境(SAGE(登録商標))は、1組の設計コンセプト、インターフェース定義、実行可能コード、および認定文書である。SAGEは、別名トラステッド・ゲートウェイとも呼ばれる、コネクションレス(蓄積交換)トラステッド・ガードを構築するための開発環境である。
【0085】
SAGEは、大部分のガードが必要とする共通エレメント(プロセス、ライブラリなど)を提供することによって、トラステッド・ガードをインプリメントするのに必要とされるコーディングを最小限に抑える。SAGEは、ガードのTSSFを最小にすることによって、これらのガードの認可および認定を容易にする。SAGEは、よく構造化されたフレームワークを提供し、それにより、プログラマは「ゼロから(from scratch)」トラステッド・ガード・アプリケーションを開発するよりも迅速かつ容易にそれらのアプリケーションを構築することができる。SAGEガードの全般的な目的は、異なるセキュリティ特性をもつ2つのシステムまたはネットワークの間での制限されたデータ・フローを、安全に、自動的に、かつ効率的に可能にすることである。ガード開発者によってセキュリティ・ポリシーをカスタマイズすることができるが、SAGEは、正確にそのポリシーを実施するように設計され、そして、データが本発明の好ましい一実施形態にあるときにそのデータを未許可の開示や変更から保護するように設計されている。
【0086】
SAGEは、標準ANSI Cで開発され、認定の負担を和らげるために、トラステッド・ソフトウェア原則を使用して文書化されている。米国国防総省、米国国務省、および米国空軍向けのガードを含む複数のSAGEガードが、すでに認定されている。
【0087】
本発明が詳細にかつその具体的な実施形態を参照して説明されたが、本発明の主旨および範囲から逸脱することなく、様々な改変および変更が本発明に施され得ることが、当業者には明らかであろう。従って、本発明の変更および変形が添付の特許請求の範囲およびその均等物の範囲に包含される限り、本発明はそのような変更および変形を含むものとする。
【図面の簡単な説明】
【0088】
【図1】図1は、様々なTCSECセキュリティ区分レベルを達成するための要件の高水準の概要を提供する表である。
【図2】図2は、所与の許可の範囲内にあるユーザに、所与の区分の範囲内にあるデータへのアクセスを許すためにシステムがもつべき、最低限のTCSEC評価を示す表である。
【図3】図3は、本発明の好ましい一実施形態で用いられる4ドメイン構成を示すブロック図である。
【図4】図4は、本発明の好ましい一実施形態の一部として使用されるコンピュータ・システムについての現在好ましいハードウェアの仕様を提供する表である。

【特許請求の範囲】
【請求項1】
トラステッド・オペレーティング・システムであって、
トラステッド・アプリケーションおよび非トラステッド・アプリケーションがそこで実行されることができるアプリケーション・ドメインと、
オペレーティング・システム・サービス・レイヤであって、少なくとも1つの他のオペレーティング・システム用に書かれたアプリケーションが前記トラステッド・オペレーティング・システムで実行されることを可能にするインタフェースを提供し、それによって、前記少なくとも1つの他のオペレーティング・システムをエミュレートする、オペレーティング・システム・サービス・レイヤと、
トラステッド・システム・サービス・レイヤと、
システム・セキュリティ・ポリシーおよびインテグリティ規則を実施するため、ならびにユーザおよび管理者のアクションを促進することを含む基本オペレーティング・システム・サービスを提供するためのセキュリティ・カーネルと
を含むトラステッド・オペレーティング・システム。
【請求項2】
前記オペレーティング・システムが、マルチドメイン・プロセス分離機能を、プロセス分離を確実にするために該オペレーティング・システムが実行されているハードウェアにおいて、用いる、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項3】
前記ハードウェア・マルチドメイン・プロセス分離機能が、セグメント、ページ、および命令へのアクセスを制限する、請求項2に記載のトラステッド・オペレーティング・システム。
【請求項4】
前記ハードウェア・マルチドメイン・プロセス分離機能が、メモリ参照内での保護違反に対する複数のチェックも提供する、請求項3に記載のトラステッド・オペレーティング・システム。
【請求項5】
前記アプリケーション・ドメインが、少なくとも1つの開発環境が実行されることを可能にする、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項6】
前記開発環境が、統合された開発環境である、請求項5に記載のトラステッド・オペレーティング・システム。
【請求項7】
前記カーネル・レイヤが、前記トラステッド・オペレーティング・システム内で、強制セキュリティ、強制インテグリティ、およびサブタイプの制御を実施する、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項8】
前記セキュリティ・カーネルが、強制セキュリティ制御および強制インテグリティ・アクセス制御を実施することによってユーザとデータとを分離する、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項9】
前記トラステッド・オペレーティング・システムが、更に、任意アクセス制御を実施することによってユーザとデータとを分離する、請求項8に記載のトラステッド・オペレーティング・システム。
【請求項10】
前記トラステッド・オペレーティング・システムが、インテグリティ・ポリシーを使用して管理者役割とオペレータ役割とを分離する、請求項9に記載のトラステッド・オペレーティング・システム。
【請求項11】
前記トラステッド・オペレーティング・システムが、管理者役割およびオペレータ役割に対して最小特権の原則を実施する、請求項10に記載のトラステッド・オペレーティング・システム。
【請求項12】
ユーザおよび管理者のアクションが、少なくとも1つの監査ログにおいて監査される、請求項8に記載のトラステッド・オペレーティング・システム。
【請求項13】
少なくとも1つの監査ログが、変更から保護される、請求項12に記載のトラステッド・オペレーティング・システム。
【請求項14】
すべての監査ログが、変更から保護される、請求項13に記載のトラステッド・オペレーティング・システム。
【請求項15】
ユーザのログイン失敗が監視されて、セキュリティ・ポリシー違反が今にも起こりかねないことを示すイベントの累積を検出する、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項16】
前記セキュリティ・カーネルは、異なるクリアランスをもつユーザが異なる機密区分レベルに存在する情報を同時に保存および処理することを可能にする、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項17】
前記セキュリティ・カーネルは、データがユーザのインテグリティ・レベルまたはそれより高いインテグリティ・レベルにある場合にのみ、前記ユーザがそのデータを処理することを可能にする、請求項16に記載のトラステッド・オペレーティング・システム。
【請求項18】
前記トラステッド・ソフトウェアはトラステッド・データベースを含む、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項19】
リファレンス・モニタを更に含む、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項20】
前記セキュリティ・カーネルは、非トラステッド・ソフトウェアがトラステッド・ソフトウェア・プロセスに関連する作業データにアクセスしないようにプロセス分離を実施する、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項21】
前記オペレーティング・システム・サービス・レイヤによってエミュレートされる前記少なくとも1つの他のオペレーティング・システムのうちの少なくとも1つがLinux(登録商標)である、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項22】
前記オペレーティング・システム・サービス・レイヤが、更に、前記トラステッド・システム・サービス・レイヤの高信頼態様を管理および使用するために、少なくとも1つのプロプライエタリAPIを提供する、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項23】
前記オペレーティング・システム・サービス・レイヤが、APIコールを、前記セキュリティ・カーネルおよびトラステッド・システム・サービス・レイヤによって提供されるトラステッド・オペレーティング・システム・プリミティブへと、翻訳する、請求項22に記載のトラステッド・オペレーティング・システム。
【請求項24】
前記アプリケーション・ドメインで動作するアプリケーションが、前記オペレーティング・システム・サービス・レイヤとのみインタフェースを行うことができ、直接に前記トラステッド・システム・サービスまたはカーネル・レイヤによって提供される機能を呼び出すことができない、請求項1に記載のトラステッド・オペレーティング・システム。
【請求項25】
トラステッド・コンピュータ・システムであって、
各々がマルチドメイン・アーキテクチャをサポートする少なくとも1つのプロセッサと、
前記トラステッド・コンピュータ・システムの操作を容易にするための少なくとも1つの端末と、
少なくとも1つのデータ記憶ユニットと、
少なくとも1つのメモリ・ユニットと、
前記トラステッド・コンピューティング・システム上で動作するセキュア・オペレーティング・システムであって、プロセス分離を実施するために前記少なくとも1つのプロセッサの前記マルチドメイン・アーキテクチャを用いるセキュア・オペレーティング・システムと
を含むトラステッド・コンピュータ・システム。
【請求項26】
前記少なくとも1つのプロセッサがインテルPentium(登録商標)クラスのマイクロプロセッサである、請求項25に記載のトラステッド・コンピュータ・システム。
【請求項27】
前記少なくとも1つのデータ記憶ユニットがハード・ドライブである、請求項25に記載のトラステッド・コンピュータ・システム。
【請求項28】
前記少なくとも1つのメモリ記憶ユニットがランダム・アクセス・メモリである、請求項25に記載のトラステッド・コンピュータ・システム。
【請求項29】
少なくとも1つのネットワーク・インタフェースを更に含む請求項25に記載のトラステッド・コンピュータ・システム。
【請求項30】
セキュア・アテンション・キーを更に含む請求項25に記載のトラステッド・コンピュータ・システム。
【請求項31】
セキュリティ・ポリシー強化システムであって、
少なくとも1つがマルチドメイン・アーキテクチャをインプリメントする、少なくとも1つのプロセッサと、
少なくとも1つのランダム・アクセス・メモリ・ユニットと、
データがそれぞれのセキュリティ区分レベルに存在する少なくとも2つの異なるセキュリティ区分レベルを働かせるセキュア・オペレーティング・システムと、
データの内容に関してセキュリティ・チェックを実行して、前記データを前記セキュア・オペレーティング・システムによって1つの機密区分レベルから別の機密区分レベルへ転送できるか否かを決定する少なくとも1つのデータ・セキュリティ検証手段と
を含むセキュリティ・ポリシー強化システム。
【請求項32】
少なくとも1つのネットワーク・インタフェースを更に含む、請求項31に記載のセキュリティ・ポリシー強化システム。
【請求項33】
前記少なくとも1つのネットワーク・インタフェースは、前記セキュリティ・ポリシー強化システムを、伝送制御プロトコル(TCP)およびインターネット・プロトコル(IP)を使用する少なくとも1つのネットワークに接続する、請求項31に記載のセキュリティ・ポリシー強化システム。
【請求項34】
前記セキュリティ・ポリシー強化システムを少なくとも2つのネットワークに接続する少なくとも2つのネットワーク・インタフェースを更に含む、請求項31に記載のセキュリティ・ポリシー強化システム。
【請求項35】
前記少なくとも2つのネットワークの各々が異なる機密区分レベルで動作する、請求項34に記載のセキュリティ・ポリシー強化システム。
【請求項36】
前記少なくとも2つのネットワークが伝送制御プロトコル(TCP)およびインターネット・プロトコル(IP)を用いる、請求項35に記載のセキュリティ・ポリシー強化システム。
【請求項37】
前記セキュア・オペレーティング・システムが、プロセス分離を確実にするために、前記少なくとも1つのプロセッサの前記マルチドメイン・アーキテクチャを用いる、請求項31に記載のセキュリティ・ポリシー強化システム。
【請求項38】
前記セキュア・オペレーティング・システムは、少なくとも1つの他のオペレーティング・システム用に書かれたアプリケーションがトラステッド・オペレーティング・システムで実行されることを可能にするインタフェースを提供する、請求項31に記載のセキュリティ・ポリシー強化システム。
【請求項39】
前記少なくとも1つのデータ・セキュリティ検証手段によって実行される前記セキュリティ・チェックが、前記少なくとも1つのランダム・アクセス・メモリ・ユニットで実行される、請求項31に記載のセキュリティ・ポリシー強化システム。
【請求項40】
別のオペレーティング・システムをエミュレートするトラステッド・オペレーティング・システムであって、前記別のオペレーティング・システム用に書かれたアプリケーション・プログラムが、そのアプリケーション・プログラムに対する変更を必要とせずに前記トラステッド・オペレーティング・システム上で実行されることを可能にする、トラステッド・オペレーティング・システム。
【請求項41】
エミュレートされた前記オペレーティング・システムがオープン・ソース・オペレーティング・システムである、請求項40に記載のトラステッド・オペレーティング・システム。
【請求項42】
複数のプロセスを同時に実行することができ、強制アクセスおよび任意アクセスの範囲を超えた追加的なアクセス制御区別化を可能にするサブタイプ機構を提供するトラステッド・オペレーティング・システム。
【請求項43】
前記サブタイプ機構は、
前記オブジェクトのサブタイプが、第1のプロセスによってアクセスされることを許可されたサブタイプのリストにある場合にのみ、前記第1のプロセスがプロセス・オブジェクト、ファイル・システム・オブジェクト、または装置オブジェクトにアクセスすることを許可する、請求項42に記載のトラステッド・オペレーティング・システム。
【請求項44】
前記サブタイプ機構は、データのサブタイプが、第1のプロセスによってアクセスされることを許可されたサブタイプのリストにある場合にのみ、前記第1のプロセスが前記データにアクセスすることを許可する、請求項42に記載のトラステッド・オペレーティング・システム。
【請求項45】
任意のプロセスが任意のファイル・システム・オブジェクトにアクセスを試みるときはいつでも4つの個別のポリシーが実施されるトラステッド・オペレーティング・システムであって、前記ポリシーは、
強制セキュリティ・ポリシーと、
強制インテグリティ・ポリシーと、
任意アクセス制御ポリシーと、
サブタイプ・ポリシーと
を含む、
トラステッド・オペレーティング・システム。
【請求項46】
隠れストレージ・チャネルの数および速度を制限することによって、第1のプロセスが、より高い機密扱いの第2のプロセスの存在または状態について知ることを防止するように構成されるトラステッド・オペレーティング・システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2007−524148(P2007−524148A)
【公表日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−517366(P2006−517366)
【出願日】平成16年6月15日(2004.6.15)
【国際出願番号】PCT/US2004/019434
【国際公開番号】WO2005/001639
【国際公開日】平成17年1月6日(2005.1.6)
【出願人】(505467122)デジタルネット・ガヴァーンメント・ソリューションズ・エルエルシー (1)
【Fターム(参考)】