TD1, TD2, TD3: 세 가지 MRZ 형식

TD1, TD2, TD3는 ICAO Doc 9303이 정의하는 세 가지 기계 판독 영역(MRZ) 형식입니다. TD3는 한 줄에 44자씩 두 줄로 여권에 쓰이고, TD2는 한 줄에 36자씩 두 줄로 예전 신분증과 여행 카드에 쓰이며, TD1은 한 줄에 30자씩 세 줄로 카드 크기의 문서에 쓰입니다.

세 가지 형식 한눈에 보기

세 가지 MRZ 형식의 크기와 형식별 예시
형식줄 × 문자문서 유형예시 (첫 줄)
TD32 × 44여권 및 기타 TD3 크기 여행 문서P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
TD22 × 36TD2 크기 공식 여행 문서, 구형 신분증I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<
TD13 × 30카드 크기 공식 여행 문서 및 신분증IDGRCAK472913<4PN48291630<<<<<

모든 줄은 채움 문자 <로 전체 길이까지 채워집니다. 줄마다 정확히 44자, 36자 또는 30자가 아닌 영역은 해당 형식의 유효한 영역이 아닙니다. 파서가 영역을 거부할 때 가장 먼저 확인할 부분입니다.

TD3 – 44자 2줄

여권 형식입니다. 첫째 줄에는 문서 코드, 발급 국가, 이름이 들어가고, 둘째 줄에는 문서 번호, 국적, 생년월일, 성별, 만료일, 개인 번호와 체크 디지트가 들어갑니다. 여기서 이름 영역은 39자로, 세 형식 가운데 가장 넓습니다. 성과 이름은 채움 문자 두 개로 구분하고, 이름끼리는 채움 문자 하나로 구분합니다.

P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184GRC9403084F3203101PN48291630<<<<72

복합 체크 디지트는 아래 줄의 44번 위치에 있으며, 그 줄의 1–10, 14–20, 22–43 위치를 대상으로 합니다. 11–13 위치(국적)와 21 위치(성별)는 표준에 따라 복합 계산에서 제외됩니다.

TD2 – 36자 2줄

같은 두 줄 구성이며, 줄마다 여덟 자씩 더 좁습니다. 이름 필드는 31자입니다.

I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<
TR61850420GRC9403084F2911043<<<<<<<2

복합 체크 디지트는 아래 줄의 36번 위치에 있으며, 1–10, 14–20, 22–35 위치를 대상으로 합니다.

TD1 – 30자 3줄

카드 형식이며, 파서가 가장 자주 잘못 처리하는 형식입니다. 필드 배치가 다르기 때문입니다. 위 줄에는 문서 코드, 발급 국가, 문서 번호, 첫 번째 선택 데이터 블록이 들어가고, 가운데 줄에는 날짜, 성별, 국적이 들어가며, 이름은 아래 줄 30자 전체를 혼자 차지합니다. 세 형식 가운데 가장 좁은 이름 필드이므로, 긴 이름이 잘릴 위험이 가장 큰 형식은 TD1입니다.

IDGRCAK472913<4PN48291630<<<<<
9403084F3405204GRC<<<<<<<<<<<9
PARADEIGMA<<ELENI<SOFIA<<<<<<<

복합 체크 디지트는 가운데 줄의 마지막 문자인 30번 위치에 있으며, 위 줄의 6–30 위치와 가운데 줄의 1–7, 9–15, 19–29 위치를 대상으로 합니다. 두 줄에 걸친 범위이며, 바로 이 부분에서 구현이 틀립니다.

그 밖에 만나게 될 형식

세 가지 여행 문서 형식 외에도 다음과 같은 형식이 있습니다:

  • MRV-A – A형 기계 판독 비자: 44자 2줄.
  • MRV-B – B형 기계 판독 비자: 36자 2줄.
  • 운전면허증 영역에 쓰이는 30자 1줄 형식.
  • 카드 접근 번호를 담은 6자짜리 한 줄.
  • 30자 2줄 변형.

저희 API는 감지한 형식을 알려 주므로, 줄 길이로 형식을 직접 추론할 필요가 없습니다.

체크 디지트, 그리고 보호하지 않는 것

각 체크 디지트는 해당 필드에 7, 3, 1 가중치를 반복 적용해 계산합니다. 숫자는 그 자체 값, 알파벳은 알파벳 순서에 9를 더한 값(A = 10), 채움 문자 <는 0으로 셉니다. 합계를 10으로 나눈 나머지(modulo 10)가 체크 디지트입니다.

체크 디지트는 문서 번호, 생년월일, 만료일, 그리고 TD3에서는 개인 번호를 보호하며, 여기에 영역 대부분을 아우르는 복합 체크 디지트가 더해집니다.

이름을 보호하는 체크 디지트는 없고, 발급 국가를 보호하는 체크 디지트도 없습니다. 둘 중 어느 쪽이 잘못 읽혀도 아무 신호가 없습니다. 계산은 여전히 맞아떨어지기 때문입니다. 문서의 인쇄면도 함께 읽고 두 판독 결과를 비교해야 하는 가장 강력한 이유가 바로 이것이며, 저희 API는 기본적으로 그렇게 합니다.

표준의 근거

ICAO Doc 9303, Machine Readable Travel Documents, 제8판, 2021. 문서 시리즈 안내 페이지가 더 이상 열리지 않으므로, 각 부는 링크 대신 번호와 영어 원제로 인용합니다:

이 형식들을 정의하는 ICAO Doc 9303의 각 부
제목
제3부Specifications Common to all MRTDs
제4부Specifications for Machine Readable Passports (MRPs) and other TD3 Size MRTDs
제5부Specifications for TD1 Size Machine Readable Official Travel Documents (MROTDs)
제6부Specifications for TD2 Size Machine Readable Official Travel Documents (MROTDs)
제7부Machine Readable Visas

제3부에는 모든 형식에 공통된 내용, 즉 문자 집합, 채움 문자, 체크 디지트 계산법이 담겨 있습니다. 제4부는 TD3, 제5부는 TD1, 제6부는 TD2, 제7부는 두 가지 비자 형식을 정의합니다. 각 형식의 체크 디지트 표는 4.2.4절에 있으며, 이는 제4부, 제5부, 제6부 모두 같습니다.

직접 영역 확인하기

이 페이지의 모든 영역은 가상의 소지자 한 명의 것입니다. 번호도 날짜도 지어낸 것이며, 체크 디지트는 손으로 입력하지 않고 그 값으로 계산했습니다. 실제 누구의 것도 아닙니다.