パスワードは常に盗まれる可能性があることは「あなたの重要なパスワードはなぜ盗まれるか?そしてどうすればいいのかを考える。」で説明した。
インターネットが普及する前からスーパーコンピュータを利用する場合のアクセスでもログインするためにはパスワードが必要だった。たびたびパスワードが盗まれて悪用されていたことから、いかにパスワードが盗まれないか?について語られてきている。
ここではパスワードが盗まれないようにするためのルールとして昔から言われているパスワードポリシーについて説明したい。
パスワードポリシーとは
以前の記事でも紹介したようにパスワードが盗まれる条件について整理してみよう。
- 辞書に載っている単語を使用する
- 誕生日などその人物にひもづいた数字を利用する
また、ソーシャルハッキングといわれる手法があり、電話でいろいろ対象となる人物と話してパスワードを聞き出すようだが、その場合でも簡単に類推されるようなパスワードは使用しないほうがいい。
複雑なパスワードを利用しよう
そのような簡単に割り出されるパスワードを利用するためには、複雑なパスワードを利用すればいい。簡単なパスワードとは違うものを考えてみるといいだろう。
- 文字数は多いほうがいい
- 辞書に載っている単語は使わない
- アルファベットは小文字だけでなく大文字も混在したほうがいい
- アルファベットだけでなく特殊文字や数字も混ぜたほうがいい
- パスワードはいずればれる可能性があるので定期的に変更したほうがいい
一昔前はコンピュータは高価でパスワードを要求するシステムもそれほど多くなかったので上のような負担がかかるような運用でも大きな問題はなかったのだろう。
誰でもコンピュータを使う時代に
コンピュータが誰でも使えるほど安価になりインターネットが普及し、さまざまなアプリケーションが増えてくるとたくさんのIDとパスワードを利用することが普通になってきた。
また仕事でも複数のシステムを利用する場合、複数のID/パスワードを利用する必要がでてくることもそう珍しいことではない。
パスワードポリシーが考え始められた時代には管理するパスワードが少なかったからそれほど難しさはなかっただろうと思う。
今自分がプライベートで利用しているパスワードを要求するサイトはたぶん20ぐらいはあると思うが、うえであげたようなパスワードポリシーをすべてのサイトで適用することは難しい。
たとえばパスワードのある部分は一緒である文字だけサービスからとったアルファベットを付与するなどの工夫することも出来るが共通の部分がわかるとたちどころにわかる可能性が高くなるのでパスワードの数が増えるほどパスワードが盗まれるリスクが高くなる。
どうすればいいのだろうか?
理想をあげてみよう
- パスワードは類推するの難しくするためにランダムに生成する
- パスワードには必ずいろいろな文字種も入れる
- パスワードは使い回しをせずに各サイトで異なるパスワードを利用する
- パスワードは定期的に変更する
パスワードがひとつだけであれば出来るだろう、たぶん5個でも出来るかもしれない。でもそれが10個もあればどうだろうか?
企業ユースの場合
企業ユースの場合はシングルサインオンかもしくはID統合といった手法で今まであげた問題を解決することが出来るようになる。
大まかにいうとシングルサインオンはそのシステムに使うのにはひとつのIDとパスワードで利用でき、それ以外のシステムのパスワードはシングルサインオンシステムがユーザーの代わりに覚えるものである。
統合IDの場合には対象アプリケーションを認証システムに結びつけることによりユーザーが管理するパスワードの数を少なくする方法である。
関連ページ
企業向けにパスワード管理ソフトが必要ならエンタープライズシングルサインオン!
AccessMatrix™ Universal Sign-On (USO)
個人利用の場合
やはりすべてのサイトに対して適切なパスワードポリシーを適用するのは難しいのだろうそこで最近では2つの大きな流れがあると思う。
ひとつはパスワードをユーザーに管理してもらうものである。「 AccessMatrix™ Universal Sign-On (USO)」ではサーバーに誰がどこのアプリケーションにアクセスできるか管理者が管理できるが、その機能を省きユーザーがユーザー自信のために各アプリケーションのID/パスワードの情報を入力して使わせるようにするものである。
有料のソフトウェアもあるが、webブラウザーにもそのような機能があるのでそれを利用することもあるだろう。
この方式の欠点は、もしPCごと盗まれたりし、パスワードの設定がいい加減だったりすると、そこで使われているアプリケーションが悪用される可能性と、複数台のPCがあった時に同期をとるのが難しいことだろう。製品によっては同期は取れるのかもしれないが、その場合はサーバーに情報を預けることになるし、そこでどれほど厳重にパスワード管理がされているかは明確にわからないのでそれを利用するのがいやな人もいるだろう。
もう一つの方法としては、各サイトが用意しているワンタイムパスワードによる2要素認証を利用する方法である。
ワンタイムパスワードはスマートフォンにアプリを導入するかメールでワンタイムパスワードを受け取るかハードウェアを利用するかになるが、一番多いのはスマートフォンにアプリを入れる方法である。
この方法の一番大きな欠点は、スマートフォンのワンタイムパスワードアプリを利用するときである。ワンタイムパスワードを生成してユーザーはそれを覚えてすぐにパスワードを入れる必要がある。そのような場合はハードウェアトークンを利用することが現実的な解となる。
また、サイトごとに2要素認証のシステムは違うのでそれごとにワンタイムパスワードの容易をユーザー側でしなければいけない。海外のインターネットバンキングでは半ば強制的に利用させられるのでそれなりに普及しているが日本の場合だと強制力がないのに加え結構めんどくさいので普及するにはまだしばらく時間がかかるのではないだろうか?
まとめ
企業ユースであれば、パスワード管理するための仕組みがあるのでそれを導入するのがいいと思う。
また一昔であればかなり高額であったが、弊社で扱っているエンタープライズシングルサインオン「AccessMatrix™ Universal Sign-On (USO)」であれば対象アプリケーションの改修もひつようがないのでかなりお手頃な価格で導入できるのでぜひ検討頂きたいと思っている。
個人ユースではすべてのサービスで利用できるわけではなく、面倒くさい部分があるが、できれば積極的にワンタイムパスワードを利用することをおすすめする。
ワンタイムパスワードを利用できないサイトでは、パスワードが盗まれると被害が大きくなると思えるものは絶対に他のサイトで使っているパスワードを利用しないことと、できるだけランダムに近いパスワードを利用することをおすすめする。どうしてもそれが難しい場合パスワード管理ソフトを導入するのもいいと思う。