web-dev-qa-db-ja.com

LUKS暗号化はHDD / SSDのビット腐敗/ビットフリップを検出しますか?

基盤となるストレージデバイスで、エラーを報告せずにビットフリップが検出されなかったとします。

  • LUKSはこれにどのように反応しますか?
  • エラーとして検出されますか? dmesg/syslogにカーネルメッセージはありますか?
  • 無効なデータを無視して復号化しますか?
  • LUKSにチェックサム検証の種類はありますか?

デフォルトの暗号であるaes-xts-plain64について質問しています。

2
Sidias-Korrado

LUKSは、ビットフリップであるかどうかを決定するべきではありません。これは、ハードドライブコントローラーやフラッシュベースのデバイスのフラッシュ変換レイヤーなど、より低いレベルで検出する必要があります。

大容量記憶装置には、存在している限り、回復可能なエラーに関する問題がありました。エラー訂正コードは、これらのエラーを検出し、可能であれば訂正するために何十年も使用されてきました。ここで、マイナーな「ビット腐敗」を検出して修正する必要があります。

LUKSがエラー訂正を実行するには、(おそらく)すでに実行されているエラー訂正スキームを複製する必要があります。これらのスキームにはオーバーヘッドが含まれます。Xバイトのデータごとに、Yバイトのエラー検出および訂正データも維持する必要があります。 LUKSにはECCオーバーヘッド用に予約されたスペースがないため、エラーを修正することはできません。

1
Julie in Austin