# 주민등록증 진위확인시스템 단말기 표준규격
(행정규칙구분=고시, 공포일자=20221017, 시행일자=20221017, 소관부처=행정안전부)
행정규칙번호: 2022-63
출처: 국가법령정보센터

행정규칙명: 주민등록증 진위확인시스템 단말기 표준규격
행정규칙종류: 고시
발령일자: 20221017
발령번호: 2022-63
시행일자: 20221017
소관부처: 행정안전부
담당부서기관: 행정안전부(주민과)
현행여부: Y

조문내용:
 1. 목적가. 국가기관 및 지방자치단체(이하 "행정기관"이라 한다.)와 금융기관 등에서 주민등록증의 위ㆍ변조로 인한 피해 예방을 위해 주민등록증의 진위확인과 행정기관에서 주민등록증 재발급, 인감 처리 등의 업무에서 본인확인을 위해 사용하는 단말기에 관한 데이터 연동규격을 정하고자 한다.나. 본 규격은 주민등록증 진위확인시스템 단말기의 주민등록증 진위확인 시스템과의 연계성을 확보하여 효율적인 주민등록 업무처리와 기기의 운영 및 유지보수를 용이하게 하는데 그 목적이 있다.　2. 적용 범위행정기관 및 금융기관 등에서 주민등록증 진위확인시스템에 연결하여 주민등록증의 진위여부를 확인하는 단말기에 대하여 적용한다.　3. 근거가. 「주민등록법」제35조(주민등록사항의 진위확인)나. 「주민등록법 시행령」제58조(주민등록증의 진위확인)다. 「전자정부법」제50조(표준화) 및 같은 법 시행령 제59조(표준화)　4. 제품 규격가. 단말기의 주요구성은 주민등록증 입력부, 생체지문 입력부, 처리부로 구성된다.- 주민등록증 입력부: 주민등록증을 삽입하거나 올려놓으면 주민등록증을 스캔하는 기능과 삽입하였을 경우 배출하는 기능을 수행- 생체지문 입력부: 생체지문 정보를 스캔하는 기능을 수행- 처리부: 각 입력부로부터 입력된 데이터를 규정된 형식에 따라 진위확인용 PC로 전송나. 단말기별 구성 부문은 다음과 같다.- 행정기관용 단말기: 주민등록증 입력부, 생체지문 입력부, 처리부- 일반용 단말기: 주민등록증 입력부, 처리부다. 행정기관용 단말기는 주민등록증 입력부와 생체지문 입력부, 처리부의 결합 방식에 따라 다음과 같이 구분한다.- 일체형: 단말기 본체에 주민등록증 입력부, 생체지문 입력부, 처리부가 함께 장착되도록 구성되고, 각 입력부로부터 추출된 데이터는 처리부를 거쳐 진위확인용 PC로 전송되어야 함.- 분리형: 단말기 본체에는 주민등록증 입력부, 처리부가 함께 장착되고, 생체지문 입력부는 별도로 분리되도록 구성. 단, 생체지문 입력부에서 추출된 지문 데이터는 단말기 본체에 있는 처리부를 통해 진위확인용 PC로 전송되어야 함.라. 일반용 단말기는 주민등록증 입력부, 처리부가 함께 장착되어 본체를 구성하며, 입력부로부터 추출된 데이터는 처리부를 거쳐 진위확인용 PC로 전송 되어야 한다.마. 단말기는 주민등록증을 삽입ㆍ배출하는 방식일 경우 다음과 같이 구분한다.- 반자동식: 주민등록증의 삽입 시 사용자에 의해 직접 삽입되고 배출 시에는 전기적 또는 기계적 장치에 의해 자동으로 배출시키는 방식- 자동식: 주민등록증의 삽입 및 배출시 전기적 또는 기계적 장치에 의해 자동으로 삽입 또는 배출시키는 방식- 수동식: 주민등록증의 삽입 및 배출이 사용자에 의해 직접 수행되는 방식바. 주민등록증 영상 데이터와 생체지문 이미지 데이터의 인식률은 다음 조건을 만족하여야 한다.- 주민등록증 사진과 진위확인서버 사진과의 인식률은 본인거부율(FRR)이 5% 이하, 타인인식률(FAR)이 0.01% 이하이어야 한다.- 주민등록증 지문과 진위확인서버 지문과의 인식률은 본인거부율(FRR)이 5%이하, 타인인식률(FAR)이 0.01%이하이어야 한다.- 생체지문과 진위확인서버 지문과의 인식률은 본인거부율(FRR)이 5%이하, 타인인식률(FAR)이 0.01%이하이어야 한다.　5. 데이터 연동 규격가. 본 규격에서 지정된 인터페이스 방식에 따라 주민등록증 진위확인용 PC에서 단말기를 쉽게 인식될 수 있도록 원활하게 연결되어야 한다.나. 영상처리 라이브러리- 단말기에서 입력된 주민등록증 이미지 데이터와 생체지문 이미지 데이터를 행정안전부에서 규정하는 관련 API의 입력형식에 맞도록 영역별(주민등록번호, 성명, 발급일자, 사진, 지문(생체지문 동일))로 해당 이미지의 크기를 수정하고 또한 이를 각각 raw 데이타 형태로 변환할 수 있는 라이브러리를 제공해야 한다.- 관련 API의 세부 규격은 를 참조한다.- 영상처리과정에서 주민등록증의 홀로그램 필터링 기능 적용을 권장한다.다. 진위확인용 PC에서 관련 API (Application Program Interface)를 포함한 진위확인 프로그램과 단말기의 원활한 연동이 이루어져야 하며, 관련 API의 종류는 문자인식 API, 사진 특징점 추출 API, 지문 특징점 추출 API, 생체지문 특징점 추출 API 등이 있으며 그 각각의 기능은 다음과 같다. 다만, 생체지문 특징점 추출 API는 행정기관용 단말기에 한정한다.- 문자인식 API: 단말기로부터 진위확인용 PC로 전송된 주민등록증 이미지 데이터에서 주민등록번호, 성명, 발급일자 등 문자인식(OCR- Optical Character Recognition)- 사진특징점추출 API: 단말기로부터 진위확인용 PC로 전송된 주민등록증 이미지 데이터에서 사진 특징정보 추출- 지문특징점추출 API: 단말기로부터 진위확인용 PC로 전송된 주민등록증 이미지 데이터에서 지문 특징정보 추출- 생체지문특징점추출 API: 단말기로부터 진위확인용 PC로 전송된 생체지문 이미지 데이터에서 생체지문 특징정보 추출라. 진위확인 프로그램과 단말기의 연동성 확보를 위하여 을 참조한 후 그 기능을 구현하여야 한다.마. 단말기에 대하여 행정안전부가 관련 연동시험을 별도로 요구하였을 경우에는 연동시험에 응하여 적합성을 만족시켜야 한다.　6. 재검토기한행정안전부장관은 이 고시에 대하여「훈령ㆍ예규 등의 발령 및 관리에 관한 규정」에 따라 2023년 1월 1일을 기준으로 매 3년이 되는 시점(매 3년째의 12월31일까지를 말한다)마다 그 타당성을 검토하여 개선 등의 조치를 하여야 한다.


