背景情報
私は最近Windowsから離れたLinux初心者です。私は現在、フルディスク暗号化なしでUbuntu11.04を使用しています。私のホームディレクトリだけが暗号化されており、eCryptFSを使用しています。最近、暗号化が本来あるべきほど透過的ではないことに気づき始めました。たとえば、VMWareは、暗号化されたホームディレクトリに保存されている仮想マシンで問題が発生することがあるため、仮想マシンを暗号化されていない場所に移動し、暗号化されたホームディレクトリからリンクしました。しかし、それだけではありません。Ubuntuのようなオープンソースオペレーティングシステムは、秘密にしておくべき情報を漏らすために非常に簡単に変更できるため、システムを暗号化しないままにしておくことは実際にはあまり安全ではないことに気付きました。
ゴール
起動前認証用のキーデバイスとパスワードを使用して、フルディスク暗号化を機能させたいのですが。
要件/詳細
はい、私は多くの場所からガイドを見てきましたが、問題はそれらがすべての要件(特に3番目)に対応していないことです。私の要件は十分に一般的であるため、誰かがそのようなセットアップをすでに試し、正常に実装していると確信しています。 Linuxのプロが解決策を共有できれば幸いです。
特定のサムドライブと起動するためのパスワードの存在を必要とするフルディスク暗号化を行う簡単な方法があります。
完全に暗号化されたハードドライブからLUKSヘッダーを切り離し、サムドライブに保存します。
すでに次の設定が行われていると仮定します。
# /dev/sda1 is the boot partition (100MB)
# /dev/sda2 is the encrypted partition
parted /dev/sda mklabel msdos
parted /dev/sda -- mkpart primary ext2 1M 200M
parted /dev/sda -- mkpart primary ext4 200M -100M
cryptsetup luksFormat /dev/sda2
Luksヘッダーのコピーを作成し、ローカルデバイスから消去します。
mkdir /media/ramdisk && mount -t tmpfs -osize=20m,rw tmpfs /media/ramdisk
cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file /media/ramdisk/header.img
dd if=/dev/urandom of=/dev/sda2 bs=1M count=2
高予算の代理店のターゲットである場合は、最後のステップを数回実行します。また、ヘッダーを一時的に保持するためのRAMディスクを作成したので、後でヘッダーが長引くことはありません。
/ dev/sdbにあるUSBデバイスで、2MBのパーティションを作成し、それにヘッダーをロードします。
parted /dev/sdb -- mklabel MSDOS
parted /dev/sdb -- mkpart primary 1M 3M
dd if=/media/ramdisk/header.img of=/dev/sdb1
現在、/ dev/sda2のすべてがランダムデータのように見え、/ dev/sdb1にヘッダーがあります。暗号化されたドライブに手動でアクセスするには、次を使用します。
cryptsetup luksOpen --header /dev/sdb1 /dev/sda2 rootfs
mount /dev/mapper/rootfs /target
次のステップは、起動時にペンドライブを挿入するように起動プロセスに要求させることです。そこにあると思い込んで失敗する方が簡単だと思いました。まず、デバイスのIDとUUIDを確認します。
find -L /dev/disk/by-id/ -samefile /dev/sdb1
/dev/disk/by-id/usb-Generic-_Compact_Flash-part1
find -L /dev/disk/by-id/ -samefile /dev/sda2
/dev/disk/by-id/scsi-SATA_ST3320820AS_5QF28W6V-part2
blkid /dev/sdb1
/dev/sdb1: UUID="63347546-2db3-4bc1-9414-1142739a4c9f" TYPE="crypto_LUKS"
次に、/etc/crypttab
行を次のように編集します。
root /dev/disk/by-id/scsi-SATA_ST3320820AS_5QF28W6V-part2 none luks,header=/dev/disk/by-id/usb-Generic-_Compact_Flash-part1
(header
のcrypttab
オプションのサポートを取得するには、 このパッチ が必要な場合があります)
最後になりましたが、initramを更新してください。
update-initramfs -u
これをさらに一歩進めて、実際に ブートパーティション全体をUSBドライブにロードする 。この記事の著者は、まさにこのサイトで フォローアップ を行っていました。
多くさまざまなアプローチあなたが取ることができます 、さまざまな程度のセキュリティと利便性があります。
セキュリティに関する特別な注意:パスフレーズが危険にさらされた場合、後でパスフレーズを変更した場合でも、ヘッダーのコピーを持っている人は誰でもデータを復号化できます。
TrueCryptがOSX、Windows、Linuxで利用できることを知っています。ドライブ全体に対して2つのレベルの暗号化を行うことができます。私はAESフルディスク暗号化を備えたDebianでそれを使用しました。ハードドライブ上のデータにアクセスするには、起動時にパスワードが必要です。