KR20180037169A - Otp를 이용한 사용자 인증 방법 및 시스템 - Google Patents

Otp를 이용한 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
KR20180037169A
KR20180037169A KR1020180039212A KR20180039212A KR20180037169A KR 20180037169 A KR20180037169 A KR 20180037169A KR 1020180039212 A KR1020180039212 A KR 1020180039212A KR 20180039212 A KR20180039212 A KR 20180039212A KR 20180037169 A KR20180037169 A KR 20180037169A
Authority
KR
South Korea
Prior art keywords
otp
user
connection information
terminal connection
server
Prior art date
Application number
KR1020180039212A
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 (주)이스톰
Publication of KR20180037169A publication Critical patent/KR20180037169A/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 컴퓨터 구현 방법(computer implemented method)으로서, 인증 서버가, 상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하는 단계; 상기 인증 서버로부터 상기 접속단말 연결정보가 수신된 경우, 상기 서비스 사용자의 OTP 생성기가, 상기 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 단계; 및 상기 인증 서버가, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 생성된 검증용 OTP와 상기 온라인 서비스 서버로부터 전달된 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 사용자 인증 방법이 제공된다.

Description

OTP를 이용한 사용자 인증 방법 및 시스템{USER AUTHENTICATION METHOD AND SYSTEM USING ONE TIME PASSWORD}
본 발명은 사용자 인증 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 접속단말의 연결정보를 이용하여 생성된 OTP(one time password)를 활용하여 사용자를 인증하는 인증 방법 및 시스템에 관한 것이다.
온라인 뱅킹이나 메일 서비스와 같이 중요 정보서비스를 보호하기 위하여 스마트폰 기반의 OTP 앱이 보편화되고 있으나, 스마트폰 화면에 생성된 OTP 값을 탈취하기 위한 공격 수준이 고도화되고 있다.
스마트폰에서 생성되는 OTP 앱의 보안성이 아무리 뛰어나다 하더라도, 정상적인 사용자가 자신의 스마트폰으로 생성한 OTP 값을 해커가 원격에서 화면을 읽어가는 화면 스크래핑(screen scraping) 소프트웨어로 공격을 하거나, 멀리서 스마트폰 화면을 읽고 먼저 해커의 단말기에서 입력하여 사용한다면 해당 시스템의 정보를 열람하거나, 자금 이체와 같은 중요 거래를 가로챌 수 있다.
또한 OTP 기술을 응용하여 생성되고 있는 다양한 전자화폐 유형의 바코드 시스템도 화면에 띄워질 때 해커에게 탈취되어 제한 시간 이내에 도용되는 경우 정상적인 인증체계에 대한 심각한 문제를 야기할 수 있다.
특히 종래 보안 기술은 화면을 사람이 육안으로 읽거나 바코드 인식기가 읽는 것을 막을 수는 없기 때문에, OPT 생성기 앱이 만들어낸 화면이 OTP 입력유효시간 이내에 해커에 의해서 도용당한다면 이를 막을 수 없는 문제가 있었다.
또한 OTP와 세션과의 관련된 종래 선행기술들을 살펴보면 사용자 단말기가 접속한 세션을 인증하기 위해서 OTP 값을 이용하는 것이지, 접속한 단말기 별로 상이한 OTP값을 인증하는 기술 구조가 아니다.
따라서 언제 어디서든 사용자가 안전하게 모바일 OTP 앱을 이용하여 온라인 서비스를 사용할 수 있도록 하는 개선된 인증보안 기술이 필요하다.
본 발명은 온라인 뱅킹 등과 같은 정보 서비스를 안전하게 사용하기 위하여, 해당 서비스에 접속하는 접속단말의 연결정보를 이용하여 OTP를 생성하고 연결된 접속단말에서만 해당 OTP가 유효하도록 하는 방법 및 시스템을 제공한다.
본 발명의 일 측면에 따르면, 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 컴퓨터 구현 방법(computer implemented method)으로서,
인증 서버가, 상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하는 단계-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 상기 온라인 서비스 서버에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)임-;
상기 인증 서버로부터 상기 접속단말 연결정보가 수신된 경우, 상기 서비스 사용자의 OTP 생성기가, 상기 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 단계; 및
상기 인증 서버가, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 생성된 검증용 OTP와 상기 온라인 서비스 서버로부터 전달된 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 사용자 인증 방법이 제공된다.
일 실시예에서, 상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.
일 실시예에서, 상기 접속단말 연결정보는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송될 수 있다.
일 실시예에서, 상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.
일 실시예에서, 상기 접속단말이 상기 OTP 생성기가 설치된 상기 모바일 기기인 경우,
상기 인증 서버는, 상기 수신된 계정 정보에 기초하여 확인된 상기 OTP 생성기의 푸시 아이디에 근거하여, 상기 온라인 서비스 서버로 상기 모바일 기기의 접속단말 연결정보의 전송을 요청하고, 상기 전송 요청에 따라 수신된 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.
일 실시예에서, 상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성될 수 있다.
본 발명의 다른 측면에 따르면, 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 인증 시스템으로서,
상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하고, 상기 접속단말 연결정보를 상기 서비스 사용자의 OTP 생성기로 전송하며, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP가 전달된 경우 상기 사용자 OTP와 상기 검증용 OTP의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 인증 서버-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 상기 온라인 서비스 서버에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)임-; 및
상기 인증 서버로부터 상기 접속단말 연결정보를 수신하고, 상기 수신된 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 상기 OTP 생성기를 포함하는 인증 시스템이 제공된다.
일 실시예에서, 상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.
일 실시예에서, 상기 OTP 생성기는 상기 서비스 사용자의 모바일 기기에 설치되고,
상기 인증 서버는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.
일 실시예에서, 상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.
일 실시예에서, 상기 접속단말이 상기 OTP 생성기가 설치된 상기 모바일 기기인 경우,
상기 인증 서버는, 상기 수신된 계정 정보에 기초하여 확인된 상기 OTP 생성기의 푸시 아이디에 근거하여, 상기 온라인 서비스 서버로 상기 모바일 기기의 접속단말 연결정보의 전송을 요청하고, 상기 전송 요청에 따라 수신된 접속단말 연결정보를 상기 OTP 생성기로 전송할 수 있다.
일 실시예에서, 상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성될 수 있다.
본 발명의 실시예에 의하면, 온라인 뱅킹 등과 같은 정보 서비스를 안전하게 사용하기 위하여, 해당 서비스에 접속하는 접속단말의 연결정보를 이용하여 OTP를 생성하고 연결된 접속단말에서만 해당 OTP가 유효하도록 하는 OTP 생성 방법 및 시스템이 제공된다. 이에 따라, OTP 값이 해커에 의해 유출되더라도 해당 접속단말에 의한 서버 접속에 한하여 인증이 이루어지게 되는 효과가 있다.
도 1은 본 발명의 실시예에 따른 사용자 인증 방법 및 인증 시스템을 설명하기 위한 도면.
도 2는 본 발명의 실시예예 따른 사용자 인증 방법과 관련된 온라인 서비스 서버의 일 실시예의 블록도.
도 3은 본 발명의 실시예에 다른 사용자 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도.
도 4는 본 발명의 실시예에 따른 사용자 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.
또한 이하의 설명에서, OTP 생성기는 사용자 소유의 모바일 기기에 애플리케이션 프로그램의 형태로 설치된 소프트웨어 OTP 생성기를 중심으로 설명하지만, 반드시 이에 한정되는 것은 아님은 물론이다. 예를 들어, OTP 생성기는 통신 기능을 갖춘 하드웨어 OTP 생성 장치일 수도 있다. 다만, 이하에서는 설명의 편의 및 집중을 위해 전자의 케이스를 가정하여 본 발명의 실시예를 설명하기로 한다.
또한, 이하에서는 도 1을 기준으로 온라인 서비스 서버에 접속하는 접속단말인 클라이언트 단말과 OTP 생성기가 물리적으로 별개로 구성된 경우를 가정하여 설명하지만, OTP 생성기는 클라이언트 단말과 일체적으로 구현될 수도 있다. 후자의 경우라면 도 1에 도시된 모바일 기기는 생략될 것이다. 또한, 클라이언트 단말 자체가 모바일 기기일 수도 있음은 자명하다.
도 1은 본 발명의 실시예에 따른 사용자 인증 방법 및 인증 시스템을 설명하기 위한 도면이다. 또한, 도 2는 본 발명의 실시예예 따른 사용자 인증 방법과 관련된 온라인 서비스 서버의 일 실시예의 블록도이고, 도 3은 본 발명의 실시예에 다른 사용자 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도이며, 도 4는 본 발명의 실시예에 따른 사용자 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도이다. 이하, 도 1을 중심으로 도 2 내지 도 4를 함께 참조하여 본 발명의 실시예에 따른 사용자 인증 방법 및 인증 시스템에 관하여 상세히 설명한다.
도 1의 단계 S1을 참조하면, 온라인 서비스 서버(330)가 제공하는 온라인 서비스 사이트에 의한 온라인 서비스를 이용하고자 하는 경우, 서비스 사용자는 온라인 서비스 서버(330)에 접속 요청을 한다.
예를 들어, 이용하고자 하는 온라인 서비스가 온라인 뱅킹 서비스인 경우, 사용자는 해당 온라인 뱅킹 서비스를 제공하는 특정 온라인 서비스 서버(즉, 온라인 뱅킹 서비스를 제공하는 특정 은행 서버)에 접속할 수 있다. 온라인 서비스 서버(330)로의 접속은 사용자 자신이 소유하는 모바일 기기(310)(예를 들어, 스마트폰 등)를 통한 모바일 접속에 의할 수 있음은 물론이나, 도 1에서는 사용자 소유의 모바일 기기(310)와는 별개의 클라이언트 단말(300)(예를 들어, 회사 PC 등)을 통해서 접속하는 경우를 예시하였다.
도 1의 단계 S2를 참조하면, 온라인 서비스 서버(330)로의 접속 요청에 따라, 온라인 서비스 서버(330)는 온라인 서비스를 이용하고자 하는 서비스 사용자에게 사용자 계정 정보의 입력을 요청할 수 있다. 여기서, 사용자 계정 정보는, 사용자 등록 절차(또는 서비스 가입 절차)를 통해서 해당 온라인 서비스 서버(330)에 미리 저장(등록)되어 있는 해당 사용자의 식별 정보를 의미한다. 통상적으로, 사용자 계정 정보로는 사용자 ID(Identifier)와 패스워드(password)가 활용될 수 있다. 다만, 해당 온라인 서비스를 이용하는 사용자를 식별할 수 있는 정보라면, 상기 사용자 계정 정보로서 이외에도 다양한 정보(예를 들어, 해당 사용자의 이메일 주소, 전화번호, PKI(Public Key Infrastructure) 기반의 인증서 상의 인증서 암호 등)가 대체 활용될 수 있음은 물론이다.
도 1의 단계 S3을 참조하면, 사용자 계정 정보의 입력 요청에 따라, 서비스 사용자는 사용자 계정 정보를 해당 온라인 서비스 사이트에 입력한다. 도 1의 단계 S4를 참조하면, 서비스 사용자로부터 사용자 계정 정보가 입력되면, 온라인 서비스 서버(330)는 사용자로부터 입력된 사용자 계정 정보와 일치하는 계정이 존재하는지를 확인한다. 이러한 계정 정보의 확인에는 도 1에 도시된 바와 같은 계정 DB(340)가 활용될 수 있다. 계정 DB(340)에는 해당 온라인 서비스 서버(330)를 통한 온라인 서비스를 제공받을 수 있는 사용자들(즉, 회원들)에 관한 계정 정보들이 보관된다. 도 1에서는 계정 DB(340)가 온라인 서비스 서버(330)와 별개로 구비되는 경우를 예시하였지만, 계정 DB3140)는 온라인 서비스 서버(330)와 통합되어 구현될 수도 있음은 물론이다.
또한, 시스템 구현 방식에 따라, 계정 DB(340)는 OTP 인증 서버(350)와 통합되어 구현될 수도 있을 것이다. 이와 같은 경우, 도 1의 단계 S4의 사용자 계정 정보 확인 절차는 후술할 도 1의 단계 S5에 따라 사용자 계정 정보가 OTP 인증 서버(350)로 전송된 이후에 실행될 수도 있을 것이다. 다만, 본 명세서에서는 설명의 집중을 위해, 도 1을 기준으로 본 발명의 실시예를 설명하기로 한다.
도 1의 단계 S5를 참조하면, 입력된 사용자 계정 정보가 계정 DB(340)에 보관된 사용자 계정과 일치하는 경우, 온라인 서비스 서버(330)는 통신 인터페이스부(331)를 통해서 OTP 인증 서버(350)로 접속단말 연결정보 및 사용자 계정 정보를 전송할 수 있다.
여기서, 온라인 서비스 서버(330)로부터 OTP 인증 서버(350)로 전송되는 상기 접속단말 연결정보는, 서비스 사용자가 접속단말(도 1에서는 클라이언트 단말(300)임)을 이용하여 온라인 서비스 서버(330)에 접속하였을 때, 양자 간의 연속적인 데이터 송수신을 관리하기 위해 온라인 서비스 서버(330)에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)일 수 있다.
이에 의할 때, 접속단말 연결정보로는 예를 들어 서비스 사용자의 접속시 해당 온라인 서비스 서버에서 서비스 사용자의 접속단말에 할당하는 세션 정보(예를 들어, 세션 ID(Session ID) 등) 또는 소켓 데이터 통신에서의 소켓 정보(예를 들어, 소켓 핸들(socket handle) 정보)가 이용될 수 있다. 이와 같은 접속단말 연결정보는 온라인 서비스 서버(330)의 연결정보 설정부(333)에 의해 할당될 수 있다.
여기서, 세션 ID는 서버와 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 해당 서버에 의해 부여되는 값이고, 소켓 핸들 정보는 서버와 접속단말 간에 네트워크를 통해 데이터를 송수신하는 단위인 소켓을 관리하기 위해 해당 서버가 자체적으로 할당한 임의의 연결 고유값이다. 이러한 세션 ID 또는 소켓 핸들 정보는 동적으로 할당됨은 물론 해당 서버에 의해 자체적으로 부여되는 값으로서, 서버 외부에서 해커에 의해 탈취되기 어렵기 때문에, 이를 향후 OTP 생성의 시드값으로서 이용하는 경우 보안 상 유리한 효과가 있다.
또한, 온라인 서비스 서버(330)로부터 OTP 인증 서버(350)로 전송될 상기 사용자 계정 정보는, 앞서 설명한 다양한 사용자 계정 정보 중 어느 하나 또는 그 일부 일 수 있다. 예를 들어, 도 1의 단계 S5에서, 온라인 서비스 서버(330)는 사용자 계정 정보로서 서비스 사용자의 ID 만을 OTP 인증 서버(350)로 전송할 수도 있다. 이때, 사용자 계정 정보는 향후 접속단말 연결정보를 전송해줄 대상(도 1에서는 서비스 사용자 소유의 모바일 기기(310) 또는 OTP 생성기(320)임)을 OTP 인증 서버(350)에서 식별할 수 있도록 하기 위한 용도로서 OTP 인증 서버(350)로 전송되는 것이다. 따라서 본 단계에 따라 전송될 사용자 계정 정보는 그 목적을 달성할 수 있는 한도 내에서 다양한 변형이 가능하다.
도 1에서는 본 단계(즉, 단계 S5)가 앞선 사용자 계정 확인 절차(즉, 단계 S4)가 완료된 이후 바로 실행되는 것으로 도시되고 있지만, 이와 상이할 수도 있음은 물론이다. 예를 들어, 본 단계는 사용자 계정 확인 절차가 완료된 이후 사용자가 인증 수단으로서 OTP 인증 방식을 선택한 경우에 한하여 실행될 수도 있을 것이다.
상술한 바와 같이 전송된 접속단말 연결정보 및 사용자 계정 정보는 OTP 인증 서버(350)의 통신 인터페이스부(351)를 통해 접수(수신)된다.
또한, 도 1의 단계 S4에 따라 사용자 계정 정보 확인 절차가 정상적으로 완료되면, 단계 S6에 따라 온라인 서비스 서버(330)는 온라인 서비스 사이트의 화면을 통해 사용자 OTP 입력창을 표출하는 등의 방식으로 서비스 사용자에게 사용자 OTP의 입력을 요청할 수 있다.
이때, 도 1의 단계 S5 및 단계 S6은 동시에 실행될 수 있으며, 도 1에 도시된 순서와 달리 그 선후를 달리하여 실행될 수도 있다. 이와 유사하게 도 1의 단계 S6과 후술할 단계 S7 또한 동시에 실행될 수 있으며, 도 1에 도시된 순서와 달리 그 선후를 달리하여 실행될 수도 있다.
또한, 본 발명의 실시예에 따라, 접속단말 연결정보가 수신된 경우, 도 1의 단계 S7에 따라 OTP 인증 서버(350)는 통신 인터페이스부(351)를 통해서 해당 접속단말 연결정보가 서비스 사용자 소유의 모바일 기기(310)에 설치된 OTP 생성기(320)로 전송되도록 한다.
도 1의 단계 S7에서 접속단말 연결정보의 전송은 푸시 서버(360)를 통해서 수행되는 것으로 예시하고 있지만, 반드시 이와 같을 필요는 없으며, OTP 인증 서버(350)에서 직접 OTP 생성기(320)로 전송될 수도 있음은 물론이다.
푸시 서버(360)를 통해 접속단말 연결정보를 전송하는 경우, OTP 인증 서버(350)는 접속단말 연결정보를 푸시 서버(360)로 전달하고, 이때 푸시 서버(360)는 푸시 메시지를 통해서 접속단말 연결정보를 OTP 생성기(320)로 전송할 수 있다. 여기서, 푸시 메시지는 특정 모바일 운영체제에서 앱(App) 별로 제공하는 메시지 서비스일 수 있다. 다만, 접속단말 연결정보의 전송을 반드시 푸시 메시지에 의할 필요는 없음은 자명하며, SMS, MMS 등의 상용의 다양한 메시징 서비스에 의할 수도 있고, 특정 통신 프로토콜(예를 들어, 소켓 데이터 통신 등)에 의하여도 무방하다. 접속단말 연결정보의 전송을 푸시 메시지에 의하지 않는 다른 예시적 케이스들에서, 전술한 푸시 서버(360)는 일반적인 통신 서버로서 그 기능이 대체될 수 있다.
또한 도 1에서는 접속단말 연결정보가 OTP 생성기(320)로 직접 전송되는 케이스를 중심으로 설명하였지만, 반드시 이와 같을 필요는 없다. 예를 들어, 접속단말 연결정보는 푸시 메시지 등을 통해서 모바일 기기(310)로 전송되고, OTP 생성기(320)가 이를 읽어들여 접속단말 연결정보를 수신(취득)할 수 있음은 자명하다. 이러한 접속단말 연결정보의 수신은 OTP 생성기(320)의 접속단말 연결정보 수신부(321)에 의해 이루어질 수 있다.
상술한 바와 같은 접속단말 연결정보의 OTP 생성기(320)로의 전송을 위해, OTP 인증 서버(350)는 온라인 서비스 서버(330)로부터 수신한 사용자 계정 정보에 기초하여 OTP 생성기(320)가 설치된 모바일 기기(310)의 기기값 또는 OTP 생성기(320)의 앱(App) 푸시 아이디를 확인하고, 확인된 기기값 또는 앱 푸시 아이디에 근거하여 상기 접속단말 연결정보를 OTP 생성기(320)로 전송할 수 있다.
다른 예로, OTP 인증 서버(350)는 OTP 생성기(320)의 요청에 대한 응답으로서 접속단말 연결정보를 OTP 생성기(320)로 전송할 수도 있다. 예를 들어, 도 1의 단계 S6에 따라 사용자 OTP의 입력이 요청되면, 이를 인지한 서비스 사용자는 OTP 생성기(320)를 통해서 OTP 인증 서버(350)로 접속단말 연결정보의 전송을 요청하고, 이에 따라 OTP 인증 서버(350)는 그 응답으로서 접속단말 연결정보를 OTP 생성기(320)로 전송할 수 있다.
또 다른 예로, 도 1의 예시에서와는 달리, 접속단말이 OTP 생성기(320)가 설치된 모바일 기기(310) 자체인 경우, OTP 인증 서버(350)는 수신된 사용자 계정 정보에 기초하여 OTP 생성기(320)의 앱 푸시 아이디를 확인하고, 그 확인된 앱 푸시 아이디에 근거하여 온라인 서비스 서버(330)에 접속단말인 모바일 기기(310)에 할당된 접속단말 연결정보의 전송을 요청하며, 그 전송 요청에 따라 수신된 접속단말 연결정보를 OTP 생성기(320)로 전송해줄 수도 있을 것이다. 즉, 이러한 케이스에서는, 도 1의 단계 S5에서는 사용자 계정 정보만이 먼저 전송되고, 접속단말 연결정보는 OTP 인증 서버(350)의 요청에 따라 나중에 전송되는 방식으로 시스템이 구현될 것이다.
상술한 다양한 방식에 따라, OTP 생성기(320)로 접속단말 연결정보가 전송되면, OTP 생성기(320)는 도 1의 단계 S8에 따라 사용자 OTP를 생성한다. 이때, 사용자 OTP는 전송된 접속단말 연결정보를 이용하여 생성되며, 이는 OTP 생성기(320)의 사용자 OTP 생성부(325)에 의해 실행될 수 있다. 이하, 접속단말 연결정보를 용한 사용자 OTP 생성 방법에 대한 다양한 실시예를 상세히 설명한다.
일 실시예에서, OTP 생성부(325)는 수신된 접속단말 연결정보를 시드값으로 하되 특정 연산조건(예를 들어, 시도횟수, 시간 등)을 적용하여 사용자 OTP를 생성할 수 있다. 보다 구체적으로는 OTP 생성부(325)는 수신된 접속단말 연결정보에 상술한 특정 연산조건을 곱한 값을 특정 해시 함수(hash function)에 따라 암호화한 값으로 사용자 OTP를 생성할 수 있다.
다른 실시예에서, OTP 생성부(325)는 접속단말 연결정보 이외에도 다른 특정 키값을 시드값으로서 더 추가하여 사용자 OTP를 생성할 수 있다. 이때, 상기 다른 특정 키값으로는 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 개인키가 이용될 수 있다.
일 예로, 사용자 계정 정보에 대응하는 개인키는, 전술한 사용자 ID, 패스워드, 사용자의 이메일 주소, 전화번호, 인증서 암호 등과 같은 다양한 사용자 식별 정보 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수 있다. 다른 예로, 사용자 계정 정보에 대응하는 개인키는, 사용자 소유의 모바일 기기(예를 들어, 스마트폰 등)의 폰 번호, 제품 일련번호, 유심(USIM) 카드번호, 맥 어드레스(MAC address) 등과 같은 식별자 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수도 있다. 또 다른 예로, 사용자 계정 정보에 대응하는 개인키는, 사용자가 OTP 인증 서비스에 등록할 때에 자신이 직접 선택하여 등록한 또는 OTP 인증 서비스 등록시에 부여된 개인키가 이용될 수도 있다.
사용자 OTP 생성에 이용되는 상술한 개인키는 OTP 생성기(320)의 키 보관부(323)에 미리 저장되어 있을 수 있다. 이때, OTP 생성기(320)의 키 보관부(323)에 저장되는 개인키는 OTP 인증 서버(350)의 키 보관부(353)에도 동일하게 저장됨으로써, 상호 간 OTP 생성에 동일하게 이용될 수 있다.
이상에서 설명한 실시예들 이외에도, 더욱 다양한 값들이 OTP 생성을 위한 시드값으로서 추가 활용되거나 대체 활용될 수 있음은 물론이다. 또한 이상에서는 OTP 생성기(320)에서 보관된 키 값을 활용하여 OTP를 생성하는 경우를 중심으로 설명하였지만, 반드시 보관된 키 값을 이용할 필요는 없다. 예를 들어, 도 1의 단계 S7을 통해 접속단말 연결정보를 전송할 때, OTP 생성에 추가 활용될 키 값 또는 특정 연산 조건이 함께 OTP 생성기(320)로 전송될 수도 있다. 또는 OTP 생성기(320)에서 OTP 생성에 추가 활용한 키 값 또는 연산 조건을 OTP 인증 서버(350)로 전송해주는 방식이 이용될 수도 있다.
상술한 단계에 따라 사용자 OTP가 생성되면, OTP 생성기(320)의 OTP 표출부(327)는 모바일 기기(310)의 화면을 통해서 그 생성된 사용자 OTP를 표출한다.
이후, 도 1의 단계 S9를 통해 사용자 OTP가 입력되면, 온라인 서비스 서버(330)의 인증 요청부(335)는 통신 인터페이스부(331)를 통해서 서비스 사용자에 의해 입력된 사용자 OTP를 OTP 인증 서버(350)로 전달함으로써[도 1의 단계 S10 참조], 입력된 사용자 OTP의 검증을 요청할 수 있다.
이때, 서비스 사용자에 의한 사용자 OTP의 입력은, 온라인 서비스 서버(330)에 의해 제공되는 온라인 서비스 사이트 화면에 게시된 사용자 OTP 입력창을 통해서 이루어질 수 있다. 물론 이외에도 다양한 방식으로의 변형이 가능하다. 예를 들어, 사용자 OTP는 서비스 사용자에 의해 직접 입력되지 않고, 특정 제스처를 통해서 입력에 갈음할 수도 있다. 예를 들어, 사용자가 모바일 기기의 터치 스크린을 통해 표출된 사용자 OTP를 단순 터치 선택하는 행위, 해당 화면을 위쪽 방향으로 밀어올리는 터치 제스처 등의 다양한 제스처를 취함으로써, 사용자 OTP의 자동 입력이 이루어지도록 구현될 수도 있다.
이에 따라, OTP 인증 서버(350)의 검증용 OTP 생성부(355)는 입력된 사용자 OTP에 대응하는 검증용 OTP를 생성한다[도 1의 단계 S11 참조]. 이때, 검증용 OTP의 생성 방식은 앞서 설명한 사용자 OTP 생성 방식과 본질적으로 동일하므로, 이에 관한 중복되는 설명은 생략하기로 한다. 여기서, 도 1의 단계 S11에 따른 검증용 OTP 생성은 반드시 도 1의 단계 S11 이후에 실행될 필요는 없으며, 시스템 구현 방식에 따라서 도 1의 단계 S5 이후의 임의의 시점에 실행되어도 무방하다.
상술한 바와 같이 검증용 OTP가 생성되면, OTP 인증 서버(350)의 인증 처리부(357)는 전달된 사용자 OTP와 자체 생성된 검증용 OTP 간의 일치 여부를 비교함으로써, 해당 서비스 사용자에 대한 사용자 인증을 수행한다. 이때, 그 인증 결과는 통신 인터페이스부(351)를 통해서 온라인 서비스 서버(330)로 통보(전송)된다[도 1의 단계 S12 참조].
이에 따라, 온라인 서비스 서버(330)의 서비스 처리부(337)는, 통보된 인증 결과를 참조하여 인증이 정상적으로 이루어진 경우 해당 서비스 사용자에게 해당 서비스를 개시할 수 있다[도 1의 단계 S13 참조].
본 발명의 실시 예에 따른 방법 및 장치는 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.

Claims (12)

  1. 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 컴퓨터 구현 방법(computer implemented method)으로서,
    인증 서버가, 상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하는 단계-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 상기 온라인 서비스 서버에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)임-;
    상기 인증 서버로부터 상기 접속단말 연결정보가 수신된 경우, 상기 서비스 사용자의 OTP 생성기가, 상기 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 단계; 및
    상기 인증 서버가, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 생성된 검증용 OTP와 상기 온라인 서비스 서버로부터 전달된 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계
    를 포함하는 사용자 인증 방법.
  2. 제1항에 있어서,
    상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인, 사용자 인증 방법.
  3. 제1항에 있어서,
    상기 접속단말 연결정보는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송되는, 사용자 인증 방법.
  4. 제3항에 있어서,
    상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 사용자 인증 방법.
  5. 제4항에 있어서,
    상기 접속단말이 상기 OTP 생성기가 설치된 상기 모바일 기기인 경우,
    상기 인증 서버는, 상기 수신된 계정 정보에 기초하여 확인된 상기 OTP 생성기의 푸시 아이디에 근거하여, 상기 온라인 서비스 서버로 상기 모바일 기기의 접속단말 연결정보의 전송을 요청하고, 상기 전송 요청에 따라 수신된 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 사용자 인증 방법.
  6. 제1항에 있어서,
    상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성되는, 사용자 인증 방법.
  7. 온라인 서비스 서버에 접속한 서비스 사용자를 인증하기 위한 인증 시스템으로서,
    상기 온라인 서비스 서버에 접속한 상기 서비스 사용자의 접속단말 연결정보를 상기 온라인 서비스 서버로부터 수신하고, 상기 접속단말 연결정보를 상기 서비스 사용자의 OTP 생성기로 전송하며, 상기 접속단말 연결정보를 이용하여 상기 서비스 사용자의 인증을 위한 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP가 전달된 경우 상기 사용자 OTP와 상기 검증용 OTP의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 인증 서버-여기서, 상기 접속단말 연결정보는 상기 온라인 서비스 서버와 상기 서비스 사용자의 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 상기 온라인 서비스 서버에 의해 생성 관리되는 서버-단말 간 연결정보(connecting information)임-; 및
    상기 인증 서버로부터 상기 접속단말 연결정보를 수신하고, 상기 수신된 접속단말 연결정보를 이용하여 사용자 OTP를 생성하는 상기 OTP 생성기
    를 포함하는 인증 시스템.
  8. 제7항에 있어서,
    상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 생성 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인, 인증 시스템.
  9. 제7항에 있어서,
    상기 OTP 생성기는 상기 서비스 사용자의 모바일 기기에 설치되고,
    상기 인증 서버는, 푸시 메시지 또는 소켓 데이터 통신을 통해서 상기 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 인증 시스템.
  10. 제9항에 있어서,
    상기 인증 서버는, 상기 온라인 서비스 서버로부터 상기 서비스 사용자의 계정 정보를 더 수신하고, 수신된 계정 정보에 기초하여 상기 OTP 생성기가 설치된 상기 모바일 기기의 기기값 또는 상기 OTP 생성기의 푸시 아이디를 확인하고, 확인된 기기값 또는 푸시 아이디에 근거하여 상기 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 인증 시스템.
  11. 제10항에 있어서,
    상기 접속단말이 상기 OTP 생성기가 설치된 상기 모바일 기기인 경우,
    상기 인증 서버는, 상기 수신된 계정 정보에 기초하여 확인된 상기 OTP 생성기의 푸시 아이디에 근거하여, 상기 온라인 서비스 서버로 상기 모바일 기기의 접속단말 연결정보의 전송을 요청하고, 상기 전송 요청에 따라 수신된 접속단말 연결정보를 상기 OTP 생성기로 전송하는, 인증 시스템.
  12. 제7항에 있어서,
    상기 사용자 OTP 및 상기 검증용 OTP는, 상기 접속단말 연결정보 및 상기 OTP 생성기의 최초 등록시에 해당 사용자에게 할당된 개인키를 OTP 시드값으로 하되 시간 또는 시도횟수를 연산조건으로 하여 생성되는, 인증 시스템.
