개요

디지털 사용자 인증 정보 프로비저닝 API는 다음 세 가지 주요 리소스 모델로 구성됩니다.

리소스 설명
기기 물리적 기기 및 ID 키의 고유 인스턴스입니다.
교정 사용자 인증 정보를 발급하기 전에 사용자의 신원을 증명하는 프로세스입니다.
사용자 인증 정보 DC 자체

발급자는 DC의 수명 주기 전반에 걸쳐 이러한 리소스를 만들고 관리할 책임이 있습니다.

가정

이 API의 기본 가정은 기기에서 ISO/IEC 18013-5에 정의된 DC를 저장하기 위해 Android ID 사용자 인증 정보 API를 사용한다는 것입니다.

리소스 모델

기기

디지털 인증서 프로비저닝 API 모델에서 기기는 사용자가 Google 월렛 앱을 사용하여 DC를 관리하는 Android 지원 기기를 단순히 나타내지 않습니다. 대신 다음의 조합으로 표시됩니다.

  • Android 기반의 실제 기기입니다.
  • 공개 키/비공개 키 쌍('ID 키'라고 함)
    • 공개 키는 발급자가 기기의 ID를 확인하는 데 사용됩니다.
    • 비공개 키는 기기의 보안 저장소에 저장됩니다.

API를 호출할 때 기기와 사용자 인증 정보 조합은 기기 참조 ID (deviceReferenceId 속성)로 식별됩니다.

기기가 발급자와 처음 통신할 때 재생 공격을 방지하고 최신 상태를 유지하기 위해 고유한 nonce가 부여됩니다. 무작위 수는 기기의 ID 키로 서명되고 ID 키가 포함된 인증서에 삽입됩니다. 앞으로 인증서를 사용하여 발급자와 기기를 확인할 수 있습니다.

인증서에 관한 자세한 내용은 Android IdentityCredential 문서를 참고하세요.

이 리소스를 데이터베이스 테이블로 모델링하면 다음과 비슷하게 표시됩니다. identityKey 속성은 공개 키 값입니다.

기기 리소스의 데이터베이스 테이블 예

교정

교정은 다음의 조합을 나타냅니다.

  • 사용자가 신원을 증명하기 위해 제공한 증빙 자료
  • 제공된 증거를 바탕으로 발급자가 내린 결정

증명은 사용자가 요청하는 사용자 인증 정보 유형에 따라 다릅니다. DC를 프로비저닝할 때 사용자는 실제 신분증 사진과 프로필 동영상을 제공합니다. 이 동영상은 Google에서 동영상이 실제 사람일 가능성을 계산하는 데 사용됩니다. Google에서 발급자에게 제공하는 결과를 '생체 인식 점수'라고 합니다. 새로운 사용자 인증 정보 유형이 지원되면 추가 증명 방법이 추가됩니다.

교정의 가능한 상태는 다음 표에 나열되어 있습니다.

상태 설명 최종 상태
대기 중 발급기관에서 아직 결정을 내리지 않았습니다. 아니요
수락됨 발급기관에서 증거가 충분하다고 판단했습니다. 아니요
거부됨 발급기관에서 증거가 불만족스럽다고 결정했습니다. 예*
지원 필요 발급자가 결정을 내리기 위해 추가 정보가 필요합니다. 아니요
취소됨 사용자가 교정을 취소했습니다.
취소됨 발급자가 증빙을 취소했습니다. 예*
만료됨 사용자가 시간 내에 챌린지를 완료하지 않았습니다.

별표 (*)로 표시된 상태는 사람이 검토자가 실수하여 상태를 수동으로 업데이트하는 경우 최종 상태가 아닐 수 있습니다.

다음 상태 다이어그램은 가능한 상태 흐름을 설명합니다.

