KR101737925B1 - 도전-응답 기반의 사용자 인증 방법 및 시스템 - Google Patents

도전-응답 기반의 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
KR101737925B1
KR101737925B1 KR1020160016595A KR20160016595A KR101737925B1 KR 101737925 B1 KR101737925 B1 KR 101737925B1 KR 1020160016595 A KR1020160016595 A KR 1020160016595A KR 20160016595 A KR20160016595 A KR 20160016595A KR 101737925 B1 KR101737925 B1 KR 101737925B1
Authority
KR
South Korea
Prior art keywords
user authentication
value
challenge
user
user terminal
Prior art date
Application number
KR1020160016595A
Other languages
English (en)
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 KR1020160016595A priority Critical patent/KR101737925B1/ko
Application granted granted Critical
Publication of KR101737925B1 publication Critical patent/KR101737925B1/ko

Links

Images

Classifications

    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • 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/3247Cryptographic 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 involving digital signatures

Abstract

도전-응답 기반의 사용자 인증 방법 및 시스템이 개시된다. 본 발명의 실시예에 따른 도전-응답 기반의 사용자 인증 방법은 사용자 단말로부터 인증 요청을 수신한 제1 장치에서 도전 값과 도전 값에 대한 유효성 검증 정보를 생성하는 단계, 제1 장치로부터 도전 값과 유효성 검증 정보를 전송받은 사용자 단말에서 도전 값과 유효성 검증 정보를 이용하여 응답 값을 생성하는 단계 및 사용자 단말로부터 응답 값과 유효성 검증 정보를 수신한 제2 장치에서 응답 값과 유효성 검증 정보를 검증하여 사용자 인증을 수행하는 단계를 포함한다. 따라서, 사용자 인증을 수행하는 시스템의 구현 복잡도를 낮추고, 사용자 인증의 효율성과 보안성을 향상시킬 수 있다.

Description

