web-dev-qa-db-ja.com

ユーザー登録のための合理的で安全なパスワード要件は何ですか?

これは、UPSから入手したパスワードパッケージです(パッケージステータスのチェック用)。

パスワードの長さは8〜26文字にする必要があります。小文字、大文字、数字、特殊文字、スペースの3つ以上の文字タイプを含める必要があります。パスワードには、ユーザーID、名前、または電子メールアドレスが含まれていない場合があります。 (SSO_1007)

私は実際にこのパスワードを生成するために多少脳を壊さなければなりませんが、それだけでなく、最も重要なことに、3日後にはこのパスワードが何であるかを忘れてしまいます。ユーザーはそれほど幸せではありません。パスワードのリセットは頻繁に行われる可能性があります。ユーザーは、必要がない限り、サイトの使用を避けようとするでしょう。

ウェブサイトをセットアップする際の合理的で安全なパスワードポリシーとは何ですか?企業によっては、ハッカーがパスワードを100万回以上試行するのを恐れている可能性があるため、「特殊文字、小文字、大文字」の要件をすべて追加していますが、アカウントをオフにするか、単に無効にするだけでは妥当ではありません。パスワードを使用し、ユーザーが30回または100回試行した場合にパスワードのリセットを要求するまたは、ユーザーが30回試行した後、毎回5秒の遅延を追加しますか?その場合、それらの特殊文字はそれほど必要ありません。

10
nonopolarity

正直なところ、厳しいパスワード要件があることは不便であり、メリットではないと思います。原則として、最も適切なのは、長さ、おそらく特殊文字+英数字を指定することです。それ以上のことは人々にパスワードを書き留めるように求めています。そしてそれは安全なパスワードを持つという全体の目的を打ち負かします。私はまた、通常のとんでもないルールのセットを使ってx日ごとにパスワードを変更する必要がないのが嫌いです(たとえば、最後の25個のパスワードを再利用することはできません)。どのポイントでも、パスワードを要求しないこともできます。

15
Wayne Molina

私の意見では、パスワードには長さの要件のみが必要です。あなたは誰かが彼らのパスワードとして「a」を入れてほしくありません。そして、xkcdの回答が示すように、パスワードを覚えるのが非常に難しいとは限らない場合もあります。常に人々が自分のパスワードを変更することも許可します。また、「以前のパスワードに含まれている文字は使用できません」ということを忘れてください。

わいせつなパスワードポリシーを作成することは、害を及ぼすだけではありません。大学で私が行ったパスワードポリシーはUPSポリシーと似ていて、2週間ごとに変更する必要があり、以前に使用した50個のパスワードを使用できませんでした。アカウントを設定する際に先生が推奨したのは、規則に準拠した通常のパスワードを使用し、その最後にカウンターを追加して、パスワードにカウンター番号が何であるかを示すヒントを入力することです。

また、プレーンテキストデータベースがSQLインジェクションバグによってハッキングされたり、ユーザーにパスワードを電子メールで送信して傍受されたりしても、厳密なパスワードポリシーは何もしません。

基本的には、パスワードシステムをユーザーの面倒にしないでください。そうしないと、ユーザーが安全でないことをして、ユーザーがそれを回避できるようになります。たとえば、私の会社は、データセンターから専用サーバーを取得するときに、20文字の長さのパスワードを設定しました。それらは私達に電子メールで送られるにはあまりにも安全であり、ファックスされなければなりませんでした。パスワードを変更できませんでした。新しい20文字のパスワードの生成を要求するだけです。そして、それはすべてのユーザーにとってこの方法でした...それで、私たちがやったことは、パスワードを使ってデスクトップにテキストドキュメントを作成することだけです。また、彼らが持っていたすべての「セキュリティ」のために、それらは本当にかなり安全でなかったので、私たちはそれらをもう使いません。

13
Earlz

