2018-10-07 08:39 | カテゴリ:勉強や投資情報
今ネットが社会インフラとなっており、多くの人が多数のサービスを利用しており、パスワードの管理が重要となっています。
しかし、パスワードの管理程大変なものはありません。
塩漬けマンもハッキングされたので改めてパスワード運用についてまとめてみました。

↓数日前から以下のようなメールが届くようになりました。
20180930振り込め詐欺メール2

これ、ユーザIDはメールアドレスのパターンで、パスワードも書かれていて当っています。
前アマゾンにクラッキングされたって書いたじゃないですか。
不正アクセス時アマゾン対応まじすげ~
この謎が分かりました。

アマゾンのユーザIDとパスワードがまさにこれでした。
恐らく上記のユーザIDとパスワードはどこかから漏れて、詐欺師に出回っているのでしょう。
尚、塩漬けマンはこのユーザIDとパスワードを使っているのは以下の三つですから、そのどこかから漏れたと思われます。

アマゾン ※既にパスワード変更済み
MobileGo ※仮想通貨。ICOに参加
ニコニコ動画

まぁ、MobileGoかなって思います。
MobileGoのICOに参加した人は気を付けて下さい。

まず最初に、完璧なパスワード運用ですが以下と思われています。
1.ユーザIDにメールアドレスを代用するサービスが多いが、ユーザIDでのメールアドレスの使いまわしもせずに全部違うメールアドレスを取得し使う
2.パスワードは覚えやすい単語は避けランダムで英数字大文字小文字記号を混ぜる
3.パスワードの使い回しはしない
4.パスワードを頻繁に変更する


しかしながら実際は勘違いと現実運用により以下の通りです。
1.ナンセンス。実運用に耐えない
2.間違いでありこれが諸悪の根源。特にランダムな文字列に何の意味もなく、これによる弊害が大きい
3.工夫次第で可能
4.ナンセンス。実運用に耐えない

勿論、管理してるパスワードが少なかったりで1~4全部出来ます!やります!って人はやればそれがベストです。
実際問題として出来ない人が多いので、今日はそういう人でも簡単に出来る現実的で最もセキュリティの高いパスワードの運用方法についてです。

1.ユーザIDがメールアドレスの場合について

これを全部別のメールアドレスにするとなると、必然的に何個でも取得可能なフリーメール(ヤフーとかMSNとかGメール)を使う事になります。
しかし、数か月ログインがないと、メールアドレスが凍結されたりします。
1年前に登録したサービスで、忘れてて、1年後使おうと思ったらメールアドレスが使えなくなっていたとかってなると面倒です。
また、フリーメールアドレスは使っている人が多いため、必然的にハッキングの対象になりやすいです。
勿論金銭の授受が発生してクレジットカードを使うようなサービス(アマゾンとか)は、それ専用のメールアドレスを使うべきです。
また、サービスのユーザIDとして使うメールアドレスはハッキングされる前提なので、普段使いしているメールアドレスとは分けなければいけません。
分けていないと、普段使いしてるメールアドレスに迷惑メールが山のように届くようになります。

まとめるとユーザIDとして登録に使うメールアドレスは以下の通りです。
・普段使いしているメールアドレスは使わない
・出来ればフリーメールアドレスではない方がよいが引っ越す可能性がある人はプロバイダーのメールアドレスも適さない
・サービス用に今後一生変わらない、メールアドレス提供のサービスが終了しないであろうメールアドレスを一つ取得して、それを基本的に全部の登録用として使う
→現実的にはフリーメールアドレスを使う事となるのでセキュリティの高そうなGメールがいいかも
・クレジットカード等、金銭の授受に関するサービスはそれ専用のメールアドレスを取得して使う

2.パスワードは覚えやすい単語は避けランダムで英数字大文字小文字記号を混ぜる(※間違い)

これは完全に間違いであり、このルールを作った学者自信が認めています。

あのパスワード規則、実は失敗作だった

