web-dev-qa-db-ja.com

USBドライブで2FAをセットアップできますか?

一部のオンラインアカウントに2要素認証を設定したいのですが。アプリをインストールしたくありません。とにかく、携帯電話を物理的な媒体として使用するのは好きではありません。携帯電話が盗まれる可能性が高く、持ち歩く静的オブジェクトよりも脆弱だからです。

私はユビキーのアイデアに惹かれていますが、それらは少し高価であり、彼らが何を請求しているのかわかりません。 2FAの内部では何が起こっているのか正確にはわかりませんが、適切なソフトウェアがインストールされている古いUSBを使用できなかった理由はわかりません。

だから、私の質問です:USBフラッシュドライブを使用して2FAコードを生成できますか?

2
preferred_anon

これは私の質問に答えるかどうかわからないかもしれませんが、質問をした後にいくつか掘り下げましたが、私は現在私のために働いている解決策を持っています。以下にその概要を説明します。

まず、oathtoolという便利なコマンドラインツールがあります。これを使用して、2faキーを使用して2faの6桁のコードを生成できます。手順の概要は here です。

したがって、私の不満に対処する1つの解決策は、2faキーをパスワードマネージャーに保存し、そこから6桁のコードを生成するスクリプトを作成することです。

しかし、これは私が保持したい2faの「あなたが持っているもの」の側面を取り除きます。これに対処するために、私は次のことを行いました:

  • 2faキーを暗号化されたファイルに保存し、そのファイルをフラッシュドライブに保存します。
  • フラッシュドライブを差し込んだら、(おそらく多数の)2faキーを含むフォルダーを、パスワードマネージャーが認識できるフォルダーにマウントします。私は pass を使用しているので、これは非常に簡単です。現時点ではこれを手動で行っていますが、自動化することもできます。
  • インターフェースはカスタマイズ可能なものですが、2faと呼ばれる次のbashスクリプトを作成しました。
pass 2fa/$1 | xargs -d '\n' oathtool -b --totp

これの最終的な結果(私の命名システムを使用)は、2fa gitlabを記述して、端末で6桁のコードを取得できることです。クリップボードに書き込み、名前のリストを表示する別のスクリプトがあります(パスワードマネージャーと同じインターフェイス)。

もちろん、これはUSBドライブなしでは機能しません。そのため、本物の「何か」のソリューションになります。ただし、私の秘密鍵が必要なgpgファイルを復号化できる場合にのみ機能します。現時点では、2faを信頼できるマシンでのみ使用しているので、これで問題ありません。もっと多機能にする必要がある場合は、電話またはYubikeyを使用することを再考します。

私が見逃したこのシステムに明らかな脆弱性がある場合は特に、批判や改善のアイデアを歓迎します。

1
preferred_anon

ハードトークンの1つの重要なプロパティは、検出されない秘密の盗難への抵抗です。

私があなたの物理的なトークンを一時的に盗む(あなたが見ていない、または眠っている間など)、その秘密の内容を複製し、静かにそれを返却することは非常に難しいはずです...そして、あなたの知らないうちに無期限に秘密を使用してください時間(それにより、トークンの値を2番目の要素として破棄します)。

YubiKey、RSAトークンなどのデバイスは、秘密情報をコピーすることを困難にするように設計されています非破壊的。攻撃者がこれらを使用するには、盗まれるか、目に見える損傷を受けている必要があります。ユーザーは、いずれかの侵害を迅速に検出し、古いトークンの認証を解除して、新しいトークンを取得できます。

通常のUSBキーのセキュリティキーはサイレントにコピーされる可能性があります。

0
Royce Williams

一部のソフトウェアが2FAコードの生成に使用できるように、USBドライブにシードのデータベースを保存できます。 ただし、これはお勧めできません、パスワードマネージャーがマスターパスキー/フレーズで暗号化することもできますが、それでもかなり限定的なソリューションです。

コメントで指摘したように、FIDOベースの2FAを使用している場合、他に利用可能な製品があります( fidoalliance.org/certification/fido-certified-products )、HTOP/ TTOP(Google Authenticatorコード)では、Yubikeyのようなものが最適ですが、それも完璧ではありません。

0
ewanm89