必ずスペースを入れてください。私が知っている誰もが、短い単語を、各単語の最初の文字を入力するよりも速く入力できます。たとえば、Bird in a Treeと入力してから、BiaTと入力してみてください。これには、pick Up milkMeetings all dayのような漠然とした適切なフレーズを付箋に書くと、明らかにパスワードではないという利点があります。

私は「数字と記号が必要」ルールの大ファンではありませんが、それらを一貫して適用する場合(たとえば、iは常に1、aは常に@)、粘着性のある場所に英語のフレーズを書くことができます。既知の独り言を話す規則を入力し、パスワードダイアログにB1rd in @ treeと入力します。セキュリティの観点からは、数字や記号はそれほど多くはありませんが、ユーザーとして夢中になる必要はありません。

パスワードの長さが最大のサイトは、私のナイスフレーズが「長すぎる」と思われる場合、私を怒らせます。 26は妥当なようです。私は誰かが列の幅を設計する必要があることを理解していますが、12はただ愚かに短いです。

4
Kate Gregory

安全vs.便利

パスワードのセキュリティポリシーは、侵害のコストに対して適切である必要があります。あなたのウェブサイトが私の金融口座に面している場合、私は厳格なパスワード保護をお願いします。オートボットに関するニッチなファンサイトであれば、それほどの保護は必要ありません。

UPSの規則は、以下を除いて妥当です。

  • 最大長が小さすぎます。覚えやすく、より安全なパスフレーズの使用を促進する必要があります。

引用されたルールでX回試行した後にリセットが表示されなかったので、ほとんどの場合これはばかげていると思います。リセットを強制するよりも、誰かを一定期間ロックアウトした方がいいと思います。これは、ある程度のセキュリティを意味します。それが必要なければ、それは必要ではなく、ロック/リセットは重要なポイントです。

セキュリティポリシーがわずかでもメリットがある、多くのパスワードポリシールールがあります。ただし、パスワードのセキュリティに実際の具体的なメリットがあるルールもあります。

ルール(および理由):

  • 最小長

非常に短いパスワードをすばやく解読する組み合わせ試行とエラー攻撃を防ぎます。

  • 単一の英語の単語(またはその他の言語)の使用禁止

これにより、辞書攻撃を防ぎます。

  • さまざまなカテゴリの強制的な包含(つまり、大文字、小文字、数字、句読点)

これにより、平均攻撃スペースが増加します。

これらすべての理由は、ユーザーがパスワードを選択する際のバイアスを最小限に抑えることに起因しています。ほとんどのユーザーは、短くて覚えやすいパスワードを作成する傾向があります。残念ながら、これは通常、パスワードを攻撃しやすくします。ほとんどのユーザーが必要とするのは、安全で覚えやすいパスワードまたはより長いパスフレーズを作成する方法に関する指示です。

安全で覚えやすいパスワード

長さ制限のあるパスワードを作成する必要があるときは、常にフレーズから始めるため、ニーモニックが組み込まれています。私はその語句を受け取り、各単語から同じ位置文字を取得します。これで、文字だけのシーケンスができました。次に、大文字と小文字の区別を選択します。一部はフレーズの固有名詞に基づいて、またはパターン(最初と最後、その他すべての文字など)によって選択します。次に、任意の規則またはパターンに基づいて句読点と数字を追加します。 (つまり、すべての「j」は7で、「&」を使用して句に「and」がある場合など)。

ママ、ちょうど男を殺した。彼の頭に銃を当てます。私の引き金を引いた、今彼は死んでいる。

クイーンが提供するフレーズ

  1. mjkampagahhpmtnhd-すべての単語の最初の文字
  2. MjkamPagahhPmtnhd-大文字小文字がフレーズの大文字小文字に一致します
  3. Mjk0mP0g0hhPmtnhd-'a'を0に変更
  4. Mjk0mP0g0()Pmtnhd-「彼の頭」を()に変更

