LWS 1.0 認証スイート: SAML 2.0

W3C作業草案

この文書の詳細
このバージョン:
https://www.w3.org/TR/2026/WD-lws10-authn-saml-20260803/
最新公開バージョン:
https://www.w3.org/TR/lws10-authn-saml/
最新のエディターズ・ドラフト:
https://w3c.github.io/lws-protocol/lws10-authn-saml/
履歴:
https://www.w3.org/standards/history/lws10-authn-saml/
コミット履歴
編集者:
Jesse Wright (オックスフォード大学)
著者:
Aaron Coburn (Inrupt Inc.)
フィードバック:
GitHub w3c/lws-protocol (プルリクエスト, 新しい課題, 未解決の課題)

概要

この文書は、Linked Web Storage (LWS) プロトコル向けのSAMLベースの認証スイートを定義し、 LWSアプリケーションがSAML 2.0アイデンティティ・プロバイダーと統合できるようにします。

この文書のステータス

この節では、この 文書の公開時点におけるステータスを説明します。現在のW3C 公開文書の一覧およびこの技術報告書の最新版は、 W3C標準および草案 インデックスで確認できます。

これは非公式の提案です。

この文書は、Linked Web Storageワーキング グループにより、 勧告 トラックを使用する 作業草案として公開されました。

作業草案としての公開は、 W3Cおよびそのメンバーによる承認を 意味するものではありません。

これは草案文書であり、いつでも他の文書によって 更新、置換、または廃止される可能性があります。この文書を進行中の作業以外のものとして 引用することは適切ではありません。

この文書は、 W3C 特許 ポリシーの下で運営される グループによって作成されました。 W3Cは、 グループの成果物に関連して行われた 特許開示の公開一覧を維持しています。 そのページには、 特許を開示するための手順も含まれています。ある個人が、 その個人が 必須請求項を含むと考える特許について 実際の知識を有する場合、 W3C特許ポリシーの第6節に従って その情報を開示しなければなりません。

この文書は、 2025年8月18日版W3Cプロセス文書に準拠します。

1. はじめに

Security Assertion Markup Language (SAML)は、当事者間で認証および 認可アサーションを交換するためのオープン標準であり、 一般的にはWebベースのサービス・プロバイダー(すなわちアプリケーション)とアイデンティティ・プロバイダーの間で使用されます。これらの アサーションは、デジタル署名を含むXML形式でエンコードされます。 この仕様は、SAMLベースのアイデンティティ・トークンを、Linked Web Storage環境でエンドユーザーを 認証するためにどのように使用できるかを説明します。

2. 適合性

非規範的であると明示された節に加え、この 仕様に含まれるすべての作成ガイドライン、図、例、および注記は非規範的です。この仕様のそれ以外のすべては規範的です。

この文書におけるキーワードMUSTおよびSHOULDは、 ここに示すようにすべて 大文字で現れる場合にのみ、 BCP 14 [RFC2119] [RFC8174] で説明されているとおりに解釈されます。

3. 用語

「authorization server」および「client」という用語は、The OAuth 2.0 Authorization Framework [RFC6749]で定義されています。

「identity provider」および「assertion」という用語は、The Security Assertion Markup Language (SAML) 2.0 [SAML2-CORE]で定義されています。

authentication credential」および「authentication suite」という用語は、Linked Web Storage Protocol [LWS10-CORE]で定義されています

4. 認証クレデンシャルの シリアル化

authentication credentialsとして使用されるSAMLトークンは、 署名されていなければなりません(MUST)。さらに、有効なSAMLトークンは 次のアサーションを含まなければなりません(MUST):

SAMLトークンは、LWSサブジェクト 識別子としてsaml:NameIDアサーションを使用しなければなりません(MUST)。

SAMLトークンは、LWS発行者 識別子としてsaml:Issuerアサーションを使用しなければなりません(MUST)。

SAMLトークンは、LWSクライアント識別子として、 saml:SubjectConfirmationDataアサーション内のRecipientパラメーターを 使用しなければなりません(MUST)。

SAMLトークン内の任意のオーディエンス制限は、saml:Audience アサーションを使用しなければなりません(MUST)。saml:Audienceアサーションは、クライアント 識別子、および認可サーバーなどの追加の対象オーディエンスを含むべきです(SHOULD)。

SAML認証クレデンシャルの例を以下に示します。

<samlp:Response
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    Version="2.0"
    IssueInstant="2025-10-25T01:01:16Z">

  <saml:Issuer>https://idp.example

  <ds:Signature>
    <ds:SignedInfo>
      ...
    <ds:SignedInfo>
  <ds:SignedInfo>

  <samlp:Status>
    <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
  <samlp:Status>

  <saml:Assertion Version="2.0" IssueInstant="2025-10-25T01:01:16Z">
    <saml:Issuer>https://idp.example</saml:Issuer>
    <saml:Subject>
      <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
          https://id.example/end-user
      <saml:NameID>
      <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <saml:SubjectConfirmationData NotOnOrAfter="2025-10-25T02:01:16Z"
                                      Recipient="https://app.example/SAML"/>
      <saml:SubjectConfirmation>
    <saml:Subject>
    <saml:Conditions NotBefore="2025-10-25T01:01:16Z"
                     NotOnOrAfter="2025-10-25T02:01:16Z">
      <saml:AudienceRestriction>
        <saml:Audience>https://app.example/SAML
        <saml:Audience>https://as.example
      <saml:AudienceRestriction>
    <saml:Conditions>
  <saml:Assertion>
<samlp:Response>

5. 認証クレデンシャルの 検証

SAMLauthentication credentialを検証するためには、 発行元のアイデンティティ・プロバイダーとの信頼関係が存在していなければなりません。 この仕様は、検証エンティティがアイデンティティ プロバイダーとの信頼関係をどのように確立するかを定義せず、 これらの関係が帯域外で確立されることを想定しています。

発行者との信頼関係を使用して、クレデンシャルの署名は、SAML Coreの第5節 [SAML2-CORE]に記述されているとおりに 検証されなければなりません(MUST)。

6. トークン型識別子

authentication credentialとして使用されるSAML 2.0アサーションは、 認可サーバーと相互作用する際に、urn:ietf:params:oauth:token-type:saml2 URIを 使用しなければなりません(MUST)。

7. セキュリティに関する考慮事項

この節は非規範的です。

OASIS Security Assertion Markup Language (SAML) V2.0 のセキュリティおよびプライバシーに関する考慮事項」 [SAML2-SEC] に記載されているすべてのセキュリティに関する考慮事項が、この仕様に適用される。

SAMLアイデンティティ・プロバイダーは、authentication credentialのオーディエンスを、 認可サーバーを含む限定されたエンティティの集合に制限する 仕組みをサポートするべきです。オーディエンス制限のない authentication credentialを保持するクライアントは、 たとえばOAuth 2.0 Token Exchange [RFC8693]を使用して、このトークンを同等のオーディエンス制限付きトークンと 交換するべきです。

8. プライバシーに関する考慮事項

この節は非規範的です。

OASIS Security Assertion Markup Language (SAML) V2.0 のセキュリティおよびプライバシーに関する考慮事項」 [SAML2-SEC] に記載されているすべてのプライバシーに関する考慮事項が、この仕様に適用される。

認証資格情報として使用される SAML アサーションには、 エンドユーザーに関する個人を特定可能な情報を明らかにする属性が含まれる場合がある。アイデンティティプロバイダーには、 LWS 認証に必要な情報のみを含むアサーション、具体的には saml:NameIDsaml:Issuersaml:Audience 要素、および saml:SubjectConfirmationDataRecipient 属性のみを含むアサーションを発行し、 明示的に必要とされない限り、追加のアイデンティティ属性を含めないことが推奨される。

saml:NameID 要素は、LWS サブジェクト識別子として使用される。 永続的な名前識別子形式を使用すると、検証者およびストレージサーバーは、 セッションやリソースをまたいでエンドユーザーの活動を関連付けることができる。一時的な名前識別子を サポートするアイデンティティプロバイダーは、この関連付けを軽減できるが、デプロイ担当者は、 一時的な識別子が自身の LWS デプロイメントのアクセス制御要件と互換性があるかどうかを 評価する必要がある。

この仕様における SAML の信頼モデルは、 アイデンティティプロバイダーとの帯域外での信頼確立に依存している。 これは、検証中にサブジェクト識別子を参照解除する手順が存在しないことを意味し、 それに伴うメタデータ漏洩を回避できる。ただし、帯域外の信頼関係自体によって、 デプロイメント内でどのアイデンティティプロバイダーが使用されているかが明らかになる。

ストレージサーバーまたは認可サーバーに提示された SAML アサーションは、 それらの当事者が読み取ることができる。オーディエンス制限(saml:AudienceRestriction 要素による)は、アサーションの対象となる当事者を制限するが、転送中に 仲介者がアサーションの内容を読み取ることを防ぐものではない。TLS の使用は、 送信中の認証資格情報を保護するために不可欠である。

A. 参考文献

A.1 規範的参考文献

[LWS10-CORE]
Linked Web Storage プロトコル 1.0。W3C。 初回公開作業草案。URL: https://www.w3.org/TR/lws10-core/
[RFC2119]
要件レベルを示すために RFC で使用する キーワード。S. Bradner。IETF。1997年3月。現行の最良慣行。URL: https://www.rfc-editor.org/info/rfc2119/
[RFC6749]
OAuth 2.0 認可 フレームワーク。D. Hardt 編。IETF。2012年10月。標準化への提唱。URL: https://www.rfc-editor.org/info/rfc6749/
[RFC8174]
RFC 2119 のキーワードにおける大文字と小文字の 曖昧さ。B. Leiba。IETF。2017年5月。現行の最良慣行。URL: https://www.rfc-editor.org/info/rfc8174/
[SAML2-CORE]
SAML V2.0 のアサーションと プロトコル。Scott Cantor; John Kemp; Rob Philpott; Eve Maler。2005年 3月15日。URL: https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

A.2 参考情報の参考文献

[RFC8693]
OAuth 2.0 トークン交換。M. Jones; A. Nadalin; B. Campbell 編; J. Bradley; C. Mortimore。IETF。2020年1月。標準化への提唱。 URL: https://www.rfc-editor.org/info/rfc8693/
[SAML2-SEC]
OASIS Security Assertion Markup Language (SAML) V2.0 のセキュリティおよびプライバシーに関する考慮事項 。OASIS。2005年3月。URL: https://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf