第23回 安全なパスワードとは?攻撃手法と対策

インターネット上には電子メールをはじめとした様々なサービスが存在しています。

サービスによっては会員登録などをするためパスワードを設定する場合がありますが、このパスワードを安易に考えて設定をしてはいないでしょうか。

ウェブ上だけでなくログイン情報などパソコン内でパスワードを設定する場所は多くあります。このようなところで数多く設定するパスワードですが、あまり安易なものにしてしまうと意味をなさなくなってしまう可能性があります。

この記事では、パスワードについてどのようなパスワードが安全なのか、その安全性について解説していきます。

広告

なぜパスワードが必要なのか

そもそもなぜパスワードが必要なのでしょうか。

改めて言われなくとも大体予想は付くでしょうか。一番は見られたくない情報を守るためです。

例えば、インターネット通販サイト大手「Amazon」ですが、通販サイトなので住所や郵便番号・電話番号・メールアドレス・クレジット情報などを入力しなくてはいけません。Amazonでは何度も個人情報を入力させない配慮としてデータベースにこれら情報を保存しています。

もちろん、このような情報は外部へ漏らすわけにはいかないため通信を暗号化し、登録したユーザーのみ情報を確認できるようパスワードを設定しています。

Amazonのサインイン画面。登録したEメールとパスワードを入力することでログインできます。

そのほか、ZIPファイルやPDFファイルなどのデータに対してパスワード保護をかけることもできます。ファイルを開くときや、データの編集を行うためにパスワードを要求することで、不用意にデータが漏洩したり改変されたりしないよう保護することもできます。

このように、パスワードは他人に見られると困るものに対して保護する有効な手段といえます。

ZIP圧縮する際にパスワードを設定すると、解凍する際にパスワードを要求します。間違うと解凍できません。

多要素認証に使われる「3要素」

ちなみに、本人のみが知識として知っている情報(パスワードなど)を認証情報として利用するものを「知識認証」と呼びます。

そのほかに、本人のみが所有している「モノ」を認証物として利用する(携帯電話など)ものは「所有物認証」、本人の生体的特徴(指紋など)を認証に利用するものを「生体認証」と呼び、「知識認証」と含めてこれらを「多要素認証の3要素」と呼んだりします。

安易なパスワードとはどんなものか

パスワードを設定しても、安易なパスワードは広く知られているためすぐに破られてしまいます。

では、安易なパスワードとはどんなものでしょうか。
パスワード管理関連サービスの「NordPass」は、2020年において最もセキュリティレベルが低いとされるパスワードを公開しています。一例を書いてみますと、

  • 「123456」
  • 「123456789」
  • 「picture1」
  • 「password」
  • 「qwerty」
  • 「abc123」
  • 「iloveyou」
  • 「qwertyuiop」
  • 「qwer123456」
  • 「asdfghjkl」

このような感じになるようです。皆さん中々覚えられないからでしょう、被害に合いやすいパスワードは数字やキーボードの文字を順にならべたり簡単な単語をパスワードとしているようです。

その他にも「生年月日」「名前」や「辞書に載っている単語」などはパスワードとしての役目をあまり果していません。

パスワードの使い回しは非常に危険

色んなサービスに対して同じパスワードを設定していると、万が一どれかひとつのパスワードが漏洩してしまった場合、攻撃者は他のサービスへのログインも同様に不正ログインができるかどうか試行するため、被害か大きくなりやすくなります。

例えば、Amazonのログイン情報が盗まれてしまったら、楽天やyahooショッピングなどにも同様にログインできるか試されてしまうのは、ある意味当たり前と考えられます。

ご自分を守るためにも面倒くさがらずにひとつひとつ高度なパスワードを設定することを強くお勧めします。

総当たり攻撃(ブルートフォースアタック)

では、どのような攻撃によってIDやパスワードが破られてしまうのか、いくつか見ていきましょう。

一つ目は「総当たり攻撃」「ブルートフォースアタック【Brute-force attack】」と呼ばれる攻撃方法を紹介します。

コンピューターの演算能力をフルに利用した単純な、しかし時間さえあれば確実にパスワードを破る攻撃方法です。

総当たり攻撃は、名前の通り文字を1文字目から順に当てはめてパスワードを割り当てる攻撃です。例えば、4桁の数字がパスワードとなっていた場合、「0」~「9999」までを順に当てはめてパスワードを割り当てます。

「総当たり攻撃(ブルートフォースアタック)は、パスワードとして考え得るすべても文字列を最初か順に試行することで正しいパスワードを探し当てます。

単純明快な攻撃方法ですが、確実性はあります。短いパスワードならコンピューターの演算能力で簡単に破られてしまいます。

無料で利用できる解析プログラムを使ってパスワード付きZIPファイルを総当たり攻撃した画面。CPUのみの解析ですが毎秒10万パターン試行できますので、数値のみのパスワードでしたら数分で解析できます。GPUも利用すればさらに解析スピードを上げられます。

