2007年12月13日

パスワードのあれこれ(後編)

 えっと。
 昨日の続きでパスワードの話ですよー。
 今日は最初に「全ての文字が使用できるパスワード」に起こる問題について書こうと思いますー。
 その問題というのは、パスワードに対する大原則として、「パスワードに対して、何らかの制限をかけることは脆弱性を生む」という問題ですー。
 少し簡単にするため、「アルファベット大文字26種類小文字26種類数字10種類記号32種類の全部で94種類使える4桁の暗号」というものを考えてみたいと思いますー。
 この暗号の組み合わせは94の4乗ですので、およそ7800万通りとなりますー。
 じゃあ、ここに「大文字、小文字、数字、記号を必ず1回使う」という制限をかけた場合、組み合わせはどうなるでしょうかー。
 なぜそうなるのかは省略しますケド、26×26×10×32×(4×3×2×1)で、520万種類に減ってしまうのですよー。
 つまり、「記号を必ず使う」トカ「数字を必ず使う」というパスワードポリシーは組み合わせを減らし、脆弱性を生むのですー。
 これは、ある辞書を用意して「この辞書に含まれている単語を使用してはならない」トカ、「名前を使用してはならない」という、よくあるパスワードポリシーすら例外ではないのですー。。
 もし、その辞書なり名簿なりがパスワードポリシーと共に流出したら、その単語や名前が含まれないデータだけを検索すればいいからですー。
 とはいえ、こういった「単語禁止」や「名前禁止」というパスワードポリシーによって減少するパスワードの組み合わせは「数字を必ず使う」というような制限に比べれば微々たるものですー。
 ですから、多少組み合わせが減るとしても、まっさきに調べられるであろう「単語」や「名前」といった、ありがちなパターンは禁止するというポリシーは設定しても構わないのではないかと思いますー。
 何も制限をかけないと、結局アルファベットの小文字しか使わないパスワードを設定されてしまうということになりがちですので、そのへんをどう解決すべきかという問題も残りますしねー。
 今まで書いてきたことをまとめてみますねー。
 ・パスワードの長さを多くすれば強固になりますケド、入力する文字数が多くなると覚えられなくなるため、単語や名前など、覚えやすい文字列にしてしまうという脆弱性を抱える可能性が高くなりますー。
 ・パスワードとして入力される文字の種類が多くなれば、入力しなければならない文字数は減りますケド、その文字種別の使用数に制限をかけると、組み合わせが減って脆弱性を抱えることになりますー。
 ・かといって文字種別の使用数に制限をかけないと、アルファベットの小文字だけのパスワードにしてしまいがちですー。

 さて、上記の問題を全て解決するようなベストなパスワードポリシーは作れないのでしょうかー。
 この中で、特に難しいのは、ランダム性を保ちながら、使用する文字数を増やすという、相反するポリシーを設定しなければならない点だと思いますー。
 そこで、もなみはパスワードとは別に、短いランダムパスフレーズを入力させるという方法を考えましたー。
 以下に、そのパスワードルールを書きますねー。
 ・パスワードの長さは8文字以上とする
 ・パスワードとして使用できる文字の種類に制限はない
 ・パスワードと同時に、94種類の文字のうちから4桁選出されたランダムパスフレーズを入力しなければならない
 ・ランダムパスフレーズはパスワード発行・変更時に自動作成される

 この方式ですと、たとえ「password」のような、パスワードに類推が簡単なものが設定されていたとしても、4桁のランダムパスフレーズが判らない限り解読できませんし、4文字ならランダムな文字列を記憶することは可能だと思いますー。
 パスフレーズに関しては、入力されたパスワードを元にハッシュ値を求めて、BASE64でエンコードするなどして固定してしまう方法がいいのか、万が一そのロジックが流出したときのことを考えて、毎回乱数で生成したほうがいいのか(ただし、この場合は「覚えやすいパスフレーズ」が出るまで、何回もパスワード変更されるという危険性が残ります)、そのへんはちょっと考えどころですねー。

 さて、もなQのパスワードポリシーに、Juan Bocanegra様は何点くれるのでしょうかねー。

名無したん:統一禁止、メモ帳禁止でパスワード管理は大変やね
名無し様:「他の人と違うパス」というポリシーがあると聞いた。非常に問題な気が。
もなみ:長文は一言BBSではなく、コメントのほうにお願いしますねー。>名無し様
名無し様:はい。関係ないことを書いてしまいましたが、書いてる内に要するにそうなのかなと何となく思いました。下記の方法って、はじめに30分ぐらい考えて単語を少し変えたりしたらそれで代用できてしまうんですよね……だから機械的に処理するという今回の話とは関係ないんですよね……ただパスワードを忘れて何度も設定しなおしたりしていればパスワード自体が殆ど無意味という点は思い当たることも多いです。自分に限らずいわゆる機会オンチの人には辛いと思います。
もな兄:ハッキングで最も注意すべきはソーシャルであるという答えでよろしいかな?
名無し様:これは暗号化とはいえないのか。それにパスフレーズの方は忘れやすいから結局同じだった……。でも暗号化の方法を紙にすれば少なくともハッキングは出来ないのでは?
名無し様:じゃあこれはどうだろうか。暗号化の方法を簡単な物にして、パスワードが必要な人数分だけその方法を用いてパスワードを暗号化するプログラムを用意する。用意したそれぞれのプログラムでパスワードをそれぞれ一つずつ暗号化して、すぐに使ったプログラムを破棄し、その動作を書類にして保管しておく。暗号化した後のパスフレーズを使っていれば元々のパスワードが漏れ出すこともないし、何より元々のパスワードは忘れにくいので暗号化の方法とパスワードの両方が漏れることは少なくてすむ。問題は適度に巧妙で捻った暗号化の方法というのを、いくつも考えられるかだけ。結局絶対バレないなんてことはありえないんだよね。
名無したん:おぉ、初くるもなゲット

posted by もなみ9歳 at 20:26| Comment(2) | TrackBack(0) | もな見
この記事へのコメント
ダウンロード違法化とかいう話を最近よく聞くので、もなみさんの意見を聞きたいです
Posted by at 2007年12月19日 04:00
ダウンロード違法化とかいう話を最近よく聞くので、もなみさんの意見を聞きたいです
Posted by 名前はまだ無い at 2007年12月19日 04:04
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/8192960
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック