パスワードを許可する長さを制限したり、特定の文字を禁止したりするサイトを数多く目にしました。パスワードの検索スペースを広げて長くしたいので、それは私に制限されています。また、それらがハッシュされていないかもしれないという不快な感覚を私に与えます。
そこにあるの良いアッパー長さを設定したり、パスワードの文字を除くいずれかの理由は?
パスワードを許可する長さを制限したり、特定の文字を禁止したりするサイトを数多く目にしました。パスワードの検索スペースを広げて長くしたいので、それは私に制限されています。また、それらがハッシュされていないかもしれないという不快な感覚を私に与えます。
そこにあるの良いアッパー長さを設定したり、パスワードの文字を除くいずれかの理由は?
回答:
正当な理由はありません。
編集:否定を証明することはできないため、正当な理由がないことを証明することはできません。他の人が指摘したように、ハッシュは入力のサイズに関係なく同じサイズになり、有効な文字を(質問コンテキストから)削除すると、状態空間が減少するだけです。答えは一見して明らかです:正当な理由はありません。良い音や良いように思える理由はたくさんあるかもしれませんが、そうではありません。もしそうであれば、誰かがすでにそれらをここに投稿している、またはここにない場合は確かにsecurity.stackexchange.comに投稿し、この回答はそれほど強く支持されなかっただろう。
長さを制限することは、ハッシュの実行時間と帯域幅を制限するための手段になります(とにかく両方とも本当に限界です)。それ以外には、特にセキュリティの観点から、正当な理由はありません。
「人々はより長いパスワードをより簡単に忘れるだろう」と言うことができますが、それは本当に馬鹿げた声明であり、まったく意味を成していません。
文字に関しては、将来のデータ転送および/または移行に関する潜在的なエンコードの問題を知っている限り(たとえば、2年でASCIIからUTF-8に切り替える)、より多くの文字を許可することはパスワードの強度にのみ有効です。
はい、特殊文字には理由があります。
特殊文字を許可しないことは、セキュリティに関連するというよりも、使いやすさの問題です。まず第一に、エンコードの問題によってそれらが破壊される可能性があります。第二に、常に同じエンコーディングを使用することを保証したとしても、入力デバイスの問題が残っています。同じキーボードレイアウトで、フルキーボード(ほとんどのモバイルデバイスが不要)に依存することになります。後で言語間だけでなく、OS間でも異なります。Windows、Linux、およびOSXのレイアウトは少し異なる場合があります。そのため、次のようなパスワードを許可しない正当な理由があります√Ω≈ç∫∞§…¬å∑±
。
Chaseの顧客がパスワードの大文字と小文字を区別しないことに気付いた数年前、セキュリティの世界で少し論争がありました。彼らのウェブページは、30年前のOS / 400バックエンドシステムのフロントエンドに過ぎず、ケースを無視するという技術的な制限があったことが判明しました。これを修正すると、明らかに数百万ドルの費用がかかります。
要点は、特定の長さを超えるパスワードを許可しないという、従来の高価な理由があるかもしれないということです。
(この言い訳を容認していないことに注意してください...)
最大のパスワード制限を実施するほとんどの銀行、IT部門などは、技術的な理由からそうしません。彼らは、パスワードハッシュがどのように機能するか、複雑なパスワードを保存する方法を完全に認識しています。パスワードを忘れた人をサポートするための呼び出し回数が減るため、これらの制限が課せられます。これは、そのような制限を課す正当な理由ですか?決して。しかし、それにもかかわらず、それが主な理由です。
valid Business reason
(個人的には相関関係があるとは実際には思わない)
すべての入力デバイス(ハードウェアに関して)が、フルキーボードのすべての文字を持っているわけではありません。パスワードマネージャーを使用していない場合、そのようなパスワードの入力に問題があることに気付くでしょうか?また、Unicodeはまだ標準ではありません(はるかに遠い)。
上限の長さを設定するか、パスワードの文字を除外する理由はありますか?
推測して、これらの制限のいくつかは、& < > #
ハッカーを締め出すためのWebサイトでの文字フィルタリング()によるものだと言います。他のものは、先のとがった髪のボスの委員会から出てくる骨の生えたアイデアです。
私は、(私の意見では)非常に愚かな「セキュリティ」の決定に何度も出くわしました。例として、ある大規模な投資会社が年金だけでなくIRAアカウントも処理しています。行うために任意の電話に自分のパスワードを入力するために私を必要と年金との接触を(あなたがそうでない場合は、それらを達することができません)。私の証券会社/ IRAアカウントでは、文字(大文字と小文字)と句読点を使用しています。これらの文字は電話番号パッドには表示されません。電話でパスワードを使用してログインできない場合は、証券会社のアカウントのパスワードを、電話で入力できるものにリセットできます。
私の給与計算システム(私が働いているコンサルティング会社用)には数字と数字のみが必要です-これにより、ユーザーが電話をかける(これをやったことがない)かWebインターフェースを使う(これだけを使用する)かどうかにかかわらず、同じデータベースを使用できます。
とはいえ、オフィスでパスワードを変更するときが来ました。システムに受け入れられるパスワードを見つけるのに約半日かかると思われるほどクレイジーな制限があります:少なくとも2つの大文字、少なくとも2つの小文字、少なくとも2桁(+/- 1は不可)前のパスワードから)、少なくとも2つの非英数字/非数字、最後の24のパスワードのいずれとも一致することはできず、英語の単語(3文字以上)である文字列(前方または後方)を含むことはできません(また、私が知るクリアランスがない他のいくつかの言語)。私が考える最低限の長さは10〜11文字のようなものです。
文字を制限する理由の1つは、パスワードの入力方法にあります。
たとえば、いくつかの銀行は、インターネットバンキングのWebサイトで、パスワードから特定の文字を要求し、ドロップダウンボックスから適切な文字を選択します。
おそらく、キーロガーがキー押下を検出できず、パスワードを[からの文字]を知ることができないように、これを行います。スクリーンキャプチャなど、このような対策を回避できる方法は他にもたくさんあることは知っていますが、キーロガーに対して依然として有効です。
すべてのキャラクターを許可する必要がある場合、ドロップダウンボックスの長さが面倒になり、同様に見えるキャラクター間の混乱も許容します。
タブのような特殊文字を禁止することは有効です。テキストモードではタブ文字を使用してログオンまたはパスワードを変更できますが、GUIまたはWeb環境では使用できません。バックスラッシュ文字は、クロスプラットフォームの問題も示します。
ところで、長いパスワードはパスワードではありません-パスフレーズです。あなたの平均的なユーザーは2Z8d!%g#xを思い出せませんが、「私のペットの名前は犬のfidoです」ということは覚えています。長いテキストは、総当たりでクラックするのが難しく、画面に添付されたメモに書き込まれる可能性ははるかに低くなります。
人々がタイプするとき、彼らは「タイプミス」と呼ばれる間違いをする。通常、人々は自分の間違いを見て修正します。パスワードの入力では、通常、入力した内容が表示されないため、入力ミスを修正できません。気付かないうちに間違いを犯し、パスワードを送信すると、「パスワードが無効」として返されます。その後、再試行します。その後、再試行します。
「3つの小さな小さなタイプミスと、ブルートフォース攻撃と見分けがつかない」と考えることができます。システムはブルートフォース攻撃からどのように防御しますか?明示的な「試行回数が多すぎると、表示されなくなります。正しく入力してもログインできません」という応答がありますか?パスワード入力の遅延が指数関数的に増加し、遅延が長すぎる場合にブラウザーのタイムアウトが発生し、再度ログインできないようになりますか?アプローチはさまざまですが、適切に設計されたシステムには常に結果があります。
「小さな3つの小さなタイプミスと、ある種のサービス拒否」と考えることができます。
パスワードの長さが長くなると、タイプミスのリスク(したがって、許可された人のアクセスを拒否するリスク)が増加します。約20文字より長いものは頻繁にタイプミスされます(ユーザーがスマート/レイジーで、パスワードをどこかに保存し、タイプミスを心配することなく「コピーアンドペースト」できる場合を除きます。 .txt ")。