SAML:悪い設計のフラクタル

2026/09/23 3:57

SAML:悪い設計のフラクタル

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

SAML(セキュリティ断言マークアップ言語)は、2002 年に OASIS により Web 1.0 から Web 2.0への移行期間におけるシングルサインオン(SSO)を可能にするために作成された XML ベースの認証プロトコルであり、現在では不安全かつアーキテクチャ的に陳腐なものとして increasingly 見なされています。イェール大学の CAS、Internet2 の Shibboleth、Okta や Ping Identity など主要ベンダーなどの歴史的動機にもかかわらず、SAML は深刻な技術的負債を抱えています。XML 署名検証のために脆弱性の多い C ライブラリ(例:

libxmlsec
)に依存しており、これにより XML 署名ラッピング(XSW)、XXE、エンティティ展開、DTD 取得を介した SSRF、正規化バイパスなどの複雑な脆弱性がもたらされます。このプロトコルの「キッチンシンク」的な設計は、ほとんど使用されないセキュリティ基準を取り込んでおり、「骨格化(ossification)」——つまり SPAs、モバイルデバイス、IoT、ゼロトラストネットワークといったモダンなトポロジーとの不互換性——は、JSON や JWT といった新しいフォーマットと比較してその制限を悪化させています。

Thomas Ptacek などの専門家らは 2012 年以来、これらのリスクを指摘し続けています("On Breaking SAML"という示唆的論文などを引用)。しかし、ベンダーの慣性により、RFC 8252 や 9449 などで定義されたモダンな標準である OpenID Connect (OIDC) への業界での採用は遅れています。一方で Fly.io や Tailscale のようなリーダー企業は既に OIDC にシフトしています。現在では、アイデンティティプロバイダーに対し、新しい SAML 顧客のオンボーディングを即座に停止し、OIDC 相当ものを提供し、明確な終了日を設定するとともに、将来のネットワークアーキテクチャを安全に支えるために段階的な移行計画を実行することが推奨されています。

本文

SAML 認証プロトコルの終焉と OpenID Connect(OIDC)への移行

学術界で生まれ、企業 IT 部門で主流となった SAML (Secure Access Markup Language) は依然として重要な役割を果たしてきました。しかし、2000 年代後半の SaaS 企業の台頭に伴う認証需要の変化により、複雑化した SAML の代替案である OpenID Connect (OIDC) への移行が迫られています。本稿では、SAML の歴史的経緯、セキュリティ上の根本的な欠陥、そして廃止に向けた具体的な道筋を解説します。


1. SAML の基礎と背景

SAML の本質的な問題

  • 複雑な土台: 理論的にはシンプルだが、実装の基盤は不安定です。
    • libxmlsec
      という荒々しい C 言語ライブラリをラップしているのが多く見られます。
    • トマス・プタチェク氏(2023 年)の見解:

      「XML サインチャネルの検証が信頼できる」という前提を置く限り機能しますが、実際には XML の検証は深く呪われています。実装されているほとんどの SAML システムは、誰も読んでいない

      libxmlsec
      に依存しています。

委員会で設計された歴史

  • 創成期 (2002 年): OASIS セキュリティサービス技術委員会 (SSTC) により作られました。
  • 設計手法の問題: 「キッチンスイNK(機能過多)」なアプローチ(ウォーターフォール法など)が採用され、不要な機能が蓄積しました。
  • 4 つの XML ベースプロトコルの統合体:
    1. ネティジェンティス「セキュリティサービスマークアップ言語 (S2ML)」
    2. セキュラント「AuthXML」
    3. ヴァーイサイン「XML トラストアサーションサービス仕様 (X-TASS)」
    4. ジャムクラッカー「情報技術マークアップ言語 (ITML)」

学術界から産業への拡大

  • Web 2.0 への移行: ユーザーと組織が複数の Web サービスを認証する必要が生じました。
  • 主な推進力:
    • 2002 年: イェール大学「中央認証サービス (CAS)」
    • 2003 年: Internet2「シボレッズ IdP」、マイクロソフト「ADFS」
    • 2007 年頃: ノルウェー国営企業アユニエットによる simpleSAMLphp
  • 産業化: 学術的な実験が基盤となり、数十億ドル規模の SSO 業界を生み出すきっかけとなりました。
    • ピング・アイデンティティ (2002 年)
    • OneLogin (2009 年)
    • Okta (2009 年)
    • Duo Security (2010 年)

2. SAML のセキュリティ上の欠陥(アキレス腱)

SAML が抱える致命的な不備は以下の 5 つ です。これらは新しいプロトコルの設計において避けるべき教訓となります。

① XML を基盤としている

  • 複雑性の対立: XML は JSON などと比べて構造が著しく複雑です(タグ、要素、属性、名前空間、CDATA、DOCTYPE 等)。
    • JSON: キー、値、オブジェクト、リストのみでシンプル。
  • 技術的な選択: SAML 制定当時 (2002 年) は、JSON の実験段階であり、大量の Java コードを書く際に XML が標準とされたためです。

