世の中には、本当に使いずらいシステムがたくさんある。
システムのUIが使いにくいという前に、ログインすらハードルが高いシステムもたくさんある。
中でも、システム側が仮パスワードを発行するようなタイプは、もはや写経の域を超えて、誰得か分からない禅問答のようにも思えてくる。
実際に存在したとあるシステムでの体験談をもとに、システムコンサルティングを仕事でも行っている身として、
「使ってはいけないパスワード文字」をブログで定義しておきたいと思います。
見分けがつかない「1lI|i!」
まず、有名どころとして、以下の文字列は見分けがつきずらい。1
(数字のイチ)l
(小文字エル)I
(大文字アイ)|
(パイプ)i
(小文字アイ)!
(感嘆符) これらは、フォントの種類によっては、全く同じに見えてしまう。実はまだまだある「危険な似た文字」
さらに、地雷とも言える、パスワード危険文字はまだまだあるんです。0
(ゼロ) vs O(オー) vs o(小文字オー)8
vsB
2
vsZ
5
vsS
6
vsG
9
vsq
rn
(アール・エヌ) vsm
vv
(ブイ・ブイ) vsw
cl
(シー・エル) vsd
_
(アンダースコア) vs-
(ハイフン).
(ピリオド) vs,
(カンマ)全角英数
vs半角英数
(これ地味に事故る) ここまで来ると、「人間の目で判別させる設計がそもそも無理」という話になる。世の中には普通に存在する「ダメ設計」
実際にあるあるなシステムというのは、次のような特徴がある。・初期パスワードが「英数字ランダム10桁」 ・パスワードを紙やPDFで渡してくる(郵送する) ・コピペ禁止(セキュリティのため) ・手入力させるこれの結果どうなるかというと・・・
1文字ミスる 3回ミスってロック サポート問い合わせ増加かなりの出来レースで罰ゲームが想定できる。 完全にシステム側の責任なのだが、こうしたシステムしか作れない設計者は、おそらくこの設計したシステムを普段自分で使っていないだろうと想像できる。 だってこれ、誰が使っても使いずらいし、もはや絶妙なトラップ、謎解き、と言ってもいいぐらいでもある。
人間の特性
人間は「目で覚える」生き物です。 人間はランダム文字列を覚えられないのが普通です。 覚えるときは「形」や「意味」で記憶するため、視認性が悪いと記憶すらできない。 コンピュータであれば、見た目などは関係なく、裏で文字コードでやり取りするので、コピペできれば問題にはならないんだけどね。 つまり、「読めないパスワードは存在しないのと同じ」という事。本来あるべきパスワード設計
人間に優しいルールにする 「見分けにくい文字は使わない」 今回言いたかったのはコレです。 例として「lI1O0」は禁止として、フォント依存しない設計にする。 ランダムより「フレーズ」TakoYaki!Summer2026 coffee_and_code_77こういう方が、覚えやすいし、入力ミスが減る。 自分の名前や、生年月日を書く人が多いのも事実だが、自分に関連したキーワードは無限に存在する。 そして、実はこれだけでも強度も十分何です。 コピペ前提にする 手入力させるぐらいなら、コピー可能にする方が圧倒的に便利になる。 どうしても手入力させたいなら、少なくてもマスク解除ボタンをつける事が必須でしょう。 目視確認できるUIにするというのも、アベイラビリティとして重要なお作法です。 そもそも「覚えさせない」 結局、これが最強。 パスワードマネージャーを使う(ランダム文字になるけどね)のが、今時の便利なやり方かも。 ブラウザ保存を許可することも重要。 ワンタイム認証に寄せる設計は非常に有効なのだが、最近ではコレも突破される可能性があるんですよね。 ユーザー側のリテラシも重要だけれど、それは「本来システム側で対応すべきことができていたら」ということである。 できれば生体認証 スマホアプリなど、センサーと連動できるのであれば、指紋や静脈、眼球、音声、その他人間の識別子を対象とした、生体認証は有効な手段の一つです。 世の中のパスワードシステムにうんざりしている人も多い中、簡単にセキュリティが高く保てるシステム構築をもっと追求すべきかもしれませんべ。
0 件のコメント:
コメントを投稿