クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

認証とは?パスワードと多要素認証

このレッスンのあとで: 本人確認の方法を比べ、場面に合うものを選ぶことができる。

55分のレッスンコマンド7件Linux 管理のラボ:ユーザー、権限、cron、systemd をブラウザーで

認証は本人かどうかを確かめること

認証とは、名乗った人が本当にその人かを確かめることです。ログイン画面でパスワードを入れるのが、いちばん身近な認証です。

パスワードだけでは、盗まれたら終わりです。方法を2つ組み合わせると、1つ盗まれても、被害を止められます。

このレッスンでは、本人確認の方法を比べ、場面に合うものを選べるようになります。

このレッスンのゴール

メモ

本人確認の方法を比べ、場面に合うものを選ぶことができる。

キーワード

ことばいみ
認証名乗った人が本人かを確かめること
認証の要素知っているもの、持っているもの、自分自身の3種類
多要素認証種類の違う要素を2つ以上使う認証
ハッシュ内容から作る、元に戻せない文字列
ソルトハッシュを作る前に足す、ユーザーごとのランダムな文字列
総当たり攻撃考えられる組み合わせを、順に試す攻撃

学生が入力するセルは、このプレビューでは空白です。

認証の要素は3種類ある

本人確認の材料は、3種類に分けられます。知っているものは、パスワードや暗証番号です。持っているものは、スマートフォンやICカードです。自分自身は、指紋や顔です。

同じ種類を2つ使っても、多要素認証にはなりません。パスワードと暗証番号は、どちらも「知っているもの」です。

3種類の要素の長所と弱点

要素例弱点
知っているものパスワード推測され、漏れる
持っているものスマートフォン落とす、盗まれる
自分自身指紋変えられない

学生が入力するセルは、このプレビューでは空白です。

パスワードは長さで強くなる

総当たり攻撃では、組み合わせの数が多いほど、時間がかかります。小文字だけの8文字は 26 の8乗通りです。ターミナルの python3 -c で、計算できます。

** は、べき乗の記号です。26 ** 8 は、26を8回かけます。

小文字8文字の組み合わせ

コマンド
python3 -c "print(26 ** 8)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

大文字、小文字、数字で8文字

コマンド
python3 -c "print(62 ** 8)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

小文字12文字の組み合わせ

コマンド
python3 -c "print(26 ** 12)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

組み合わせの数の比べ方

パスワード文字の種類組み合わせ
小文字8文字26約2088億通り
英数8文字62約218兆通り
小文字12文字26約9.5京通り

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

「P@ss1! のように記号を混ぜれば、短くても強い」と考える人が多くいます。でも、よくある置き換えは攻撃者も知っています。長さが増えるほうが効きます。覚えやすい長い言葉の並びを使いましょう。

サーバはパスワードをハッシュで持つ

安全なサーバは、パスワードそのものを保存しません。パスワードのハッシュを保存します。入力されたものを同じ方法でハッシュにして、比べるだけです。

ハッシュは元に戻せません。ただし、同じ入力からは必ず同じハッシュができます。1文字違えば、全く別の値になります。

sakura2024 のハッシュ

コマンド
printf 'sakura2024' | sha256sum

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

先頭を大文字にしたハッシュ

コマンド
printf 'Sakura2024' | sha256sum

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

Linux はハッシュを別のファイルに置く

Linux の /etc/passwd は、誰でも読めるユーザーの一覧です。パスワードの欄は x で、ハッシュは /etc/shadow にあります。

/etc/shadow は、root と shadow グループだけが読めます。ハッシュにもソルトを足すので、同じパスワードでも、ユーザーごとに違う値になります。

root の行を見る

コマンド
getent passwd root

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

shadow のモードを見る

コマンド
stat -c "%a %U:%G %n" /etc/shadow

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

このラボとソースについて: Linux 管理のラボ:ユーザー、権限、cron、systemd をブラウザーで

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。