KR102459974B1 - 인증 시스템 및 방법 - Google Patents

인증 시스템 및 방법 Download PDF

Info

Publication number
KR102459974B1
KR102459974B1 KR1020180036072A KR20180036072A KR102459974B1 KR 102459974 B1 KR102459974 B1 KR 102459974B1 KR 1020180036072 A KR1020180036072 A KR 1020180036072A KR 20180036072 A KR20180036072 A KR 20180036072A KR 102459974 B1 KR102459974 B1 KR 102459974B1
Authority
KR
South Korea
Prior art keywords
otp
terminal
authentication
user
identification information
Prior art date
Application number
KR1020180036072A
Other languages
English (en)
Other versions
KR20190113417A (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 KR1020180036072A priority Critical patent/KR102459974B1/ko
Publication of KR20190113417A publication Critical patent/KR20190113417A/ko
Application granted granted Critical
Publication of KR102459974B1 publication Critical patent/KR102459974B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

인증 시스템 및 방법이 개시된다. 일 실시예에 따른 시스템은, 사용자의 트랜잭션(transaction)을 인증하기 위한 시스템으로서, 제1 단말로부터 상기 트랜잭션에 대한 인증 요청을 수신하는 서비스 서버, 상기 서비스 서버로부터 상기 트랜잭션과 연관된 트랜잭션 정보를 수신하고, 이를 이용하여 OTP(One-Time Password)를 생성하며, 생성된 상기 OTP에 대응되는 OTP 식별 정보를 상기 서비스 서버로 송신하는 인증 서버, 및 상기 서비스 서버로부터 상기 OTP 식별 정보를 수신하여 상기 인증 서버로 송신하고, 상기 사용자의 생체 인증 결과에 따라 상기 OTP 식별 정보에 대응되는 OTP를 상기 인증 서버로부터 수신하여 디스플레이하는 제2 단말을 포함한다.

Description

인증 시스템 및 방법{SYSTEM AND METHOD FOR DATA AUTHENTICATION}
본 발명의 실시예들은 온라인 상의 트랜잭션(transaction)을 인증하기 위한 기술과 관련된다.
온라인 뱅킹, 또는 본인 인증 등 온라인 상의 중요한 트랜잭션(transaction)을 인증하기 위한 방법으로서 다양한 인증 알고리즘이 사용되고 있다. 특히 최근에는 인증의 보안성을 높이기 위한 방법 중 하나로서 멀티 팩터 인증(Multi-Factor Authentication)이 많이 사용되고 있으며, 이 중 제2 인증 수단으로는 원타임 패스워드(One-Time Password; OTP)가 주로 사용된다.
그러나 대부분의 멀티 팩터 인증 방법에서 OTP 인증은 트랜잭션 그 자체와는 직접적인 관련성이 없으며, 다만 트랜잭션 수행 시 독립적인 절차로서 별도의 OTP 인증을 거친 후 인증 결과만을 공유하는 방식으로 인증이 이루어진다. 따라서 해당 트랜잭션에 대한 사후 검증 시 인증을 위해 발급된 OTP가 해당 트랜잭션과 어떻게 연관되는지를 증명하기 어려운 문제가 있다. 이에, 멀티 팩터 인증에서 OTP와 트랜잭션 정보를 효과적으로 연계함으로써 사용자의 부인을 방지하기 위한 수단이 필요하게 되었다.
대한민국 공개특허공보 제10-2008-0033541호 (2008 04. 16)
개시되는 실시예들은 원타임 패스워드를 이용한 트랜잭션의 인증 시 사용자의 사후 부인을 방지하기 위한 기술적인 수단을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 사용자의 트랜잭션(transaction)을 인증하기 위한 시스템으로서, 제1 단말로부터 상기 트랜잭션에 대한 인증 요청을 수신하는 서비스 서버; 상기 서비스 서버로부터 상기 트랜잭션과 연관된 트랜잭션 정보를 수신하고, 이를 이용하여 OTP(One-Time Password)를 생성하며, 생성된 상기 OTP에 대응되는 OTP 식별 정보를 상기 서비스 서버로 송신하는 인증 서버; 및 상기 서비스 서버로부터 상기 OTP 식별 정보를 수신하여 상기 인증 서버로 송신하고, 상기 사용자의 생체 인증 결과에 따라 상기 OTP 식별 정보에 대응되는 OTP를 상기 인증 서버로부터 수신하여 디스플레이하는 제2 단말을 포함하며, 상기 서비스 서버는, 상기 사용자에 의해 상기 제1 단말로 입력되는 OTP 입력값의 유효성을 검증하고, 상기 검증 결과에 따라 상기 트랜잭션을 승인하는, 인증 시스템이 제공된다.
상기 제2 단말은, 상기 OTP 식별 정보를 푸시 메시지를 통해 상기 서비스 서버로부터 수신할 수 있다.
상기 제2 단말은, 상기 사용자로부터 입력된 생체 정보의 유효성을 검증하며, 상기 생체 정보의 유효성 검증 결과에 따라 상기 인증 서버로부터 수신한 상기 1회용 난수를 상기 사용자의 개인키로 서명하여 서명값을 생성하고, 생성된 상기 서명값을 상기 인증 서버로 송신할 수 있다.
상기 인증 서버는, 상기 개인키에 대응되는 공개키로 수신된 서명값을 검증하고, 상기 서명값의 검증이 완료되는 경우 상기 OTP 식별 정보에 대응되는 OTP를 상기 제2 단말로 송신할 수 있다.
상기 제2 단말은, 상기 1회용 난수에 상기 OTP 식별 정보를 결합한 문자열을 상기 사용자의 개인키로 서명하여 상기 서명값을 생성할 수 있다.
다른 예시적인 실시예에 따르면, 사용자의 트랜잭션(transaction)을 인증하기 위한 방법으로서, 서비스 서버에서, 제1 단말로부터 상기 트랜잭션에 대한 인증 요청을 수신하는 단계; 상기 서비스 서버에서, 인증 서버로 상기 트랜잭션과 연관된 트랜잭션 정보를 송신하는 단계; 상기 인증 서버에서, 수신된 상기 트랜잭션 정보에 기반하여 OTP(One-Time Password)를 생성하고, 생성된 상기 OTP에 대응되는 OTP 식별 정보를 상기 서비스 서버로 송신하는 단계; 상기 서비스 서버에서, 수신된 상기 OTP 식별 정보를 상기 사용자의 제2 단말로 송신하는 단계; 상기 제2 단말에서, 수신된 상기 OTP 식별 정보를 상기 인증 서버로 송신하고, 상기 사용자의 생체 인증을 수행하는 단계; 상기 제2 단말에서, 상기 사용자의 생체 인증 결과에 따라 상기 OTP 식별 정보에 대응되는 OTP를 상기 인증 서버로부터 수신하여 디스플레이하는 단계; 및 상기 제2 단말에 디스플레이된 상기 OTP를 인식한 상기 사용자가 상기 제1 단말을 통해 OTP를 입력하는 경우, 상기 서비스 서버에서 상기 제1 단말을 통해 수신되는 OTP 입력값의 유효성을 검증하고, 상기 검증 결과에 따라 상기 트랜잭션을 승인하는 단계를 포함하는, 인증 방법이 제공된다.
상기 OTP 식별 정보를 상기 사용자의 제2 단말로 송신하는 단계는, 상기 OTP 식별 정보를 푸시 메시지를 통해 상기 제2 단말로 송신하도록 구성될 수 있다.
상기 생체 인증을 수행하는 단계는, 상기 인증 서버에서, 상기 제2 단말로 1회용 난수를 송신하는 단계; 상기 제2 단말에서, 상기 사용자로부터 생체 정보를 입력받고, 입력된 상기 생체 정보의 유효성을 검증하는 단계; 상기 제2 단말에서, 상기 생체 정보의 유효성 검증 결과에 따라 상기 1회용 난수를 상기 사용자의 개인키로 서명하여 서명값을 생성하는 단계; 및 생성된 상기 서명값을 상기 인증 서버로 송신하는 단계를 더 포함할 수 있다.
상기 인증 서버는, 상기 개인키에 대응되는 공개키로 수신된 서명값을 검증하고, 상기 서명값의 검증이 완료되는 경우 상기 OTP 식별 정보에 대응되는 OTP를 상기 제2 단말로 송신할 수 있다.
상기 서명값을 생성하는 단계는, 상기 1회용 난수 및 상기 OTP 식별 정보를 결합한 문자열을 상기 사용자의 개인키로 서명하도록 구성될 수 있다.
개시되는 실시예들에 따르면, 사용자의 온라인 트랜잭션에 대한 인증 시 원타임 패스워드와 트랜잭션 정보를 효과적으로 연계함으로써 사후 검증 등의 과정에서 사용자의 부인을 방지할 수 있다.
도 1은 일 실시예에 따른 인증 시스템을 설명하기 위한 블록도
도 2는 개시되는 일 실시예에 따른 제2 단말의 상세 구성을 설명하기 위한 블록도
도 3은 일 실시예에 따른 트랜잭션 인증 방법을 설명하기 위한 흐름도
도 4는 일 실시예에 따른 트랜잭션 인증 방법 중 생체 인증 과정의 일 실시예를 상세히 설명하기 위한 흐름도
도 5는 일 실시예에 따른 트랜잭션 인증 방법 중 생체 인증 과정의 다른 실시예를 상세히 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 인증 시스템(100)을 설명하기 위한 블록도이다. 개시되는 실시예들에 따른 인증 시스템(100)은 제1 단말(102), 서비스 서버(104), 인증 서버(106), 및 제2 단말(108)을 포함한다.
제1 단말(102)은 온라인 서비스를 사용하는 사용자(110)가 상기 온라인 서비스를 제공받는 데 이용하는 단말이다. 개시되는 실시예들에서 제1 단말(102)은 데스크탑 컴퓨터, 랩탑 컴퓨터 등의 개인용 컴퓨팅 디바이스, 스마트폰, 태블릿, 웨어러블 디바이스 등을 포괄할 수 있다.
서비스 서버(104)는 제1 단말(102)로 온라인 서비스를 제공하기 위한 서버이다. 예를 들어, 서비스 서버(104)는 제1 단말(102)을 통해 사용자(110)에게 금융 서비스를 제공하기 위한 금융사 서버일 수 있다. 다만, 개시되는 실시예들은 특정 종류의 온라인 서비스에 한정되는 것은 아니며, 서비스 서버(104)는 소셜 네트워킹, 미디어 스트리밍, 클라우드 서비스 등 다양한 종류의 온라인 서비스를 제한 없이 포함할 수 있다.
인증 서버(106)는 제1 단말(102)이 서비스 서버(104)로부터 온라인 서비스를 제공받는 과정에서 발생되는 온라인 트랜잭션(transaction)을 인증하기 위한 서버이다. 개시되는 실시예들에서, 트랜잭션이란 제1 단말(102)과 서비스 서버(104) 간에 발생되는 일련의 작업 또는 정보의 교환을 의미한다. 예를 들어, 서비스 서버(104)가 금융사 서버인 경우, 상기 트랜잭션은 사용자(110)가 제1 단말(102)을 통해 수행하는 자금 이체 등의 거래와 관련된 작업일 수 있다.
제1 단말(102)이 서비스 서버(104)로부터 온라인 서비스를 제공받는 과정에서 인증이 필요한 트랜잭션이 발생할 경우, 사용자(110)는 제1 단말(102)을 통해 서비스 서버(104)로 해당 트랜잭션에 대한 인증을 요청한다. 상기 인증 요청을 수신한 서비스 서버(104)는 인증 서버(106)로 해당 트랜잭션 정보를 송신한다. 이때 필요한 경우 서비스 서버(104)는 인증을 요청한 사용자의 식별 정보(사용자 ID 등)를 상기 트랜잭션 정보와 함께 인증 서버(106)로 송신할 수 있다.
인증 서버(106)는 수신된 상기 트랜잭션 정보를 반영하여 원타임 패스워드(OTP; One-Time Password)를 생성한다. 즉, 개시되는 실시예들에서 인증 서버(106)는 OTP를 랜덤하게 생성하는 것이 아니라 연관된 트랜잭션 정보를 이용하여 생성된다. 이에 따라, 개시되는 실시예들에 따를 경우 OTP 번호 그 자체만으로도 어떤 트랜잭션 정보로부터 생성되었는지 식별이 가능하게 되는 바, OTP와 트랜잭션간의 연관성을 높일 수 있다. 일 실시예에서, 상기 트랜잭션 정보는 해당 트랜잭션을 다른 트랜잭션으로부터 식별하기 위한 모든 종류의 정보들이 제한 없이 포함될 수 있다.
트랜잭션 정보로부터 OTP를 생성하는 데 필요한 알고리즘은 특정한 종류로 한정되지 않으며, 특정한 값으로부터 OTP를 생성하기 위한 다양한 알고리즘들이 제한 없이 사용될 수 있다. 예를 들어, 인증 서버(106)는 해시 함수를 이용하여 상기 트랜잭션 정보의 해시값을 생성하고, 이와는 별도로 랜덤값인 OTP 식별 정보(OTP ID)를 생성할 수 있다. 이후 인증 서버(106)는 상기 트랜잭선 정보의 해시값 및 OTP 식별 정보를 결합한 값을 재차 해시(hash)함으로써 OTP를 생성할 수 있다.
상기와 같이 OTP가 생성되면, 인증 서버(106)는 생성된 상기 OTP에 대응되는 OTP 식별 정보를 저장한 뒤, OTP 식별 정보만을 서비스 서버(104)로 송신한다.
제2 단말(108)은 사용자(110)의 생체 인증을 수행하고, 상기 생체 인증의 결과에 따라 인증 서버(106)로부터 기 생성된 OTP를 제공받기 위한 단말이다. 제2 단말(108) 또한 제1 단말(102)과 마찬가지로 데스크탑 컴퓨터, 랩탑 컴퓨터 등의 개인용 컴퓨팅 디바이스, 스마트폰, 태블릿, 웨어러블 디바이스 등을 포괄할 수 있다.
서비스 서버(104)는 인증 서버(106)로부터 OTP 식별 정보를 수신하면 이를 제2 단말(108)로 송신한다. 일 실시예에서, 서비스 서버(104)는 제1 단말(102)과는 별도의 통신 채널을 통해 상기 OTP 식별 정보를 제2 단말(108)로 송신할 수 있다. 예를 들어, 서비스 서버(104)는 별도의 푸시 서버(미도시)를 이용하여, 상기 OTP 식별 정보를 푸시 메시지를 통해 제2 단말(108)로 송신할 수 있다.
제2 단말(108)은 서비스 서버(104)로부터 상기 OTP 식별 정보를 수신하면 이를 인증 서버(106)로 송신한다. 이후 제2 단말(108)은 인증 서버(106)와 사용자(110)의 생체 인증을 수행한다. 만약 상기 생체 인증에 성공하는 경우, 인증 서버(106)는 제2 단말(108)로 기 수신된 OTP 식별 정보에 대응되는 OTP를 송신한다. 그러면 제2 단말(108)은 수신되는 OTP를 사용자(110)에게 제공한다. 예를 들어, 제2 단말(108)은 수신된 OTP를 화면에 디스플레이하거나, 또는 음성 등으로 스피커를 통해 출력하는 방식으로 수신된 OTP를 사용자(110)에게 제공할 수 있다.
제2 단말(108)을 통해 OTP를 제공받은 사용자(110)는 해당 OTP를 제1 단말(102)을 통해 입력할 수 있다. 그러면 서비스 서버(104)는 입력되는 OTP 입력값의 유효성을 검증하고, 상기 검증 결과에 따라 상기 트랜잭션을 승인할 수 있다.
한편, 제1 단말(102), 서비스 서버(104), 인증 서버(106) 및 제2 단말(108)은 통신 네트워크(112)를 통하여 서로 데이터를 송수신할 수 있다. 몇몇 실시예들에서, 통신 네트워크(112)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
일 실시예에서, 제1 단말(102), 서비스 서버(104), 인증 서버(106) 및 제2 단말(108)은 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
도 2는 개시되는 일 실시예에 따른 제2 단말(108)의 상세 구성을 설명하기 위한 블록도이다. 도시된 바와 같이, 일 실시예에 따른 제2 단말(108)은 푸시 에이전트(202), 서비스 애플리케이션(204) 및 인증 모듈(206)을 포함할 수 있다.
푸시 에이전트(202)는 전술한 푸시 서버를 통하여 서비스 서버(104)로부터 OTP 식별 정보를 수신하고, 수신되는 OTP 식별 정보를 서비스 애플리케이션(204)으로 전달한다.
서비스 애플리케이션(204)은 서비스 서버(104)와 연계하여 사용자(110)에게 온라인 서비스를 제공하기 위한 애플리케이션이다. 서비스 애플리케이션(204)은 푸시 에이전트(202)로부터 OTP 식별 정보가 수신되면 이를 인증 모듈(206)로 전달한다. 이 과정에서 서비스 애플리케이션(204)은 생체 인증이 개시됨을 알리는 메시지를 출력할 수 있다.
인증 모듈(206)은 인증 서버(206)와 연계하여 사용자(110)의 생체 인증을 수행하기 위한 모듈이다. 일 실시예에서, 인증 모듈(206)은 FIDO(Fast ID Online) 프로토콜을 이용하여 생체 인증을 수행할 수 있다. 다만 개시되는 실시예들은 특정 인증 프로토콜 내지 알고리즘에 한정되는 것은 아니다.
인증 모듈(206)은 서비스 애플리케이션(204)으로부터 수신된 OTP 식별 정보를 인증 서버(106)로 송신한다. 이후 인증 모듈(206)은 인증 서버(106)와 사용자(110)의 생체 인증을 수행한다. 만약 상기 생체 인증에 성공하는 경우, 인증 서버(106)는 인증 모듈(206)은 기 수신된 OTP 식별 정보에 대응되는 OTP를 송신한다. 그러면 인증 모듈(206)은 수신된 OTP를 서비스 애플리케이션(204)으로 제공하고, 서비스 애플리케이션(204)은 이를 사용자에게 디스플레이하거나 또는 음성 등의 형태로 출력할 수 있다.
도 3은 일 실시예에 따른 트랜잭션 인증 방법(300)을 설명하기 위한 흐름도이다. 도 3에 도시된 방법은 예를 들어, 전술한 인증 시스템(100)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 302에서, 온라인 서비스의 사용자는 트랜잭션을 완료하기 위하여 제1 단말(102)을 통하여 서비스 서버(104)로 트랜잭션 인증 요청을 송신한다.
단계 304에서, 상기 트랜잭션 인증 요청을 수신한 서비스 서버(104)는 인증 서버(106)로 해당 트랜잭션과 연관된 트랜잭션 정보를 송신한다. 이때 필요한 경우 서비스 서버(104)는 인증을 요청한 사용자의 식별 정보(사용자 ID 등)를 상기 트랜잭션 정보와 함께 인증 서버(106)로 송신할 수 있다.
단계 306에서, 인증 서버(106)는 수신된 상기 트랜잭션 정보를 반영하여 원타임 패스워드(OTP; One-Time Password)를 생성한다.
단계 308에서, 인증 서버(106)는 생성된 상기 OTP 및 이에 대응되는 OTP 식별 정보를 저장한 뒤, OTP 식별 정보만을 서비스 서버(104)로 송신한다.
단계 310에서, 서비스 서버(104)는 인증 서버(106)로부터 수신한 OTP 식별 정보를 제2 단말(108)로 송신한다. 일 실시예에서, 서비스 서버(104)는 제1 단말(102)과는 별도의 통신 채널을 통해 상기 OTP 식별 정보를 제2 단말(108)로 송신할 수 있다. 예를 들어, 서비스 서버(104)는 별도의 푸시 서버(미도시)를 이용하여, 상기 OTP 식별 정보를 푸시 메시지를 통해 제2 단말(108)로 송신할 수 있다.
단계 312에서, 제2 단말(108)은 인증 서버(106)로 상기 OTP 식별 정보를 송신한다.
단계 314에서, 제2 단말(108)은 인증 서버(106)와 연계하여 사용자(110)의 생체 인증을 수행한다. 전술한 바와 같이, 제2 단말(108)은 FIDO 프로토콜을 이용하여 생체 인증을 수행할 수 있다. 다만 개시되는 실시예들은 특정 인증 프로토콜 내지 알고리즘에 한정되는 것은 아니다.
상기 314 단계의 수행 결과 생체 인증에 성공한 경우, 단계 316에서 인증 서버(106)는 단계 312에서 수신한 OTP 식별 정보에 대응되는 OTP를 제2 단말(108)로 송신한다.
단계 318에서, 제2 단말(108)은 수신되는 OTP를 사용자(110)에게 제공한다. 예를 들어, 제2 단말(108)은 수신된 OTP를 화면에 디스플레이하거나, 또는 음성 등으로 스피커를 통해 출력하는 방식으로 수신된 OTP를 사용자(110)에게 제공할 수 있다.
단계 320에서, 제2 단말(108)을 통해 OTP를 제공받은 사용자(110)는 해당 OTP를 제1 단말(102)로 입력한다. 도면에서는 OTP가 통신 네트워크 등을 통해 제2 단말(108)로부터 직접 제1 단말(102)로 전달되는 것이 아니라, 제2 단말(108)로부터 OTP를 알아낸 사용자(110)가 이를 제1 단말(102)에 입력하는 방식임을 표현하기 위하여 점선으로 표기하였다.
단계 322에서, 제1 단말(102)은 사용자(110)에 의해 입력된 OTP를 서비스 서버(104)로 송신한다.
단계 324에서, 서비스 서버(104)는 수신된 OTP에 대한 유효성 확인 요청을 인증 서버(106)로 송신한다.
단계 326에서, 인증 서버(106)는 단계 324에서 수신되는 OTP를 기 저장된 OTP와 비교하여 OTP에 대한 유효성 확인을 수행하고, 확인 결과를 서비스 서버(104)로 송신한다. 만약 상기 326 단계의 수행 결과 입력된 OTP가 유효한 경우, 서비스 서버(104)는 트랜잭션 인증에 성공한 것으로 판단하고 상기 트랜잭션을 승인한다.
도 4는 전술한 트랜잭션 인증 방법(300) 중 생체 인증 과정(314)의 일 실시예를 상세히 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 402에서, OTP 식별 정보를 수신한 제2 단말(108)의 서비스 애플리케이션(204)은 사용자(110)에게 생체 인증이 개시됨을 알림 메시지로 출력한다.
단계 404에서, 서비스 애플리케이션(204)은 인증 모듈(206)로 인증 요청을 송신한다. 전술한 바와 같이, 상기 인증 요청은 FIDO 인증 요청일 수 있다. 또한 서비스 애플리케이션(204)은 상기 인증 요청과 함께 OTP 식별 정보를 함께 인증 모듈(206)로 전달할 수 있다.
단계 406에서, 인증 모듈(206)은 인증 서버(106)로 사용자(110)의 ID 및 수신된 OTP 식별 정보를 송신한다.
단계 408에서, 인증 서버(106)는 일회용 난수를 생성한다.
단계 410에서, 인증 서버(106)는 생성된 일회용 난수를 인증 모듈(206)로 송신한다.
단계 412에서, 인증 모듈(206)은 사용자(110)로부터 생체 정보를 입력받고, 입력되는 생체 정보의 유효성을 검증한다. 상기 생체 정보는, 지문, 홍체, 안면 정보 등 사용자(110)의 신체와 관련된 모든 종류의 정보를 포함할 수 있다.
상기 412 단계의 수행 결과 입력된 생체 정보의 유효성이 검증된 경우(즉, 생체 인증에 성공한 경우), 단계 414에서 인증 모듈(206)은 사용자(110)의 개인키(private key)로 상기 일회용 난수를 서명한다.
단계 416에서, 인증 모듈(206)은 상기 414 단계에서 생성된 서명값을 인증 서버(106)로 송신한다.
단계 418에서, 인증 서버(106)는 수신된 서명값을 사용자(110)의 공개키(public key)로 검증한다. 인증 서버(106)는 상기 서명값을 공개키로 복호화하여 일회용 난수를 복원하고, 복원된 값을 기 저장된 값과 비교하여 상기 서명값을 검증할 수 있다.
도 5는 전술한 트랜잭션 인증 방법(300) 중 생체 인증 과정(314)의 다른 실시예를 상세히 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 502에서, OTP 식별 정보를 수신한 제2 단말(108)의 서비스 애플리케이션(204)은 사용자(110)에게 생체 인증이 개시됨을 알림 메시지로 출력한다.
단계 504에서, 서비스 애플리케이션(204)은 인증 모듈(206)로 인증 요청을 송신한다. 전술한 바와 같이, 상기 인증 요청은 FIDO 인증 요청일 수 있다. 또한 서비스 애플리케이션(204)은 상기 인증 요청과 함께 OTP 식별 정보를 함께 인증 모듈(206)로 전달할 수 있다.
단계 506에서, 인증 모듈(206)은 인증 서버(106)로 사용자(110)의 ID 및 수신된 OTP 식별 정보를 송신한다.
단계 508에서, 인증 서버(106)는 일회용 난수를 생성한다.
단계 510에서, 인증 서버(106)는 생성된 일회용 난수를 인증 모듈(206)로 송신한다.
단계 512에서, 인증 모듈(206)은 사용자(110)로부터 생체 정보를 입력받고, 입력되는 생체 정보의 유효성을 검증한다. 상기 생체 정보는, 지문, 홍체, 안면 정보 등 사용자(110)와 신체와 관련된 모든 종류의 정보를 포함할 수 있다.
상기 512 단계의 수행 결과 입력된 생체 정보의 유효성이 검증된 경우(즉, 생체 인증에 성공한 경우), 단계 514에서 인증 모듈(206)은 사용자(110)의 개인키(private key)로 상기 일회용 난수 및 상기 OTP 식별 정보를 결합한 값(문자열)을 서명한다. 즉 본 실시예의 경우 일회용 난수와 함께 504 단계에서 서비스 애플리케이션(204)으로부터 수신한 OTP 식별 정보를 결합하여 이를 서명한다는 점에서 앞선 실시예와 차이가 있다.
단계 516에서, 인증 모듈(206)은 상기 414 단계에서 생성된 서명값을 인증 서버(106)로 송신한다.
단계 518에서, 인증 서버(106)는 수신된 서명값을 사용자(110)의 공개키(public key)로 검증한다. 본 실시예에서, 인증 서버(106)는 상기 서명값을 공개키로 복호화하여 일회용 난수 및 OTP 식별 정보를 복원하고, 복원된 값을 기 저장된 값과 비교하여 상기 서명값을 검증할 수 있다. 본 실시예의 경우 앞선 실시예와 달리 검증 대상이 되는 서명값 자체에 OTP 식별 정보가 포함되는 바, 트랜잭션 인증 이후에 사용자(110)가 해당 트랜잭션을 부인하는 것을 원천적으로 차단할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 인증 시스템
102: 제1 단말
104: 서비스 서버
106: 인증 서버
108: 제2 단말
202: 푸시 에이전트
204: 서비스 애플리케이션
206: 인증 모듈

Claims (10)

  1. 사용자의 트랜잭션(transaction)을 인증하기 위한 시스템으로서,
    제1 단말로부터 상기 트랜잭션에 대한 인증 요청을 수신하는 서비스 서버; 및
    상기 서비스 서버로부터 상기 트랜잭션을 식별하기 위한 트랜잭션 정보를 수신하고, 수신된 상기 트랜잭션 정보에 기반하여 OTP(One-Time Password)를 생성하며, 생성된 상기 OTP에 대응되는 OTP 식별 정보를 상기 서비스 서버로 송신하는 인증 서버를 포함하며,
    상기 서비스 서버는, 상기 OTP 식별 정보를 제2 단말로 송신하고,
    상기 인증 서버는, 상기 제2 단말로부터 상기 OTP 식별 정보를 수신하고, 상기 사용자의 생체 인증 결과에 따라 상기 OTP 식별 정보에 대응되는 OTP를 상기 제2 단말로 송신하여 디스플레이하도록 하며,
    상기 서비스 서버는, 상기 사용자에 의해 상기 제1 단말로 입력되는 OTP 입력값의 유효성을 검증하고, 상기 검증 결과에 따라 상기 트랜잭션을 승인하는, 인증 시스템.
  2. 청구항 1에 있어서,
    상기 서비스 서버는, 상기 OTP 식별 정보를 푸시 메시지를 통해 상기 제2 단말로 송신하는, 인증 시스템.
  3. 청구항 1에 있어서,
    상기 제2 단말은,
    상기 사용자로부터 입력된 생체 정보의 유효성을 검증하며,
    상기 생체 정보의 유효성 검증 결과에 따라 상기 인증 서버로부터 수신한 1회용 난수를 상기 사용자의 개인키로 서명하여 서명값을 생성하고, 생성된 상기 서명값을 상기 인증 서버로 송신하는, 인증 시스템.
  4. 청구항 3에 있어서,
    상기 인증 서버는, 상기 개인키에 대응되는 공개키로 수신된 서명값을 검증하고, 상기 서명값의 검증이 완료되는 경우 상기 OTP 식별 정보에 대응되는 OTP를 상기 제2 단말로 송신하는, 인증 시스템.
  5. 청구항 3에 있어서,
    상기 제2 단말은, 상기 1회용 난수에 상기 OTP 식별 정보를 결합한 문자열을 상기 사용자의 개인키로 서명하여 상기 서명값을 생성하는, 인증 시스템.
  6. 사용자의 트랜잭션(transaction)을 인증하기 위한 방법으로서,
    서비스 서버에서, 제1 단말로부터 상기 트랜잭션에 대한 인증 요청을 수신하는 단계;
    상기 서비스 서버에서, 인증 서버로 상기 트랜잭션을 식별하기 위한 트랜잭션 정보를 송신하는 단계;
    상기 인증 서버에서, 수신된 상기 트랜잭션 정보에 기반하여 OTP(One-Time Password)를 생성하고, 생성된 상기 OTP에 대응되는 OTP 식별 정보를 상기 서비스 서버로 송신하는 단계;
    상기 서비스 서버에서, 수신된 상기 OTP 식별 정보를 상기 사용자의 제2 단말로 송신하는 단계;
    상기 인증 서버에서, 상기 OTP 식별 정보를 상기 제2 단말로부터 수신하고, 상기 사용자의 생체 인증 결과에 따라 상기 OTP 식별 정보에 대응되는 OTP를 상기 제2 단말로 송신하여 디스플레이하도록 하는 단계; 및
    상기 제2 단말에 디스플레이된 상기 OTP를 인식한 상기 사용자가 상기 제1 단말을 통해 OTP를 입력하는 경우, 상기 서비스 서버에서 상기 제1 단말을 통해 수신되는 OTP 입력값의 유효성을 검증하고, 상기 검증 결과에 따라 상기 트랜잭션을 승인하는 단계를 포함하는, 인증 방법.
  7. 청구항 6에 있어서,
    상기 OTP 식별 정보를 상기 사용자의 제2 단말로 송신하는 단계는, 상기 OTP 식별 정보를 푸시 메시지를 통해 상기 제2 단말로 송신하도록 구성되는, 인증 방법.
  8. 청구항 6에 있어서,
    상기 제2 단말은,
    상기 사용자로부터 입력된 생체 정보의 유효성을 검증하며,
    상기 생체 정보의 유효성 검증 결과에 따라 상기 인증 서버로부터 수신한 1회용 난수를 상기 사용자의 개인키로 서명하여 서명값을 생성하고, 생성된 상기 서명값을 상기 인증 서버로 송신하는, 인증 방법.
  9. 청구항 8에 있어서,
    상기 인증 서버는, 상기 개인키에 대응되는 공개키로 수신된 서명값을 검증하고, 상기 서명값의 검증이 완료되는 경우 상기 OTP 식별 정보에 대응되는 OTP를 상기 제2 단말로 송신하는, 인증 방법.
  10. 청구항 8에 있어서,
    상기 서명값을 생성하는 것은,
    상기 1회용 난수 및 상기 OTP 식별 정보를 결합한 문자열을 상기 사용자의 개인키로 서명하도록 구성되는, 인증 방법.
KR1020180036072A 2018-03-28 2018-03-28 인증 시스템 및 방법 KR102459974B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180036072A KR102459974B1 (ko) 2018-03-28 2018-03-28 인증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180036072A KR102459974B1 (ko) 2018-03-28 2018-03-28 인증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190113417A KR20190113417A (ko) 2019-10-08
KR102459974B1 true KR102459974B1 (ko) 2022-10-28

Family

ID=68208474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180036072A KR102459974B1 (ko) 2018-03-28 2018-03-28 인증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102459974B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876003B1 (ko) * 2007-02-14 2008-12-26 에스케이씨앤씨 주식회사 생체정보를 이용하는 사용자 인증방법
KR101444305B1 (ko) * 2013-12-13 2014-09-26 (주)세이퍼존 다중 otp를 사용한 보안키, 보안 서비스 장치 및 보안 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101019458B1 (ko) 2005-08-11 2011-03-07 샌디스크 아이엘 엘티디 확장된 일회용 암호 방법 및 장치
KR20090022425A (ko) * 2007-08-30 2009-03-04 씨티아이에스(주) 다중인증 접속 시스템 및 그 방법
KR20170127854A (ko) * 2016-05-13 2017-11-22 삼성전자주식회사 전자 결제 기능을 제공하는 전자 장치 및 그의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876003B1 (ko) * 2007-02-14 2008-12-26 에스케이씨앤씨 주식회사 생체정보를 이용하는 사용자 인증방법
KR101444305B1 (ko) * 2013-12-13 2014-09-26 (주)세이퍼존 다중 otp를 사용한 보안키, 보안 서비스 장치 및 보안 시스템

Also Published As

Publication number Publication date
KR20190113417A (ko) 2019-10-08

Similar Documents

Publication Publication Date Title
KR102358546B1 (ko) 장치에 대해 클라이언트를 인증하기 위한 시스템 및 방법
KR101883156B1 (ko) 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
US9560033B2 (en) Method and system for authenticating user identity
US10810585B2 (en) Systems and methods for authenticating users in connection with mobile operations
KR102383021B1 (ko) 인증 장치의 등록을 위한 향상된 보안
WO2017000829A1 (zh) 一种基于生物特征的安全校验方法及客户端、服务器
KR102439782B1 (ko) 호스팅된 인증 서비스를 구현하기 위한 시스템 및 방법
US9009793B2 (en) Dynamic pin dual factor authentication using mobile device
US10798068B2 (en) Wireless information passing and authentication
US20200196143A1 (en) Public key-based service authentication method and system
CN111567013A (zh) 在区块链网络中管理用户认证的方法和装置
KR101741917B1 (ko) 음성인식을 활용한 인증 장치 및 방법
KR20210142180A (ko) 효율적인 챌린지-응답 인증을 위한 시스템 및 방법
CN107453871A (zh) 口令生成方法、口令验证方法、支付方法及装置
US20230198751A1 (en) Authentication and validation procedure for improved security in communications systems
US20230006844A1 (en) Dynamic value appended to cookie data for fraud detection and step-up authentication
KR102284876B1 (ko) 생체 인식 기반의 통합 인증 시스템 및 방법
KR102459974B1 (ko) 인증 시스템 및 방법
KR101891733B1 (ko) 사용자 인증 방법 및 이를 실행하는 시스템
KR101804845B1 (ko) 무선단말기에서의 otp인증방법
US20210194919A1 (en) System and method for protection against malicious program code injection
KR20240075374A (ko) 사용자 단말을 이용한 인증 기반 금융거래서비스 제공 시스템 및 방법
CN117097508A (zh) Nft跨设备安全管理的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant