これは何?
Yubikeyというセキュリティキーを使って二要素認証を設定して使ってみます。
Google Authenticatorでよくない?
セキュリティキーを使うとGoogle Authenticatorのように毎回pinを打たなくていいので二要素認証のストレスが軽減されつつ,セキュアな認証を行うことができます。
セキュリティキーとは
セキュリティキーとは、MFA(多要素認証) に用いられる外付けのハードウェアセキュリティデバイスです。パスワードに代わる新たな認証技術「FIDO (Fast Identity Online)」(*1)がベースとなっており、フィッシング攻撃や中間者攻撃に耐性があり、アカウントの乗っ取りを防止することが可能です。Yubion
セキュリティキーのイメージ
イメージが湧きやすいようにTwitterの二要素認証の設定を見てみます。
- Text message: 電話番号のSMSでワンタイムコードを送信するやつ
- Authentication app: Google Authenticator等の画面に表示されるpinを使う
- Security kye: 今回の記事で扱うYubikey(ハードウェア)等を使う
買ってきた
- Yubikey社のYubiKeyシリーズ(高価だがOpenPGP対応)とSecurityKeyシリーズ(安価)が有名そう
- Amazon url安い方にしたのに結構高い...
認証時に光るのが結構カッコいい!
さっそく使ってみる
環境
Ubuntu 20.04 LTS
初期セットアップ
sudo apt install libpam-u2f
mkdir .config/Yubico
pamu2fcfg >> ~/.config/Yubico/u2f_keys
使用例1: yubikeyをsudoパスワードの代わりに使う
-
/etc/pam.d/u2f-sufficientに以下を記載
auth sufficient pam_u2f.so debug_file=/var/log/pam_u2f.log
-
ログファイル作製
sudo touch /var/log/pam_u2f.log
-
sudoの設定ファイルに1の設定ファイルをincludeするように設定
@include u2f-sufficient
これでsudo
打鍵時にYubikeyを指しているとパスワード認証がスキップできます。
ちなみに,sudo
打鍵時にパスワード+Yubikeyの二要素認証にしたい場合には,sufficient
をrequired
に変更すれば良いです。
auth required pam_u2f.so debug_file=/var/log/pam_u2f.log
使用例2: twitter等のSNSログイン時の二要素認証として
自分はUSB版の安い方を買ったので携帯だとYubikeyが刺さらない...
Google Authenticatorと併用してます。
その他の使用例(気が向いたら書く)
- sshログイン時
- Ubuntuへのログイン
感想
Yubikeyを使うと面倒なpin入力がなくなるので便利でストレスがないのですが,ノートパソコンに指すのが面倒なのでデスクトップで挿しっぱなしとかが一番楽そう。