별표

별표 0001: 본 규격 3. “데이터 연동 규격의 영상처리”과 관련된 API 세부 명세

 본 규격 3. "데이터 연동 규격의 영상처리"과 관련된 API 세부 명세

┌───────────────────────────────────────┐

│○ 향후 단말기 표준규격의 변경 없이 본 API 세부 명세사항의 변경이 필요한 경우 │

│단말기 표준규격과 별도로 API 세부 명세만 수정하여 공지할 수 있다.             │

└───────────────────────────────────────┘

1. 문자인식 API

    extern long WINAPI iid_RecogField_Buffer( BYTE* buffer, int width, int height, char* sResult,  int fid );

    - Grayscale raw 이미지 버퍼로부터 주민등록번호, 성명, 발급일자 등을 인식

    - Return Value : 없음

    - Parameters

        ㆍbuffer: 이미지버퍼(Grayscale raw Image Buffer)

        ㆍwidth : 이미지 가로 길이

        ㆍheight: 이미지 세로 길이

        ㆍfid : 이미지버퍼의 종류 (1 = 주민등록번호, 2 = 발급일자, 3 = 성명)

fid = 1 인 경우 width = 900, height = 172 

fid = 2 인 경우 width = 716, height = 130 

fid = 3 인 경우 width = 900, height = 170

        ㆍsResult : 문자인식 결과

