KR20080086733A - Finance trade system using a otp - Google Patents

Finance trade system using a otp Download PDF

Info

Publication number
KR20080086733A
KR20080086733A KR1020070028792A KR20070028792A KR20080086733A KR 20080086733 A KR20080086733 A KR 20080086733A KR 1020070028792 A KR1020070028792 A KR 1020070028792A KR 20070028792 A KR20070028792 A KR 20070028792A KR 20080086733 A KR20080086733 A KR 20080086733A
Authority
KR
South Korea
Prior art keywords
otp
information
customer
module
financial transaction
Prior art date
Application number
KR1020070028792A
Other languages
Korean (ko)
Other versions
KR100968941B1 (en
Inventor
김덕상
Original Assignee
(주)에이티솔루션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)에이티솔루션 filed Critical (주)에이티솔루션
Priority to KR1020070028792A priority Critical patent/KR100968941B1/en
Publication of KR20080086733A publication Critical patent/KR20080086733A/en
Application granted granted Critical
Publication of KR100968941B1 publication Critical patent/KR100968941B1/en

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/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/405Establishing or using transaction specific rules
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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 cryptographic hash functions

Abstract

A financial transaction system using an OTP(One-Time Password) is provided to process financial transaction normally by using only the OTP without transferring financial information such as account or card information on the online network, and offer convenience by minimizing information needed for performing the financial transaction. A customer information storing module(420) stores financial transaction information of a customer and seed information generated based on the financial transaction information to a customer information database. An OTP authenticating module(450) authenticates an OTP by receiving customer ID and the OTP generated from a customer terminal through the network. A card payment processing module(460) processes payment by using the financial transaction information matched with the received customer ID depending on an OTP authentication result. A seed key generating module(430) generates a seed key for generating the OTP based on the financial transaction information inputted or stored when the customer requests issuance of the OTP. An application transmitting module(440) transmits the seed key to the customer terminal.

Description

OTP를 이용한 금융거래 시스템{FINANCE TRADE SYSTEM USING A OTP}Financial transaction system using OTP {FINANCE TRADE SYSTEM USING A OTP}

도 1은 본 발명의 일실시예에 따른 금융거래 시스템의 하나인 카드 결제 시스템의 전체 시스템 구성 예시도.1 is an exemplary system configuration of a card payment system that is one of the financial transaction system according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따라 휴대용 고객 단말기에 설치되는 OTP 생성 어플리케이션(120)의 프로그램 모듈 구성 예시도.2 is a diagram illustrating a program module configuration of an OTP generation application 120 installed in a portable customer terminal according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 카드 결제 시스템(400)의 일부 구성도.3 is a partial configuration diagram of a card payment system 400 according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 OTP를 이용한 카드결제 처리 흐름도.4 is a flowchart illustrating a card payment process using an OTP according to an embodiment of the present invention.

본 발명은 금융거래 시스템에 관한 것으로, 특히 일회용 비밀번호(One-Time Password)를 이용하여 금융거래를 수행하는 시스템에 관한 것이다.The present invention relates to a financial transaction system, and more particularly, to a system for performing a financial transaction using a one-time password.

금융거래 시스템으로서 일반화되어 있는 것이 바로 카드 결제 시스템과 계좌이체 및 조회업무를 담당하는 폰 뱅킹 혹은 인터넷 뱅킹 시스템이다. 카드결제는 주로 오프라인상에서 많이 이용되었으나, 최근에 전자상거래가 활성화되면서 온라인에서도 수많은 카드결제가 이루어지고 있다. 아울러 폰 뱅킹 및 인터넷 뱅킹 역시 그 이용자 수가 폭발적으로 증가하고 있다.The most common financial transaction system is a card payment system and a phone banking or internet banking system in charge of account transfer and inquiry. Card payment was mainly used offline, but a lot of card payments are made online as the recent electronic commerce is activated. Phone banking and internet banking are also exploding.

일 예로 온라인상에서의 카드결제 처리과정을 살펴보면, 카드소지자는 쇼핑몰을 통해 물품을 구매하고 그 결제수단으로서 카드정보, 보다 구체적으로는 카드명, 카드번호, 유효기간, CVC와 같은 정보를 입력하여 승인요청한다. 이러한 카드정보는 밴(VAN)사를 통해 카드사측으로 전송되고, 카드사측에서는 전송된 카드정보를 조회하여 신용승인 처리함으로서 카드결제 프로세스가 종료된다. 보다 강화된 방안으로 카드 소지자의 인증 혹은 비밀번호의 입력 등이 추가되기도 하나 이에 대한 부연 설명은 편의상 생략하기로 한다.For example, in the online payment processing process, a cardholder purchases an item through a shopping mall, and enters card information, more specifically, a card name, a card number, an expiration date, and a CVC as the payment method. request. The card information is transmitted to the card company through a van company, and the card company ends the card payment process by inquiring a credit approval process by referring to the transmitted card information. As a more reinforced solution, authentication of a card holder or input of a password may be added, but a description thereof will be omitted for convenience.

설명한 바와 같이 온라인을 통한 카드결제 과정에서는 카드번호, CVC, 카드명 등의 정보가 통신망을 통해 직접적으로 전송되는 관계로 고도화된 해킹기술 등에 의해 악의의 제3자에게 노출될 소지가 많다.As described above, in the online card payment process, information such as card number, CVC, and card name is directly transmitted through a communication network, and thus, it is often exposed to malicious third parties by advanced hacking techniques.

더 나아가 기존의 온라인을 통한 카드결제 과정에서는 카드번호, 카드명, CVC 정보 등을 입력하는 방식이기 때문에, 카드결제 과정에서 너무 많은 정보의 입력이 수반되는 관계로 그만큼 사용이 번거롭다는 단점이 있다.Furthermore, in the existing online card payment process, since the card number, card name, CVC information, etc. are inputted, there is a disadvantage in that it is cumbersome because too much information is input in the card payment process. .

이러한 문제 및 번거로움은 폰 뱅킹 혹은 인터넷 뱅킹과 같은 금융거래 시스템에서 공히 나타나는 문제이기도 하다.These problems and troubles are common problems in financial transaction systems such as phone banking or internet banking.

이에 본 발명의 목적은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 계좌정보 혹은 카드정보와 같은 금융거래정보의 온라인 전송 없이 단순히 OTP를 이용하여 금융거래가 정상적으로 이루어질 수 있는 OTP를 이용한 금융거래 시스템을 제공함에 있으며,Accordingly, an object of the present invention is to solve the above problems, to provide a financial transaction system using OTP that can be normally performed using OTP without the online transmission of financial transaction information such as account information or card information. In the

더 나아가 금융거래를 수행함에 있어 입력정보를 최소화하여 사용상의 편의를 제공코자 한 OTP를 이용한 금융거래 시스템을 제공함에 있다.Furthermore, it is to provide a financial transaction system using OTP to provide convenience for minimizing input information in performing financial transactions.

상기 목적을 달성하기 위한 본 발명의 일실시예에 따른 OTP(One-Time Password)를 이용한 금융거래 시스템은,Financial transaction system using a one-time password (OTP) according to an embodiment of the present invention for achieving the above object,

고객의 금융거래정보와 그 금융거래정보에 기초하여 생성된 시드(SEED)키 정보를 고객정보 DB에 저장하기 위한 고객정보 저장모듈과;A customer information storage module for storing seed key information generated based on the financial transaction information of the customer and the financial transaction information in the customer information DB;

고객 단말기에서 생성된 OTP를 고객식별정보와 함께 네트워크를 통해 전송받아 그 OTP(One-Time Password)를 인증하기 위한 OTP 인증모듈과;An OTP authentication module for receiving the OTP generated by the customer terminal together with the customer identification information through the network and authenticating the OTP (One-Time Password);