要は、ランダム大文字小文字英数字記号だと、長いパスワードにすると覚えられないので、エクセルとか付箋とかにメモるか、それでも覚えられるように短いパスワードにするし、パスワードを変更するモチベーションが下がるので、その事によりセキュリティが目覚ましく低下し、弊害の方が大きいって事です。

では、覚えやすいパスワードがどうしてダメかというと、ディクショナリーアタックの標的にされるからです。
まず、ここでハッカーの行動を知っておきましょう。

1.ハッキングしたいユーザIDを見つける
2.個人情報が分かっていれば誕生日4桁や名前住所等でハッキングを試みる
3.ディクショナリーアタックを行う
4.ブルートフォースアタックを行う

という順番です。
覚えやすいパスワードは2と3で破られる可能性があるからです。
ディクショナリーアタックというのは、以下のようなパスワードに使われやすい文字列リスト(ディクショナリー)があって、それで総当たりで自動的に試すアタックです。
password
soccer
baseball
teniss
zxcvbnm ←これはキーボードの下のアルファベットを左から
mnbvcxz ←これはキーボードの下のアルファベットを右から
yamada
suzuki
tanaka
taro
ichiro
hanako

・・・以下何千~とパスワードに使われそうな文字が続く

んで、最終手段のブルートフォースアタックですが、これは考えられる文字列で総当たりでパスワードを生成して順番に試していきます。
※アルファベットだけの例
a
b
c
・・・以下zまで行くと2桁目突入
aa
ab
ac
・・・以下azまで行くと順番を変える
ba
bb
bc
・・・以下zzまで行くと3桁目突入
これを指定した桁数まで行くと、今度は大文字で同じ事を繰り返して、さらに小文字と大文字が混じっているパターンも試していきます。
これは天文学的な数を試さなければいけません。
アルファベットだけで4桁だけでも小文字大文字もあるので52種類となるので、
52×52×52×52=約731万通りとなります。
ただし、勿論プログラムで自動的にやっているので、731万通りなんて数分です。
これに数字も入れて62種類で4桁だと
62×62×62×62=約1477万通りとなりますが、これも数分です。
これが8桁になるとどうなるか・・・
62×62×62×62×62×62×62×62=電卓では計算不能、これを破るのには50年掛かる。

んで、あなたがハッカーの気持ちになってみてください。
個人のユーザIDをゲットして、お金になるかどうかも分からないのに、いちいち上記を試しますか?
時間の無駄でしょう。
2で簡単にパスワードが分かればいいです。
3で数分でパスワードが分かればいいです。
4は、多くても4桁なら数分で済むので試す価値がありますが、6桁とかになると、数日掛かるのでやる意味がないです。
確実にお金になると分かっているユーザIDならかろうじて数日掛けてもやる意味はありますが・・・

という事は、
パスワードは長ければ長いほど良い(8桁以上)
これだけです。
ランダムで小文字大文字英数字記号を混ぜるには全く意味がない
どころか、上記で書いたように弊害の方が大きいです。

ですので、ディクショナリーアタックのワードに入っていても、
baseballsoccer
のような覚えやすい単語を二つ繋げたパスワードは絶対って言ったらいけないですが、99.999%破られないパスワードになります。
だって、これを破ろうと思ったら、ハッカーは以下のプログラムを作らないといけません。
ディクショナリーの文字列を二つ組み合わせて攻撃する
こういうパスワードルールにしている人は世界にほとんどいないのに、その数少ない人限定のプログラムをいちいち作って、ハッキングを試すはずがないです。
しかもディクショナリーに登録されている単語リストが1万だと、10000×10000万で1億パターンとなって、まぁそれなりに時間は掛かります。

それでもさすがにこれは怖いという人は、最初と最後を大文字にするだけでほぼ破られないパスワードになります。
BaseballsocceR
だってディクショナリーに
baseball
Baseball
soccer
という単語の登録はあるかもしれませんが、
socceR
という単語の登録はほぼないですから。

