Cryptoloopは、 Linuxカーネルのディスク暗号化モジュールであり、 Linuxカーネルのメインラインバージョン2.5.45で導入された暗号化フレームワークであるCrypto APIに依存しています。[ 1 ] Cryptoloopは2.5.xカーネルシリーズで初めて導入され、その機能は後に、あるブロックデバイスを別のブロックデバイスにマッピングするために使用される汎用フレームワークであるデバイスマッパーに組み込まれました。
Cryptoloopは、パーティション内、または通常のファイルシステム内の通常のファイルから暗号化されたファイルシステムを作成できます。ファイルが暗号化されると、別のストレージデバイスに移動できます。これは、ループデバイスと呼ばれる擬似デバイスを使用することで実現されます。ループデバイスを使用すると、通常のファイルを物理デバイスであるかのようにマウントできます。ループデバイスへのI/Oを暗号化することで、アクセスされるデータは、通常のファイルシステムを通過する前にまず復号化する必要があります。逆に、保存されるデータは暗号化されます。
Cryptoloopはウォーターマーキング攻撃に対して脆弱であり、[ 2 ]暗号化されたファイルシステム上にウォーターマーク付きデータが存在するかどうかを判別することが可能です。
この攻撃は、IV 計算の脆弱性と、ファイルシステムがディスク上にファイルを配置する方法に関する知識を悪用します。この攻撃は、ソフトブロックサイズが 1024 以上であるファイルシステムで機能します。少なくともext2、ext3、reiserfs、minixはこのような特性を持っています。この攻撃により、特別に細工された透かし入りファイルの存在を検出できます。透かし入りファイルには、復号化せずに検出できる特別なビットパターンが含まれています。[ 3 ]
cryptoloop の後継であるdm-cryptの新しいバージョンは、正しく使用すればこの種の攻撃に対して脆弱性が低くなっています。[ 4 ]