KR100819024B1 - 아이디/패스워드를 이용한 사용자 인증 방법 - Google Patents

아이디/패스워드를 이용한 사용자 인증 방법 Download PDF

Info

Publication number
KR100819024B1
KR100819024B1 KR1020050121982A KR20050121982A KR100819024B1 KR 100819024 B1 KR100819024 B1 KR 100819024B1 KR 1020050121982 A KR1020050121982 A KR 1020050121982A KR 20050121982 A KR20050121982 A KR 20050121982A KR 100819024 B1 KR100819024 B1 KR 100819024B1
Authority
KR
South Korea
Prior art keywords
server
client
user authentication
home network
user
Prior art date
Application number
KR1020050121982A
Other languages
English (en)
Other versions
KR20070062199A (ko
Inventor
주홍일
이윤경
박지혜
이형규
한종욱
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020050121982A priority Critical patent/KR100819024B1/ko
Publication of KR20070062199A publication Critical patent/KR20070062199A/ko
Application granted granted Critical
Publication of KR100819024B1 publication Critical patent/KR100819024B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 아이디/패스워드를 이용한 사용자 인증 방법에 관한 것으로, 클라이언트에서 아이디/패스워드를 포함하는 사용자 인증 원본 데이터를 기 저장되어 있는 서버로 접속하여 사용자 인증을 수행하는 방법에 있어서, (a) 상기 클라이언트는 사용자 인증으로 아이디/패스워드 방식을 사용한다는 정보를 포함하는 메시지를 상기 서버로 전송하는 단계; (b) 상기 서버로부터 상기 서버의 인증서를 전송받아 검증하는 단계; (c) 상기 전송받은 인증서의 검증이 이루어지는 경우, 키 생성과 교환을 통하여 상기 서버와 사용할 비밀키를 생성하여 공유하는 단계; 및 (d) 상기 사용자 인증 원본 데이터와 대응되는 사용자 인증 비교본 데이터에 대한 해쉬 값을 계산하고 상기 비밀키로 암호화하여 상기 서버로 전송함으로써 사용자 인증을 수행하는 단계;로 구성되어, 네트워크 시스템 특히 홈네트워크 시스템을 사용하는 사용자가 자신의 아이디/패스워드 정보를 이용하여 보다 안전하게 사용자 인증을 수행할 수 있다.

Description

아이디/패스워드를 이용한 사용자 인증 방법{Method for authenticating user using ID/password}
도 1은 종래 EAP-MD5를 이용한 클라이언트와 서버 사이에서 사용자 인증 방법에 대한 흐름도,
도 2는 본 발명의 바람직한 일 실시예가 적용되는 홈네트워크 시스템 구성도,
도 3은 본 발명의 바람직한 일 실시예에 따른 클라이언트와 서버 사이에서 아이디/패스워드를 이용한 사용자 인증 방법에 대한 흐름도,
도 4는 도 3에서 서버 인증시 패킷 포맷의 일 예,
도 5는 도 3에서 사용자 인증시 패킷 포맷의 일 예, 및
도 6은 도 4 또는 도 5에서의 플래그 형태에 대한 일 예이다.
본 발명은 아이디/패스워드를 이용한 사용자 인증 방법에 관한 것으로, 더욱 상세하게는 홈네트워크 시스템에서 홈서버에 아이디/패스워드 정보가 기 등록되어 있는 사용자만이 홈네트워크 시스템을 사용할 수 있도록 하고, 클라이언트 사용자 인증에 있어서 아이디/패스워드 정보를 이용한 인증수단을 제공하여 사용자의 프라이버시를 보호하고 안전성과 편의성을 제공하는 사용자 인증 방법 및 시스템에 관한 것이다.
사용자 인증 방법과 관련되어서 PPP(The Point-to-Point Protocol)에서 다양한 인증 방식을 수용하도록 제정된 EAP(Extensible Authentication Protocol)가 많이 사용되고 있는데, 이는 어떤 링크 계층에서도 적용 가능하다는 장점을 가진다. EAP는 인증 요청자와 서버 사이에 인증 정보를 전달하는 데 사용되며, 기본 동작은 Request와 Response의 반복으로 이루어지고, EAP 인증 유형에 따라 인증처리 과정이 조금씩 다르다.
종래의 아이디(ID)/패스워드(PW) 정보를 이용한 인증 방법으로는 보안의 취약성이 발견되었으나, 사용하기 간편하다는 이유로 EAP-MD5가 많이 사용되고 있다. EAP-MD5는 양방향이 인증이 아닌 단방향 인증으로 서버는 클라이언트의 사용자를 인증하지만, 클라이언트는 서버를 인증하지 않고 인증 정보를 전달하게 된다.
또한 어떠한 키 생성을 통한 인증방법이 아니고, Challenge-Response 방식의 사용자 아이디 정보와 Challenge에 대한 Response의 비교로 인증과정을 수행한다. 그러나, 이는 오프라인 사전 공격(Offline Dictionary Attack)에 상당히 취약하며, 프로토콜이 MITM(Man-In-The-Middle-Attack)과 DoS(Denial of Service)에 완전히 노출되어 있어 보안성의 문제점이 따른다. 즉, 사용자 아이디 정보, Challenge, Response가 키를 사용하지 않는 평문(plain text) 형태로 전송되므로, 패킷 캡쳐 등으로 많은 사용자 아이디 정보, Challenge, Response의 쌍으로부터 아이디/패스 워드 유출이 가능하고, 또한 인증 프로토콜 핸드쉐이크 과정 중에 공격자가 개입하여 패킷을 변경하거나 서비스를 받지 못하게 할 수도 있게 된다.
따라서, EAP-MD5와 같은 종래의 인증 메커니즘들이 가지는 보안상의 취약점을 보완하여, 양방향 인증이 가능하며, 암호화된 채널을 형성해서, 그 채널을 통해 종래의 인증 메커니즘을 보호하는 인증 기술들이 있다. 그러나, 이러한 기술들은 채널을 형성하는 과정과 요청자 인증 과정이 분리되어 안전한 채널을 형성하는 외부 EAP 패킷 내에 TLS 패킷을 포함한 내부 EAP 패킷을 추가적으로 포함하는 등 이로 인해 복잡한 패킷 구성을 가지게 되어, 결국은 인증과정에서 오버헤드가 될 수 있다. 이는 홈네트워크 환경을 고려하지 않은 일반적인 인증 메커니즘으로 홈네트워크 내에서 인증 메커니즘을 수행하는 댁내외 클라이언트와 홈게이트웨이 또는 홈서버의 성능에 맞게 경량화할 필요가 있다.
또한, 안전한 채널을 만드는 과정에서 비밀키 교환이 매우 중요한 요소인데, 이러한 비밀키를 사전에 미리 나눠 가졌다고 가정하에 인증 방법을 설명하는 기술도 있다. 이러한 인증방법은 인증 과정 이전에 비밀키를 어떻게 교환할 것인가에 대한 문제를 초래한다. 그리고, 종래의 안전한 채널을 이용한 인증 방법은 안전한 채널 안에서 사용되는 인증 방법이 EAP-MD5처럼 키를 생성하지 않는 인증 방법이라면 사용자 아이디 정보는 보호될지라도 안전한 채널 형성시 생성된 키와 내부 인증 방법과의 연관성이 없어서 여전히 MITM 공격에 대한 취약성을 가진다.
도 1은 종래 EAP-MD5를 이용한 클라이언트와 서버 사이에서의 사용자 인증 방법에 대한 흐름도이다. 도 1을 참조하면, 클라이언트(10)가 서버(20)로 사용자 인증 시작을 요청하는 사용자 인증 요청 시작 메시지인 EAP-Start 메시지를 전송하면(S10), EAP-Start 메시지를 수신한 서버(20)는 이에 대한 응답으로 사용자 신원 정보 요청 메시지인 EAP-Request/Identity 메시지를 전송한다(S11).
EAP-Request/Identity 메시지는 서버가 클라이언트(10)의 신원을 물어보는 메시지이며, 이와 같은 메시지를 수신한 클라이언트(10)는 사용자 신원 정보 응답 메시지인 EAP-Response/Identity 메시지로 응답한다(S12). EAP-Response/Identity 메시지는 클라이언트(10)의 신원을 위치 정보와 아이디 정보를 포함하며, 인증 방법으로 EAP-MD5를 사용한다는 정보를 포함한다. EAP-Response/Identity 메시지를 수신한 서버(20)는 난수 값을 포함하는 해쉬 값 요청 메시지인 EAP-Request/Challenge 메시지를 전송한다(S13). EAP-Request/Challenge 메시지는 인증 요청자의 인증을 위해 필요한 난수 값인 Challenge를 포함하며, 이 메시지를 수신한 클라이언트(10)는 서버(20)로부터 받은 Challenge와 자신의 아이디와 패스워드를 MD5 알고리즘을 통해 계산한 해쉬 값을 포함하는 해쉬 값 응답 메시지인 EAP-Response/Response 메시지로 응답한다(S14). EAP-Response/Response 메시지를 수신한 서버(20)는 클라이언트(10)로부터 전송받은 해쉬 값과 자신이 계산한 해쉬 값을 확인한 후 일치하면 인증의 성공으로 사용자 인증 성공 메시지인 EAP-Success 메시지를 전송한다(S15).
도 1과 같은 경우 클라이언트(10)는 서버(20)의 인증과정 없이 클라이언트 사용자의 인증 정보를 서버(20)에 전달하여 인증받는 단방향 인증이기 때문에 정상적인 인증 과정을 수행하더라도, 위장한 서버(20)에 의한 공격으로 EAP-Success 메 시지 대신 EAP-Fail 메시지를 받게 되면 더 이상 서버(20)에 대한 접근을 할 수 없으며 사용자 인증 과정 중에 비밀키 교환 과정이 없으므로, 인증 과정 이후에 전송되는 데이터에 대하여 별도의 키 교환을 통하여 보호하여야 한다는 보안상의 문제점이 있다.
상기 종래 기술의 문제점을 해결하기 위한 본 발명은 네트워크 환경, 특히 홈네트워크 환경에서 서버의 인증서를 통하여 먼저 서버를 인증하고, 서버가 인증된 이후에 클라이언트 사용자를 인증하는 방법을 제공한다.
그리고, 클라이언트와 서버 사이에서의 사용자 인증을 위하여 서버의 인증서만 필요하고, 클라이언트는 인증서 필요없이 아이디/패스워드 정보를 이용하여 사용자를 인증하는 방법을 제공한다.
또한, 클라이언트와 서버가 사용할 비밀키는 서버의 인증 과정에서 생성 및 교환이 이루어지는데 비밀키는 클라이언트 사용자 인증 과정에서 사용자 인증 정보를 보호하는데 사용되는 방법을 제공한다.
또한, 클라이언트 사용자 인증 과정에서 사용되는 알고리즘은 키 사용을 필요로 하는 HMAC-MD5나 HMAC-SHA과 같은 해쉬 함수를 사용하고, 이때 사용되는 키는 인증 서버 인증과정에서 생성 및 교환된 비밀키로부터 재생성하여 인증 메커니즘에 사용하여 MITM 공격에 대한 보안성을 제공한다.
상기 기술적 과제를 해결하기 위한 본 발명의 아이디/패스워드를 이용한 사 용자 인증 방법은, 클라이언트에서 아이디/패스워드를 포함하는 사용자 인증 원본 데이터를 기 저장되어 있는 서버로 접속하여 사용자 인증을 수행하는 방법에 있어서, (a) 상기 클라이언트는 사용자 인증으로 아이디/패스워드 방식을 사용한다는 정보를 포함하는 메시지를 상기 서버로 전송하는 단계; (b) 상기 서버로부터 상기 서버의 인증서를 전송받아 검증하는 단계; (c) 상기 전송받은 인증서의 검증이 이루어지는 경우, 키 생성과 교환을 통하여 상기 서버와 사용할 비밀키를 생성하여 공유하는 단계; 및 (d) 상기 사용자 인증 원본 데이터와 대응되는 사용자 인증 비교본 데이터에 대한 해쉬 값을 계산하고 상기 비밀키로 암호화하여 상기 서버로 전송함으로써 사용자 인증을 수행하는 단계;를 포함하는 것을 특징으로 가진다.
또한, 상기 기술적 과제를 해결하기 위한 본 발명의 아이디/패스워드를 이용한 사용자 인증 방법은, 사용자 인증 원본 데이터를 기 저장되어 있는 서버에서 상기 서버로 접속하고자 하는 클라이언트 사용자를 인증하는 방법에 있어서, (a) 상기 클라이언트로부터 아이디/패스워드 방식을 사용한다는 정보를 포함하는 메시지를 전송받는 단계; (b) 상기 서버의 인증서를 상기 클라이언트로 전송하는 단계; (c) 상기 클라이언트에서 상기 서버의 인증서가 검증이 성공하는 경우에 생성되는 비밀키를 전송받아 상기 클라이언트와 공유하는 단계; (d) 상기 클라이언트로부터 상기 비밀키로 암호화되는 상기 사용자 인증 원본 데이터와 대응되는 사용자 인증 비교본 데이터에 대한 해쉬 값을 전송받는 단계; 및 (e) 상기 사용자 인증 비교본 데이터에 해쉬 값과 상기 사용자 인증 원본 데이터에 대한 해쉬 값을 비교하여 일치하는 경우 상기 클라이언트 사용자를 인증하는 단계;를 포함하는 것을 특징으로 가진다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예가 적용되는 홈네트워크 시스템 구성도이다.
도 2를 참조하면, 본 발명의 바람직한 일 실시예가 적용되는 홈네트워크 시스템은 홈서버(100), 댁내 클라이언트(110), 댁내 디바이스(120), 홈네트워크 사업자 서버(130), 댁외 클라이언트(140) 및 사용자 인증 수단(112)(142)으로 구성된다. 여기에서, 홈서버(100)를 중심으로 모든 장치들이 연결된다.
홈서버(100)는 디바이스 인증 및 사용자 인증과 댁내 디바이스 제어와 홈서비스를 담당한다.
댁내 클라이언트(110)는 댁내에서 댁내 디바이스(120) 제어 또는 댁내 홈서비스를 요청하거나 또는 홈네트워크 사업자 서버(130)가 제공하는 서비스를 이용한다.
댁내 디바이스(120)는 댁내에서 홈네트워크 시스템을 구성하는 기기이다.
홈네트워크 사업자 서버(130)는 홈서버(100) 인증을 하고, 댁내 클라이언트(110) 또는 댁외 클라이언트(130)와 사용자 인증을 하며, 다양한 서비스를 제공한다.
댁외 클라이언트(140)는 댁외에서 홈서버(100)를 통해서 댁내 디바이스(120) 제어와 댁내 홈서비스를 요청하거나 홈네트워크 사업자 서버(130)가 제공하는 서비스를 이용한다.
홈네트워크 시스템 인증 방법을 설명하기 이전에 댁내 디바이스(120)들과 댁내 클라이언트(110)는 홈서버(100)에 등록되어 있어야 한다. 또한, 사용자 등록 시에는 사용자가 인증시 사용할 아이디/패스워드 정보를 홈서버(100)에 저장시켜야 한다.
댁내 디바이스(120)들은 홈서버(100)와 연결되어 있고, 홈서버(100)는 홈네트워크 사업자 서버(130)와 연결되어있다.
도 3은 본 발명의 바람직한 일 실시예에 따른 클라이언트와 서버 사이에서 아이디/패스워드를 이용한 사용자 인증 방법에 대한 흐름도이다.
도 3의 사용자 인증방법 및 장치에서 사용되는 EEAP-PW 프로토콜은 Request와 Response로 이루어져 있으며, 서버는 시스템 접근에 대한 Request를 보내며 Request에 대한 Response에 기초하여 접근을 승인하거나 거부한다.
또한 상호인증을 제공하며, 서버의 인증서를 사용하여 먼저 서버를 인증한 후 서버와 클라이언트 사이에 사용할 비밀키를 교환하고, 교환된 비밀키로부터 사용자의 인증과정에서 필요로 하는 키를 재생성하여 사용자 인증과정에서 사용하고, 교환된 비밀키를 사용하여 클라이언트 사용자 인증 과정 전체를 암호화 함으로써 보다 안전하게 클라이언트 사용자를 인증할 수 있다.
도 3을 참조하면, 먼저, 클라이언트(310)는 서버(300)에게 사용자 인증 요청 시작 메시지인 EAP-Start 메시지를 전송한다(S300).
다음으로, 단계S300에서 EAP-Start 메시지를 전송받은 서버(300)는 이에 대한 응답으로 클라이언트(310)에게 사용자 신원 정보 요청 메시지인 EAP-Request/Identity 메시지를 전송한다(S301). EAP-Request/Identity 메시지에는 클라이언트(310) 사용자의 아이디 정보, 위치 정보(도메인 정보), 사용할 인증 방식 정보 등에 관한 정보를 요청하게 된다.
다음으로, 단계S301에서 EAP-Request/Identity 메시지를 전송받은 클라이언트(310)는 서버(300)에게 사용자 신원 정보 응답 메시지인 EAP-Response/Identity 메시지를 전송한다(S302). 여기에서, EAP-Response/Identity 메시지에는 클라이언트 사용자의 신원에 대한 위치 정보와 인증 방법으로 EEAP-PW를 사용한다는 정보만을 포함한다. 즉, 사용자의 아이디 정보는 포함되지 않는다.
다음으로, 단계S302에서 EAP-Response/Identity 메시지를 수신한 서버(300)는 사용자 인증 방법으로 EEAP-PW를 사용한다는 정보를 포함하는 EEAP-PW 인증 시작 메시지인 EAP-Request/EEAP-PW(Start) 메시지를 클라이언트(310)로 전송한다(S303).
다음으로, 단계S303에서 EAP-Request/EEAP-PW(Start) 메시지를 수신한 클라이언트(310)는 서버(300)와의 TLS 통신 시작 메시지로써 클라이언트 헬로우 메시지인 EAP-Response/EEAP-PW(ClientHello) 메시지를 서버(300)로 전송한다(S304). 여기에서, EAP-Response/EEAP-PW(ClientHello) 메시지에 포함될 수 있는 내용은 클라이언트(310)의 TLS 버전, 클라이언트(310)에서 생성한 난수, 세션 식별자, CipherSuit 리스트, 클라이언트(310)의 압축 방법 리스트를 포함할 수 있다.
다음으로, 단계S304에서 EAP-Response/EEAP-PW(ClientHello) 메시지를 수신한 서버(300)는 서버 헬로우 서버 인증서, 서버 키 교환, 서버 헬로우 종료를 포함하는 EAP-Request/EEAP-PW(ServerHello, ServerCertificate, ServerKeyExchange*, ServerHelloDone) 메시지를 전송한다(S305).
여기에서, ServerHello 메시지는 서버(300)의 TLS 버전, 서버(300)에서 생성한 임의의 난수, 세션 식별자, 단계S304에서 클라이언트(310)가 전송한 CipherSuit 리스트 중에서 선택한 하나의 CipherSuit, 단계S304에서 클라이언트(310)가 전송한 압축 방법 리스트에서 선택한 압축 방법 등을 포함한다. 그리고, ServerCertificate는 서버 인증서를 포함하고, ServerHelloDone은 ServerHello 메시지가 종료되었음을 나타낸다.
그리고, ServerKeyExchange 메시지는 인증서의 종류에 따라 포함 여부가 결정된다. 즉, 서버(300)의 인증서가 서명용(Signiature) 인증서일 경우에 서버(300)의 공개키를 포함하는 서버 키 교환 메시지(ServerKeyExchange)를 더 포함할 수 있다는 것이다.
다음으로, 단계S305에서 EAP-Request/EEAP-PW(ServerHello, ServerCertificate, ServerKeyExchange*, ServerHelloDone) 메시지를 수신한 클라이언트(300)는 서버 인증서를 통하여 서버(300)를 인증하고, 인증이 이루어진 경우에 클라이언트(310)의 키 정보, 키 교환 알고리즘, 암호 알고리즘, 무결성 알고리즘 등을 포함하고 서버(300)와의 협상이 성공적으로 이루어졌음을 알리는 메시지인 EAP-Response/EEAP-PW(ClientKeyExchange, ChangeCipherSpec, Finished)메시지를 서버(300)에 전송한다(S306). 여기에서, 서버 인증서를 통한 서버(300)의 인증 방법과 관련되어서는 종래 알려져 있는 인증서 인증 방법을 통하여 이루어지게 된다.
다음으로, 단계S306에서 EAP-Response/EEAP-PW(ClientKeyExchange, ChangeCipherSpec, Finished) 메시지를 수신한 서버(300)는 키 교환 알고리즘, 암호 알고리즘, 무결성 알고리즘 등을 포함하고 클라이언트(310)와의 협상이 성공적으로 이루어졌음을 알리는 EAP-Request/EEAP-PW(ChangeCipherSpec, Finished)메시지를 클라이언트(310)에게 전송한다(S307).
상기 단계S300부터 단계S307까지는 클라이언트(310)에서 서버 인증서를 통하여 서버(300)를 인증하는 것이며, 이후 과정은 서버(300)에서 클라이언트(310) 사용자의 아이디와 패스워드 정보를 통하여 클라이언트(310) 사용자를 인증하는 것이다.
다음으로, 단계S307에서 EAP-Request/EEAP-PW(ChangeCipherSpec, Finished) 메시지를 수신한 클라이언트(310)는 사용자의 신원 정보인 아이디 정보를 상기 서버(300)의 인증서 검증 과정에서 생성 및 교환한 비밀키로 암호화한 사용자 아이디 정보 메시지인 EAP-Response/EEAP-PW(UserID) 메시지를 서버(300)에 전송한다(S308).
다음으로, 상기 단계S308에서 EAP-Response/EEAP-PW(UserID) 메시지를 전송받은 서버(300)는 클라이언트(310) 사용자 인증을 위해 필요한 난수 값인 Challenge를 포함하며, 서버(300)의 인증과정에서 생성 및 교환한 비밀키로 암호화한 해쉬 값 요청 메시지인 EAP-Request/EEAP-PW(Challenge) 메시지를 클라이언트 (310)에게 전송한다(S309).
다음으로, 상기 단계S309에서 EAP-Request/EEAP-PW(Challenge) 메시지를 수신한 클라이언트(310)는 단계S309에서 수신한 Challenge와 사용자 아이디와 패스워드 정보를 HMAC-MD5 또는 HMAC-SHA 와 같은 키를 사용하는 해쉬 알고리즘을 통해서 계산된 해쉬 값을 포함하는 해쉬 값 응답 메시지인 EAP-Response/EEAP-PW(Response) 메시지를 서버(300)로 전송한다(S310). 여기에서, 해쉬 값 응답 메시지인 EAP-Response/EEAP-PW(Response) 메시지는 서버(300)의 인증 과정에서 생성 및 교환한 비밀키로 암호화되어 서버(300)로 전송되어 진다. 또한, 해쉬 값 생성을 위해 필요한 키는 서버의 인증 과정에서 생성 및 교환한 비밀키로부터 재생성하여 사용한다.
다음으로, 단계S310에서 EAP-Response/EEAP-PW(Response) 메시지를 수신한 서버(300)는 클라이언트(310)로부터 전송받은 해쉬 값과 자신이 계산한 해쉬 값을 비교하여 일치하면 클라이언트(310) 사용자 인증 성공 메시지인 EAP-Success 메시지를 클라이언트(310)로 전송한다(S311). 여기에서, 서버가 해쉬값을 계산하기 위해 필요한 키는 서버의 인증 과정에서 생성 및 교환한 비밀키로부터 재생성하여 사용한다.
상기와 같은 과정을 정리하면, 클라이언트(310)와 서버(300) 사이의 상호 인증을 위해 먼저, 서버 인증서를 통하여 먼저 서버(300)를 인증하고, 이때 생성 및 교환된 비밀키로 클라이언트(310) 사용자의 인증 메커니즘을 보호한다. 또한, 클라이언트(310) 사용자의 인증 메커니즘은 키를 사용하는 해쉬 알고리즘을 사용하고, 이때 사용되는 키는 서버 인증과정에서 공유한 비밀키로부터 재생성하여 사용한다. 따라서, 사용자의 아이디 정보뿐만 아니라 사용자 인증 과정 전체를 암호화하여 전송함으로써, MITM 공격 등의 취약성을 해결할 수 있게 된다.
도 3에서는 서버(300)와 클라이언트(310)로 설명하였다. 본 발명이 적용될 수 있는 기술 분야로써 도 2에서 살펴본 홈 네트워크 시스템에 적용하면 다음과 같다.
댁내에서 홈 네트워크 시스템을 이용하는 경우에는 클라이언트(310)는 댁내 클라이언트가 되고 서버(300)는 홈서버가 된다. 그리고, 적용하는 경우에 따라 클라이언트(310)는 홈서버가 되고 서버(300)는 홈네트워크 사업자 서버가 될 수 있으며, 클라이언트(310)는 댁내 클라이언트가 되고 서버(300)는 홈네트워크 사업자 서버가 될 수도 있다.
또한, 댁외에서 홈 네트워크 시스템을 이용하는 경우에는 클라이언트(310)는 댁외 클라이언트가 되고 서버(300)는 홈 네트워크 사업자 서버가 된다.
도 4는 도 3에서 서버 인증시 패킷 포맷의 일 예이다. 도 4는 본 발명에 따른 클라이언트 사용자가 서버 인증서를 통하여 서버를 인증하는 과정에서 사용되는 패킷 구조를 나타낸다.
도 4를 참조하면, 클라이언트(300)에서 서버 인증서를 통하여 서버를 인증시 패킷 구조에서 헤더 부분은 코드(Code), 식별자(Identifier), 길이(Length), 타입(Type) 필드로 이루어지며, 데이터 부분은 플래그(Flags), TLS 메시지 길이(TLS Message Length), TLS 데이터(TLS Data)로 구성된다.
코드 필드는 Request와 Response를 표시하는 필드로 Request일 경우는 '1'로 Response일 경우는 '2'로 표시한다.
식별자 필드는 각 Request 패킷에서 값이 변하고 Response의 식별자(Identifier) 필드는 대응하는 Request 패킷의 값과 같아야 한다.
길이 필드는 2 바이트로 이루어져 있으며, 코드(Code) 필드부터 데이터부분까지 패킷 전체의 길이를 나타낸다.
타입 필드 값은 EEAP-PW를 표시하는 것으로써 '80'이라 임시 값을 사용하는데, 이는 정식 표준안에서 변경될 수 있다.
플래그 필드는 데이터 부분의 정보를 표시하기 위한 것으로 1 바이트를 사용하며, 이중 7 비트를 사용하고 나머지 1 비트는 사용하지 않는다. 도 6은 플래그 필드의 구성을 보여준다.
도 5는 도 3에서 사용자 인증시 패킷 포맷의 일 예이다. 도 5는 본 발명에 따른 서버가 클라이언트 사용자를 인증하는 과정에서 사용되는 패킷 구조를 나타낸다.
도 5를 참조하면, 사용자 인증시 패킷 구조는 서버 인증서를 통한 서버 인증시 패킷 구조와 헤더 부분은 동일하며, 데이터 부분의 플래그 필드도 동일하게 적용된다. 다만, 플래그 필드의 비트 값에 따라 플래그 필드 다음의 패킷 구조가 달라진다. 즉, 현재 인증과정이 서버 인증 과정인지 사용자 인증 과정인지를 표시하는 ‘U' 비트가 ‘0’이면 현재 인증과정은 서버 인증 과정이며 패킷 구조는 TLS 패킷 구조를 가진다. 그러나 ‘U’비트가‘1’이면 서버 인증 과정이 성공적으로 끝나고 사용자 인증 과정임을 표시하므로 2바이트의 밸류-사이즈(Value-Size) 필드와 밸류(Value) 필드로 구성된 Encrypted-PW 패킷으로 구성된다.
도 6은 도 4 또는 도 5에서의 플래그 형태에 대한 일 예이다. 도 6을 참조하면, 플래그 필드의 구성에서 첫번째 'L'비트는 TLS 메시지 길이(TLS Message Length) 필드가 존재할 때 지정하며, 프레그먼트(fragment) 중 첫 번째 프레그먼트에만 '1'로 설정하고, 두 번째 'M'비트는 하나 이상의 메시지 유무를 나타내는데 마지막 프레그먼트를 제외하고 모든 프레그먼트에 '1'로 설정한다. 그리고, 세 번째 'S'비트는 EEAP-PW의 시작 메시지를 표시하는데, 맨 처음 시작할 때 '1'로 설정하고 그 이후로는 '0'으로 설정한다. 네 번째 'U'비트는 현재 패킷 구조가 Encrypted-PW 패킷 구조임을 표시하는데, 서버 인증 과정에서는 '0'으로 설정하고, 서버 인증이 성공적으로 끝난 후 사용자 인증 과정에서는 '1'로 설정한다. 마지막으로 여섯 번째부터 여덟 번째까지 3비트는'V'비트로 EEAP-PW의 버전 정보를 나타낸다.
도 6에서 살펴본 플래그 형태에 대한 것은 일 예로 설명한 것으로, 다양한 변형이 가능할 것이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷 을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상기에서 살펴본 본 발명의 아이디/패스워드를 이용한 사용자 인증 방법은 다음과 같은 효과를 가진다.
첫째, 본 발명에서 제안하는 사용자 인증 방법은 서버의 인증서를 가지고 서버를 인증함으로써 클라이언트의 사용자가 별도의 인증서가 필요 없이 자신의 아이디/패스워드만으로 안전한 상호 인증을 이루어짐으로써 사용자 안전성과 편의성을 제공한다.
둘째, 본 발명에서 제안하는 사용자 인증 방법은 서버 인증과 클라이언트 사용자 인증과 같이 반드시 서버 인증 과정 후에 사용자를 인증함으로써 클라이언트의 사용자는 서버를 신뢰하고 사용자 인증 정보를 전송할 수 있다.
셋째, 본 발명에서 제안하는 사용자 인증 방법은 서버의 인증서로 서버를 인증한 후 클라이언트와 서버 사이에 비밀키를 공유하게 됨으로써 사용자의 아이디 정보가 보호됨은 물론, 클라이언트의 사용자 인증 과정에서 사용되는 키 또한 서버의 인증 과정에서 생성된 비밀키로부터 재생성되어 사용되므로 위장한 인증 서버 또는 위장한 인증 클라이언트로부터 보안 위협을 해결할 수 있으며, MITM 등과 같은 공격에 대한 피해도 막을 수 있다.
넷째, 본 발명에서 제안하는 사용자 인증 방법은 서버 인증과 클라이언트 사용자 인증과정에서 사용되는 패킷 구성을 서로 상이하게 구성함으로써, 클라이언트 사용자 인증 과정의 패킷 구성을 경량화화여 인증 과정에서 발생하는 오버헤드를 줄이면서도 종래의 사용자 인증 방법과 호환 가능하다. 따라서, 무선랜에서의 사용자 단말, AP, AAA 서버 등과 연동 및 호환이 가능하다.
다섯째, 본 발명에서 제안하는 사용자 인증 방법 및 장치는 홈네트워크 환경에 가장 적합하지만 다른 네트워크 환경에서도 다양하게 사용할 수 있다. 또한 본 발명은 네트워크 구조와 통신 매개체(예: 무선랜, 이더넷 등)에 관계없이 사용할 수 있다.

Claims (21)

  1. 클라이언트에서 아이디/패스워드를 포함하는 사용자 인증 원본 데이터를 기 저장되어 있는 서버로 접속하여 사용자 인증을 수행하는 방법에 있어서,
    (a) 상기 클라이언트는 사용자 인증으로 아이디/패스워드 방식을 사용한다는 정보를 포함하는 메시지를 상기 서버로 전송하는 단계;
    (b) 상기 서버로부터 상기 서버의 인증서를 전송받아 검증하는 단계;
    (c) 상기 전송받은 인증서의 검증이 이루어지는 경우, 키 생성과 교환을 통하여 상기 서버와 사용할 비밀키를 생성하여 공유하는 단계; 및
    (d) 상기 사용자 인증 원본 데이터와 대응되는 사용자 인증 비교본 데이터에 대하여 상기 비밀키로부터 재생성한 키를 사용하여 해쉬 값을 계산하고 상기 비밀키로 암호화하여 상기 서버로 전송함으로써 사용자 인증을 수행하는 단계;를 포함하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  2. 제 1 항에 있어서, 상기 (a)단계 이전에
    상기 클라이언트는 상기 서버로 인증 서비스 접속 메시지를 전송하는 단계; 및
    상기 서버로부터 상기 클라이언트의 사용자 신원 정보 요청 메시지를 전송받는 단계;를 더 포함하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  3. 제 1 항에 있어서, 상기 (d)단계는
    (d1) 상기 클라이언트는 상기 서버로부터 사용자 인증 비교본 데이터 요청 메시지를 전송받는 단계;
    (d2) 상기 사용자 인증 비교본 데이터를 상기 비밀키로 암호화하여 상기 서버로 전송하는 단계; 및
    (d3) 상기 서버에서 상기 (d2)단계에서 전송받은 사용자 인증 비교본 데이터와 상기 서버에 기 등록되어 있는 사용자 인증 원본 데이터를 비교하여 일치한다고 판단되는 경우에 생성되는 사용자 인증 성공 메시지를 전송받는 단계로 이루어지는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  4. 제 3 항에 있어서, 상기 (d1)단계 이전에
    상기 클라이언트는 사용자 아이디를 상기 비밀키로 암호화하여 상기 서버로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  5. 제 1 항에 있어서,
    상기 아이디/패스워드 방식은 EEAP-PW 방식인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  6. 제 1 항에 있어서,
    상기 클라이언트와 서버는 홈네트워크 시스템에 적용되되,
    상기 클라이언트는 상기 홈네트워크 시스템의 댁내 클라이언트이고, 상기 서버는 상기 홈네트워크 시스템의 홈서버인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  7. 제 1 항에 있어서,
    상기 클라이언트와 서버는 홈네트워크 시스템에 적용되되,
    상기 클라이언트는 상기 홈네트워크 시스템의 홈서버이고, 상기 서버는 상기 홈네트워크 시스템의 홈네트워크 사업자 서버인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  8. 제 1 항에 있어서,
    상기 클라이언트와 서버는 홈네트워크 시스템에 적용되되,
    상기 클라이언트는 상기 홈네트워크 시스템의 댁외 클라이언트이고, 상기 서버는 상기 홈네트워크 시스템의 홈네트워크 사업자 서버인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  9. 제 1 항에 있어서,
    상기 (b)단계의 서버 인증서에 대한 검증과 상기 (d)단계의 클라이언트 사용 자 인증에서 사용되는 패킷의 구성을 패킷의 플래그 필드의 비트 값에 따라 서로 다르게 사용하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  10. 제 9 항에 있어서,
    상기 플래그 필드의 U비트 값에 따라 TLS 형태의 패킷과 Encrypted-PW 형태의 패킷으로 구분하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  11. 삭제
  12. 사용자 인증 원본 데이터를 기 저장되어 있는 서버에서 상기 서버로 접속하고자 하는 클라이언트 사용자를 인증하는 방법에 있어서,
    (a) 상기 클라이언트로부터 아이디/패스워드 방식을 사용한다는 정보를 포함하는 메시지를 전송받는 단계;
    (b) 상기 서버의 인증서를 상기 클라이언트로 전송하는 단계;
    (c) 상기 클라이언트에서 상기 서버의 인증서가 검증이 성공하는 경우에 생성되는 비밀키를 전송받아 상기 클라이언트와 공유하는 단계;
    (d) 상기 클라이언트로부터 상기 사용자 인증 원본 데이터와 대응되는 사용자 인증 비교본 데이터에 대하여 상기 비밀키로부터 재생성한 키를 사용하여 계산한 해쉬 값을 상기 비밀키로 암호화되어 전송받는 단계; 및
    (e) 상기 사용자 인증 비교본 데이터에 대한 해쉬 값과 상기 사용자 인증 원본 데이터에 대한 해쉬 값을 비교하여 일치하는 경우 상기 클라이언트 사용자를 인증하는 단계;를 포함하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  13. 제 12 항에 있어서, 상기 (a)단계 이전에
    상기 클라이언트로부터 인증 서비스 접속 메시지를 전송받는 단계; 및
    상기 클라이언트로 상기 클라이언트 사용자의 신원 정보 요청 메시지를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  14. 제 12 항에 있어서, 상기 (d)단계는
    (d1) 상기 클라이언트로부터 사용자 아이디 정보를 전송받는 단계;
    (d2) 상기 클라이언트로 해당하는 사용자 인증 비교본 데이터 요청 메시지를 전송하는 단계; 및
    (d3) 상기 클라이언트로부터 상기 비밀키로 암호화된 사용자 인증 비교본 데이터에 해쉬 값을 전송받는 단계로 이루어지는 것을 특징으로 하는 아이디/패스워 드를 이용한 사용자 인증 방법.
  15. 제 12 항에 있어서,
    상기 아이디/패스워드 방식은 EEAP-PW 방식인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  16. 제 12 항에 있어서,
    상기 클라이언트와 서버는 홈네트워크 시스템에 적용되되,
    상기 클라이언트는 상기 홈네트워크 시스템의 댁내 클라이언트이고 상기 서버는 상기 홈네트워크 시스템의 홈서버인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  17. 제 12 항에 있어서,
    상기 클라이언트와 서버는 홈네트워크 시스템에 적용되되,
    상기 클라이언트는 상기 홈네트워크 시스템의 홈서버이고 상기 서버는 상기 홈네트워크 시스템의 홈네트워크 사업자 서버인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  18. 제 12 항에 있어서,
    상기 클라이언트와 서버는 홈네트워크 시스템에 적용되되,
    상기 클라이언트는 상기 홈네트워크 시스템의 댁외 클라이언트이고 상기 서버는 상기 홈네트워크 시스템의 홈네트워크 사업자 서버인 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  19. 제 12 항에 있어서,
    상기 (b)단계의 서버 인증서에 대한 검증과 상기 클라이언트 사용자 인증에서 사용되는 패킷의 구성을 패킷의 플래그 필드의 비트 값에 따라 서로 다르게 사용하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  20. 제 19 항에 있어서,
    상기 플래그 필드의 U비트 값에 따라 TLS 형태의 패킷과 Encrypted-PW 형태의 패킷으로 구분하는 것을 특징으로 하는 아이디/패스워드를 이용한 사용자 인증 방법.
  21. 삭제
KR1020050121982A 2005-12-12 2005-12-12 아이디/패스워드를 이용한 사용자 인증 방법 KR100819024B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050121982A KR100819024B1 (ko) 2005-12-12 2005-12-12 아이디/패스워드를 이용한 사용자 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050121982A KR100819024B1 (ko) 2005-12-12 2005-12-12 아이디/패스워드를 이용한 사용자 인증 방법

Publications (2)

Publication Number Publication Date
KR20070062199A KR20070062199A (ko) 2007-06-15
KR100819024B1 true KR100819024B1 (ko) 2008-04-02

Family

ID=38357716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050121982A KR100819024B1 (ko) 2005-12-12 2005-12-12 아이디/패스워드를 이용한 사용자 인증 방법

Country Status (1)

Country Link
KR (1) KR100819024B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100921153B1 (ko) * 2007-08-01 2009-10-12 순천향대학교 산학협력단 무선 통신 네트워크 상에서의 사용자 인증 방법
KR100925636B1 (ko) * 2007-12-04 2009-11-06 주식회사 케이티 응용 서비스 제공을 위한 비-피씨형 단말과 서버 간의 통신방법
KR101495722B1 (ko) 2008-01-31 2015-02-26 삼성전자주식회사 홈 네트워크에서의 통신 보안성을 보장하는 방법 및 이를위한 장치
KR101528855B1 (ko) * 2008-03-04 2015-06-15 삼성전자주식회사 홈 네트워크에서 인증 정보를 관리하는 방법 및 그 장치
US20110026716A1 (en) * 2008-05-02 2011-02-03 Weng Sing Tang Method And System For On-Screen Authentication Using Secret Visual Message

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010097608A (ko) * 2000-04-25 2001-11-08 권도균 웹 보안 프로토콜을 이용한 통신방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010097608A (ko) * 2000-04-25 2001-11-08 권도균 웹 보안 프로토콜을 이용한 통신방법

Also Published As

Publication number Publication date
KR20070062199A (ko) 2007-06-15

Similar Documents

Publication Publication Date Title
US9819666B2 (en) Pass-thru for client authentication
Aboba et al. RADIUS (remote authentication dial in user service) support for extensible authentication protocol (EAP)
Simon et al. The EAP-TLS authentication protocol
CA2543096C (en) Protected dynamic provisioning of credentials
EP1498800B1 (en) Security link management in dynamic networks
US8352739B2 (en) Two-factor authenticated key exchange method and authentication method using the same, and recording medium storing program including the same
US8468347B2 (en) Secure network communications
US20160072787A1 (en) Method for creating secure subnetworks on a general purpose network
AU2003203712B2 (en) Methods for remotely changing a communications password
US20040034773A1 (en) Establishing authenticated network connections
Cam-Winget et al. The flexible authentication via secure tunneling extensible authentication protocol method (EAP-FAST)
KR20060017594A (ko) 안전한 무선 랜 액세스 기술
GB2371957A (en) Method of authenticating a network access server
KR100819024B1 (ko) 아이디/패스워드를 이용한 사용자 인증 방법
KR100957044B1 (ko) 커버로스를 이용한 상호 인증 방법 및 그 시스템
KR101572598B1 (ko) Sso 인증 시스템 기반 인증 정보 재전송 공격에 안전한 사용자 인증 방법
KR100759813B1 (ko) 생체정보를 이용한 사용자 인증 방법
Davies RADIUS protocol security and best practices
Liu et al. Extensible authentication protocols for IEEE standards 802.11 and 802.16
Simon et al. RFC 5216: The EAP-TLS Authentication Protocol
Aboba et al. RFC3579: RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)
Kim Simple authentication and security layer incorporating extensible authentication protocol
Kim et al. Technical Report Series
Cam-Winget et al. RFC 4851: The Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP-FAST)
Mårtensson et al. SuxNet–Implementation of Secure Authentication for WLAN

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20111208

Year of fee payment: 17