도전-응답 기반의 사용자 인증 방법 및 시스템{METHOD AND SYSTEM FOR AUTHENTICATING USER BASED ON CHALLENGE-RESPONSE}
본 발명은 사용자 인증 기술에 관한 것으로, 더욱 상세하게는, 사용자 단말의 인증 요청에 따라 도전 값을 생성하는 기능과 사용자 단말로부터 수신한 응답 값을 검증하는 기능이 상이한 장치에서 수행되도록 분리하는 도전-응답 기반의 사용자 인증 방법 및 시스템에 관한 것이다.
정보 통신 기술이 발달함에 따라 사용자는 사용자 단말을 이용하여 은행 업무, 물건 주문, 대금 결재뿐 아니라 원격 의료, 사물인터넷(Internet of Things, 이하 ‘IoT’)과 같은 다양한 온라인 서비스를 이용할 수 있게 되었다.
이 때, 사용자가 사용자 단말을 통해 온라인 서비스를 이용하기 위해서는 온라인 서비스에 대한 접근 권한이 부여되어 있는 지를 확인하는 사용자 인증이 필수적으로 수행되어야 한다. 그리하여, 종래에는 사용자가 사용자 단말을 통해 사용자 식별번호(ID, IDentification)와 비밀번호(password)를 포함하는 로그인(login) 정보를 입력하면, 사용자 인증을 수행하는 서버가 사용자 단말로부터 입력된 로그인 정보와 미리 등록된 로그인 정보가 일치하는 지를 확인하여 접근 권한이 부여된 사용자인지 인증하는 방법이 이용되었다.
상술한 종래의 사용자 인증 방식은 현재 대부분의 온라인 서비스에서 활용되고 있으나, 사용자의 로그인 정보가 통신망을 통해 전송되는 과정에서 네트워크를 감청하는 공격자에 의해 노출되어 불법으로 도용되거나 사용자의 개인 정보가 유출될 수 있다는 문제가 있다. 특히, 단순히 ID와 비밀번호를 입력하는 사용자 인증 방법만으로 최근 상용화가 진행되고 있는 원격 의료 서비스나 사물인터넷 서비스의 이용에 따른 보안 사고를 방지하는 것은 한계가 있다.
상술한 종래 기술의 한계를 극복하기 위해, 사용자 인증을 수행하는 서버에서 생성하는 도전(challenge) 값과 도전 값을 기반으로 사용자 단말에서 산출하는 응답(response) 값을 이용하여 사용자를 인증하는 도전-응답 기반의 사용자 인증 방법이 이용되고 있다.
보다 구체적으로, 도전-응답 기반의 사용자 인증 방법은, 도 1에 도시된 바와 같이 사용자 단말(110)이 사용자 인증을 요청하면(S101), 사용자 인증을 수행하는 서버(200)는 도전 값을 생성하여(S102) 사용자 단말(110)에 전송한다(S103). 도전 값을 수신한 사용자 단말(110)이 도전 값을 기반으로 응답 값을 산출하여(S104) 서버(200)에 전송하면(S105), 서버(200)는 사용자 단말(110)로부터 수신한 응답 값을 검증하여(S106) 사용자 인증을 수행한 후, 사용자 인증 결과를 사용자 단말(110)에 전송한다(S107).
그러나, 상술한 종래의 도전-응답 기반의 사용자 인증 방법은 도전 값을 생성하는 기능과 사용자 단말로부터 수신한 응답 값을 검증하는 기능이 모두 사용자 인증을 수행하는 서버(200)에서 수행되기 때문에, 서버(200)에서 처리해야 하는 연산량과 통신량이 많아 사용자 인증에 대한 효율성이 떨어진다는 문제가 있다.
또한, 사용자 인증을 수행하는 서버(200)가 도전 값을 생성한 후 사용자 단말(110)로부터 응답 값이 수신될 때까지 도전 값을 보관해야 하는데, 부하 분산(load balancing)을 위해 여러 대의 서버가 동시에 운영되는 경우 도전 값을 생성하는 서버와 사용자 단말로부터 수신한 응답 값을 검증하는 서버가 상이할 수 있기 때문에, 사용자 인증을 수행하는 시스템을 구현하는 복잡도가 높아질 수 있다는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 도전 값을 생성하는 기능과 사용자 단말에서 산출된 응답 값을 검증하는 기능이 상이한 장치에서 수행되도록 분리함으로써 사용자 인증을 수행하는 시스템의 구현 복잡도를 낮추고 사용자 인증에 대한 효율성을 향상시킬 수 있는 사용자 인증 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 사용자 인증을 위해 도전 값의 유효성을 검증할 수 있는 유효성 검증 정보를 생성함으로써 사용자 인증에 대한 보안성을 향상시킬 수 있는 사용자 인증 시스템을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 사용자 인증 방법은, 사용자 인증 시스템에서 수행되며, 사용자 단말로부터 인증 요청을 수신한 제1 장치에서 도전(challenge) 값과 도전 값에 대한 유효성 검증 정보를 생성하는 단계, 제1 장치로부터 도전 값과 유효성 검증 정보를 전송받은 사용자 단말에서 도전 값과 유효성 검증 정보를 이용하여 응답(response) 값을 생성하는 단계 및 사용자 단말로부터 응답 값과 유효성 검증 정보를 수신한 제2 장치에서 응답 값과 유효성 검증 정보를 검증하여 사용자 인증을 수행하는 단계를 포함한다.
여기에서, 도전 값은, 사용자 단말을 운용하는 사용자나 보안 사고를 유발하는 공격자에 의해 추정될 수 없는 난수(random number) 값을 의미할 수 있다.
여기에서, 유효성 검증 정보는, 도전 값의 유효성을 검증하는데 이용되며, 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 생성될 수 있다.
여기에서, 유효성 검증 정보의 생성에 대칭키 암호화 알고리즘을 이용하는 경우, 제1 장치와 제2 장치가 미리 정해진 키(key)를 공유하고, 미리 정해진 키로 도전 값을 암호화하거나, 미리 정해진 키를 이용하여 메세지 인증 코드(MAC, Message Authentication Code)를 산출함으로써 유효성 검증 정보를 생성할 수 있다.
여기에서, 유효성 검증 정보의 생성에 비대칭키 암호화 알고리즘을 이용하는 경우, 제1 장치의 비공개키로 도전 값의 전자서명을 생성하고, 도전 값의 전자서명만이 포함되도록 하는 메세지 복원형 전자서명(Digital Signature giving Message Recovery) 방식 및 도전 값과 도전 값의 전자서명이 포함되도록 하는 메세지 부가형 전자서명(Digital Signature with Message Appendix) 방식 중 적어도 하나를 이용하여 유효성 검증 정보를 생성할 수 있다.
여기에서, 사용자 인증을 수행하는 단계는, 사용자 단말로부터 수신한 응답 값과 유효성 검증 정보를 비교하여 응답 값과 상기 유효성 검증 정보가 일치하는 지를 검증할 수 있다.
여기에서, 응답 값과 유효성 검증 정보가 일치하는 경우 사용자 인증의 수행 결과로써 사용자 인증이 성공하였음을 알리는 메세지를 생성하고, 응답 값과 유효성 검증 정보가 일치하지 않는 경우 사용자 인증의 수행 결과로써 사용자 인증에 실패하였음을 알리는 메세지를 생성하며, 사용자 인증의 수행 결과에 따라 생성된 메세지를 사용자 단말에 전송하는 단계를 더 포함할 수 있다.
여기에서, 사용자 인증 방법은, 사물 인터넷(IoT, Internet of Things)을 위한 사용자 인증 기술에 적용할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 사용자 인증 시스템은, 사용자 단말로부터 인증 요청이 수신됨에 따라 도전(challenge) 값과 도전 값에 대한 유효성 검증 정보를 생성하여 사용자 단말에 전송하는 제1 장치, 제1 장치에 인증 요청을 전송하고 제1 장치로부터 수신된 도전 값과 유효성 검증 정보를 기반으로 응답(response) 값을 생성하여 제2 장치에 전송하는 사용자 단말 및 사용자 단말로부터 응답 값과 유효성 검증 정보가 수신됨에 따라 응답 값과 유효성 검증 정보를 검증하여 사용자 인증을 수행하는 제2 장치를 포함한다.
여기에서, 제1 장치는, 사용자 단말을 운용하는 사용자나 보안 사고를 유발하는 공격자에 의해 추정될 수 없는 난수 값인 도전 값을 생성하고, 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 도전 값의 유효성을 검증하는데 이용되는 유효성 검증 정보를 생성할 수 있다.
여기에서, 유효성 검증 정보의 생성에 대칭키 암호화 알고리즘을 이용하는 경우, 제1 장치와 제2 장치가 미리 정해진 키를 공유하고, 미리 정해진 키로 도전 값을 암호화하거나, 미리 정해진 키를 이용하여 메세지 인증 코드를 산출함으로써 유효성 검증 정보를 생성할 수 있다.
여기에서, 유효성 검증 정보의 생성에 비대칭키 암호화 알고리즘을 이용하는 경우, 제1 장치의 비공개키로 도전 값의 전자서명을 생성하고, 도전 값의 전자서명만이 포함되도록 하는 메세지 복원형 전자서명 방식 및 도전 값과 도전 값의 전자서명이 포함되도록 하는 메세지 부가형 전자서명 방식 중 적어도 하나를 이용하여 유효성 검증 정보를 생성할 수 있다.
여기에서, 제2 장치는, 사용자 단말로부터 수신한 응답 값과 유효성 검증 정보를 비교하여 응답 값과 유효성 검증 정보가 일치하는 지를 검증함으로써 사용자 인증을 수행하고, 응답 값과 유효성 검증 정보가 일치하는 경우 사용자 인증의 수행 결과로써 사용자 인증이 성공하였음을 알리는 메세지를 생성하고, 응답 값과 유효성 검증 정보가 일치하지 않는 경우 사용자 인증의 수행 결과로써 사용자 인증에 실패하였음을 알리는 메세지를 생성하며, 사용자 인증의 수행 결과에 따라 생성된 메세지를 사용자 단말에 전송할 수 있다.
상술한 바와 같은 본 발명의 실시예에 따른 사용자 인증 방법 및 시스템에 따르면, 도전 값을 생성하는 기능과 사용자 단말에서 산출된 응답 값을 검증하는 기능이 상이한 장치에서 수행되도록 분리함으로써 사용자 인증에 대한 효율성을 향상시킬 수 있다.
또한, 도전 값을 생성하는 기능과 사용자 단말에서 산출된 응답 값을 검증하는 기능을 비동기화하여 처리하기 때문에 부하 분산을 위해 여러 대의 서버나 장치가 동시에 운영되는 경우에도 사용자 인증을 수행하는 시스템의 구현 복잡도를 낮출 수 있다.
더 나아가, 사용자 인증에 대한 보안성을 향상되므로 IoT 등의 다양한 기술분야에 용이하게 적용할 수 있다.
도 1은 종래의 도전-응답 기반의 사용자 인증 방법을 설명하는 예시도이다.
도 2는 본 발명의 실시예에 따른 도전-응답 기반의 사용자 인증 방법을 설명하는 흐름도이다.
도 3은 본 발명의 실시예에 따른 대칭키 암호화를 이용하여 유효성 검증 정보를 생성하는 것을 설명하는 예시도이다.
도 4는 본 발명의 실시예에 따른 비대칭키 암호화를 이용하여 유효성 검증 정보를 생성하는 것을 설명하는 예시도이다.
도 5는 본 발명의 실시예에 따른 사용자 인증 방법을 IoT 환경에 적용한 것을 설명하는 예시도이다.
도 6은 본 발명의 실시예에 따른 사용자 인증 시스템을 나타내는 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 도전-응답 기반의 사용자 인증 방법을 설명하는 흐름도이다.
도 2를 참조하여, 본 발명에 따른 도전-응답 기반의 사용자 인증 방법을 설명하면 다음과 같다.
사용자가 사용자 단말을 통해 온라인 서비스를 이용하기 위해서는 온라인 서비스에 대한 접근 권한이 부여되어 있는 지를 확인하는 사용자 인증이 필수적으로 수행되어야 한다. 그러나, 현재 대부분의 온라인 서비스에서 이용하는 사용자 인증 기술은 사용자가 사용자 단말을 통해 입력한 로그인 정보가 사용자 인증을 수행하는 서버로 전송되는 과정에서 네트워크를 감청하는 공격자에 의해 유출될 수 있어 보안성이 떨어진다는 문제가 있다. 특히, 단순히 ID와 비밀번호를 입력하는 사용자 인증 방법만으로 최근 상용화가 진행되고 있는 원격 의료 서비스나 사물인터넷 서비스의 이용에 따른 보안 사고를 방지하는 것은 한계가 있다.
그리하여, 도전-응답 기반의 사용자 인증 방법이 제안되었다. 그러나, 종래의 도전-응답 기반의 사용자 인증 방법은 도전 값을 생성하는 기능과 사용자 단말로부터 수신한 응답 값을 검증하는 기능이 모두 사용자 인증을 수행하는 서버 내에서 수행되기 때문에, 서버에서 처리해야 하는 연산량과 통신량이 많아 사용자 인증에 대한 효율성이 떨어진다는 문제가 있다.
따라서, 본 발명에서는 도전 값을 생성하는 기능과 사용자 단말에서 산출된 응답 값을 검증하는 기능이 상이한 장치에서 수행되도록 분리함으로써 사용자 인증을 수행하는 시스템의 구현 복잡도를 낮추고 사용자 인증에 대한 효율성을 향상시킬 수 있는 도전-응답 기반의 사용자 인증 방법을 제안한다.
본 발명에서 제안하는 도전-응답 기반의 사용자 인증 방법은 사용자 단말로부터 인증 요청을 수신한 제1 장치에서 도전 값과 유효성 검증 정보를 생성하는 단계(S210), 사용자 단말에서 도전 값과 유효성 검증 정보를 이용하여 응답 값을 생성하는 단계(S220) 및 제2 장치에서 응답 값과 유효성 검증 정보를 검증하여 사용자 인증을 수행하는 단계(S230)를 포함할 수 있으며, 제2 장치가 사용자 인증의 수행 결과를 사용자 단말에 전송하는 단계(S240)를 더 포함할 수 있다.
먼저, 사용자 단말이 제1 장치에 사용자 인증을 요청하면, 사용자 인증 요청을 수신한 제1 장치는 도전 값과 도전 값에 대한 유효성 검증 정보를 생성할 수 있다(S210).
제1 장치에서 도전 값과 유효성 검증 정보를 생성하는 과정은 이하 도 3 및 도 4를 통해 보다 구체적으로 설명하도록 한다.
도 3은 본 발명의 실시예에 따른 대칭키 암호화를 이용하여 유효성 검증 정보를 생성하는 것을 설명하는 예시도이고, 도 4는 본 발명의 실시예에 따른 비대칭키 암호화를 이용하여 유효성 검증 정보를 생성하는 것을 설명하는 예시도이다.
도 3 및 도 4를 참조하면, 사용자 단말(110)이 제1 장치(120)에 사용자 인증을 요청할 수 있다(S301, S401). 상세하게는, 사용자 단말(110)이 인증 트리거(Authentication Trigger) 또는 도전 값을 제1 장치(120)에 요청할 수 있다.
제1 장치(120)는 사용자 단말(110)로부터 사용자 인증 요청이 수신됨에 따라 도전 값을 생성할 수 있다(S302, S402). 여기에서, 도전 값은 난수 생성기에 의해 생성되며 사용자 단말을 운용하는 사용자나 보안 사고를 유발하는 공격자에 의해 추정될 수 없는 난수(random number) 값을 의미할 수 있으나 이에 한정되는 것은 아니다.
기존의 사용자 인증 기술에서는 사용자 인증을 위해 도전 값만을 이용하였다. 다만, 본 발명에서 제안하는 사용자 인증 방법은 도전 값을 생성하는 제1 장치(120)와 응답 값을 검증하는 제2 장치(130)가 분리되어 있기 때문에, 제2 장치(130)에서 사용자 인증을 수행하기 위해서는 도전 값이 사용자 단말(110)로부터 임의로 선택된 값이 아니라 제1 장치(120)로부터 생성된 유효한 값이라는 것을 확인할 수 있어야 한다.
그리하여, 본 발명의 제1 장치(120)는 제2 장치(130)가 사용자 인증을 수행할 때 도전 값의 유효성을 확인할 수 있도록 유효성 검증 정보를 생성할 수 있다. 이 때, 유효성 검증 정보는 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 생성될 수 있다.
먼저, 유효성 검증 정보의 생성에 대칭키 암호화 알고리즘을 이용하는 경우, 도 3에 도시된 바와 같이 제1 장치(120)와 제2 장치(130)가 유효성 검증 정보를 생성하기 위해 미리 정해진 키(key)를 공유할 수 있다(S303). 이 때, 미리 정해진 키는 도전 값을 암호화하는데 사용하는 키와 복호화하는데 사용하는 키가 동일한 비밀키(secret key)를 의미할 수 있다.
제1 장치(120)는 제2 장치(130)와 공유한 키로 도전 값을 암호화하거나 메세지 인증 코드(Message Authentication Code, 이하 ‘MAC’)를 산출함으로써 유효성 검증 정보를 생성할 수 있다(S304). 여기에서, 제2 장치(130)와 공유한 키로 도전 값을 암호화하여 유효성 검증 정보를 생성하는 경우 유효성 검증 정보에 도전 값 자체가 포함될 필요가 없으나, MAC를 산출하여 유효성 검증 정보를 생성하는 경우 유효성 검증 정보에 도전 값과 MAC이 포함될 수 있다.
이 때, 도 3은 도전 값을 생성하는 과정(S302)과 유효성 검증 정보를 생성하는 과정(S304) 사이에서 제1 장치(120)와 제2 장치(130) 간의 키 공유(S303)가 수행되는 것을 예로 설명하였으나, 이에 한정되지 않고 사용자 단말(110)이 제1 장치(120)에 사용자 인증을 요청(S301) 전에 제1 장치(120)와 제2 장치(130) 간의 키 공유가 미리 수행될 수도 있다.
유효성 검증 정보의 생성에 비대칭키 암호화 알고리즘을 이용하는 경우, 도 4에 도시된 바와 같이 비공개키로 도전 값의 전자서명을 생성할 수 있다(S403). 이 때, 제2 장치(130)는 제1 장치(120)의 공개키를 확인 및 검증할 수 있어야 한다. 따라서, 제1 장치(120)의 공개키를 제2 장치(130)와 공유할 수 있다(S404).
다만, 유효성 검증 정보에 제1 장치(120)의 공개키 인증서가 포함되는 경우, 사용자 단말(110)이 제1 장치(120)의 공개키 인증서가 포함된 유효성 검증 정보를 제2 장치(130)에 전송하므로, 제1 장치(120)와 제2 장치(130)가 사전에 공개키를 공유할 필요는 없다.
도전 값의 전자서명이 생성되면, 메세지 복원형 전자서명(Digital Signature giving Message Recovery) 방식 및 메세지 부가형 전자서명(Digital Signature with Message Appendix) 방식 중 적어도 하나를 이용하여 유효성 검증 정보를 생성할 수 있다(S405). 여기에서, 메세지 복원형 전자서명 방식은 도전 값의 전자서명만이 포함되도록 유효성 검증 정보가 생성되고, 메세지 부가형 전자서명 방식은 도전 값과 도전 값의 전자서명이 포함되도록 유효성 검증 정보가 생성될 수 있다.
이 때, 도 4는 비공개키로 도전 값의 전자서명을 생성하는 과정(S403)과 유효성 검증 정보를 생성하는 과정(S405) 사이에서 제1 장치(120)와 제2 장치(130) 간의 공개키 공유(S404)가 수행되는 것을 예로 설명하였으나, 이에 한정되지 않고 사용자 단말(110)이 제1 장치(120)에 사용자 인증을 요청(S401) 전에 제1 장치(120)와 제2 장치(130) 간의 공개키 공유가 미리 수행될 수도 있다.
상술한 바와 같이 제1 장치(120)에서 생성된 도전 값과 유효성 검증 정보는 사용자 단말(110)에 전송할 수 있다(S305, S406).
다시 도 1로 돌아와서, 제1 장치에서 생성된 도전 값과 유효성 검증 정보가 사용자 단말에 수신되면, 사용자 단말은 제1 장치로부터 수신한 도전 값과 유효성 검증 정보를 이용하여 응답 값을 생성할 수 있다(S220).
즉, 사용자 단말은 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 제1 장치로부터 수신한 도전 값을 암호화함으로써 응답 값을 생성할 수 있다. 보다 구체적으로, 대칭키 암호화 알고리즘을 이용하는 경우, 사용자 단말과 제1 장치 또는 제2 장치가 미리 공유하고 있는 키로 도전 값을 암호화하거나 MAC를 산출함으로써 응답 값이 생성되고, 비대칭키 암호화 알고리즘을 이용하는 경우, 사용자 단말의 비공개키로 도전 값의 전자서명을 생성함으로써 응답 값을 생성할 수 있으나, 이에 한정되지 않고 제1 장치로부터 수신한 도전 값을 포함하는 특정 형태의 메세지를 암호화하거나 MAC을 생성하거나 전자서명함으로써 응답 값을 생성할 수도 있다.
이와 같이 생성된 응답 값과 유효성 검증 정보를 사용자 단말이 제2 장치에 전송하면, 제2 장치는 사용자 단말로부터 수신한 응답 값과 유효성 검증 정보를 검증하여 사용자 인증을 수행할 수 있다(S230).
보다 구체적으로, 제2 장치는 사용자 단말로부터 수신한 응답 값과 유효성 검증 정보를 비교하여 응답 값과 유효성 검증 정보가 일치하는 지를 검증함으로써 사용자 인증이 수행될 수 있다. 그리하여, 응답 값과 유효성 검증 정보가 일치하는 경우 사용자 인증의 수행 결과로써 사용자 인증이 성공하였음을 알리는 메세지를 생성하고, 응답 값과 유효성 검증 정보가 일치하지 않는 경우 사용자 인증의 수행 결과로써 사용자 인증에 실패하였음을 알리는 메세지를 생성할 수 있다.
사용자 인증 수행 결과에 따라 생성된 메세지를 사용자 단말에 전송할 수 있다(S240).
상술한 바와 같이, 본 발명에서 제안하는 사용자 인증 방법은 사용자 단말의 인증 요청에 따라 도전 값을 생성하는 기능과 사용자 단말로부터 수신한 응답 값을 검증하여 사용자 인증을 수행하는 기능이 상이한 장치에 분리되어 수행되기 때문에, 사용자 인증을 수행하는 장치 또는 서버가 사용자 단말과의 사용자 인증 프로토콜을 얼마나 진행했는지에 대한 정보를 관리할 필요가 없다.
그리하여, 본 발명에서 제안하는 사용자 인증 방법은 사물 인터넷(IoT, Internet of Things)을 위한 사용자 인증 기술에 적용할 수 있다. 사용자 인증 방법을 사물 인터넷 환경에 적용하는 것은 이하 도 5에서 구체적으로 설명하도록 한다.
도 5는 본 발명의 실시예에 따른 사용자 인증 방법을 IoT 환경에 적용한 것을 설명하는 예시도이다.
도 5를 참조하면, 본 발명에서 제안하는 사용자 인증 방법을 IoT 환경에 적용할 수 있다.
여기에서, IoT 기기(51)는 IoT 서비스를 이용하는 사용자에 의해 운용되는 사용자 단말을 의미할 수 있고, IoT 게이트웨이(53)는 IoT 서비스를 이용하기 위해 인증을 요청하는 IoT 기기(51)에 대한 사용자 인증을 수행하는 IoT 서버(55)로부터 도전 값을 생성하는 기능만을 위임받은 장치를 의미할 수 있다.
이 때, IoT 기기(51), IoT 게이트웨이(53) 및 IoT 서버(55) 각각은 USB(Universal Serial Bus), 블루투스(bluetooth), 와이파이(Wireless Fidelity), 3G(3generation), LTE(Long Term Evolution) 등과 같은 유무선 네트워크로 연결되어 IoT 서비스 접근에 필요한 사용자 인증이 수행될 수 있다.
먼저, IoT 기기(51)에서 스마트 가전을 제어하는 IoT 서비스를 이용하기 위해 IoT 게이트웨이(53)에 인증을 요청하면(S501), IoT 게이트웨이(53)는 도전 값과 유효성 검증 정보를 생성한다(S501). 이 때, IoT 게이트웨이(53)는 앞서 도 3 및 도 4의 제1 장치(120)에서 설명한 바와 같이 난수 생성기에 의해 생성된 난수로 도전 값을 생성하고, 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘을 통해 도전 값의 유효성을 검증할 수 있는 유효성 검증 정보를 생성할 수 있다.
이와 같이 IoT 게이트웨이(53)에서 생성된 도전 값과 유효성 검증 정보는 IoT 기기(51)에 전송된다(S503). IoT 게이트웨이(53)로부터 도전 값과 유효성 검증 정보를 전송받은 IoT 기기(51)는 도전 값을 대칭키 암호화 알고리즘 또는 비대칭키 암호화 알고리즘을 통해 암호화하여 응답 값을 생성하고(S504), 이를 IoT 서버(55)에 전송한다(S505).
IoT 기기(51)로부터 응답 값과 유효성 검증 정보를 수신한 IoT 서버(55)는 응답 값과 유효성 검증 정보가 일치하는 지를 검증하여 사용자 인증을 수행한다(S506). 만약, 응답 값과 유효성 검증 정보가 일치하여 사용자 인증에 성공하면 IoT 서비스에 접근 가능함을 알리는 메세지를 IoT 기기(51)에 전송하고, 응답 값과 유효성 검증 정보가 불일치하여 사용자 인증에 실패하면 사용자 인증에 실패하여 IoT 서비스에 접근이 불가함을 알리는 메시지를 IoT 기기(51)에 전송할 수 있다(S507).
여기에서는, 본 발명에서 제안하는 사용자 인증 방법을 IoT 환경에 적용할 수 있음을 국한하여 설명하였으나, 이에 한정되지 않고 하나의 서버를 운영하는 경우뿐 아니라 부하분산을 위해 다수의 서버가 동시에 운영되는 경우에도 용이하게 적용하여 사용자 인증을 수행하는 시스템에 대한 구현 복잡도를 낮출 수 있으며 사용자 인증에 대한 효율성 또한 향상시킬 수 있다.
도 6은 본 발명의 실시예에 따른 사용자 인증 시스템을 나타내는 블록도이다.
도 6을 참조하면, 사용자 인증 시스템(100)은 적어도 하나의 사용자 단말(110), 제1 장치(120) 및 제2 장치(130)로 구성될 수 있다.
여기에서, 사용자 단말(110)은 사용자에 의해 휴대 가능한 스마트폰, 태블릿 PC, PDA(Personal Digital Assistant) 등의 정보 처리 장치를 의미할 수 있으나 이에 한정되지 않고 온라인 서비스를 이용하는 다양한 기기로 확대될 수 있다.
제1 장치(120)는 종래의 사용자 인증을 수행하는 장치 또는 서버에서 도전 값을 생성하는 기능만을 위임받은 장치로, 사용자 단말(110) 및 제2 장치(130)와 유무선 네트워크로 연결되어 도전 값을 생성할 수 있는 정보 처리 장치를 의미할 수 있다.
제2 장치(130)는 사용자 단말(110)로부터 수신한 응답 값을 검증하는 기능만을 수행하는 장치로, 종래의 사용자 인증을 수행하는 장치 또는 서버에 구현될 수 있으나 이에 한정되지 않고 사용자 단말(110) 및 제1 장치(120)와 유무선 네트워크로 연결되어 사용자 인증을 수행할 수 있는 정보 처리 장치를 의미할 수 있다.
이 때, 사용자 단말(110), 제1 장치(120) 및 제2 장치(130) 각각은 USB(Universal Serial Bus), 블루투스(bluetooth), 와이파이(Wireless Fidelity), 3G(3generation), LTE(Long Term Evolution) 등과 같은 유무선 네트워크로 연결되어 온라인 서비스 접근에 필요한 사용자 인증이 수행될 수 있다.
제1 장치(120)는 사용자 단말(110)로부터 인증 요청이 수신됨에 따라 도전 값과 도전 값에 대한 유효성 검증 정보를 생성하여 사용자 단말(110)에 전송할 수 있다.
보다 구체적으로, 제1 장치(120)는 사용자 단말을 운용하는 사용자나 보안 사고를 유발하는 공격자에 의해 추정될 수 없는 난수(random number) 값으로 도전 값을 생성할 수 있다. 이 때, 난수 값은 제1 장치(120)에 구현된 난수 생성기에 의해 생성될 수 있으나 이에 한정되는 것은 아니다.
특히, 본 발명에서 제1 장치(120)는 도전 값뿐만 아니라 도전 값의 유효성을 검증할 수 있는 유효성 검증 정보를 생성할 수 있다. 구체적으로, 제1 장치(120)에서 유효성 검증 정보는 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 생성될 수 있다.
만약, 유효성 검증 정보의 생성에 대칭키 암호화 알고리즘을 이용하는 경우, 제1 장치(120)와 제2 장치(130) 간에 공유된 키를 이용하여 도전 값을 암호화하거나 메세지 인증 코드(Message Authentication Code, 이하 ‘MAC’)를 산출함으로써 유효성 검증 정보를 생성할 수 있다. 여기에서, 제2 장치(130)와 공유한 키로 도전 값을 암호화하여 유효성 검증 정보를 생성하는 경우 유효성 검증 정보에 도전 값 자체가 포함될 필요가 없으나, MAC를 산출하여 유효성 검증 정보를 생성하는 경우 유효성 검증 정보에 도전 값과 MAC이 포함될 수 있다.
또한, 유효성 검증 정보의 생성에 비대칭키 암호화 알고리즘을 이용하는 경우, 비공개키로 도전 값의 전자서명을 생성한 후 메세지 복원형 전자서명 방식 및 메세지 부가형 전자서명 방식 중 적어도 하나를 이용하여 유효성 검증 정보를 생성할 수 있다. 여기에서, 메세지 복원형 전자서명 방식은 도전 값의 전자서명만이 포함되도록 유효성 검증 정보가 생성되고, 메세지 부가형 전자서명 방식은 도전 값과 도전 값의 전자서명이 포함되도록 유효성 검증 정보가 생성될 수 있다.
사용자 단말(110)은 제1 장치(120)에 인증 요청을 전송하여 도전 값과 유효성 검증 정보를 수신받고 이를 기반으로 응답 값을 생성하여 제2 장치(130)에 전송할 수 있다.
보다 구체적으로, 사용자 단말(110)은 대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 제1 장치로부터 수신한 도전 값을 암호화함으로써 응답 값을 생성할 수 있다. 만약, 응답 값의 생성에 대칭키 암호화 알고리즘을 이용하는 경우, 사용자 단말과 제1 장치 또는 제2 장치가 미리 공유하고 있는 키로 도전 값을 암호화하거나 MAC를 산출함으로써 응답 값이 생성되고, 비대칭키 암호화 알고리즘을 이용하는 경우, 사용자 단말의 비공개키로 도전 값의 전자서명을 생성함으로써 응답 값을 생성할 수 있으나, 이에 한정되지 않고 제1 장치로부터 수신한 도전 값을 포함하는 특정 형태의 메세지를 암호화하거나 MAC을 생성하거나 전자서명함으로써 응답 값을 생성할 수도 있다.
제2 장치(130)는 사용자 단말(110)로부터 응답 값과 유효성 검증 정보가 수신됨에 따라 응답 값과 유효성 검증 정보를 검증하여 사용자 인증을 수행할 수 있다.
상세하게는, 사용자 단말로부터 수신한 응답 값과 유효성 검증 정보를 비교하여 응답 값과 유효성 검증 정보가 일치하는 지를 검증함으로써 사용자 인증이 수행될 수 있다. 그리하여, 응답 값과 유효성 검증 정보가 일치하는 경우 사용자 인증의 수행 결과로써 사용자 인증이 성공하였음을 알리는 메세지를 생성하고, 응답 값과 유효성 검증 정보가 일치하지 않는 경우 사용자 인증의 수행 결과로써 사용자 인증에 실패하였음을 알리는 메세지를 생성할 수 있다. 이와 같이, 사용자 인증 수행 결과에 따라 생성된 메세지를 사용자 단말에 전송할 수 있다.
상술한 본 발명의 실시예에 따른 사용자 인증 시스템(100)의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로써 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 더불어, 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 프로그램 또는 코드가 저장되고 실행될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
51: IoT 기기 53: IoT 게이트웨이
55: IoT 서버 100: 사용자 인증 시스템
110: 사용자 단말 120: 제1 장치
130: 제2 장치 200: 서버

Claims (13)

  1. 사용자 인증 시스템에서 수행되는 사용자 인증 방법에 있어서,
    사용자 단말로부터 인증 요청을 수신한 제1 장치에서 도전(challenge) 값과 상기 도전 값에 대한 유효성 검증 정보를 생성하는 단계;
    상기 제1 장치로부터 상기 도전 값과 상기 유효성 검증 정보를 전송받은 상기 사용자 단말에서 상기 도전 값을 이용하여 응답(response) 값을 생성하는 단계; 및
    상기 사용자 단말로부터 상기 응답 값과 상기 유효성 검증 정보를 수신한 제2 장치에서 상기 응답 값과 상기 도전값을 검증하여 사용자 인증을 수행하는 단계를 포함하고,
    상기 사용자 인증을 수행하는 단계는,
    상기 유효성 검증 정보로 상기 도전 값을 검증하고, 상기 사용자 단말로부터 수신한 상기 응답 값과 상기 유효성 검증 정보를 비교하여 상기 응답 값과 상기 유효성 검증 정보가 일치하는지를 검증하는, 사용자 인증 방법.
  2. 청구항 1에 있어서,
    상기 도전 값은,
    상기 사용자 단말을 운용하는 사용자나 보안 사고를 유발하는 공격자에 의해 추정될 수 없는 난수(random number) 값을 의미하는 것을 특징으로 하는,
    사용자 인증 방법.
  3. 청구항 1에 있어서,
    상기 유효성 검증 정보는,
    대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 생성되는 것을 특징으로 하는,
    사용자 인증 방법.
  4. 청구항 3에 있어서,
    상기 유효성 검증 정보의 생성에 상기 대칭키 암호화 알고리즘을 이용하는 경우, 상기 제1 장치와 상기 제2 장치가 미리 정해진 키(key)를 공유하고,
    상기 미리 정해진 키로 상기 도전 값을 암호화하거나, 상기 미리 정해진 키를 이용하여 메세지 인증 코드(MAC, Message Authentication Code)를 산출함으로써 상기 유효성 검증 정보를 생성하는 것을 특징으로 하는,
    사용자 인증 방법.
  5. 청구항 3에 있어서,
    상기 유효성 검증 정보의 생성에 상기 비대칭키 암호화 알고리즘을 이용하는 경우, 상기 제1 장치의 비공개키로 상기 도전 값의 전자서명을 생성하고,
    상기 도전 값의 전자서명만이 포함되도록 하는 메세지 복원형 전자서명(Digital Signature giving Message Recovery) 방식 및 상기 도전 값과 상기 도전 값의 전자서명이 포함되도록 하는 메세지 부가형 전자서명(Digital Signature with Message Appendix) 방식 중 적어도 하나를 이용하여 상기 유효성 검증 정보를 생성하는 것을 특징으로 하는,
    사용자 인증 방법.
  6. 삭제
  7. 청구항 1에 있어서,
    상기 응답 값과 상기 유효성 검증 정보가 일치하는 경우 상기 사용자 인증의 수행 결과로써 상기 사용자 인증이 성공하였음을 알리는 메세지를 생성하고,
    상기 응답 값과 상기 유효성 검증 정보가 일치하지 않는 경우 상기 사용자 인증의 수행 결과로써 상기 사용자 인증에 실패하였음을 알리는 메세지를 생성하며,
    상기 사용자 인증의 수행 결과에 따라 생성된 메세지를 상기 사용자 단말에 전송하는 단계를 더 포함하는 것을 특징으로 하는,
    사용자 인증 방법.
  8. 청구항 1에 있어서,
    상기 사용자 인증 방법은,
    사물 인터넷(IoT, Internet of Things)을 위한 사용자 인증 기술에 적용 가능한 것을 특징으로 하는,
    사용자 인증 방법.
  9. 사용자 단말로부터 인증 요청이 수신됨에 따라 도전(challenge) 값과 상기 도전 값에 대한 유효성 검증 정보를 생성하여 상기 사용자 단말에 전송하는 제1 장치;
    상기 제1 장치에 인증 요청을 전송하고, 상기 제1 장치로부터 수신된 상기 도전 값을 기반으로 응답(response) 값을 생성하고, 상기 생성된 응답 값과 상기 유효성 검증 정보를 제2 장치에 전송하는 사용자 단말; 및
    상기 사용자 단말로부터 상기 응답 값과 상기 유효성 검증 정보가 수신됨에 따라 상기 응답 값과 상기 도전 값을 검증하여 사용자 인증을 수행하는 제2 장치를 포함하고,
    상기 제2 장치는,
    상기 유효성 검증 정보로 상기 도전 값을 검증하고, 상기 사용자 단말로부터 수신한 상기 응답 값과 상기 유효성 검증 정보를 비교하여 상기 응답 값과 상기 유효성 검증 정보가 일치하는 지를 검증함으로써 사용자 인증을 수행하는,
    사용자 인증 시스템.
  10. 청구항 9에 있어서,
    상기 제1 장치는,
    상기 사용자 단말을 운용하는 사용자나 보안 사고를 유발하는 공격자에 의해 추정될 수 없는 난수(random number) 값인 상기 도전 값을 생성하고,
    대칭키 암호화 알고리즘 및 비대칭키 암호화 알고리즘 중 적어도 하나를 이용하여 상기 도전 값의 유효성을 검증하는데 이용되는 상기 유효성 검증 정보를 생성하는 것을 특징으로 하는,
    사용자 인증 시스템.
  11. 청구항 10에 있어서,
    상기 유효성 검증 정보의 생성에 상기 대칭키 암호화 알고리즘을 이용하는 경우, 상기 제1 장치와 상기 제2 장치가 미리 정해진 키(key)를 공유하고,
    상기 미리 정해진 키로 상기 도전 값을 암호화하거나, 상기 미리 정해진 키를 이용하여 메세지 인증 코드(MAC, Message Authentication Code)를 산출함으로써 상기 유효성 검증 정보를 생성하는 것을 특징으로 하는,
    사용자 인증 시스템.
  12. 청구항 10에 있어서,
    상기 유효성 검증 정보의 생성에 상기 비대칭키 암호화 알고리즘을 이용하는 경우, 상기 제1 장치의 비공개키로 상기 도전 값의 전자서명을 생성하고,
    상기 도전 값의 전자서명만이 포함되도록 하는 메세지 복원형 전자서명(Digital Signature giving Message Recovery) 방식 및 상기 도전 값과 상기 도전 값의 전자서명이 포함되도록 하는 메세지 부가형 전자서명(Digital Signature with Message Appendix) 방식 중 적어도 하나를 이용하여 상기 유효성 검증 정보를 생성하는 것을 특징으로 하는,
    사용자 인증 시스템.
  13. 청구항 9에 있어서,
    상기 제2 장치는,
    상기 응답 값과 상기 유효성 검증 정보가 일치하는 경우 상기 사용자 인증의 수행 결과로써 상기 사용자 인증이 성공하였음을 알리는 메세지를 생성하고,
    상기 응답 값과 상기 유효성 검증 정보가 일치하지 않는 경우 상기 사용자 인증의 수행 결과로써 상기 사용자 인증에 실패하였음을 알리는 메세지를 생성하며,
    상기 사용자 인증의 수행 결과에 따라 생성된 메세지를 상기 사용자 단말에 전송하는 것을 특징으로 하는,
    사용자 인증 시스템.