数回入力した後、そのフレーズを考えるときに、覚えて問題が発生することはありません。

2
dietbuddha

パスワードは8〜26文字である必要があります

8文字以上の最小パスワードは、Lan Managerのレガシーです。 Lan Managerハッシュ パスワードを2つの7文字の文字列に分割してハッシュします。彼らは最低8文字を要求することにより、2番目の単語が空白のパスワードと同じではないことを保証しました(ソルトがなかったため、7つの空白のインスタンスはすべて同じ結果にハッシュされました)。

3日後には、このパスワードを忘れるでしょう

あきらめましたが、ルールはばかげているし、ばかげているので、今すぐ書き留めておきます。私がウェブサイトに使用するいくつかを除いてすべて。私の現在の雇用主はまた、過去の24個のパスワードを追跡しているため、再利用できません。また、パスワードに3文字以上の英語の単語(前方または後方)を含めることもできません。また、以前のWordを使用せず、その一部としていくつかの数値をインクリメントします(つまり、P4ssw0rd1は使用されましたが、使用できませんでしたP4ssw0rd2、またはP4ssw0rd0)。

パスワードを変更する必要があるときに、私はオフィスで苦労してレッスンを学びました。システムが交換を受け入れるのに45分かかり、その後すぐに思いついたものを忘れてしまい、リセットする必要があり、さらに45を無駄にしました。要件を満たすのに十分なほど複雑だった覚えているものを取得しようとする数分(要件の一部は上記にリストされているものもあれば、そうでないものもあれば、わからないものもあります)。あなたが知ることを許されていないルールを満たすものを思いつくのは、それほど楽しくありません。少なくとも Mastermind のようなゲームでは、どれだけ近づくかについての手がかりが与えられます。オフィスでは スマートカード を使用する人もいますが、私はその1人ではありません。

1
Tangurena

bcryptを使用する パスワードを保存するのは、最初に開始するのに適しています。

1
Ant

ReasonableとSecureは相互に排他的です。ロッドの両端です。途中でバランスをとるのが一番いいでしょう。安全に向けて、人々はパスワードを書き留めるか、完全に安全でないパスワードロック解除機能を使用します。

上記の例は、合理的というより安全性に傾いているように見えます。悪化している。

私は合理的な方に傾くことを好みます。重要なのは、バックエンドの安全性を重視することです。できるだけ使用しないソルトなどを保管します。データベースにパスワードをエンコードし、それらを一方向にエンコードするための最新の推奨されるすべての方法。次に、データベースとコードを安全に保ちます。また、一意の安全なパスワードを使用する必要があるシステムの管理者権限を持つユーザーをトレーニングします。最近、複数の辞書単語をひもでつなぐ方が、特殊文字や大文字でドラッグするよりも安全であることが示されました。複合辞書の一致が必要でしたが、これはハッカーにとって時間的には非常に時間がかかりますが、これらはユーザーにとって覚えやすいものでした。

0
Bill Leeper

パスワード要件の複雑さは、サイトのコンテンツとバランスを取る必要があります。銀行では、非常に複雑なパスワード(大文字、小文字、数字、特殊文字)が必要です。ただし、コンテンツが保存された検索や追跡番号のように重要でない場合は、パスワードの要件を緩和する必要があります。最小長は6文字で十分です。そうでなければ、それは単にあなたの聴衆を苛立たせ、彼らがログインを作成するのを阻止します。

0
Jeson Martajaya

辞書の単語やその些細なバリエーションではありません。それでおしまい。 2つの辞書単語の束は、ほとんど解読できません。明白な代替(0-O、1-I、5-S)ではない文字の1文字の代替。

また、応答時間を制限する場合-パスワードは1秒後に受け入れ/拒否され、同じログインに対して2回の同時試行は許可されません-別のものを試す前に、1つは(OKまたはエラー)終了する必要があります。 -特殊文字のパスワードが破られるには9年かかります。

0
SF.