パスワードの問題点とは?
パスワードは合言葉のようなもので、利用する人が本人かどうかを識別するために利用される文字列です。今や当たり前のように広く使われていますが、様々な問題点も指摘されています。
パスワードを使い回す利用者が多い
スマートフォンやインターネットの発達であらゆるサービスが登場し、一人で複数のサービスを利用する人が増えています。しかし、各サービスごとにパスワードを作成して管理するのはとても面倒です。その結果、一つのパスワードを複数のサービスで使い回す利用者が多くなっています。
こうした問題への対策として、一定期間ごとにパスワードを変更するよう奨励されてきました。しかし、アメリカ国立標準技術研究所が2017年6月に発表したガイドラインによると、最後の数字だけ変更するなど簡単な変更しかしない人が多く、結果的に推測されやすいパスワードになってしまうため、有効な対策ではありません。このガイドラインでは、パスワードを変更するよりも、より長い文字列を使うパスフレーズの利用によりセキュリティを高める方が効果的だとしています。
パスワードの解析や総当たり攻撃によるリスクが高まっている
近年コンピューターの性能が向上するにつれ、パスワードの解析能力も上がっています。8文字程度の文字列は1時間程度で解読できてしまうというデータもあります。
また、パスワードを総当たりで入力して不正アクセスを試みる攻撃方法があります。この総当たり攻撃は高性能なコンピューターが必要になるため、以前は効率が悪い方法とされていました。しかし近年コンピューターの性能が急速に向上したことから、総当たり攻撃が以前より簡単にできるようになっています。当然、この攻撃では文字数の少ない方がパスワードを解析されるリスクが高くなります。
パスフレーズとは?
こうしたパスワードの問題点を解消できるものとしてパスフレーズが注目されています。パスフレーズも本人認証のために用いるパスワードの一種です。では、具体的に何が違うのでしょうか?
パスワードとの大きな違いは?
・使える文字数が多い
パスワードが通常8文字前後で構成されているのに対し、パスフレーズは10文字以上の単語を組み合わせた文字列で構成されます。
・スペース(空白)が使える
パスワードと大きく異なるのは、アルファベットや数字、記号のほかにスペースが使用できることです。単語同士の組み合わせや文章を作る際に、スペースで単語を区切ったりつなげたりすることができます。これにより、いくつかの単語を組み合わせた文章(フレーズ)にできるため「パスフレーズ」と呼ばれます。
ただし、スペースの利用は任意で、必ず使わなくてはならないというわけではありません。
パスフレーズのメリットは?
・記憶に残りやすい
パスワードよりも文字数が多くなりますが、意味のあるフレーズを使って生成できるため、記憶に残りやすくなります。
パスワードを生成する際、文字数が限られる中で少しでも覚えやすい誕生日や電話番号、名前などを文字列に使ってしまいがちです。しかし、こうした個人を特定できるような文字列を使用すると推測されやすくなってしまうため、機械的で人間が覚えにくい文字列にするよう推奨されたりします。
その点、パスフレーズは複数の単語を組み合わせたり、スペースを使って長い言葉やセリフ、格言といった文字列も入れることができるなど、文字列に意味を持たせることができるため、覚えやすいのに推測されにくいパスフレーズを作りやすいのです。
・セキュリティがより強固になる
パスワードより長くて複雑な文字列を利用するほど、解析に時間がかかることから、パスフレーズは長ければ長いほど安全性が高まります。例えば、パスワードの8文字に2文字増やして10文字にするだけで、1時間程度だった解析時間を7カ月程度にまで伸ばせるといいます。
また、パスフレーズはスペースを含めて構成できることから、文字列のみの場合より解析されにくくなり、よりセキュリティ強化につながります。
パスフレーズのデメリットは?
・利便性が低くなる
単語を組み合わせることでパスワードより覚えやすくなる半面、長い文字を打ち込む必要があるため、どうしても利便性が低下します。またパスフレーズでは日本語を使用できないため、日本語をアルファベットに変換して入力する際にミスが発生しやすくなります。
また、多くの単語を繋げたり長すぎる単語を使うと、覚えられない、忘れてしまう、というリスクも考えられます。
・推測されやすくなる
文字列に意味を付与できるというメリットは、その意味から逆に推測されやすくなるというデメリットにもなります。たとえば「nice to meet you」はスペース込みで16文字あり、セキュリティとしては高い文字数になっています。しかし多くの人が考えつきそうな単語であるため、総当たり攻撃で試すパスワードのリストに入っている可能性が高くなります。
このように、誰でも思いつきそうな単語を使ってパスフレーズを作ると、せっかく長い文字列でセキュリティを高くしているにも関わらず、解析されやすくなってしまいます。
パスフレーズを生成するポイント
・推測されやすいフレーズは避ける
パスフレーズを生成するには日常的な言葉や有名な格言、映画の名セリフや本のタイトルといった、推測しやすいものは避けるべきです。また、日本語を使用することもおすすめです。ハッキングは海外から行われることが多いため、世界的にみると日本語を扱えるハッカーは少なく、それだけ推測されにくくなると考えられます。
ITセキュリティ会社のソリトンが行った調査では、日本人がよく使用するパスワードをランキングにまとめています。それを見ると「000000」や「123456」など単純な数字の羅列の他に、「password」や「sukura」「member」などよく見る単語も上位に並んでいます。こうしたよく使われる単語を使うと、必然的に推測されやすくなってしまいます。したがって、パスフレーズの生成には個人にしかわからない単語を使うのがおすすめです。
・なるべく多くの単語を組み合わせる
文字列が長くなるほどセキュリティが高くなることから、なるべく多くの単語を組み合わせるのが理想的です。例えば、自分が通った学校の名前や担任の名前と言った、個人的な情報を組み合わせるとそれほど悩まずに単語を選ぶことができ、おすすめです。また、機械的に単語をピックアップするツールを使用しランダムにフレーズを決める方法もあります。
例えば「Diceware(ダイスウェア)」と呼ばれるサイコロを利用した方法を使えば、セキュリティの高いパスフレーズを簡単に生成できます。
(参考)「Diceware(ダイスウェア)」のやりかた
5つのサイコロと一般公開されている「ダイスウェア単語一覧」を用意します。
- 5つのサイコロを同時に振り、出た目を5桁の数字としてメモする
- 1.で出た5桁の数字と一致する番号の単語一覧から探す
- 1.~2.を7回繰り返し、探した単語を並べてパスフレーズにする
個人でランダムに単語を選んでパスフレーズを作ろうとしても、知っている単語に限られてしまったり、あるフレーズの小文字を大文字に変えるなど、どうしても一定のパターンになりがちです。そこで、辞書を利用したり、Dicewareの手法を利用すれば、パスフレーズが解析されるリスクを低くすることができます。
パスフレーズを使って安全に!
パスフレーズ単語を組み合わせることでより多くの文字列で構成されるため、総当たり攻撃への対策になります。
もし、1日に1兆回の処理ができるコンピュータでパスワードの解析を試みると想定すると、5つのフレーズで構成されるパスフレーズは半年で解析が成功すると言われます。それが、6つになると3500年以上になり、7つになると2700万年かかる計算となるので、少なくとも6つ以上の単語で構成しておけば、リスクが大幅に削減できることになります。
こうしたパスフレーズの特徴を理解し、本人認証の安全性を高めましょう。