IDとパスワード、その生成と管理・・・

国の情報セキュリティの番人ともいえる独立行政法人 情報処理推進機構(IPA)はホームページで、「 全てのインターネットサービスで異なるパスワードを! 」と、今月の呼びかけを行っています。以下は、多くのパスワードを安全に管理するための具体策としてIPAが呼びかけを行っている内容です。少し長いですが、引用します。

「パスワードリスト攻撃とは、悪意のある者が、何らかの方法で事前に入手したIDとパスワードのリストを流用し、自動的に連続入力するプログラムなどを用いてそれらIDとパスワードを入力することで、ウェブサイトにログインを試みる手口です。ここでログインが成立したIDとパスワードの組み合わせはその後、他の不正アクセスに悪用され、最終的には直接金銭的被害に結びつくものと考えられます。このような攻撃が成立する背景として、“同じパスワードを様々なインターネットサービスで使い回す利用者が多い”ということが挙げられます。パスワードリスト攻撃はこの状況に目を付けた攻撃手法と言えます。大規模なパスワードリスト攻撃は大きく取り上げられる傾向にありますが、それらは氷山の一角である可能性があります。自分の使っているインターネットサービスではパスワードリスト攻撃の被害の報告がないからと言っても決して安心はできません。最近では個人が利用するインターネットサービス(サイト)の数が増加しており、パスワードを覚え切れないからと言ってつい使い回ししがちです。しかし「パスワードを使い回ししないように」と言われても、覚え切れないパスワードを実際にどうしたらいいか分からない利用者も多いのではないでしょうか」。


 そして、今回の呼びかけでは、多くのパスワードを安全に管理した上で、個人の利用者がパスワードの使い回しを避ける具体的な方法について説明しています。その方法は、自分が利用するIDとパスワードを、リスト化して保持する方法です。多くのサービスで異なるパスワードを設定していると、すべてのIDとパスワードを暗記することは困難です。紙のノートやメモ帳などに保持していても良いのですが、管理するIDとパスワードが増えてくると、リストのメンテナンス作業も大変になってきますので、デジタルデータとして管理するのが賢いやり方です。IDとパスワードを記載したリストを「パスワード付きの電子ファイル」として保持する。具体的には、表計算ソフトExcelや「メモ帳」でIDとパスワードのリストを作成し、そのリストを、パスワード付きでファイル保存するというものです。その他、IDとパスワードを管理、一括入力ができるソフトウェア、例えば「IDManager」(無料配布されている)などを使う方法もあります。このソフトウエアを使えば、煩雑になりがちなパスワード管理を簡単に行うことができるようになります。IDやパスワードを登録すると、Webサイトへのログインなどの場合にワンクリックでIDやパスワードを入力できたり、パスワードを自動で生成してくれる機能もあります。


 IPAの呼びかけに対し、IPAのセキュリティセンター普及グループ研究員をしている河野省二さんがFacebookに、次のような興味深い内容を投稿しています。引用掲載します。