상기 OTP 인증결과에 따라 전송받은 고객식별정보를 가지는 고객의 금융거래정보에 기초하여 금융결제 승인처리하는 금융결제 처리모듈;을 포함함을 특징으로 한다.And a financial settlement processing module for processing the financial settlement approval based on the financial transaction information of the customer having the customer identification information transmitted according to the OTP authentication result.

상술한 구성에 따르면, 본 발명은 카드정보 혹은 계좌정보와 같은 금융거래정보에 기초하여 시드키를 생성하여 고객 단말기에 제공하고, 고객 단말기에서는 상기 시드키를 이용하여 생성한 OTP를 고객식별정보와 함께 금융 거래 시스템으로 전송함으로서, 금융 거래 시스템에서는 해당 고객에게 발급된 시드키를 이용하여 OTP를 생성하고 이를 전송받은 OTP와 비교하여 일치할 경우에만 정상적으로 금융결제 승인처리하여 주기 때문에, 결국 통신망을 통해 금융거래정보가 전송됨으로서 발생할 수 있는 정보의 노출을 사전 차단할 수 있는 효과를 가지게 되는 것이다.According to the above-described configuration, the present invention generates a seed key based on financial transaction information such as card information or account information and provides the seed key to the customer terminal, and the customer terminal uses the seed key to generate the OTP. By sending together to the financial transaction system, the financial transaction system generates an OTP using the seed key issued to the customer and compares it with the received OTP to process the financial settlement approval only if it matches. As financial transaction information is transmitted, it will have the effect of blocking the exposure of information that may occur in advance.

더 나아가 본 발명의 또 다른 실시예에 따른 OTP를 이용한 금융거래 시스템 은,Furthermore, the financial transaction system using the OTP according to another embodiment of the present invention,

고객의 금융거래정보와 그 금융거래정보에 기초하여 생성된 시드키 정보를 고객정보 DB에 저장하기 위한 고객정보 저장모듈과;A customer information storage module for storing seed key information generated based on the financial transaction information of the customer and the financial transaction information in the customer information DB;

고객 단말기에서 생성된 OTP와 고객식별정보 및 금융결제를 위한 비밀번호를 네트워크를 통해 전송받아 해당 OTP를 인증하기 위한 OTP 인증모듈과;An OTP authentication module for authenticating the OTP by receiving the OTP generated by the customer terminal, the customer identification information and the password for financial settlement through a network;

상기 OTP 인증결과에 따라 전송받은 고객식별정보를 가지는 고객의 금융거래정보와 상기 비밀번호를 이용하여 금융결제 승인처리하는 금융결제 처리모듈;을 포함함을 특징으로 한다.And a financial settlement processing module for processing financial settlement approval by using the financial transaction information and the password of the customer having the customer identification information transmitted according to the OTP authentication result.

이러한 시스템 역시 통신망을 통해 OTP와 고객식별정보를 전송하여 금융거래 고객을 식별하고, 비밀번호를 이용하여 해당 고객의 진위 여부를 판단함으로서, 금융거래정보를 전송하는 종전 시스템들에 비해 안전하게 금융거래정보를 보호할 수 있는 실익이 있다.This system also transmits OTP and customer identification information through a communication network to identify financial transaction customers, and determines the authenticity of the customer by using a password, so that financial transaction information is securely compared to previous systems that transmit financial transaction information. There is a profit to protect.

이하 본 발명의 바람직한 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 관련된 공지 기능 혹은 구성에 대한 상세한 설명은 생략하기로 한다. 예를 들면, 카드결제를 위해 필요한 카드 리더기, 카드 리더 방식, 밴(VAN)사 등에 대한 설명은 생략하기로 한다. 더 나아가 하기에서의 카드라 함은 MS 타입의 신용카드는 물론 체크카드와 같이 선불 및 후불식 결제카드 모두를 포함하는 것으로 가정하기로 한다. 그리고 하기에서는 카드 결제 시스템을 가정하여 본 발명의 실시예에 따른 금융거래 시스템의 구성 및 동작을 부연 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, a detailed description of related known functions or configurations will be omitted. For example, a description of a card reader, a card reader method, a van (VAN) company, etc. required for card payment will be omitted. Further, the following card is assumed to include both prepaid and postpaid payment cards such as MS type credit cards as well as check cards. In the following description, the configuration and operation of the financial transaction system according to an embodiment of the present invention will be described in detail by assuming a card payment system.

도 1은 본 발명의 일실시예에 따른 금융거래 시스템의 하나인 카드 결제 시스템의 주변 구성도를 예시한 것으로, 본 발명의 실시예에 따른 카드결제 시스템(400)은 예를 들어 쇼핑몰 서버(300)와 연결될 수 있다. 쇼핑몰 서버(300)는 온라인상에서 각종 물품을 판매하는 판매자 역할을 수행하며, 물품 구매자가 카드결제를 선택한 경우 결제에 필요한 정보를 전송받아 카드결제 시스템(400)으로 전송하는 역할을 한다.1 illustrates a peripheral configuration diagram of a card payment system, which is one of financial transaction systems according to an embodiment of the present invention. The card payment system 400 according to an embodiment of the present invention may be, for example, a shopping mall server 300. ) Can be connected. The shopping mall server 300 performs a role of selling various goods online, and when a purchaser of a product selects a card payment, the shopping mall server 300 receives information necessary for payment and transmits the information to the card payment system 400.

한편 카드 소지자인 구매자들은 자신의 컴퓨터(200)를 통해 온라인상에서 물품을 구매하고 그 결제 수단으로 선불식 혹은 후불식 카드 정보에 기초하여 만들어진 OTP를 이용하여 결제 수행한다. 도 1에 도시한 휴대폰은 물품 구매자, 즉 카드 소유자가 이용하는 무선 단말기(이하 고객 단말기라 함)(100)로서 OTP 생성에 이용된다.On the other hand, buyers who are card holders purchase goods online through their computer 200 and perform payment using an OTP made based on prepaid or postpaid card information as a payment method. The mobile phone shown in FIG. 1 is used for generating an OTP as a wireless terminal (hereinafter referred to as a customer terminal) 100 used by an article buyer, that is, a cardholder.

이하 고객 단말기(100)에 설치되어 실행되는 OTP 생성 어플리케이션과 OTP를 이용한 카드 결제 시스템의 구성을 도 2와 도 3을 참조하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of an OTP generating application and an OTP card payment system installed and executed in the customer terminal 100 will be described in more detail with reference to FIGS. 2 and 3.

도 2는 본 발명의 실시예에 따라 고객 단말기(100)에 설치되는 OTP 생성 어플리케이션(120)의 프로그램 모듈 구성도를 예시한 것이다. OTP 생성 어플리케이션(120)은 예를 들어 MS 방식의 신용카드를 발급받은 자가 온라인 혹은 오프라인상에서 OTP 생성을 위한 시드(SEED)키의 발급을 요청한 경우에 카드결제 시스템(400)으로부터 발급되는 응용 프로그램이다.2 illustrates a program module configuration diagram of an OTP generation application 120 installed in a customer terminal 100 according to an embodiment of the present invention. The OTP generation application 120 is an application program issued from the card payment system 400 when, for example, a person who receives an MS type credit card requests issuance of a seed key for generating an OTP online or offline. .

참고적으로 카드결제 시스템(400)은 카드를 발급받은 자 온라인상에서 혹은 오프라인상에서 관리자가 시드키의 발급을 요청하면 해당 카드정보(카드번호, 유효기간, CVC, 카드명)를 정해진 내부 알고리즘을 이용하여 시드키를 생성하고, 이러한 시드키가 포함된 OTP 생성 어플리케이션 데이터를 해당 고객 단말기로 다운로드하여 준다. 물론 시드키 발급 이전에 개인인증이 요구될 것이며, 해당 어플리케이션은 이동 통신망을 통해 다운로드될 것이다. 그리고 시드키와 OTP 생성 어플리케이션은 하나 이상의 서로 다른 주체에 의해 각각 생성되어 서로 다른 시점에 다운로드될 수도 있을 것이다.For reference, the card payment system 400 uses an internal algorithm for determining the corresponding card information (card number, expiration date, CVC, card name) when the administrator requests the issuance of a seed key online or offline. Generates a seed key, and downloads the OTP generation application data including the seed key to the corresponding customer terminal. Of course, personal authentication will be required before seed key issuance, and the application will be downloaded via the mobile communication network. The seed key and the OTP generating application may be generated by one or more different entities and downloaded at different times.

