KR20160140372A - Otp를 이용한 상호 인증 방법 및 시스템 - Google Patents

Otp를 이용한 상호 인증 방법 및 시스템 Download PDF

Info

Publication number
KR20160140372A
KR20160140372A KR1020160054402A KR20160054402A KR20160140372A KR 20160140372 A KR20160140372 A KR 20160140372A KR 1020160054402 A KR1020160054402 A KR 1020160054402A KR 20160054402 A KR20160054402 A KR 20160054402A KR 20160140372 A KR20160140372 A KR 20160140372A
Authority
KR
South Korea
Prior art keywords
otp
user
server
verification
generation
Prior art date
Application number
KR1020160054402A
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 KR20160140372A publication Critical patent/KR20160140372A/ko
Priority to KR1020180039210A priority Critical patent/KR102313868B1/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/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

Landscapes

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

Abstract

인증 서버가, 서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하는 단계; OTP 생성기가, 상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 동일 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 단계; 및 상기 온라인 서비스 서버로부터 상기 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우, 상기 인증 서버가, 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고, 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 상호 인증을 위한 컴퓨터 구현 방법이 제공된다.

Description

OTP를 이용한 상호 인증 방법 및 시스템{CROSS AUTHENTICATION METHOD AND SYSTEM USING ONE TIME PASSWORD}
본 발명은 OTP를 이용한 인증 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 온라인 서비스를 제공하는 서버가 진정한 서비스 제공 주체에 의한 서버인지 여부를 검증한 이후에 사용자 인증 정보를 제공하는 방식으로 서비스 제공자와 서비스 사용자 간의 상호 검증이 가능하도록 한 OTP를 이용한 상호 인증 방법 및 시스템에 관한 것이다.
최근 전자금융서비스나 IoT(Internet of Things) 시설물 제어서비스 등에 있어서 사용자 인증을 보강하기 위하여 OTP(One Time Password)가 도입되고 있다. 그러나 현재 OTP 기술은 서비스 사용자가 정당한 사용자인지 여부를 검증하는데 활용될 뿐, 사용자가 접속하는 온라인 서비스 자체가 위변조 되거나 해커에 의해서 운영되는 파밍 서버가 아님을 검증하는데 활용되고 있지는 않다.
파밍 공격(pharming attack)은 사용자로 하여금 해커가 운영하는 웹사이트를 올바른 사이트로 인지하게 함으로써, 사용자의 계정 정보(예를 들어, 아이디와 패스워드), OTP 입력창에 사용자가 입력한 OTP 값 등을 탈취하고, 탈취한 계정 정보와 OTP 값을 이용하여 해커가 사용자의 돈이나 정보 등을 가로채는 공격이다.
따라서 위와 같은 파밍 공격을 막으려면, 사용자가 접속한 서버가 위변조되지 않은 서버임을 검중할 필요가 있다. 이러한 서비스 서버 검증을 위해, 종래 기술에서는 사용자 스스로 서비스 서버에 개인 이미지를 업로드하게 하여 정상적인 사이트임을 표시하게 하거나, SSL(Secure Socket Layer)을 이용하여 주소창에 색상을 변경하게 함으로써 정상적인 사이트임을 표시하는 방식이 이용되었다.
그러나 개인화 이미지를 등록하는 방법은 사용자가 자발적으로 개인의 이미지를 등록하지 않는 경우가 많아 사용성이 크게 떨어지고 있으며, 주소창 색상 변경 서비스는 브라우저 마다 표기가 상이하고 또한 인지하기가 쉽지 않아 사용자가 혼동을 일으키는 경우가 많다. 따라서 사용자가 서비스 서버를 자연스럽게 검증하면서도 이와 함께 사용자 인증을 할 수 있는 개선된 방법과 기술이 필요하다.
본 발명은 안전한 온라인 서비스를 제공하기 위하여, 서버 검증용 OTP를 사용자 인증 OTP 게시 화면에 함께 표시함으로써, 사용자가 사용자 인증용 OTP 값을 입력하기 전에 해당 서비스가 진정한 서비스 주체에 의해 제공되는 서비스임을 먼저 확인한 후, 사용자 인증용 OTP 값을 입력할 수 있도록 하는 방법 및 시스템을 제공하고자 한다.
본 발명의 일 측면에 따르면, 온라인 서비스 서버와 서비스 사용자 간의 상호 인증을 수행하는 컴퓨터 구현 방법(computer implemented method)으로서,
(a) 인증 서버가, 서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하는 단계;
(b) OTP 생성기가, 상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 단계; 및
(c) 상기 온라인 서비스 서버로부터 상기 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우, 상기 인증 서버가, 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고, 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계를 포함하는 상호 인증을 위한 컴퓨터 구현 방법이 제공된다.
일 실시예에서, 상기 (b) 단계 이전에,
상기 인증 서버가, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송되도록 하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송될 수 있다.
일 실시예에서, 상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용될 수 있다.
일 실시예에서, 상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,
상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.
일 실시예에서, 상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,
상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성할 수 있다.
일 실시예에서, 상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,
상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지할 수 있다.
일 실시예에서, 상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성될 수 있다.
일 실시예에서, 상기 인증 서버가, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하는 단계를 더 포함하고,
상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고,
상기 (b) 단계에서, 상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출될 수 있다.
일 실시예에서, 상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되되,
상기 모바일 기기의 동일 화면을 통해 표출되는 상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출될 수 있다.
본 발명의 다른 측면에 따르면, 온라인 서비스 서버와 서비스 사용자 간의 상호 인증을 수행하는 인증 시스템으로서,
서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교하여 상기 서비스 사용자에 대한 인증을 수행하는, 인증 서버; 및
상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 OTP 생성기를 포함하는, 상호 인증을 위한 인증 시스템이 제공된다.
일 실시예에서, 상기 인증 서버는, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 상기 OTP 생성기로 전송되도록 할 수 있다.
일 실시예에서, 상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송될 수 있다.
일 실시예에서, 상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용될 수 있다.
일 실시예에서, 상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,
상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보일 수 있다.
일 실시예에서, 상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,
상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성할 수 있다.
일 실시예에서, 상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,
상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지할 수 있다.
일 실시예에서, 상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성될 수 있다.
일 실시예에서, 상기 인증 서버는, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하며,
상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고, 상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되고,
상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출되며,
상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출될 수 있다.
본 발명의 실시예에 의하면, 사용자 인증을 위해서 OTP 값을 입력하는 화면을 통해서 서버가 제시한 서버 검증용 OTP를 검증한 후, 사용자가 사용자 인증용 OTP 값을 입력하게 함으로써, 서비스 제공 서버에 대한 검증과 사용자 인증을 동시에 수행할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법 및 시스템을 설명하기 위한 도면.
도 2는 본 발명의 실시예예 따른 상호 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도.
도 3은 본 발명의 실시예에 따른 상호 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도.
도 4는 온라인 서비스 서버에 의해 온라인 서비스 사이트에 표출되는 OTP 게시 화면 예시.
도 5는 OTP 생성기에 의해 생성된 확인용 OTP와 사용자 OTP가 모바일 기기의 화면을 통해 표출되는 화면 예시.
도 6는 OTP 생성기에 의해 확인용 OTP는 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식으로 구동하면서, 사용자 OTP는 타임 OTP 생성 방식으로 모바일 기기의 화면을 통해 표출되는 화면 예시.
도 7은 본 발명의 다른 실시예에 따른 OTP를 이용한 상호 인증 방법을 설명하기 위한 도면.
도 8은 도 7에 의할 때의 모바일 기기 상의 화면 표출 예시.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다.
또한 이하의 설명에서, OTP 생성기는 사용자 소유의 모바일 기기에 애플리케이션 프로그램의 형태로 설치된 소프트웨어 OTP 생성기를 중심으로 설명하지만, 반드시 이에 한정되는 것은 아님은 물론이다. 예를 들어, OTP 생성기는 통신 기능을 갖춘 하드웨어 OTP 생성 장치일 수도 있다. 다만, 이하에서는 설명의 편의 및 집중을 위해 전자의 케이스를 가정하여 본 발명의 실시예를 설명하기로 한다.
또한, 이하에서는 도 1을 기준으로 온라인 서비스 서버에 접속하는 접속단말인 클라이언트 단말과 OTP 생성기가 물리적으로 별개로 구성된 경우를 가정하여 설명하지만, OTP 생성기는 클라이언트 단말과 일체적으로 구현될 수도 있다. 후자의 경우라면 도 1에 도시된 모바일 기기는 생략될 것이다. 또한, 클라이언트 단말 자체가 모바일 기기일 수도 있음은 자명하다.
도 1은 본 발명의 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법 및 시스템을 설명하기 위한 도면이다. 여기서, 도 2는 본 발명의 실시예예 따른 상호 인증 방법을 구현하는 OTP 인증 서버에 관한 일 실시예의 블록도이고, 도 3은 본 발명의 실시예에 따른 상호 인증 방법을 구현하는 OTP 생성기에 관한 일 실시예의 블록도이다. 또한 여기서, 도 4는 온라인 서비스 서버에 의해 온라인 서비스 사이트에 표출되는 OTP 게시 화면 예시이고, 도 5는 OTP 생성기에 의해 생성된 확인용 OTP와 사용자 OTP가 모바일 기기의 화면을 통해 표출되는 화면 예시이다. 또한, 도 6는 OTP 생성기에 의해 확인용 OTP는 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식으로 구동하면서, 사용자 OTP는 타임 OTP 생성 방식으로 모바일 기기의 화면을 통해 표출되는 화면 예시이다. 이하, 도 1을 중심으로 도 2 내지 도 6을 함께 참조하여 본 발명의 실시예에 따른 상호 인증 방법 및 인증 시스템에 관하여 상세히 설명한다.
도 1의 단계 S1을 참조하면, 온라인 서비스 서버(130)가 제공하는 온라인 서비스 사이트에 의한 온라인 서비스를 이용하고자 하는 경우, 서비스 사용자는 온라인 서비스 서버(130)에 접속 요청을 한다.
예를 들어, 이용하고자 하는 온라인 서비스가 온라인 뱅킹 서비스인 경우, 사용자는 해당 온라인 뱅킹 서비스를 제공하는 특정 온라인 서비스 서버(즉, 온라인 뱅킹 서비스를 제공하는 특정 은행 서버)에 접속할 수 있다. 온라인 서비스 서버(130)로의 접속은 사용자 자신이 소유하는 모바일 기기(110)(예를 들어, 스마트폰 등)를 통한 모바일 접속에 의할 수 있음은 물론이나, 도 1에서는 사용자 소유의 모바일 기기(110)와는 별개의 클라이언트 단말(100)(예를 들어, 회사 PC 등)을 통해서 접속하는 경우를 예시하였다.
도 1의 단계 S2를 참조하면, 온라인 서비스 서버(130)로의 접속 요청에 따라, 온라인 서비스 서버(130)는 온라인 서비스를 이용하고자 하는 서비스 사용자에게 사용자 계정 정보의 입력을 요청할 수 있다. 여기서, 사용자 계정 정보는, 사용자 등록 절차(또는 서비스 가입 절차)를 통해서 해당 온라인 서비스 서버(130)에 미리 저장(등록)되어 있는 해당 사용자의 식별 정보를 의미한다. 통상적으로, 사용자 계정 정보로는 사용자 ID(Identifier)와 패스워드(password)가 활용될 수 있다. 다만, 해당 온라인 서비스를 이용하는 사용자를 식별할 수 있는 정보라면, 상기 사용자 계정 정보로서 이외에도 다양한 정보(예를 들어, 해당 사용자의 이메일 주소, 전화번호, PKI(Public Key Infrastructure) 기반의 인증서 상의 인증서 암호 등)가 대체 활용될 수 있음은 물론이다.
도 1의 단계 S3을 참조하면, 사용자 계정 정보의 입력 요청에 따라, 서비스 사용자는 사용자 계정 정보를 해당 온라인 서비스 사이트에 입력한다. 도 1의 단계 S4를 참조하면, 서비스 사용자로부터 사용자 계정 정보가 입력되면, 온라인 서비스 서버(130)는 사용자로부터 입력된 사용자 계정 정보와 일치하는 계정이 존재하는지를 확인한다. 이러한 계정 정보의 확인에는 도 1에 도시된 바와 같은 계정 DB(140)가 활용될 수 있다. 계정 DB(140)에는 해당 온라인 서비스 서버(130)를 통한 온라인 서비스를 제공받을 수 있는 사용자들(즉, 회원들)에 관한 계정 정보들이 보관된다. 도 1에서는 계정 DB(140)가 온라인 서비스 서버(130)와 별개로 구비되는 경우를 예시하였지만, 계정 DB(140)는 온라인 서비스 서버(130)와 통합되어 구현될 수도 있음은 물론이다. 또한, 시스템 구현 방식에 따라, 계정 DB(140)는 OTP 인증 서버(150)와 통합되어 구현될 수도 있을 것이다.
도 1의 단계 S5를 참조하면, 입력된 사용자 계정 정보가 계정 DB(140)에 보관된 사용자 계정과 일치하는 경우, 온라인 서비스 서버(130)는 OTP 인증 서버(150)로 서버 검증용 OTP의 생성을 요청한다. 여기서, 서버 검증용 OTP는 사용자가 현재 접속한 온라인 서비스 사이트가 진정한 온라인 서비스 제공자에 의해 제공된 것인지 여부를 사용자가 판별할 수 있도록 하기 위한 용도로서 활용된다.
도 1에서는 본 단계(즉, 단계 S5)가 앞선 사용자 계정 확인 절차(즉, 단계 S4)가 완료된 이후 바로 실행되는 것으로 도시되고 있지만, 이와 상이할 수도 있음은 물론이다. 예를 들어, 본 단계에 의한 서버 검증용 OTP의 생성 요청은, 사용자 계정 확인 절차가 완료된 이후에 사용자가 인증 수단으로서 OTP 인증 방식을 선택한 경우에 한하여 실행될 수도 있을 것이다.
또한, 도 1에서는 온라인 서비스 서버(130)가 OTP 인증 서버(150)로 서버 검증용 OTP의 생성 요청을 하는 경우를 예시하였지만, 이와 상이할 수도 있다. 예를 들어, 사용자 계정 확인이 완료되면, 서비스 사용자 측에서 OTP 인증 서버(150)로 서버 검증용 OTP의 생성 요청을 할 수도 있다. 이에 관한 보다 구체적인 구현 방식을 설명하면 아래와 같을 수 있다. 사용자 계정 확인이 완료되어 온라인 서비스 사이트에 서비스 접속이 이루어지면, 사용자는 자신의 모바일 기기(110)에 설치된 OTP 생성기(120)를 통해서 OTP 인증 서버(150)로 서버 검증용 OTP 생성 요청을 전송하는 방식이 이용될 수 있을 것이다. 다만 이하에서는 설명의 편의 및 집중을 위해, 서버 검증용 OTP 생성 요청은 온라인 서비스 서버(130)로부터 OTP 인증 서버(150)로 전송되는 것으로 도시된 도 1을 기준으로 설명하기로 한다.
상술한 바와 같은 서버 검증용 OTP의 생성 요청은 OTP 인증 서버(150)의 통신 인터페이스부(151)를 통해 접수(수신)된다.
도 1의 단계 S6을 참조하면, 온라인 서비스 서버(130)로부터의 서버 검증용 OTP의 생성 요청에 따라, OTP 인증 서버(150)는 서버 검증용 OTP를 생성한다. 이때, 서버 검증용 OTP의 생성은 OTP 인증 서버(150)의 서버 검증용 OTP 생성부(153)에 의해 수행될 수 있다. 이하, 서버 검증용 OTP의 생성 방법에 관한 다양한 실시예를 상세히 설명한다.
본 발명의 일 실시예에서, OTP 생성을 위한 시드 값으로서 활용될 OTP 생성키로는 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키가 이용될 수 있다.
일 예로, 사용자 계정 정보에 대응하는 고정키는, 전술한 사용자 ID, 패스워드, 사용자의 이메일 주소, 전화번호, 인증서 암호 등과 같은 다양한 사용자 식별 정보 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수 있다. 다른 예로, 사용자 계정 정보에 대응하는 고정키는, 사용자 소유의 모바일 기기(예를 들어, 스마트폰 등)의 폰 번호, 제품 일련번호, 유심(USIM) 카드번호, 맥 어드레스(MAC address) 등과 같은 식별자 중 어느 하나 또는 적어도 2개의 조합이 사전 등록되어 이용될 수도 있다. 또 다른 예로, 사용자 계정 정보에 대응하는 고정키는, 사용자가 OTP 인증 서비스에 등록할 때에 자신이 직접 선택하여 등록한 또는 OTP 인증 서비스 등록시에 부여된 개인키가 이용될 수도 있다.
본 발명의 다른 실시예에서, OTP 생성을 위한 시드 값으로서 활용될 OTP 생성키로는 사용자가 접속하고자 하는 진정한 온라인 서비스 서버의 식별 정보에 대응하여 사전 등록된 고정키가 이용될 수도 있다. 일 예로, 해당 온라인 서비스 서버의 서버 IP 주소(해당 IP 주소 전체 또는 일부분일 수 있음)가 OTP 생성키로서 이용될 수 있을 것이다.
본 발명의 또 다른 실시예에서, OTP 생성을 위한 시드 값으로서 활용될 OTP 생성키로는 사용자가 해당 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키가 이용될 수 있다.
일 예로, 상기 OTP 생성키로서 활용될 동적 할당키로는, 해당 온라인 서비스 서버로 접속하는 서비스 사용자의 접속단말 연결정보가 이용될 수 있다. 이때, 접속단말 연결정보로는 서비스 사용자의 접속시 해당 온라인 서비스 서버에서 서비스 사용자의 접속단말에 할당하는 세션 정보(예를 들어, 세션 ID(Session ID) 등) 또는 소켓 정보(예를 들어, 소켓 핸들(Socket handle) 등)가 이용될 수 있다.
여기서, 세션 ID는 서버와 접속단말 간의 연속적인 데이터 송수신을 관리하기 위해 해당 서버에 의해 부여되는 값이고, 소켓 핸들 정보는 서버와 접속단말 간에 네트워크를 통해 데이터를 송수신하는 단위인 소켓을 관리하기 위해 해당 서버가 자체적으로 할당한 임의의 연결 고유값이다. 이러한 세션 ID 또는 소켓 핸들 정보는 동적으로 할당됨은 물론 해당 서버에 의해 자체적으로 부여되는 값으로서, 서버 외부에서 해커에 의해 탈취되기 어렵기 때문에, 이를 OTP 생성키로서 이용하는 경우 보안 상 유리한 효과가 있다.
다른 예로, 상기 OTP 생성키로서 활용될 동적 할당키로는, 서비스 사용자 소유의 모바일 기기에 이동통신사가 동적으로 할당한 모바일 IP 주소(IP 주소 전체 또는 일부분일 수 있음)가 이용될 수도 있다. 예를 들어, 서비스 사용자가 자신의 모바일 기기를 통해서 해당 온라인 서비스 서버로 접속하는 경우를 가정하면, 이때 이동통신사에 의해 동적으로 할당된 모바일 IP 주소를 OTP 생성키로 이용할 수 있을 것이다.
또한, 이상에서 설명한 OTP 생성키에 관한 실시예들 이외에도, 더욱 다양한 값들이 OTP 생성을 위한 시드 값으로서 활용될 수 있다. 후술할 바이지만, 본 발명의 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법에서는, 서버 검증용 OTP와 사용자 OTP가 서로 페어링(pairing)되는 값으로 생성되는 것을 일 특징으로 한다. 따라서, 위 2개의 OTP 값이 서로 페어링될 수 있는 한도 내에서 OTP 생성키는 다양한 대체 사용이 가능하다.
본 발명의 실시예에서, 서버 검증용 OTP는, 전술한 OTP 생성키를 이용하되 특정 연산 조건을 적용하여 생성할 수 있다. 이때, 적용되는 연산 조건에 관해서는 이후 후술할 단계 S10에서 함께 설명하기로 한다. 이를 통해서 서버 검증용 OTP와 사용자 OTP가 서로 페어링되는 관계의 값으로 생성됨을 보다 명확히 이해할 수 있을 것이다.
도 1의 단계 S7을 참조하면, 앞선 단계를 통해 서버 검증용 OTP가 생성되면, OTP 인증 서버(150)는 통신 인터페이스부(151)를 통해서 해당 OTP 생성 조건이 서비스 사용자 소유의 모바일 기기(110)에 설치된 OTP 생성기(120)로 전송되도록 한다.
도 1에서 단계 S7의 OTP 생성 조건의 전송은 푸시 서버(160)를 통해서 수행되는 것으로 예시하고 있지만, 반드시 이와 같을 필요는 없으며, OTP 인증 서버(150)에서 직접 OTP 생성기(120)로 전송될 수도 있음은 물론이다. 또한, 도 1에서는 푸시 메시지를 통해서 OTP 생성 조건을 전송하는 케이스를 중심으로 도시하였지만, OTP 생성 조건의 전송은 소켓 전송 방식에 의할 수도 있다.
푸시 서버(160)를 통해 OTP 생성 조건을 전송하는 경우, OTP 인증 서버(150)는 OTP 생성 조건을 푸시 서버(160)로 전달하고, 이때 푸시 서버(160)는 푸시 메시지를 통해서 OTP 생성 조건을 OTP 생성기(120)로 전송할 수 있다. 여기서, 푸시 메시지는 특정 모바일 운영체제에서 앱(App) 별로 제공하는 메시지 서비스일 수 있다. 다만, OTP 생성 조건의 전송을 반드시 푸시 메시지에 의할 필요는 없음은 자명하며, SMS, MMS 등의 상용의 다양한 메시징 서비스에 의할 수도 있고, 특정 통신 프로토콜에 의하여도 무방하다. OTP 생성 조건의 전송을 푸시 메시지에 의하지 않는 다른 예시적 케이스들에서, 전술한 푸시 서버(160)는 일반적인 통신 서버로서 그 기능이 대체될 수 있다.
또한 도 1에서는 OTP 생성 조건이 OTP 생성기(120)로 직접 전송되는 케이스를 중심으로 설명하였지만, 반드시 이와 같을 필요는 없다. 예를 들어, OTP 생성 조건은 푸시 메시지 등을 통해서 모바일 기기(110)로 전송되고, OTP 생성기(120)가 이를 읽어들여 OTP 생성 조건을 수신(취득)할 수 있음은 자명하다. 이러한 OTP 생성 조건의 수신은 OTP 생성기(120)의 OTP 생성조건 수신부(121)에 의해 이루어질 수 있다.
여기서, OTP 생성기(120)로 전송되는 OTP 생성 조건은 OTP 연산 조건 또는/및 OTP 생성키 정보일 수 있다. 다만, 단계 S7을 통해서 전송되는 OTP 생성 조건이 구체적으로 어떤 정보들인지에 관해서는 이하 후술할 단계 S10에서 상세히 설명하기로 한다.
또한, 도 1의 단계 S8을 참조하면, OTP 인증 서버(150)는 통신 인터페이스부(151)를 통해서 앞선 단계 S6을 통해서 생성된 서버 검증용 OTP를 온라인 서비스 서버(130)로 전달한다.
전술한 단계 S7 및 단계 S8은, 도 1에 도시된 예시에서와는 달리, 동시에 이루어질 수도 있으며, 선후를 달리하여 이루어져도 무방하다. 이는 후술할 단계 S9 및 단계 S10의 경우에도 마찬가지이다.
도 1의 단계 S9를 참조하면, 서버 검증용 OTP의 전달에 따라, 온라인 서비스 서버(130)는 전달된 서버 검증용 OTP를 온라인 서비스 사이트의 OTP 게시 화면 상에 게시하고, 동일 화면을 통해서 사용자 OTP 입력을 요청한다. 이에 관한 예시가 도 4에 도시되고 있다.
도 4를 참조할 때, OTP 게시 화면(10)은 상단에 서버 검증용 OTP가 게시(표출)되는 OTP 표시창(10A)과 인접한 그 하단에 사용자 OTP의 입력을 요청하는 OTP 입력창(10B), 그리고 확인 버튼(10C)을 포함하고 있다. 이때, 서버 검증용 OTP가 게시되는 OTP 표시창(10A)와 사용자 OTP가 입력될 OTP 입력창(10B)는 서비스 사용자에 의한 즉각적인 인지적 구별이 가능하도록 색상, 형태 등을 달리하여 OTP 게시 화면(10) 내에 표출될 수 있다. 일 예로, OTP 표시창(10A)은 표시창 내에 주황색 음영 효과를 주고, OTP 입력창(10B)는 표시창 내에 노랑색 음영 효과를 줌으로써, OTP 표시창(10A)과 OTP 입력창(10B)이 시각적으로 구별되도록 할 수 있다.
이와 관련하여, 단계 S10을 통해서도 후술할 바이지만, 사용자의 모바일 기기의 화면을 통해 표출될 확인용 OTP(상기 서버 검증용 OTP에 대응되는 OTP임)의 표시창(도 5의 20A 참조)와 사용자 OTP의 표시창(도 5의 20B 참조)도 상기 OTP 게시 화면(10) 내에 표출된 OTP 표시창(10A) 및 OTP 입력창(10B)에 적용된 인지적 구별 효과와 동일한 효과를 적용하여 표출시킬 수 있다.
이에 의할 때, 서비스 사용자는 서버 검증용 OTP 및 사용자 OTP의 용도 구분을 별다른 어려움이 없이 직관적으로 이해할 수 있게 된다. 즉, 서비스 사용자는, OTP 게시 화면(10) 내의 OTP 표시창(10A)과 동일 인지적 구별 효과가 적용된 모바일 기기 화면 상의 표시창(도 5의 경우 20A 참조)을 직관적으로 찾을 수 있고, 각 표시창에 게시된 숫자(즉, 서버 검증용 OTP와 확인용 OTP 값) 간의 일치 여부를 확인함으로써, 해당 온라인 서비스 서버의 진위 여부를 즉각적으로 판별할 수 있다. 또한, 서비스 사용자는, OTP 게시 화면(10) 내의 OTP 입력창(10B)과 동일 인지적 구별 효과가 적용된 모바일 기기 화면 상의 표시창(도 5의 경우 20B 참조)을 직관적으로 찾을 수 있고, 해당 표시창(도 5의 경우 20B 참조)에 게시된 숫자(즉, 사용자 OTP 값)를 OTP 게시 화면(10) 내의 OTP 입력창(10B)에 직관적으로 입력할 수 있다.
도 1의 단계 S10을 참조하면, 앞선 단계 S7의 OTP 생성 조건의 전송에 따라, OTP 생성기(120)는, 확인용 OTP 생성부(123)를 통해서 확인용 OTP를 생성하고 사용자 OTP 생성부(125)를 통해서 사용자 OTP를 생성한다.
여기서, 확인용 OTP는, OTP 인증 서버(150)에 의해 생성되어 온라인 서비스 서버(130)의 온라인 서비스 사이트 상의 OTP 게시 화면(도 3의 도면번호 10 참조)에 게시된 서버 검증용 OTP에 대응하여, OTP 생성기(120)에서 생성하는 OTP 값이다. 따라서, 확인용 OTP와 OTP 게시 화면(10)에 게시된 서버 검증용 OTP가 일치하는 경우, 서비스 사용자는 해당 온라인 서비스 서버가 진정한 서비스 서버임(즉, 서비스 서버의 진위)을 판별해낼 수 있다.
본 발명의 실시예에서, OTP 생성기(120)에서, 확인용 OTP 및 사용자 OTP의 생성은 다음과 방식에 의할 수 있다. 기본적으로, OTP 생성기(120)에서 생성되는 확인용 OTP와 사용자 OTP는 상호간 페어링(pairing)되는 값을 갖는다. 이는 OTP 생성 과정에서 상호간 동일한 OTP 생성키 값을 이용하되, 서로 다른 연산 조건을 적용하여 OTP를 생성함으로써 실현될 수 있다. 이는 OTP 인증 서버(150)에서의 서버 검증용 OTP와 대응 OTP(이는 위의 사용자 OTP에 대응되는 개념의 OTP 값임)의 생성에도 동일하게 적용된다. 이하, 이에 대하여 구체적으로 설명하면 아래와 같다.
일 실시예에서, 확인용 OTP(혹은 서버 검증용 OTP)는 전술한 다양한 OTP 생성키를 시드 값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식으로 생성하고, 사용자 OTP(혹은 대응 OTP)는 위와 동일한 OTP 생성키를 시드 값으로 이용하되 타임 OTP 생성 방식으로 생성함으로써, 상호간 서로 다른 연산 조건을 적용할 수 있다. 이에 관한 예시가 도 6에 도시되어 있다. 도 6의 (a) 및 (b)를 참조하면, 사용자의 모바일 기기 화면에 표출되는 확인용 OTP(도 6의 서비스 OTP 참조)는 챌린지 앤드 리스폰스 방식으로 생성되므로 시간의 변화와 무관하게 동일 값을 갖지만, 사용자 OTP는 타임 OTP 방식으로 생성되므로 유효시간 경과 후에는 그 값이 변경되고 있음을 확인할 수 있다.
여기서, 챌린지 앤드 리스폰스 방식은 연산 조건으로서 시도 횟수를 이용하여 OTP를 생성하는 방식이다. 이에 의할 때, OTP는 결정된 특정 OTP 생성키에 연산 조건인 시도 횟수를 곱한 값을 특정 해시 함수(hash function)에 따라 암호화한 값으로 생성될 수 있다. 또한 여기서, 타임 OTP 방식은 연산 조건으로서 생성 시간을 이용하여 OTP를 생성하는 방식이다. 이에 의할 때, OTP는 결정된 특정 OTP 생성키에 연산 조건인 생성 시간을 곱한 값을 특정 해시 함수에 따라 암호화한 값으로 생성될 수 있다.
전술한 예시에 의할 때, OTP 인증 서버(150)는 앞선 단계 S7을 통해서 서버 검증용 OTP를 생성하였을 때 이용한 OTP 생성 조건으로서, 챌린지 앤드 리스폰스 방식에 따른 연산 조건인 시도 횟수 정보를 OTP 생성기(120)로 전송할 수 있다. 다만 이때, 서버 검증용 OTP를 생성하는데 사용한 OTP 생성키는 OTP 생성기(120)로 반드시 전송될 필요는 없다. OTP 생성키로서 앞서 단계 S6을 통해서 설명한 고정키가 활용된 경우라면, OTP 생성기(120)의 키 보관부(미도시)에 해당 고정키가 미리 보관되도록 구성하고 이를 직접 이용할 수도 있는 바, 이와 같은 경우에는 연산 조건만을 단계 S7을 전송해줘도 무방하기 때문이다. 반면에, OTP 생성키로서 동적 할당키(예를 들어, 세션 ID 등)가 활용된 경우라면, 연산 조건과 함께 OTP 생성키도 단계 S7을 통해서 OTP 생성기(120)로 전송할 수 있다.
이에 따라, OTP 생성기(120)의 확인용 OTP 생성부(123)는 전달받은 OTP 생성 조건에 기초하여, OTP 인증 서버(150)에서 생성한 서버 검증용 OTP와 동일한 값의 확인용 OTP를 생성할 수 있다.
또한, OTP 생성기(120)의 사용자 OTP 생성부(125)는 확인용 OTP의 생성에 사용한 OTP 생성키와 동일한 생성키를 이용하되, 생성 시간을 연산 조건으로 하여 사용자 OTP를 생성할 수 있다. 이때, 사용자 OTP 생성의 연산 조건으로서 이용할 생성 시간은 앞선 단계 S7을 통해서 OTP 인증 서버(150)로부터 OTP 생성기(120)로 전송될 수 있다. 이에 따라, OTP 생성기(120)에 의해 생성된 확인용 OTP와 사용자 OTP는 동일 OTP 생성키에 기반하되, 서로 다른 연산 조건에 따라 페어링되는 값으로 생성될 수 있다.
이상에서는 확인용 OTP와 사용자 OTP가 동일 OTP 생성키에 의하되 서로 다른 연산 조건에 따라 각각 생성됨으로써 상호간 페어링되는 값을 갖게 되는 경우를 중심으로 설명하였다. 다만, 본 발명의 다른 실시예에 의할 때, 확인용 OTP와 사용자 OTP는 서로 다른 OTP 생성키에 의하되 동일한 연산 조건이 적용됨으로써, 상호간 페어링되는 값으로 생성될 수도 있음은 물론이다. 다만, 이하에서는 설명의 편의 및 집중을 위해, 전자의 케이스를 중심으로 설명하기로 한다.
상술한 방식에 따라 생성된 확인용 OTP와 사용자 OTP는 OTP 생성기(120)의 OTP 표출부(127)에 의해서 모바일 기기(110)의 화면을 통해 표출될 수 있다. 이에 대한 화면 표출 예시가 도 5를 통해 도시되고 있다. 도 5에서 확인용 OTP는 도면부호 20A의 표시창을 통해서 모바일 기기의 화면 상에 표출되고, 사용자 OTP는 도면부호 20B의 표시창을 통해서 동일 화면 상에 나란히 표출(즉, 시각적으로 서로 페어링되는 관계로 보이도록 표출)되고 있다.
이에 따라, 서비스 사용자는 온라인 서비스 사이트를 통해 표출되는 도 4와 같은 OTP 게시 화면의 OTP 표시창(10A)에 게시된 서버 검증용 OTP와 도 5의 좌측 표시창(20A)에 게시된 확인용 OTP를 비교하여, 해당 사이트의 진위 여부를 판별할 수 있다. 또한 서비스 사용자는 도 4의 OTP 게시 화면의 OTP 입력창(10B)에 도 5의 우측 표시창(20B)에 게시된 사용자 OTP 값을 입력할 수 있다[도 1의 단계 S11 참조].
이때, OTP 인증 서버(150)는, 서비스 사용자에 의한 온라인 서비스 서버(130)로의 접속 시도에 따른 사용자 OTP 입력 유효시간(예를 들어, 60초) 동안 또는 사용자 OTP 입력이 이루어지기 전까지, OTP 게시 화면의 OTP 표시창(10A)에 게시된 서버 검증용 OTP 값이 그대로 유지할 수 있다. 즉, 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 해당 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우(예를 들어, 진정한 사용자에 의한 접속 이후에 해커에 의한 추가 접속이 시도된 경우)라도, OTP 인증 서버(150)는 새로운 서버 검증용 OTP의 생성을 하지 않고 기존의 OTP 값을 그대로 유지할 수 있다. 이에 의하면, 해커에 의한 후순위 접속에 따른 불법적인 사용자 인증 및 이에 의한 정보 탈취를 방지할 수 있다.
이상에서는 확인용 OTP(혹은 서버 검증용 OTP)와 사용자 OTP(혹은 대응 OTP)가 각각 챌린지 앤드 리스폰스 방식과 타임 OTP 방식으로 서로 다른 연산 조건에서 생성되어 상호간 페어링되는 값을 갖게 되는 경우를 위주로 설명하였다. 다만, 앞선 설명은 일 예시에 불과하며, 이와 다른 방식에 의해 상호간 페어링되는 값으로 생성될 수도 있다.
예를 들어, OTP 생성키 및 OTP 생성 방식을 모두 동일하게 하되, 연산 조건으로서 서로 다른 모드 구별자를 적용함으로써 상호간 페어링되는 값을 갖도록 할 수도 있다. 이에 대하여 보다 구제척 예를 들어 설명하면, 양자 모두(즉, 확인용 OTP와 사용자 OTP, 또는 서버 검증용 OTP와 대응 OTP) 세션 ID를 OTP 생성키로 하고, 양자 모두 타임 OTP 방식에 의해 생성하되, 어느 하나는 모드 구별자로서 1을, 다른 하나는 모드 구별자로서 2를 더 추가하여 OTP를 생성함으로써 상호간 페어링되는 값을 갖도록 할 수도 있다.
즉, OTP 생성의 시드 값으로서의 OTP 생성키는 동일하게 하되, 그 연산 조건을 1가지 이상 상이하게 적용함으로써, 상호간 페어링되는 값으로 생성되게 하는 한도 내에서, 이외에도 더욱 다양한 변형례들이 존재할 수 있으며, 이는 모두 본 발명의 실시예에 포괄될 것이다.
이상에서는 OTP 게시 화면에 OTP 입력창이 표출되며, 또한 OTP 입력창에 사용자 OTP를 서비스 사용자가 직접 입력하는 방식을 중심으로 설명하였지만, 반드시 이와 같을 필요는 없으며 동일 효과를 달성하는 다양한 방식으로의 변형이 가능함은 물론이다. 예를 들어, OTP 게시 화면에는 서버 검증용 OTP만을 게시하고, 사용자 OTP 입력을 위한 OTP 입력창은 별도로 게시하지 않을 수도 있다. 또한, 사용자 OTP는 서비스 사용자에 의해 직접 입력되지 않고, 특정 제스처를 통해서 입력에 갈음할 수도 있다. 예를 들어, 확인용 OTP를 통해 서버 검증용 OTP의 진위가 확인되었을 때, 사용자가 모바일 기기의 터치 스크린을 통해 표출된 사용자 OTP를 단순 터치 선택하는 행위, 해당 화면을 위쪽 방향으로 밀어올리는 터치 제스처 등의 다양한 제스처를 취함으로써, 사용자 OTP의 자동 입력이 이루어지도록 구현될 수도 있다.
단계 S11을 통해 사용자 OTP 값이 입력된 경우, 온라인 서비스 서버(130)는 OTP 인증 서버(150)로 입력된 사용자 OTP 값의 확인을 요청(즉, 사용자 인증을 요청)할 수 있다[도 1의 단계 S12 참조].
이에 따라, 도 1의 단계 S13을 참조하면, OTP 인증 서버(150)의 대응 OTP 생성부(155)는, 앞선 단계 S10에서 OTP 생성기(120)에서 생성된 사용자 OTP와 동일 조건을 적용하여 대응 OTP를 생성한다. 그리고 OTP 인증 서버(150)의 인증 처리부(157)는 생성된 대응 OTP와 입력된 사용자 OTP 간의 일치 여부를 비교함으로써, 해당 서비스 사용자에 대한 사용자 인증을 수행할 수 있다. 이때, 인증 결과는 온라인 서비스 서버(130)로 통보되며[도 1의 단계 S14 참조], 인증이 정상적으로 이루어진 경우 온라인 서비스 서버(130)는 해당 서비스 사용자에게 해당 서비스를 개시할 수 있다[도 1의 단계 S15 참조].
이상에서는 일 실시예에 따른 온라인 서비스 서버와 서비스 사용자 간의 상호 인증 방법에 대하여 설명하였다. 이하에서는 본 발명의 다른 실시예에 따른 상호 인증 방법에 대하여 도 7 및 도 8을 참조하여 설명하기로 한다. 여기서, 도 7은 본 발명의 다른 실시예에 따른 OTP를 이용한 상호 인증 방법을 설명하기 위한 도면이고, 도 8은 도 7에 의할 때의 모바일 기기 상의 화면 표출 예시이다. 도 7 및 도 8을 참조한 본 발명의 다른 실시예에 따른 상호 인증 방법을 설명하는 과정에서 앞서 도 1 ~ 도 6을 참조하여 설명한 상호 인증 방법에서와 중복될 수 있는 내용에 관해서는 그 상세한 설명은 생략하기로 한다.
도 7은 서비스 검증 대상인 온라인 서비스 서버를 결제 서버(130A)로서 특화시켰을 때 사용자 소유의 모바일 기기에 설치된 결제 앱(120A)을 이용하여 결제 서비스를 진행함에 있어서 본 발명의 실시예에 따른 상호 인증 방법이 적용되는 케이스를 도시한 것이다. 여기서, 검증 모듈(120B)은 앞서 설명한 도 1의 OTP 생성기(120)와 본질적으로 동일 또는 유사한 기능은 수행하게 된다. 검증 모듈(120B)은 별도의 앱으로 구현될 수도 있지만, 결제 앱(120A)의 일부 기능으로서 결제 앱(120A) 내에 함께 구현될 수도 있음은 물론이다. 이에 따라, 본 예에서, 결제 앱(120A)과 검증 모듈(120B)은 하나의 애플리케이션 프로그램으로 구현(도 7의 도면부호 AA 참조)되어 사용자 소유의 모바일 기기(도 1의 도면부호 110 참조)에 설치된 것으로 가정한다.
도 7의 단계 S1에서와 같이 결제 앱(120A)이 구동됨에 따라 사용자에 의한 PIN(personal identification number) 입력 및 이에 관한 검증(즉, 입력된 PIN 번호의 검증)이 완료되면(도 8의 (a) 참조), 결제 앱(120A)은 도 7의 단계 S2에 따라 검증 모듈(120B)로부터 사용자 시리얼을 추출하고, 도 7의 단계 S3에 따라 결제 서버(130A)로 서버 검증용 OTP를 요청할 수 있다.
이때, 사용자 시리얼은 결제 앱(120A)과 검증 모듈(120B)이 하나의 앱으로서 OTP 인증 서버(150A)에 등록될 때 사용된 사용자 고유값일 수 있다. 이러한 사용자 시리얼은 상기 서버 검증용 OTP 요청시 함께 결제 서버(130A)로 전송될 수 있다. 이하 이를 기준하여 설명하기로 한다.
사용자 시리얼과 함께 서버 검증용 OTP 요청이 수신되면, 결제 서버(130A)는 이를 OTP 인증 서버로 전달하고[도 7의 단계 S4 참조], 이에 따라 OTP 인증 서버(150A)는 서버 검증용 OTP를 생성한다[도 7의 단계 S5 참조].
OTP 인증 서버(150A)를 통한 서버 검증용 OTP의 생성 방법으로는 앞서 도 1 ~ 도 6을 통해 설명한 바와 같이 다양한 방법이 이용될 수 있다. 다만, 본 예에서는 서버 검증용 OTP 생성의 시드값으로서 개인키, 결제 서버의 IP 주소, 결제 서버에서 자체 생성한 세션 ID가 이용되고, 챌린지 앤드 리스폰스 방식으로 서버 검증용 OTP가 생성되는 것으로 가정하기로 한다. 이때, 상기 개인키는 사용자 시리얼에 의해 확인된 해당 사용자에 상응하여 보관된 소정의 키 값이 이용될 수 있고, 경우에 따라서는 상기 사용자 시리얼 값이 그대로 이용될 수도 있다. 이러한 경우, OTP 인증 서버(150A)는 서버 검증용 OTP의 생성을 위해서, 결제 서버(130A)로부터 결제 서버(130A)의 IP 주소, 결제 앱(130A)과의 통신 접속을 위해 할당된 세션 ID를 받아올 필요가 있다. 일 실시예에서, 상기 결제 서버(130A)의 IP 주소, 세션 ID는 도 7의 단계 S4를 통해서 결제 서버(130A)로부터 OTP 인증 서버(150A)로 전달될 수 있다.
OTP 인증 서버(150A)는 서버 검증용 OTP 생성에 사용된 OTP 생성 조건을 검증 모듈(120B)로 전송할 수 있다[도 7의 단계 S6 참조]. 이때, OTP 인증 서버(150A)로부터 검증 모듈(130B)로의 OTP 생성 조건의 전송 방법은 앞서 설명한 도 1의 단계 S7에서와 본질적으로 동일하므로 이에 대한 중복되는 설명은 생략하기로 한다. 즉, 도 7에서는 도 1의 푸시 서버(160) 등을 직접 도시하지는 않았지만, 본 단계는 앞선 도 1의 단계 S7에서와 동일한 방식에 의할 수 있다.
또한 OTP 인증 서버(150A)는 도 7의 단계 S5에 따라 생성된 서버 검증용 OTP를 결제 서버(130A)로 전달하며[도 7의 단계 S7 참조], 결제 서버(130A)는 전달받은 서버 검증용 OTP를 결제 앱(120A)으로 전송할 수 있다[도 7의 단계 S8 참조]. 이 경우, 결제 앱(120A)은 수신한 서버 검증용 OTP를 검증 모듈(120B)로 전달할 수 있다[도 7의 단계 S9 참조]. 다만, OTP 인증 서버(150A)에 의해 생성된 서버 검증용 OTP는 반드시 상기 단계 S7, S8, S9를 통해서 검증 모듈(120B)로 전달될 필요는 없다. 예를 들어, 단계 S6에 따른 OTP 생성 조건의 전송 과정에서 서버 검증용 OTP가 함께 전송될 수도 있을 것이다. 다만 본 명세서에서는 설명의 편의 및 집중을 위해 전자의 방식에 의하는 경우를 중심으로 설명하기로 한다.
이에 따라 검증 모듈(120B)은 앞선 단계 S6을 통해서 수신한 OTP 생성 조건을 참조하여 서버 검증용 OTP에 대응되는 확인용 OTP를 생성하고, 단계 S9를 통해 수신한 서버 검증용 OTP와 자체 생성한 확인용 OTP 간의 일치 여부를 비교함으로써 서버 검증을 수행할 수 있다[도 7의 단계 S10 참조].
상술한 단계를 통해, 서버 검증이 완료되면, 검증 모듈(120B)은 사전 지정된 방식에 따라 사용자 OTP를 생성하고[도 7의 단계 S11 참조], 생성된 사용자 OTP를 결제 앱(120A)으로 전달할 수 있다[도 7의 단계 S12 참조]. 이때, 전달된 사용자 OTP는 결제 앱(120A)으로부터 결제 서버(130A)로 전송되고[도 7의 단계 S13 참조], 다시 OTP 인증 서버(150A)로 전송될 수 있다[도 7의 단계 S14 참조].
여기서, 검증 모듈(120B)에서의 사용자 OTP의 생성 방법 역시 앞서 도 1 ~ 도 6을 통해 설명한 다양한 방식들이 적용될 수 있다. 다만, 본 예에서는 사용자 OTP 생성의 시드값으로서 앞서 서버 검증용 OTP의 시드값으로 사용하였던 개인키와 세션 ID를 그대로 사용하되, 검증 모듈(120B)이 설치된 모바일 기기의 사설 IP 주소를 추가 시드값으로 하여, 타임 OTP 방식을 적용하여 사용자 OTP를 생성하는 것으로 가정하기로 한다. 즉, 본 예에서는, 사용자 OTP와 서버 검증용 OTP는 개인키와 세션 ID를 동일 생성키로 활용하되, 서버 검증용 OTP 생성 과정에서는 서버 IP 주소를 추가 시드값으로 하여 챌린지 앤드 리스폰스 방식으로 OTP를 생성하고, 사용자 OTP 생성 과정에서는 모바일 IP 주소를 추가 시스값으로 하여 타임 OTP 방식으로 OTP를 생성함으로써, 상호 간 페어링되는 값으로 OTP가 생성될 수 있다. 다만, 본 발명의 다른 실시예에 따른 상호 인증 방법에서는 시스템 구현 방식에 따라서 반드시 사용자 OTP와 서버 검증용 OTP가 페어링되는 값으로 구현되어야 할 제한 사항이 있는 것은 아니다.
도 7의 단계 S14에 따라 사용자 OTP 검증 요청이 수신되면, OTP 인증 서버(150A)는 수신된 사용자 OTP에 대응되는 대응 OTP를 도 7의 단계 S11에서와 동일 생성 조건으로 생성하고, 수신된 사용자 OTP와 자체 생성한 대응 OTP 간의 일치 여부를 비교함으로써, 사용자 인증을 수행한다[도 7의 단계 S15 참조]. 이때의 사용자 인증 결과는 결제 서버(130A)로 전송되며[도 7의 단계 S16 참조], 인증 결과에 따라 서비스 접속한 사용자가 정당한 사용자로 판별된 경우 결제 서버(130A)는 해당 서비스를 진행한다[도 7의 단계 S17 참조]. 사용자 인증이 완료된 상태에서 사용자 소유의 모바일 기기의 화면을 통해 표출되는 결제 앱 화면이 도 8의 (b)에 예시되고 있다.
도 8의 (a) 및 (b)를 참조할 때, 앞서 설명한 도 5 및 도 6에서와 화면 표출 방식이 상이함을 확인할 수 있다. 도 8을 참조할 때, 도 7에 따른 본 발명의 다른 실시예의 상호 인증 방법에서는 도 5 및 도 6에서와는 달리 서버 검증용 OTP와 사용자 OTP가 서비스 사이트 화면 및 앱 화면을 통해서 화면 표출되지 않고 있다. 즉, 도 7의 실시예에 의할 때, 서버 검증용 OTP와 사용자 OTP는 사용자에게 노출되지 않고 시스템 내부적으로 수행되는 상호 인증에만 이용된다. 따라서 도 7의 단계 S1에 따라 사용자가 PIN 번호를 입력하는 과정(도 8의 (a) 참조) 이후, 도 7의 단계 S2 ~ 단계 S16의 일련의 과정은 시스템 내부적으로 처리되며, 그 일련의 과정에 따라 상호 인증이 완료되면 도 8의 (b)의 서비스 개시 화면이 바로 앱 화면에 표출되게 되는 것이다.
본 발명의 실시예에 따른 방법 및 장치는 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.

