web-dev-qa-db-ja.com

Googleはアプリケーション固有のパスワードの「スペース」を気にしませんか?

最近、Googleアカウントに「2段階認証」を設定しました。

機能の1つは、2ステップのプロセスをサポートしないデバイス用に「アプリケーション固有のパスワード」を作成する機能です。 (Android、BlackBerry、iPhoneなどのスマートフォン、Microsoft Outlookなどのメールクライアント、GoogleトークやAIMなどのチャットクライアント上のアプリ)

Google pic 1

これらのパスワードの1つを作成すると、「スペース」は重要ではないとGoogleから通知されます。

Google pic 2

これは…

  • パスワードはプレーンテキストで送信されるため、相手側のスペースを取り除くことができます(メールクライアントはこれを実行できますが、GmailやカレンダーやActiveSyncなどのGoogle製品もそうです)
  • 彼らが使用するハッシュ方法はスペースを取り除きます(ただし、サードパーティ製品のハッシュ方法を制御することはできません)
  • パスワードのハッシュを最後に2つ保存します。1つはスペースあり、もう1つはスペースなしです(この場合、スペースが存在する可能性がある3つの場所の可能な組み合わせごとに1つずつ、2つ以上保存する必要はありません)。
11
Corey
  • パスワードはプレーンテキストで送信されるため、SSLを使用して安全な接続を確立し、誰もあなたの通信を傍受できないようにします。サーバーはパスワードの代わりにハッシュを期待しているので、ハッシュされたパスワードを送信することを提案しますが、ハッシュを傍受してリクエストを偽造することは可能です。 (これも基本的には単なる文字列です)
  • ハッシュの保存は主に、データベースがハッキングされたとき/調べられたときにパスワードが表示されないことを確認し、他のアカウント/サービスでそれを再利用しようとするために行われます。
  • パスワードをハッシュ化する前にスペースを取り除くことができます。あなたが言うように、空白の可能性があるあらゆる可能性についてパスワードのハッシュを保持すると、複数のハッシュが格納されます。または、パスワードは常に4つの文字の4つのグループで構成されます。その後、最初にすべてのスペースを削除してから、4文字の4つのグループに分割するのは簡単です。
9
Lucas Kauffman

おそらく答えは次のとおりです:

パスワードは、SSL暗号化チャネルを介してGoogleサーバーに送信されます。したがって、Googleサーバーはクライアントが提供したパスワードを確認します。 Googleサーバーは、パスワードをハッシュ化する前にすべてのスペースを削除します。したがって、パスワードにはスペースがないと考えることができます(スペースは表示のためにのみ追加されます)。または、パスワードにスペースがあると考えることもできますが、ハッシュプロセスではスペースは無視されます。どちらにしても、結局は同等です。

サードパーティのハッシュは関係ありません。ハッシュはGoogleサーバーによって行われるため、重要なのはGoogleがパスワードをハッシュする方法だけです。

4
D.W.