JP2017537381A - 複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムおよびその方法 - Google Patents

複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムおよびその方法 Download PDF

Info

Publication number
JP2017537381A
JP2017537381A JP2017522202A JP2017522202A JP2017537381A JP 2017537381 A JP2017537381 A JP 2017537381A JP 2017522202 A JP2017522202 A JP 2017522202A JP 2017522202 A JP2017522202 A JP 2017522202A JP 2017537381 A JP2017537381 A JP 2017537381A
Authority
JP
Japan
Prior art keywords
security
level
enclaves
enclave
data
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.)
Pending
Application number
JP2017522202A
Other languages
English (en)
Inventor
アール. シルバーマン、ダニエル
アール. シルバーマン、ダニエル
ウィクストロム、リー
ディ. ハシイ、ブラント
ディ. ハシイ、ブラント
オー. スコット、マーク
オー. スコット、マーク
テスター、ジョナサン
エイ. ブラウン、スティーブ
エイ. ブラウン、スティーブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northrop Grumman Systems Corp
Original Assignee
Northrop Grumman Systems Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northrop Grumman Systems Corp filed Critical Northrop Grumman Systems Corp
Publication of JP2017537381A publication Critical patent/JP2017537381A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

マルチレベルセキュリティシステムは、複数のパーティションに分割可能な記憶媒体と、前記複数のパーティションに結合可能なファイルシステムと、複数のエンクレーブとを含む。各エンクレーブにはセキュリティ分類レベルが割り当てられる。各エンクレーブは、記憶媒体の異なる記憶パーティションに存在する。記憶媒体に記憶されたデータは、エンクレーブ毎に暗号的に分離されて蓄積される。ディスクブロックレベルで暗号化分離が行われることによって、個々のブロックの読み取りと復号が可能になる。システムには、エンクレーブ間での情報へのアクセスを管理するシステムセキュリティポリシーを実施するリファレンスモニタも含まれる。リファレンスモニタは、第1の分類レベルを有するエンクレーブを、第1の分類レベルよりも低い第2の分類レベルを有するエンクレーブへと安全に読みおろすことおよび第1の分類レベルを有する別のエンクレーブに書き込むことを可能にする。

Description

