LUKSで暗号化されたUSB HDDにアクセスするための2番目の要素としてYubikey 4を使用しようとしています。これが私がどこまで得たかです:
yubikey-luks を使用して、HMAC-SHA1ハッシュパスワードをデバイスのスロット7に追加しています。
ただし、ykchalresp
を使用して手動でYubikeyにチャレンジできます。
ハッシュ化されたパスフレーズをファイルに書き込み、それを--key-file
として使用することを考えましたが、デバイスを配置するためのキーがあるので、それは悪い考えのように思えます。
コマンドの形式が間違っている場合、または私の問題を回避する方法がある場合はお知らせください。
私はあなたがしたいことを正確に行いました。私がそれをした方法は以下に概説されています。それは正しい方法ですか?まあ...それは議論の余地がありますが、それは私にとってはうまくいきます。お役に立てば幸いです。また、私はUbuntuではありませんが、Ubuntuでも同じように機能するはずです
最初に、_/etc/ykfde.conf
_を編集してYubikey構成をセットアップします_YKFDE_CHALLENGE
_を40文字程度の長いランダムな文字列に設定します。それが何であるかは関係ありません、ただランダムであることを確認してください。これにより、秘密のパスワードを要求せずにドライブを復号化できます。また、_YKFDE_CHALLENGE_SLOT
_をYubikeyの使用したいスロットに設定します。 (そのスロットでHubi-SHA1チャレンジ応答用にYubikeyをセットアップしたことを確認してください)
次に、ドライブを次のコマンドで暗号化するように設定します。
(これは、fdiskまたは同様のユーティリティを使用してドライブをすでにパーティション分割していることを前提としています)
_# This will ask you for a password. Set a password so that you
# can decrypt the drive without your Yubikey
Sudo cryptsetup luksFormat /dev/sda1
# Next, enroll the Yubikey so that it can decrypt it as well
# When required, touch your Yubikey so it can get a challenge-response
# It'll ask for an existing password, just enter the one you set in the last command
Sudo ykfde-enroll -d /dev/sda1 -s 1
# Next decrypt the drive and add a file system
# Enter the password you set in the first command
Sudo cryptsetup open /dev/sda1 drive
Sudo mkfs.ext4 /dev/mapper/drive
_
すべてのセットアップが完了したら、次のようにホームディレクトリに_mountDrive.sh
_というファイルを作成しました。
_. /etc/ykfde.conf
ykchalresp -2 "$YKFDE_CHALLENGE" | Sudo cryptsetup open /dev/sda1 drive
Sudo mount /dev/mapper/drive /run/mount/
_
今、私は単に_sh mountDrive.sh
_を実行します
Yubikeyが点滅し、タップすると、ドライブが_/run/mount
_にマウントされます
明らかに、_/dev/sda1
_をドライブデバイスに変更し、_/run/mount
_をドライブをマウントする場所に変更する必要があります。
また、_ykchalresp -2
_コマンドは、Yubikeyのスロット2を使用するように指示します。 _/etc/ykfde.conf
_ファイルで設定したスロットに変更します
もう1つは、パスワードを入力しなくてもSudo
を使用できるように_/etc/sudoers
_を設定したことです。おそらく、ドライブを復号化してマウントするためにSudo
を使用せずにそれを行うためのより良い方法があります...わからない...とにかく、ここに私がそれを設定する方法があります:
_/etc/sudoers
_ファイルに%wheel ALL=(ALL) NOPASSWD: ALL
を追加します。
次のように、wheel
グループにアカウントを追加します。
_me=`whoami`; Sudo usermod -a -G wheel "$me"
_
この小さなニースプロジェクトを使用することをお勧めします:GitHubで yubikey-full-disk-encryption 、
暗号化されたデバイスをenroll
およびopen
するスクリプトのコレクションです。 README.md
は、あなたがする必要があることをかなりよく文書化しています。また、起動時にYubikeyを使用して自動復号化をセットアップするための指示もあります。
基本的に、次のことを行う必要があります。
git clone
/download
プロジェクトとcd
をそのフォルダーにSudo make install
はプロジェクトをインストールします/etc/ykdfe.con
の構成ファイルを変更する必要があります。特に、次のオプションを変更しましたYKFDE_DISK_UUID
(必須、blkid /dev/sdX
コマンドで取得できます。ここで、/dev/sdX
は外部デバイスの名前です)YKFDE_LUKS_NAME
(必須、良い名前はluks-<uuid-of-the encrypted-volume>
)YKFDE_CHALLENGE
(オプション、ただし2FAを有効にするために必要)YKFDE_CHALLENGE_SLOT
(オプション、デフォルトでは1に設定されていますが、 スロット1にはYubikey OTPの構成が含まれていますYKFDE_CHALLENGE_PASSWORD_NEEDED
、パスワードも入力する場合(Yubikeyがボリューム自体をロック解除するのに十分ではなく、第2要素認証として機能するようにするため)次に、 README.md
の指示に従って、Yubikeyチャレンジレスポンスを設定し、それを暗号化されたボリュームに追加のパスフレーズとして追加します。
最後に、構成をテストするmake test
を実行することをお勧めします。
暗号化されたループデバイスでYubikeyを使用できるので、外付けHDDでも動作するはずです。
お役に立てれば。