KR1020180039212A 2015-09-14 2018-04-04 Otp를 이용한 사용자 인증 방법 및 시스템 KR20180037169A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150129976 2015-09-14
KR20150129976 2015-09-14

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160054405A Division KR101879842B1 (ko) 2015-09-14 2016-05-03 Otp를 이용한 사용자 인증 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20180037169A true KR20180037169A (ko) 2018-04-11

Family

ID=58497569

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160054405A KR101879842B1 (ko) 2015-09-14 2016-05-03 Otp를 이용한 사용자 인증 방법 및 시스템
KR1020180039212A KR20180037169A (ko) 2015-09-14 2018-04-04 Otp를 이용한 사용자 인증 방법 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020160054405A KR101879842B1 (ko) 2015-09-14 2016-05-03 Otp를 이용한 사용자 인증 방법 및 시스템

Country Status (1)

Country Link
KR (2) KR101879842B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102445379B1 (ko) * 2017-12-11 2022-09-19 주식회사 하나은행 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101125088B1 (ko) * 2005-03-23 2012-03-21 주식회사 비즈모델라인 고객 인증방법 및 시스템과 이를 위한 서버와 기록매체
KR100980831B1 (ko) * 2007-12-12 2010-09-10 한국전자통신연구원 일회용 패스워드를 이용한 신뢰성 있는 통신 시스템 및방법
KR101284155B1 (ko) * 2011-10-06 2013-07-09 동서대학교산학협력단 일회용 패스워드(otp)를 이용한 rfid 인증 처리방법
KR20140013672A (ko) * 2012-07-26 2014-02-05 주식회사 케이티 사용자 인증 방법 및 시스템
KR101531198B1 (ko) * 2013-10-30 2015-07-06 주식회사 아이페이지온 푸쉬 메시지를 이용하여 인증을 수행하는 호 처리 장치 및 방법

Also Published As

Publication number Publication date
KR101879842B1 (ko) 2018-08-17
KR20170032155A (ko) 2017-03-22

Similar Documents

Publication Publication Date Title
US11956230B2 (en) First factor contactless card authentication system and method
US11870769B2 (en) System and method for identifying a browser instance in a browser session with a server
CN106575416B (zh) 用于向装置验证客户端的***和方法
CN106464673B (zh) 用于验证装置注册的增强的安全性
EP3208732A1 (en) Method and system for authentication
EP2999189A1 (en) Network authentication method for secure electronic transactions
US20190251561A1 (en) Verifying an association between a communication device and a user
CN113474774A (zh) 用于认可新验证器的***和方法
KR20170056566A (ko) 네트워크 아키텍처 내에 인증 서비스를 통합하기 위한 시스템 및 방법
KR20170043520A (ko) 비대칭 암호화를 이용하여 otp를 구현하기 위한 시스템 및 방법
US20200196143A1 (en) Public key-based service authentication method and system
US11824850B2 (en) Systems and methods for securing login access
US20210241270A1 (en) System and method of blockchain transaction verification
KR20220167366A (ko) 온라인 서비스 서버와 클라이언트 간의 상호 인증 방법 및 시스템
KR102313868B1 (ko) Otp를 이용한 상호 인증 방법 및 시스템
KR101879842B1 (ko) Otp를 이용한 사용자 인증 방법 및 시스템
KR20180034199A (ko) 싱글 사인 온 서비스 기반의 상호 인증 방법 및 시스템

Legal Events

Date Code Title Description
A107 Divisional application of patent