카테고리 없음

다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법(Server, Client and Method for integrated user authentication in a system of multi-authentication means)

좌절하지말자 2018. 3. 3. 23:15

(19) 대한민국특허청(KR)
(12) 등록특허공보(B1)
(45) 공고일자 2008년06월30일
(11) 등록번호 10-0842267
(24) 등록일자 2008년06월24일
(51) Int. Cl.

G06F 17/00 (2006.01) G06F 15/00 (2006.01)
(21) 출원번호 10-2006-0120980
(22) 출원일자 2006년12월01일
심사청구일자 2006년12월01일
(65) 공개번호 10-2008-0050134
(43) 공개일자 2008년06월05일
(56) 선행기술조사문헌
KR1020060053934 A*
제10회 통신소프트웨어학술대회 COMSW 2005 논문
집*
*는 심사관에 의하여 인용된 문헌
(73) 특허권자
한국전자통신연구원
대전 유성구 가정동 161번지
(72) 발명자
이형규
대전 유성구 신성동 럭키하나아파트 107-405
이윤경
대전 유성구 송강동 한마을아파트 114-702
(뒷면에 계속)
(74) 대리인
리앤목특허법인
전체 청구항 수 : 총 39 항 심사관 : 신준호
(54) 다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법
(57) 요 약
다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버, 클라이언트 및 방법이 개시된다. 본 발명의 클라이언
트에서의 통합 인증 방법은 서버의 공개키 인증서를 기초로 서버의 서명을 인증하고, 서명을 기초로 서버가 가진
값과 동일한 세션 키를 생성하는 단계; 클라이언트의 인증에 사용될 인증 수단을 선택하는 단계; 및 선택된 인증
수단에 사용되는 정보들을 세션 키로 암호화하여 클라이언트의 인증을 요청하는 단계;를 포함한다. 본 발명에 따
르면, 사용자는 자신이 선호 또는 편리한 인증 수단을 선택하여 사용할 수 있으며, 이렇게 다양한 인증 수단을
이용하더라도 각 인증 수단의 안전성을 해치지 않는 효과가 있다.
대표도 - 도1
- 1 -
등록특허 10-0842267
(72) 발명자
한종욱
대전 서구 월평2동 무지개아파트 105-603
정교일
대전 유성구 신성동 한울아파트 107-1102
- 2 -
등록특허 10-0842267
특허청구의 범위
청구항 1
다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인증 방법에 있어서,
(a) 서버에서 생성된 쿠키를 수신하여 상기 서버의 인증을 위한 클라이언트 측 공개값을 상기 쿠키와 함께 상기
서버로 송신하는 단계;
(b) 상기 서버의 인증을 위한 서버 측 공개값을 포함하여 서명된 공개키 인증서를 수신하여 상기 서버의 서명을
인증하고, 상기 서버 측 공개값을 기초로 상기 서버가 가진 값과 동일한 세션 키를 생성하는 단계;
(c) 상기 다중 인증 수단 중에서 클라이언트의 인증에 사용될 인증 수단을 선택하는 단계; 및
(d) 상기 (c) 단계에서 선택된 인증 수단에 사용되는 정보들을 상기 (b) 단계에서 생성된 세션 키로 암호화하여
상기 클라이언트의 인증을 요청하는 단계;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클
라이언트에서의 통합 인증 방법.
청구항 2
제 1항에 있어서,
상기 (c) 단계에서 선택된 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단 및 생체 정보 기
반의 인증 수단 중 하나 이상인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인
증 방법.
청구항 3
제 1항에 있어서,
상기 서버 측 공개값 및 상기 클라이언트 측 공개값은 디피-헬먼(Diffie-Hellman) 방식에 따라 계산된 값이고,
상기 (b) 단계는 상기 클라이언트 측 공개값을 계산하는 데에 사용된 클라이언트 측 비밀 정수 및 상기 서버 측
공개값을 기초로 상기 세션 키를 생성하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서
의 통합 인증 방법.
청구항 4
제 1항에 있어서, 상기 (a) 단계는,
(a-1) 상기 서버에게 인증 프로토콜을 시작하는 시작 메시지를 송신하는 단계; 및
(a-2) 상기 서버로부터 상기 시작메시지에 대한 응답 메시지 및 난수 발생기를 통하여 생성된 쿠키를 수신하는
단계를 더 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인증 방법.
청구항 5
제 1항에 있어서,
상기 쿠키는, 클라이언트를 가장한 공격자의 세션 범람 공격(session flooding attack)을 막기 위한 정보인 것
을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인증 방법.
청구항 6
제 1항에 있어서,
상기 (b) 단계는 인증 수단에 대한 질의, 상기 서버 측 공개값 및 상기 공개키 인증서를 수신하는 것을 특징으
로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인증 방법.
청구항 7
제 1항에 있어서,
- 3 -
등록특허 10-0842267
(e) 상기 클라이언트의 인증이 완료되면, 기존의 세션 키를 폐기하고, 새로운 인증 절차에 사용되는 데이터 보
호를 위한 새로운 세션 키를 재생성하는 단계;를 더 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스
템의 클라이언트에서의 통합 인증 방법.
청구항 8
(a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 클라이언트가 서버와 쿠키
및 공개값을 교환하여 상기 서버 인증을 마치고, 상기 다중 인증 수단 중에서 인증서 기반의 인증 수단을 선택
하여 상기 클라이언트 인증을 시도할 때, 상기 인증서 기반의 인증 수단에서 사용되는 정보들을 상기 서버 인증
을 위해 교환되는 공개값을 기초로 생성한 세션 키로 암호화하여 암호값을 생성하는 단계; 및
(b) 인증 수단이 인증서 기반의 인증 수단인 것을 알리는 메시지 및 상기 암호값을 상기 서버로 전송하는 단
계;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 인증서 기반 인증 방법.
청구항 9
제 8항에 있어서,
상기 인증서 기반의 인증 수단에서 사용되는 정보들은, 상기 클라이언트의 사용자 아이디(ID), 상기 클라이언트
의 공개키 인증서, 및 상기 클라이언트의 개인키로 서명한 서명을 포함하는 것을 특징으로 하는 다중 인증 수단
을 가진 시스템의 클라이언트에서의 인증서 기반 인증 방법.
청구항 10
제 9항에 있어서,
상기 서명은 상기 클라이언트의 사용자 아이디 및 서버 측 디피-헬먼 공개값을 해시 연산하여 얻은 해쉬값을,
상기 클라이언트의 개인키로 서명한 값인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서
의 인증서 기반 인증 방법.
청구항 11
제 9항에 있어서,
상기 클라이언트의 사용자 아이디와 일대일 대응되는 인덱스 아이디를 상기 클라이언트의 사용자 아이디 대신
전송하여, 사용자 아이디를 노출하지 않는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서
의 인증서 기반 인증 방법.
청구항 12
(a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 클라이언트가 서버와 쿠키
및 공개값을 교환하여 상기 서버 인증을 마치고 상기 다중 인증 수단 중에서 패스워드 기반의 인증 수단을 선택
하여 상기 클라이언트 인증을 시도할 때, 인증 수단이 패스워드 기반의 인증 수단인 것을 알리는 메시지, 및 상
기 클라이언트의 사용자 아이디를 상기 서버 인증을 위해 교환되는 공개값을 기초로 생성한 세션 키로 암호화한
제 1 암호값을 생성하여 상기 서버로 전송하는 단계;
(b) 상기 서버로부터, 상기 클라이언트의 사용자 아이디에 해당하는 검증자를 연산하여 얻은 제 1 연산값을 상
기 세션 키로 암호화한 제 2 암호값을 수신하는 단계; 및
(c) 상기 제 2 암호값을 복호하여 얻은 제 1 연산값을 이용하여 연산한 제 2 연산값을 상기 세션 키로 암호화한
제 3 암호값을 생성하여 상기 서버로 전송하는 단계;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시
스템의 클라이언트에서의 패스워드 기반 인증 방법.
청구항 13
제 12항에 있어서,
상기 검증자는 상기 클라이언트의 패스워드를 해시 연산한 값을 이용하여 생성되어, 상기 클라이언트의 사용자
아이디와 함께 상기 서버의 데이터 베이스에 미리 저장되어 있는 값인 것을 특징으로 하는 다중 인증 수단을 가
진 시스템의 클라이언트에서의 패스워드 기반 인증 방법.
- 4 -
등록특허 10-0842267
청구항 14
제 12항에 있어서,
안전한 소수 p를 가지는 갈로아 필드 상의 원시 원소(generator)를 g, 상기 클라이언트의 패스워드 P를 해시 연
산한 값을 Hash(P) 라고 할 때,
상기 검증자 V 는
V = g
-Hash(P)
mod p
인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 패스워드 기반 인증 방법.
청구항 15
제 14항에 있어서,
0 < r < p-2 를 만족하도록 임의로 선택된 값을 r 이라고 할 때,
상기 제 1 연산값 X 는
X ≡ g
-Hash(P) · r
≡ V
r
mod p
이고, 상기 제 2 연산값 Y 는
Y ≡ g
r
≡ X
Hash(P)
mod p
인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 패스워드 기반 인증 방법.
청구항 16
제 14항에 있어서,
상기 클라이언트의 사용자 아이디와 일대일 대응되는 인덱스 아이디를 상기 클라이언트의 사용자 아이디 대신
전송하여, 사용자 아이디를 노출하지 않는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서
의 패스워드 기반 인증 방법.
청구항 17
(a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 클라이언트가 서버와 쿠키
및 공개값을 교환하여 상기 서버 인증을 마치고 상기 다중 인증 수단 중에서 생체 정보 기반의 인증 수단을 선
택하여 상기 클라이언트 인증을 시도할 때, 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들을 상기 서버
인증을 위해 교환되는 공개값을 기초로 생성한 세션 키로 암호화하여 암호값을 생성하는 단계; 및
(b) 인증 수단이 생체 정보 기반의 인증 수단인 것을 알리는 메시지 및 상기 암호값을 상기 서버로 전송하는 단
계;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 생체 정보 기반 인증 방
법.
청구항 18
제 17항에 있어서,
상기 생체 정보 기반의 인증 수단에서 사용되는 정보들은,
상기 클라이언트의 사용자 아이디와 일대일 대응되는 인덱스 아이디; 및
상기 클라이언트의 사용자 아이디 및 사용자의 생체 정보인 제 1 생체 정보를 이용하여 생성한 제 2 생체 정
보;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 생체 정보 기반 인증 방
법.
청구항 19
제 18항에 있어서,
- 5 -
등록특허 10-0842267
상기 제 2 생체 정보는, 상기 클라이언트의 사용자 아이디와 상기 제 1 생체 정보의 배타적 논리합(exclusive-
OR) 연산을 통하여 생성되는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 클라이언트에서의 생체 정보
기반 인증 방법.
청구항 20
다중 인증 수단을 가진 시스템의 서버에서의 통합 인증 방법에 있어서,
(a) 인증 절차 시작을 요청하는 클라이언트에게 쿠키(Cookie)를 전송하는 단계;
(b) 상기 클라이언트로부터 서버의 인증을 위한 클라이언트 측 공개값 및 상기 클라이언트가 재전송한 쿠키를
수신하여 상기 수신된 쿠키를 검증하여, 서버의 공개키 인증서를 기초로 한 서명의 인증을 요청하는 단계;
(c) 상기 클라이언트 측 공개값을 기초로 상기 클라이언트가 가진 값과 동일한 세션 키를 생성하는 단계;
(d) 상기 다중 인증 수단 중에서 상기 클라이언트의 인증에 사용될 인증 수단을 확인하는 단계; 및
(e) 상기 (d) 단계에서 확인된 인증 수단에 사용되는 정보들을 상기 세션 키로 암호화한 암호값을 상기 (c) 단
계에서 생성된 세션 키로 복호하여 상기 클라이언트를 인증하는 단계;를 포함하는 것을 특징으로 하는 다중 인
증 수단을 가진 시스템의 서버에서의 통합 인증 방법.
청구항 21
제 20항에 있어서,
상기 (d) 단계에서 확인된 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단 및 생체 정보 기
반의 인증 수단 중 하나 이상인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 통합 인증 방
법.
청구항 22
제 20항에 있어서, 상기 (a) 단계는,
(a-1) 상기 클라이언트로부터, 인증 프로토콜을 시작하는 시작 메시지를 수신하는 단계; 및
(a-2) 상기 시작 메시지에 대한 응답 메시지 및 난수 발생기를 사용하여 생성한 쿠키(Cookie)를 상기 클라이언
트로 송신하는 단계;를 더 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 통합 인증
방법.
청구항 23
제 20항에 있어서,
상기 (b)단계는, 인증 수단에 대한 질의, 상기 서버 측 공개값 및 상기 공개키 인증서를 송신하는 단계를 포함
하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 통합 인증 방법.
청구항 24
제 20항에 있어서,
상기 서명은, 상기 서버의 아이디(ID), 상기 서버 측 공개값, 및 상기 클라이언트 측 공개값을 해시 연산한 값
을 상기 서버의 공개키 인증서에 해당하는 비밀키를 이용하여 서명한 값인 것을 특징으로 하는 다중 인증 수단
을 가진 시스템의 서버에서의 통합 인증 방법.
청구항 25
제 20항에 있어서,
(f) 상기 클라이언트의 인증이 완료되면, 기존의 세션 키를 폐기하고, 새로운 인증 절차에 사용되는 데이터 보
호를 위한 새로운 세션 키를 재생성하는 단계;를 더 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스
템의 서버에서의 통합 인증 방법.
- 6 -
등록특허 10-0842267
청구항 26
(a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 서버가 클라이언트와 쿠키
및 공개값을 교환하여 상기 서버 인증을 마치고 상기 다중 인증 수단 중에서 인증서 기반의 인증 수단을 선택하
여 상기 클라이언트 인증을 시도할 때, 상기 클라이언트로부터, 상기 인증서 기반의 인증 수단에서 사용되는 정
보들을 상기 서버 인증을 위해 교환되는 공개값을 기초로 생성한 세션 키로 암호화한 암호값을 수신하는 단계;
(b) 상기 암호값을 상기 세션 키로 복호하여 상기 클라이언트의 개인키로 서명한 서명을 추출하는 단계; 및
(c) 상기 추출된 서명을 상기 클라이언트의 공개키로 검증하는 단계;를 포함하는 것을 특징으로 하는 다중 인증
수단을 가진 시스템의 서버에서의 인증서 기반 인증 방법.
청구항 27
제 26항에 있어서,
상기 인증서 기반의 인증 수단에서 사용되는 정보들은, 상기 클라이언트의 사용자 아이디(ID), 상기 클라이언트
의 공개키 인증서, 및 상기 클라이언트의 개인키로 서명한 서명을 포함하는 것을 특징으로 하는 다중 인증 수단
을 가진 시스템의 서버에서의 인증서 기반 인증 방법.
청구항 28
제 27항에 있어서,
상기 서명은 상기 클라이언트의 사용자 아이디 및 서버 측 디피-헬먼 공개값을 해시 연산하여 얻은 해쉬값을 상
기 클라이언트의 개인키로 서명한 값인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 인증서
기반 인증 방법.
청구항 29
(a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 서버가 클라이언트와 쿠키
및 공개값을 교환하여 상기 서버 인증을 마치고 상기 다중 인증 수단 중에서 패스워드 기반의 인증 수단을 선택
하여 상기 클라이언트 인증을 시도할 때, 상기 클라이언트로부터, 상기 클라이언트의 사용자 아이디를 상기 세
션 키로 암호화한 제 1 암호값을 수신한 후, 상기 서버 인증을 위해 교환되는 공개값을 기초로 생성한 세션 키
를 이용하여 복호하는 단계;
(b) 상기 클라이언트의 사용자 아이디에 해당하는 검증자를 상기 서버의 데이터 베이스에서 검색하는 단계;
(c) 상기 검색된 검증자를 연산하여 제 1 연산값을 생성하는 단계;
(d) 상기 제 1 연산값을 상기 세션 키로 암호화하여 생성한 제 2 암호값을 상기 클라이언트로 송신하는 단계;
(e) 상기 클라이언트로부터, 상기 제 2 암호값을 기초로 생성된 제 2 연산값을 상기 세션 키로 암호화한 제 3
암호값을 수신한 후, 상기 세션 키를 이용하여 복호하는 단계; 및
(f) 상기 복호된 제 2 연산값을 검증하는 단계;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템
의 서버에서의 패스워드 기반 인증 방법.
청구항 30
제 29항에 있어서,
안전한 소수 p를 가지는 갈로아 필드 상의 원시 원소(generator)를 g, 상기 클라이언트의 패스워드 P를 해시 연
산한 값을 Hash(P) 라고 할 때,
상기 검증자 V 는
V = g
-Hash(P)
mod p
인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 패스워드 기반 인증 방법.
청구항 31
- 7 -
등록특허 10-0842267
제 30항에 있어서,
0 < r < p-2 를 만족하도록 임의로 선택된 값을 r 이라고 할 때,
상기 제 1 연산값 X 는
X ≡ g
-Hash(P) · r
≡ V
r
mod p
이고, 상기 제 2 연산값 Y 는
Y ≡ g
r
≡ X
Hash(P)
mod p
인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 패스워드 기반 인증 방법.
청구항 32
제 31항에 있어서, 상기 (f) 단계에서,
상기 복호된 제 2 연산값 Y 가 상기 임의로 선택된 값 r 으로 계산한 g
r
mod p 값과 일치하는지 여부를 확인하
여 상기 제 2 연산값 Y 를 검증하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 패스워드
기반 인증 방법.
청구항 33
(a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 서버가 클라이언트와 쿠키
및 공개값을 교환하여 상기 서버 인증을 마치고 상기 다중 인증 수단 중에서 생체 정보 기반의 인증 수단을 선
택하여 상기 클라이언트 인증을 시도할 때, 상기 클라이언트로부터, 상기 생체 정보 기반의 인증 수단에서 사용
되는 정보들을 상기 서버 인증을 위해 교환되는 공개값을 기초로 생성한 세션 키로 암호화한 암호값을 수신하는
단계;
(b) 상기 암호값을 복호하여 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들을 추출하는 단계;
(c) 상기 추출된 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들을 이용하여 사용자의 생체 정보인 제 1
생체 정보를 계산하는 단계; 및
(d) 상기 계산된 제 1 생체 정보가 상기 서버의 데이터 베이스에 미리 저장된 정보와 일치하는지 여부를 검증하
는 단계;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 생체 정보 기반 인증 방
법.
청구항 34
제 33항에 있어서,
상기 생체 정보 기반의 인증 수단에서 사용되는 정보들은,
상기 클라이언트의 사용자 아이디와 일대일 대응되는 인덱스 아이디; 및
상기 클라이언트의 사용자 아이디 및 상기 제 1 생체 정보를 이용하여 생성한 제 2 생체 정보;를 포함하는 것을
특징으로 하는 다중 인증 수단을 가진 시스템의 서버에서의 생체 정보 기반 인증 방법.
청구항 35
제 34항에 있어서, 상기 (c) 단계에서,
상기 제 1 생체 정보는, 상기 인덱스 아이디를 이용하여 찾은 클라이언트의 사용자 아이디와 상기 제 2 생체 정
보의 배타적 논리합(exclusive-OR) 연산을 통하여 계산되는 것을 특징으로 하는 다중 인증 수단을 가진 시스템
의 서버에서의 생체 정보 기반 인증 방법.
청구항 36
서버에서 생성된 쿠키를 상기 서버로 재전송한 후 수신한 상기 서버의 공개키 인증서를 기초로 상기 서버의 서
명을 인증하고, 상기 서명을 기초로 상기 서버가 가진 값과 동일한 세션 키를 생성하는 서버 인증부;
- 8 -
등록특허 10-0842267
클라이언트의 인증에 사용될 인증 수단을 선택하는 인증 수단 선택부; 및
상기 선택된 인증 수단에 사용되는 정보들을 상기 세션 키로 암호화하여 상기 클라이언트의 인증을 요청하는 클
라이언트 인증 요청부;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 통합 인증을 위한 클라
이언트.
청구항 37
제 36항에 있어서,
상기 인증 수단 선택부에서 선택한 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단, 생체 정
보 기반의 인증 수단 중 하나 이상인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 통합 인증을 위한 클
라이언트.
청구항 38
인증 절차의 시작을 요청하는 클라이언트에게 송신한 쿠키를 상기 클라이언트로부터 다시 수신하여 검증한 후
공개키 인증서를 기초로 한 서명의 인증을 요청하고, 상기 서명을 기초로 상기 클라이언트가 가진 값과 동일한
세션 키를 생성하는 서버 요청 인증부;
상기 클라이언트의 인증에 사용될 인증 수단을 확인하는 인증 수단 확인부; 및
상기 확인된 인증 수단에 사용되는 정보들을 상기 세션 키로 암호화한 암호값을 상기 세션 키로 복호하여 상기
클라이언트를 인증하는 클라이언트 인증부;를 포함하는 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 통
합 인증을 위한 인증 서버.
청구항 39
제 38항에 있어서,
상기 인증 수단 확인부에서 확인된 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단, 생체 정
보 기반의 인증 수단 중 하나 이상인 것을 특징으로 하는 다중 인증 수단을 가진 시스템의 통합 인증을 위한 인
증 서버.
청구항 40
삭제
명 세 서
발명의 상세한 설명
발명의 목적
발명이 속하는 기술 및 그 분야의 종래기술
본 발명은 다중 인증 수단(multi-authentication means)을 가지는 시스템의 통합 사용자 인증(user<8>
authentication) 서버, 클라이언트 및 방법에 관한 것으로, 더욱 상세하게는 클라이언트-서버 환경에서 인증서
(certificate), 패스워드, 생체 정보(bio information)와 같은 다양한 사용자 인증 수단을 안전성(security)을
확보한 상태로 사용할 수 있도록 하는 통합 사용자 인증 서버, 클라이언트 및 그에 적용되는 인증 프로토콜에
관한 것이다.
일반적으로 사용자 인증 수단으로 사용되는 인증서, 패스워드, 생체 정보는 각각의 특성으로 인해 안전성을 확<9>
보하기 위한 각각의 사용자 인증 프로토콜이 요구된다. 인증서를 이용한 인증은 공개키(public key) 방식에 의
한 서명(signature)을 이용하여 프로토콜을 설계하며, 패스워드는 일반적으로 추측이 쉬우므로 공격자들이 패스
워드를 추측하지 못하도록 하는 방식으로 인증 프로토콜을 설계하게 된다. 또한 생체 정보는 그 특성으로 인해
보통 안전한 채널을 먼저 형성하고, 그 채널을 통해 생체 정보를 전송하는 형태로 인증을 제공하게 된다.
인증 프로토콜을 안전하게 설계하는 것은 이러한 각각의 인증 수단의 특성을 이해하고, 도청이나 정당한 사용자<10>
로의 위장 공격(spoofing)을 포함한 여러 가지 다양한 공격 방식에 대비하여 안전성을 추구하는 것이다. 특히,
- 9 -
등록특허 10-0842267
양단에 있는 인증 주체의 중간에서 패킷을 가로채거나, 수정 또는 주입하여 불법적인 접근을 시도하는 공격에
대한 안전성이 매우 중요하게 여겨지고 있다. 근래에는 피싱(phishing) 사이트 등이 등장하여 정당한 웹 사이트
로 가장하는 경우와 정당한 서버로 위장하는 경우가 빈번히 발생하므로 이에 대한 안전성도 해결해야 할 중요한
보안 요구사항이다.
한편 기존에 여러 가지 인증 프로토콜을 함께 사용하기 위한 프로토콜로써 IETF(Internet Engineering Task<11>
Force)에서 제안된 확장 가능 인증 프로토콜(Extensible Authentication Protocol, EAP)가 있으나, 이것은 각
각의 인증 프로토콜을 담기 위한 컨테이너의 역할을 할 뿐 그 자체가 인증 프로토콜이 아니다. 따라서 생체 정
보와 같은 인증 수단을 이용할 수 있는 방법을 제공하지 못한다.
발명이 이루고자 하는 기술적 과제
본 발명이 이루고자 하는 기술적 과제는, 다양한 사용자 인증 수단을 선택적으로 사용할 수 있는 인증 서버 및<12>
클라이언트를 제공하는 것이다.
또한 본 발명이 이루고자 하는 기술적 과제는, 다중 인증 수단을 가지는 시스템에서 각각의 인증 수단에 따른<13>
안전성을 해치지 않는 통합 사용자 인증 프로토콜을 정의하고, 인증 서버 및 클라이언트에서의 적용 방법을 제
공하는 것이다.
또한 본 발명이 이루고자 하는 기술적 과제는, 다중 인증 수단을 가지는 통합 인증 시스템에서 사용자가 인증서<14>
기반의 인증 수단을 선택하는 경우, 인증서 방식의 안전성을 해치지 않는 인증 방법을 제공하는 것이다.
또한 본 발명이 이루고자 하는 기술적 과제는, 다중 인증 수단을 가지는 통합 인증 시스템에서 사용자가 패스워<15>
드 기반의 인증 수단을 선택하는 경우, 패스워드 방식의 안전성을 해치지 않는 인증 방법을 제공하는 것이다.
또한 본 발명이 이루고자 하는 기술적 과제는, 다중 인증 수단을 가지는 통합 인증 시스템에서 사용자가 생체<16>
정보 기반의 인증 수단을 선택하는 경우, 생체 정보 방식의 안전성을 해치지 않는 인증 방법을 제공하는
것이다.
발명의 구성 및 작용
상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 클라이언트에서<17>
의 통합 인증 방법은, (a) 서버의 공개키 인증서를 기초로 상기 서버의 서명을 인증하고, 상기 서명을 기초로
상기 서버가 가진 값과 동일한 세션 키를 생성하는 단계; (b) 클라이언트의 인증에 사용될 인증 수단을 선택하
는 단계; 및 상기 (b) 단계에서 선택된 인증 수단에 사용되는 정보들을 상기 (a) 단계에서 생성된 세션 키로 암
호화하여 상기 클라이언트의 인증을 요청하는 단계;를 포함한다.
바람직하게는, 상기 (b) 단계에서 선택된 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단 및<18>
생체 정보 기반의 인증 수단 중 하나 이상이다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 클라이언트<19>
에서의 인증서 기반 인증 방법은, (a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스
템에서 서버 인증 과정을 마친 사용자가 인증서 기반의 인증 수단을 선택하여 인증을 시도할 때, 상기 인증서
기반의 인증 수단에서 사용되는 정보들을 상기 서버 인증 과정에서 생성한 세션 키로 암호화하여 암호값을 생성
하는 단계; 및 (b) 인증 수단이 인증서 기반의 인증 수단인 것을 알리는 메시지 및 상기 암호값을 상기 서버로
전송하는 단계;를 포함한다.
바람직하게는, 상기 인증서 기반의 인증 수단에서 사용되는 정보들은, 상기 클라이언트의 사용자 아이디(ID),<20>
상기 클라이언트의 공개키 인증서, 및 상기 클라이언트의 개인키로 서명한 서명을 포함한다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 클라이언트<21>
에서의 패스워드 기반 인증 방법은, (a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시
스템에서 서버 인증 과정을 마친 사용자가 패스워드 기반의 인증 수단을 선택하여 인증을 시도할 때, 인증 수단
이 패스워드 기반의 인증 수단인 것을 알리는 메시지, 및 상기 클라이언트의 사용자 아이디를 상기 서버 인증
과정에서 생성한 세션 키로 암호화한 제 1 암호값을 생성하여 상기 서버로 전송하는 단계; (b) 상기
서버로부터, 상기 클라이언트의 사용자 아이디에 해당하는 검증자를 연산하여 얻은 제 1 연산값을 상기 세션 키
로 암호화한 제 2 암호값을 수신하는 단계; 및 (c) 상기 제 2 암호값을 복호하여 얻은 제 1 연산값을 이용하여
연산한 제 2 연산값을 상기 세션 키로 암호화한 제 3 암호값을 생성하여 상기 서버로 전송하는 단계;를 포함한
- 10 -
등록특허 10-0842267
다.
바람직하게는 상기 검증자는 상기 클라이언트의 패스워드를 해시 연산한 값을 이용하여 생성되어, 상기 클라이<22>
언트의 사용자 아이디와 함께 상기 서버의 데이터 베이스에 미리 저장되어 있는 값이다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 클라이언트<23>
에서의 생체 정보 기반 인증 방법은, (a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는
시스템에서 서버 인증 과정을 마친 사용자가 생체 정보 기반의 인증 수단을 선택하여 인증을 시도할 때, 상기
생체 정보 기반의 인증 수단에서 사용되는 정보들을 상기 서버 인증 과정에서 생성한 세션 키로 암호화하여 암
호값을 생성하는 단계; 및 (b) 인증 수단이 생체 정보 기반의 인증 수단인 것을 알리는 메시지 및 상기 암호값
을 상기 서버로 전송하는 단계;를 포함한다.
바람직하게는, 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들은, 상기 클라이언트의 사용자 아이디와<24>
일대일 대응되는 인덱스 아이디; 및 상기 클라이언트의 사용자 아이디 및 사용자의 생체 정보인 제 1 생체 정보
를 이용하여 생성한 제 2 생체 정보;를 포함한다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 서버에서의<25>
통합 인증 방법은, (a) 인증 절차 시작을 요청하는 클라이언트에게 서버의 공개키 인증서를 기초로 한 서명의
인증을 요청하고, 상기 서명을 기초로 상기 클라이언트가 가진 값과 동일한 세션 키를 생성하는 단계; (b) 상기
클라이언트의 인증에 사용될 인증 수단을 확인하는 단계; 및 (c) 상기 (b) 단계에서 확인된 인증 수단에 사용되
는 정보들을 상기 세션 키로 암호화한 암호값을 상기 (a) 단계에서 생성된 세션 키로 복호하여 상기 클라이언트
를 인증하는 단계;를 포함한다.
바람직하게는, 상기 (b) 단계에서 확인된 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단 및<26>
생체 정보 기반의 인증 수단 중 하나 이상이다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 서버에서의<27>
인증서 기반 인증 방법은, (a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서
서버 인증 과정을 마친 사용자가 인증서 기반의 인증 수단을 선택하여 인증을 시도할 때, 상기 클라이언트로부
터, 상기 인증서 기반의 인증 수단에서 사용되는 정보들을 상기 서버 인증 과정에서 생성된 세션 키로 암호화한
암호값을 수신하는 단계; (b) 상기 암호값을 상기 세션 키로 복호하여 상기 클라이언트의 개인키로 서명한 서명
을 추출하는 단계; 및 (c) 상기 추출된 서명을 상기 클라이언트의 공개키로 검증하는 단계;를 포함한다.
바람직하게는, 상기 인증서 기반의 인증 수단에서 사용되는 정보들은, 상기 클라이언트의 사용자 아이디(ID),<28>
상기 클라이언트의 공개키 인증서, 및 상기 클라이언트의 개인키로 서명한 서명을 포함한다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 서버에서의<29>
패스워드 기반 인증 방법은, (a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에
서 서버 인증 과정을 마친 사용자가 패스워드 기반의 인증 수단을 선택하여 인증을 시도할 때, 상기 클라이언트
로부터, 상기 클라이언트의 사용자 아이디를 상기 세션 키로 암호화한 제 1 암호값을 수신한 후, 상기 서버 인
증 과정에서 생성된 세션 키를 이용하여 복호하는 단계; (b) 상기 클라이언트의 사용자 아이디에 해당하는 검증
자를 상기 서버의 데이터 베이스에서 검색하는 단계; (c) 상기 검색된 검증자를 연산하여 제 1 연산값을 생성하
는 단계; (d) 상기 제 1 연산값을 상기 세션 키로 암호화하여 생성한 제 2 암호값을 상기 클라이언트로 송신하
는 단계; (e) 상기 클라이언트로부터, 상기 제 2 암호값을 기초로 생성된 제 2 연산값을 상기 세션 키로 암호화
한 제 3 암호값을 수신한 후, 상기 세션 키를 이용하여 복호하는 단계; 및 (f) 상기 복호된 제 2 연산값을 검증
하는 단계;를 포함한다.
바람직하게는, 상기 검증자는 상기 클라이언트의 패스워드를 해시 연산한 값을 이용하여 생성되어, 상기 클라이<30>
언트의 사용자 아이디와 함께 상기 서버의 데이터 베이스에 미리 저장되어 있는 값이다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 서버에서의<31>
생체 정보 기반 인증 방법은, (a) 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에
서 서버 인증 과정을 마친 사용자가 패스워드 기반의 인증 수단을 선택하여 인증을 시도할 때, 상기 클라이언트
로부터, 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들을 상기 서버 인증 과정에서 생성된 세션 키로
암호화한 암호값을 수신하는 단계; (b) 상기 암호값을 복호하여 상기 생체 정보 기반의 인증 수단에서 사용되는
정보들을 추출하는 단계; (c) 상기 추출된 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들을 이용하여
사용자의 생체 정보인 제 1 생체 정보를 계산하는 단계; 및 (d) 상기 계산된 제 1 생체 정보가 상기 서버의 데
- 11 -
등록특허 10-0842267
이터 베이스에 미리 저장된 정보와 일치하는지 여부를 검증하는 단계;를 포함한다.
바람직하게는, 상기 생체 정보 기반의 인증 수단에서 사용되는 정보들은, 상기 클라이언트의 사용자 아이디와<32>
일대일 대응되는 인덱스 아이디; 및 상기 클라이언트의 사용자 아이디 및 상기 제 1 생체 정보를 이용하여 생성
한 제 2 생체 정보;를 포함한다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 통합 인증<33>
을 위한 클라이언트는, 서버의 공개키 인증서를 기초로 상기 서버의 서명을 인증하고, 상기 서명을 기초로 상기
서버가 가진 값과 동일한 세션 키를 생성하는 서버 인증부; 클라이언트의 인증에 사용될 인증 수단을 선택하는
인증 수단 선택부; 및 상기 선택된 인증 수단에 사용되는 정보들을 상기 세션 키로 암호화하여 상기 클라이언트
의 인증을 요청하는 클라이언트 인증 요청부;를 포함한다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 시스템의 통합 인증<34>
을 위한 서버는, 인증 절차를 시작을 요청하는 클라이언트에게 서버의 공개키 인증서를 기초로 한 서명의 인증
을 요청하고, 상기 서명을 기초로 상기 클라이언트가 가진 값과 동일한 세션 키를 생성하는 서버 요청 인증부;
상기 클라이언트의 인증에 사용될 인증 수단을 확인하는 인증 수단 확인부; 및 상기 확인된 인증 수단에 사용되
는 정보들을 상기 세션 키로 암호화한 암호값을 상기 세션 키로 복호하여 상기 클라이언트를 인증하는 클라이언
트 인증부;를 포함한다.
또한 상기와 같은 기술적 과제를 달성하기 위한, 본 발명에 따르는 다중 인증 수단을 가진 통합 인증 시스템은,<35>
서버의 공개키 인증서를 기초로 상기 서버의 서명을 인증하고, 상기 서명을 기초로 상기 서버가 가진 값과 동일
한 세션 키를 생성하는 서버 인증부; 클라이언트의 인증에 사용될 인증 수단을 선택하는 인증 수단 선택부; 및
상기 선택된 인증 수단에 사용되는 정보들을 상기 세션 키로 암호화하여 상기 클라이언트의 인증을 요청하는 클
라이언트 인증 요청부;를 포함하는 클라이언트와, 인증 절차를 시작을 요청하는 상기 클라이언트에게 상기 서버
의 공개키 인증서를 기초로 한 상기 서명의 인증을 요청하고, 상기 서명을 기초로 상기 클라이언트가 가진 값과
동일한 세션 키를 생성하는 서버 인증 요청부; 상기 클라이언트의 인증에 사용될 인증 수단을 확인하는 인증 수
단 확인부; 및 상기 확인된 인증 수단에 사용되는 정보들을 상기 세션 키로 암호화한 암호값을 상기 세션 키로
복호하여 상기 클라이언트를 인증하는 클라이언트 인증부;를 포함하는 인증 서버,를 포함한다.
이하에서, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. <36>
도 1은 본 발명의 일실시예에 따른 다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인증 방법을 나타낸<37>
흐름도이고, 도 2는 본 발명의 일실시예에 따른 다중 인증 수단을 가진 시스템의 서버에서의 통합 인증 방법을
나타낸 흐름도이다.
도 1 및 도 2를 참조하면, 본 발명은 우선 서버 인증(server authentication) 과정을 수행하고, 서버 인증 과정<38>
에서 생성된 세션 키(session key)를 이용하여 각 인증 수단에 적합한 클라이언트 인증(client
authentication)을 수행하는 것을 알 수 있다.
도 1을 참조하면, 본 발명의 따른 클라이언트에서의 통합 인증 방법은, 서버 인증 단계(S110), 클라이언트 인증<39>
수단 선택 단계(S120), 클라이언트 인증 요청 단계(S130)를 포함한다.
더욱 상세하게는, 우선 클라이언트는 서버의 공개키 인증서(public key certificate)를 기초로 서버의 서명<40>
(signature)을 인증하고, 이 서명을 기초로 서버가 가진 값과 동일한 세션 키를 생성한다(S110). 바람직하게는,
세션 키는, 서명의 인증을 위해 교환되는 디피-헬먼 (Diffie-Hellman) 공개값을 이용하여 생성된다. 서버 인증
단계에 대하여는 도 3에서 더욱 상세히 설명한다.
다음으로, 클라이언트를 통하여 인증을 시도하는 사용자는 클라이언트의 인증에 사용될 인증 수단을 선택한다<41>
(S120). 바람직하게는, 선택할 수 있는 인증 수단은 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단 및
생체 정보 기반의 인증 수단 중 하나 이상이다.
다음으로는, 앞서 선택된 인증 수단에 사용되는 정보들을 서버 인증 과정에서 생성된 세션 키로 암호화하여 서<42>
버에게 클라이언트의 인증을 요청한다(S130). 이때, 사용자가 선택한 인증 수단에 적합하게 클라이언트 인증 과
정을 수행한다. 각 인증 수단에 따른 인증 과정(S131 내지 S133)은 후술할 해당 수단에 대한 도면의 설명을 참
조한다.
마지막으로 클라이언트의 인증이 완료되면, 기존의 세션 키 K를 폐기하고, 새로운 인증 절차에 사용되는 데이터<43>
보호를 위한 새로운 세션 키 SK를 재생성하는 단계(S140)을 더 포함할 수 있다. 더욱 상세하게는, 클라이언트
- 12 -
등록특허 10-0842267
인증 과정이 모두 끝나면, 인증 후 일어나는 서비스 데이터를 보호하기 위하여 새로운 서비스 데이터 보호용 키
를 다음과 같이 생성하고, 인증 과정에 사용되던 세션 키 K는 폐기한다.
SK = Hash(clientID, K)<44>
즉, 클라이언트의 사용자 아이디인 'clientID'와 기존의 세션 키 K를 해시 연산하여 새로운 세션 키 SK를 얻을<45>
수 있다.
도 2을 참조하면, 본 발명의 따른 서버에서의 통합 인증 방법은, 서버 인증 요청 단계(S210), 클라이언트 인증<46>
수단 확인 단계(S220), 클라이언트 인증 단계(S230)를 포함한다.
더욱 상세하게는, 우선 인증 절차 시작을 요청하는 클라이언트에게 서버의 공개키 인증서를 기초로 한 서명의<47>
인증을 요청하고, 이 서명을 기초로 클라이언트가 가진 값과 동일한 세션 키를 생성한다(S210). 바람직하게는
이 세션 키는, 서명의 인증을 위해 교환되는 디피-헬먼(Diffie-Hellman) 공개값을 이용하여 생성된다. 서버 인
증 요청 단계에 대하여는 도 3에서 더욱 상세히 설명한다.
다음으로 클라이언트의 인증에 사용될 인증 수단을 확인한다(S220). 바람직하게는 확인된 인증 수단은 인증서<48>
기반의 인증 수단, 패스워드 기반의 인증 수단 및 생체 정보 기반의 인증 수단 중 하나 이상이다.
다음으로 확인된 인증 수단에 사용되는 정보들을 세션 키로 암호화한 암호값을 생성된 세션 키로 복호하여 클라<49>
이언트를 인증한다(S230). 이때, 사용자가 선택한 인증 수단에 적합하게 클라이언트 인증 과정을 수행한다. 각
인증 수단에 따른 인증 과정(S231 내지 S233)은 후술할 해당 수단에 대한 도면의 설명을 참조한다.
마지막으로 클라이언트의 인증이 완료되면, 기존의 세션 키 K를 폐기하고, 새로운 인증 절차에 사용되는 데이터<50>
보호를 위한 새로운 세션 키 SK를 재생성하는 단계(S240)을 더 포함할 수 있다. 이에 대한 설명은 클라이언트에
서와 같다.
이상의 실시예에서 서버 인증이 이루어진 후에 인증 수단의 선택이 이루어지는 예를 설명하였으나, 인증 수단의<51>
선택이 먼저 이루어진 후 서버 인증이 이루어 지는 것도 가능하다. 이 경우는 후술할 서버 인증 과정에서 클라
이언트가 시작 메시지와 함께 자신의 인증 수단을 통지하는 방법이 사용될 수 있다.
도 3은 본 발명의 일실시예에 따른 서버 인증 과정을 나타낸 도면이다. 한편 이하의 도면에서 "mod p"를 표시하<52>
지 않더라도 모든 디피-헬먼 공개값, 세션 키, 검증자 및 연산값은 모듈러(modular) p 상에서 이루어지는 것이
다.
도 3을 참조하면, 클라이언트는 서버에게 인증 프로토콜을 시작을 알리는 시작 메시지 'Hello_Server'를 보낸다<53>
(S301). 시작 메시지를 수신하면, 서버는 난수 발생기를 통하여 난수(random number)인 쿠키(cookie) 'Cookie
B'를 생성한다(S302). 그리고 서버는 시작 메시지에 대한 응답 메시지 'Hello_Client'와 'CookieB'를 클라이언
트에게 보내고, 'CookieB'를 잠시 저장해 둔다(S303).
클라이언트는 수신한 서버의 'CookieB'를 그대로 복사해두고, 안전한 큰 소수(prime number) p (p = 2q 1, q<54>
도 역시 큰 소수)를 가지는 갈로아(Galoa) 필드 GF(p)상에서 0 < x < p - 2 인 클라이언트 측 비밀 정수
(secrete integer) x 를 선택하여 클라이언트 측 디피-헬먼(Diffie-Hellman) 공개값인 'g
x
mod p' 를 계산한다
(S304). 이때 g 는 GF(p)상의 원시원소(generator)이다. 클라이언트는 복사해 둔 'CookieB'와 'g
x
mod p'를 서
버에게 전송한다(S305).
이러한 쿠키 교환 과정은 클라이언트의 서비스 거부 공격(Denial of Service)의 일종인 세션 범람 공격(session<55>
flooding attack)을 막기 위한 것이다. 본 발명의 인증 과정이 클라이언트의 인증 없이 서버 인증이 먼저 일어
나는 구조이므로, 클라이언트를 가장한 공격자가 세션 범람 공격을 하여 서버의 자원이나 파워를 소모시킬 수
있다. 따라서, 클라이언트가 그냥 세션 범람 공격을 하지 못하고 서버가 제공하는 쿠키를 받아서 다음 라운드에
포함하도록 함으로써, 프로토콜에 강제적으로 참여하도록 하는 것이다. 이렇게 함으로서 어느 정도의 세션 범람
공격을 예방할 수 있는 효과를 가진다.
서버는 수신한 'CookieB'가 자신이 보낸 'CookieB'가 맞는지 검증하고(S306), 0 < y < p - 2 인 서버측 비밀 정<56>
수 y 를 선택하여 서버 측 디피-헬먼 공개값인 'g
y
mod p'를 계산한다(S307). 그리고, 서버는 이미 알고 있는
값들을 해시(hash) 연산하여 해시 값 'Hash(serverID, g
x
, g
y
)'를 구하고, 이 해시 값을 자신의 공개키 인증서
- 13 -
등록특허 10-0842267
인 'CertB'에 해당하는 자신의 비밀키로 서명하여 생성한 서명 'SIGB{Hash(serverID, g
x
, g
y
)}'를 생성한다
(S308). 그리고 서버는 클라이언트가 어떤 인증 수단을 원하는지를 묻는 질의(query) 'REQ_AUTH'와 함께
'CertB', 'g
y
' 및 'SIGB{Hash(serverID, g
x
, g
y
)}'를 클라이언트에게 전송한다(S309). 그리고, 알고 있는 값 y
및 'g
x
mod p'를 이용하여 다음 식을 이용하여 세션 키 K를 계산한다(S310).
K = g
xy
mod p<57>
클라이언트는 서버의 메시지를 받으면 서버의 공개키 인증서 'CertB'를 이용하여 서명 'SIGB{Hash(serverID, g
x
,<58>
g
y
)}'를 검증한다(S311). 서명이 정당하면, 서버와 마찬가지로 자신이 선택한 비밀 정수 x 및 서버가 보내온 'g
y
mod p'를 이용하여 다음과 같이 서버와 동일한 식을 이용하여 세션 키 K를 계산한다(S312).
K = g
xy
mod p<59>
이상의 과정에서 클라이언트는 서버를 인증하면서 서버와 세션 키 K를 공유하게 된다. <60>
이상의 서버 인증 과정을 서버와 클라이언트의 측면에서 각각 살펴본다.<61>
우선 서버 인증 과정을 수행하는 클라이언트에서의 인증 과정은, 서버에게 인증 프로토콜을 시작하는 시작 메시<62>
지를 송신하는 단계, 서버로부터 상기 시작 메시지에 대한 응답 메시지 및 난수 발생기를 통하여 생성된 쿠키
(Cookie)를 수신하는 단계, 클라이언트 측 디피-헬먼 공개값을 계산하여 수신한 쿠키와 함께 서버로 송신하는
단계, 서버로부터, 서버 측 디피-헬먼 공개값을 포함하여 서명된 서명을 수신하여 검증하는 단계, 및 클라이언
트 측 디피-헬먼 공개값을 계산하는데 사용된 클라이언트 측 비밀 정수 및 서버 측 디피-헬먼 공개값을 기초로
세션 키를 생성하는 단계를 포함한다.
그리고 서버 인증 과정을 수행하는 서버에서의 인증 과정은, 클라이언트로부터, 인증 프로토콜을 시작하는 시작<63>
메시지를 수신하는 단계, 시작 메시지에 대한 응답 메시지 및 난수 발생기를 사용하여 생성한 쿠키(Cookie)를
클라이언트로 송신하는 단계, 클라이언트로부터, 클라이언트 측 디피-헬먼 공개값 및 상기 클라이언트가 재전송
한 쿠키를 수신하여 재전송된 쿠키를 검증하는 단계, 서버의 공개키 인증서를 기초로, 서버 측 디피-헬먼 공개
값을 포함하는 서명을 생성한 후, 클라이언트로 송신하여 서버 인증을 요청하는 단계, 및 서버 측 디피-헬먼 공
개값을 계산하는데 사용된 서버 측 비밀 정수 및 클라이언트 측 디피-헬먼 공개값을 기초로 세션 키를 생성하는
단계를 포함한다.
서버 인증 과정이 끝나면 클라이언트는 자신이 선호하는 인증 수단을 선택하여 클라이언트 인증 과정을 수행한<64>
다. 지금부터는 각 인증 수단별 클라이언트 인증 과정의 실시예들을 살펴본다.
도 4는 본 발명의 다른 실시예에 따른 다중 인증 수단을 가진 시스템에서의 인증서 기반의 클라이언트 인증 방<65>
법을 나타낸 도면이다. 즉, 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에서 서
버 인증 과정을 마친 사용자가 인증서 기반의 인증 수단을 선택하여 클라이언트의 인증을 수행하는 방법을 나타
낸 것이다. 이때 클라이언트와 서버는 이미 서버 인증 과정 중에서 협상한 세션 키 K를 알고 있다.
도 4를 참조하면, 먼저 클라이언트는 자신의 사용자 아이디(ID)인 'clientID'와 서버 인증 과정에서 수신한 서<66>
버 측 디피-헬만 공개값 'g
y
mod p'를 해시 연산하여 해시값 'Hash(clientID, g
y
)'을 얻은 후, 이 해시값을 자
신의 개인키로 서명하여 서명 'SIGA{Hash(clientID, g
y
)'를 생성한다(S401). 그리고 'clientID', 클라이언트의
공개키 인증서 'CertA', 및 서명 'SIGA{Hash(clientID, g
y
)'을 세션 키 K로 암호화하여 암호값 'ENCK[ID, CertA,
SIGA{Hash(clientID, g
y
)}]'를 생성한다(S402). 그리고, 자신이 선택한 인증 수단이 인증서 기반의 인증 수단임
을 가리키는 'CERT' 메시지와 함께 'clientID', 'CertA', 및 암호값 'ENCK[ID, CertA, SIGA{Hash(clientID,
g
y
)}]'을 서버에게 송신한다(S403).
서버는 메시지를 받으면 'CERT' 메시지로부터 인증서를 이용한 클라이언트 인증을 수행해야 한다는 사실을 알게<67>
되며, 세션 키 K로 'ENCK[ID, CertA, SIGA{Hash(clientID, g
y
)}]'를 복호한다(S404). 그리고, 복호된 정보에서
- 14 -
등록특허 10-0842267
클라이언트의 서명 SIGA{Hash(clientID, g
y
)}을 추출하여(S405), 함께 추출된 'CertA'를 이용하여 서명을 검증한
다(S406). 서명에 이상이 없으면, 인증 성공을 알리는 인증 성공 메시지 'SUCCESS'를 생성하여(S407) 클라이언
트에게 보낸다(S408).
클라이언트는 'SUCCESS'를 수신함으로써 자신이 서버에게 인증되었음을 알 수 있다.<68>
이상의 인증서 기반의 클라이언트의 인증 과정을 서버와 클라이언트의 측면에서 각각 살펴본다.<69>
우선 인증서 기반의 클라이언트에서의 인증 과정은, 인증서 기반의 인증 수단에서 사용되는 정보들을 서버 인증<70>
과정에서 생성한 세션 키로 암호화하여 암호값을 생성하는 단계, 및 인증 수단이 인증서 기반의 인증 수단인 것
을 알리는 메시지 및 암호값을 서버로 전송하는 단계를 포함한다.
그리고 인증서 기반의 서버에서의 인증 과정은, 클라이언트로부터, 인증서 기반의 인증 수단에서 사용되는 정보<71>
들을 서버 인증 과정에서 생성된 세션 키로 암호화한 암호값을 수신하는 단계, 암호값을 세션 키로 복호하여 클
라이언트의 개인키로 서명한 서명을 추출하는 단계, 및 추출된 서명을 클라이언트의 공개키로 검증하는 단계를
포함한다.
서버와 클라이언트 모두에 있어서, 바람직하게는, 인증서 기반의 인증 수단에서 사용되는 정보들은, 클라이언트<72>
의 사용자 아이디(ID), 클라이언트의 공개키 인증서, 및 클라이언트의 개인키로 서명한 서명을 포함한다. 바람
직하게는, 서명은 클라이언트의 사용자 아이디 및 서버 측 디피-헬먼 공개값을 해시 연산하여 얻은 해쉬값을,
클라이언트의 개인키로 서명한 값이다. 바람직하게는, 클라이언트의 사용자 아이디와 일대일 대응되는 인덱스
아이디를 클라이언트의 사용자 아이디 대신 전송하여, 사용자 아이디를 노출하지 않도록 한다. 바람직하게는,
인증되었음을 알리는 인증 성공 메시지를 서버와 클라이언트가 송신/수신하는 단계를 더 포함한다.
도 5는 본 발명의 또 다른 실시예에 따른 다중 인증 수단을 가진 시스템에서의 패스워드 기반의 클라이언트 인<73>
증 방법을 나타낸 도면이다. 즉, 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에
서 서버 인증 과정을 마친 사용자가 패스워드 기반의 인증 수단을 선택하여 클라이언트의 인증을 수행하는 방법
을 나타낸 것이다. 이때 클라이언트와 서버는 이미 서버 인증 과정 중에서 협상한 세션 키 K를 알고 있다.
도 5를 참조하면, 본 발명에 따른 인증 프로토콜의 수행에 앞서 먼저 클라이언트와 서버 사이에 패스워드를 설<74>
정하기 위한 패스워드 설정(set up)이 필요하다. 이것은 인증 프로토콜의 수행 전에 미리 설정되어 있어야
한다. 즉, 클라이언트는 서버와의 패스워드 설정을 위해 패스워드 P의 해시값 'Hash(P)'를 구하고, 검증자 V를
아래의 식과 같이 계산하여 자신의 사용자 아이디 'clientID'와 함께 서버에 안전하게 등록해 두어야 한다.
V = g
-Hash(P)
mod p<75>
이제 패스워드 기반의 클라이언트 인증 과정을 위해, 클라이언트는 먼저 세션 키 K로 자신의 'clientID'를 암호<76>
화하여 제 1 암호값 'ENCK[clientID]'를 생성한다(S501). 그리고 제 1 암호값을 패스워드 기반의 클라이언트 인
증임을 알리는 'PWD' 메시지와 함께 서버로 보낸다(S502).
서버는 제 1 암호값 'ENCK[clientID]'를 세션 키 K로 복호화하여(S503) 'clientID'에 해당하는 검증자 V를 자신<77>
의 데이터베이스에서 검색한다(S504). 해당 클라이언트의 검증자가 검색되면, 0 < r < p - 2인 임의의 r값을 선
택하여 다음의 식에 의하여 제 1 연산값 X를 계산한다(S505).
X ≡ g
-Hash(P)·r
≡ V
r
mod p<78>
그리고 제 1 연산값 X를 K로 암호화하여 제 2 암호값 'ENCK[X]'를 생성하여(S506), 클라이언트로 전송한다<79>
(S507).
클라이언트는 제 2 암호값 'ENCK[X]'를 복호화하고(S508), 아래의 식에 의하여 제 2 연산값 Y를 계산한다<80>
(S509).
Y ≡ g
r
≡ X
Hash(P)
mod p <81>
그리고 제 2 연산값 Y를 K로 암호화하여 제 3 암호값 'ENCK[Y]'를 생성하여(S510), 서버로 보낸다(S511). <82>
서버는 제 3 암호값 'ENCK[Y]'를 복호화한 후(S512), 자신이 선택한 제 1 연산값 X를 계산하기 위하여 선택했던<83>
- 15 -
등록특허 10-0842267
r값으로 계산한 'g
r
mod p' 값과 복호된 제 2 연산값 Y가 일치하는지를 검사한다(S513). 만일 일치하면 인증 성
공을 알리는 인증 성공 메시지 'SUCCESS'를 생성하여(S514), 클라이언트에게 보낸다(S515).
클라이언트는 'SUCCESS'를 수신함으로써 자신이 서버에게 인증되었음을 알 수 있다.<84>
이상의 패스워드 기반의 클라이언트의 인증 과정을 서버와 클라이언트의 측면에서 각각 살펴본다.<85>
우선 패스워드 기반의 클라이언트에서의 인증 과정은, 인증 수단이 패스워드 기반의 인증 수단인 것을 알리는<86>
메시지, 및 클라이언트의 사용자 아이디를 서버 인증 과정에서 생성한 세션 키로 암호화한 제 1 암호값을 생성
하여 서버로 전송하는 단계, 서버로부터, 클라이언트의 사용자 아이디에 해당하는 검증자를 연산하여 얻은 제 1
연산값을 세션 키로 암호화한 제 2 암호값을 수신하는 단계, 및 제 2 암호값을 복호하여 얻은 제 1 연산값을 이
용하여 연산한 제 2 연산값을 세션 키로 암호화한 제 3 암호값을 생성하여 서버로 전송하는 단계를 포함한다.
그리고 패스워드 기반의 서버에서의 인증 과정은, 클라이언트로부터, 클라이언트의 사용자 아이디를 세션 키로<87>
암호화한 제 1 암호값을 수신한 후, 서버 인증 과정에서 생성된 세션 키를 이용하여 복호하는 단계, 클라이언트
의 사용자 아이디에 해당하는 검증자를 서버의 데이터 베이스에서 검색하는 단계, 검색된 검증자를 연산하여 제
1 연산값을 생성하는 단계, 제 1 연산값을 세션 키로 암호화하여 생성한 제 2 암호값을 클라이언트로 송신하는
단계, 클라이언트로부터, 제 2 암호값을 기초로 생성된 제 2 연산값을 세션 키로 암호화한 제 3 암호값을 수신
한 후, 세션 키를 이용하여 복호하는 단계, 및 복호된 제 2 연산값을 검증하는 단계를 포함한다. 바람직하게는,
복호된 제 2 연산값 Y 가 임의로 선택된 값 r 으로 계산한 g
r
mod p 값과 일치하는지 여부를 확인하여 제 2 연
산값 Y 를 검증한다.
서버와 클라이언트 모두에 있어서, 바람직하게는, 검증자는 클라이언트의 패스워드를 해시 연산한 값을 이용하<88>
여 생성되어, 클라이언트의 사용자 아이디와 함께 서버의 데이터 베이스에 미리 저장되어 있는 값이다. 바람직
하게는, 안전한 소수 p를 가지는 갈로아 필드 상의 원시 원소(generator)를 g, 상기 클라이언트의 패스워드 P를
해시 연산한 값을 Hash(P) 라고 할 때, 검증자 V 는 V = g
-Hash(P)
mod p 이다. 바람직하게는, 0 < r < p-2 를 만
족하도록 임의로 선택된 값을 r 이라고 할 때, 제 1 연산값 X 는 X ≡ g
-Hash(P) · r
≡ V
r
mod p 이고, 제 2 연산
값 Y 는 Y ≡ g
r
≡ X
Hash(P)
mod p 이다. 바람직하게는, 클라이언트의 사용자 아이디와 일대일 대응되는 인덱스
아이디를 클라이언트의 사용자 아이디 대신 전송하여, 사용자 아이디를 노출하지 않도록 한다. 바람직하게는,
인증되었음을 알리는 인증 성공 메시지를 서버와 클라이언트가 송신/수신하는 단계를 더 포함한다.
도 6은 본 발명의 또 다른 실시예에 따른 다중 인증 수단을 가진 시스템에서의 생체 정보 기반의 클라이언트 인<89>
증 방법을 나타낸 도면이다. 즉, 다중 인증 수단을 가지며 서버 인증을 거쳐 클라이언트 인증을 하는 시스템에
서 서버 인증 과정을 마친 사용자가 생체 정보 기반의 인증 수단을 선택하여 클라이언트의 인증을 수행하는 방
법을 나타낸 것이다. 이때 클라이언트와 서버는 이미 서버 인증 과정 중에서 협상한 세션 키 K를 알고 있다.
생체 정보의 특성상 사용자의 생체 정보는 한번 노출되면 재사용이 어렵기 때문에 보다 안전하게 관리되어야 한<90>
다. 따라서 본 발명에서는 클라이언트의 사용자 아이디 정보와 사용자의 생체 정보(제 1 생체 정보)의 배타적
논리합(exclusive-OR) 연산을 통해 제 2 생체 정보를 생성한 후, 이것을 암호화하여 전송하므로 사용자의 생체
정보가 더욱 안전하게 보호되도록 한다.
생체 정보를 이용한 클라이언트 인증을 위해 서버는 미리 사용자의 정보를 자신의 데이터 베이스에 안전하게 저<91>
장하고 있어야 한다. 저장되는 사용자 정보는 클라이언트 사용자 아이디를 가리키는 인덱스인 'indexID', 클라
이언트의 사용자 아이디 정보인 'clientID', 사용자의 생체 정보인 'BioInfo'이다.
도 6을 참조하면, 클라이언트는 자신의 'clientID'와 생체 정보측정기를 통해 측정된 제 1 생체 정보 'BioInf<92>
o'를 이용하여 다음과 같이 제 2 생체 정보 'bioD'를 생성한다(S601).
bioD = Bioinfo clientID <93>
그리고, 제 2 생체 정보 'bioD'와 'indexID'를 세션 키 K로 암호화하여 암호값 ENCK[indexID, bioD]를 생성한다<94>
(S602). 제 1 생체 정보 대신 제 2 생체 정보를, 'clientID' 대신에 'clientID'와 일대일 대응되는 'indexID'
를 암호화하는 것은 앞서 설명한 바와 같이 암호값 전송시 생체 정보의 노출을 피하여 생체 정보를 더욱 안전하
게 보호하기 위함이다.
- 16 -
등록특허 10-0842267
그리고 클라이언트는 인증을 위해 자신이 선택한 클라이언트 인증 수단이 생체 정보 기반의 인증 수단임을 알리<95>
는 'BIO' 메시지를 생성하여 암호값과 함께 서버로 전송한다(S603).
서버는 암호값 'ENCK[indexID, bioD]'를 세션 키 K로 복호화하고(S604), 복호화된 'indexID'를 이용하여 미리<96>
저장되어 있던 해당 사용자 정보('indexID', 'clientID', 'BioInfo')를 검색한다(S605). 복호된 제 2 생체 정
보 'bioD'와 검색된 클라이언트 사용자 아이디 'clientID'를 이용하여 다음의 식과 같이 제 1 생체 정보
'BioInfo'를 계산한다(S606). 이때 연산을 위해 필요하다면 'clientID' 정보에 대한 패딩 절차가 이루어질 수
있다.
BioInfo = bioD clientID<97>
서버는 위의 식으로 계산된 제 1 생체 정보 'BioInfo'가 자신의 데이터 베이스에서 검색된 'Bioinfo'와 동일한<98>
생체 정보인지를 비교한다(S607). 만일 동일한 생체 정보임이 확인되면 인증 성공을 알리는 인증 성공 메시지
'SUCCESS' 메시지를 생성하여(S608), 클라이언트에게 보낸다(S609).
클라이언트는 'SUCCESS'를 수신함으로써 자신이 서버에게 인증되었음을 알 수 있다.<99>
생체 정보 기반의 인증 수단을 이용한 클라이언트 인증 과정에 사용되는 'indexID'는 도 4 및 도 5에 설명한 인<100>
증서 기반 또는 패스워드 기반의 인증 수단을 이용한 클라이언트 인증 과정에 동일하게 사용될 수 있다. 이 경
우에는 전송되는 'clientID' 정보를 'indexID'로 모두 대체하고, 서버의 데이터 베이스에 'clientID'를
'indexID'와 일대일 대응시켜서 함께 저장하면 된다.
이상의 생체 정보 기반의 클라이언트의 인증 과정을 서버와 클라이언트의 측면에서 각각 살펴본다.<101>
우선 생체 정보 기반의 클라이언트에서의 인증 과정은, 생체 정보 기반의 인증 수단에서 사용되는 정보들을 서<102>
버 인증 과정에서 생성한 세션 키로 암호화하여 암호값을 생성하는 단계, 및 인증 수단이 생체 정보 기반의 인
증 수단인 것을 알리는 메시지 및 암호값을 서버로 전송하는 단계를 포함한다.
그리고 생체 정보 기반의 서버에서의 인증 과정은, 클라이언트로부터, 생체 정보 기반의 인증 수단에서 사용되<103>
는 정보들을 서버 인증 과정에서 생성된 세션 키로 암호화한 암호값을 수신하는 단계, 암호값을 복호하여 생체
정보 기반의 인증 수단에서 사용되는 정보들을 추출하는 단계, 추출된 생체 정보 기반의 인증 수단에서 사용되
는 정보들을 이용하여 사용자의 생체 정보인 제 1 생체 정보를 계산하는 단계, 및 계산된 제 1 생체 정보가 서
버의 데이터 베이스에 미리 저장된 정보와 일치하는지 여부를 검증하는 단계를 포함한다.
서버와 클라이언트 모두에 있어서, 바람직하게는, 생체 정보 기반의 인증 수단에서 사용되는 정보들은, 클라이<104>
언트의 사용자 아이디와 일대일 대응되는 인덱스 아이디, 및 클라이언트의 사용자 아이디 및 제 1 생체 정보를
이용하여 생성한 제 2 생체 정보를 포함한다. 바람직하게는, 제 1 생체 정보는, 인덱스 아이디를 이용하여 찾은
클라이언트의 사용자 아이디와 제 2 생체 정보의 배타적 논리합(exclusive-OR) 연산을 통하여 계산된다. 바람직
하게는, 인증되었음을 알리는 인증 성공 메시지를 서버와 클라이언트가 송신/수신하는 단계를 더 포함한다.
도 7은 본 발명의 또 다른 실시예에 따른 다중 인증 수단을 가진 통합 인증 클라이언트, 서버 및 시스템의 구성<105>
을 나타낸 도면이다.
도 7을 참조하면, 본 발명에 따르는 다중 인증 수단을 가진 통합 인증 시스템은 통합 인증 시스템을 위한 클라<106>
이언트(710)와 서버(720)를 포함한다.
본 발명에 따른 클라이언트(710)는 서버 인증부(711), 인증 수단 선택부(712) 및 클라이언트 인증 요청부(713)<107>
를 포함한다.
서버 인증부(711)은 서버(720)의 공개키 인증서를 기초로 서버(720)의 서명을 인증하고, 이 서명을 기초로 서버<108>
(720)가 가진 값과 동일한 세션 키를 생성한다. 바람직하게는, 세션 키는, 서명의 인증을 위해 교환되는 디피-
헬먼(Diffie-Hellman) 공개값을 이용하여 생성된다.
인증 수단 선택부(712)는 클라이언트(710)의 인증에 사용될 인증 수단을 선택한다. 바람직하게는 인증 수단 선<109>
택부(712)에서 선택한 인증 수단은 인증서 기반의 인증 수단(713a), 패스워드 기반의 인증 수단(713b), 생체 정
보 기반의 인증 수단(713c) 중 하나 이상이다.
클라이언트 인증 요청부(713)은 선택된 인증 수단에 사용되는 정보들을 세션 키로 암호화하여 클라이언트(71<110>
- 17 -
등록특허 10-0842267
0)의 인증을 요청하여 클라이언트 인증 및 전체 인증 과정을 완료한다.
본 발명에 따른 서버(720)는 서버 인증부 요청부(721), 인증 수단 확인부(722) 및 클라이언트 인증부(723)를 포<111>
함한다.
서버 인증 요청부(721)는 인증 절차를 시작을 요청하는 클라이언트(710)에게 서버(720)의 공개키 인증서를 기초<112>
로 한 서명의 인증을 요청하고, 이 서명을 기초로 클라이언트(710)가 가진 값과 동일한 세션 키를 생성한다. 바
람직하게는, 이 세션 키는 서명의 인증을 위해 교환되는 디피-헬먼 공개값을 이용하여 생성된다.
인증 수단 확인부(722)는 클라이언트(710)의 인증에 사용될 인증 수단을 확인한다. 즉, 인증 수단 선택부(712)<113>
에서 선택된 인증 수단을 확인하는 것이다. 바람직하게는 인증 수단 확인부(722)에서 확인되는 인증 수단은 인
증서 기반의 인증 수단(723a), 패스워드 기반의 인증 수단(723b), 생체 정보 기반의 인증 수단(723c) 중 하나
이상이다.
클라이언트 인증부(723)는 확인된 인증 수단을 이용하여 인증을 수행한다. 즉, 확인된 인증 수단에 사용되는<114>
정보들을 세션 키로 암호화한 암호값을 동일한 세션 키로 복호하여 클라이언트(710)를 인증한다.
도 7의 클라이언트(710), 서버(720) 및 시스템의 더욱 상세한 인증 과정은 도 1 내지 도 6을 참조한다.<115>
이상의 실시예들에서 인증 수단이 인증서 기반의 인증 수단, 패스워드 기반의 인증 수단 및 생체 정보 기반의<116>
인증 수단인 경우만 설명하였으나, 이에 한정되는 것은 아니며, 본 발명의 방법 및 시스템에 다른 인증 수단이
적용될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.<117>
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기
록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크,
광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도
포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로
컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통<118>
상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될
수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고
려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등 및 균등한
범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
발명의 효과
본 발명에 따르면, 사용자는 인증서, 패스워드, 생체 정보 등 다중 인증 수단 중에서 자신이 선호 또는 편리한<119>
인증 수단을 선택하여 사용할 수 있다. 특히, 이렇게 다양한 인증 수단을 이용하더라도 각 인증 수단의 안전성
을 해치지 않는 효과가 있다.
또한 본 발명에 따르면, 다양한 인증 수단을 이용하더라도 각 인증 수단으로 인한 취약점을 제거함으로써 여전<120>
히 강한 안전성을 유지할 수 있다.
또한 본 발명에 따르면, 패스워드의 경우는 서버의 데이터 베이스가 해킹(hacking)되는 경우에도 사용자의 패스<121>
워드 정보가 노출되지 않는 효과가 있다.
또한 본 발명에 따르면, 다양한 인증 수단을 가진 통합 사용자 인증 프로토콜을 제공하여, 홈 네트워크 산업과<122>
같이 노인이나 어린이 등 IT 환경에 익숙하지 않은 사용자가 많은 상황에서도 쉽고 안전한 보안 서비스를 선택
적으로 제공할 수 있으므로 산업적 활용도를 크게 높이는 효과가 있다.
도면의 간단한 설명
도 1은 본 발명의 일실시예에 따른 다중 인증 수단을 가진 시스템의 클라이언트에서의 통합 인증 방법을 나타낸<1>
흐름도,
도 2는 본 발명의 일실시예에 따른 다중 인증 수단을 가진 시스템의 서버에서의 통합 인증 방법을 나타낸 흐름<2>
도,
- 18 -
등록특허 10-0842267
도 3은 본 발명의 일실시예에 따른 서버 인증 과정을 나타낸 도면,<3>
도 4는 본 발명의 다른 실시예에 따른 다중 인증 수단을 가진 시스템에서의 인증서 기반의 클라이언트 인증 방<4>
법을 나타낸 도면,
도 5는 본 발명의 또 다른 실시예에 따른 다중 인증 수단을 가진 시스템에서의 패스워드 기반의 클라이언트 인<5>
증 방법을 나타낸 도면,
도 6은 본 발명의 또 다른 실시예에 따른 다중 인증 수단을 가진 시스템에서의 생체 정보 기반의 클라이언트 인<6>
증 방법을 나타낸 도면, 및
도 7은 본 발명의 또 다른 실시예에 따른 다중 인증 수단을 가진 통합 인증 클라이언트, 서버 및 시스템의 구성<7>
을 나타낸 도면이다.
도면
도면1
- 19 -
등록특허 10-0842267
도면2
도면3
- 20 -
등록특허 10-0842267
도면4
도면5
- 21 -
등록특허 10-0842267
도면6
도면7
- 22 -
등록특허 10-0842267