Web時代に必須のセキュリティを物理デバイスで行えるYubikeyを購入しました。
物理デバイスってカッコいいですよね、加えてセキュリティ・耐久性にも優れており実務に使いたいと導入決定。
サービスも有名どころは対応してるところが多く、Github、Windows、AWS、Google、ヌーラボなどのサービスもWebAuthnを使ったログインに対応しています。セキュリティアップデートを行えばサーバーログインもワンタップでできるようになるようです、パスワードレスを目指してYubikeyの認証について覚えていきます。
Google社でもモバイルのOTPをYubiKeyに変更することでITコストを削減の削減を実現しています(参考資料)
管理ツールも様々なツールが提供されています。
ツール | 概要 |
---|---|
Yubico Authenticator | Google Authenticatorで実装してるOATH-TOTPと互換性がある認証 |
YubiKey Manager | FIDO2、OTP、PIVの機能設定を管理、タッチ機能の挙動を変更可能 |
YubiKey personalization tools | YubiKey Managerの設定に加え、認証設定を独自にカスタマイズ可能 |
YubiKey Manager CLI | Yubikeyのコマンドラインツール |
SlotはYubikeyに触れたときに呼び出す認証の設定 Slot1とSlot2があり、それぞれタップ(〜0.5s)と長押し(0.5〜8s)の挙動として登録できます。
登録できる機能は「Yubico OTP」「Challenge-Response」「Static password」「OATH-HOTP」
Yubico OTP
はYubicoが定めるOTP(One-Time Password)です。YubiCloud認証サービスと連携しており128ビットAES暗号化ワンタイムパスワードを生成します。シークレット情報の保持やパスワード生成の機能は、ICチップに物理的に書き込まれ外部からの解析は不可能
OTPの認証はYubiCloudや自己ホスト型の認証サーバー用いることで安易に組み込むことができます、YubiCloudのセキュリティーが不安な場合はDockerイメージも提供されているので自己ホスト型のサーバーも独自で建てれるようになっています。
チャレンジ レスポンス
はワンタイムパスワードやPPPの認証プロトコルであるCHAPやWifiアクセスポイントで使用される認証方法です。
IDをサーバーに送信しサーバーはランダムに生成したチャレンジという情報とこれから生成するであろうレスポンスを生成をします。クライアントはチャレンジと自分のパスワードをハッシュ値計算し一致してるか判定し認証します。
静的パスワード
は一番シンプルな固定のパスワードです。好きな文字列を設定でき呼び出しができます。
OATH-HOTP
はワンタイムキーを生成する手法のひとつです。ユーザーが決めたシークレットと時間やカウンタを使い毎回新しいワンタイムキーを生成します。
Yubikeyを初めて購入し調べていくうちに新しい認証方式を色々と知ることができました。 静的なID/PWは流出するだろうなというバックアッププランで興味を持っていましたが、意外と普通の認証よりも簡単に使うことができ今後は自社サービスや管理画面などの認証に組み込んでいきたいですね。