本開示は、マルチレベルの安全な情報取得システムに関する。より詳細には、本開示は、複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムおよびその方法に関する。
企業や政府には、守秘性、完全性および/またはリリース性を保護しなければならない分類済のまたは他の高価値情報を管理するための高保証のマルチレベルセキュリティ(MLS)システムを構築するための検証可能な安全なプラットフォームが必要である。
米国国防総省(DoD)は、グローバルインフォメーショングリッド(GIG)に、米国のネットワーク中心戦争やネットワーク中心作戦を支援するための主要な技術的枠組みとなることを委任している。この指令の下で、先進的な兵器プラットフォーム、センサーシステム、指揮統制センターはすべて最終的にはGIGを介してリンクされることになっている。ネットワーク中心作戦(NCO)は、GIG内の新しいシステムと従前のシステムとの間のすべてのセキュリティレベルでの情報共有によって特徴付けられる。これらのシステム間で及びシステム内でやりとりされる情報は、軍事要員を保護するとともに任務を危険にさらさないよう安全に共有する必要がある。商業分野では、有力な競合企業が情報優位性を発達させ、ネットワーク中心作戦へ移行することで競争上の優位性に転換している。
DoDに関する現在及び新興のドクトリンに基づくと、ネットワーク中心戦争(NCW)機能は、情報技術によって部分的に実現される情報の優位性を、地理的に分散した部隊の堅牢なネットワーキングを通じて戦闘力の強化に結び付けようとする。NCWはネットワークよりもネットワーキングに関することであり、これはネットワーク中心部隊によって生じ得る増強戦闘力に関することである。堅牢にネットワーク化された部隊では情報共有が向上し、ひいては、情報の質と状況の共有認識が高まる。状況の共有認識は協調と自己同期を可能にし、命令の持続可能性および速度を向上させ、ひいては、任務の有効性を劇的に向上させる可能性を秘めている。これらの機能は、ネットワーク化戦闘空間内のすべてのプレイヤーに共通の作戦イメージ、より正確には共通の作戦の理解を高めるのに役立つ。本質的に、NCWは戦闘空間内の知識のある実体を効果的に結び付けることによって情報優位性を戦闘力に変換する。
米国空軍(USAF)および他の国防総省労務および部局は、分類されたデータの保護と国家安全に関する機密情報の確保のためにMLSソリューションを必要としている。例えば、MLS動作は、搭載式の航空機プラットフォームネットワーク接続性を提供するための前提条件である。政府のセキュリティレベルには、機密(TS)、極秘(S)、秘(C)、区分外(U)がある。これらのMLSセキュリティレベルには、(例えば特別アクセス必要(SAR)等の)「必知事項」分類ラベルや、(例えば、陸軍、海軍、国防総省等の)組織制限、および/または時間制限が追補されることがある。区分外カテゴリには取扱注意区分情報(Sensitive Compartmented Information:SCI)と特別アクセスプログラム(SAP)が含まれる。
ネットワーク中心戦争およびネットワーク中心作戦においてセキュリティ分類レベルの異なるネットワーク間で情報を効率的に転送することは困難である。コンピュータセキュリティポリシーの一例は、Bell−LaPadula(BPL)セキュリティモデルである。このBPLモデルは、プロセスとサブジェクト(データオブジェクト)の両方に対するMLSセキュリティレベルの支配といった概念を使用する。BPLモデルのプロセスルールのいくつかの例には、NRU(No Read Up、すなわち、より低いセキュリティレベルのものがより高いセキュリティレベルの文書を読むことを禁止)と、NWD(No Write Down、すなわち、上位レベルが低いMLSレベルに書き込むことを禁止)がある。この方法は、メモリ管理ユニットをしばしば含む専用マイクロプロセッサハードウェア機能を、正しく実装された専用オペレーティングシステムカーネルに結合することに基づく。所定の重要部分が設計され正しく実装されれば、敵対的な要素による侵入が絶対に不可能であることを保証する、安全なオペレーティングシステムの土台を形成する。この機能は、構成がセキュリティポリシーを課すだけでなく、理論上はそれ自体を完全に腐敗から保護するために有効にされる。一方、通常のオペレーティングシステムでは、この最大レベルのセキュリティを保証する機能がない。通常のオペレーティングシステムを含むシステムアーキテクチャの例を図1に示す。
情報セキュリティ評価のためのコモンクライテリア(コモンクライテリアまたはCCと略記)は、コンピュータセキュリティ認証についての国際標準(ISO/IEC15408)である。コモンクライテリアは、コンピュータシステムのユーザがセキュリティ機能と保証要件を指定できるフレームワークである。情報技術(IT)製品またはシステムの評価保証レベル(EAL1〜EAL7)は、コモンクライテリアセキュリティ評価の完了後に割り当てられる数値等級である。より高いEALは特定の認証を得るために満たさなければならない追加の保証要件を反映している。EALレベルは、システム自体のセキュリティを測定するものではなく、システムがどのレベルでテストされたかを簡単に記述する。
特定のEALを達成するためには、コンピュータシステムは一般的に特定の保証要件を満たさなければならない。これらの要件のほとんどは、設計文書化、設計分析、機能テスト、および/または侵入テストを含む。認証されたシステムに割り当てられたEAL数値は、そのシステムがそのレベルのすべての要件を完了したことを示す。場合によっては、評価は特定のEALに対して必要とされる最低要件を超える保証要件を含むように拡張することができる。正式には、これはEAL数値の後に付される単語によって示され、通常は付加的要件を示すコードのリストで示される。省略形として、ベンダーはしばしば拡張された要件を示すために「プラス」記号(EAL4+のように)を単に追加することがある。
上位EALには、下位のEALよりも詳細な文書化、分析、およびテストが含まれる。したがって、一般に、より高いEAL認証を取得するには低いEALを達成するよりも多くの金銭と時間がかかる。一部の組込みアビオニクスシステムは、システム上に存在するすべてのデータをすべてのシステム常駐データの集合分類レベルで分類されたものとして扱わなければならないことを意味する「システムハイ(system high)」分類プロトコルで動作する。システムハイで動作することは、システムハイよりも低レベルの出力を生成することが難しいという欠点を有し、この欠点により、システムが同じレベルではない他のシステムと協調して動作することが阻害される。これは、他のネットワークシステムとのデータ共有を制限および/または遅延させることによってシステムパフォーマンスに悪影響を及ぼし、情報共有の改善という目標と直接対立する。システムハイで動作することは、システム運用者がシステムに接触するすべての人員をホストされているすべてのデータの集約分類に対してクリアする必要があることによって、システムを所持するための総コストも増加させる。複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするもう1つのアプローチは、セキュリティエンクレーブごとに複数の分離したファイルストアを維持し、各ファイルストアにそれ自身のデータに加えて下位エンクレーブの完全なコピーを持たせることである(例えば、秘密ファイルストアが区分外ファイルストアの完全なコピーを持つ)。これは、重量要件及び電力要件と各エンクレーブでのデータの冗長コピーのための無駄なディスクスペースとにおける欠点である。別のアプローチでは、ファイルシステムは、個々のディスクブロックの代わりに全ファイルを暗号化するように構成される。この方法の欠点は、全ファイルのどこかの部分を読めるようにする前に、全ファイルをディスクから読み出して復号化する必要があることである。より高度な論理抽象化でセキュリティソフトウェアを実行すると、リークやカバートチャネルの排除が難しくなる。
分離カーネルとして知られるMILS(複数の独立したレベルのセキュリティ)オペレーティングシステムが、完全なデータ分離ひいてはMLS動作を提供すべく開発された。MILSは分離と情報フロー制御の概念に基づいたコンポーネントベースの高保証セキュリティコンピュータアーキテクチャである。分離カーネルを使用するオペレーティングシステムを含むシステムアーキテクチャの例を図2に示す。MILSは、未信頼コンポーネントと信頼できるコンポーネントの両方をサポートする分離メカニズムを利用して実装されるため、トータルのセキュリティソリューションが、バイパス不可で、評価可能で、常に呼び出され、改ざんされないことを確実にする。あるMILSソリューションは、セキュリティコンポーネントと信頼できる構成とを独立に評価できるようにする。MILSシステムと呼ばれることもあるMILSソリューション組込みシステムは、1つまたは複数の分離メカニズム(分離カーネル、分離通信システム、物理的分離など)を採用してデータとプロセスの確実な分離を維持する。MILSシステムは、同じセキュリティドメイン内でのまたは信頼できるセキュリティモニタ(アクセス制御ガード、ダウングレード、暗号デバイスなど)を介するコンポーネント間のみで情報フローを許可することによって、1つまたは複数のアプリケーション/システム固有のセキュリティポリシーの実施をサポートする。この種のシステムの中には、組み込みアビオニクスシステムまたは複数のネットワークシステムで一般的に見られる複数のプロセッサ間ではなく、単一プロセッサ上の異なる仮想アドレス空間の間でデータ分離が達成されるものもある。
ガロア社のトラステッドサービスエンジン(TSE)は、MILS分離カーネルにおいて読みおろし(read−down)式MLSアクセス制御を提供する。このTSEは、物理的に分離した複数のディスクを使用し、各ディスクの内容は平文で記憶され、それらのブロックアクセスコントローラが分離メカニズムである。MLSオペレーティングシステムには、高い信頼性のソフトウェアを多く必要とするトラステッドソラリスやSE(Security−Enhanced)リナックスなどの低堅牢性から中堅牢性のシステムを含め、多数のMLSファイルシステムがある。デスクトップ型システム上で動作するように開発されたGemini Secure Operating System(GEMSOS)のような堅牢性の高いオペレーティングシステムがいくつかある。
図3は、従来技術において知られている、単一のプロセッサ内での情報分離用の分離カーネルの抽象図を示す。図3に示すように、分離カーネルは、矢印によって示される情報フローのみが実際に発生することを確実にするように構成される。さらに、分離カーネルは、重要なタスクがバイパスされないことを保証するように構成される。分離カーネルのもう1つの目的は、各タスクのプライベートデータがプライベートのままであることを保証することであり、つまり、別のパーティションによるデータの受け取りおよび処理を他のパーティションが推論(deduction)によってでさえ検出できないことを保証する。一パーティションが他のパーティションに気付かず、かつ、当該一パーティションが他のパーティションに対して透明であるように、当該一パーティションは設定される。
図3に示すように、分離カーネル(300として示す)は、暗号化されていないデータ(すなわちレッドデータ)を例えばプロセッサまたはコンピュータの内部のパーティションから受信するように構成されたレッドプロトコルマシン(RPM)310を含む。レッドプロトコルマシン310は、レッド検証手段(RV)321から前記プロセッサまたはコンピュータに送信されている情報も受信することができる。レッドデータがレッドプロトコルマシン310によって受信されると、そのレッドデータは、レッド情報の受信と、その情報を適切な暗号化アルゴリズム(E1、E2、E3)330、331、332にそれぞれルーティングすることが信頼されている、信頼できるレッドスイッチ(TRS)320に転送される。ある構成例では、分離カーネル300は、特定の情報機密度に一意的に関連する暗号化アルゴリズムを含むことができる。さらに、信頼できるレッドスイッチ320は、特定の機密度を有するデータを正しい関連する暗号化アルゴリズムにルーティングするように構成され得る。そのデータに適切な暗号化アルゴリズム330、331、332が適用されると、そのデータはブラック検証手段(BV)340に出力されるが、当該ブラック検証手段340は、暗号化アルゴリズムから出力されたデータが適切に暗号化されるように構成され得る。次に、ブラック検証手段340は、そのデータをブラックプロトコルマシン(BPM)350に渡すことができる。ブラックプロトコルマシン350は、ブラック検証手段340から、及び、例えば記憶装置などのプロセッサまたはコンピュータ内の他の位置から、暗号化データ(すなわちブラックデータ)を受信するように構成され得る。ブラックプロトコルマシン350は、このデータを受信し、それをブラックスイッチ(BS)340に送る。ブラックスイッチ340は、ブラックプロトコルマシン350から暗号化データを受信し、さらなる処理のためにそのデータを適切な復号アルゴリズムにルーティングするように構成され得る。復号アルゴリズム(D1、D2、D3)333、334、335は、システムにおいて利用され得る特定タイプの分類化データと関連するものであり得る。さらに、復号アルゴリズム333、334、335は、関連する暗号化アルゴリズム330、331、332で暗号化されたデータを復号するように構成され得る。復号アルゴリズム333、334、335によってデータが復号された後、そのデータはレッド検証手段(RV)321に渡される。当該レッド検証手段321は、データが適切に復号されることを確実にするように構成されるとともに、データを例えば、さらなる処理のための、プロセッサ内の適切なパーティションに入力されるように、レッドプロトコルマシン310に送るように構成される。
分離カーネルは、異なる機密度の情報が所与のプロセッサ内でどのように流れることが許されるかの一例である。分離カーネルを使用することによって、オペレーティングシステムは、プロセッサ内の情報フローが、分類化情報へのアクセスを不適切に許可しないように信頼できるものであることを保証するように構成され得る。しかし、従来、分離カーネルはシングルプロセッサシステムに限定されていた。従来技術では、情報が異なる許可を有するコンピュータ間の共通のネットワーク上を流れ、所定の機密度または情報の分類にアクセスするように構成されている場合に、同じレベルの信頼が維持され得ることを証明できなかった。
したがって、複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムが必要とされている。
本開示の一態様によれば、複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするマルチレベルセキュリティシステムが提供される。前記システムは、複数のパーティションに分割可能な記憶媒体と、前記複数のパーティションに結合可能なファイルシステムと、各々にセキュリティ分類レベルが割り当てられた複数のエンクレーブとを含む。複数のエンクレーブの各々は、記憶媒体の異なる記憶パーティションに存在する。記憶媒体に記憶されたデータは、エンクレーブごとに暗号的に分離されて蓄積されている。ディスクブロックレベルで暗号化分離が行われることによって、個々のブロックの読み取り及び復号化が可能になる。システムは前記複数のエンクレーブ間での情報へのアクセスを管理するシステムセキュリティポリシーを実施するリファレンスモニタも含む。リファレンスモニタは、前記複数のエンクレーブのうち第1の分類レベルを有するエンクレーブを、前記複数のエンクレーブのうち前記第1の分類レベルよりも低い第2の分類レベルを有する別のエンクレーブへと安全に読みおろすことおよび前記複数のエンクレーブのうち前記第1の分類レベルを有する別のエンクレーブに書き込むことを可能にする。
本開示の別の態様によれば、データ処理装置によって実行するためのプログラム命令を具現化する非一時的なコンピュータ可読媒体が提供される。プログラム命令は、情報のデータ分離を維持しながら、異なるセキュリティ分類レベルで分類された情報を送信するためにデータ処理装置を適合させる。前記プログラム命令は、複数の異なるセキュリティ分類レベルに分類された情報を、当該情報のデータ分離を維持しながら送信するように前記データ処理装置を適合させるものである。プログラム命令は、記憶媒体に記憶された情報を複数の重なり合わないパーティションに分割することにより、複数の異なるセキュリティドメインを規定する複数のエンクレーブを形成すること、前記複数のエンクレーブの各々にセキュリティ分類レベルを割り当てること、前記複数のエンクレーブ間での情報の流れを管理するシステムセキュリティポリシーを実施することを含む。このシステムセキュリティポリシーは、第1の分類レベルを有する第1のエンクレーブを、前記第1の分類レベルよりも低い第2の分類レベルを有する第2のエンクレーブに安全に読みおろすことおよび前記第1の分類レベルを有する第3のエンクレーブに書き込むことを可能にする。
これらの特徴および利点および本明細書に開示された様々な実施形態の他の特徴および利点は、以下の説明および図面に関してより良く理解されるであろう。
通常のオペレーティングシステムを含むシステムアーキテクチャのブロック図である。 複数の独立したレベルのセキュリティ(MILS)分離カーネルを含むシステムアーキテクチャのブロック図である。 従来技術において知られている単一のプロセッサ内での情報分離用の分離カーネルのブロック図である。 本開示の一実施形態によるマルチレベルセキュリティ(MLS)システムアーキテクチャの概略図である。 本開示の一実施形態による複数のセキュリティレベルをまたぐ安全なファイル共有の方法を示すフローチャートである。
以下、添付図面を参照して、複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステム及びその方法の実施形態を説明する。同様の参照番号は、図中の説明を通じて類似のまたは同一の要素を指すことがある。
この説明は、「一実施形態では」、「実施形態では」、「いくつかの実施形態では」、または「他の実施形態では」という語句を使用することがあるが、これらは本開示に従う同一または異なる1以上の実施形態を参照することがある。
本明細書で使用されるように、用語「コンピュータ」は、一般に、目的に応じた方法で情報を変換する任意のものを指す。本説明において、「ソフトウェア」および「コード」という用語は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組み合わせに適用可能である。本明細書での目的のために、用語「データ処理装置」は、用語「コンピュータ」と交換可能である。
本説明で使用されているように、「リファレンスモニタ」は、一般に、アクセス決定が小さいソフトウェアのまたはハードウェアおよびソフトウェアのモニタを通過するようにすることという概念を指す。セキュリティ提供に効果的であるためには、リファレンスモニタの実装は一般的に以下のようなものである必要がある:非バイパスであること、つまり、システムのセキュリティポリシーの対象となる操作をシステムが実行するときに常に呼び出されること;改ざん防止性であること、つまり、セキュリティを実施する方法に影響する可能性のある変更から保護されていること;分析するのに十分に単純であること、つまり、独立した評価者達がそれを検査してセキュリティを正しく実施していることを確証を持って判断できるように小さく単純であること。これらの原則を満たすリファレンスモニタを実装するソフトウェアまたはハードウェアとソフトウェアは、セキュリティカーネルとして定義される。リファレンスモニタの概念は、システム全体のセキュリティを担うとともに保証できる、システム中の小さく単純なサブセットを特定するための基礎を提供する。このサブセットは、トラステッドコンピューティングベース(TCB)と呼ばれる。TCBは、リファレンスモニタを実装し、物理的リソースだけでなく「信頼できるサブジェクト」を管理するセキュリティカーネルを含み得る。
本開示のマルチレベルセキュリティシステムまたはその要素についての一以上の実施形態は、示された方法ステップを実行するためのコンピュータ使用可能プログラムコードを有するコンピュータ可読記憶媒体を含むコンピュータ製品の形態で実装することができる。本明細書で使用する「コンピュータ可読媒体」は、一般に、コンピュータによってアクセス可能なデータを格納するために使用される任意の記憶装置を指す。
コンピュータ可読媒体の例は、磁気ハードディスク、フロッピーディスク(登録商標)、CD−ROMやDVD等の光ディスク、磁気テープ、フラッシュリムーバブルメモリ、メモリチップ、および/または機械可読命令を格納することができる他のタイプの媒体を含む。「非一時的な」コンピュータ可読媒体は、一時的な伝播信号であるもののみを除外したすべてのコンピュータ可読媒体を含む。
本開示の様々な実施形態は、複数のセキュリティレベルをまたぐ安全なファイル共有を可能にし、蓄積データの分離を提供するように構成されたマルチレベルセキュリティシステムを提供する。
本開示のマルチレベルセキュリティシステムの実施形態は、一度に複数のレベルの複数のユーザを可能にするネットワークデバイスを提供する。
本開示の様々な実施形態は、複数のプロセッサにわたる複数の独立したセキュリティレベル(MILS)モデルにおいて完全なデータ分離を提供する組み込みシステム、例えば埋め込みアビオニクスシステムでの使用に適したシステムアーキテクチャおよびネットワークソフトウェアアプリケーションを提供する。本開示のシステムアーキテクチャおよびネットワークソフトウェアアプリケーションにより、クライアントが引き続き、エンドユーザが既に訓練を受けており操作に慣れている、例えばマイクロソフトウィンドウズ(登録商標)、リナックス(登録商標)およびインテルなどのCOTS(Commercial Off−The−Shelf)のおよび/またはGOTS(Government Off−The−Shelf)のオペレーティングシステムおよびアプリケーションを使用できるようになる。
本開示のマルチレベルセキュリティシステムおよびネットワークソフトウェアアプリケーションの実施形態は、複数レベルの蓄積データの高堅牢性分離を維持し、エンクレーブあたりの冗長ストレージハードウェアを排除し、タイムリーな読みおろしを可能にし、データを最低の固有レベルに保ち、および/または、データの重複コピー(例えば、区分外画像データベースのコピーを極秘レベルにて複製)の必要性を排除する。
本開示のネットワークソフトウェアアプリケーションの様々な実施形態は、クライアントが標準ネットワークファイルシステムを使用できるように、オープン標準インターフェイスを利用する。本開示のシステムアーキテクチャおよびネットワークソフトウェアアプリケーションの実施形態は、設計上の柔軟性を可能にするモジュール層を有する。たとえば、1つのファイルサーバを最小限の労力で別のファイルサーバに置き換えることができる。本開示のネットワークソフトウェアアプリケーションの実施形態は、様々なプロセッサアーキテクチャを使用して実装することができる。本開示の様々な実施形態は、クライアントが低セキュリティレベルに安全に「読みおろす」ことおよび同じセキュリティレベルで書き込むことを可能にするリファレンスモニタを実装する。低セキュリティレベルに安全に「読みおろす」この能力は、セキュリティレベル間の「エアギャップ」または「データダイオード」転送方法を排除し、最新で未複製の情報をユーザに提供する。本開示のネットワークソフトウェアアプリケーションは、任意の適切な数のエンクレーブに拡張可能である。
本開示のネットワークソフトウェアアプリケーションの実施形態は、トラステッドコンピューティングベース(TCB)を最小化し、高保証環境(HAE)パーティションで動作する複数の独立レベルのセキュリティ(MILS)アプリケーションとしてそれを実行することによって認証可能なものとなる。ネットワークソフトウェアアプリケーションの非高保証部分は、標準的リナックスパーティションで実行されてよい。実施形態は、No Read Up動作という「単純な」セキュリティプロパティと、No Write DownまたはWrite Up動作という「強力な」セキュリティプロパティとからなる修正Bell−LaPadulaポリシーモデルを実施することができる。
様々な実施形態は、読みおろし動作を可能にすることで、データ複製を回避し、スワップを減少させ、および/または各ドメインに対する並列データ記憶アーキテクチャを排除する。
本開示のネットワークソフトウェアアプリケーションの様々な実施形態は、データの暗号化および認証のためにガロアカウンターモード(GCM)付き高度暗号化規格(AES)を利用することができ、および/または蓄積データのタイプ1暗号化を提供するインラインメディア暗号化装置(IME)に頼ることができる。AESは、電子データを保護するために使用できる連邦情報処理規格(FlPS)で承認された暗号アルゴリズムを規定している。AESアルゴリズムは、情報を暗号化(encrypt、encipher)および復号化(解読)できる対称ブロック暗号である。暗号化は、データを暗号文と呼ばれる理解できない形式に変換し、暗号文の復号化は、そのデータを平文と呼ばれる元の形式に戻す。
IMEは、ハードドライブに格納されるものがすべて暗号化されるとともにハードドライブから取得されるものがすべて復号化されるようにコンピュータプロセッサとハードドライブとの間に「インライン」で配置されるメディア暗号化デバイスである。IMEは、コンピュータのIDE(Integrated Device Electronics)ハードドライブにタイプ1暗号化を提供する。IMEは、オペレーティングシステム(OS)を含むすべての物理セクタを暗号化する。コンピュータシステムとそのハードドライブの間にIMEを物理的に配置すると、すべてのデータがIMEを通過しなければならず、IDEハードドライブに暗号化されて格納される。ハードドライブから「呼び出された」ファイルのみが復号化される。ハードドライブは常に暗号化されたままである。
本開示のマルチレベルセキュリティシステムおよびネットワークソフトウェアアプリケーションを組み込みプラットフォームで使用する利点には、マルチレベルアーキテクチャに永続的ストレージを提供するために必要な重量および電力の節約が含まれる。本開示のマルチレベルセキュリティシステムおよびネットワークソフトウェアアプリケーションは、MLSアーキテクチャの一部として、データを固有の最も低いセキュリティレベルに保つことによって、組み込みプラットフォームがデータを処理することおよび複数のセキュリティレベルで通信することも可能にする。例えば、機密データを知るあるプラットフォームは依然として区分外チャネルにある区分外データを処理して出力することができる。
図1には、様々なアプリケーションとともに使用されるマルチレベルセキュリティ(MLS)ファイルストア(ここではMFS50と呼称する)のシステムアーキテクチャ100の実施形態が示されている。MFS50は、複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするネットワークソフトウェア機器であり、一般に、個別に異なる製品と交換可能な4つの層が含まれる。MFS50は一ファイルのブロックに対する暗号化およびアクセスを提供し、データベースなどの大きなファイルにとって重要なランダムアクセスをサポートする。MFS50は、NFSを使用してブロックレベルでアクセスされ、ディスク上の異なるパーティションにファイルを分離させる。MFS50には書き込み機能があり、ディスクパーティション全体に対するアクセスを透過的に提供する。いくつかの実施形態では、MFS50は単一の共有ディスクを使用する。
図1に示すように、システムアーキテクチャ100は、ネットワークファイルシステム層10、ファイルシステムおよびキャッシュコヒーレンシ層20、ネットワークブロックデバイス層30、およびIMEおよびディスク層40を含む。ネットワークファイルシステム層10は、同じセキュリティレベルの複数のクライアントが共用ファイルシステムに読取りアクセスおよび書込みアクセスでアクセスできるようにする。ネットワークファイルシステム層10は、一般的に使用されるネットワークファイルシステムであるが、航空機作戦システムで必要とされる冗長性とフェイルオーバーはサポートしていない。各ネットワークファイルシステムは、ドメインごとにそのクライアントがアクセス可能な1つの仮想ディスクを提供(たとえば、エクスポート)することとなり、そのディスクを除くクライアントレベルの全ては読み取り専用としてエクスポートされる。セキュリティポリシーは、読み取り専用のエクスポートによってこの層では実施されるものとして信頼されていないが、ソフトウェアスタックの中でハイのままで書きおろす試みを緩和する利点がある。
ファイルシステムおよびキャッシュコヒーレンシ層20の一実施形態では、パーティションファイルシステムは標準的なリナックスext2ファイルシステムを実行し、それが「ローカル」ディスクへの唯一のアクセスを有すると仮定する。このデータレベルでのファイルシステムは、それに書き込むことができる。他のファイルシステムは、セキュリティポリシーに従ってそれから読み取るように構成することができる。リナックスはパフォーマンスを向上させるためにファイルシステムに組み込まれたキャッシュを有するが、複数のクライアントによる並列アクセス間でのコヒーレンシを維持するための別途の対策が行われなければならない。いくつかの実施形態では、このデータのレベルで書き込み可能とされたファイルシステムは、ファイルを更新するたびに、(例えば、ハブによってすべての読み取り専用ファイルシステムに転送される)一方向メッセージを送信する。このメッセージは、読み取り専用ファイルシステムに、それらのキャッシュが古く、ディスクからの読み取りの代わりに使用することはできないことを伝える。このファイルシステムおよびキャッシュコヒーレンシ層20は、ファイルコンテキストオペレーションをブロック読み取りおよび書き込みに変換する。
ネットワークブロックデバイス層30において、ネットワークブロックデバイスは、同じハードウェア上の異なるMILSパーティションに位置し得るリモートディスクにブロックレベルの動作を移送する。ネットワークブロックデバイス(NBD)クライアントとNBDサーバとの間のリクエストは、セキュリティポリシーに関して監査され、データはドメインによって暗号化的に分離される。MLS分離及びアクセス制御(MSAC)コンポーネントは、上位レベルパーティションの読み取り専用アクセスを実施し、認証済みソース由来の書き込まれたデータを暗号化/署名し、読み取りデータブロックを検証/復号して、正しいレベルの認証されたデータだけが読み戻されることを保証する「bump in the wire」として働く。個々のディスクブロックは、各セキュリティドメイン用の固有鍵を用いて暗号化される。このプロセスは、ディスクブロックの復号化と検証に必要な、認証タグおよび初期化ベクトルを作成する。本開示によれば、暗号化と認証のこの組み合わせが分離メカニズムとして使用される。当該タグと初期化ベクトルは、暗号化されたディスクブロックとともに送信され、NBDサーバによって制御されるディスク上の一分離領域に書き込まれる。NBDサーバは、未信頼のリナックスゲストOSで動作し、物理ハードディスクに読み書きコマンドを送信する。
IMEおよびディスク層40の一実施形態では、物理ディスクがMFS50に取り付けられ、I/Oリナックスパーティションには分離カーネル構成を介して排他的アクセスが許可される。いくつかの実施形態では、IMEは、処理ボードとディスクとの間においてMFS50の外部にある。ディスク全体の内容は、IMEが提供するタイプ1暗号化で保護される。IMEの存在は、MFS50の分離動作に対して透過的である。IMEは、蓄積データを保護するために使用される。
複数のシングルレベルファイルシステムを使用し、そのうちの1つが書き込みを行い他のいくつかが読み出す場合、それらファイルシステム全体にわたってキャッシュコヒーレンシを維持する必要がある。通常、リナックスファイルシステムはディスクの完全な制御を有しており、この目的のために構築されていない。図1に示すように、ファイルシステムおよびキャッシュコヒーレンシ層20は、「FS Mod」を含む。リナックスが使用されるMFS50の一実施形態では、FS Modは、ファイルが書き込まれると、全ての高レベル読み取り専用ファイルシステムにそのファイルのキャッシュの無効を知らせるために分離カーネルの単方向のセキュアプロセス間通信(SIPC)機能を使用してメッセージを送信するようにリナックスカーネルを修正することを含む。
<MLSファイルストア(MFS)駆動要件>
MFS50の実施形態は、1つまたは複数の駆動要件を実装することができる。MFS50の駆動要件の例には、標準のリナックス仮想ファイルシステム(VFS)インターフェイスを提供すること、異なる分類レベルのデータの分離を維持すること(例えば、区分外から機密/SAR)、複数の異なるセキュリティレベルまたはパーティションをサポートすること、No Read Up動作という「単純な」セキュリティプロパティと、No Write DownまたはWrite Up動作という「強力な」セキュリティプロパティとからなる修正Bell−LaPadulaポリシーモデルを実施し、サブジェクトのセキュリティレベルがオブジェクトのセキュリティレベルを卓越していれば、サブジェクトがオブジェクトを読むことができる(つまり、サブジェクトが読みおろし可能である)ようにすることが含まれる。いくつかの実施形態では、MFS50は、少なくとも5つの異なるセキュリティレベルまたはパーティションをサポートすることができる。
いくつかの実施形態では、MFS50は、ブロックレベルでデータを管理することが必要とされ得る。いくつかの実施形態では、そのファイルの全体が検証前に読まれる必要はない。MFS50は、EAL6でまたは同等のもので評価可能であることが必要とされ得る。MFS50は、328メガビット/秒の持続速度でデータを転送することが必要とされ得る。MFS50は、所定の時間期間内にデータを損失せずに自律的にフェイルオーバーことが必要とされ得る。MFS50は、セキュリティ関連イベントの監査ログを作成することが必要とされ得、当該イベントには、ディスクフル;ディスクハードウェアエラーメッセージ;無効ブロックへのアクセスの試み;書きおろし(write−down)の試み;検証失敗が含まれる。MFS50とそのクライアントは、同じファイルシステムをマウントするすべてのノードに対するキャッシュを同期することが必要とされ得る。
<ネットワークファイルサーバ駆動要件>
ネットワークファイルシステムは、所定の時間期間内にデータを損失せず自律的フェイルオーバーをサポートすることが必要とされ得る。
ネットワークファイルシステムクライアントは、ソフトウェアを変更する必要がなく、または、クライアントと連携するように再コンパイルする必要がないように、リナックス仮想ファイルシステムインターフェイスをサポートするように供給されることがある。
ネットワークファイルシステムクライアントは、所定の時間期間内に、クライアント同士のおよび物理ディスクとのコヒーレンシを維持することが必要とされ得る。ネットワークファイルシステムに単一障害点がないことが必要とされ得る。
<I−ノードおよびバッファキャッシュコヒーレンシ駆動要件>
このモジュールは、同じファイルシステムをマウントしているすべてのノードに対するバッファとiノードキャッシュを同期させることが必要とされ得る。ファイルが書き込まれると、ライター内のモジュールはSIPC転送ハブに通知する。読み取り専用ファイルシステムノード内のモジュールは、SIPCハブからの通知を受け取ると、指定されたファイルのiノードおよびバッファキャッシュを無効にする。
<セキュアプロセス間通信(SIPC)転送ハブ駆動要件>
このハブは、1つのSIPCポートでデータを受信し、分離カーネルに設定された複数のSPICポートに送信することが必要とされ得る。
<ネットワークブロックデバイス(NBD)駆動要件>
NBDクライアントは、マウント可能なデバイスをリナックスVFSに提供することが必要とされ得る。NBDクライアントは、すべてのブロックアクセスを処理用のNBDサーバに送信することが必要とされ得る。NBDクライアントとサーバは、それらのメッセージに対し、オープンな共通標準インターフェイスを使用することが必要とされ得る。
NBDサーバは、1つの読み取り/書き込みクライアントおよび複数の読み取り専用NBDクライアントから同じデータストアへの同時アクセスをサポートすることが必要とされ得る。NBDは、毎秒800メガビットの持続データ転送速度をサポートすることが必要とされ得る。
<MSAC駆動要件>
MSACは、レベルごとに別々の鍵で書き込まれたデータを暗号化することが必要とされ得、および/または、FlPS承認されたアルゴリズムを使用することが必要とされ得る。いくつかの実施形態では、システムはFIPS140−2を使用してレベル4で認証され得る。MSACは、書き込まれた各ブロックを認証することが必要とされ得る。認証データは、ディスク上の分離パーティションに格納され得る。MSACは、高保証パーティションで動作するように開発される必要があり得る。
MSACは、ディスクから読み取られたデータのブロックがそのブロックに書き込まれた同じデータであることを検証することが必要とされ得る。MSACは、少なくとも5つの異なるセキュリティレベルまたはパーティションをサポートすることが必要とされ得る。MSACは、毎秒800メガビットの持続データ転送速度をサポートすることが必要とされ得る。
MSACは、読み取り専用クライアントによるデータ書き込みを防止することが必要とされ得る。監査ログエントリは、その後にディスク上の一パーティションに書き込むことができる一パーティションにSIPCを介して送信され得る。監査可能イベントには、ディスクフル;単一パーティションであればハイサイドアプリケーションによる資源使用カバートチャネルを防止すること;多パーティションであれば低レベルディスクドライバおよび/またはハードウェアによる資源使用カバートチャネルを防止すること;ディスクハードウェア/ドライバからの他のエラーメッセージ;読みあげ(または範囲外のブロック)または書きさげの試み;検証失敗(不正な署名);不正なブロック読み取りが含まれる。
<ディスクドライバ駆動要件>
いくつかの実施形態では、ディスクドライバはウインドリバーSK上で動作するウインドリバーゲストOSパーティションで動作する。このゲストOSパーティションは未信頼のものである可能性がある。ディスクドライバは、毎秒800メガビットの持続データ転送速度をサポートすることが必要とされ得る。いくつかの実施形態では、ディスクドライバは、IMEに取り付けられたディスクとインターフェイスすることができる。
読みおろし式ファイルシステムへの読取り専用アクセスはMFS50の設計と機能にとって不可欠なので、すべての分散ファイルシステムがMFS50のファイルシステムコンポーネントに対する機能要件を満たしているとは限らない。
<ファイルシステム>
ファイルシステムは、ディスク上のファイルを管理し、それらをブロックに書き込むが、オープンな共通標準に基づくものであってよい。ファイルシステムは、1つまたは複数のMFS50要件、すなわち、ファイルの作成、追加、変更における迅速なコヒーレンシをサポートし得る。
ファイルシステムは、遅延なしで書き込みコマンドを発行するように構成されてよく、そうでなければ他のファイルシステムはどんな変更にも気づかないであろう。
ファイルシステムは、安定性および読み取り専用アクセスなどの付加的基準を満たすことが必要とされ得る。
ファイルシステムの論理層は、ハードリセット、接続損失、または他のサービス中断の場合にデータ破損を軽減するように構成され得る。
ファイルシステムは、ディスクの内容を変更しない読み取り専用としてマウントすることをサポートするように構成され得る。
<ネットワークブロックデバイス(NBD)サーバ>
様々なCOTSネットワークブロック装置が、MFS50での使用に適する。本説明のために、一般化されたネットワークブロックデバイスをNBDと呼ぶことがあり、ネットワークブロックデバイスと呼ばれる実装をNBD−1と呼ぶことがある。
ネットワークブロックデバイス(NBD)は、ネットワーク接続を横断してハードウェアデバイスをエクスポートする。NBDを介してデバイスにアクセスするリモートシステムは、そのデバイスがローカルに接続されているかのように、それを利用することができる。NBDデバイスは、ファイルではなく固定サイズのデータブロックを操作する。MFS50のプロトタイプにおいて、NBDは、ネットワークファイルサーバとディスクコントローラとの間のデータプロトコルである。NBDクライアントは、ネットワークファイルサーバパーティション内で実行され、ブロックデバイスをカーネルに公開し、ブロックI/OリクエストをSIPC経由でMSACに転送する。MSACパーティションは、NBDサーバにリクエストを転送する前にデータに対するセキュリティ操作を実行し、その後に、そのディスクを表す実際のブロックデバイスに対する操作を実行する。
NBDは、1つまたは複数のMFS50要件をサポートすることが必要とされ得る。MFS50のNBD要件の例には、NBDクライアントがリナックスVFSにマウント可能なデバイスを提供すること;NBDクライアントがすべてのブロックアクセスを処理用のNBDサーバに送信すること;NBDクライアントとサーバが、それらのメッセージに対しオープンな共通標準インターフェイスを使用すること;NBDサーバが、1つの読み取り/書き込みクライアントおよび複数の読み取り専用NBDクライアントから同じデータストアへの同時アクセスをサポートすること;NBDが毎秒800メガビットの持続データ転送速度をサポートすること;ファイルの作成、追加、変更における迅速なコヒーレンシが含まれる。データはNBDを通過して複数レベル間を流れる。NBDが書き込みを遅らせるかまたはデータキャッシュを試みると、レベル間パフォーマンスとデータ整合性が損なわれることとなる。
NBDは、プロトコルの単純さなどの他の基準をサポートすることが必要とされ得る。よりシンプルなNBDプロトコルは、MSACをよりシンプルにし、信頼できるパーティションで実行する必要があるコードの量を削減する。UDPネットワークプロトコルを使用することによって、必要なハンドシェイクがないためにパフォーマンスが向上し、システムがシンプルになる。
NBD(ここではNBD−1と呼ばれる)の実装は、ほとんどの主要なリナックスディストリビューションに含まれている。NBD−1は、ウィンドリバーリナックス3.0におけるロード可能モジュールとして含まれている。MFS50と共に使用するのに適したNBD−1の例には、xNBD、ATA over Ethernet、ENBD、およびGNBDが含まれる。
<スケジューリング>
この節では、MFS50パーティションのスケジュール方法について説明する。シンプルで固定されたスケジュール、すなわち、各パーティションが1つのサイクル中に1つのタイムスライスを取得する。例外:MSACはI/Oパーティションの前後に2回進む。交互の固定スケジュール、すなわち、MSACとI/Oパーティションが各ファイルシステムサーバ(FSS)パーティションに従うことを除いて、固定スケジュールと同じである。時間寄付(Time−donating)、すなわち、MSACは、寄付された時間を使用して、必要に応じてFSSおよびI/Oパーティションによって呼び出されるサービスパーティションである。
固定された単純なスケジュールは、構成が最も単純である。しかし、固定された単純なスケジュールは、ファイルシステムによって実行される書き込み操作と物理媒体へのコミットとの間の最長レイテンシとなる可能性がある。
さらに、固定されたスケジュールは、処理リソースの非効率的な使用をもたらす可能性がある。というのは、動作させるデータがないパーティションが固定されたウィンドウ期間にCPUをアイドル状態にするからである。次のオプションは、固定された交互のスケジュールを使用することである。このスケジュールには、各FSSパーティションの後にMSACまたは別々のMSACパーティションを繰り返し呼び出すことが含まれる。これにより、SKスケジュールを使用して、FSSリクエストのラウンドロビンサービスを実行できる。ただし、固定スケジューリングのアプローチは、MSACのアイドル呼び出しを引き起こす可能性がある。
時間寄付スケジュールでは、MSACはSKによって直接スケジューリングされない。代わりに、MSACは他のパーティションによって呼び出されるサービスパーティションとして動作する。そのパーティションの時間をMSACサービスに寄付する時間寄付SIPCメッセージを他のコンポーネントが使用することが必要とされ得る。MSACがリクエストの処理を終了するまでは、アプリケーションのパーティションが通常スケジュールされるたびにMSACがスケジュールされることとなる。その結果、リクエストがすぐにアドレッシングされるため、SIPCバッファが小さくなる。MSACは必要なときにのみ呼び出されるため、専用の(および潜在的に未使用の)タイムスライスが少なくなる。ネットワーク接続されたファイルシステムサーバパーティションおよびI/Oパーティションは、依然として固定スケジュールでスケジュールされる。このアプローチは最低レイテンシを有する。我々は2つの理由から時間寄付スケジュールを指定した。第1に、SIPCはバッファリングをあまり必要としないため、すなわち、データが時間寄付可能とされたチャネルで直ちに転送及び処理されるため、RAMをより効率的に使用可能である。第2に、MSACがパーティションごとに取るべき時間の見積もりに基づいて静的なMSACスケジュールを決定する必要がない。これにより、MSACがスケジュールされずアイドル状態にならないので、CPU時間の使用がより効率的になる。
<システム初期化>
実際のシステムの初期化は本説明の範囲外である。以下の説明は、ハードウェアチェックアウトやソースコード認証などの標準的なセキュア初期化を無視しており、その代わりにMFS50に固有の要素に焦点を当てている。初期化のためにMFS50が必要とする主要機能は、MSACパーティションの各々に対する鍵を管理および配布し、MSACパーティションにおける読み取り/書き込みアクセス許可を設定し、ハブパーティションを設定することである。初期起動ソフトウェアを実装する1つの方法は、専用のHAE起動パーティションを用意することである。このパーティションは、最初は実行中の唯一のパーティションとしてスケジュールされる。一旦設定が完了すると、スケジュールを通常の定常状態の動作に変更し、スケジュールからそれ自体を削除することができる。
<MFS初期化>
ハードウェアのチェックアウトやソースコード認証などの標準的なセキュア初期化手順は、このデモンストレーションの範囲外である。代わりに、我々の実装は、MFS50に固有の要素に焦点を当てている。初期化のためにMFS50が必要とする主要機能は、MSACパーティションの各々に対する鍵を管理および配布し、ハブパーティションを初期化することである。これを達成するために、小さなHAEパーティションを初期スケジュールの唯一のパーティションとして使用することができる。専用のSIPCキューを使用して複数のMSACに複数のキーを送信し、構成情報をハブと監査パーティションに送信する。すべてのランタイム構成データがSIPCキューで待機となると、初期化パーティションは、ファイルシステムとI/Oパーティションがプロセッサ時間を共有する通常の実行モードにスケジュールを変更する。
初期化パーティションは、MILS・APIでスケジュール変更ルーチンを使用することがXML設定によって許可されている。
<監査>
システムは、MILSカーネル、MSACおよび他の高保証コンポーネントから監査ログを収集する必要がある。監査サブシステムの完全な実装はこのデモンストレーションの範囲外であるが、デモンストレーションMFS50は監査可能なイベントを収集して表示できる。監査可能なイベントは、監査サブシステムデバイスによる分析または収集のために、MFS50によってシリアルポートへと外部に報告される。このような監査サブシステムの作成は本開示の範囲外であり、そのようなシリアル出力はコンソールに表示される。
コアセキュリティ機能を実施するオープンでモジュラーな高保証設計を実装したMFS50のプロトタイプ実装は、パワーPC(PPC)で始まりx86に移植された。本明細書で使用されるように、用語「x86」は、一般にインテルx86CPUアーキテクチャを指す。PPCとx86アーキテクチャの両方でウィンドリバー(登録商標)の複数の独立したセキュリティレベル(MILS)プラットフォームを使用することで、システム開発者がソフトウェアを開発する際にハードウェアに依存することがなくなった。
MFS50プロトタイプは、EAL6認証要件を満たすために将来構築することができるように、高保証設計コンセプトに適合するように設計されている。MFS50のプロトタイプ実装のパフォーマンスを評価し、および/または、潜在的な性能向上を決定するためのセキュリティテストには、MFS50を使用して複数のシングルレベルセンサから生成された追跡データを格納する組み込み型の融合アプリケーションが含まれていた。閲覧の許可された追跡データを表示するのに複数のシングルレベルのグーグルアースアプリケーションが使用された。
MFS50のプロトタイプ実装のセキュリティテストでは、読みおろし機能、読みあげ障害、書きおろし障害、データ整合性のエラー、潜在的カバートチャネルとしてのディスクメッセージフィールドの使用不能、さまざまなMFS50障害モードが実証された。このセキュリティテストでは、異なる追跡データを2つの異なるレベルで表示する能力を成功裏に実証できた。x86プロセッサは3つのネットワークインターフェイスしか持たず、そのうちの1つがディスクへのアクセスに使用されるため、MFS50のプロトタイプの実装は2つのレベルに制限された。MFS50のプロトタイプの実装は、パーティションが下位レベルでのデータを読める一方で、そのパーティションが当該下位レベルへのデータの書き込みができないように構成された。
MFS50のプロトタイプの実装は、リナックスのext2ファイルシステムを使用し、すべてのディスクブロックアクセスを直列化した。ブロックをグループ化し、それらをチャンクとして送信すると、パフォーマンスが大幅に向上すると考えられる。MFS50のプロトタイプ実装のext2fsファイルシステムは、syncマウントオプションが使用されたときに多数のブロックレベルの書き込みを生成することによって、MFS50内のスループットを大幅に制限するように見えた。MFS50のプロトタイプ実装のリナックス ext2ファイルシステムをext3ファイルシステムに置き換えると、例えば20倍の改善といった、大幅な改善がもたらされ得る。MFS50のプロトタイプの実装では、ファイルサーバからディスクへ通信するのにネットワークブロックデバイス(NBD)プロトコルを使用した。NBDをAoE(ATA over Ethernet)に置き換えると、パフォーマンスの向上が得られるであろう。MFS50のプロトタイプの実装は、ソフトウェアの暗号化を使用した。ハードウェア暗号化に切り替えることもパフォーマンスを向上させるであろう。より大きなSIPCポートを使用できるようにウインドリバーMILS・x86・EARを改良することも、パフォーマンスを向上させるであろう。
より良いネットワークパフォーマンスとより大きなSIPCポートを持つパワーPC・MILS上で動作するようにMFS50を移植することも、パフォーマンスをいくらか向上させる可能性がある。x86MILS・EAR用にビルドする場合、タイムスライスが20msより短いとリナックスゲストOSパーティションは安定しない。これは、必然的にパーティションスイッチレートを制限し、MFS50内の各NBD動作のレイテンシを増加させる。その結果、スループットが低下する。パワーPC・MILSのリリースは、はるかに短いタイムスライスでの実行できる。これにより、MFS50内の処理がはるかに高速になり、MFS50の性能が全体的に向上することになろうと考えられる。
MFS50は、複数の異なるレベルで異なる追跡データを見る能力を有する。いくつかの実施形態では、PCSの使用は、MFS50が3つのレベルで通信することを可能にする。
モジュール化され層化されたアプローチをMFS50設計に採用することで、プロトタイプ作成の作業に柔軟性がもたらされる。オープンで一般的に実装されている標準およびCOTSコンポーネントを利用することで、MFS50は、最小限の統合の痛みで、カスタムソフトウェアの変更やシステムの認証関連の部品に対する変更なしに、課題に対する機敏な応答のための開かれた設計を活用できるようになる。
いくつかの実施形態では、ネットワークファイルシステム層へのインターフェイスは、標準的なリナックスファイルシステムインターフェイスである。層間のインターフェイスはオープンで一般的に実装されている標準であるため、カスタムコードを記述することなく一層を代替のCOTSコンポーネントで置き換えることができた。
いくつかの実施形態では、IMEおよびディスク層40は標準のリナックスデバイスファイルであり、これにより、未変更のCOTS製品を使用することができるようになり、他の層に影響を与えずにMFS50デザインの未信頼部分に対して変更を加えることができるようになる。
ブロックレベル分離を使用すると、単純なMSACの使用が可能になる。ファイルを復号するためにファイル全体を読む必要も、ディレクトリエントリ等の特別な取扱いも必要なかった。基本的IA要件(読みあげなし、書きおろしなし、書きあげなし、読みおろし可)を満たすことは、簡単で小さなコードベースで達成できる。ただし、ファイルレベルでの有用な読みおろしを行うと、MFS50の他のどんな部分よりも時間と労力がかかる。
図5は、本開示の一実施形態に従う複数のセキュリティレベルをまたぐ安全なファイル共有の方法を示すフローチャートである。ブロック510において、記憶媒体に記憶された情報を複数の重なり合わないパーティションに分割することによって、異なる複数のセキュリティドメインを規定する複数のエンクレーブが形成される。
ブロック520において、複数のエンクレーブの各々にセキュリティ分類レベルが割り当てられる。
ブロック530において、複数のエンクレーブ間での情報の流れを管理するシステムセキュリティポリシーが実施される。このセキュリティポリシーは、第1の分類レベルを有する第1のエンクレーブを、第1の分類レベルよりも低い第2の分類レベルを有する第2のエンクレーブへの安全に読みおろすこと、および、第1の分類レベルを有する第3のエンクレーブに書き込むことを可能にする。
例示および説明の目的で添付の図面を参照して実施形態を詳細に説明したが、開示されたプロセスおよびシステムはそれによって限定されると解釈されるべきではないと理解されたい。本開示の範囲から逸脱することなく、前述の実施形態に対する様々な変更を行うことができることは当業者にとって明らかであろう。

