強固なパスワード登録のお願い

willへの会員登録時のパスワード登録は面倒だ、敷居が高いと感じる方が多いかもしれません。

強固なパスワードはユーザー自身を守るため以上に、他のユーザーを守る為に絶対に必要な物だと考えています。

高いセキュリティ意識と知識(もしくは学ぶ意思)はwill会員の必須資格とさせて頂いております。

ここではパスワードに関わる危険性とwillでの対策内容を簡単に説明しています。あくまで簡単な解説ではありますが、willユーザーには是非知っておいてもらいたい事を書いています。

パスワードに対する攻撃方法

悪意のある人達は驚くほど多様な手段を用いて、アカウントを乗っ取ろうとしています。ここではその一例を挙げます。

ブルートフォースアタック

総当たり攻撃と呼ばれています。短い英数小文字だけのパスワードを設定すると、簡単にパスワードが解析されます。
英数小文字は36文字です。4文字の場合、36 ^ 4で1,679,616パターンしかありません。毎分100のパスワードを試せば、280時間で破られる計算です。マシンを増やすなどして、速度を上げれば何倍もの早さで解析できてしまいます。

では、英数大文字小文字を8文字のパスワードにした場合はどうでしょう。 218,340,105,584,896パターンになります。これをブルートフォースアタックで解析するには数百万年かかる計算です。一見不可能にも見えますが、全く安全ではありません。他の攻撃方法も見てみましょう。

辞書攻撃

統計で多くの人はパスワードにランダムな文字列ではなく、意味のある単語を組み合わせて登録しているそうです。 これを利用して、よく使われる単語をあらかじめ登録した「辞書」を用いてパスワードを解析する攻撃手段です。 ブルートフォースアタックではほぼ解析不可能だと言われている8文字のパスワードでも、「ILove123」のようなあからさまに解りやすい単語と数字では、容易に解析されてしまう事が予測できるでしょう。

リバースブルートフォースアタック

この手段は、パスワードではなく、ユーザーIDを総当たりで試していく手段です。 パスワードを1つに決めて、そのパスワードを使用しているユーザーを探し出します。 この手段は驚くほど効率的にたくさんのアカウントを乗っ取ることが可能です。そして、サイト側の単純な防衛手段は無効化されてしまいます。 この攻撃を防ぐには、ユーザー自身が"よく使用されるパスワードを使わないこと"しか防衛手段がないと思われます。

パスワードリスト攻撃

ログインIDとパスワードの組み合わせのリストから攻撃する手段です。 このリストは脆弱性のあるサイトから漏洩した物を入手して行われます。 つまり、あなたが、複数のサイトで同じIDとパスワードの組み合わせを使っていると、1つのサイトで情報が漏洩するだけで、全てのサイトのアカウントが乗っ取られることになります。

安全なパスワード

どうのような物が危険なパスワードになるのか解っていただけたと思います。 では、逆に安全なパスワードとはどのようなものでしょう。

最低限の要素として

  • 長さは最低でも12文字以上は必要です。長い方が尚よいです。
  • 英大文字、英子文字、数字、記号をそれぞれ3文字以上使用します。
  • 単語を使わない。

これだけを最低限守れば、現在の技術では"ほぼ"安全といってもよいと思います。

(インテルのパスワード強度チェックツール: http://www.intel.com/content/www/us/en/security/passwordwin.html )

ランダムな文字列で覚えられないという場合は、危険性は増しますが覚えやすい文章にするという手段もあります。
しかし、辞書攻撃には非常に弱くなりますので、文章を用いる場合絶対に守らなければならないことがあります。

  • 名前、誕生日、電話番号など、プロフィール情報にのせている単語・数値は使わない。
  • 長さを30文字以上にする。
  • 単語を4っつ以上使う。 更に、大文字と小文字を混ぜる、記号を使うなども必須と言っても良いでしょう。 例えば下記の様な文章ですと覚えやく、総当たり攻撃にもかなり安全だと思われます。ちなみにwillではスペースもパスワード文字として使用できます。 「My first GirlFriend Birthday 1017」文字数33文字 157bits

短くて覚えにくいパスワード(例 Ka8@Ng7^)よりは、長くて覚えやすいパスワードの方が安全な場合もあるということです。とはいえ、長く複雑なパスワードがより安全であることに変わりはありません。

良くある勘違い

  • 「love」を「10v3(数字の1,数字の0,v,数字の3)」のように故意に誤った文字で単語を表す方法が有名ですが、まったく安全性を高める効果はありません。
  • 名前や誕生日のアナグラム(並び替え)やリバース(逆さから読む)は危険すぎます。
  • 10月17日生まれの人が7101という数字を使うのは非常に危険です。
  • 「himitsu」など日本語のローマ字読みは安全ではありません。
  • 名前が「みさと」さんの場合、パスワードに「3310」が含まれている可能性は非常に高いです

誰もが思いつく方法は、当然悪意のある人たちがターゲットにしています。
普通の人が思いつく方法は、専門知識を持った人たちには周知されています。

パスワードの保存方法

安全なパスワードを登録したはいいが、覚えられないという事があると思います。 ここで注意して下さい、メモ帳やテキストファイルにパスワードを書き込んではいけません。絶対に止めて下さい! 特にWeb上にパスワードを平文のまま保存することは愚行です。

これはあくまで管理者個人の見解です。

パスワードが覚えられない。 それは違います。パスワードは簡単に覚えられるものではいけません。覚える必要はありません。 私の場合、何百ものサイトに登録し、全てで全く異なるパスワード、それも可能な限り長く複雑なもの、を設定しています。覚えられるわけありません。

では、どうするべきか。 パスワードを管理するソフトウェアに登録し、安全かつ便利に管理すべきだと思います。

私個人が長年使用し危険性がなかった、そして、使い勝手の良いと感じたソフトウェアを紹介します。 重ねて言いますが、管理者個人の主観です。そしてステマではありません。安全性を保証できるわけでもありません。

Roboform

10年ほど使用しています。とても便利です。 Macへの対応が遅かったため後述の1passwordに乗り換えましたが、現在はほぼ全てのOS(モバイルも含む)で利用できます。

1Password

現在メインで使用しています。 安全性と利便性が非常に高いと思います。 パソコンとモバイル端末との同期をクラウドではなく、ローカルでのファイルのやり取りで行える点が評価が高いところです。(パスワードを例え堅硬な暗号化をした状態でも、自分の手の届かないクラウド上に置くというのは生理的に受け付けないです) windows版は悲しい状態です。

そのほかの管理方法

上記2つのソフトウェアは私が実際に長年使用し安心して推薦できるものですが、他にも優れたパスワード管理ソフトはたくさんあると思います。 自分の安全を守るものなので、ご自身の判断で利用されるのがよい思います。

例えば、chromeブラウザのパスワード管理機能は、安全な暗号化と、他のPCやモバイルのchromeブラウザと自動で同期ができるので、非常に便利だと思います。ただし、マスターパスワードなどがないため、マシンを直接操作できると、すべてのパスワードは漏洩します。

セキュリティーソフトのKaspersky(カスペルスキー)に含まれるパスワードマネージャーも安全性においてはかなり信頼できると思います。

Mac標準のパスワード管理ツール、キーチェーンはWebのパスワードを管理するのには向いていないと感じます。Macでしか当然使えませんし、使い勝手が非常に悪いです。

アカウント乗っ取りによる被害

もし、あなたのこのサイトのアカウントが乗っ取られたとします。 あなたのアカウントにはFacebookやTwitterのアカウントが連動されています。あなたには多くのフレンドがいます。 すると、何が起きるでしょう?

あなたのアカウントから良からぬ情報を発信させられるでしょう。あなたのフレンドに危険なURLを送りつけるでしょう。フィッシングサイトやウィルス配布サイトなど閲覧者に害をなすサイトへ誘導しようとします。 あなたの信頼度が高く、影響度が大きいほど、あなたのアカウントの発信した情報から被害に遭う他のユーザーがたくさん出てくることになるでしょう。

あなたのFacebookやTwitterのアカウントでも同様の危険な情報の発信を行われる可能性もあります。 あなたの他のSNSサイトからも個人情報が抜き取られるでしょう。さらには、あなたのフレンドの個人情報も収集されます。最悪、Facebookなどのアカウントを乗っ取ることもできてしまいます。 そしてさらに、あなたのフレンドのアカウントを乗っ取ることも可能な場合があります。

あなたがたった1つのサイトで、強固ではないパスワードを登録するということは、大げさに言えば自身を含め、周りの多くの人たち(それも特に親しい人たち)を危険に晒す行為といっても過言ではありません。

責任の所在

短いパスワードや、よく使われる単語などを用いた推測されやすいパスワードを用いた結果、アカウントが乗っ取られたとします。 その責任は安全でないパスワードを設定したユーザーにあると言われています。 しかしながら、そのようなパスワードでの登録を許可してしまうサイト側の甘えもあるのではと思います。

willでは建前ではなく、実際的に安全なパスワード登録を必須とさせて頂いています。

willでの対策

少しでも危険を減らすためいくつかの対策を行っています。 (あまり詳細を書いてしまうとそれが脆弱性へと繋がる事も考えられるため、あえて詳細を省いて記載します)

アカウントロック

同一IDで複数回ログインに失敗するとアカウントをロックします

パスワードの暗号化

ユーザーのパスワードは全て暗号化した状態でデータベースへ保存されています。この暗号化は可逆が非常に困難な手法で行っています。

万が一、データベースに侵入されても、パスワードリストアタックへ繋がることはありません。

パスワード登録時の安全性チェック

willでは他のサイトに比べ、面倒なパスワード登録が必要な仕組みとなっています。 負担は大きいかもしれませんが、ユーザー自身と、他のユーザーの為に必要な物と考えています。

  • 文字数は8文字以上です。上限は255文字です。
  • パスワードには英数大文字小文字以外にも記号を自由に使用できます。(記号の使用を推奨します
  • パスワード登録時に、リアルタイムのパスワード強度チェックを行います。(あくまで簡易なチェック機能ですので参考程度に
  • ユーザーIDや名前と同じ単語はパスワードに登録できません。
  • パスワードの再発行は登録のメールアドレスへの通知のみです。(秘密の質問などの誤ったパスワード再設定方法は破棄しています
  • メールアドレスを利用できなくなった場合の為の、携帯電話番号の登録を必須としています。(将来的にですが、携帯電話へのSMS送信や、自動発信による認証を導入します。現段階では、人力による本人確認を行います。

2段階認証システム

Googleによって開発されたGoogle Authenticatorという2段階認証システムがあります。既に多くのWebサービスやアプリケーションで導入されており、導入の容易さと安全性においてこれほど信頼できるシステムは他にないと思います。

willでもこのシステムを導入し、IDとパスワードの他に安全な認証用コードを入力がないとログインできないよう設定できます。