2009-06-12 11 views
0

私は現在、製品の国際化に取り組んでおり、問題が浮上しています。この問題は、非ラテン語の言語や複雑な文字セットを持つ国のパスワードの複雑さの要件を中心に展開されています。i18n - 国際化とパスワードの複雑さの規則

このアプリケーションでは、ユーザーとパスワードの管理にaspnetメンバーシップが使用されていますが、これはまったく問題ではありません。現在、私たちのアプリケーションは、A-Z、0-9およびパスワードを構成する特殊文字に対応するための設定とコードを用意していますが、他の文化に対応するためには拡張が必要になるでしょう。

私はこれに関するガイダンスとベストプラクティスを探していましたが、これまでのところ大きな喜びはありませんでした。 last post on this SO questionは問題に触れていますが、実際には何のガイダンスも提供していません。

答えて

0

海外の弊社支社の技術スタッフに連絡した後、ログインを必要とする大量のシステムでは、ユーザー名とパスワードの標準ASCII文字セットに固執する傾向があります。これらの理由。

中国語のキーボードは一般に、中国語の文字と一緒にQWERTYを設定しており、ユーザーは中国語とASCIIの入力方法を簡単に切り替えてシステムにログインできます。今のところ、私たちはシステムをそのままにして、追加の文化を追加して監視し、発生する可能性のある特別なケースを処理します。中国語入力メソッドの

詳しい情報は、はい、私は少なくとも1つの文字、数字、特殊文字を必要とするレガシーシステムから継承された第abitraryルールを使用していafriadだWikipedia - Chinese input methods for computers

0

実施する内容によって異なります。ディクショナリチェックとパターン認識は、どのエンコーディングと言語でも動作するはずです。一般的だが恣意的なルール "大文字、小文字と数字の組み合わせ"を適用する場合は、A)任意の言語の大文字と小文字を判別できるライブラリまたはAPI、またはB)愚かに作成する必要がありますあなた自身でその情報をマップするための大きなデータベースです。

この種の複雑さのルールはハックです。あなたがどんな複雑さのルールを任意に施行しても、愚かな人は愚かなパスワードを作成します。パスワードのセキュリティのベストプラクティスは、ユーザーが推測できるほどのものではないパスワードを選択する必要があることを確認することです。辞書チェック(パスワード作成ページですべての単語を追加することを忘れないでください。アプリケーションやその環境、利用可能なすべてのユーザー固有の情報(例:誕生日や旧姓など)、パターンマッチング(abc123)などが必要です。

複雑な基準を満たす本当のパスワードを思いつく人はいないので、実際には「abc123.-」などのようなものがrootパスワードとして使われていました。

+0

上で見ることができます。 – Tanner

1

どのくらい安全である必要があるかによって異なります。高い安全性のためには、パスワードによるアプローチは実用的ではなく、特に数値PINと組み合わされた場合には、何らかの種類のバイオメトリック(指紋?)または2因子(SKey?

英語以外の言語のパスワードで辞書や複雑さの分析を実行するのは実際的ではないためです。具体的に:

  • 多くの言語が
  • パスワードに数字または句読点を導入する理由はありません大文字といくつかの言語は、2、3または4バイトで文字をエンコード
  • 小文字を区別しません。 (例えば、簡体字中国語など)表意文字の数が多い培養のための言語の多数のために
  • 維持辞書は、単純なWeb用

非実用的であり得ますサイトでは、サイトに英語以外の言語バージョンをブラウザに配信する場合、パスワードのチェックを強く行うことをお勧めします。

+0

システムはユーザ名/パスワードのセキュリティアプローチを維持しなければならないため、新しい方法を実装するスコープはありません。 lanaguagesとcharater setの違いを理解できますが、パスワードの複雑さのルールでパスワードで保護されているシステムでは、ベストプラクティスとしてはまだまだわかりません。ありがとう – Tanner