Claims (19)

  1. 온라인 서비스 서버와 서비스 사용자 간의 상호 인증을 수행하는 컴퓨터 구현 방법(computer implemented method)으로서,
    (a) 인증 서버가, 서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하는 단계;
    (b) OTP 생성기가, 상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일한 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는 단계; 및
    (c) 상기 온라인 서비스 서버로부터 상기 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우, 상기 인증 서버가, 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고, 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교함으로써 상기 서비스 사용자에 대한 인증을 수행하는 단계
    를 포함하는 상호 인증을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 (b) 단계 이전에,
    상기 인증 서버가, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 서비스 사용자의 모바일 기기에 설치된 상기 OTP 생성기로 전송되도록 하는 단계
    를 더 포함하는 상호 인증을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송되는, 상호 인증을 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용되는 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,
    상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,
    상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성하는 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
  7. 제6항에 있어서,
    상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,
    상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지하는 것을 특징으로 하는, 상호 인증을 위한 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성되는, 상호 인증을 위한 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 인증 서버가, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하는 단계를 더 포함하고,
    상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고,
    상기 (b) 단계에서, 상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출되는, 상호 인증을 위한 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되되,
    상기 모바일 기기의 동일 화면을 통해 표출되는 상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출되는, 상호 인증을 위한 컴퓨터 구현 방법.
  11. 온라인 서비스 서버와 서비스 사용자 간의 상호 인증을 수행하는 인증 시스템으로서,
    서버 검증용 OTP 생성 요청에 따라 서버 검증용 OTP를 생성하고, 상기 온라인 서비스 서버로부터 사용자 OTP를 포함하는 사용자 인증 요청이 수신된 경우 상기 사용자 OTP와 동일 조건의 대응 OTP를 생성하고 상기 생성된 대응 OTP와 상기 사용자 OTP 간의 일치 여부를 비교하여 상기 서비스 사용자에 대한 인증을 수행하는, 인증 서버; 및
    상기 온라인 서비스 서버의 진위 확인을 위해 상기 서버 검증용 OTP와 동일 조건의 확인용 OTP를 생성하고, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 동일한 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과는 다른 연산 조건을 적용하거나 또는 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키와 다른 생성키를 이용하되 상기 서버 검증용 OTP 생성에 사용된 연산 조건과 동일한 연산 조건을 적용함으로써 상기 서버 검증용 OTP와 페어링되는 값을 갖는 사용자 OTP를 생성하는, OTP 생성기
    를 포함하는 상호 인증을 위한 인증 시스템.
  12. 제11항에 있어서,
    상기 인증 서버는, 상기 서버 검증용 OTP 생성에 사용된 OTP 생성키 및 연산 조건이 푸시 메시지 또는 소켓 전송을 통해서 상기 상기 OTP 생성기로 전송되도록 하는, 상호 인증을 위한 인증 시스템.
  13. 제11항에 있어서,
    상기 서버 검증용 OTP 생성 요청은, 상기 서비스 사용자가 상기 온라인 서비스 서버가 제공하는 온라인 사이트에 입력한 사용자 계정 정보가 사전 등록된 해당 사용자의 계정 정보와 일치하는 경우, 상기 온라인 서비스 서버로부터 상기 인증 서버로 전송되는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
  14. 제11항에 있어서,
    상기 서버 검증용 OTP 생성에 사용되는 상기 OTP 생성키로는, 상기 서비스 사용자의 사용자 계정 정보에 대응하여 사전 등록된 고정키, 진정한 온라인 서비스 서버의 식별 정보에 대응하는 사전 등록된 고정키, 상기 서비스 사용자가 상기 온라인 서비스 서버에 접속하는 시점에 동적으로 할당되는 동적 할당키 중 어느 하나가 이용되는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
  15. 제14항에 있어서,
    상기 동적 할당키로는, 상기 온라인 서비스 서버로 접속하는 상기 서비스 사용자의 접속단말 연결정보가 이용되고,
    상기 접속단말 연결정보는, 상기 서비스 사용자의 접속시 상기 온라인 서비스 서버에 의해 할당되는 세션 ID(Session ID) 또는 소켓 핸들(socket handle) 정보인 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
  16. 제11항에 있어서,
    상기 서버 검증용 OTP는, 상기 OTP 생성키를 시드값으로 이용하되 챌린지 앤드 리스폰스(Challenge & Response) 생성 방식에 기반한 제1 연산 조건으로서 시도 횟수를 연산 조건으로 하여 생성하고,
    상기 사용자 OTP는, 상기 OTP 생성키와 동일 생성키를 시드값으로 이용하되 타임 OTP 생성 방식에 기반한 제2 연산 조건으로서 시간을 연산 조건으로 하여 생성하는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
  17. 제16항에 있어서,
    상기 서비스 사용자에 의한 상기 온라인 서비스 서버로의 접속 시도에 따른 사용자 OTP 입력 유효시간이 경과되기 전 또는 사용자 OTP 입력이 이루어지기 전에, 상기 서비스 사용자의 사용자 계정 정보와 동일한 계정 정보를 이용한 후순위의 접속이 재시도된 경우,
    상기 인증 서버는, 상기 사용자 OTP 입력 유효시간 동안 또는 상기 사용자 OTP 입력이 이루어지기 전까지, 선순위 접속에 따라 생성된 서버 검증용 OTP를 그대로 유지하거나 또는 후순위 접속에 따른 서버 검증용 OTP의 신규 생성을 금지하는 것을 특징으로 하는, 상호 인증을 위한 인증 시스템.
  18. 제11항에 있어서,
    상기 서버 검증용 OTP와 상기 사용자 OTP는, 동일 생성키 및 동일 생성 방식에 의하되 모드 구별자를 달리한 서로 다른 연산 조건에 의해 생성됨으로써 상호 간에 페이링되는 값으로 생성되는, 상호 인증을 위한 인증 시스템.
  19. 제11항에 있어서,
    상기 인증 서버는, 상기 생성된 서버 검증용 OTP가 상기 온라인 서비스 서버에 의해 제공되는 OTP 게시 화면을 통해 게시되도록 상기 서버 검증용 OTP를 상기 온라인 서비스 서버로 전송하며,
    상기 OTP 게시 화면에는 상기 서버 검증용 OTP를 게시하는 OTP 표시창과 사용자 OTP의 입력을 위한 OTP 입력창이 함께 표출되고, 상기 OTP 표시창과 상기 OTP 입력창은 인지적 구별이 가능하도록 상기 OTP 게시 화면 내에 표출되고,
    상기 사용자 OTP는 상기 OTP 생성기가 설치된 모바일 기기를 통한 동일 화면 상에서 상기 확인용 OTP와 페어링되어 표출되며,
    상기 확인용 OTP와 상기 사용자 OTP는, 상기 OTP 표시창과 상기 OTP 입력창에 적용된 것과 동일한 인지적 구별 효과가 적용되어 상기 모바일 기기의 화면 상에 표출되는, 상호 인증을 위한 인증 시스템.
KR1020160054402A 2015-05-28 2016-05-03 Otp를 이용한 상호 인증 방법 및 시스템 KR20160140372A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180039210A KR102313868B1 (ko) 2015-05-28 2018-04-04 Otp를 이용한 상호 인증 방법 및 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150074949 2015-05-28
KR1020150074949 2015-05-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180039210A Division KR102313868B1 (ko) 2015-05-28 2018-04-04 Otp를 이용한 상호 인증 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20160140372A true KR20160140372A (ko) 2016-12-07

Family

ID=57572994

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160054402A KR20160140372A (ko) 2015-05-28 2016-05-03 Otp를 이용한 상호 인증 방법 및 시스템
KR1020180039210A KR102313868B1 (ko) 2015-05-28 2018-04-04 Otp를 이용한 상호 인증 방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020180039210A KR102313868B1 (ko) 2015-05-28 2018-04-04 Otp를 이용한 상호 인증 방법 및 시스템

Country Status (1)

Country Link
KR (2) KR20160140372A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964757B1 (ko) * 2017-10-26 2019-04-03 주식회사 한줌 Otp를 이용한 인증 시스템 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102453310B1 (ko) * 2022-06-20 2022-10-11 주식회사 피씨티 Otp를 제공하는 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284155B1 (ko) * 2011-10-06 2013-07-09 동서대학교산학협력단 일회용 패스워드(otp)를 이용한 rfid 인증 처리방법
JP2014099015A (ja) * 2012-11-14 2014-05-29 Kazunori Fujisawa 会員認証方法及び会員認証システム
KR101513694B1 (ko) * 2013-02-26 2015-04-22 (주)이스톰 Otp 인증 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964757B1 (ko) * 2017-10-26 2019-04-03 주식회사 한줌 Otp를 이용한 인증 시스템 및 방법