도 2를 참조하여 상술한 OTP 생성 어플리케이션(120)에 대해 부연 설명하면, 우선 유저 인터페이스 모듈(140)은 주민등록번호와 같은 고객식별정보, 카드 비밀번호와 같은 사용자 데이터를 입력받거나 OTP와 같은 표시 데이터를 출력하기 위한 유저 인터페이스 화면을 제공하여 준다.2, the user interface module 140 first receives user identification information such as a social security number, a card password, or outputs display data such as an OTP. Provides a user interface screen for

이벤트 인덱스 갱신모듈(150)은 사용자 로그인시마다, 비밀번호 갱신요구시마다 이벤트 인덱스 정보를 갱신하여 SEED 저장부(130)에 저장한다. 상기 이벤트 인덱스 정보는 최초 사용자 로그인시에 "0"으로 초기화된후 이벤트 발생시마다 하나씩 증가하는 일련번호의 값을 가진다. 그리고 정해진 값에 도달하면 다시 "0"으로 초기화된다.The event index update module 150 updates the event index information every time the user logs in and requests the password update, and stores the event index information in the SEED storage unit 130. The event index information has a value of a serial number that is initialized to "0" at the first user login and increases by one every time an event occurs. When the specified value is reached, it is initialized to "0" again.

OTP 생성모듈(160)은 갱신 저장된 이벤트 인덱스 정보와 저장된 시드키 정보를 해쉬함수 인자로 설정한후 일방향 해쉬함수(f(x))에 의거하여 해쉬함수값을 계산한다. 그리고 계산된 해쉬함수값에 이벤트 인덱스 정보(의 일부)를 조합하여 완전한 하나의 OTP를 생성하고 이를 유저 인터페이스 모듈(140)을 통해 표시 출력한 다.The OTP generation module 160 sets the updated and stored event index information and the stored seed key information as a hash function factor and then calculates a hash function value based on the one-way hash function f (x). Then, a single complete OTP is generated by combining the event index information (part of) with the calculated hash function value and displayed and outputted through the user interface module 140.

이상에서 설명한 OTP 생성 어플리케이션(120)은 단말기 VM(Virtual Machine) 프레임워크상에서 구동 가능한 어플리케이션이다. 본 실시예에서는 이벤트 인덱스 정보와 시드키 정보를 해쉬함수 인자로 설정하여 OTP를 생성하는 것으로 설명하였지만, 시드키를 이용하여 OTP를 생성하는 이미 공지된 알고리즘을 이용하여 본 발명을 실시할 수도 있을 것이다.The OTP generation application 120 described above is an application that can be driven on the terminal virtual machine (VM) framework. In the present embodiment, the OTP is generated by setting the event index information and the seed key information as a hash function factor. However, the present invention may be implemented using a known algorithm that generates the OTP using the seed key. .

이하 상술한 구성을 가지는 OTP 생성 어플리케이션(120)의 동작예를 설명하면,Hereinafter, an operation example of the OTP generation application 120 having the above configuration will be described.

우선 카드를 발급받은 자(이하 카드 소유자라 함)는 카드사에서 지정하는 시스템(예를 들면 카드 결제 시스템)에 접속하여 OTP 생성을 위한 시드키의 발급을 요청한다. 시드키 발급요청을 받은 시스템, 예를 들면 카드 결제 시스템(400)은 카드 소유자의 고객식별정보(주민등록번호)와 발급받은 카드의 비밀번호를 요청한다. 이는 원 카드 소유자인지를 체크하기 위함이다. 만약 원 카드 소유자에 의한 발급요청이라면 카드 결제 시스템(400)은 카드 소유자에게 발급된 카드번호, CVC 정보, 카드명, 유효기간 정보에 기초하여 OTP 생성을 위한 시드키를 생성한다. 그리고 생성된 시드키를 OTP 생성 어플리케이션 데이터와 함께 혹은 시드키만을 카드 소유자의 고객 단말기로 전송하여 준다. 이에 카드 소유자의 고객 단말기에는 도 2에 도시한 바와 같은 구성을 가지는 어플리케이션(120)이 설치 완료된다. 참고적으로 시드키는 미리 정해진 알고리즘에 기초하여 생성될 수 있으며, 고객 단말기 정보는 시드키 발급시 혹은 저장된 고객 정보를 활용한다. 만약 카드 결제 시스템(200)으 로부터 시드키만을 전송받는 경우라면 OTP 생성 어플리케이션은 다른 시스템, 예를 들면 통신사 서버 혹은 본 서비스를 이용하기 위해 링크 가능한 서버로부터 전송받아야 할 것이다.First, the person who receives the card (hereinafter referred to as the card holder) requests a issuance of a seed key for generating an OTP by accessing a system designated by the card company (for example, a card payment system). The system receiving the seed key issuance request, for example, the card payment system 400, requests the cardholder's customer identification information (resident registration number) and the password of the issued card. This is to check whether the original card holder. If the request is issued by the original card holder, the card payment system 400 generates a seed key for generating the OTP based on the card number, CVC information, card name, and expiration date information issued to the card holder. The generated seed key is transmitted together with the OTP generated application data or only the seed key to the customer terminal of the card holder. Accordingly, the application 120 having the configuration as shown in FIG. 2 is installed in the customer terminal of the card holder. For reference, the seed key may be generated based on a predetermined algorithm, and the customer terminal information may use the stored customer information when the seed key is issued or stored. If only the seed key is transmitted from the card payment system 200, the OTP generating application may need to be transmitted from another system, for example, a telco server or a linkable server to use the service.

이하 고객 단말기에 설치된 OTP 생성 어플리케이션에 의해 OTP가 생성되는 과정을 설명하기로 한다. 하기설명에서 OTPGA(OTP Generation Application)는 OTP 생성 어플리케이션(120)을 나타내는 것으로 정의한다.Hereinafter, the process of generating the OTP by the OTP generating application installed in the customer terminal will be described. In the following description, an OTP Generation Application (OTPGA) is defined as representing an OTP generation application 120.

우선 PC(200)를 통해 쇼핑몰 서버(300)에 접속하여 소정의 물품을 구매한 카드 소유자는 결제 수단으로 카드 결제를 선택한다. 이러한 카드 결제 선택에 따라 카드 소유자는 카드 정보의 전송을 요청받는다. 이에 카드 소유자는 자신의 단말기에 설치된 OTPGA를 실행한다. OTPGA가 실행되면, 우선 이벤트 인덱스 갱신모듈(150)은 최초 사용자 로그인에 따라 이벤트 인덱스 정보를 "0000"으로 초기화 갱신한다. 이벤트 인덱스 갱신모듈(150)은 이후의 이벤트 발생시마다 상기 이벤트 인덱스 정보를 0001, 0002,0003과 같이 하나씩 증가시켜 갱신한다.First, a cardholder who purchases a predetermined item by accessing the shopping mall server 300 through the PC 200 selects a card payment as a payment method. According to the card payment selection, the cardholder is requested to transmit card information. The cardholder executes the OTPGA installed in his terminal. When the OTPGA is executed, the event index update module 150 initializes and updates the event index information to "0000" according to the initial user login. The event index update module 150 updates the event index information by one such as 0001, 0002,0003 for each subsequent event occurrence.

