KR102264720B1 - 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법 - Google Patents

인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법 Download PDF

Info

Publication number
KR102264720B1
KR102264720B1 KR1020210028029A KR20210028029A KR102264720B1 KR 102264720 B1 KR102264720 B1 KR 102264720B1 KR 1020210028029 A KR1020210028029 A KR 1020210028029A KR 20210028029 A KR20210028029 A KR 20210028029A KR 102264720 B1 KR102264720 B1 KR 102264720B1
Authority
KR
South Korea
Prior art keywords
user
authentication
user terminal
random table
management server
Prior art date
Application number
KR1020210028029A
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 KR1020210028029A priority Critical patent/KR102264720B1/ko
Application granted granted Critical
Publication of KR102264720B1 publication Critical patent/KR102264720B1/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
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of 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/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/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사용자 아이디와 비식별확인키를 이용한 사용자 인증기술에 관한 것으로, 보다 상세하게는 별도의 공인인증서나 은행 등과 같은 기관에서 발행하는 OTP장치를 소지하지 않더라도 언제 어디서나 안전하게 사용자 인증을 처리할 수 있는 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법을 제공하는 것이다.

Description

인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법{Method of User Authentication executed in authentication server, management server and user terminal}
본 발명은 사용자 아이디와 비식별확인키를 이용한 사용자 인증기술에 관한 것으로, 보다 상세하게는 별도의 공인인증서나 은행 등과 같은 기관에서 발행하는 OTP장치를 소지하지 않더라도 언제 어디서나 안전하게 사용자 인증을 처리할 수 있는 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법을 제공하는 것이다.
전기전자통신 기술이 발달하면서 데스크탑, 노트북, 스마트폰, 태블릿 PC와 같은 통신기기들이 널리 보급되었다. 이러한 통신 환경에서 회원가입을 통해 온라인으로 은행서버, 기업서버, 웹서버 등을 접속하는 것이 가능해졌다.
불법해킹으로부터 고객의 소중한 정보 보호를 위해, 은행, 기업, 공기관들은 회원가입 시 등록한 사용자 아이디와 패스워드 입력을 통한 로그인 방식 이외에, 사용자 정보의 불법도용 여부를 확인하기 위한 절차로 사용자에게 휴대폰인증, 공인인증, OTP인증 또는 생체인증 등을 요구하고 있다.
그런데 사용자가 스마트폰, 가방, 지갑 등과 같은 다양한 생활품들 이외에 공인인증서를 저장한 USB저장매체 또는 OTP장치를 소지하면서 사용하다 보면 분실, 파손의 위험이 있다.
한국등록특허 제10-1657936호(등록일 2016.09.09)
본 발명은 상기와 같은 배경에서 제안된 것으로, 본 발명은 별도의 공인인증서나 은행 등과 같은 기관에서 발행하는 OTP장치를 소지하지 않더라도 언제 어디서나 안전하게 사용자 인증을 처리할 수 있는 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 양상에 따른 사용자 인증방법은 인증서버와 연동하는 관리서버와, 네트워크를 통해 연결되는 사용자 단말에서 실행되는 사용자 인증방법으로,
a) 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 등록정보를 관리서버로 전송하는 단계와; b) 인증서버에서 상기 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 관리서버로부터 입력받아 저장부에 저장하는 단계와;
c) 사용자 조작에 따라 인증요청 이벤트가 발생하면 저장부에 저장된 비식별확인키와 시각정보를 이용하여 제1 해쉬값을 생성하는 단계와; d) 상기 제1 해쉬값과 인증서버와 공유된 대칭키를 이용하여 수십 바이트(byte) 길이를 갖는 제2 해쉬값을 생성하는 단계와;
e) 상기 제2 해쉬값을 해석하여 제1 숫자데이터들을 추출하는 단계와; f) 상기 제1 숫자데이터들과 저장부에 저장된 랜덤테이블을 순차적으로 비교하여 일회용 패스워드로 사용할 제1 문자정보를 수집하는 단계와;
g) 상기 제1 숫자데이터들의 개수에 맞게 비식별확인키의 앞 자리수들을 추출하고, 상기 비식별확인키의 앞 자리수들과 저장부에 저장된 랜덤테이블을 비교하여 문자들을 추출하는 단계와; h) 상기 추출한 문자들을 배열순서가 일치하는 상기 제1 숫자데이터들의 숫자만큼 랜덤테이블 상에서 이동하여 제2 문자정보를 수집하는 단계와;
i) 상기 제1 문자정보와 제2 문자정보를 포함하는 일회용 패스워드(OTID)를 생성하고 이를 관리서버로 전송하는 단계와; j) 관리서버가 일회용 패스워드(OTID)를 인증서버로 전송한 후, 인증서버에서 상기 일회용 패스워드(OTID)와 랜덤테이블을 이용하여 제2 숫자데이터들을 추출하고, 상기 추출한 제2 숫자데이터들을 포함하는 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 검색하여 사용자 아이디(ID)를 관리서버로 전송하면, 관리서버로부터 사용자 인증결과를 입력받는 단계를 포함한다.
본 발명의 다른 양상에 따른 사용자 인증방법은 사용자 단말과 네트워크를 통해 연결되는 관리서버와 연동하는 인증서버에서 실행되는 사용자 인증방법으로, 사용자 단말에서 입력된 사용자 아이디(ID)를 관리서버로부터 수신하면 사용자 아이디(ID)를 해쉬하여 비식별확인키를 생성하고 상기 생성된 비식별확인키를 사용자 아이디(ID)와 함께 저장부에 저장하는 단계와;
상기 비식별확인키 및 복수의 문자를 포함하는 랜덤테이블을 관리서버를 통해 사용자 단말로 전송하는 단계와; 사용자 단말에서 생성된 제1 문자정보와 제2 문자정보를 포함하는 일회용 패스워드(OTID)를 관리서버로부터 수신하는 단계와;
상기 일회용 패스워드(OTID)에 포함된 제1 문자정보와 랜덤테이블을 비교하여, 랜덤테이블에서 제1 문자정보가 있는 위치의 제3 숫자데이터들을 추출하는 단계와; 상기 일회용 패스워드(OTID)에 포함된 제2 문자정보와 랜덤테이블을 비교하여, 랜덤테이블에서 제2 문자정보를 상기 제3 숫자데이터들의 숫자만큼 랜덤테이블 상에서 이동하여 제3 문자정보를 구하는 단계와;
상기 제3 문자정보와 랜덤테이블을 비교하여 랜덤테이블에서 제3 문자정보가 있는 위치의 제4 숫자데이터들을 추출하는 단계와; 상기 추출한 제4 숫자데이터들을 포함하는 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색하는 단계와; 상기 검색된 사용자 아이디(ID)를 관리서버로 전송하는 단계를 포함한다.
본 발명의 또 다른 양상에 따른 사용자 인증방법은 인증서버와 사용자 단말과 네트워크를 통해 연결되는 관리서버에서 실행되는 사용자 인증방법으로,
사용자 단말로부터 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 정보를 수신하는 단계와; 상기 사용자 아이디(ID)를 인증서버로 전송하고, 인증서버에서 상기 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 인증서버로부터 입력받아 사용자 단말로 전송하는 단계와;
사용자 단말로부터 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 인증요청정보가 입력되면 일회용 패스워드(OTID) 요청정보를 사용자 단말로 전송하고, 그 응답으로 사용자 단말로부터 일회용 패스워드(OTID)를 입력받아 인증서버로 전송하는 단계와;
인증서버에서 상기 일회용 패스워드(OTID)와 랜덤테이블을 이용하여 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색한 후 인증서버로부터 전송되는 사용자 아이디(ID)를 수신하는 단계와;
상기 사용자 인증요청정보에 포함된 사용자 아이디(ID)와 인증서버로부터 전송되는 사용자 아이디(ID)를 비교하여 일치하면 사용자 인증 성공정보를 사용자 단말로 전송하는 단계를 포함한다.
본 발명에 따르면, 사용자 인증요청정보에 포함된 사용자 아이디(ID)와 인증서버로부터 전송되는 사용자 아이디(ID)를 비교하여 일치하면 사용자 인증 성공정보를 사용자 단말로 전송하는 단계는, 사용자 인증 성공정보를 인증서버로 전송한 후 인증서버로부터 업데이트된 랜덤테이블을 입력받아 사용자 단말로 전송하는 단계를 포함한다.
상술한 바와 같이, 본 발명에 따른 사용자 인증방법은 다음과 같은 장점이 있다.
첫째, 인증서버에서 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 저장부에 저장한 후 사용자 조작에 따라 인증요청 이벤트가 발생하면 저장부에 저장된 비식별확인키와 랜덤테이블을 이용하여 제1 문자정보와 제2 문자정보를 포함하는 일회용 패스워드(OTID)를 생성하여 사용자 인증을 처리하도록 구현됨으로써, 별도의 공인인증서나 은행 등과 같은 기관에서 발행하는 OTP장치를 소지하지 않더라도 언제 어디서나 안전하게 사용자 인증을 처리할 수 있다.
둘째, 비식별확인키와 랜덤테이블을 이용하여 생성된 일회용 패스워드(OTID)를 통한 사용자 인증 후에는 랜덤테이블을 인증서버와 사용자 단말 모두 업데이트하도록 구현됨으로써, 동적 인증(Dynamic Authentication)을 통한 보안강화로 외부 해킹 및 내부위협 요소로부터 보안 취약점을 원천 차단할 수 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1 은 본 발명에 따른 사용자 인증 시스템을 설명하기 위한 예시도이다.
도 2 는 본 발명에 따른 사용자 아이디와 비식별확인키를 이용한 사용자 인증방법을 설명하기 위한 예시도이다.
도 3 내지 도 5 는 본 발명에 따른 일회용 패스워드(OTID)를 생성하는 과정을 설명하기 위한 예시도이다.
도 6 내지 도 7은 본 발명에 따른 일회용 패스워드(OTID)를 검증하는 과정을 설명하기 위한 예시도이다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서는, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
본 발명에 따른 사용자 인증 시스템은, 도 1 에 도시한 바와 같이 네트워크로 연결되는 사용자 단말(100)과 관리서버(200)와 인증서버(300)를 포함한다.
사용자 단말(100)은 노트북, 태블릿 PC, 스마트폰과 같이 유선인터넷 또는 Wi-Fi, 블루투스와 같은 무선 인터넷통신을 지원하는 장치로 구현될 수 있다. 사용자는 사용자 단말(100)을 사용하여 은행, 기업, 공기관에서 제공하는 홈페이지 또는 기타 웹사이트에 사용자 정보 입력, 및 인증 과정을 거쳐서 회원가입을 할 수 있다. 사용자 정보는 사용자 아이디(ID)와 패스워드(PW)를 포함할 수 있다. 또한 사용자 정보는 이름, 생년월일, 연락처정보, 회사명, 또는 직위를 포함할 수 있다.
사용자 단말(100)은 사용자 조작을 통해 홈페이지 또는 기타 웹사이트에 회원등록 하는 절차를 진행하면서, 인증서버(300)에서 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 관리서버(200)로부터 입력받아 저장부에 저장한다. 사용자 단말(100)은 비식별확인키와 랜덤테이블과 시각정보를 해쉬하여 일회용 패스워드(OTID)를 자동으로 생성하고 이를 관리서버(200)로 전송하는 앱을 저장한다. 이러한 앱은 홈페이지 또는 기타 웹사이트로부터 다운로드 받거나 다른 예로, 앱서버에서 검색하여 다운로드 받을 수 있다.
관리서버(200)는 홈페이지 또는 기타 웹사이트에 대한 회원등록과 회원인증과 웹사이트 접속을 처리하는 역할을 담당한다. 관리서버(200)는 사용자 단말(100)로부터 사용자 아이디(ID)와 패스워드(PW)를 포함하는 인증 요청 정보와 일회용 패스워드(OTID)가 입력되면, 일회용 패스워드(OTID) 검증요청정보를 인증서버(300)로 전송한다. 관리서버(200)는 인증서버(300)로부터 인증결과로서 추출된 사용자 아이디(ID)를 수신하면, 추출된 사용자 아이디(ID)와 인증 요청 정보에 포함된 사용자 아이디(ID)가 일치하는지 판단하고 판단결과 일치하면 인증성공, 불일치하면 인증실패를 사용자 단말(100)로 전송한다.
인증서버(300)는 일례로 사용자 아이디(ID)와 확인된 사용자 정보에 해쉬 함수를 적용하여 비식별확인키(해쉬값)를 생성할 수 있다. 이때, 해쉬값 생성을 위한 해쉬 함수는 MD4 함수, MD5 함수, SHA-0 함수, SHA-1 함수, SHA-224 함수, SHA-256 함수, SHA-384함수, SHA-512 함수 및 HAS-160 함수를 포함할 수 있으나, 이에 한정되지 않음은 통상의 기술자가 알 수 있을 것이다. 예를 들어 Triple SHA256도 가능할 것이다.
인증서버(300)는 복수의 문자를 포함하는 랜덤테이블을 랜덤하게 변경되며, 문자는 일례로 영어 대문자 및 소문자를 포함할 수 있으나, 이에 한정되지 않으며, 예를 들어 한글, 중국어, 일본어 등도 가능할 것이다. 랜덤테이블에 포함되는 문자는 숫자와 특수기호 또는 그 이미지를 포함할 수 있다. 랜덤테이블의 블록은 행과 열로 구분되며, 랜덤테이블의 블록수는 헥사값 최대크기(0xFF)인 255개이고, 각 위치에 대응하는 숫자가 할당된다. 예컨대 블록(1,1)은 숫자 01, 블록(1,2)은 숫자 02와 같이 랜덤테이블의 블록을 구분하는 숫자가 할당된다.
인증서버(300)는 일회용 패스워드(OTID) 검증요청정보를 관리서버(200)로부터 수신하면, 일회용 패스워드(OTID)와 사용자 단말(100)과 동일한 랜덤테이블을 이용하여 비식별확인키를 추출하고, 추출된 비식별확인키와 일치하는 사용자 아이디(ID)를 추출한다.
도 2 는 본 발명에 따른 사용자 아이디와 비식별확인키를 이용한 사용자 인증방법을 설명하기 위한 예시도이다. 도 3 내지 도 5 는 본 발명에 따른 일회용 패스워드(OTID)를 생성하는 과정을 설명하기 위한 예시도이다. 도 6 내지 도 7은 본 발명에 따른 일회용 패스워드(OTID)를 검증하는 과정을 설명하기 위한 예시도이다.
먼저 도 2를 참조하여, 인증서버(300)와 연동하는 관리서버(200)와 네트워크를 통해 연결되는 사용자 단말(100)에서 실행되는 사용자 인증방법을 설명한다.
사용자 단말(100)은 사용자 조작을 통해 은행, 기업, 공기관에서 제공하는 홈페이지 또는 기타 웹사이트에 회원등록 하는 절차를 진행한다. 사용자 단말(100)은 사용자 아이디(ID)와 패스워드(PW)를 포함하는 사용자 정보를 입력하면(S201), 이를 관리서버로 전송한다(S202). 사용자 정보는 이름, 생년월일, 연락처정보, 회사명, 또는 직위를 포함할 수 있다.
도 2에 도시하지 않았지만 S202 단계에는 사용자 아이디(ID)와 패스워드(PW)가 사용가능한 것인지를 검증하는 단계를 포함한다. 또한, 회원등록 과정 중 널리 알려진 바와 같이, 휴대폰 인증, 카카오 인증 등을 거쳐서 사용자 정보가 타인에 의해 무단도용된 것인지를 확인하기 위한 사용자 본인 인증을 수행하는 단계를 포함할 수 있다.
사용자 단말(100)은 인증서버(300)에서 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 관리서버(200)로부터 입력받아 저장부에 저장한다. 랜덤테이블에 포함되는 문자는 숫자이미지와 특수기호이미지를 포함할 수 있다. 랜덤테이블의 블록은 행과 열로 구분되며, 랜덤테이블의 블록수는 헥사값 최대크기(0xFF)인 255개이고, 각 위치에 대응하는 숫자가 할당된다. 예컨대 블록(1,1)은 숫자 01, 블록(1,2)은 숫자 02와 같이 랜덤테이블의 블록을 구분하는 숫자가 할당된다.
사용자 단말(100)은 사용자 조작에 따라 인증요청 이벤트가 발생하면 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 인증요청정보를 관리서버(200)로 전송한다(S207). 또한 사용자 단말(100)은 일회용 패스워드(OTID)를 생성하고(S208), 이를 관리서버(200)로 전송한다(S209). 사용자 단말(100)은 인증서버(300)에서 일회용 패스워드(OTID)를 검증한 결과를 수신한 관리서버(200)로부터 사용자 인증결과를 수신한다.
여기서, 도 3 내지 도 5를 참조하여 사용자 단말(100)이 일회용 패스워드(OTID)를 생성하는 S208 단계를 보다 구체적으로 설명한다.
먼저 도 3에서 사용자 단말(100)은 사용자 인증요청 이벤트가 발생하면, 저장부에 저장된 비식별확인키와 시각정보를 이용하여 제1 해쉬값을 생성한다. 해쉬값 생성을 위한 해쉬 함수는 MD4 함수, MD5 함수, SHA-0 함수, SHA-1 함수, SHA-224 함수, SHA-256 함수, SHA-384함수, SHA-512 함수 및 HAS-160 함수를 포함할 수 있으나, 이에 한정되지 않음은 통상의 기술자가 알 수 있을 것이다. 예를 들어 Triple SHA256도 가능할 것이다.
사용자 단말(100)은 제1 해쉬값과 인증서버(300)와 공유된 대칭키를 이용하여 수십 바이트(byte) 길이를 갖는 제2 해쉬값을 생성한다. 예컨대 사용자 단말(100)은 도 3과 같이 32바이트(byte) 길이를 갖는 제2 해쉬값을 생성할 수 있다. 사용자 단말(100)은 제2 해쉬값을 해석하여 제1 숫자데이터들을 추출한다. 해쉬값 해석 규약에 따라, 최하위 바이트에 해당하는 “0xB3”는 추출정보이며, 사용자 단말(100)은 이 추출정보를 사용하여 일회용 패스워드(OTID)로 변환할 데이터를 추출한다. 사용자 단말(100)은 “0xB3”추출정보 값이 지정하는 순서에 위치한 데이터를 추출데이터 시작점으로 하여, 해쉬값 해석 규약에 따라 미리 약속된 추출데이터 끝점까지의 데이터를 추출한다. 도 3을 참조하면 사용자 단말(100)은 연속된 4바이트의 데이터 값인 07, 08, 09, 01를 추출한다.
도 4에서, 랜덤테이블은 복수의 문자가 행과 열로 구분되며, 각 위치에 대응하는 숫자가 할당된다. 예컨대, x는 01, W는 02, a는 03, B는 04, w는 05, v는 06, i는 07, J는 08, t는 09, u는 10(0a)이 할당된다. 도 4를 참조하면 사용자 단말(100)은 추출된 제1 숫자데이터들, 즉 07, 08, 09, 01과 저장부에 저장된 랜덤테이블을 순차적으로 비교하여 일회용 패스워드로 사용할 제1 문자정보, i, J, t, x를 추출한다.
사용자 단말(100)은 추출된 제1 숫자데이터들의 개수에 맞게 비식별확인키의 앞 자리수들을 추출한다. 비식별확인키는 인증서버(300)에서 사용자 아이디(ID)와 확인된 사용자 정보에 해쉬 함수를 적용하여 생성되는 해쉬값이다. 예를 들어 비식별확인키는 “0x02, 0x03, 0x08, 0x0a, 0x09, 0x07, …”으로 표현될 수 있다. 사용자 단말(100)은 추출된 제1 숫자데이터들의 개수가 4개이므로, 비식별확인키의 앞 자리수들 4개, 즉 0x02, 0x03, 0x08, 0x0a를 추출한다.
사용자 단말(100)은 비식별확인키의 앞 자리수들 즉 0x02, 0x03, 0x08, 0x0a와 저장부에 저장된 랜덤테이블을 비교하여 문자들을 추출한다. 도 4를 참조하면 사용자 단말(100)은 비식별확인키의 앞 자리수들 즉 0x02, 0x03, 0x08, 0x0a와 저장부에 저장된 랜덤테이블을 비교하여 2→W, 3→a, 8→J, 10(0a)→u와 같이 W, a, J, u 문자들을 추출한다.
사용자 단말(100)은 추출한 문자들(W, a, J, u )을 배열순서가 일치하는 제1 숫자데이터들(07, 08, 09, 01)의 숫자만큼 랜덤테이블 상에서 이동하여 제2 문자정보를 수집한다. 예컨대, 사용자 단말(100)은 랜덤테이블의 W에서 07만큼 뒤로 이동하여 t, 랜덤테이블의 a에서 08만큼 뒤로 이동하여 H, 랜덤테이블의 J에서 09만큼 뒤로 이동하여 R, 랜덤테이블의 u에서 01만큼 뒤로 이동하여 H를 추출하여 일회용 패스워드로 사용할 제2 문자정보, t, H, R, H를 추출한다.
사용자 단말(100)은 도 5에 도시한 바와 같이, 제1 문자정보(i, J, t, x)와 제2 문자정보(t, H, R, H)를 포함하는 일회용 패스워드(OTID)를 생성한다.
이제, 도 6 내지 도 7를 참조하여 인증서버(300)에서 일회용 패스워드(OTID)를 검증하는 S211 단계를 보다 구체적으로 설명한다.
인증서버(300)는 사용자 단말(100)에서 생성된 일회용 패스워드(OTID)에 대한 검증요청정보를 관리서버(200)로부터 수신하면, 일회용 패스워드(OTID)에 포함된 제1 문자정보와 랜덤테이블을 비교하여 랜덤테이블에서 제1 문자정보가 있는 위치의 숫자데이터들을 추출한다.
도 6을 참조하면, 일회용 패스워드(OTID)에 포함된 제1 문자정보는 (i, J, t, x)이고, 일회용 패스워드(OTID)에 포함된 제2 문자정보는 (t, H, R, H)이다. 인증서버(300)는 사용자 단말(100)에서 제1 문자정보(i, J, t, x)와 제2 문자정보(t, H, R, H)를 포함하는 일회용 패스워드(OTID)를 생성하는 과정을 역순으로 진행하여 일회용 패스워드(OTID)를 검증한다.
먼저, 인증서버(300)는 일회용 패스워드(OTID)에 포함된 제1 문자정보(i, J, t, x)와 랜덤테이블을 비교하여, 랜덤테이블에서 제1 문자정보(i, J, t, x)가 있는 위치의 숫자데이터들을 추출한다. 예컨대, 도 6에서 i→07, J→08, t→09, x→01와 같은 숫자데이터이다.
이후, 인증서버(300)는 일회용 패스워드(OTID)에 포함된 제2 문자정보(t, H, R, H)와 랜덤테이블을 비교하여, 랜덤테이블에서 제2 문자정보(t, H, R, H)를 도 6에서 추출한 숫자데이터들 (07, 08, 09, 01)의 숫자만큼 랜덤테이블 상에서 이동하여 제3 문자정보를 추출한다. 예컨대, 인증서버(300)는 랜덤테이블의 t에서 07만큼 앞으로 이동하여 W, 랜덤테이블의 H에서 08만큼 앞으로 이동하여 a, 랜덤테이블의 R에서 09만큼 앞으로 이동하여 J, 랜덤테이블의 H에서 01만큼 앞으로 이동하여 u를 추출한다.
인증서버(300)는 추출된 문자들 (W, a, J, u)와 랜덤테이블을 비교하여 랜덤테이블에서 추출된 문자들 (W, a, J, u)가 있는 위치의 숫자데이터들을 추출한다. 예컨대, W→0x02, a→0x03, J→0x08, u→0x0a와 같은 숫자데이터이다.
이후, 인증서버(300)는 추출한 숫자데이터들(0x02, 0x03, 0x08, 0x0a)을 포함하는 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색한다. 도 7를 참조하면, 인증서버(300)의 저장부인 데이터베이스(DB)에는 비식별확인키와 그와 매칭되는 사용자 아이디(ID)가 저장된다. 예컨대, 비식별확인키가 “0x02, 0x03, 0x08, 0x0a, 0x03, 0x07, …”인 경우, 사용자 아이디(ID)는 “TEST”이며, 비식별확인키가 “0x02, 0x03, 0x08, 0x0a, 0x09, 0x06, …”인 경우, 사용자 아이디(ID)는 “Joonir”이다.
주목할 점은, 인증서버(300)에서 추출한 숫자데이터들(0x02, 0x03, 0x08, 0x0a)을 포함하는 비식별확인키가 복수개일 수 있다는 점이다, 도 7을 참조하면, 0x02, 0x03, 0x08, 0x0a을 포함하는 비식별확인키에 대응하는 사용자 아이디(ID)는 “TEST”, “Joonir”, “iota”, “charis”, “yum”이다.
인증서버(300)는 추출한 숫자데이터들을 포함하는 비식별확인키가 복수개인 경우, 사용자 단말(100)에서 일회용 패스워드(OTID)를 생성하는 방식과 동일하게, 비식별확인키와 시각정보를 이용하여 제3 해쉬값을 생성하고, 상기 제3 해쉬값과 공유된 대칭키를 이용하여 수십 바이트(byte) 길이를 갖는 제4 해쉬값을 생성한다.
이후 인증서버(300)는 제4 해쉬값을 해석하여 숫자데이터들을 추출하고, 이를 저장부에 저장된 랜덤테이블과 순차적으로 비교하여 제4 문자정보를 추출한다.
인증서버(300)는 제4 문자정보와 일회용 패스워드(OTID)에 포함된 제1 문자정보(i, J, t, x)가 일치하는 비식별확인키와 그와 매칭되는 사용자 아이디(ID)를 저장부인 데이터베이스(DB)에서 검색한다.
이러한 과정은 인증서버(300)에서 추출한 숫자데이터들(0x02, 0x03, 0x08, 0x0a)을 포함하는 비식별확인키를 대상으로 수행되기 때문에, 처리시간이 그리 오래 걸리지 않는다. 일례로, 인증서버(300)는 n개의 비식별확인키가 검색될 경우, 처리속도를 높이기 위해 쓰레드기반으로 처리하도록 구현될 수 있다.
이제, 다시 도 2를 참조하여 인증서버(300)와 사용자 단말(100)과 네트워크를 통해 연결되는 관리서버(200)에서 실행되는 사용자 인증방법을 설명한다.
먼저 관리서버(200)는 사용자 단말(100)로부터 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 정보가 입력되면(S202), 사용자 아이디(ID)와 패스워드(PW)가 사용가능한 것인지를 검증한다. 예를 들어, 관리서버(200)는 사용자 아이디(ID)가 이미 사용중인 아이디인지, 패스워드(PW)가 영문자와 숫자 및 특수문자를 포함하는지 여부를 판단한다. 관리서버(200)는 사용자 아이디(ID)와 패스워드(PW)가 사용가능한 것으로 판단되면 이를 등록한다(S203).
관리서버(200)는 사용자 아이디(ID)를 인증서버(300)로 전송하고(S204), 인증서버(300)에서 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 인증서버(300)로부터 입력받아 사용자 단말(100)로 전송한다(S206).
관리서버(200)는 사용자 단말(100)로부터 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 인증요청정보가 입력되면(S207) 일회용 패스워드(OTID) 요청정보를 사용자 단말로 전송하고, 그 응답으로 사용자 단말(100)로부터 일회용 패스워드(OTID)를 입력받아 인증서버로 전송한다(S209, S210). 일회용 패스워드(OTID)는 사용자 조작입력 없이, 사용자 단말(100)에 탑재된 OTIP 생성프로그램에 의해 자동으로 생성된다.
관리서버(200)는 인증서버(300)로부터 전송되는 사용자 아이디(ID)를 수신한다(S212). 인증서버(300)는 일회용 패스워드(OTID)와 랜덤테이블을 이용하여 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색한 후 관리서버(200)로 사용자 아이디(ID)를 전송한다.
관리서버(200)는 사용자 인증요청정보에 포함된 사용자 아이디(ID)와 인증서버(300)로부터 전송되는 사용자 아이디(ID)를 비교하여 일치하면 사용자 인증 성공정보를 사용자 단말(100)로 전송한다.
이후, 관리서버(200)는 사용자 인증 성공정보를 인증서버(300)로 전송한 후 인증서버(300)로부터 업데이트된 랜덤테이블을 입력받아 사용자 단말(100)로 전송한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다. 이는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위에 의해서만 정해져야 할 것이다.

Claims (6)

  1. 인증서버와 연동하는 관리서버와 네트워크를 통해 연결되는 사용자 단말에서 실행되는 사용자 인증방법으로,
    a) 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 등록정보를 관리서버로 전송하는 단계와;
    b) 인증서버에서 상기 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 관리서버로부터 입력받아 저장부에 저장하는 단계와;
    c) 사용자 조작에 따라 인증요청 이벤트가 발생하면 저장부에 저장된 비식별확인키와 시각정보를 이용하여 제1 해쉬값을 생성하는 단계와;
    d) 상기 제1 해쉬값과 인증서버와 공유된 대칭키를 이용하여 수십 바이트(byte) 길이를 갖는 제2 해쉬값을 생성하는 단계와;
    e) 상기 제2 해쉬값을 해석하여 제1 숫자데이터들을 추출하는 단계와;
    f) 상기 제1 숫자데이터들과 저장부에 저장된 랜덤테이블을 순차적으로 비교하여 일회용 패스워드로 사용할 제1 문자정보를 수집하는 단계와;
    g) 상기 제1 숫자데이터들의 개수에 맞게 비식별확인키의 앞 자리수들을 추출하고, 상기 비식별확인키의 앞 자리수들과 저장부에 저장된 랜덤테이블을 비교하여 문자들을 추출하는 단계와;
    h) 상기 추출한 문자들을 배열순서가 일치하는 상기 제1 숫자데이터들의 숫자만큼 랜덤테이블 상에서 이동하여 제2 문자정보를 수집하는 단계와;
    i) 상기 제1 문자정보와 제2 문자정보를 포함하는 일회용 패스워드(OTID)를 생성하고 이를 관리서버로 전송하는 단계와;
    j) 관리서버가 일회용 패스워드(OTID)를 인증서버로 전송한 후, 인증서버에서 상기 일회용 패스워드(OTID)와 랜덤테이블을 이용하여 제2 숫자데이터들을 추출하고, 상기 추출한 제2 숫자데이터들을 포함하는 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 검색하여 사용자 아이디(ID)를 관리서버로 전송하면, 관리서버로부터 사용자 인증결과를 입력받는 단계;
    를 포함하는 사용자 단말에서 실행되는 사용자 인증방법.
  2. 청구항 1 에 있어서, 상기 사용자 단말에서 실행되는 사용자 인증방법은:
    상기 j) 단계 이후, 사용자 단말이 관리서버로부터 인증서버에서 업데이트한 랜덤테이블을 입력받아 저장부에 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는 사용자 단말에서 실행되는 사용자 인증방법.
  3. 사용자 단말과 네트워크를 통해 연결되는 관리서버와 연동하는 인증서버에서 실행되는 사용자 인증방법으로,
    사용자 단말에서 입력된 사용자 아이디(ID)를 관리서버로부터 수신하면 사용자 아이디(ID)를 해쉬하여 비식별확인키를 생성하고 상기 생성된 비식별확인키를 사용자 아이디(ID)와 함께 저장부에 저장하는 단계와;
    상기 비식별확인키 및 복수의 문자를 포함하는 랜덤테이블을 관리서버를 통해 사용자 단말로 전송하는 단계와;
    사용자 단말에서 생성된 제1 문자정보와 제2 문자정보를 포함하는 일회용 패스워드(OTID)를 관리서버로부터 수신하는 단계와;
    상기 일회용 패스워드(OTID)에 포함된 제1 문자정보와 랜덤테이블을 비교하여, 랜덤테이블에서 제1 문자정보가 있는 위치의 제3 숫자데이터들을 추출하는 단계와;
    상기 일회용 패스워드(OTID)에 포함된 제2 문자정보와 랜덤테이블을 비교하여, 랜덤테이블에서 제2 문자정보를 상기 제3 숫자데이터들의 숫자만큼 랜덤테이블 상에서 이동하여 제3 문자정보를 구하는 단계와;
    상기 제3 문자정보와 랜덤테이블을 비교하여 랜덤테이블에서 제3 문자정보가 있는 위치의 제4 숫자데이터들을 추출하는 단계와;
    상기 추출한 제4 숫자데이터들을 포함하는 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색하는 단계와;
    상기 검색된 사용자 아이디(ID)를 관리서버로 전송하는 단계;
    를 포함하는 인증서버에서 실행되는 사용자 인증방법.
  4. 청구항 3 에 있어서, 상기 추출한 제4 숫자데이터들을 포함하는 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색하는 단계는,
    상기 추출한 제4 숫자데이터들을 포함하는 비식별확인키가 복수개인 경우, 사용자 단말에서 일회용 패스워드(OTID)를 생성하는 방식과 동일하게 상기 비식별확인키와 시각정보를 이용하여 제3 해쉬값을 생성하고, 상기 제3 해쉬값과 공유된 대칭키를 이용하여 수십 바이트(byte) 길이를 갖는 제4 해쉬값을 생성하는 단계와;
    상기 제4 해쉬값을 해석하여 숫자데이터들을 추출하고, 상기 숫자데이터들과 저장부에 저장된 랜덤테이블을 순차적으로 비교하여 제4 문자정보를 추출하는 단계와;
    상기 제4 문자정보와 상기 일회용 패스워드(OTID)에 포함된 제1 문자정보가 일치하는 비식별확인키를 구하는 단계;
    를 포함하는 인증서버에서 실행되는 사용자 인증방법.
  5. 인증서버와 사용자 단말과 네트워크를 통해 연결되는 관리서버에서 실행되는 사용자 인증방법으로,
    사용자 단말로부터 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 정보를 수신하는 단계와;
    상기 사용자 아이디(ID)를 인증서버로 전송하고, 인증서버에서 상기 사용자 아이디(ID)를 해쉬하여 생성한 비식별확인키와 복수의 문자를 포함하는 랜덤테이블을 인증서버로부터 입력받아 사용자 단말로 전송하는 단계와;
    사용자 단말로부터 사용자가 입력한 아이디(ID)와 패스워드(PW)를 포함하는 사용자 인증요청정보가 입력되면 일회용 패스워드(OTID) 요청정보를 사용자 단말로 전송하고, 그 응답으로 사용자 단말로부터 일회용 패스워드(OTID)를 입력받아 인증서버로 전송하는 단계와;
    인증서버에서 상기 일회용 패스워드(OTID)와 랜덤테이블을 이용하여 비식별확인키와 그에 대응하는 사용자 아이디(ID)를 저장부에서 검색한 후 인증서버로부터 전송되는 사용자 아이디(ID)를 수신하는 단계와;
    상기 사용자 인증요청정보에 포함된 사용자 아이디(ID)와 인증서버로부터 전송되는 사용자 아이디(ID)를 비교하여 일치하면 사용자 인증 성공정보를 사용자 단말로 전송하는 단계;
    를 포함하는 관리서버에서 실행되는 사용자 인증방법.
  6. 청구항 5 에 있어서, 상기 사용자 인증요청정보에 포함된 사용자 아이디(ID)와 인증서버로부터 전송되는 사용자 아이디(ID)를 비교하여 일치하면 사용자 인증 성공정보를 사용자 단말로 전송하는 단계는,
    사용자 인증 성공정보를 인증서버로 전송한 후 인증서버로부터 업데이트된 랜덤테이블을 입력받아 사용자 단말로 전송하는 단계;
    를 포함하는 관리서버에서 실행되는 사용자 인증방법.
KR1020210028029A 2021-03-03 2021-03-03 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법 KR102264720B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210028029A KR102264720B1 (ko) 2021-03-03 2021-03-03 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210028029A KR102264720B1 (ko) 2021-03-03 2021-03-03 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법

Publications (1)

Publication Number Publication Date
KR102264720B1 true KR102264720B1 (ko) 2021-06-14

Family

ID=76417416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210028029A KR102264720B1 (ko) 2021-03-03 2021-03-03 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법

Country Status (1)

Country Link
KR (1) KR102264720B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110277021A1 (en) * 2009-01-09 2011-11-10 Hideharu Ogawa Authentication system
KR101493214B1 (ko) * 2012-10-31 2015-02-24 삼성에스디에스 주식회사 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
JP5952064B2 (ja) * 2012-04-06 2016-07-13 明倫 久米 識別子(id)を使用しないでワンタイム・パスワードのみを用いて行うパスワード認証システムおよび方法
KR101657936B1 (ko) 2015-01-30 2016-09-22 중부대학교 산학협력단 Id 기반 암호화 방식을 이용한 키관리 및 사용자 인증방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110277021A1 (en) * 2009-01-09 2011-11-10 Hideharu Ogawa Authentication system
JP5952064B2 (ja) * 2012-04-06 2016-07-13 明倫 久米 識別子(id)を使用しないでワンタイム・パスワードのみを用いて行うパスワード認証システムおよび方法
KR101493214B1 (ko) * 2012-10-31 2015-02-24 삼성에스디에스 주식회사 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
KR101657936B1 (ko) 2015-01-30 2016-09-22 중부대학교 산학협력단 Id 기반 암호화 방식을 이용한 키관리 및 사용자 인증방법

