Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
이 명세는 검증 가능 자격 증명 데이터 모델 v2.0과 함께 사용하여 검증자가 검증 가능 자격 증명의 제시자가 실제로 그 사용에 적절한 관계가 있음을 더욱 확신할 수 있도록 하는 메커니즘을 정의합니다. 가장 단순한 상황에서는 제시자가 해당 자격 증명의 원래의 정당한 수신자임을 의미합니다. 이 명세는 검증 가능 자격 증명에서 신뢰 방법과 증거를 표현하기 위한 데이터 모델을 정의하고 이를 사용하는 방법에 대한 예제를 제공합니다.
이 절에서는 이 문서가 게시된 시점의 상태를 설명합니다. 현재 W3C 간행물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.
이것은 실험적인 명세이며 정기적으로 개정되고 있습니다. 프로덕션 환경에 배포하기에는 적합하지 않습니다.
이 문서는 검증 가능 자격 증명 작업 그룹에서 권고안 트랙을 사용하여 작업 초안으로 게시했습니다.
작업 초안으로 게시되었다는 것은 W3C 및 그 회원이 이를 승인했음을 의미하지 않습니다.
이 문서는 초안이며 언제든지 다른 문서에 의해 업데이트되거나 대체되거나 폐기될 수 있습니다. 진행 중인 작업 이외의 것으로 이 문서를 인용하는 것은 적절하지 않습니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성했습니다. W3C는 이 그룹의 결과물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지하며, 해당 페이지에는 특허를 공개하기 위한 지침도 포함되어 있습니다. 자신이 필수 청구항을 포함한다고 믿는 특허에 대해 실제로 알고 있는 개인은 W3C 특허 정책 제6절에 따라 해당 정보를 공개해야 합니다.
이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받습니다.
이 절은 비규범적입니다.
이 명세는 검증자가 검증 가능 자격 증명 또는 검증 가능 프레젠테이션에 포함되거나 이와 관련된 속성 값이 정확하다는 신뢰도를 높이기 위해 사용할 수 있는 메커니즘을 정의합니다.
특히 현재 제시자가 주체 중 특정 검증 가능 자격 증명의 주체인지 판단하는 것은 검증자에게 중요한 문제입니다.
이를 위해 이 명세는 발급자가 검증자에게 주어진 검증 가능 자격 증명의 제시가 적법하다는 신뢰도를 높이는 데 도움을 주기 위해 사용할 수 있는 두 가지 확장 가능한 메커니즘을 정의합니다.
confidenceMethod 속성을 통해 발급자는 후보 당사자가 VC의 주체 중 하나라는 신뢰도를 높이기 위한 구체적인 기법을 제공할 수 있습니다. 예를 들어 혼인 증명서를 제시하는 사람이 관련 당사자 중 한 명, 즉 주례자, 배우자 중 한 명 또는 증인 중 한 명이라는 신뢰도를 높일 수 있습니다.
confidenceMethod 속성은 제시자가 VC에서 자신이 해당 주체임을 입증하는 데 사용할 수 있는 특정 생체 정보, 암호화 키 또는 기타 메커니즘을 지정하는 데 사용할 수 있습니다. 제시자에게 신뢰 방법을 사용하도록 요구할지, 아니면 예를 들어 제시자가 발급자가 VC에서 주장을 한 대상과 동일한 엔터티인지에 대한 신뢰도를 높이기 위해 다른 메커니즘을 사용할지는 검증자가 결정합니다. 이러한 결정은 특정 사용 사례에서 VC를 수락할 때 검증자의 책임에 영향을 줄 수 있습니다.
assuranceLevel 속성을 통해 발급자는 자격 증명을 최초 수신자에게 발급하기 전에 발급자가 확립한 보증 수준을 선언할 수 있습니다. 예를 들어 발급자는 특정 신원 증명 절차를 사용했음을 선언하여 [NIST-SP-800-63-4]에 정의된 IAL 3과 같은 표준 보증 수준을 나타낼 수 있습니다. 이는 검증자가 해당 자격 증명을 수락할지에 대해 자체적으로 충분한 정보를 바탕으로 결정할 때 입력값으로 사용할 수 있도록, 발급자가 발급 당시 보유했던 보증 수준을 이해하는 데 도움을 줄 수 있습니다.
이 두 메커니즘은 모두 JSON-LD를 사용하여 확장할 수 있으며, 새로운 유형의 신뢰 방법 또는 보증 수준을 정의할 수 있습니다.
예를 들어 고용주( 발급자)가 직원에게 기업 신분증을 발급할 때( 해당 직원이 주체), 발급 절차 중 직원에게 특정 암호화 키(검증 방법)를 검증 가능 자격 증명에 바인딩하도록 요구할 수 있습니다. 이 경우 발급자는 이 명세를 사용하여 최초 신원 보증 절차에서 어떤 암호화 키가 바인딩되었는지를 검증자에게 전달할 수 있습니다.
다시 말해 발급자는 이 명세를 사용하여 주장을 검증 가능 자격 증명에 바인딩하기 위해 사용한 입증 가능한 메커니즘을 전달함으로써 검증자가 다음을 비롯한 다양한 사항의 진실성에 대한 신뢰도를 높일 수 있도록 할 수 있습니다.
이 문서 전체에서 사용되는 일부 용어는 검증 가능 자격 증명 데이터 모델 v2.0 명세의 용어 절과 제어된 식별자 v1.0 명세의 용어 절에 정의되어 있습니다. 이 절에서는 이 명세 전체에서 사용되는 추가 용어를 정의합니다.
비규범적으로 표시된 절뿐만 아니라, 이 명세의 모든 작성 지침, 다이어그램, 예제 및 참고 사항은 비규범적입니다. 이 명세의 그 밖의 모든 내용은 규범적입니다.
이 문서에서 핵심어 할 수 있습니다, 반드시 해야 합니다, 필수입니다, 및 하는 것이 좋습니다는 BCP 14 [RFC2119] [RFC8174] 에 설명된 대로 해석해야 하며, 여기에서 보인 것처럼 모두 대문자로 표시된 경우에만 그렇게 해석해야 합니다.
적합 문서란 4. 데이터 모델 절의 관련 규범적 요구 사항을 따르는 데이터 모델의 모든 구체적인 표현입니다.
적합 프로세서란 적합 문서를 생성하거나 소비하는 소프트웨어 및/또는 하드웨어로 구현된 모든 알고리즘입니다. 적합 프로세서는 부적합 문서를 소비할 때 오류를 생성해야 합니다.
이 절은 비규범적입니다.
검증 가능 자격 증명 명세에서는 증거 속성을 정의합니다:
발급자는 검증 가능 자격 증명에 추가적인 뒷받침 정보를 검증자에게 제공하기 위해 증거를 포함할 수 있습니다. 검증자는 이를 사용하여 검증 가능 자격 증명의 주장에 어느 정도 신뢰를 두고 의존할지를 결정할 수 있습니다. 예를 들어 발급자는 자격 증명을 발급하기 전에 주체가 제공한 물리적 문서를 확인하거나 일련의 신원 조회를 수행할 수 있습니다. 특정 시나리오에서는 주어진 자격 증명에 의존할 때 발생하는 위험을 검증자가 판단하는 데 이 정보가 유용합니다.
이 속성은 자격 증명의 최상위 수준에서 사용되어 사실상 전체 자격 증명에 대한 "뒷받침 정보"를 제공할 것으로 예상됩니다.
명세에 제공된 예제는 이를 어떻게 사용할 수 있는지 보여 줍니다:
{
...
"evidence": [{
// 외부에 호스팅된 증거 파일/아티팩트의 URL
"id": "https://videos.example/training/alice-espresso.mp4",
"type": ["Evidence"],
"name": "Talk-aloud video of double espresso preparation",
"description": "This is a talk-aloud video of Alice demonstrating preparation of a double espresso drink.",
// mp4 비디오 파일의 다이제스트 해시
"digestMultibase": "uELq9FnJ5YLa5iAszyJ518bXcnlc5P7xp1u-5uJRDYKvc"
}
]
}
이 예제에는 다음 참고 사항이 함께 제공됩니다:
evidence 속성은 사용되는 보안 메커니즘과
다른
정보를
제공합니다. evidence
속성은
검증 가능
자격 증명과
관련된 문서 증거와 같은
뒷받침 정보를 표현하는 데
사용됩니다.
반면 보안
메커니즘은
발급자의
진위성과 검증 가능 자격 증명의
무결성에 관련된 기계 검증 가능한 수학적 증명을
표현하는 데
사용됩니다.
보안 메커니즘에 대한
자세한
내용은
#보안 메커니즘 절을 참조하십시오.
앞서 보여 준 것처럼 evidence 속성은 예제의 mp4 비디오 파일과 같은 증거를 제공할 것으로 예상됩니다.
이 명세에서는 불필요한 개인정보를 공개하지 않으면서 특정 주체에 대한 검증자의 신뢰도를 높이는 메커니즘을 제공하는 두 가지 추가 수단을 제시합니다. 추가적인 "증거"를 제공하는 대신, confidenceMethod와 assuranceLevel이라는 추가 속성은 발급자가 제공하는 별개의 증명을 제공합니다:
| evidence | 최상위 수준의 속성으로, 발급자 또는 소유자와의 추가적인 상호작용 없이 검증자가 독립적으로 평가할 수 있는 증거를 제공합니다. 예를 들어 발급자는 주체가 작업 수행과 같은 특정 동작을 수행하는 영상을 제공할 수 있습니다. |
|---|---|
| confidenceMethod | 주체 수준의 속성으로, 검증자가 VC의 주체가 다른 상호작용의 주체와도 동일하다는 신뢰도를 높이는 데 사용할 수 있는 메커니즘을 정의합니다. 예를 들어 발급자는 공개 키와 같은 검증 방법을 제공할 수 있으며, 검증자는 이를 통해 사용 증명 프로토콜을 적용하여 현재 사용자가 발급자가 주체의 통제하에 있다고 믿는 것과 동일한 암호화 비밀을 사용해 암호화 챌린지에 서명할 수 있는 능력이 있음을 확인할 수 있습니다. 이를 "제어 증명"이라고 부르기도 합니다. |
| assuranceLevel | 주체 수준의 속성으로, 발급자가 NIST-SP-800-63-4 및 EIDAS2와 같은 공개 표준에 따라 알려진 보증 수준을 확립했음을 증명할 수 있도록 합니다. 평가할 증거 또는 적용할 메커니즘을 제공하는 대신, 이 속성은 자격 증명을 발급하기 전에 주체를 식별하기 위해 발급자가 사용한 자체 절차를 단순히 설명합니다. |
이 명세는
검증 가능
자격 증명의 credentialSubject에서 신뢰 방법 정보를
표현하기 위한 confidenceMethod 속성을 정의합니다.
존재하는 경우 confidenceMethod 속성의 값은
아래에 정의된 하나 이상의
신뢰 방법입니다. 각 신뢰 방법은 특정한
신뢰 방법의 유형과 해당 방법을 평가하는 데 필요할 수 있는
모든 참조 데이터를 지정합니다. 이 방법은
주체와
검증
가능
자격 증명에서 바인딩되며,
검증자가
특정 후보 당사자가 자신의 목적상 자격 증명에서 참조된
동일한 엔터티인지 평가하기에 충분한
정보를 제공합니다. 검증자는 신뢰
방법을 평가하고 해당 방법의 절차를 실행합니다. 성공적인
평가는 자격 증명이 해당 신뢰 방법을 충족했음을 나타내며,
검증자는 서비스를 제공할 때 그 판단에 안전하게
의존할 수 있습니다.
각 신뢰 방법은 type을 지정해야 하며 id를
지정할 수 있습니다.
각 신뢰 방법의 정확한 속성과 의미는
특정 confidenceMethod 유형 정의에 의해 결정됩니다.
존재하는 경우 assuranceLevel 속성의 값은
아래에 정의된 하나 이상의 보증 수준입니다. 각 보증
방법은 특정 보증 수준 유형과
해당 방법을 평가하는 데 필요할 수 있는
모든 참조 데이터를 지정합니다. 이 방법은
주체와
검증 가능
자격 증명에서 바인딩되며,
발급 당시 발급자가 해당 주체에 대해 가지고 있던
보증 수준에 관한 정보를 제공합니다. 이는
검증자가
해당 주체에 대한 자체 보증 수준을 어떤 수단으로
확립했는지 이해하는 데 도움을 줄 수 있습니다. 서로 다른
주체는 서로 다른 보증 수준을 가질 수 있으므로,
발급자는 동일한 자격 증명 내의 서로 다른 주체에 대해
서로 다른 보증 수준을 사용할 수 있습니다. 예를 들어 발급자는
혼인 증명서에서 주례자 또는 배우자인 주체에는
높은 보증 수준을 사용할 수 있지만, 해당 의식의
증인에게는 더 낮은 보증 수준을 사용할 수 있습니다.
각 보증 수준은 type을 지정해야 하며 id를
지정할 수 있습니다.
각 보증 수준의 정확한 속성과 의미는
특정 assuranceLevel 유형 정의에 의해 결정됩니다.
검증자는 신뢰 방법 사용을 요구하지 않고 주장을 검증 가능 자격 증명에서 수락하기로 결정하거나, 예를 들어 소유자가 발급자가 주장을 한 엔터티와 동일한지에 대한 신뢰도를 높이기 위해 다른 메커니즘을 사용할 수 있습니다. 이러한 결정은 특정 사용 사례에서 검증자가 검증 가능 자격 증명을 수락할 때의 책임에 영향을 줄 수 있습니다.
검증자는
신뢰 방법의 정보를 사용하여
검증 가능
프레젠테이션의
증명을 검증함으로써
소유자가 신뢰 방법을 제어하거나
이를 사용할 수 있도록
지정되었음을 검증할 수 있습니다.
신뢰 방법에는
검증 키가 포함될 수 있으며,
신뢰 방법의 유형은 검증 키를
credentialSubject.id와 같은
검증 가능 자격
증명의
다른 속성에서 추론하도록
정의할 수 있습니다.
다음 예제는 공개 암호화 키, 검증 방법 및 탈중앙화 식별자 문서를 포함해 사용할 수 있는 다양한 유형의 신뢰 방법을 보여 줍니다.
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": "https://example.edu/issuers/14",
"validFrom": "2010-01-01T19:23:24Z",
"credentialSubject": {
"confidenceMethod": [{
"type": "BiometricImage",
"biometricModality": "face",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD"
}, {
"id": "urn:uuid:818d5ca0-3978-11f0-8658-4f17a1afd652#key-abc",
"type": "JsonWebKey",
"controller": "urn:uuid:818d5ca0-3978-11f0-8658-4f17a1afd652",
"publicKeyJwk": {
"crv": "Ed25519",
"x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
"kty": "OKP",
"kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A"
}
}, {
"id": "did:example:123#key-567",
"type": "Multikey",
"controller": "did:example:123",
"publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
}, {
"id": "did:example:1234",
"type": "DecentralizedIdentifierDocument"
}],
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
},
"proof": { ... }
}
VerificationConfidence는 DID 문서와 같은 제어된 식별자 문서에서 검증 방법을 사용하는 방식을 지정합니다.
BiometricImage는 자격 증명의 주체를 인식하기 위해 검증 가능 자격 증명에서 이미지를 사용하는 방식을 지정합니다.
추후 결정
BiometricImage를 사용하면 발급자가 주체의 이미지를 검증 가능 자격 증명에 포함하여, 검증자가 해당 이미지를 자격 증명을 제시하는 사람과 비교하고 제시자가 주체, 즉 발급자가 주장한 대상이라는 신뢰도를 높일 수 있습니다.
생체 인식 이미지 신뢰도 방법은 다음 속성으로 정의됩니다:
typeBiometricImage여야 합니다.
biometricModalityface를 정의합니다. 다른 값도
사용할 수 있지만 추가적인 표준화 없이는 상호 운용성이
보장되지 않습니다.
imagebase64
인코딩을 사용하는 data: URL [RFC2397]이며,
미디어 유형은 image/jpeg 또는
image/png와 같은 이미지 미디어 유형입니다. 이미지는 역참조 가능한 URL로 참조하지 않고 검증 가능
자격 증명에 반드시 포함해야 합니다.
검증자는
BiometricImage를 평가할 때
검증 가능
자격 증명을
검증하고,
image 값을 디코딩한 다음 디코딩된 이미지를
자격 증명을 제시하는 사람과 비교합니다.
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": "https://example.edu/issuers/14",
"validFrom": "2010-01-01T19:23:24Z",
"credentialSubject": {
"confidenceMethod": {
"type": "BiometricImage",
"biometricModality": "face",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD"
},
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
},
"proof": { ... }
}
암호 키 신뢰도 방법을 사용하면 발급자가 Multikey 또는 JsonWebKey와 같은 형식으로 표현된 특정 암호화 공개 키를 주체와 검증 가능 자격 증명에서 결합할 수 있습니다. 발급자는 발급 및 제시 시점에 주체가 직접 또는 주체를 대신하여 사용할 수 있다고 간주되는 공개 키를 기록합니다(사용 증명). 발급자는 발급 전에 해당 공개 키와 연결된 개인 키의 사용을 확인하는 것이 좋습니다. 이를 통해 검증자는 제시자가 대응하는 개인 키를 제어하는지 확인하는 데 사용할 수 있는 암호화 기준점을 얻습니다. 이 결합은 발급자가 선언하고 자격 증명의 보안 메커니즘으로 보호하므로, 검증자는 암호 키 자료가 발급 시점에 발급자가 검증한 내용을 반영한다고 신뢰할 수 있습니다.
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": ["VerifiableCredential", "EmployeeCredential"],
"issuer": "https://example.com/issuers/42",
"validFrom": "2026-07-15T00:00:00Z",
"credentialSubject": {
"name": "Alice Doe",
"confidenceMethod": [{
// 공개 키를 인라인으로 표현
"type": "Multikey",
"publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
}, {
// 공개 키를 참조로 표현
"id": "did:example:123456789#key-1",
"type": "Multikey"
}, {
// 여러 공개 키 형식을 지원
"type": "JsonWebKey",
"publicKeyJwk": {
"crv": "Ed25519",
"x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
"kty": "OKP",
"kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A"
}
}]
},
"proof": { ... }
}
검증 가능 프레젠테이션 중에 검증자는 신뢰도 방법의 공개 키를 사용하여 사용 증명 프로토콜을 실행합니다. 검증자는 일반적으로 세션에 바인딩된 nonce인 암호화 챌린지를 발행하고, 소지자는 신뢰도 방법에 기록된 공개 키에 대응하는 개인 키를 사용하여 챌린지에 서명합니다. 그런 다음 검증자는 선언된 공개 키를 기준으로 해당 서명을 검증합니다. 검증에 성공하면 제시자가 발급 시 발급자가 주체에 결합한 개인 키를 제어한다는 것이 확인되어, 제시자가 검증 가능 자격 증명의 의도된 주체라는 신뢰도가 높아집니다.
제어된 식별자 신뢰도 방법을 사용하면 발급자가 주체를 특정 키를 검증 가능 자격 증명에 직접 포함하는 대신, 해당 주체가 제어하는 제어된 식별자 문서와 결합할 수 있습니다. 분산 식별자(DID)는 잘 알려진 제어된 식별자의 한 유형입니다. 발급자는 발급 시점에 검증된 주체의 제어된 식별자를 기록하며, 이를 통해 검증자는 현재 제어된 식별자 문서를 가져와 제시 시점에 주체의 인증 검증 관계에 나열된 검증 방법을 확인할 수 있습니다. 이 접근 방식은 주체의 암호화 자료에 대한 키 교체 및 기타 수명 주기 변경을 수용하면서도, 발급자가 검증 가능 자격 증명을 다시 발급할 필요가 없도록 합니다. 단, 주체가 식별자 자체에 대한 제어권을 유지해야 합니다.
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": ["VerifiableCredential", "MembershipCredential"],
"issuer": "https://example.org/issuers/7",
"validFrom": "2026-07-01T00:00:00Z",
"credentialSubject": {
"name": "Alex Utopian"
"memberOf": {
"name": "Utopia Libraries"
},
"confidenceMethod": "did:example:ebfeb1f712ebc6f1c276e12ec21",
},
"proof": { ... }
}
검증 가능 프레젠테이션 중에 검증자는 신뢰도 방법의 제어된 식별자를 해석하여 현재 제어된 식별자 문서를 가져옵니다. 검증자는 해당 문서의 검증 방법 중 인증 검증 관계에 나열된 것들을 추출한 다음 암호화 챌린지를 발행하고, 소지자에게 이러한 인증 검증 방법 중 하나를 사용하여 증명을 생성하도록 요청합니다. 소지자가 권한이 부여된 키로 챌린지에 성공적으로 서명하면, 검증자는 제시자가 발급 시점에 발급자가 주체와 연결한 식별자를 제어한다는 신뢰를 얻게 됩니다. 제어된 식별자 문서는 주체가 유지 관리하므로, 이 프로토콜은 키 교체를 투명하게 수용합니다. 소지자는 발급자에게서 새 자격 증명을 받을 필요 없이 현재 권한이 부여된 인증 키를 사용하여 제시할 수 있습니다.
추후 결정
base64url로 인코딩된 CBOR이 이 정보를 보관하는
더 나은 접근 방식일 수 있습니다.
BiometricVectorConfidenceMethod를 사용하면 발급자가 생체 인식 벡터를 검증 가능 자격 증명에 포함하여 검증자가 제시자가 발급자가 주장한 대상과 동일한 사람이라는 신뢰도를 높일 수 있습니다. 원시 생체 인식 데이터(예: 사진, 오디오 녹음)와 달리 생체 인식 벡터는 매칭 모델에서 생성된 압축된 수학적 표현입니다. 서로 다른 모델의 벡터는 서로 대체할 수 없습니다.
판매 시점의 연령 검증. 소비자가 연령 제한 상품을 구매할 때 현재는 점원이 소비자의 실물 신분증을 직접 취급하므로 전체 이름, 주소 및 생년월일이 노출되어 신원 도용과 신체적 안전 위험이 발생합니다. 생체 인식 벡터 신뢰도 방법을 사용하면 소비자의 기기가 생체 인식 매칭을 수행하고 서명된 검증 결과만 판매 시점 시스템에 전송합니다. 점원은 소비자의 개인 정보를 볼 수 없으며 문서의 진위를 판단할 필요도 없습니다.
계정 복구. 사용자가 비밀번호를 잊거나 기기를 분실하여 계정에 접근할 수 없게 되면 서비스 제공자는 일반적으로 안전하지 않은 지식 기반 인증이나 수동 지원 절차에 의존합니다. 생체 인식 벡터 신뢰도 방법을 사용하면 새로 캡처한 생체 인식 정보를 등록 시 저장된 벡터와 비교하여 자동 복구할 수 있습니다. 이는 보안 질문보다 강력하고 고객 지원보다 빠르며 사진을 저장할 필요도 없습니다.
모바일 자격 증명 제시자 제한. 모바일 운전면허증과 같은 디지털 자격 증명은 제시자가 적법하고 의도된 제시자인지 검증하는 메커니즘이 없으면 권한이 없는 사람에게 전달될 수 있습니다. 생체 인식 벡터 신뢰도 방법은 제시자를 암호학적으로 검증합니다. 자격 증명에는 등록된 벡터가 포함되며 제시자는 제시 시점에 새로운 생체 인식 매칭을 통해 권한이 있는 소유임을 증명합니다.
원격 온보딩 및 신원 증명. 조직이 고용, 금융 서비스 또는 정부 혜택 등에서 원격으로 개인의 신원을 검증해야 할 때 생체 인식 벡터 신뢰도 방법을 사용하면 직접 대면하지 않고 검증된 신원을 자격 증명에 결합할 수 있습니다. 생체 인식 매칭은 원격으로 자신을 제시하는 사람이 발급 과정에서 신원이 증명된 사람과 동일한지 확인하여 개인정보를 보호하면서 사기를 줄입니다.
생체 인식 벡터 신뢰도 방법은 다음 속성을 반드시 지정해야 합니다:
idtypeBiometricVectorConfidenceMethod여야 합니다.
biometricModalityface, voice,
fingerprint, palmprint, iris, retina가 있습니다.
captureFormatvideo, static-image,
image-sequence, audio가 있습니다.
biometricModeltype 속성
(반드시 BiometricMatchingModel이어야 함)과
matchingModel 속성
(공급업체 및 모델 식별자, 예: example-biometric-2026-v3.2)을 포함합니다.
biometricVectors생체 인식 벡터 신뢰도 방법은 다음을 지정할 수도 있습니다:
serviceid, type (BiometricVerificationService) 및
serviceEndpoint
속성을 포함합니다.
두 가지 구현 시나리오, 즉 클라이언트 측 로컬 처리와
사용자가 선택한 제공자를 지원합니다. 두 경우 모두 새로운 생체 인식 샘플을
캡처하여 등록된 벡터와 비교합니다. 결과는
BiometricVerificationCredential로 표현됩니다.
이 시나리오에서는 생체 인식 검증이 전적으로 소지자의 기기에서 이루어집니다. 생체 인식 데이터는 기기 밖으로 나가지 않으며, 영지식 증명이 일치 여부를 입증합니다.
다음 예제는 클라이언트 측 검증을 위한 생체 인식 벡터 신뢰도 방법이 포함된 자격 증명을 보여 줍니다:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": "https://example.edu/issuers/14",
"validFrom": "2026-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"confidenceMethod": {
"id": "urn:uuid:a7f8c3d1-4b2e-4f9a-8c6d-1e3b5a7f9c2d",
"type": "BiometricVectorConfidenceMethod",
"biometricModality": "face",
"captureFormat": "video",
"biometricModel": {
"type": "BiometricMatchingModel",
"matchingModel": "example-biometric-2026-v3.2"
},
"biometricVectors": "uAVvLMv6gm...MNam"
},
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science"
}
}
}
소지자의
기기는 새로운 생체 인식 샘플을 캡처하고 등록된 biometricVectors와
로컬에서 비교한 다음, 일치함을 선언하는
BiometricVerificationCredential을 생성합니다.
검증 출력의 credentialSubject.id는 위 자격 증명의
신뢰도 방법 id를 참조하여 검증 결과를
특정 생체 인식 등록과 연결한다는 점에 유의하십시오:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": ["VerifiableCredential", "BiometricVerificationCredential"],
"issuer": "did:example:holder-device",
"validFrom": "2026-05-15T14:30:00Z",
"validUntil": "2026-05-15T14:45:00Z",
"credentialSubject": {
"id": "urn:uuid:a7f8c3d1-4b2e-4f9a-8c6d-1e3b5a7f9c2d",
"biometricMatch": {
"type": "BiometricMatch",
"matchingMethod": "client-side-zkp",
"matchDate": "2026-05-15T14:30:00Z",
"matchResult": "verified",
"confidence": "0.96"
}
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "example-biometric-zkp-2028",
"created": "2026-05-15T14:30:05Z",
"challenge": "9a4f2c8b-3e7d-4f1a-b5c9-2d8e6f0a1b3c",
"verificationMethod": "did:example:holder-device#key-1",
"proofPurpose": "authentication",
"proofValue": "z58DAdFfa9SkqZMVPxAQpic7ndTeel..."
}
}
example-biometric-zkp-2028 암호 스위트는 이 글을 작성하는
시점에는 존재하지 않습니다. 여기에는 미래의
영지식 증명 암호 스위트를 클라이언트 측
생체 인식 검증에 사용할 수 있는 방법을 보여 주기 위해 포함했습니다. 이 영역은 활발히 연구 중입니다.
이 시나리오에서는 소지자가 신뢰할 수 있는 생체 인식 검증 서비스를 선택합니다. 지갑은 사용 가능한 옵션을 표시하고, 생체 인식 데이터가 전송되기 전에 소지자의 동의를 받습니다. 소지자의 생체 인식 데이터는 선택한 제공자에게만 전송되며 검증자에게는 전송되지 않습니다.
다음 예제는 서비스 엔드포인트를 포함하는 생체 인식 벡터 신뢰도 방법이 있는 자격 증명을 보여 줍니다:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"id": "http://example.edu/credentials/3732",
"type": ["VerifiableCredential", "UniversityDegreeCredential"],
"issuer": "https://example.edu/issuers/14",
"validFrom": "2026-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"confidenceMethod": {
"id": "urn:uuid:a7f8c3d1-4b2e-4f9a-8c6d-1e3b5a7f9c2d",
"type": "BiometricVectorConfidenceMethod",
"biometricModality": "face",
"captureFormat": "video",
"biometricModel": {
"type": "BiometricMatchingModel",
"matchingModel": "example-biometric-2026-v3.2"
},
"service": {
"id": "urn:uuid:service-1",
"type": "BiometricVerificationService",
"serviceEndpoint": "https://biometric-provider.example/verify/v3"
},
"biometricVectors": "uAVvLMv6gm...MNam"
},
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science"
}
}
}
검증 흐름은 생체 인식 제공자와 검증자가 서로에 대해 알 필요가 없도록 보장합니다:
biometricVectors, 새로운 생체 인식
캡처 및 챌린지 nonce를 선택한 제공자의
serviceEndpoint로 전송합니다.
BiometricVerificationCredential을
발급합니다.BiometricVerificationCredential을
검증자에게
제시하고,
검증자는 증명을 검증한 후 포함된
챌린지가 원래 요청과 일치하는지 확인합니다.
챌린지 nonce는 재전송 공격을 방지하고 검증이
검증자의 특정 요청에
응답하여
수행되었음을 증명합니다.
클라이언트 측 시나리오와 마찬가지로 검증 출력의 credentialSubject.id는
위 자격 증명의 신뢰도 방법 id를 참조합니다:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": ["VerifiableCredential", "BiometricVerificationCredential"],
"issuer": "did:web:biometric-provider.example",
"validFrom": "2026-05-15T14:30:00Z",
"validUntil": "2026-05-15T14:45:00Z",
"credentialSubject": {
"id": "urn:uuid:a7f8c3d1-4b2e-4f9a-8c6d-1e3b5a7f9c2d",
"biometricMatch": {
"type": "BiometricMatch",
"matchingMethod": "server-assisted-video-stream",
"matchDate": "2026-05-15T14:30:00Z",
"domain": "https://verifier.example/",
"matchResult": "verified",
"confidence": "0.94"
}
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "ecdsa-rdfc-2019",
"created": "2026-05-15T14:30:05Z",
"challenge": "9a4f2c8b-3e7d-4f1a-b5c9-2d8e6f0a1b3c",
"verificationMethod": "did:web:biometric-provider.example#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z58DAdFfa9SkqZMVPxAQpic7ndTeel..."
}
}
NIST_800-63-4는 [NIST-SP-800-63-4] 명세를 기반으로 보증 수준을 정의합니다.
EIDAS_LOA는 [EIDAS2]를 기반으로 보증 수준을 정의합니다.
미정
미정