シングルサインオンやクラウドAPIでは、利用者が毎回パスワードを入力しなくても、アクセストークンやIDトークンが認証・認可の結果を伝えます。 これは利便性と一貫したアクセス制御を支える重要な仕組みです。一方で、正規に発行されたトークンが盗まれたり、署名鍵が侵害されて偽造されたりすると、 攻撃者は「認証済み」に見える状態でサービスへ到達する可能性があります。
2026年9月15日にNISTとCISAが最終化したNIST IR 8587は、IDトークン、アクセストークン、アサーションを、発行時だけでなく、 鍵管理、検証、有効期間、失効、利用状況の監視、ログまで含むライフサイクルで守る考え方を示しています。 対象は主に米国連邦機関とクラウド事業者ですが、NIST自身が、トークンを利用する民間組織にも参考になると説明しています。
本記事は、この考え方を日本企業のクラウド、SaaS、API、機械間連携へ適用するための実務的な整理です。 特定製品の設定集ではなく、経営者、IT責任者、実務担当者が共通の判断基準を持つための5ステップを扱います。
具体的な課題:トークンは見えにくく、責任も分かれやすい
多くの組織では、アカウントやMFAは台帳化されていても、どの認証基盤が、どのアプリへ、どの種類のトークンを発行しているかを横断的に把握できていません。 クラウド事業者が発行・署名を担い、利用企業が権限設定、セッション、アプリ側の検証、ログを担うなど、責任境界もサービスごとに異なります。
- 流れが見えない:発行者、受け手、対象API、権限、有効期間、更新経路を説明できない。
- 有効なら受け入れる:署名だけを確認し、発行者、受信先、有効時刻、用途、失効状態を十分に検証しない。
- 長期資格情報が残る:バッチや連携基盤が、短命なワークロードIDではなく固定シークレットへ依存する。
- 止め方が不明:侵害時に、トークン、更新トークン、セッション、署名鍵をどの範囲で失効させるか決まっていない。
- ログが両極端:追跡情報が足りないか、反対にトークン本体や個人情報をログへ残してしまう。
トークンは「認証が終わった証拠」ではなく、利用中も検証・制限・監視・終了を続ける認可情報です。
考え方:発行・利用・終了を一つの信頼連鎖として扱う
トークン対策を「漏えいさせない」だけに狭めると、偽造、誤った受信先での利用、権限過大、リプレイ、失効の遅れを見落とします。 重要なのは、誰が何のために発行し、どの相手が何を検証し、どの条件で継続または終了するかを一つの信頼連鎖として設計することです。
- 発行:信頼する発行者、署名鍵、認証・認可条件を明確にする。
- 利用:発行者、受信先、期限、権限、文脈を毎回検証し、用途を限定する。
- 終了:期限、失効、再認証、セッション終了を連動させ、異常利用を追跡する。
NIST CSF 2.0も、Identity Management, Authentication, and Access Controlの成果として、IDアサーションを保護し、伝達し、検証すること、 さらに権限を最小権限と職務分離に沿って管理・レビューすることを挙げています。製品機能の有無ではなく、組織として達成すべき結果から設計します。
実践手順1:トークンの流れと責任者を可視化する
まず重要サービスを一つ選び、利用者またはワークロード、IDプロバイダー、認可サーバー、アプリケーション、API、クラウド事業者の関係を図にします。 トークン種別、発行者、受信先、権限、有効期間、更新方法、署名鍵の管理主体、ログの所在、失効操作の担当者を記録します。
台帳の完成を待つ必要はありません。売上、顧客情報、管理者権限、外部公開APIなど、侵害時の影響が大きい経路から始めます。 クラウド事業者と利用企業の責任境界は、契約、管理画面、API、ログ提供範囲によって変わるため、推測ではなく利用中のサービス仕様で確認します。
実践手順2:受け入れ条件を明示し、検証を標準化する
アプリやAPIは、署名が正しいことだけでなく、信頼する発行者か、想定した受信先か、有効期間内か、必要な権限だけか、 再利用防止に必要な識別子や文脈が整合するかを検証します。NIST IR 8587は、明示的なaudienceを持たない、または不一致のトークンを拒否し、 必要最小限のスコープへ制限するよう示しています。
検証ロジックをアプリごとに独自実装すると、更新漏れや解釈差が増えます。標準ライブラリ、APIゲートウェイ、共通ミドルウェアなどへ寄せ、 発行者・受信先・許可するアルゴリズム・鍵取得先を設定として管理します。失敗時は安全側へ倒しつつ、可用性への影響と例外手順も事前に決めます。
実践手順3:有効期間と権限を業務リスクに合わせる
すべてのトークンを同じ有効期間にするのではなく、対象データ、操作の重大性、利用者か機械か、端末の信頼性、再認証のしやすさで分けます。 アクセストークンを短命化し、更新トークンには期限・ローテーション・再利用検知・失効を組み合わせます。
バッチ、コンテナ、CI/CD、AIエージェントなどの非人間IDは、固定APIキーを配り続けるのではなく、可能な範囲で承認済みのID基盤から 用途を限定した短命トークンを動的に取得します。NIST IR 8587は、ワークロードIDについて、静的シークレットより短命トークンが保護を高めるとしています。 移行時は、停止時の影響、更新失敗、時刻同期、秘密情報基盤の依存関係も確認します。
実践手順4:失効とセッション終了を演習する
「無効化ボタンがある」だけでは十分ではありません。利用者の退職、端末紛失、更新トークン漏えい、署名鍵侵害、クラウド事業者からの通知など、 想定する事象ごとに、どのトークン、セッション、鍵、アプリ連携を止めるかを決めます。ステートレスな仕組みでは即時の全体失効が難しい場合があるため、 短い有効期間、更新時の再判定、失効状態の共有、セッション強制終了を組み合わせます。
四半期ごとなどに一つの経路で演習し、検知から遮断までの時間、取り残されたセッション、業務影響、復旧手順を測ります。 失効が技術的にできない、または伝播に時間がかかる場合は、その残存リスクをサービスオーナーへ明示し、代替統制や更改計画へつなげます。
実践手順5:トークン本体を残さず、利用の証拠を監視する
発行、更新、受入れ・拒否、失効の時刻、発行者、スコープ、受信先、利用主体の識別子などを、調査に使える形で記録します。 ただし、NIST IR 8587はトークンやアサーション本体、そこに含まれる個人データをログへ保存しないよう示しています。 識別子は必要に応じてハッシュ化し、閲覧権限、保存期間、改ざん防止も定めます。
位置、端末、利用速度、通常と異なるAPI呼び出し、拒否されたaudienceなどを相関し、異常時はセッション終了や再認証へつなげます。 SIEMへ集約するだけで終わらず、誰がアラートを判断し、どの条件で失効を開始し、関係するクラウド事業者と連携するかを運用手順にします。
注意点:短命化だけでは、信頼連鎖は守れない
- 有効期間だけを短くしない:更新トークン、再認証、時刻同期、失効、可用性を一緒に設計する。
- トークン本体をログへ書かない:デバッグ、CI/CD成果物、ブラウザ解析、サポート添付も漏えい経路として確認する。
- 署名鍵を共有しすぎない:用途と環境を分離し、保管、利用、ローテーション、失効、破棄の責任を決める。
- 人のIDだけを対象にしない:サービスアカウント、バッチ、コンテナ、外部連携、AIエージェントも同じ台帳へ含める。
- ベンダー機能を保証とみなさない:設定可能範囲、ログ、失効の伝播、通知、契約上の責任を自社のリスクで評価する。
まとめ:認証の成功を、利用中の信頼へつなげる
トークン保護は、認証基盤だけの課題ではありません。流れと責任を可視化し、受け入れ条件を標準化し、有効期間と権限を絞り、 失効を演習し、利用の証拠を安全に監視することで、認証時点の信頼を利用中の判断へつなげられます。
最初の一歩として、最も重要なSaaSまたはAPIを一つ選び、「誰が発行するか」「誰向けか」「何分有効か」「侵害時にどこまで止められるか」 「トークン本体を残さず追跡できるか」を90分で確認してください。答えられない項目を一つ改善バックログへ入れることが、信頼連鎖を整える出発点です。
参考資料
- NIST IR 8587「Protecting Tokens and Assertions from Forgery, Theft, and Misuse」
- NIST「NIST Finalizes Guidelines on Protecting Online Identity and Access Tokens From Misuse」
- NIST SP 800-63C-4「Digital Identity Guidelines: Federation and Assertions」
- NIST「Cybersecurity Framework 2.0」
本記事は公式・公的資料をもとに、一般的なアイデンティティ・アクセス管理とセキュリティ運用の考え方を整理したものです。 個別組織の契約、法令適合性、監査、セキュリティその他の法律上・専門上の助言を行うものではありません。 公式資料は2026年9月25日時点で確認しています。実際の運用では、自社のサービス、利用者、契約、適用される法令・規格、組織体制、 リスク許容度を踏まえ、必要に応じて関係部門や専門家へ確認してください。
← 技術ブログ一覧へ戻る