(TrueCryptを使って)AESを使ってPenDriveを暗号化します。フォーマット時の最も効率的なアロケーションユニットサイズは?
AESブロックサイズは16 KBなので、16 KBが最も効率的でしょうか。この論理は正しいですか?
(TrueCryptを使って)AESを使ってPenDriveを暗号化します。フォーマット時の最も効率的なアロケーションユニットサイズは?
AESブロックサイズは16 KBなので、16 KBが最も効率的でしょうか。この論理は正しいですか?
回答:
AES属性ではなく、基盤となるファイルシステムに注目してください。これは、異なるファイルシステム/バージョンの下でのさまざまなボリュームサイズに対するデフォルトの割り当て単位を持つMSのリストです。あなたはあなたの暗号ブロックサイズとあなたのファイルシステムアロケーションユニットサイズの間のパリティを達成することができないでしょう。実際、そうしようとすると、ファイルが非常に非常に小さい場合を除き、ファイルごとに暗号化の効率が低下する可能性があります。
クラスタ(アロケーションユニット)のサイズは、暗号化とはほとんど関係なく、実際にはほとんどありません。暗号化されていない仮想ディスクについてもまったく同じ問題があります。
とにかく、を引用する TrueCryptドキュメント ( 強調 鉱山):
「 クラスターサイズ
クラスターは割り当て単位です。たとえば、1バイトのファイルに対して1つのクラスタがFATファイルシステムに割り当てられます。ファイルがクラスタ境界を超えて大きくなると、別のクラスタが割り当てられます。理論的には、これはクラスタサイズが大きいほど、より多くのディスク容量が無駄になることを意味します。ただし、パフォーマンスは良くなります。 使用する値がわからない場合は、デフォルトを使用してください。 「
いずれにせよ、TrueCryptボリュームのクラスタが基礎となるファイルシステムのクラスタと揃うように、TrueCryptコンテナを格納しているディスクと同じクラスタサイズ、またはその倍数、あるいはその一部を選択することをお勧めします。 (そしておそらくそれが格納されている実際のディスク上のセクタと)。
それ以外は、基本的には速度とスペースのトレードオフです。詳細は、使用しているファイルシステムや保存したいファイルの種類(経験則:大きなファイル→大きなクラスタ、たくさんの小さなファイル→小さなクラスタ)によって異なりますが、通常はデフォルト値で問題ありません。
クラスタサイズは、物理メディアのセクタサイズとファイルシステム内のファイルのサイズに基づいて選択する必要があります。ペンドライブはフラッシュメモリなので、セクタではなくブロックとページを使用します。
フラッシュメモリブロックは通常16KiBまたは128KiBで、ページサイズは512Bまたは2048Bです。より大きい/小さいプロセスフラッシュチップは大きいブロックサイズを使用する。したがって、通常のNTFSクラスタサイズであればフラッシュメモリで許容できると想定するのが安全です。ほとんどの用途では最大16KBです。フラッシュメモリはブロック単位で書き込まれるため、ファイルがほとんど変更されない、または十分なサイズでない場合を除き、ブロックサイズより大きいクラスタサイズを選択しないでください。
ファイルシステムの内容について議論するときはもっと複雑です。標準的なやり方はありません。期待するファイルの種類とその平均サイズに応じて設定値を使用します。
NTFSでは、4KiBが大容量ディスクで最も一般的ですが、ビデオファイルや高ビットレートオーディオのようにファイルが大きい場合は無駄になります。ファイルシステムは、各ファイルにどのクラスターが使用されているかを追跡する必要があるため、16GiBのビデオファイルでは、ファイルテーブルに4194304のクラスターエントリーがあります。 64KiBのクラスタファイルシステム上の同じファイルに必要なエントリは262144個だけです。めったに変更されない大きなファイルのみを予定している場合は、できるだけ大きいクラスタサイズを選択してください。ファイルが小さいか頻繁に変更される場合は、2KiBから16KiBの間が適切な範囲です。
exFATでは、32KiBが外部フラッシュメモリデバイスに最も一般的です。 exFATはフラッシュメモリを念頭に置いて設計されており、32KiBは、大規模なクラスタを使用する必要がある大規模でまれに変更されるファイル以外のほとんどの用途に適しています。このファイルシステムは新しく、オペレーティングシステムの互換性が制限されています。
暗号ブロックサイズは、利用可能な最小のクラスタサイズよりも小さいため、ディスク暗号化ソフトウェアを使用しても、クラスタサイズには関係ありません。
ディスク暗号化ソフトウェアを使用することは多くの関連性を持っています、いくつかのチッパーはファイルシステムがどんなクラスターサイズであろうと関係なく、一度に32KiBあるいは他のサイズを読み書きします。ディスク暗号化ソフトウェアは、プリロードキャッシュがあるかのように長い読み取り/書き込みを使用します。
ちょっとした部分はそれらのほとんどがそのようなことを知らない、ファイルシステムがExt4(それは4kiBのクラスタしか許していない)である間私がVeraCryptが32KiBの読み書き操作を使っているのを見た。暗号化されていませんが、次の7回の連続読み取りはほとんど瞬間的でした(別名、最初の読み取りによってキャッシュされた)。
そのため、はい、ディスク暗号化ソフトウェアを使用することには多くの関連性があります。
Ext4のクラスタサイズを32KiBに設定できればいいのですが、4KiBでランダム読み取りの方がずっと早いでしょう。VeraCryptは常に32KiBを読み取っていたので、ランダム4KiB読み取りでは28KiB読み取りが無駄になりました。
また、多くの暗号化ツール(フルディスクの場合はほとんど)が読み取り/書き込みに大きなブロックを使用します。
また、Linux独自のディスクキャッシュ(先読み)も重要で関連性があり、暗号化時(暗号化されていないときも)のパフォーマンスに悪影響を及ぼす可能性があります。すべてデータへのアクセス方法によって異なります。
私はこのルールに従ってください:システムディスク4KiBの非ストライプ、ストライプの場合は128Kib(SSDの場合はほとんど)。小さいファイルと大きいファイルの比率に応じて、32KiBから128KiBまでのデータディスク。私は常時5つの異なるメディアに5つのコピーを持っています。手動で同期しているため、同時に2回接続することはできません。
警告:AESは壊れています(少なくとも4096ビットまで)。