이벤트 발생에 따라 이벤트 인덱스 정보가 갱신되면 OTP 생성모듈(160)은 갱신된 이벤트 인덱스 정보와 저장된 시드키 정보를 해쉬함수 인자로 설정한후 일방향 해쉬함수에 의거하여 해쉬함수값을 계산한다. 그리고 OTP 생성모듈(160)은 갱신된 이벤트 인덱스 정보, 바람직하게는 이벤트 인덱스 정보의 일부 정보를 상기 계산된 해쉬함수값에 부가하여 하나의 완전한 OTP를 생성하고 이를 유저 인터페이스 모듈(140)을 통해 표시 출력한다. 본 발명의 실시예에서는 이벤트 인덱스 정보의 일련번호중 십단위 두 자리값을 OTP에 부가하는 것으로 가정한다. 이러한 가정하에 따라 최종적으로 생성 표시되는 OTP 정보의 산출근거를 예시하면 하기와 같다.When the event index information is updated according to the occurrence of the event, the OTP generation module 160 sets the updated event index information and the stored seed key information as a hash function factor and then calculates a hash function value based on the one-way hash function. The OTP generation module 160 adds the updated event index information, preferably some information of the event index information, to the calculated hash function value to generate one complete OTP and display it through the user interface module 140. Output In the embodiment of the present invention, it is assumed that a ten-digit two-digit value of the serial number of the event index information is added to the OTP. Based on these assumptions, the calculation basis of the OTP information finally generated and displayed is as follows.

OTP = f(시드, 이벤트 인덱스 정보)*100 + ((이벤트 인덱스 정보) mod 100)OTP = f (seed, event index info) * 100 + ((event index info) mod 100)

상기 수식에서 f(x)는 OTP 생성을 위한 일방향 해쉬함수를 나타낸 것이다. 해쉬함수로서 MD4, MD5, SHA 등을 이용할 수 있으며, 해쉬함수에 인자로 넘기는 x값을 상기 수식에서와 같이 시드와 이벤트 인덱스 정보이다. 예를 들어 시드값은 "1qaz"이고, 이벤트 인덱스가 "1234", 해쉬함수의 결과가 "495724"라 하면,In the above formula, f (x) represents a one-way hash function for generating OTP. As a hash function, MD4, MD5, SHA, and the like can be used. The x value passed as an argument to the hash function is seed and event index information as in the above formula. For example, if the seed value is "1qaz", the event index is "1234", and the result of the hash function is "495724",

OTP = f(1 qaz, 1234)*100 + (1234 mod 100) = 49572434가 된다. 즉, 최종적으로 표시 출력되는 OTP는 f(x)라는 해쉬함수에 의해 만들어진 결과값(해쉬함수값이라고 함)에 이벤트 인덱스 정보의 끝 두자리가 부가된 값이 되는 것이다.OTP = f (1 qaz, 1234) * 100 + (1234 mod 100) = 49572434 In other words, the OTP finally displayed and output is a value obtained by adding a hash function value of f (x) (called a hash function value) to the last two digits of the event index information.

위와 같이 OTP가 생성 표시되면 단말기 사용자는 PC(200)를 통해 고객 단말기를 통해 얻어진 OTP 정보와 자신의 고객식별정보(예:주민등록번호 혹은 자신의 ID)를 쇼핑몰 서버(300)로 전송하여 준다. 이러한 정보들은 카드 결제 시스템(400)으로 전송되어 카드결제 처리를 위한 정보로 이용된다.When the OTP is generated and displayed as described above, the terminal user transmits OTP information and his / her customer identification information (eg, a resident registration number or his ID) obtained through the customer terminal to the shopping mall server 300 through the PC 200. Such information is transmitted to the card payment system 400 and used as information for card payment processing.

한편 OTP 갱신요구와 같은 새로운 이벤트가 발생하면 이벤트 인덱스 갱신모듈(150)은 "0000"으로 갱신된 이벤트 인덱스 정보를 "0001"로 갱신한다. 이벤트 발생에 따라 이벤트 인덱스 정보가 갱신되면 OTP 생성모듈(160)은 이후 갱신된 이벤트 인덱스 정보와 저장된 시드키 정보를 해쉬함수 인자로 설정한후 일방향 해쉬함수에 의거하여 다시 해쉬 함수값을 계산한다. 그리고 그 값 끝자리에 갱신된 이벤트 인덱스 정보를 부가하여 새로운 OTP를 생성하여 유저 인터페이스 모듈(140)을 통해 표시 출력한다.Meanwhile, when a new event such as an OTP update request occurs, the event index update module 150 updates the event index information updated to "0000" to "0001". When the event index information is updated according to the occurrence of the event, the OTP generation module 160 sets the updated event index information and the stored seed key information as a hash function factor and then calculates a hash function value again based on the one-way hash function. In addition, the updated event index information is added to the end of the value to generate a new OTP, and is output through the user interface module 140.

만약 사용자로부터 OTPGA 종료 요청이 있으면 이벤트 인덱스 갱신모듈(150)은 현재의 이벤트 인덱스 정보를 SEED 저장부(130)에 저장하고 본 발명의 실시예에 따른 OTPGA를 종료한다. 마지막으로 갱신된 이벤트 인덱스 정보의 저장에 의해서, 추후 이벤트 발생시에는 그 저장된 차순위 값이 새로운 이벤트 인덱스 값으로 갱신된다.If there is an OTPGA termination request from the user, the event index update module 150 stores the current event index information in the SEED storage unit 130 and terminates the OTPGA according to the embodiment of the present invention. By storing the updated event index information, the stored next order value is updated with a new event index value when a later event occurs.

이하 상술한 OTPGA에 의해 생성된 OTP 정보를 이용하여 카드 결제 수행하는 카드 결제 시스템(400)에 대해 설명하기로 한다.Hereinafter, the card payment system 400 performing card payment using the OTP information generated by the above-described OTPGA will be described.

도 3은 본 발명의 일실시예에 따른 카드 결제 시스템(400)의 일부 구성도를 도시한 것이다.3 illustrates a partial configuration of a card payment system 400 according to an embodiment of the present invention.

도 3을 참조하면, 고객정보 저장모듈(420)은 카드 발급 고객의 카드정보(카드번호, CVC, 유효기간, 카드명 등)와 시드키 정보를 고객정보 DB(470)에 저장한다. 즉, 고객정보 DB(470)에는 고객명, 고객식별정보, 카드정보, 시드키 정보 등이 저장된다.Referring to FIG. 3, the customer information storage module 420 stores the card information (card number, CVC, expiration date, card name, etc.) and seed key information of the card issuing customer in the customer information DB 470. That is, the customer information DB 470 stores the customer name, customer identification information, card information, seed key information, and the like.

시드키 생성모듈(430)은 온라인을 통한 OTP 발급 요청 혹은 관리자 컴퓨터를 통한 OTP 발급요청이 있으면 입력 혹은 고객정보 DB(470)에 저장된 카드정보(금융거래정보)에 기초하여 OTP 생성을 위한 시드키를 생성한다. 생성된 시드키는 시드키 발급을 요청한 카드 소유자의 단말기로 전송됨은 물론 고객정보 저장모듈(420)에 의해 고객정보 DB(470)에 저장 관리된다.Seed key generation module 430 is a seed key for OTP generation on the basis of card information (financial transaction information) stored in the input or customer information DB 470, if there is an OTP issuance request online or OTP issuance request through the administrator computer Create The generated seed key is transmitted to the terminal of the cardholder who has requested to issue the seed key, and is stored and managed in the customer information DB 470 by the customer information storage module 420.

어플리케이션 전송모듈(440)은 상기 생성된 시드키와 OTP 생성 어플리케이션 데이터를 고객 단말기측으로 전송한다. 이때의 고객 단말기란 카드 소유자가 지정 한 휴대용 단말기를 의미하는 것으로 가정하기로 한다. 참고적으로 OTP 생성 어플리케이션 데이터는 시스템 내부 메모리에 저장되거나 어플리케이션 전송모듈(440)내에 저장된다. 경우에 따라 어플리케이션 전송모듈(440)은 시드키만을 지정된 고객 단말기측으로 전송할 수도 있을 것이다.The application transmission module 440 transmits the generated seed key and the OTP generated application data to the client terminal. At this time, it is assumed that the customer terminal means a portable terminal designated by the card holder. For reference, the OTP generated application data is stored in the system internal memory or in the application transmission module 440. In some cases, the application transmission module 440 may transmit only the seed key to the designated customer terminal.

한편 OTP 인증모듈(450)은 고객 단말기에서 생성된 OTP와 고객식별정보를 네트워크를 통해 전송받아 전송받은 OTP를 인증한다. 이러한 OTP 인증모듈(450)은 고객 단말기측으로부터 전송된 OTP에 부가되어 있는 이벤트 인덱스 정보를 생성하기 위한 이벤트 인덱스 정보 생성모듈을 포함한다. 보다 구체적으로, 이벤트 인덱스 정보 생성모듈은 이벤트 인덱스 정보의 고속 서치와 OTP의 고속 인증을 위해서, 인증 요청된 OTP에 부가된 이벤트 인덱스 정보를 끝자리로 가지는 이벤트 인덱스 정보들을 생성하는 것이 바람직하다. 예를 들어 인증 요청된 OTP에 부가된 이벤트 인덱스 정보가 십단위 정보로서 "67"이라면 그 인덱스 정보를 가지는 이벤트 인덱스 정보, 즉 "3967", "4067", "4167",..과 같은 이벤트 인덱스 정보를 생성하여 주는 역할을 담당한다.Meanwhile, the OTP authentication module 450 receives the OTP generated by the customer terminal and the customer identification information through the network and authenticates the received OTP. The OTP authentication module 450 includes an event index information generation module for generating event index information added to the OTP transmitted from the customer terminal side. More specifically, it is preferable that the event index information generation module generates event index information having the event index information added to the authentication-requested OTP as an end point for fast search of the event index information and fast authentication of the OTP. For example, if the event index information added to the authentication-required OTP is "67" as the tenth unit information, the event index information having the index information, that is, the event index such as "3967", "4067", "4167", ... It is responsible for generating information.

더 나아가 OTP 인증모듈(450)은 시드키 생성모듈(430)에서 생성된 시드정보와 상기 이벤트 인덱스 정보 생성모듈에서 생성된 이벤트 인덱스 정보를 해시함수 인자로 설정하여 해쉬함수값을 계산하기 위한 해쉬함수 계산모듈과, 계산된 해쉬함수값과 네트워크를 통해 전송된 OTP에 포함된 해쉬함수값을 비교하기 위한 OTP 비교모듈을 더 포함한다. 상기 OTP 비교모듈은 OTP의 인증결과에 따라 상기 이벤트 인덱스 정보의 생성을 이벤트 인덱스 정보 생성모듈에 요청하거나 그 인증 결과를 금융결제 처리모듈인 카드결제 처리모듈(460)로 전송하여 준다.Further, the OTP authentication module 450 sets a seed function generated by the seed key generation module 430 and event index information generated by the event index information generation module as a hash function factor to calculate a hash function value. The calculation module further includes an OTP comparison module for comparing the calculated hash function value with the hash function value included in the OTP transmitted through the network. The OTP comparison module requests generation of the event index information according to the OTP authentication result or transmits the authentication result to the card payment processing module 460 which is a financial settlement processing module.

카드결제 처리모듈(460)은 OTP 인증결과에 따라 카드 소유자로부터 전송받은 고객식별정보를 가지는 고객에 대해 카드결제 승인처리하여 그 결과를 쇼핑몰 서버(300)로 전송하여 준다.The card payment processing module 460 transmits the card payment approval process to the customer having the customer identification information received from the card holder according to the OTP authentication result and transmits the result to the shopping mall server 300.

이상에서 설명한 고객정보 저장모듈(420), 시드키 생성모듈(430), 어플리케이션 전송모듈(440), OTP 인증모듈(450), 카드결제 처리모듈(460)은 카드 결제 시스템(400)의 운영체제(410) 상에서 구동 가능한 하나의 어플리케이션으로 구현 가능하며 넓게 OTP 인증 및 카드 처리부로 명명될 수도 있다.The customer information storage module 420, the seed key generation module 430, the application transmission module 440, the OTP authentication module 450, and the card payment processing module 460 described above are operating systems of the card payment system 400. It can be implemented as a single application that can be run on the 410 and may be broadly referred to as an OTP authentication and card processing unit.

이하 상술한 구성을 가지는 카드 결제 시스템(400)의 동작을 도 4를 참조하여 설명하기로 한다.Hereinafter, the operation of the card payment system 400 having the above-described configuration will be described with reference to FIG. 4.

도 4는 본 발명의 일실시예에 따른 OTP를 이용한 카드결제 처리 흐름도를 도시한 것이다.4 is a flowchart illustrating a card payment processing using an OTP according to an embodiment of the present invention.

도 4를 참조하면, 우선 시드키 생성모듈(430)은 카드 소유자로부터 시드키 발급요청이 있으면 해당 카드 소유자에게 발급된 카드번호, CVC 정보, 카드명, 유효기간 정보에 기초하여 OTP 생성을 위한 시드키를 생성(S1)한다. 생성된 시드키는 어플리케이션 전송모듈(440)에 전달됨으로서, 어플리케이션 전송모듈(440)은 전달받은 시드키가 포함된 OTP 생성 어플리케이션 데이터를 시드키 발급 요청한 카드 소유자의 고객 단말기로 전송(S2)하여 준다.Referring to FIG. 4, first, the seed key generation module 430 generates a seed for generating an OTP based on a card number, CVC information, a card name, and an expiration date information issued to a corresponding card owner when a seed key issuing request is issued from the card owner. Generate a key (S1). The generated seed key is transmitted to the application transmission module 440, so that the application transmission module 440 transmits the OTP-generated application data including the received seed key to the customer terminal of the card holder who requested to issue the seed key (S2). .

이와 같이 OTP 생성 어플리케이션 데이터를 고객 단말기에 전송받은 카드 소유자는 이후 카드결제 필요시마다 상기 어플리케이션을 실행하여 하나의 OTP를 생 성한다. 고객 단말기에서 OTP가 생성되는 과정은 도 2의 동작설명에서 상세히 언급하였으므로 이에 대한 부연 설명은 생략하기로 한다.In this way, the cardholder who has received the OTP generating application data to the customer terminal executes the application every time the card is needed to generate one OTP. Since the process of generating the OTP in the customer terminal has been described in detail in the operation description of FIG. 2, the description thereof will be omitted.

고객 단말기에 설치된 어플리케이션을 실행시켜 하나의 OTP가 생성되면, 카드 소유자는 생성된 OTP를 자신의 고객식별정보와 함께 쇼핑몰 서버(300)의 카드결제 사이트를 통해 입력한다. 이러한 입력정보는 최종적으로 카드 결제 시스템(400)으로 전송될 것이다.When one OTP is generated by executing an application installed in the customer terminal, the card holder inputs the generated OTP together with the customer identification information through the card payment site of the shopping mall server 300. This input information will finally be sent to the card payment system 400.

OTP와 고객식별정보를 전송받은 카드 결제 시스템(400)내의 OTP 인증모듈(450)은 전송받은 OTP가 정상적인 카드 소유자에 의해 생성된 것인가를 인증한다. 보다 구체적으로 OTP 인증모듈(450)을 구성하는 이벤트 인덱스 정보 생성모듈은 우선적으로 인증 요청된 OTP에 부가된 이벤트 인덱스(EI) 정보를 끝자리로 가지는 이벤트 인덱스 정보를 생성(S3)한다. 생성되어야 하는 이벤트 인덱스 정보는 설정된 최대치를 초과할 경우 다시 초기화된다.The OTP authentication module 450 in the card payment system 400 receiving the OTP and the customer identification information authenticates whether the received OTP is generated by a normal card holder. More specifically, the event index information generating module constituting the OTP authentication module 450 first generates event index information having the event index (EI) information added to the OTP requested for authentication as an end (S3). Event index information to be generated is reinitialized when the set maximum value is exceeded.

이벤트 인덱스 정보가 생성되었으면, 해쉬함수 계산모듈은 카드 결제 요청한 사용자의 시드키 정보와 새로이 생성된 이벤트 인덱스 정보를 해쉬함수 인자로 설정하여 해쉬함수값((fx))을 계산(S4)한다.When the event index information is generated, the hash function calculating module calculates a hash function value (fx) by setting seed key information of the user who requested card payment and newly generated event index information as a hash function factor (S4).

해쉬함수값(f(x)) 계산이 완료되면 OTP 비교모듈은 계산된 해쉬 함수값과 전송된 OTP에 포함된 해쉬함수값과 비교(S5)한다. 비교결과 해쉬함수값이 다르면, OTP 비교모듈은 이벤트 인덱스 정보의 생성을 요청함으로서, 이벤트 인덱스 정보 생성모듈은 다시 OTP에 부가된 이벤트 인덱스(EI) 정보를 가지는 이벤트 인덱스(EI) 정보를 생성한다. 즉, OTP 인증모듈(224)에서는 새로이 생성된 이벤트 인덱 스 정보를 이용하여 계산된 해쉬 함수값이 인증 요청된 일회용 비밀번호(OTP)에 포함된 해쉬 함수값과 동일할때 까지 이벤트 인덱스 정보를 생성하되, 인증 요청된 OTP에 부가된 이벤트 인덱스(EI) 정보를 끝자리로 가지는 이벤트 인덱스 정보들을 생성함에 특징이 있는 것이다.After the calculation of the hash function value f (x) is completed, the OTP comparison module compares the calculated hash function value with the hash function value included in the transmitted OTP (S5). If the hash function value is different as a result of the comparison, the OTP comparison module requests generation of event index information, and the event index information generation module generates event index (EI) information having event index (EI) information added to the OTP again. That is, the OTP authentication module 224 generates the event index information until the hash function value calculated by using the newly generated event index information is the same as the hash function value included in the one-time password requested for authentication. In this case, the event index information having the event index (EI) information added to the authentication-requested OTP as a digit is generated.

상술한 이벤트 인덱스 정보의 생성과 해쉬함수값의 비교 인증을 구체적인 수치로 예시하면, 우선 카드 결제 요청한 사용자에 대해 미리 저장되어 있는 이벤트 인덱스 정보가 "3940"이라 하고, 전송된 OTP에 부가된 이벤트 인덱스 정보가 "46"이라 하면, OTP 인증모듈(450)은 "3946", "4046", "4146",..과 같이 이벤트 인덱스 정보를 순차적으로 생성해 가면서 생성된 값을 이용하여 계산된 해쉬함수값을 OTP에 포함된 해쉬함수값과 비교하는 것이다.If the above-described generation of the event index information and the authentication of the comparison of the hash function value are exemplified as specific values, the event index information previously stored for the user who requested the card payment is called “3940”, and the event index added to the transmitted OTP If the information is " 46 ", the OTP authentication module 450 generates a hash function calculated using the values generated while sequentially generating event index information such as "3946", "4046", "4146", .. The value is compared with the hash function value included in OTP.

이와 같은 해쉬 함수값의 비교과정에서 동일한 것으로 판명(S6)되면, OTP 비교모듈은 그 비교 결과를 금융결제 처리모듈에 해당하는 카드결제 처리모듈(460)로 전달하는 한편, 마지막으로 생성된 이벤트 인덱스 정보의 저장을 고객정보 저장모듈(420)로 요청(S7)한다.When it is determined that the hash function value is the same in the comparison process (S6), the OTP comparison module transmits the comparison result to the card payment processing module 460 corresponding to the financial settlement processing module, and finally generates the event index. Requesting the storage of the information to the customer information storage module 420 (S7).

이에 카드결제 처리모듈(460)은 전송받은 고객식별정보를 가지는 고객이 소지한 카드에 대해 일반적인 카드결제 승인 절차를 밟고 그 결과를 쇼핑몰 서버(300)로 전송하여 준다.The card payment processing module 460 performs a general card payment approval procedure for the card possessed by the customer having the received customer identification information and transmits the result to the shopping mall server 300.

이에 따라 카드 결제 요청한 카드 소유자는 카드번호, CVC 정보와 같은 구체적인 카드정보를 전송하지 않고서도 OTP와 자신의 식별정보 전송만으로 신용카드(체크카드) 거래를 온라인상에서 실현할 수 있다.Accordingly, the cardholder who has requested a card payment can realize a credit card (check card) transaction online only by transmitting his or her identification information without transmitting specific card information such as card number and CVC information.

따라서 본 발명은 온라인상에서 카드정보의 유출을 사전에 막을 수 있는 효과를 얻을 수 있게 되는 것이다.Therefore, the present invention can obtain the effect that can prevent the leakage of card information in advance online.

한편 본 발명의 또 다른 실시예로서 OTP 생성 어플리케이션의 복제 여부 판단모듈을 구비하여 OTP 생성 어플리케이션(OTPGA)의 복제여부를 판단할 수 있다.On the other hand, as another embodiment of the present invention is provided with a determination module for copying the OTP generation application can determine whether or not the OTP generation application (OTPGA).

즉, OTP 인증 어플리케이션 복제 판단모듈은 고객이 입력한 OTP에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보를 고객정보 DB(470)에 저장되어 있는 이벤트 인덱스 정보와 비교한다. 만약 입력 전송된 OTP에 포함된 해쉬함수값과 일치하는 해쉬함수값을 얻는데 이용된 이벤트 인덱스 정보가 기 저장되어 있는 사용자별 이벤트 인덱스 정보보다 작은 값을 가질 경우에는, 어느 하나의 OTP가 불법 복제된 OTP 생성 어플리케이션에 의해 생성된 것을 의미하므로 그 판단결과를 OTP 인증모듈(450)로 건네 준다. 이에 OTP 인증모듈(450)은 그 사실을 금융결제 처리모듈인 카드결제 처리모듈(460) 혹은 관리자 단말기로 출력하여 주거나 SMS를 이용하여 고객 단말기로 복제사실이 통보될 수 있도록 조치한다.That is, the OTP authentication application replication determination module compares the event index information used to obtain a hash function value that matches the hash function value included in the OTP input by the customer with the event index information stored in the customer information DB 470. . If the event index information used to obtain the hash function value that matches the hash function value included in the input transmitted OTP has a value smaller than the stored event index information for each user, any one OTP is illegally copied. It means that the generated by the OTP generating application, and passes the result of the determination to the OTP authentication module 450. Accordingly, the OTP authentication module 450 outputs the fact to the card payment processing module 460 or the manager terminal, which is a financial settlement processing module, or measures the copy fact to be notified to the customer terminal using SMS.

따라서 본 발명은 OTP 생성 프로그램이 불법 복제되어 이중 사용되는 것을 검출할 수 있는 효과도 가지게 되는 것이다.Therefore, the present invention also has the effect of detecting that the OTP generating program is illegally duplicated and double used.