Similar Documents

Publication Publication Date Title
JP6882254B2 (ja) 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ
US9398009B2 (en) Device driven user authentication
US9191811B2 (en) Method and system for managing information on mobile devices
US20170086069A1 (en) System and Method of Authentication by Leveraging Mobile Devices for Expediting User Login and Registration Processes Online
US11165793B2 (en) Method and system for detecting credential stealing attacks
EP3627796B1 (en) Dynamic and private security fingerprinting
KR102366505B1 (ko) Otid를 이용한 보안인증 시스템 및 방법
TWI668586B (zh) Data communication method and system, client and server
CN101695066A (zh) 一种安全认证的方法及信息安全认证设备
JP5568696B1 (ja) パスワード管理システム及びパスワード管理システム用プログラム
KR102264720B1 (ko) 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법
CN109190358A (zh) 站点密码生成方法、系统及密码管理器
KR100838488B1 (ko) 사용자 컴퓨터에 키스트로크 해킹 보안 프로그램 설치가필요 없는 변조된 일회성 인증 데이터 생성 방식을 이용한정보 보안 방법 및 장치
Cheng et al. Implementing fingerprint recognition on one-time password device to enhance user authentication
US9882879B1 (en) Using steganography to protect cryptographic information on a mobile device
TWM599939U (zh) 身分驗證系統
CA2904646A1 (en) Secure authentication using dynamic passcode
BR102014012603B1 (pt) Método para autenticação utilizando credenciais efêmeras e anônimas
KR20150104667A (ko) 인증 방법
US11727108B2 (en) Systems and methods for providing secure passwords
KR20230168464A (ko) 액세스 포인트를 통한 보안 접속을 이용한 서비스 제공 시스템 및 그 시스템의 동작 방법
Parker et al. Passwords
Pawar et al. Internet Banking Two Factor Authentication Using Smartphone
KR100353730B1 (ko) 지문 인증 시스템의 도난 지문데이터 방지 장치 및 방법
KR101175025B1 (ko) 이미지 인식을 이용한 개인 식별 방법 및 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant