一部のオンラインアカウントに2要素認証を設定したいのですが。アプリをインストールしたくありません。とにかく、携帯電話を物理的な媒体として使用するのは好きではありません。携帯電話が盗まれる可能性が高く、持ち歩く静的オブジェクトよりも脆弱だからです。
私はユビキーのアイデアに惹かれていますが、それらは少し高価であり、彼らが何を請求しているのかわかりません。 2FAの内部では何が起こっているのか正確にはわかりませんが、適切なソフトウェアがインストールされている古いUSBを使用できなかった理由はわかりません。
だから、私の質問です:USBフラッシュドライブを使用して2FAコードを生成できますか?
これは私の質問に答えるかどうかわからないかもしれませんが、質問をした後にいくつか掘り下げましたが、私は現在私のために働いている解決策を持っています。以下にその概要を説明します。
まず、oathtool
という便利なコマンドラインツールがあります。これを使用して、2faキーを使用して2faの6桁のコードを生成できます。手順の概要は here です。
したがって、私の不満に対処する1つの解決策は、2faキーをパスワードマネージャーに保存し、そこから6桁のコードを生成するスクリプトを作成することです。
しかし、これは私が保持したい2faの「あなたが持っているもの」の側面を取り除きます。これに対処するために、私は次のことを行いました:
2fa
と呼ばれる次のbashスクリプトを作成しました。pass 2fa/$1 | xargs -d '\n' oathtool -b --totp
これの最終的な結果(私の命名システムを使用)は、2fa gitlab
を記述して、端末で6桁のコードを取得できることです。クリップボードに書き込み、名前のリストを表示する別のスクリプトがあります(パスワードマネージャーと同じインターフェイス)。
もちろん、これはUSBドライブなしでは機能しません。そのため、本物の「何か」のソリューションになります。ただし、私の秘密鍵が必要なgpgファイルを復号化できる場合にのみ機能します。現時点では、2faを信頼できるマシンでのみ使用しているので、これで問題ありません。もっと多機能にする必要がある場合は、電話またはYubikeyを使用することを再考します。
私が見逃したこのシステムに明らかな脆弱性がある場合は特に、批判や改善のアイデアを歓迎します。
ハードトークンの1つの重要なプロパティは、検出されない秘密の盗難への抵抗です。
私があなたの物理的なトークンを一時的に盗む(あなたが見ていない、または眠っている間など)、その秘密の内容を複製し、静かにそれを返却することは非常に難しいはずです...そして、あなたの知らないうちに無期限に秘密を使用してください時間(それにより、トークンの値を2番目の要素として破棄します)。
YubiKey、RSAトークンなどのデバイスは、秘密情報をコピーすることを困難にするように設計されています非破壊的。攻撃者がこれらを使用するには、盗まれるか、目に見える損傷を受けている必要があります。ユーザーは、いずれかの侵害を迅速に検出し、古いトークンの認証を解除して、新しいトークンを取得できます。
通常のUSBキーのセキュリティキーはサイレントにコピーされる可能性があります。
一部のソフトウェアが2FAコードの生成に使用できるように、USBドライブにシードのデータベースを保存できます。 ただし、これはお勧めできません、パスワードマネージャーがマスターパスキー/フレーズで暗号化することもできますが、それでもかなり限定的なソリューションです。
コメントで指摘したように、FIDOベースの2FAを使用している場合、他に利用可能な製品があります( fidoalliance.org/certification/fido-certified-products )、HTOP/ TTOP(Google Authenticatorコード)では、Yubikeyのようなものが最適ですが、それも完璧ではありません。