web-dev-qa-db-ja.com

一部のWebサイト(Googleを含む)がパスワードの空白を削除するのはなぜですか?

私は、Googleと他のいくつかのサイトがパスワードの空白を削除することに気づきました。

パスワードの最後にスペースを追加しても、Googleアカウントに正常にサインインできます。

この動作は意図したものですか、それともバグですか?

他のサイトも試しましたが、多くのサイトがそのようなことをしていることがわかりました。

一部の人々はセキュリティを強化するためにパスワードの最初または最後にスペースを意図的に追加する可能性があるため、これは非常に深刻なセキュリティ問題であると私は考えています。

63
zccoding

良い観察。

私の経験では、これはいくつかの理由で起こります。いくつかは意図的であり、いくつかは意図的ではありません。

空白を削除する意図的な理由:

  • ユーザーはしばしばパスワードをカットアンドペーストし(そうです、パスワードマネージャーとしてのメモ帳の使用は実際に起こります)、一部のクライアントの貼り付け操作は空白を追加します。
  • フレーズ(マルチワード)パスワードは、パスワードの長さを長くするためにますます使用されるようになり、ユーザーは時々習慣から思わずスペースを追加することがあります。
  • モバイルキーボードでは、単語の後にスペースが追加されることがよくあります。モバイルブラウザはパスワードコントロールを認識します(例:type=password)そしてパスワードに対してこれを行うことを避けてください、彼らはいつもこれをするわけではありません。

意図しない理由:

  • 多くのアプリは、デフォルトでフィールドの空白を削除する標準化されたフォームハンドラー(Ajaxハンドラーなど)を使用しており、開発者は失敗するか、怠惰すぎてパスワードの動作をオーバーライドできません。
  • パスワードは、不正な文字や認識されない文字を防ぐためにホワイトリストに登録されることが多く、正規表現の一致により、誤って空白が削除されることがあります。
  • 等.

理由は実際に大きく異なるため、ここでは大きな答えはありません。

しかし、確かなことは1つあります...一貫性のない適用とこれに関するサイトの開示の欠如は、ユーザーが気づいたり、先頭または末尾の空白を使用しようとするユーザーにとってかなりひどいUXエクスペリエンスを生み出します。

62
tohster

この動作によって問題が発生することはありません。パスワードをトリミングするサイトは、最初の入力時と使用時の両方でそれらをトリミングしますが、そうしないサイトはトリミングしません。パスワードにスペースを使用していて、それらが省略されている場合は、気付くことさえありません。

パスワードにスペースを使用しても、スペースの代わりに他の文字を使用するよりもセキュリティは強化されません。しかし、サイトがパスワードをトリミングすることを知っていると、セキュリティが向上する可能性があります。誰かがあなたのパスワードを入力しているのを見ている場合は、実際にパスワードを歪ませるのではなく、余分なスペースを入れて観察を歪めます。

3
BIshikawa

簡単な答えは、*空白は意図的ではないと想定されているということです。彼らは自分のサイトにアクセスすることができませんでした。

パスワードのセキュリティの問題に関しては、セキュリティに関する限り、Webサイトが間違っていることが多すぎます。最も悪質なのは、パスワードの文字数を制限することです。 (パスワードがクリアテキストで保存されていないと仮定します。)

辞書やブルートフォース攻撃を無効にする最も簡単な方法は、パスワードの文字数を増やすことです。

システムが特殊文字を許可しない場合でも、62文字セット(小文字、大文字、0〜9)は、16文字では分割できない実用的な目的で使用できます。

1兆回/秒(Snowdenによる)は、1年間に10億の3/4秒を掛けたものです。だいたい10 ^ 19

16文字のパスワードはおよそ10 ^ 30です。これは、私の知る限り、壊れることはありません。

2
Mayo