私は1passwordを使っていますが、1passwordでは、パスワードを保存するのと同じ場所に2FAトークンを保存することができますね。
もし誰かが私の1passwordのパスワードを盗んだら、私のアカウントにアクセスしてパスワードとセキュリティトークンの両方を取得できてしまうので、すべてを同じ場所に置くという考えは好きではありません。実は、2FAにはGoogle Authを使い、パスワードには1passwordを使っています。
セキュリティを向上させるために、これらを分けておくことは良いアイデアでしょうか?それは何か意味があるのでしょうか?
2つ目の認証要素を持つことの意味は、1つ目の要素(パスワード)がすでに失敗している場合に、あなたを保護することなのです。したがって、2FAトークンをパスワードと同じ場所に保管すると、その効果は著しく低下します。
パスワード管理ツールは、(アカウントごとにランダムに生成される個別のパスワードで)すでに2FAトークンと同じ脅威(総当り攻撃やクレデンシャルスタッフィング攻撃など)からあなたを守ってくれているという事実と組み合わせると、もしあなたがトークンをこの方法で保存しようとしているなら、なぜ2FAで悩むのかが疑問になってくるでしょう。
とはいえ、悪意のある人がパスワードデータベース全体を危険にさらすことなく、パスワードマネージャから一つのパスワードを盗むことができるシナリオはいくつかあります。
1.1. 自動入力を使用せず、フィッシングサイトにパスワードを入力した場合 (ただし、HOTP/TOTPトークンは、侵害の期間を制限することによってのみ役に立ち、U2F/WebAuthnトークンと異なり、実際にフィッシングを防ぐことはできません) 2.2. MITM によって接続が破られる(ここでも 2FA はあなたを救いません。また、2FA をサポートするほどセキュリティを重視するサイトが HTTPS を実装しないとは思えません)。 3.3. ログインセッションやパスワードデータベースではなく、パスワードを盗むことにしか興味のない怠惰なハッカー/マルウェア作者。 4.攻撃者が何らかの方法でメールアカウントを侵害し、それを使ってパスワードをリセットする(多くの場合、2FA トークンはメール経由でリセットできない)。
もしあなたが、パスワードデータベースが漏洩する可能性を心配せず、上に挙げた脅威のベクトルが、ログインするたびに2FAコードを入力しなければならないという余分なステップを踏む価値があると思えるほど、もっともらしく、深刻だと思うなら、そうしてください。そうでなければ、2FAコードをパスワード・データベースとは別に保存するか、HOTP/TOTPベースの2FAトークンの使用を完全に見合わせて、U2FまたはWebAuthnトークンを使用した方がより高い保護が得られるかもしれません。
Google Authアプリにはデータバックアップがないので、2FAコードは1Passwordに保管しておくことをお勧めします(rootを取ってTitanium Backupなどの外部バックアップツールを使っている場合は別です)。あなたの場合、スマホを紛失するということは、持っていた2FA認証コードをすべて失うということです。1Passwordに2FAを保存したくない場合は、クラウドバックアップに対応した他のアプリケーションに保存してください。
攻撃者は2つのアプリケーションを危険にさらす必要があるため、セキュリティは少し向上しますが、別の障害点が発生します。GoogleAuthアプリの場合、携帯電話を紛失すると、いくつかのアカウントからロックアウトされる可能性があります。
私は、安全で長くてユニークなパスワードを作成し、1つのパスワードマネージャのみを使用することをお勧めします。