web-dev-qa-db-ja.com

2FAトークンをパスワードと一緒に1passwordに保存しても安全ですか?

私は1passwordを使用していますが、1passwordを使用すると、パスワードを保存するのと同じ場所に2FAトークンを保存できます。

誰かが私の1passwordパスワードを盗んで私のアカウントにアクセスし、パスワードとセキュリティトークンの両方を取得する可能性があるのと同じようにすべてを同じ場所に置くという考えは好きではありません。実際、私は2FAにGoogle Authを、パスワードに1passwordを使用しています。

セキュリティを高めるために、それらを分離しておくことは良い考えですか?それは意味がありますか?

18
Pau Chorro

私は1Passwordで働いており、この機能を紹介したときに この質問について正確に書いた です。

答えは、時間ベースのワンタイムパスワード(TOTP)に実際に必要なセキュリティプロパティによって異なります。 TOTPが提供するいくつかのセキュリティプロパティの1つであるTOTPの「第2の要因」であり、多くの場合、それは最も重要ではないかもしれません。これがこれらのスキームから得られる唯一のセキュリティ上の利点であるかのように、これがすべて「2FA」という用語に当てはまることに惑わされないでください。

TOTPのセキュリティ上の利点(通常のパスワードの使用とは対照的)

そこで、TOTPで得られるセキュリティプロパティのいくつかをリストし、typicalパスワードの使用と比較します。

  1. 認証中に長期シークレットは送信されません。 TOTPを使用すると、登録時にのみ送信される長期的な秘密(通常はQRコード)を取得します。長期秘密は実際に使用されても送信されません。 (これは、パスワードがネット経由で送信される一般的なパスワードの使用とは異なり、TLSなどの他の保護機能に依存します)。これは、長期的な秘密をフィッシングできないことも意味します(数値コードは可能です)。

  2. 長期的な秘密はunguessableです。長期シークレットは、最初に登録したときにサーバーによって生成されるため、サービスのランダム性の基準に従って生成されます。繰り返しますが、これは人間が作成したパスワードでの一般的なパスワードの使用とは異なります。

  3. 長期的な秘密は独特です。さまざまなサービスで同じTOTP長期シークレットを再利用することはありません。繰り返しますが、これは、人々がパスワードを再利用する一般的なパスワードの使用とは異なります。

  4. そうそう。そして、何らかの理由でそれが重要である場合、長期的な秘密を「あなたが持っているもの」に置いています。

TOTPが配備されるほとんどの場合、プロパティー#2(到達可能性)および#3(一意性)のために配備されます。実際、Dropboxが最初にサービスにTOTPを導入したとき、それらは 理由を詳しく述べた パスワードを再利用していたユーザーの保護に役立った。

長期的な秘密の一意性と推測不可能性に続く次の最も重要な利点(ほとんどの人にとって)は、長期的な秘密が送信されないことです。これにより、侵害されたネットワークでのキャプチャが困難になります。

おそらく、TOTPが提供するセキュリティプロパティの中で最も重要性が低いのは、2番目の要素です。メリットがないと言っているわけではありませんが、ほとんどの人がTOTPを使用している場合は、おそらく最も重要ではありません。

パスワードマネージャの使用とは対照的です。

上記では、TOTPの4つのセキュリティプロパティをリストし、一般的なパスワードの使用と比較しました。しかし、パスワードマネージャーを最大限に活用しているユーザーについて考えてみましょう。一部のサイトまたはサービス4でパスワードマネージャーをうまく使用している場合、そのサイトにはランダムに生成された(したがって、推測できない)パスワードがあり、そのサイトには一意のパスワードがあります。そのため、TOTPを使用しても、これら2つのセキュリティプロパティの点でそれほど大きな影響はありません。

プロパティ#1(長期秘密は送信されない)を見ると、パスワードマネージャーを使用している場合でも、TOTPはいくつかの追加のセキュリティを提供します。ただし、パスワードマネージャーを使用すると、フィッシングの可能性が減るので、TOTPの効果は実際にはありますが、パスワードマネージャーを使用していない人にとってはそれほど大きくありません。

残っているのは#4だけです。 2つの要素が本当にTOTPを重視する理由である場合は、1Passwordで長期的な秘密を保持しないでください。しかし、ほとんどの人にとって、TOTPの価値は、決して伝わらない強力でユニークな長期的な秘密を持っていることにあります。

実際のセキュリティプロパティを確認する

(2FAのレトリック全体に巻き込まれるのではなく)TOTPから本当に得られるものを評価し、トレードオフを検討することをお勧めします。 TOTPのように「2要素認証」ではなく「ユニークシークレット認証」と呼ばれるものがあれば、問題は決して発生しなかっただろう。

16

認証のための第2要素を持つことの全体のポイントは、第1要素(パスワード)がすでに失敗した場合にあなたを保護することです。したがって、2FAトークンをパスワードと同じ場所に保存すると、2FAトークンの効果が大幅に低下します。

これを、パスワードマネージャー(アカウントごとに個別にランダムに生成されたパスワードを適切に使用)が2FAトークンが行う同じ脅威(ブルートフォースやクレデンシャルスタッフィング攻撃など)の多くからすでに保護している事実と組み合わせて、その理由を質問し始めます。この方法でトークンを保存する場合は、2FAを使用する必要はまったくありません。

とはいえ、悪意のある者がパスワードデータベース全体を危険にさらすことなく、パスワードマネージャーから単一のパスワードを盗むシナリオがいくつかあります。

  1. オートフィルを使用せず、フィッシングサイトでパスワードを入力します(HOTP/TOTPトークンは、侵害の期間を制限することによってのみここで役立ちます。U2F/ WebAuthnトークンとは異なり、フィッシングを実際に防止することはできません)
  2. あなたの接続はMITMによって危険にさらされています(ここでも、2FAは実際にはあなたを救うことはできません。2FAをサポートするためにセキュリティに十分配慮しているサイトがHTTPSを実装しない可能性は低いこともわかります)
  3. ログインセッションやパスワードデータベースではなく、パスワードの盗用のみに悩む怠惰なハッカー/マルウェアの作成者
  4. 攻撃者がメールアカウントを何らかの方法で侵害し、それを使用してパスワードをリセットします(多くの場合、2FAトークンはメールでリセットできません)

パスワードデータベースが危険にさらされる可能性や、上に挙げた脅威のベクトルが、ログインするたびに2FAコードを入力しなければならないという追加のステップに値するほど十分に深刻であると思われる場合は、次に進みます。それのための。それ以外の場合は、パスワードデータベースとは別に2FAコードを保存するか、完全に保護を強化するU2FまたはWebAuthnトークンを優先してHOTP/TOTPベースの2FAトークンを使用しないことをお勧めします。

11
Ajedi32

Google Authアプリにはデータバックアップがないため、1FAで2FAコードを保持することをお勧めします(ルートと、Titanium Backupなどの外部バックアップツールがない場合)。あなたのケースでは、あなたの電話を失うことはあなたが持っていたすべての2FA認証コードを失うことを意味します。 1FAに2FAを保存したくない場合は、クラウドバックアップをサポートする別のアプリケーションに保存してください。

攻撃者は2つのアプリケーションを危険にさらす必要があるため、セキュリティを少し高めますが、別の障害点を作成します。 GoogleAuthアプリの場合、スマートフォンを紛失すると、一部のアカウントからロックアウトされる可能性があります。

安全で長くユニークなパスワードを作成し、1つのパスワードマネージャのみを使用します。

4
ThoriumBR

緊急コードや新しいデバイスで2つの要素を取り戻す機能について話しているとすると、個人的には、これらのコードをオンラインのどこからでも利用できるのは非常に困惑します。これは、オフラインバックアップに最適なケースです。

QRコード/リカバリキーなどのコピーをオフラインで(紙またはUSBスティックに)保存するのが私の好みです。個人的なお気に入り(Windows PCを想定)は、セーフティボックスに保管されたビットロックUSBスティックです。

1
Tim Brigham

理想的に

理想的な世界では、2つの要素のキーを1つのデバイスに配置する必要があります。そうすれば、それはあなたが本当に持っているもの(あなたが知っているものに加えて)パスワードのように)。 PINまたはその他のセキュリティによって保護されているキーを携帯電話に置くと、携帯電話を紛失したときにリモートで携帯電話をワイプして、コードがエスケープされていないことを確認できます。

しかし、これは現実的なFARです...

現実の世界では、バックアップが必要です。はい、1Password(または任意のパスワードマネージャー)に情報を保存できますが、それでも平均的な人よりも安全です(ターゲットになる可能性がはるかに低くなります)。したがって、1Passwordに保存するかバックアップを保存しないかを決定する場合は、1Passwordに保存してください。

ただし、ご指摘のとおり、すべての卵を1つのバスケットに入れます。 1Passwordの保管庫が何らかの理由で侵害された場合、あなたはねじ込まれている。

したがって、私が提案すること(Timがここでも触れた)は、2番目の要素のコードを1Passwordとはまったく異なるものに格納することです。それらを印刷するか、2番目の電話にロードするか、Authy(バックアップがある)などのサービスを使用するか、その他何でもかまいません。次に、2つの障害点があります。誰かが1Passwordに侵入しても、多要素アカウントにアクセスすることはできません。

個人的にはここに印刷の提案が大好きです。コードを印刷することで、コードをデジタルライフから完全に削除できるため、ハッカーがコードにアクセスすることはできません。金庫に入れて、金庫に入れます。なんでも。そして、必然的に電話を紛失したり、アップグレードする必要がある場合は、新しい電話にコードを簡単にロードできます。

TL; DR: 2番目の要素を持つことで、あなたはすでにパックの先にいます。そのため、1Passwordでそれらを保護することは、計算されたリスクと考えることができ、完全ではありませんが、それでも十分に安全です。ただし、より完全なセキュリティモデルを追求する場合は、それらを個別に保存し、できればインターネットからエアギャップを設けて、ハッキングの試みで1Passwordとセキュリティコードを一度に取得できないようにします。

1
Vidia

簡単な答えは「はい」です。パスワードマネージャーに対する信頼はすべてありますが、慎重に練習することをお勧めします。 2FAを使用するのは、パスワードを強化するためにセキュリティをさらに強化するためです。その同じパスワードが2番目の要素と共に保存されている場合、目的は無効になります。セキュリティは何よりも原則に基づいています。

0
Katlego M