프로덕션에서 라이브로 전환하기 전에 테스트 신분증 패스를 사용하여 샌드박스에서 통합이 엔드 투 엔드로 작동하는지 확인한 다음 전체 흐름의 데모 동영상을 녹화합니다. Google은 온보딩 5단계에서 이 동영상을 검토합니다.
과정 선택하기 RP, Verifier Registrar 또는 오프라인
이 페이지의 단계
필수 테스트 참조
지원되는 사용자 인증 정보 및 속성
mDL, 신분증 패스, 사진이 있는 신분증에서 지원되는 정확한 doctype_value 식별자와 클레임 경로를 확인하세요.
지원되는 발급기관 및 IACA 인증서
프로덕션 발급기관 IACA 루트 인증서와 Utopia 샌드박스 인증서를 다운로드합니다.
대화형 웹 인증 도구
OpenWallet Foundation의 호스팅된 참조 인증 도구와 통합을 나란히 비교합니다.
A단계: 샌드박스 테스트 설정 확인
엔드 투 엔드 테스트를 실행하기 전에 다음 네 가지 기본 요건이 충족되었는지 확인하세요.
- 테스트 ID가 있는 샌드박스 모드의 기기: Android 테스트 기기가 SANDBOX로 전환되고 (1단계) Google 월렛에 Utopia 신분증 패스가 추가되었습니다 (2단계).
- 샌드박스 요청 서명:
- 신뢰 당사자: 서버는 사전 신뢰할 수 있는 샌드박스 테스트 키 쌍 및 메타데이터를 사용하여 요청에 서명합니다.
- 검증 도구 등록기관: Google은 샌드박스 루트 CA가 샌드박스 트러스트 저장소에 있고 서버가 샌드박스 루트 CA에 연결된 리프 인증서로 서명된 요청에 서명하고 CBOR로 인코딩된
gw_rp_metadata_bytes를 포함하는지 확인했습니다 (3.A단계: VR 사양).
- 요청에 신분증 패스 doctype이 포함됨: 샌드박스 테스트 ID는 신분증 패스이므로
dcql_query는com.google.wallet.idcard.1또는org.iso.23220.photoid.1를 요청합니다 (또는 3.A단계의 다중 사용자 인증 정보 요청을 사용함). - 서버가 Utopia 샌드박스 인증서를 신뢰함: 서버의 트러스트 저장소에 Utopia 샌드박스 인증서가 포함되어 있으므로 Utopia 테스트 ID의
issuerAuth서명 확인이 성공합니다.
B단계: 요청, 사용자 환경, 오류 처리 테스트
지원하는 모든 플랫폼 (Android 앱, 모바일 웹, 데스크톱 교차 기기 웹)에서 다음 각 검사를 실행합니다.
- 표시되는 진입점: 명확한 버튼 (예: '디지털 ID로 인증')을 사용자가 탭/클릭하면 요청이 시작됩니다.
- Android 앱 (해당하는 경우):
CredentialManager.getCredential()는 Android 사용자 인증 정보 선택기를 열고 샌드박스 테스트 신분증 패스를 표시합니다. - 웹 (해당하는 경우):
navigator.credentials.get()는 모바일 브라우저에서 사용자 인증 정보 선택기를 열고 서명된 요청을 사용할 때 데스크톱 브라우저에 교차 기기 QR 코드를 표시합니다. - Google 월렛 동의 화면: 사용자 인증 정보를 탭하면 Google 월렛이 열리고
gw_rp_metadata_bytes의 예상 표시 이름, 로고, 개인정보처리방침 링크와 요청한 속성만 표시됩니다. - 데이터 수집 최소화: 사용 사례에 필요한 속성만 요청되고 (지원되는 사용자 인증 정보 및 속성 참고) 각 클레임에 대해
intent_to_retain가 정확하게 설정됩니다. - 사용자 취소 및 대체: 시트 취소 (Android의
GetCredentialCancellationException또는 웹의 거부된 프로미스) 또는 일치하는 ID가 없는 테스트(NoCredentialException)가 UI에서 원활하게 처리됩니다.
C단계: 서버 측 복호화 및 암호화 검증 테스트
Google 월렛에서 동의 화면을 승인한 후 서버가 필요한 모든 암호화 검사를 실행하는지 확인합니다.
- JWE 복호화: 서버가
client_metadata.jwks암호화 공개 키에 해당하는 비공개 키를 사용하여 반환된identityToken를 복호화하고vp_token를 추출합니다. SessionTranscript재구성: 서버는 정확한 요청nonce, 암호화 JWK 지문, 플랫폼 출처 (android:apk-key-hash:...또는 웹 출처 URL)와 함께OpenID4VPDCAPIHandover를 사용하여SessionTranscript를 재구성합니다.- IACA 인증서 체인 검증 (
issuerAuth): 서버가issuerAuth에서 발급기관 인증서 체인을 추출하고 샌드박스의 Utopia 샌드박스 인증서 및 프로덕션의 지원되는 발급기관 및 IACA 인증서에 있는 공식 프로덕션 루트 인증서와 비교하여 검증합니다. 이 확인을 건너뛰지 마세요. - MSO,
ValueDigests,deviceSignature인증: 서버가 모바일 보안 객체 (MSO) 서명을 인증하고,ValueDigests가 반환된 데이터 요소와 일치하는지 확인하고,deviceSignature를 검증합니다 (ISO/IEC 18013-5 섹션 9.1.2 및 9.1.3). - 영지식 증명 (구현된 경우):
mso_mdoc_zk를 요청하는 경우 서버는 longfellow-zk를 사용하여 반환된 증명을 검증합니다.
D단계: 엔드 투 엔드 시연 동영상 녹화
통합이 B단계와 C단계를 통과하면 앱 또는 웹사이트에서 Google 월렛 동의를 거쳐 인증된 상태로 돌아가는 전체 사용자 여정을 보여주는 화면 캡처 동영상을 녹화합니다. 다음 표에는 온보딩 경로에 따라 포함할 항목이 나와 있습니다.
| 동영상 요구사항 | 신뢰 당사자 (직접) | 인증자 등록기관 (애그리게이터) |
|---|---|---|
| 표시할 화면 | 전체 사용자 여정: 시작 화면 → 사용자 인증 정보 선택기 → Google 월렛 동의 및 인증 → 앱 또는 사이트의 인증 결과 | 초기 (첫 번째) 다운스트림 제휴사의 전체 사용자 여정 |
| 녹화할 흐름 | Android 앱 또는 웹 통합 흐름 | 인증자 호스팅(자체 호스팅) 및 판매자 호스팅(RP 호스팅) 흐름(해당하는 경우) |
| 브랜딩 및 디스플레이 애셋 | 실제 표시 이름, 로고, 개인정보처리방침 / 서비스 약관 URL | 실제 판매자 표시 확장 소재 (이름, 로고, 서비스 약관 URL) 및 애그리게이터 표시 확장 소재 |
다음 단계
온보딩 경로를 선택하여 동영상을 제출하고 프로덕션에 출시하세요.