OpenID Connect も SAML も、その安全性は TLS(旧称 SSL) に深く依存しています。「認証の仕組み」を語るうえで証明書の話は避けて通れません。
トークンは「平文の通り道」を通る
IDトークンや SAML Assertion は、ブラウザのリダイレクトや POST を通じてやり取りされます。もし通信が暗号化されていなければ:
- トークンの盗聴 — 攻撃者がアクセストークン/IDトークンを傍受し、なりすましができる
- 中間者攻撃(MITM) — IdP になりすました偽サイトに認証情報を渡してしまう
- リダイレクト改ざん — 認可コードを攻撃者のサーバーへ横取りされる
これらを防ぐ前提が 全経路の TLS 化です。OIDC の仕様自体が「エンドポイントは TLS で保護されていること」を要求しています。
サーバー証明書が証明する「相手の正しさ」
TLS の役割は暗号化だけではありません。サーバー証明書によって「接続先が本当に意図した IdP / アプリであること」を検証します。これがなければ、いくらトークンを暗号化しても「誰に渡しているか」が保証されません。
| 脅威 | 対策 |
|---|---|
| 盗聴 | TLS による暗号化 |
| なりすましサイト | サーバー証明書によるドメイン認証 |
| 証明書の信頼性 | 公的な認証局(CA)が発行した証明書を使う |
実務での勘所
- IdP・各アプリ・APIエンドポイントのすべてを HTTPS にする
- 証明書の有効期限切れを監視する(期限切れは SSO 全体の停止に直結)
- 内部システムも含めて証明書を整備する(ゼロトラストの前提)
証明書の導入・更新なら
SSO や OIDC の基盤を整えるなら、まずサーバー証明書の足回りから。エスロジカルのSSL証明書 は、RapidSSL などの低価格ドメイン認証型から、企業向けの EV 証明書まで取り揃えています。認証基盤の土台として、コストを抑えつつ確実な TLS を実現できます。
関連: ゼロトラストとID管理 / 企業SSO入門