コンテンツによるドライブの暗号化

コンテンツによるドライブの暗号化

私はそれぞれ3TBの2つのハードドライブを持っています。最初のドライブは非常に重要なコンテンツでいっぱいです。次の技術を使用して2番目の3TBドライブを暗号化しました。

https://www.youtube.com/watch?v=J_g-W6hrkNA

次に、暗号化されていない最初のドライブのファイルを暗号化された2番目のドライブにコピーします。では、最初のドライブを暗号化したいと思います。どうすればいいですか?コンテンツが含まれているので、ドライブ上のリンクを使用して暗号化すると消去されると思いますか?

答え1

あなたがしなければならないのは、元のドライブを安全に消去して、暗号化されていないデータをすべて削除してから、暗号化を設定してファイルをコピーすることです。

まず、元のドライブが完全に消去されるため、バックアップが正しいことを確認する必要があります。次のコマンドを使用してドライブを消去します。

# dd if=/dev/urandom of=/dev/sdX bs=4096

sdX消去するドライブはどこにありますか?/dev/zero代わりにurandomを使用/dev/urandomする方が安全ですが、urandomに時間がかかるため使用できます。これについての詳細を見ることができます。ここ。正しいドライブ(できるだけ他のドライブ)を消去して、損傷を受けないようにしてください。

この方法で削除されたデータは回復できないことに注意してください(それはポイントです)。

ディスクが安全に消去され、暗号化されていないデータが残っていない場合は、暗号化を設定してデータをコピーできます。

答え2

内部暗号化は可能ですが危険です。これまでは、削除/フォーマット/mkfsして、他の場所のファイルで再入力する方が簡単です。

内部方法の場合は、まずファイルシステムを縮小して2MiBドライブの先頭に少なくともLUKSヘッダー用のスペースを確保する必要があります。安全のために少し小さくしてください。

2MiBその後、暗号化されたコンテナ内のすべてのデータには、LUKSヘッダーのために少なくとも1つのオフセットがあることを覚えておく必要があります。したがって、暗号化されたコンテナの暗号化されていない線形コピーは、各dd書き込みがまだ読み取られていないデータを上書きするため、機能しません。

このような状況を回避するには、コピー操作を逆方向に実行する必要があります。これには直接的なサポートはありませんが、各ステップで1を減らす逆ループでそれを使用してシミュレートddできます。seek=$x skip=$x count=1$x$x=0

/dev/sdx1ファイルシステムを持つデバイスを使用する例ext4

# make sure it's not mounted anywhere
umount /dev/sdx1
# backup the first 128MiB somewhere
dd bs=1M if=/dev/sdx1 of=/somewhere/sdx9.backup count=128
# shrink filesystem by 128MiB
resize2fs /dev/sdx1 $(($(blockdev --getsize64 /dev/sdx1)/1024/1024-128))M
# create encryption layer
cryptsetup luksFormat /dev/sdx1
cryptsetup luksOpen /dev/sdx1 luksx1
# dd backwards using GiBs of memory. Change math and bs for less memory usage.
for x in $(seq $(($(blockdev --getsize64 /dev/sdx1)/1024/1024/1024+1)) -1 0)
do
    dd bs=1G iflag=fullblock seek=$x skip=$x count=1 \
       if=/dev/sdx1 of=/dev/mapper/luksx1
done
# include backup for region previously overwritten by LUKS header
dd bs=1M if=/somewhere/sdx9.backup of=/dev/mapper/luksx1
# grow filesystem to full size
resize2fs /dev/mapper/luksx1

これを行う前に、一時デバイスでプロセスをテストしてください。

どの時点でもプロセスがキャンセルされると、暗号化されていないコンテンツで終わるため、原因はほとんど失われます。

一部のフロントエンドはほぼ同じアプローチを使用しています。cryptsetup再暗号化手順自体があるか、幸運を試してみることもできます。http://www.johannes-bauer.com/linux/luksipc/。私はそれがどのように動作し、どのような問題が発生する可能性があるかを理解するので、手動の方法を好む。

関連情報