web-dev-qa-db-ja.com

(Googleオーセンティケーター)ワンタイムパスワードのQRコードが漏洩した場合はどうなりますか?

Googleオーセンティケーターなどのオーセンティケーターアプリで検索されることになっているワンタイムパスワード(OTP)のURLのQRコード(otpauth://で始まる)がある場合、ユーザーが誤ってこのQRコードを「通常の」QRコードリーダー。たとえば、URLをWebブラウザーで開こうとした(そして、それは検索エンジンに渡されます。これは、Android/Chromeの場合、ブラウザーの場合)プロトコルを理解していない)?

つまりこの最初のコードは、オーセンティケーターアプリでアクティブ化された後に使用されますか、それともその時点で「非推奨」ですか?

12
SHL

QRコードは引き続き有効で使用可能です。それが機能しなくなることはありません。これは実際にQRコードを漏らすことを非常に危険にします。攻撃者がそれを見ると、初めて使用してから数年経っても、独自のTOTP(Authenticator)アプリをセットアップしてコードを使用でき、攻撃者が行うのと同じトークンを生成し、攻撃者が何でも乗っ取るのを助ける可能性がありますTOTPコードが保護しているアカウント。機密性が高い場合は、新しいコードを生成する必要があります(これは通常、2要素認証をオフにしてから再びオンにすることで実行できます)。そうすれば、誰かが古いコードを入手したとしても、何の役にも立ちません。

14
CBHacking

Androidアプリがスキームに登録されているデバイスでこのリンクを開こうとした場合otpauth://その後、そのアプリケーションを開きます。デバイス上の1つのアプリのみが、一度に特定のスキームに登録できます。

ここ は、関連するGoogleオーセンティケーターのソースコードへのリンクです。

  <intent-filter>
    <action Android:name="Android.intent.action.VIEW" />
    <category Android:name="Android.intent.category.DEFAULT" />
    <category Android:name="Android.intent.category.BROWSABLE" />
    <data Android:scheme="otpauth" />
  </intent-filter>

この線: <data Android:scheme="otpauth" />は、リストされたすべてのインテントタイプのスキームを登録します。これをブラウザで表示しようとした場合は、このアプリに直接移動する必要があります。


QRコードは1回限りの使用ではありません。他の誰かがコードを読んだ場合、HMACで使用される「秘密」にアクセスでき、コードを複製できます。

3
d0nut