まぁとにかく、他人に推測されにくくて、出来ればディクショナリーに載ってなさそうで、自分だけが覚えやすくて、とにかく長い文字列にしとけばいいって事です。
(例)妻の名前が愛子で結婚記念日が9月15日の場合
Iloveaikoforever0915
離婚した後地獄ですが・・・
(例)矢祭町に住んでて東舘小学校を1998年に卒業した人は
yamaturitoudate1998
※レアな地名ならディクショナリーにも載ってないでしょうし
(注)パスワードから妻の名前や出身地とか個人情報が洩れるのが嫌だという人は、ペットや好きなアニメや食べ物とか行ってみたい観光地とかからパスワードを生成すればいいです。
※勿論英文である必要はなくて、oiraha15gasuki(おいらは苺が好き)とかの方がいいです。

なので、ハッカーはそもそも個人のユーザIDを一つ一つハッキングなんてしません。
それらが登録されているサービスの大本をハッキングして、何百万人というユーザIDとパスワードを一気に盗みます。
ですので、ランダム英数字記号で長く覚えにくいパスワードを苦労して設定しても、それにセキュリティを高める効果はそもそもないのです。
そこで大事になるのが次の「パスワードの使い回しはしない」になります。

3.パスワードの使い回しはしない

パスワードを使いまわしていると、どんなに完璧なパスワードを設定していようと、管理の甘いどこかのサービスから漏れたらアウトです。
そして今はユーザIDがメールアドレスの場合が多いので、そういうサービスから漏れたユーザIDとパスワードは別のメールアドレスがユーザIDとなっているサービスで使いまわしていたら、そっちもクラッキングされてしまいます。
それが金銭の授受が伴うサービスだと最悪です。アマゾンとかね。

また、サービスの管理が完璧でも、通信の傍受、自分のパソコンがマルウェアに感染等から漏れる可能性があります。
パスワードを使いまわしていると、漏れた場合に、全部のサービスのパスワード・・・最低でも同じユーザID(メールアドレス)を使っているサービスのパスワードを変更しないといけなくなります。

ですので、最初から【覚えやすくて長くてサービス毎に異なるパスワード】を設定する必要があります。

例えば2の例と組み合わせて、以下のような。
アマゾン:AIloveaikoforever0915Z
ビットフライヤー:BIloveaikoforever0915F
コインチェック:CIloveaikoforever0915C

サービスを覚えやすい英字二文字(ビットフライヤーならBF)にして、2の例のパスワードの前後につけています。
これで【覚えやすくて長くてサービス毎に異なるパスワード】の要件は満たしていますが、人間がよく見たら、類推されやすいといえば類推されやすいです。
ハッカーが、何百万というユーザIDとパスワードをゲットして、いちいち一人ひとりパスワードを見て類推していくという作業を行うとは思えませんが・・・
気になるという人は工夫して類推されにくいルールにしたらいいと思います。
ビットフライヤー→BF→AE(一つ前のアルファベット)→AIloveaikoforever0915E
とかね。

後、パスワードを使いまわしてないと、一番上のようなクラッキングされたパスワードが書いてある振り込め詐欺メールが来た時に、どこから漏れたか分かるのでいいですよね。

4.パスワードを頻繁に変更する

これは上記【サービス毎に異なるパスワード】をやっている人は変更しなくていいです。
勿論、そのサービスのパスワードが漏れた兆候があったら変更して下さい。
アメリカ国立標準技術研究所も「ユーザーがパスワードを変更すべきなのは、盗まれた兆候があった時だけだ。」と言っています。

ただし、勿論やる事が苦でない人、証券口座のように大金が入っている特定の口座とかはやった方がいいです。
しかし、パスワードを頻繁に変更する人は覚えやすいように短いパスワードにする傾向がありますが、それはセキュリティを逆に低下させるので、絶対に避けてとにかく長いパスワードにしてください。

↓コメントはツイッターからどうぞ ※忙しいと申し訳ありませんが、コメント返信出来ない事があります。
ツイッターアイコン1

↓応援クリックをして頂けたら感謝です。


↓ブログ内容の良し悪しパロメータにしてますので、いい内容と思ったら拍手をどうぞ(´・ω・`)
トラックバックURL
→https://shiodukeman.jp/tb.php/2105-ac3aa632