最近、パスワードを設定するときに2つの奇妙なエラーメッセージが表示されました。1つはChipolteモバイル注文アプリで、もう1つは金融サービスポータルで発生しました。どちらの場合も、英数字以外の文字が含まれているため、パスワードを設定できませんでした。金融サービスサイトも、私がかなり奇妙だと思った最大の長さを課しました(8文字を超えるパスワードはありません、非常に近視眼的です)。特定の文字を禁止するパスワードポリシーのセキュリティ上の正当性があるかどうか疑問に思いました。
3 に答える
このタイプの制限は、多くの場合、バックエンドのレガシーシステムが英数字以外の文字を処理できないか、データベース内のパスワード文字に短い最大フィールド幅を定義しているためです。
レガシーアプリに変更を加えるのは非常に難しい場合があります(それ自体が難しいというわけではありませんが、ITの優先事項ではないことがよくあります)。
私は特にSAP統合でそれを見てきました。
セキュリティ上の理由はありません。許可される文字数が多いほど、潜在的な組み合わせの数が増えるため、セキュリティのために常に優れています。
唯一の「正当化」は、近視眼的であるか、何らかの形式のストレージまたは送信の問題(適切なエンコードによって解決可能)のいずれかです。たぶん、彼らはパラメータ化されたクエリを実行する方法を知らず、ユーザーがインジェクション攻撃にパスワードを使用しようとしていることを心配していますか?知るか。とにかく、少なくともほとんどのストレージの問題を実際に処理するソルトとハッシュを使用する必要があります。
彼らは、ユーザーが自分のパスワードを書き留めないようにし、代わりに「覚えやすい」パスワードを選択しようとしている可能性がありますが、これは逆効果です。パスワードがはるかに簡単になりました。
彼らがパスワードに対して大文字と小文字を区別しないようにしようとしていて、それがどういうわけかこの選択の理由である場合、私は多くのレベルでさらに心配するでしょう。
パスワードを作成した後でパスワードが正しいかどうかを確認すると、すべての文字がASCII値に変換され、特殊文字がプログラミング範囲に含まれていないことが原因である可能性があります。パスワードとユーザー名の情報をサーバーに保存するときの文字数はわずか8文字で、占有するスペースが削減されます。実際はそれほど多くはありませんが、最終的には克服できるようになる可能性があります。