Claims (2)

  1. 複数のパーティションに分割可能な記憶媒体と、
    前記複数のパーティションに結合可能なファイルシステムと、
    各々にセキュリティ分類レベルが割り当てられた複数のエンクレーブであって、前記複数のエンクレーブの各々は、前記記憶媒体の異なる記憶パーティションに存在し、前記記憶媒体に記憶されたデータは、エンクレーブごとに暗号的に分離されて蓄積されており、ディスクブロックレベルで暗号化分離が行われることによって個々のブロックの読取りおよび復号化が可能になる、前記複数のエンクレーブと、
    前記複数のエンクレーブ間での情報へのアクセスを管理するシステムセキュリティポリシーを実施するリファレンスモニタであって、前記複数のエンクレーブのうち第1の分類レベルを有するエンクレーブを、前記複数のエンクレーブのうち前記第1の分類レベルよりも低い第2の分類レベルを有する別のエンクレーブへと安全に読みおろすことおよび前記複数のエンクレーブのうち前記第1の分類レベルを有する別のエンクレーブに書き込むことを可能にする前記リファレンスモニタと
    を備える、マルチレベルセキュリティシステム。
  2. データ処理装置によって実行するためのプログラム命令を具現化する非一時的なコンピュータ読み取り可能媒体であって、前記プログラム命令は、複数の異なるセキュリティ分類レベルに分類された情報を、当該情報のデータ分離を維持しながら、送信するように前記データ処理装置を適合させるものであり、前記プログラム命令が、
    記憶媒体に記憶された情報を複数の重なり合わないパーティションに分割することにより、複数の異なるセキュリティドメインを規定する複数のエンクレーブを形成すること、
    前記複数のエンクレーブの各々にセキュリティ分類レベルを割り当てること、
    各セキュリティ分類レベル用の固有鍵を用いて前記複数の重なり合わないパーティションの各々を暗号化すること、
    前記複数のエンクレーブ間での情報の流れを管理するシステムセキュリティポリシーであって、第1の分類レベルを有する第1のエンクレーブを、前記第1の分類レベルよりも低い第2の分類レベルを有する第2のエンクレーブへ安全に読みおろすことおよび前記第1の分類レベルを有する第3のエンクレーブに書き込むことを可能にする前記システムセキュリティポリシーを実施すること
    を備える、非一時的なコンピュータ読み取り可能媒体。
