LWS 1.0 認証スイート: SAML 2.0

W3C作業草案

この文書の詳細
このバージョン:
https://www.w3.org/TR/2026/WD-lws10-authn-saml-20260609/
最新公開バージョン:
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. セキュリティに関する考慮事項

この節は非規範的です。

「Security and Privacy Considerations for the OASIS Security Assertion Markup Language (SAML) V2.0」に記述されているすべてのセキュリティ上の考慮事項が、 この仕様に適用されます。

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

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

この節は非規範的です。

Issue 119: 認証スイートにプライバシーに関する考慮事項の 節を追加する

この節は完成させる必要があります。

A. 参考文献

A.1 規範的参考文献

[LWS10-CORE]
Linked Web Storage Protocol 1.0. W3C. FPWD. URL: https://www.w3.org/TR/lws10-core/
[RFC2119]
RFCにおける要求レベルを示すための キーワード. S. Bradner. IETF. 1997年3月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC6749]
The OAuth 2.0 Authorization Framework. D. Hardt, Ed. IETF. 2012年10月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc6749
[RFC8174]
RFC 2119キーワードにおける大文字と小文字の曖昧性. B. Leiba. IETF. 2017年5月. Best Current Practice. URL: https://www.rfc-editor.org/rfc/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 Token Exchange. M. Jones; A. Nadalin; B. Campbell, Ed.; J. Bradley; C. Mortimore. IETF. 2020年1月. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc8693