KR1020160016595A 2016-02-12 2016-02-12 도전-응답 기반의 사용자 인증 방법 및 시스템 KR101737925B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160016595A KR101737925B1 (ko) 2016-02-12 2016-02-12 도전-응답 기반의 사용자 인증 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160016595A KR101737925B1 (ko) 2016-02-12 2016-02-12 도전-응답 기반의 사용자 인증 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101737925B1 true KR101737925B1 (ko) 2017-05-19

Family

ID=59049652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160016595A KR101737925B1 (ko) 2016-02-12 2016-02-12 도전-응답 기반의 사용자 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101737925B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009103621A1 (en) * 2008-02-22 2009-08-27 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus locating a device registration server in a wireless network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009103621A1 (en) * 2008-02-22 2009-08-27 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus locating a device registration server in a wireless network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter. 1,10, CRC Press (1996)

Similar Documents

Publication Publication Date Title
EP3318003B1 (en) Confidential authentication and provisioning
EP2999189B1 (en) Network authentication method for secure electronic transactions
US8532620B2 (en) Trusted mobile device based security
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
US8769289B1 (en) Authentication of a user accessing a protected resource using multi-channel protocol
US20140068739A1 (en) Method and system for verifying an access request
EP3080946A2 (en) Near field communication authentication mechanism
CN112425114A (zh) 受公钥-私钥对保护的密码管理器
CN110690956B (zh) 双向认证方法及系统、服务器和终端
JP5380583B1 (ja) デバイス認証方法及びシステム
CN114788226A (zh) 用于建立分散式计算机应用的非托管工具
KR20200013764A (ko) 제1 애플리케이션과 제2 애플리케이션 사이의 상호 대칭 인증을 위한 방법
CN103856468A (zh) 身份验证系统及方法
GB2586065A (en) Secure media delivery
US9443069B1 (en) Verification platform having interface adapted for communication with verification agent
CN109716725B (zh) 数据安全系统及其操作方法和计算机可读存储介质
KR20160113248A (ko) 기기 증명서 제공 장치, 기기 증명서 제공 시스템 및 기기 증명서 제공 프로그램을 기록한 컴퓨터 판독 가능한 비 일시적 기록 매체
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
CN106992978B (zh) 网络安全管理方法及服务器
CN110868415B (zh) 远程身份验证方法及装置
KR20120084631A (ko) 고유식별자 기반 인증시스템 및 방법
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
WO2017029708A1 (ja) 個人認証システム
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
Guo et al. Extending registration and authentication processes of FIDO2 external authenticator with qr codes

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant