結論:入口を固めても「入館証」を盗まれたら終わる
多要素認証は「入口の本人確認」を強化します。しかし、入口を通過した後に発行される認証キー(トークン)は、 その後の操作を許可する入館証になります。
重要:アクセストークンが暗号化されていても、丸ごとコピーされたトークンは 「正規に発行された入館証」として扱われ、なりすましが成立します。
つまり・・・ 入口(MFA)を厳重にしても、ログイン後の「入館証(トークン)」をコピーされたら内部は歩ける。
なにが起きる?:ログイン → キー発行 → 運用 → 盗難
入口(ログイン)
ID / PW / MFAで本人確認
ここを強化するのは正しい
キー(トークン)
eyJhbGciOi... (token)
🔑
ログイン成功後に発行される“入館証”
運用(業務操作)
キーでAPI操作
サーバはキーを検証して許可
ここが本題:攻撃者は「ログイン」を突破する必要がありません。
盗んだトークンをそのまま提示すれば、サーバは「正規の入館証」として扱います(有効期限内)。
なぜ“暗号化されていても”なりすましできるのか
認証トークンの安全性で混同されがちなのが、「中身が読めない」ことと、「使えない」ことです。 ここを分けると理解が早いです。
暗号化・署名が守るもの
- 改ざんされない(勝手に権限を書き換えられない)
- 暗号化されていれば中身を読まれにくい
=「偽造」や「覗き見」を難しくする
暗号化・署名が守れないもの
- 丸ごとコピーされた正規トークンの利用
- 有効期限内の再利用
=「正規の入館証」を盗まれたら、そのまま入れる
要点 暗号化の有無に関係なく、サーバは「正規に発行されたトークン」を見て許可します。 だから盗難(コピー)は成立します。
多要素認証(MFA)があっても関係ない理由
MFAはログイン時に本人確認を強化します。
しかし、攻撃者が狙うのは「ログイン」ではなく、ログイン後に発行されたトークンです。
直感的な説明:MFAは「玄関の鍵」。トークンは「入館証」。
玄関の鍵が固くても、入館証がコピーされたら、受付を通らず中で動けます。
WEBシステムで確認すべきポイント
認証構成を曖昧にしたまま「できました」は危険です。最低限、次の設計が言語化されているか確認できます。
- アクセストークンは短命か(被害時間の上限を決める)
- 失効できるか(強制停止。盗難時に止められる)
- 再利用防止があるか(更新券のローテーション等)
- 単一セッションか(同時利用を許す/許さないの定義)
- 検知・監査があるか(異常を早期に見つけて追える)
※ 数値やDB構造の公開は不要です。「方針」と「止め方」が説明できるかが肝です。
よくある質問
Q. トークンが暗号化されていれば盗まれても安心では?
暗号化は「中身を見えにくくする」効果はありますが、盗まれたトークンを使えなくするものではありません。 盗難(コピー)された正規トークンは、そのまま提示されれば有効期限内で通ってしまいます。
Q. では何をすれば良い?
トークンを短命にし、失効でき、再利用を防ぎ、異常を検知できる設計にします。 入口対策(MFA)と、ログイン後対策(トークン管理)は別レイヤーです。
Q. トークンを短命にすると業務に影響がでませんか?
トークンのローテンション機能を設けることで、業務時間内はユーザー操作に影響はでません。 なおかつ、事故発見時は迅速にトークンローテンションを停止することが可能です。