JP2010534875A - ファイル・システム・レベルでの透過認識データ変換 - Google Patents

ファイル・システム・レベルでの透過認識データ変換 Download PDF

Info

Publication number
JP2010534875A
JP2010534875A JP2010517387A JP2010517387A JP2010534875A JP 2010534875 A JP2010534875 A JP 2010534875A JP 2010517387 A JP2010517387 A JP 2010517387A JP 2010517387 A JP2010517387 A JP 2010517387A JP 2010534875 A JP2010534875 A JP 2010534875A
Authority
JP
Japan
Prior art keywords
file
file system
network file
local network
cryptographic
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.)
Granted
Application number
JP2010517387A
Other languages
English (en)
Other versions
JP4929398B2 (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010534875A publication Critical patent/JP2010534875A/ja
Application granted granted Critical
Publication of JP4929398B2 publication Critical patent/JP4929398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

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

Abstract

【課題】ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするメカニズムを提供する。
【解決手段】ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストが受信されると、ローカル・ネットワーク・ファイル・システムは、ファイルに関連する暗号属性を検査して、そのファイルが暗号化済みであるか、または完全性検証済みであるかを判断する。ファイルは暗号化済みであると暗号属性が示すと、ローカル・ネットワーク・ファイル・システムは、そのファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われる、そのファイルの暗号化を省略する。ファイルは完全性検証済みであると暗号属性が示すと、ローカル・ネットワーク・ファイル・システムは、そのファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われる、そのファイルの完全性検証を省略する。次に、ローカル・ネットワーク・ファイル・システムは、そのファイルをリモート・ネットワーク・ファイル・システムへ送信する。
【選択図】図3

Description

本発明は、全般的に、改良されたデータ処理システムに関し、特に、ファイル・システム・レベルで透過認識データ変換(transparent aware data transformation)を提供して、ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするよう、コンピュータに実装された方法、データ処理システム、およびコンピュータ・プログラム製品に関する。
多くのデータ処理システムは、保護が必要な機密データおよび機密操作を含む。安全なデータ通信は、限定されるものではないが、銀行取引、電子商取引、オンライン株式取引、企業間取引などを含む広範な事業において必須である。ネットワーク、およびインターネットへの接続性の拡大に伴い、権限のない受信者によって秘密情報が予想外に傍受されることを防ぐために、秘密情報を適切に扱うことが益々重要になってきた。企業は、通常、秘密情報の指定および扱いに関する方針を定めている。例えば、企業のネットワーク外、または選択されたコンピュータ以外でファイルを転送するには、秘密情報を含むすべてのファイルの暗号化が求められることもある。
機密性およびセキュリティの課題に対処するよう提案されている様々な解決法において、暗号法が極めて重要な役割を果たしている。暗号法は技術群を含み、この技術のうちの2つが、暗号化および復号である。暗号化は、権限のないアクセスを、特にデータ送信中に防ぐために、データを符号化するプロセスである。暗号化は鍵を使用し、この鍵が、解読に必要とされる。暗号化は、暗号鍵がなければ復号できない形式にデータを変換することによってプライバシーを確保する。復号は、暗号化の逆である。復号は、暗号鍵を使用して、暗号化データを元の形式に再変換する。
暗号化方式の1つが、セキュア・ソケット・レイヤ(SSL:Secure Sockets Layer)である。この標準は、インターネット上で広く使用されているセキュリティ・プロトコルである。SSLは、「公開鍵暗号法」と呼ばれる技法を用いて、機密ファイルがサーバとクライアントとの間で転送されるときに確実に保護されるようにする。公開鍵暗号化では、暗号化に一対の鍵を使用する非対称方式が採用されている。公開鍵暗号法では、各人に公開鍵および秘密鍵の一対の鍵を提供する必要がある。通常、公開鍵は公開され、秘密鍵は秘密にされる。公開鍵がデータを暗号化し、対応する秘密鍵がそのデータを復号する。
秘密鍵は、公開鍵暗号化で使用される片方の鍵である。通常、ユーザは、秘密鍵を秘密にし、それを使用してデジタル署名の暗号化および受信メッセージの復号を行う。公開鍵暗号化の種類には、リヴェスト・シャーマー・アドルマン(RSA:Rivest‐Shamir‐Adleman)暗号化がある。これは、プリティ・グッド・プライバシ(PGP:Pretty Good Privacy)暗号化プログラムなどのプログラムが基づいている公開鍵暗号化アルゴリズムである。もう1つの暗号化技術は、広く使用されている鍵交換プロトコルであるデフィー・ヘルマン(DH:Diffie−Hellman)暗号化である。
暗号化は、ファイルがストレージ内にある間にそれを保護するためにも使用される。例えば、侵入者またはその他権限のない者がファイルを読み出すこと、またはファイルにアクセスすることを防ぐために、ユーザがハード・ディスク上のファイルを暗号化したいこともある。したがって、暗号化により、秘密復号鍵なしでは誰にも解読できない形式にデータが変換されるとよい。
このように、暗号化は、安全でない通信路上での安全な通信を可能にする。しかし、IPセキュリティ(IPSec:IP Security)またはセキュア・ソケット・レイヤ(SSL)接続を使用するデータ転送の前後に、安全でないネットワーク接続上でデータを暗号化および復号する従来の技法は、計算上コストがかかる。既存のクライアント・ファイル・システムの実装を変更するのは高コストになり得るため、既存のネットワーク・ファイル・システム(NFS:Network File System)、共通インターネット・ファイル・システム(CIFS:Common Internet File System)、またはゼネラル・パラレル・ファイル・システム(GPFS:General Parallel File System)クライアント上に暗号化ファイル・システムまたはフィルタ・ドライバをスタックすることが可能であることが多い。暗号化ファイル・システムは、ファイル・システム全体またはファイル・システムのサブセットの暗号化を可能にする。暗号ファイル・システム(CFS:Cryptographic File System)およびeCryptfsなどの暗号化ファイル・システム(encryption file system)は、暗号化された形式でディスク上にファイルを格納するため、ファイルをサーバへ転送する前にそのファイルを再暗号化する必要がない。実際には、いくつかの暗号法(cryptographic cipher)に関しては、同じ暗号法および同じ鍵で2度データを暗号化すると、その暗号化により提供されるセキュリティのレベルが下がることもある。
しかし、既存のネットワーク・ファイル・システムの上位に暗号化層(encryption layer)をスタックする際に対処すべき4つの重要な課題がある。第1の課題は、同じinodeに作用する、暗号ファイル・システム層の複数のクライアント実装にわたって、アクセスをシリアル化することである。第2の課題は、ユーザおよびクライアント・タイプに基づいて、復号化ファイル・データを含むすべてのトラフィックを暗号化するか、またはネットワーク・ファイル・システム・トラフィックの暗号化ファイル・データは暗号化しないかを、サーバに決定させることである。第3の課題は、クライアントおよびサーバ上で、鍵ストア(および関連する汎用一意識別子(UUID:universally unique identifier)の一貫性のあるビューを保持することである。第4の課題は、暗号ファイル・システムに、ネットワーク・ファイル・システム上でのデータ転送時、読み書きのブロック・サイズなど、より最適な実行設定を検出させ、使用させることである。
例示実施形態は、ファイル・システム・レベルにおいて、透過認識データ変換を提供して、ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするよう、コンピュータに実装された方法、データ処理システム、およびコンピュータ・プログラム製品を提供する。ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストが、リモート・ネットワーク・ファイル・システムからローカル・ネットワーク・ファイル・システムによって受信されると、ローカル・ネットワーク・ファイル・システムは、そのファイルに関連する暗号属性を検査し、ファイルが暗号化済みまたは完全性検証済みであるかを判断する。ローカル・ネットワーク・ファイル・システムが、ファイルは暗号化済みであると暗号属性が示すと判断すると、ローカル・ネットワーク・ファイル・システムは、ファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われるファイルの暗号化を省略する。ローカル・ネットワーク・ファイル・システムが、ファイルは完全性検証済みであると暗号属性が示すと判断すると、ローカル・ネットワーク・ファイル・システムは、ファイルをリモート・ネットワーク・ファイル・システムに渡す前にローカル・ネットワーク・ファイル・システムによって行われるファイルの完全性検証を省略する。次に、ローカル・ネットワーク・ファイル・システムは、ファイルをリモート・ネットワーク・ファイル・システムへ送信する。
本発明の特性を示すと考えられる新規特徴が、添付の特許請求の範囲に記載されている。なお、本発明そのもの、ならびにその好適な使用方法、さらなる目的および利点は、以下の例示実施形態の詳細な説明を参照し、添付の図面と併せて読むと、最もよく理解される。
例示実施形態が実装されるとよい分散型データ処理システムを図で表現したものである。 例示実施形態が実装されるとよいデータ処理システムのブロック図である。 図3Aは、例示実施形態が実装されるとよい、暗号化によるセキュリティを含む典型的なデータ処理システムの概観を示すブロック図であり、図3Bは、例示実施形態による、典型的なクライアント暗号ファイル・システムのパススルー(passthrough)実装を示すブロック図である。 例示実施形態による、典型的なクライアント暗号ファイル・システム実装を示すブロック図である。 例示実施形態による、典型的な暗号層(cryptographic layer)および下位ファイル・システム(underlying file system)の実装を示すブロック図である。 例示実施形態による、ファイル・システム・レベルでの透過認識データ変換を提供するプロセスのフロー・チャートである。 例示実施形態による、リクエストしているクライアントにファイル・システム内のデータを提供するプロセスのフロー・チャートである。
以下、図面、特に図1〜2を参照する。例示実施形態が実装されるとよいデータ処理環境の具体例としての図面が提供されている。当然のことながら、図1〜2は単なる例であり、他の実施形態が実装され得る環境について、いかなる制限を主張することも、示唆することも目的としていない。示されている環境に対して多数の変更が加えられ得る。
図1は、例示実施形態が実装されるとよいデータ処理システムのネットワークを図で表現したものである。ネットワーク・データ処理システム100は、例示実施形態が実装されるとよい複数のコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含む。ネットワーク102は、ネットワーク・データ処理システム100の中で接続されている様々なデバイスおよびコンピュータ間の通信リンクを提供するために使用される媒体である。ネットワーク102は、ワイヤ、無線通信リンク、または光ファイバ・ケーブルなどの接続を含むとよい。
示されている例では、ストレージ・ユニット108に加えて、サーバ104およびサーバ106が、ネットワーク102に接続している。さらに、クライアント110、112および114が、ネットワーク102に接続している。クライアント110、112および114は、例えばパーソナル・コンピュータまたはネットワーク・コンピュータであればよい。示されている例では、サーバ104は、ブート・ファイル、オペレーティング・システム・イメージ、およびアプリケーションなどのデータをクライアント110、112および114に提供する。クライアント110、112および114は、この例ではサーバ104に対するクライアントである。ネットワーク・データ処理システム100は、さらなるサーバ、クライアント、および図示されていないその他デバイスを含んでもよい。
示されている例では、ネットワーク・データ処理システム100はインターネットであり、ネットワーク102は、相互通信のために複数プロトコルの伝送制御プロトコル/インターネット・プロトコル(TCP/IP:Transmission Control Protocol/Internet Protocol)スイートを使用する、ネットワークおよびゲートウェイの世界的な集合を表している。インターネットの中心には、データおよびメッセージをルーティングする数千の商用、政府機関用、教育用、およびその他のコンピュータ・システムから成る主要ノードまたはホスト・コンピュータ間の、高速データ通信回線のバックボーンがある。当然、ネットワーク・データ処理システム100はさらに、例えばインターネット、ローカル・エリア・ネットワーク(LAN:local area network)、または広域ネットワーク(WAN:wide area network)など、いくつかの異なるタイプのネットワークとして実装されてもよい。図1は、例として意図されたものであり、他の例示実施形態の、アーキテクチャ上の制限として意図されてはいない。
以下、図2を参照する。例示実施形態が実装されるとよいデータ処理システムのブロック図が示されている。データ処理システム200は、図1のサーバ104またはクライアント110などのコンピュータの例であり、データ処理システム200に、例示実施形態のプロセスを実装するコンピュータ使用可能プログラム・コードまたは命令が配置されるとよい。
示されている例では、データ処理システム200は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH:north bridge and memory controller hub)202ならびにサウス・ブリッジおよび入出力(I/O:input/output)コントローラ・ハブ(SB/ICH:south bridge and input/output controller hub)204を含むハブ・アーキテクチャを採用している。処理ユニット206、メイン・メモリ208、およびグラフィックス・プロセッサ210が、ノース・ブリッジおよびメモリ・コントローラ・ハブ202に結合している。処理ユニット206は、1つ以上のプロセッサを含むとよく、1つ以上の異種プロセッサ・システムを使用して実装されることさえもできる。グラフィックス・プロセッサ210は、例えばアクセラレーテッド・グラフィックス・ポート(AGP:accelerated graphics port)によってNB/MCHに結合されてもよい。
示されている例では、ローカル・エリア・ネットワーク(LAN)アダプタ212が、サウス・ブリッジおよびI/Oコントローラ・ハブ204に結合され、オーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、読出し専用メモリ(ROM:read only memory)224、ユニバーサル・シリアル・バス(USB:universal serial bus)およびその他のポート232、ならびにPCI/PCIeデバイス234が、バス238によってサウス・ブリッジおよびI/Oコントローラ・ハブ204に結合され、ハード・ディスク・ドライブ(HDD:hard disk drive)226ならびにCD‐ROM230が、バス240によってサウス・ブリッジおよびI/Oコントローラ・ハブ204に結合されている。PCI/PCIeデバイスは、例えば、Ethernet(R)アダプタ、アドイン・カード、およびノートブック・コンピュータ用のPCカードを含んでもよい。PCIはカード・バス・コントローラを使用し、一方でPCIeはカード・バス・コントローラを使用しない。ROM224は、例えばフラッシュ・バイナリ入出力システム(BIOS:binary input/output system)であってもよい。ハード・ディスク・ドライブ226およびCD‐ROM230は、例えば、統合ドライブ・エレクトロニクス(IDE:integrated drive electronics)またはシリアル・アドバンスト・テクノロジ・アタッチメント(SATA:serial advanced technology attachment)インターフェースを使用してもよい。スーパーI/O(SIO:super I/O)デバイス236が、サウス・ブリッジおよびI/Oコントローラ・ハブ204に結合されてもよい。
オペレーティング・システムが処理ユニット206上で実行されて、図2のデータ処理システム200内の様々なコンポーネントを連携させ、その制御を実現する。オペレーティング・システムは、Microsoft(R)Windows(R)XP(MicrosoftおよびWindowsは、米国、その他の国々、または両方におけるMicrosoft Corporationの商標)などの市販のオペレーティング・システムとすればよい。Java(商標)プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムと共に実行され、データ処理システム200上で実行されているJava(商標)プログラムまたはアプリケーションからオペレーティング・システムへのコールを実現してもよい。Java(商標)およびJava(商標)を基盤としたすべての商標は、米国、その他の国々、または両方におけるSun Microsystems,Inc.の商標である。
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションの命令、すなわちプログラムは、ハード・ディスク・ドライブ226などのストレージ・デバイスに配置され、処理ユニット206によって実行されるようメイン・メモリ208にロードされるとよい。例示実施形態のプロセスは、コンピュータ実装命令を使用して処理ユニット206により実行されるとよく、この命令は、例えばメイン・メモリ208、読出し専用メモリ224、または1つ以上の周辺デバイスなどのメモリに配置されればよい。
図1〜2のハードウェアは、実装に応じて異なってもよい。フラッシュ・メモリ、等価な不揮発性メモリ、もしくは光ディスク・ドライブおよび同様のものなど、他の内部ハードウェアまたは周辺デバイスが、図1〜2に示されているハードウェアに加えて、またはその代わりに使用されてもよい。さらに、例示実施形態のプロセスは、マルチプロセッサ・データ処理システムに適用されてもよい。
いくつかの例示実施形態では、データ処理システム200は、携帯情報端末(PDA:personal digital assistant)であってもよい。PDAは、一般に、オペレーティング・システム・ファイルまたはユーザ生成データ、あるいはその両方を格納する不揮発性メモリを提供するようフラッシュ・メモリを備えた構成である。バス・システムは、システム・バス、I/OバスおよびPCIバスなど、1つ以上のバスから成るとよい。当然、バス・システムは、通信構造またはアーキテクチャに接続された種々のコンポーネントまたはデバイス間のデータ転送を提供する、任意のタイプの通信構造またはアーキテクチャを使用して実装されるとよい。通信ユニットは、モデムまたはネットワーク・アダプタなど、データの送受信に使用される1つ以上のデバイスを含むとよい。メモリは、例えば、メイン・メモリ208、またはノース・ブリッジおよびメモリ・コントローラ・ハブ202に見られるようなキャッシュであればよい。処理ユニットは、1つ以上のプロセッサ、すなわちCPUを含むとよい。図1〜2に示されている例および上記の例は、アーキテクチャ上の制限を示唆しようとするものではない。例えば、データ処理システム200はさらに、PDAという形をとるだけでなく、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話機であってもよい。
例示実施形態は、ファイル・システム・レベルで透過認識データ変換を提供して、ネットワーク・ファイルの効率的な暗号化および完全性確認を可能にするよう、コンピュータに実装された方法、データ処理システム、およびコンピュータ・プログラム製品を提供する。前述のように、既存のネットワーク・ファイル・システムの上位に暗号化層をスタックする際に対処すべき4つの重要な課題がある。各例示実施形態は、ネットワーク・ファイル・システム上でデータ転送をするときに、暗号ファイル・システムに、より最適な実行設定を検出させて使用させるという、特定された課題に対処する。例示実施形態は、暗号ファイル・システム層の下のネットワーク・ファイル・システムの属性に基づいた暗号ポリシの最適化をもたらす。
暗号ポリシを最適化するために、暗号ファイル・システム層は、ファイルをディスク上に格納する際に下位ネットワーク・ファイル・システムの属性を考慮に入れる。暗号ファイル・システム層は、ネットワーク・ファイル・システムに従ってファイルのフォーマットを調整する。この属性は、限定されるものではないが、待ち時間、転送ユニット・サイズ、およびリクエストの順序付け、ならびにエクステント・サイズ、ディスク上の暗号化ファイル・データのレイアウト、暗号アルゴリズム、および完全性アルゴリズムを含むと考えられる。下位ネットワーク・ファイル・システムの属性を考慮に入れれば、暗号化データを暗号層に対応するフォーマットでディスク上に格納することができる。対応するフォーマットを暗号層で使用すれば、リクエストしているクライアントまたはサーバにデータを送信するためにネットワーク・ファイル・システムが実行しなければならないデータ変換の量を最小限にすることができる。例えば、プロトコルの通常動作のもとで、データが復号化形式から暗号化形式に変換される必要がある場合、そのデータが、必要な暗号化形式で既に格納されていれば、変換プロセスは完全に省略されるとよい。このように、スタックされている暗号ファイル・システムに対応するフォーマットでデータが格納されることから、ネットワーク・ファイル・システムは、データが読み出されるときにデータの復号および完全性検証を行う必要がない。代わりに、ネットワーク・ファイル・システム上の層の暗号ファイル・システムが、データの復号および完全性検証に使用される。
図3Aは、例示実施形態が実装されるとよい、暗号化によるセキュリティを含む典型的なデータ処理システムの概観を示すブロック図である。この実例では、データ処理システム300が、暗号ファイル・システム層を含むクライアント(クライアント302)と、暗号化ファイルのパススルーを備えたサーバ(サーバ304)と、暗号ファイル・システム層を備えていないクライアント(クライアント306)とを含むよう示されている。
クライアント302内で、暗号層308が、下位ネットワーク・ファイル・システム310上にマウントされた仮想ファイル・システムを提供するよう使用される。任意の適切な暗号ファイル・システムが例示実施形態と共に使用されてよいが、暗号層308の特定の例を1つ挙げると、eCryptfsがある。これは、Linux(商標)暗号ファイル・システムである。暗号層308は、物理ファイル・システムの細部から暗号化機能を分離させる。ネットワーク・ファイル・システム310内の暗号化データが、クライアント302の中でユーザ空間アプリケーション312からリクエストされると、暗号層308は、データを復号して、リクエストしているアプリケーションに復号化データを提供するとよい。
新たなファイルをネットワーク・ファイル・システム310内で作成するときは、ネットワーク・ファイル・システム310の上の暗号層308が、ネットワーク・ファイル・システム310内のオンディスク・ストレージの形式を選択し、その結果、最適なパフォーマンスおよびセキュリティを提供すると同時に、ネットワーク・ファイル・システム310により行われる作業が最小限に抑えられる。そのようなストレージ・フォーマットを選択するために、暗号層308は、ファイル・システムの様々な属性についてネットワーク・ファイル・システム310に問い合わせる。この属性には、最大転送ユニット(MTU:maximum transmission unit)サイズまたはパケット・サイズ、使用される暗号化法(encryption cipher)、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または完全性検証メカニズム(すなわちHMACのハッシュ・タイプ)があると考えられる。MTUは、任意の単一データ・パケットに詰められるデータの最大量である。暗号化法は暗号化方法であり、AES‐128がその一例である。鍵サイズは鍵のサイズである。暗号ブロック連鎖モードは、連続するブロックがどのようにして連鎖させられるかを指定する。ハッシュ・タイプは、ハッシュ/ダイジェスト値(多対1のマッピング)を生成するために使用されるアルゴリズムを指定する。
この属性情報を、下位ネットワーク・ファイル・システム310と、スタックされている暗号層308との間で伝達するために、いくつかのメカニズムが採用され得る。例えば、ネットワーク・ファイル・システム310がファイル・オブジェクトに疑似xattr値(pseudo‐xattr value)を入れるか、またはカーネル仮想ファイル・システム(VFS:virtual file system)がカーネルcrypto APIなどのアプリケーション・プログラミング・インターフェース(API:application programming interface)を提供して、ファイル・システムがファイル・システム間で情報を通信できるようにしてもよい。
暗号層308は、この属性情報を考慮してデータを暗号化、完全性保護、および配列する。こうして、暗号層308は、データをサーバへ送信するためにネットワーク・ファイル・システムが必要とする追加データ変換が最小量となるように、属性情報に基づいて下位ネットワーク・ファイル・システム310にデータを書き込む。
この例では、サーバ304は、ネットワーク・ファイル・システム314、暗号ファイル・システム316、およびオンディスク・ファイル・システム318を含むように示されている。ネットワーク・ファイル・システム314は、下位オンディスク・ファイル・システム318上にスタックされているとよい。暗号化されていないデータが、オンディスク・ファイル・システム318からネットワーク・ファイル・システム314へとスタックの上側へ渡されるときに、暗号ファイル・システム316がデータを暗号化するために使用されるとよい。暗号化データがネットワーク・ファイル・システム314によって受け取られると、暗号ファイル・システム316はさらに、データを暗号化された状態でオンディスク・ファイル・システム318に書き込んでもよく、またはオンディスク・ファイル・システム318にデータを書き出す前にデータを復号してもよい。暗号ファイル・システム316はさらに、権限のないデータ変更を防止するデータ署名によってデータ完全性を実現するよう使用されてもよい。
クライアント306内には、暗号層は提供されていない。したがって、ネットワーク・ファイル・システム320が、ファイル・システムに格納されるデータの暗号化および復号を実現する。ネットワーク・ファイル・システム320内の暗号化データが、クライアント306の中のユーザ空間アプリケーション322からリクエストされると、ネットワーク・ファイル・システム320は、データを復号して、リクエストしているアプリケーションに復号化データを提供する。
対応するフォーマットを暗号層で使用することが、どのようにして、リクエストしているクライアントまたはサーバにデータを送信するためにネットワーク・ファイル・システムが実行しなければならないデータ変換の量を最小限にすることを可能にするのかを説明するために、様々な例を挙げる。例えば、一例において、クライアント302が、リクエストしているクライアント306にデータを送信する。したがって、この例では、クライアント302内の下位ネットワーク・ファイル・システム310が、クライアント306内のリモート・ネットワーク・ファイル・システム320にデータを提供する。クライアント302では、送信されるデータは、ユーザ空間アプリケーション312がデータを「ディスク」、すなわちネットワーク・ファイル・システム310に書き込むときなどに、既に暗号化層308を通り抜けている。データが既に暗号化層308を通過しているため、ネットワーク・ファイル・システム310が信頼できないドメインを介してデータを送信する前、データは既に、安全に暗号化済みである。この状況では、ネットワーク・ファイル・システム310は、暗号化データを、それ以上の暗号化は実行せずに、そのままでサーバ304まで通過させることができる。同じく、データが既に暗号化層308を通過していることから、データは、ネットワーク・ファイル・システム310がデータを送信する前に、既に完全性検証済みであると考えられる。この状況では、ネットワーク・ファイル・システム310は、データを、それ以上の完全性確認は実行せずに、そのままでサーバ304まで通過させることができる。したがって、データが既に署名(確認)済みであることから、データの完全性を再確認する必要なく、データをサーバ304に渡すことができる。
暗号化データがサーバ304に到着すると、サーバ304上のネットワーク・ファイル・システム314は、サーバのオンディスク・ファイル・システム318に、暗号化データを格納する。ファイルの暗号化または署名(完全性検証)あるいはその両方が既に行われていることを、受信側のネットワーク・ファイル・システムに伝達するために、暗号属性がデータのヘッダに挿入されるとよい。したがって、サーバのオンディスク・ファイル・システム318などの、受信側のネットワーク・ファイル・システムは、受信データの暗号操作または完全性検証が必要ないということを、暗号属性から判断するとよい。後に、別のネットワーク・ファイル・システムがネットワーク・ファイル・システム310からデータを読み出したいとき、サーバは、ネットワーク・ファイル・システム310から暗号化および完全性保護済みのデータを読み出し、必要最小量の作業を実行するだけで、リクエストしているクライアントにデータを送信することができる。
ファイルが暗号化または署名されていることを示す暗号属性を得るために、様々なメカニズムが使用され得る。そのようなメカニズムの1つであるinodeメタデータは、データ・ヘッダ内に、ファイルが暗号化されているか(および使用された暗号化メカニズム)または署名されているかを示す情報を含んだ「拡張属性」を提供することができる。ファイルが既に暗号化または完全性検証済みであることを示すよう、inodeメタデータ内でフラグが使用されてもよい。もう1つのメカニズムであるinodeデータは、ファイルが暗号化済みであるか、または署名済みであるか(および任意選択で、メカニズムがどのように使用されているか)を示す暗号情報から始まるデータを提供する。暗号情報を得るための第3のメカニズムは、暗号化ファイルのリストを含んだ別のファイルを使用する。例えば、各ディレクトリが、暗号化済みのファイル(および任意選択で、使用されている暗号化メカニズム)を記載している「.encrypted_files」という名前のファイルを含んでいてもよい。第4のメカニズムは、暗号化または署名されているファイル(例えば、特定の拡張子、特定の最小サイズ、または特定のファイル名パターンを有するすべてのファイル)を示す共通ポリシ(クライアントとサーバとの間で共通)を使用する。
サーバ304が、リクエストされたデータをクライアント306に提供するとき、サーバ304上のネットワーク・ファイル・システム314は、オンディスク・ファイル・システム318に格納されているリクエスト対象のデータが既に暗号化済みであると判断する。ネットワーク・ファイル・システム314が、データが既に暗号化済みである(クライアント302内の暗号化層308によって)ことを検出するため、ネットワーク・ファイル・システム314は、暗号化ステップを実行する必要がない。したがって、サーバ304は、暗号化データをクライアント306まで通過させるとよい。
受信側のクライアント306には暗号層は必要ない。クライアント306は、リクエストした(暗号化済みの)データを、ネットワーク・ファイル・システム320において受信するとよい。ネットワーク・ファイル・システム320は、データのヘッダ内の暗号属性を使用して、データを復号しないこと、代わりに暗号化データはそのままネットワーク・ファイル・システム320に書き込まれるべきであるということを判断する。その結果、ネットワーク・ファイル・システム320は、リクエストされたデータをユーザ空間アプリケーション322に提供するときに、リクエストされたデータを復号すればよい。
その一方、クライアント306が暗号層を含んでいないため、ネットワーク・ファイル・システム320は、リクエストされたデータをサーバ304へ送る前にデータの暗号化を実行しなければならない。一方、サーバ304が暗号化データを受信すると、サーバ304は、データを、その暗号化された状態で暗号層316まで通過させるとよい。暗号層316は、データを暗号化された状態でオンディスク・ファイル・システム318に書き出すか、または暗号層316は、オンディスク・ファイル・システム318に書き出す前にデータを復号するとよい。クライアント302上のネットワーク・ファイル・システム310などの別のネットワーク・ファイル・システム・クライアントが次にこのデータをリクエストしたとき、サーバ304は、オンディスク・ファイル・システム318に格納されている暗号化データを、クライアント302内の、リクエストしているネットワーク・ファイル・システム310に転送するだけでよい。次に、暗号層308が、ユーザ空間アプリケーション312に渡す前にデータの復号および完全性検証を行うとよい。
図3Bは、例示実施形態による、典型的なクライアント暗号ファイル・システムのパススルーの実装を示すブロック図である。この特定例は、ファイルがどのようにして、暗号操作の実行なしでオンディスク・ファイル・システムからサーバにコピーされるかを示す。
クライアント330は、ユーザ空間アプリケーション332と、暗号化層334および336と、オンディスク・ファイル・システム338と、ネットワーク・ファイル・システム340とを含む。この例では、ユーザ空間アプリケーション332は、ファイル(丸で表されている)を、ローカルのオンディスク・ファイル・システム338からサーバ342にコピーする。ファイルは既に、クライアント330内のオンディスク・ファイル・システム338において暗号化済みである。ファイル・ヘッダ内の暗号属性に基づき、暗号層334および336は、ファイルはユーザ空間アプリケーション332を介してネットワーク・ファイル・システム340に渡されるべきであると判断する。このように、データが単にローカルのオンディスク・ファイル・システムからネットワーク上のサーバへコピーされるだけの場合、送信されるデータは、プロセス全体を通して、その元の暗号化および完全性保護されたフォーマットのままであり、暗号操作は実行されない。次に、サーバ342は、暗号化データを、その暗号化形式で格納する。このプロセスは、データがサーバ342からクライアント330上のオンディスク・ファイル・システム338にコピーされるときも同じである。したがって、この例であればファイルが不必要に複数回暗号化および復号される必要があると考えられる既存システムとは対照的に、例示実施形態における制御論理は、そのようなファイルが暗号操作の実行なしでコピーされることを可能にする。
図4は、例示実施形態による、典型的なクライアント暗号ファイル・システム実装を示すブロック図である。カーネル空間402が、crypto API404、鍵リング406、および暗号層408を含むよう示されている。暗号層408は、図3Aの暗号層308の例である。この特定例では、暗号層408はeCryptfs層である。暗号層408は、特にJFS(journaled file system:ジャーナル・ファイル・システム)412またはext3(第3拡張ファイル・システム)414などの下位ファイル・システム410上にスタックされている。暗号層408は、仮想ファイル・システム(VFS)416を、ユーザ空間420内のアプリケーション418に提供する。アプリケーション418は、図3Aのユーザ空間アプリケーション312の例である。
カーネル空間402内の鍵リング406は、暗号層408に暗号化鍵を提供する。
カーネル空間402はさらに、crypto API404を含むように示されている。crypto API404は、暗号層が下位レベルの暗号化および復号リクエストをするためのメカニズムを提供するアプリケーション・プログラミング・インターフェースである。
ユーザ空間420は、ecryptfsd422を含む。ecryptfsd422は、eCryptfsカーネル・モジュールからの鍵暗号化および復号リクエストを処理するユーザ空間デーモンである。鍵モジュールAPI424は、カスタム鍵管理モジュール(例えばRSAまたはトラステッド・プラットフォーム・モジュール(TPM:Trusted Platform Module))のインターフェースを提供する。
図5は、例示実施形態による、典型的な暗号層および下位ファイル・システムを示すブロック図である。暗号層502は、図3Aの暗号層308の例である。暗号層502は、メタデータ504および暗号ファイル506を含むよう示されている。メタデータ504は、暗号属性が格納される場所である。メタデータ504は、ネットワーク・ファイル・システムによって生成されるヘッダ情報として提供されるとよい。
ファイル・システム508は、図3Aのネットワーク・ファイル・システム310の例である。この実例では、暗号層502が、Crypto API510を使用して、ファイル・システム508についての属性情報を取得する。Crypto API510は、下位ファイル512内の暗号化データ・エクステント属性を問い合わせることによって属性情報を取得し、この属性を暗号ファイル506に提供する。次に、暗号層502は、暗号ファイル506内のこの属性情報を使用して、暗号化データをファイル・システム508内に格納するフォーマットを、ファイル・システム508のこの属性に基づき選択する。
暗号層502はさらに、選択されたフォーマットに従ってデータを暗号化および復号するために、ファイル暗号化キー(FEK:file encryption key)暗号化/復号メカニズム514を使用する。例えば、新たなファイルが作成されると、暗号層502は、ファイル・システム508の属性に合わせたデータ・フォーマットでデータを暗号化および配列する。
さらに暗号属性(コンテキスト)516が、いかなる暗号操作も実行しないよう、またはデータを変換しないようファイル・システム508に伝達するために、データのヘッダ518内に設定されるとよい。後でデータがファイル・システム508から読み出されるとき、ファイル・システム508は、データを変換してはならないということがわかるであろう。代わりに、ファイル・システム508は、スタックされている暗号層502へとデータを渡すために必要な最小量の作業を実行することになる。その結果、暗号層502が、リクエストしているユーザ・アプリケーションにデータを渡す前に、FEK暗号化/復号メカニズム514を使用してデータを復号および完全性検証するとよい。
図6は、例示実施形態による、ファイル・システム・レベルで透過認識データ変換を提供するプロセスのフロー・チャートである。図6に記載されているプロセスが、図3Aのデータ処理システム300などのデータ処理システムにおいて実装されるとよい。具体的には、このプロセスは、図3Aのクライアント302など、暗号層を含むクライアントによって実行されるとよい。
このプロセスは、新たなファイルが作成されると開始する(ステップ602)。クライアント内でネットワーク・ファイル・システム上の層の暗号ファイル・システムが、ネットワーク・ファイル・システムに、そのファイル・システムの様々な属性について問い合わせる(ステップ604)。一実施形態では、ネットワーク・ファイル・システムは、ファイル・オブジェクトに疑似xattr値を入れることによって、属性情報を暗号層に伝達するとよい。あるいは、暗号ファイル・システムと、ネットワーク・ファイル・システムとが互いに情報伝達できるようにするために、APIが提供されてもよい。
属性情報が取得されると、暗号ファイル・システムは、下位ファイル・システムの属性に基づいて、新たなファイルを暗号化、検証および配列する(ステップ606)。暗号ファイル・システムはさらに、暗号属性をファイルのヘッダに挿入するとよい。これによって、ファイルがリモート・ネットワーク・ファイル・システムからリクエストされたときに、リクエストしているクライアントにファイルを送信する前にファイルの暗号化または完全性検証あるいはその両方を行う必要がないことを、ネットワーク・ファイル・システムに通知することができる(ステップ608)。次に、暗号ファイル・システムは、暗号化および検証済みのファイルをディスクに書き込む(ステップ610)。
図7は、例示実施形態による、リクエストしているクライアントにファイル・システム内のデータを提供するプロセスのフロー・チャートである。図7に記載されているプロセスが、図3Aのデータ処理システム300などのデータ処理システムにおいて実装されるとよい。なお、この典型的なプロセスは、ネットワーク・ファイル・システムが、データに対して暗号操作を実行することなく暗号化データを渡すことができるデータ・プライバシ・プロセスを表すが、この典型的なプロセスは、ネットワーク・ファイル・システムが、データは既に署名(検証)されていると判断した場合に、データに対して完全性検証動作を実行することなくデータを渡すことができる、データ完全性プロセスにも適用可能である。
プロセスは、ローカル・クライアント上のネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、リモート・クライアントから受信することによって開始する(ステップ702)。リクエストを受信すると、ネットワーク・ファイル・システムは、リクエストされたファイルが既に暗号化または完全性検証あるいはその両方を行われているかどうかを判断する(ステップ704)。この判断は、ファイルのヘッダを検査して、ファイルの暗号化または検証あるいはその両方が必要ないことを示す暗号属性をヘッダが含んでいるかどうかを判断することによって下される。ファイルのヘッダが、リクエストされたファイルが暗号化または検証あるいはその両方を行われていないことを示すと(ステップ704の「いいえ」の出力)、ネットワーク・ファイル・システム(またはクライアントが暗号層を含んでいればクライアントの暗号層)が、ファイルの暗号化または検証あるいはその両方を行い(ステップ706)、プロセスはステップ710へ続く。
ステップ704へ戻る。ファイルのヘッダが、リクエストされたファイルが既に暗号化または検証あるいはその両方を行われていることを示すと(ステップ704の「はい」の出力)、リクエストされたファイルの暗号化または検証あるいはその両方がネットワーク・ファイル・システムによって実行される必要はなく、ローカル・クライアント上のネットワーク・ファイル・システムは、ファイルをそのまま通過させるとよい(ステップ708)。次に、ローカル・クライアントは、暗号化または検証あるいはその両方が行われたファイルを、サーバ上のネットワーク・ファイル・システムへ送信する(ステップ710)。
リクエストされたファイルがサーバで受信されると、ネットワーク・ファイル・システムは、ファイルのヘッダを検査し、そのファイルが既に暗号化または完全性検証あるいはその両方を行われていると判断する(ステップ712)。ファイルが既に暗号化または検証あるいはその両方を行われていることから、サーバは、そのファイルの暗号化または検証あるいはその両方のプロセスを省略して、ファイルをリモート・クライアントまで通過させる(ステップ714)。
リクエストされたファイルがリモート・クライアントで受信されると、次に、リモート・クライアント上の暗号ファイル・システムまたはネットワーク・ファイル・システムは、暗号化および検証された状態でファイルをリモート・クライアントのオンディスク・ファイル・システムに書き込んでもよく、またはネットワーク・ファイル・システムが、ファイルをリモート・クライアントのオンディスク・ファイル・システムに書き込む前にファイルの復号および完全性検証を行ってもよい(ステップ716)。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素およびソフトウェア要素両方を含んだ実施形態という形をとることができる。好適な実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定はされないソフトウェアにおいて実装される。
さらに、本発明は、コンピュータまたは任意の命令実行システムにより使用される、またはそれに関連して使用されるプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラム製品という形をとることができる。本記載では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスにより使用される、またはこれらに関連して使用されるプログラムを、含むこと、格納すること、伝達すること、伝播させること、または転送することができる任意の有形の装置とすることができる。
媒体は、電子、磁気、光学、電磁気、赤外線もしくは半導体のシステム(または装置もしくはデバイス)、または伝播媒質としてもよい。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM)、剛体磁気ディスクおよび光ディスクがある。光ディスクの現在の例には、コンパクト・ディスク‐読み取り専用メモリ(CD‐ROM:compact disk‐read only memory)、コンパクト・ディスク‐読み取り/書き込み(CD‐R/W:compact disk‐read/write)およびDVDがある。
プログラム・コードの格納または実行、あるいはその両方を行うのに適したデータ処理システムは、システム・バスを介して直接的または間接的にメモリ要素に結合された、少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリと、大容量ストレージと、実行中に大容量ストレージからコードを読み出さなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリとを含むことができる。
入出力、すなわちI/O(Input/Output)デバイス(限定されるものではないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む)が、直接、または介在するI/O制御器を介してシステムに結合されるとよい。
データ処理システムを、介在するプライベート・ネットワークまたはパブリック・ネットワークを介して他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに結合できるよう、ネットワーク・アダプタもシステムに結合されているとよい。モデム、ケーブル・モデムおよびEthernet(R)カードが、現時点で入手可能なタイプのネットワーク・アダプタのごく一部である。
本発明の記載は、例示および説明のために提示されたものであり、網羅的であることも、開示された形の発明に限定することも意図されてはいない。多数の変更物および変形物が、当業者には明らかとなる。実施形態は、本発明の原理、実際の適用を最もよく説明するよう、さらに、他の当業者が本発明を、意図される特定用途に適する様々な変更と共に、様々な実施形態について理解できるようにするよう選択および記載されている。

Claims (30)

  1. ネットワーク・ファイルを管理する方法であって、
    ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信するステップと、
    前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査するステップと、
    前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略するステップと、
    前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略するステップと、
    前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するステップと、
    を含む方法。
  2. 前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用するステップと、
    前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行うステップと、
    前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を、前記ファイルのヘッダに挿入するステップと、
    前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似xattr値を入れることによって、前記属性を前記暗号ファイル・システムに伝達する、請求項2に記載の方法。
  4. 前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達する、請求項2に記載の方法。
  5. 前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しない、請求項1に記載の方法。
  6. 前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号する、請求項5に記載の方法。
  7. 前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わない、請求項1に記載の方法。
  8. 前記リモート・ネットワーク・ファイル・システムを含むクライアントは、暗号ファイル・システムを含んでいない、請求項1に記載の方法。
  9. 前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも1つを含む、請求項2に記載の方法。
  10. 前記暗号属性は、inodeメタデータ、inodeデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの1つに配置される、請求項1に記載の方法。
  11. ネットワーク・ファイルを管理するデータ処理システムであって、
    バスと、
    前記バスに接続され、コンピュータ使用可能コードを含んだストレージ・デバイスと、
    前記バスに接続されている少なくとも1つの管理対象デバイスと、
    前記バスに接続されている通信ユニットと、
    前記バスに接続されている処理ユニットであって、ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信し、前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために前記ファイルに関連する暗号属性を検査し、前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略し、前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略し、前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するために、前記コンピュータ使用可能コードを実行する、前記処理ユニットと、
    を含む、データ処理システム。
  12. 前記処理ユニットはさらに、前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用し、前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行い、前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を前記ファイルのヘッダに挿入し、前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むために、前記コンピュータ使用可能コードを実行する、請求項11に記載のデータ処理システム。
  13. ネットワーク・ファイルを管理するコンピュータ・プログラム製品であって、
    コンピュータ使用可能プログラム・コードが有形に具現化されているコンピュータ使用可能媒体
    を含む、コンピュータ・プログラム製品であって、前記コンピュータ使用可能プログラム・コードは、
    ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信するためのコンピュータ使用可能プログラム・コードと、
    前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査するためのコンピュータ使用可能プログラム・コードと、
    前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略するためのコンピュータ使用可能プログラム・コードと、
    前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略するためのコンピュータ使用可能プログラム・コードと、
    前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信するためのコンピュータ使用可能プログラム・コードと、
    を含む、コンピュータ・プログラム製品。
  14. 前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用するためのコンピュータ使用可能プログラム・コードと、
    前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行うためのコンピュータ使用可能プログラム・コードと、
    前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示す暗号属性を、前記ファイルのヘッダに挿入するためのコンピュータ使用可能プログラム・コードと、
    前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込むためのコンピュータ使用可能プログラム・コードと、
    をさらに含む、請求項13に記載のコンピュータ・プログラム製品。
  15. 前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似xattr値を入れることによって、前記属性を前記暗号ファイル・システムに伝達する、請求項14に記載のコンピュータ・プログラム製品。
  16. 前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達する、請求項14に記載のコンピュータ・プログラム製品。
  17. 前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しない、請求項13に記載のコンピュータ・プログラム製品。
  18. 前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号する、請求項13に記載のコンピュータ・プログラム製品。
  19. 前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わない、請求項13に記載のコンピュータ・プログラム製品。
  20. 前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも1つを含み、前記暗号属性は、inodeメタデータ、inodeデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの1つに配置される、請求項14に記載のコンピュータ・プログラム製品。
  21. ネットワーク・ファイルを管理する装置であって、
    ローカル・ネットワーク・ファイル・システム内に格納されているファイルを読み出すためのリクエストを、前記ローカル・ネットワーク・ファイル・システムにおいてリモート・ネットワーク・ファイル・システムから受信する手段と、
    前記ファイルが暗号化済みまたは完全性検証済みのうちの少なくとも一方であるかどうかを判断するために、前記ファイルに関連する暗号属性を検査する手段と、
    前記ファイルは暗号化済みであると前記暗号属性が示すという判断に応答して、前記ファイルをリモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの前記暗号化を省略する手段と、
    前記ファイルは完全性検証済みであると前記暗号属性が示すという判断に応答して、前記ファイルを前記リモート・ネットワーク・ファイル・システムに渡す前に前記ローカル・ネットワーク・ファイル・システムによって行われる前記ファイルの完全性検証を省略する手段と、
    前記ファイルを前記リモート・ネットワーク・ファイル・システムへ送信する手段と、
    を含む装置。
  22. 前記ローカル・ネットワーク・ファイル・システムの上の層の暗号ファイル・システムを、前記ファイルの作成に応答して前記ローカル・ネットワーク・ファイル・システムの属性について問い合わせるために使用する手段と、
    前記ローカル・ネットワーク・ファイル・システムの前記属性に基づいて、前記ファイルの暗号化または完全性検証を行う手段と、
    前記ファイルが暗号化済みであるか、または完全性検証済みであるかを示すよう動作可能である暗号属性を、前記ファイルのヘッダに挿入する手段と、
    前記ファイルを前記ローカル・ネットワーク・ファイル・システムに書き込む手段と、
    をさらに含む、請求項21に記載の装置。
  23. 前記ローカル・ネットワーク・ファイル・システムは、前記ファイルに疑似xattr値を入れることによって、前記属性を前記暗号ファイル・システムに伝達するよう動作可能である、請求項22に記載の装置。
  24. 前記ローカル・ネットワーク・ファイル・システムは、アプリケーション・プログラミング・インターフェースを使用して、前記属性を前記暗号ファイル・システムに伝達するよう動作可能である、請求項22に記載の装置。
  25. 前記ファイルを受信してから、前記ファイルは既に暗号化済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルを復号しないよう動作可能である、請求項21に記載の装置。
  26. 前記リモート・ネットワーク・ファイル・システムは、前記ファイルをアプリケーションに渡す前に前記ファイルを復号するよう動作可能である、請求項25に記載の装置。
  27. 前記ファイルを受信してから、前記ファイルは既に検証済みであると前記リモート・ネットワーク・ファイル・システムが判断すれば、前記リモート・ネットワーク・ファイル・システムは前記ファイルの完全性検証を行わないよう動作可能である、請求項21に記載の装置。
  28. 前記リモート・ネットワーク・ファイル・システムを含むクライアントは、暗号ファイル・システムを含んでいない、請求項21に記載の装置。
  29. 前記ローカル・ネットワーク・ファイル・システムの前記属性は、最大転送ユニット・サイズ、使用される暗号化法、鍵サイズ、使用される暗号ブロック連鎖モード、様々な暗号属性記述子のオクテット範囲およびコードへのマッピング、または使用される完全性検証メカニズムのうちの少なくとも1つを含む、請求項22に記載の装置。
  30. 前記暗号属性は、inodeメタデータ、inodeデータ、暗号化ファイル・リスト・ファイル、または共通ポリシのうちの1つに配置されるよう動作可能である、請求項21に記載の装置。
JP2010517387A 2007-07-27 2008-07-22 ファイル・システム・レベルでの透過認識データ変換 Active JP4929398B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/829,132 US7877602B2 (en) 2007-07-27 2007-07-27 Transparent aware data transformation at file system level for efficient encryption and integrity validation of network files
US11/829,132 2007-07-27
PCT/EP2008/059610 WO2009016070A1 (en) 2007-07-27 2008-07-22 Transparent aware data transformation at file system level

Publications (2)

Publication Number Publication Date
JP2010534875A true JP2010534875A (ja) 2010-11-11
JP4929398B2 JP4929398B2 (ja) 2012-05-09

Family

ID=40091306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010517387A Active JP4929398B2 (ja) 2007-07-27 2008-07-22 ファイル・システム・レベルでの透過認識データ変換

Country Status (7)

Country Link
US (1) US7877602B2 (ja)
EP (1) EP2174465B1 (ja)
JP (1) JP4929398B2 (ja)
KR (1) KR101221310B1 (ja)
CN (1) CN101803327B (ja)
AT (1) ATE513406T1 (ja)
WO (1) WO2009016070A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192063A1 (ja) 2013-05-27 2014-12-04 富士通株式会社 アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
CN101815945A (zh) * 2007-08-02 2010-08-25 Iss免疫系统刺激股份公司 炎性肠病的诊断、分期和监测
US8019795B2 (en) * 2007-12-05 2011-09-13 Microsoft Corporation Data warehouse test automation framework
JP2010186352A (ja) * 2009-02-12 2010-08-26 Brother Ind Ltd 情報処理装置及び情報処理用プログラム
US8626876B1 (en) * 2012-11-28 2014-01-07 Limelight Networks, Inc. Intermediate content processing for content delivery networks
US20150052347A9 (en) * 2009-12-14 2015-02-19 Michael T. Kain File-based application programming interface providing selectable security features
US8478996B2 (en) * 2009-12-21 2013-07-02 International Business Machines Corporation Secure Kerberized access of encrypted file system
US8751789B2 (en) * 2010-09-17 2014-06-10 International Business Machines Corporation General purpose distributed encrypted file system
US8788816B1 (en) * 2011-02-02 2014-07-22 EJS Technologies, LLC Systems and methods for controlling distribution, copying, and viewing of remote data
US8346742B1 (en) * 2011-03-30 2013-01-01 Ari Juels Remote verification of file protections for cloud data storage
CN103650410A (zh) * 2011-05-31 2014-03-19 三星Sds株式会社 基于id的加密及签名方法以及终端
US8819361B2 (en) * 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
WO2014046974A2 (en) 2012-09-20 2014-03-27 Case Paul Sr Case secure computer architecture
CN103076988A (zh) * 2012-12-28 2013-05-01 银联商务有限公司 一种密码输入方法及装置
US9367702B2 (en) 2013-03-12 2016-06-14 Commvault Systems, Inc. Automatic file encryption
EP3033894B1 (en) * 2013-08-12 2021-09-22 CIS Maxwell, LLC Operating system integrated domain management
EP3072320A4 (en) 2013-11-21 2017-05-24 Graphite Software Corporation Managed domains for remote content and configuration control on mobile information devices
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
US10049228B2 (en) * 2015-01-20 2018-08-14 Microsoft Technology Licensing, Llc File encryption support for FAT file systems
US9575687B2 (en) * 2015-01-29 2017-02-21 Vmware, Inc. Host-based replication with end-to-end compression
US10200499B1 (en) 2015-01-30 2019-02-05 Symantec Corporation Systems and methods for reducing network traffic by using delta transfers
US9735965B1 (en) * 2015-04-16 2017-08-15 Symantec Corporation Systems and methods for protecting notification messages
CN106528571A (zh) * 2015-09-14 2017-03-22 北京中质信维科技有限公司 一种用于移动终端的文件管理方法及系统
US10187485B1 (en) 2015-09-28 2019-01-22 Symantec Corporation Systems and methods for sending push notifications that include preferred data center routing information
US10454679B2 (en) * 2016-06-10 2019-10-22 Apple Inc. File system support for rolling keys on file extents
US10367639B2 (en) 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels
CN108173868A (zh) * 2018-01-05 2018-06-15 中国地质大学(武汉) 一种一对多文件分发的方法、设备及存储设备
CN108509613A (zh) * 2018-04-03 2018-09-07 重庆大学 一种利用nvm提升加密文件系统性能的方法
US11290258B2 (en) 2019-02-22 2022-03-29 Panasonic Avionics Corporation Hybrid cryptographic system and method for encrypting data for common fleet of vehicles
US12120101B2 (en) * 2022-06-29 2024-10-15 Truist Bank Inflight network data encryption

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290900A (ja) * 2001-03-23 2002-10-04 Hitachi Ltd 情報安全化装置及び情報保証システム
JP2003248627A (ja) * 2002-02-25 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> ファイルアクセス制御方法、プログラム及び記憶媒体
JP2007188445A (ja) * 2006-01-16 2007-07-26 Nec Corp 情報漏えい防止システム及び情報漏えい防止方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
KR19980072826A (ko) * 1997-03-08 1998-11-05 김광호 휴대용 컴퓨터
US7580919B1 (en) * 1997-03-10 2009-08-25 Sonicwall, Inc. Query interface to policy server
US6523022B1 (en) 1997-06-09 2003-02-18 Allen Hobbs Method and apparatus for selectively augmenting retrieved information from a network resource
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6182216B1 (en) 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
US6226742B1 (en) 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
US6128737A (en) 1998-04-20 2000-10-03 Microsoft Corporation Method and apparatus for producing a message authentication code in a cipher block chaining operation by using linear combinations of an encryption key
CN1516836A (zh) * 2000-09-08 2004-07-28 国际商业机器公司 软件安全认证信道
US7899189B2 (en) * 2004-12-09 2011-03-01 International Business Machines Corporation Apparatus, system, and method for transparent end-to-end security of storage data in a client-server environment
US7434253B2 (en) * 2005-07-14 2008-10-07 Microsoft Corporation User mapping information extension for protocols

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290900A (ja) * 2001-03-23 2002-10-04 Hitachi Ltd 情報安全化装置及び情報保証システム
JP2003248627A (ja) * 2002-02-25 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> ファイルアクセス制御方法、プログラム及び記憶媒体
JP2007188445A (ja) * 2006-01-16 2007-07-26 Nec Corp 情報漏えい防止システム及び情報漏えい防止方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014192063A1 (ja) 2013-05-27 2014-12-04 富士通株式会社 アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置
US10440111B2 (en) 2013-05-27 2019-10-08 Fujitsu Limited Application execution program, application execution method, and information processing terminal device that executes application

Also Published As

Publication number Publication date
US7877602B2 (en) 2011-01-25
EP2174465B1 (en) 2011-06-15
EP2174465A1 (en) 2010-04-14
JP4929398B2 (ja) 2012-05-09
KR20100039359A (ko) 2010-04-15
CN101803327B (zh) 2013-04-24
US20090031128A1 (en) 2009-01-29
ATE513406T1 (de) 2011-07-15
CN101803327A (zh) 2010-08-11
KR101221310B1 (ko) 2013-01-11
WO2009016070A1 (en) 2009-02-05

Similar Documents

Publication Publication Date Title
JP4929398B2 (ja) ファイル・システム・レベルでの透過認識データ変換
US9536102B2 (en) Privacy-protective data transfer
US9805210B2 (en) Encryption-based data access management
US9690954B2 (en) Securing encrypted virtual hard disks
US7908476B2 (en) Virtualization of file system encryption
EP3565174B1 (en) Access management system, access management method, and program
KR101904635B1 (ko) 개인 디바이스 및 클라우드 데이터의 분산된 보안 백업
US11675919B2 (en) Separation of managed and unmanaged data in a computing device
US9306737B2 (en) Systems and methods for secure handling of data
US20100095118A1 (en) Cryptographic key management system facilitating secure access of data portions to corresponding groups of users
WO2016033203A1 (en) Methods for enforcing, by a kernel driver, a usage restriction associated with encrypted data
US11755499B2 (en) Locally-stored remote block data integrity
JP2018110442A (ja) アクセス管理システム、アクセス管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110615

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110708

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120117

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120213

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4929398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150