서비스 개요
서비스 방식
서비스 환경
나이스 실명확인 서비스 클라이언트 설치방법
1) 설치프로그램 실행
2) 설정파일 변경
3) 샘플 웹프로젝트의 수정 및 활용
4) 테스트
사이트를 추가하는 경우의 설치 방법
운영에 필요한 다양한 내용들
1) 서버 정상처리 응답 코드
2) 서버 비정상 응답 코드
3) 서비스 조회 사유코드
1. 서비스 개요
많은 인터넷 기업들이 서비스의 수익모델 창출을 위해 유료컨텐츠 도입을 하게 되어, 가입 및 사용 회원에 따른 컨텐츠의 차별화가 불가피하게 되었다. 이러한 고객 중심의 CRM 구축을 위한 기본이 되는 것이 가입시의 실명확인이라 할 수 있다. 특히 타인 주민등록번호 도용으로 인한 실명회원의 피해사례가 빈번히 발생하고, 비실명 가입자로 인한 서비스 품질의 저하가 우려되며, 비실명 가입자의 체납으로 인한 수익감소까지 발생할 수도 있다. 또한 최근 인터넷사이트의 운영을 관리 감독하는 각 기관에서 가입자에 대한 실명확인여부를 요구하고 있다. 이와 같은 실명인증 서비스가 확대됨에 따라 실명인증 서비스 자체에 대한 보안문제가 대두되기 시작했다. 실명인증 과정에서 발생할 수 있는 주민등록번호 유출이나, 실명서비스 이용자 및 고객사의 부정행위, 인증사용료 정산시의 분쟁에 대비하여 좀더 안전하고 명확한 서비스 모델이 필요한 시점이다. 본 시스템은 이러한 요구에 발맞춰 보다 빠르고 안정적이면서 안전한 실명확인 서비스를 제공하고자 개발되었다. 윈도우 서비스 기반의 서버 구조와 다양한 형태의 클라이언트 운용 환경에 맞게 제공되는 모듈, 빠르고 편리한 설치 및 손쉬운 운용 관리로 최상의 서비스를 제공할 것이다.
▲TOP
2. 서비스 방식
본 실명확인 서비스는 클라이언트-서버 구조로, 웹페이지(또는 웹애플리케이션)에서 요청한 실명확인 요청을 클라이언트 모듈이 받아서 서버와 통신하여 그 결과를 다시 웹페이지에 전달해주는 방식이다. 서버는 (주)한국신용정보 본사에 설치 운영중이며, 사용자 실명데이터베이스와 연동하여, 빠르고 안전한 실명확인 서비스를 제공하도록 설계되어 있다. 클라이언트는 실명확인서비스 이용을 원하시는 고객사의 웹애플리케이션 서버에 설치, 운영된다.
서비스 방식은 대략 다음과 같다.
고객사의 웹사이트에서 사용자가 실명확인을 요청할 경우, 웹서버는 클라이언트모듈에 사용자의 이름/주민번호를 전달한다.
클라이언트 모듈은 사용자의 이름/주민번호를 암호화된 안전한 방법으로 서버에 전달한다.
서버는 해당 사용자의 이름/주민번호를 실명데이터베이스에서 실시간으로 확인하여 그 결과를 클라이언트에 전달하게 된다.
클라이언트 모듈은 다시 이 결과를 웹페이지에 전달한다.
웹페이지는 결과에 따라서 정상적인 회원 가입 절차 또는 서비스 절차로 이동하던가, 아니면 사용자로 하여금 실명확인이 되지 않았다는 메시지와 함께 적절한 서비스 페이지로 이동하도록 구성될 것이다.
본 매뉴얼은 고객사의 웹애플리케이션 서버에 실명확인서비스 클라이언트를 설치하는 방법에 대해서 소개를 할 것이다.
▲TOP
3. 서비스 환경
하드웨어 : IBM PC 호환 팬티엄 기종
운영체제 : 윈도우 2000, 2003 서버, .NET Framework 1.1 이상
웹 서버 : IIS 5.0 or IIS 6.0
언어 : HTML / C#
▲TOP
4. 나이스 실명확인 서비스 클라이언트 설치방법
1) 설치프로그램을 실행한다.
설치 디렉토리는 기본적으로 C:\nicerlnm 으로 되어 있다.
주의사항 !
설치 디렉토리 변경시, NTFS의 경우 웹브라우저를 실행하는 유저(보통의 경우 IUSR_comname)의 권한이 있는 디렉토리에 설치해야 한다. 그렇지 않으면 log 와 secret.dat 파일을 write할 수 없게 되어 정상적인 서비스가 불가능하다. 윈도우의 경우 기본적으로 \Program Files, \WINNT 디렉토리에는 권한이 없다.
폴더 등록정보 > 보안 탭 > [추가] 버튼 > 사용자 IUSR_comname(IUSR_서버네임) 읽기, 쓰기 권한 추가
※ 권고 사항 : 설치/설정 폴더는 Inetpub\wwwroot에 하지 않는다.
실행중에 usename 과 Company Name 넣는 부분이 있는데, 이 때 username에 나이스에서 계약시 받은 고객사 아이디를 넣고, Company Name은 고객사의 회사명을 넣는다.
주의사항 !
username에 넣은 아이디와 동일한 이름의 디렉토리가 생성되기 때문에, 나이스 고객사 아이디를 정확히 입력하여야 한다. 잘 못 입력하여 디렉토리명이 잘못 생성되었을 경우에는 설치 완료 후, 디렉토리명을 나이스아이디로 변경하면 된다.
설치프로그램은 다음과 같은 기능을 자동으로 수행한다.
설치 디렉토리에 다음의 파일을 설치한다.
CertifyRn.dll : 본 서비스를 위한 클라이언트 모듈
레지스트리에 Certifyrn.dll COM object를 자동 등록한다. 레지스트리에 설치디렉토리를 자동 등록한다.
/username : 사용자가 user name에 입력했던 내용과 동일한 디렉토리명, 나이스 아이디
- /username/client.cfg : 설정 파일
- /username/secret.dat : 보안 파일
/log : 클라이언트 수행 로그
/web : 샘플로 제공되는 asp.NET 프로젝트 디렉토리
주의사항 !
기존 설치 디렉토리 uninstall 후 재설치시 Certifyrn.dll 파일은 레지스트리에 등록되어 있는 관계로 삭제가 불가함. OS의 재 실행 후 삭제가 가능하다.
2) 설정파일 변경
설치가 완료되면 username에 넣었던 디렉토리와 동일한 이름의 디렉토리가 생성된다. 즉 나이스 고객 아이디가 nice0001이라고 하면 /nice0001이라는 디렉토리가 생성된다. 이 경우 설정파일은 /nice0001/client.cfg 파일이 된다. 이 설정 파일을 열어 다음과 같이 수정한다.
client.cfg
SERVICE_IP=211.218.41.114
한신정 서버 아이피. 고정 ! 수정하지 않습니다.
SERVICE_PORT=52000
한신정 서버 포트. 고정 ! 수정하지 않습니다.
SERVICE_URL= www.yourdomain.co.kr
필수수정 ! 고객사 사이트 URL로 수정하세요.
다음의 Picture 1 는 1),2) 단계의 설치작업 후의 샘플 데이터이다. 이 경우 기존 nicename 디렉토리가 발급 받은 nice0001 로 변경되었음을 확인할 수 있다.
Picture 1 설치 완료 sample
3) 샘플 웹프로젝트의 수정 및 활용
본 패키지에는 web 폴더 하위에 nicerlnmclient_aspdotnet를 가상디렉토리 명으로 사용하는 웹 프로젝트가 존재 한다 nicerlnmclient_aspdotnet.csproj 프로젝트를 Visual Studio .NET을 이용하여 연다.
Table 2 샘플 웹 프로젝트
구성
WebForm1.aspx 파일에 개인 실명확인 / 기업 실명 확인 두 가지 함수가 구성 되어 있으며 디자인도 모두 하나의 Page에 구성되어 있다. 처리된 결과는 하위에 lblCheckResult 라는 영역을 통해 보여 지게 된다.
btnCheckPerson_Click
이름/ 주민번호 실명 조회서비스를 위한 샘플 페이지로, 사용자의 실명확인 요청에 대해서 어떤식으로 클라이언트 모듈을 호출하여 서버와 통신하고, 그 결과값이 어떤 내용인지에 대한 예제
다음 부분을 적절히 수정하여 사용하시면 됩니다.
NICE_UID="username"
필수수정 ! 나이스 사용자 아이디를 넣어주세요.
SERVICE_TYPE="0"
실명확인 서비스의 경우 서비스 타입이 "0" 입니다.
SERVICE_RSN="1"
서비스 조회 사유 입니다. 자세한 내용은 계약 내용을 참조하세요.
CHECK_AGE="19"
사용자 나이제한을 확인하는 기준 나이 입니다. 만 나이 기준입니다.
Code
Code Value
1 회원 가입
2 기존회원 확인
3 성인인증
4 비회원 확인
5 기타 사유
Table 5 조회 사유코드
btnCheckCompany_Click
사업자명/ 사업자번호 조회서비스를 위한 샘플 페이지로, 사용자의 사업자명조회 요청에 대해서 어떤식으로 클라이언트 모듈을 호출하여 서버와 통신하고, 그 결과값이 어떤 내용인지에 대한 예제이다.
다음 부분을 적절히 수정하여 사용하시면 됩니다.
NICE_UID="username"
필수수정 ! 나이스 사용자 아이디를 넣어주세요.
SERVICE_TYPE="1"
사업자번호 조회 서비스의 경우 서비스 타입이 "1" 입니다.
SERVICE_RSN="1"
서비스 조회 사유 입니다. 자세한 내용은 계약 내용을 참조하세요.
프로젝트를 열기 전에 /web 디렉토리를 웹서비스의 가상 디렉토리에 추가하여 사용하면 된다. 이 때 가상디렉터리의 이름은 nicerlnmclient_aspdotnet라 사용한다. 만약 다른 가상 디렉터리 명을 사용하고자 한다면 .webinfo 파일을 열어 설정된 경로 <Web URLPath = "http://localhost/nicerlnmclient_aspdotnet/nicerlnmclient_aspdotnet.csproj" /> 의 값중 가상디렉터리에 해당하는 nicerlnmclient_aspdotnet을 원하는 가상 디렉터리 명으로 수정하고 프로젝트를 열어 사용하는 것이 편리 하다.
4) 테스트
/nicerlnmclient_aspdotnet/webForm1.aspx페이지에서 적절한 이름/주민번호를 입력하여 정상적으로 실명확인이 되면 정상이다.
테스트 실패시 점검사항 !
설정환경 점검 : 디렉토리 및 설정파일 셋팅 확인
네트워크 포트(Port) 점검 : 시작 > 실행 > cmd > telnet 211.218.41.114 52000 [Enter]
--> 바로 검은창과 함께 CURSOR 가 떨어지면 정상, 다음 단계 체크
6.운영에 필요한 다양한 내용들 > 2) 서버 비정상 응답 코드에 대한 상세 설명
[Table 4 비정상응답 코드] 참고
▲TOP
5. 사이트를 추가하는 경우의 설치 방법
동일한 웹서버에 신규 사이트를 추가하는 경우, (주)한국신용정보로 부터 별도의 계약을 통하여 나이스 아이디를 발급받게 된다. 이 경우 전체 설치과정을 다시 수행할 필요 없이 다음과 같이 디렉토리 추가와 웹페이지 수정만을 수행하면 된다.
(설명의 편의를 위해서 기존아이디를 nice0001, 신규아이디를 nice0002라 한다.)
1) 디렉토리 추가
기존의 나이스아이디 디렉토리(nice0001)와 같이 새로 받은 나이스 아이디와 동일한 이름의 디렉토리(nice0002)를 같은 위치에 만든다. 즉 새로 nice0002라는 아이디를 발급 받았다면 /nice0001 외에 /nice0002라는 디렉토리를 만든다.
2) 설정파일 및 보안파일 추가
기존디렉토리(nice0001)의 파일 두개 client.cfg, secret.dat 파일을 새로만든 디렉토리 (nice0002)에 복사한다.
3) 설정파일을 변경한다.
기존서비스가 정상적으로 운영되었다면 새로운 디렉토리에서는 SERVICE_URL와 CLIENT_AUTH_PWD만 적절히 변경하면 된다.
4. 나이스 실명확인 서비스 클라이언트 설치방법 > 2) 설정파일 변경 [Table 1 클라이언트 설정파일] 참고
4) 웹프로젝트를 변경한다.
웹페이지의 webForm1.aspx내에 고객사의 나이스 아이디가 설정되어 있으므로, 서로 다른 사이트 - 서로 다른 나이스아이디 - 에서 같은 webForm1.aspx파일을 사용할 수는 없다. 따라서 새로운 사이트(nice0002)에서는 이 파일을 복사해서 다른 파일명으로 사용하거나 다른 디렉토리에 두고 사용해야 한다. /web2디렉토리에 기존의 ASPX파일을 복사해 넣은 후 처음 설치와 같이 NICE_UID를 신규로 발급받은 아이디(nice0002)로 변경한다.
5) 테스트
/web2/webForm1.aspx페이지에서 적절한 이름/주민번호를 입력하여 정상적으로 실명확인이 되면 정상이다.
▲TOP
6. 운영에 필요한 다양한 내용들
1) 서버 정상처리 응답 코드에 대한 상세 설명
Code
Code Value
Detail Code
Description
1 실명확인 성공 A 성명일치/성명미존재/거주불확실
2 실명확인 실패 B 성명 불일치
C 명의도용 방지 신청자 대상자
(마이크레딧에서 명의도용 방지를 일시 해제 한 후에 실명확인 가능함)
D 주민번호가 주민번호 조합체계에 맞지 않게 입력되었거나 기타 구성 오류가 있는 경우
E 일시적인 통신장애 상태… 잠시 후 다시 시도하십시오.
F 사용자의 성명이 두음법칙에 맞지 않는 상태
Y 실명안심차단 대상자 (사용자가 임시로 해제 (5분) 후 다시 검증할 수 있음)
이때는 한국신용정보의 “실명안심차단 일시 해제” 화면을 사용하게 됨.
※ 1~3에 행당하는 응답 코드는 상세 코드와 메시지가 서버로 부터 전달 된다. (사용법: 셈플 소스 코드 참고)
※ 응답 코드 2에 상세 코드 Y 값이 전달 되면 안심 차단 서비스가 설정된 개인 이다. 사이트의 성격에 따라 본 서비스는 안심 차단을 일시 해제 하는 기능을 제공한다.(사용법: 셈플 소스 코드 참고)
2) 서버 비정상 응답 코드에 대한 상세 설명
Code
Code Value
Description
- 1 클라이언트 세션키 분배 오류
서버와 클라이언트 간에 세션키를 분배하는 과정에서 클라이언트의 암호 모듈 또는 파일 엑세스등의 오류로 인하여 발생할 수 있다. 세부적인 메시지는 클라이언트 로그파일에 상세히 기술된다.상세한 내용은 (주)한국신용정보에 문의한다.
- 2 서버 세션키 분배 오류
서버와 클라이언트 간에 세션키를 분배하는 과정에서 서버측의 암호 모듈, 파일 엑세스 기타 인증서/비밀키 매칭 오류 등으로 인하여 발생할 수 있다. 세부적인 메시지는 서버 로그파일에 상세히 기술된다. 상세한 내용은 (주)한국신용정보에 문의한다.
- 3 세션키 기간 만료. 세션키 재분배 요청 필요
서버에 등록되어 있는 해당 클라이언트의 세션키 기간이 만료되어 신규로 세션키를 발급받아야 하는 경우에 발생하는 메시지. 보통의 경우에는 자동으로 세션키 재분배를 수행하기 때문에 실제로 클라이언트 모듈에서 이 메시지가 리턴되는 경우는 없다.
- 4
***** 세션키 불일치
서버에 등록되어 있는 세션키와 클라이언트의 보안 파일에 등록되어 있는 세션키가 다를 경우에 발생한다. 대부분의 경우 보안 파일을 임의로 수정하는 경우에 발생할 수 있다. 상세한 내용은 (주)한국신용정보에 문의한다.
- 5 인증키 불일치
서버에 등록되어 있는 클라이언트의 인증키와, 클라이언트에서 생성되는 인증키가 서로 다를 경우에 발생하는 메시지. 주로 고객사에서 해당 클라이언트 모듈을 등록되지 않은 시스템에서 사용하는 경우에 발생할 수 있다. 또한 client.cfg 파일 내에 있는 CLIENT_AUTH_PWD를 초기 설정값에서 임의로 변경한 경우에도 발생할 수 있다. 상세한 내용은 (주)한국신용정보에 문의한다.
- 6
잔여조회건수 부족
선불 고객사의 경우에, 남아 있는 마일리지가 부족하여 발생하는 오류이다. 고객사는 추가로 마일리지를 구매하도록 한다.
- 7 계약되지 않은 서비스 타입
고객사가 계약시 "실명확인" 또는 "사업자번호조회" 서비스를 신청하게 되는데, 계약했던 내용과 다른 서비스를 요청할 경우에 발생한다. 예를 들어 실명확인 서비스를 계약한 업체가 사업자번호조회 서비스를 시도할 경우에 발생한다.
- 8
고객사 아이디 없음
고객사의 아이디가 서버에 등록되지 않은 아이디일 경우에 발생한다. 주로 클라이언트에서 잘못된 나이스아이디를 설정하는 경우에 발생할 가능성이 크다.
- 9 서버측 기타 장애
서버측에서 기타 정의되지 않은 오류가 발생하는 경우이다. 자세한 오류 사항은 서버의 로그파일을 확인한다. 상세한 내용은 (주)한국신용정보에 문의한다.
- 10 네트워크 오류
서버 또는 클라이언트의 네트워크 상의 오류에 의해서 발생한다. 클라이언트의 네트워크 리소스가 부족하거나 소켓(socket) 관련 함수들의 오류에 의해서 발생할 수 있다. 자세한 내용은 클라이언트 로그 파일을 확인한다. 상세한 내용은 (주)한국신용정보에 문의한다.
네트워크 포트(Port) 점검 : 시작 > 실행 > cmd > telnet 211.218.41.114 52000 [Enter]
- 11 타임 아웃
서버에서 클라이언트로 정해진 시간(클라이언트 설정 파일의 timeout)이내에 응답이 없는 경우에 발생한다. 주로 클라이언트 설정파일에서 서버의 아이피/포트 가 잘못되었거나, 서버 프로그램이 동작하지 않는 경우이다. 상세한 내용은 (주)한국신용정보에 문의한다.
- 12 서비스 계약 종료
해당 고객사의 실명확인 서비스 계약기간이 종료된 경우이다.
- 13 선불 계약 만료
선불 계약 업체의 사용기간 계약 기간이 만료된 경우이다.
- 14 정의되지 않은 오류
기타 클라이언트 모듈상의 정의되지 않은 오류가 발생한 경우이다. 자세한 내용은 클라이언트 로그 파일을 확인한다.
- 15
***** 클라이언트 보안파일 오류
클라이언트 모듈에서 사용하는 secret.dat 파일에 오류가 있는 경우이다. 가장 흔한 경우는 클라이언트의 고객사 아이디와 동일한 이름을 가진 디렉토리 내에 secret.dat파일이 있어야 하는데, 해당 아이디가 잘못 되었거나, 디렉토리 명이 잘못 정의되어서 클라이언트 모듈이 secret.dat 파일을 찾을 수 없는 경우에 많이 발생한다. 또는 모듈이 인지하는 클라이언트의 홈 디렉토리가 잘못 정의되어 있는 경우에도 해당한다. 따라서 클라이언트에서는 홈디렉토리 설정, 고객사 아이디 디렉토리 설정, 보안파일 파일명 및 위치를 확인하여야 한다.
웹브라우저를 실행하는 유저(보통의 경우 IUSR_comname) 읽기, 쓰기 권한 등록 여부 확인
폴더 등록정보 > 보안 탭 > [추가] 버튼 > 사용자 IUSR_comname(IUSR_서버네임) 읽기,쓰기 권한으로 추가
- 16
***** 클라이언트 보안파일 오류
클라이언트에서 사용되는 보안 함수 (암호, 해쉬등의 함수)에서 오류가 발생하는 경우이다. 자세한 내용은 클라이언트 로그 파일을 확인한다.
- 17
***** 클라이언트 설정파일 오류
클라이언트 설정 파일을 찾을 수 없거나 읽을 수 없는 경우에 발생한다.
보안파일 오류(-15)와 마찬가지로 클라이언트 홈 디렉토리 위치, 해당 아이디와 동일한 이름을 가진 디렉토리의 이름, 설정파일명 등을 확인해야 한다.
1. /niceuid 디렉토리명을 나이스 아이디로 변경했나?
2. 네트워크 포트(Port) 점검 : 시작 > 실행 > cmd > telnet 211.218.41.114 52000 [Enter]
3. 웹브라우저를 실행하는 유저(보통의 경우 IUSR_comname) 읽기, 쓰기 권한 등록되어있나?
- 18 월 이용한도 초과
고객사가 서비스 계약시 정의한 월 이용한도가 초과하여 더 이상 서비스가 불가능 한 경우에 발생한다.
- 19 레지스트리 열기 실패
ASP, VB, Delphi모듈의 경우 홈 디렉토리 및 모듈의 COM오브젝트가 레지스트리에 등록되어 있어야 하는데, 해당 시스템의 레지스트리에서 정보를 읽을 수 없거나 정보가 등록되어 있지 않은 경우에 발생한다.