KR102445379B1 - 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치 - Google Patents

서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치 Download PDF

Info

Publication number
KR102445379B1
KR102445379B1 KR1020170169049A KR20170169049A KR102445379B1 KR 102445379 B1 KR102445379 B1 KR 102445379B1 KR 1020170169049 A KR1020170169049 A KR 1020170169049A KR 20170169049 A KR20170169049 A KR 20170169049A KR 102445379 B1 KR102445379 B1 KR 102445379B1
Authority
KR
South Korea
Prior art keywords
terminal
otp
authentication
authentication server
information
Prior art date
Application number
KR1020170169049A
Other languages
English (en)
Other versions
KR20190068851A (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 KR1020170169049A priority Critical patent/KR102445379B1/ko
Publication of KR20190068851A publication Critical patent/KR20190068851A/ko
Application granted granted Critical
Publication of KR102445379B1 publication Critical patent/KR102445379B1/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
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3223Realising banking transactions through M-devices
    • 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/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/385Payment protocols; Details thereof using an alias or single-use codes

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

인증 방법, 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치가 제공된다. 이 방법은 적어도 하나의 프로세서에 의해 동작하는 서버 장치에서 수행되는 인증 방법으로서, 단말로부터 OTP번호를 생성하고자 하는 자를 인증하는 단계, OTP(One Time Password) 요청을 수신하는 단계, 상기 OTP 요청에 포함된 개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드와, 단말정보를 조합한 시드키를 기초로 OTP를 생성하는 단계, 상기 OTP를 상기 단말로 전송하는 단계, 채널을 통하여 OTP가 포함된 인증 요청을 수신하는 단계, 상기 인증 요청에 포함된 OTP가 상기 단말로 전송한 OTP와 일치하는지 판단하는 OTP 인증을 수행하는 단계, 그리고 상기 OTP 인증의 결과를 상기 채널로 반환하는 단계를 포함하고, 상기 OTP 인증의 결과는, 상기 단말이 요청한 서비스의 승인 여부를 결정하는데 사용된다.

Description

서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치{ OPERATION METHOD OF SERVER APPARATUS, OPERATION METHOD OF TERMINAL AND SERVER APPARATUS}
본 발명은 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치에 관한 것으로서, 보다 자세하게는 일회용 패스워드(One Time Password, 이하, 'OTP'라 통칭함)를 이용한 사용자 인증에 관한 것이다.
공인인증서에 의한 보안의 취약성을 보완하기 위한 방법으로 OTP가 사용되고 있다. OTP는 무작위로 생성되는 난수로서, 정적인 패스워드 사용에 따른 위험을 해결하고 개인정보 유출에 따른 사용자 인증을 강화하기 위해 도입되었다. ??????
기존의 OTP는 매체 인증의 한 방법으로 사용되었다. 기기 자체에서 난수 6자리를 생성하여 서버로 전송하면 서버에서도 동일한 방식으로 난수 6자리를 생성한다. 서버는 기기로부터 채널, 예를 들면, 스마트폰 뱅킹, 인터넷 뱅킹 등을 통하여 수신된 6자리 난수와 자신이 생성한 6자리 난수를 비교하여 인증한다.
그런데, 이와 같은 방식은 기기에서 난수 연산을 하여 서버로 전송하기 때문에, 기기에서 난수를 연산하는 방법이나 결과값이 노출될 가능성이 있으므로, 보안이 취약하다. OTP 애플리케이션을 통해 OTP를 생성하는 방식은 모바일 OS나 애플리케이션의 보안이 깨질 경우 OTP 관련 주요 값과 알고리즘이 해킹될 수 있는 위험이 있다. 그리고 USIM 내의 보안요소를 이용하여 생성하는 방식은 OTP 관련 주요 값과 알고리즘은 안전하나 애플리케이션을 통해 접근하기 때문에 애플리케이션이 해킹될 경우 사용자의 인지 없이 백그라운드(Background)에서 OTP 인증이 수행될 위험이 존재한다.
또한, 휴대 단말기를 통하여 구현되는 모바일 OTP는 휴대 단말기에 OTP 생성 알고리즘을 실행하도록 하여 소프트웨어적으로 구현됨으로써 보급이 쉬우나, 메모리 해킹 등의 보안 환경 문제가 있다. 특히, 휴대 단말기의 경우 거래 당사자 휴대 단말기 내 트러스트존(TrustZone)에 저장하여 해킹이나 복제의 위험으로부터 벗어났다고 하지만, 특정매체, 예컨대 IC(Integrated Circuit) 카드 등이 휴대폰과 같이 도난을 당한다면 최악의 경우, 거래 당사자의 정보가 노출되는 리스크를 가진다.
또한, 보안매체의 특성상 OTP를 발생시키는 주체에 대한 별도의 인증을 하지 않음으로, 보안매체를 탈취 당하면 인증에 사용되는 OTP 또한 타인에 의해서 발생시킬 수 있게 되어 보안에 취약할 수 있다.
따라서, 개인정보 유출에 따른 문제를 방지할 수 있고 보안성이 더욱 강화된 사용자 인증 방안이 필요한 실정이다.
본 발명이 이루고자 하는 기술적 과제는 공개키 알고리즘(Public Key Infrastructure, PKI)을 이용한 단말 인증을 수행한 후, 단말 별로 고유한 시드키(Seed Key)를 기초로 OTP(One Time Password)를 생성하여 인증에 사용하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 한 실시예에 따른 서버 장치의 동작 방법은 적어도 하나의 프로세서에 의해 동작하는 서버 장치의 동작 방법으로서, 공개키 알고리즘(Public Key Infrastructure, PKI)을 이용한 단말 인증을 수행하는 단계, 그리고 상기 단말 인증에 성공하는 경우, 상기 단말의 요청에 따라 생성한 OTP(One Time Password)를 상기 단말로 전송하는 단계를 포함하고, 상기 OTP는, 상기 단말이 요청한 서비스의 승인 여부를 결정하는데 사용된다.
상기 OTP는, 개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드와, 단말 별로 고유한 단말정보를 조합한 시드키를 기초로 난수 생성 알고리즘에 의하여 생성될 수 있다.
상기 개인 식별 번호(PIN) 또는 패스워드는, 상기 단말에서 OTP 어플리케이션의 활성화시 사용자로부터 입력되어, 상기 단말로부터 수신한 OTP 생성 요청에 포함된 것일 수 있다.
상기 단말정보는, 상기 단말의 하드웨어 정보, 상기 단말의 전화번호, 상기 단말의 기기 일련번호, 상기 단말의 유심(USIM, Universal Subscriber Identity Module) 카드번호, 상기 단말의 맥 어드레스(MAC address) 중에서 하나 또는 적어도 둘 이상의 조합을 포함할 수 있다.
상기 단말 인증을 수행하는 단계는, 상기 단말로부터 상기 단말이 생성한 비대칭키 중의 하나인 공개키와 상기 단말정보를 포함하는 OTP 매체 정보를 수신하는 단계, 상기 단말로부터 상기 비대칭키 중의 다른 하나인 개인키로 전자서명된 단말정보를 포함하는 OTP 매체 등록 요청을 수신하는 단계, 그리고 상기 공개키로 상기 전자서명된 단말정보를 복호화하여, 상기 복호화에 성공하면, 상기 단말을 OTP 매체로 등록하는 단계를 포함하고, 상기 단말로 전송하는 단계는, 상기 OTP 매체로 등록된 단말이 요청한 OTP를 생성하여 전송할 수 있다.
상기 단말을 OTP 매체로 등록하는 단계는, 상기 단말정보와 상기 공개키를 매칭하여 저장할 수 있다.
상기 단말로 전송하는 단계는, 상기 공개키로 상기 OTP를 암호화하여 전송할 수 있다.
본 발명의 다른 실시예에 따른 단말의 동작 방법은 적어도 하나의 프로세서에 의해 동작하는 단말의 동작 방법으로서, 네트워크를 통해 접속한 인증 서버와 연동하여 공개키 알고리즘(Public Key Infrastructure, PKI)을 이용한 단말 인증을 수행하는 단계, 그리고 상기 단말 인증에 성공하는 경우, 상기 인증 서버에 요청하여 상기 인증 서버에서 생성된 OTP(One Time Password)를 수신하는 단계를 포함하고, 상기 OTP는, 사용자 인증에서 사용될 수 있다.
상기 OTP를 수신하는 단계는, 개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드와, 단말 별로 고유한 단말정보가 포함된 OTP 생성 요청을 상기 인증 서버로 전송하는 단계, 그리고 상기 인증 서버로부터 상기 개인 식별 번호(PIN) 또는 패스워드와, 상기 단말정보를 조합한 시드키를 기초로 난수 생성 알고리즘에 의하여 생성된 상기 OTP를 수신하는 단계를 포함할 수 있다.
상기 단말 인증을 수행하는 단계는, 상기 단말이 생성한 비대칭키 중의 하나인 공개키와 단말정보를 상기 인증 서버에 등록하는 단계를 포함하고, 상기 OTP를 수신하는 단계는, 상기 인증 서버에게 OTP 생성을 요청하는 단계, 상기 인증 서버로부터 상기 공개키로 암호화된 OTP를 수신하는 단계, 그리고 상기 비대칭키를 생성하여 개인키로 상기 암호화된 OTP를 복호화하여 상기 인증 서버에서 생성한 OTP를 추출하는 단계를 포함할 수 있다.
상기 단말 인증을 수행하는 단계는, OTP 어플리케이션의 설치시, 상기 공개키와 단말정보가 포함된 OTP 매체 정보를 상기 인증 서버로 전송하는 단계, 상기 OTP 어플리케이션을 활성화하여 상기 개인키로 상기 단말정보를 전자서명하고, 전자서명 정보를 포함하는 OTP 매체 등록 요청을 상기 인증 서버로 전송하는 단계, 그리고 상기 인증 서버로부터 OTP 매체 등록 응답을 수신하는 단계를 포함하고, 상기 OTP 매체 정보는, 상기 인증 서버에서 상기 전자서명 정보를 상기 공개키로 복호화에 성공한 경우, 상기 인증 서버에 등록될 수 있다.
본 발명의 다른 실시예에 따른 통신 장치는 네트워크를 통해 데이터를 송수신하는 통신 장치, OTP(One Time Password)를 생성하여 상기 통신 장치를 통해 전송하는 프로그램을 저장하는 메모리 장치, 그리고 상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 프로그램은, 단말 인증을 수행한 후, 상기 단말의 요청에 따라 상기 단말의 고유정보를 시드키로 하는 난수 생성 알고리즘에 따라 OTP를 생성하여 상기 단말로 전송하는 명령어들(instructions)을 포함한다.
상기 프로그램은, 상기 단말로부터 상기 단말에서 생성된 비대칭키중의 하나인 공개키와 단말정보를 수신하고, 상기 단말로부터 상기 비대칭키 중의 다른 하나인 개인키로 전자서명된 단말정보를 수신하며, 상기 공개키로 상기 전자서명된 단말정보를 복호화하는데 성공하면, 상기 공개키와 상기 단말정보를 매칭하여 상기 단말을 상기 OTP 매체로 등록하는 단말 인증을 수행하는 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 단말이 OTP 어플리케이션을 설치하여 초기 활성화할 때, 상기 단말 인증을 수행하는 명령어들을 포함할 수 있다.
본 발명의 실시예에 따르면, OTP 어플리케이션 설치시에 단말 인증을 거쳐 등록한 공개키로 OTP를 암호화할 뿐만 아니라, 인증 서버에서 연산한 OTP를 단말로 전송하므로, 종래의 보안 취약점을 해결한다.
또한, 인증 서버에서 생성하는 OTP는 사용자가 OTP 어플리케이션을 활성화시킬 때 사용하는 PIN 또는 패스워드와, 단말정보를 조합한 키를 시드키로 하여 발생시키므로, 일반적인 오픈 소스로 난수를 발생시키는 것이 아닌, 사용자 별로 고유한 OTP를 발생시킬 수 있어 보안이 강화된다. 또한 OTP번호를 생성할 때 PIN번호, 혹은 사용하는 채널의 로그인에 의한 사용자인증을 거쳐 발생함으로써 OTP 발생주체에 대한 사용자 인증을 수행한다.
도 1은 본 발명의 실시예에 따른 인증 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 OTP 매체 등록 과정을 나타낸다.
도 3은 본 발명의 실시예에 따른 OTP 생성 과정을 나타낸 흐름도이다.
도 4는 본 발명의 실시예에 따른 OTP 인증 과정을 나타낸 흐름도이다.
도 5는 본 발명의 실시예에 따른 단말의 하드웨어 블록도이다.
도 6은 본 발명의 실시예에 따른 서버 장치의 하드웨어 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 실시예에 따른 인증 시스템의 구성도이다.
도 1을 참조하면, 인증 시스템(1)은 단말(100) 및 인증 서버(200)를 포함한다. 단말(100)은 OTP(One Time Password) 매체로서, OTP를 이용한 인증의 대상이다.
단말(100)은 OTP 어플리케이션(101)을 포함한다. OTP 어플리케이션(101)은 사용자로부터 개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드를 입력받기 위한 유저 인터페이스를 제공한다. OTP 어플리케이션(101)은 네트워크(300)을 통해 인증서버(200)에 접속하여, OTP번호 생성 허용 요청을 한다. OTP번호 생성 허용 요청은 사용자로부터 입력받은 개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드가 될 수 있다. 또한, OTP 어플리케이션(101)과 별개의 서비스 어플리케이션(미도시)의 로그인에 의하여 OTP번호 생성 허용 요청이 자동으로 발생할 수 있다. OTP번호 생성 허용요청이 성공적으로 수행되면 OTP 어플리케이션(101)은 네트워크(300)를 통해 인증 서버(200)에 접속하여, OTP를 요청하여 수신하고, 수신한 OTP를 출력한다. 이러한 OTP는 사용자 인증이 필요한 서비스에서, 사용자 인증을 위해 사용할 수 있으며, 예를들면, 모바일 뱅킹 등의 금융 서비스에서 사용될 수 있으나, 그 사용 용도는 다양한 실시예가 가능하므로, 특별히 한정하지는 않는다.
여기서, 단말(100)은 무선 통신 단말을 포함하고, 예를들면, 팜(Palm) PC, 스마트폰(Smart phone), 모바일 게임기(Mobile play-station), 통신 기능이 있는 DMB(Digital Multimedia Broadcasting)폰, 태블릿 PC, 아이패드(iPad) 등 인증 서버(200)에 접속하기 위한 사용자 인터페이스를 갖는 모든 통신이 가능한 전자 장치를 포괄적으로 의미할 수 있다.
인증 서버(200)는 OTP 어플리케이션(101)로부터 OTP 요청이 수신되면, 단말 인증을 수행하고, 단말 인증에 성공하면, OTP를 생성하여, 단말(100)에게 전송한다.
인증 서버(200)는 OTP를 이용한 사용자 인증을 수행한다. 인증 서버(200)는 금융기관에 구비된 시스템일 수 있다. 인증 서버(200)는 금융거래시 본인 인증 또는 거래 진위를 검증하기 위한 인증을 수행할 수 있다.
인증 서버(200)는 채널을 통해 수신한 OTP와 단말(100)로 전송한 OTP가 일치하는지를 판단하는 OTP 인증을 수행할 수 있다. 여기서, 채널은 단말(100)이 사용자로부터 입력받은 OTP가 인증 서버(200)로 제공되는 경로를 의미하며, 인증 서버(200)가 OTP를 수신하여, OTP 인증 결과를 반환하는 포괄적인 구성의 의미로 사용된다.
한 실시예에 따르면, 인증 서버(200)는 단말(100)로부터 직접 사용자가 입력한 OTP를 수신할 수도 있다. 이런 경우, 단말(100)에서 실행된 OTP 어플리케이션(101)과 별개의 서비스 어플리케이션(미도시) 상에서 입력된 OTP를 인증 서버(200)는 수신할 수 있다. 즉, 인증 서버(200)가 OTP를 단말(100)의 OTP 어플리케이션(101)으로 전송하고, 단말(100)의 서비스 어플리케이션을 통해 OTP를 수신하여, 이들 간의 일치 여부를 판단할 수 있다.
다른 실시예에 따르면, 단말(100)은 사용자 인증이 필요한 서비스를 이용하고자 할 경우, 그 서비스를 제공하는 서버(이하, '서비스 서버'라 통칭함)(400)에게 인증 서버(200)로부터 수신한 OTP를 전송하여 사용자 인증을 요청할 수 있다. 이런 경우, 인증 서버(200)는 서비스 서버(400)로부터 수신되는 OTP가 자신이 단말(100)에게 전송한 OTP와 일치하는지 판단하는 OTP 인증을 수행하고, 인증 결과를 서비스 서버(400)로 전송한다. 서비스 서버(400)는 인증 서버(200)로부터 수신한 인증 결과에 따라 단말(100)에게 해당 서비스를 제공할지 말지를 결정할 수 있다. 이러한 서비스 서버(400)는 금융기관의 서버, 쇼핑몰 서버, 공공기관 서버 등 OTP를 이용한 사용자 인증을 필요로 하는 서버를 포괄적으로 포함할 수 있다.
이제, OTP를 이용한 인증을 수행하는 일련의 과정에 대해 설명하기로 한다. 먼저, 도 2는 본 발명의 실시예에 따른 OTP 매체 등록 과정을 나타낸다.
도 2를 참조하면, 단말(100)이 OTP 어플리케이션(101)을 설치(S101)하여, 인증 서버(200)에 최초로 접속할 때, 비대칭키(Asymmetric Key)를 생성(S103)한다. 비대칭키는 공개키(Public Key) 및 개인키(Private Key)로 구성된다. 이러한 비대칭키는 RSA(Rivest Shamir Adleman), ECC(Elliptic Curve Cryptosystem), DSA(Digital Signature Algorithm) 등의 비대칭키 생성 알고리즘을 사용하여 생성될 수 있다.
단말(100)은 생성(S103)한 비대칭키 중에서 공개키와, 단말정보를 포함하는 OTP 매체 등록 정보를 인증 서버(200)로 전송한다(S105). 여기서, 단말정보는 단말(100)의 폰 번호, 기기 일련번호, 유심(USIM, Universal Subscriber Identity Module) 카드번호, 맥 어드레스(MAC address) 등과 같은 식별자 중 어느 하나 또는 적어도 2개의 조합을 포함할 수 있다.
OTP 어플리케이션(101)의 설치가 완료된 후, 단말(100)이 OTP 어플리케이션(101)을 활성화(S107)한다.
단말(100)은 OTP 어플리케이션(101)이 제공하는 사용자 인터페이스를 통해 PIN 또는 패스워드의 등록 및 인증을 수행한다(S109). 여기서, PIN 또는 패스워드는 단말(100)의 메모리 또는 단말(100)에 결합된 외부 메모리에 저장될 수도 있고, 인증 서버(200)에 저장될 수도 있다. S109 단계에서는 등록후, 사용자에게 등록한 PIN 또는 패스워드를 입력하도록 하여 인증하는 절차까지 수행한다.
등록 및 인증이 완료된 후, 단말(100)은 S103 단계와 마찬가지로, 비대칭키를 생성(S111)한다. 단말(100)은 생성(S111)한 비대칭키 중에서 개인키로 단말정보를 전자서명한다(S113).
단말(100)은 전자서명을 포함하는 OTP 매체 등록 요청을 인증 서버(200)로 전송한다(S115).
인증 서버(200)는 S105 단계에서 수신한 공개키로 S115 단계에서 수신한 전자서명을 복호화한다(S117). 이때, 복호에 성공하는지 판단(S119)하여 복호에 실패하면, OTP 매체 등록 응답에 전자서명 검증 실패를 포함시켜, 단말(100)로 전송한다(S121).
반면, 복호에 성공하면, OTP 매체 등록 응답에 전자서명 검증 성공을 포함시켜, 단말(100)로 전송한다(S123). 그리고 S105 단계에서 수신한 단말정보와 공개키를 매칭하여 저장한다(S125).
여기서, 전자서명 알고리즘은 PKI(Public Key Infrastructure) 암호화 알고리즘을 기초로 한다.
또한, S107 단계는 OTP 어플리케이션(101)의 설치후 최초 활성화 동작을 나타낸다.
또한, S101 단계 ~ S125 단계는 단말(100)과 인증 서버(200) 간에 연결된 동일한 통신 세션 상에서 수행된다. 예를들어, S105 단계 이후, 통신 세션이 절단되면, 인증 서버(200)는 S105 단계에서 수신한 정보와 S115 단계에서 수신한 정보가 서로 관련되는 것임을 인지하지 못할 수도 있으므로, 이런 경우, 데이터 유실로, S103 단계부터 재시작될 수 있다.
도 3은 본 발명의 실시예에 따른 OTP 생성 과정을 나타낸 흐름도이다.
도 3을 참조하면, 단말(100)이 OTP 어플리케이션(101)을 활성화(S201)하고, OTP 어플리케이션(101) 접근을 위한 PIN 인증 또는 패스워드 인증을 수행한 후, 입력한 전화번호에 의한 ARS 인증을 한다(S203).
인증에 성공하면, OTP 어플리케이션(101)은 인증 서버(200)로 OTP 요청을 전송한다(S205). 이때, OTP 요청은 단말정보 및 PIN(또는 패스워드)을 포함한다.
인증 서버(200)는 S205 단계에서 수신한 PIN(또는 패스워드)와 단말정보를 조합한 시드키(Seed Key)를 생성한다(S207).
인증 서버(200)는 S207 단계에서 생성한 시드키를 기초로 OTP를 생성한다(S209). 이때, 인증 서버(200)는 국제 표준 난수 알고리즘에 따라 OTP를 생성할 수 있다.
인증 서버(200)는 S205 단계에서 수신한 단말정보에 매칭되어 기 저장된 공개키로 S209 단계에서 생성한 OTP를 암호화한다(S211).
인증 서버(200)는 암호화한 OTP를 단말(100)로 전송한다(S213).
OTP 어플리케이션(101)은 비대칭키를 생성(S215)하고, 비대칭키 중에서 개인키로 수신(S213)한 OTP를 복호화(S217)하여, 인증 서버(200)에서 생성(S209)한 OTP를 추출하여 사용자 화면에 출력한다(S219).
이와 같이, 인증 서버(200)는 OTP 어플리케이션(101) 설치시에 단말 인증을 거쳐 등록한 공개키로 OTP를 암호화할 뿐만 아니라, 인증 서버(200)에서 연산한 OTP를 단말(100)로 전송하므로, 종래의 보안 취약점을 해결하며, 인증 서버(200)에서는 OTP번호를 생성하기 전에 OTP 어플리케이션(101)을 활성화시킬 때 사용하는 6자리 형태의 PIN 또는 패스워드, 혹은 별도의 서비스 어플리케이션의 로그인에 의하여 번호를 생성하려고 하는 자를 OTP발생 사전에 인증함으로써 보안매체가 가지고 있는 탈취에 대한 본질적인 취약점을 해소한다.
또한, 인증 서버(200)에서 생성하는 OTP는 사용자가 OTP 어플리케이션(101)을 활성화시킬 때 사용하는 6자리 형태의 PIN 또는 패스워드와, 단말정보를 조합한 키를 시드키로 하여 발생시키므로, 일반적인 오픈 소스로 난수를 발생시키는 것이 아닌, 사용자 별로 고유한 OTP를 발생시킬 수 있어 보안이 강화된다.
도 4는 본 발명의 실시예에 따른 OTP 인증 과정을 나타낸 흐름도이다.
도 4를 참조하면, 단말(100)이 서비스 서버(400)로부터 OTP 입력 요청을 수신(S301)하면, 도 3을 통해 설명한 바와 같이, 제공받은 OTP를 서비스 서버(400)가 제공하는 사용자 화면에 입력(303)하여 서비스 서버(400)로 전송한다(S305).
서비스 서버(400)는 인증 서버(200)로 수신(S305)한 OTP의 인증을 요청한다(S307).
인증 서버(200)는 수신(S307)한 OTP가 도 3에서 전송한 OTP와 일치하는지 판단(S309)하는 인증을 수행한다. 그리고 인증 결과를 서비스 서버(400)로 반환한다.
이때, 인증 서버(200)는 S309 단계에서 일치한다고 판단되면, 인증 성공이 포함된 OTP 인증 응답을 서비스 서버(400)로 전송한다(S311). 그러면, 서비스 서버(400)는 단말이 요청한 서비스를 승인한다(S313).
반면, 인증 서버(200)는 S309 단계에서 불일치한다고 판단되면, 인증 실패가 포함된 OTP 인증 응답을 서비스 서버(400)로 전송한다(S315). 그러면, 서비스 서버(400)는 단말이 요청한 서비스를 불허한다(S317).
도 5는 본 발명의 실시예에 따른 단말의 하드웨어 블록도로서, 도 1 ~ 도 4에서 설명한 단말(100)의 하드웨어 구성을 나타낸다.
도 5를 참조하면, 단말(500)은 통신 장치(501), 저장 장치(503), 입력 장치(505), 디스플레이 장치(507) 및 적어도 하나의 프로세서(509)를 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장되며, 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도 1부터 도 4를 참고로 설명한 본 발명의 동작 방법을 프로그램 언어에 의해 작성된 소프트웨어 프로그램으로서, 도 1부터 도 4를 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)들을 포함하고, 저장 장치(503)와 프로세서(509) 등의 하드웨어와 결합하여 본 발명을 구현한다.
도 6은 본 발명의 실시예에 따른 서버 장치의 하드웨어 블록도로서, 도 1 ~ 도 4에서 설명한 인증 서버(200)의 하드웨어 구성을 나타낸다.
도 6을 참조하면, 인증 서버(600)는 통신부(601), 메모리(603) 및 적어도 하나의 프로세서(605)를 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장되며, 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도 1부터 도 4를 참고로 설명한 본 발명의 동작 방법을 프로그램 언어에 의해 작성된 소프트웨어 프로그램으로서, 도 1부터 도 4를 참고로 설명한 본 발명의 동작 방법을 구현한 명령어들을 포함하고, 저장 장치(603)와 프로세서(605) 등의 하드웨어와 결합하여 본 발명을 구현한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 적어도 하나의 프로세서에 의해 동작하는 서버 장치의 동작 방법으로서,
    공개키 알고리즘(Public Key Infrastructure, PKI)을 이용한 단말 인증을 수행하는 단계, 그리고
    상기 단말 인증에 성공하는 경우, 상기 단말의 요청에 따라 생성한 OTP(One Time Password)를 상기 단말로 전송하는 단계를 포함하고,
    상기 OTP는,
    상기 단말이 요청한 서비스의 승인 여부를 결정하는데 사용되며,
    상기 단말 인증을 수행하는 단계는,
    상기 단말로부터 상기 단말이 OTP 어플리케이션을 설치하여 최초로 접속할 때 생성한 비대칭키 중의 하나인 공개키와 상기 단말정보를 포함하는 OTP 매체 정보를 수신하는 단계,
    상기 단말로부터 상기 비대칭키 중의 다른 하나인 개인키로 전자서명된 단말정보를 포함하는 OTP 매체 등록 요청을 수신하는 단계, 그리고
    상기 공개키로 상기 전자서명된 단말정보를 복호화하여, 상기 복호화에 성공하면, 상기 단말을 OTP 매체로 등록하는 단계를 포함하고,
    상기 단말로 전송하는 단계는,
    상기 OTP 매체로 등록된 단말이 요청한 OTP를 생성하여 전송하는, 동작 방법.
  2. 제1항에서,
    상기 OTP는,
    개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드와, 단말 별로 고유한 단말정보를 조합한 시드키를 기초로 난수 생성 알고리즘에 의하여 생성되는, 동작 방법.
  3. 제2항에서,
    상기 개인 식별 번호(PIN) 또는 패스워드는,
    상기 단말에서 OTP 어플리케이션의 활성화시 사용자로부터 입력되어, 상기 단말로부터 수신한 OTP 생성 요청에 포함된 것인, 동작 방법.
  4. 제2항에서,
    상기 단말정보는,
    상기 단말의 하드웨어 정보, 상기 단말의 전화번호, 상기 단말의 기기 일련번호, 상기 단말의 유심(USIM, Universal Subscriber Identity Module) 카드번호, 상기 단말의 맥 어드레스(MAC address) 중에서 하나 또는 적어도 둘 이상의 조합을 포함하는, 동작 방법.
  5. 삭제
  6. 제1항에서,
    상기 단말을 OTP 매체로 등록하는 단계는,
    상기 단말정보와 상기 공개키를 매칭하여 저장하는, 동작 방법.
  7. 제6항에서,
    상기 단말로 전송하는 단계는,
    상기 공개키로 상기 OTP를 암호화하여 전송하는, 동작 방법.
  8. 적어도 하나의 프로세서에 의해 동작하는 단말의 동작 방법으로서,
    네트워크를 통해 접속한 인증 서버와 연동하여 공개키 알고리즘(Public Key Infrastructure, PKI)을 이용한 단말 인증을 수행하는 단계, 그리고
    상기 단말 인증에 성공하는 경우, 상기 인증 서버에 요청하여 상기 인증 서버에서 생성된 OTP(One Time Password)를 수신하는 단계를 포함하고,
    상기 OTP는,
    사용자 인증에서 사용되며,
    상기 단말 인증을 수행하는 단계는,
    상기 단말이 생성한 비대칭키 중의 하나인 공개키와 단말정보를 상기 인증 서버에 등록하는 단계를 포함하고,
    상기 OTP를 수신하는 단계는,
    상기 인증 서버에게 OTP 생성을 요청하는 단계,
    상기 인증 서버로부터 상기 공개키로 암호화된 OTP를 수신하는 단계, 그리고
    상기 비대칭키를 생성하여 개인키로 상기 암호화된 OTP를 복호화하여 상기 인증 서버에서 생성한 OTP를 추출하는 단계
    를 포함하는, 동작 방법.
  9. 제8항에서,
    상기 OTP를 수신하는 단계는,
    개인 식별 번호(Personal Identification Number, PIN) 또는 패스워드와, 단말 별로 고유한 단말정보가 포함된 OTP 생성 요청을 상기 인증 서버로 전송하는 단계, 그리고
    상기 인증 서버로부터 상기 개인 식별 번호(PIN) 또는 패스워드와, 상기 단말정보를 조합한 시드키를 기초로 난수 생성 알고리즘에 의하여 생성된 상기 OTP를 수신하는 단계
    를 포함하는, 동작 방법.
  10. 삭제
  11. 제8항에서,
    상기 단말 인증을 수행하는 단계는,
    OTP 어플리케이션의 설치시, 상기 공개키와 단말정보가 포함된 OTP 매체 정보를 상기 인증 서버로 전송하는 단계,
    상기 OTP 어플리케이션을 활성화하여 상기 개인키로 상기 단말정보를 전자서명하고, 전자서명 정보를 포함하는 OTP 매체 등록 요청을 상기 인증 서버로 전송하는 단계, 그리고
    상기 인증 서버로부터 OTP 매체 등록 응답을 수신하는 단계를 포함하고,
    상기 OTP 매체 정보는,
    상기 인증 서버에서 상기 전자서명 정보를 상기 공개키로 복호화에 성공한 경우, 상기 인증 서버에 등록되는, 동작 방법.
  12. 삭제
  13. 삭제
  14. 삭제
KR1020170169049A 2017-12-11 2017-12-11 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치 KR102445379B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170169049A KR102445379B1 (ko) 2017-12-11 2017-12-11 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170169049A KR102445379B1 (ko) 2017-12-11 2017-12-11 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치

Publications (2)

Publication Number Publication Date
KR20190068851A KR20190068851A (ko) 2019-06-19
KR102445379B1 true KR102445379B1 (ko) 2022-09-19

Family

ID=67104223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170169049A KR102445379B1 (ko) 2017-12-11 2017-12-11 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치

Country Status (1)

Country Link
KR (1) KR102445379B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102437596B1 (ko) * 2020-09-14 2022-08-29 주식회사 에이비일팔공 Api 스푸핑 방지 시스템 및 그 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101625222B1 (ko) * 2009-06-18 2016-06-13 주식회사 비즈모델라인 씨드 조합 방식의 오티피 운영 방법
KR101879842B1 (ko) * 2015-09-14 2018-08-17 (주)이스톰 Otp를 이용한 사용자 인증 방법 및 시스템
KR101968805B1 (ko) * 2016-10-31 2019-04-12 주식회사 이베이코리아 사용자 단말을 이용한 사용자 부인방지 대금결제 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20190068851A (ko) 2019-06-19

Similar Documents

Publication Publication Date Title
ES2818199T3 (es) Método de verificación de seguridad con base en una característica biométrica, un terminal de cliente y un servidor
CN110677418B (zh) 可信声纹认证方法、装置、电子设备及存储介质
US8640203B2 (en) Methods and systems for the authentication of a user
US20180144114A1 (en) Securing Blockchain Transactions Against Cyberattacks
US9325708B2 (en) Secure access to data in a device
US20160104154A1 (en) Securing host card emulation credentials
CA3058240C (en) Cryptographic key management based on identity information
KR101718948B1 (ko) 일회용 난수를 이용하여 인증하는 통합 인증 시스템
US20150310427A1 (en) Method, apparatus, and system for generating transaction-signing one-time password
EP3206329B1 (en) Security check method, device, terminal and server
KR101724401B1 (ko) 생체 정보 인식과 키 분할 방식을 이용한 공인인증 시스템 및 그 방법, 그 방법을 수행하는 프로그램이 기록된 기록매체
CN108616352B (zh) 基于安全元件的动态口令生成方法和系统
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
KR20160085143A (ko) 익명 서비스 제공 방법 및 사용자 정보 관리 방법 및 이를 위한 시스템
KR20170124953A (ko) 암호화된 otp를 모바일폰에서 지문 등을 이용하여 복호화하여 사용자 인증을 자동화하는 방법과 그 시스템
KR20090019576A (ko) 모바일 단말기 인증 방법 및 모바일 단말기 인증 시스템
KR101570773B1 (ko) 모바일 기기를 사용한 인터넷 서비스의 클라우드 인증 방법
Liou et al. On improving feasibility and security measures of online authentication.
US20230198751A1 (en) Authentication and validation procedure for improved security in communications systems
KR102445379B1 (ko) 서버 장치의 동작 방법, 단말의 동작 방법 및 서버 장치
JP5380368B2 (ja) Icチップ発行システム、icチップ発行方法およびicチップ発行プログラム
KR20160063250A (ko) 카드 디바이스를 사용한 네트워크 인증 방법
KR101350438B1 (ko) 모바일기기 내의 se를 이용하는 전자서명 시스템
KR102528051B1 (ko) 결제를 위한 단말 및 단말의 동작 방법 및
KR101804845B1 (ko) 무선단말기에서의 otp인증방법

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