職場や自分のパソコンへのログイン、オンラインショッピング、銀行口座など、日常生活ではユーザーネームやパスワードの入力が必要となることが多くあります。これらは、個人情報へのアクセスの制限や情報盗難を防止したりするうえで重要な役割を果たしています。しかし、依然として情報の保護に無関心なユーザーが多いのも事実です。
実際、ユーザーネームやパスワードは、推測、窃盗、解析などの方法により第三者にも入手可能とされています。
◇推測可能なユーザー情報
近年、パスワードの推測性に関する研究は世界中で広く行われています。研究結果によれば、現在使用されているパスワードの69パーセントは推測が容易であるとされており、このうち自分の名前やニックネームは19パーセント、配偶者の名前やニックネームは11パーセント、その他にもペットや家族の名前や誕生日、好きなスポーツチームや芸能人、車のナンバーや昔の住所などの単純なパスワードが多く使用されていることが分かっています。これに対し、大文字や小文字、数字、記号の組み合わせなど推測困難な暗号をパスワードに設定しているユーザーはわずか9パーセントにとどまっています。
推測されやすいパスワードの例:
・自分の名前(逆読みも不可)
・自分の誕生日
・自分の名前+誕生日
・自分の星座
・自分の電話番号(昔のものも不可)
・自分の住所(昔のものも不可)
・自分の家族、配偶者、昔の彼氏・彼女、友人、ペットなどの名前、誕生日、電話番号、住所
・自分の出身地
・好きな旅行先
・車のナンバー
・好きな野球チーム、選手
・好きなアーティスト
・好きな俳優
・好きな本の登場人物
これは一部の例すぎませんが、上記を参考にして推測される可能性の高いパスワードは絶対に使用しないようにしてください。
◇ユーザー情報の窃盗
実際に第三者がユーザー情報を盗み取ることは可能であり、パスワードを入力している人の背後から指の動きなどを盗み見したり、小さな盗撮カメラを設置したり、キーボードの入力履歴を記録するウィルスをパソコンに仕掛るなどの方法がとられています。プロバイダーや銀行関係者が犯行を実施するケースもあり、この場合は防止の手立てがないため運に任せるしかありません。
日頃から盗難の可能性を考慮し、財布、携帯電話、電子手帳、ノートパソコンなどに重要な情報は残さないようにしてください。パスワードをデスクトップの画面や机の引き出しなどに付箋で貼ることも避けてください。パソコンのログイン用にパスワードを設定していても、中の個人情報が完全に保護できるとは限りません。ある調査では、パスワードをメモに残している人は33パーセント、他人から聞かれたら躊躇なく答える人は34パーセントに上っています。また、英国で通勤者を対象に行われた路上調査では、チョコレートバーと引き換えに職場で使用しているパスワードを教えてほしいともちかけたところ、およそ70パーセントにも及ぶ人が回答したといわれています。
以上のことを考慮し、いかなる形でもパスワードを保存することは避け、絶対に他人に教えないようにしてください。
新しいパスワードを設定するとき、記憶するためにメモすることがあるかもしれません。その際は、裂いたり燃やしたりするなどしてすぐに処分してください。
パスワード再発行のための質問には、数字やアルファベットの羅列など推測困難な回答を設定してください。例えば、「あなたの母親の旧姓は?」などの質問にも真実ではなく「3W(vq????#785;A2bg]? 」など、可能な限り暗号を使用してください。たいていの場合、古いパスワードを無効にして新しいパスワードを発行することが可能です。
◇複数のパスワードの併用
1人が所有するパスワードの平均は4つとされていますが、多い人ではその数は40にまで及びます。複数のパスワードを記憶することは容易ではないため、たいていの人はすべてに同じパスワードを使用してしまいがちです。
・複数のサイトに同じパスワードを使用している人は、3つ以上のサイトでは51パーセント、10以上のサイトでは6パーセントという統計結果が出ています。
・米ニューヨークタイムズ紙へのパスワード再発行の問い合わせは、1週間に1,000件という調査が出ています。さらに、全アカウントのうち10~15パーセントはユーザー情報の紛失により再発行されたものとなっています。
・米Compaq社のヘルプデスクへの問い合わせのうち、パスワード紛失に関するものは全体の50パーセントを占めています。
複数のサイトに同じパスワードを使用すると、第三者により発見される可能性が高くなります。推測されやすいパスワードの使用、パスワードをメモに残すことなどは、そのリスクをさらに高めることになります。
複数のパスワードを設定していても、それが推測容易なものであったりメモしてしまったのでは意味がありません。確実に記憶できるパスワードを1つ使用する方が安全ですが、オンラインバンキングのパスワードには他のサイトと同じものは絶対に使用しないようにしてください。
◇パスワードクラッキング
パスワードクラッキングは、特殊なソフトを使用してパスワードを解読する手法です。「クラッカー」という用語はクラッキングに使用するソフトそのものと使用する人の両方を意味します。インターネット上では、「パスワード復元ソフト」と称したあらゆるクラッキングソフトが無料で入手できます。一般的なクラッキングの手法としては、「ブルートフォース攻撃」と「辞書攻撃」がよく知られています。
◇ブルートフォース攻撃
ブルートフォース攻撃は、文字や数字を総当りで組み合わせ、パスワードを解析する手法です。
クラッキングの被害を防止するためには、通常のキーボードでどのような文字、数字、記号が入力できるかを知っておく必要があります。
・小文字 – 26個
・小文字+数字(英数字の組み合わせ)- 36個
・小文字+大文字 – 52個
・ASCII文字(文字、数字、句読点や記号)- 94個
・Altキーを押しながら3桁の数字を入力することによって出てくる文字 – 999個
(ほとんどのプログラムやウェブサイトでは使用不可)
ブルートフォース攻撃を使用したパスワード解析の所要時間は、下記の要素によって異なります。
・パスワードの長さ
・パスワードに使用している文字、記号などのキャラクター数(上記参照)
・クラッキングソフトを使用するパソコンの処理能力
インターネット上で入手できるブルートフォース攻撃用の無料クラッキングソフトを使用した場合、パスワード解析にかかる時間は下記の通りです。(2005年2月現在)
・3つの大文字、小文字の組み合わせ-0.09秒 (例:Cat)
・英数字4つ-1.05秒 (例:jan3)
・小文字6つ-3分 (例:banana)
・英数字7つ-12時間 (例:4x1r0s3)
・ASCII文字6つ-5日間 (例:P@[k3r)
高性能ソフト、スーパーコンピューター、並行処理が可能なパソコンを使用すれば、上記の解析の所要時間は大幅に短縮することができます。さらに科学技術の急速な進歩も伴い、これからは18カ月ごとに半分に短縮されていくとみられています。
ブールートフォース攻撃を防止するためには、まずは短いパスワードを避けることが重要です。最低文字数の目安は、小文字は10文字、英数字は9文字、大文字+小文字は8文字、ASCII文字は7文字となっています。しかし、インターネット上には攻撃を可能とするあらゆる要素が潜んでいるため、実際はこの数値の2倍の長さのパスワードが必要であると考えてもよいでしょう。しかし実際、どのような手段を講じても偶然にパスワードが簡単に解析されてしまう可能性もあるため、絶対的な防止策を見つけるのは困難であるとされています。
通常は大文字、小文字など同じ種類の文字列から解析が開始されるため、大文字と小文字の複雑な組み合わせを設定すれば、その分解析は困難になると言えます。
(良い例:oBItUarY, 悪い例:Obituary,OBITuary)
◇辞書攻撃
クラッキングに最もよく使用されるのが辞書攻撃では、クラッキング・ソフトの中に組み込まれた辞書を通してパスワードの解析が行われます。ここでは普通の英語辞典に限らず、クラッキング用に巧妙に編集された辞書が使用されます。一般的な名字や名前、有名な地名などパスワードに使用される可能性の高い言葉などはすべて収録され、標的とする人物の使用言語が分かっている場合は、クラッカー自身が該当言語の辞書の内容を追加することもあります。
辞書攻撃の最大の強みは文字の置換機能です。これを使用すれば、どんなに複雑な文字の組み合わせの解析も可能となります。実際に、現在使用されているソフトでは「43r0sm!T#」のようなパスワードの解析が問題なく行われています。ブルートフォース攻撃と違って、辞書攻撃では大文字と小文字が混ざった長い文字列もほんの数分で解析可能とされています。しかし、どんなに時間がかかっても最終的には必ず解析に成功するブルートフォース攻撃に対し、辞書攻撃は永遠に正しいパスワードにたどりつかないこともあります。
◇レインボー攻撃
最近新しく出てきたクラッキングの手法が、暗号化(ハッシュ化)保存されたパスワードをハッシュテーブルを使用して解析する「レインボー攻撃」と呼ばれるものです。
通常、暗号化されたパスワードは、特別なハッシュ関数という数式によって算出されたハッシュ値で保存されます。パスワードは元のパスワードの長さに関係なくすべて同じ長さのハッシュ値に変換され、ハッシュ値からパスワードへの変換はできないようになっています。ウェブサイト上でパスワードを入力すると、自動的にハッシュ値に変換されてデータに保存されているハッシュ値との照合が行われます。これが一致すれば、パスワードの認証が完了するという仕組みになっています。
ハッシュ値からパスワードへの解析は実質不可能であるため、ハッシュ値は暗号化されずにそのままプレーンテキストで保存されます。一般的によく使用されているハッシュ値変換ソフトは4~5つあり、一般にも広く流通しています。
クラッカーは何らかの手段でユーザーネームとハッシュ値を盗み出し、ハッシュテーブルを使用してパスワードの解析を試みます。辞書などからパスワードの候補をリストアップし、それらの単語の変換後のハッシュ値のリストを作成して正しいパスワードの追跡を行います。この手法を使用すれば、ブルートフォース攻撃や辞書攻撃とは比較にならないほどの早さでパスワードの解析が可能となりますが、あくまでユーザーネームとハッシュ値のリストが入手されていることが前提となります。レインボー攻撃を防止するためには、現時点においてパスワードの長さは少なくとも14文字以上必要とされています。今後さらに、この数値はさらに大きくなるとみられています。
大手銀行などほとんどのウェブサイトでは、クラッキング防止対策が行われています。個人でできる予防策として、Eメールなどで銀行口座の詳細などを送信することは避け、Eメールのパスワードをオンラインバンキングに設定するなど、複数のサイトに同じパスワードを使用しないようにしてください。パスワードを通知するEメールは、確認後すぐに削除するようにしてください。
◇良いパスワードの選び方
・個人的な情報は避ける。(好きなもの、嫌いなものなど)
・大文字や小文字、数字や記号などを組み合わせる。
・最低でも8文字、できれば10文字以上の長さにする。
・単語ではなく短い文章をパスワードに設定する。辞書中の言葉を小文字のみで表記する形でよいが、自分で意味の分かる文章であることが前提。少なくとも20文字以上になるようにする。一般的によく使用されているフレーズなどは避ける。(例:?theraininspainfallsmainlyontheplain?)
・パスワードを設定する場合、どの言語でも辞書上の単語は使用しない。逆さ読みや数字の入れ替えを行ったものも不可。
・昔のパスワードを部分的に変えたものは避ける。(文字の追加、1文字のみの変更など)
◇パスワードを保護するには
・パスワードをメモしたり、データ上に保存したりしない。
・パスワード再発行の質問には、推測可能な回答を設定しない。
・ウィルス対策ソフトとファイア・ウォールをインストールし、定期的に更新する。
・基本ソフトやブラウザーは、常に最新のバージョンに更新しておく。
・パスワードは年1回でも定期的に更新する。
・オンラインバンキングのパスワードは他のサイトには使用しない。
・パスワードを入力する際には、他人から見られていないかどうかを確認する。
・他人には絶対にパスワードを教えない。