質問: 何かと問題が多いと言われ続けているパスワードですが、それでもやはりサイトに登録する上で設定を必要とすることがよくあります。 で、セキュリティ上「大文字・小文字・数字を混ぜる」というような指示をされることもあるのですが、ときおり「パスワードには英数字のみを使って、記号は含めないでください」というような指示の付いているサイトがあります。 数字しか打てないATMのような機械でも使うとか、ソフトウェアキーボード入力となっていて文字種が選べない、という状況なら制限の必要性はわかりますが、(他のサービスのログイン用として保管するという筋の悪いパターンは別として)パスワード自体を生データとして保存するのはむしろやるべきことではないですし、ハッシュ化してしまえば元の文字種も関係はしないはずです。 となると、いったいどのような理由があって制限をかけているのかよくわからないのですが、将来的に自分がパスワードを要求するようなシステムを作る際に見落としがあっても困るので、どのような理由が考えられるかご教示いただければ幸いです。
回答: ぱっと思いつくのは ユーザーが普段使い回しているパスワードに記号を追加して設定した場合、 パスワードを忘れてしまう確率が跳ね上がり、 トラブル(アカウントロック等)やサポートコストの増大が確実に見込まれるという仮定があった場合 でかつ、 当該のシステムの性質上 * 厳格な本人認証(郵送など)が要求されたり、 * ユーザーのリテラシーが低かったり、 * 既存システムへの増設によって追加されたシステムであったりして、 確実なパスワード回復が見込めない様なケースだと、普段使わない文字種を制限するケース というのはあるかと思います。