説明

セキュアなファイルシステムサーバーのアーキテクチャ及び方法

本発明の一般的な目的は、著しくセキュリティドメイン内の協調管理及び制御下におく手法で、永続的データを確実にセキュリティ保護するための効率的かつ効果的な機構を提供することである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、永続的格納データを、許可されないアクセス及び変更から保護するシステム及び方法に関するものであり、特に、アプリケーション又はデータベースサービスプロバイダのプラットフォームの役割として動作するファイルシステムサーバーによって管理される永続的データを、確実にセキュリティ保護するシステム及び方法に関するものである。
【背景技術】
【0002】
永続的格納データ上の強固かつ検証可能なセキュリティを維持することは、商業、政治、及び実質的に他の全てのコンピューティング環境の動作における第一の要件でなければならず、かつ、それであり続ける。しかしながら、望ましい高レベルのセキュリティを実現することは、様々な理由のため、一般的には達成されていない。特にインターネット構造基盤のペースの速い開発で、ネットワークアーキテクチャ、構造基盤デバイス、及びコンピュータプロトコルの多様性が、急速に増大した。従って、ある定められたドメイン内で少なくとも最低限の一定レベルのセキュリティを協調して確立されなければならないコンピュータシステム及びネットワーク構成要素の数、種類、及び複雑さが、それに応じて増大した。様々なシステム及び構成要素の協調管理の実際的な問題もまた、システムの既知及び未認識の両方のセキュリティ攻撃の侵入からの保護の失敗と同様に、セキュリティ侵害に対するシステム及びネットワークの脆弱性に寄与するものである。
【0003】
従来、所定のドメインのセキュリティ保護は、対応する個々のコンピュータシステム及びネットワーク構成要素の動作性に依って、階層化及び特化される。典型的には、これらのセキュリティ保護は、パスワード呼びかけ、及び、コンピュータシステム又はネットワーク構成要素の中核機能の上に階層化されるデータ及び接続フィルタ、のように様々に実装される。コンピュータシステム及びネットワーク構成要素のソフトウェアのセキュリティ機能の従来の実装は、強固なセキュリティ機構を確立することの本来の複雑さ、及び、未認識の脆弱性及び新たに出現した脆弱性の両方をふさぐために頻繁にパッチをあてるという非常に実際的な必要性、を暗黙的に認識する。
【0004】
攻撃、及び、最終的には永続的格納データ上のセキュリティの損失に対する、様々なセキュリティ機構の脆弱性を最小化するために、様々なアーキテクチャ手法が探索された。1991年4月9日にCumminsに公開された米国特許第5,007,082号は、ファイルデータ転送に利用可能な初期のデータセキュリティシステムを説明している。セキュリティ、使用の透過性、及び互換性の必要性のバランスを取って、Cumminsは、基本I/Oシステム(BIOS)レベルでプラットフォームオペレーティングシステムと相互運用する、ハードウェア固有のソフトウェアベースの暗号化制御システムを説明している。BIOSによって提供されるファイルデータ転送動作は、ファイルレベルのデータに対して暗号化及び復号化機能を実装する互換性のあるルーチンに、選択的に再び向けられる。説明した機能は、ファイルレベルの暗号化及び復号化を実行する。それゆえ、完全なファイルの読み取り/書き込みは、アプリケーションプログラムの読み取り/書き込みサポートをサポートすることを要求される。互換性はさらに、アプリケーションを実行することによって誘導される動的な読み取り/書き込み動作をサポートするように、関連するファイルデータのメモリバッファを暗号化されていない状態で維持しなければならないことを、要求する。
【0005】
1996年12月10日にHsuに公開された米国特許第5,584,023号は、同様であるが、より高度なソフトウェアベースのファイルデータ暗号化システムを説明している。オペレーティングシステムカーネルモードドライバーは、システムコールインターフェースレベルで、ファイルデータに関連する選択されたオペレーティングシステムコールを再び向けるために使用される。下位のオペレーティングシステム提供のファイル指向システムコールは、ブロックレベルの暗号化及び復号化サービスをサポートするようにラップされ、このとき、ブロックサイズは、オペレーティングシステムの定格動作で定められる。暗号化されたファイルから検索されたファイルブロックは、カーネル空間のバッファキャッシュ内でオペレーティングシステムにより管理される間、一般的には、暗号化された状態で維持される。暗号化及び復号化アルゴリズムは、パスワード鍵を利用して、ユーザー関連プロセスに対して定められ、かつ最初のユーザープロセスの呼び出しで初期化される暗号化コードテーブルを選択する。個々のディスクファイルに追加されたデータから読み込まれる別個のファイル属性テーブルは、アクティブにアクセスされる個々のファイルの暗号化属性を定める。様々なコード及び属性テーブルは、動的に割り当てられ、かつポインタ参照を制限して、データ構造、及びカーネルモードドライバーの対応する動作を追跡する難しさを増大させる。
【0006】
より複雑であるが同様な暗号化システムが、2001年6月19日にBrundrett他に公開された米国特許第6,249,866号で説明されている。ファイル及びファイルシステムの両方の暗号化機能を、下位ファイルシステム空間の論理的統一表示に一体化するように、オペレーティングシステムの広範な変更が説明されている。コールが、暗号化ファイルシステムのディレクトリ又はファイルに向けられているかどうかを定めるために、データを読み取り及び書き込むためのオペレーティングシステムコールが、傍受時に評価される。暗号化フラグされたディレクトリ又はファイルに関係のある、転送されたシステムコールのファイルデータは、NTファイルシステム(NTFS)のような従来のファイルシステム上に階層化されたカーネルモードドライバーを利用して対象のディレクトリ又はファイルと関連付けられた鍵を利用して、暗号化又は復号化される。暗号鍵及び暗号化ドライバー管理システムは、オペレーティングシステムカーネル機能とユーザーモード鍵管理アプリケーションとの組合せとして、実装される。
【0007】
これら従来のセキュリティシステムが、永続的格納データ上のかなりの程度のセキュリティを提供する一方で、その各々は、広範なセキュリティシステムを確立することに失敗している。これらのシステムの各々は、特に、パスワード及び暗号鍵を獲得するための基本トロイ攻撃を受けやすいままであり、それにより、セキュリティシステムの完全変換が永続的格納データへの不適正なアクセス及び変更をサポートすることを可能にする。さらに、これらのシステムは、オペレーティングシステムの無制限のルート又は管理者制御を獲得するために、オペレーティングシステムの脆弱性を利用し得るユーザーモードプログラムの実行からの保護を全く提供しない。次に、侵入者は、カーネルのパスワード及び暗号化機構を直接回避するか、パスワード及び鍵を獲得するために、パスワード及び暗号鍵の管理システムのセキュリティを破るか、のいずれかができる。どちらの場合も、侵入者は、オペレーティングシステム自身によって提供される典型的に限定されたセキュリティ保護を利用するよりも殆ど難しくなく、暗号化ベースの高められたセキュリティ機能により表向きセキュリティ保護された永続的格納データへの妨害されないアクセスを、再び獲得する。
【0008】
結局、Cummins、Hsu、及びBrundrett他で説明するセキュリティシステムは、ローカルオペレーティングシステムの基本セキュリティサブシステムに依存して、下位の暗号化機構に対する攻撃を防ぐ。拡張されたセキュリティドメインの一部であるシステムで利用されるとき、要求されたパスワード及び暗号鍵管理システムの協調構成において、如何なる協調管理システムが実施されようとも、これら及び同様なシステムはまた、本質的に依存している。セキュリティドメインを保護するセキュリティ機構の一貫した包括的管理における意図されないエラー、おそらくより典型的には過失は、セキュリティドメインに進入し、永続的格納データへのアクセスを不適切に可能にするために利用され得るオペレーティングシステムの脆弱性の利用可能性を増大させるだけである。
【0009】
それゆえ、最終的に信頼性が高くかつ協調して管理しやすい、永続的データをセキュリティ保護するための機構の、明らかな必要性が存在する。
【0010】
(本発明の要約)
従って、本発明の一般的な目的は、著しくセキュリティドメイン内の協調管理及び制御下におく手法で、永続的データを確実にセキュリティ保護するための効率的かつ効果的な機構を提供することである。
【0011】
これは、データサーバープラットフォーム上で、プラットフォームのオペレーティングシステムカーネルとファイルシステムとの間に置かれたセキュリティファイルシステム層を提供することにより、本発明において実現される。セキュアなファイルシステム層は、永続的データストアについて、ファイルシステムによってファイルデータを転送するためのアプリケーションプログラムにより、オペレーティングシステムカーネルによって起動されるデータ転送動作を、選択的に制約するファイルアクセス制御機能を実装するように、構成される。オペレーティングシステムカーネルとは独立して実装されたファイルアクセスコントローラーは、セキュリティファイルシステム層に繋がれ、許可されたファイルシステムによるファイルデータ転送を定めることによって、ファイルアクセス制御機能をサポートする。
【0012】
本発明の利点は、ファイルアクセスコントローラーの管理はデータサーバープラットフォームから分離しているということである。これは、特にオペレーティングシステムカーネルを含むプラットフォームの如何なるセキュリティ侵害も、独立して管理されるファイルアクセスコントローラーでサポートされるようなセキュリティファイルシステム層の必須機能を損なうことはない、かつ、損なうことはできないことを、確実にする。
【0013】
本発明のもう1つの利点は、セキュリティファイルシステム層が、ファイルアクセスの許可を定めるための根拠として、広範囲のセキュリティ情報をファイルアクセスコントローラーによって収集及び処理することを可能にすることである。認証、許可、及び信憑性の情報の収集は、セキュリティファイルシステム層で、又はセキュリティファイルシステム層により、効率的に実行することができる。収集された情報の独立してセキュアな評価は、ファイルデータのアクセス及び変更を選択的に可能にすることにおいて、セキュリティファイルシステム層のセキュア機能を確実にする。
【0014】
本発明の更なる利点は、永続的プラットフォームアクセス可能データのセキュリティを確実にするために、最低限のプラットフォーム変更しか要求されないということである。セキュリティファイルシステム層の実装は、仮想ファイルシステムサポートをサポートする従来のオペレーティングシステムのアーキテクチャモデルと整合性がある。
【0015】
本発明のさらにもう1つの利点は、ファイルアクセスコントローラーと組合せて、セキュアなファイルシステム層が、保護されたコンピュータープラットフォームによってアクセス可能な永続的格納データに関する包括的なセキュリティエンベロープを提供するということである。セキュリティエンベロープは、定められたポリシー許可の管理下にある適切に識別されたユーザーのみが、認定されたアプリケーションによって永続的格納データにアクセスすることができることを確実にするために、本人認証、アクセス許可、及びアプリケーション信憑性を含む。永続的格納データの整合性が、動的な改竄検出を条件とするデータ暗号化によって、さらに維持される。
【0016】
これら、及び、本発明の他の利点及び特徴は、添付図面と組合せて考慮される時、以下の発明の詳細な説明の考察に基づいて、よりよく理解されるようになり、この添付図面のおいて、同じ参照番号は、その図面全体にわたって同じ部分を表している。
【0017】
(発明の詳細な説明)
本発明は、セキュアなネットワークファイルシステム装置の動作を利用し、拡張して、様々なコンピューターシステムプラットフォームによりアクセス可能な永続的格納データを保護するセキュリティエンベロープを確立する。例示のサーバープラットフォームの保護環境10を、図1に示す。セキュアなネットワークファイルアクセス装置12は、直接取り付けられたストレージ18のような保護された永続的ストレージリソース16に関係する一又はそれ以上のコンピューターサーバープラットフォーム14、14'のセキュアな動作をサポートするように、環境10内に実装されることが好ましい。本発明の好ましい実施形態の目的のため、コンピューターシステムプラットフォーム14、14'は、ローカル及びリモートのクライアントシステム及びユーザー20をサポートするデータベース及びアプリケーションサーバープラットフォームである。直接取り付けられたストレージ18に関係するデータがそれを通って転送される、オペレーティングシステムカーネル24とファイルシステム26との間に確立されたセキュリティ介在層22によって、セキュアなネットワークファイルシステム装置は、コンピューターシステムプラットフォーム14と一体化される。
【0018】
セキュリティ介在層22は、オペレーティングシステムカーネル24とファイルシステム26との間のファイル指向データ転送を、セキュアなネットワークファイルアクセス装置12によって選択的に送って、そのセキュアなネットワークファイルアクセス装置12内に実装されたアクセスポリシーの支配下にある保護された永続的ストレージリソース16に格納されたファイルデータを暗号化及び復号化する。本発明により、ファイルデータ暗号化は、データのファイル指向論理構造を維持し、従って、永続的ストレージリソース16に透過である。さらに、セキュアなネットワークファイルアクセス装置12は、IPファイアウォール機能を実装して、コンピューターサーバープラットフォーム14、14'からのセキュアなネットワークファイルシステム装置のセキュリティに対する潜在的な攻撃を制限することができる。
【0019】
クライアント及びユーザー20は、セキュアなネットワークファイルアクセス装置12のセキュリティサポート及び暗号化機能によって影響されず、さらに、暗号化されたコンテンツの許可されないアクセスからセキュリティ保護される。アクティブに使用されるファイルデータ暗号鍵は、コンピューターサーバープラットフォーム14から本質的に独立しているセキュアなネットワークファイルアクセス装置12内で保持及び管理されることが好ましい。論理的に、かつ好ましくは物理的にも別個のプライベートネットワークインターフェース28は、中央セキュリティ管理システムによりセキュアなネットワークファイルアクセス装置12の一点セキュア管理を効果的に制御するように、セキュアなネットワークファイルアクセス装置12でサポートされる。従って、コンピューターシステムプラットフォーム14、直接取り付けられたストレージ18、又はクライアントユーザー20のセキュリティ侵害の結果として、セキュアなネットワークファイルアクセス装置12で利用される暗号鍵は、使用可能な形ではアクセス不可能である。
【0020】
読み取り、書き込み、及び関連ファイルアクセスの各要求のアクセス権に権限を与えることにおいて、セキュアなネットワークファイルアクセス装置12が、全体として、ワイヤスピードで、かつ最小限の待ち時間で、ファイルデータの読み取り及び書き込み要求を処理して、転送されたファイルデータを選択的に暗号化及び復号化し、さらに、その転送されたファイルデータを選択的に圧縮及び復元することが好ましい。ファイルデータの往復暗号化は、直接取り付けられたストレージ18を含む永続的ストレージリソース16で格納される全ての保護されたデータが、転送される時、及び、静的に格納される間、の両方においてセキュアであることを確実にする。特に、その転送が、繰り返される大量アーカイブバックアップのためである場合、往復圧縮は、必要なファイルデータ転送の帯域幅を実質的に減らすことができる。
【0021】
コンピューターシステムプラットフォーム14の好ましい構造40が、図2に示されている。プラットフォーム14は、ユーザーモード実行空間において、データベース管理システム(DBMS)44及び他のサーバーアプリケーション46のようなアプリケーションの実行をサポートするオペレーティングシステムカーネル42を、従来含んでいる。オペレーティングシステムカーネル42はまた、カーネルモード実行空間内で、完全にとまではいかないが実質的に、認証エージェントプログラム48の実行をサポートするのが好ましい。仮想ファイルシステムスイッチ(VFS)50は、従来の直接取り付けられたストレージ18、及び、例えばストレージ領域ネットワーク56によってアクセス可能なストレージデバイス54にアクセスする必要があれば、任意の数の異なる従来ファイルシステム(xFS)52との従来のインターフェースを提供する。
【0022】
本発明の第一の好ましい実施形態では、セキュリティ介在層22が、セキュアなネットワークファイルシステム(SNFS)58、及び従来のネットワークファイルシステム(NFS)のクライアントファイルシステムデーモン(NFSd)62を利用して実装される。セキュアなネットワークファイルシステム58は、セキュアなネットワークファイルアクセス装置12によってネットワークファイル転送要求及びデータを送るのに使用される従来のネットワークファイルシステム(NFS)実装に基づくのが好ましい。セキュアなネットワークファイルシステム58は、特定のネットワークファイル転送要求について、オペレーティングシステムカーネル42とのインターフェース60によるユーザー、プロセス、及びセッション情報の収集を可能にするような変更、及び、対応するネットワークファイル転送が進行することを許可するかどうかを定めるためのベースとして、セキュアなネットワークファイルアクセス装置12にこの情報を提供するような変更を含む。
【0023】
透過的に暗号化及び圧縮された如何なる関連データも含む、セキュアなネットワークファイルアクセス装置12で許可されるネットワークファイルデータ転送は、永続的ストレージリソース16に関するデータを転送する必要に応じて、NFSデーモン62によって、及び、適切なファイルシステム52で、処理される。そのかわりに、セキュアなネットワークファイルアクセス装置12が、一般的にルーター64で表現されるようなネットワーク構造基盤によって、ネットワークファイル要求及びデータを、ネットワークファイルシステムのクライアントとして動作する従来のネットワーク取り付けストレージ66に送ることを定めることもできる。セキュアなネットワークファイルアクセス装置12と少なくともNFSクライアントデーモン62との間での、従来のNFSプロトコルの利用は、直接取り付けられたストレージ18、ストレージ領域ネットワーク56、及びネットワーク取り付けストレージ66を使用することにおける実質的な柔軟性を可能にする。
【0024】
本発明の第二の好ましい実施形態では、NFSプロトコル遵守を維持するのに不可避な複雑さ、及び、NFSクライアントデーモン62の実行のオーバーヘッドを、セキュリティ介在層22とセキュアなネットワークファイルアクセス装置12との間にRPCベースの通信プロトコルを実装することにより、避けることができる。機能的にNFSプロトコルと同様なRPCベースのメッセージを使用する間、正式なNFS互換性の必要をなくし、サーバー及びクライアントの両方の通信機能を、単一の、簡潔に定められたセキュアな仮想ファイルシステム層(SVFS)にまとめることができる。この実施形態では、セキュリティ介在層22が再び、オペレーティングシステムカーネル42とのインターフェース60を実装し、従来のファイルシステム52、セキュリティ介在層22の内部コンポーネントとして実装されるが一般的にはファイルシステム52と等価な固定ファイルシステムとのオーバーレイインターフェースと、セキュアなネットワークファイルアクセス装置12の一部として外部に実装されたファイルシステムをサポートする直接取り付けられたストレージ18とのダイレクトインターフェースとの如何なる組合せもサポートする。
【0025】
コンピューターシステムプラットフォーム14のアクセスポリシー制御に付加的なものだが、本質的には独立している、セキュアなネットワークファイルアクセス装置12における包括的なアクセスポリシー制御の実装は、セキュアなファイルデータアクセスの集中管理を可能にする。複数のコンピューターシステムプラットフォーム14、14'、及び場合によっては永続的ストレージリソース16を実装する他のネットワーク構成要素で実装されるアクセス許可、及びその他の制御は、様々なストレージデバイス18、54、64の付加及び再構成によってグローバルに維持するのが困難である。セキュアなネットワークファイルアクセス装置12で提供されるアクセスポリシー制御は、コンピューターシステムプラットフォーム14、14'でサポートされる従来のアクセス許可よりも、著しく包括的で、柔軟、かつ管理上均一である。
【0026】
認証制御はまた、アクセスポリシー制御を補完するものとして、セキュアなネットワークアクセス装置12でサポートされる。本発明の好ましい実施形態では、セキュリティ介在層22が、コンピューターシステムプラットフォーム14、14'にインストールされ、かつそこで実行される認証エージェントプログラム48と相互運用して、ユーザーセッション及びプロセスの認証を含むユーザー及びクライアントの認証を可能にする。特に、セキュリティ介在層22は、従来のオペレーティングシステムカーネル24で実装される仮想ファイルシステムスイッチ50と互換性のある、変更されたファイルシステムインターフェースをサポートして、保護された永続的ストレージリソース16に向けられたファイルシステム要求の選択的な認証処理を提供する。本発明の好ましい実施形態では、ファイルシステムスイッチインターフェースのセキュリティ介在層22が、ファイルシステムスイッチ50によって、保護された永続的ストレージリソース16を表すディレクトリノードに対して実装される。カーネル空間で実行するのが好ましいエージェントプログラム48で提供される認証ロジックは、セキュリティ介在層22に対して向けられたファイルシステム動作に応じて、オペレーティングシステムカーネル42によって呼び出される。オペレーティングシステムカーネル42によって、エージェントプログラム48は、ユーザー、クライアントプロセス、アプリケーション、及びセッション情報へのアクセスを有する。有人ユーザー認証が要求される場合、エージェントプログラム48は、ユーザー20に認証ダイアログを表明するように、オペレーティングシステムカーネル42により相互運用するのが好ましい。次に、LDAP及び他のネットワークで利用可能な認証サーバー(示されていない)のような標準認証制御を使って、ユーザー応答情報を認証することができる。そのかわりに、又はそれと組合せて、セキュリティ認定のために、ユーザー認証応答情報をセキュアなネットワークファイルアクセス装置12に伝送することができる。
【0027】
オペレーティングシステムカーネル42でサポートされるアプリケーション実行空間内で実行されるユーザーアプリケーション44、46の認証は、エージェントプログラム48によって、自律的に実施される。ユーザー20のアプリケーションによる第一のファイルシステム動作に応じて、セキュリティ介在層22で受け取られるとき、又はオペレーティングシステム42からのユーザーアプリケーションの起動の通知時、エージェントプログラム48が、ユーザーアプリケーションのロードされたバイナリイメージのセキュアなハッシュ識別情報を生成することが好ましい。次に、このハッシュ識別情報、及びアプリケーションファイルの属性が、検証のため、セキュアなネットワークファイルアクセス装置12に伝送される。検証状態を提供するエージェントプログラムに、認証応答が返される。検証失敗、又はセキュアなネットワークファイルアクセス装置12で示される他の例外は、要求されたファイルシステムの動作の拒否という結果になることが好ましい。
【0028】
プラットフォーム14の起動時のような、コンピューターシステムプラットフォーム14によるアプリケーションの無人実行もまた、アプリケーション認証機構によってサポートされることができる。アプリケーション起動プログラムユーティリティが、起動時に実行されるようにスクリプト作成されるのが好ましい。ユーティリティのアプリケーション認証により、有人ユーザー認証派生情報の欠如は、セキュアなネットワークファイルアクセス装置12で例外として扱われない。次に、アプリケーション起動プログラムユーティリティは、指定されたアプリケーションを起動することを可能にされる。
【0029】
ユーザー及びアプリケーション認証の状態は、ユーザーセッション及び関連プロセス識別子と組合せて、エージェントプログラム48で、又はセキュリティ介在層22内で保持されるのが好ましい。本発明の好ましい実施形態では、この認証情報及びエージェントプログラム48のデジタル署名が組み合わされ、介在層22で受け取られた各ファイルシステム要求と共に、暗号化されてセキュアなネットワークファイルアクセス装置12に送られる。セキュリティ介在層22とセキュアなネットワークファイルアクセス装置12との間で、NFS通信プロトコルが利用される場合、NFSパケットは、ファイルシステム要求と共にユーザー及びエージェントの認証情報を含むように、変更される。好ましい実施形態では、NFSパケットのヘッダーフィールドが、好ましくは既存フィールドの再定義により、ユーザー及びエージェント認証情報を格納及び転送するように拡張される。さらに、周期的、又はハートビート状態のリモートプロシージャコール(RPC)のパケットが、エージェントプログラム48により、ユーザー及びエージェントの認証情報の現在の状態を反映するセキュアなネットワークファイルアクセス装置12に送られる。それにより、特にプロセス及びユーザーセッションの終了を含む、認証に関連したコンピューターシステムプラットフォーム14の変更は、迅速にセキュアなネットワークファイルアクセス装置12に通知される。
【0030】
本発明の好ましい固定規模のハードウェアプラットフォーム70が図3に示されている。プラットフォーム70は、Intel(登録商標) E7500 チップセット72、2.2GHz Intel(登録商標) XenonTM デュアルプロセッサ74(カリフォルニア州、サンタクララ、インテル社、www,intel.com)、及び1Gbyte 200MHz ダブルデータレート(DDR)方式メインメモリアレイ76をサポートするマザーボード上に実装されるのが好ましい。チップセット72は、個々に8Gbpsスループット及び少なくとも24Gbpsの総スループットを超える能力のある6つのPCI-Xバス78をサポートする。入口及び出口ネットワーク接続をサポートする2つの1Gbpsネットワークインターフェースコントローラ80、及び、管理ネットワーク接続28をサポートする1つの10/100Mbpsネットワークインターフェースコントローラ80の基本構成は、PCI-Xバス78に接続される。3つのHiFnTM 7851 セキュリティプロセッサ82(カリフォルニア州、ロスガトスHiFn社、www.hifn.com)の基本構成は、プロセッサ74の一般的なデータ処理及び制御機能に、ハードウェア加速暗号化及び圧縮のサポートを提供する。セキュリティプロセッサは、チップにつき400Mbpsを超えるスループットでの3-DESを含むプログラム可能長ブロック対称暗号化アルゴリズム、及び、80Mbpsを超えるスループットでのLZSを含むプログラム可能長ブロック圧縮アルゴリズムをサポートする。
【0031】
BIOSプログラム及び起動ハードディスクドライブを含む他の周辺装置84は、ハードウェアプラットフォーム70の基本動作を可能にするように、チップセット72によってサポートされる。ハードウェアプラットフォーム70は、Red HatTM Linux(ノースカロライナ州、ローリー、Red Hat社、www.redhat.com)の商用配布に基づくLinuxTMベースのオペレーティングシステムを起動及び走らせることが好ましい。セキュアなネットワークファイルアクセス装置12の、ソフトウェアベースの認証及びアクセス機能は、Linuxカーネル空間でロード及び実行するのが好ましい。管理及びサポートユーティリティは、ユーザーモードアプリケーション及びデーモンとして実装されるのが好ましい。
【0032】
本発明の好ましい実施形態におけるハードウェアプラットフォーム70上で実行される制御プログラムに実装された論理制御及びプロトコル処理機能が、図4に示されている。受信ファイル要求は、ネットワークファイルシステム(NFS)、汎用インターネットファイルシステム(CIFS)、又はプロトコルがセキュリティ介在層22で実装される如何なるセキュアな仮想ファイルシステム(SVFS)のようなネットワーク分散ファイルシステムで実装された様々なネットワークファイルシステムメッセージを含むネットワークデータパケットとして、受け取られる。これらのネットワークデータパケットは、各受信データパケットのプロトコル層に収容された制御情報114、及び、検査及び処理のためのパケットペイロードデータ116を公開するように処理される。
【0033】
さらに、コンピューターシステムプラットフォーム14、14'に接続された専用ネットワークポートでリッスンするエージェント監視プロセス118で、アプリケーション及びステータス情報が収集される。ハートビートネットワークパケットから得られたクライアントステータス情報は、認証及びアクセス制御処理120に中継される。クライアントハートビートの連続は、クライアント認証セッションを維持するために使用される。エージェントプログラム48で調停されるユーザー認証シーケンスが正常終了したことを最低限反映するユーザー認証セッション情報もまた、ハートビートデータパケットの範囲内で認証及びアクセス制御処理120に提供される。チェックポイント間隔でのユーザー認証セッション情報の伝送は、許可されないアプリケーションの実行における如何なるクライアントプロセスの変換からも保護する役割を果たす。認証及びアクセス制御プロセス120が、認証サーバーとして直接動作する場合、エージェントプログラム48で獲得されたユーザー及びクライアントの識別子及びユーザーパスワードは、エージェント監視プロセス118によって中継される。その認証及びアクセス制御処理120で保持されるユーザー及びクライアント認証ポリシー情報に基づく認証及びアクセス制御処理120によって、認証応答が生成され、返される。
【0034】
図5Aは、セキュアな仮想ファイルシステム132がセキュアなネットワークファイルシステム58及びネットワークファイルシステムデーモン62の機能を効果的に組合せる、セキュリティ介在層22の第二の好ましい実施形態を用いるコンピューターシステムプラットフォーム14の構成130を示している。セキュアな仮想ファイルシステム132がまた、ネットワークファイルアクセス装置12を用いてファイル転送要求及びデータを転送するためにNFSプロトコルを使用することができる一方で、コンピューターシステムプラットフォーム14とネットワークファイルアクセス装置12との間で転送される情報を包み隠すために、非標準準拠のRPCベースのメッセージ転送プロトコルを実装することが好ましい。セキュアな仮想ファイルシステム132がスイッチ50に通常のファイルシステムのように見えるように、仮想ファイルシステムスイッチ50との従来のインターフェースはサポートされる。セキュアな仮想ファイルシステム132は、認証エージェントプログラム48の動作をサポートするように、拡張オペレーティングシステムカーネル42のインターフェース60を実装する。セキュアな仮想ファイルシステム132はまた、従来のファイルシステムオーバーレイインターフェース134を実装し、従来のファイルシステム52の機能的な取り込み及び利用を可能にする。また、専用又は所有ファイルシステム136をセキュアな仮想ファイルシステム132に密接につなぐことができる。
【0035】
コンピューターシステムプラットフォーム14の構成40、130の両方において、ユーザー認証の実施は、新しいユーザープロセス138の初期化に関してエージェントプログラム48にコールを要求することにより、可能になる。図5Bに示すように、新しいユーザープロセス151の初期化に続いて、ネットワークファイルアクセス装置12は、セキュアな仮想ファイルシステム132により、エージェントプログラム48を、クライアントプロセス138と関連付けられるユーザー20にセッションログイン152を与えるようにさせる。ユーザー認証は、LDAPのような従来の認証サービスにより、エージェントプログラム48のユーザーモードコンポーネントによって直接、ユーザーログイン及びパスワードと対照して実行される。そのかわりに、DCE/OSF-RFC86.0と一般的に適合するプラグ可能認証モジュール(プラグ可能認証モジュール(PAM)を用いた統一ログイン; www.opengroup.org/tech/rfc/rfc86.0.html)によって、ユーザー認証を直接的にすることもできる。ユーザー20の認証時、エージェントプログラム48は、オペレーティングシステムカーネル42で確立され、かつそこから収集されたログインプロセス識別子(LPID)、ユーザー識別子(UID)、及びグループ識別子(GID)と共に、認証されたユーザーの識別情報を送信することにより、認証されたユーザーセッション153を初期化する。このセッション識別情報は、セキュアな仮想ファイルシステム132を通って、ネットワークファイルアクセス装置12に送られる154。次に、認証されたクライアントプロセス138から起動される次のファイルシステム要求に関して使用するために、セキュアなセッション鍵をエージェントプログラム48に返す155。
【0036】
認証されたユーザープロセス138は、オペレーティングシステムカーネル42にファイル要求を発行し、次にそれは、セキュアな仮想ファイルシステム132に送られる。セキュアな仮想ファイルシステム132と連係して動作するエージェントプログラム48のカーネルモード部分は、各ファイル要求140について、オペレーティングシステムカーネル42でそれが受け取られるとき、従来のオペレーティングシステムカーネル42の構造にアクセスすることにより、ソースプロセス識別子142を定める。エージェントプログラム48で保持され、定められたプロセス識別子で特定される認証されたユーザーセッション情報は、ネットワークファイルアクセス装置12によって処理されるファイル転送要求に含めるために、次にセキュアな仮想ファイルシステム132に与えられる。
【0037】
認証されたプロセス138から生成されたクライアントプロセス144は、親の認証されたユーザーセッションの一部が残っている。親プロセスの識別子の連鎖は、エージェントプログラム48によって追跡されて142、子プロセス144からのファイル要求146を、対応する認証されたユーザーセッションと関連付ける。個々のプロセスレベルでアクセス管理をサポートするために、セキュアなネットワークファイルアクセス装置12に転送されたファイル要求に対応するセッション及びプロセスに含めるため、認証されたユーザーログインの親プロセスの識別子(LPID)と、現在のプロセス識別子(PID)の両方が、変更されたネットワーク層に与えられるのが好ましい。
【0038】
本発明の好ましい実施形態では、エージェントプログラム48で生成されたセッション識別子を含む認証されたユーザーセッション情報が、エージェント監視プロセス118とのセキュアな鍵交換によって獲得されるセッション鍵を使って暗号化される。従って、結果として生じる拡張NFS要求は、少なくともセッション識別子、ユーザー識別子、グループ識別子、及びプロセス識別子を含むセッション制御情報を、セキュアなネットワークファイルアクセス装置12にセキュアに伝送する。
【0039】
さらに、エージェントプログラム48は、認証されたユーザーセッションプロセス138、144で実行するためにロードされるとき、特にログインシェルアプリケーションを含むユーザーアプリケーション44、46の認証をサポートするのが好ましい。実行のためロードされたデジタル署名アプリケーションは、高信頼PKIベース、LDAP、又は他の認証サーバーから獲得されたデジタル証明書と対照して、エージェントプログラム48により従来検証されることができる。認証サーバー及び証明書の識別情報のようなアプリケーション認証情報は、独立して検証されるアプリケーションの監査をサポートするように対応するファイル要求を与えられたセッション情報とともに、セキュアな仮想ファイルシステム132で場合によっては含まれ得る。
【0040】
エージェントプログラム48による自律的なアプリケーション認証もまた、セキュアなネットワークファイルアクセス装置12によってサポートされる。プロセス138、144での実行のためのアプリケーションのロード時、オペレーティングシステムカーネル42によって、エージェントプログラム48が呼び出され、エージェントプログラム48は、アプリケーションのバイナリイメージを特定し148、アプリケーションファイル名、パス、許可、及びファイルサイズを含むアプリケーションファイル属性を検索するように動作する。セキュアなハッシュ署名が、アプリケーションバイナリについて生成される。本発明の好ましい実施形態では、SHA-1アルゴリズムを使って、20バイトのハッシュ署名が生成される。次に、ハッシュ署名、ファイル属性、及びセキュアなアプリケーショントークンを含むアプリケーション認証要求が、エージェント監視プロセス118に向けられたRPCで、セキュアなネットワークファイルアクセス装置12に送られる。セキュアなアプリケーショントークンは、セキュアなネットワークファイルアクセス装置12又は高信頼サードパーティ認証サーバーで格納された公開/秘密鍵のペアの公開鍵、アプリケーション名、及び、公開鍵で暗号化されたアプリケーションバイナリイメージ及びアプリケーションファイル属性のセキュアなハッシュ署名を含む構造、を含むことが好ましい。トークンは、セキュアなネットワークファイルアクセス装置12又は他の高信頼アプリケーション認証により、管理上定められた真正なアプリケーションにくらべて管理上優先的に生成される。認証されたアプリケーションのためのトークンは、コンピューターシステムプラットフォーム14、14'に格納される、又はさもなければ、それらにアクセス可能にされる。ロードされたバイナリイメージについて特定されたアプリケーションファイル名はさらに、エージェントプログラム48によって対応するトークンを特定するためにも使用される。
【0041】
アプリケーション認証要求が生じたとき、セキュアなネットワークファイルアクセス装置12は、トークン内で提供された公開鍵を、セキュアなネットワークファイルアクセス装置12に管理上先に登録された既知の有効な公開鍵と比較する。復号化されたトークンハッシュ署名、及びファイル属性は、エージェントプログラム48により要求内で別々に与えられるハッシュ署名及びファイル属性と対照して検証され、戻りRPCは、検証状況をエージェントプログラム48に伝達する。ロードされたアプリケーションが認証に失敗した場合、対応するアプリケーションプロセス138、144を終了させることができる。そのかわり、許可されないアプリケーションから引き続き受け取られたネットワークファイルシステム要求140、146は、セキュアな仮想ファイルシステム132により無視される、又は拒否されることができる。
【0042】
エージェントプログラム48は、ユーザーセッション及びアプリケーション認証要求を、セキュアなネットワークファイルアクセス装置12に、周期的に再生成及び再送信することができる156。そのかわり、又はさらに、セキュアなネットワークファイルアクセス装置12は、エージェントプログラム48を、特定のユーザーセッションについてのアプリケーション認証情報を再生成及び再送信する157ように導くことができる。従って、他の方法で認証されたユーザーセッション内では、本発明のアプリケーション認証提供は、認証されたアプリケーションの良く定められたセットに対するユーザープロセス実行について、排他的かつ機能的な制限を実施することができる。
【0043】
再び図4を参照すると、パケット処理112により公開され、かつエージェント監視プロセス118から受け取られるパケット制御情報114及びアプリケーション情報122が、セキュアなネットワークファイルアクセス装置12で受け取られた各ネットワークファイルデータパケットについて、認証及びアクセス制御処理120に提供される。認証及びアクセス制御処理120は、セキュアなネットワークファイルアクセス装置12の管理上定められ、機能的にサポートされた動作を表すポリシーストアを含むことが好ましい。ポリシーは、認証及びアクセス制御処理120に与えられる情報114、122と照らし合わせるポリシー検索を可能にする高性能ハッシュテーブルに格納されることが好ましい。エラーログ、及び拒否された動作のログと同様に、ファイル要求の監査ログも、認証及びアクセス制御処理120によって作成される。
【0044】
受信ネットワークファイルパケットに適用可能なポリシーセットは、パケット制御情報114で与えられるいずれかのデータに基づいて、累進的に識別されることができる。特に、IP層のデータは、送信元及び送信先のIPを提供して、個々に、又はサブネットによって定められたクライアントに対して特定のアクセス制約を定めることを可能にする。標準NFS/CIFS層のデータは、一般的にはマウントポイント、ファイルシステムパス、及び利用可能なファイル名を含む、完全に認定されたファイル又はディレクトリの参照と同様に、要求側のユーザーのUID及びGIDを提供する。アプリケーション情報122の層は、ユーザーセッションを識別し、実行及び親プロセス識別子を提供する。アプリケーション情報122の層はまた、利用されるとき、アプリケーション名及び署名を提供する。提供された情報114、122と照らし合わせたポリシーセットの識別の成功は、永続的なストレージリソース16に関して伝送されるネットワークファイルパケットの処理を可能にし、かつ認定する。
【0045】
様々な予想される形式のポリシーセットの識別失敗の処理を、ポリシーセットで定めることが好ましい。識別失敗は、典型的には、ユーザー認証の失敗、及び許可されないアプリケーション実行の試行、許可されない送信元IPアドレス、及び、参照ファイルが利用具可能であること、又は適切なユーザー、グループ、又はファイル許可の欠如による不適切なファイル参照、を含む。失敗の性質に依って、ポリシーセットで定められる識別失敗の処理は、詳細な監査及びエラーログのエントリの作成、及び、場合によってはeメール及び音声メッセージの自動生成を含む管理警告の瞬時発行を導く。ポリシーセットの識別失敗処理は、さらに、NFS/CIFS状態マシン124で生成され、コンピューターシステムプラットフォーム14、14'に返される如何なるNFS/CIFSネットワークファイルエラーデータパケットの形式及び中身も定めることが好ましい。
【0046】
本発明により、ポリシーセットの累進的識別はまた、パケットペイロードデータ116に対する暗号化及び圧縮のアクティブなアプリケーションを定める。コンピューターシステムプラットフォーム14、14'からの受信ネットワークファイルデータパケットについて、制御情報114、122で与えられるデータの如何なる組合せも、そのパケットペイロードデータが特定の暗号鍵に照らして暗号化されるものであるかどうか、及び特定の圧縮アルゴリズムを使って圧縮されるものであるかどうかを識別する署名として利用することができる。好ましい基本ポリシーセットは、マウントポイント、更には特にファイル作成のために使用されるデフォルト暗号鍵によるアクセスを許可された送信元IP、ユーザー識別子、及びグループ識別子の組合せを本質的に定める。送信元IP、ユーザー識別子、及びグループ識別子の指定を異にして、又は、要求内で特定されたネットワークファイルのパス指定、及びファイル形式拡張子のような付加制御情報の指定の違いがあって、複数のポリシーセットを、同じマウントポイントに適用可能である。ポリシーセットは、管理上、与えられた制御情報の一意の組合せが別個のポリシーセットに変形することを確実にするようにされる。他の賢いマッチングポリシーセットの範囲を確立するためにパス指定情報が利用されるとき、パス指定、ファイル名、及びファイル拡張子の最適な適合が、データ暗号化及び圧縮のデフォルトの適用範囲を識別するために使用されることが好ましい。
【0047】
永続的なストレージリソース16から返されるデータは同様に処理されて112、パケット制御情報114を公開し、添付のパケットペイロードデータが復元及び復号を要求するかどうか定めるとき、データの組合せを考慮することを可能にする。本発明により、永続的なストレージリソース16から返される暗号化されたネットワークデータパケットをセキュアと推定することができる間、認証及びアクセス処理120による制御情報114の検査は、返されるネットワークファイルパケットの送信元及びシーケンスの適切な認証を可能にする。
【0048】
セキュアなネットワークファイルアクセス装置12に与えられ、暗号化又は圧縮されるように定められたパケットペイロードデータは、暗号化及び圧縮処理126によって、論理アクセスブロック(LAB)のシーケンスに処理されることが好ましい。暗号化及び圧縮処理126の一部として、本発明の好ましい一実施形態による各論理アクセスブロックは、少なくとも、利用可能な暗号鍵及び圧縮アルゴリズムの間接識別子でマークされる。従って、送信ネットワークパケットの復元及び復号状態が、送信元ディレクトリ指定によって示唆されることができる間、利用可能な暗号鍵及び圧縮アルゴリズムが、論理アクセスブロックと関連付けられる暗号化及び圧縮識別子に基づいて定められる。それゆえ、論理アクセスブロックの復号及び復元は、ディレクトリ指定、又はネットワークファイルの他の独立して可変な性質に、本質的には依存しない。
【0049】
本発明の好ましい実施形態により、利用可能なポリシーセットの識別は、様々な永続的ストレージリソース16における複数の受信仮想マウントポイントのセキュアなネットワークファイルアクセス装置12によるサポートによって拡張される。図6に示すように、コンピューターシステムプラットフォーム14、14'で実行されるアプリケーション162、164のために、セキュアなネットワークファイルアクセス装置12の構成内に、管理上、複数の仮想化されたマウントポイント/dev/hd_a、/dev/hd_b、/dev/hd_c、及び/dev/td_dをあらかじめ定めることができる。これらの仮想マウントポイントは、エイリアスによるのと同様に、それ自身との定められたマッピングによって、独立して関連付けられる、又は、様々な実際のストレージリソース166、168によってサポートされる実際の別々のマウントポイントである。コンピューターシステムプラットフォーム14の、ストレージリソース166、168を表す仮想マウントポイントのいずれかをマウントする要求は、最低でも、仮想マウントポイントの存在を実証する働きをするポリシーセットによって、限定及び制約され得る。
【0050】
本発明により、仮想マウントポイントは、コンピューターシステムプラットフォーム14で実行される様々なアプリケーション162、164に利用可能なアクセスポリシーセットを識別する能力をさらに拡大する。セキュアなネットワークファイルアクセス装置12に向けられた各ファイル要求を与えられた制御情報114は、ファイル要求に対応する対象のマウントポイントを特定する。本発明の好ましい実施形態により、認証及びアクセス制御処理120は、特定された仮想マウントポイントに基づいて、利用可能なポリシーセットを論理的に選択する。選択されたポリシーセットで表現される更なる制約は、同時に、どのようにネットワークファイルデータパケットを処理すべきかを定めるために使用される。例えば、別の方法で許可された、/dev/hd_a仮想マウントポイントによってストレージリソース166にアクセスするアプリケーション162、164は、読み取り専用ファイルデータトランザクションに制約され得る。/dev/hd_b仮想マウントポイントと関連付けられる別々のポリシーセットは、UIDのよく定められたセットのみにより読み取り-書き込みアクセスをサポートし、さらに、定められたサブネットワークから生じるファイルデータ要求に制約され得る。
【0051】
もう1つの例のように、管理上、バックアップサービスの提供に限定される、アプリケーション164によるストレージリソース166の読み取り-書き込みアクセスは、仮想マウントポイント/dev/hd_cによって特別にサポートされることができる。マウントポイント/dev/hd_cと関連付けられるポリシーセットは、既存の暗号化されたファイルの復号化を特別に拒否することによって、ストレージリソース166への読み取り-書き込みアクセスを可能にすることが好ましい。仮想マウントポイント/dev/td_dのポリシーセットは、補完的なやり方で、アーカイブストレージリソース168への書き込みのために、ストレージリソース166から読み取られた暗号化されていないファイルの暗号化及び圧縮に備えるものである。/dev/td_dのポリシーセットは、アーカイブストレージリソース168から読み取られたファイルの、バックアップアプリケーションで暗号化されたファイルへの復号化を、対称的に限定する。従って、限定されたバックアップアクセス権を持つユーザーは、前に暗号化されたファイルのセキュアなストレージを侵害することなく、ファイルのバックアップ及び復元を完全に管理することができる。従って、仮想化されたマウントポイントに基づいてポリシーセットを区別することは、クライアント及びユーザー20のコミュニティの代わりに実行されるアプリケーション162、164のアクセス権を管理することにおいて、多大な柔軟性を提供する。
【0052】
図4に示すように、認証及びアクセス制御処理120の動作により許可又は拒否されたネットワークファイルパケットは、NFS/CIFS状態マシン124に信号で送られる。本発明により、特にNFS/CIFSトランザクションを含む選択ファイルデータトランザクションを表すネットワークファイルパケットのシーケンスは、NFS/CIFS状態マシン124により追跡されて、NFS/CIFSネットワークパケット転送ファイルデータの選択的な暗号化及び圧縮をサポートし、永続的ストレージリソース16で格納されるようなネットワークファイルのサイズ及び構造の付随変更を管理する。マウント及びマウント解除要求のRPCは、本質的に、コンピューターシステムプラットフォーム14、14'とセキュアなネットワークファイルアクセス装置12との間の原子動作である。マウント要求の受信時、アクセスは、利用可能なポリシーセット、及び、対応する実際のマウントポイントで識別される下位のネットワークストレージリソース16が利用可能であることの決定に基づいて、認証及びアクセスシ魚処理120で任意で定められる。次に、マウント又はマウント解除要求の成功又は失敗を確認するRPC応答が返される。
【0053】
NFS/CIFS状態マシン124は、セキュアなネットワークファイルアクセス装置12によって処理される各NFS/CIFSトランザクションの状態を追跡する。追跡される主なNFS/CIFSトランザクションは、読み取り、書き込み、及び作成を含む。全ての他のNFS/CIFSで定められたトランザクション(一般的には、要求)もまた、NFS/CIFS状態マシン124によって追跡される。オフセット及びレンジで定められたファイルデータの受信読み取り要求から続く読み取りトランザクションは、暗号化及び圧縮ブロック境界に調整し戻された読み取りオフセット、及び、ブロック境界の終端までのファイルデータの暗号化及び圧縮に備えるように調整されたレンジに対応する読み取り要求を構築することを含む。次の状態は、読み取り要求を永続的ストレージリソース16に発行し、一連の応答のネットワーク読み取りファイルデータパケットを受け取り、かつ、必要に応じて、受信パケットペイロードデータを復号化及び復元するように処理することを含む。読み取りトランザクションの最終状態は、当初要求されたオフセット及びレンジにおいて読み取りファイルデータを抽出し、読み取りファイルデータで一又はそれ以上のネットワークファイルデータパケットを構築し、返すことを含む。
【0054】
NFS/CIFS書き込みトランザクションは、既存の格納されたファイルデータを暗号化又は圧縮する読み取り/変更/書き込み動作を要求する。書き込みトランザクションは、書き込み要求を受け取り、暗号化及び圧縮ブロック境界に調整し戻された書き込みロックオフセット、及び、ブロック境界の終端までのファイルデータの暗号化及び圧縮に備えるように調整されたレンジでロック要求を構築することを含む。次のトランザクションの状態は、調整された書き込みオフセット及びレンジの境界を含む最初及び最後の部分の全てのファイルデータページの読み取り要求を発行し、クライアントから受け取られたファイル書き込みデータの対応する部分を含むように、読み取りデータページを復号化、復元、及び変更し、ファイル書き込みデータを暗号化、及び適当に圧縮し、かつ、ストレージリソース166に対応する書き込み要求を構築、及び発行することを含む。書き込みの最終状態は、ロック解除要求を構築し、ストレージリソース166へ送り、かつ、書き込み要求の応答を構築し、クライアントに送ることを含む。
【0055】
属性の取得及びセット、アクセス許可の取得、及びディレクトリの作成のようなNFS/CIFS要求は、一般的には、セキュアなネットワークファイルアクセス装置12によって、ストレージリソース166との構造基盤互換性をサポートするようにされた原子トランザクションである。要求トランザクションは、クライアント要求を受け取り、対応する要求を構築し、ストレージリソース166に送ることを含む。ストレージリソース166から要求の応答を受け取った時、そのトランザクションに含まれる特定の要求に依って、ストレージリソース166に格納されたネットワークファイルの通知ファイルサイズ及び他の属性について、調整がなされる。次に、対応する要求の応答が構成され、クライアントに送られる。
【0056】
NFS/CIFS作成トランザクションは、ファイル作成要求を受け取り、新規ファイルのファイル管理ヘッダーを構成し、対応する要求を構築し、ストレージリソース166に送ることを含む。ストレージリソース166から要求の応答を受け取った時、対応する要求の応答が再び構成され、クライアントに送られる。
【0057】
図7は、本発明の好ましい実施形態で利用されるソフトウェアアーキテクチャ170のブロック図及びフロー表示を提供する。その好ましい実施形態が、コンピューターシステムプラットフォーム14、14'との別々の入口及び出口ネットワークインターフェースを利用する間、双方向のファイル転送帯域幅の合計がアダプタの容量の範囲内であれば、この2つのインターフェースは、単一のネットワークインターフェースアダプタを共有することができる。どちらの場合も、受信ネットワーク通信は、第一のネットワークインターフェース172によって処理される。アプリケーション44、46から生じるファイル転送要求を表すネットワークファイルデータパケットは、認証処理176のためのネットワーク制御情報114を公開し、配信するように、処理される174。対応するエージェントアプリケーション48から収集されたアプリケーション制御情報122が、認証処理176をサポートするエージェントインターフェース178によって提供される。
【0058】
ポリシーパーザー180との相互作用に基づいて、ネットワーク及びアプリケーション制御情報114、122の選択された要素は、ポリシーデータストア182で保持される認証パラメータと比較される。ポリシーパーザー180は、決定木論理を実装して、受信ネットワークファイルデータパケットで表されるネットワークファイル要求の処理に求められる認証レベルを定め、その認証レベルが合っているかどうかを定めるのが好ましい。
【0059】
ネットワーク及びアプリケーション制御情報114、122はまた、許可されたユーザーが対応する永続的ストレージリソース16へのアクセスを許されるかどうかを定めるように処理される184。ポリシープロセッサ180、及びポリシーデータストア182は、ネットワークファイル要求で与えられたアクセス属性が、そのネットワークファイル要求で識別される特定の永続的ストレージリソース16へのアクセスを可能にするのに適切かどうかを定めるように動作する。
【0060】
論理的に別々の動作である限り、認証及びアクセス処理176、184は、同時に実行されることが好ましい。本発明の好ましい実施形態では、基本決定木論理のシーケンスが、要求されたネットワークファイル動作、仮想マウントポイント、対象ディレクトリ及びファイル指定、ユーザーのUID及びGID、及び、クライアント/ユーザーセッション及びプロセス識別子の論理的な組合せを考える。ネットワークファイル要求で与えられ、かつエージェントプログラム48、及びエージェントインターフェース178によって周期的に通知されるようなクライアントセッションの連続状態によって先に提供されるようなアプリケーション認証データも、また考えられる。ネットワークファイルアクセス要求の性質、タイミング、及び頻度に関して蓄積された更なる状態のデータも、考ええられる。この状態のデータは、セキュアなネットワークファイルアクセス装置12によって処理されるファイルアクセス動作の動的なトラフィック形成と同様に、静的なタイムスケジューリング、及びファイルアクセス要求の割り当て制御をサポートするように、セキュアなファイルアクセス装置12によって蓄積される。この蓄積された状態のデータはまた、侵入試行、又は管理警告の発行を保証する他の状況のように、スレッショルドが制限するファイルアクセス要求内のパターンの動的検出を可能にする。決定木の評価は、ファイルアクセス要求の前のシーケンスを考え、それにより、現在のネットワークファイルアクセス要求の許可されるサポートを限定する。
【0061】
ポリシーデータは、仮想マウントポイントのセット、及び仮想マウントポイントの実際のマウントポイントへのマッピングを定めるように、管理上、確立される。ポリシーデータはまた、アプリケーション認証が、セキュアなネットワークファイルアクセス装置12によるセッション実行又は動作応答の前提条件、実行又は応答可能のアプリケーションの認証されたデジタル署名の許可された限定セットとして実施されるべきかどうか、ユーザーセッション認証が、生成されたプロセス又は異なるUID又はGIDを持つプロセス、及び、ポリシーパーザー180の動作において制御情報114、122と一致するか、さもなければ区別するために使用され得る他のデータに及ぶかどうか、を様々に定めることができる。この管理上確立されたポリシーデータは、ネットワーク及びアプリケーション制御情報114、122の評価において、ポリシーパーザー180によってポリシーストア182から論理的にアクセスされる。本発明の好ましい実施形態では、決定木論理及びポリシーデータは、ネットワーク及びアプリケーション制御情報114、122の迅速な評価を可能にするハッシュテーブルに格納される。
【0062】
許可及びアクセス処理176、184の割り出された結果と同様に、ネットワーク及びアプリケーション制御情報114、122は、NFS/CIFS状態マシン処理186への制御入力である。読み取り、書き込み、及び作成のNFS/CIFSトランザクションシーケンスに含まれる様々なNFS/CIFS要求及び応答メッセージを含む非ファイルデータメッセージが準備され、状態マシン処理186から、受信ネットワークインターフェース172及び送信ネットワークインターフェース192へ直接転送される188、190。仮想マウントポイントから実際のマウントポイントへのマッピングデータのような、ネットワークファイル要求及び応答データパケットの生成をサポートする必要のあるポリシーデータは、必要に応じて、ポリシーデータストア182からアクセスされる。
【0063】
ファイルデータが、アプリケーション44、46からの受信ネットワークファイルデータパケットに含まれるとき、そのネットワークファイルデータパケットが暗号化又は圧縮のためにアクセス処理184によって制限されるならば、パケットペイロードデータ116は、論理アクセスブロック(LAB)のシーケンスに処理される194。制限されないネットワークファイルデータパケットのパケットペイロードデータ116は、セキュリティ介在22による永続的ストレージリソース16への伝送のために、変更無くネットワークデータパケットに処理され194、ネットワークインターフェース192に提供される。
【0064】
図8Aに示すように、ネットワークファイルデータパケットのパケットペイロードデータは、ファイルシステム26で認識されるファイル220の読み取り及び書き込み部分に対応する。一般的に図8Bに示すような個々のパケットペイロードデータ222は、図8Cに示すように、各々がパケットペイロードデータ222の対応する部分を含む論理アクセスブロックのシーケンス2241-Nに処理される194のが好ましい。本発明の最初の実施形態では、実際のマウントポイントと関連付けられ、ポリシーストア182で保持されるポリシーデータの一部として効果的にハードウェアプラットフォーム70で局所的に格納される全てのファイルについて、ファイル管理ヘッダー226が仮想化される。利用可能なファイル管理ヘッダーは、要求された仮想マウントポイントに利用可能なポリシーセットの一部として検索される。本発明の好ましい実施形態は、ファイル作成NFS/CIFSトランザクション各々について、ファイル管理ヘッダー226の作成に備える。一実施形態では、ファイル管理ヘッダー226が作成され、永続的ストレージリソース16でのファイル220の作成の一部として、第一のファイルデータブロックとして、効果的に永続的ストレージリソース16に書き込まれる。その後、一又はそれ以上の論理アクセスブロック224が、永続的ストレージリソース16で作成されるファイルに追加され、続いて、ランダムな順番で読み取り及び書き込まれることができる。そのかわりに、ストレージ、及び永続的ストレージリソース16に関するデータの検索を最適化するために、論理アクセスブロック224の個々又はサブセット、及びファイル管理ヘッダー226は、同じ又は異なるファイル空間及びストレージデバイス内の別々のI/Oページに書き込まれることができる。どちらの場合も、本発明により、永続的ストレージリソース16に向けられた、制限されたファイルデータの読み取り及び書き込みは、クライアントネットワークファイルデータ要求のオフセットおよびレンジを含む、論理アクセスブロックに揃えられた別々の転送として実施される。
【0065】
ファイル管理ヘッダー226、及び論理アクセスブロック224は、永続的ストレージリソース16への伝送のために、ファイルデータの異なる通常のブロックとして、ネットワークファイルデータパケットに再パッケージされる。従って、セキュアなネットワークファイルアクセス装置12によるネットワークファイルデータの暗号化及び/又は圧縮は、本発明の動作による永続的ストレージリソース16に関連する読み取り及び書き込みに対して、完全に透過である。
【0066】
ファイル管理ヘッダー226の好ましい構造が図8Dに示されており、さらに、以下の表1で詳細に示される。ファイル管理ヘッダー226は、一意のファイルGUID228、セキュリティパラメータ指標(SPI)230、及びセキュリティ署名232を含むのが好ましい。ファイルGUID228は、ユーザーUID、及びファイル作成時間のようなファイルに関連するデータのSHA-1ベースのセキュアなハッシュであって、そのファイルに160bitの一意のランダムな識別子を提供することが好ましい。セキュリティパラメーター指標230は、暗号鍵識別子(Key)234、セキュリティオプションアレイ(Idx)236、及びファイル関連情報(Info)238を含むセキュリティ情報の合成であることが好ましい。
【0067】
暗号鍵識別子234は、ファイル220の論理アクセスブロック内に含まれるファイルデータを暗号化するのに利用される暗号鍵名の暗号化された表現であることが好ましい。暗号鍵名/鍵の値のペアは、セキュアなネットワークファイルアクセス装置12で利用され、管理上定められ、ポリシーデータストア182に格納される。アクセス処理184の結果として、暗号鍵が新規ファイルと関連付けられた時、対応する暗号鍵名は、好ましくは再びSHA-1アルゴリズムを使ってセキュアにダイジェストされ、ファイル管理ヘッダー226の鍵識別子フィールド234に格納される。
【0068】
セキュリティパラメータ指標230はまた、任意で、ファイル220の暗号鍵値を格納する連結リストを、暗号化された形で含むこともできる。連結リスト内の各エントリーは、公開鍵、暗号鍵値のタプルを含む。公開鍵は、高信頼暗号鍵エージェントサーバーに対応し、暗号鍵値は、エージェントの公開鍵で暗号化される。異なるセキュアなネットワークファイルアクセス装置12'によるネットワークファイルデータの検索時、公開鍵識別エージェントサーバーを使用して、暗号鍵値を回復させることができる。複数の独立したエージェントサーバーのサポートを提供することは、暗号鍵値を常に回復できることを確実にする。











【0069】

【0070】
セキュリティオプションアレイ236は、ファイル管理ヘッダー226と関連付けられる論理アクセスブロック224に利用されるセキュリティ機能の索引付きリストを提供する。これらのオプションは、暗号化が使用されるかどうか及び利用可能な暗号化アルゴリズムであるかどうか、圧縮が使用されるかどうか及び利用可能な圧縮アルゴリズムであるかどうか、暗号鍵名索引がユーザー又はグループベースであるべきかどうか、エージェント暗号鍵リストが存在するかどうか、及び、デジタル署名検査によって改竄検出を実施すべきかどうか、の識別子を含むことが好ましい。ファイル関連情報238のフィールドは、ファイル作成者に対応するGUIDのような様々な他の情報のストレージを提供する。
【0071】
最後に、セキュリティ署名232は、巡回冗長検査(CRC)の値、及びデジタル署名のストレージを提供する。CRC値は、ファイル管理ヘッダー226の直前部分のバイナリ値によって計算されて、ブロック整合性検査を可能にすることが好ましい。デジタル署名は、CRCフィールドを含むファイル管理ヘッダー226の直線部分について計算されて、ファイル管理ヘッダー226の如何なる部分での改竄の検出も可能にする。
【0072】
論理アクセスブロック224の好ましい帯域内構造もまた、図8Dに示す。論理アクセスブロック224の主要フィールドは、LABデータフィールド240、LAB署名フィールド242、及びオプションのLAB圧縮ヘッダー244を含む。LABデータフィールド240は、パケットペイロードデータ222の暗号化された部分、及び/又は圧縮された部分を含む。LABデータフィールド240のサイズは、ファイルシステム26で認識される固有の又は都合の良いブロックサイズの倍数に通常セットされ、さらに、ブロック暗号化アルゴリズムの効率のために選択される。
【0073】
本発明により、パケットペイロードデータ222の論理アクセスブロック224へのセグメント化は、ファイルデータの適当なサイズのブロックを、原子単位として暗号化及び圧縮することを可能にする。永続的ストレージリソース16内のランダムアクセスデバイスで格納されるファイル220に向けられた、かなり効率の良いランダムな読み取り/書き込み動作を獲得するためには、より小さいセグメントサイズが好ましい。より低い処理オーバーヘッド、より高い暗号化及び圧縮効率のためには、より大きいセグメントサイズが好ましく、このとき、ネットワークストレンジリソース16内の対象のデバイスは、従来のテープドライブのようなストリーミングアクセスデバイスである。パケットペイロードデータ222のセグメントサイズは、ランダムアクセスデバイスにおいて、最小サイズが512バイト、通常の好ましいサイズが1024バイトである8バイトのブロックモジューロを持つことが好ましい。ストリーミングアクセスデバイスでは、約8096バイトのより大きいブロックサイズが好ましいとすることができる。
【0074】
パケットペイロードデータ222の最終セグメントが、通常の好ましいセグメントサイズより小さい場合、より小さいブロックサイズを用いる。このより小さいブロックサイズは、最終セグメントのサイズと同じ又はそれより小さい最大モジューロの8バイトブロックサイズとなるように選択される。次に、最終セグメントの全て、といっても最大でも7バイトが、ブロック暗号化される。次に、残りのすべてのセグメントバイトが、8バイト長のゼロ値ストリングの暗号化により生成されたマスク値との排他的論理和がとられ、次に、最終セグメントのブロック暗号化部分の後ろに追加される。
【0075】
論理アクセスブロック224で保持されるパケットペイロードセグメントが圧縮される場合のみ含まれることが好ましいLAB圧縮ヘッダー244は、LABデータフィールド240内に含まれるファイルデータのオフセット及びレンジを指定するフィールドを含む。下にあるデータ値、及び適用されるストリーム圧縮アルゴリズムに依って、LABデータフィールド240内に格納されるパケットペイロードデータ222のセグメント長又はレンジは可変である。セグメント長は、好ましいLABデータフィールドサイズに非常に近い圧縮データを獲得するように操作される。パッディングは、モジュ―ロ8バイト暗号化ブロックに適合するサイズとなるように与えられる。最低でも、レンジ値は、完全論理アクセスブロック224で伝送される実際の圧縮データを識別する。
【0076】
LAB署名242は、LAB圧縮ヘッダー244が存在するとき、LABデータフィールド240のセキュアなダイジェストとして計算されるのが好ましい。本発明の好ましい実施形態では、SHA-1アルゴリズムを使用して、LAB署名242を作成する。セキュアなネットワークファイルアクセス装置12に対して検索される時、各論理アクセスブロック224のセキュリティは、任意のLAB圧縮ヘッダー244を含むLABデータフィールド240のセキュアなダイジェストを再計算し、LAB署名242と照らして比較することにより、改竄に対して保証されることができる。本発明の好ましい変形では、ネットワークファイルデータは、暗号化されていない、圧縮されていないLABデータ240及びLAB署名242のみを含む論理アクセスブロック224として、格納される。ネットワークファイルデータについてランダムアクセスの効率が維持される一方で、それにもかかわらず、場合によってはネットワークファイルの中身での不適切な改竄による変更が、個々の論理アクセスブロック224レベルで検出可能である。改竄を検出するためにセキュアなダイジェストを計算するためにネットワークファイル全体を読み取る従来の必要性は、要求されない。
【0077】
本発明の代替の実施形態では、エラー訂正トレーラー246が、LABデータフィールド240、任意のLAB圧縮ヘッダー244、及びLAB署名242について計算されたECC値を格納するように提供される。ECC値は、論理アクセスブロック224の作成時に計算される。論理アクセスブロック224の検索時、ECC値は、論理アクセスブロック224の拡張ネットワーク構造基盤伝送の結果として生じ得るビットエラーを訂正するために使用される。特に、TCP層及びそれ以上で動作するネットワークルーターで、ビットエラーが発生し得る。このような構造基盤誘導ビットエラーは、別の方法で、LAB署名242から検出されるが、データ改竄とは区別不可能である。エラー訂正フィールド246の使用は、論理アクセスブロック224の整合性を独立して保護する役割をする。
【0078】
一般的に図8Dに示すように、ファイル管理ヘッダー226、及び、論理アクセスブロック2224のヘッダー244、及びトレーラー242、246は、永続的ストレージリソース16で最終的に格納されるファイル220の一部として、帯域内又はファイル内に含まれることができる。また、論理アクセスブロックのデータ240へのアクセスを最適化するために、様々な帯域内レイアウトを使用することもできる。ファイル管理ヘッダー226、デジタル署名242、及び圧縮ヘッダー244は、一又はそれ以上の帯域内上位ブロックに集約されることができる。これらの上位ブロックのサイズ、及び残りの論理アクセスブロックデータ240のサイズは、永続的ストレージリソース16のI/O性能を最適化するようなサイズにすることができる。
【0079】
そのかわりに、論理アクセスブロックのデータ240のみを、ネットワークファイル220として帯域内の永続的ストレージリソース16で格納することが、場合によっては好ましい。ネットワークファイル220に対応する、管理ヘッダー226、及びヘッダー244、及びトレーラー242、246を含むファイルのメタデータは、別々のメタデータ又は陰のファイルに格納される。陰のファイルと帯域内ネットワークファイル220との間の関係を維持する如何なる並列ストレージ構造も、使用することができる。陰のファイルのネットワークファイル220との並列な関連付けが維持されるのであれば、陰のファイルは、作成されて、ネットワークファイル220と同じストレージ空間内、場合によってはネットワークファイル220から物理的に離れている異なるストレージ空間内、又はプラットフォーム70上のネットワークリソース16に格納することができる。例えば、陰のファイルは、ネットワークファイル220の対応部と同じディレクトリに格納することができ、ネットワークファイル220のファイル名の定められた置換であるファイル名で識別することができる。そのかわりに、陰のファイルを、定められたルート、又は永続的ストレージリソース16の相対ルートノードから分岐する並列ディレクトリ構造に格納することもできる。どちらの場合も、陰のファイルと対応するネットワークファイル220との間の定められた関係が決定され、セキュアなネットワークファイルアクセス装置12に知られ、これは、ネットワークファイル220の対応する読み取り及び書き込みで、陰のファイルの並列読み取り及び書き込みを確実にすることができる。
【0080】
再び図7を参照すると、要求されるように、パケットからLABへの処理194が、ハードウェア加速器162を利用して、パケットペイロードデータ222のセグメントについて暗号化196、及び圧縮198を実行することが好ましい。次に、ネットワークファイルデータパケットのパケットペイロードデータ222をともに含む論理アクセスブロック2241-Nは、新しいネットワークファイルデータパケットに集約され、ネットワークストレージリソース16への伝送のためにネットワークインターフェース192に送られる。
【0081】
ネットワークインターフェース192によって受け取られたネットワークファイルデータパケットは、認証及びアクセス処理176、184、及びパケットペイロードデータ内に含まれる論理アクセスブロック2241-Nのためのネットワーク制御情報114を公開し、論理アクセスブロックからパケットデータへの処理202に配信するように、同じように処理される200。認証及びアクセス処理176、184のための準備は、場合によってはクライアントベースの分散ネットワークストレージデバイスさえも、他の永続的ストレージリソース16のように等しくセキュアかつアクセス可能にすることを可能にする。本発明の好ましい実施形態では、専用の永続的ストレージリソース16から受け取られたネットワークファイルパケットについて、最低限の認証及びアクセス処理176、184を実行する。
【0082】
エラー訂正フィールド246が存在し、LAB圧縮ヘッダー244が存在する場合にはそれを含むLABデータフィールド240の整合性をデジタル署名242の値に照らして確認するとき、パケットペイロードデータで受け取られる論理アクセスブロック2241-Nは、エラー訂正を適用するように処理される202。ファイル管理ヘッダー226を、典型的には前もってNFS/CIFS状態マシン処理186により読み取って、フィールド234から暗号鍵識別子を、及び、オプション指標フィールド236から利用可能である場合には圧縮アルゴリズム識別情報を獲得する。次に、LABデータフィールド240は、利用可能である場合には、復元され204、復号化される206。NFS/CIFS状態マシン処理186は、保留状態の受信ファイルデータ読み取り要求トランザクションに基づいて、クライアント読み取り要求データを表す連結論理アクセスブロック2241-Nのオフセット及びレンジ選択の部分を識別する。次に、選択されたデータは、ネットワークファイルデータパケットに組み入れられ、トランザクション識別アプリケーション44、46への伝送のために、ネットワークインターフェース172に提供される。
【0083】
本発明の好ましい実施形態では、管理インターフェース208は、ポリシーパーザー180及びポリシーデータストア182へのアクセス、及びそれらの構成を提供する。ネットワーク通信インターフェース210は、受信及び送信ネットワークインターフェース172、192から独立した管理インターフェース208へのアクセスを提供する。
【0084】
ソフトウェアアーキテクチャ170は、図9に示すように、更なるセキュリティ装置指向機能を提供するように拡張されるのが好ましい。拡張アーキテクチャ250は、ネットワークインターフェース172、192を通して作られるネットワーク接続についてファイアウォール形式のフィルタリングを実装するIPフィルタ層252、254を含む。フィルタルールストア256は、IPフィルタ層252、254によってネットワークパケットを送ることを許可されたIPアドレス、ネットワークプロトコル、及びインターネットポートを定めるIPテーブル形式の仕様を保持することが好ましい。IPフィルタ層252、254、特に受信IPフィルタ層252は、NFS、CIFS、RPC、及びマウントプロトコルを含むネットワークファイルアクセス動作に関係する接続以外の全ての接続を拒否するようにセットされることが好ましい。IPフィルタ層252、254で送られるこれらのネットワークファイルデータパケットは、ソフトウェアアーキテクチャ170で実行されるパケット/LAB処理258に向けられる。従って、許可されない接続試行、及び適切なポリシーベースの許可のないアクセス要求は、ソフトウェアアーキテクチャ170によって、優先的に受信、検出、及び検査される。
【0085】
特に、制御情報114、122の完全なセットへのアクセスに基づく認証及びアクセス制御176、184、及びポリシーパーザー180の柔軟な解析能力は、場合によっては誤用パターンのより洗練された識別、及び、特定の送信元IPを動的にブロックすること、詳細情報のログをとること、及びリアルタイムの管理警告を発行することを含むより広範な補強動作を可能にする。ファイアウォールフィルタ252、254のセキュリティ及び報告の強度は、セキュアなネットワークファイルアクセス装置12の主な機能と関係のない接続試行を処理するのに適当である。ファイアウォールフィルタ252、254はまた、場合によってはネットワークファイルデータパケットを含む選択されたネットワークデータパケットを、バイパスルート260を利用して、セキュアなネットワークファイル装置12によってプロキシするのに利用することもできる。VPN42及びネットワークファイルアクセス装置12'の場合、指定された送信元IPアドレス及びプロトコルを識別し、適切にバイパスする260ことができる。
【0086】
固定された規模では、ハードウェアプラットフォーム70、ファイアウォールフィルタ252、254は。メインプロセッサ54によるオペレーティングシステムのIPテーブルモジュールのカーネル実行によって、実装されるのが好ましい。拡大縮小できるハードウェアプラットフォーム70で、ファイアウォールフィルタ層252、254が、入口及び出口プロセッサ86、88に実装され、バイパス転送されたネットワークパケットが、入口プロセッサ86と出口プロセッサ88の間で直接送られることが好ましい。フィルタルールストア256で保持されるフィルタルールは、管理インターフェース208によって管理される。
【0087】
本発明の好ましい実施形態により構成されたNFS/CIFS読み取りトランザクション270を、図10Aにグラフィカルに示す。ファイル管理ヘッダー226、及び論理アクセスブロックの連続2241-Nから成る読み取り対象ファイルは、永続的なストレージリソース16に存在する。一般的には、受信読み取り要求は、読み取る272べきデータのオフセット及びレンジを特定する。送信読み取り要求は、ファイル管理ヘッダー226、及び取り囲みの論理アクセスブロック224A-Xのブロック配列の連続を読み取る274、276ように発行される。読み取り要求276は、一連の一又はそれ以上のネットワークファイルデータパケット内の要求された論理アクセスブロック224A-Xを検索し、次にこれは、読み取り要求データ272を含む一又はそれ以上のネットワークファイルデータパケットを戻すころにより、受信読み取り要求を完了するように処理される。
【0088】
NFS/CIFS読み取りトランザクション270と関連付けられる特定の処理280を、図10Bに示す。ファイアウォールフィルタされたファイルデータ読み取り要求を受け取った時、セキュアなネットワークファイルアクセス装置12は、ネットワーク制御情報114を公開し282、ポリシールール及びデータ182、184と照らしてパーズする284。ポリシー遵守の失敗は、NFS/CIFSの適切な応答ネットワークデータパケットの戻し発行により、報告される286。
【0089】
読み取り要求が定められたポリシー要求に従う場合、ファイル関連アクセス制御情報が、永続的ストレージリソース16から任意で読み取られて288、ファイルの存在を確認し、利用可能な読み取りデータの許可を評価する。許可検査が実行され、失敗した場合、永続的ストレージリソース16にファイル読み取り要求を発行することなく、ファイルの不存在、又は不適切な許可が報告される286。ファイル管理ヘッダー226を含む、要求の対象ファイルのファイルのメタデータもまた、ネットワークストレージリソース16から読み取られる288。ブロック配列論理アクセスブロックのオフセット290及びレンジ292が定められ、永続的ストレージリソース16に向けられた送信読み取り要求を作成し、発行するために、使用される。データ読み取りオフセットは、ファイルの最初で格納されるファイル管理ヘッダー226のサイズを占めるように調整される。論理アクセスブロック224A-Xが圧縮データを含む場合、LAB圧縮ヘッダー244のファイルデータ読み取りが、データ読み取りオフセットと、取り囲みの読み取り要求レンジの両方に対する調整を決定するために、要求され得る。
【0090】
要求された論理アクセスブロック224A-Xが受け取られた時294、LAB ECCフィールド246が存在するかどうかに依って、エラー訂正が適用され296、ファイル管理ヘッダー226の鍵識別子フィールド234から割り出される鍵名と関連付けられる鍵を利用して復号化され298、及び、ファイル管理ヘッダー226が圧縮オプションを含み、対応するアルゴリズムを特定するかどうかに依って、復元される300。検索されたファイルデータの整合性を検査するために、LABデジタル署名242を使用する。如何なる論理アクセスブロック224A-Xについての整合性検査の失敗も、幾つか又は全ての論理アクセスブロック224A-Xの再読み取りという結果となって、ソフトエラーから保護することができ、永続的エラーが、NFS/CIFSの適切なエラーネットワークデータパケットの戻し発行により、最終的に報告される。ソフトエラー及び永続的エラーの両方とも、セキュアなネットワークファイルアクセス装置12でログが取られることが好ましい。受信読み取り要求のNFS/CIFS状態マシン処理186の動作によって認識される永続的エラーが、評価のためにポリシーパーザー180に反してアサートされ、続いて、改竄警告メッセージとして、管理インターフェース208を通して発行される302のが、さらに好ましい。最後に、ファイルデータが受信され、送信読み取り要求に応じて処理されたとき、受信読み取り要求で識別されたファイルデータが、一又はそれ以上の応答ネットワークファイルデータパケットに組み立てられ304、返される。
【0091】
図11Aでグラフィカルに示すようなNFS/CIFSのファイル作成トランザクション310は、新しいファイル管理ヘッダー226を含む新規ファイルを作成するように動作することが好ましい。図11Bでさらに詳細に示すように、ファイル作成要求処理320は、最初に、ネットワーク制御情報114を公開し322、パーズ324して、如何なるポリシー遵守の失敗も、NFS/CIFSの適切な応答ネットワークデータパケットの戻し発行という結果になる。ファイル作成要求が、定められたポリシー要求に従うならば、ディレクトリ情報を永続的ストレージリソース16から任意で読み取って328、対象ファイル作成許可を獲得する。許可検査が実行され、失敗したとき、ファイル作成要求を永続的ストレージリソース16に対してアサートすることなく、対象ディレクトリの不存在、及び不適切な許可が報告される326。
【0092】
次に、ファイル管理ヘッダー226が作成される330。NFS/CIFS状態マシン処理186の動作によって、ポリシーデータストア182から提供される格納値に基づいて、ポリシーパーザー180が、セキュリティパラメータ指標230に必須の値を生成し、提供する。特に、ポリシーパーザー180が、マウントポイントを含むディレクトリ仕様に照らして、暗号鍵、及び圧縮選択を関連付けることが好ましい。従って、作成されるファイルの対象の位置は、暗号化及び圧縮を適用すべきかどうか、及び、実装のために利用可能な鍵及びアルゴリズムを定めるために利用される。鍵名及び圧縮に基づくセキュアな識別子、及び、圧縮アルゴリズム識別子が計算され、計算されたCRC及び署名の値とともに、新しいファイル管理ヘッダー226に格納される。
【0093】
次に、NFS/CIFS状態マシン186は、受信ファイル作成要求で与えられたディレクトリ仕様を利用して、永続的ストレージリソース16へのNFS/CIFSファイル作成要求の作成及び発行332に備える。次に、ファイル管理ヘッダー226の帯域内ストレージにおいて、ファイル管理ヘッダー226を含むNFS/CIFSファイル書き込み要求が作成され、永続的ストレージリソース16に発行される334。陰のメタデータファイルが使用のために指定されたとき、NFS/CIFSファイル作成要求、及び最後にファイル管理ヘッダー226を含むNFS/CIFSファイル書き込み要求が作成され、永続的ストレージリソース16に発行されて334、陰のファイルを作成する。最後に、NFS/CIFSの適切なファイル作成応答ネットワークデータパケットが、クライアントに返される。
【0094】
本発明の好ましい実施形態によって構成されたNFS/CIFS書き込みトランザクション340を、図12Aにグラフィカルに示す。永続的ストレージリソース16内の既存ファイルへのファイルデータの書き込みは、読み取り、変更、書き込みプロシージャ―を使用する。受信データ書き込み要求は、一又はそれ以上のネットワークファイルデータパケットのトランザクションのシーケンスで与えられるデータ書き込み342のオフセット及びレンジを指定する。殆どの場合、書き込み要求データは、格納ファイルに存在する論理アクセスブロック2241-Nに合わせて並べられない。ファイル管理ヘッダー226、及び、いくらか部分的に重なっている論理アクセスブロック224A、224Xが、優先的に読み取られ344、346、348、重なっている論理アクセスブロック224A、224Xを、要求通りに復号化及び復元することを可能にする。次に、受信データ書き込み342のブロック配列データ読み取りとの重ね合わせが実行される。次に、結果として生じたブロック配列データ書き込みが、論理アクセスブロック224A-Xに処理され、一又はそれ以上のネットワークファイルデータパケットの書き込みトランザクションのシーケンスで、永続的ストレージリソース16に書き込まれる350。
【0095】
NFS/CIFS書き込み要求トランザクションの好ましい処理360を、図12Bに示す。受信ファイルデータ書き込み要求が受け取られ、ネットワーク制御情報114を公開するように処理される362。次に、この情報が、確立されたポリシー180、182と照らしてパーズされ364、如何なる遵守失敗も報告される386。次に、ネットワーク制御情報114が、永続的ストレージリソース16で格納された対象ファイルを識別し、ファイル管理ヘッダー226を含むファイルのメタデータを獲得するような要求を作成及び発行するように、さらに処理される368。次に、論理アクセスブロックのオフセット及びレンジが、ファイル管理ヘッダー226、及び論理アクセスブロック224に収容されたデータの圧縮の存在の必要に応じて調整して、定められる370、372。レンジの論理アクセスブロック224A-Xに対して、ファイルロックがアサートされる。最初及び終端の論理アクセスブロック224A、224xが、必要に応じて、永続的ストレージリソース16から読み取られ374、LAB ECCフィールド246が存在する場合には訂正され376、復号化され378、復元380される。整合性失敗のエラーが報告される382。終端論理アクセスブロック224A、224Xからのデータが、書き込みデータ342と一体化され384、その組合せられたデータは再セグメント化され386、適宜圧縮され388、暗号化される390。利用可能な限り、LAB ECC値が計算され、組み立てられた394一連の論理アクセスブロック224A-Xに追加される392。論理アクセスブロック224A-Xが組み立てられた時、一又はそれ以上のネットワークファイルデータ書き込みパケットが構成され、永続的なストレージリソース16に送られる。論理アクセスブロック224A-Xの書き込みが完了すると、ファイルロックが解除される。
【0096】
従って、ファイルシステムサーバーによってアクセス可能な永続的格納データを効率的かつ高信頼にセキュリティ保護する、セキュアなファイルシステムサーバー及び方法を説明した。本発明の好ましい実施形態の上述の説明を考慮して、開示された実施形態の多くの変更及び変形が、当業者に容易にわかるであろう。それゆえ、本特許請求の範囲の技術的範囲内で、上で具体的に説明したのとは別のやり方で、本発明を実施することもできることを理解すべきである。
【図面の簡単な説明】
【0097】
【図1】本発明の好ましい実施形態の意図する動作環境を示す最上位のブロック図である。
【図2】本発明の好ましい実装の詳細なアーキテクチャのブロック図である。
【図3】本発明の好ましい固定規模の装置の実施形態のアーキテクチャのブロック図である。
【図4】ネットワークストレージリソースに向けられたクライアントのファイル指向ネットワーク要求の認証及びアクセス認定をサポートするために、本発明によって提供された深いパケット解析処理を示す処理の流れ図である。
【図5A】プラットフォームコンピューターシステムで実行される、プラットフォーム処理のセキュアなファイルシステム層との相互運用を示す処理の相互作用の図を提供する。
【図5B】本発明の好ましい実施形態による、本発明の好ましい実施形態のログイン及び実行処理の動作への処理の流れの統合を示す。
【図6】下位のファイルデータの複数の適した見方を提供するように本発明の好ましい実施形態で提供された、ネットワークストレージリソースの好ましい呈示を示す処理の相互作用の図を提供する。
【図7】本発明の好ましい実施形態によりネットワークパケットプロトコル処理を実装する好ましい構成要素、を示すソフトウェアブロック図である。
【図8A】本発明の好ましい実施形態によって実装されたネットワークパケットプロトコル処理による、ファイルデータの好ましい分解を示している。
【図8B】本発明の好ましい実施形態によって実装されたネットワークパケットプロトコル処理による、ファイルデータの好ましい分解を示している。
【図8C】本発明の好ましい実施形態によって実装されたネットワークパケットプロトコル処理による、ファイルデータの好ましい分解を示している。
【図8D】本発明の好ましい実施形態によって実装されたネットワークパケットプロトコル処理による、ファイルデータの好ましい分解を示している。
【図9】本発明の好ましい実施形態によるファイアウォール処理を含む拡張されたネットワークパケットプロトコル処理を示すソフトウェアブロック図である。
【図10A】本発明の好ましい実施形態により実行されるファイルシステムの読み取り要求及び応答の処理の流れを示している。
【図10B】本発明の好ましい実施形態により実行されるファイルシステムの読み取り要求及び応答の処理の流れを示している。
【図11A】本発明の好ましい実施形態により実行されるファイルシステムのファイル作成要求の処理の流れを示している。
【図11B】本発明の好ましい実施形態により実行されるファイルシステムのファイル作成要求の処理の流れを示している。
【図12A】本発明の好ましい実施形態により実行されるファイルシステムの書き込み要求及び応答の処理の流れを示している。
【図12B】本発明の好ましい実施形態により実行されるファイルシステムの書き込み要求及び応答の処理の流れを示している。

