毎週木曜日に配信している「データサイン・ランチタイムトーク」の模様をレポートします。当記事で取り上げるのは以下の配信です。

  • 配信日:2021年2月18日 
  • タイトル: そのパスワードポリシーでユーザーを守れるのか?
  • 発表者:データサイン プロダクトマネージャー 坂本一仁

そもそも「強いパスワード」って何?

インターネットでは、ユーザーを一意に識別する情報(ID)と、アクセスしてきた人がユーザー本人であることを確認する情報を組み合わせて、通信相手がユーザーその人かどうかを認証しています。ここでIDと組み合わせて本人を確認するための情報として一般的に用いられるのがパスワードです。パスワードはIDを付与されたユーザー本人だけが知る情報なので、パスワードを入力することでIDを持つ本人であることを証明する仕組みです。しかし、パスワードが単純なものであれば、IDを知る第三者によって推測され、あたかもユーザー本人になりすまして認証される危険性があります。なりすましを防ぐために、インターネットでサービスを提供する事業者は「強いパスワード」をユーザーに入力するようにルール(パスワードポリシー)を設定して促しますが、ユーザーは果たして事業者が望むように対応してくれるのでしょうか。データサイン プロダクトマネージャー 坂本一仁は、そうではないと指摘します。


そもそも「強いパスワード」というのは、どういうものでしょう?

「強いパスワードとは、パターン数が多く、かつ他と同じパスワードではないパスワードです。パターン数が多いことにより、第三者がパスワードをしらみつぶしに入力する総当たり攻撃への耐性が高まります。また、他と同じパスワードではないことで、『既知のパスワードと同じ、または似たパスワードを機械学習で当てる』という推測攻撃への耐性が増します。2つの条件はどちらか一方ではなく、両方が満たされることでパスワードの安全性の強化につながります」(坂本)

複雑なルールで強いパスワードは設定されるのか?

サービス事業者サイドの技術者は、『複雑なルールを強制すれば、ユーザーは強いパスワードをつけてくれるだろう』と考えるかもしれません。しかし、「最低8文字以上」「英小文字、英大文字、数字、特殊文字を全て含む」といった複雑なルールのもとで、使い回さない、類似しないパスワードを作成してみようとしても案外手間がかかることがわかります。

「むしろユーザーの立場では『つけたいパスワードがつけられない。覚えやすくて、ルールを簡単にクリアできるパスワードをつけておこう』と考える傾向にあります。実際に多数のユーザーが設定するパスワードを調べてみると、使われる文字列の分布に偏りが生じていることが複数の研究結果から明らかになっています。つまり、パスワードポリシーで複雑な厳しいルールを課しても、ユーザーが不便になるだけでパスワード推定攻撃に強いパスワードは設定されません。事業者サイドの技術者が考える理想とユーザーの実際の行動は異なるのです」(坂本)

技術者の理想とユーザーの行動は異なる

NIST(米国国立標準技術研究所)では、認証の実装方法に関するグローバルスタンダードとして、「NIST SP800-63-3B(2017)」というガイドラインを発表しています。こちらの5.1.1「 記憶シークレット」においても「複雑なルールを要求すべきでない」という記述があります。

上記ガイドラインには他にも、秘密の質問のような特定のタイプの情報の入力を求めないものとする、漏洩パスワードや推測が容易なパスワードは入力させないものとする、定期更新を要求すべきでない、といった趣旨の記述があります。

「繰り返しますが、技術者が考える理想とユーザーの実際の行動は異なります。近年はブラウザに搭載される標準的機能として、パスワードを自動生成・管理してくれるパスワードマネージャーがあります。ユーザーが自分で作成・管理するよりは、推測されにくく偏りの小さいパスワードを生成できる点で、こちらを利用するのが無難といえそうです」と坂本は指摘しました。

なお、本日のランチタイムトークのテーマは、ユーザブルセキュリティ研究グループで議論されている内容が含まれます。坂本も参加しているコミュニティですが、ご興味のある方はぜひ「ユーザブルセキュリティワークショップ」で検索してみてください。