Appearance
메시지 흐름 요약
모바일 신분증 연동 시 발생하는 전체 메시지 흐름을 단계별로 설명합니다.
1. 메세지 흐름

2. 메시지 흐름 텍스트 설명
모바일 신분증 시스템은 다양한 인터페이스 방식(QR-MPM, QR-CPM, BLE, NFC 등)에 따라 메시지를 주고받는 흐름이 달라져요. 여기서는 일반적인 메시지 흐름을 단계별로 정리했어요.
1단계: VP 전처리 요청 (M100 계열)
신분증 앱이 직접 VP 요청을 할 수 없는 경우(예: QR-CPM, BLE 기반), verifier가 전처리 메시지를 먼저 보냅니다.
- M100: 전처리 시작
- M110: QR코드 생성 등 초기 연결 정보 제공
2단계: VP 요청 (M200)
verifier가 신분증 앱에 VP 요청 메시지를 보내요. 이때 profile 정보는 두 가지 방식 중 하나로 포함돼요
M200메시지 안에profile을 포함하는 방식M200은 간단하게 보내고, 신분증 앱이M310으로 별도로profile을 요청하는 방식
profile은 검증에 필요한 요구 조건(인증 방식, 필요한 VC 목록 등)을 담고 있어요.
3단계: VP 준비 (M310, M320)
신분증 앱은 M200에서 필요한 추가 정보를 받지 못했을 경우, 다음 요청을 보낼 수 있어요:
- M310: 프로필 요청
- M320: 사용자 얼굴 이미지(BI) 요청
각 요청은 /mip/profile, /mip/image 경로로 보내며, 서버는 해당 데이터를 base64 인코딩된 응답 메시지로 돌려줘요.
4단계: VP 제출 (M400)
신분증 앱은 사용자의 인증을 완료하고, M400 메시지를 만들어 verifier에게 제출해요.
vp객체 안에는 암호화된 VP 데이터(data)가 포함돼요.- 제출은 프로필에 정의된
callBackUrl이나 기본 경로(/mip/vp)로 보내요.
5단계: 결과 처리
verifier는 VP를 검증한 결과를 HTTP 200 OK 응답으로 돌려줘요.
- 성공 시:
{ "result": true } - 실패 시:
{ "result": false, "data": "base64 인코딩된 오류 메시지" }
예외 처리: 오류 메시지 (M900)
오류가 발생한 경우, 다음 방식으로 오류 메시지를 교환해요
- verifier → 신분증 앱: 오류 메시지를
data필드에 base64로 인코딩해서 응답 - 신분증 앱 → verifier:
/mip/error경로로 base64 인코딩된 오류 메시지를 전송
이러한 오류 메시지는 모두 cmd: 900 형태의 M900 메시지로 정의돼요.