(57)【要約】【課題】ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするメカニズムを提供する。【解決手段】ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストが受信されると、ローカル・ネットワーク・ファイル・システムは、ファイルに関連する暗号属性を検査して、そのファイルが暗号化済みであるか、または完全性検証済みであるかを判断する。ファイルは暗号化済みであると暗号属性が示すと、ローカル・ネットワーク・ファイル・システムは、そのファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われる、そのファイルの暗号化を省略する。ファイルは完全性検証済みであると暗号属性が示すと、ローカル・ネットワーク・ファイル・システムは、そのファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われる、そのファイルの完全性検証を省略する。次に、ローカル・ネットワーク・ファイル・システムは、そのファイルをリモート・ネットワーク・ファイル・システムへ送信する。【選択図】図３
2010534875.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・ファイルを管理する方法であって、
ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信するステップと、
前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査するステップと、
前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略するステップと、
前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略するステップと、
前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するステップと、
を含む方法。
【請求項２】
前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用するステップと、
前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行うステップと、
前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を、前記ファイルのヘッダに挿入するステップと、
前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似ｘａｔｔｒ値を入れることによって、前記属性を前記暗号ファイル・システムに伝達する、請求項２に記載の方法。
【請求項４】
前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達する、請求項２に記載の方法。
【請求項５】
前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しない、請求項１に記載の方法。
【請求項６】
前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号する、請求項５に記載の方法。
【請求項７】
前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わない、請求項１に記載の方法。
【請求項８】
前記リモート・ネットワーク・ファイル・システムを含むクライアントは、暗号ファイル・システムを含んでいない、請求項１に記載の方法。
【請求項９】
前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項１０】
前記暗号属性は、ｉｎｏｄｅメタデータ、ｉｎｏｄｅデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの１つに配置される、請求項１に記載の方法。
【請求項１１】
ネットワーク・ファイルを管理するデータ処理システムであって、
バスと、
前記バスに接続され、コンピュータ使用可能コードを含んだストレージ・デバイスと、
前記バスに接続されている少なくとも１つの管理対象デバイスと、
前記バスに接続されている通信ユニットと、
前記バスに接続されている処理ユニットであって、ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信し、前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために前記ファイルに関連する暗号属性を検査し、前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略し、前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略し、前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するために、前記コンピュータ使用可能コードを実行する、前記処理ユニットと、
を含む、データ処理システム。
【請求項１２】
前記処理ユニットはさらに、前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用し、前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行い、前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を前記ファイルのヘッダに挿入し、前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むために、前記コンピュータ使用可能コードを実行する、請求項１１に記載のデータ処理システム。
【請求項１３】
ネットワーク・ファイルを管理するコンピュータ・プログラム製品であって、
コンピュータ使用可能プログラム・コードが有形に具現化されているコンピュータ使用可能媒体
を含む、コンピュータ・プログラム製品であって、前記コンピュータ使用可能プログラム・コードは、
ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信するためのコンピュータ使用可能プログラム・コードと、
前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査するためのコンピュータ使用可能プログラム・コードと、
前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略するためのコンピュータ使用可能プログラム・コードと、
前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略するためのコンピュータ使用可能プログラム・コードと、
前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するためのコンピュータ使用可能プログラム・コードと、
を含む、コンピュータ・プログラム製品。
【請求項１４】
前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用するためのコンピュータ使用可能プログラム・コードと、
前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行うためのコンピュータ使用可能プログラム・コードと、
前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を、前記ファイルのヘッダに挿入するためのコンピュータ使用可能プログラム・コードと、
前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むためのコンピュータ使用可能プログラム・コードと、
をさらに含む、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１５】
前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似ｘａｔｔｒ値を入れることによって、前記属性を前記暗号ファイル・システムに伝達する、請求項１４に記載のコンピュータ・プログラム製品。
【請求項１６】
前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達する、請求項１４に記載のコンピュータ・プログラム製品。
【請求項１７】
前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しない、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１８】
前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号する、請求項１３に記載のコンピュータ・プログラム製品。
【請求項１９】
前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わない、請求項１３に記載のコンピュータ・プログラム製品。
【請求項２０】
前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも１つを含み、前記暗号属性は、ｉｎｏｄｅメタデータ、ｉｎｏｄｅデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの１つに配置される、請求項１４に記載のコンピュータ・プログラム製品。
【請求項２１】
ネットワーク・ファイルを管理する装置であって、
ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信する手段と、
前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査する手段と、
前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略する手段と、
前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略する手段と、
前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信する手段と、
を含む装置。
【請求項２２】
前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用する手段と、
前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行う手段と、
前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示すよう動作可能である暗号属性を、前記ファイルのヘッダに挿入する手段と、
前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込む手段と、
をさらに含む、請求項２１に記載の装置。
【請求項２３】
前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似ｘａｔｔｒ値を入れることによって、前記属性を前記暗号ファイル・システムに伝達するよう動作可能である、請求項２２に記載の装置。
【請求項２４】
前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達するよう動作可能である、請求項２２に記載の装置。
【請求項２５】
前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しないよう動作可能である、請求項２１に記載の装置。
【請求項２６】
前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号するよう動作可能である、請求項２５に記載の装置。
【請求項２７】
前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わないよう動作可能である、請求項２１に記載の装置。
【請求項２８】
前記リモート・ネットワーク・ファイル・システムを含むクライアントは、暗号ファイル・システムを含んでいない、請求項２１に記載の装置。
【請求項２９】
前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも１つを含む、請求項２２に記載の装置。
【請求項３０】
前記暗号属性は、ｉｎｏｄｅメタデータ、ｉｎｏｄｅデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの１つに配置されるよう動作可能である、請求項２１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に、改良されたデータ処理システムに関し、特に、ファイル・システム・レベルで透過認識データ変換（ｔｒａｎｓｐａｒｅｎｔ  ａｗａｒｅ  ｄａｔａ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を提供して、ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするよう、コンピュータに実装された方法、データ処理システム、およびコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
多くのデータ処理システムは、保護が必要な機密データおよび機密操作を含む。安全なデータ通信は、限定されるものではないが、銀行取引、電子商取引、オンライン株式取引、企業間取引などを含む広範な事業において必須である。ネットワーク、およびインターネットへの接続性の拡大に伴い、権限のない受信者によって秘密情報が予想外に傍受されることを防ぐために、秘密情報を適切に扱うことが益々重要になってきた。企業は、通常、秘密情報の指定および扱いに関する方針を定めている。例えば、企業のネットワーク外、または選択されたコンピュータ以外でファイルを転送するには、秘密情報を含むすべてのファイルの暗号化が求められることもある。
【０００３】
機密性およびセキュリティの課題に対処するよう提案されている様々な解決法において、暗号法が極めて重要な役割を果たしている。暗号法は技術群を含み、この技術のうちの２つが、暗号化および復号である。暗号化は、権限のないアクセスを、特にデータ送信中に防ぐために、データを符号化するプロセスである。暗号化は鍵を使用し、この鍵が、解読に必要とされる。暗号化は、暗号鍵がなければ復号できない形式にデータを変換することによってプライバシーを確保する。復号は、暗号化の逆である。復号は、暗号鍵を使用して、暗号化データを元の形式に再変換する。
【０００４】
暗号化方式の１つが、セキュア・ソケット・レイヤ（ＳＳＬ：Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）である。この標準は、インターネット上で広く使用されているセキュリティ・プロトコルである。ＳＳＬは、「公開鍵暗号法」と呼ばれる技法を用いて、機密ファイルがサーバとクライアントとの間で転送されるときに確実に保護されるようにする。公開鍵暗号化では、暗号化に一対の鍵を使用する非対称方式が採用されている。公開鍵暗号法では、各人に公開鍵および秘密鍵の一対の鍵を提供する必要がある。通常、公開鍵は公開され、秘密鍵は秘密にされる。公開鍵がデータを暗号化し、対応する秘密鍵がそのデータを復号する。
【０００５】
秘密鍵は、公開鍵暗号化で使用される片方の鍵である。通常、ユーザは、秘密鍵を秘密にし、それを使用してデジタル署名の暗号化および受信メッセージの復号を行う。公開鍵暗号化の種類には、リヴェスト・シャーマー・アドルマン（ＲＳＡ：Ｒｉｖｅｓｔ‐Ｓｈａｍｉｒ‐Ａｄｌｅｍａｎ）暗号化がある。これは、プリティ・グッド・プライバシ（ＰＧＰ：Ｐｒｅｔｔｙ  Ｇｏｏｄ  Ｐｒｉｖａｃｙ）暗号化プログラムなどのプログラムが基づいている公開鍵暗号化アルゴリズムである。もう１つの暗号化技術は、広く使用されている鍵交換プロトコルであるデフィー・ヘルマン（ＤＨ：Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）暗号化である。
【０００６】
暗号化は、ファイルがストレージ内にある間にそれを保護するためにも使用される。例えば、侵入者またはその他権限のない者がファイルを読み出すこと、またはファイルにアクセスすることを防ぐために、ユーザがハード・ディスク上のファイルを暗号化したいこともある。したがって、暗号化により、秘密復号鍵なしでは誰にも解読できない形式にデータが変換されるとよい。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように、暗号化は、安全でない通信路上での安全な通信を可能にする。しかし、ＩＰセキュリティ（ＩＰＳｅｃ：ＩＰ  Ｓｅｃｕｒｉｔｙ）またはセキュア・ソケット・レイヤ（ＳＳＬ）接続を使用するデータ転送の前後に、安全でないネットワーク接続上でデータを暗号化および復号する従来の技法は、計算上コストがかかる。既存のクライアント・ファイル・システムの実装を変更するのは高コストになり得るため、既存のネットワーク・ファイル・システム（ＮＦＳ：Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）、共通インターネット・ファイル・システム（ＣＩＦＳ：Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）、またはゼネラル・パラレル・ファイル・システム（ＧＰＦＳ：Ｇｅｎｅｒａｌ  Ｐａｒａｌｌｅｌ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）クライアント上に暗号化ファイル・システムまたはフィルタ・ドライバをスタックすることが可能であることが多い。暗号化ファイル・システムは、ファイル・システム全体またはファイル・システムのサブセットの暗号化を可能にする。暗号ファイル・システム（ＣＦＳ：Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）およびｅＣｒｙｐｔｆｓなどの暗号化ファイル・システム（ｅｎｃｒｙｐｔｉｏｎ  ｆｉｌｅ  ｓｙｓｔｅｍ）は、暗号化された形式でディスク上にファイルを格納するため、ファイルをサーバへ転送する前にそのファイルを再暗号化する必要がない。実際には、いくつかの暗号法（ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｃｉｐｈｅｒ）に関しては、同じ暗号法および同じ鍵で２度データを暗号化すると、その暗号化により提供されるセキュリティのレベルが下がることもある。
【０００８】
しかし、既存のネットワーク・ファイル・システムの上位に暗号化層（ｅｎｃｒｙｐｔｉｏｎ  ｌａｙｅｒ）をスタックする際に対処すべき４つの重要な課題がある。第１の課題は、同じｉｎｏｄｅに作用する、暗号ファイル・システム層の複数のクライアント実装にわたって、アクセスをシリアル化することである。第２の課題は、ユーザおよびクライアント・タイプに基づいて、復号化ファイル・データを含むすべてのトラフィックを暗号化するか、またはネットワーク・ファイル・システム・トラフィックの暗号化ファイル・データは暗号化しないかを、サーバに決定させることである。第３の課題は、クライアントおよびサーバ上で、鍵ストア（および関連する汎用一意識別子（ＵＵＩＤ：ｕｎｉｖｅｒｓａｌｌｙ  ｕｎｉｑｕｅ  ｉｄｅｎｔｉｆｉｅｒ）の一貫性のあるビューを保持することである。第４の課題は、暗号ファイル・システムに、ネットワーク・ファイル・システム上でのデータ転送時、読み書きのブロック・サイズなど、より最適な実行設定を検出させ、使用させることである。
【課題を解決するための手段】
【０００９】
例示実施形態は、ファイル・システム・レベルにおいて、透過認識データ変換を提供して、ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするよう、コンピュータに実装された方法、データ処理システム、およびコンピュータ・プログラム製品を提供する。ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストが、リモート・ネットワーク・ファイル・システムからローカル・ネットワーク・ファイル・システムによって受信されると、ローカル・ネットワーク・ファイル・システムは、そのファイルに関連する暗号属性を検査し、ファイルが暗号化済みまたは完全性検証済みであるかを判断する。ローカル・ネットワーク・ファイル・システムが、ファイルは暗号化済みであると暗号属性が示すと判断すると、ローカル・ネットワーク・ファイル・システムは、ファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われるファイルの暗号化を省略する。ローカル・ネットワーク・ファイル・システムが、ファイルは完全性検証済みであると暗号属性が示すと判断すると、ローカル・ネットワーク・ファイル・システムは、ファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われるファイルの完全性検証を省略する。次に、ローカル・ネットワーク・ファイル・システムは、ファイルをリモート・ネットワーク・ファイル・システムへ送信する。
【００１０】
本発明の特性を示すと考えられる新規特徴が、添付の特許請求の範囲に記載されている。なお、本発明そのもの、ならびにその好適な使用方法、さらなる目的および利点は、以下の例示実施形態の詳細な説明を参照し、添付の図面と併せて読むと、最もよく理解される。
【図面の簡単な説明】
【００１１】
【図１】例示実施形態が実装されるとよい分散型データ処理システムを図で表現したものである。
【図２】例示実施形態が実装されるとよいデータ処理システムのブロック図である。
【図３】図３Ａは、例示実施形態が実装されるとよい、暗号化によるセキュリティを含む典型的なデータ処理システムの概観を示すブロック図であり、図３Ｂは、例示実施形態による、典型的なクライアント暗号ファイル・システムのパススルー（ｐａｓｓｔｈｒｏｕｇｈ）実装を示すブロック図である。
【図４】例示実施形態による、典型的なクライアント暗号ファイル・システム実装を示すブロック図である。
【図５】例示実施形態による、典型的な暗号層（ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｌａｙｅｒ）および下位ファイル・システム（ｕｎｄｅｒｌｙｉｎｇ  ｆｉｌｅ  ｓｙｓｔｅｍ）の実装を示すブロック図である。
【図６】例示実施形態による、ファイル・システム・レベルでの透過認識データ変換を提供するプロセスのフロー・チャートである。
【図７】例示実施形態による、リクエストしているクライアントにファイル・システム内のデータを提供するプロセスのフロー・チャートである。
【発明を実施するための形態】
【００１２】
以下、図面、特に図１〜２を参照する。例示実施形態が実装されるとよいデータ処理環境の具体例としての図面が提供されている。当然のことながら、図１〜２は単なる例であり、他の実施形態が実装され得る環境について、いかなる制限を主張することも、示唆することも目的としていない。示されている環境に対して多数の変更が加えられ得る。
【００１３】
図１は、例示実施形態が実装されるとよいデータ処理システムのネットワークを図で表現したものである。ネットワーク・データ処理システム１００は、例示実施形態が実装されるとよい複数のコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含む。ネットワーク１０２は、ネットワーク・データ処理システム１００の中で接続されている様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク１０２は、ワイヤ、無線通信リンク、または光ファイバ・ケーブルなどの接続を含むとよい。
【００１４】
示されている例では、ストレージ・ユニット１０８に加えて、サーバ１０４およびサーバ１０６が、ネットワーク１０２に接続している。さらに、クライアント１１０、１１２および１１４が、ネットワーク１０２に接続している。クライアント１１０、１１２および１１４は、例えばパーソナル・コンピュータまたはネットワーク・コンピュータであればよい。示されている例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント１１０、１１２および１１４に提供する。クライアント１１０、１１２および１１４は、この例ではサーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、さらなるサーバ、クライアント、および図示されていないその他デバイスを含んでもよい。
【００１５】
示されている例では、ネットワーク・データ処理システム１００はインターネットであり、ネットワーク１０２は、相互通信のために複数プロトコルの伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）スイートを使用する、ネットワークおよびゲートウェイの世界的な集合を表している。インターネットの中心には、データおよびメッセージをルーティングする数千の商用、政府機関用、教育用、およびその他のコンピュータ・システムから成る主要ノードまたはホスト・コンピュータ間の、高速データ通信回線のバックボーンがある。当然、ネットワーク・データ処理システム１００はさらに、例えばインターネット、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）など、いくつかの異なるタイプのネットワークとして実装されてもよい。図１は、例として意図されたものであり、他の例示実施形態の、アーキテクチャ上の制限として意図されてはいない。
【００１６】
以下、図２を参照する。例示実施形態が実装されるとよいデータ処理システムのブロック図が示されている。データ処理システム２００は、図１のサーバ１０４またはクライアント１１０などのコンピュータの例であり、データ処理システム２００に、例示実施形態のプロセスを実装するコンピュータ使用可能プログラム・コードまたは命令が配置されるとよい。
【００１７】
示されている例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ：ｎｏｒｔｈ  ｂｒｉｄｇｅ  ａｎｄ  ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）２０２ならびにサウス・ブリッジおよび入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）コントローラ・ハブ（ＳＢ／ＩＣＨ：ｓｏｕｔｈ  ｂｒｉｄｇｅ  ａｎｄ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）２０４を含むハブ・アーキテクチャを採用している。処理ユニット２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０が、ノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に結合している。処理ユニット２０６は、１つ以上のプロセッサを含むとよく、１つ以上の異種プロセッサ・システムを使用して実装されることさえもできる。グラフィックス・プロセッサ２１０は、例えばアクセラレーテッド・グラフィックス・ポート（ＡＧＰ：ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）によってＮＢ／ＭＣＨに結合されてもよい。
【００１８】
示されている例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２が、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合され、オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読出し専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）およびその他のポート２３２、ならびにＰＣＩ／ＰＣＩｅデバイス２３４が、バス２３８によってサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合され、ハード・ディスク・ドライブ（ＨＤＤ：ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）２２６ならびにＣＤ‐ＲＯＭ２３０が、バス２４０によってサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合されている。ＰＣＩ／ＰＣＩｅデバイスは、例えば、Ｅｔｈｅｒｎｅｔ（Ｒ）アダプタ、アドイン・カード、およびノートブック・コンピュータ用のＰＣカードを含んでもよい。ＰＣＩはカード・バス・コントローラを使用し、一方でＰＣＩｅはカード・バス・コントローラを使用しない。ＲＯＭ２２４は、例えばフラッシュ・バイナリ入出力システム（ＢＩＯＳ：ｂｉｎａｒｙ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）であってもよい。ハード・ディスク・ドライブ２２６およびＣＤ‐ＲＯＭ２３０は、例えば、統合ドライブ・エレクトロニクス（ＩＤＥ：ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）またはシリアル・アドバンスト・テクノロジ・アタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インターフェースを使用してもよい。スーパーＩ／Ｏ（ＳＩＯ：ｓｕｐｅｒ  Ｉ／Ｏ）デバイス２３６が、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に結合されてもよい。
【００１９】
オペレーティング・システムが処理ユニット２０６上で実行されて、図２のデータ処理システム２００内の様々なコンポーネントを連携させ、その制御を実現する。オペレーティング・システムは、Ｍｉｃｒｏｓｏｆｔ（Ｒ）Ｗｉｎｄｏｗｓ（Ｒ）ＸＰ（ＭｉｃｒｏｓｏｆｔおよびＷｉｎｄｏｗｓは、米国、その他の国々、または両方におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標）などの市販のオペレーティング・システムとすればよい。Ｊａｖａ（商標）プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムと共に実行され、データ処理システム２００上で実行されているＪａｖａ（商標）プログラムまたはアプリケーションからオペレーティング・システムへのコールを実現してもよい。Ｊａｖａ（商標）およびＪａｖａ（商標）を基盤としたすべての商標は、米国、その他の国々、または両方におけるＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．の商標である。
【００２０】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションの命令、すなわちプログラムは、ハード・ディスク・ドライブ２２６などのストレージ・デバイスに配置され、処理ユニット２０６によって実行されるようメイン・メモリ２０８にロードされるとよい。例示実施形態のプロセスは、コンピュータ実装命令を使用して処理ユニット２０６により実行されるとよく、この命令は、例えばメイン・メモリ２０８、読出し専用メモリ２２４、または１つ以上の周辺デバイスなどのメモリに配置されればよい。
【００２１】
図１〜２のハードウェアは、実装に応じて異なってもよい。フラッシュ・メモリ、等価な不揮発性メモリ、もしくは光ディスク・ドライブおよび同様のものなど、他の内部ハードウェアまたは周辺デバイスが、図１〜２に示されているハードウェアに加えて、またはその代わりに使用されてもよい。さらに、例示実施形態のプロセスは、マルチプロセッサ・データ処理システムに適用されてもよい。
【００２２】
いくつかの例示実施形態では、データ処理システム２００は、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）であってもよい。ＰＤＡは、一般に、オペレーティング・システム・ファイルまたはユーザ生成データ、あるいはその両方を格納する不揮発性メモリを提供するようフラッシュ・メモリを備えた構成である。バス・システムは、システム・バス、Ｉ／ＯバスおよびＰＣＩバスなど、１つ以上のバスから成るとよい。当然、バス・システムは、通信構造またはアーキテクチャに接続された種々のコンポーネントまたはデバイス間のデータ転送を提供する、任意のタイプの通信構造またはアーキテクチャを使用して実装されるとよい。通信ユニットは、モデムまたはネットワーク・アダプタなど、データの送受信に使用される１つ以上のデバイスを含むとよい。メモリは、例えば、メイン・メモリ２０８、またはノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に見られるようなキャッシュであればよい。処理ユニットは、１つ以上のプロセッサ、すなわちＣＰＵを含むとよい。図１〜２に示されている例および上記の例は、アーキテクチャ上の制限を示唆しようとするものではない。例えば、データ処理システム２００はさらに、ＰＤＡという形をとるだけでなく、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話機であってもよい。
【００２３】
例示実施形態は、ファイル・システム・レベルで透過認識データ変換を提供して、ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするよう、コンピュータに実装された方法、データ処理システム、およびコンピュータ・プログラム製品を提供する。前述のように、既存のネットワーク・ファイル・システムの上位に暗号化層をスタックする際に対処すべき４つの重要な課題がある。各例示実施形態は、ネットワーク・ファイル・システム上でデータ転送をするときに、暗号ファイル・システムに、より最適な実行設定を検出させて使用させるという、特定された課題に対処する。例示実施形態は、暗号ファイル・システム層の下のネットワーク・ファイル・システムの属性に基づいた暗号ポリシの最適化をもたらす。
【００２４】
暗号ポリシを最適化するために、暗号ファイル・システム層は、ファイルをディスク上に格納する際に下位ネットワーク・ファイル・システムの属性を考慮に入れる。暗号ファイル・システム層は、ネットワーク・ファイル・システムに従ってファイルのフォーマットを調整する。この属性は、限定されるものではないが、待ち時間、転送ユニット・サイズ、およびリクエストの順序付け、ならびにエクステント・サイズ、ディスク上の暗号化ファイル・データのレイアウト、暗号アルゴリズム、および完全性アルゴリズムを含むと考えられる。下位ネットワーク・ファイル・システムの属性を考慮に入れれば、暗号化データを暗号層に対応するフォーマットでディスク上に格納することができる。対応するフォーマットを暗号層で使用すれば、リクエストしているクライアントまたはサーバにデータを送信するためにネットワーク・ファイル・システムが実行しなければならないデータ変換の量を最小限にすることができる。例えば、プロトコルの通常動作のもとで、データが復号化形式から暗号化形式に変換される必要がある場合、そのデータが、必要な暗号化形式で既に格納されていれば、変換プロセスは完全に省略されるとよい。このように、スタックされている暗号ファイル・システムに対応するフォーマットでデータが格納されることから、ネットワーク・ファイル・システムは、データが読み出されるときにデータの復号および完全性検証を行う必要がない。代わりに、ネットワーク・ファイル・システム上の層の暗号ファイル・システムが、データの復号および完全性検証に使用される。
【００２５】
図３Ａは、例示実施形態が実装されるとよい、暗号化によるセキュリティを含む典型的なデータ処理システムの概観を示すブロック図である。この実例では、データ処理システム３００が、暗号ファイル・システム層を含むクライアント（クライアント３０２）と、暗号化ファイルのパススルーを備えたサーバ（サーバ３０４）と、暗号ファイル・システム層を備えていないクライアント（クライアント３０６）とを含むよう示されている。
【００２６】
クライアント３０２内で、暗号層３０８が、下位ネットワーク・ファイル・システム３１０上にマウントされた仮想ファイル・システムを提供するよう使用される。任意の適切な暗号ファイル・システムが例示実施形態と共に使用されてよいが、暗号層３０８の特定の例を１つ挙げると、ｅＣｒｙｐｔｆｓがある。これは、Ｌｉｎｕｘ（商標）暗号ファイル・システムである。暗号層３０８は、物理ファイル・システムの細部から暗号化機能を分離させる。ネットワーク・ファイル・システム３１０内の暗号化データが、クライアント３０２の中でユーザ空間アプリケーション３１２からリクエストされると、暗号層３０８は、データを復号して、リクエストしているアプリケーションに復号化データを提供するとよい。
【００２７】
新たなファイルをネットワーク・ファイル・システム３１０内で作成するときは、ネットワーク・ファイル・システム３１０の上の暗号層３０８が、ネットワーク・ファイル・システム３１０内のオンディスク・ストレージの形式を選択し、その結果、最適なパフォーマンスおよびセキュリティを提供すると同時に、ネットワーク・ファイル・システム３１０により行われる作業が最小限に抑えられる。そのようなストレージ・フォーマットを選択するために、暗号層３０８は、ファイル・システムの様々な属性についてネットワーク・ファイル・システム３１０に問い合わせる。この属性には、最大転送ユニット（ＭＴＵ：ｍａｘｉｍｕｍ  ｔｒａｎｓｍｉｓｓｉｏｎ  ｕｎｉｔ）サイズまたはパケット・サイズ、使用される暗号化法（ｅｎｃｒｙｐｔｉｏｎ  ｃｉｐｈｅｒ）、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または完全性検証メカニズム（すなわちＨＭＡＣのハッシュ・タイプ）があると考えられる。ＭＴＵは、任意の単一データ・パケットに詰められるデータの最大量である。暗号化法は暗号化方法であり、ＡＥＳ‐１２８がその一例である。鍵サイズは鍵のサイズである。暗号ブロック連鎖モードは、連続するブロックがどのようにして連鎖させられるかを指定する。ハッシュ・タイプは、ハッシュ／ダイジェスト値（多対１のマッピング）を生成するために使用されるアルゴリズムを指定する。
【００２８】
この属性情報を、下位ネットワーク・ファイル・システム３１０と、スタックされている暗号層３０８との間で伝達するために、いくつかのメカニズムが採用され得る。例えば、ネットワーク・ファイル・システム３１０がファイル・オブジェクトに疑似ｘａｔｔｒ値（ｐｓｅｕｄｏ‐ｘａｔｔｒ  ｖａｌｕｅ）を入れるか、またはカーネル仮想ファイル・システム（ＶＦＳ：ｖｉｒｔｕａｌ  ｆｉｌｅ  ｓｙｓｔｅｍ）がカーネルｃｒｙｐｔｏ  ＡＰＩなどのアプリケーション・プログラミング・インターフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）を提供して、ファイル・システムがファイル・システム間で情報を通信できるようにしてもよい。
【００２９】
暗号層３０８は、この属性情報を考慮してデータを暗号化、完全性保護、および配列する。こうして、暗号層３０８は、データをサーバへ送信するためにネットワーク・ファイル・システムが必要とする追加データ変換が最小量となるように、属性情報に基づいて下位ネットワーク・ファイル・システム３１０にデータを書き込む。
【００３０】
この例では、サーバ３０４は、ネットワーク・ファイル・システム３１４、暗号ファイル・システム３１６、およびオンディスク・ファイル・システム３１８を含むように示されている。ネットワーク・ファイル・システム３１４は、下位オンディスク・ファイル・システム３１８上にスタックされているとよい。暗号化されていないデータが、オンディスク・ファイル・システム３１８からネットワーク・ファイル・システム３１４へとスタックの上側へ渡されるときに、暗号ファイル・システム３１６がデータを暗号化するために使用されるとよい。暗号化データがネットワーク・ファイル・システム３１４によって受け取られると、暗号ファイル・システム３１６はさらに、データを暗号化された状態でオンディスク・ファイル・システム３１８に書き込んでもよく、またはオンディスク・ファイル・システム３１８にデータを書き出す前にデータを復号してもよい。暗号ファイル・システム３１６はさらに、権限のないデータ変更を防止するデータ署名によってデータ完全性を実現するよう使用されてもよい。
【００３１】
クライアント３０６内には、暗号層は提供されていない。したがって、ネットワーク・ファイル・システム３２０が、ファイル・システムに格納されるデータの暗号化および復号を実現する。ネットワーク・ファイル・システム３２０内の暗号化データが、クライアント３０６の中のユーザ空間アプリケーション３２２からリクエストされると、ネットワーク・ファイル・システム３２０は、データを復号して、リクエストしているアプリケーションに復号化データを提供する。
【００３２】
対応するフォーマットを暗号層で使用することが、どのようにして、リクエストしているクライアントまたはサーバにデータを送信するためにネットワーク・ファイル・システムが実行しなければならないデータ変換の量を最小限にすることを可能にするのかを説明するために、様々な例を挙げる。例えば、一例において、クライアント３０２が、リクエストしているクライアント３０６にデータを送信する。したがって、この例では、クライアント３０２内の下位ネットワーク・ファイル・システム３１０が、クライアント３０６内のリモート・ネットワーク・ファイル・システム３２０にデータを提供する。クライアント３０２では、送信されるデータは、ユーザ空間アプリケーション３１２がデータを「ディスク」、すなわちネットワーク・ファイル・システム３１０に書き込むときなどに、既に暗号化層３０８を通り抜けている。データが既に暗号化層３０８を通過しているため、ネットワーク・ファイル・システム３１０が信頼できないドメインを介してデータを送信する前、データは既に、安全に暗号化済みである。この状況では、ネットワーク・ファイル・システム３１０は、暗号化データを、それ以上の暗号化は実行せずに、そのままでサーバ３０４まで通過させることができる。同じく、データが既に暗号化層３０８を通過していることから、データは、ネットワーク・ファイル・システム３１０がデータを送信する前に、既に完全性検証済みであると考えられる。この状況では、ネットワーク・ファイル・システム３１０は、データを、それ以上の完全性確認は実行せずに、そのままでサーバ３０４まで通過させることができる。したがって、データが既に署名（確認）済みであることから、データの完全性を再確認する必要なく、データをサーバ３０４に渡すことができる。
【００３３】
暗号化データがサーバ３０４に到着すると、サーバ３０４上のネットワーク・ファイル・システム３１４は、サーバのオンディスク・ファイル・システム３１８に、暗号化データを格納する。ファイルの暗号化または署名（完全性検証）あるいはその両方が既に行われていることを、受信側のネットワーク・ファイル・システムに伝達するために、暗号属性がデータのヘッダに挿入されるとよい。したがって、サーバのオンディスク・ファイル・システム３１８などの、受信側のネットワーク・ファイル・システムは、受信データの暗号操作または完全性検証が必要ないということを、暗号属性から判断するとよい。後に、別のネットワーク・ファイル・システムがネットワーク・ファイル・システム３１０からデータを読み出したいとき、サーバは、ネットワーク・ファイル・システム３１０から暗号化および完全性保護済みのデータを読み出し、必要最小量の作業を実行するだけで、リクエストしているクライアントにデータを送信することができる。
【００３４】
ファイルが暗号化または署名されていることを示す暗号属性を得るために、様々なメカニズムが使用され得る。そのようなメカニズムの１つであるｉｎｏｄｅメタデータは、データ・ヘッダ内に、ファイルが暗号化されているか（および使用された暗号化メカニズム）または署名されているかを示す情報を含んだ「拡張属性」を提供することができる。ファイルが既に暗号化または完全性検証済みであることを示すよう、ｉｎｏｄｅメタデータ内でフラグが使用されてもよい。もう１つのメカニズムであるｉｎｏｄｅデータは、ファイルが暗号化済みであるか、または署名済みであるか（および任意選択で、メカニズムがどのように使用されているか）を示す暗号情報から始まるデータを提供する。暗号情報を得るための第３のメカニズムは、暗号化ファイルのリストを含んだ別のファイルを使用する。例えば、各ディレクトリが、暗号化済みのファイル（および任意選択で、使用されている暗号化メカニズム）を記載している「．ｅｎｃｒｙｐｔｅｄ＿ｆｉｌｅｓ」という名前のファイルを含んでいてもよい。第４のメカニズムは、暗号化または署名されているファイル（例えば、特定の拡張子、特定の最小サイズ、または特定のファイル名パターンを有するすべてのファイル）を示す共通ポリシ（クライアントとサーバとの間で共通）を使用する。
【００３５】
サーバ３０４が、リクエストされたデータをクライアント３０６に提供するとき、サーバ３０４上のネットワーク・ファイル・システム３１４は、オンディスク・ファイル・システム３１８に格納されているリクエスト対象のデータが既に暗号化済みであると判断する。ネットワーク・ファイル・システム３１４が、データが既に暗号化済みである（クライアント３０２内の暗号化層３０８によって）ことを検出するため、ネットワーク・ファイル・システム３１４は、暗号化ステップを実行する必要がない。したがって、サーバ３０４は、暗号化データをクライアント３０６まで通過させるとよい。
【００３６】
受信側のクライアント３０６には暗号層は必要ない。クライアント３０６は、リクエストした（暗号化済みの）データを、ネットワーク・ファイル・システム３２０において受信するとよい。ネットワーク・ファイル・システム３２０は、データのヘッダ内の暗号属性を使用して、データを復号しないこと、代わりに暗号化データはそのままネットワーク・ファイル・システム３２０に書き込まれるべきであるということを判断する。その結果、ネットワーク・ファイル・システム３２０は、リクエストされたデータをユーザ空間アプリケーション３２２に提供するときに、リクエストされたデータを復号すればよい。
【００３７】
その一方、クライアント３０６が暗号層を含んでいないため、ネットワーク・ファイル・システム３２０は、リクエストされたデータをサーバ３０４へ送る前にデータの暗号化を実行しなければならない。一方、サーバ３０４が暗号化データを受信すると、サーバ３０４は、データを、その暗号化された状態で暗号層３１６まで通過させるとよい。暗号層３１６は、データを暗号化された状態でオンディスク・ファイル・システム３１８に書き出すか、または暗号層３１６は、オンディスク・ファイル・システム３１８に書き出す前にデータを復号するとよい。クライアント３０２上のネットワーク・ファイル・システム３１０などの別のネットワーク・ファイル・システム・クライアントが次にこのデータをリクエストしたとき、サーバ３０４は、オンディスク・ファイル・システム３１８に格納されている暗号化データを、クライアント３０２内の、リクエストしているネットワーク・ファイル・システム３１０に転送するだけでよい。次に、暗号層３０８が、ユーザ空間アプリケーション３１２に渡す前にデータの復号および完全性検証を行うとよい。
【００３８】
図３Ｂは、例示実施形態による、典型的なクライアント暗号ファイル・システムのパススルーの実装を示すブロック図である。この特定例は、ファイルがどのようにして、暗号操作の実行なしでオンディスク・ファイル・システムからサーバにコピーされるかを示す。
【００３９】
クライアント３３０は、ユーザ空間アプリケーション３３２と、暗号化層３３４および３３６と、オンディスク・ファイル・システム３３８と、ネットワーク・ファイル・システム３４０とを含む。この例では、ユーザ空間アプリケーション３３２は、ファイル（丸で表されている）を、ローカルのオンディスク・ファイル・システム３３８からサーバ３４２にコピーする。ファイルは既に、クライアント３３０内のオンディスク・ファイル・システム３３８において暗号化済みである。ファイル・ヘッダ内の暗号属性に基づき、暗号層３３４および３３６は、ファイルはユーザ空間アプリケーション３３２を介してネットワーク・ファイル・システム３４０に渡されるべきであると判断する。このように、データが単にローカルのオンディスク・ファイル・システムからネットワーク上のサーバへコピーされるだけの場合、送信されるデータは、プロセス全体を通して、その元の暗号化および完全性保護されたフォーマットのままであり、暗号操作は実行されない。次に、サーバ３４２は、暗号化データを、その暗号化形式で格納する。このプロセスは、データがサーバ３４２からクライアント３３０上のオンディスク・ファイル・システム３３８にコピーされるときも同じである。したがって、この例であればファイルが不必要に複数回暗号化および復号される必要があると考えられる既存システムとは対照的に、例示実施形態における制御論理は、そのようなファイルが暗号操作の実行なしでコピーされることを可能にする。
【００４０】
図４は、例示実施形態による、典型的なクライアント暗号ファイル・システム実装を示すブロック図である。カーネル空間４０２が、ｃｒｙｐｔｏ  ＡＰＩ４０４、鍵リング４０６、および暗号層４０８を含むよう示されている。暗号層４０８は、図３Ａの暗号層３０８の例である。この特定例では、暗号層４０８はｅＣｒｙｐｔｆｓ層である。暗号層４０８は、特にＪＦＳ（ｊｏｕｒｎａｌｅｄ  ｆｉｌｅ  ｓｙｓｔｅｍ：ジャーナル・ファイル・システム）４１２またはｅｘｔ３（第３拡張ファイル・システム）４１４などの下位ファイル・システム４１０上にスタックされている。暗号層４０８は、仮想ファイル・システム（ＶＦＳ）４１６を、ユーザ空間４２０内のアプリケーション４１８に提供する。アプリケーション４１８は、図３Ａのユーザ空間アプリケーション３１２の例である。
【００４１】
カーネル空間４０２内の鍵リング４０６は、暗号層４０８に暗号化鍵を提供する。
【００４２】
カーネル空間４０２はさらに、ｃｒｙｐｔｏ  ＡＰＩ４０４を含むように示されている。ｃｒｙｐｔｏ  ＡＰＩ４０４は、暗号層が下位レベルの暗号化および復号リクエストをするためのメカニズムを提供するアプリケーション・プログラミング・インターフェースである。
【００４３】
ユーザ空間４２０は、ｅｃｒｙｐｔｆｓｄ４２２を含む。ｅｃｒｙｐｔｆｓｄ４２２は、ｅＣｒｙｐｔｆｓカーネル・モジュールからの鍵暗号化および復号リクエストを処理するユーザ空間デーモンである。鍵モジュールＡＰＩ４２４は、カスタム鍵管理モジュール（例えばＲＳＡまたはトラステッド・プラットフォーム・モジュール（ＴＰＭ：Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ））のインターフェースを提供する。
【００４４】
図５は、例示実施形態による、典型的な暗号層および下位ファイル・システムを示すブロック図である。暗号層５０２は、図３Ａの暗号層３０８の例である。暗号層５０２は、メタデータ５０４および暗号ファイル５０６を含むよう示されている。メタデータ５０４は、暗号属性が格納される場所である。メタデータ５０４は、ネットワーク・ファイル・システムによって生成されるヘッダ情報として提供されるとよい。
【００４５】
ファイル・システム５０８は、図３Ａのネットワーク・ファイル・システム３１０の例である。この実例では、暗号層５０２が、Ｃｒｙｐｔｏ  ＡＰＩ５１０を使用して、ファイル・システム５０８についての属性情報を取得する。Ｃｒｙｐｔｏ  ＡＰＩ５１０は、下位ファイル５１２内の暗号化データ・エクステント属性を問い合わせることによって属性情報を取得し、この属性を暗号ファイル５０６に提供する。次に、暗号層５０２は、暗号ファイル５０６内のこの属性情報を使用して、暗号化データをファイル・システム５０８内に格納するフォーマットを、ファイル・システム５０８のこの属性に基づき選択する。
【００４６】
暗号層５０２はさらに、選択されたフォーマットに従ってデータを暗号化および復号するために、ファイル暗号化キー（ＦＥＫ：ｆｉｌｅ  ｅｎｃｒｙｐｔｉｏｎ  ｋｅｙ）暗号化／復号メカニズム５１４を使用する。例えば、新たなファイルが作成されると、暗号層５０２は、ファイル・システム５０８の属性に合わせたデータ・フォーマットでデータを暗号化および配列する。
【００４７】
さらに暗号属性（コンテキスト）５１６が、いかなる暗号操作も実行しないよう、またはデータを変換しないようファイル・システム５０８に伝達するために、データのヘッダ５１８内に設定されるとよい。後でデータがファイル・システム５０８から読み出されるとき、ファイル・システム５０８は、データを変換してはならないということがわかるであろう。代わりに、ファイル・システム５０８は、スタックされている暗号層５０２へとデータを渡すために必要な最小量の作業を実行することになる。その結果、暗号層５０２が、リクエストしているユーザ・アプリケーションにデータを渡す前に、ＦＥＫ暗号化／復号メカニズム５１４を使用してデータを復号および完全性検証するとよい。
【００４８】
図６は、例示実施形態による、ファイル・システム・レベルで透過認識データ変換を提供するプロセスのフロー・チャートである。図６に記載されているプロセスが、図３Ａのデータ処理システム３００などのデータ処理システムにおいて実装されるとよい。具体的には、このプロセスは、図３Ａのクライアント３０２など、暗号層を含むクライアントによって実行されるとよい。
【００４９】
このプロセスは、新たなファイルが作成されると開始する（ステップ６０２）。クライアント内でネットワーク・ファイル・システム上の層の暗号ファイル・システムが、ネットワーク・ファイル・システムに、そのファイル・システムの様々な属性について問い合わせる（ステップ６０４）。一実施形態では、ネットワーク・ファイル・システムは、ファイル・オブジェクトに疑似ｘａｔｔｒ値を入れることによって、属性情報を暗号層に伝達するとよい。あるいは、暗号ファイル・システムと、ネットワーク・ファイル・システムとが互いに情報伝達できるようにするために、ＡＰＩが提供されてもよい。
【００５０】
属性情報が取得されると、暗号ファイル・システムは、下位ファイル・システムの属性に基づいて、新たなファイルを暗号化、検証および配列する（ステップ６０６）。暗号ファイル・システムはさらに、暗号属性をファイルのヘッダに挿入するとよい。これによって、ファイルがリモート・ネットワーク・ファイル・システムからリクエストされたときに、リクエストしているクライアントにファイルを送信する前にファイルの暗号化または完全性検証あるいはその両方を行う必要がないことを、ネットワーク・ファイル・システムに通知することができる（ステップ６０８）。次に、暗号ファイル・システムは、暗号化および検証済みのファイルをディスクに書き込む（ステップ６１０）。
【００５１】
図７は、例示実施形態による、リクエストしているクライアントにファイル・システム内のデータを提供するプロセスのフロー・チャートである。図７に記載されているプロセスが、図３Ａのデータ処理システム３００などのデータ処理システムにおいて実装されるとよい。なお、この典型的なプロセスは、ネットワーク・ファイル・システムが、データに対して暗号操作を実行することなく暗号化データを渡すことができるデータ・プライバシ・プロセスを表すが、この典型的なプロセスは、ネットワーク・ファイル・システムが、データは既に署名（検証）されていると判断した場合に、データに対して完全性検証動作を実行することなくデータを渡すことができる、データ完全性プロセスにも適用可能である。
【００５２】
プロセスは、ローカル・クライアント上のネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、リモート・クライアントから受信することによって開始する（ステップ７０２）。リクエストを受信すると、ネットワーク・ファイル・システムは、リクエストされたファイルが既に暗号化または完全性検証あるいはその両方を行われているかどうかを判断する（ステップ７０４）。この判断は、ファイルのヘッダを検査して、ファイルの暗号化または検証あるいはその両方が必要ないことを示す暗号属性をヘッダが含んでいるかどうかを判断することによって下される。ファイルのヘッダが、リクエストされたファイルが暗号化または検証あるいはその両方を行われていないことを示すと（ステップ７０４の「いいえ」の出力）、ネットワーク・ファイル・システム（またはクライアントが暗号層を含んでいればクライアントの暗号層）が、ファイルの暗号化または検証あるいはその両方を行い（ステップ７０６）、プロセスはステップ７１０へ続く。
【００５３】
ステップ７０４へ戻る。ファイルのヘッダが、リクエストされたファイルが既に暗号化または検証あるいはその両方を行われていることを示すと（ステップ７０４の「はい」の出力）、リクエストされたファイルの暗号化または検証あるいはその両方がネットワーク・ファイル・システムによって実行される必要はなく、ローカル・クライアント上のネットワーク・ファイル・システムは、ファイルをそのまま通過させるとよい（ステップ７０８）。次に、ローカル・クライアントは、暗号化または検証あるいはその両方が行われたファイルを、サーバ上のネットワーク・ファイル・システムへ送信する（ステップ７１０）。
【００５４】
リクエストされたファイルがサーバで受信されると、ネットワーク・ファイル・システムは、ファイルのヘッダを検査し、そのファイルが既に暗号化または完全性検証あるいはその両方を行われていると判断する（ステップ７１２）。ファイルが既に暗号化または検証あるいはその両方を行われていることから、サーバは、そのファイルの暗号化または検証あるいはその両方のプロセスを省略して、ファイルをリモート・クライアントまで通過させる（ステップ７１４）。
【００５５】
リクエストされたファイルがリモート・クライアントで受信されると、次に、リモート・クライアント上の暗号ファイル・システムまたはネットワーク・ファイル・システムは、暗号化および検証された状態でファイルをリモート・クライアントのオンディスク・ファイル・システムに書き込んでもよく、またはネットワーク・ファイル・システムが、ファイルをリモート・クライアントのオンディスク・ファイル・システムに書き込む前にファイルの復号および完全性検証を行ってもよい（ステップ７１６）。
【００５６】
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素およびソフトウェア要素両方を含んだ実施形態という形をとることができる。好適な実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定はされないソフトウェアにおいて実装される。
【００５７】
さらに、本発明は、コンピュータまたは任意の命令実行システムにより使用される、またはそれに関連して使用されるプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラム製品という形をとることができる。本記載では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスにより使用される、またはこれらに関連して使用されるプログラムを、含むこと、格納すること、伝達すること、伝播させること、または転送することができる任意の有形の装置とすることができる。
【００５８】
媒体は、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム（または装置もしくはデバイス）、または伝播媒質としてもよい。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスクおよび光ディスクがある。光ディスクの現在の例には、コンパクト・ディスク‐読み取り専用メモリ（ＣＤ‐ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ‐ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク‐読み取り／書き込み（ＣＤ‐Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ‐ｒｅａｄ／ｗｒｉｔｅ）およびＤＶＤがある。
【００５９】
プログラム・コードの格納または実行、あるいはその両方を行うのに適したデータ処理システムは、システム・バスを介して直接的または間接的にメモリ要素に結合された、少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリと、大容量ストレージと、実行中に大容量ストレージからコードを読み出さなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリとを含むことができる。
【００６０】
入出力、すなわちＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）デバイス（限定されるものではないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）が、直接、または介在するＩ／Ｏ制御器を介してシステムに結合されるとよい。
【００６１】
データ処理システムを、介在するプライベート・ネットワークまたはパブリック・ネットワークを介して他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに結合できるよう、ネットワーク・アダプタもシステムに結合されているとよい。モデム、ケーブル・モデムおよびＥｔｈｅｒｎｅｔ（Ｒ）カードが、現時点で入手可能なタイプのネットワーク・アダプタのごく一部である。
【００６２】
本発明の記載は、例示および説明のために提示されたものであり、網羅的であることも、開示された形の発明に限定することも意図されてはいない。多数の変更物および変形物が、当業者には明らかとなる。実施形態は、本発明の原理、実際の適用を最もよく説明するよう、さらに、他の当業者が本発明を、意図される特定用途に適する様々な変更と共に、様々な実施形態について理解できるようにするよう選択および記載されている。
【図１】
2010534875.tif 000003
【図２】
2010534875.tif 000004
【図３】
2010534875.tif 000005
【図４】
2010534875.tif 000006
【図５】
2010534875.tif 000007
【図６】
2010534875.tif 000008
【図７】
2010534875.tif 000009
【手続補正書】
【提出日】平成22年3月31日(2010.3.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク・ファイルを管理する方法であって、
ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信するステップと、
前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査するステップと、
前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略するステップと、
前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略するステップと、
前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するステップと、
を含む方法。
【請求項２】
前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用するステップと、
前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行うステップと、
前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を、前記ファイルのヘッダに挿入するステップと、
前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似ｘａｔｔｒ値を入れることによって、前記属性を前記暗号ファイル・システムに伝達する、請求項２に記載の方法。
【請求項４】
前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達する、請求項２に記載の方法。
【請求項５】
前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しない、請求項１に記載の方法。
【請求項６】
前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号する、請求項５に記載の方法。
【請求項７】
前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わない、請求項１に記載の方法。
【請求項８】
前記リモート・ネットワーク・ファイル・システムを含むクライアントは、暗号ファイル・システムを含んでいない、請求項１に記載の方法。
【請求項９】
前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項１０】
前記暗号属性は、ｉｎｏｄｅメタデータ、ｉｎｏｄｅデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの１つに配置される、請求項１に記載の方法。
【請求項１１】
ネットワーク・ファイルを管理するデータ処理システムであって、
バスと、
前記バスに接続され、コンピュータ使用可能コードを含んだストレージ・デバイスと、
前記バスに接続されている少なくとも１つの管理対象デバイスと、
前記バスに接続されている通信ユニットと、
前記バスに接続されている処理ユニットであって、ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信し、前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために前記ファイルに関連する暗号属性を検査し、前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略し、前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略し、前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するために、前記コンピュータ使用可能コードを実行する、前記処理ユニットと、
を含む、データ処理システム。
【請求項１２】
前記処理ユニットはさらに、前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用し、前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行い、前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を前記ファイルのヘッダに挿入し、前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むために、前記コンピュータ使用可能コードを実行する、請求項１１に記載のデータ処理システム。
【請求項１３】
ネットワーク・ファイルを管理するためのコンピュータ・プログラムであって、前記コンピュータ使用可能プログラムは、コンピュータに、
ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信するための機能と、
前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査するための機能と、
前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略するための機能と、
前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略するための機能と、
前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するための機能と、
を実行させる、コンピュータ・プログラム。
【請求項１４】
前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用するための機能と、
前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行うための機能と、
前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を、前記ファイルのヘッダに挿入するための機能と、
前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むための機能と、
をさらに含む、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似ｘａｔｔｒ値を入れることによって、前記属性を前記暗号ファイル・システムに伝達する、請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達する、請求項１４に記載のコンピュータ・プログラム。
【請求項１７】
前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しない、請求項１３に記載のコンピュータ・プログラム。
【請求項１８】
前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号する、請求項１３に記載のコンピュータ・プログラム。
【請求項１９】
前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わない、請求項１３に記載のコンピュータ・プログラム。
【請求項２０】
ネットワーク・ファイルを管理する装置であって、
ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信する手段と、
前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査する手段と、
前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略する手段と、
前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略する手段と、
前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信する手段と、
を含む装置。
【国際調査報告】
2010534875.tif 000010