TAKST の雑念所

週2は何かを書くということを目的に、思いついたことを何か書きます。

パスワードに利用できる文字種別の制限

皆さんはパスワードの管理をどうされているだろうか。いまどき流石に qwerty やら 1234 やら Password やらのダメなパスワードを使ってる人は少数派だとは思うものの、結局のところ、自分のいつものパスワードを使っている人が大半なんではなかろうか。これはそんなにセキュリティ的には望ましくない。

 

多少、リテラシーが高い人であって、可能な限り SNS アカウント等と連携させたフェデレーションで認証を行うようにしている場合であっても、未だに新規でユーザー名・パスワードを設定しないと使えない類のものは多い。結局、2022年にもなっても、いまだに我々はユーザー名・パスワードが乱立する世界から解脱できていない。

 

かくいう僕自身もこのセキュリティ地獄となんとか折り合いを付けようとしながら生活をしている。可能な限り Google アカウントや、FacebookTwitter 等のアカウントをベースに認証できるように設定し、可能なものは多要素認証を設定して、少しでもセキュリティを向上しようとしている。ただ、未だにパスワードマネージャー系のソリューションやアプリは使っていないし、信頼していない。何故かというと、結局、そこが脆弱性のシングルポイントになってしまう気がしてならないからだ。極論、スマホを奪われてしまえば、多要素認証の際の電話要素と、パスワードマネージャーアプリを同時に抑えられてしまう。だから、自分自身が暗号発生器にするという方法をとっている。自分の頭の中だけにオレオレアルゴリズムを作っておけば奪われようがない。原始的な気もするが、無駄に覚えることを増やさないようにしつつ、自分の頭を使うという手段を採択しているわけだ。具体的にはいくつかのキーフレーズと、パスワードが必要になったサービスの種別に応じた、ルール・アルゴリズムを決めておいて、一意にパスワードが定まるようにしてある。これによって、各サービスで使うパスワードはそれぞれ異なるものがになるようにしつつも、一つ一つを個別に覚える必要はなく、いつものオレオレアルゴリズムに即してパスワードを入力できるようにしている。

 

基本的にはこの運用で困ることなく、セキュリティを可能な限り担保していると自負しているわけだが、中には例外がある。この運用の一番の大敵はシステム側が要求してくる、文字種別の制限である。基本的に、セキュリティレベルを上げるための運用なので、最初からアルファベットの大文字・小文字に数字と記号が全て混ざるようなオレオレアルゴリズムにしてある。だが、どう考えてもそれセキュリティレベル下がるよね?と言いたくなるようなパスワード文字種別制限をしてくるシステムがいまだに跋扈しているのだ。例えば、記号は不可、とか。アルファベットは小文字だけ、とか。記号は ! はいいけど % はダメ、とか、その手の制限のやつ。大半のパスワードは基本アルゴリズムで生成したもので対応できるのだが、稀にシステム側の制限で使えないパターンが出てくる。そうすると、仕方が無しに基本ルールの中の一部の記号を数字で代替したり、すべて小文字で入れたりというイレギュラー対応をせざるを得ない。その手のパスワードは頻繁に使うものではないことが多いので、久しぶりにログインしようとした際に、オレオレアルゴリズムで生成した、想定パスワードを入れてログインできず、頭を抱えることになるわけだ。ログイン画面に文字種別の制限が書いてある場合は、まだマシだ。その制限からどの代替手法でパスワードを設定したかが想定されることが多い。ログイン画面にそのような注意書きが無い場合、現状の運用にする前に設定した太古のパスワードになっているのか、あるいは初期設定時に typo していたのか、等々も含めて判断つかずに大変困る。

 

根本的にはそんな変な制限を入れてくるようなシステムは運用側のセキュリティリテラシーも高くないと断言できるので、可能な限り使わないという選択肢を取る。ただ、中にはそれでも使わざるを得ないシステムもあり、毎回、パスワード設定の時点で頭を抱えるのだ。勘弁してほしい。

 

ちなみに、その際たる例がマイナンバーカードである。英語大文字と数字だけで 6-16文字って、意味わからないんですけど。デジタル庁さん、なんとかなりませんかね?