1

Google 認証アプリのような多くの 2 要素認証アプリを見てきました。

アプリはオフラインで動作し、30 秒ごとに電話のキーをリセットします。

では、サーバーはどのキーが有効かをどのように知るのでしょうか?

私はこれを理解するのに苦労していますか?

そして、もし私がそのようなアプリを自分で作成したとしたら。どうすればそうできますか?

4

2 に答える 2

2

Google Authenticator は、時間ベースのワンタイム パスワード アルゴリズムを使用します。現在の時刻と共有秘密鍵を使用してコードを計算します。生成されたコードは、デバイスとサーバーに正しい時刻が設定されている限り検証されます。

于 2015-11-18T06:43:41.100 に答える
0

Google 認証システムは、次の 2 つの方法を使用します。

1...

「時間ベース」バージョン (TOTP) は、同期を維持するのが非常に簡単です。(あなたのデバイスとリモートサーバーの両方が同じ/正しい時刻を持っている必要があります。)

2...

「カウンターベース」バージョン (HOTP) は同期を維持し (モバイル デバイスが機内モードであっても)、30 秒ごとに内部のカウンターを何らかの方法で更新します...そしてリモート サーバーも同じことを行います。

モバイル デバイスとリモート サーバー間の通信なしで、#2 カウンターが「同期」を維持できる (30 秒ごとに変化する) 方法について、Google はあまり明確ではないため、私は #1 のみを使用しました。

于 2016-10-05T02:23:25.037 に答える