忍者ブログ

2024-12-04(Wed)

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2015-05-27(Wed)

zxcvbnでパスワードのチェックをしましょう。



よく現場で端末の作業をした後に、ユーザーにログインしてもらうのですが、見ないようにしていても、やっぱり手の動きを見てしまうのです。
そうすると、ログインに必要なパスワード入力時の手の動きが単調なことがおおいです。
ある人なんて、テンキーしか押していない・・・。

パスワードというもの、いかに大事で、しかも難しく、自分にしかわからないようにしましょうと啓蒙したところで、そのパスワードの強度というものが客観的に見えるようにしないと、ピンとこないようです。中には数字4ケタでも十分なパスワードと思い込んでいる人もいます。

そこでよく有名サイトなんかでパスワード設定時に出てくる(弱)~(強)のインジケーターを示すものでチェックしてもらいましょう。

ネット上では
マイクロソフト パスワードチェッカー

インテル How Strong is Your Password?

カスペルスキー パスワードチェッカー

が有名でしょうか。

でも、パスワードチェッカーをイントラネット上で行いたい!とか、いくら有名でもパスワードを送信するのはちょっと・・・・という方は、オープンソースのパスワードチェッカーである、zxcvbnを使って簡単なパスワードチェッカーを作ってみましょう。
zxcvbnはdoropboxが製作し採用しているパスワードチェッカーのようで、最も効果的であるとの評価もあるようです。

ダウンロード先や、作り方についてはこちらを参考にしました。

さて、まずはzxcvbnをダウンロードします。
githubはダウンロードがわかりにくいですね。こちらから。
windowsであれば、zipをダウンロードします。
今は、バージョン1.0。そのまま解凍すると、zxcvbn-1.0というフォルダができるはずです。
そのままどこかの適当なフォルダに入れてしまいましょう。
で、そのフォルダに、以下のhtmlファイルを作り、保存しておきます。
----------------------------------------------------------------------------------------
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>パスワードチェック</title>
    <script type="text/javascript"
      src="zxcvbn-1.0/zxcvbn.js"></script>
    <script type="text/javascript"
      src="zxcvbn-1.0/zxcvbn-async.js"></script>
     <script type="text/javascript"
      src="zxcvbn-1.0/jquery.js"></script>
     
<SCRIPT type="text/javascript">//<![CDATA[ 
jQuery.noConflict();
jQuery( document ).ready(function( $ ) {
$('#password').keyup(function() {
  $('#result').html('');
  $('#resultDetail').html('');
  var passwdValue = $(this).val();
  var result = zxcvbn(passwdValue);
  traverse(result);
});
function traverse(o) {
    for (i in o) {
        if (typeof(o[i]) == "object") {
            traverse(o[i]);
        } else {
            $('#resultDetail').append("<tr><th>" + i + "</th><td>"+ o[i] + "</td></tr>");
            switch(i){
            case 'crack_time':
              $('#result').append("<tr><th>推定クラック時間 (秒)</th><td>"+ o[i] + "</td></tr>");
              break;
            case 'crack_time_display':
              $('#result').append("<tr><th>推定クラック時間</th><td>"+ o[i] + "</td></tr>");
              break;
            case 'matched_word':
              $('#result').append("<tr><th>パターンマッチ文字</th><td>"+ o[i] + "</td></tr>");
              break;
            case 'score':
              switch (o[i]) {
              case 0:$('#resulttext').html("■(警告)");
                 $('#resulttext').css('color', 'red');
                 break;
              case 1:$('#resulttext').html("■■■■■(注意!)");
                 $('#resulttext').css('color', 'orange');
                 break;
              case 2:$('#resulttext').html("■■■■■■■■■■(弱)");
                 $('#resulttext').css('color', 'yellowgreen');
                 break;
              case 3:$('#resulttext').html("■■■■■■■■■■■■■■■(中)");
                 $('#resulttext').css('color', 'green');
                 break;
              case 4:$('#resulttext').html('■■■■■■■■■■■■■■■■■■■■(強)');
                 $('#resulttext').css('color', 'blue');
                 break;
              }
              //$('#resultimg').html("<img src='/dam/agilegroup/img/technote/security/score" + o[i] + ".png'>");
              $('#result').append("<tr><th>スコア ( 0 - 4 : 4が最も強い )</th><td>"+ o[i] + "</td></tr>");
            }
        }
    }
});//]]>  
</SCRIPT>
  </head>
<body>
  <h1>パスワードチェック</h1>
  <div class="bline">
    <p>パスワード:<br>
    <input name="password" type="password" id="password" />
  </div>
<H2>結果</H2>
<DIV id="resulttext" style="margin: 0.5em 0px; font-size: 200%; font-weight: bolder;"></DIV>
<TABLE border="1">
  <TBODY id="result"></TBODY></TABLE>
<DIV>
<p>詳細</p>
<TABLE border="1">
  <TBODY id="resultDetail"></TBODY></TABLE>
</DIV>
</body>
</html>
--------------------------------------------------------------------------

説明は・・・・、わかる人はわかりますよね。そんなに難しくないと思います。
ちなみに、パスワードの辞書は zxcvbn.jsに
u=[p("passwords",q("password,123456,12345678,1234,・・・
てな具合に書かれています。欧米系のパスワードばかりなのでたとえば自社の電話番号とか使いそうなパスワードを追加しておくとよいでしょう。

そして、意外な言葉も入っています(sonyとかtoyotaとか・・・)。なるほどもはや自分で考えるパスワードは危ないということですね。

拍手[0回]

PR

この記事にコメントする

Name
Title
Mail
URL
Comment
Pass
Pictgram
Vodafone絵文字 i-mode絵文字 Ezweb絵文字

Amazon

PR

情報サービス

楽天

ソフト関連

メーカー直販PC

周辺機器

ランキング

プロフィール

HN:
NORI
性別:
男性
趣味:
車でどこへでも
自己紹介:
文学部卒業ながら、ひょんなことからシステム会社に就職。
しかしながらあまりの激務に退職。もうシステム系はいやだと思っていたが、ひょんなことから企業の電算室に勤務することとなる。

カレンダー

11 2024/12 01
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

ブログ内検索

Google
Web ブログ内

最新TB

アクセス解析