메인 콘텐츠로 건너뛰기
NFC 기반 인증을 사용하면 모바일 휴대전화의 NFC 기능을 활용해 최신 여권 및 신분증에 내장된 보안 칩을 읽어 신원 문서를 검증할 수 있습니다. 이는 신분증 인증에서 사용할 수 있는 가장 높은 수준의 보안을 제공합니다.
NFC 상호작용

주요 이점


NFC 인증 활성화 방법

네이티브 SDK 연동 (권장)

NFC 인증은 기기의 NFC 기능에 대한 완전한 접근을 제공하는 네이티브 SDK를 통해 지원됩니다. iOS SDK는 다음을 포함한 모든 NFC 구성을 자동으로 처리합니다.
  • 전자여권(ePassport)용 ISO7816 애플리케이션 식별자
  • 권한 및 기능 설정
  • 시각적 피드백과 함께 실시간 칩 읽기

웹 연동

⚠️ 브라우저 제한 사항 NFC 인증은 플랫폼 제한으로 인해 웹 브라우저에서 사용할 수 없습니다. 웹 연동의 경우 NFC 인증은 자동으로 건너뛰며, 사용자는 표준 문서 + 셀피 인증을 진행합니다.

작동 방식

세션 시작

사용자는 앱 또는 플랫폼을 통해 인증 프로세스를 시작합니다:
  • 네이티브 SDK: 앱에서 직접 인증 워크플로를 실행합니다
  • 웹/모바일 웹: 사용자가 Didit 앱을 사용하여 NFC 기반 인증을 진행하도록 안내하거나, 표준 인증으로 계속 진행합니다

문서 사진 촬영

사용자가 신분증을 촬영하여 다음 항목을 캡처합니다:
  • MRZ(기계 판독 영역) — 칩 액세스 키를 도출하는 데 사용됩니다
  • 문서 앞면 및 뒷면 이미지 — 시각적 데이터 및 보안 기능
  • 시각적 보안 기능 — 홀로그램, 워터마크, 미세 인쇄

NFC 지원 감지

시스템이 기기 및 문서 호환성을 자동으로 확인합니다:
NFC를 사용할 수 없는 경우 표준 문서 + 생체 인증으로 원활하게 계속 진행됩니다.

NFC 칩 읽기

호환되는 기기 및 문서의 경우:
  1. 사용자가 휴대폰의 NFC 리더 근처에 문서를 놓도록 안내합니다
  2. 시각적 피드백을 통해 실시간 읽기 진행 상황을 표시합니다
  3. PACE/BAC 프로토콜을 사용하여 칩과의 보안 통신을 설정합니다

데이터 추출

시스템이 ICAO 9303 표준에 따라 칩에서 포괄적인 데이터를 추출합니다:

암호학적 검증

추출된 데이터는 엄격한 암호학적 검증을 거칩니다:
각 데이터 그룹의 해시를 SOD에 저장된 서명과 비교하여 검증함으로써 데이터 무결성을 보장합니다.
CSCA 마스터 목록 및 ICAO Public Key Directory와 대조하여 문서 인증서 → 국가 서명 CA → ICAO PKD 루트 신뢰 체인을 검증합니다.
인증서가 폐기되지 않았는지, 문서가 도난당했거나 보안이 침해된 것으로 신고되지 않았는지 확인하기 위해 인증서 폐기 목록(CRL)과 대조하여 검증합니다.
NFC로 추출한 데이터를 문서 사진의 OCR 데이터, 얼굴 생체 정보 대조 및 MRZ 체크섬 검증과 교차 검증합니다.

결과 및 신뢰도 점수

최종 인증 결과에는 다음이 포함됩니다:

지원되는 문서

NFC 인증은 NFC 칩이 포함되어 있고 일반적으로 문서에 다음 기호가 표시된 전자여권 및 전자신분증(eID)에서 작동합니다:
ePassport Logo
2006년 이후 발급된 대부분의 여권에는 NFC 칩이 포함되어 있습니다. 국가 신분증의 지원 여부는 국가마다 다릅니다. 지원되는 문서에서 전체 내용을 확인하세요. 일본 마이넘버카드는 다른 종류의 칩을 사용하며 ICAO 9303 대신 JPKI를 통해 판독합니다. 자세한 내용은 일본 마이넘버카드(JPKI)를 참조하세요.

일본 마이넘버카드(JPKI)