② 正規化(Canonicalization)の問題

  • 合意形成の難しさ: サービスプロバイダー (SP) と IdP 間で XML データの表現にズレがあると認証が失敗します。
  • 代表的な攻撃事例:
    • XML コメント回避攻撃 (2018 年、ケルビ・ルディグ氏発見)
  • 関連する脆弱性:
    • パースャ差分攻撃
    • 「ラウンドトリップ」バグ
  • 具体的な CVE/事例:
    • Go の標準ライブラリにおける XML ラウンドトリップ脆弱性 (2020 年)
    • libxml2 を悪用した GitHub Enterprise SAML 回避 (2025 年)
    • パースャ差分による SAML SSO 認証回避 (2025 年)

③ エンベロープされたサインチャネル

  • 構造的問題: 署名をデータペイロードの中に挿入(エンベロープ)する方式です。
  • リスク: データを修正する際、署名とバイト単位の一致を保証するのが極めて困難です。
  • JWT との比較:
    • JWT: シグネチャはペイロードから分離され(ドット
      .
      で区切られる)、管理が容易。
    • SAML:
      Signature
      要素が
      Assertion
      要素内に埋め込まれており、検証が複雑化します。

④ 「キッチンスイNK」な設計

  • YAGNI 原則の違反: 「将来必要になるもの」まで仕様に含みすぎています。
    • 実質的には現在の SAML 実装の 99% はサブセットを使用しています。
    • 未使用機能が複雑性を増幅させ、セキュリティリスクを高める要因です。

トマス・プタチェク氏 (2021 年): 「もし私が何か新しいものへの SAML サポートを追加するなら、標準的な SAML チェックだけでなく、Okta、OneLogin、Google、あるいは Shibboleth が生成するメッセージと同じ形状を持たないメッセージも拒否することを検討します。」

⑤ 骨化(Ossification)

  • 時代遅れ: 当初の要件(VPN、ネットワーク分割対応)に特化しており、現代のアーキテクチャに適応できていません。
  • 主な限界:
    • 通信手段への依存: OIDC は HTTP を前提とするのに対し、SAML は非 HTTP 通信も可能と柔軟性がありますが、実装が複雑になります。
    • ネットワークトポロジー: IdP と SP が直接通信できない環境(ファイアウォール越し)での処理に非効率です。Google の BeyondCorp やゼロトラストアーキテクチャの出現でこの必要性は低下しました。
    • 進化の遅れ: 事前に設計されたウォーターフォール型に対し、OIDC は有機的に成長しています (RFC の継続的な発行参照)。
      • PKCE, DPoP, Device Auth など、モバイル/IoT/SPA に対応した機能は OIDC で追加されました。

3. 移行の道筋:すべては OIDC に通じる

すべてのプロトコルに完璧はありませんが、解決策としては OIDC が最適です。SAML の唯一の優位性は「直接通信できないネットワーク」でしたが、OIDC も明示的なフロー(フォーム投稿)でこれを解決可能です。

サービスプロバイダー (SP) としての移行

  • 推奨アクション: SAML を使用せず、OIDC サポートを実装し SAML から撤退します。
  • ベンダー事例: Fly.io や Tailscale は既に OIDC で標準化しています。
    • 「本当に SAML を避けることを試みてください」と提言されています。

アイデンティティプロバイダー (IdP) としての移行

  • 戦略: 「象を食う」アプローチ(一口ずつ)で移行計画を立てます。
  • ステップ:
    1. 廃止計画の開発
    2. 顧客への連絡
    3. 新しい顧客の SAML インテグレーション停止(オンボーディング拒否)
    4. 既存顧客へ同等の OIDC 設定提供
    5. 決断日の実行

まとめ

SAML は約 25 年間、SSO 業界を生み出し、認証セキュリティを向上させ、数十億ドルの経済的インパクトをもたらしてきました。その歴史はプロトコル設計における素晴らしいケーススタディですが、現在は緩やかな衰退を遂げています。

  • 柔軟性・アジャイル性: IT 環境の変化に対応できない SAML に比べ、OIDC は有機的な進化が可能です。
  • 結論: SAML の廃止と OIDC への移行が、セキュリティと将来性を兼顾する唯一の選択肢です。

さらにセキュリティトピックの詳細は、「Marshal Madness: Ruby のシリアライズ化攻撃の簡単な歴史」も参考にしてください。

同じ日のほかのニュース

一覧に戻る →

2026/09/23 1:29

Claude Opus 5.5

## Japanese Translation: Anthropic は、新しい Claude 5.5 ファミリーにおける初モデルである Claude Opus 5.5 を導入しました。このモデルは、エリート「Fable」モデルと同等の性能を維持しつつ、大幅なコスト削減(一般的なタスクでは最大 40% のコスト低減、特定のコーディングタスクでは出力速度向上に伴い約 51% のコスト削減)を提供します。このリリースは、Anthropic が「フロンティアを調整する」という戦略的転換を示すものであり、外部評価機関である Frontier Design と METR による検証也得到了確認です。性能向上により、企業は数週間かかっていた大規模なコード移行を数日(例:68 万行のコード移行が 1 日以内に完了)で実行可能にされ、約 40 の複雑な Web ページの読み込み時間を改善できます。 安全性とセキュリティは最優先事項であり、Opus 5.5 はアライメントスコアの向上、プロンプトインジェクションに対する耐性、そして不可逆的な動作が起きる可能性の低減を示しています。サイバーセキュリティ対策として、Fable 5.1 と同等の safeguards が導入されており、多くのタスクは高レベルのセキュリティを持つ Opus 4.8 ルートされ、Cyber Verification Program を通じてアクセス範囲を拡大しています。生命科学のような専門分野も、Life Sciences Verification Program により高度な生物学安全プロトコルを利用できます。価格設定は Opus 5 のレートから引き下げられ、100 万トークンあたり $4/$20 と変更されました。これにより、アジェンティックコーディングタスクにおけるハイエンド性能が、以前のコストのわずか几分额で利用可能となりました。さらに、すべてのプランの購読ユーザーには、5 時間の使用制限増およびレートリミットのリセット特典が提供されます。最後に、ディストイテーション攻撃を緩和するため、2026 年 8 月 31 日以降に新規作成された API アカウントでは「保存された思考」機能が有効化され、トップティアモデルと同等の堅牢なサイバーセキュリティ対策が確保されています。結局のところ、このリリースはエリート AI 能力を民主化し、コスト削減の大幅増、セキュリティの強化、および事業拡大準備のある企業にとっての運用柔軟性の向上をもたらします。

2026/09/23 2:46

「我々はFBIをハッキングした」:ハッカーたちは、彼らがFBIのすべての職員に関するデータを入手していると主張している。

## Japanese Translation: ShinyHunters というハッキンググループは、複数の FBI 関連サービスの侵入に成功し、全ての現在在职員および申請者に関する包括的なデータを盗んだと主張している。同グループの代表者は 404 Media にこの事案を確認した上で、「盗まれた情報には、氏名、自宅住所、電話番号、エージェント配偶者に関するデータなどといった個人情報も含まれている」と述べている。今回の漏洩は深刻なものであり、ShinyHunters は国家安全保障や対諜報活動への危害を目的としてデータを悪用することが知られているため、もしこのデータが悪意ある行為者に入手されると、FBI の職員が物理的な安全に直ちに脅かされ、国外の諜報機関が Am りカンの運用手法を理解するために今回の侵入を悪用する可能性もある。また、同グループのネットワーク内に存在する犯罪者は、過去に盗まれた記録を利用して法執行官を物理的に特定・追跡し、威嚇しており、エージェントとその配偶者に対して深刻な脅威となっている。専門家らは、FBI の職員や内部関係者に対し、直ちに Signal(ID: joseph.404)または電子メール(joseph@404media.co)を通じて 404 Media に連絡するよう要請している。今回の侵入の具体的な範囲に関する詳細な技術情報は、404 Media プラットフォームの有料会員(あるいは同プラットフォームの無料会員)のみが閲覧できるまま制限されている。

2026/09/22 22:52

OpenAI の GPT–6「Astra」が、2005 年以来解決されなかったエニグマの暗号文を解読した

## Japanese Translation: 2026 年 9 月 15 日、GPT–6 Astra は、1941 年 7 月 10 日に送信されたドイツ軍エニigma暗号の文 MVUEH を成功裡に復号化し、2005 年以来続く謎を解決した。カーター・レファーは、AI にクリプトセルラーリサーチウェブページの未解読メッセージを分析させるよう指示を与えたところ、AI は MVUEH(Nr. 172)を選択して対象とした。AI は独自に開発された Python および C++ ソフトウェアを使用してエニigmaの設定をシミュレートし、以前に解決済みの文 Nr. 173 (SIPVX) との関係性を特定するとともに、平文のパターン「ROSENOW ROSENOW」を crib(推測文)として利用した。最も重要なのは、AI が暗号文における微妙な転記エラーを検出した点であり、その中には第 72 の文字で発生した異常なローターの回転など、以前の人間による試みを阻害しかねる要因が含まれていた。従来の同様のメッセージに対する失敗が鍵の未考慮や差異などに起因していたのに対し、Astra はこの独特なローター構成および不具合を 2 日以内に克服し、人間研究者が数ヶ月かかる結果を得た。復号化の後、研究者たちは連邦アーカイフ(特に巻 RS 3–3/20a および RS 3–3/63b)から関連するアーカイブログを発見し、残りの無線電文の全巻について分析を完全に自動化した。フロデ・ヴァイエルユッドのような専門家らは、以前は数ヶ月かかっていたタスクが数日で完了したことは事実であるが、AI は専門家の暗号解析官にとって強力なパートナーでありながら、絶え間ない人間の介入を必要としないとして指摘した。9 月 19 日のアップデートでは、この成果を「非常に驚くべきこと」と形容し、ヴァイエルユッドは同様の画期的成果に感銘を受けていることを表明した。