디지털 사용자 인증 정보는 사용자가 자신에 관한 정보를 제공하고 자신을 인증하거나 승인하는 데 사용할 수 있는 암호화 방식으로 검증 가능한 디지털 문서입니다. 디지털 사용자 인증 정보는 개방형 W3C Digital Credentials API 업계 표준을 기반으로 합니다. Android에서는 Credential Manager's Digital Credentials API를 통해 구현됩니다.
디지털 사용자 인증 정보의 이점
디지털 사용자 인증 정보는 실제 사용자 인증 정보 및 비표준화된 디지털 문서에 비해 다음과 같은 여러 가지 이점을 제공합니다.
- 보안 및 신뢰도 향상: 디지털 사용자 인증 정보는 암호화되어 데이터 무결성과 신뢰성을 보장합니다. 이를 통해 사용자 인증 정보가 검증 가능한 소스에서 발급되었으며 변조되지 않았음을 확인할 수 있습니다.
- 개인 정보 보호 강화: 많은 디지털 사용자 인증 정보 형식이 선택적 공개를 지원하므로 사용자는 필요한 정보만 공유할 수 있습니다. 예를 들어 사용자는 생년월일을 공개하지 않고 운전 자격 증빙 서류를 공유할 수 있습니다.
- 통합 스토리지: 사용자는 기기의 디지털 홀더에 여러 발급자의 다양한 사용자 인증 정보를 저장할 수 있으므로 실제 카드를 휴대할 필요가 없습니다.
- 상호 운용성: 개방형 표준을 준수하면 디지털 사용자 인증 정보가 다양한 운영체제, 기기, 플랫폼에서 작동할 수 있습니다.
사용 사례
Digital Credentials API는 다음과 같은 광범위한 사용 사례에 사용할 수 있습니다.
- 정부 발급 신분증 수락: 앱은 연령 확인, 계정 복구, 고객 파악 (KYC) 절차를 비롯한 흐름에 공식 정부 문서 속성을 요청하고 사용할 수 있습니다.
- 전화번호 인증: 앱은 전화번호 인증을 위해 API를 사용하여 전화기의 SIM 카드에서 파생된 디지털 사용자 인증 정보를 사용자의 통신사와 직접 교환할 수 있습니다. 이렇게 하면 일회용 비밀번호 (OTP)가 필요하지 않고 보안이 개선되며 전송 비용이 절감됩니다. 자세한 내용은 전화번호 인증 가이드를 참고하세요.
- 이메일 주소 인증: API를 사용하면 앱이 사용자의 기기에서 인증된 이메일을 직접 가져올 수 있으므로 원활한 가입, 로그인, 계정 복구를 위해 OTP가 필요하지 않습니다. 자세한 내용은 이메일 인증 가이드를 참고하세요.
- 맞춤 사용자 인증 정보: API의 확장성을 통해 모든 앱이 자체 맞춤 디지털 사용자 인증 정보를 발급할 수 있으며, 상응하는 인증 도구에서 이를 요청할 수 있습니다.
- 결제 사용자 인증 정보 및 거래 확인: API를 사용하면 기본 암호화 방식으로 바인딩된 지갑 확인을 통해 결제 승인 및 디지털 결제 사용자 인증 정보 (DPC)를 보호할 수 있습니다.
디지털 사용자 인증 정보의 작동 방식
디지털 사용자 인증 정보 생태계에는 다음과 같은 세 가지 기본 앱 카테고리가 포함됩니다.
- 발급자: 발급자는 사용자 인증 정보를 안전하게 만들고 발급하는 앱입니다.
- 홀더 (지갑): 홀더는 사용자 기기에 사용자 인증 정보를 저장하는 앱입니다. 이러한 사용자 인증 정보를 요청 앱과 프레젠테이션 프로세스를 통해 공유할 수 있어야 합니다.
- 인증 도구: 인증 도구는 디지털 사용자 인증 정보를 확인하고 사용하는 앱입니다.
Credential Manager의 Digital Credentials API는 발급자, 홀더, 인증 도구 앱 간의 상호작용을 오케스트레이션합니다.
인증 도구가 디지털 사용자 인증 정보를 요청하면 API를 통해 Android 시스템에 요청을 보냅니다. 그러면 인증 관리자가 신뢰할 수 있는 시스템 UI 내에서 다양한 홀더의 적격 디지털 사용자 인증 정보를 표시합니다. 사용자가 계속 진행하는 데 동의하면 인증 관리자가 상응하는 홀더를 호출하여 응답을 생성합니다.
사용자 환경
인증 관리자에 패스키, 비밀번호, Google 계정으로 로그인과 같은 인증 흐름을 위한 기본 제공 사용자 인터페이스가 있는 것과 마찬가지로 Digital Credentials API의 다양한 사용 사례를 위한 표준화된 인터페이스도 있습니다.
특정 사용 사례에 맞게 조정된 UI 변형이 있습니다. API를 사용하면 Android 시스템에서 다음과 같은 시나리오에 맞게 컨텍스트를 인식하는 하단 시트를 자동으로 렌더링합니다.
- 이메일 인증: 인터페이스에 인증된 이메일 주소와 ID 제공업체가 포함된 계정 선택기가 표시됩니다.
- 전화번호 인증: 인터페이스에는 네트워크 통신사가 표시된 인증 카드 가 포함됩니다.
- 다중 사용자 인증 정보: 이 뷰는 여러 카드를 쌓고 관련 항목을 한 번의 탭으로 번들링할 수 있습니다.
- 디지털 결제 사용자 인증 정보: 이 결제 시트에는 즉시 확인을 위한 결제 카드 세부정보, 판매자 정보, 총 거래 금액이 표시됩니다.
업계 표준
디지털 사용자 인증 정보는 크로스 플랫폼 호환성을 보장하기 위해 업계 표준을 사용합니다. 일반적으로 사용되는 개방형 표준은 다음과 같습니다.
- 공유: 디지털 사용자 인증 정보는 OpenID4VP 표준을 사용하여 요청됩니다.
- 발급: 디지털 사용자 인증 정보는 OpenID4VCI 표준을 사용하여 발급됩니다.
- 사용자 인증 정보 저장 형식: 디지털 사용자 인증 정보는 다양한 표준 기관에서 유지관리하는
표준화된 형식으로 표시됩니다. 주로
다음과 같습니다.
- IETF JSON 웹 토큰 (sd-jwt)의 선택적 공개 VC
- ISO MDoc
이러한 표준은 여러 플랫폼과 운영체제에서 널리 사용되므로 웹브라우저, 모바일 기기, 기타 폼 팩터에서 원활하게 작동할 수 있습니다. 이를 통해 개발자는 플랫폼에 관계없이 다른 앱과 디지털 사용자 인증 정보를 교환할 수 있습니다.
사용해 보기
Android 지원 기기에 샘플 홀더 및 인증 도구 앱을 설치하여 크로스 플랫폼 디지털 사용자 인증 정보 플로우를 테스트할 수 있습니다.
흐름을 테스트하려면 다음 단계를 완료하세요.
- Android 지원 기기에 샘플 앱 설치: 다음 방법 중 하나를 사용하여 첫 번째 기기에 앱을 설치합니다.
- 미리 빌드된 APK 사용:
- 홀더 앱 다운로드: GitHub 계정에 로그인하고
홀더 앱 GitHub Actions 페이지로 이동하여
최신 성공 빌드를 선택하고
app-debug.apkArtifacts 섹션에서 파일을 다운로드합니다. 이 앱을 CMWallet 이라고 합니다. - 인증 도구 앱 다운로드: 샘플 인증 도구 앱의 경우 Identity 샘플 저장소에서 APK를 가져옵니다. 그런 다음 Android 지원 기기에 APK를 설치합니다. 이 앱을 Digital Credentials Demo 라고 합니다.
- 홀더 앱 다운로드: GitHub 계정에 로그인하고
홀더 앱 GitHub Actions 페이지로 이동하여
최신 성공 빌드를 선택하고
- 소스에서 빌드: 언급된 저장소를 클론하고 Android 스튜디오를 사용하여 앱을 설치합니다.
- 미리 빌드된 APK 사용:
- 샘플 홀더 앱 열기: 샘플 홀더 앱을 엽니다. 이렇게 하면 홀더 사용자 인증 정보가 인증 관리자에 등록됩니다.
- 샘플 인증 도구 앱 열기: 샘플 인증 도구 앱을 엽니다. 그런 다음 지갑에서 디지털 사용자 인증 정보를 요청하는 옵션을 선택합니다. CMWallet 의 사용 가능한 사용자 인증 정보를 표시하는 하단 시트가 표시됩니다.
- 사용자 인증 정보 선택: 인증 도구 앱에 다시 보낼 사용자 인증 정보를 선택합니다. 이제 인증 도구 앱에 반환된 사용자 인증 정보의 필드가 표시됩니다.
리소스
- 디지털 사용자 인증 정보 발급에 관한 자세한 내용은 발급자 가이드를 참고하세요.
- 홀더 앱에 관한 자세한 내용은 홀더 가이드를 참고하세요.
- 디지털 사용자 인증 정보를 기반으로 사용자를 인증하는 방법에 관한 자세한 내용은 인증 도구 가이드를 참고하세요.
- 웹의 디지털 사용자 인증 정보에 관한 자세한 내용은 디지털 웹의 사용자 인증 정보를 참고하세요.