Webアプリ セキュリティツール 読了目安 約3分

パスワード生成ツール|長さと文字の種類を選んで安全なパスワードを作成

新しいサービスに登録するたびにパスワードを考えるのは面倒で、つい使い回したくなります。けれど、使い回しはもっとも避けたい習慣のひとつです。安全なパスワードをその場で作れるツールと、パスワードの考え方をまとめました。

パスワード生成

    パスワードはお使いの端末の中で作られ、どこにも送信・保存されません。ページを閉じると消えます。

    安全なパスワードの条件

    パスワードの強さは、主に「長さ」と「使う文字の種類」で決まります。攻撃者が総当たりで試す場合、候補の数は「文字の種類の数」を「長さ」の回数だけ掛け合わせた数になるからです。

    たとえば英小文字だけ(26種類)の8文字なら約2千億通りですが、英大文字・小文字・数字(62種類)の16文字にすると、桁違いに多い組み合わせになります。長さを増やす方が、文字の種類を増やすより効果が大きいことも覚えておくと便利です。

    ツールに表示している「強度」は、この組み合わせの数を「ビット」という単位で表したものです。1ビット増えるごとに、総当たりに必要な試行回数が2倍になります。

    強度の目安評価例
    60ビット未満弱い英小文字のみ8〜12文字
    60〜79ビット普通英数字12文字前後
    80〜99ビット強い英数字14〜16文字
    100ビット以上とても強い英数字・記号18文字以上

    このツールの作り方

    パスワードの安全性は、「どれだけ予測しにくい乱数を使っているか」に左右されます。プログラムでよく使われる簡易的な乱数は、ゲームには十分でも、パスワードのように推測されては困る用途には向きません。

    このツールでは、ブラウザに備わっている暗号用の乱数(Web Crypto API)を使っています。また、文字を選ぶときに特定の文字が選ばれやすくなる偏りが出ないよう、偏りを取り除く処理も入れています。さらに、チェックを入れた文字の種類が必ず1文字以上含まれるようにしているので、「数字を含めること」といったサービス側の条件も満たしやすくなっています。

    パスワードより大切なこと

    どれだけ強いパスワードを作っても、次のような使い方をしていては効果が薄れてしまいます。

    • 使い回し:1つのサービスから情報が漏れると、同じパスワードを使っているほかのサービスにも不正にログインされる危険があります。サービスごとに別のパスワードにすることが最優先です。
    • メモの置き場所:付箋に書いてモニターに貼る、メモアプリに平文で保存する、といった管理は避けます。
    • 二段階認証を使わない:パスワードに加えて、確認コードや認証アプリで本人確認をする仕組みを有効にすると、パスワードが漏れても被害を防ぎやすくなります。

    サービスごとに別の長いパスワードを覚えるのは現実的ではないので、パスワード管理アプリや、ブラウザ・OSに組み込まれたパスワード管理機能を使うのがおすすめです。このツールで作ったパスワードは、そうした管理機能に保存して使うことを想定しています。

    使い方

    1. 長さをスライダーで選びます。迷ったら16文字以上がおすすめです。
    2. 使う文字の種類にチェックを入れます。サービスによっては記号が使えないこともあるので、その場合は記号を外します。
    3. 「パスワードを作る」を押し、表示された中から1つを選んで「コピー」を押します。
    4. コピーしたパスワードを、サービスの登録画面とパスワード管理アプリに貼り付けます。

    「紛らわしい文字を除く」にチェックを入れると、数字の0と英字のO、数字の1と英字のlやIなど、見間違えやすい文字を使いません。紙に書き写したり、読み上げたりする可能性がある場合に便利です。

    よくある質問

    作ったパスワードはサイト側に記録されますか?
    記録されません。パスワードはブラウザの中で作られ、通信は一切発生しません。
    記号は入れた方がいいですか?
    記号を入れると同じ長さでも強くなりますが、長さを数文字増やしても同じくらいの効果があります。記号が使えないサービスでは、そのぶん長くすれば十分です。
    定期的に変更する必要はありますか?
    近年は、十分に強いパスワードを使っていれば、漏えいの疑いがない限り定期的な変更は必須ではないという考え方が広まっています。漏えいの連絡を受けたときには、すぐに変更してください。