16

Linuxでecryptfsのソースを読もうとしていました。Linuxカーネルサブシステムのdm-cryptとecryptfsの違いを説明するのを手伝ってくれる人はいますか。ecryptfs のソースを紹介している参考書はありますか。私を助けてくれてありがとう 。

4

1 に答える 1

43

dm-crypteCryptfsはどちらも、Linux カーネル内に緊密に統合された機能であり、保管中のデータを暗号化します。どちらも少なくとも 2006 年から Linux カーネルの上流にあり、消費者や企業によって頻繁に使用されています。ただし、それぞれのアプローチはまったく異なります。

dm-crypt は「ブロック」レベルの暗号化を提供します。dm-crypt を使用すると、Linux カーネルは暗号化されたブロック デバイス全体を作成し、システム内の他のブロック デバイスと同じように使用できます。パーティション分割、 LVMRAIDへの切り分け、またはディスクとして直接使用することができます。ただし、これは、事前に暗号化を使用し、スペースを事前に割り当ててから、ファイルシステムを作成してフォーマットすることを決定する必要があることを意味します. 特に CPU が CPU で Intel のAES-NI暗号化アクセラレーションをサポートしている場合は、非常に高速で効率的です。ただし、ブロック デバイス全体に使用されるキーは 1 つだけです。そのため、これは暗号化に対する少し率直な、全か無かのアプローチです。

eCryptfs は「ファイルごと」の暗号化を提供します。eCryptfs は、Linux 用の完全にPOSIX準拠のスタック ファイルシステムです。eCryptfs はメタデータを各ファイルのヘッダーに保存するため、暗号化されたファイルをホスト間でコピーできます。ファイルは、Linux カーネル キーリングの適切なキーで復号化されます。暗号化されたファイル自体に既に含まれているもの以外の追加情報を追跡する必要はありません。eCryptfs は一種の「GnuPG 」と考えることができます。さまざまなファイルをさまざまなキーで暗号化し、オプションでファイル名を暗号化することもできます。ただし、ファイル属性はマスクされていないため、攻撃者はファイルのおおよそのサイズ、所有権、アクセス許可、およびタイムスタンプを見ることができます。 eCryptfs は階層化されたファイルシステムであるため、事前にスペースを割り当てる必要はありません. 1 つのディレクトリを別のディレクトリの上にマウントするだけです ( NFSに少し似ています); すべてのデータは上のディレクトリに読み書きされます ( you have the key)プレーンテキストデータのように見えますが、すべてのデータは暗号化テキストとしてディスクに書き込まれる前に暗号化されます. eCryptfs はファイルごとにキーとメタデータを処理する必要があるため、dm-crypt よりもパフォーマンスが少し遅くなります飽和した読み取りと書き込みで。

ほとんどの Linux ディストリビューションは、インストーラーとAndroidで dm-crypt をある程度サポートしています。dm-crypt を使用して、デスクトップ、タブレット、電話、またはサーバーのデバイス全体またはルート インストールを暗号化できますが、これは通常、起動時にパスフレーズを対話的に入力する必要があるため、システムを無人で起動できなくなることを意味します。

このため、Ubuntu はインストーラーに eCryptfs のサポートを追加し、ユーザーがホーム ディレクトリなどのディスクの機密部分のみを暗号化できるようにし、ユーザーのログイン パスフレーズを利用して、ランダムに生成された特別な長いキーをアンラップできるようにしました。約 300 万人の Ubuntu ユーザーが eCryptfs を利用してホーム ディレクトリを暗号化しています。Synologyなどの一部の商用ネットワーク接続ストレージデバイスは、 eCryptfs を使用して保管中のデータを暗号化します。また、すべてのGoogle Chromebook デバイスは eCryptfsを使用して、保存されているユーザーのローカル キャッシュと資格情報を保護および暗号化します。

完全な開示: 私はeCryptfsの作成者およびメンテナーの 1 人です。

于 2013-08-14T14:34:55.450 に答える