Also Published As

Publication number Publication date
KR102313868B1 (ko) 2021-10-18
KR20180037168A (ko) 2018-04-11
KR102313868B9 (ko) 2022-01-17

Similar Documents

Publication Publication Date Title
US11832099B2 (en) System and method of notifying mobile devices to complete transactions
KR102431834B1 (ko) 상이한 채널들을 통해 강한 인증 이벤트를 운반하기 위한 시스템 및 방법
US10075437B1 (en) Secure authentication of a user of a device during a session with a connected server
KR102358546B1 (ko) 장치에 대해 클라이언트를 인증하기 위한 시스템 및 방법
KR102383021B1 (ko) 인증 장치의 등록을 위한 향상된 보안
US8132243B2 (en) Extended one-time password method and apparatus
TWI728261B (zh) 判定認證能力之查詢系統、方法及非暫態機器可讀媒體
US8079082B2 (en) Verification of software application authenticity
US9935953B1 (en) Secure authenticating an user of a device during a session with a connected server
KR20130107188A (ko) 사운드 코드를 이용한 인증 서버 및 인증방법
KR20220167366A (ko) 온라인 서비스 서버와 클라이언트 간의 상호 인증 방법 및 시스템
KR102313868B1 (ko) Otp를 이용한 상호 인증 방법 및 시스템
KR101879843B1 (ko) Ip 주소와 sms를 이용한 인증 방법 및 시스템
CN112565172A (zh) 控制方法、信息处理设备以及信息处理系统
US20160021102A1 (en) Method and device for authenticating persons
KR102160892B1 (ko) 공개키 기반의 서비스 인증 방법 및 시스템
KR20180034199A (ko) 싱글 사인 온 서비스 기반의 상호 인증 방법 및 시스템
KR101879842B1 (ko) Otp를 이용한 사용자 인증 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent