通販サイトなどのwebサービスで使用するパスワードの作り方や注意点
本エントリーの目次
各種webサービスでは、ユーザー登録の際にメールアドレスとパスワードの設定を求められることが多い!
最近では、インターネットを使って銀行のサイトにアクセスし、ネット上で各種手続きを行ったり、ネット通販サイトでショッピングを楽しんでいる方が多いです。
ネット通販サイトなどに代表される各種webサービスでは、利用する前にユーザー登録を求められることがあります。
このとき、ログインIDとパスワードの設定が必要であることが多いです。
ログインIDについてはメールアドレスを使用するケースが多く、登録する内容に迷うことはあまりないでしょう。
常日頃使用しているメールアドレスを設定すればOKです。
ですがパスワードについては、自分が任意の文字列を設定しなければなりません。
そのため、どんなパスワードを設定すればよいのか分からず、困ってしまうかもしれません。
そこで今回は、通販サイトなどのwebサービスで使用するパスワードの作り方や注意点をご紹介します!
まずは、パスワードは何のために必要なものなのか、何に使うのか、といった点について考えてみましょう!
これを理解することで、パスワードを作る際の注意点をどうして守らなければいけないのかが、分かりやすくなるはずです。
パスワードは認証に使用する!
パスワードはもともと英単語のpasswordであり、日本語に翻訳する際はそのままパスワードと訳されるのが一般的です。
また、合言葉と表現されることもあり、何らかの機能や特権を使用する際に、それを使用可能であるか認証する(認証を得る)ために入力する文字列※を指します。
つまりパスワードを知っている人物は、何らかの機能やサービスを提供する側に対し、自分がその機能や特権を利用する権限がある人物であることを証明できる、というわけです。
また一般的には、パスワードを知っている人物は、パスワードを設定した本人のみである。
という前提のもと、パスワードの正しい入力をもって本人であることを認証する(確認する)ことにも使用されます。
※パスワード文字列には、『あいうえお』などの平仮名や『abcde』などのアルファベット文字だけではなく、『12345』といった数字、『@#$%&』などの記号文字も使用されます。
ネットショッピングサイトでは、パスワードを使った認証はたとえば以下のように機能します。
- ある人物がサイト内のログイン画面で、ログインIDとパスワードを入力。
- サイト側は入力されたログインIDとパスワードが、すでに登録済みのログインIDとパスワードであるかを確認。
- 登録済みのログインIDとパスワードであった場合には、ログインが成功し、ログインを試みたものが本人であることを確認。
これにより、過去の購入履歴や登録されている発送先住所の閲覧など、ユーザー本人にしか許可されていないサイト内の各種機能が利用できるようになる。
パスワードを作る際の注意点
ここまでにご紹介したように、各種webサービスの利用登録をする際に使用するパスワードは認証(及び本人確認)に使用します。
そのため、パスワード文字列はその特権利用を許可する人物(多くの場合本人のみ)以外には知られてはいけないものである。
という点をしっかりと理解した上で、他人に知られにくいような文字列にすることが大切です。
具体的には以下のような点に注意しつつ、パスワード文字列を検討することをおすすめします。
短い文字列は避ける
パスワードを知らない第三者が、パスワードを不正に探し当てようとする行為は、攻撃と呼ばれています。
そして攻撃の中には、ランダムな文字列の組み合わせを何度も入力していれば、いつかはパスワードを探し当てられるはずだ!
という発想のもと、ひたすら異なるパスワードを入力し続ける攻撃手法が存在します。
これは総当たり攻撃(ブルートフォースアタック)と呼ばれるもので、原理としては非常に簡単なものです。
しかし適切な防御措置※をとっていない場合には、何度も何度も攻撃を繰り返されることで、いつかはパスワードを探し当てられてしまいます。
この攻撃手法に対し、短い文字列のパスワードはかなり弱いため、パスワードには短い文字列の使用は避けた方が良いでしょう。
パスワード文字列の長さが長ければ長いほど、攻撃によりパスワードを探し当てられる確率が下がります。
また攻撃が成功するまでの時間が長くなるため、長めの文字列の方が総当たり攻撃には耐性があります。
※一定時間以内に一定回数以上の誤入力が行われた場合、その後しばらくは正常なパスワードの入力すら受け付けないようにロックする、一定速度以上の入力を自動化された攻撃とみなしてブロックするなど。
アルファベットの大文字・小文字、数字、記号などの文字を組み合わせる
総当たり攻撃に対しては、パスワードの長さを増やすアプローチともう一つ。
1桁あたりの候補文字種を増やすことで総当たり攻撃に要する時間を飛躍的に増やす、という対策も考えられます。
たとえば数字だけで構成されたパスワードの場合、1桁目の文字は10文字(0~9)しか候補がありません。
ですが数字に加え、アルファベットの大文字と小文字もパスワードに使用される文字の候補であった場合、62文字(数字10文字 + アルファベット大文字26文字 + アルファベット小文字26文字)が候補となるため、1桁あたりの総当たりに6.2倍の時間がかかる計算となります。
したがってアルファベットの大文字・小文字、数字、記号などの文字を組み合わせたパスワード文字列とすれば、総当たり攻撃でパスワードが突き止められるまでに要する時間を増やす効果を期待できるのです。
他人が推測しやすい個人情報に関係する文字列を使用しない
パスワードに他人が推測しやすい個人情報に関係する文字列を含めているケースがありますが、これはおすすめできません。
ここで言う、『他人が推測しやすい個人情報』とは、誕生年や誕生日、住所の番地、氏名など。
たとえば2005年10月25日生まれ、住所の番地が5-6-12の山田さんだった場合、2005や1025、5612、yamadaなどです。
また車のナンバープレートの番号(4桁)なども考えられますね。
こういった『他人が推測しやすい個人情報』は、それを知っている人であれば、すぐに試せてしまうものであることから、使用しない方が良いでしょう。
一般的によく使用される傾向にある文字列を使用しない
パスワードを探し当てる攻撃の中には、辞書攻撃という手法も存在します。
これは、一般的によく使用される傾向にあるパスワード文字列を登録した辞書のようなものを作成。
そして登録された文字列を使い、パスワードが有効なものであるかを繰り返し試していく、という攻撃方法です。
ランダムな文字列の組み合わせを試す総当たり攻撃に比べ、攻撃候補の文字列が少ないため、辞書に載っているパスワードであれば短時間で探し当てることができる。
という特徴を持っています。
そのため一般的によく使用される傾向にあるパスワード文字列の使用は避けましょう。
よく使用される傾向にあるパスワード文字列については、検索エンジンで『よく使われるパスワード』といったキーワードで検索すると、たくさんの候補を見ることができます。
参考までに日経ビジネス ONLINEさんの記事では、123456が多いと記載されています。
- 1位 123456
- 2位 123456789
- 3位 asdfghjk
- 4位 12345678
- 5位 password
尚、日本と海外では文化の違いにより、よく使われるパスワードが一部異なる場合があります。
ですが攻撃自体は海外からも受けるため、日本のみならず、海外でよく使われているパスワード文字列も避けるようにしてください。
辞書に載っている英単語は避ける
これは、辞書攻撃に使用する『攻撃用の辞書』ではなく、『一般的な英単語の意味が掲載されている辞書』の方です。
一般的によく使用される傾向にあるパスワード文字列の中には、『hello』や『welcome』、『computer』などが挙げられます。
これらのパスワード文字列のように、『一般的な英単語の意味が掲載されている辞書』に載っている英単語もよく使用される傾向にあることから、『攻撃用の辞書』にも掲載されていることが多いのです。
また広く知られているブランド名や有名人(ミュージシャン)の氏名、バンド名などもよく使用されるため、同様に『攻撃用の辞書』に掲載されていることがあります。
そのため、『一般的な英単語の意味が掲載されている辞書』に載っている英単語、ブランド名や有名人の氏名・バンド名などの使用も避けることをおすすめします。
同じ文字の連続は避ける
『111』や『aaa』といった同じ文字の連続も、望ましくないパスワードの代表例です。
と言いますのも、実はこれも一般的によく使用される傾向にあるパスワード文字列のパターンであり、辞書攻撃に使用する攻撃用文字列の一覧にリストアップされているケースが多いからです。
日本経済新聞 電子版に掲載されていた、2016年の最もよく使われたパスワードランキングでは、『111111』が5位となっています。
参考:日本経済新聞 電子版 – 最もよく使われたパスワードは16年も「123456」
そのため各種webサービスのページ内でも、使用しないようアナウンスされています。
連続的な文字列は避ける
『123』や『abc』など、連続的な意味を持つ文字列も、一般的によく使用される傾向にあるパスワード文字列のパターンなのです。
そのため、連続的な意味を持つ文字列も使用しないようにしましょう。
また『qwerty』や『asdfghjk』などキーボード上の配置が連続的である文字列も、よく使用されるパスワード文字列とされています。
これらの使用も避けておいた方が良いです。
ログインIDと同じ文字列、含まれる文字列は避ける
ログインIDと同じ文字列や、ログインIDに含まれる文字列をパスワードとするのも避けましょう。
たとえばログインIDが、yamadataro@example.comであった場合に、パスワードに以下のような文字列は使用しない方が良いです。
- yamadataro@example.com
- yamada
- taro
攻撃者が総当たり攻撃や辞書攻撃を行う前に、まずはこれらの文字列(ログインIDと同じ文字列やログインIDに含まれる文字列)ではないかを確認する場合があります。
パスワードの作り方
パスワードを作る際は、ここまでにご紹介した点に注意して作っていただくと良いでしょう。
具体的には、なるべく多くの文字種(アルファベットの大文字・小文字、数字、記号などの文字)を組み合わせて使用し、長い文字列とする。
また他人が推測しやすい文字列や、一般的によく使用される傾向にある文字列を使用しないようにすることをおすすめします。
もし、完全にランダムな文字列のパスワードで良いということであれば、ノートン インターネット セキュリティーというアンチウィルスソフトを作っていることで有名な、ノートンさんが公開しているパスワード作成ツールを使うのが楽ちんです。
これについては、ランダムなパスワードをサッと作りたいときはノートン作成ツールが便利!でくわしく解説しているので、興味がある方は併せてご覧ください。
同じパスワードを複数のwebサービスで使い回すのは、絶対におすすめしません!
複数のwebサービスを使っていると、それぞれに異なるパスワードを設定したり覚えるのが面倒!
ということで、同じパスワードを複数のwebサービスで使い回している方もいらっしゃると思います。
たしかに同じパスワードを使い回した方が楽だとは思いますが、絶対におすすめしません。
これはどうしてかというと、パスワードが悪意のある第三者に知られてしまった場合の被害が拡大するからです。
同じパスワードを複数のwebサービスで使い回すと、流出時に被害が拡大する!
仮に、ある美容室のネット予約システムに使用していたメールアドレスとパスワードの組み合わせが、悪意のある第三者に流出。
知られてしまったとしましょう。
このとき悪意のある第三者は、不正に入手したメールアドレスとパスワードの組み合わせが他のwebサービスでも使えないかをただちに調査。
そして同じパスワードを複数のwebサービスで使い回している場合には、悪意のある第三者が他のwebサービスに不正にログインできてしまいます。
不正にログインされたwebサービスがネットショッピングサイトであれば、悪意のある第三者があなたのふりをして物品を購入できてしまうわけで、被害が拡大します。
対してwebサービスごとに異なるパスワードを設定していれば、悪意のある第三者の、他のwebサービスへの不正ログインを防ぐことができます。
そのため被害は、美容室のネット予約システムに関する部分だけに限定される、というわけです。
認証情報は自分がいくら気を付けていても、外部に流出してしまうことがある!
メールアドレスとパスワードの組み合わせなどの認証情報は、自分がいくら気を付けていても、外部への流出を防げないことがあります。
これまでに、ニュースなどで認証情報を管理しているwebサービス側の不具合などにより、認証情報が外部に流出したという報道を見たことがある方も多いでしょう。
またwebサービス側が攻撃を受け、認証情報が外部に流出してしまうこともあります。
したがって認証情報が外部に流出、悪意のある第三者にわたったとしても、被害を最小限に抑えるため、同じパスワードを複数のwebサービスに使い回さず、それぞれ異なるパスワードの設定を強くおすすめします。
たくさんのwebサービスを利用していて、それぞれに異なるパスワードを設定して覚えておくのは難しい…。
ということであれば、複数のパスワードを管理するパスワードマネージャーと呼ばれる製品が販売されているので、そういった製品の利用を検討されると良いでしょう。
以上、パスワードを作ったり、管理する際の参考になさってくださーい!