JP2017522202A 2014-10-23 2015-10-09 複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムおよびその方法 Pending JP2017537381A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/522,447 US9489534B2 (en) 2014-10-23 2014-10-23 Multi-level security system for enabling secure file sharing across multiple security levels and method thereof
US14/522,447 2014-10-23
PCT/US2015/054872 WO2016108987A1 (en) 2014-10-23 2015-10-09 Multi-level security system for enabling secure file sharing across multiple security levels and method thereof

Publications (1)

Publication Number Publication Date
JP2017537381A true JP2017537381A (ja) 2017-12-14

Family

ID=55792224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017522202A Pending JP2017537381A (ja) 2014-10-23 2015-10-09 複数のセキュリティレベルをまたぐ安全なファイル共有を可能にするためのマルチレベルセキュリティシステムおよびその方法

Country Status (3)

Country Link
US (1) US9489534B2 (ja)
JP (1) JP2017537381A (ja)
WO (1) WO2016108987A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016188560A1 (en) * 2015-05-26 2016-12-01 Telefonaktiebolaget Lm Ericsson (Publ) Data protection control
US10178170B2 (en) * 2015-09-14 2019-01-08 Dell Products, L.P. Browser-based virtual media administration
US20170300618A1 (en) * 2015-10-28 2017-10-19 Michael J O'Leary Collecting and Processing Medical Imagery
US10460077B2 (en) * 2016-04-12 2019-10-29 GreatDef Corp. Securely collecting and processing medical imagery
IE20170239A1 (en) 2016-11-14 2018-05-16 Google Llc System of Enclaves
US10530777B2 (en) 2017-01-24 2020-01-07 Microsoft Technology Licensing, Llc Data unsealing with a sealing enclave
US10911451B2 (en) 2017-01-24 2021-02-02 Microsoft Technology Licensing, Llc Cross-platform enclave data sealing
US10686765B2 (en) * 2017-04-19 2020-06-16 International Business Machines Corporation Data access levels
US10706143B2 (en) * 2017-05-19 2020-07-07 Intel Corporation Techniques for secure-chip memory for trusted execution environments
US11977924B2 (en) 2017-12-26 2024-05-07 Akamai Technologies, Inc. High performance distributed system of record with distributed random oracle
US11606190B2 (en) 2017-12-26 2023-03-14 Akamai Technologies, Inc. High performance distributed system of record with cryptographic service support
EP4246405A3 (en) * 2018-04-13 2023-10-11 Mastercard International Incorporated Method and system for contactless transmission using off-the-shelf devices
US20200279473A1 (en) * 2019-02-28 2020-09-03 Nortek Security & Control Llc Virtual partition of a security system
US11157632B2 (en) * 2019-04-22 2021-10-26 Kyle D. Haroldsen Encryption converter
CN110336857B (zh) * 2019-06-03 2022-04-12 平安科技(深圳)有限公司 网络块设备的创建方法、装置、设备和存储介质
CN110321172B (zh) * 2019-06-03 2022-04-19 平安科技(深圳)有限公司 网络块设备的分区识别方法、装置、设备和存储介质
CN110321302B (zh) * 2019-06-28 2021-10-01 兆讯恒达科技股份有限公司 一种嵌入式系统数据存储区管理方法
CN110502918A (zh) * 2019-07-09 2019-11-26 杭州电子科技大学 一种基于分级安全加密的电子文件访问控制方法和系统
US11483147B2 (en) * 2020-01-23 2022-10-25 Bank Of America Corporation Intelligent encryption based on user and data properties
CN112069535B (zh) * 2020-08-13 2023-01-31 中国电子科技集团公司第三十研究所 一种基于访问分区物理隔离的双系统安全智能终端架构
US11693977B2 (en) 2020-10-07 2023-07-04 International Business Machines Corporation Software defined data security layer
US11665174B2 (en) 2021-01-29 2023-05-30 Raytheon Company Method and system for multi-tiered, multi-compartmented DevOps
US11501027B2 (en) * 2021-02-08 2022-11-15 Micron Technology, Inc. Mechanism to support writing files into a file system mounted in a secure memory device
US11362844B1 (en) * 2021-07-28 2022-06-14 Vidaloop, Inc. Security device and methods for end-to-end verifiable elections
US12093355B2 (en) 2022-09-07 2024-09-17 Bank Of America Corporation Secure data transfer in a virtual environment using blockchain

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351817B1 (en) 1999-10-27 2002-02-26 Terence T. Flyntz Multi-level secure computer with token-based access control
US7546334B2 (en) 2000-11-13 2009-06-09 Digital Doors, Inc. Data security system and method with adaptive filter
US7266658B2 (en) 2002-09-12 2007-09-04 International Business Machines Corporation System, method, and computer program product for prohibiting unauthorized access to protected memory regions
US7320052B2 (en) 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
US20050154910A1 (en) 2004-01-12 2005-07-14 Shaw Mark E. Security measures in a partitionable computing system
CN100492324C (zh) 2004-03-05 2009-05-27 安全系统有限公司 控制分区访问的分区访问控制系统和方法
US8732856B2 (en) * 2004-12-30 2014-05-20 Oracle International Corporation Cross-domain security for data vault
US20070043667A1 (en) 2005-09-08 2007-02-22 Bahman Qawami Method for secure storage and delivery of media content
US20070143601A1 (en) 2005-12-15 2007-06-21 Arroyo Diana J System and method for authorizing information flows
US8127145B2 (en) 2006-03-23 2012-02-28 Harris Corporation Computer architecture for an electronic device providing a secure file system
US8041947B2 (en) 2006-03-23 2011-10-18 Harris Corporation Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
US8060744B2 (en) 2006-03-23 2011-11-15 Harris Corporation Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US8477946B2 (en) 2008-02-27 2013-07-02 International Business Machines Corporation Method and apparatus for protecting encryption keys in a logically partitioned computer system environment
US8327419B1 (en) 2008-05-22 2012-12-04 Informatica Corporation System and method for efficiently securing enterprise data resources
US8132004B2 (en) 2008-06-12 2012-03-06 The Boeing Company Multiple independent levels of security containing multi-level security interface
US20100058486A1 (en) 2008-08-28 2010-03-04 International Business Machines Corporation Method for secure access to and secure data transfer from a virtual sensitive compartmented information facility (scif)
US8359641B2 (en) 2008-12-05 2013-01-22 Raytheon Company Multi-level secure information retrieval system
US20120185911A1 (en) 2010-09-30 2012-07-19 Khandys Polite Mlweb: a multilevel web application framework
EP2482220A1 (en) * 2011-01-27 2012-08-01 SafeNet, Inc. Multi-enclave token
US9027078B1 (en) * 2013-05-28 2015-05-05 Symantec Corporation Systems and methods for enforcing data loss prevention policies on sandboxed applications

Also Published As

Publication number Publication date
WO2016108987A4 (en) 2016-09-01
US20160117519A1 (en) 2016-04-28
WO2016108987A1 (en) 2016-07-07
US9489534B2 (en) 2016-11-08

Similar Documents

Publication Publication Date Title
US9489534B2 (en) Multi-level security system for enabling secure file sharing across multiple security levels and method thereof
CN107820604B (zh) 具有联网设备的计算机驱动系统的半虚拟化安全威胁防护
US10171432B2 (en) Systems to implement security in computer systems
US9047468B2 (en) Migration of full-disk encrypted virtualized storage between blade servers
US20190238323A1 (en) Key managers for distributed computing systems using key sharing techniques
US7908476B2 (en) Virtualization of file system encryption
US8417967B2 (en) Storage device data encryption using a binary large object (BLOB)
US20020194389A1 (en) Secure machine platform that interfaces to operating systems and customized control programs
JP2017520959A (ja) 信頼実行環境を含むホストのアテステーション
US11755753B2 (en) Mechanism to enable secure memory sharing between enclaves and I/O adapters
CN102163266A (zh) 在主机服务器之间安全地移动虚拟机
JP2021519564A (ja) セキュアコンピュータシステム
Yu et al. Enhancing security of Hadoop in a public cloud
Liu et al. $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud
Russinovich et al. Toward confidential cloud computing: Extending hardware-enforced cryptographic protection to data while in use
Ozga et al. Chors: Hardening high-assurance security systems with trusted computing
Gligor Security limitations of virtualization and how to overcome them
Zhang Attribute based encryption made practical
Arthur et al. Quick tutorial on TPM 2.0
Team ProtectV StartGuard FIPS 140-2 Level 1 Non-Proprietary Security Policy
Butler Leveraging Emerging Disk Functionality for New Security Services
Morris Private computing on public platforms
Smith Storage Protection with Intel® Anti-Theft Technology-Data Protection (Intel® AT-d)
Proudler et al. TPM2 Operation
Krautheim et al. Private Virtual Infrastructure: A Model for Trustworthy Utility Cloud Computing UMBC Computer Science Technical Report Number TR-CS-10-04