高橋: こんにちは、高橋です。今日は徳丸さんをお招きして、今話題のパスワードの定期的変更について、本当のところ効果がないのか、その効能についてご説明いただきます。徳丸さん、よろしくお願いします。
徳丸: 徳丸です。いつもはパスワードの定期的変更にはあまり意味がないと主張していますが、今日はパスワードの定期的変更を擁護する立場なんですね。面白そうです。よろしくお願いします。
高橋: まず問題の整理についてです。IPAより9月3日に『「ID・パスワードのセキュリティ対策促進に関する広告等業務」 係る企画競争 』の仕様書(PDF)が公開されました。その仕様書中の行動喚起を促す対策事例の一つに「ID・パスワードは定期的に変更する」 があったので、セキュリティクラスタが騒ぎ出し、その結果かどうかは分かりませんが、9月9日に同仕様書が改定され、パスワードの定期的変更は対策例から削除されました。一連の議論についてはこちらを御覧ください。
徳丸: 高橋さん、最初は、パスワードの定期的変更の『効能』を説明する人選に僕を選ばれたのはどうしてだろうと思っていたのですが、考えてみると、僕は適任かもしれないと思いました。
高橋: ようやく気づいていただけましたか!
徳丸: 遅まきながら(笑い)。僕は、パスワードの定期的変更については批判的な立場ですが、公平な批判をするためには、パスワードの定期的変更の効能についても客観的に把握しないといけませんからね。
高橋: 確かに。
徳丸: しかも、パスワードの定期的変更を主張している人達は、従来、そうすべき理由をはっきり説明してこなかったのです。
高橋: えっ、そうなんですか?
徳丸: はい。説明があったとしても、簡単に論破できるようなものが多かったです。なので、パスワードの定期的変更の効能をそもそも何だろうとずっと考えてきました。私の過去のエントリについてはこちらを参照ください。
高橋: 最初のエントリは6年半前ですか。
徳丸: そうですね。考えてきた結果、パスワードの定期的変更の「効能」は以下の3つだろうと考えます。
- パスワード解読防止
- パスワードの漏洩後の緩和策
- 個人に割り当てられていないIDのパスワード管理の簡便法
高橋: それでは、1からご説明いただけますか? 1はすごく効能がありそうですが…
徳丸: まず前提として、これはオンライン攻撃ではなく、オフライン攻撃を対象にしています。
高橋: オフライン攻撃とは何でしょうか?
徳丸: オフライン攻撃というのは、ネットワークを通じてではなく、攻撃者の手元で攻撃することです。パスワードの場合は、暗号化されたパスワードあるいはパスワードのハッシュ値が漏洩して、それから元のパスワードを求める行為を指します。
高橋: パスワードが漏れちゃった後の話なんですか…
徳丸: そうです。しかし、昔のUNIXでは、それが当たり前だったのですよ。
高橋: え!? それは本当ですか?
徳丸: はい。UNIX系OSには /etc/passwd というファイルがあって、OSにログインしている人であればだれでも参照はできますよね。このファイルにパスワードのハッシュ値が格納されていたのです。
高橋: そうなんですか! passwdというファイル名なのにパスワードが入ってないなと思っていたのですが、昔は入っていたのですね。
徳丸: はい。/etc/passwdはログインユーザであれば誰でも参照できるので、時間をかければ元のパスワードが解読できてしまいます。それで、定期的にパスワードを変えないと現実的にまずいということがありました。
高橋: パスワードを定期的に変更する合理的な理由があった、と。
徳丸: はい。しかし、そもそもパスワードのハッシュと言えども、誰でも見られる状態で保存するのはまずいということになり、今では /etc/shadow など、rootのみが参照できるファイルにパスワードのハッシュ値が入っています。
高橋: 過去にはパスワードを定期的に変更する理由があったが、今はそうではない、と。
徳丸: 1に関してはそうなりますね。
高橋: わかりました。それでは、2について説明をお願いします。
徳丸: 2は、パスワードが「知らないうちに」漏れているかもしれないので、定期的にパスワードを変更すれば、「パスワードが漏れてない状態」になる、というものです。例えば、パスワードを三ヶ月毎に変更すれば、最長でも被害は三ヶ月で食い止められる…ということですが、実はそうとも言い切れません。
高橋: なぜでしょうか?
徳丸: パスワードが知らないうちに漏れていたとすると、パスワード変更後に再度漏れる可能性があります。
高橋: 必ずそうなりますか?
徳丸: そうとは限りません。パスワード漏洩がフィッシングによるものだとすると、二度目のフィッシングには利用者が気づく可能性もあります。また、既に攻撃側が目的を達していた場合、再度パスワードを得ようといないかもしれません。
高橋: なんか、微妙なラインですね。どういうシステムが、パスワードを定期的に変更したほうがよいのでしょうか?
徳丸: 社内ネットワークのWindowsアカウントのパスワードや、メールの(POP3の)パスワード等は、パスワードの盗用に気づきにくいし、長期間にわたって被害がある可能性が高いので、パスワードの定期的変更が有効という局面はありそうです。
高橋: そういえば、Windowsはポリシーでパスワードを強制的に定期的変更させる機能がありますね。
徳丸: はい。パスワード定期的変更懐疑派の筆頭格であるシュナイアー氏も、会社のパスワードは時々変える(You should change your corporate login password occasionally)ことを勧めていますね。
高橋: 徳丸さんも会社のパスワードは時々変えているのですか?
徳丸: いえ、変えていません。
高橋: ガタッ、だめじゃないですか。
徳丸: 私の会社は、私一人しかいないのでPCはほぼスタンドアロンの利用ですよ。リモートログオンできるわけではないので、脅威はほぼマルウェアに限定されますから、パスワード変えても脅威は減らないです。
高橋: なるほど、環境によってパスワード変更の重要度が変わってくるのですね。
徳丸: そうです。だから、インターネット上のPOP3のパスワードは先日変更しました。と言っても、SSLのみ許可しているし、不正アクセスの可能性は低いので、マルウェアの脅威くらいしかないのですが、これはまぁ気分の問題です。
高橋: 気分ですか、その程度の重要性ということですね。そういえば、先ほど、被害の期間が長期間にわたってとありましたが、被害が短期間が終わってしまう場合があるのですか?
徳丸: あります。spam投稿が目的のなりすましや、代表例は不正送金ですね。
高橋: なぜでしょうか? 長期間に渡って不正送金できたほうが、犯人は嬉しいでしょうに。
徳丸: さすがに悪用された側が気づくでしょう。
高橋: さるセキュリティ専門家は、自分のクレジットカードは(利用額が大きいので)20万円くらい不正使用されても気づかないだろうと豪語されていたようですが…
徳丸: そういう方は、パスワードを定期的に変更するより前に、自分の口座を定期的に確認する必要がありますね。
高橋: それもそうですね。
徳丸: しかし、オンラインバンキングでも、法人口座の場合は定期的変更が有効になる可能性がありまして、それが3番の理由になります。
高橋: なぜでしょうか?
徳丸: 法人口座の場合は、口座の管理者が複数いて、複数の人がパスワードを共有している場合があるからです。
高橋: どうして定期的変更になるのでしょうか?
徳丸: 複数の管理者のうち1人が退職したり、異動になった場合、「パスワードを知っていてはいけない」状態になりますよね。パスワードを例えば3ヶ月毎に変えれば、「パスワードを不正に知っている」状態は最長でも3ヶ月で止まります。
高橋: 銀行口座の場合だと3ヶ月でも長過ぎますね。かといって、毎日パスワードを変更するわけにもいかないし…
徳丸: その通りです。幸いなことにもっと良い方法があります。
高橋: なんだ、その方法を教えて下さい。
徳丸: 一番良いのは、担当者毎にアカウントを分けて別のパスワードにすることです。たとえばジャパンネット銀行の場合ですと、「利用者ID機能」というものがあり、同じ口座に対して利用者毎にIDを変えることができます。
高橋: それは素晴らしいですね。担当者が退職したら、その方のIDを解除するか、パスワードを変更して別の人が使えば良いわけですね。他の方のパスワードは変更しなくてもよい、と。徳丸さんの会社でも「利用者ID機能」を使っているのですか?
徳丸: だーかーらー、私の会社は私一人しかいないので、使う必要がありません。
高橋: でしたねー。でも、そういう機能が利用できない場合は、定期的に変更するしかないのでは?
徳丸: いえ、そうではありません。共用のパスワードを知っている人の退職や異動のタイミングでパスワードを変更するべきです。そうすれば、「パスワードを不正に知っている人」をゼロにできるはずです。理論的には…
高橋: 歯切れが悪いですね。
徳丸: 今までの話は、職務上パスワードを知っているはずの人の話ですが、元々パスワードを知っているはずのない人がパスワードを知っている場合に、定期的にパスワードを変更すると、その人の知っているパスワードを無効にできますね。
高橋: しかし、パスワードを知っていてはいけない人がパスワードを知っていること自体が重大な問題だと思いますが…
徳丸: はい。でも現実にはあり得ますよね。サーバー管理者が外出中にrootで作業をしなければならないのに、リモートからログインできないので、同僚にrootパスワードを教えて作業を代行してもらうケースとか。
高橋: はー、教科書的にはだめだけど、現実にはありそうです。
徳丸: なので、元々管理レベルが低い場合は、パスワードの定期的変更がそれなりに有効、ということですよ。言い換えると、パスワードの定期的変更に頼る状態というのは、けっして好ましいことではありません。
高橋: 分かりました。ここまでのお話を一旦整理すると、昔の/etc/passwdにパスワード自体が入っていた時代はパスワードを定期的に変更する理由があったが、今はそうではないこと、同じパスワードを複数人で使う場合にパスワードの定期的変更がそれなりに意味があるが、本来は一人1IDにするか、異動・退職のタイミングでパスワードを変更するべき、ということでした。社内ネットワーク等のパスワードは、環境にもよるが、パスワードの定期的変更がそれなりに有効、ということですね。
徳丸: その通りです。
高橋: 徳丸さんのご専門のWebシステムの話題があまり出てきませんでしたが、Webの場合はどうなんですか?
徳丸: Webの場合でも、パスワード漏洩の影響が長期間にわたって出て、かつ漏洩に気づけないというケースは、パスワードを定期的に変更した方がよい、ということになりますね。
高橋: あれ、パスワードの定期的変更を認めちゃうんですか?
徳丸: 残念ながら…でも、パスワードの定期的変更よりも良い方法がある場合はそちらを使うべきです。
高橋: 例えばどういうものでしょうか?
徳丸: 例えば2段階認証ですね。2段階認証が使える場合は、パスワードを定期的に変更する必要性はほとんどないでしょう。
高橋: 2段階認証に使うトークンを一種のパスワードだとすると、一分毎にパスワードが変わっているようなものですからね。
徳丸: そうです。パスワード漏洩の影響が長期に及ぶアプリケーションというのは、メールとかストレージサービスですね。その種のサービスは2段階認証が普及しつつあります。一方、被害が個人情報漏洩だけというサイトは、パスワードを変更しても被害は軽減できないので、定期的変更にあまり意味がありません。次に、ログイン通知やログイン履歴の機能があれば、不正ログインに利用者が気づくことができるので、パスワードの定期的変更の必要性は薄くなります。
高橋: 定期的にチェックするのも面倒だし、忘れそうですね。
徳丸: そうですね。この点、Yahoo!やLINEがやっているログイン通知は便利ですよ。自分ではなにもしていないのに、「ログインしました」と通知されるので、気づきやすいです。
高橋: でも、ログイン通知を実装しているサイトは少ない感じですね。
徳丸: そうなんです。だから、サイト運営者は、利用者にパスワードの定期的変更を促す前に、2段階認証やログイン通知の機能を実装していただきたいです。
高橋: そうですね。それでは、そろそろまとめていただきますか?
徳丸: はい。結局のところ、パスワードの定期的変更の位置づけとしては下記のパターンがあると考えます。
- もっとよい方法がある(例: 二段階認証)
- 元々の管理レベルが低い場合の簡便法(例: パスワードを勝手に知っている人がいる)
- 社内ネットワークなど不正に気づくことが難しく被害が長期に及ぶ場合の対策
1と2については、もっとよい管理方法に移行するべきです。3については、パスワードの定期的変更の動機としてはもっともありそうですが、もし本当に高いセキュリティを目指すのであれば、スマートカードログオンに移行するなど、パスワードの定期的変更に頼らないセキュリティ施策を採用するべきです。私が一つお勧めしたいのは、パスワードを三ヶ月おきに変更するような機械的な定期的変更ではなく、パスワード管理のあり方を定期的に見直すことです。たとえば、フィッシングが問題になってきて二段階認証の普及が進んできたら、自分でも二段階認証を使うかどうかを検討する、パスワードリスト攻撃が問題になってきたら、自分でもパスワードの使い回しをしていないかチェックして、是正する、などです。機械的にパスワードを変更することは、意味が無い場合が多いですよ。
高橋: ありがとうございました。パスワード管理を定期的に見直すというのはいいですね。これで、パスワード定期的変更の効能についての徳丸さんへのインタビューは終わりです。みなさま、ごきげんよう。
※注: このエントリはインタビュー仕立ての記事であり、文責はすべて徳丸にあります。高橋は架空の人物です。