Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

安全性の高いパスワードを作るコツ

デジタルアドバンテージ
2003/09/27
 
対象OS
すべて
ICカードや指紋認証など、高度な個人認証手段が普及しつつあるものの、いまなお多くのシステムでは、パスワード入力で個人認証を行っている。
クラッキング・ツールなどで簡単にパスワード認証を突破されないためには、辞書にないランダムな文字列をパスワードに指定する必要があるが、こうしたランダムな文字列を覚えておくのは簡単ではない。いきおい、簡単な単語や人の名前を指定したり、文字列を付箋にメモしてディスプレイに貼ってしまったりしがちだ。
比較的安全性の高いパスワードを作るには、適当なフレーズを元に、一定のルールでこれをパスワード文字に変換する方法が有効である。
 
解説

 あらためていうまでもなく、ネットワーク環境を安全に運用するには、利用者を特定して、見知らぬ部外者がネットワークに侵入したり、あるいは同じ社内であっても、それぞれのユーザーの部署や役職などに応じて適当な権限を与え、その中で共有資源へのアクセスを許可したり制限したりする必要がある。

 現在では、ICカードUSBメモリを応用したもの、指紋認証など、専用デバイスを用意することで、より高度な個人認証を行えるようになった。しかしこうした高度な認証システムを導入しているのはごく一部の企業であり、圧倒的多数の企業では、いまなおユーザー名とパスワードをキーボードから入力するという伝統的な方法に頼っている。つまり攻撃者から見れば、多くのシステムにおいて、何文字かのパスワードを当てるだけで、システムに侵入できる可能性が与えられているということだ。

 パスワードは、個人を特定するための機密情報であるから、その個人だけが知っている文字列であるということが前提である。従って管理者がユーザー・アカウントを作成するときの初期状態を除けば、通常、パスワードの文字列は、ユーザーそれぞれに考えてもらうことになる。このとき管理者がいうことは決まっている。

 「辞書にあるような単語は使わないこと。大文字や小文字、数字や記号を混ぜこぜにして使い、他人から無意味な文字列になるようなものを指定しなければいけない。ただし覚えにくいからといって、メモなど残さぬように」

 正直これは至難の業だ。結果として、辞書に出てくるような単語、人やペットの名前、住所や生年月日など、覚えやすい文字列をいくつか組み合わせた程度のパスワードを指定するか、無意味な文字列を指定する代わりに、忘れないようにパスワードを手帳にメモしたり、付箋に書いてディスプレイに貼り付けたりするかのいずれかの行動をとるユーザーは多い。

 アンダーグラウンドの世界では、パスワード・クラック用のソフトウェアが多数開発されており、こうしたツールを悪用すれば、1秒間に数百万個以上のパスワードを試すことも可能である。従って辞書にあるような単語だけでパスワードを構成した場合には、ごく短時間でパスワード認証を突破される危険が高い。一方の付箋メモも、誰かに盗み見られれば終わりである。

 これで万全という魔法はないが、覚えやすく忘れにくいものでありながら、比較的安全性の高い、他人が一見しただけではランダムな文字列に見えるパスワードを作る方法がある。

適当なフレーズを考え、一定のルールでパスワード文字列に置き換える

 まずは、適当な文章を思い浮かべる。例えば「私は毎朝7時に起きます」をフレーズとして使うことにしよう。次にこれをローマ字もしくは英文に直し、「watashi ha mai asa 7 ji ni okimasu」もしくは「I get up at 7:00 every morning」とする。そして、各単語の頭文字を拾い集めてパスワード文字列とする。「watashi ha mai asa 7 ji ni okimasu」なら「whma7jno」、「I get up at 7:00 every morning」なら「igua7em」となる。

 さらに安全性を高めるためには、適当に大文字や小文字、記号などに変換するルールを決める。例えば、単語ごとに大文字と小文字を切り替えるとすると、前出の例は「WhMa7jNo」「IgUa7eM」となる。もちろん、交互でなくとも、3単語に1回の割合で大文字と小文字を切り替えるなど、工夫することができる。さらに日本語の文章なら、助詞(いわゆる「てにをは」)に対応する記号を取り決めておき、それらの記号に変換するという手もある。例えば「てにをは」を「-@_!」に変換するとすれば、「watashi ha mai asa 7 ji ni okimasu」は「W!Ma7j@o」となる。

 あまり複雑にすると覚えにくくなるが、自分なりの変換ルールを作成するとよいだろう。もちろん、元となるフレーズを変えれば、同じルールで別のパスワードを生成することができる。またこれら以外にも、一般的には次のようなルールでパスワードを作るとよいとされている。

  • 2つ以上の、まったく無関係な単語(もしくは、上記の例では、2つの別のフレーズ)を組み合わせる。

  • 人名や固有名詞、辞書に載っているような単語などを使わない。

  • 数字や小文字、記号などを入れる。

  • 自分だけが分かるような特定の文字列(例:pxZなど。思い出しやすく、忘れにくいもの)を常に(パスワードの前後とか特定の場所に)付けるようにする。

  • 8文字以上にする(Windows OSで使われるパスワードのアルゴリズムにより、7文字以下は望ましくない)。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間