fid = 1 인 경우 sResult = nnnnnnnnnnnnn (13자리 숫자, 주민등록번호) 

fid = 2 인 경우 sResult = nnnnnnnn (8자리 숫자, 년 월 일)

fid = 3 인 경우 sResult = 홍길동 (한글, 성명) 

2. 사진특징점 추출 API

    VARIANT_BOOL CreateFacialFeatureForClient (unsigned char * pSrcImage,unsigned char *  pFacialFeature );

     - 사진이미지에서 특징점 추출

     - Return Value: TRUE / FALSE (추출성공 / 추출실패)

     - Parameters

        ㆍpSrcImage: 사진이미지(282 x 330 RGB raw 이미지 버퍼)입력구조 (R[282*330]G[282*330]B[282*330])

        ㆍpFacialFeture: 사진특징점, 사이즈 11KB 

3. 지문특징점 추출 API

       BOOL  cmmFP_ExtractCard( unsigned char *pImageBuffer,  int nWidth,  int nHeight, unsigned char *pFeature );

     - 주민등록증 지문에서 특징점 추출 ( 특징점 크기 = 1200 Bytes )

     - Return Value : TRUE / FALSE (추출성공 / 추출실패)

     - Parameters

        ㆍpImageBuffer : 주민등록증 지문이미지 버퍼 (8 Bit Grayscale raw 이미지)

        ㆍnWidth: 지문이미지 가로길이 (= 588)

        ㆍnHeight: 지문이미지 세로길이 (= 520)

        ㆍpFeature : 지문이미지로부터 추출된 특징점, 사이즈  1200Bytes

4. 생체지문특징점추출 API

       BOOL  SFA_ExtractLive( unsigned char *pImageBuffer, int nWidth, int nHeight,

                                                  unsigned char *pFeature, int nSensorType );

     - 생체지문에서 특징점 추출 

     - Return Value : TRUE / FALSE (추출성공 / 추출실패)

     - Parameters

        ㆍpImageBuffer : 주민등록증 지문이미지 버퍼 (8 Bit Grayscale raw 이미지)

        ㆍnWidth       : 지문이미지 가로길이 (= 280)

        ㆍnHeight      : 지문이미지 세로길이 (= 320)

        ㆍnSensorType = 1

        ㆍpFeature : 지문이미지로부터 추출된 특징점 (1200 Bytes)

별표 0002: 본 규격 3. “데이터 연동 규격의 연동성 확보”와 관련된 API 세부 명세

 본 규격 3. "데이터 연동 규격의 연동성 확보"와 관련된 API 세부 명세

┌───────────────────────────────────────┐

│○ 향후 단말기 표준규격의 변경 없이 본 API 세부 명세사항의 변경이 필요한 경우 │

│단말기 표준규격과 별도로 API 세부 명세만 수정하여 공지할 수 있다.             │

└───────────────────────────────────────┘

1. 단말기 API 표준

┌──┬───────────────┬─────┬──────────────┐

│번호│함수명                        │반환값    │설명                        │

├──┼───────────────┼─────┼──────────────┤

