디지털 자격증명 API에 대해 알아보고, Chrome 및 Safari의 현재 기능 지원 현황을 확인하세요. 이 완벽 가이드를 통해 곧 있을 업데이트 소식도 놓치지 마세요.
Vincent
Created: July 25, 2025
Updated: March 27, 2026
See the original blog version in English here.
마지막 업데이트: 2026년 3월 26일
주요 브라우저의 디지털 자격증명 API(Digital Credentials API) 지원 현황을 빠르게 살펴보겠습니다.
| 브라우저 | 지원 상태 (2026년 3월) | 안정 버전 릴리스 / 전망 |
|---|---|---|
| Google Chrome | ✅ 출시 완료 (Stable) — 프로토콜 중립적 (OpenID4VP 및 ISO 18013-7 Annex C) | Chrome 141 (2025년 9월 30일부터 안정 버전); CTAP/BLE를 통한 데스크톱 크로스 디바이스 지원. §6.1 참조 |
| Apple Safari | ✅ 출시 완료 (Stable) — org-iso-mdoc을 통한 mdoc 전용 | Safari 26 (2025년 9월 15일 출시); 지갑 및 등록된 문서 제공 앱 지원. §6.2 참조 |
| Mozilla Firefox | 🔧 개발 중 — Firefox 149에 기본 기능 탑재 | 공식적인 부정적 표준 입장은 변함없으나, 적극적인 구현 진행 중. §6.3 참조 |
| Microsoft Edge | ✅ 출시 완료 (Stable) — Chromium 기반, Chrome 141 따름 | Edge 141 (2025년 10월 초 안정 버전); Chromium 141 기능을 그대로 상속. |
디지털 자격증명 분야는 빠르게 변화하고 있습니다. 주요 개발 사항과 전망을 정리해 드립니다.
| 아이콘 | 날짜 / 기간 | 이벤트 | 설명 및 출처 |
|---|---|---|---|
| 🚀🤖 | 2024년 8월 20일 | Android 디지털 자격증명 API 오리진 트라이얼 | Chrome 128에서 Android용 디지털 자격증명 API 오리진 트라이얼 시작. Android의 IdentityCredential CredMan 시스템을 통한 요청 활성화. |
| 🚀🍏 | 2025년 2월 27일 | Safari Technology Preview 214 | WebKit(Safari Technology Preview 214 포함)에 디지털 자격증명 API 기능 플래그 추가. (Pull Request, 비교) |
| 🚀🤖 | 2025년 3월 4일 | Chrome 134 데스크톱 오리진 트라이얼 | Chrome 134에서 디지털 자격증명 API 데스크톱 오리진 트라이얼 시작. Android 휴대폰 지갑과의 보안 통신 활성화. (출처: Chrome 134 릴리스 노트) |
| 🚀🍏 | 2025년 3월 31일 | Safari 18.4 릴리스 | Safari 18.4의 WebKit 기능에 디지털 자격증명 API 테스트를 위한 기능 플래그 포함. 진행 상황은 여기에서 확인 가능. |
| 💡 | 2025년 4월 | W3C FedID 워킹 그룹 주도 | 디지털 자격증명 API 개발이 W3C Federated Identity Working Group으로 공식 이관됨. |
| 🚀🤖 | 2025년 4월 30일 | Chrome 크로스 디바이스 OT 발표 | Chrome 136부터 시작되는 크로스 디바이스 디지털 자격증명 API 오리진 트라이얼 발표. 데스크톱 Chrome에서 Android 기기의 자격증명을 안전하게 제시 가능. |
| ⚠️🤖 | 2025년 5월 2일 | Chrome API 브레이킹 체인지 | Chrome 136 & 138의 API 주요 변경 사항(예: 요청 형식, 플래그 하위 navigator.credentials.create() API 추가) 개요 발표. |
| 🚀🍏 | 2025년 6월 10일 | WWDC25: Apple API 지원 확정 | WWDC25에서 Apple이 Safari 내 디지털 자격증명 API 지원을 공식 발표. 신원 문서 제시를 위한 org.iso.mdoc 프로토콜에 집중함을 확인. iOS 26과 함께 Safari 26 베타에서 사용 가능. (출처: Verify identity documents on the web) |
| 🧭 | 2025년 9월 15일 | Safari 26 릴리스 | Safari/iOS 26에서 디지털 자격증명 API 정식 출시. org-iso-mdoc (mdoc Annex C) 지원. |
| 🚀🤖 | 2025년 9월 30일 | Chrome 141 안정 버전 | Chrome 141에서 디지털 자격증명 API 안정(Stable) 버전 출시 (Android 및 데스크톱 크로스 디바이스). |
| 📣 | 2025년 10월 3일 | 출시 블로그 포스트 | Chrome과 WebKit이 각각 출시 게시물 게시. Chrome은 프로토콜 중립적 지원(OpenID4VP 및 ISO 18013-7 Annex C) 강조, WebKit은 Safari의 mdoc 전용 모델 및 CTAP 크로스 디바이스 흐름 상술. |
| ⚙️ | 2025년 11월 14일 | TPAC: 프로토콜 레지스트리 폐지 | W3C FedID WG, 개방형 프로토콜 레지스트리를 폐지하고 지원 프로토콜(OpenID4VP, OpenID4VCI, ISO 18013-7 Annex C)을 스펙에 직접 하드코딩하기로 합의. PR #401로 구현됨 (2026년 1월 28일 병합). §5 참조 |
| 🦊 | 2026년 1분기 | Firefox DC API 구현 시작 | Mozilla가 변함없는 부정적 표준 입장에도 불구하고, Firefox 149에 기본 DC API 지원 코드 탑재. mozilla-central의 구현 소스 코드 확인 가능. §6.3 참조 |
| 🇺🇸 | 2026년 2월 27일 | 캘리포니아 DMV DC API 추가 | 캘리포니아 DMV의 OpenCred 플랫폼 v10.0.0에 DC API 지원 추가. 브라우저 매개 자격증명 제출을 조기에 도입한 정부 사례. |
| 🚀🤖 | 2026년 1분기 | Chrome 143 발급 오리진 트라이얼 | Chrome이 navigator.credentials.create()와 OpenID4VCI를 통한 자격증명 발급(issuance) 오리진 트라이얼 시작. API 기능을 제출(presentation) 너머로 확장. §4 참조 |
| 🇪🇺📅 | 2026년 말 (예상) | EUDI 지갑 가용성 | eIDAS 2.0에 따라 EU 회원국들이 EUDI 지갑을 제공할 것으로 예상. EU의 ARF Topic F는 모든 회원국 지갑에 대해 DC API 지원을 조건부로 의무화함. §5.4 참조 |
Want to experience digital credentials in action?
2025년 10월 이후 무엇이 바뀌었나요?
navigator.credentials.create()를 통한
자격증명 발급 오리진 트라이얼을
시작하여 API 영역을 제출 전용에서 확장했습니다.org-iso-mdoc만을 지원합니다. 반면 Chrome 141은 OpenID4VP와 ISO
18013-7 Annex C를 모두 지원하므로, 신뢰 당사자(RP)는 이중 프로토콜 백엔드를 구축해야
합니다.디지털 자격증명(Digital Credentials)은 현재 신원 인증 분야에서 가장 뜨거운 주제입니다. 우리의 삶이 디지털 영역과 점점 더 긴밀하게 연결됨에 따라, 안전하고 사용자 중심적이며 개인정보를 보호하는 방식으로 온라인에서 신원과 자격을 증명하는 것이 그 어느 때보다 중요해졌습니다. 기존 방식들은 노후화되었고, 더 강력한 솔루션에 대한 요구가 뚜렷합니다.
이 글에서는 웹에서 신원 정보와 상호작용하는 방식을 재편할 중요한 발전인 디지털 자격증명 API의 현재 상태에 대해 이야기해 보겠습니다. 기본 메커니즘, 지원 프로토콜, 현재 브라우저 도입 현황을 살펴보고, 이 빠르게 진화하는 환경을 탐색하는 신뢰 당사자(Relying Party)와 지갑 발급자(Issuer)를 위한 권장 사항을 제안합니다.
신뢰할 수 있고 안전하게 신원을 증명하는 것은 오랫동안 웹 아키텍처의 끊임없는 과제였습니다. 인터넷은 전례 없는 연결성과 정보 교환을 촉진했지만, 동시에 허위 정보와 사기의 새로운 통로를 열기도 했습니다.
일부 국가에서는 기존의 신뢰 관계를 활용하여 온라인 식별 서비스를 개발한 초기 은행 컨소시엄 주도로 해결책이 등장했습니다. 정부 또한 국가 디지털 신원 지갑과 서비스를 의무화하거나 제공하며 개입했습니다. 그러나 이러한 솔루션은 종종 고립되어 있고, 지리적으로 제한적이며, 보편적으로 상호 운용되지 않는 경우가 많았습니다.
많은 지역에서 신원 검증을 위한 대안은 전통적으로 마찰이 큰 과정을 수반했습니다. 예를 들어 우체국을 통한 대면 확인은 상당한 지연과 불편을 초래합니다. 영상 통화와 문서 업로드의 결합이 더 디지털화된 대안이 되었고, 최근에는 자동화된 문서 스캔과 생체 감지(liveness check)가 부상했습니다. 이러한 발전에도 불구하고, 이 방법들은 여전히 단점이 큽니다. 시간이 많이 걸리고, 인적 오류나 편향에 취약하며, 정교한 위조에 뚫릴 수 있다는 점이 자주 노출되었습니다.
딥페이크, 고급 AI 기반 사칭 기술, 점점 더 정교해지는 피싱 공격의 등장으로 도전 과제는 극적으로 확대되고 있습니다. 이러한 기술은 매우 사실적이지만 완전히 조작된 영상, 음성, 문서 증거를 생성할 수 있어, 기존 시스템은 물론 AI 기반 검증 도구조차 진짜 사용자와 사기꾼을 구별하기 어렵게 만듭니다. 합성 신원을 생성하거나 생체 데이터를 조작하여 확인을 우회할 수 있는 가능성은 심각한 위협이며, 특히 금융 기관이나 강력한 고객 확인(KYC) 절차가 필요한 서비스에는 더욱 그렇습니다. 이러한 위협 환경의 고조는 더 안전하고 암호학적으로 검증 가능한 온라인 신원 및 확인 메커니즘의 시급성을 강조합니다.
Want to experience digital credentials in action?
디지털 자격증명의 작동 원리를 이해하려면 관련된 핵심 참여자와 기능을 가능하게 하는 기술 계층을 살펴봐야 합니다.
디지털 자격증명의 핵심 개념, 특히 새로운 웹 API의 맥락에서는 3자 모델을 중심으로 돌아갑니다.
이 3자 모델이 중요한 이유는 사용자(보유자)에게 자신의 데이터에 대한 통제권을 부여하기 때문입니다. 데이터가 중앙에 저장되거나 사용자 개입 없이 당사자 간에 공유되던 기존 신원 시스템과 달리, 이 모델은 사용자 동의와 **선택적 공개(Selective Disclosure)**를 강조합니다. 보유자는 전체 자격증명을 드러내는 대신 특정 거래에 필요한 정보 조각만 공유하기로 결정할 수 있습니다.
이 시스템의 근본적인 측면은 암호화 키 쌍의 개입입니다. 발급자는 자격증명에 디지털 서명을 하여 진본성과 무결성을 보장합니다. 보유자는 디지털 지갑(보통 기기 하드웨어로 보호됨) 내에 안전하게 보관된 개인 키를 사용하여 자격증명에 대한 제어 권한을 증명하고 검증자에게 제출을 승인합니다. 이 과정에는 일반적으로 검증자가 챌린지(임의의 데이터 조각)를 제시하고, 보유자의 지갑이 자격증명과 연관된 개인 키를 사용하여 이에 서명하는 방식이 포함됩니다. 검증자는 대응하는 공개 키를 사용하여 서명을 확인하고 제출을 인증할 수 있습니다.
이 설명은 프로토콜 중립적이며, 발급, 보유, 암호화 챌린지를 통한 검증의 핵심 원칙은 다양한 기반 기술 전반에 공통적으로 적용됩니다.
이 글에서는 디지털 자격증명의 검증과 선택적 공개 원칙에 집중합니다. 이를 통해 사용자는 전체 원본 문서를 공개하지 않고도 특정 속성(예: "만 18세 이상임", "유효한 운전면허증 보유")을 증명할 수 있습니다. 디지털 자격증명을 위한 기반 시스템은 적격 전자 서명(QES)이나 원격 서명 기능(법적 구속력이 있는 서명을 위한 EU 디지털 신원 지갑과 같은 포괄적인 솔루션에서 볼 수 있음)과 같은 기능을 지원할 수 있지만, 여기서는(특히 디지털 자격증명 API의 경우) 광범위한 서명 기능보다는 온라인 상호작용을 위한 신원 어설션(assertion) 및 속성 검증에 초점을 맞춥니다.
디지털 자격증명의 기능을 이해하려면 계층 모델을 시각화하는 것이 도움이 됩니다. 각 계층은 데이터 형식 자체에서부터 웹 브라우저에서 사용자에게 표시되는 방식까지 생태계의 서로 다른 측면을 다룹니다. 이 글은 주로 프레젠테이션 계층(Presentation Layer)에서 작동하는 디지털 자격증명 API에 초점을 맞춥니다.
핵심 용어:
VC는 데이터 모델, VC API는 백엔드 스펙, DC API는 웹에 자격증명을 제시하는 프론트엔드 구현이라고 생각하면 됩니다. 1계층(데이터 모델 계층) 위의 모든 것은 형식에 구애받지 않지만(agnostic), 그 아래는 자격증명 형식에 따라 달라집니다.
End-to-end 흐름 (예: 온라인 연령 확인):
다음 다이어그램은 이러한 계층이 실제 시나리오에서 어떻게 함께 작동하는지 보여줍니다.
데이터는 VC이고, 웹상의 전송은 DC API, 그 아래의 교환 프로토콜은 OpenID4VP이며, 서버 측 확인은 VC API를 사용한다는 점에 주목하세요.
구분이 존재하는 이유:
핵심 요약:
참여자와 디지털 자격증명의 전반적인 계층 구조를 살펴보았으니, 이제 프레젠테이션 계층, 특히 디지털 자격증명 API와 그 현재 상태에 대해 더 깊이 알아보겠습니다.
프레젠테이션 계층의 핵심 구성 요소인 디지털 자격증명 API는 웹사이트가 사용자의 디지털 지갑에서 디지털 신원 정보를 요청하고 수신할 수 있는 안전하고 표준화된 방법을 제공하기 위해 개발 중인 웹 표준입니다. 이 작업은 2025년 4월 FedID 커뮤니티 그룹에서 이관되어 현재 주로 W3C의 연합 신원 워킹 그룹(FedID WG) 내에서 진행되고 있습니다. 공식 초안 사양은 https://w3c-fedid.github.io/digital-credentials/에서 확인할 수 있습니다.
2025년 10월 현재, 이 API는 Chrome 141(2025년 9월 30일) 및 Safari 26(2025년 9월 15일)의
안정 버전에서 출시되었습니다. Chrome의 구현은 OpenID4VP와
ISO 18013-7 Annex C를 모두 지원하는 반면, Safari는 org-iso-mdoc
프로토콜만 독점적으로 지원합니다.
중요 (2026년 3월 업데이트): API와 프로토콜의 관계가 근본적으로 변경되었습니다. 2025년
11월 TPAC에서 W3C FedID WG는 개방형 프로토콜 레지스트리를 폐지하고 대신 스펙에
지원되는 프로토콜 목록을 직접 하드코딩하기로
합의했습니다. 목록은 다음과
같습니다: openid4vp-v1-unsigned, openid4vp-v1-signed, openid4vp-v1-multisigned,
org-iso-mdoc (제출용), 그리고 openid4vci-v1 (발급용).
사용자 에이전트는 목록에 없는
프로토콜을 거부해야 합니다. 이는 워킹 그룹을 향후 프로토콜 추가에 대한 사실상의 문지기로
만듭니다. 이는 API를 통해 흐르는 모든 것에 대한 전체적인 보안 및 개인정보 보호 검토를
가능하게 하기 위한 의도적인
절충안입니다(현재 작업 초안 참조).
스펙은 이제 navigator.credentials.create()를 통한 자격증명 발급도 다룹니다. Chrome
143은 이를 위한
오리진 트라이얼을
시작하여 웹사이트가 OpenID4VCI를 사용하여 지갑 프로비저닝 흐름을 트리거할 수 있게
했습니다. 그러나 악의적인 지갑 앱이 발급 사전 승인 코드를 가로챌 수 있는
지갑 선택 바인딩 취약점은
여전히 해결되지 않은 우려 사항으로 남아 있습니다. 정부 발급자들은 이 문제가 해결될 때까지
브라우저 매개 발급을 채택하지 않겠다는 입장을 밝혔습니다.
Chrome은 자격증명 관리자(Credential Manager) 시스템을 통해 Android에서 기본적으로 제출을 지원하며, 데스크톱에서는 CTAP/BLE 기반 QR 핸드오프를 통해 크로스 디바이스 디지털 자격증명 API를 지원합니다.
이 API는 기존
자격증명 관리 API(Credential Management API)를
확장하여 navigator.credentials.get()을 통해 디지털 자격증명 요청을 가능하게 합니다. W3C
FedID WG 디지털 자격증명
설명서(Explainer)에
따르면, API는 이전에 제안된 navigator.identity 대신 이 확립된 인터페이스를 사용하는
것으로 되돌아갔습니다. 웹사이트는 디지털 자격증명에 대한 특정 매개변수와 함께
navigator.credentials.get()을 호출하여 자격증명을 요청합니다.
다음은 웹사이트가 OpenID4VP를 사용하여 자격증명을 요청하기 위해 API를 호출하는 예시입니다.
async function requestCredential() { // 디지털 자격증명 API 지원 여부 확인 if (typeof window.DigitalCredential !== "undefined") { try { // 이 매개변수들은 일반적으로 백엔드에서 가져옵니다. // 여기서는 프로토콜 확장성 설명을 위해 정적으로 정의했습니다. const oid4vp = { protocol: "oid4vp", // 지갑에 대한 OpenID4VP 요청 예시. // https://github.com/openid/OpenID4VP/issues/125 기반 data: { nonce: "n-0S6_WzA2Mj", presentation_definition: { // 프레젠테이션 교환(Presentation Exchange) 요청, 간결함을 위해 생략 }, }, }; // Abort Controller 생성 const controller = new AbortController(); // 백엔드에서 받은 프레젠테이션 요청을 사용하여 디지털 자격증명 API 호출 let dcResponse = await navigator.credentials.get({ signal: controller.signal, mediation: "required", digital: { requests: [oid4vp], }, }); // 암호화된 응답을 복호화 및 검증하기 위해 백엔드로 전송 // 간결함을 위해 생략 } catch (error) { console.error("Error:", error); } } else { // 폴백(fallback) 시나리오, 예시용 alert("이 브라우저에서는 디지털 자격증명 API가 지원되지 않습니다."); } }
이 예시는 여기에서 가져왔습니다.
디지털 자격증명 API는 본질적으로 안전한 래퍼(wrapper) 또는 중개자 역할을 합니다. 브라우저가 신원 정보 요청을 중재하고, 기본 운영 체제의 기능을 활용하여 요청과 일치하는 사용 가능한 지갑 및 자격증명을 검색할 수 있게 합니다. 그러면 브라우저와 OS는 자격증명 선택 및 릴리스 승인을 위한 일관된 사용자 인터페이스를 제공하여, 사용자 동의를 보장하고 웹사이트가 민감한 데이터에 몰래 접근하는 것을 방지함으로써 보안과 개인정보 보호를 강화합니다. 응답에 포함된 실제 자격증명 데이터는 브라우저 자체에 대해 불투명(암호화)하게 처리되며, 복호화 및 해석은 신뢰 당사자와 지갑/보유자가 처리합니다.
디지털 자격증명 API는 원래 모든 프로토콜이 등록할 수 있는 개방형 레지스트리를 갖춘 "단순 파이프(dumb pipe)"로서 완전히 프로토콜 중립적으로 설계되었습니다. 그러나 2026년 1월 기준으로 스펙은 지원하는 프로토콜을 명시적으로 지정하고 있으며, 사용자 에이전트는 목록에 없는 프로토콜을 거부할 것으로 예상됩니다. 현재 스펙에 하드코딩된 두 가지 주요 프로토콜 제품군은 org.iso.mdoc(ISO 18013-5 및 그 확장인 ISO 18013-7 "Annex C"에서 파생됨)과 OpenID Foundation의 OpenID4VP(OpenID for Verifiable Presentations) 및 OpenID4VCI(OpenID for Verifiable Credential Issuance) 사양입니다.
기원 및 표준화: org.iso.mdoc은 국제표준화기구(ISO)와 국제전기기술위원회(IEC)에서 표준화한 모바일 문서, 주로 모바일 운전면허증(mDL)의 데이터 형식 및 상호작용 모델을 말합니다. 기본 표준인 ISO/IEC 18013-5는 NFC, 블루투스, QR 코드와 같은 기술을 사용하는 대면(근거리) 제출을 위한 mDL 애플리케이션, 데이터 구조 및 프로토콜을 정의합니다. ISO/IEC 18013-7은 이를 확장하여 mDL의 온라인/원격 제출을 가능하게 합니다. 프로토콜 문자열 "org.iso.mdoc"은 디지털 자격증명 API와 같은 API와 함께 사용하기 위해 ISO/IEC TS 18013-7(Annex C)에 구체적으로 정의되어 있습니다.
데이터 모델: mdoc은 압축성과 효율성을 위해 CBOR(Concise Binary Object Representation)에 기반한 엄격하게 정의된 데이터 구조를 가집니다. 일반적인 운전면허 속성에 대한 네임스페이스와 데이터 요소를 지정하며 발급자 인증, 기기 바인딩, 보유자 인증(인물 사진 등), 세션 암호화, 선택적 공개를 포함한 강력한 암호화 보안 기능을 지원합니다.
주요 사용 사례: 주로 운전면허증 및 주민등록증과 같은 정부 발급 신분증입니다. 대면(예: 교통 단속, 제한된 물품에 대한 연령 확인) 및 온라인(예: 정부 서비스 접속, 은행 계좌 개설을 위한 원격 신원 확인) 모두에서 높은 보증 수준이 필요한 시나리오를 위해 설계되었습니다.
| 특징 | org.iso.mdoc (ISO 18013-5/7) | OpenID4VP / OpenID4VCI |
|---|---|---|
| 표준화 기구 | ISO/IEC | OpenID Foundation |
| 주요 초점 | 모바일 운전면허증(mDL) & 공식 ID | 일반적인 검증 가능한 자격증명 교환 (모든 유형) |
| 데이터 형식 | CBOR 기반, 엄격히 정의된 데이터 요소 | 형식 불가지론적; 주로 W3C VC (JSON/JWT), mdoc, SD-JWT |
| 전송 | 근거리(NFC, BLE, QR) & 온라인(18013-7) 정의됨 | 온라인을 위한 OAuth 2.0 기반; QR, 딥링크로 시작 가능 |
| 선택적 공개 | Salted 해시 클레임을 통해 내장됨 | Presentation Exchange 또는 DCQL 같은 쿼리 언어 사용 |
| 성숙도 | ISO 18013-5: 발행된 표준. ISO 18013-7: 발행된 기술 사양(TS). ISO 23220 시리즈(일반 mDoc): 개발 중 | OpenID4VP: 고급 초안 (예: draft 28, 2025년 4월). OpenID4VCI: 고급 초안 |
| 일반적 발급자 | 정부 기관 (DMV 등) | 정부, 교육 기관, 고용주, 모든 법인 |
| 표준 비용 | 유료 | 무료 / 오픈 |
이들이 항상 상호 배타적인 것은 아니라는 점을 인식하는 것이 중요합니다. 예를 들어 OpenID4VP는 [org.iso.mdoc]을 요청하고 전송하는 데 사용될 수 있습니다. 선택은 종종 특정 사용 사례, 자격증명 유형, 생태계 참여자에 따라 달라집니다.
유럽 연합 디지털 신원(EUDI) 지갑은 모든 EU 시민과 거주자에게 신분증 및 증명을 위한 안전한 디지털 지갑을 제공하는 것을 목표로 하는 주요 이니셔티브입니다. EUDI 지갑 아키텍처 및 참조 프레임워크는 제출 및 발급 흐름을 위해 OpenID4VP 및 OpenID4VCI를 활용하여 mdoc(특히 모바일 운전면허증용)과 W3C 검증 가능한 자격증명을 모두 지원할 계획을 명시적으로 밝히고 있습니다. 참조 구현에는 mDoc 전송을 위한 OpenID4VP 지원과 mDoc 및 SD-JWT-VC 형식의 PID 및 mDL 발급을 위한 OpenID4VCI 지원이 포함됩니다. 이러한 대규모 프로젝트의 이중 지원은 두 프로토콜 제품군의 중요성을 강조합니다.
2026년 3월 업데이트: 디지털 자격증명 API에 대한 EU의 약속이 더욱 구체화되었습니다. EUDI 아키텍처 참조 프레임워크(ARF) Topic F는 이제 EUDI 지갑 유닛 및 신뢰 당사자가 원격 제출 및 증명서 발급 흐름을 위해 DC API를 지원할 것을 조건부로 의무화합니다. 조건에는 DC API가 W3C 권고안(Recommendation) 상태에 도달하고 기능, 브라우저/OS 중립성, 개인정보 보호 및 서비스 거부 공격 보호에 대한 기대치를 충족하는 것이 포함됩니다. 유럽 지갑 컨소시엄(EWC)은 적합성 테스트 프로그램에 DC API 테스트 사례를 통합했으며, NOBID 컨소시엄은 OpenID4VP(DC API가 현재 전송하는 것과 동일한 프로토콜)를 사용하여 결제 파일럿을 완료했습니다.
그러나 이러한 방향에 비판이 없는 것은 아닙니다. 일부 관측통들은 "미국 빅테크" 기업의 영향을 많이 받은 디지털 자격증명 API가 최종 EUDI 지갑 사양에 깊이 통합될 수 있다고 지적합니다. 이 GitHub 토론과 같은 커뮤니티 포럼에서 논의된 바와 같이, 중요한 EU 인프라에 대한 비 EU 기업의 잠재적 영향력에 대한 우려가 제기되었습니다. 별도로, 스펙에 ISO 18013-7 참조를 하드코딩하기로 한 결정은 Ping Identity의 이의 제기를 불러왔습니다. 유료 사양을 규범적으로 참조하는 것은 개방형 웹 원칙과 상충된다는 주장이며, 이는 스펙이 후보 권고안(Candidate Recommendation)으로 전환될 때 공식적인 이의 제기로 표면화될 수 있습니다.
디지털 자격증명 API의 브라우저 환경은 이제 윤곽이 잡혔으며, Chrome 141과 Safari 26이 2025년 9월에 안정적인 지원을 시작했습니다. 브라우저마다 접근 방식과 지원 수준에 눈에 띄는 차이가 있습니다.
Chrome은 Chrome 141(2025년 9월 30일)에서 디지털 자격증명 API를 출시했습니다.
Chrome의 구현은 프로토콜 중립적입니다. OpenID4VP와 ISO 18013-7 Annex C(mdoc
온라인)와 호환됩니다. 데스크톱은 CTAP/BLE 기반 채널(QR 핸드오프)을 통해 모바일 지갑의
크로스 디바이스 제출을 지원하며, 응답은 브라우저에 불투명(opaque)하게 처리됩니다. API
형태는 navigator.credentials.get()으로 이동했으며, 매개변수 이름이 변경되었습니다:
providers → requests, request → data.
기능 감지:
if (typeof DigitalCredential !== "undefined") { // 디지털 자격증명 API 지원됨 }
Android의 자격증명 관리자(Credential Manager)는 기본적으로 제출을 위한 OpenID4VP와 발급을 위한 OpenID4VCI를 지원하여, Android 앱이 이러한 표준을 사용하여 자격증명 보유자 및 검증자 역할을 할 수 있게 합니다. Google은 지갑 지원이 확대되고 있다고 언급했습니다. Google Wallet이 초기 채택자이며, Samsung Wallet과 1Password도 발표되었습니다.
org-iso-mdoc)#이전 기사에서 우리는 Apple의 접근 방식이 org.iso.mdoc 프로토콜에 집중함으로써 Google과
달라질 것이라고 예측했습니다. 역사적 맥락에서 우리의 추론은 다음과 같았습니다:
WebKit 버그 트래커와 표준 기여의 증거들은 Safari가 모든 자격증명 유형의 전송 계층으로
OpenID4VP를 우선시하기보다는 org.iso.mdoc 지원에 집중할 것임을 시사했습니다. 이는
브라우저 맥락에서 OpenID4VP의 복잡성에 대한 기술적 유보와,
플랫폼 보안 모델에 맞게 ISO mdoc 표준을 형성하려는 Apple의 깊은 투자에 기인했을 가능성이
큽니다.
우리가 정확히 예상했듯이, WWDC25에서 이 전략이
확인되었습니다. Safari 26(iOS/iPadOS/macOS)은 2025년 9월 15일에 디지털 자격증명 API
지원과 함께 출시되었으며, 구현이 제출을 위해 org-iso-mdoc 프로토콜(하이픈
연결)을 독점적으로 지원함을 확인했습니다.
이는 WWDC25 세션 웹에서 신원 문서 확인하기(Verify identity documents on the web)에서 자세히 설명되었습니다. 이 API를 사용하면 웹사이트가 Apple 지갑이나 타사 문서 제공 앱에 저장된 운전면허증과 같은 신원 문서에서 검증 가능한 정보를 요청할 수 있습니다.
Apple 구현의 핵심 사항:
"org-iso-mdoc"만을 사용합니다. Safari의 디지털 자격증명 API 구현에는 OpenID4VP에
대한 지원이 없습니다.IdentityDocumentServices
프레임워크와 앱 확장을 구현하여 문서 제공자 역할을 할 수 있습니다.Apple은 신뢰 당사자가 API를 사용하는 방법에 대한 명확한 코드 예시를 제공했습니다.
async function verifyIdentity() { try { // 서버가 요청 데이터를 생성하고 암호화 서명합니다. const response = await fetch("drivers/license/data"); const data = await response.json(); // 요청은 'org-iso-mdoc' 프로토콜을 지정합니다. const request = { protocol: "org-iso-mdoc", // data에는 암호화 서명된 mdoc 요청이 포함됩니다. data, }; // API는 사용자 제스처 내에서 호출되어야 합니다. const credential = await navigator.credentials.get({ mediation: "required", digital: { requests: [request], }, }); // 지갑에서 받은 암호화된 응답을 복호화 및 검증을 위해 서버로 전송합니다. const verificationResponse = await fetch("/decrypt", { method: "POST", body: JSON.stringify(credential.data), headers: { "Content-Type": "application/json", }, }); // 검증된 세부 정보 표시... const json = await verificationResponse.json(); presentDetails(json); } catch (err) { // 오류 처리 (예: 사용자 취소) } }
이 확인은 브라우저 시장의 엇갈린 전략을 확고히 합니다. Chrome이 유연한 OpenID4VP 전송 계층을 기반으로 구축하는 반면, Apple은 ISO mdoc 생태계에 대한 깊은 투자를 활용하여 공식 신분증 문서에 맞춘 고도로 통합되고 안전하지만 유연성은 덜한 솔루션을 제공하고 있습니다.
Mozilla는 원래 디지털 자격증명 API에 대해 부정적인 표준 입장을 표명했습니다. 상세히 문서화된 그들의 우려는 포괄적이며, 사용자 개인정보와 주체성을 보호하고 개방적이고 공정한 웹을 보장하려는 사명에 뿌리를 두고 있습니다.
Mozilla가 제기한 주요 우려 사항:
W3C 위원회(Council)가 이러한 우려와 관련된 공식적인 이의 제기를 기각했지만(잠재적으로 덜 투명한 장소가 아닌 W3C 내에서 작업이 진행되도록 허용하기 위함), 위원회는 워킹 그룹이 이러한 잠재적 피해를 완화하기 위해 적극적으로 노력할 것을 권고했습니다.
2026년 3월 업데이트 — 구현 진행 중: 공식적인 부정적 입장은
기술적으로 변함없지만,
Mozilla는 디지털 자격증명 API를 적극적으로 구현하기 시작했습니다. 2026년 1분기에
Firefox 149에
기본 DC API 지원이
탑재되었으며(환경 설정 플래그 뒤에 숨겨짐),
메타 버그 2004828에서 추적되고
있습니다. DigitalCredential.cpp, WebIDL 바인딩, IPC 배관을 포함한
소스 코드는
mozilla-central에 있습니다. 데스크톱 및 Android 권한 프롬프트
작업(버그 2010091,
버그 2010093)이 진행 중입니다.
John Schanck, Martin Thomson, Benjamin VanderSloot 등 세 명의 Mozilla 엔지니어가 W3C FedID 워킹 그룹의 활성 회원이며, Schanck는 자격증명 제출 알고리즘 및 요청 준비 알고리즘을 포함한 주요 스펙 PR에 대해 구현에 입각한 실질적인 피드백을 제공해 왔습니다.
이는 중요한 발전입니다. Mozilla는 오남용 가능성에 대한 우려를 유지하면서도, 다른 브라우저 벤더들에게 설계를 넘겨주기보다는 스펙 작업과 구현을 통해 내부에서 API를 형성하는 쪽을 선택한 것이 분명합니다. 이는 디지털 자격증명 API가 3대 브라우저 지원의 길로 들어서고 있음을 알리는 신호입니다. 다만 Mozilla는 더 강력한 개인정보 보호 가드레일(자격증명 요청을 위한 투명성 로그 제안 포함)을 추진하고 있습니다.
표 1: 디지털 자격증명 API 및 프로토콜 브라우저 지원 (2026년 3월)
| 기능 / 브라우저 | Google Chrome (Android & Desktop) | Apple Safari (iOS & macOS) | Mozilla Firefox |
|---|---|---|---|
디지털 자격증명 API (navigator.credentials.get) | ✅ 안정 (141) | ✅ 안정 (26) | 🔧 개발 중 (Firefox 149, pref 플래그 뒤) |
| API를 통한 org.iso.mdoc | ✅ 예 (DC API 하의 ISO 18013-7 Annex C 통해) | ✅ 예 (전용; `protocol: |
Related Articles
Table of Contents