KR101424569B1 - 시간 기반 인증 시스템 및 방법 - Google Patents

시간 기반 인증 시스템 및 방법 Download PDF

Info

Publication number
KR101424569B1
KR101424569B1 KR1020110121461A KR20110121461A KR101424569B1 KR 101424569 B1 KR101424569 B1 KR 101424569B1 KR 1020110121461 A KR1020110121461 A KR 1020110121461A KR 20110121461 A KR20110121461 A KR 20110121461A KR 101424569 B1 KR101424569 B1 KR 101424569B1
Authority
KR
South Korea
Prior art keywords
authentication
server
client
otp
time information
Prior art date
Application number
KR1020110121461A
Other languages
English (en)
Other versions
KR20130055829A (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 KR1020110121461A priority Critical patent/KR101424569B1/ko
Publication of KR20130055829A publication Critical patent/KR20130055829A/ko
Application granted granted Critical
Publication of KR101424569B1 publication Critical patent/KR101424569B1/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/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
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

시간 기반 인증 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 시간 기반 인증 시스템은, 클라이언트로부터 인증 요청을 수신하고, 상기 인증 요청에 따른 인증 결과를 상기 클라이언트로 송신하는 송수신 모듈; 수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출하는 시각 정보 추출 모듈; 기 저장된 인증 정보 및 추출된 상기 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성하는 OTP 생성 모듈; 및 상기 인증 요청에 포함된 클라이언트측 OTP 및 상기 서버측 OTP를 비교하여 상기 클라이언트를 인증하는 인증 모듈을 포함한다.

Description

시간 기반 인증 시스템 및 방법{TIME BASED AUTHENTICATION SYSTEM AND METHOD THEREOF}
본 발명은 네트워크상에서 시스템의 보안 및 인증을 위한 기술과 관련된다.
OTP(One-Time Password)는 네트워크 보안 기술 중 하나로서, 사용자가 인증을 받고자 할 때 매번 새로운 패스워드를 사용하여야 하는 보안 시스템이다. 이는 일반적인 아이디/패스워드 기반의 보안 시스템에서 고정된 패스워드의 누출 시 보안에 심각한 문제가 발생하는 것을 해결하기 위한 것으로서, 최근 들어 높은 수준의 보안이 요구 되는 기업 또는 금융기관 등에서 그 이용이 증가하고 있다.
OTP의 종류로는 S/Key 방식, 챌린지-리스폰스 방식, 시간 동기화 방식 등이 있으며, 이 중 시간 동기화 방식은 그 이름에서 알 수 있듯이 시간을 일회용 비밀번호의 생성에 사용하는 방식이다. 사용자가 OTP를 생성해 PIN(사용자 비밀번호, 비밀키)과 함께 인증 서버에 전달하면, 서버는 id와 일치하는 사용자의 init-secret과 PIN을 활용하여 서버측 OTP를 생성하고, 생성된 OTP가 수신한 것과 일치하는 지를 확인한다. 시간 동기화 방식은 인증 서버와 사용자 모두 같은 시간을 OTP의 입력값으로 넣어야 하기 때문에 인증 서버와 사용자 토큰 사이에 시간이 일치하지 않으면 사용자 인증에 실패할 수 밖에 없다. 그러나 각 사용자 단말의 시간을 서버와 항상 동기화하기는 현실적으로 어렵다. 따라서, 많은 경우 시간의 오차 범위를 설정해서 그 범위 안에서는 인증이 성공하도록 허용하고 있다. 예를 들어, 인증 서버에서는 사용자로부터 인증 요청을 받은 시각을 기준으로 앞뒤로 일정 시간만큼(예를 들어, -180초 ~ +180초)의 유효 범위를 설정하고, 해당 유효 범위 내의 시간 정보로 생성한 OTP 중 하나와 사용자의 OTP가 일치할 경우 인증에 성공한 것으로 판단한다.
그러나 이 경우 상기 유효 시간의 범위에 따라 인증 서버에서 다수 개의 OTP를 생성하여야 하므로 인증 과정에서 서버 측의 부담이 커지게 된다. 특히 OTP의 경우 OTP가 MD5 등을 이용하여 암호화되므로 일반적인 패스워드 방식보다 OTP 생성에 따른 오버헤드가 크다. 이에 따라 기업 등에서 인증 요청이 한꺼번에 몰리는 시간(업무 시작 시간 등)에는 원활한 인증이 이루어지기가 매우 어렵다.
[선행기술문헌] 한국공개특허 제10-2008-0044020호(OTP 통합 인증 시스템 및 그 구축 방법, 공개일 2008.05.20)
본 발명은 상기와 같은 과제를 해결하기 위한 것으로서, 본 발명은 시간 동기화 방식의 OTP 인증 시스템에서 클라이언트와 인증 서버 사이의 시간 동기화의 필요성을 원천적으로 차단할 수 있는 인증 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 시간 기반 인증 시스템은, 클라이언트로부터 인증 요청을 수신하고, 상기 인증 요청에 따른 인증 결과를 상기 클라이언트로 송신하는 송수신 모듈; 수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출하는 시각 정보 추출 모듈; 기 저장된 인증 정보 및 추출된 상기 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성하는 OTP 생성 모듈; 및 상기 인증 요청에 포함된 클라이언트측 OTP 및 상기 서버측 OTP를 비교하여 상기 클라이언트를 인증하는 인증 모듈을 포함한다.
한편, 본 발명의 일 실시예에 따른 시간 기반 인증 방법은, 인증 서버에서, 클라이언트로부터 인증 요청을 수신하는 단계; 상기 인증 서버에서, 수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출하는 단계; 상기 인증 서버에서, 기 저장된 인증 정보 및 추출된 상기 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성하는 단계; 상기 인증 서버에서, 상기 인증 요청에 포함된 클라이언트측 OTP 및 상기 서버측 OTP를 비교하여 상기 클라이언트를 인증하는 단계; 및 상기 인증 서버에서, 상기 인증 단계에 따른 인증 결과를 상기 클라이언트로 송신하는 단계를 포함한다.
본 발명의 실시예들에 따를 경우 OTP 생성 시각 정보가 인증 요청 패킷에 부가되어 인증 서버로 송신되는 바, 시간 동기화 방식의 OTP 인증에 있어 서버와 클라이언트간에 시간을 동기화할 필요가 없다. 또한 서버 측에서 클라이언트와의 시간 오차를 감안하여 복수 개의 후보 OTP를 생성할 필요가 없으므로 서버 측의 오버헤드를 대폭 감소시킬 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 시간 기반 인증 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트의 상세 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 인증 서버의 상세 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 시간 기반 인증 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 시간 기반 인증 방법에서 클라이언트별로 복수 개의 토큰이 할당된 경우의 구체적인 서버측 OTP 생성 과정을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 시간 기반 인증 방법에서 클라이언트별로 복수 개의 토큰이 할당된 경우의 구체적인 클라이언트 인증 과정을 설명하기 위한 순서도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 시간 기반 인증 시스템(100)을 설명하기 위한 블록도이다. 도시된 바와 같이 본 발명의 일 실시예에 따른 시간 기반 인증 시스템(100)은 클라이언트(102), 인증 서버(104) 및 데이터베이스(106)를 포함한다. 클라이언트(102) 및 인증 서버(104)는 유선 또는 무선 네트워크를 통하여 서로 연결되어 패킷 데이터를 송수신할 수 있도록 구성된다.
클라이언트(102)는 인증 서버(104)로 클라이언트(102) 사용자의 인증을 요청하고, 인증 서버(104)로부터 상기 인증 요청에 따른 인증 결과(인증 응답)를 수신한다. 인증을 위하여, 클라이언트(102)는 상기 사용자의 아이디(ID), 상기 사용자에게 할당된 토큰별 고유값(init_secret), 개인식별번호(PIN) 및 해당 시점에서의 시각 정보를 이용하여 OTP를 생성하고, 생성된 상기 OTP를 상기 인증 요청에 포함시켜 인증 서버(104)로 송신한다. 상기 OTP 생성 알고리즘에 대해서는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 잘 알려져 있으며, 또한 이에 대한 상세한 설명은 본 발명의 범위를 벗어나는 것이므로 이에 대해서는 상세한 설명을 생략하기로 한다.
상기 OTP가 생성되면, 클라이언트(102)는 상기 OTP와 함께 상기 OTP의 생성 시각을 상기 인증 요청에 포함시켜 인증 서버(104)로 송신한다. 즉, 본 발명에서는 클라이언트(102)의 OTP 인증 시 상기 인증 요청에 OTP 시각 정보를 부가함으로써 시간 기반 OTP 인증에 있어 클라이언트(102)와 인증 서버(104)간의 시간 동기화 문제를 원천적으로 해결하였다. 다시 말해 본 발명에 따를 경우 인증 서버(104)에서 클라이언트(102)의 OTP 생성 시각 정보를 직접 전달받으므로 클라이언트(102)와 인증 서버(104) 간에 시간을 동기화하거나 또는 인증 서버(104)에서 클라이언트(102)와의 시간 오차를 감안한 복수 개의 후보 OTP를 생성할 필요가 없어지게 된다.
상기 OTP 생성 시각 정보는, 예를 들어 상기 인증 요청의 아이디(ID) 필드에 부가되어 상기 인증 요청에 포함될 수 있다. 상기 OTP 생성 시각은 고정된 길이의 숫자열(예를 들어, Unix Epoch Time(1970/1/1, 00:00:00으로부터 지금까지의 시간을 초로 환산한 값) 등)로 표현될 수 있으며, 상기 숫자열은 상기 인증을 요청한 사용자의 아이디 문자열 뒷부분 등에 부가될 수 있다. 예를 들어, 상기 사용자의 아이디가 aaaa이고, OTP 생성 시각의 타임스탬프가 1234567890로 표현될 경우 상기 인증 요청의 아이디 필드에는 다음과 같이 저장될 수 있다.
aaaa1234567890
이 경우, 상기 인증 요청을 수신한 인증 서버(104)는 상기 아이디 필드의 마지막 10자리를 OTP 생성 시각으로 인식하여 이를 분리함으로써 아이디와 OTP 생성 시각을 각각 추출하게 된다. 상기와 같이 아이디 필드에 OTP 생성 시각을 덧붙여 송신할 경우 생성 시각 정보를 전달하기 위하여 별도의 필드를 만들 필요가 없으므로, 기존의 인증 프로토콜을 그대로 활용하면서 본 발명의 인증 방법을 적용할 수 있게 되는 장점이 있다.
다만, 상술한 OTP 생성 시각 정보 전달 방법은 하나의 예시일 뿐이며, 본 발명은 인증 요청 과정에서 OTP 생성 시각을 클라이언트(102)에서 서버(104)로 전달하기 위한 특정 방법에 의하여 한정되는 것은 아님을 유의한다.
인증 서버(104)는 클라이언트(102)로부터 인증 요청을 수신하고, 수신된 상기 인증 요청에 따라 클라이언트(102)를 인증한 결과(인증 응답)을 클라이언트(102)로 회신한다. 먼저, 인증 서버(104)는 클라이언트(102) 사용자의 아이디(ID), 상기 사용자에게 할당된 토큰별 고유값(init_secret) 및 개인식별번호(PIN)를 클라이언트(102)와 공유하여 저장한다. 즉, 상기 ID, init_secret 및 PIN 정보는 상기 사용자에 의하여 사전에 인증 서버(104) 측에 전달된다.
클라이언트(102)로부터 인증 요청이 수신되면, 인증 서버(104)는 수신된 인증 요청으로부터 OTP 생성 시각 정보를 추출한다. 전술한 바와 같이, 상기 인증 요청에는 인증을 요청한 사용자의 아이디, OTP 및 OTP 생성 시각 정보가 포함된다. 상기 OTP 생성 시각 정보를 어떠한 방식으로 상기 인증 요청에 포함하여 전달할지에 대해서는 클라이언트(102)와 사전에 설정된 프로토콜에 따른다. 만약 전술한 바와 같이 상기 OTP 생성 시각 정보가 상기 인증 요청의 아이디 필드에 부가될 경우, 인증 서버(104)는 상기 인증 요청의 아이디 필드를 파싱(parsing)하여 상기 OTP 생성 시각 정보를 추출할 수 있다.
상기 OTP 생성 시각 정보가 추출되면, 인증 서버(104)는 상기 OTP 생성 시각 정보 및 기 저장된 클라이언트(102)의 인증 정보(init_secret 및 PIN)를 이용하여 서버측 OTP를 생성하고, 생성된 상기 서버측 OTP를 상기 인증 요청에 포함된 클라이언트측 OTP와 비교하여 클라이언트(102)를 인증한다. 예를 들어, 인증 서버(104)는 자신이 생성한 서버측 OTP와 수신된 클라이언트측 OTP가 일치할 경우 클라이언트(102)의 인증에 성공한 것으로 판단하고, 일치하지 않을 경우 인증에 실패한 것으로 판단할 수 있다.
데이터베이스(106)는 클라이언트(102)에서 인증 서버(104)로 전송된 각 사용자의 아이디, 토큰별 고유값(init_secret) 및 개인식별번호(PIN)를 저장 및 관리한다. 상기 토큰별 고유값 및 개인식별번호는 각각의 아이디 별로 하나만이 존재할 수도 있고, 하나의 아이디에 복수 개의 토큰이 할당된 경우에는 아이디 별로 복수 개의 토큰별 고유값 및 개인식별번호 쌍이 매핑되어 저장될 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트(102)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 클라이언트(102)는 OTP 생성 모듈(200) 및 송수신 모듈(202)을 포함한다.
OTP 생성 모듈(200)은 사용자의 아이디, 토큰별 고유값, 개인식별번호 및 시각 정보를 이용하여 OTP(시간 기반 OTP)를 생성한다.
송수신 모듈(202)은 OTP 생성 모듈(200)에서 생성한 상기 OTP, 상기 사용자의 아이디 및 상기 OTP 생성 시각 정보를 포함하는 인증 요청을 인증 서버(104)로 송신하고, 인증 서버(104)로부터 상기 인증 요청에 대응하는 인증 응답을 수신한다. 전술한 바와 같이, 상기 OTP 생성 시각 정보는 상기 아이디와 결합되어 상기 인증 요청의 아이디 필드에 부가될 수 있다.
도 3은 본 발명의 일 실시예에 따른 인증 서버(104)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 인증 서버(104)는 송수신 모듈(300), 시각 정보 추출 모듈(302), OTP 생성 모듈(304) 및 인증 모듈(306)을 포함한다.
송수신 모듈(300)은 클라이언트(102)로부터 인증 요청을 수신하고, 상기 인증 요청에 따른 인증 결과를 클라이언트(102)로 송신한다.
시각 정보 추출 모듈(302)은 송수신 모듈(300)을 통하여 수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출한다. 예를 들어, 상기 OTP 생성 시각 정보가 상기 인증 요청의 아이디 필드에 부가되어 전송되는 경우, 시각 정보 추출 모듈(302)은 상기 인증 요청의 아이디 필드에 저장된 값을 읽고 이를 아이디 및 OTP 생성 시각으로 분리함으로써 아이디 및 OTP 생성 시각 정보를 각각 추출할 수 있다.
OTP 생성 모듈(304)은 데이터베이스(106)에 저장된 사용자 인증 정보 및 추출된 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성한다. 구체적으로, OTP 생성 모듈(304)은 시각 정보 추출 모듈(302)에서 분리된 상기 아이디로 데이터베이스(106)를 검색하여 상기 아이디에 대응되는 인증 정보(init_secret 및 PIN)를 획득하고, 획득된 정보 및 상기 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성한다.
만약 데이터베이스(106)에 상기 아이디에 대응되는 인증 정보가 복수 개 존재할 경우, 즉 하나의 사용자에게 복수 개의 토큰이 할당된 경우, OTP 생성 모듈(304)은 상기 복수 개의 인증 정보를 모두 데이터베이스(106)로부터 추출하고, 각각의 인증 정보 별로 복수 개의 서버측 OTP를 생성한다.
인증 모듈(306)은 상기 인증 요청에 포함된 클라이언트측 OTP 및 OTP 생성 모듈(304)에서 생성한 서버측 OTP를 비교하여 클라이언트(102)를 인증한다. 인증 모듈(306)은 상기 클라이언트측 OTP와 상기 서버측 OTP가 일치할 경우에는 클라이언트(102)의 인증이 성공한 것으로, 일치하지 않을 경우에는 인증에 실패한 것으로 판단한다. 만약 생성된 서버측 OTP가 복수 개일 경우, 즉 하나의 사용자에게 복수 개의 토큰이 할당된 경우, 인증 모듈(306)은 각각의 서버측 OTP와 클라이언트측 OTP를 차례로 비교하고, 클라이언트측 OTP와 일치하는 서버측 OTP가 하나라도 존재할 경우에는 인증에 성공한 것으로 판단한다. 만약 클라이언트측 OTP와 일치하는 서버측 OTP가 하나도 없을 경우에는 인증에 실패한 것이 된다.
상술한 바와 같은 구성을 가짐으로써, 본 발명에 따를 경우 시간 기반의 OTP 인증 방식에 있어 클라이언트와 서버 간에 별도의 시간 동기화가 필요 없게 된다. 또한, 종래 기술에 따를 경우 서버 측에서 클라이언트와 서버 간의 시간 오차, 패킷 송수신 지연 등에 따른 오차를 감안하여 각 토큰 별로 복수 개의 OTP 후보를 생성하여야 하나, 본 발명에 따를 경우 토큰 별로 하나의 OTP만 생성하면 되므로 서버 측의 오버헤드(overhead)가 줄어들게 된다. 특히 OTP 인증 방식의 경우 단순한 아이디/패스워드 방식에 비해 OTP 생성에 따른 서버측의 프로세스 오버헤드가 커지게 되며, 특히 기업 등의 경우 인증 요청이 특정 시간대(예를 들어 업무 시작 시간에 다수의 직원이 단말의 인증을 요청할 경우)에 몰린다는 점을 감안할 때 상기와 같은 서버 측의 오버헤드 감소 효과는 매우 두드러지게 나타나게 된다.
도 4는 본 발명의 일 실시예에 따른 시간 기반 인증 방법(400)을 설명하기 위한 순서도이다.
먼저, 클라이언트(102)는 인증 요청을 위하여 사용자의 토큰별 고유값(init_secret), 개인식별번호(PIN) 및 해당 시점에서의 시각 정보를 이용하여 클라이언트측 OTP를 생성하고(402), 사용자의 아이디, 상기 클라이언트측 OTP 생성 시간 및 클라이언트측 OTP를 포함하는 인증 요청을 인증 서버로 송신한다(404).
인증 서버(104)는, 클라이언트(102)로부터 상기 인증 요청을 수신하고, 수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출한다(406).
다음으로, 인증 서버(104)는, 상기 인증 요청에 포함된 아이디를 이용하여 데이터베이스(106)에 상기 아이디에 대응되는 인증 정보(init_secret, PIN)를 요청하고(408), 이에 따라 데이터베이스(106)로부터 인증 정보를 획득한다(410).
이후, 인증 서버(104)는 상기 인증 정보 및 상기 인증 요청으로부터 추출된 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성한다(412). 전술한 바와 같이, 데이터베이스(106)로부터 수신된 인증 정보가 복수 개인 경우에는 각 인증 정보 별로 복수 개의 서버측 OTP가 생성되며, 이에 대해서는 도 5에서 상세히 설명하기로 한다.
다음으로, 인증 서버(104)에서 인증 요청에 포함된 클라이언트측 OTP 및 서버측 OTP를 비교하여 클라이언트(102)를 인증하고(414), 인증 결과를 클라이언트(102)로 송신한다(416). 전술한 바와 같이, 인증 서버(104)는 상기 클라이언트측 OTP와 상기 서버측 OTP가 일치할 경우에는 클라이언트(102)의 인증이 성공한 것으로, 일치하지 않을 경우에는 인증에 실패한 것으로 판단한다. 또한 만약 생성된 서버측 OTP가 복수 개일 경우에는 각각의 서버측 OTP와 클라이언트측 OTP를 차례로 비교하고, 클라이언트측 OTP와 일치하는 서버측 OTP가 하나라도 존재할 경우에는 인증에 성공한 것으로 판단한다. 만약 클라이언트측 OTP와 일치하는 서버측 OTP가 하나도 없을 경우에는 인증에 실패한 것이 된다. 이에 대해서는 도 6에서 상세히 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 시간 기반 인증 방법에서 클라이언트별로 복수 개의 토큰이 할당된 경우의 구체적인 서버측 OTP 생성 단계(412 단계)를 설명하기 위한 순서도이다.
410 단계에서 복수 개의 인증 정보를 수신한 경우, 인증 서버(104)는 먼저 수신된 인증 정보 중 하나의 인증 정보를 선택하고(500), 선택된 인증 정보를 이용하여 서버측 OTP를 생성한다(502). 이후 수신된 인증 정보 중 아직 서버측 OTP를 생성하지 않은 인증 정보가 존재하는 경우에는, 상기 410 단계에서 수신한 모든 인증 정보에 대응되는 OTP가 생성될 때까지 상기 500 및 502 단계를 반복 수행한다(504).
도 6은 본 발명의 일 실시예에 따른 시간 기반 인증 방법에서 클라이언트별로 복수 개의 토큰이 할당된 경우의 구체적인 클라이언트 인증 단계(414 단계)를 설명하기 위한 순서도이다.
먼저, 인증 서버(104)는 상기 412 단계에서 생성된 서버측 OTP 중 하나의 OTP를 선택하고(600), 선택된 서버측 OTP와 404 단계에서 수신한 클라이언트측 OTP의 일치 여부를 판단한다(602).
만약 상기 602 단계의 판단 결과 일치하는 경우, 인증 서버(104)는 클라이언트(102)의 인증에 성공한 것으로 판단하고, 이에 따른 인증 결과를 클라이언트(102)로 송신한다. 그러나 만약 상기 602 단계의 판단 결과 일치하지 않는 경우, 인증 서버(104)는 아직 클라이언트(102)와 비교되지 않은 서버측 OTP가 존재하는지의 여부를 판단하고(606), 존재하는 경우 새로운 서버측 OTP를 선택하여 600 단계 및 602 단계를 반복 수행한다.
만약 상기 606 단계의 판단 결과 남는 서버측 OTP가 존재하지 않는 경우, 즉 모든 서버측 OTP가 클라이언트측 OTP와 일치하지 않는 경우에는 인증에 실패한 것으로 판단하고, 이에 따른 인증 결과를 클라이언트(102)로 송신한다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
102: 클라이언트
104: 인증 서버
106: 데이터베이스
200: OTP 생성 모듈
202: 송수신 모듈
300: 송수신 모듈
302: 시각 정보 추출 모듈
304: OTP 생성 모듈
306: 인증 모듈

Claims (11)

  1. 클라이언트로부터 인증 요청을 수신하고, 상기 인증 요청에 따른 인증 결과를 상기 클라이언트로 송신하는 송수신 모듈;
    수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출하는 시각 정보 추출 모듈;
    기 저장된 인증 정보 및 추출된 상기 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성하는 OTP 생성 모듈; 및
    상기 인증 요청에 포함된 클라이언트측 OTP 및 상기 서버측 OTP를 비교하여 상기 클라이언트를 인증하는 인증 모듈을 포함하고,
    상기 OTP 생성 시각 정보는 상기 인증 요청의 아이디 필드에 부가되어 상기 인증 요청에 포함되며, 상기 시각 정보 추출 모듈은 상기 아이디 필드에 저장된 값에서 아이디 및 OTP 생성 시각을 분리함으로써 상기 OTP 생성 시각 정보를 추출하고,
    상기 OTP 생성 모듈은, 상기 시각 정보 추출 모듈에서 분리된 상기 아이디를 이용하여 데이터베이스로부터 상기 아이디에 대응되는 인증 정보를 획득하되, 상기 아이디에 대응되는 인증 정보가 상기 데이터베이스에 복수 개 존재할 경우, 획득된 각각의 인증 정보 별로 복수 개의 서버측 OTP를 생성하는, 시간 기반 인증 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 인증 모듈은, 생성된 상기 복수 개의 서버측 OTP 중 하나의 서버측 OTP와 상기 클라이언트측 OTP가 일치하는 경우 인증에 성공한 것으로 판단하는, 시간 기반 인증 시스템.
  6. 인증 서버에서, 클라이언트로부터 인증 요청을 수신하는 단계;
    상기 인증 서버에서, 수신된 상기 인증 요청에 포함된 클라이언트측 OTP 생성 시각 정보를 추출하는 단계;
    상기 인증 서버에서, 기 저장된 인증 정보 및 추출된 상기 OTP 생성 시각 정보를 이용하여 서버측 OTP를 생성하는 단계;
    상기 인증 서버에서, 상기 인증 요청에 포함된 클라이언트측 OTP 및 상기 서버측 OTP를 비교하여 상기 클라이언트를 인증하는 단계; 및
    상기 인증 서버에서, 상기 인증 단계에 따른 인증 결과를 상기 클라이언트로 송신하는 단계를 포함하고,
    상기 OTP 생성 시각 정보는 상기 인증 요청의 아이디 필드에 부가되어 상기 인증 요청에 포함되며, 상기 시각 정보 추출 단계는 상기 아이디 필드에 저장된 값에서 아이디 및 OTP 생성 시각을 분리함으로써 상기 OTP 생성 시각 정보를 추출하고,
    상기 서버측 OTP 생성 단계는, 상기 시각 정보 추출 단계에서 분리된 상기 아이디를 이용하여 데이터베이스로부터 상기 아이디에 대응되는 인증 정보를 획득하되, 상기 아이디에 대응되는 인증 정보가 상기 데이터베이스에 복수 개 존재할 경우, 획득된 각각의 인증 정보 별로 복수 개의 서버측 OTP를 생성하는, 시간 기반 인증 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 청구항 6에 있어서,
    상기 인증 단계는, 생성된 상기 복수 개의 서버측 OTP 중 하나의 서버측 OTP와 상기 클라이언트측 OTP가 일치하는 경우 인증에 성공한 것으로 판단하는, 시간 기반 인증 방법.
  11. 청구항 6 또는 청구항 10에 기재된 방법을 컴퓨터상에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020110121461A 2011-11-21 2011-11-21 시간 기반 인증 시스템 및 방법 KR101424569B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110121461A KR101424569B1 (ko) 2011-11-21 2011-11-21 시간 기반 인증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110121461A KR101424569B1 (ko) 2011-11-21 2011-11-21 시간 기반 인증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130055829A KR20130055829A (ko) 2013-05-29
KR101424569B1 true KR101424569B1 (ko) 2014-08-04

Family

ID=48664110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110121461A KR101424569B1 (ko) 2011-11-21 2011-11-21 시간 기반 인증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101424569B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502999B1 (ko) * 2014-05-29 2015-03-18 유한회사 실릭스 일회성 비밀번호를 이용한 본인 인증 시스템 및 방법
KR101708458B1 (ko) * 2015-07-28 2017-02-20 경희대학교 산학협력단 페어링 방법 및 이를 이용한 전자 장치
KR102000164B1 (ko) * 2016-03-08 2019-07-16 한국전자통신연구원 복수개의 otp들을 이용한 otp 인증 강화 방법
KR102547694B1 (ko) * 2022-07-29 2023-06-23 강원식 출입 통제 시스템에 otp를 제공하는 방법 및 시스템
KR102509928B1 (ko) * 2022-07-29 2023-03-14 강원식 공공시설물 관리단말에 otp를 제공하는 방법 및 시스템
KR102479032B1 (ko) * 2022-07-29 2022-12-16 강원식 영상 감시 시스템에 otp를 제공하는 방법 및 시스템
KR102479038B1 (ko) * 2022-07-29 2022-12-16 강원식 통합배선반 시스템에 otp를 제공하는 방법 및 시스템
KR102479036B1 (ko) * 2022-07-29 2022-12-16 강원식 통합 재난 비상 방송 시스템에 otp를 제공하는 방법 및 시스템
KR102509931B1 (ko) * 2022-07-29 2023-03-14 강원식 주차 관제 시스템에 otp를 제공하는 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755212B1 (ko) 2006-05-01 2007-09-04 주식회사 미래테크놀로지 오티피 발생용 아이씨 칩이 내장된 휴대폰을 이용한시간동기방식 오티피 생성 및 인증시스템과 그 방법
KR20080061714A (ko) * 2006-12-28 2008-07-03 손민석 이동통신단말기에서 생성되는 일회용 비밀번호를 기반으로한 사용자 인증 방법
JP2008234096A (ja) * 2007-03-19 2008-10-02 Dainippon Printing Co Ltd Icカードを用いて時刻同期方式のワンタイムパスワードを生成する方法、ワンタイムパスワードの認証方法、icカードシステム、インターフェースデバイスおよびicカード
KR20090098928A (ko) * 2008-03-15 2009-09-18 박현원 시간동기화된 챌린지-리스펀스 방식의 일회용암호 생성방법및 인증시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100755212B1 (ko) 2006-05-01 2007-09-04 주식회사 미래테크놀로지 오티피 발생용 아이씨 칩이 내장된 휴대폰을 이용한시간동기방식 오티피 생성 및 인증시스템과 그 방법
KR20080061714A (ko) * 2006-12-28 2008-07-03 손민석 이동통신단말기에서 생성되는 일회용 비밀번호를 기반으로한 사용자 인증 방법
JP2008234096A (ja) * 2007-03-19 2008-10-02 Dainippon Printing Co Ltd Icカードを用いて時刻同期方式のワンタイムパスワードを生成する方法、ワンタイムパスワードの認証方法、icカードシステム、インターフェースデバイスおよびicカード
KR20090098928A (ko) * 2008-03-15 2009-09-18 박현원 시간동기화된 챌린지-리스펀스 방식의 일회용암호 생성방법및 인증시스템

Also Published As

Publication number Publication date
KR20130055829A (ko) 2013-05-29

Similar Documents

Publication Publication Date Title
KR101424569B1 (ko) 시간 기반 인증 시스템 및 방법
EP3435591B1 (en) 1:n biometric authentication, encryption, signature system
KR101367621B1 (ko) Otp 기반 인증 시스템 및 방법
CN100586066C (zh) 一种实现单点登录的系统及方法
US9141782B2 (en) Authentication using a wireless mobile communication device
US10262129B1 (en) Dynamic password generator with fuzzy matching
CN113268759B (zh) 一种基于web架构的token权限认证方法及系统
JP2002521962A (ja) 認証トークンを使用して共有秘密を確立する方法及びシステム
KR102252396B1 (ko) Otp 기반 인증 시스템 및 방법
US10541815B2 (en) Persistent authentication system incorporating one time pass codes
KR20210095093A (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
CN112383401B (zh) 一种提供身份鉴别服务的用户名生成方法及系统
KR102372503B1 (ko) 탈중앙화 아이디 앱을 이용하여 인증 서비스를 제공하는 방법 및 이를 이용한 탈중앙화 아이디 인증 서버
US10972286B2 (en) Token-based authentication with signed message
US10979411B2 (en) Authentication control system, server apparatus, client apparatus, authentication control method, authentication method, and program
KR101273285B1 (ko) 인증 에이전트 장치, 온라인 서비스 인증 방법 및 시스템
WO2017020669A1 (zh) 分布式系统节点身份认证方法及装置
CN111817860B (zh) 一种通信认证方法、装置、设备及存储介质
CN111953711A (zh) 一种基于安全认证机制的通信认证方法
KR20150077981A (ko) 스마트카드를 이용한 원거리 인증 방법
CN116366296A (zh) 反爬虫方法和装置
CN115801319A (zh) 集群权限认证的方法、客户端、服务端及存储介质
CN114422252A (zh) 一种身份认证方法及装置
CN106790026A (zh) 一种基于Hadoop的多租户网盘鉴权方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180625

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 6