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 ID 제공자와 통합할 수 있게 합니다.

이 문서의 상태

이 절은 이 문서가 발행된 시점의 상태를 설명합니다. 현재 W3C 발행물 목록과 이 기술 보고서의 최신 개정판은 다음 W3C 표준 및 초안 색인에서 확인할 수 있습니다.

이는 비공식 제안입니다.

이 문서는 Linked Web Storage 작업 그룹에서 권고안 과정을 사용하여 작업 초안으로 발행했습니다.

작업 초안으로 발행되었다고 해서 W3C와 그 회원들의 승인을 의미하지는 않습니다.

이는 초안 문서이며 언제든지 다른 문서로 갱신, 대체 또는 폐기될 수 있습니다. 진행 중인 작업 이외의 것으로 이 문서를 인용하는 것은 적절하지 않습니다.

이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성했습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지합니다. 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 자신이 보유한 실제 지식에 비추어, 해당 개인이 필수 청구항을 포함한다고 믿는 특허가 있는 경우, 그 개인은 W3C 특허 정책 6절에 따라 해당 정보를 공개해야 합니다.

이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받습니다.

1. 소개

Security Assertion Markup Language (SAML)는 당사자 간에 인증 및 권한 부여 어설션을 교환하기 위한 공개 표준으로, 일반적으로 웹 기반 서비스 제공자(즉, 애플리케이션)와 ID 제공자 사이에서 사용됩니다. 이러한 어설션은 디지털 서명을 포함하는 XML 형식으로 인코딩됩니다. 이 명세는 SAML 기반 ID 토큰을 Linked Web Storage 환경에서 최종 사용자를 인증하는 데 어떻게 사용할 수 있는지를 설명합니다.

2. 적합성

비규범으로 표시된 절뿐 아니라, 이 명세의 모든 저작 지침, 도표, 예제 및 참고 사항은 비규범입니다. 이 명세의 그 밖의 모든 내용은 규범입니다.

이 문서에서 핵심 단어 MUSTSHOULD는 여기에 표시된 것처럼 모두 대문자로 나타나는 경우에만 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. 인증 자격 증명 검증

SAML authentication credential을 검증하려면 발행 ID 제공자와 신뢰 관계가 있어야 합니다. 이 명세는 검증 엔터티가 ID 제공자와 신뢰 관계를 설정하는 방법을 정의하지 않으며, 이러한 관계는 대역 외에서 설정되는 것으로 예상합니다.

발행자와의 신뢰 관계를 사용하여, 자격 증명의 서명은 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 ID 제공자는 authentication credential의 대상을 권한 부여 서버를 포함한 제한된 엔터티 집합으로 제한하는 메커니즘을 지원해야 합니다. 대상 제한이 없는 authentication credential을 보유한 클라이언트는 예를 들어 OAuth 2.0 Token Exchange [RFC8693]를 사용하여 이 토큰을 동등한 대상 제한 토큰으로 교환해야 합니다.

8. 개인정보 보호 고려 사항

이 절은 비규범입니다.

이슈 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]
OAuth 2.0 권한 부여 프레임워크. 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