dm-verityで塩を使用する理由は何ですか?

dm-verityで塩を使用する理由は何ですか?

dm-verity には、データストレージデバイスを検証するために使用されるルートハッシュがあります。実行すると生成されますveritysetup。しかし、ルートハッシュに加えて塩も提供されます。なぜ?

ベストアンサー1

ソルトがない場合、すべてのデータブロックは常に同じブロックハッシュを生成します。これは、そのブロックのハッシュ衝突が見つかった場合に使用できることを意味します。ブロックサイズが固定されていることを考慮すると、この可能性は低いですが、差分更新を使用して更新される長期パーティションでは、単一ブロックが長年にわたって変更されない可能性があります。ソルトを使用すると、更新するたびにソルトを変更し、更新するたびにすべてのブロックハッシュが変更されるため、これを心配する必要はありません。

dm-verityで生成されたハッシュツリーは信頼できず、デバイスで生成されるため、これを生成するために必要なものはすべてソルトとデータです。最終ルートノードは提供されたルートハッシュと一致する必要があります。

(Fwiw、dm-verityの元のバージョンはソルトサポートを欠いていました。)

おすすめ記事