ただ、この攻撃方法には明確な弱点があります。それは利用する文字数と桁数が多くなると途端に実質解析不可能なレベルにまで文字列のパターンが増えてしまうことです。

例えば、「大文字小文字を区別した英字 + 数字 + 記号34文字」を組み合わせて10文字のパスワードを作ろうとすると「6648京3263兆5991億5010万4576 通り」の文字列が作成できる計算となります。流石に膨大な数になるので、いくらコンピューターでも全部調べるまでには年単位の時間がかかるようになります。

対策方法

つまり、この攻撃方法の対策は「利用する文字の種類を多くし桁数を増やす」ことです。

独立行政法人 情報処理推進機構 という日本の組織では、利用するパスワードは「英数字記号含めて10文字以上にする」ことを推奨しています。(下記ページの「情報セキュリティ5か条」より)

辞書攻撃(ディクショナリアタック)

上記の総当たり攻撃をより効率化した攻撃方法です。

「辞書攻撃」「ディクショナリアタック【Dictionary attack】」と呼ばれる手法です。基本的なところは総当たり攻撃と一緒で文字列を順に当てはめていくのですが、すべてのパターンを試すのではなくパスワードとして使われやすい文字列をデータベース(辞書)に登録し、それを順に当てはめていくという手法です。

総当たり攻撃をより効率化した攻撃方法。パスワードやログインIDとして利用されやすい文字列を予めリスト化、これを辞書として利用し順番に試行することで一見複雑に見えるパスワードでも短時間で正しいパスワードを探し当てる手法です。

総当たり攻撃では、文字の種類や桁数が多くなると途端に解析に要する時間が多くなってしまうのですが、辞書攻撃の場合は桁数が多くても辞書に登録されている文字列であった場合は短時間で解析できるという特徴を持ちます。

先ほどパスワードとして脆弱なものをリスト化したレポートをご紹介しました。これらのパスワードは多くの人が安易に設定しやすいため、攻撃用の「辞書」として予めまとめることで効率的にパスワードを破ることができるようになります。これらのパスワードはすでに一覧が作成されてしまっているため、パスワードとして意味を成していないのです。

インターネット上で無料で入手できるパスワード辞書の一例。よく利用されるパスワードが数千万パターン以上登録されています。中には「nobunaga」や「asahi」などが登録されている日本語圏に特化したリストもあります。
同じプログラムでパスワード保護されたPDFファイルを解析しました。「!"#$%&/()」という、一見複雑に見えるパスワードを設定しましたが、これはキーボード上の一列をそのまま入力したものなので、しっかり攻撃辞書に載っています。このため、これも数分で解析が完了します。

対策方法

人名や誕生日など意味のある単語を1ワードだけといった感じで使っていると、この辞書攻撃にやられてしまいます。よく使われる人名、西暦を含めた誕生日などの文字列、それらから数文字変換しただけのようなパスワードは間違いなく辞書に登録されており、ものの数分で解析できます。

このため、完全にランダムな文字列を設定することが理想となります。パスワード作成アプリやサービスなどを利用することで、ランダムな文字列を作ることができますので、これらを利用するのも一つの手です。

パスワード管理ソフトで管理するのがおすすめ

上記「総当たり攻撃」「辞書攻撃」の双方を防ぐためには、それぞれの対策法をまとめれば良いことになります。つまり・・・

  • 文字の種類を多くする(半角英数記号をすべて含む)
  • 文字列を可能な限り増やす(10文字以上推奨)
  • ランダムな文字列にする

これらが理想となりますが、利用しているサービスが増えると全部覚えられないということもあるかと思います。

この場合は「パスワード管理ソフト」を利用してまとめて管理しておくのがおすすめです。「パスワード管理ソフト」に入るためのマスターパスワードだけ覚えておけば、すべてこのソフトウェアで管理できるようになります。パソコンのほか、スマートフォンで利用できるアプリケーションもあり、スマートフォンが対応していれば指紋認証などの生体認証も利用できるアプリケーションもあります。

また、クラウドと同期されどの端末からでもパスワードが参照できる機能を持ったものや、登録したウェブサイトが開いた時点で自動的にIDとパスワードを入力してくれる機能を持ったものなどもあります。

以下、一例として有名なパスワード管理ソフトをいくつかご紹介いたします。

私は現在「Bitwarden」を利用してます。公式サイトは英語ですが、ちゃんと日本語でも利用できます。Windows、macOSなどのパソコン用OSの他、AndroidやiPhoneなどのスマートフォンでも利用でき、かつ各ウェブブラウザーの拡張機能も提供されているなど、幅広い環境に対応されている無料のソフトウェアです。

クラウドで情報が同期できるほか、パスワードの自動入力機能もあり、またオープンソース(ソフトウェアの設計図を公開している)で開発が進んでいるためセキュリティ的にも安心です。