│1   │int Ident_Open(HWND hWnd)     │ 0 : 성공 │신분증스캐너와 연결         │

│    │                              │-1 : 실패 │                            │

├──┼───────────────┼─────┼──────────────┤

│2   │int Fing_Open(HWND hWnd)      │ 0 : 성공 │지문스캐너와 연결           │

│    │                              │-1 : 실패 │                            │

├──┼───────────────┼─────┼──────────────┤

│3   │int Ident_Close()             │ 0 : 성공 │신분증스캐너 연결해제       │

│    │                              │-1 : 실패 │                            │

├──┼───────────────┼─────┼──────────────┤

│4   │int Fing_Close()              │ 0 : 성공 │지문스캐너 연결해제         │

│    │                              │-1 : 실패 │                            │

├──┼───────────────┼─────┼──────────────┤

│3   │int Ident_FullScan(HBITMAP*   │ 0 : 성공 │신분증 FULL 이미지 스캔     │

│    │ hBmp,  int wTime);           │-1 : 실패 │wTime : 대기시간(단위:m/s)  │

├──┼───────────────┼─────┼──────────────┤

│4   │ int Ident_Scan(              │ 0 : 성공 │신분증 이미지 스캔          │

│    │(BYTE*)pFace, (BYTE*)pFngr,   │-1 : 실패 │pFace : 사진 이미지(RAW)    │

│    │ (BYTE*)pDate, (BYTE*)pName,  │          │pFngr : 지문 이미지(RAW)    │

│    │(BYTE*)pIDNo, int wTime);     │          │pDate : 발급일자 이미지(RAW)│

│    │                              │          │pName : 성명 이미지(RAW)    │

│    │                              │          │pIDNo : 주민등록번호 이미지 │

│    │                              │          │(RAW)                       │

│    │                              │          │wTime : 대기시간(단위:m/s)  │

├──┼───────────────┼─────┼──────────────┤

│5   │LPCTSTR STND_GetFirmVer()     │펌웨어    │단말기 펌웨어 버전 조회     │

│    │                              │버전정보  │                            │

└──┴───────────────┴─────┴──────────────┘

* 라이브러리 파일명 : "cmmUnit.DLL"

2. 에러코드 테이블

┌──┬──┬──────────┬─────────────────────┐

│번호│코드│에러명              │설     명                                 │

├──┼──┼──────────┼─────────────────────┤

│1   │-1  │실패                │함수 호출을 실패한 경우                   │

├──┼──┼──────────┼─────────────────────┤

│2   │-2  │드라이버 로드실패   │단말기 드라이버가 로드 되지 않은 경우     │

├──┼──┼──────────┼─────────────────────┤

│3   │-3  │장치 없음           │단말기를 인식하지 못하는 경우             │

├──┼──┼──────────┼─────────────────────┤

│4   │-4  │카드 없음           │단말기에 카드가 없는 경우                 │

├──┼──┼──────────┼─────────────────────┤

│5   │-5  │데이터 전송 에러    │이미지 데이터 전송을 실패한 경우          │

├──┼──┼──────────┼─────────────────────┤

│6   │-6  │슬립발생            │슬립 발생으로 이미지가 늘어진 경우        │

├──┼──┼──────────┼─────────────────────┤

│7   │-7  │잼 에러             │단말기 카드 걸림 또는 잼 발생 경우        │

├──┼──┼──────────┼─────────────────────┤

│8   │-8  │카드이물질 스캔에러 │카드 이물질로 스캔을 하지 못하는 경우     │

├──┼──┼──────────┼─────────────────────┤

│9   │-9  │카드사이즈 에러     │규정된 카드 사이즈가 아닌 경우            │

├──┼──┼──────────┼─────────────────────┤

│10  │-10 │커버 열림 에러      │단말기 커버가 열린 경우                   │

├──┼──┼──────────┼─────────────────────┤

│11  │-11 │함수 중복호출 에러  │함수 호출 후 기능 수행 시 같은 기능의     │

│    │    │                    │함수를 호출한 경우                        │

├──┼──┼──────────┼─────────────────────┤

│12  │-12 │Time Out            │함수 호출 시 지정된 대기시간을 초과한 경우│

├──┼──┼──────────┼─────────────────────┤

│13  │-13 │지문 이미지 불량    │지문 이미지가 좋지 않을 경우              │

├──┼──┼──────────┼─────────────────────┤

│14  │-14 │지문 core 에러      │지문 이미지의 core가 없는 경우            │

├──┼──┼──────────┼─────────────────────┤

│15  │-15 │지문 core 치우침    │지문 이미지의 core가 한쪽으로 치우친 경우 │

└──┴──┴──────────┴─────────────────────┘

3. 에러코드 적용예

- 롤러 까지 카드 투입 후 카드를 잡고 있는 등의 이유로 카드 이송이 되지 않아 스캔 작업을 정상적으로 시작할 수 없을 때 (에러코드 -7)  

 - 스캔 작업이 시작된 이후 너무 긴 카드 등의 이유로 스캔 작업이 종료 되지 않을 때(에러코드 -9)   

- 롤러에 카드를 물리지 않고 카드 투입부에만 카드를 살짝 투입했을 때 스캔 명령 수수 후 3초 이내에 카드가 삽입되지 않는 경우 (에러코드 -4) 

 - 내부에 이미 카드 등의 이물질로 스캔이 불가능할 때 (에러코드 -8)  

 - 카드와 롤러 사이에 슬립이 발생해 이미지가 늘어지는 경우 (에러코드 -6) 

 - 지정되지 않은 명령 (에러코드 -1)  

 - 규정되지 않는 방식의 통신 패킷이 도착했을 때 (에러코드 -1)  

 - 호스트에서 규정된 시간(5초) 안에 응답 패킷을 가져가지 않을 때 (에러코드 -12)

 - 드라이버 로드 에러 (에러코드 -2)

 - 장치 없음 에러 (에러코드 -3)

 - 장치 OFF (에러코드 -3)

 - 카드 없음 에러 (에러코드 -4)

 - 설정 시간동안 카드가 삽입되지 않은 경우 (에러코드 -12)

- 이미지 데이터 전송 에러(API 설정과 무관. 드라이버 내부에서 설정하는 값을 초과한 경우) (에러코드 -5)

 - 잼 에러 (에러코드 -7)

 - 커버 열림 에러 (에러코드 -10 )

 - 스캔 진행중에 다시 스캔 등의 명령을 주었을 경우 (에러코드 -11)

4. 이미지 사이즈

 #define ID_WIDTH900

 #define ID_HEIGHT172

 #define DATE_WIDTH716

 #define DATE_HEIGHT130

 #define NAME_WIDTH900

 #define NAME_HEIGHT170

 #define ID_IMAGE_SIZE154800// 900 * 172

 #define NAME_IMAGE_SIZE153000// 900 * 170

 #define DATE_IMAGE_SIZE93080// 716 * 130

 #define FACE_IMAGE_SIZE279180// 282*330*3

 #define FPTR_IMAGE_SIZE305760// 588 * 520

 #define REAL_IMAGE_SIZE89600// 280, 320


부칙

['부칙 이 고시를 발령함에 따라 「주민등록증 진위확인시스템 금융기관용 단말기 표준규격」은 폐지한다.', '부칙 (정부조직개편에 따른 지방세 감면 총량비율 고시 등의 정비에 관한 고시)제1조(시행일) 이 고시는 발령한 날부터 시행한다.제2조 생략', '        부칙 제1조(시행일) 이 고시는 발령한 날부터 시행한다.제2조 생략 ']

부칙 공포정보: ['20151106', '20170726', '20221017'] (공포번호: ['2015-40', '2017-1', '2022-63'])