web-dev-qa-db-ja.com

パスワードにスペースを入れないのはなぜですか?

「パスワードにスペースを含めることはできません。」 1 など、一部のWebサイトから表示されるメッセージです。

どうして? (この質問は パスワードに特殊文字を使用できない理由 とよく似ていますが、その回答はスペース文字には当てはまらないようです)。

一部のシステムは、明らかにパスワードをハッシュする前にすべてのスペースを取り除きます(== --- ==)。 ( Googleはアプリケーション固有のパスワードの「スペース」をどのように気にしませんか?

ユーザーが入力したもの、スペースなどすべてを単純にハッシュしないのはなぜですか?

127
David Cary

私はそれをレガシーの狂気以上のものとして説明することはできません。

データの任意のブロック、印刷可能またはそれ以外の場合、許容される必要がありますパスワードをハッシュしている場合。ログインするたびに、誰かが1MBの帯域幅(および低速のアルゴリズムを使用するために入力をハッシュするために対応するCPU時間)を吸収しないように、最小限の複雑さと「健全性」の最大長を制限する必要があります。

108
Jeff Ferland

先頭と末尾のスペースは、コピーと貼り付けにゆるい人にとっては問題になる可能性があります。そうでなければ、他の投稿に同意しましたが、正当な理由はありません。

しかし、他にどのようなキャラクターがブロックされているのですか?タブ、cr、lf、backspace、ビープ音☻☺♪▬♣。 ?

39
mgjk

簡単な答えは、それは悪いパスワードポリシーだということです。

スペースキャラクターを禁じる理由は特に考えられません。これはおそらく、善意で間違った人によって設定された任意の要件です。

25
user10211

セキュリティ上の理由から、実際の文章をパスワードとして使用することを妨げているので、実際の意味があったとしても非常に安全ではありません。厳密に言えば、エントロピーが維持されていれば、パスワードのスペースに不安はありません。そのため、私が見ることができるのは、人々が「創造的」であることだけです。

また、パスワードが目に見える形で表示された場合、スペースが視覚的に正確に入力されていることを確認するのが難しいという使い勝手の問題もあるかもしれません。 (それが* sのように見える場合に許可される1つのスペースまたは4ですか、それは簡単に数えられます。)

10
AJ Henderson

これは利便性のための非常に良いポリシーであり、カスタマーサポート側からこれを見てきたので、これはどこにでも実装する必要があると思います。

「abc def ghi」のようにパスワードを書き、それを紙にコピーするか、コピーして貼り付けることができます。

全員に伝え続けるよりも、すべてのスペースを取り除くほうが簡単です。

  • 「空白文字をコピーして貼り付けていないことを確認してください」
  • 「パスワードを手動で入力し、コピーして貼り付けないでください」

これは通常、質問に対する答えです。

  • 「私が送信したメールから正確にコピーしたにもかかわらず、パスワードが機能していません」
7
sharp12345

プログラムのセマンティクスについてのみです。ほとんどの場合、スペース文字「」または「」は、「a」または「dds」などの他の記号とは異なります。

空白文字は、改行-'\ n'または空白文字-​​''などの他の奇妙な文字にまとめられます

特定のコンピューター環境の一部の特殊文字には表現がないため、一意ではなく、空白文字「」に解析されます

MAcからWindows、Linuxにファイルをやり取りしている一部のコンピューター環境では、( '' == '')となることがあり、結果がFALSEになります(二重の等号は単に比較演算子を示します)。チーム全体でコンピューターカルチャーが異なるために見えないスペースに隠れたシンボルが存在していたため、これは誤りでした。

厳密にパスワードを話すときにこの問題が発生するかどうかはわかりませんが、パスワード、関数名、ファイル名などの特別な領域にスペースを入れない方が、常に問題を解決するのに役立ちます。ファイル名のスペースの解析はまったく別の話です。プログラムによっては、スペースに%を追加してスペースを削除し、名前が%nameになるようにします

3
jordan

ほとんどのキーボードでは、スペースキーを押すと他のキーとは少し異なるサウンドになります。

他の誰かが自分のパスワードを入力するのを聞く人のシナリオを考えてみましょう。

たとえば、パスワードが3文字+スペース+ 4文字で構成されていることをその人が理解できる場合、それは場合によっては非常に役立つヒントになります。

2

プログラマー以外のほとんどの人は、スペースの文字は他の文字と本質的に異なると感じている(意識しているかどうかに関係なく)ので、それは単語を互いに分離するためだけに機能します。データではなく単なるメタデータです。

この感覚は、スペースキャラクターに対応する音がないという事実によって強化されます。ほとんどの人は、視覚的な形式(書かれたときのように見える)ではなく、発音された形式(大声で話すときの音)でパスワードを覚えています。

したがって、彼らは「My Password」、「My Password」、「MyPassword」が等しく発音され、1つの単語の終わりと次の始まりが簡単に(大文字の「P」のおかげで)見られるため、同じであると無意識に考えます。 -スペースなしでも。もちろん、これらの3つが同じかどうかを尋ねた場合、問題を無意識から意識的な心に引き上げ、誰もが「いいえ」と答えます。しかし、誰も質問しない限り...

したがって、パスワードにスペースを許可する問題は実用的です。これは、ユーザーがパスワードを忘れるのに役立ちます。つまり、パスワードにスペース(または2つか3つか...)があったかどうかを忘れるのに役立ちます。

0
user11717468

スペースを除外する理由はいくつか考えられます。これらの理由は、セキュリティとは何の関係もありませんが、ユーザビリティとは関係ありません。

  • スペースを含むパスワードを送信する場合、受信者はそれがスペースまたはタブであることをどのようにして知っていますか?そして、それは1つか2つのスペースですか?あなたがそれを手書きで書かなければならない(それが起こる)と仮定して、この情報をどのように表示するのですか?メールクライアントのフォントによっては、空白スペースに気付かない可能性もあります。

  • 繰り返しますが、パスワードを送信するとき、スペースが最初または最後にある場合、簡単に見落とされ、引用符で囲む必要があります。しかし、それでも奇妙に見え、この最後のスペースが含まれていないユーザーがログインできないことは容易に想像できます。

  • 空白文字(改行、タブ、スペース)は、多くの場合、誤ったデータをコピーして貼り付けないようにするために、フィールドの末尾と先頭から削除されます。明らかにスペースが大きい場合は、問題が発生します。

全体として、スペースがないことであらゆる種類の問題を回避でき、サポートコールを節約できると思います。

編集:

パスワードを共有することの悪い習慣についてのコメントに答えるには:

重要なビジネス文書が、現在休暇中のボブのステーションにロックされているとしましょう。この場合はどうしますか?ボブが2週間後に戻って、その間に潜在的なビジネスを失うのを待ちますか?または単にパスワードを送信するように彼に頼む?それは確かに悪いですが、それでも代替よりも優れています。

Linus Torvaldが(何かについてですが、私は精神が好きです)言います:「あなたは現実に対処するべきです。

0
laurent