「パスワード管理の目的は、パスワードを本人(もしくは権限者)だけが知っている状態を維持することです。ではパスワードを管理するの手法とは、パスワードが漏洩(危殆化)しないように保護すること。パスワードが漏れてしまったことに気づいていなくても、影響が少ないように定期的にパスワードを変更すること。パスワードが漏れてしまったときに、すぐにパスワードを変更できるようにしておくこと。そのためには、パスワードが安全な状態にあるかどうかを常に確認すること。パスワードの漏洩時に影響が少ないように異なるパスワードを利用すること。それがないとサービスやアプリケーションにアクセスできないようにすること。ユーザは設定レベルでしか対策できません。


 この時点で重要なことは、パスワードを作らなければ管理できないということです。定期的にパスワードを「変更」する、漏洩時にパスワードを「変更」する、すべてのサイトで異なるパスワードを「作成」する。すべて、パスワードを生成することです。適切なパスワード管理とはパスワードを作成することなのです。この原則がわかっていないと、パスワードの管理を理解することができません。パスワードの管理とはパスワード作成の連続であり、保護はその一環でしかありません。


 ところで、パスワードはどのように作ればよいのでしょうか。3種類の文字種、8文字以上というルールが10年以上前から推奨されているような気がしますが、これはPCに面と向かって人間がパスワードを入力する場合に有効な手段です。だからこそ、ActiveDirectoryなどで管理されているPCではこれがスタンダードとして扱われています。しかし、インターネット上で公開されているログインフォームなどでは行こうではありません。ルールを決めることは単純にパスワードが選択できる数を見ても数学的に脆弱ですし、ルールが周知されてしまえば攻撃の手法として使われてしまいます。辞書にある言葉をつかなわいということは、それを除外して攻撃ができるということにほかなりません。共通のルールであるということが、攻撃者にとって好都合なのです。


 つまり、パスワード管理において最も難しいのはパスワードを作るということです。これができなければ、パスワード管理に至ることができません。そして、確実に安全なパスワードは人間が一人で生成することは無理でしょう。セッションのたびにパスワードを変更出来ればよいのですが、それは業務の妨げになり、ITを活用するという大前提を壊してしまいます。本来はワンタイムパスワードなどを利用し、人間をパスワード管理から開放するのが得策ですが、これはコストが掛かりますし、インターネット上のサービスで実現するのが難しいかもしれません。とはいえ、いくつかのオンラインバンキングでは採用されています。IT化とはいかに業務の手間を減らすことができるかのチャレンジです。にもかかわらず、人間がパスワード管理のために業務の時間を咲かれてしまうというのは、やはり得策ではありません。それをさらに複雑な構造にして説明するのは原理原則に違反しています。受け入れられるはずがありません。


 さて、ではサイトごとに簡単にパスワードを作る方法をお教えします。パスワードが強固であるかどうかはわかりません。パスワードをたくさん作ることができれば、その中から強固であるものを選べばいいと思います。Facebookでのパスワードを作成するとしましょう。一応ルールは8文字以上で思い出しやすいということだけ。サイトと紐付いていることが重要なので、Facebookから何らかのキーワードをもらうのがよいでしょう。Facebookは8文字なので8という数字をもらってfacebookの間に8という数字を入れることにしましょう。faceとbookの間では芸がないので、f8aceboo。とりあえず8文字で切ってみました。半分で切って前後を入れ替えてeboof8ace。もしも3種類の文字を使わないと受け入れてもらえないならeBoof8ceくらいでいいでしょう。これで十分に複雑だと思いませんか?それにFacebookに紐付いているのでルールさえ自分で決めていれば、思い出すこともできます。これだと誰かに気づかれてしまうと心配なら1文字ずらしてから、2を繰り返してみてもいいですね。これはかなり単純ですが、暗号化のロジックなどもこのようなことを繰り返しているだけです。


 この他にも色々とパスワード攻撃の特性などがありますので、個別に対応できるかもしれません。あくまで一例ですが、自分だけが知っているロジックで、サイトに関連したものであれば、いくらでもパスワードを作ることができます。パスワードをいくつでも作れることが結果としてパスワード攻撃に対応できる最良の手段だと思います。ぜひ、自分なりのパスワードを作成するロジックを考えてみてください」。


 子供からお年寄りまで、インターネットを使わない日はないくらい、日常的にインターネット上のサービスの恩恵をうけながら、人によっては依存しながらの日々です。サービスを使うためには、必ず本人を特定するためのIDとパスワードの入力を要求されます。次か次へと新しいサービスが出てきて、このサービスも使いたい、またIDとパスワードを設定しなくちゃ、ということがおきてきます。専門機関の呼びかけ、専門家の知惠に耳を傾けてみるのは大事なことです。自分のIDとパスワードの管理の重要性が腑に落ちたでしょうか。