KR101516881B1 - 사용자 인증 방법 및 장치 - Google Patents

사용자 인증 방법 및 장치 Download PDF

Info

Publication number
KR101516881B1
KR101516881B1 KR1020130112531A KR20130112531A KR101516881B1 KR 101516881 B1 KR101516881 B1 KR 101516881B1 KR 1020130112531 A KR1020130112531 A KR 1020130112531A KR 20130112531 A KR20130112531 A KR 20130112531A KR 101516881 B1 KR101516881 B1 KR 101516881B1
Authority
KR
South Korea
Prior art keywords
server
value
hash value
user
time
Prior art date
Application number
KR1020130112531A
Other languages
English (en)
Other versions
KR20150033053A (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 KR1020130112531A priority Critical patent/KR101516881B1/ko
Priority to US14/493,926 priority patent/US9203839B2/en
Publication of KR20150033053A publication Critical patent/KR20150033053A/ko
Application granted granted Critical
Publication of KR101516881B1 publication Critical patent/KR101516881B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

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

Abstract

사용자 인증 방법 및 장치가 개시된다. 서버에서 사용자를 인증하는 방법에 있어서, (a) 클라이언트 단말의 사용자 아이디를 포함하는 인증 요청에 따라 일회성 서버 증명 메시지를 전송한 후 상기 클라이언트 단말로부터 일회성 단말 증명 메시지를 수신하는 단계; 및 (b) 상기 사용자 아이디에 대응하여 기저장된 해시값을 이용하여 상기 일회성 단말 증명 메시지를 검증하여 사용자를 인증하는 단계를 포함한다.

Description

사용자 인증 방법 및 장치{User authentication method and apparatus}
본 발명은 사용자 인증에 관한 것으로, 보다 상세하게 클라이언트 단말과 서버 사이에 전달되는 일회용 자격 증명을 통해 클라이언트 단말과 서버를 상호간 검증하여 인증할 수 있는 사용자 인증 방법 및 시스템에 관한 것이다.
현재 MS사의 웹 브라우저는 피싱 서버를 탐지할 수 있는 스마트스크린필터를 제공하고 있다. 그러나, 이는 사용자가 특정 서버 접속시, 웹 브라우저가 미리 보고된 피싱 서버 목록을 비교분석하여 사용자가 현재 접속한 서버가 존재하는지를 검색하여 알려주는 방식이다.
이러한, 스마트스크린필터는 미리 등록된 피싱 서버를 탐지하기 때문에 사용자의 피싱 피해를 줄일 수 있는 장점을 가지고 있다. 그러나 최근 피싱 서버가 급증하고 있어 피싱 서버 목록 관리가 매우 어려운 단점이 있다. 또한, 스마트스크린필터는 새로운 피싱 서버의 URL이 피싱 서버 목록에 등록되어 있지 않을 경우에 피싱을 탐지할 수 없는 치명적인 문제가 있으며, 사용자가 매번 서버 접속 시 마다 피싱 서버 목록을 검색해야 하기 때문에 적법한 서버에 접속을 한 경우라도 해당 서버의 메인 페이지를 로딩하는데 시간이 오래 걸리는 단점이 있다. 이로 인해, 사용자들은 스마트스크린필터 사용을 꺼리고 있다.
본 발명은 클라이언트 단말과 서버 사이에 전달되는 일회용 자격 증명을 통해 클라이언트 단말과 서버를 상호간 검증하여 인증할 수 있는 사용자 인증 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명은 사용자 인증을 위한 패스워드를 서버로 전달하지 않고 사용자를 인증할 수 있어 악의적인 피싱 또는 파밍 공격에도 개인 정보가 유출되는 것을 방지할 수 있는 사용자 인증 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명은 클라이언트 단말과 서버간 일회용 자격 증명을 이용하므로 재생 공격 및 중간자 공격에도 안전한 사용자 인증 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명은 비밀키 및 공개키와 같은 암호키를 이용하지 않기 때문에 상대적으로 인증을 위한 속도가 매우 빠른 사용자 인증 방법 및 장치를 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 클라이언트 단말과 서버 사이에 전달되는 일회용 자격 증명을 통해 클라이언트 단말과 서버를 상호간 검증하여 인증할 수 있는 사용자 인증 방법이 제공된다.
본 발명의 일 실시예에 따르면, 서버에서 사용자를 인증하는 방법에 있어서, (a) 클라이언트 단말의 사용자 아이디를 포함하는 인증 요청에 따라 일회성 서버 증명 메시지를 전송한 후 상기 클라이언트 단말로부터 일회성 단말 증명 메시지를 수신하는 단계; 및 (b) 상기 사용자 아이디에 대응하여 기저장된 해시값을 이용하여 상기 일회성 단말 증명 메시지를 검증하여 사용자를 인증하는 단계를 포함하는 사용자 인증 방법이 제공될 수 있다.
상기 해시값은 패스워드 및 도메인명을 단방향 해시함수를 적용한 결과값으로 상기 클라이언트 단말로부터 계정 등록시 상기 사용자 아이디와 함께 등록될 수 있다.
상기 일회성 단말 증명 메시지는 상기 해시값, 상기 클라이언트 단말의 아이피 정보 및 랜덤값 중 적어도 하나를 단방향 해시함수를 적용한 이차 해시값과 상기 해시값을 배타적 논리합 연산한 결과값을 포함할 수 있다.
상기 랜덤값은 상기 일회성 서버 증명 메시지에서 추출되되, 인증시마다 랜덤하게 생성될 수 있다.
상기 (b) 단계의 사용자를 인증하는 단계는, 상기 랜덤값, 상기 해시값 및 상기 일회성 단말 증명 메시지의 패킷 헤더에 포함된 아이피 정보 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 계산하는 단계; 상기 계산된 이차 해시값과 상기 해시값을 배타적 논리합 연산을 통해 결과값을 도출하는 단계; 및 상기 도출된 결과값과 상기 일회성 단말 증명 메시지에 포함된 결과값의 동일 여부를 판단하여 상기 사용자를 인증하는 단계를 포함할 수 있다.
상기 (a) 단계의 상기 일회성 서버 증명 메시지의 전송은, 랜덤값을 생성하는 단계; 상기 해시값과 상기 랜덤값을 배타적 논리합 연산을 수행하여 검증 시드값을 계산하는 단계; 상기 해시값, 상기 랜덤값 및 아이피정보 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 계산하는 단계; 상기 이차 해시값과 상기 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산하는 단계; 상기 결과값과 상기 검증 시드값을 포함하는 상기 일회성 서버 증명 메시지를 생성하는 단계; 및 상기 생성된 일회성 서버 증명 메시지를 상기 클라이언트 단말로 전송하는 단계를 포함할 수 있다.
상기 (a) 단계 이전에, 상기 클라이언트 단말의 계정 등록 요청에 따라 상기 사용자 아이디 및 해시값을 대응하여 저장하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 클라이언트 단말에서 서버로 사용자 인증을 요청하는 방법에 있어서, 사용자 아이디를 상기 서버로 전송하는 단계; 상기 사용자 아이디 전송에 따라 상기 서버로부터 일회성 서버 증명 메시지를 수신하는 단계; 및 패스워드를 이용한 해시값을 이용하여 상기 일회성 서버 증명 메시지를 검증하여 서버 검증이 성공하면, 사용자 인증을 위한 일회성 단말 증명 메시지를 생성하여 상기 서버로 전송하는 단계를 포함하는 사용자 인증 요청 방법이 제공될 수 있다.
상기 해시값은 상기 패스워드 및 도메인명을 단방향 해시 함수에 적용한 결과값이다.
상기 일회성 서버 증명 메시지는 상기 해시값, 서버의 아이피정보 및 상기 랜덤값 중 적어도 하나를 단방향 해시 함수를 적용한 이차 해시값과 상기 해시값을 배타적 논리합 연산한 결과값 및 검증 시드값을 포함하는 것을 특징으로 사용자 인증 요청 방법.
상기 일회성 서버 증명 메시지를 검증하는 단계는, 상기 검증 시드값을 추출하는 단계; 상기 해시값과 상기 검증 시드값을 배타적 논리합 연산을 수행하여 랜덤값을 추출하는 단계; 상기 랜덤값, 상기 일회성 서버 증명 메시지의 패킷헤더에 포함된 아이피정보 및 상기 해시값을 단방향 해시함수에 적용하여 이차 해시값을 계산하고, 상기 이차 해시값과 상기 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산하는 단계; 및 상기 결과값과 상기 일회성 서버 증명 메시지에 포함된 결과값의 동일 여부에 따라 상기 서버를 검증하는 단계를 포함할 수 있다.
상기 (b) 단계의 일회성 단말 증명 메시지를 생성하는 단계는, 상기 랜덤값, 상기 해시값 및 상기 클라이언트 단말의 아이피정보 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 생성하는 단계; 상기 이차 해시값과 상기 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산하는 단계; 및 상기 결과값을 포함하여 상기 일회성 단말 증명 메시지를 생성할 수 있다.
본 발명의 다른 측면에 따르면, 클라이언트 단말과 서버 사이에 전달되는 일회용 자격 증명을 통해 클라이언트 단말과 서버를 상호간 검증하여 인증할 수 있는 장치가 제공된다.
본 발명의 일 실시예에 따르면, 클라이언트 단말의 사용자 아이디를 포함하는 인증 요청에 따라 일회성 서버 증명 메시지를 전송하고, 상기 전송에 대한 응답으로 상기 클라이언트 단말로부터 일회성 단말 증명 메시지를 수신하는 통신부; 및 상기 사용자 아이디에 대응하여 기저장된 해시값을 이용하여 상기 일회성 단말 증명 메시지를 검증하여 사용자를 인증하는 인증부를 포함하는 서버가 제공될 수 있다.
본 발명의 다른 실시예에 따르면, 사용자 아이디를 서버로 전송함에 따라 상기 서버로부터 일회성 서버 증명 메시지를 수신하는 통신부; 패스워드를 이용한 해시값을 이용하여 상기 일회성 서버 증명 메시지를 검증하여 서버를 검증하는 서버 검증부; 및 상기 서버 검증이 성공하면, 사용자 인증을 위한 일회성 단말 증명 메시지를 생성하여 상기 서버로 전송하는 인증 요청부를 포함하는 클라이언트 단말이 제공될 수 있다.
본 발명의 일 실시예에 따른 사용자 인증 방법 및 장치를 제공함으로써, 클라이언트 단말과 서버 사이에 전달되는 일회용 자격 증명을 통해 클라이언트 단말과 서버를 상호간 검증하여 인증하는 방식으로, 사용자 인증을 위한 패스워드를 서버로 전달하지 않고 사용자를 인증할 수 있어 악의적인 피싱 또는 파밍 공격에도 개인 정보가 유출되는 것을 방지할 수 있는 이점이 있다.
또한, 본 발명은 클라이언트 단말과 서버간 일회용 자격 증명을 이용하므로 재생 공격 및 중간자 공격에도 안전한 이점이 있다.
또한, 본 발명은 비밀키 및 공개키와 같은 암호키를 이용하지 않기 때문에 상대적으로 인증을 위한 속도가 매우 빠른 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 인증을 위한 시스템의 구성을 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 클라이언트 단말에서 서버에 사용자 계정을 등록하는 방법을 나타낸 흐름도.
도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 나타낸 흐름도.
도 4는 본 발명의 일 실시예에 따른 서버에서 일회성 서버 증명 메시지를 생성하는 과정을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 클라이언트 단말에서 서버를 검증하는 과정을 나타낸 순서도.
도 6은 본 발명의 일 실시예에 따른 클라이언트 단말의 내부 구성을 개략적으로 도시한 블록도.
도 7은 본 발명의 일 실시예에 따른 서버의 구성을 개략적으로 도시한 블록도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 클라이언트 단말의 인증을 위해 사용자의 패스워드를 서버로 전송하지 않고, 클라이언트 단말과 서버가 일회용 자격 증명을 교환하여 상호 검증을 통해 인증을 수행할 수 있는 사용자 인증 방법 및 그 시스템에 관한 것이다.
이와 같이, 사용자의 패스워드를 서버로 전송하지 않음으로써 피싱, 파밍 등의 공격에도 사용자 인증을 위한 정보가 외부에 노출되는 것을 사전에 차단할 수 있다. 이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 사용자 인증을 위한 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자 인증을 위한 시스템은 클라이언트 단말(110) 및 서버(120)를 포함하여 구성된다.
클라이언트 단말(110)은 서버(120)에 접속하여 서버(120)에서 제공하는 다양한 서비스를 제공받기 위한 수단이다. 클라이언트 단말(110)은 서버(120)에서 제공되는 서비스를 제공받기 위해 서버(120)와의 인증 절차를 수행해야만 한다.
클라이언트 단말(110)은 서버(120)와의 인증 절차 수행을 위해 우선 사용자 식별정보(예를 들어, 사용자 아이디)를 서버(120)로 전송하고, 서버(120)를 통해 일회용 서버 증명 메시지를 수신한다. 이어, 클라이언트 단말(110)은 설정된 패스워드를 이용하여 일회용 서버 증명 메시지를 검증한 후 검증 성공하면, 당해 클라이언트 단말(110)의 증명을 위한 일회용 단말 증명 메시지를 생성하여 서버(120)로 전송할 수 있다.
클라이언트 단말(110)과 서버(120)에서 송수신되는 일회용 서버 증명 메시지 및 일회용 단말 증명 메시지는 각각 패스워드 및 도메인명을 이용한 해시값을 포함하고 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트 단말에서 서버에 사용자 계정을 등록하는 방법을 나타낸 흐름도이다.
단계 210에서 클라이언트 단말(110)은 사용자 패스워드와 도메인명을 단방향 해시 함수에 적용하여 해시값을 생성한다.
보다 상세하게, 사용자가 클라이언트 단말(110)을 통해 웹 브라우저를 실행하고, 사용자 계정을 결정하여 입력한다고 가정하자. 실행된 웹 브라우저는 서버(120)의 도메인명과 입력된 패스워드를 단방향 해시 함수에 적용하여 해시값을 생성할 수 있다.
단계 215에서 클라이언트 단말(110)은 생성된 해시값과 사용자에 의해 입력된 사용자 아이디를 서버(120)로 전송한다. 보다 상세하게 클라이언트 단말(110)을 통해 실행된 웹 브라우저는 사용자 계정 등록을 위해 해시값과 사용자 아이디를 서버(120)로 전송할 수 있다.
이에, 단계 220에서 서버(120)는 클라이언트 단말(110)을 통해 수신된 해시값과 사용자 아이디를 저장한다. 서버(120)는 수신된 사용자 아이디에 해시값을 대응시켜 저장할 수 있다.
이와 같이, 본 발명의 일 실시예에 따른 사용자 계정 등록시, 사용자의 패스워드를 직접적으로 노출하지 않고 단방향 해시함수를 적용한 해시값으로 전송함으로써, 파밍이나 피싱 공격에도 사용자 계정의 패스워드가 노출되는 것을 방지할 수 있는 이점이 있다.
도 3은 본 발명의 일 실시예에 따른 사용자 인증 방법을 나타낸 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 서버에서 일회성 서버 증명 메시지를 생성하는 과정을 나타낸 순서도이고, 도 5는 본 발명의 일 실시예에 따른 클라이언트 단말에서 서버를 검증하는 과정을 나타낸 순서도이다.
단계 310에서 클라이언트 단말(110)은 서버(120)에서 제공하는 다양한 서비스를 제공받기 위해 사용자 인증을 위해 필요한 사용자 아이디를 서버(120)로 전송한다.
보다 상세하게 이하에서 설명되는 클라이언트 단말(110)은 웹 브라우저가 설치되어 있으며, 해당 서버(120)에서의 제공하는 서비스 이용을 위해 웹 브라우저가 실행되어 있는 것을 가정하기로 한다. 즉, 하기에서 설명되는 클라이언트 단말(110)의 각 단계는 클라이언트 단말(110)로 통칭하여 설명하더라도 클라이언트 단말(110)상에 실행된 웹 브라우저를 통해 수행되는 것으로 확정 해석되어야 할 것이다.
단계 315에서 서버(120)는 클라이언트 단말(110)로부터 수신된 사용자 아이디에 대응하여 저장된 해시값을 이용하여 일회성 서버 증명 메시지를 생성한다.
도 4를 참조하여 서버(120)에서 일회성 서버 증명 메시지를 생성하는 방법에 대해 상세히 설명하기로 하자.
단계 410에서 서버(120)는 클라이언트 단말(110)을 통해 수신된 사용자 아이디에 대응하는 해시값을 추출한다.
도 2에서 전술한 바와 같이, 사용자 계정이 등록된 각 사용자에 대해 서버(120)는 사용자 아이디와 함께 해시값(패스워드와 도메인명을 해싱한 해시값)을 대응시켜 저장하고 있다.
이에 따라, 서버(120)는 사용자 아이디가 등록되어 있는 경우, 해당 사용자 아이디에 대응하는 해시값을 추출할 수 있다. 물론, 사용자 아이디가 미등록되어 있는 경우, 서버(120)는 사용자 아이디 미등록에 상응하는 안내 메시지를 생성하여 클라이언트 단말(110)로 전송할 수도 있음은 당연하다.
단계 415에서 서버(120)는 일회성 서버 증명 메시지 생성을 위한 랜덤값을 생성한다. 여기서, 랜덤값은 서버(120)에서 사용자 인증을 수행할때마다 랜덤하게 생성된다. 이에 따라 서버(120)에서 클라이언트 단말(110)로 전송하는 일회성 서버 증명 메시지는 매번 상이하게 된다.
도 4에서는 사용자 아이디에 대응하는 해시값을 추출한 후 랜덤값을 생성하는 것을 가정하고 있으나, 단계 415가 단계 410 이전에 수행될 수도 있음은 당연하다.
단계 420에서 서버(120)는 랜덤값과 해시값에 대해 배타적 논리합 연산을 수행하여 검증 시드값을 생성한다.
이어, 단계 425에서 서버(120)는 해시값, 랜덤값 및 아이피정보 중 적어도 하나를 단방향 해시함수에 적용하여 이차 해시값을 계산한다. 여기서, 아이피정보는 서버(120)의 아이피주소일 수 있다.
본 명세서에서 이차 해시값은 단방향 해시함수를 적용한 해시값을 다시 단방향 해시함수를 적용한 결과값을 지칭한다.
단계 430에서 서버(120)는 계산된 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 결과값을 도출한다.
단계 435에서 서버(120)는 검증 시드값과 결과값을 연접하여 일회성 서버 증명 메시지를 생성한다.
일회성 서버 증명 메시지에서 검증 시드값은 랜덤값이 변경됨에 따라 매번 상이해지므로, 결과적으로 일회성 서버 증명 메시지는 인증시마다 상이하게 생성됨을 알 수 있다.
다시 도 3으로 돌아가서 단계 320에서 서버(120)는 생성된 일회성 서버 증명 메시지를 클라이언트 단말(110)로 전송한다.
단계 325에서 클라이언트 단말(110)은 서버(120)로부터 수신된 일회성 서버 증명 메시지를 검증한다.
이해와 설명의 편의를 도모하기 위해 클라이언트 단말(110)에서 일회성 서버 증명 메시지를 검증하는 방법에 대해 도 5를 참조하여 보다 상세히 설명하기로 한다.
도 4에서 설명한 바와 같이, 일회성 서버 증명 메시지는 검증 시드값과 결과값을 포함하고 있다.
이에 단계 510에서 클라이언트 단말(110)은 서버(120)를 통해 수신된 일회성 서버 증명 메시지에서 검증 시드값을 추출한다.
검증 시드값은 도 4에서 전술한 바와 같이, 랜덤값과 해시값의 배타적 논리합 연산에 의해 생성된 결과값이다.
이에 따라 단계 515에서 클라이언트 단말(110)은 당해 클라이언트 단말(110)을 통해 기입력된 패스워드와 서버(120)의 도메인명을 단방향 해시함수를 적용하여 해시값을 계산한다.
단계 520에서 클라이언트 단말(110)은 계산된 해시값과 검증 시드값을 배타적 논리합 연산을 수행하여 랜덤값을 추출한다.
단계 525에서 클라이언트 단말(110)은 추출된 랜덤값, 해시값 및 일회성 서버 증명 메시지의 패킷 헤더에 포함된 아이피 정보 중 적어도 하나를 단방향 해시함수에 적용하여 이차 해시값을 계산한다.
단계 530에서 클라이언트 단말(110)은 계산된 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산한다.
단계 535에서 클라이언트 단말(110)은 계산된 결과값과 일회성 서버 증명 메시지에 포함된 결과값이 동일한지 여부를 판단한다.
만일 계산된 결과값과 일회성 서버 증명 메시지에서 추출된 결과값이 동일하면, 단계 540에서 클라이언트 단말(110)은 서버에 대한 검증이 성공한 것으로 인식한다.
그러나 만일 계산된 결과값과 일회성 서버 증명 메시지에서 추출된 결과값이 동일하지 않으면, 단계 545에서 클라이언트 단말(110)은 서버에 대한 검증이 실패한 것으로 인식할 수 있다.
단계 330에서 클라이언트 단말(110)은 서버 검증이 성공하였는지 여부를 판단한다.
만일 서버 검증에 실패한 경우, 단계 335에서 클라이언트 단말(110)은 서버 검증 실패에 상응하는 안내 메시지를 표출한 후 서버(120)로의 연결 과정을 종료할 수 있다.
그러나 만일 서버 검증에 성공한 경우, 단계 340에서 클라이언트 단말(110)은 랜덤값 및 해시값을 이용하여 일회성 단말 증명 메시지를 생성한다.
예를 들어, 클라이언트 단말(110)은 랜덤값과 해시값을 이용하여 계산된 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 일회성 단말 증명 메시지를 생성할 수 있다.
이미 전술한 바와 같이, 이차 해시값 계산시, 단방향 해시 함수에는 랜덤값과 해시값 이외에도 클라이언트 단말(110)의 아이피 정보가 시드값으로 더 활용될 수도 있음은 당연하다.
단계 345에서 클라이언트 단말(110)은 일회용 단말 증명 메시지를 서버(120)로 전송한다.
단계 350에서 서버(120)는 클라이언트 단말(110)로부터 수신된 일회성 단말 증명 메시지를 이용하여 단말을 검증한다.
예를 들어, 서버(120)는 클라이언트 단말(110)로부터의 일회성 단말 증명 메시지가 수신되면, 해시값, 랜덤값 및 패킷헤더의 근원지 아이피 정보 중 적어도 하나를 단방향 해시함수를 적용하여 이차 해시값을 계산할 수 있다. 이어, 서버(120)는 계산된 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 결과값을 도출한다. 서버(120)는 도출된 결과값과 일회성 단말 증명 메시지에 포함된 결과값을 비교하여 동일한지 여부를 판단한다.
만일 계산된 결과값과 일회성 단말 증명 메시지에 포함된 결과값이 동일하면 서버(120)는 단말 검증이 성공한 것으로 인식할 수 있다. 그러나 만일 계산된 결과값과 일회성 단말 증명 메시지에 포함된 결과값이 상이하면 서버(120)는 단말 검증이 실패한 것으로 인식할 수 있다.
단계 355에서 서버(120)는 단말 검증이 성공했는지 여부를 판단한다.
만일 단말 검증이 실패한 경우, 단계 360에서 서버(120)는 검증 실패에 따라 클라이언트 단말(110)의 접속을 차단할 수 있다. 이때, 서버(120)는 검증 실패에 따른 안내 메시지를 클라이언트 단말(110)로 전송할 수도 있다.
그러나 만일 단말 검증이 성공한 경우, 단계 365에서 서버(120)는 단말 검증 성공에 상응하는 안내 메시지를 클라이언트 단말(110)로 전송하고, 클라이언트 단말(110)에서 요청하는 서비스를 제공할 수 있다.
도 3 내지 도 5를 참조하여 설명한 바와 같이, 본 발명의 일 실시예에 따른 사용자 인증 방법은 비록 사용자 아이디가 외부에 노출되더라도 사용자 아이디에 대응하는 패스워드를 클라이언트 단말과 서버간 직접 전송하지 않은채 사용자를 인증할 수 있다. 이에 악의적인 피싱이나 파밍 공격에도 사용자 계정이 모두 노출되는 것을 방지할 수 있는 이점이 있다.
도 6은 본 발명의 일 실시예에 따른 클라이언트 단말의 내부 구성을 개략적으로 도시한 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 클라이언트 단말(110)은 통신부(610), 서버 검증부(615), 인증 요청부(620), 입력부(625), 디스플레이부(630), 메모리(635) 및 제어부(640)를 포함하여 구성된다.
통신부(610)는 통신망을 통해 다른 장치(예를 들어, 서버(120))와 데이터를 송수신하기 위한 수단이다.
예를 들어, 통신부(610)는 제어부(640)의 제어에 따라 사용자 아이디 또는 일회성 단말 증명 메시지를 전송할 수 있다. 또한, 통신부(610)는 서버(120)로부터 일회성 서버 증명 메시지를 수신받아 서버 검증부(615)로 출력할 수 있다.
서버 검증부(615)는 통신부(610)를 통해 수신받은 일회성 서버 증명 메시지를 이용하여 서버를 검증하기 위한 수단이다.
이미 전술한 바와 같이, 일회성 서버 증명 메시지는 검증 시드값과 이차 해시값을 포함하고 있다. 검증 시드값은 랜덤값과 해시값을 포함하고 있으며, 해시값은 패스워드 및 도메인명을 단방향 해시함수에 적용한 결과값이다.
이에 따라, 서버 검증부(615)는 기설정된(또는 기입력된) 패스워드 및 도메인명을 단방향 해시 함수에 적용하여 해시값을 계산할 수 있다. 이어, 서버 검증부(615)는 계산된 해시값과 검증 시드값을 배타적 논리합 연산을 수행하여 랜덤값을 추출할 수 있다.
랜덤값을 추출한 후 서버 검증부(615)는 일회성 서버 증명 메시지의 패킷 헤더에 포함된 아이피정보(즉, 서버(120)의 아이피 정보)와 랜덤값 및 해시값을 단방향 해시 함수에 적용하여 이차 해시값을 계산할 수 있다. 서버 검증부(615)는 계산된 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 결과값을 도출할 수 있다. 이어, 서버 검증부(615)는 도출된 결과값과 일회성 서버 증명 메시지에 포함된 결과값의 동일 여부에 따라 서버(120)를 검증할 수 있다. 즉, 서버 검증부(615)는 계산된 결과값과 일회성 서버 증명 메시지에 포함된 결과값이 동일하면 서버 검증이 성공한 것으로 인식하고, 상이하면 서버 검증이 실패한 것으로 인식할 수 있다.
인증 요청부(620)는 서버 검증부(615)에 의한 서버 검증이 성공하면, 단말 검증을 위한 일회성 단말 증명 메시지를 생성하여 사용자 인증을 요청하기 위한 수단이다.
예를 들어, 인증 요청부(620)는 서버 검증부(615)를 통해 추출된 랜덤값, 클라이언트 단말의 아이피 정보 및 해시값 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 생성한다. 이어, 인증 요청부(620)는 해시값과 이차 해시값을 배타적 논리합 연산을 수행한 결과값을 계산한 후 결과값을 포함하는 일회성 단말 증명 메시지를 생성하여 서버(120)로 전송하도록 제어할 수 있다.
입력부(625)는 사용자로부터 당해 클라이언트 단말(110)을 제어하기 위해 다양한 제어 명령, 다양한 정보(예를 들어, 사용자 아이디 및 패스워드 등)을 입력받기 위한 수단이다. 예를 들어, 입력부(625)는 적어도 하나의 키버튼으로 구현될 수 있다.
디스플레이부(630)는 다양한 데이터를 시각 정보의 형태로 표출하기 위한 수단이다. 예를 들어, 디스플레이부(630)는 액정화면일 수 있다.
메모리(635)는 본 발명의 일 실시예에 따른 클라이언트 단말(110)을 운용하기 위해 필요한 다양한 알고리즘, 해시함수, 사용자 인증 과정에서 도출된 다양한 데이터 등을 저장한다.
제어부(640)는 본 발명의 일 실시예에 따른 클라이언트 단말(110)의 내부 구성 요소들(예를 들어, 통신부(610), 서버 검증부(615), 인증 요청부(620), 입력부(625), 디스플레이부(630), 메모리(635) 등)을 제어하기 위한 수단이다.
도 7은 본 발명의 일 실시예에 따른 서버의 구성을 개략적으로 도시한 블록도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 서버(120)는 통신부(710), 검증 요청부(715), 인증부(720), 디스플레이부(725), 메모리(730) 및 서버 제어부(735)를 포함하여 구성된다.
통신부(710)는 통신망을 통해 다른 장치(예를 들어, 클라이언트 단말(110)) 등과 데이터를 송수신하기 위한 수단이다.
예를 들어, 통신부(710)는 클라이언트 단말(110)로부터 사용자 아이디를 수신하거나 서버 제어부(735)의 제어에 따라 일회성 서버 증명 메시지를 클라이언트 단말(110)로 전송할 수 있다.
검증 요청부(715)는 클라이언트 단말(110)을 통해 수신된 사용자 아이디에 대응하는 해시값을 이용하여 일회성 서버 증명 메시지를 생성하여 서버 검증을 요청하기 위한 수단이다.
예를 들어, 검증 요청부(715)는 사용자 인증을 위한 랜덤값을 생성하고, 사용자 아이디에 대응하는 해시값을 추출한다. 이어, 검증 요청부(715)는 랜덤값, 해시값 및 서버의 아이피정보 중 적어도 하나를 단방향 해시함수에 적용하여 이차 해시값을 계산한다. 그리고, 검증 요청부(715)는 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 결과값을 생성한다.
이어, 검증 요청부(715)는 결과값과 검증 시드값을 연접하여 일회성 서버 증명 메시지를 생성하여 이를 클라이언트 단말(110)로 전송할 수 있다.
인증부(720)는 통신부(710)로부터 입력된 일회성 단말 증명 메시지를 검증하여 사용자를 인증하기 위한 수단이다.
이미 전술한 바와 같이, 일회성 단말 증명 메시지는 결과값을 포함하고 있다. 여기서, 결과값은 해시값, 클라이언트 단말의 아이피정보 및 랜덤값 중 적어도 하나를 단방향 해시함수에 적용한 이차 해시값과 해시값을 배타적 논리합 연산한 결과값이다.
이에 따라, 인증부(720)는 당해 서버(120)에 저장된 사용자 아이디에 대응하여 기저장된 해시값, 일회성 단말 증명 메시지의 패킷 헤더에 포함된 아이피정보 및 랜덤값 중 적어도 하나를 단방향 해시함수를 적용한 이차 해시값을 계산한다. 이어, 인증부(720)는 계산된 이차 해시값과 해시값을 배타적 논리합 연산을 수행하여 결과값을 도출할 수 있다.
이와 같이 인증부(720)는 도출된 결과값과 일회성 단말 증명 메시지에 포함된 결과값의 동일 여부를 비교하여 사용자를 인증할 수 있다. 즉, 인증부(720)는 도출된 결과값과 일회성 단말 증명 메시지에 포함된 결과값이 동일하면 사용자 인증이 성공한 것으로 인식하고 상이하면 사용자 인증이 실패한 것으로 인식할 할 수 있다.
디스플레이부(725)는 다양한 데이터를 시각 정보의 형태로 표출하기 위한 수단이다. 예를 들어, 디스플레이부(725)는 액정화면일 수 있다.
메모리(730)는 본 발명의 일 실시예에 따른 서버(120)를 운용하기 위해 필요한 다양한 알고리즘, 해시함수, 사용자 인증 과정에서 도출된 다양한 데이터 등을 저장한다.
서버 제어부(735)는 본 발명의 일 실시예에 따른 서버(120)의 내부 구성 요소들(예를 들어, 통신부(710), 검증 요청부(715), 인증부(720), 디스플레이부(725), 메모리(730) 등)을 제어하기 위한 수단이다.
한편, 본 발명의 실시예에 따른 사용자 인증 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: 클라이언트 단말
120: 서버

Claims (15)

  1. 서버에서 사용자를 인증하는 방법에 있어서,
    (a) 클라이언트 단말의 사용자 아이디를 포함하는 인증 요청에 따라 일회성 서버 증명 메시지를 전송한 후 상기 클라이언트 단말로부터 일회성 단말 증명 메시지를 수신하는 단계; 및
    (b) 상기 사용자 아이디에 대응하여 기저장된 해시값을 이용하여 상기 일회성 단말 증명 메시지를 검증하여 사용자를 인증하는 단계를 포함하되,
    상기 일회성 단말 증명 메시지는 상기 해시값, 상기 클라이언트 단말의 아이피 정보 및 랜덤값 중 적어도 하나를 단방향 해시함수를 적용한 이차 해시값과 상기 해시값을 배타적 논리합 연산한 결과값을 포함하는 것을 특징으로 하는 사용자 인증 방법.
  2. 제1 항에 있어서,
    상기 해시값은 패스워드 및 도메인명을 단방향 해시함수를 적용한 결과값으로 상기 클라이언트 단말로부터 계정 등록시 상기 사용자 아이디와 함께 등록되는 것을 특징으로 하는 사용자 인증 방법.

  3. 삭제
  4. 제1 항에 있어서,
    상기 랜덤값은 상기 일회성 서버 증명 메시지에서 추출되되,
    인증시마다 랜덤하게 생성되는 것을 특징으로 하는 사용자 인증 방법.
  5. 제1 항에 있어서,
    상기 (b) 단계의 사용자를 인증하는 단계는,
    상기 랜덤값, 상기 해시값 및 상기 일회성 단말 증명 메시지의 패킷 헤더에 포함된 아이피 정보 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 계산하는 단계;
    상기 계산된 이차 해시값과 상기 해시값을 배타적 논리합 연산을 통해 결과값을 도출하는 단계; 및
    상기 도출된 결과값과 상기 일회성 단말 증명 메시지에 포함된 결과값의 동일 여부를 판단하여 상기 사용자를 인증하는 단계를 포함하는 것을 특징으로 하는 사용자 인증 방법.
  6. 제1 항에 있어서,
    상기 (a) 단계의 상기 일회성 서버 증명 메시지의 전송은,
    랜덤값을 생성하는 단계;
    상기 해시값과 상기 랜덤값을 배타적 논리합 연산을 수행하여 검증 시드값을 계산하는 단계;
    상기 해시값, 상기 랜덤값 및 아이피정보 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 계산하는 단계;
    상기 이차 해시값과 상기 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산하는 단계;
    상기 결과값과 상기 검증 시드값을 포함하는 상기 일회성 서버 증명 메시지를 생성하는 단계; 및
    상기 생성된 일회성 서버 증명 메시지를 상기 클라이언트 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 사용자 인증 방법.
  7. 제1 항에 있어서,
    상기 (a) 단계 이전에,
    상기 클라이언트 단말의 계정 등록 요청에 따라 상기 사용자 아이디 및 해시값을 대응하여 저장하는 단계를 더 포함하는 사용자 인증 방법.
  8. 클라이언트 단말에서 서버로 사용자 인증을 요청하는 방법에 있어서,
    사용자 아이디를 상기 서버로 전송하는 단계;
    상기 사용자 아이디 전송에 따라 상기 서버로부터 일회성 서버 증명 메시지를 수신하는 단계; 및
    패스워드를 이용한 해시값을 이용하여 상기 일회성 서버 증명 메시지를 검증하여 서버 검증이 성공하면, 사용자 인증을 위한 일회성 단말 증명 메시지를 생성하여 상기 서버로 전송하는 단계를 포함하되,
    상기 일회성 서버 증명 메시지는 상기 해시값, 서버의 아이피정보 및 랜덤값 중 적어도 하나를 단방향 해시 함수를 적용한 이차 해시값과 상기 해시값을 배타적 논리합 연산한 결과값 및 검증 시드값을 포함하는 것을 특징으로 사용자 인증 요청 방법.
  9. 제8 항에 있어서,
    상기 해시값은 상기 패스워드 및 도메인명을 단방향 해시 함수에 적용한 결과값인 것을 특징으로 하는 사용자 인증 요청 방법.
  10. 삭제
  11. 제8 항에 있어서,
    상기 일회성 서버 증명 메시지를 검증하는 단계는,
    상기 검증 시드값을 추출하는 단계;
    상기 해시값과 상기 검증 시드값을 배타적 논리합 연산을 수행하여 상기 랜덤값을 추출하는 단계;
    상기 랜덤값, 상기 일회성 서버 증명 메시지의 패킷헤더에 포함된 아이피정보 및 상기 해시값을 단방향 해시함수에 적용하여 이차 해시값을 계산하고, 상기 이차 해시값과 상기 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산하는 단계; 및
    상기 결과값과 상기 일회성 서버 증명 메시지에 포함된 결과값의 동일 여부에 따라 상기 서버를 검증하는 단계를 포함하는 사용자 인증 요청 방법.
  12. 제8 항에 있어서,
    상기 일회성 단말 증명 메시지를 생성하는 단계는,
    상기 랜덤값, 상기 해시값 및 상기 클라이언트 단말의 아이피정보 중 적어도 하나를 단방향 해시 함수에 적용하여 이차 해시값을 생성하는 단계;
    상기 이차 해시값과 상기 해시값을 배타적 논리합 연산을 수행하여 결과값을 계산하는 단계; 및
    상기 결과값을 포함하여 상기 일회성 단말 증명 메시지를 생성하는 것을 특징으로 하는 사용자 인증 요청 방법.
  13. 제1 항, 제2항, 제4항 내지 제9항, 제11항 내지 제12 항 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 기록한 컴퓨터로 판독 가능한 기록매체.
  14. 클라이언트 단말의 사용자 아이디를 포함하는 인증 요청에 따라 일회성 서버 증명 메시지를 전송하고, 상기 전송에 대한 응답으로 상기 클라이언트 단말로부터 일회성 단말 증명 메시지를 수신하는 통신부; 및
    상기 사용자 아이디에 대응하여 기저장된 해시값을 이용하여 상기 일회성 단말 증명 메시지를 검증하여 사용자를 인증하는 인증부를 포함하되,
    상기 일회성 단말 증명 메시지는 상기 해시값, 상기 클라이언트 단말의 아이피 정보 및 랜덤값 중 적어도 하나를 단방향 해시함수를 적용한 이차 해시값과 상기 해시값을 배타적 논리합 연산한 결과값을 포함하는 것을 특징으로 하는 서버.
  15. 사용자 아이디를 서버로 전송함에 따라 상기 서버로부터 일회성 서버 증명 메시지를 수신하는 통신부;
    패스워드를 이용한 해시값을 이용하여 상기 일회성 서버 증명 메시지를 검증하여 서버를 검증하는 서버 검증부; 및
    상기 서버 검증이 성공하면, 사용자 인증을 위한 일회성 단말 증명 메시지를 생성하여 상기 서버로 전송하는 인증 요청부를 포함하되,
    상기 일회성 서버 증명 메시지는 상기 해시값, 서버의 아이피정보 및 랜덤값 중 적어도 하나를 단방향 해시 함수를 적용한 이차 해시값과 상기 해시값을 배타적 논리합 연산한 결과값 및 검증 시드값을 포함하는 것을 특징으로 클라이언트 단말.
KR1020130112531A 2013-09-23 2013-09-23 사용자 인증 방법 및 장치 KR101516881B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130112531A KR101516881B1 (ko) 2013-09-23 2013-09-23 사용자 인증 방법 및 장치
US14/493,926 US9203839B2 (en) 2013-09-23 2014-09-23 User authentication method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130112531A KR101516881B1 (ko) 2013-09-23 2013-09-23 사용자 인증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150033053A KR20150033053A (ko) 2015-04-01
KR101516881B1 true KR101516881B1 (ko) 2015-05-04

Family

ID=52692097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130112531A KR101516881B1 (ko) 2013-09-23 2013-09-23 사용자 인증 방법 및 장치

Country Status (2)

Country Link
US (1) US9203839B2 (ko)
KR (1) KR101516881B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3279800B1 (en) * 2015-03-30 2020-12-30 Securebrain Corporation Network communication method and network communication system
KR20170006784A (ko) 2015-07-09 2017-01-18 이태완 자필 입력 기반의 인증 장치 및 방법, 그리고 이에 적용되는 컴퓨터 프로그램 및 기록매체
CN106656349B (zh) * 2015-10-28 2019-10-25 深圳光启智能光子技术有限公司 光子ca认证方法及系统
CN105721496A (zh) * 2016-03-31 2016-06-29 中国人民解放军国防科学技术大学 一种轻量级地址自动分配协议安全认证方法
CN107786529B (zh) * 2016-08-31 2020-12-01 阿里巴巴集团控股有限公司 网站的检测方法、装置及系统
KR102055075B1 (ko) * 2018-08-21 2019-12-11 권성호 일회성 데이터를 이용한 업무 처리 시스템 및 방법
US10389708B1 (en) 2019-01-03 2019-08-20 Capital One Services, Llc Secure authentication of a user associated with communication with a service representative
CN110690956B (zh) * 2019-09-27 2022-09-06 杭州海康威视数字技术股份有限公司 双向认证方法及系统、服务器和终端
CN112989398B (zh) * 2021-05-18 2021-07-30 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质
KR102486585B1 (ko) * 2021-10-21 2023-01-09 주식회사 엔디에스 네트워크를 통한 사용자 자격 검증 방법 및 이에 사용되는 서비스 제공 서버
US11843619B1 (en) * 2022-10-07 2023-12-12 Uab 360 It Stateless system to enable data breach notification

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774411B2 (en) * 2003-12-12 2010-08-10 Wisys Technology Foundation, Inc. Secure electronic message transport protocol
US8024574B2 (en) * 2004-01-22 2011-09-20 International Business Machines Corporation Unidirectional message masking and validation system and method
JP4693171B2 (ja) * 2006-03-17 2011-06-01 株式会社日立ソリューションズ 認証システム
US7926095B1 (en) * 2007-05-04 2011-04-12 Avaya Inc. Efficient authentication system for primary and secondary servers
CN101425897B (zh) * 2007-10-29 2011-05-18 上海交通大学 一种用户认证方法、系统、服务器和用户节点
US8230231B2 (en) * 2009-04-14 2012-07-24 Microsoft Corporation One time password key ring for mobile computing device
US8412928B1 (en) * 2010-03-31 2013-04-02 Emc Corporation One-time password authentication employing local testing of candidate passwords from one-time password server
KR20120072032A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 모바일 단말의 상호인증 시스템 및 상호인증 방법

Also Published As

Publication number Publication date
US9203839B2 (en) 2015-12-01
US20150089228A1 (en) 2015-03-26
KR20150033053A (ko) 2015-04-01

Similar Documents

Publication Publication Date Title
KR101516881B1 (ko) 사용자 인증 방법 및 장치
RU2718237C2 (ru) Системы и способы для аутентификации онлайнового пользователя с использованием сервера безопасной авторизации
US9112828B2 (en) Method for defending against session hijacking attacks and firewall
CN106575416B (zh) 用于向装置验证客户端的系统和方法
US20180145979A1 (en) Method and device for registering based on authenticating device
US9736131B2 (en) Secure login for subscriber devices
US9083703B2 (en) Mobile enterprise smartcard authentication
US8584224B1 (en) Ticket based strong authentication with web service
CN102624720B (zh) 一种身份认证的方法、装置和系统
CN108810021B (zh) 确定验证功能的查询系统和方法
US20170244676A1 (en) Method and system for authentication
US8627424B1 (en) Device bound OTP generation
WO2017028804A1 (zh) 一种Web实时通信平台鉴权接入方法及装置
EP2854365A1 (en) Detecting and preventing man-in-the-middle attacks on an encrypted connection
US20170223009A1 (en) Late binding authentication
US20180026968A1 (en) Managing security credentials
WO2014048749A1 (en) Inter-domain single sign-on
CN106161348B (zh) 一种单点登录的方法、系统以及终端
CN104283886A (zh) 一种基于智能终端本地认证的web安全访问的实现方法
CN110175448B (zh) 一种可信设备登录认证方法及具有认证功能的应用系统
CN113711560A (zh) 用于有效质询-响应验证的系统和方法
CN111800378A (zh) 一种登录认证方法、装置、系统和存储介质
CN106487752B (zh) 一种用于验证访问安全的方法和装置
CN112929388B (zh) 网络身份跨设备应用快速认证方法和系统、用户代理设备
KR102372503B1 (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버

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: 20180409

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 5