英数字記号に拘らなくとも文字数が多ければOK

パスワード管理ソフトを利用すれば、ランダムかつ文字数の多いパスワードも多く管理できます。

ただ、こういったソフトウェアはあまり使いたくない、できれば覚えておきたいという場合はどうすればよいでしょうか。

実は、パスワードの強度は「t$Dk$4Sb」のように記号や数字を混ぜたランダムな8文字よりも、「irohanihohetotirinuruwo」といった感じに記号を使わなくとも文字数が多いパスワードの方がより強固であるとして最近は推奨されてきています。

もちろん、最初の通り「英数字記号を含めたランダムかつ文字数が多い」方がパスワードとして強固であることは間違いありませんが、覚えやすい単語を数ワード組み合わせて文字数をなるべく多くしたパスワードでも強度は十分あります。文章を作ってそれをパスワードにするのも有効です。(数ワードだけだと辞書攻撃にやられてしまうので、必ず3~5ワード以上入れてください。)

この「パスワードとして文章を使う」ものを「パスフレーズ」と呼び、現在はむしろこちらの方がより推奨されてきています。

この記事の最初の方でもリンクさせていただきました、セキュリティ情報を収集している「JPCERT/CC」様のウェブサイトでは、『[ 英単語 ]+[ 好きな日本語のローマ字 ]+[ 英単語 ]+[ 英単語 ]…』といった感じでパスワードを作っても十分な強度を持ったパスワードが作れるとしています。

盗聴、傍受による漏洩

今度はパスワードを直接破るのではなく「盗聴、傍受」による方法をいくつか紹介します。

偽の警告表示で情報を入力させる

フィッシング詐欺などが有名ですが、偽のウェブサイトへ誘導されたのち、IDやパスワード、クレジットカード情報などを入力してしまい金銭被害を受けてしまったニュースが後を絶ちません。

一例としてひとつ記事を紹介いたします。

Amazonからアカウントの更新をしてほしいとメールで受け取り、記載されていたURLからページを開いてログイン情報やクレジットカード情報を入力してしまった事例です。

もちろん、更新メールなど真っ赤な嘘です。URL先も偽のAmazonログインページでしたが、本物のログインページと同じデザインになるよう設計されており、偽サイトであることを見抜けなかったようです。

この事例ではAmazonでしたが、そのほかにも楽天などの別のショッピングサイト、クレジットカード会社などを装って偽の警告メールを送ってくるなど、手口は多岐にわたります。

メールを受け取っても真に受けず、書かれたURLからではなくブックマークや検索エンジンから検索して公式のウェブサイトであることを確認してから情報を入力する癖を付けましょう。

被害に遭ってしまった場合は以下のサイトで相談できます。

公衆無線LANサービスからの漏洩

最近はレストランやカフェなどで「公衆無線LAN」、いわゆる「Wi-Fiスポット」が利用できるお店も増えてきました。

携帯回線では月に利用できるデータ量に上限があることから、これらを利用することで回線料を節約している方も多いでしょう。

しかし、公共のものとはいえ実体はほとんど自宅のWi-Fiと仕組みが同じです。そこへ不特定多数の人が同時に接続することになりますので、必然的にセキュリティは落ちる形となります。

  • 暗号化されていないWi-Fiスポットの場合、通信内容が傍受される可能性
  • 本当に正しい相手と通信しているのか不確実(悪意あるWi-Fiスポットを用意される可能性)

Wi-Fiスポットの利用は常に危険を伴うことを前提にして対策を行う必要があります。暗号化されたスポットを利用する、「SSL/TLS」暗号に対応したウェブサイトのみにアクセスする、なるべくログインを利用するウェブサイトは利用しないなど、よく注意して利用する必要があります。

私は「VPN【Virtual Private Network】」の利用をおすすめいたします。元々は企業の拠点間で安全に通信するために使われてきた技術ですが、最近は一般利用できるサービスも増えてきました。

このサービスを利用すると、VPNサービス事業者のサーバー間まで通信を暗号化することができるようになります。これにより、Wi-Fiスポット圏内で通信が傍受されても、すべてのデータが暗号化されることになるため一定の安全性が確保できます。

「カスペルスキー」や「ノートン」など有名なセキュリティ対策ベンダーでもVPNサービスを提供しているので、よくWi-Fiスポットを利用する方は利用を検討されてみてください。

この記事のまとめ

この記事ではパスワードを突破するための「攻撃、盗難方法」の一部を紹介しました。どのような手口があるのかを知ることが対策の第一歩です。

そして安全なパスワードとはどのようなものなのか、その作り方も一緒に解説しました。

個人情報を守ってくれているパスワード。インターネット上のサービスを利用するならば、被害に遭わないよう強固で安全なパスワードを設定しましょう。

広告