더 나아가 본 발명의 실시예에서는 카드의 비밀번호를 입력하지 않는 것으로 하였으나, 비밀번호의 입력을 추가로 요구하여 보안상의 취약점을 보완하도록 시스템을 구성할 수도 있을 것이다. 즉, 카드 결제 시스템(400)내의 OTP 인증모듈(450)은 사용자에게 발급받은 카드의 비밀번호 입력을 요구하고, 그 비밀번호가 카드 발급과정에서 사용자로부터 제공된 비밀번호와 일치할 경우에만 사용자 인증이 정상 적으로 완료된 것으로 간주할 수 있다.Further, in the embodiment of the present invention, but do not enter the password of the card, the system may be configured to supplement the security weakness by additionally requiring the input of the password. That is, the OTP authentication module 450 in the card payment system 400 requires a user to input a password of a card issued to the user, and user authentication is normally performed only when the password matches the password provided by the user in the card issuing process. Can be considered complete.

이상의 실시예에서는 금융거래 시스템의 하나로서 카드 결제 시스템을 예시하여 본 발명의 실시예를 설명하였으나, 별 다른 변형 없이 계좌이체와 조회 업무를 수행하는 금융거래 시스템에서도 본 발명을 적용할 수 있다. 즉, 금융거래 고객의 계좌정보에 기초하여 시드키를 생성하고, 이러한 시드키를 기반으로 OTP를 생성하여 고객식별정보와 함께 금융거래 시스템으로 전송하면, 해당 금융거래 시스템에서는 OTP를 인증하고 그 결과에 따라 계좌간 이체를 수행하거나, 계좌 조회 서비스를 제공한다. 이에 따라 계좌정보와 같은 금융거래정보가 온라인상에서 노출될 수 있는 위험을 사전에 예방할 수 있다.In the above embodiment, the embodiment of the present invention has been described by exemplifying a card payment system as one of the financial transaction systems, but the present invention can be applied to a financial transaction system that performs account transfer and inquiry without any other modification. That is, when the seed key is generated based on the account information of the financial transaction customer, and the OTP is generated based on the seed key and transmitted along with the customer identification information to the financial transaction system, the financial transaction system authenticates the OTP and the result Depending on the transfer between accounts or provide account inquiry service. Accordingly, the risk of exposing financial transaction information such as account information online can be prevented in advance.

이상에서 설명한 바와 같이 본 발명은 카드번호, CVC 정보, 유효기간과 같은 구체적인 카드정보 혹은 계좌정보와 같은 금융거래정보를 온라인상에서 전송하지 않으므로 해킹 등에 의해 금융거래정보가 유실될 수 있는 문제를 원천적으로 제거할 수 있는 효과가 있으며,As described above, the present invention does not transmit financial transaction information such as card number, CVC information, specific card information such as expiration date or account information online, and the problem that financial transaction information may be lost due to hacking or the like. Has an effect that can be removed,

더 나아가 OTP 전송만으로 금융거래가 이루어질 수 있음은 물론, 여러 가지의 금융거래정보를 입력할 필요가 없기 때문에 그만큼 사용자의 편의성을 도모하여 줄 수 있는 장점이 있다.Furthermore, financial transactions can be made only by OTP transmission, and there is no need to input various financial transaction information.

한편 본 발명은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에 통상의 지식을 지닌자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 예를 들면, 본 발명의 실시예에서는 발명의 이해를 돕기 위해 카드(금융) 결제 시스템내에 시드키 생성모듈과, 어플리케이션 전송모듈이 포함되는 것으로 하였으나, 시드키 생성모듈과 어플리케이션 전송모듈을 별도의 서비스 서버에 포함시켜 그 서버와 카드(금융) 결제 시스템이 서로 연동되도록 하여 본 발명의 목적을 달성될 수 있도록 구현할 수도 있을 것이다. 즉, 시드키 생성과 전송은 서비스 서버에서 수행하고, 카드(금융)결제 시스템은 그 생성된 시드키를 전송받아 고객별로 저장한후 그 시드키를 이용하여 생성된 OTP를 인증한 후에 카드결제 승인처리하는 시스템으로 제작할 수 있는 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.On the other hand, the present invention has been described with reference to the embodiments shown in the drawings, which are merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. For example, in the embodiment of the present invention, the seed key generation module and the application transmission module are included in the card (financial) payment system for the purpose of understanding the invention, but the seed key generation module and the application transmission module are separately provided. It may be implemented to be included in the server so that the server and the card (financial) payment system interwork with each other to achieve the object of the present invention. That is, seed key generation and transmission are performed in the service server, and the card (financial) payment system receives the generated seed key, stores it for each customer, and authenticates the generated OTP using the seed key. It can be produced as a system. Therefore, the true technical protection scope of the present invention should be defined only by the appended claims.

Claims (10)

