会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
多要素認証とは
本人であることを、種類の違う2つ以上のもので確かめる方法です。
- 知っているもの … パスワード
- 持っているもの … スマホの認証アプリ
- 本人そのもの … 指紋・顔
認証アプリは、30秒ごとに変わる6桁のコードを表示します。サーバーとアプリが同じ秘密の値と今の時刻から同じコードを計算するので、通信しなくても一致します。この方式を TOTP と呼びます。
naminori の二段階認証(2026-10-19)
naminori の会員は、設定画面から二段階認証を使えるようにできます。設計で決めたことは次のとおりです。
| 場面 | 決めたこと |
|---|---|
| 有効にする | QRコードを認証アプリで読み、表示されたコードが合ったときだけ有効にする |
| 予備 | バックアップコード(1回だけ使える予備の合言葉)を、そのとき一度だけ表示する。サーバーには照合用の値だけを残し、使ったものは使えなくする |
| ログイン | パスワードが合っても、コードを入れるまではログインさせない。続けて間違えたら、パスワードからやり直し |
| 使い回し | 一度通ったコードは、同じ30秒の中でも二度は通さない |
| 無効にする | パスワードとコードの両方が要る |
| 知らせる | 有効・無効が切り替わったら、本人にメールで知らせる |
| 全部失くした | 問い合わせで本人確認をしてから管理者が解除し、本人にメールで知らせる |
認証アプリの秘密の値は、データベースの中でも暗号化して保存しています。
後から困ること① ログイン画面以外の入口から迂回される
二段階認証をログイン画面にだけ足すと、穴が残ります。パスワード再設定のリンクやメールアドレス確認のリンクを開くと、そのままログインする作りが多いからです。メールを乗っ取られたら、コード無しで入られます。
naminori では二段階認証を入れたときに、二段階認証を使っている会員は、この2つのリンクからはログインさせず、コードの入力に進ませるようにしました。ログインできる入口を全部数えてから足す必要があります。第1回の「主体 × 入口」の表が、ここで効きます。
後から困ること② 復旧を決めずに出す
スマホの買い替え・故障・紛失は、必ず起きます。復旧手段を決めずに出すと、本人なのに入れない人が問い合わせに並びます。バックアップコードを最初に配り、それも失くしたときの手順まで決めてから出します。
後から困ること③ 解除の手続きが一番弱い入口になる
「スマホを失くしました」と言えば解除してもらえるなら、攻撃者もそう言います。管理者による解除は、本人確認の手順を決めてから行い、解除したら本人に知らせます。本人が知らない解除に、本人が気づけるようにするためです。
このレクチャーで学ぶこと
- 多要素認証と認証アプリ(TOTP)の仕組み
- naminori の二段階認証で決めたこと
- ログイン画面以外の入口から迂回される
- 復旧と解除の手続きを先に決める
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。
#1
未完了
認証と認可を分けて設計する ― 「誰か」と「何をしてよいか」は別の問い
#2
未完了
セッションとトークン ― 有効期限と「止め方」を最初に決める
#3
未完了
パスワードとログイン試行 ― 後から強くでき、本人を締め出さず、登録の有無を漏らさない
#4
未完了
多要素認証と復旧 ― 「スマホを失くした日」を先に設計する
#5
未完了
OAuth 2.0 と OpenID Connect ― パスワードを渡さずに「代わりに」入らせる
#6
未完了
認可モデル ― 所有者・ロール・権限を、1か所で判定する
#7
未完了
特権の扱い ― 管理者と代理ログインを「普通の権限」と分ける
#8
未完了