경우에 따라 발급자는 초기 증거를 바탕으로 결정을 내릴 수 없습니다. 결정을 내릴 수 있도록 사용자에게 발급자에게 추가 정보나 증거를 제공하도록 요청할 수 있습니다. 챌린지의 예로는 우편 편지에 응답하거나, 발급자 웹사이트를 방문하거나, 추가 증거를 제출하는 것이 있습니다.

이 리소스를 데이터베이스 테이블로 모델링하면 다음과 비슷하게 표시됩니다.

교정 리소스의 데이터베이스 테이블 예시

사용자 인증 정보

인증 수단은 특정 기기의 실제 인증 수단의 가상 버전을 나타냅니다. 가상 사용자 인증 정보가 실제 기기에 프로비저닝될 때마다 사용자 인증 정보 ID가 할당됩니다. 동일한 실제 사용자 인증 정보가 서로 다른 기기에 프로비저닝되면 매번 다른 사용자 인증 정보 ID가 부여됩니다. 마찬가지로, 사용자 인증 정보가 기기에 프로비저닝되고 삭제된 후 동일한 기기에 다시 프로비저닝되면 사용자 인증 정보 ID가 달라집니다.

사용자 인증 정보의 세부정보 (예: 신원 확인 문서의 주소 변경)가 변경되면 연결된 가상 인증 정보에 대해 이러한 세부정보를 업데이트해야 합니다. 단일 사용자 인증 정보에는 이러한 변경사항에 해당하는 여러 버전이 있을 수 있습니다. 현재 버전은 사용자 인증 정보 버전 ID를 사용하여 추적됩니다.

신뢰 당사자에게 사용자 인증 정보를 제공하려면 기기에서 먼저 발급자로부터 모바일 보안 객체 (MSO)를 가져와야 합니다. MSO에는 발급자가 서명한 사용자 인증 정보의 다이제스트가 포함됩니다. MSO는 인증 키, 기기의 ID 키로 생성되고 서명된 공개 키에서 생성됩니다. 인증 키는 효과적으로 MSO를 기기에 바인딩합니다. MSO와 사용자 인증 정보의 조합은 사용자 인증 정보가 발급자에서 비롯되었음을 신뢰 당사자에게 증명합니다.

사용자 인증 정보가 기기에 프로비저닝되면 기기는 ProofOfProvisioning 객체를 발급자에게 다시 전송해야 합니다. 이는 인증 기관에 사용자 인증 정보가 기기에 성공적으로 프로비저닝되고 기기의 보안 저장소에 저장되었음을 알립니다.

사용자 인증 정보는 다음 상태를 가질 수 있습니다.

상태 설명
ProvisionPending

사용자 인증 정보가 Google 월렛에 출시되었지만 프로비저닝 증빙이 발급자에게 반환되지 않았습니다. 사용자 인증 정보 버전 ID가 변경될 때마다 사용자 인증 정보가 이 상태로 이동됩니다.

이 사용자 인증 정보에는 MSO가 출시되지 않습니다.

활성

인증 정보가 Google 월렛에 출시되었으며 프로비저닝 증빙이 발급기관에 반환되었습니다.

MSO를 사용자 인증 정보에 사용할 수 있습니다.

취소됨

발급자가 인증 정보를 영구적으로 취소했습니다.

이 사용자 인증 정보에는 MSO가 출시되지 않습니다.

이 상태에서는 Google 월렛에서 사용자 인증 정보를 표시하지 않습니다.

삭제됨

사용자 또는 Google 월렛이 기기에서 사용자 인증 정보를 영구적으로 삭제했습니다.

이 사용자 인증 정보에는 MSO가 출시되지 않습니다.

이 상태에서는 Google 월렛에서 사용자 인증 정보를 표시하지 않습니다.

다음 상태 다이어그램은 가능한 상태 흐름을 설명합니다.

이 리소스를 데이터베이스 테이블로 모델링하면 다음과 비슷하게 표시됩니다.

사용자 인증 정보 리소스의 데이터베이스 테이블 예시