dm-crypt / LUKSで使用できる暗号と暗号モードはどのように決定しますか?


11

Ubuntuベースのシステムを使用していますが、使用可能な暗号と暗号モードがわかりません。

cryptsetupのmanページには、次のように記載されています。

「利用可能なオプションの一覧については/ proc / cryptoを参照してください。より多くのオプションを取得するには、追加のカーネル暗号モジュールをロードする必要があるかもしれません。」

私の/ proc / cryptoにはほとんどありません。どの追加のカーネル暗号モジュールが私がロードするのに利用可能であるかをどうやって見つけるのですか?


/lib/modules/*/kernel/crypto/ 見た目にはそうですが、モジュールはファイルシステム上のどこにでも置くことができます。
Mark

2
これは良い質問だと思います。私は自分自身でこの情報を探しています。 /proc/crypto 素晴らしいですが、それは有効な暗号文字列をリストしません。のようなもの aes-xts-plain64 または aes-cbc-essiv:sha256。良い答えはその情報を提供し、どのモジュールからのものかを示すでしょう /lib/modules... それらを使用するにはロードする必要があります。
starfry

私もこれに興味があります。暗号文字列がどうあるべきかと私の中にあるものとの間には名前の対応がない /proc/crypto。意味がありません。
CMCDragonkai

回答:


8

たくさんの文書やmanページを読む必要があります。 LUKSオンディスクフォーマット仕様 (PDF)

付録B(当然のことながら、終わり近くにあります)は、

暗号およびハッシュ指定レジストリ

たとえ 暗号名 そして 暗号モード 文字列は誰にも解釈されません   LUKS操作、それらはすべての実装に対して同じ意味を持たなければなりません   異なるLUKSベースの実装間の互換性を実現するため。 LUKS   基礎となる暗号システムが暗号名を利用できるようにする必要があります。   暗号モード文字列、およびこれらの文字列は必ずしもネイティブにネイティブであるとは限りません。   暗号システムでは、LUKSはそれらを適切なものにマッピングする必要があるかもしれません。

有効な暗号名は表1にリストされています。

有効な暗号モードは表2にリストされています。   IVと微調整はオールゼロIV /微調整から始める必要があります。これはすべてに当てはまります   特にキーマテリアルを処理するときに暗号化/復号化プリミティブを呼び出します。   さらに、これらのIV /微調整暗号モードは通常暗号ストリームを   セクター境界での微調整/ IVの再シードによる独立ブロック最初の暗号化/復号化ブロックのオールゼロIV /微調整要件   と同等です   最初のブロックがセクタ0で停止するように定義されているという要件。

表3に有効なハッシュ仕様を示します。 ハッシュ仕様 フィールド。準拠した実装   すべての暗号、暗号モード、またはハッシュ指定をサポートする必要はありません。

表1:有効な暗号名

  • aes - 高度暗号化規格 - FIPS PUB 197
  • twofish - Twofish:128ビットブロック暗号 - http://www.schneier.com/paper-twofish-paper.html (下記参照)
  • 蛇 - http://www.cl.cam.ac.uk/~rja14/serpent.html
  • cast5 - RFC 2144
  • cast6 - RFC 2612

表2:有効な暗号モード

  • ecb - 暗号出力は直接使用されます
  • cbc-plain - 暗号はCBCモードで動作します。 CBCチェーン セクターごとに切り捨てられ、セクター番号で再初期化されます。 初期ベクトルとして(32ビットおよびリトルエンディアンに変換されたもの) このモードは[Fru05b]、第4章で規定されています。
  • cbc-essiv: ハッシュ - 暗号はESSIVモードで動作している 使う ハッシュ にとって 元のキーのIVキーを生成します。例えば、 ハッシュとしてsha256を使用する場合、暗号モードの仕様は「cbcessiv:sha256」です。 ESSIVは[Fru05b]の第4章に規定されています。
  • xts-plain64 - http://grouper.ieee.org/groups/1619/email/pdf00086.pdf、 plain64 プレーンな初期ベクトルの64ビットバージョン

表3:有効なハッシュ指定

  • sha1 - RFC 3174 - 米国セキュアハッシュアルゴリズム1(SHA1)
  • sha256 - FIPS 180-2に準拠したSHAの変形
  • sha512 - FIPS 180-2準拠のSHAバリアント
  • ripemd160 - http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html (下記参照)

編集者注:上記は仕様からコピーされたものです。 執筆後、これらの文書のURLは変更されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.