고객의 금융거래정보와 그 금융거래정보에 기초하여 생성된 시드(SEED)키 정보를 고객정보 DB에 저장하기 위한 고객정보 저장모듈과;A customer information storage module for storing seed key information generated based on the financial transaction information of the customer and the financial transaction information in the customer information DB; 고객 단말기에서 생성된 OTP를 고객식별정보와 함께 네트워크를 통해 전송받아 그 OTP(One-Time Password)를 인증하기 위한 OTP 인증모듈과;An OTP authentication module for receiving the OTP generated by the customer terminal together with the customer identification information through the network and authenticating the OTP (One-Time Password); 상기 OTP 인증결과에 따라 전송받은 고객식별정보를 가지는 고객의 금융거래정보에 기초하여 금융결제 승인처리하는 금융결제 처리모듈;을 포함함을 특징으로 하는 OTP를 이용한 금융거래 시스템.And a financial settlement processing module for processing the financial settlement approval based on the financial transaction information of the customer having the customer identification information transmitted according to the OTP authentication result. 청구항 1에 있어서, OTP 발급요청시에 입력 혹은 저장된 고객의 금융거래정보에 기초하여 OTP 생성을 위한 시드키를 생성하는 시드키 생성모듈과;The seed key generation module of claim 1, further comprising: a seed key generation module configured to generate a seed key for generating an OTP based on financial transaction information of a customer input or stored at the time of issuing an OTP request; 상기 시드키를 고객 단말기측으로 전송하기 위한 어플리케이션 전송모듈;을 더 포함함을 특징으로 하는 OTP를 이용한 금융거래 시스템.Application transaction module for transmitting the seed key to the customer terminal side; financial transaction system using the OTP further comprising. 청구항 1 또는 청구항 2에 있어서, 상기 OTP 인증모듈은,The method according to claim 1 or 2, wherein the OTP authentication module, 네트워크를 통해 전송된 OTP에 부가되어 있는 이벤트 인덱스 정보를 생성하기 위한 이벤트 인덱스 정보 생성모듈과;An event index information generation module for generating event index information added to the OTP transmitted through the network; 금융거래 고객의 시드키 정보와 생성된 이벤트 인덱스 정보를 해시함수 인자로 설정하여 해쉬함수값을 계산하기 위한 해쉬함수 계산모듈과;A hash function calculation module for calculating a hash function value by setting seed key information and generated event index information of a financial transaction customer as a hash function factor; 계산된 해쉬함수값과 네트워크를 통해 전송된 OTP에 포함된 해쉬함수값을 비교하기 위한 OTP 비교모듈;을 포함함을 특징으로 하는 OTP를 이용한 금융거래 시스템.A financial transaction system using an OTP, comprising: an OTP comparison module for comparing the hash function value included in the OTP transmitted through the network with the calculated hash function value. 청구항 1 또는 청구항 2에 있어서, 상기 금융결제 처리모듈은 카드정보 혹은 계좌정보중 하나의 금융거래정보를 이용하여 금융결제 승인처리함을 특징으로 하는 OTP를 이용한 금융거래 시스템.The financial transaction system using the OTP according to claim 1 or 2, wherein the financial settlement processing module performs financial settlement approval processing using one of financial information of card information or account information. 청구항 2에 있어서, 상기 어플리케이션 전송모듈은 OTP 생성 어플리케이션 데이터를 고객 단말기측으로 추가 전송함을 특징으로 하는 OTP를 이용한 금융거래 시스템.The financial transaction system using OTP according to claim 2, wherein the application transmission module additionally transmits OTP generation application data to a customer terminal. 고객의 금융거래정보와 그 금융거래정보에 기초하여 생성된 시드키 정보를 고객정보 DB에 저장하기 위한 고객정보 저장모듈과;A customer information storage module for storing seed key information generated based on the financial transaction information of the customer and the financial transaction information in the customer information DB; 고객 단말기에서 생성된 OTP와 고객식별정보 및 금융결제를 위한 비밀번호를 네트워크를 통해 전송받아 해당 OTP를 인증하기 위한 OTP 인증모듈과;An OTP authentication module for authenticating the OTP by receiving the OTP generated by the customer terminal, the customer identification information and the password for financial settlement through a network; 상기 OTP 인증결과에 따라 전송받은 고객식별정보를 가지는 고객의 금융거래정보와 상기 비밀번호를 이용하여 금융결제 승인처리하는 금융결제 처리모듈;을 포함함을 특징으로 하는 OTP를 이용한 금융거래 시스템.And a financial settlement processing module for processing financial settlement approval using the financial transaction information and the password of the customer having the customer identification information transmitted according to the OTP authentication result. 청구항 6에 있어서, OTP 발급요청시에 입력 혹은 저장된 고객의 금융거래정보에 기초하여 OTP 생성을 위한 시드키를 생성하는 시드키 생성모듈과;The method according to claim 6, Seed key generation module for generating a seed key for generating the OTP based on the financial transaction information of the customer input or stored at the time of the OTP issuing request; 상기 시드키와 OTP 생성 어플리케이션 데이터를 고객 단말기측으로 전송하기 위한 어플리케이션 전송모듈;을 더 포함함을 특징으로 하는 OTP를 이용한 금융거래 시스템.And an application transmission module for transmitting the seed key and the OTP generated application data to a customer terminal. 청구항 6 또는 청구항 7에 있어서, 상기 OTP 인증모듈은,The method according to claim 6 or 7, wherein the OTP authentication module, 네트워크를 통해 전송된 OTP에 부가되어 있는 이벤트 인덱스 정보를 생성하기 위한 이벤트 인덱스 정보 생성모듈과;An event index information generation module for generating event index information added to the OTP transmitted through the network; 상기 시드정보와 생성된 이벤트 인덱스 정보를 해시함수 인자로 설정하여 해쉬함수값을 계산하기 위한 해쉬함수 계산모듈과;A hash function calculation module for calculating a hash function value by setting the seed information and generated event index information as a hash function factor; 계산된 해쉬함수값과 네트워크를 통해 전송된 OTP에 포함된 해쉬함수값을 비교하기 위한 OTP 비교모듈;을 포함함을 특징으로 하는 OTP를 이용한 금융거래 시스템.A financial transaction system using an OTP, comprising: an OTP comparison module for comparing the hash function value included in the OTP transmitted through the network with the calculated hash function value. 청구항 8에 있어서, 상기 이벤트 인덱스 정보 생성모듈은,The method according to claim 8, wherein the event index information generating module, 네트워크를 통해 전송된 OTP에 부가되어 있는 이벤트 인덱스 정보를 끝자리로 가지는 이벤트 인덱스 정보들을 순차 생성함을 특징으로 하는 OTP를 이용한 금융거래 시스템.A financial transaction system using an OTP, characterized in that it generates sequentially the event index information having the event index information added to the OTP transmitted through the network to the end. 청구항 6 또는 청구항 7에 있어서, 상기 금융결제 처리모듈은 카드정보 혹은 계좌정보중 어느 하나의 금융거래정보를 이용하여 금융결제 승인처리함을 특징으로 하는 OTP를 이용한 금융거래 시스템.The financial transaction system using the OTP according to claim 6 or 7, wherein the financial settlement processing module performs financial settlement approval processing by using any one of the financial transaction information of the card information or the account information.
KR1020070028792A 2007-03-23 2007-03-23 Finance trade system using a otp KR100968941B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070028792A KR100968941B1 (en) 2007-03-23 2007-03-23 Finance trade system using a otp

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070028792A KR100968941B1 (en) 2007-03-23 2007-03-23 Finance trade system using a otp

Publications (2)

Publication Number Publication Date
KR20080086733A true KR20080086733A (en) 2008-09-26
KR100968941B1 KR100968941B1 (en) 2010-07-14

Family

ID=40025894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070028792A KR100968941B1 (en) 2007-03-23 2007-03-23 Finance trade system using a otp

Country Status (1)

Country Link
KR (1) KR100968941B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050232B1 (en) * 2009-03-31 2011-07-19 루멘소프트 (주) One-time password generation system in a medium capable of bidirectional communication and its delivery method
KR101718948B1 (en) 2015-10-02 2017-03-23 황순영 Integrated certification system using one time random number
KR20210012518A (en) * 2019-07-25 2021-02-03 에스지에이 주식회사 A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210411B1 (en) 2011-02-15 2012-12-10 동서대학교산학협력단 Transaction Protection System and Method using Connection of Certificate and OTP Generated by Keystream
KR20190123521A (en) 2018-04-24 2019-11-01 (주)비스키트 Method for registering device and communicating using one time password
KR102030554B1 (en) 2018-04-24 2019-10-10 (주)비스키트 Method for purchasing using pattern recognition and one time password

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100412986B1 (en) * 2003-03-03 2003-12-31 Initech Co Ltd Method for generating and authenticating one-time password using synchronization and readable recording medium of storing program for generating one-time password
KR101463451B1 (en) * 2005-08-04 2014-11-20 주식회사 비즈모델라인 System for Processing Transaction by using Token Code

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050232B1 (en) * 2009-03-31 2011-07-19 루멘소프트 (주) One-time password generation system in a medium capable of bidirectional communication and its delivery method
KR101718948B1 (en) 2015-10-02 2017-03-23 황순영 Integrated certification system using one time random number
WO2017057899A1 (en) * 2015-10-02 2017-04-06 황순영 Integrated authentication system for authentication using single-use random numbers
KR20210012518A (en) * 2019-07-25 2021-02-03 에스지에이 주식회사 A method of saving and using OTP backup codes or temporal user OTP codes by using multi-dimensional barcode

Also Published As

Publication number Publication date
KR100968941B1 (en) 2010-07-14

Similar Documents

Publication Publication Date Title
US11861610B2 (en) Public ledger authentication system
US11769186B2 (en) Use verification code for validating an exchange item use request
US11329822B2 (en) Unique token authentication verification value
US20220114591A1 (en) Payer-controlled payment processing
US11010751B2 (en) Performing transactions using virtual card values
US20220114586A1 (en) Generating dynamic exchange item information for redistributing an exchange item
US11250391B2 (en) Token check offline
JP5575935B2 (en) System and method for validating financial instruments
US8620810B2 (en) Methods and systems for verifying transactions
CN109636593B (en) System and method for authenticating a user in a network transaction
WO2018026921A1 (en) Cross-brand redemption in an exchange item marketplace network
US20070094152A1 (en) Secure electronic transaction authentication enhanced with RFID
US20060089919A1 (en) Transaction processing
US20070170247A1 (en) Payment card authentication system and method
AU2011207602B2 (en) Verification mechanism
CN108292398A (en) Utilize holder's authentication token of enhancing
KR100968941B1 (en) Finance trade system using a otp
KR20080064789A (en) Mobile handset based ubiquitous payment service
US20210117967A1 (en) Authentication for secure transactions in a multi-server environment
US20200242573A1 (en) Cryptographic transactions supporting real world requirements
CN112753042A (en) System, method and computer program product for providing an identity storage browser
US20230009385A1 (en) Transaction authentication method, server and system using two communication channels
KR20200144967A (en) E-commerce Payment Method using Block Chain
US20240127246A1 (en) Payer-controlled payment processing
CN113837762B (en) Digital currency payment method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20081017

Effective date: 20100527

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130625

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150616

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170621

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9