【これは約 16 分の記事です】

（2015年の投稿のため、リンク切れや情報が古くなっている部分が一部ございます）

定期的なパスワード変更を奨めるサービス提供者や行政

ID・パスワードが流出する事件を受け、提供者や行政提供者側からユーザに対してセキュリティ対策の実施を喚起しています。

IDとパスワードの適切な管理 ：警視庁（リング切れ）

この中で、「パスワードの定期的変更」がうたわれています。このパスワードの定期変更については、セキュリティ対策として余り有効ではないという方は結構いらっしゃいます。

書かれていることは正しいと思います。

しかし、この意見、控えめすぎます。今は、パスワードの定期的変更は、有効ではないどころか、むしろセキュリティ対策として危険といっていいです。

認証のセキュリティを高める3つの要件

認証においてセキュリティを高める要件は3つです

コールバックによる本人確認 ワンタイムパスワードなどの使い捨ての認証 認証プロセス及び手段の部分秘匿

いわゆる二段階認証プロセスは上記3つの条件を満たしています。

Google 2 段階認証プロセス

https://www.google.co.jp/intl/ja/landing/2step/

「二段階認証」プロセスと呼ばれていますが、この名称は正直良くありません。認証の回数がセキュリティを高めているのではないからです。認証プロセスが何回あろうとセキュリティが高まわるわけではありません。むしろ

認証回数が多いほど、認証プロセスが目につき秘匿が脅かされる

ので危険です。

私は「二段階認証」と呼ばずに「再帰認証」と呼ぶべきだと思いますが、言葉は共有プロトコルですので、私一人がそう思うからといって強引に推し進めることは出来ません。引き続きみなさんに従って「二段階認証」と呼ばせていただきます。

アニメやお伽話において認証プロセスを晒してしまいセキュリティが破られる例

上記3つの中で注目していただきたいのは、

認証プロセスの秘匿

です。セキュリティは認証プロセスが再現されることで破られるので、認証プロセスが見えているとたちまち不正アクセスを許してしまいます。

ルパン三世やキャッツアイのような盗賊が主人公のアニメで、こんな感じのシチュエーションがあったと思います。

だれか（たいてい盗賊が化けている）：財宝が盗まれたぞ！ 番人：え？本当？認証システムが破られるはずないのに！

（認証して財宝があることを確認） 番人：え？盗まれていない・・・しまった！ 認証方法を見た盗賊がそれを真似てお宝ゲット

認証システムは完璧なのに、そのプロセスを盗賊に見せてしまったがために財宝が盗まれてしまうのです。

パスワードを利用したシステムのお伽話で、アリババのお話がありますが、あれも盗賊がアリババに全部の認証プロセスを聞かせてしまったのでお宝を盗まれてしまったわけです。アラビアンナイトの時代であれば、多分こんな二段階認証になっていたでしょう

アリババ：開けゴマ！ ほらあな：（本人かな？コールバックで確認しよう）

もぐらにワンタイムパスワードを教えて盗賊の頭のところに向かわせる

（鳥では飛ぶ姿がアリババに見えてしまうので不可） アリババ：2つ目のパスワードはXXXだ ほらあな：（さっき作ったパスワードじゃないな） アリババ：あれ？なんで開かないんだ？ もぐら：お頭、ワンタイムパスワード＊＊＊です お頭：ごくろうさん、って、なんでお前が今くるんだ？

ということで、普通のお頭なら、アリババをフルボッコにして終わりでしょう。

しかし、もう少し賢いお頭なら、こうするかもしれません。

アリババ：XXX！ CCC! QQQ! PPP! お頭：（岩陰から）ほう、アリババはあんなパスワードを思いつくのか

お頭はアリババの家の金庫のパスワードを破り、もっとお宝を増やしました。アリババはパスワードを言いふらしてしまうことで、自分の財産を失ってしまったのです。

定期的なパスワード変更は認証プロセスの秘匿を脅かす

上の例では、アリババは自分のパスワードを言いふらしています。それによってセキュリティが脅かされるわけですが、定期的なパスワード変更は、この自分のパスワードを言いふらす行為でもあります。なぜなら

変更前のパスワードを伝える

変更後のパスワードを伝える

パスワードの変更履歴から生成ルールが推測できる

からです。

ここでこういう反論が出ると思います。「パスワードは認証のたびに入力しているのだから、パスワード変更しようがしまいがパスワードを言いふらしていることは変わりないのではないか」と。

答えは「その通り」。つまり、みだりにパスワードは入力すべきではない、認証回数を増やすべきではないのです。

一度認証したら、それ以降の同一性確認の方法を変更すべきです。アリババの例なら、こうなるでしょう

ほらあな：パスワード認証完了しました。しばらくはこの松明を肌身離さず持っていてください。そうでなければあなたは不審者と間違えられます

話を元に戻すと、パスワード変更においては、パスワードを入力する様子を見せる状況が発生します。これは認証プロセスの秘匿を脅かします。さらに、パスワード更新履歴が蓄積されれば更新の傾向が推測できます。これが重要で、不正アクセスを試みるものが更新履歴を見ることで他のサイトのパスワードを推測できてしまうのです。

「パスワードルールの推測なんて難しいのでは？」というのは楽観です。ある程度履歴がたまれば、賢い人工知能であればそんなに難しくないでしょう。「パスワードはランダムだよ」という場合、ランダムパスワードを記録するデータベースがあった場合はそのデータベースを脅かせばパスワードの入手ができてしまいます。

もし定期的なパスワード変更が「使い捨ての認証方法」を実施するための手段であれば問題はありません。ワンタイムパスワードはこの条件を満たしています。しかし、ユーザ側のパスワードは「使い捨て」という条件を満たしません。それを満たすのは、「一回ログインしたら次のパスワードを必ず再設定」する場合です。現実的にユーザ側がそれをすることはまずありません。また、パスワード生成時に使う生成ルールは使い回すので「使い捨ての認証方法」という条件は満たしません

Googleはパスワードの定期的変更を推奨していない

こちらにGoogleがアカウントのセキュリティ強化のためにユーザに奨める行為を記載していますが、「パスワードの定期的変更」は書かれていません。

アカウントの保護

https://support.google.com/accounts/answer/46526

パスワードの変更について書かれてはいますが、「アカウントに不正にアクセスされたと考えられる場合は、すぐにパスワードを再設定してください」と、定期的にではなく、「不正アクセスされたと考えられる場合」としています

また、パスワードの変更の際の要件として、こう書かれています

（2015年12月にリンク切れ）

Google アカウントのパスワードを変更、再設定する

注目すべきところは、

「過去 1 年間のパスワードを再使用することはできません」

と記載されていることです。パスワードの定期変更を促すサイトでもパスワードの再使用の制限はありますが、ほとんどの場合「過去数回以内の」パスワードの再使用を禁止しています。ところが、Googleの場合は、回数ではなく、期間で、それも1年という比較的長い期間の再利用禁止です。

もしGoogleがパスワードの定期変更を推奨するなら、長い期間内での再利用禁止はうたわないでしょう。例えば60日間でパスワードを変更しないといけないのであれば、

365/60 ≒ 6回

6回全部を異なるパスワードにする必要があります。人間が記憶できる数は7前後ですので、この履歴を覚えるのはかなり難しいでしょう。1年以内のパスワード再利用禁止は、パスワードの定期変更を推奨していないからこそできる要件です。

IPAもパスワードの定期的変更が危険なことに気がついているフシがある

情報処理推進機構（IPA）が定期的なパスワード変更についてどう考えているのか調べてみたのですが、少し面白い情報を見つけました。

「ID・パスワードのセキュリティ対策促進に関する広告等業務」 係る企画競争 公 募 要 領

https://www.ipa.go.jp/files/000041480.pdf

ここで注目すべきは、9月9日の更新履歴です。変更前はこう書かれていました。

【変更前】

以下の対策事例いずれかを用いて「ID・パスワードのセキュリティ対策」をテーマ にした広告展開を企画・実施し、対策実施への行動喚起を促す。（使用する対策 事例は複数も可）

・「ID・パスワードは定期的に変更する」

・「サービスごとに異なるパスワードを設定する」

・「パスワードはわかりにくい文字列（8 文字以上、記号を含む）を設定する」

しかし、変更後はこうなっていて、パスワードの定期的変更は削除されています。

