디지털 사용자 인증 정보는 사용자를 인증하거나, 승인하거나, 사용자에 관한 정보를 제공하는 데 사용할 수 있는 암호화 방식으로 검증 가능한 문서입니다. 이러한 항목은 일반적으로 모바일 운전면허증, 디지털 여권, 탑승권 등입니다. 이러한 항목은 디지털 지갑이라는 가상 컨테이너에 있으며 액세스하고 검색하는 방법을 지정하는 W3C 표준의 일부입니다. 이 표준은 W3C 사용자 인증 정보 관리 API를 사용하는 웹 사용 사례와 사용자 인증 정보 관리자의 DigitalCredential API를 사용하는 Android에서 구현됩니다.
디지털 사용자 인증 정보 이해하기
실제 세계에서 개인은 지갑에 신원을 보관하고 요청하는 당사자에게 요청 시 제시할 수 있습니다.
이 경우 사용자는 일반적으로 지갑을 하나 보유하고 있으며 요청된 사용자 인증 정보를 지갑에서 가져와 요청자에게 제공합니다. 지갑은 대부분 서로 교체 가능하며 일반적으로 동일한 항목을 저장할 수 있습니다.
디지털 사용자 인증 정보에는 몇 가지 주요 차이점이 있습니다.
- 사용자는 다양한 사용자 인증 정보를 포함할 수 있는 여러 지갑(보유자라고도 함)을 보유할 것으로 예상됩니다. 지갑은 내부에 저장할 수 있는 사용자 인증 정보를 결정합니다.
- 이제 요청자는 실제 사람이 아닌 애플리케이션이며 인증자라고 합니다.
- 사용자 인증 정보 제공은 소프트웨어에서 이루어지므로 API 노출 영역이 사용자 인증 정보를 검색하고 제공합니다. Android에서는 사용자 인증 정보 관리자가 이에 해당합니다.
따라서 사용자 인증 정보 관리자는 이전에 사용자가 처리했던 여러 역할을 맡습니다.
- Android에서 지갑은 인증 관리자 UI에 표시되려면 인증 관리자에 사용자 인증 정보 메타데이터를 등록해야 합니다.
- 인증 관리자는 요청에 따라 지갑 간에 인증 정보를 일치시키고 사용자가 선택할 수 있는 목록을 표시합니다.
- 사용자가 목록에서 사용자 인증 정보를 선택하면 사용자 인증 정보 관리자가 지갑을 호출합니다. 지갑은 트랜잭션의 나머지 부분을 처리하고(UI 표시 등) 사용자 인증 정보를 애플리케이션에 반환합니다.
이 흐름은 다음과 같습니다.
사용자 환경
Android 흐름에 표시된 것처럼 사용자는 적절한 사용자 인증 정보를 선택하기 위해 사용자 인증 정보 관리자 UI와 한 번만 상호작용하면 됩니다. 다음은 선택기가 표시되는 방식의 예입니다.

기준
디지털 사용자 인증 정보 요청은 OpenID4VP 표준을 사용하여 생성됩니다. 디지털 사용자 인증 정보 데모 사이트에서 요청의 예를 확인할 수 있습니다.
디지털 사용자 인증 정보 응답은 일반적으로 표준화된 사용자 인증 정보 형식으로 반환됩니다. 이러한 표준은 서로 다른 표준 기관에서 유지관리하며 W3C 검증 가능한 사용자 인증 정보, sd-jwt, mdoc이 포함됩니다.
맞춤 프로토콜도 가능하지만 애플리케이션에서 표준 프로토콜 중 하나를 사용하는 것이 좋습니다.
사용해 보기
Android 월렛과 웹 기반 검증 도구를 사용하여 플랫폼 간 디지털 사용자 인증 정보 흐름을 테스트할 수 있습니다.
- Android 휴대전화에 CMWallet 공개 샘플을 설치합니다.
저장소에서 가져와 Android 스튜디오에서 직접 설치하거나 https://github.com/digitalcredentialsdev/CMWallet/actions로 이동하여 최신 빌드를 선택하여 최신
app-debug.apk파일에 액세스하면 됩니다. - CMWallet을 열어 인증 관리자에 메타데이터를 등록합니다. 기기가 서로 연결될 수 있도록 블루투스가 사용 설정되어 있는지 확인합니다.
- https://digital-credentials.dev/로 이동하여
Request Credentials (OpenID4VP)를 선택합니다. - 경고 메시지를 수락하고 휴대전화로 QR 코드를 스캔한 다음 '패스키 사용'을 선택하고 확인을 탭하여 사용 가능한 사용자 인증 정보를 표시합니다.
- CMWallet에서 사용자 인증 정보를 선택하여 브라우저로 돌아갑니다. 브라우저는 반환된 사용자 인증 정보를 표시해야 합니다.
참고 항목
- Credential Manager를 사용하여 앱에서 디지털 인증을 요청하는 방법을 자세히 알아보려면 Credential Manager - Verifier API 페이지를 참고하세요.
- Credential Manager를 사용하여 디지털 지갑을 빌드하는 방법을 자세히 알아보려면 Credential Manager - Holder API 페이지를 참고하세요.