パスワードが盗まれるとどうなるか
アカウントとは、サービスを使うための自分専用の入口です。パスワードが盗まれると、他人が自分になりすまして入れてしまいます。
メッセージを読まれたり、勝手に買い物をされたりします。この回では、盗まれにくいパスワードの条件と、二段階認証のしくみを学びます。
ラボのルール
注意
ラボのマシンは、あなた専用のコピーです。調べてよいのは、自分のコピーだけです。許可なく他人のマシンやアカウントに試すのは、不正アクセス禁止法に反します。ここで学ぶ目的は、守る側として弱点を知ることです。
このレッスンのゴール
メモ
アカウントの安全な決まりを決めて、チェックすることができる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| 認証 | 本人かどうかを確かめること | パスワードを入れてログインする |
| 総当たり攻撃 | 考えられる組み合わせを、片っぱしから試す方法 | |
| ハッシュ | 元にもどせないように、文字列を別の文字列に変えたもの | |
| 二段階認証 | パスワードのほかに、もう1つ別の方法で本人を確かめること | |
| パスワード管理ツール | 長いパスワードを安全に覚えておいてくれるアプリ | |
| 使い回し | 同じパスワードを、いくつものサービスで使うこと |
学生が入力するセルは、このプレビューでは空白です。
強いパスワードは、何で決まるのか
攻撃する側は、パスワードを当てるために、組み合わせを片っぱしから試します。これが総当たり攻撃です。
組み合わせが多いほど、時間がかかります。多くするのに一番効くのは、記号を混ぜることより、長くすることです。
例: 長さと文字の種類で変わる数
| パスワード | 組み合わせの数 |
|---|---|
| 数字4桁(暗証番号) | 1万通り |
| 数字6桁 | 100万通り |
| 小文字8文字 | 約2088億通り |
| 英数字(大小)8文字 | 約218兆通り |
| 小文字12文字 | 約9.5京通り |
学生が入力するセルは、このプレビューでは空白です。
自分で組み合わせの数を出す
# 文字の種類の数を、長さの回数だけかけます。
kinds = 26
length = 8
print(kinds ** length)
# 長さを12に変えて、もう一度動かしてみましょう。
ラボで自分の名前を見る
whoamiここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
サービスはパスワードをどう保存するのか
良いサービスは、パスワードそのものを保存しません。ハッシュに変えたものを保存します。
ログインのとき、入れた文字列を同じ方法でハッシュにして、保存したものと比べます。一致すれば入れます。データが漏れても、元のパスワードはすぐには分かりません。
パスワード欄を見る
awk -F: '{print $1 ":" $2}' /etc/passwd | head -n 3ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
ファイルの権限を見る
stat -c '%n %A' /etc/passwd /etc/shadowここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
出力は何を表しているのか
1つ目の Run では、どの行も2つ目が x でした。パスワード欄には x しかなく、本物は別のファイルにあります。
2つ目の Run では、/etc/passwd は全員が読め、/etc/shadow は一般の利用者が読めません。ハッシュを置く場所を、読める人で守っているのです。
二段階認証は、なぜ強いのか
パスワードが盗まれても、もう1つ別の方法で本人を確かめれば、入られずにすみます。これが二段階認証です。
本人の確かめ方は、大きく3つに分かれます。2つ以上を組み合わせるほど、破るのが大変になります。
本人の確かめ方3種類
| 種類 | 例 |
|---|---|
| 知っているもの | パスワード、暗証番号 |
| 持っているもの | スマホの認証アプリ、セキュリティキー |
| 本人そのもの | 指紋、顔 |
学生が入力するセルは、このプレビューでは空白です。
よくある間違い
注意
「P@ssw0rd」のように、文字を記号にかえたパスワードは安全だと考えがちです。しかし、これは攻撃する側もよく知っている形です。また、同じパスワードの使い回しは、1つ漏れると全部に入られます。
管理者が決める3つの決まり
学校や会社のアカウントを守るなら、まず3つを決めます。1つ目は、長さの下限です。12文字以上が目安です。
2つ目は、よくあるパスワードを禁止することです。3つ目は、二段階認証を必須にすることです。決まりは、プログラムで自動チェックできます。