パスワード認証へのさまざまな脅威:認証システムの基礎知識3

認証システムの基礎知識

更新日:2019年12月17日(初回投稿)
著者:アルテア・セキュリティ・コンサルティング 代表 二木 真明

前回は、認証の基本的な考え方と、暗証番号やパスワードを使った認証を紹介しました。今回は、パスワード認証に対する深刻な脅威と、その対策について解説します。

1. 表玄関からだけではないパスワードへの攻撃

前回紹介した認証機能そのものに対する攻撃は、いわば認証の表玄関に対する脅威です。しかし、認証への脅威はそれだけではありません。どんなにパスワードを複雑に設定しても、システムに保存されているパスワードが盗まれてしまうと、全く意味をなしません。

通常、システムに保存されているパスワードには、外部からアクセスできません。外部どころか、システム内部でも管理者権限がないとアクセスできないのが普通です。しかし、こうした保護をバイパスできる裏口があります。それが脆弱性ぜいじゃくせいです。

脆弱性は、本来行われるべき保護が無効になっていたり、回避できたりするシステム上の欠陥(ソフトウェアのバグや設計上の考慮不足など)が原因で発生します。深刻なものでは、それを悪用することで認証を回避してシステムに侵入したり、本来外部からはアクセスできないデータにアクセスできたりします。

一般に、利用者のパスワードは、システム内でファイルやデータベースのかたちで格納され、アクセス制御により一般のアクセスが禁止されています。しかし、脆弱性を悪用することで、外部からのアクセスができてしまいます(図1)。

図1:脆弱性を悪用した攻撃

図1:脆弱性を悪用した攻撃

こうした手段で攻撃者が利用者のパスワードを入手してしまえば、もはやそのログインを防ぐ手立てはありません。このため、万一の漏えいに備えて、多くのシステムでは保存されるパスワードを暗号化しています。

一般にパスワードの暗号化には、ハッシュ化と呼ばれる方法が採られます。ハッシュ化されたパスワードは元に戻すことができません。この場合、パスワードの確認は、元データが同じであればハッシュも同じとなる特性を利用して、入力されたパスワードをハッシュ化し、保存されたハッシュ値と比較することで行います。

ハッシュ化によって保存されたパスワードを入手しても、元のパスワードを直接得ることはできないため、絶対に安全と思うかもしれません。しかし、実際はそう簡単ではありません。

ハッシュ化するための計算は標準的な方法で行われ、その方法は公開されています。従って、ハッシュを解読できなくても、何らかの文字列と一致するかどうかは、その文字列のハッシュと同じであるかどうかで分かります。つまり、ハッシュを入手することで、それに対して辞書攻撃のようなことをコンピュータ上で実行することができます(辞書攻撃については、第2回を参照)。辞書にあるデータをハッシュ化し、順次、比較していけばいいのです。しかも、認証機構に対する攻撃とは異なり、この比較はコンピュータの速度で実行できます。

ハッシュ計算はある程度の負荷となりますが、最新のハイエンドコンピュータを用いれば、極めて高速な比較ができます。辞書攻撃なら、数分もあれば結果が出てしまうでしょう。それどころか、8文字程度の英字小文字のみを使った無作為なパスワードならば、全てのパターンを試すことで、数時間から数日の間に結果が得られてしまいます。これは認証自体に対する攻撃に比べ、圧倒的に高速です(図2)。

図2:ハッシュの解読

図2:ハッシュの解読

このような状況に対応するためには、パスワードの複雑性をさらに上げる必要が生じます。解読処理に少なくとも年単位の時間を要する複雑な文字列を使用し、さらに、平均的な解読時間より短い周期で変更する必要があります。

解読時間は組み合わせの数に比例するため、コンピュータレベルの処理能力に対応するだけで、先の英字8文字のパターンに比べて、少なくとも数千倍組み合わせが多くなるようなパスワードを作る必要があります。10桁以上、英字大文字+小文字+数字+記号のパスワードを3ヶ月で変更するといったポリシーは、こうした暗号化パスワードの流出が念頭に置かれています。

組み合わせを増やすには、文字種を増やすか、桁数を増やす必要があります。例えば、桁数は8桁を固定したまま、英字大文字(26種類)と小文字(26種類)を混在させ、計52種類の文字(2倍の文字種)を使うと、組み合わせ数は256倍(2の8乗倍)になります。一方、文字種を英字小文字に固定して、長さを10桁に増やした場合、組み合わせ数は676倍(26の2乗倍)となります。つまり8桁の英字小文字のみの場合と比較した強度は、文字種数を増やした場合、文字種数比の8乗倍となり、桁数を増やした場合、26の増やした桁数乗倍となります。

続きは、保管用PDFに掲載中。ぜひ、下記よりダウンロードして、ご覧ください。

2. パスワードリストによる攻撃

保管用PDFに掲載中。ぜひ、下記よりダウンロードして、ご覧ください。