web-dev-qa-db-ja.com

OTP USBスティックはどのように機能しますか?

私は YubiKey NEO を発見しました。これは、コンピューターログイン、SSH秘密キー、GPG秘密キー、さらにはパスワードセーフアプリケーションなど、さまざまなもののセキュリティを維持するためのかなり素晴らしいデバイスのようです。

サーバーとクライアントが現在の時刻に基づいて6桁の数字キーを生成する秘密キーを共有するGoogle Authenticatorのようなシステムがどのように機能するかを一般的に理解しています。これは理にかなっています。双方がこれらの値をオンザフライで計算して検証する必要があるからです。クライアントはキーを生成してサーバーに送信し、サーバーは現在の時刻に基づいてキーを計算します。一致する場合、ログインが成功します。

ただし、他の場合、特にプライベートSSHキー、プライベートGPGキー、パスワードセーフなどの静的ファイルでは、YubiKey NEOなどがプライベートファイルのロックを解除するのにどのように役立ちますか?パスフレーズを使用して、またはパスフレーズのシードとしてファイルを使用してこれらのファイルを暗号化するのは簡単ですが、ワンタイムパスワードはこれでどのように機能しますか?

私の特定のユースケースは:

  • Linuxデスクトップにログインできる。
  • GPG秘密鍵をさらに保護できること。
  • SSH秘密鍵をさらに保護できること。
  • パスワードをさらに安全に保護できる(KeePass、Password Safeなど)。
8
Naftuli Kay

YubiKey NEOは、追加のドライバーやソフトウェアを必要とせずに、YubiKeyハードウェア認証デバイスの機能とスマートカードの拡張機能を組み合わせたユニークなワンタイム認証デバイスです。

YubiKey NEOには3つの主要な要素があります。最初の要素はYubiKey要素です。これにより、YubiKeyは、2つの独立した構成を保持できる構成可能なハードウェア認証デバイスとして使用できます。 Yubico OTP、OATH-HOTP、チャレンジ/レスポンス構成、または単純な静的パスワードを使用してコードを生成するように、各構成を設定できます。 YubiKeyモードのサポートに使用される検証サーバーソフトウェアもすべてオープンソースです。実際、多くのパスワードマネージャーがすでにYubiKeyを製品に統合しています- https://www.yubico.com/applications/password-management/consumer/

ユースケースの1つは、Linuxデスクトップにログインするための要件です。これは、YubiKeyとYubico-PAMモジュール( https://developers.yubico.com/yubico-pam )を使用して簡単に実行できます。同じモジュールを使用して、SSHを第2要素認証で保護することもできます( https://hak5.org/episodes/hak5-1114 )。

YubiKey NEOの2番目の要素はNEOの安全な要素であり、証明書を保持するためのPIV準拠のスマートカードとしてYubiKey NEOを使用するなど、スマートカードベースの機能を可能にします( https://developers.yubico.com /yubico-piv-tool/doc/YubiKey-NEO-PIV-Introduction.html )。さらに、YubiKey NEOにはOpenPGPアプレットがあり、YubiKey自体に秘密鍵を安全に保持するために使用され、システムが危険にさらされた場合に秘密鍵が公開されるのを防ぎます( https://www.yubico.com/2012/12/yubikey-neo-openpgp )。

最後に、YubiKey NEOは革新的な新しいプロトコルU2Fをサポートする最初のデバイスです( https://fidoalliance.org/adoption/video/yubico-fido-alliance-universal-2nd-factor-u2f-demonstration )。この次世代認証プロトコルは、スマートカードベースのソリューションのセキュリティと、従来のハードウェア認証トークンシステムの統合およびサポートの容易さを提供するように見えます。

4
Yubi_David