【特許請求の範囲】
【請求項1】
a)所定のファイルのストレージをサポートする永続的データストア、
b)ユーザー、アプリケーションプログラムに関連するオペレーティングシステムカーネルにより、前記永続的データストアについてファイルデータを転送するようにされた所定のデータ転送動作に応じる第一のファイルシステム層、及び、前記所定のデータ転送動作を選択的に制約するファイルアクセス制御機能を確立する、前記オペレーティングシステムカーネルと前記第一のファイルシステム層との間に置かれた第二のファイルシステム層について、前記アプリケーションプログラムの実行をサポートする前記オペレーティングシステムカーネルを含むコンピューターサーバーシステム、及び、
c)前記ファイルアクセス制御機能をサポートするように、前記第二のファイルシステム層に繋がれたファイルアクセスコントローラー、
を備え、前記ファイルアクセスコントローラーが、前記所定のデータ転送動作のうちの許可される動作を決定する、前記ユーザーと前記所定のファイルとの間の所定の対応関係を確立するアクセスポリシーリストを実装し、前記アクセスポリシーリストが、前記コンピューターサーバーシステムから独立して、前記ファイルアクセスコントローラー内に保持される、
ことを特徴とする、永続的データへの保護されたアクセスを提供するセキュアなサーバープラットフォーム。
【請求項2】
前記第二のファイルシステム層が、前記ユーザーについての許可情報、及び前記アプリケーションプログラムについてのセッション情報の収集を可能にするように前記オペレーティングシステムカーネルに繋がれたオペレーティングシステムインターフェースを含み、前記ファイルアクセス制御機能が、前記所定のデータ転送動作に応じて、前記許可及びセッション情報を、前記ファイルアクセスコントローラーに選択的に提供する
ことを特徴とする請求項1に記載のセキュアなサーバープラットフォーム。
【請求項3】
前記許可情報が、前記ユーザーのセキュアな識別情報を含み、前記セッション情報が、前記アプリケーションプログラムが実行する中で、前記オペレーティングシステムカーネルによって確立されるセッションを識別するセッション鍵を含む、
ことを特徴とする請求項2に記載のセキュアなサーバープラットフォーム。
【請求項4】
a)暗号鍵ストアを含み、暗号鍵に依ってファイルデータストリームを暗号化及び復号化するように動作し、セッションデータに応答性のある暗号化データプロセッサ、
b)オペレーティングシステムカーネル、及び、所定のファイルデータストアについて前記オペレーティングシステムカーネルにより提供されるファイルデータ要求に応答するファイルシステムを含む、前記暗号化データプロセッサに繋がれたコンピューターシステム、
を備え、前記ファイルシステムが、所定のファイルデータ要求について、前記暗号化データプロセッサを通ってファイルデータストリームを転送するように動作し、かつ、所定のセッションデータを前記所定のファイルデータ要求と関連付けて、前記ファイルデータストリームの暗号化及び復号化を選択的に可能にし、前記暗号鍵ストアが、前記ファイルシステムによってアクセスに対してセキュアである
ことを特徴とする、ファイルデータストア内で永続的に保持されるファイルデータへのアプリケーションアクセスをサポートするセキュアなサーバーシステム。
【請求項5】
前記暗号化データプロセッサが、第一及び第二のアクセスインターフェースを含み、前記第一のアクセスインターフェースは前記ファイルシステムに繋がれ、前記第二のアクセスインターフェースは、前記第一のアクセスインターフェースから独立して前記暗号鍵ストアへの管理アクセスを提供する、
ことを特徴とする請求項4に記載のセキュアなサーバーシステム。
【請求項6】
前記第一のアクセスインターフェースが、ファイルデータストリームの双方向転送に備える
ことを特徴とする請求項5に記載のセキュアなサーバーシステム。
【請求項7】
コンピューターシステムと永続的データストアとの間の、永続的格納データの転送をセキュリティ保護する方法であって、
前記コンピューターシステムが、オペレーティングシステムカーネルの実行をサポートするプロセッサ、及びファイルシステムを含んで、前記永続的データストアについてデータを転送し、
a)セッション情報を、前記オペレーティングシステムカーネルから提供されるデータ転送要求と関連付け、
b)独立したセキュリティプロセッサシステムに、前記セッション情報、及び前記データ転送要求を提供して、許可されるデータ転送動作を定め、かつ、
c)前記オペレーティングシステムと前記ファイルシステムの間で、前記許可されるデータ転送動作に対応する永続的格納データを、前記独立したセキュリティプロセッサシステムによって排他的に転送するステップ、
を含むことを特徴とする方法。
【請求項8】
前記オペレーティングシステムカーネルによって前記セッション情報を取得するステップ、
をさらに含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記データ転送要求により参照によってのみ特定される復号鍵を利用して、前記独立したセキュリティプロセッサシステムにより、前記ファイルシステムによって検索された永続的格納データを復号化するステップ、を更に含む
ことを特徴とする請求項8に記載の方法。
【請求項10】
前記復号化するステップが、前記コンピューターシステムから独立して、所定のデータ転送要求と対応する所定の復号鍵を検索することを含む
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記復号化するステップの実行において、前記所定の暗号鍵が、前記コンピューターシステムからアクセス不可能な前記独立したセキュリティプロセッサシステムで保持される
ことを特徴とする請求項10に記載の方法。
【請求項12】
永続的ストレージデバイスで格納され、かつ、プロセッサを含むコンピューターサーバーシステムによってアクセス可能な永続的格納ファイルデータをセキュリティ保護する方法であって、
前記プロセッサにより実行可能なオペレーティングシステムが、前記永続的ストレージデバイスに第一のファイルシステムインターフェース及び第二のファイルシステムインターフェースを提供するオペレーティングシステムカーネルを含む、
a)永続的ファイルデータの透過な暗号化及び復号化をサポートする、独立して動作する暗号化プロセッサを、定められた伝送チャネルによって、前記コンピューターサーバーシステムに繋ぎ、
b)前記オペレーティングシステムカーネルによって獲得されたセッション情報を、所定の永続的ファイルデータを特定する所定の永続的ファイルデータ転送要求と関連付け、
c)前記所定の永続的ファイルデータ転送要求及び前記セッション情報を、前記定められた伝送チャネルによって、前記独立して動作する暗号化プロセッサに提供し、かつ、
d)前記第一のファイルシステムインターフェースと前記第二のファイルシステムインターフェースとの間で前記独立して動作する暗号化プロセッサによって転送される前記所定の永続的ファイルデータを送る
ステップを含むことを特徴とする方法。
【請求項13】
前記所定の永続的ファイルデータ転送要求と関連付けられる暗号鍵を、前記コンピューターサーバーシステムから前記定められた伝送チャネルによって前記独立して動作する暗号化プロセッサによりアクセス不可能に維持するステップ、
をさらに含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記独立して動作する暗号化プロセッサにより、前記所定の永続的ファイルデータ転送要求から前記暗号鍵を定めるステップ、
をさらに含むことを特徴とする請求項13に記載の方法。
【請求項15】
前記定めるステップが、前記独立して動作する暗号化プロセッサで保持される前記セッション情報、及びアクセスポリシーストアについて、前記所定の永続的ファイルデータ転送要求のアクセス許可を前もって定める、
ことを特徴とする請求項14に記載の方法。
【請求項16】
前記維持するステップが、前記アクセスポリシーストアを、前記コンピューターサーバーシステムから前記定められた伝送チャネルによって前記独立して動作する暗号化プロセッサによりアクセス不可能にさらに維持する
ことを特徴とする請求項15に記載の方法。
【請求項17】
前記アクセス不可能に維持するステップが、前記コンピューターサーバーシステムのセキュリティ侵害から独立して、前記定められた伝送チャネルによる前記暗号鍵及び前記アクセスポリシーへのアクセスを妨げる
ことを特徴とする請求項16に記載の方法。
【請求項18】
ファイルデータに対するセキュアな認証及びアクセス制御を実施するサーバーアーキテクチャを実装するコンピューターシステムであって、
a)サーバーメモリ領域、及び、前記サーバーメモリ内でのオペレーティングシステムの実行に備えるサーバープロセッサを含む、前記永続的ファイルデータストアに繋がれた第一のプロセッサシステム、
を備え、前記オペレーティングシステムはオペレーティングシステムカーネルを含み、前記オペレーティングシステムカーネルは、該オペレーティングシステムカーネルから提供されるファイルデータ要求の転送をサポートするカーネルデータアクセスインターフェース、ファイルシステムスイッチ、及び、前記カーネルデータアクセスインターフェース及び前記ファイルシステムスイッチに繋がれたセキュリティ介在層を持ち、前記セキュリティ介在層は、前記オペレーティングシステムカーネルから獲得されたセッション情報を前記ファイルデータ要求と関連付けるように、受信ファイルデータ要求に応答し、さらに、
b)前記セキュリティ介在層に繋がれ、前記ファイルデータ要求に応じて、ファイルデータの転送に関連する前記ファイルデータ要求を選択的に可能にするように、前記ファイルデータ要求と関連付けられた前記セッション情報に応答する第二のプロセッサシステム
を備えることを特徴とするコンピューターシステム。
【請求項19】
前記第二のプロセッサシステムが、前記セキュリティプロセッサが前記セッション情報に基づいて前記ファイルデータ要求のうちの許可される要求を識別することを可能にするアクセスポリシーリストを実装する制御プログラムの実行に備えるセキュリティプロセッサを含み、かつ、前記ファイルデータ要求のうちの許可される要求を可能にするように、前記セキュリティ介在層と相互作用する
ことを特徴とする請求項18に記載のコンピューターシステム。
【請求項20】
前記制御プログラムが、許可制御リストをさらに実装し、前記第二のプロセッサシステムが、前記サーバーメモリ領域内での前記サーバープロセッサによる所定のアプリケーションプログラムの実行を可能にするように、前記セキュリティ介在層と相互作用する
ことを特徴とする請求項19に記載のコンピューターシステム。
【請求項21】
前記セキュリティ介在層は、前記ファイルシステムスイッチにファイルシステムインターフェースを与え、かつ、所定のファイルデータ要求の排他的転送経路として、前記ファイルシステムスイッチに繋がれる
ことを特徴とする請求項20に記載のコンピューターシステム。
【請求項22】
前記セキュリティ介在層が、前記ファイルシステムスイッチで受け取られた前記ファイルデータ要求の排他的転送経路として、前記ファイルシステムスイッチに繋がれる
ことを特徴とする請求項21に記載のコンピューターシステム。
【請求項23】
前記セキュリティ介在層が、RPCプロトコルを利用して、前記第二のプロセッサシステムと通信する
ことを特徴とする請求項20に記載のコンピューターシステム。
【請求項24】
前記セキュリティ介在層が、NFSプロトコルを利用して、前記第二のプロセッサシステムと通信する
ことを特徴とする請求項23に記載のコンピューターシステム。
【請求項25】
前記セキュリティ介在層が、前記第二のプロセッサシステムによるファイルデータの転送経路選択に備え、前記第二のプロセッサシステムが、該第二のプロセッサシステムによって転送されるファイルデータを復号化するように動作するセキュリティプロセッサを含む
ことを特徴とする請求項18に記載のコンピューターシステム。
【請求項26】
ファイルデータが、前記セキュリティ介在層と前記第二のプロセッサシステムとの間で双方向に転送される
ことを特徴とする請求項25に記載のコンピューターシステム。
【請求項27】
前記第二のプロセッサシステムが、ファイルデータの復号化において前記セキュリティプロセッサで使用される前記暗号鍵を格納し、前記セキュリティ介在層が、前記セッション情報から定められる暗号鍵への参照を前記第二のプロセッサシステムに提供し、かつ、前記第二のプロセッサシステムが、前記暗号鍵を前記セキュリティ介在層から独立に維持する
ことを特徴とする請求項26に記載のコンピューターシステム。
【請求項28】
前記セキュリティプロセッサが、該セキュリティプロセッサが前記セッション情報に基づいて前記ファイルデータ要求のうちの許可される要求を識別することを可能にするアクセスポリシーリストを実装する制御プログラムの実行に備え、前記第二のプロセッサシステムが、前記ファイルデータ要求のうちの許可される要求を可能にするように、前記セキュリティ介在層と相互作用する
ことを特徴とする請求項27に記載のコンピューターシステム。
【請求項29】
前記制御プログラムが、許可制御リストをさらに実装し、前記第二のプロセッサシステムが、前記サーバーメモリ領域内での前記サーバープロセッサによる所定のアプリケーションプログラムの実行を可能にするように、前記セキュリティ介在層と相互作用する
ことを特徴とする請求項28に記載のコンピューターシステム。
【請求項30】
前記セキュリティ介在層が、前記ファイルシステムスイッチにファイルシステムインターフェースを提供し、かつ、所定のファイルデータ要求の排他的転送経路として前記ファイルシステムスイッチに繋がれる
ことを特徴とする請求項29に記載のコンピューターシステム。
【請求項31】
前記セキュリティ介在層が、前記ファイルシステムスイッチで受け取られる前記ファイルデータ要求の排他的転送経路として、前記ファイルシステムスイッチに繋がれる
ことを特徴とする請求項30に記載のコンピューターシステム。
【請求項32】
前記セキュリティ介在層が、RPCプロトコルを利用して、前記第二のプロセッサシステムと通信する
ことを特徴とする請求項31に記載のコンピューターシステム。
【請求項33】
前記セキュリティ介在層が、NFSプロトコルを利用して、前記第二のプロセッサシステムと通信する
ことを特徴とする請求項32に記載のコンピューターシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A−D】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12A】
image rotate

【図12B】
image rotate


【公表番号】特表2006−503369(P2006−503369A)
【公表日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2004−544792(P2004−544792)
【出願日】平成15年10月1日(2003.10.1)
【国際出願番号】PCT/US2003/031261
【国際公開番号】WO2004/036350
【国際公開日】平成16年4月29日(2004.4.29)
【出願人】(505140591)ヴォーメトリック インコーポレイテッド (4)
【Fターム(参考)】