【変更後】

以下の対策事例いずれか又は両方を用いて「ID・パスワードのセキュリティ対 策」をテーマにした広告展開を企画・実施し、対策実施への行動喚起を促す。

・「サービスごとに異なるパスワードを設定する」

・「パスワードはわかりにくい文字列（8 文字以上、記号を含む）を設定する」

変更の理由はツイッター等でこの部分についてのツッコミが多数あったからのようですが、それだけでIPAがこの部分の修正をするほど主体性のない機構であるとは考えにくいです。おそらく、IPAもパスワードの定期的変更がむしろ危険であることに気がついているのではないかと思われます。

パスワードの定期変更で守られるのはサービス提供者側のセキュリティ

では、ウェブサービスを提供する側は何故セキュリティ対策としてパスワードの定期変更を促すのか。これは、利用者側のセキュリティではなく、サービス提供者側のセキュリティを高めるためです。

ここでサービス提供者側がとっているセキュリティ対策は

リスクの移転つまり責任転嫁

です。

セキュリティ対策はリスクへの対処方法として4つに分類されます。

情報セキュリティマネジメントとPDCAサイクル

http://www.ipa.go.jp/security/manager/protect/pdca/risk.html

リスク回避

リスク低減

リスク保有

リスク移転

パスワード情報の漏洩は、利用者側もしくはサービス提供者側どちらかの落ち度で発生します。利用者側の落ち度は、サービス提供者側でコントロールできませんし、その場合にはサービス提供者側に非はありません。

一方、サービス提供者側で情報を漏洩した場合には提供者側に責任が発生します。しかし、提供者側がセキュリティ対策の努力を怠っていないと「看做され」、利用者側がセキュリティ対策を怠っていたと「看做される」場合、提供者側の責任はある程度免責されます。

利用者側にパスワードの定期的変更を求めるのは

提供者側が利用者喚起により対策努力を怠っていないと「看做される」ため

利用者側が喚起無視により対策努力を怠っていたと「看做される」ため

に必要な要件になるからです。これは、利用者側へのリスク移転となります。

つまり、パスワードの定期変更はセキュリティ対策ではあるけど、利用者のセキュリティを高める対策ではない、提供者のセキュリティを高めるために利用者のセキュリティを下げる対策ということです。

パスワードの定期変更した方が安全な例外状況

パスワードの定期変更は危険であると考えますが、例外的に定期変更すべき場合があります。

一つのアカウントを複数の人間が使いまわしている場合

です。この場合は、パスワードの定期変更をした方がいいでしょう。一つのアカウントを複数の人間が使いまわすことの是非はもちろんあります。私は、権限をグループ単位で付与して、アカウントそのものは一人1つずつにすべきと考えますが、現実的にそう出来ない場合にはやむを得ません。その場合にはパスワードの定期変更は必要です。

この考えに経つと、会社内で従業員に対してパスワードを定期的に更新するように促すのは、それなりの意味があります。それは、会社内のアカウントは従業員個人のアカウントではなく、会社としてのアカウントだからです。

ただ、そう考えると、パスワードを定期的に変えるべきなのは従業員からではなく、会社側から、という事になります。

従って、企業のセキュリティ対策としては、従業員にパスワードの更新をさせるのではなく、会社がパスワードを変更してそれを従業員に使わせるのが望ましいということになりますが、自分以外が生成したパスワードを覚えるというのは非常に難しいことで、従業員にその負荷をかけるのはパスワードをメモ書きするリスクが発生するなど、かえってセキュリティが下がる可能性があります。

現実問題としては、従業員個々人に定期的に更新を促すという方法に落ち着かざるをえないでしょう。

サービス提供者は利用者にパスワードの定期更新を促すべきではない

上記のように若干の例外はありますがパスワードの定期更新は安全どころか、むしろ危険な行為です。サービス提供者はセキュリティ対策としてパスワードの定期更新を促すべきではなく、二段階認証といったシステムを導入することに力を入れるべきであると考えます。もちろん二段階認証を予算やコールバックのための個人情報の保管条件によって導入できない場合もあるとおもいますが、その場合でも、利用者側がパスワードを定期的に変更しないことをもって提供者側の非を免責するべきではありません。