일본의 마이넘버카드(マイナンバーカード)에는 칩이 내장되어 있지만, ICAO 9303 규격은 아닙니다. 이 카드에는 일본의 공개 키 인프라인 JPKI에 따라 발급된 인증서와, 소지자가 카드 PIN을 입력해야만 서명할 수 있는 개인키가 포함되어 있습니다. Didit은 ICAO 9303 대신 JPKI를 통해 동일한 NFC 단계에서 카드를 읽으며, 모든 NFC 결과는 chip_protocol(icao 또는 jpki)에 사용된 프로토콜을 명시합니다.
아직 사용할 수 없습니다. JPKI를 통한 마이넘버카드 인식은 프로덕션 환경에서 아직 활성화되지 않았습니다. 활성화되기 전까지는 네이티브 SDK에서 캡처된 마이넘버카드가 JPKI_UNAVAILABLE 건너뛰기 사유와 함께 NFC 단계를 건너뛰며, 기존과 동일하게 문서 캡처 및 얼굴 대조를 통해 카드가 인증됩니다.

요구 사항

개인이 진행하는 과정

카드 촬영

일반적인 문서와 마찬가지로 신분증 인증 단계에서 개인이 마이넘버카드를 촬영합니다. Didit은 카드를 인식하고 여권 칩 판독 대신 JPKI NFC 단계를 전송합니다.

카드 PIN 입력

SDK가 카드의 4자리 PIN(利用者証明用電子証明書の暗証番号) 입력을 요청합니다. NFC 노드의 jpki_request_attributes 설정이 활성화되어 있으면(기본값), 서명 PIN이라고도 불리는 서명용 비밀번호(署名用電子証明書の暗証番号, 영문 대문자 및 숫자 6~16자) 입력도 함께 요청합니다.

카드를 스마트폰에 태그

SDK가 카드의 인증서를 읽고, 카드는 자체 키를 사용하여 Didit의 일회용 챌린지에 서명합니다. SDK는 인증서와 서명을 업로드합니다. PIN은 카드에만 전달되며 Didit에는 절대 전송되지 않습니다.
카드는 입력 실패 횟수를 기록합니다. 4자리 PIN은 연속 3회, 서명용 비밀번호는 연속 5회 잘못 입력하면 잠기며, 잠긴 PIN이나 서명용 비밀번호는 소지자의 관할 지방자치단체 사무소에서 초기화해야 합니다. 잘못 입력한 후에는 SDK에 남은 시도 횟수가 표시됩니다. SDK는 마지막 시도를 실행하지 않습니다. 1회만 남았을 때는 시도를 중단하고 개인에게 초기화 장소를 안내합니다. 시작하기 전에 PIN과 서명용 비밀번호를 미리 준비하도록 사용자에게 안내하십시오.

Didit 검증 항목

각 작업은 NFC 노드의 설정 항목이므로 조치 없음, 검토, 거부로 변경할 수 있습니다. NFC 경고 및 NFC 기능 구성을 참조하십시오.

폐기 미확인 상태의 의미

revocation_status: "unchecked"는 Didit이 인증서 체인과 카드의 서명을 검증했지만, 인증서가 폐기되었는지 여부에 대한 응답을 받지 못했음을 의미합니다. 예를 들어 카드가 분실 신고되면 인증서가 폐기됩니다. 폐기된 카드의 가능성을 배제할 수 없으므로 unchecked는 good으로 처리되지 않습니다. 이는 JPKI_REVOCATION_UNCHECKED를 발생시키며, 기본적으로 NFC 단계를 검토 상태로 보냅니다. jpki_revocation_unchecked_action을 통해 다른 결과를 선택할 수 있습니다. 인증서 체인 또는 서명이 유효하지 않은 경우 Didit은 폐기 여부를 조회하지 않습니다. 상태는 unchecked로 유지되며 체인 또는 서명 경고만 발생합니다.

소지자 정보 및 개인정보 보호

  • jpki_request_attributes가 활성화된 경우, 결정 결과의 jpki.attributes 아래에 서명 인증서의 소지자 성명, 생년월일, 성별, 주소가 포함됩니다. 이 설정이 비활성화된 경우, 개인은 4자리 PIN만 입력합니다. 이 경우에도 카드와 PIN은 증명되지만 소지자 정보는 포함되지 않으며 카드 사진과 비교되지도 않습니다.
  • NFC 단계에서는 칩에서 카드의 12자리 개인번호(마이넘버)를 절대 읽지 않습니다.
  • 결정 결과에는 카드가 증명한 내용만 보고되며, 인증서 자체나 일련번호, 서명은 보고되지 않습니다.
전체 결과는 NFC 인증 보고서에 설명되어 있습니다.

연동 예시

iOS SDK (현재 지원)

전체 iOS SDK 문서 →

Android SDK (현재 지원)

Android SDK 문서 →

보안 아키텍처


자주 묻는 질문

마지막 수정일 2026년 11월 7일