Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
이 문서는 Linked Web Storage (LWS) 프로토콜을 위한 인증 스위트를 정의하며, 자신의 신원 토큰에 서명할 수 있는 클라이언트가 LWS와 통합할 수 있도록 합니다.
이 섹션은 발행 당시 이 문서의 상태를 설명합니다. 현재 W3C 간행물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.
이것은 비공식 제안입니다.
이 문서는 Linked Web Storage Working Group이 권고안 트랙을 사용하여 작업 초안으로 발행했습니다.
작업 초안으로의 발행은 W3C 및 그 회원들의 승인을 의미하지 않습니다.
이것은 초안 문서이며 언제든지 다른 문서로 업데이트, 대체 또는 폐기될 수 있습니다. 이 문서를 진행 중인 작업이 아닌 다른 것으로 인용하는 것은 부적절합니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹이 작성했습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지하며, 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 개인이 필수 청구항을 포함한다고 믿는 특허에 대한 실제 지식을 가지고 있는 경우, W3C 특허 정책 섹션 6에 따라 해당 정보를 공개해야 합니다.
이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받습니다.
자체 발행 신원은 애플리케이션이 자신을 대신하여 동작하는 경우에 중요합니다.
여기에는 자율 봇뿐만 아니라 서버 측 스크립트 등이 포함됩니다.
이러한 경우 에이전트는
키 쌍의 비공개 부분을 안전하게 관리할 수 있으며, 이를 사용하여 서명된 JSON Web Token
(JWT)을 생성합니다.
이 명세는 이러한 종류의 에이전트가
did:key:
메서드를 사용하는 에이전트 식별자를 사용하면서
Linked Web Storage와 함께 사용할 수 있는 인증 자격 증명을
생성하는 방법을 설명합니다.
비규범으로 표시된 섹션뿐만 아니라, 이 명세의 모든 작성 지침, 다이어그램, 예제 및 참고는 비규범입니다. 이 명세의 그 밖의 모든 내용은 규범적입니다.
이 문서의 핵심 단어 MAY, MUST, 그리고 MUST NOT은 여기에 표시된 것처럼 모두 대문자로 나타날 때에만, BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석되어야 합니다.
"authorization server"와 "client"라는 용어는 The OAuth 2.0 Authorization Framework [RFC6749]에서 정의합니다.
"JSON Web Token (JWT)"와 "claim"이라는 용어는 JSON Web Token [RFC7519]에서 정의합니다.
"agent", "authentication credential", 그리고 "authentication suite"라는 용어는 Linked Web Storage Protocol [LWS10-CORE]에서 정의합니다.
자체 발행 인증 자격 증명은 서명된 JSON Web Token (JWT)으로 직렬화됩니다. JWT를 LWS 인증 자격 증명으로 사용하려면 다음 추가 요구사항이 적용됩니다.
sub (subject) 클레임을 사용해야 MUST
합니다. 주체 식별자는 did:key: URI를 사용해야 MUST 합니다.
iss (issuer) 클레임을 사용해야 MUST
합니다.
client_id (client ID) 클레임을 사용해야 MUST
합니다.
sub, iss, 그리고 client_id 클레임은 MUST
모두 동일한 URI 값을 사용해야 합니다.
aud
(audience) 클레임을 사용해야 MUST 합니다. aud 클레임은 대상
권한 부여 서버를 포함해야 MUST 합니다.
exp (expiration) 클레임을
포함해야 MUST 합니다.
iat (issued at) 클레임을
포함해야 MUST 합니다.
LWS 인증 자격 증명이기도 한 예제 JWT가 아래에 포함되어 있습니다.
{
"kty": "EC",
"alg": "ES256",
"typ": "JWT",
"crv": "P-256"
}
.
{
"sub": "did:key:zDnaerx9CtbPJ1q36T5Ln5wYt3MQYeGRG5ehnPAmxcf5mDZpv",
"iss": "did:key:zDnaerx9CtbPJ1q36T5Ln5wYt3MQYeGRG5ehnPAmxcf5mDZpv",
"client_id": "did:key:zDnaerx9CtbPJ1q36T5Ln5wYt3MQYeGRG5ehnPAmxcf5mDZpv",
"aud": ["https://as.example"],
"iat": 1761313600,
"exp": 1761313900
}
.
signature
did:key 메서드를 사용하는 주체 식별자의 경우, 검증자는 "The did:key Method"
[did-key]
섹션 3.1.3에 설명된 대로 식별자 자체에서 공개 키를 추출합니다.
이 공개 키를 사용하여 JWT의 서명은 [RFC7515] 섹션 5.2에 설명된 대로
검증되어야 MUST 합니다.
검증자는 인증 자격 증명 데이터 모델이 설명하는 모든 클레임을 검증해야 MUST 합니다.
검증자는 현재 시간이 exp 클레임이 나타내는 시간보다 이전인지 보장해야
MUST 합니다. 구현자는 시계 오차를 고려하기 위해 약간의 허용 오차를
제공할 수 MAY 있습니다.
인증 자격
증명으로 사용되는
자체 발행 JSON Web Token은 권한 부여 서버와 상호 작용할 때
urn:ietf:params:oauth:token-type:jwt URI를 사용해야 MUST 합니다.
이 섹션은 비규범입니다.
"Best Current Practice for OAuth 2.0 Security" [RFC9700] 및 "OpenID Connect Core 1.0" 섹션 16 [OPENID-CONNECT-CORE]에 설명된 모든 보안 고려사항은 이 명세에 적용됩니다.
이 섹션은 비규범입니다.
이 섹션은 완성되어야 합니다.