(19) 대한민국특허청(KR) (12) 등록특허공보(B1) (45) 공고일자 2015년05월21일 (11) 등록번호 10-1520722 (24) 등록일자 2015년05월11일 (51) 국제특허분류(Int. Cl.) H04L 9/32 (2006.01) H04L 9/30 (2006.01) (21) 출원번호 10-2014-0039417 (22) 출원일자 2014년04월02일 심사청구일자 (30) 우선권주장 2014년04월02일 1020140006101 2014년01월17일 대한민국(KR) (56) 선행기술조사문헌 KR100420557 B1* *는 심사관에 의하여 인용된 문헌 (73) 특허권자 크루셜텍 (주) 경기도 성남시 분당구 판교로255번길 62 (삼평동, 크루셜텍빌딩) 크루셜소프트 주식회사 경기도 성남시 분당구 판교로255번길 62, 8층(삼 평동, 크루셜텍빌딩) (72) 발명자 편백범 서울특별시 영등포구 양평로17길 36, 102동 1101 호 (양평동4가, 양평성원아파트) 임우택 서울특별시 동작구 상도로13나길 12, 402호 (상도 동, 원명아파트) (뒷면에 계속) (74) 대리인 특허법인 하나 전체 청구항 수 : 총 18 항 심사관 : 하정훈 (54) 발명의 명칭 사용자 인증 방법, 서버 및 사용자 단말 (57) 요 약 본 발명의 일 실시예에 따르면, 생체 정보를 이용한 인증 중계 서버의 사용자 인증 방법에 있어서, (a) 생체 정 보 입력이 가능한 사용자 단말에 제1인증 프로그램을 통해 적어도 하나의 제1 공개키를 제공하는 단계; (b) 상기 제1인증 프로그램을 통해 생체 정보 인증 성공에 응답하여 선택된 제1 공개키로 암호화된 사용자 식별 정보를 수 신하는 단계 및 (c) 상기 제1 공개키의 선택에 시간적으로 동기되어 생성된 제1 개인키를 이용하여 상기 제1 공 개키로 암호화된 사용자 식별 정보를 복호화하여 서드 파트 서버 (3 rd party server)로 전송하는 단계를 포함하고, 상기 전송된 사용자 식별 정보는 상기 서드 파티 서버에 미리 저장된 사용자 식별 정보와 비교되는 것 인 사용자 인증 방법이 제공된다. 대 표 도 - 도3-1 -
(72) 발명자 정유석 경기도 안양시 동안구 안양천동로 162, 103동 403 호 (비산동, 비산현대힐스테이트아파트) 마은경 경기도 수원시 영통구 효원로 363, 131동 2004호 (매탄동, 매탄위브하늘채아파트) 조용연 서울특별시 관악구 관악로24나길 13 (봉천동) 김형두 서울특별시 강북구 도봉로95길 19-23 (수유동) 이 발명을 지원한 국가연구개발사업 과제고유번호 1415125295 부처명 산업통상자원부 연구관리전문기관 한국산업기술평가관리원 연구사업명 글로벌전문기술개발(정보통신) 연구과제명 모바일 플랫폼에 최적화된 지문인식센서 솔루션 기술 개발 기 여 율 1/1 주관기관 크루셜텍 주식회사 연구기간 2012.12.01 ~ 2014.11.30-2 -
명 세 서 청구범위 청구항 1 (a) 생체 정보 입력이 가능한 사용자 단말에 제1 인증 프로그램을 통해 적어도 하나의 제1 공개키를 제공하는 단계; (b) 상기 제1 인증 프로그램을 통해 생체 정보 인증 성공에 응답하여 선택된 제1 공개키로 암호화된 사용자 식 별 정보를 수신하는 단계; 및 (c) 상기 제1 공개키의 선택에 시간적으로 동기되어 생성된 제1 개인키를 이용하여 상기 제1 공개키로 암호화된 사용자 식별 정보를 복호화하여 서드 파티 서버 (3rd party server)로 전송하는 단계를 포함하고, 상기 전송된 사용자 식별 정보는 상기 생체 정보를 포함하지 않으며, 상기 상기 서드 파티 서버에 미리 저장된 사용자 식별 정보와 비교되는 것인, 인증 중계 서버의 사용자 인증 방법. 청구항 2 제1항에 있어서, 상기 (c) 단계는, 상기 제1 개인키를 이용한 복호화 성공에 응답하여 선택된 제2 공개키를 이용하여 상기 사용 자 식별 정보를 암호화하는 단계를 포함하고, 상기 인증 중계 서버는, 상기 단계(a) 이전에, 상기 서드 파티 서버에 상기 제2 공개키 선택에 시간적으로 동기 되는 제2 개인키를 생성할 수 있는 제2인증 프로그램을 제공하는 단계를 더 포함하는, 인증 중계 서버의 사용자 인증 방법. 청구항 3 제2항에 있어서, 상기 제2 공개키를 이용하여 암호화된 사용자 식별 정보는 상기 제2 개인키를 이용하여 복호화되어 상기 서드 파티 서버에 의해 상기 미리 저장된 사용자 식별 정보와 비교되는 것인, 인증 중계 서버의 사용자 인증 방법. 청구항 4 제1항에 있어서, 상기 사용자 식별 정보는 상기 서드 파티 서버로부터 제3 공개키로 암호화되어 상기 사용자 단말에 제공되어 등 록된 생체 정보와 매칭되어 저장되는 것인, 인증 중계 서버의 사용자 인증 방법. 청구항 5 제4항에 있어서, 상기 제3 공개키로 암호화된 사용자 식별 정보는 상기 서드 파티 서버가 보유한 제3 개인키에 의해 복호화되는 것인, 인증 중계 서버의 사용자 인증 방법. 청구항 6-3 -
제1항에 있어서, 상기 단계 b)에서 상기 제1 공개키로 암호화된 사용자 식별 정보는 상기 서드 파티 서버를 경유하여 수신되는 것인, 인증 중계 서버의 사용자 인증 방법. 청구항 7 제1항 내지 6항 중 어느 하나의 항에 있어서, 상기 사용자 식별 정보는 상기 서드 파티 서버에 의해 부여된 트랜잭션 태그와 함께 전송 또는 수신되는 것인, 인증 중계 서버의 사용자 인증 방법. 청구항 8 (a) 생체 정보 등록 및 인증을 수행하는 애플리케이션과 적어도 하나의 제1 공개키를 제공하는 제1인증 프로그 램을 설치하는 단계; (b) 상기 생체 정보 인증을 수행하는 단계; (c) 상기 생체 정보 인증 성공에 응답하여 선택된 제 1 공개키를 이용하여 사용자 식별 정보를 암호화하는 단계; 및 (d) 상기 제1 공개키로 암호화된 사용자 식별 정보를 인증 중계 서버로 전송하는 단계를 포함하고, 상기 사용자 식별 정보는 상기 생체 정보를 포함하지 않으며, 상기 제 1 공개키로 암호화된 사용자 식별 정보는 상기 인증 중계 서버에 의해 상기 제1 공개키 선택과 시간적으로 동기되어 생성된 제1 개인키에 의해 복호화되 는 것인, 사용자 단말의 사용자 인증 방법. 청구항 9 제8항에 있어서, 상기 제1 개인키에 의해 복호화된 사용자 식별 정보는 상기 사용자 식별 정보를 부여한 서드 파티 서버로 전송 되는 것인, 사용자 단말의 사용자 인증 방법. 청구항 10 제8항에 있어서, 상기 생체 정보는, 지문, 홍채 및 성문 중 적어도 하나를 포함하는, 사용자 단말의 사용자 인증 방법. 청구항 11 제10항에 있어서, 상기 애플리케이션은, 서드 파티 서버에 사용자 식별 정보를 요청하는 기능; 상기 서드 파티 서버로부터 제3 공개키로 암호화된 사용자 식별 정보를 수신하는 기능; 상기 생체 정보를 상기 사용자 단말에 등록하는 기능; 및 상기 등록된 생체 정보와 상기 제3 공개키로 암호화된 사용자 식별 정보를 매칭 시켜 저장하는 기능을 - 4 -
포함하는, 사용자 단말의 사용자 인증 방법. 청구항 12 제11항에 있어서, 상기 제3 공개키로 암호화된 사용자 식별 정보는 상기 서드 파티 서버가 보유한 제3 개인키에 의해 복호화되는 것인, 사용자 단말의 사용자 인증 방법. 청구항 13 (a) 사용자 식별 정보, 제2 개인키, 제3 공개키 및 제3 개인키를 생성하는 제2인증 프로그램을 설치하는 단계; (b) 사용자 단말의 요청에 응답하여 상기 사용자 식별 정보를 생성하여 상기 제3 공개키로 암호화하여 전송하는 단계; (c) 인증 중계 서버로부터 상기 사용자 단말의 생체 정보의 인증 성공에 의해 선택된 제2 공개키로 더 암호화된 상기 사용자 식별 정보를 수신하는 단계; (d) 상기 제2 개인키와 상기 제3 개인키로 상기 사용자 식별정보를 복호화하는 단계; 및 (e) 상기 복호화된 사용자 식별 정보를 이용하여 사용자 인증을 수행하는 단계를 포함하고, 상기 제2 개인키는 상기 제2 공개키 선택에 시간적으로 동기화 되어 생성되는 것인, 서드 파티 서버의 사용자 인증 방법. 청구항 14 제13항에 있어서, 상기 단계 (b)와 (c) 사이에, (b-1) 상기 사용자 단말로부터 제1 공개키로 더 암호화된 사용자 식별 정보를 수신하는 단계; 및 (b-2) 상기 인증 중계 서버로 상기 제 1 공개키로 더 암호화된 사용자 식별 정보를 전송하는 단계를 더 포함하 는, 서드 파티 서버의 사용자 인증 방법. 청구항 15 제14항에 있어서, 상기 제1 공개키는 상기 사용자 단말에서의 생체 정보 인증 성공에 의해 선택된 것이며, 상기 제1 공개키 선택 에 시간적으로 동기되어 상기 인증 중계 서버에서 생성되는 제1 개인키에 의해 복호화되는 것인, 서드 파티 서 버의 사용자 인증 방법. 청구항 16 서드 파티 서버용 애플리케이션; 생체 정보의 인식을 위한 센서를 포함하며, 인식된 생체 정보를 기초로 생체 정보 인증을 수행하고, 상기 인증 된 생체 정보에 대한 템플릿을 생성하는 생체 정보 인증부; 상기 서드 파티 서버용 애플리케이션을 통해 사용자 인증 요청을 입력 받으면, 상기 생체 정보 인증부를 통해 인증된 생체 정보의 템플릿과 매칭되어 저장되어 있는, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그를 제1 공개키로 암호화하여, 인증 중계 서버로 직접 또는 상기 서드 파티 서버를 경유하여 전송하는 제1-5 -
인증 프로그램; 및 상기 제3 공개키로 암호화된 사용자 식별 정보, 상기 트랜잭션 태그, 상기 템플릿 및 상기 제1 공개키를 저장하 는 저장부를 포함하는, 사용자 단말. 청구항 17 사용자 식별 정보, 제3 개인키, 트랜잭션 태그 및 제2 개인키를 저장하는 저장부; 및 인증 중계 서버로부터 수신된 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태 그를 상기 제2 개인키로 복호화한 뒤, 상기 트랜잭션 태그와 매칭되어 저장된 제3 개인키를 이용하여 복호화하 고, 미리 저장되어 있는 사용자 식별 정보와 비교하여 사용자를 인증하는, 제2 인증 프로그램을 포함하는, 서드 파티 서버. 청구항 18 생체 정보 인증에 성공에 의해 사용자 단말이 선택한 제1 공개키로 암호화된 사용자 식별 정보를 복호화하는 제 1 개인키가 저장된 저장부; 상기 제1 공개키로 암호화된 사용자 식별 정보를 상기 제1 개인키로 복호화하고, 복호화된 사용자 식별 정보를 제2 공개키로 암호화하는 암호화/복호화부; 및 상기 제2 공개키로 암호화된 사용자 식별 정보를 서드 파티 서버로 전송하는 통신부를 포함하고, 상기 사용자 식별 정보는 상기 생체 정보를 포함하지 않으며, 상기 제1 개인키는 상기 제1 공개키의 선택에 시 간적으로 동기화되어 선택되는 것인 인증 중계 서버. 발명의 설명 [0001] 기 술 분 야 본 발명은 사용자 인증 방법, 서버 및 사용자 단말에 관한 것으로, 보다 상세하게는 개인 식별 정보 인증 및 암 호화 방식을 이용하여 사용자를 인증하는 방법, 서버 및 컴퓨터 판독 가능 기록 매체에 관한 것이다. [0002] [0003] [0004] [0005] 배 경 기 술 최근 스마트 디바이스의 보급률 증가와 함께, 많은 사람들이 스마트 디바이스를 통해 시간과 공간의 제약 없이 물건의 구매, 송금, 금융 상품의 가입, 서비스 예매 등을 할 수 있게 되었다. 이에 따라, 사용자 편의성이 증대되었지만, 단말의 분실 및 해킹 등에 따른 개인 정보 유출 및 각종 금융 사고 등, 부작용 발생 건수도 증가하고 있다. 이러한 문제를 해결하기 위해, 공인 인증서를 통해 사용자를 인증하거나, 사용자 단말에서 외부 서버로 전송되 는 각종 정보들을 암호화하는 방법들이 사용되고 있다. 그러나, 공인 인증서를 사용하는 경우, 인증서를 통한 인증 절차가 복잡하며, 인증서가 저장된 단말이 분실될 경우 여전히 금융 사고가 발생할 수 밖에 없으며, 해킹을 통한 정보 유출의 위험이 있어, 사용자 편의성을 증대 시키면서 보안을 더욱 강화할 수 있는 새로운 방법에 대한 니즈가 증대하고 있다. 발명의 내용 [0006] 해결하려는 과제 본 발명은, 간편하면서도 보안이 한층 강화된 인증 방법을 제공하는 것을 그 목적으로 한다. 과제의 해결 수단 - 6 -
[0007] [0008] [0009] [0010] [0011] [0012] [0013] [0014] [0015] [0016] [0017] [0018] 상술한 목적을 달성하기 위한 본 발명의 일 실시예에 생체 정보를 이용한 인증 중계 서버의 사용자 인증 방법에 있어서, (a) 생체 정보 입력이 가능한 사용자 단말에 제1 인증 프로그램을 통해 적어도 하나의 제1 공개키를 제 공하는 단계; (b) 상기 제1 인증 프로그램을 통해 생체 정보 인증 성공에 응답하여 선택된 제1 공개키로 암호화 된 사용자 식별 정보를 수신하는 단계 및 (c) 상기 제1 공개키의 선택에 시간적으로 동기되어 생성된 제1 개인 키를 이용하여 상기 제1 공개키로 암호화된 사용자 식별 정보를 복호화하여 서드 파트 서버 (3 rd party server) 로 전송하는 단계를 포함하고, 상기 전송된 사용자 식별 정보는 상기 서드 파티 서버에 미리 저장된 사용자 식 별 정보와 비교되는 것인 사용자 인증 방법이 제공된다. 상기 (c) 단계는, 상기 제1 개인키를 이용한 복호화 성공에 응답하여 선택된 제2 공개키를 이용하여 상기 사용 자 식별 정보를 암호화하는 단계를 포함하고, 상기 인증 중계 서버는, 상기 단계(a) 이전에, 상기 서드 파티 서 버에 상기 제2 공개키 선택에 시간적으로 동기되는 제2 개인키를 생성할 수 있는 제2 인증 프로그램을 제공하는 단계를 더 포함할 수 있다. 상기 제2 공개키를 이용하여 암호화된 사용자 식별 정보는 상기 제2 개인키를 이용하여 복호화되어 상기 서드 파티 서버에 의해 상기 미리 저장된 사용자 식별 정보와 비교될 수 있으며, 상기 사용자 식별 정보는 상기 서드 파티 서버로부터 제3 공개키로 암호화되어 상기 사용자 단말에 제공되어 등록된 생체 정보와 매칭되어 저장될 수 있다. 상기 제3 공개키로 암호화된 사용자 식별 정보는 상기 서드 파티 서버가 보유한 제3 개인키에 의해 복호화되며, 상기 단계 b)에서 상기 제1 공개키로 암호화된 사용자 식별 정보는 상기 서드 파티 서버를 경유하여 수신될 수 있고, 상기 사용자 식별 정보는 상기 서드 파티 서버에 의해 부여된 트랜잭션 태그와 함께 전송 또는 수신되는 것일 수 있다. 본 발명의 다른 실시예에 따르면, 생체 정보를 이용한 사용자 단말의 사용자 인증 방법에 있어서, (a) 생체 정보 등록 및 인증을 수행하는 애플리케이션과 적어도 하나의 제1 공개키를 제공하는 제1 인증 프로그 램을 설치하는 단계; (b) 상기 생체 정보 인증을 수행하는 단계; (c) 상기 생체 정보 인증 성공에 응답하여 선 택된 제 1 공개키를 이용하여 사용자 식별 정보를 암호화하는 단계; 및 (d) 상기 제1 공개키로 암호화된 사용자 식별 정보를 인증 중계 서버로 전송하는 단계를 포함하고, 상기 제 1 공개키로 암호화된 사용자 식별 정보는 상 기 인증 중계 서버에 의해 상기 제1 공개키 선택과 시간적으로 동기되어 생성된 제1 개인키에 의해 복호화되는 것인 사용자 인증 방법이 제공된다. 상기 제1 개인키에 의해 복호화된 사용자 식별 정보는 상기 사용자 식별 정보를 부여한 서드 파티 서버로 전송 될 수 있으며, 상기 생체 정보는, 지문, 홍채 및 성문 중 적어도 하나를 포함할 수 있다. 상기 애플리케이션은, 상기 서드 파티 서버에 사용자 식별 정보를 요청하는 기능; 상기 서드 파티 서버로부터 제3 공개키로 암호화된 사용자 식별 정보를 수신하는 기능; 상기 생체 정보를 상기 사용자 단말에 등록하는 기 능; 및 상기 등록된 생체 정보와 상기 제3 공개키로 암호화된 사용자 식별 정보를 매칭 시켜 저장하는 기능을 포함할 수 있다. 상기 제3 공개키로 암호화된 사용자 식별 정보는 상기 서드 파티 서버가 보유한 제3 개인키에 의해 복호화되는 것일 수 있다. 본 발명의 또 다른 실시예에 따르면, 생체 정보를 이용한 서드 파티 서버의 사용자 인증 방법에 있어서, (a) 사 용자 식별 정보, 제2 개인키, 제3 공개키 및 제3 개인키를 생성하는 제2인증 프로그램을 설치하는 단계; (b) 상 기 사용자 단말의 요청에 응답하여 상기 사용자 식별 정보를 생성하여 상기 제3 공개키로 암호화여 전송하는 단 계; (c) 인증 중계 서버로부터 상기 사용자 단말의 생체 정보의 인증 성공에 의해 선택된 제2 공개키로 더 암호 화된 상기 사용자 식별 정보를 수신하는 단계; (d) 상기 제2 개인키로 상기 제3 개인키 상기 사용자 식별정보를 복호화하는 단계; 및(e) 상기 복호화된 사용자 식별 정보를 이용하여 사용자 인증을 수행하는 단계를 포함하고, 상기 제2 개인키는 상기 제2 공개키 선택에 시간적으로 동기화 되어 생성되는 것인 사용자 인증 방법이 제공된 다. 상기 단계 (b)와 (c) 사이에, (b-1) 상기 사용자 단말로부터 제1 공개키로 더 암호화된 사용자 식별 정보를 수 신하는 단계; 및 (b-2) 상기 인증 중계 서버로 상기 제 1 공개키로 더 암호화된 사용자 식별 정보를 전송하는 단계를 더 포함할 수 있으며, 상기 제1 공개키는 상기 사용자 단말에서의 생체 정보 인증 성공에 의해 선택된 - 7 -
것이며, 상기 제1 공개키 선택에 시간적으로 동기 되어 상기 인증 중계 서버에서 생성되는 제1 개인키에 의해 복호화되는 것일 수 있다. [0019] [0020] [0021] 본 발명의 또 다른 실시예에 따르면, 서드 파티 서버용 애플리케이션; 생체 정보의 인식을 위한 센서를 포함하 며, 인식된 생체 정보를 기초로 생체 정보 인증을 수행하고, 상기 인증된 생체 정보에 대한 템플릿을 생성하는 생체 정보 인증부; 상기 서드 파티 서버용 애플리케이션을 통해 사용자 인증 요청을 입력 받으면, 상기 생체 정 보 인증부를 통해 인증된 생체 정보의 템플릿과 매칭되어 저장되어 있는, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그를 제1 공개키로 암호화하여, 상기 인증 중계 서버로 직접 또는 상기 서드 파티 서버를 경유하여 전송하는 제1 인증 프로그램; 및 상기 제3 공개키로 암호화된 사용자 식별 정보, 상기 트랜잭션 태그, 상기 템플릿 및 상기 제1 공개키를 저장하는 저장부를 포함하는, 사용자 단말이 제공된다. 본 발명의 또 다른 실시예에 따르면, 사용자 식별 정보, 제3 개인키, 트랜잭션 태그 및 제2 개인키를 저장하는 저장부; 및 인증 중계 서버로부터 수신된 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그를 상기 제2 개인키로 복호화한 뒤, 상기 트랜잭션 태그와 매칭되어 저장된 제3 개인키를 이용하 여 복호화하고, 미리 저장되어 있는 사용자 식별 정보와 비교하여 사용자를 인증하는, 제2 인증 프로그램을 포 함하는, 서드 파티 서버가 제공된다. 본 발명의 또 다른 실시예에 따르면, 생체 정보 인증에 성공에 의해 사용자 단말이 선택한 제1 공개키로 암호화 된 사용자 식별 정보를 복호화하는 제1 개인키가 저장된 저장부; 상기 제1 공개키로 암호화된 사용자 식별 정보 를 상기 제1 개인키로 복호화하고, 복호화된 사용자 식별 정보를 제2 공개키로 암호화하는 암호화/복호화 부; 및 상기 제2 공개키로 암호화된 된 사용자 식별 정보를 서드 파티 서버로 전송하는 통신부를 포함하고, 상기 제 1 개인키는 상기 제1 공개키의 선택에 시간적으로 동기화되어 선택되는 것인 인증 중계 서버가 제공된다. [0022] [0023] [0024] 발명의 효과 본 발명에 따르면, 개인 식별 정보 인증 및 암호화 방식을 통해, 간편하지만 보안이 더욱 강화된 사용자 인증이 가능해질 수 있다. 또한, 본 발명에 따르면, 생체 정보가 사용자 단말 외부로 전송되지 않으며, 생체 정보의 인증 결과가 해킹되지 않도록, 인증 중계 서버가 시간 의존적인 암호화를 2중 또는 3중으로 수행함으로써, 보안성이 향상된 사용자 인 증이 가능해질 수 있다. 또한, 본 발명에 따르면, 인증 중계 서버를 통해 부인 방지가 가능하며, 중간자 공격에 대한 방지가 가능하고, 해킹의 위험성이 줄어들 수 있다. [0025] 도면의 간단한 설명 도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 도면이다. 도 2는 본 발명의 일 실시예에 따른 사용자 등록 방법을 도시한 흐름도이다. 도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다. 도 4는 본 발명의 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다. 도 5는 본 발명의 또 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다. 도 6a 내지 도 6c는 본 발명의 실시예에 따른 사용자 등록 및 인증 후, 사용자 단말, 인증 중계 서버 및 서드 파티 서버에 저장된 데이터들을 도시한 도면이다. 도 7은 본 발명의 일 실시예에 따른 사용자 단말의 내부 구성을 도시한 블록도이다. 도 8은 본 발명의 일 실시예에 따른 인증 중계 서버의 내부 구성을 도시한 블록도이다. 도 9는 본 발명의 일 실시예에 따른 서드 파티 서버의 내부 구성을 도시한 블록도이다. [0026] 발명을 실시하기 위한 구체적인 내용 후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도 면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 - 8 -
있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미 로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모 든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일 하거나 유사한 기능을 지칭한다. [0027] [0028] 이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하 기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 본 명세서 상에서, 제1 공개키(1 st public key), 제1 개인키 (1 st private key) 는 동일한 알고리즘을 통해 변경 되며, 서로 짝을 이루어 복호화, 암호화하는 데에 사용될 수 있다. 제2 공개키(2 nd public key), 제2 개인키 (2 nd private key)도 제1 키 쌍과 다르고 제2 키 쌍끼리 동일한 알고리즘을 통해 변경되며, 서로 짝을 이루어 복 호화, 암호화하는 데에 사용될 수 있다. 즉, 서로 쌍을 이루어 제1 공개키(1 st public key)로 암호화 된 정보는 제1 개인키(1 st private key)로 복호화할 수 있으며, 이는 제2 공개키(2 nd public key)와 제2 개인키(2 nd private key)에서도 동일하게 적용된다. 그러나 제1 공개키로 제2 개인키를 복호화하는 동작 등은 서로 다른 알 고리즘으로써 할 수 없다. [0029] 본 명세서 상에서, 제3 공개키 및 제3 개인키는 서드 파티 서버(3 rd party server)에서 생성되며, 제3 공개키 (3 rd public key)로 암호화 된 정보는 제3 개인키(3 rd private key)로 복호화할 수 있다. [0030] [0031] [0032] [0033] [0034] [0035] [0036] [0037] [0038] [0039] 본 명세서 상에서 트랜잭션(transaction) 태그(TAG)는, 사용자 식별 정보(ID)에 상응하여 생성되며, 생성된 사 용자 식별 정보를 이용한 사용자 등록 및 인증 절차에서 해당 처리 과정을 식별하기 위한 태그(TAG)로 사용될 수 있다. 도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 도면이다. 본 발명의 일 실시예에 따른 인증 시스템은, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(3 rd party server, 300)를 포함할 수 있다. 일 실시예에 따르면, 사용자 단말(100)은 인증 중계 서버(200) 및 서드 파티 서버(300)와 네트워크를 통해 연결 된다. 사용자 단말(100)은 지문 인식을 위한 지문 센서, 홍채 인식을 위한 홍채 센서, 얼굴의 형상을 인식하는 얼굴 인식 센서, 혈관을 인식하는 정맥 센서, 손바닥의 손금을 인식하는 센서 등과 같은 개인의 다양한 생체 정 보 인식을 위한 각종 센서를 포함할 수 있다. 일 실시예에 따르면 사용자 단말(100)에는 생체 정보 인식을 위한 생체 정보 인식 애플리케이션이 설치되어 있 으며, 서드 파티 서버(300)를 위한, 서드 파티 서버용 애플리케이션과 사용자 인증을 위한 제1 인증 프로그램이 설치되어 있을 수 있다. 본 명세서 상에서, 서드 파티 서버용 애플리케이션은 인증을 필요로 하는 모든 애플리케이션을 일컫는 말로 사 용되며, 일례로 금융 애플리케이션, 쇼핑 애플리케이션 등일 수 있다. 이때, 서드 파티 서버(300)는 각각 금융 사 서버, 쇼핑몰 서버 등일 수 있다. 일 실시예에 따르면, 제1 인증 프로그램은, 서드 파티 서버용 애플리케이션에서 사용자 인증을 요청하는 경우, 호출되어 사용자 인증 프로세스를 수행할 수 있으며, 사용자 단말(100)은, 제1 인증 프로그램을 통해 인증 중계 서버(200)로부터 적어도 하나의 제1 공개키를 제공받을 수 있다. 이와 같이, 제1 공개키(1 st public key)는, 인증 중계 서버(200)로부터, 제1 인증 프로그램을 통해 복수개 제공 될 수 있으며, 제1 개인키(1 st private key)는, 제1 공개키 선택에 시간적으로 동기되어 생성될 수 있다. 예를 들어, 사용자 단말(100)이 안드로이드 운영 체계인 경우 제1 인증 프로그램은 apk 파일 등의 형태일 수 있고, 아이폰 운영 체계인 경우 제1 인증 프로그램은 ipa 파일 등의 형태일 수 있다. 일 실시예에 따르면, 제1 인증 프로그램은 상기 서드 파티 서버(300)를 위한 애플리케이션을 사용자 단말(100) 에 설치하는 과정에서 별도의 라이브러리로 사용자 단말(100)에 설치되거나, 사용자 단말(100)에 설치된 생체 - 9 -
정보 인식 애플리케이션과 연계되어 설치 될 수 있다. [0040] [0041] [0042] [0043] 이와 같이, 사용자 단말(100)은 네트워크를 통해, 인증 중계 서버(200) 및 서드 파티 서버(300) 등의 외부 대상 과 통신을 수행할 수 있는데, 네트워크는 무선 통신망일 수 있으며, Wifi(Wireless fidelity), 3G, Wibro(Wireless Broadband) 등의 이동통신 방식에 기반할 수 있다. 본 발명의 일 실시예에 따르면, 사용자 단말(100)은 스마트 폰, 태블릿 피씨, PDA, 노트북, 데스크 탑 등 네트 워크를 통해 외부 서버와 통신이 가능한 단말이면, 어느 것에 제한되지 않는다. 인증 중계 서버(200)는, 사용자 단말(100) 및 서드 파티 서버(300) 간의 인증 절차를 중계할 수 있다. 일 실시예에 따르면, 인증 중계 서버(200)는 제1 공개키의 선택에 시간적으로 동기되어 생성된 제1 개인키(1 st private key)를 보유하고 있다가, 인증 요청에 따라 사용자 단말(100)로부터 제1 공개키로 암호화한, 제3 공개 키로 암호화된 사용자 식별 정보와 트랜잭션 태그(1 st locked_(3 rd locked_id& TAG))를 수신하면, 이를 제1 개인 키(1 st private key)로 복호화(1 st unlock)할 수 있다. [0044] [0045] [0046] 일 실시예에 따르면, 인증 중계 서버(200)가 시간 정보와 함께 사용자 단말의 인증 로그를 저장, 관리하여, 인 증과 관련된 사실을 사후에 증명할 수 있으므로, 사실 부인을 방지할 수 있다. 서드 파티 서버(300)는, 사용자 단말(100)의 요청에 따라 사용자 인증 절차를 수행할 수 있으며, 이를 위해 서 드 파티 서버(300)에는 제2 인증 프로그램이 설치되어 있을 수 있다. 일 실시예에 따르면, 제2 인증 프로그램은, 본 발명의 실시예에 따른 인증 절차를 수행하기 위한 프로그램으로, STK(Server Tool Kit)과 같은 형태일 수 있다. 일 실시예에 따른, 제2 인증 프로그램은, 인증 중계 서버(200)에 의하여 서드 파티 서버(300)로 제공될 수 있으 며, 제2 공개키(2 nd public key) 선택에 시간적으로 동기되는 제2 개인키(2 nd private key)를 생성할 수 있다. [0047] [0048] [0049] [0050] [0051] [0052] 제2 공개키(2 nd public key) 인증 중계 서버(200)에 복수개 제공된 상태이며, 복수개 제공된 제2 공개키(2 nd public key) 중 어느 하나에 대한 선택에 시간적으로 동기되는 제2 개인키(2 nd private key)가 서드 파티 서버 (300)에 설치된 제2 인증 프로그램을 통해 생성될 수 있다. 사용자 인증 절차 일 실시예에 따라, 사용자 인증 절차를 살펴보면, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션으 로부터 인증이 요청되는 경우, 사용자 단말(100)은 생체 정보 인식 애플리케이션을 호출하여, 센서를 통하여 개 인의 생체 정보를 감지할 수 있다. 생체 정보로는 지문, 홍채, 안면, 음성 등 공지의 다양한 생체 정보를 포함 한다. 예를 들어, 생체 정보가 지문인 경우, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션으로부터 인증 이 요청되면, 사용자 단말(100)은, 생체 정보 인식 애플리케이션을 통해 사용자에게 지문 인식을 요청하여, 감 지된 지문이 미리 저장된 지문과 일치하는지 여부를 판단할 수 있다. 일 실시예에 따르면, 사용자 단말(100)은 생체 정보 인식 애플리케이션을 통한, 생체 정보의 인식 결과에 따라 생체 정보의 인증 성공에 응답하여, 제3 공개키로 암호화되어 있는 상태의 사용자 식별 정보(3 rd locked_ ID)와 트랜잭션 태그(TAG)를, 제1 인증 프로그램이 제공하는, 제1 공개키로 암호화하여, 인증 중계 서버(200)로 전송 할 수 있다. 다른 실시예에 따르면, 사용자 단말(100)은 서드 파티 서버(300)로 제1 공개키로 암호화된, 제3 공개키로 암호 화한 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_ ID & TAG))를 전송하고, 서드 파티 서버(30 0)가 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화한 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_ ID & TAG))를 인증 중계 서버(200)로 전송할 수도 있다. [0053] 일 실시예에 따르면, 인증 중계 서버(200)는 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화한 사용자 식 별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_ ID & TAG))를 미리 저장하고 있던 제1 개인키를 이용하여 복 - 10 -
호화(1 st unlock)할 수 있다. [0054] [0055] 이때, 제1 개인키는, 제1 공개키의 선택에 시간적으로 동기되어 선택될 수 있다. 인증 중계 서버(200)는 복호화한 제3 공개키로 암호화된 사용자 식별 정보(3 rd (TAG)와 함께 서드 파티 서버(300)로 전송할 수 있다. locked_ ID)를 트랜잭션 태그 [0056] [0057] 서드 파티 서버(300)는, 수신한 3 공개키로 암호화된 사용자 식별 정보(3 rd locked_ ID)를 트랜잭션 태그(TAG) 와 매칭되어 미리 저장된 제3 개인키로 복호화(3 rd unlock)하여 사용자 식별 정보(ID')를 얻을 수 있으며, 복호 화한 사용자 식별 정보(ID')를 미리 저장되어 있던 사용자 식별 정보(ID)와 비교하여 인증하고, 인증 중계 서버 (200)는 서드 파티 서버(300)의 인증 결과를 수신하여 사용자 단말(100)로 전송하거나, 서드 파티 서버(300)에 서 직접 인증 결과를 사용자 단말(100)로 전송할 수 있다. 다른 실시예에 따르면, 인증 중계 서버(200)는 수신한 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_ ID & TAG))를 미리 저장하고 있던 제1 개인키를 이용하여 복호화(1 st unlocked)한 후, 제1 개인키(1 st private key)를 이용한 복호화 성공에 응답하여, 다시 제 2공개키로 암호화(2 nd locked_(3 rd locked_ ID & TAG))하여 서드 파티 서버(300)로 전송할 수 있다. [0058] 이때, 서드 파티 서버(300)는 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태 그(2 nd locked_(3 rd locked_ ID & TAG)를 미리 저장하고 있던 제2 개인키로 복호화(2 nd unlock)하고, 미리 저장 된 제3 개인키로 한번 더 복호화(3 rd unlock)하여 사용자 식별 정보(ID')를 얻을 수 있으며, 복호화한 사용자 식 별 정보(ID')를 미리 저장되어 있던 사용자 식별 정보(ID)와 비교하여 인증할 수 있다. [0059] [0060] [0061] [0062] [0063] [0064] [0065] 서드 파티 서버(300)는 제2 개인키(2 nd private key)로 복호화한 트랜잭션 태그(TAG)를 기준으로, 제3 공개키 (3 rd public key)에 대응하는 제3 개인키(3 rd private key)를 찾아, 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_ ID)를 복호화(3 rd unlock)함으로써, 미리 저장되어 있는 사용자 식별 정보(ID)와의 일치 여부를 판단할 수 있다. 제2 개인키(2 nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 제2 공개키 선택에 시간 적으로 동기되도록 생성한 것일 수 있다. 이후, 서드 파티 서버(300)가 사용자 식별 정보(ID)의 일치 여부에 따라 인증 결과를 인증 중계 서버(200)로 전 송하고, 인증 중계 서버(200)가 인증 결과를 사용자 단말(100)로 전달하는 과정 또는 서드 파티 서버(300)가 직 접 인증 결과를 사용자 단말(100)로 전송하는 과정을 통해 인증 절차가 완료될 수 있다. 이와 같이, 본 발명의 일 실시예에 따르면, 인증 과정 중에 전송되는 사용자 식별 정보가 제3 공개키로 암호화 된 상태(3 rd locked_ ID)이고, 제 1 공개키 내지 제3 공개키 중 어떠한 키도 키 자체로 공개되어 전송되지 않으 므로, 인증 트랜잭션 중에 발생할 수 있는 중간자 공격에 대한 방지가 가능하며, 해킹의 위험성이 줄어들 수 있 다. 사용자 등록 절차 일 실시예에 따르면, 전술한 인증 프로세스가 진행되기 전에, 사용자가 서드 파티 서버(300)에 사용자 등록을 할 수 있는데, 이러한 사용자 등록 절차를 통해 서드 파티 서버(300)는 사용자 등록을 요청한 사용자에 대한 사 용자 식별 정보를 생성하게 된다. 구체적으로, 일 실시예에 따르면, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션을 통해 서드 파티 서버(300)로 사용자 등록 요청(Req_Enroll)이 수신되면, 서드 파티 서버(300)는 사용자 식별 정보(ID), 제3 공 개키(3 rd public key) 및 제3 개인키(3 rd private key) 그리고 트랜잭션 태그(TAG)를 생성할 수 있다. [0066] 일 실시예에 따르면, 서드 파티 서버(300)는, 생성한 사용자 식별 정보를 제3 공개키로 암호화한 후(3 rd locked_ ID), 제3 공개키로 암호화한 사용자 식별 정보(3 rd locked_id)를 트랜잭션 태그(TAG)와 함께 사용자 단말(100) - 11 -
로 전송할 수 있으며, 제3 공개키(3 rd public key)는 사용자 식별 정보를 암호화하는 데에 사용된 뒤, 바로 삭제 될 수 있다. [0067] [0068] [0069] 일 실시예에 따르면, 제3 공개키로 암호화한 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)를 수신한 사용자 단말(100)은, 생체 정보 인식을 위한 센서를 통해 생체 정보를 획득하여, 생체 정보에 상응하는 템플릿 (template)를 생성한 뒤, 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)와 매 칭시켜 저장한다. 예를 들어, 생체 정보가 지문인 경우, 사용자 단말(100)은, 지문 센서를 통해 지문 영상을 획득한 후, 획득한 지문 영상에 대한 템플릿을 생성하고, 템플릿(template)과 제3 공개키로 암호화된 사용자 식 별 정보(3 rd locked_id), 그리고 트랜잭션 태그(TAG)를 매칭시켜 저장할 수 있다. 템플릿(template), 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)의 저장이 완료되면, 사용자 단말(100)은 트랜잭션 태그(TAG)를 포함하는 사용자 식별 정보의 저장 결과를 서드 파티 서버 (300)로 전송하게 된다. 서드 파티 서버(300)는 수신된 트랜잭션 태그(TAG)와 매칭되어 저장되어 있는 사용자 식별 정보(ID)의 등록이 완료되었음을 확인할 수 있으며 이에 따라 서드 파티 서버(300)도 트랜잭션 태그(TAG)와 매칭되는 제3 개인키 (3 rd private key) 및 사용자 식별 정보(ID)를 서로 매칭시켜 저장할 수 있다. [0070] 일 실시예에 따라, 전술한 과정을 통해 사용자 등록이 완료되면, 서드 파티 서버(300)에는 사용자 식별 정보 (ID), 제3 개인키(3 rd private key) 및 트랜잭션 태그(TAG)가 매칭되어 저장되고, 사용자 단말(100)에는 템플릿 (template), 제3 공개키로 암호화된 사용자 식별 정보(3 rd 될 수 있다. locked_ ID) 및 트랜잭션 태그(TAG)가 매칭되어 저장 [0071] [0072] [0073] [0074] [0075] [0076] 이와 같이, 본 발명의 일 실시예에 따르면, 사용자 식별 정보를 생성한 서드 파티 서버(300)를 제외하고, 인증 중계 서버(200) 및 사용자 단말(100)에서 사용자 식별 정보가 제3 공개키로 암호된 상태(3 rd locked_id)로 저장 되고, 전송된다. 따라서, 인증/등록 과정 중에 사용자 식별 정보(ID)가 유출되더라도, 유출한 측에서 해당 사 용자 식별 정보(ID)를 정확하게 인지할 수 없다. 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id)를 복 호화할 수 있는 제3 개인키(3 rd private key)는 사용자 식별 정보(ID)를 생성한 서드 파티 서버(300)에서만 보 관하고 있기 때문이다. 따라서, 본 발명의 일 실시예에 따르면, 인증 과정 중 사용자 식별 정보(ID) 유출, 도 용 등에 따라 발생할 수 있는 위험을 크게 줄일 수 있다. 이하, 도 2 내지 도 6c를 참조하여, 본 발명의 일 실시예에 따른 사용자 등록 및 인증 방법을 살펴보도록 한다. 도 2는 본 발명의 일 실시예에 따른 사용자 등록 방법을 도시한 흐름도이고, 도 3은 본 발명의 일 실시예에 따 른 사용자 인증 방법을 도시한 흐름도이고, 도 4는 본 발명의 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이고, 도 6은 본 발명의 또 다른 실시예에 따른 사용자 인증 방법을 도시한 흐름도이다. 도 6a 내지 도 6c는 본 발명의 실시예에 따른 사용자 등록 및 인증 후, 사용자 단말, 인증 중계 서버 및 서드 파티 서버에 저 장된 데이터들을 도시한 도면이다. 먼저, 도 2를 참조하여, 본 발명의 일 실시예에 따른 사용자 등록 절차를 살펴보도록 한다. 일 실시예에 따르면, 사용자 단말(100)은 설치된 서드 파티 서버용 애플리케이션을 통해 서드 파티 서버(300)로 사용자 등록 요청(Req_Enroll)을 전송한다(S210). 이에 따라, 서드 파티 서버(300)는 사용자 등록 요청(Req_Enroll)에 기초하여 사용자 식별 정보(ID)를 생성하고 (S221), 서드 파티 서버(300)에 설치된 제2 인증 프로그램을 통해 제3 공개키, 제3 개인키 그리고 트랜잭션 태 그(3 rd public key, 3 rd private key, TAG)를 생성할 수 있다(S223). [0077] 서드 파티 서버(300)는, 사용자 식별 정보(ID)를 제3 공개키로 암호화(3 rd locked_id)한 후(S230), 제3 공개키 로 암호화한 사용자 식별 정보(3 rd locked_id)를 트랜잭션 태그(TAG)와 함께 사용자 단말(100)로 전송할 수 있 다(S240). - 12 -
[0078] [0079] [0080] [0081] [0082] 사용자 단말(100)은 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id 및 TAG)가 수신 되면, 서드 파티 서버용 애플리케이션을 통해 푸쉬(Push) 알림을 보내어 생체 정보 인식 애플리케이션을 실행할 수 있다. 일 실시예에 따르면, 사용자 단말(100)은 실행된 생체 정보 인식 애플리케이션을 통해 사용자에게 생체 정보의 감지를 요청하여, 센서를 통해 입력되는 생체 정보를 감지할 수 있다(S250). 그리고, 획득한 생체 정보에 대응 하는 템플릿(template)를 생성하고(S260), 템플릿(template)과 제3 공개키로 암호화된 사용자 식별 정보 및 트 랜잭션 태그(3 rd locked_id 및 TAG)를 서로 매칭시켜 저장할 수 있다(S270). 일 실시예에 따르면, 생체 정보에는 지문, 홍채, 성문( 聲 問 ), 얼굴, 정맥 등이 포함될 수 있으며, 경우에 따라 PIN 번호가 생체 정보를 대신하여 사용될 수도 있다. 템플릿(template)은 지문을 식별하기 위해 생성된 정보이면 그 어느 것에 제한되지 않으며, 일 실시예에 따르면 해쉬 키(Hash key) 등의 형태 일 수 있다. 일 실시예에 따르면, 사용자 단말(100)이 트랜잭션 태그(TAG)를 포함하는 등록 결과를 서드 파티 서버(300)로 전송하면(S280), 서드 파티 서버(300)가 수신된 트랜잭션 태그(TAG)에 상응하는 사용자 식별 정보(ID) 및 제3 개인키(3 rd private key)를, 트랜잭션 태그(TAG)와 매칭시켜 저장함으로써, 사용자 등록 절차가 완료될 수 있다. [0083] [0084] 일 실시예에 따르면, 사용자 단말(100)에 저장되는, 템플릿(template), 제3 공개키로 암호화된 사용자 식별 정 보 및 트랜잭션 태그(3 rd locked_id, TAG)는, 키 싸이닝(Key Signing) 절차를 통해 사용자 단말(100) 내에서 보 호 관리 될 수 있으며, 이때, 키 싸이닝을 위하여 사용자 단말(100)의 식별 정보 예를 들어 맥 어드레스(MAC address) 등을 이용할 수 있다. 전술한 본 발명의 일 실시예에 따른 사용자 등록 과정이 완료되면, 도 6a에 도시된 바와 같이, 사용자 단말 (100)에는 제1 공개키(1 st public key), 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)가 템플릿(template)과 매칭되어 저장될 수 있다. 그리고, 인증 중계 서버(200)에는 제1 개인키(1 st private key)가, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3 rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장될 수 있다. [0085] 본 발명의 다른 실시예에 따르면, 사용자 등록 과정이 완료된 후, 도 6b에 도시된 바와 같이, 사용자 단말(10 0)에는 제1 공개키(1 st public key), 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그 (TAG)가 템플릿(template)와 매칭되어 저장될 수 있다. [0086] [0087] [0088] [0089] [0090] 또한, 인증 중계 서버(200)에는 제1 개인키(1 st private key) 및 제2 공개키(2 nd public key)가, 서드 파티 서버 (300)에는 트랜잭션 태그(TAG), 제3 개인키(3 rd private key) 및 사용자 식별 정보(ID)가 제2 개인키(2 nd private key)와 함께 저장되어 있을 수 있다. 이와 같이, 본 발명의 실시예에 따르면, 사용자 인증을 위해 필요한 사용자 식별 정보(ID)는, 제3 공개키로 암 호화된 상태(3 rd locked_id)로 서드 파티 서버(300)에서 사용자 단말(100)로 전송되어 저장됨으로써, 사용자 식 별 정보(ID)를 생성한 서드 파티 서버(300)를 제외한 인증 중계 서버(200) 및 사용자 단말(100)에서는 암호화 되기 전의 사용자 식별 정보(ID)를 알 수 없어, 해킹의 위험이 줄어들 수 있다. 이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 사용자 인증 절차를 살펴 본다. 도 3에 도시된 사용자 인증 절차는, 전술한 도 2에 도시된 사용자 등록 절차를 통해 사용자 식별 정보가 생성된 이후에 수행되는 절차일 수 있다. 도 3을 참조하여 설명하는 인증 절차는, 생체 정보 중 지문을 사용하는 경우를 예를 들어 설명한다. 물론, 지 문에 제한되지 않고, 홍채, 성문, 정맥, 얼굴 등의 다양한 사용자의 생체 정보가 본 발명에 따른 인증 절차에 활용될 수 있다. 사용자가 사용자 단말(100)의 서드 파티 서버용 애플리케이션을 통해 인증 요청(Req_Verify)을 입력하면(S310), 서드 파티 서버용 애플리케이션이 사용자 단말(100)에 설치된 제1 인증 프로그램을, 푸쉬 메시지 등을 통해 호 - 13 -
출할 수 있다. [0091] [0092] 이후, 제1 인증 프로그램은, 생체 정보 인식 애플리케이션을 호출하여, 사용자에게 생체 정보의 인식 예를 들어, 지문 인식을 요청하고, 센서를 통해 지문을 감지하여(S321), 감지된 지문이 기 등록된 지문과 일치하는지 여부를 판단할 수 있다(S323). 이때, 인증 중계 서버(200)는 제1 인증 프로그램를 통해 후술할 제3 공개키로 암호화된 사용자 식별 정보와 트 랜잭션 태그(3 rd locked_id 및 TAG)를 암호화하는 제1 공개키(1 st public key)를 사용자 단말(100)로 제공할 수 있다. [0093] 판단 결과, 센서를 통해 감지된 지문이 기 등록된 지문과 일치하여, 지문 인증이 성공하면, 사용자 단말(100)은, 지문 인증 성공에 응답하여 제1 공개키를 선택하고, 센서를 통해 감지된 지문의 템플릿과 매칭되 어 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3 rd locked_id 및 TAG)를 제1 공개 키(1 st public key)로 암호화한다(S330). [0094] [0095] 사용자 단말(100)은 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))를 인증 중계 서버(200)로 전송할 수 있다(S340). 전술한 바와 같이, 도 3에 도시된 인증 과정 Ⅰ이 완료된 이후에, 사용자 단말(100)에는 도 6a에 도시된 바와 같이, 제1 공개키(1 st public key), 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그 (TAG)가 템플릿(template)와 매칭되어 저장될 수 있다. [0096] [0097] 또한, 도 6a에 도시된 바와 같이, 인증 중계 서버(200)에는 제1 개인키(1 st private key)와 사용자 단말(100)로 부터 수신한 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))가 함께 저장될 수 있으며, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3 rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장될 수 있다. 이때, 도 6a에 화살표로 표시한 데이터는 상호 암호화/복호화하는데에 사용될 수 있으며, 암호화하는 경우를 선 형 화살표로, 복호화하는 경우를 블록형 화살표로 표시하였다. 즉, 제1 공개키(1 st public key)는 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)를 암호화하고, 제1 개인키(1 st private key) 는 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_id & TAG))를 복호화할 수 있다. locked_(3 rd [0098] 본 발명의 일 실시예에 따르면, 인증 중계 서버(200)는 제1 개인키(1 st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)를 복호 화(1 st unlock)하고(s350), 서드 파티 서버(300)로 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그 _(3 rd locked_id & TAG)를 전송할 수 있다(S360). [0099] [0100] 제1 개인키(1 st private key)는, 상기 제1 공개키의 선택에 시간적으로 동기되어 생성된 것일 수 있다. 즉, 사용 자 단말(100)에 설치된 제1 인증 프로그램이, 생체 정보 인증 성공에 응답하여, 인증 중계 서버(200)로부터 제 공받은 제1 공개키를 선택하는 것에 시간적으로 동기된 제1 개인키가 선택될 수 있다. 전술한 바와 같이, 도 3에 도시된 인증 과정 Ⅱ가 완료된 이후에, 사용자 단말(100)에는 도 6a에 도시된 바와 같이, 인증 과정 Ⅰ과 비교하여 저장되어 있는 데이터의 변화가 없으며, 인증 중계 서버(200)에는 제1 공개키 선택에 시간적으로 동기되어 생성된 제1 개인키(1 st private key)가 저장될 수 있으며, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제3 개인키(3 rd private key) 및 사용자 식별 정보(ID)가 매칭되어 저장되고, 인증 중계 서버(200)로부터 수신한 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그_(3 rd locked_id & TAG)가 함께 저장되어 있을 수 있다. 이때, 제3 개인키(3 rd private key)는, 제3 공개키로 암호화된 사용자 식별 정보 - 14 -
[0101] 및 트랜잭션 태그_(3 rd locked_id & TAG)를 복호화할 수 있다. 서드 파티 서버(300)는 수신된 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3 rd private key)를 추출하여, 제3 공개키로 암호한 사용자 식별 정보(3 rd locked_id)를 복호화(3 rd unlock)할 수 있다(S370). [0102] [0103] [0104] [0105] [0106] [0107] [0108] [0109] [0110] [0111] 서드 파티 서버(300)는 복호화를 통해 획득한 사용자 식별 정보(ID')를 트랜잭션 태그(TAG)와 매칭되어 저장되 어 있는 사용자 식별 정보(ID)와 비교하여 인증하고(S380), 그 결과를 인증 중계 서버(200)로 전송할 수 있다 (S391). 서드 파티 서버(300)는 복호화를 통해 얻어진 사용자 식별 정보(ID')가 서드 파티 서버(300)에 저장되어 있던 사용자 식별 정보 (ID)와 일치하면, 인증 성공으로, 그렇지 않은 경우, 인증 실패로 처리하여(S380), 그 결과를 인증 중계 서버(200)로 전송할 수 있다(S391) 인증 결과를 수신한 인증 중계 서버(200)는 사용자 단말(100)로 수신한 인증 결과를 전송할 수 있으며(S393), 이러한 과정을 통해, 사용자 인증이 완료될 수 있다. 전술한 바와 같이, 도 3에 도시된 인증 과정 Ⅲ이 완료된 이후에, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(300)는 도 6a에 도시된 바와 같이, 사용자 등록이 완료된 상태 즉, 인증 과정이 시작되기 전과 동일한 데이터를 저장하고 있을 수 있다. 이하, 도 4을 참조하여 본 발명의 다른 실시예에 따른 사용자 인증 절차를 살펴 본다. 도 4에 도시된 사용자 인 증 절차는, 전술한 도 2에 도시된 사용자 등록 절차를 통해 사용자 식별 정보가 생성이 된 이후 수행되는 절차 일 수 있으며, 도 3에 도시된 인증 절차와 비교하였을 때, 제2 공개키(2 nd public key) 및 제2 개인키(2 nd private key)를 이용한 암호화, 복호화 과정이 추가된다는 점에서 상이하다. 여기서, 제2 공개키(2 nd public key)는, 인증 중계 서버(200)의 제1 개인키(1 st private key)를 이용한 복호화 성공에 응답하여 선택되며, 제2 개인키(2 nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램 이, 인증 중계 서버(200)에서의 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다. 먼저, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션을 통해 인증 요청(Req_Verify)이 입력되면 (S410), 서드 파티 서버용 애플리케이션이 사용자 단말(100)에 설치된 제1 인증 프로그램을 호출할 수 있다. 이후, 제1 인증 프로그램은, 생체 정보 인식 애플리케이션을 호출하며, 생체 정보 인식 애플리케이션은, 사용자 에게 생체 정보의 인식을 요청하고, 센서를 통해 생체 정보를 감지하여(S421), 감지된 생체 정보가 기 등록된 생체 정보와 일치하는지 여부를 판단할 수 있다(S423). 이때, 생체 정보 인식 애플리케이션은 제1 인증 프로그 램에 포함되어 설치되거나, 제1 인증 프로그램과 별도로 설치되어 상호 연계될 수 있다. 판단 결과, 센서를 통해 감지된 생체 정보가 기 등록된 생체 정보와 일치하여 생체 정보의 인증이 성공하면, 생 체 정보의 인증 성공에 응답하여, 제1 공개키(1 st public key)를 선택할 수 있다. 사용자 단말(100)은, 센서를 통해 감지된 생체 정보의 템플릿과 매칭되어 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3 rd locked_id 및 TAG)를, 선택된 제1 공개키(1 st public key)로 암호화한다 (S430). [0112] [0113] [0114] 사용자 단말(100)은 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))를 인증 중계 서버(200)로 전송할 수 있다(S440). 전술한 바와 같이, 도 4에 도시된 인증 과정 Ⅰ이 완료된 이후에, 사용자 단말(100)에는 도 6b에 도시된 바와 같이, 사용자 등록 과정이 완료된 후에 저장되어 있는 데이터와 동일한 데이터가 저장되어 있다. 또한, 도 6b에 도시된 바와 같이, 인증 중계 서버(200)에는 제1 개인키(1 st private key) 및 제2 공개키(2 nd public key)가 사용자 단말(100)로부터 수신한 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정 보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))와 함께 저장되어 있을 수 있으며, 서드 파티 서버(30 0)에는 트랜잭션 태그(TAG), 제2 개인키(2 nd private key), 제3 개인키(3 rd private key) 및 사용자 식별 정보 - 15 -
(ID)가 매칭되어 저장될 수 있다. [0115] [0116] 전술한 바와 같이, 제2 공개키(2 nd public key)는, 인증 중계 서버(200)의 제1 개인키(1 st private key)를 이용 한 복호화 성공에 응답하여 선택되며, 제2 개인키(2 nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 인증 중계 서버(200)에서의 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다. 이때, 도 6b에 화살표로 표시한 데이터는 상호 암호화/복호화하는데에 사용될 수 있으며, 암호화하는 경우를 선 형 화살표로, 복호화하는 경우를 블록형 화살표로 표시하였다. 즉, 제1 공개키(1 st public key)는 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)를 암호화하고, 제1 개인키(1 st private key) 는 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_id & TAG))를 복호화할 수 있다. locked_(3 rd [0117] 본 발명의 다른 실시예에 따른, 인증 중계 서버(200)는 제1 개인키(1 st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)를 복호 화(1 st unlock)하고(s451), 복호화한 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id & TAG)를 다시 제2 공개키로 암호화하여(2 nd locked_(3 rd locked_id & TAG))(S453), 서드 파티 서버 (300)로 전송할 수 있다(S460). [0118] 인증 중계 서버(200)는, 제1 공개키(1 st public key) 선택에 시간적으로 동기되어 생성된 제1 개인키(1 st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그 (1 st locked_(3 rd locked_id & TAG)를 복호화(1 st unlock)하며(s451), 제1 개인키를 이용한 복호화(1 st unlock) 성공에 응답하여, 제2 공개키(2 nd public key)를 선택할 수 있다. [0119] 이때, 인증 중계 서버(200)에서 제1 개인키를 이용한 복호화(1 st unlock) 성공에 응답하여, 제2 공개키(2 nd public key)를 선택하는 것에 시간적으로 동기되어 생성된 제2 개인키(2 nd private key)가 제2 인증 프로그램을 통해, 서드 파티 서버(300)에서 선택될 수 있다. [0120] 인증 중계 서버(200)는, 선택된 제2 공개키(2 nd public key)로 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id & TAG)를 암호화하여(2 nd locked_(3 rd locked_id & TAG))(S453), 서드 파티 서 버(300)로 전송할 수 있다(S460). [0121] 전술한 바와 같이, 도 4에 도시된 인증 과정 Ⅱ가 완료된 이후에, 사용자 단말(100)에는 도 6b에 도시된 바와 같이, 인증 과정 Ⅰ과 비교하여 저장되어 있는 데이터의 변화가 없으며, 인증 중계 서버(200)에는 제1 개인키 (1 st private key) 및 제2 공개키(2 nd public key)가 저장되어 있을 수 있다. [0122] 또한, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제2 개인키(2 nd private key), 제3 개인키(3 rd private key) 및 사용자 식별 정보(ID)가, 인증 중계 서버(200)로부터 수신한 제2 공개키로 암호화한, 제3 공개키로 암 호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))와 함께 저장되어 있을 수 있다. [0123] 이때, 제2 개인키(2 nd private key), 및 제3 개인키(3 rd private key)는, 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))를 복호화할 수 있다. [0124] 일 실시예에 따르면, 서드 파티 서버(300)는 제2 인증 프로그램을 통해 제2 공개키(2 nd public key)를 선택하는 것에 시간적으로 동기되는 제2 개인키(2 nd private key)를 이용하여, 제2 공개키로 암호화된, 제3 공개키로 암호 화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))를, 복호화한 후(2 nd unlock)(s471), 복호화한 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3 rd private key)를 추출하여, 제3 공개키 로 암호한 사용자 식별 정보(3 rd locked_id)를 복호화(3 rd unlock)할 수 있다(S473). - 16 -
[0125] [0126] [0127] [0128] 서드 파티 서버(300)는 복호화를 통해 획득한 사용자 식별 정보(ID')를 트랜잭션 태그(TAG)와 매칭되어 저장되 어 있는 사용자 식별 정보(ID)와 비교하여 인증하고(S480), 그 결과를 인증 중계 서버(200)로 전송할 수 있다 (S491). 인증 결과를 수신한 인증 중계 서버(200)는 사용자 단말(100)로 수신한 인증 결과를 전송할 수 있으며(S493), 이러한 과정을 통해, 사용자 인증이 완료될 수 있다. 전술한 바와 같이, 도 4에 도시된 인증 과정 Ⅲ이 완료된 이후에, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(300)는 도 6b에 도시된 바와 같이, 사용자 등록이 완료된 상태와 동일한 데이터를 저장하고 있 을 수 있다. 이하, 도 5를 참조하여 본 발명의 또 다른 실시예에 따른 사용자 인증 절차를 살펴 본다. 도 5에 도시된 사용자 인증 절차는, 전술한 도 2에 도시된 사용자 등록 절차를 통해 사용자 식별 정보가 생성이 된 이후 수행되는 절 차일 수 있으며, 도 4에 도시된 인증 절차와 비교하였을 때, 사용자 단말(100)이 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))를 인증 중계 서버 (200)가 아닌 서드 파티 서버(300)로 전송한다는 점에서 상이하다. 즉, 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))가 서드 파티 서버(300)를 경유 하여 인증 중계 서버(200)로 수신된다. [0129] [0130] [0131] [0132] [0133] 먼저, 사용자 단말(100)에 설치된 서드 파티 서버용 애플리케이션을 통해 인증 요청(Req_Verify)이 입력되면 (S510), 서드 파티 서버용 애플리케이션이 사용자 단말(100)에 설치된 제1 인증 프로그램을 호출할 수 있다. 이후, 제1 인증 프로그램은, 생체 정보 인식 애플리케이션을 호출하며, 생체 정보 인식 애플리케이션은, 사용자 에게 생체 정보의 인식을 요청하고, 센서를 통해 생체 정보를 감지하여(S521), 감지된 생체 정보가 기 등록된 생체 정보와 일치하는지 여부를 판단할 수 있다(S523). 이때, 생체 정보 인식 애플리케이션은 제1 인증 프로그램에 포함되어 설치되거나, 제1 인증 프로그램과 별도로 설치되어 상호 연계될 수 있다. 판단 결과, 센서를 통해 감지된 생체 정보가 기 등록된 생체 정보와 일치하 여 생체 정보의 인증이 성공하면, 생체 정보의 인증 성공에 응답하여, 제1 공개키(1 st public key)를 선택할 수 있다. 사용자 단말(100)은, 센서를 통해 감지된 생체 정보의 템플릿과 매칭되어 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보와 트랜잭션 태그(3 rd locked_id 및 TAG)를 전술한 과정을 통해 선택된 제1 공개키(1 st public key)로 암호화한다(S530). [0134] [0135] [0136] 사용자 단말(100)은 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))를 서드 파티 서버(300)로 전송할 수 있다(S541). 전술한 바와 같이, 도 5에 도시된 인증 과정 Ⅰ이 완료된 이후에, 사용자 단말(100) 및 인증 중계 서버(200)에 는 도 6c에 도시된 바와 같이, 사용자 등록 과정이 완료된 후에 저장되어 있는 데이터와 동일한 데이터가 저장 되어 있다. 또한, 도 6c에 도시된 바와 같이, 서드 파티 서버(300)에는, 트랜잭션 태그(TAG), 제2 개인키(2 nd private key), 제3 개인키(3 rd private key) 및 사용자 식별 정보(ID)가 사용자 단말(100)로부터 수신한 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))와 함 께 저장되어 있을 수 있다. [0137] [0138] 전술한 바와 같이, 제2 공개키(2 nd public key)는, 인증 중계 서버(200)의 제1 개인키(1 st private key)를 이용 한 복호화 성공에 응답하여 선택되며, 제2 개인키(2 nd private key)는, 서드 파티 서버(300)에 설치된 제2 인증 프로그램이, 인증 중계 서버(200)에서의 제2 공개키 선택에 시간적으로 동기되도록 생성한 것일 수 있다. 이때, 도 6c에 화살표로 표시한 데이터는 상호 암호화/복호화하는데에 사용될 수 있으며, 암호화하는 경우를 선 형 화살표로, 복호화하는 경우를 블록형 화살표로 표시하였다. 즉, 제1 공개키(1 st public key)는 제3 공개키로 - 17 -
암호화된 사용자 식별 정보(3 rd locked_id) 및 트랜잭션 태그(TAG)를 암호화할 수 있다. [0139] 본 발명의 또 다른 실시예에 따른, 서드 파티 서버(300)는, 제1 공개키로 암호화한, 제3 공개키로 암호화된 사 용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))를 인증 중계 서버(200)로 전송할 수 있다 (S543). [0140] 즉, 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG))가 서드 파티 서버(300)를 경유하여 인증 중계 서버(200)로 수신될 수 있다(S543). [0141] 인증 중계 서버(200)는 제1 개인키(1 st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화 된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)를 복호화(1 st unlock)하고(s551), 복 호화한 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id & TAG)를 다시 제2 공 개키로 암호화하여(2 nd locked_(3 rd locked_id & TAG))(S553), 서드 파티 서버(300)로 전송할 수 있다(S560). [0142] 인증 중계 서버(200)는, 제1 공개키(1 st public key) 선택에 시간적으로 동기화되어 선택된 제1 개인키(1 st private key)를 이용하여, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그 (1 st locked_(3 rd locked_id & TAG)를 복호화(1 st unlock)하며(s551), 제1 개인키를 이용한 복호화(1 st unlock) 성공에 응답하여, 제2 공개키(2 nd public key)를 선택할 수 있다. [0143] 이때, 인증 중계 서버(200)에서 제1 개인키를 이용한 복호화(1 st public key)를 선택하는 것에 시간적으로 동기되는 제2 개인키(2 nd 서드 파티 서버(300)에서 생성될 수 있다. unlock) 성공에 응답하여, 제2 공개키(2 nd private key)가 제2 인증 프로그램을 통해, [0144] 인증 중계 서버(200)는, 선택된 제2 공개키(2 nd public key)로 제3 공개키로 암호화되어 있는 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id & TAG)를 암호화하여(2 nd locked_(3 rd locked_id & TAG))(S553), 서드 파티 서 버(300)로 전송할 수 있다(S560). [0145] 전술한 바와 같이, 도 5에 도시된 인증 과정 Ⅱ가 완료된 이후에, 사용자 단말(100) 및 인증 중계 서버(200)에 는 도 6c에 도시된 바와 같이, 인증 과정 Ⅰ과 비교하여 저장되어 있는 데이터의 변화가 없다. 다만, 서드 파티 서버(300)에는 트랜잭션 태그(TAG), 제2 개인키(2 nd private key(), 제3 개인키(3 rd private key) 및 사용자 식 별 정보(ID)가, 인증 중계 서버(200)로부터 수신한 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))와 함께 저장되어 있을 수 있다. [0146] 이때, 제2 개인키(2 nd private key), 및 제3 개인키(3 rd private key)는, 제2 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))를 복호화할 수 있다. [0147] 일 실시예에 따르면, 서드 파티 서버(300)는 제2 인증 프로그램을 통해 제2 공개키(2 nd public key) 선택에 시 간적으로 동기되는 제2 개인키(2 nd private key)를 이용하여, 제2 공개키로 암호화된, 제3 공개키로 암호화된 사 용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))를 복호화한 후(2 nd unlock)(s571), 복호화 한 트랜잭션 태그(TAG)와 매칭되는 제3 개인키(3 rd private key)를 추출하여, 제3 공개키로 암호한 사용자 식별 정보(3 rd locked_id)를 복호화(3 rd unlock)할 수 있다(S573). [0148] [0149] 서드 파티 서버(300)는 복호화를 통해 획득한 사용자 식별 정보(ID')를 트랜잭션 태그(TAG)와 매칭되어 저장되 어 있는 사용자 식별 정보(ID)와 비교하여 인증하고(S580), 그 결과를 사용자 단말(100)로 전송할 수 있다 (S590). 전술한 바와 같이, 도 5에 도시된 인증 과정 Ⅲ이 완료된 이후에, 사용자 단말(100), 인증 중계 서버(200) 및 서드 파티 서버(300)는 도 6c에 도시된 바와 같이, 사용자 등록이 완료된 상태와 동일한 데이터를 저장하고 있 을 수 있다 - 18 -
[0150] [0151] [0152] [0153] [0154] 이하, 도 7 내지 도 9을 참조하여, 본 발명의 실시예에 따른 사용자 단말, 인증 중계 서버 및 서드 파티 서버의 내부 구성에 대하여 살펴보도록 한다. 도 7은 본 발명의 일 실시예에 따른 사용자 단말(100)의 내부 구성을 도시한 블록도이다. 도 7을 참조하여 살펴보면, 본 발명의 일 실시예에 따른 사용자 단말(100)은, 서드 파티 서버용 애플리케이션 (110), 제1 인증프로그램(120), 생체 정보 인증부(130), 저장부(140), 제어부(150) 및 통신부(160)를 포함할 수 있다. 서드 파티 서버용 애플리케이션(110)은, 서드 파티 서버(300)를 위한 애플리케이션으로서, 인증을 필요로 하는 모든 애플리케이션, 일례로 금융 애플리케이션, 쇼핑 애플리케이션 등일 수 있다. 일 실시예에 따른, 서드 파티 서버용 애플리케이션(110)은, 서드 파티 서버(300)로 사용자 등록 요청 (Req_Enroll)을 전송하고, 이에 대한 결과로 수신된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태 그(3 rd locked_id, TAG)는 이후, 저장부(140)에 저장될 수 있다. [0155] [0156] [0157] [0158] [0159] [0160] 또한, 서드 파티 서버용 애플리케이션(110)을 통해 사용자가 인증 요청을 입력할 수 있으며, 서드 파티 서버용 애플리케이션(110)에 입력된 사용자 인증 요청에 따라, 사용자 단말(100)은 사용자 인증 과정을 수행할 수 있다. 일 실시예에 따른, 서드 파티 서버용 애플리케이션(110)은, 서드 파티 서버(300)에 사용자 식별 정보를 요청하 는 기능, 서드 파티 서버(300)로부터 제3 공개키로 암호화된 사용자 식별 정보를 수신하는 기능, 사용자의 생체 정보를 사용자 단말(100)에 등록하는 기능, 등록된 생체 정보와 상기 제3 공개키로 암호화된 사용자 식별 정보 를 매칭 시켜 저장하는 기능을 포함할 수 있다. 일 실시예에 따른, 제1 인증 프로그램(120)은, 서드 파티 서버용 애플리케이션(110)을 통해 사용자 인증 요청이 입력되면, 생체 정보 인식 애플리케이션을 호출하여, 생체 정보 인증부(130)를 활성화시킨다. 생체 정보 인증부(130)는, 생체 정보 인증부(130)에 포함된 센서를 통해 생체 정보를 입력받고, 입력된 생체 정 보를 미리 저장된 생체 정보와 일치하는지 여부를 확인하여, 생체 정보를 인증할 수 있다. 일 실시예에 따른, 생체 정보 인증부(130)는, 생체 정보 인증을 위해 필요한 생체 정보 인식 애플리케이션이 설 치된 상태일 수 있으며, 생체 정보 예를 들어 지문 인식을 위한 지문 센서 등을 포함할 수 있다. 생체 정보 인증부(130)가 생체 정보의 인증을 완료하면, 제1 인증 프로그램(120)은 저장부(140)에 인증된 생체 정보에 상응하는 템플릿(template)과 매칭되어 미리 저장되어 있던 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id, TAG)를, 제1 공개키로 암호화(1 st locked_(3 rd locked_id & TAG)할 수 있다. [0161] 이때, 제1 공개키(1 st public key)는 생체 정보의 인증 성공에 응답하여, 제1 인증 프로그램(120)이 선택한 것 일 수 있으며, 이와 같은 제1 공개키(1 st public key) 선택에 시간적으로 동기된 제1 개인키(1 st private key)가 인증 중계 서버(200)에서 선택될 수 있다. [0162] [0163] 생체 정보 인증부(130)는, 생체 정보가 센서를 통해 인식되면, 인식된 생체 정보를 인증하고, 생체 정보에 상응 하는 템플릿(template)를 생성할 수 있다. 일 실시예에 따른 제1 인증 프로그램(120)은 전술한 과정을 통해 선택된 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)를 인증 중계 서버(200)로 직접 또는 서드 파티 서버(300)를 경유하여 전송할 수 있다. [0164] 일 실시예에 따른, 인증 중계 서버(200)는, 제1 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG) 를, 제1 개인키를 이용하여 복호화한 후(1 st unlock), 다시 제2 공개키로 암호화(2 nd locked_(3 rd locked_id & TAG))하여 서드 파티 서버(300)로 전송할 수 있다. [0165] 이때, 제1 개인키(1 st private key)는 제1 공개키(1 st public key) 선택에 시간적으로 동기되어 인증 중계 서버 (200)에서 생성된 것으로, 제1 공개키(1 st public key) 선택에 시간적으로 동기화되어 선택될 수 있다. - 19 -
[0166] 또한, 제2 공개키(2 nd public key)는, 인증 중계 서버(200)의 제1 개인키를 이용한 복호화 과정(1 st unlock)의 성공에 응답하여 선택될 수 있으며, 이때 제2 공개키(2 nd public key)가 선택되는 것에 시간적으로 동기되어 생 성된, 제2 개인키(2 nd private key)가 서드 파티 서버(300)에서 제2 인증 프로그램을 통해 2 공개키(2 nd public key) 선택에 동기화되어 선택될 수 있다. [0167] [0168] [0169] 일 실시예에 따른, 서드 파티 서버(300)는, 인증 중계 서버(200)로부터 수신한 제2 공개키로 암호화한, 제3 공 개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id & TAG))에 기초하여 사용자 인 증 절차를 수행하고, 그 결과를 인증 중계 서버(200)를 통해 사용자 단말(100)에 설치되어 있는 서드 파티 서버 용 애플리케이션(110)으로 전송할 수 있다. 일 실시예에 따른 저장부(140)는, 사용자 등록 요청(Req_Enroll)에 따라 서드 파티 서버(300)로부터 수신한 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id, TAG)를, 템플릿(template), 예를 들어, 지문 센서를 통해 입력된 지문에 상응하여 생성된 지문의 식별 정보(template)와 매칭시켜 저장할 수 있다. 일 실시예에 따르면, 저장부(140)는, 제3 공개키로 암호화된 사용자 식별 정보, 트랜잭션 태그(3 rd locked_id, TAG) 및 템플릿(template)을 데이터 베이스에 저장할 수 있는데, 데이터 베이스는, 저장부(140)에 포함되거나, 저장부(140)와 별도로 존재할 수도 있다. [0170] 일 실 시예에 따른, 저장부(140)는, 사용자 식별 정보, 트랜잭션 태그(3 rd (template) 이외에, 제1 공개키도 저장할 수 있다. locked_id, TAG) 및 템플릿 [0171] [0172] [0173] [0174] [0175] [0176] 일 실시예에 따르면, 저장부(140)가 매칭시켜 저장하는, 템플릿(template), 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(3 rd locked_id, TAG)는, 키 싸이닝(Key Signing) 절차를 통해 사용자 단말(100) 내에서 보호 관리 될 수 있으며, 이때, 키 싸이닝을 위하여 단말의 식별 정보 예를 들어 맥 어드레스(MAC address) 등 을 이용할 수 있다. 저장부(140)는 플래쉬 메모리, 보안 SD 카드, USIM 카드 또는 CPU 내의 특정 메모리 영역이 될 수 있다. 일 실시예에 따른 통신부(160)는 사용자 단말(100)과 외부 장치 간 통신이 가능하도록 한다. 구체적으로, 사용 자 단말(100)은, 통신부(160)를 통해 외부 서버인, 인증 중계 서버(200) 및 서드 파티 서버(300)와 데이터의 송 수신을 할 수 있다. 통신부(160)는 3GPP, WIFI, Wimax 등의 통신 규격을 따르는 데이터 송수신 모듈이 될 수 있다. 일 실시예에 따른 제어부(150)는, 서드 파티 서버용 애플리케이션(110), 제1 인증프로그램(120), 생체 정보 인 증부(130), 저장부(140) 및 통신부(160) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명 에 따른 제어부(150)는, 서드 파티 서버용 애플리케이션(110), 제1 인증프로그램(120), 생체 정보 인증부(130), 저장부(140) 및 통신부(160)에서 각각 고유한 기능을 수행하도록 제어할 수 있다. 제어부(150)는 사용자 단말 (100)을 전체적으로 제어하는 CPU 또는 디바이스를 국부적으로 제어하는 MCU가 될 수 있다. 도8은 본 발명의 일 실시예에 따른 인증 중계 서버(200)의 내부 구성을 도시한 블록도이다. 도 8을 참조하여 살펴보면, 본 발명의 일 실시예에 따른 인증 중계 서버(200)는, 암호화/복호화부(210), 저장부 (220), 제어부(230) 및 통신부(240)를 포함할 수 있다 일 실시예에 따른, 암호화/복호화부(210)는, 서드 파티 서버(300)로부터 수신한 제1 공개키로 암호화된, 제3 공 개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG) 를 저장부(220)에 저장 되어 있던 제1 개인키(1 st private key)를 이용하여 복호화(1 st unlock)한 후, 제2 공개키로 암호화(2 nd locked_(3 rd locked_id & TAG))하여, 통신부(240)를 통해 서드 파티 서버(300)로 전송할 수 있다. [0177] [0178] 일 실시예에 따른 저장부(220)는, 제1 개인키(1 st private key) 및 제2 공개키(2 nd public key)를 함께 저장하고 있을 수 있다. 저장부(220)는 다수의 사용자 또는 특정 시간에 대응하여 다수의 개인키 또는 공개키를 저장하 고 있는 데이터베이스 서버일 수 있다. 일 실시예에 따른 통신부(240)는 인증 중계 서버(200)와 외부 장치 간 통신이 가능하도록 한다. 구체적으로, - 20 -
인증 중계 서버(200)는, 통신부(240)를 통해 외부 서버인, 사용자 단말(100) 및 서드 파티 서버(300)와 데이터 의 송수신을 할 수 있다. [0179] [0180] [0181] [0182] [0183] [0184] 일 실시예에 따른 통신부(240)는, 제2 공개키로 암호화된 사용자 식별정보 및 태그(2 nd locked_(3 rd locked_id & TAG))를 서드 파티 서버(300)로 전송할 수 있다. 일 실시예에 따른 제어부(230)는 암호화/복호화부(210), 저장부(220) 및 통신부(240) 간의 데이터의 흐름을 제 어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(230)는 암호화/복호화부(210), 저장부(220) 및 통 신부(240)에서 각각 고유한 기능을 수행하도록 제어할 수 있다. 도 9는 본 발명의 일 실시예에 따른 서드 파티 서버(300)의 내부 구성을 도시한 블록도이다. 도 9를 참조하여 살펴보면, 본 발명의 일 실시예에 따른 서드 파티 서버(300)는, 제2 인증 프로그램(310), 저장 부(320), 제어부(330) 및 통신부(340)를 포함할 수 있다. 서드 파티 서버(300)은 생체 인증을 이용한 사용자 인 증 또는 대금 결제가 가능한 온라인 쇼핑몰, 금융 기관, 지급 대행 업체 서버일 수 있다. 일 실시예에 따른 제2 인증 프로그램(310)은, 사용자 등록 요청(Req_Enroll)을 수신하면, 사용자 식별 정보(I D)를 제3 공개키로 암호화하여(3 rd locked_id), 트랜잭션 태그(TAG)와 함께 사용자 단말(100)로 전송할 수 있다. 이때, 제3 공개키(3 rd public key)는 사용자 식별 정보(ID)를 암호화한 뒤에, 바로 삭제될 수 있다. 일 실시예에 따른, 제2 인증 프로그램(310)은, 사용자 단말(100)로부터 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)를 수신하여 인증 중계 서버 (200)로 전송할 수 있다. [0185] [0186] 다른 실시예에서는 상기 제1 공개키로 암호화한, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)는 사용자 단말로부터 인증 중계 서버(200)으로 직접 전송될 수 있다. 일 실시예에 따른, 제2 인증 프로그램(310)는, 인증 중계 서버(200)가 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(1 st locked_(3 rd locked_id & TAG)를 제1 개인키(1 st private key)로 복호화한 뒤, 제2 공개키 로 암호화한, 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked_(3 rd locked_id&tag))를 수신할 수 있다. [0187] 일 실시예에 따른, 제2 인증 프로그램(310)은 제2 공개키로 암호화된, 제3 공개키로 암호화된 사용자 식별 정보 및 트랜잭션 태그(2 nd locked(3rd locked_id&tag))를, 제2 개인키로 복호화한(2 nd unlock) 후, 트랜잭션 태그 (TAG)와 매칭되어 저장된 제3 개인키를 이용하여, 제3 공개키로 암호화된 사용자 식별 정보(3 rd locked_id)를 복 호화할 수 있다. [0188] [0189] 일 실시예에 따른, 제2 인증 프로그램(310)은, 복호화한 사용자 식별 정보(ID')와 미리 저장되어 있는 사용자 식별 정보(ID)와 비교함으로써, 사용자를 인증하고, 인증 결과를 사용자 단말(100)로 전송할 수 있으며, 사용자 단말(100)은 수신된 인증 결과에 기초하여 인증 절차를 완료할 수 있다. 일 실시예에 따른 저장부(320)는, 사용자 단말(100)로부터 사용자 등록 요청(Req_Enroll)을 수신하여 생성한, 사용자 식별 정보, 제3 개인키 및 트랜잭션 태그(ID, 3 rd private key, TAG) 및 제2 개인키(2 nd private key)를 저장할 수 있다. [0190] [0191] [0192] 일 실시예에 따르면, 저장부(320)는, 제2 개인키(2 nd private key)를 제외한, 사용자 식별 정보, 제3 개인키 및 트랜잭션 태그(ID, 3 rd private key, TAG)를 데이터 베이스에 저장할 수 있는데, 데이터 베이스는 저장부(320) 에 포함되거나, 저장부(320)와 별도로 존재할 수도 있다. 일 실시예에 따른 통신부(340)는 서드 파티 서버(300)와 외부 장치 간 통신이 가능하도록 한다. 구체적으로, 서드 파티 서버(300)는, 통신부(340)를 통해 외부 서버인, 사용자 단말(100) 및 인증 중계 서버(200)와 데이터 의 송수신을 할 수 있다. 일 실시예에 따른 제어부(330)는 암호화/복호화부(310), 저장부(320) 및 통신부(340) 간의 데이터의 흐름을 제 - 21 -
어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(330)는 암호화/복호화부(310), 저장부(320) 및 통 신부(340)에서 각각 고유한 기능을 수행하도록 제어할 수 있다. [0193] [0194] [0195] [0196] [0197] 이와 같이, 본 발명의 실시예에 따르면, 개인 식별 정보의 인증 및 암호화 방식을 통해, 간편하지만 보안이 더 욱 강화된 사용자 인증이 가능해지며, 이에 따라 별도의 인증서 저장 없이도 인증 절차를 수행할 수 있어 사용 자 편의성이 증대될 수 있다. 또한, 본 발명의 실시예에 따르면, 사용자의 생체 정보는 생체 정보에 부여된 식별 정보로 저장, 관리되므로, 개인 정보의 유출 위험이 적어지며, 생체 정보 자체가 사용자 단말 외부로 전송되지 않으며, 사용자 단말과 서 드 파티 서버 간의 인증 절차가 아닌, 사용자 단말, 서드 파티 서버 및 인증 중계 서버의 삼자간 인증 절차를 통해 중간자 공격에 대한 방지가 가능해지며, 생체 정보가 인증 결과가 해킹되지 않도록 시간 의존적인 암호화 기법을 사용함으로써, 해킹의 위험이 줄어들 수 있다. 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 애플리케이션 명령어 의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 애플리케이션 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 애플리케이션 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거 나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매 체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 애플리케이션 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 애플리케이 션 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수 행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형 을 꾀할 수 있다. 따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아 니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다. [0198] 부호의 설명 100: 사용자 단말 200: 인증 중계 서버 300: 서드 파티 서버 110: 애플리케이션 120: 제1 인증 프로그램 130: 생체 정보 인증부 140: 데이터베이스 150: 제어부 160: 통신부 210: 암호화/복호화부 220: 데이터베이스 230: 제어부 - 22 -
240: 통신부 310: 제2 인증 프로그램 320: 데이터베이스 330: 제어부 340: 통신부 도면 도면1-23 -
도면2-24 -
도면3-25 -
도면4-26 -
도면5-27 -
도면6a - 28 -
도면6b - 29 -
도면6c 도면7-30 -
도면8 도면9 심사관 직권보정사항 직권보정 1 보정항목 청구범위 보정세부항목 청구항 16항 변경전 상기 인증 중계 서버로 변경후 인증 중계 서버로 직권보정 2 보정항목 청구범위 보정세부항목 청구항 13항 변경전 (b) 상기 사용자 단말의 변경후 (b) 사용자 단말의 - 31 -