充分に強いパスワードの生成
パスワードを推測されにくくするためには、ランダムな文字列にするのが最適である。しかし、ランダムな長い文字列というのは覚えるのが難しく、それをユーザーに強いるのは悪いUXしかもたらさない。文字種を増やす (アルファベットの大文字小文字を混ぜたり、数字や記号を混ぜたりする) のも本質的には同じである。
しかも、それをサービスごとに別のものを用意し、使い分ける、というのはさらに記録力を要求される。そして、ランダム性の高い文字列を生成するというのも難しい。覚えられる、という条件が付くとさらに難しい。矛盾する要求を突きつけられているようなものである。
必然的に、単語など分かりやすいものを少し置き換えたり、それを組み合わせたりということになりやすいが、置き換えも誰もが思いつくような単純なパターンだったり、有名なやりかたであったりすると、容易に推測されてしまう (「容易に推測される」の範囲はコンピュータの性能向上に伴いどんどん広がっていくことも留意しなければならない)。
「定期的なパスワードの変更」を求めることでランダム性の高い文字列を何度も生成させようとすると、UXは悪く、良いパスワードを設定しようというモチベーションもどんどんと低下して行き、この置き換えや組み合わせのパターンもより単純なものになっていってしまう。
いろいろな意味で、デメリットが大きいと言わざるを得ない。
パスワードを入力する環境
入力しやすさなど、パスワードを入力する環境も (セキュリティにとっても、UX 的な部分においても) 重要な要素である。入力する一文字一文字が他者に丸見えであれば、パスワードの意味がないのは言うまでもない。忘れがちであるが、パスワードを利用した認証というシステムは、入力する環境がいくばくかでも物理的に保護されていることが前提となっているシステムである。
日常の中での PC での作業やスマートフォンを使っている場合には、すぐそばで同じ画面を見ている人でもいない限りはあまり気にしていない人がほとんどであろう。銀行の ATM などではすぐ背後に他の人がいないかどうか確認するための鏡がついていたりするが、これも気に掛けている人は少ないかもしれない。
気づかれぬように背後からパスワード入力の様子を除き見ることを、ショルダーハッキング、あるいはショルダーサーフィンという。
画面が直接見えなくとも、手元の動きが判りやすいと結果的に推測されてしまうこともある。推測する側からすれば、候補がある程度しぼれるだけでもかなりの利益である。動き以外にも、入力した痕跡 (指紋など) から分かってしまう危険性にも注意せねばならない。
0〜9 の数字のボタンをいくつか押すタイプのメカニカルな錠で、ボタンに書かれた数字が、押されるものだけすり減ってしまい、誰が見ても番号が明らかになってしまっている、という冗談のような例もある。
パスワードの入力しやすさと覗かれやすさはトレードオフにもなりやすい。入力画面を他者が見ていても、実際に入力されている情報が分かりにくいようにする、といったアイデアもいろいろと研究されているが、入力しやすさも保ちつつ、となるとなかなか難しい問題である。
言うまでもないが、安心して入力できることは良いUXにつながるし、過度に周囲の状況に気をつけなければいけないようなものは、良いUXとは言えない。パスワードを用いるシステムは、そうしたことも考慮して設計せねばならない。