国際化されたアプリケーションで、パスワードの複雑さに関するポリシーのベストプラクティスは何ですか?答えを探すのに運がありません。ウィキペディアには、これらの項目が パスワードポリシー に対してリストされています。
- 大文字と小文字の両方の使用(大文字と小文字の区別)
- 1つ以上の数字を含める
- 特殊文字の包含、例えば@、#、$など.
- 辞書またはユーザーの個人情報で見つかった単語の禁止
- カレンダーの日付、ナンバープレート番号、電話番号、またはその他の一般的な番号の形式と一致するパスワードの禁止
- 会社名または略語の使用禁止
ラテン系以外の言語を話す場合、大文字と小文字に関するルールはどのように機能しますか? a-zやA-Zほど単純ではありません。辞書検索と特定の形式の禁止についてはどうですか?この問題は英語ではよく知られているようですが、他の言語や文化についてはどうですか?
ほとんどのドライブバイパスワードクラッキングの試みでは、パスワードがASCII文字のサブセットであると想定しています。ただし、標的型攻撃(Advanced Persistent Threatモデルのもとで)は、ユーザーがASCIIパスワードを使用せず、タクトを変更する。
そのため、以下のルールをお勧めします。
各アルファベットの文字サブセットを識別できる場合は、個々のエントロピースコアをそれらに適用できます。これにより、そのようなパスワードに最低限のセキュリティを要求できます。
おそらく最も重要な部分はユーザーのフィードバックです。ユーザーに、サイトのパスワードシステムで見つかった問題を報告し、システムを改善する方法を提案するよう依頼します。ネイティブスピーカーのみが実際に事前に脆弱なパスワードを識別できます。
冗談はさておき、 xkcd's Password Strength comic は言語に依存しないため、ここでは特に関連があるかもしれません:верныйлошадьбатарейкаштапель(例以下ロシア語で)エントロピーでいっぱいです。
Microsoft TechNetの記事 パスワードは複雑さの要件を満たす必要がある を見つけました。これはWindows Serverベースの製品に適用されるようです。これにより、大文字でも小文字でもない「文字」の別の文字グループが追加されます。
パスワードには、次の5つのカテゴリのうち3つからの文字を含める必要があります。
- ヨーロッパ言語の大文字(AからZ、発音区別符号付き、ギリシャ文字およびキリル文字)
- ヨーロッパ言語の小文字(a〜z、シャープ記号、分音記号、ギリシャ文字、キリル文字)
- 基数10桁(0から9)
- 英数字以外の文字:〜!@#$%^&* _- + = `|(){} [] :;" '<>、。?/
- アルファベット文字として分類されているが、大文字でも小文字でもない任意のUnicode文字。これには、アジア言語のUnicode文字が含まれます。
私はアラビア語圏で展開されるシステムを扱っています。私が理解しているように、アラビア語には大文字と小文字の概念はなく、28文字の英字のみです。
現在の最小パスワード複雑度要件は、大文字1つ、小文字1つ、数字1つ、8文字です。これは(26 * 2 + 10)^ 8 = 2.2E + 14を与えます
チームに2つの選択肢を提供しました
アラビア文字の場合、これらのキーボードで一般的に使用されるセットを構成する、少なくとも1つの英字(アラビア語Unicode)、1つの数字、1つの特殊文字を含むパスワードが必要です! "#$%^&*()_- + = :; @/<> ,.(20)これにより、(28 + 10 + 20)^ 8 = 1.3E14が得られます
パスワードは最低10文字で、少なくとも1つの英字と1つの数字が含まれている必要があります。これは(28 + 10)^ 10 = 6.3E15を与えます
可能な文字は次のとおりです: https://en.wikipedia.org/wiki/Arabic_alphabet#Keyboards
エントロピー分析では、既知の言語から派生したパターン化された一連の単語またはフレーズがパスワードに含まれていると想定しています。パスワードが任意の言語で見つかったフレーズで構成されていない場合はどうなりますか?言い換えると、テキストのタイプされたページで発生する特定の文字の頻度を計算でき、ラテン語および英語ベースのシステムでこれが最も頻繁に使用されるETAOINSHRDLUに対応します(Carl、彼の著書、Contactに感謝)。したがって、非言語ベースの文字列で構成されるパスワードは、解読するのが最も難しくなります(したがって、覚えるのが最も難しくなります)。パスワード文字列のソースとして、言語を使わずに人にやさしいパスワードを作成する方法はたくさんあります。一部の文字と数字は音韻的に韻を踏み、エントロピー分析はそれを考慮に入れていません(soundexライブラリーのセクションで何かを見逃していない限り)。皮肉なことに、エントロピーと統計分析からパスワードを保護する必要があるということも、パスワードを覚えにくくするものです。パスワードポリシーは、パスワードがどの言語で作成されていても、最低レベルの保護を保証するように設計されています。
ポリシーの問題と、他の非ラテン言語の文字の種類は、主にラテン語ベースの文字セットで作業する私たちにとって大きな問題です。たとえば、タイ語やアラビア語など、他の言語のラテン語に似た文字はありますか?中国語のような記号やオブジェクトベースの言語は、発話と質問の違いを説明する上で英語の共通要素である活用形としてどうでしょうか。中国語では、語形変化はピンインと呼ばれ、ピンインは実際には言葉の定義を変更するのではなく、ステートメントまたは質問の違いを描写します。では、ラテン語ベースの言語の特殊文字のように使用できるそれらの言語の特殊文字はありますか?それはそれが問題が起こっているように聞こえるものです。