KR101751887B1 - Method for generating one-time card code, approving card payment, reader and server thereof - Google Patents
Method for generating one-time card code, approving card payment, reader and server thereof Download PDFInfo
- Publication number
- KR101751887B1 KR101751887B1 KR1020150188562A KR20150188562A KR101751887B1 KR 101751887 B1 KR101751887 B1 KR 101751887B1 KR 1020150188562 A KR1020150188562 A KR 1020150188562A KR 20150188562 A KR20150188562 A KR 20150188562A KR 101751887 B1 KR101751887 B1 KR 101751887B1
- Authority
- KR
- South Korea
- Prior art keywords
- card
- code
- settlement
- payment
- disposable
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/409—Device specific authentication in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명은 일회용 카드 코드 생성 방법, 그를 이용한 카드 결제 승인 방법,카드 리더기 및 서버에 관한 것으로, 그 방법은 결제에 사용될 카드를 리딩하여 카드 번호를 획득하는 단계; 카드 리더기에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 단계; 및 생성된 랜덤 코드와 획득된 카드 번호를 이용하여 카드를 식별하기 위한 일회용 카드 코드를 생성하는 단계를 포함한다.The present invention relates to a method of generating a one-time card code, a card payment acceptance method using the same, a card reader and a server, and more particularly, to a card reader and a server. Generating a random code using a secret key and time information assigned to the card reader; And generating a one-time card code for identifying the card using the generated random code and the acquired card number.
Description
본 발명은 결제 시스템에서 카드 리더를 이용하여 획득된 카드 번호를 이용하여 일회용 카드 코드를 생성하는 방법에 관한 것이다.The present invention relates to a method of generating a disposable card code using a card number obtained using a card reader in a payment system.
통상적으로, 카드 결제 단말기에는 카드의 마그네틱 스트립에 인코딩(Encoding)된 카드 정보를 리딩하기 위해 자기 스트립 리더(Magnetic stripe reader :MSR) 모듈이 구비된다. 이때, 자기 스트립 리더를 통해 리딩된 카드 정보는 아날로그 신호 형태로, 암호화되지 않은 평문 정보 상태이다.Typically, a card payment terminal is equipped with a magnetic stripe reader (MSR) module for reading the encoded card information on the magnetic strip of the card. At this time, the card information read through the magnetic strip reader is in the form of an analog signal and is in an unencrypted plaintext information state.
또한, 스마트카드라 불리는 IC 카드는 마이크로프로세서(microprocessor)와 메모리가 내장된 카드로서, 카드 내에서 정보의 저장과 처리가 가능해 마그네틱카드의 위변조 위험을 최소화하고 다양한 서비스를 제공할 수 있는 결제 수단이다. 기존의 마그네틱 카드에 비해 저장 용량이 월등하여 별도의 정보 저장이 요구되는 다양한 부가 기능을 수행할 수 있으며, 보안문제를 개선시킬 수 있다는 장점이 있다.In addition, an IC card called a smart card is a card having a microprocessor and a memory, and can store and process information in the card, thereby minimizing the risk of forgery and alteration of the magnetic card and providing a variety of services . The storage capacity is higher than that of the conventional magnetic card, so that it is possible to perform various additional functions requiring additional information storage, and the security problem can be improved.
IC 카드는 사용 방법에 따라서 접촉식과 비접촉식으로 나뉘기도 하는데, 카드 정면에 금속 패턴이 있는 것이 접촉식 IC 카드로 가장 일반적인 IC카드의 형태이며, 비접촉식 IC카드는 카드 안에 무선 통신이 가능한 모듈 및 안테나를 내장하여, 카드 결제 단말기에 구비된 IC 카드 리더기를 통해 카드 정보의 리딩이 가능하다.IC card is divided into contact type and non-contact type depending on the method of use. The contact type IC card is a type of IC card having a metal pattern on the front face of a card. The contactless type IC card includes a module and an antenna So that card information can be read through an IC card reader provided in the card payment terminal.
이러한 카드 결제 단말기가 온/오프 전용라인을 통하여 중계 서버 또는 VAN 사 서버와 연결되어 신용카드 결제 업무가 수행되는 것이 일반적이다. 이 경우, 결제에 사용되는 카드 번호 등의 개인 정보가 해킹 등에 의해 외부로 누출되어 악용되는 문제점이 있다.Such a card settlement terminal is generally connected to a relay server or a VAN company server through a dedicated on / off line to perform a credit card settlement service. In this case, there is a problem that personal information such as a card number used for payment is leaked to the outside by hacking or the like and is abused.
본 발명은 카드 번호 등에 대한 보안성을 향상시킬 수 있는 일회용 카드 코드 생성 방법, 그를 이용한 카드 결제 승인 방법, 카드 리더기 및 서버를 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a method of generating a one-time card code capable of improving the security of a card number and the like, a card payment acceptance method using the same, a card reader and a server.
상기와 같은 과제를 해결하기 위한 본 발명의 일실시예에 따른 일회용 카드 코드 생성 방법은 카드 리더기에서 결제에 사용될 일회용 카드 코드를 생성하며, 결제에 사용될 카드를 리딩하여 카드 번호를 획득하는 단계; 상기 카드 리더기에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 단계; 및 상기 생성된 랜덤 코드와 상기 획득된 카드 번호를 이용하여, 상기 카드를 식별하기 위한 일회용 카드 코드를 생성하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of generating a one-time use card code, the method comprising: generating a disposable card code to be used for settlement in a card reader; reading a card to be used for settlement; Generating a random code using a secret key and time information assigned to the card reader; And generating a disposable card code for identifying the card using the generated random code and the acquired card number.
본 발명의 일실시예에 따른 카드 결제 승인 방법은 결제 서버에서 일회용 카드 코드를 이용하여 카드 결제를 승인하며, 일회용 카드 코드를 이용하여 생성된 승인 요청 전문을 결제 단말 장치로부터 수신하는 단계; 상기 결제 단말 장치와 연결된 카드 리더기의 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 단계; 상기 생성된 랜덤 코드와 상기 승인 요청 전문으로부터 추출된 일회용 카드 코드를 이용하여, 결제에 사용될 실제 카드 번호를 획득하는 단계; 및 상기 획득된 카드 번호를 이용하여 카드 결제에 대한 승인을 처리하는 단계를 포함한다.The method of accepting a credit card according to an embodiment of the present invention includes the steps of: accepting a card settlement using a disposable card code in a settlement server; receiving an approval request text generated using a disposable card code from a settlement terminal; Generating a random code using a secret key and time information of a card reader connected to the payment terminal; Obtaining an actual card number to be used for settlement using the generated random code and the disposable card code extracted from the approval request telegram; And processing approval for card settlement using the obtained card number.
본 발명의 일실시예에 따른 카드 리더기는, 결제에 사용될 카드를 리딩하여 카드 번호를 획득하는 리더부; 상기 카드 리더기에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하고, 상기 생성된 랜덤 코드와 상기 획득된 카드 번호를 이용하여 상기 카드를 식별하기 위한 일회용 카드 코드를 생성하는 코드 생성부; 및 상기 생성된 일회용 카드 코드를 결제 단말 장치로 전송하는 인터페이스부를 포함한다.A card reader according to an embodiment of the present invention includes a reader unit for reading a card to be used for settlement and obtaining a card number; A code generator for generating a random code using the secret key and the time information given to the card reader and generating a disposable card code for identifying the card using the generated random code and the obtained card number; And an interface unit for transmitting the generated disposable card code to the payment terminal.
본 발명의 일실시예에 따른 결제 서버는, 일회용 카드 코드를 이용하여 생성된 승인 요청 전문을 결제 단말 장치로부터 수신하는 통신부; 상기 결제 단말 장치와 연결된 카드 리더기의 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 코드 생성부; 상기 생성된 랜덤 코드와 상기 승인 요청 전문으로부터 추출된 일회용 카드 코드를 이용하여, 결제에 사용될 실제 카드 번호를 획득하는 카드번호 획득부; 및 상기 획득된 카드 번호를 이용하여 카드 결제에 대한 승인을 처리하는 승인 처리부 포함한다.The payment server according to an embodiment of the present invention includes a communication unit for receiving an approval request telegram generated using a disposable card code from a payment terminal device; A code generator for generating a random code using a secret key and time information of a card reader connected to the payment terminal; A card number obtaining unit for obtaining an actual card number to be used for settlement using the generated random code and the disposable card code extracted from the approval request text; And an approval processing unit for processing approval for card settlement using the obtained card number.
한편, 상기 일회용 카드 코드 생성 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.Meanwhile, the disposable card code generation method may be embodied as a computer-readable recording medium on which a program for execution by a computer is recorded.
본 발명의 일실시예에 따르면, 카드 리더기 고유의 비밀키와 카드 번호를 이용하여 카드 리더기에서 일회용 카드 코드를 생성하여 결제에 사용함으로써, 해킹 등으로 인한 카드 번호의 누출을 방지하여 보안성을 향상시킬 수 있다.According to an embodiment of the present invention, a one-time use card code is generated in a card reader by using a secret key and a card number unique to the card reader, and used for payment, thereby preventing leakage of a card number due to hacking, .
또한, 비밀키와 카드 번호를 이용하여 생성된 일회용 카드 코드는 시간 정보에 따라 랜덤성을 가짐과 동시에 해당 카드를 식별하기 위한 유일성이 보장될 수 있다.In addition, the disposable card code generated using the secret key and the card number has randomness according to the time information, and uniqueness for identifying the card can be assured.
도 1은 본 발명에 따른 결제 시스템의 구성에 대한 일실시예를 나타내는 블록도이다.
도 2는 본 발명의 일실시예에 따른 카드 리더기의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 따른 일회용 카드 코드 생성 방법을 나타내는 흐름도이다.
도 4는 결제 단말 장치에 저장되는 결제 승인 내역의 구성에 대한 일실시예를 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 결제 서버의 구성을 나타내는 블록도이다.
도 6은 본 발명의 일실시예에 따른 카드 결제 승인 방법을 나타내는 흐름도이다.
도 7은 본 발명에 따른 결제 시스템의 구성에 대한 또 다른 실시예를 나타내는 블록도이다.1 is a block diagram showing an embodiment of a billing system according to the present invention.
2 is a block diagram showing a configuration of a card reader according to an embodiment of the present invention.
3 is a flowchart illustrating a method of generating a disposable card code according to an embodiment of the present invention.
4 is a diagram showing an embodiment of a configuration of payment approval details stored in a payment terminal device.
5 is a block diagram illustrating a configuration of a payment server according to an embodiment of the present invention.
6 is a flowchart illustrating a card payment approval method according to an embodiment of the present invention.
FIG. 7 is a block diagram illustrating another embodiment of a billing system according to the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when a part is referred to as "including " an element, it does not exclude other elements unless specifically stated otherwise.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, the term " part " includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be implemented using two or more hardware, or two or more units may be implemented by one hardware.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.In this specification, some of the operations or functions described as being performed by the terminal or the device may be performed in the server connected to the terminal or the device instead. Similarly, some of the operations or functions described as being performed by the server may also be performed on a terminal or device connected to the server.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
도 1은 본 발명에 따른 결제 시스템의 구성에 대한 일실시예를 블록도로 도시한 것으로, 도시된 결제 시스템(10)은 카드 리더기(100), 결제 단말 장치(200) 및 결제 서버(200)를 포함하여 구성될 수 있다.FIG. 1 is a block diagram of a billing system according to an embodiment of the present invention. The
도 1을 참조하면, 카드 리더기(100)는 구매자의 카드로부터 카드 정보를 읽어들이기 위한 리더부(예를 들어, 마그네틱 리더, IC 카드 리더 또는 NFC 리더 등)를 포함하여, 결제에 사용될 카드로부터 카드 번호 등의 카드 정보를 획득하여 결제 단말 장치(200)로 제공한다.1, the
결제 단말 장치(200)가 구비된 가맹점에서 신용 카드 등을 이용한 카드 결제가 있는 경우, 결제 단말 장치(200)는 카드 리더기(100)로부터 수신된 카드 번호 등을 이용해 해당 카드 결제에 대한 승인 요청 전문을 생성하여 결제 서버(300)로 전송한다.In the case where a payment is made using a credit card or the like at an affiliated store equipped with the
결제 단말 장치(200)는 유선 또는 무선 인터넷을 이용하여 결제 서버(300)와 통신 가능한 개인용 컴퓨터(PC), 휴대폰 또는 태블릿 등과 같은 장치일 수 있으나, 본 발명은 이에 한정되지 아니한다.The
본 발명의 일실시예에 따르면, 결제 단말 장치(200)는 상기한 바와 같은 기능 이외에 점포 판매 시스템과 결합되어 POS(Point Of Sales) 시스템의 형태로 구현되거나, 또는 무선 인터넷이나 공중전화망 등을 이용해 결제 서버(300)와 통신하는 CAT(Card Authorization Terminal)의 형태로 구현될 수 있다.According to one embodiment of the present invention, besides the functions described above, the
이 경우, 카드 리더기(100)는 가맹점에 구비된 결제 단말 장치(200)에 포함되어 구성될 수 있다.In this case, the
또한, 결제 단말 장치(200)는 스마트폰과 같은 휴대용 단말기에 결제 처리를 위한 애플리케이션이 설치되어 구현될 수도 있으며, 이 경우 카드 리더기(100)는 휴대용 단말기의 오디오 잭 등을 통해 결제 단말 장치(200)와 연결될 수 있다.In addition, the
도 1에서는, 결제 서버(300)를 편의상 하나의 서버 형태로 이루어지는 것으로 도시하여 본 발명의 기술적 특징으로 설명하고 있으나, 이에 의해 본 발명이 한정되는 것은 결코 아니며, 결제 서버(300)는 각 구성요소(또는 수단) 별로 두개 이상의 서버 군 형태로 실시되는 것이 가능하며, 본 발명은 상기 유추 가능한 모든 실시 방법을 포함하여 이루어지는 것을 특징으로 한다.In FIG. 1, the
예를 들어, 결제 서버(300)는 밴(VAN)사에서 운영하는 결제 대행 서버와 카드사에서 운영하는 카드사 서버를 포함하여 구성될 수 있으며, 결제 단말 장치(200)는 밴사의 망을 이용해 결제 대행 서버를 통하여 카드사 서버에서 카드 결제 승인을 받아 거래를 완성할 수 있다.For example, the
결제 단말 장치(200)와 밴사의 결제 대행 서버는 소정의 네트워크망(예컨대, 전화 인터넷 등)으로 연결되고 있고, 상기 밴사의 결제 대행 서버와 해당 신용카드사의 거래 승인 시스템인 카드사 서버는 전용 패킷망으로 연결되어 있을 수 있다.The
상기와 같은 결제 대행 서버는 결제 단말 장치(200)로부터 수신한 결제 승인 요청 전문을 카드사 서버로 전송하고, 해당 카드 결제를 승인한 카드사 서버로부터 승인 결과 전문을 수신한다.The settlement proxy server transmits the payment approval request received from the
예를 들어, 결제 대행 서버는 카드 결제 승인 요청을 위해, 상기 승인 요청 전문 내의 이용자 정보에 수록된 신용카드사 정보를 독출하여 해당 신용카드사의 카드사 서버로 거래 승인 요구와 관련된 데이터를 전송할 수 있다.For example, the payment agency server may read the credit card company information included in the user information in the approval request text and transmit data related to the transaction approval request to the card company server of the credit card company in order to request the card payment approval.
상기 거래 승인 요구와 관련된 데이터를 수신한 카드사 서버는 거래 승인 요구와 관련된 데이터에 포함된 이용자정보, 상품주문정보, 결제금액, 가맹점정보를 각각 자사의 회원자료 또는 가맹점 자료와 비교하여 신용카드 이용자와 가맹점간에 발생되는 거래가 타당한지를 확인한다.Upon receiving the data related to the transaction approval request, the card company server compares the user information, the product order information, the payment amount, and the merchant information included in the data related to the transaction approval request with its member data or merchant data, Confirm whether the transaction between merchants is valid.
한편, 카드사 서버는 상기 거래 승인 요구에 대한 거래 승인 결과를 결제 승인 요청을 중계한 밴사의 결제 대행 서버로 전송하며, 결제 대행 서버는 승인번호 데이터를 저장한 후 해당 가맹점의 결제 단말 장치(200)로 전송할 수 있다.On the other hand, the card company server transmits the transaction approval result for the transaction approval request to the payment agent server of the relaying agency of the payment approval request. The payment agent server stores the authorization number data, Lt; / RTI >
그러면, 결제 대행 서버는 상기 승인 결과 전문을 결제 단말 장치(200)로 전송하고, 상기 승인 결과 전문을 정상적으로 수신한 결제 단말 장치(200)는 확인(ACK) 메시지를 결제 대행 서버로 전송할 수 있다.Then, the payment agent server transmits the approval result message to the
한편, 결제 단말 장치(200)로부터 상기 확인 메시지를 정상적으로 수신한 결제 대행 서버는, 결제 단말 장치(200)로 상기 확인 메시지가 정상적으로 수신되었음을 알리는 완료 메시지를 전송할 수 있다.On the other hand, the payment agent server that has normally received the confirmation message from the
그 후, 상기한 절차에 따라 완료 메시지를 정상적으로 수신한 결제 단말 장치(200)는 해당 결제 승인에 따른 매출 전표를 출력할 수 있다.Thereafter, the
상기한 바와 같은 카드 결제 승인 과정에서, 카드 리더기(100)는 보안을 위해 카드를 리딩하여 획득한 카드 정보 중 적어도 일부, 예를 들어 카드 번호를 소정의 암호화키로 암호화하여 결제 단말 장치(200)로 전달하고, 결제 단말 장치(200)는 상기 암호화된 카드 번호를 포함하는 결제 승인 요청 전문을 결제 서버(300)로 전송할 수 있다.The
결제 서버(300)는 상기 결제 단말 장치(200)로부터 수신된 결제 승인 요청 전문으로부터 암호화된 카드 번호를 추출하고, 상기 추출된 암호화된 카드 번호를 복호화하여 해당 결제에 대한 승인을 처리할 수 있다.The
본 발명의 일실시예에 따르면, 카드 리더기(100)가 고유의 비밀키와 카드 번호를 이용하여 일회용 카드 코드를 생성하여 실제 카드 번호가 아닌 가상의 일회용 카드 코드가 카드 결제에 사용되도록 함으로써, 카드 리더기(100)와 결제 단말 장치(200) 사이 또는 결제 단말 장치(200)와 결제 서버(300) 사이의 통신에서 해킹 등으로 인한 카드 번호의 누출을 방지하여 보안성을 향상시킬 수 있다.According to one embodiment of the present invention, the
도 2는 본 발명의 일실시예에 따른 카드 리더기의 구성을 블록도로 도시한 것으로, 도시된 카드 리더기(100)는 리더부(110), 코드 생성부(120) 및 인터페이스부(130)를 포함할 수 있다.2 is a block diagram illustrating a configuration of a card reader according to an exemplary embodiment of the present invention. The
도 2를 참조하면, 리더부(110)는 결제에 사용될 카드를 리딩하여 카드 번호를 획득할 수 있다.Referring to FIG. 2, the
코드 생성부(120)는 카드 리더기(100)에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하고, 상기 생성된 랜덤 코드와 리더부(110)를 통해 획득된 카드 번호를 이용하여 해당 카드를 식별하기 위한 일회용 카드 코드를 생성할 수 있다.The
여기서, 상기 비밀키는 랜덤 코드의 생성을 위해 결제 서버(300)가 카드 리더기(100)에 부여한 것으로, 카드 리더기(100)의 제조 시에 부여되어 메모리(140)에 저장되어 있거나 또는 카드 리더기(100)가 결제 단말 장치(200)에 연결되어 사용을 위한 최초 등록 시에 결제 서버(300)로부터 수신된 후 메모리(140)에 저장된 것일 수 있다.Here, the secret key is given to the
한편, 인터페이스부(130)는 상기 코드 생성부(120)에서 생성된 일회용 카드 코드를 결제 단말 장치(200)로 전송할 수 있다.Meanwhile, the
도 3은 본 발명의 일실시예에 따른 일회용 카드 코드 생성 방법을 흐름도로 도시한 것으로, 도 2에 도시된 바와 같은 구성을 가지는 카드 리더기(100)에서 일회용 카드 코드를 생성하는 방법을 나타낸 것이다.FIG. 3 is a flowchart illustrating a method of generating a disposable card code according to an exemplary embodiment of the present invention. Referring to FIG. 3, a method of generating a disposable card code in a
도 3을 참조하면, 카드 리더기(100)의 리더부(110)는 결제에 사용될 카드를 리딩하여 카드 번호를 획득하고(S300 단계), 코드 생성부(120)는 카드 리더기(100)에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성한다(S310 단계).3, the
예를 들어, 코드 생성부(181)는 카드 리더기(100)에 부여된 비밀키와 현재 시간에 대응되는 시간 정보를 이용하여 랜덤 코드를 생성하며, 상기 랜덤 코드는 시간에 따라 상이한 값을 가지는 일회용 패스워드(OTP, One Time Password)와 유사한 방식으로 생성될 수 있다.For example, the code generator 181 generates a random code using a secret key given to the
상기 시간 정보는 상기 랜덤 코드가 생성되는 시점에 대응되는 현재 시간으로 설정되거나, 또는 미리 설정된 시간 단위로 변경되는 정보일 수도 있다. 예를 들어, 상기 시간 정보가 1분 단위로 변경되는 경우, 동일한 단말 장치에서 생성되는 랜덤 코드는 현재 시간을 기준으로 1분 마다 랜덤하게 변경될 수 있다.The time information may be set to a current time corresponding to a time point at which the random code is generated, or may be information that is changed in a predetermined time unit. For example, when the time information is changed in units of one minute, the random code generated in the same terminal device may be changed randomly every minute based on the current time.
상기 비밀키는 상기 S310 단계 이전에 이미 결제 서버(300)로부터 수신되어 메모리(140)에 저장되어 있을 수 있다.The secret key may be received from the
한편, 상기 S310 단계 이전에 상기 랜덤 코드를 생성하기 위한 카드 리더기(100) 고유의 비밀키가 메모리(140)에 저장되어 있지 않은 경우, 카드 리더기(100)는 결제 단말 장치(200)를 통해 결제 서버(300)로 비밀키의 부여를 요청하여 수신할 수 있다.If the secret key unique to the
코드 생성부(120)는 상기 S310 단계에서 생성한 랜덤 코드와 상기 S300 단계에서 획득된 카드 번호를 이용하여, 해당 카드를 식별하기 위한 일회용 카드 코드를 생성한다(S320 단계).The
예를 들어, 카드 리더기(100)는 랜덤 코드를 생성하기 위한 고유의 비밀키 이외에 일회용 카드 코드를 매핑(mapping) 하기 위한 문자 세트를 더 획득할 수 있다.For example, the
이 경우, 코드 생성부(120)는 상기 S310 단계에서 생성한 랜덤 코드와 카드 번호의 합산 결과를 상기 문자 세트에 매핑하여 제1 서브 코드를 생성하고, 상기 랜덤 코드를 상기 문자 세트에 매핑하여 제2 서브 코드를 생성하며, 상기 제1 서버 코드와 제2 서브 코드를 이용하여 일회용 카드 코드를 생성할 수 있다.In this case, the
좀 더 구체적으로, 코드 생성부(120)는 카드 번호를 랜덤 코드와 합산한 결과를 문자 세트에 매핑하여 제1 서브 코드를 생성할 수 있다.More specifically, the
또는, 코드 생성부(120)는 상기 카드 번호와 랜덤 코드의 합산 결과에 대하여 문자 세트의 크기로 모드(mod) 연산을 수행하고, 상기 모드 연산 수행 결과를 문자 세트에 매핑하여 상기 제1 서브 코드를 생성할 수도 있다.Alternatively, the
또한, 코드 생성부(120)는 상기 카드 번호와 랜덤 코드의 합산 결과에 기설정된 오프셋을 적용하고, 상기 오프셋 적용된 합산 결과를 문자 세트에 매핑하여 상기 제1 서브 코드를 생성할 수도 있다.Also, the
그리고 코드 생성부(120)는 상기 오프셋 적용된 합산 결과에 대하여 문자 세트의 크기로 모드(mod) 연산을 수행하고, 상기 합산 결과에 대한 모드 연산 수행 결과를 문자 세트에 매핑하여 상기 제1 서브 코드를 생성할 수도 있다.Then, the
코드 생성부(120)는 랜덤 코드에 기설정된 오프셋을 적용하고, 오프셋 적용된 랜덤 코드를 문자 세트에 매핑하여 상기 제2 서브 코드를 생성할 수 있다.The
또는, 코드 생성부(120)는 상기 오프셋 적용된 랜덤 코드에 대하여 문자 세트의 크기로 모드(mod) 연산을 수행하고, 상기 모드 연산 수행 결과를 문자 세트에 매핑하여 상기 제2 서브 코드를 생성할 수도 있다.Alternatively, the
코드 생성부(120)는 기본 문자 세트를 획득하고, 상기 기본 문자 세트의 원소를 셔플링(shuffling)하여 상기 문자 세트를 획득할 수 있다.The
상기 비밀키는 모든 카드 리더들에 동일할 수도 있으며, 이 경우 비밀키를 이용하여 생성된 랜덤 코드에 대한 기본 문자 세트의 원소의 개수의 모드(mod) 연산 결과를 이용하여 기본 문자 세트의 각 자리 원소를 다른 자리의 원소와 스와핑(swapping)할 수도 있다.The secret key may be the same for all card readers. In this case, the random number generated by using the secret key may be calculated by using the mode calculation result of the number of elements of the basic character set, You can also swap an element with another element.
이하, 비밀키와 시간 정보를 이용하여 생성된 랜덤 코드가 "3829012354284164" 이고, 카드 번호가 "1234-5678-9012-3456"이며, 문자 세트가 { '0', '1', '2', …, '9', ,'A', 'B', …, 'Z' }인 경우를 예로 들어, 상기 일회용 카드 코드를 생성하는 방법에 대한 일실시예를 설명하기로 한다.Hereinafter, the random code generated using the secret key and time information is "3829012354284164 ", the card number is " 1234-5678-9012-3456 ", and the character set is {0, ... , '9', 'A', 'B', ... , 'Z'} will be described as an example of a method of generating the disposable card code according to an embodiment of the present invention.
먼저, 카드 번호 "1234-5678-9012-3456"는 {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}의 숫자 코드로 변환될 수 있다.First, the card number "1234-5678-9012-3456" is a numeric code of {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6} Lt; / RTI >
그 후, 랜덤 코드인 {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4}와 상기 카드 번호가 변환된 숫자 코드인 {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}를 합산하면 {4,10,5,13,5,7,9,11,14,4,3,10,7,5,11,10}가 된다. 여기서, 합산 결과 중 문자 세트의 원소의 총 개수인 36을 초과하는 숫자는 36으로 모드 연산을 수행한 결과로 치환된 수 있다.Thereafter, the random code {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4} and the numeric code of which the card number is converted { 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}, the sum of {4,10,5,13,5,7,9, 11, 14, 4, 3, 10, 7, 5, 11, 10}. Here, a number exceeding 36, which is the total number of elements of the character set in the sum result, may be replaced with a result of performing mode operation by 36.
상기 합산 결과인 {4,10,5,13,5,7,9,11,14,4,3,10,7,5,11,10}을 문자 세트에 매핑하여 "4A5D579BE43A75BA"의 제1 서브 코드가 획득될 수 있다.4, 10, 5, 11, 14, 4, 3, 10, 7, 11, 10} as the sum result is mapped to the character set to generate the first sub-data of "4A5D579BE43A75BA" The code can be obtained.
또한, 랜덤 코드인 {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4}에 의해 "3829012354284164"의 제2 서브 코드를 획득되며, 상기와 같이 획득된 제1 서브 코드와 제2 서브 코드를 연결하여 "4A5D579BE43A75BA3829012354284164"의 일회용 카드 코드가 생성될 수 있다.Further, the second subcode of "3829012354284164" is acquired by the random code {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4} And the disposable card code of "4A5D579BE43A75BA3829012354284164" may be generated by connecting the first subcode and the second subcode obtained as described above.
본 발명의 또 다른 실시예에 따르면, 상기 제1 서브 코드, 예를 들어 "4A5D579BE43A75BA"가 일회용 카드 코드로 사용될 수도 있다.According to another embodiment of the present invention, the first subcode, for example "4A5D579BE43A75BA" may be used as a disposable card code.
상기와 같이 카드 리더기(100)에 부여된 비밀키와 카드 번호를 이용하여 생성된 일회용 카드 코드는 시간 정보에 따라 랜덤성을 가짐과 동시에, 해당 카드를 식별하기 위한 유일성이 보장될 수 있다.As described above, the disposable card code generated using the secret key and the card number assigned to the
그 후, 인터페이스부(130)는 상기 S320 단계에서 생성된 일회용 카드 코드를 결제 단말 장치(200)로 전송한다(S330 단계).Thereafter, the
이 경우, 결제 단말 장치(200)는 상기 카드 리더기(100)로부터 전송받은 일회용 카드 코드를 이용해 승인 요청 전문을 생성하여 결제 서버(300)로 전송할 수 있다.In this case, the
결제 서버(300)로부터 해당 결제를 승인하는 승인 결과 전문이 수신되는 경우, 도 4에 도시된 바와 같이, 결제 단말 장치(200)는 결제 일시와 금액 및 승인 번호 등을 포함하는 결제 승인 내역을 상기 일회용 카드 코드와 함께 저장하여 거래 내역들을 관리할 수 있다.4, the
상기와 같이 저장된 일회용 카드 코드는 추후 정산 및 결제 승인 취소 등에 이용될 수 있다.The stored disposable card code can be used for later settlement and cancellation of payment approval.
상기한 바와 같이, 결제 단말 장치(200)에 실제 카드 번호가 아닌 가상의 일회용 카드 코드가 저장되어 그를 이용해 거래 내역이 관리됨에 따라, 결제 단말 장치(200)에 대한 해킹 등으로 인해 카드 번호가 누출되는 것을 방지할 수 있다.As described above, since a virtual one-time card code other than the actual card number is stored in the
도 5는 본 발명의 일실시예에 따른 결제 서버의 구성을 블록도로 도시한 것으로, 도시된 결제 서버(00)는 통신부(310), 코드 생성부(320), 카드번호 획득부(330), 승인 처리부(340), 제어부(350) 및 메모리(360)를 포함할 수 있다.5 is a block diagram illustrating a configuration of a payment server according to an exemplary embodiment of the present invention. The payment server 00 includes a
도 5를 참조하면, 결제 서버(300)의 통신부(310)는 일회용 카드 코드를 이용하여 생성된 승인 요청 전문을 결제 단말 장치(200)로부터 수신할 수 있다.Referring to FIG. 5, the
코드 생성부(320)는 결제 단말 장치(200)와 연결된 카드 리더기(100)의 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성할 수 있다.The
여기서, 결제 서버(300)의 메모리(360)에는 상기 카드 리더기(100)를 포함하는 복수의 카드 리더기들 각각에 부여된 비밀키들이 저장되어 있을 수 있다.Here, the
제어부(320)는 결제 단말 장치(200)로부터 수신된 승인 요청 전문으로부터 카드 리더기(100)에 대한 식별 정보를 추출할 수 있으며, 상기 추출된 카드 리더기 식별 정보를 이용하여 카드 리더기(100)에 부여된 비밀키를 메모리(360)로부터 읽어들여 상기 코드 생성부(320)로 전달할 수 있다.The
또는, 제어부(320)가 상기 승인 요청 전문으로부터 결제 단말 장치(200)에 대한 식별 정보를 추출할 수도 있으며, 이 경우 상기 추출된 결제 단말 장치 식별 정보를 이용하여 그에 연결된 카드 리더기(100)의 비밀키를 메모리(360)로부터 읽어들여 상기 코드 생성부(320)로 전달할 수 있다.Alternatively, the
카드번호 획득부(330)는 상기 코드 생성부(320)에서 생성된 랜덤 코드와 상기 승인 요청 전문으로부터 추출된 일회용 카드 코드를 이용하여, 결제에 사용될 실제 카드 번호를 획득할 수 있다.The card
그를 위해, 제어부(350)는 결제 단말 장치(200)로부터 수신된 승인 요청 전문으로부터 일회용 카드 코드를 추출하여 상기 카드번호 획득부(330)로 전달할 수 있다.For this purpose, the
한편, 승인 처리부(340)는 상기 카드번호 획득부(330)를 통해 획득된 카드 번호를 이용하여 해당 카드 결제에 대한 승인을 처리할 수 있다.On the other hand, the
도 6은 본 발명의 일실시예에 따른 카드 결제 승인 방법을 흐름도로 도시한 것으로, 도 5에 도시된 바와 같은 구성을 가지는 결제 서버(300)에서 일회용 카드 코드를 이용하여 결제 승인을 처리하는 방법을 나타낸 것이다.FIG. 6 is a flowchart illustrating a card settlement approval method according to an embodiment of the present invention. In FIG. 6, a
도 6을 참조하면, 결제 서버(300)의 통신부(310)는 일회용 카드 코드를 이용하여 생성된 승인 요청 전문을 결제 단말 장치(200)로부터 수신한다.Referring to FIG. 6, the
상기 일회용 카드 코드는, 도 1 내지 도 3을 참조하여 설명한 바와 같이, 카드 리더기(100) 고유의 비밀키와 카드 번호를 이용하여 카드 리더기(100)에서 생성된 것일 수 있다.The disposable card code may be generated by the
코드 생성부(320)는 카드 리더기(100)에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성한다(S610 단계).The
상기한 바와 같이, 비밀키는 랜덤 코드의 생성을 위해 카드 리더기(100)에 부여되는 것으로, 카드 리더기(100)의 제조 시 또는 최초 등록시에 결제 서버(300)로부터 수신되어 메모리(140)에 저장되거나, 또는 그 이후라도 필요 시에 결제 서버(300)로부터 수신될 수 있다.As described above, the secret key is given to the
한편, 상기 코드 생성부(320)가 랜덤 코드를 생성하는 방법은 카드 리더기(100)의 코드 생성부(120)가 랜덤 코드를 생성하는 방법과 동일하며, 그에 따라 카드 리더기(100)와 결제 서버(300)에서 랜덤 코드 생성에 사용하는 시간 정보가 동일한 경우 상기 생성되는 랜덤 코드도 동일하게 된다.The method for generating the random code by the
상기 시간 정보는 상기 랜덤 코드가 생성되는 시점에 대응되는 현재 시간으로 설정되거나, 또는 미리 설정된 시간 단위로 변경되는 정보일 수도 있다. 예를 들어, 상기 시간 정보가 1분 단위로 변경되는 경우, 동일한 카드 리더기(100)에서 생성되는 랜덤 코드는 현재 시간을 기준으로 1분 마다 랜덤하게 변경될 수 있다.The time information may be set to a current time corresponding to a time point at which the random code is generated, or may be information that is changed in a predetermined time unit. For example, when the time information is changed in units of one minute, the random code generated in the
또는, 카드 리더기(100)가 랜덤 코드 생성에 사용한 시간 정보를 결제 단말 장치(200)를 통해 결제 서버(300)로 전송하고, 결제 서버(300)의 코드 생성부(320)가 결제 단말 장치(200)로부터 수신된 시간 정보를 이용하여 랜덤 코드를 생성함으로써, 카드 리더기(100)와 결제 서버(300)에서 각각 생성되는 랜덤 코드가 서로 동일할 수 있다.Alternatively, the time information used by the
그 후, 카드번호 획득부(330)는 상기 S610 단계에서 생성된 랜덤 코드와 결제 단말 장치(200)로부터 전달된 일회용 카드 코드를 이용하여, 결제에 사용될 실제 카드 번호를 획득한다(S620 단계).Thereafter, the card
예를 들어, 상기 코드 생성부(230)는 카드 리더기(100)의 코드 생성부(120)가 랜덤 코드와 카드 번호를 이용해 일회용 카드 코드를 생성하는 방법을 역으로 수행함에 의해, 랜덤 코드와 일회용 카드 코드를 이용하여 실제 카드 번호를 구할 수 있다.For example, the
이하, 상기 S610 단계에서 생성된 랜덤 코드가 {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4}이고, 승인 요청 전문으로부터 추출된 일회용 카드 코드가 "4A5D579BE43A75BA3829012354284164"이며, 카드 리더기(100)와 공유한 문자 세트가 { '0', '1', '2', …, '9', ,'A', 'B', …, 'Z' }인 경우를 예로 들어, 결제 서버(300)의 카드번호 획득부(330)가 실제 카드 번호를 획득하는 방법에 대한 일실시예를 설명하기로 한다.Hereinafter, it is assumed that the random code generated in step S610 is {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4} The extracted one-time card code is " 4A5D579BE43A75BA3829012354284164 ", and the character set shared with the
먼저, 일회용 카드 코드인 "4A5D579BE43A75BA3829012354284164" 중 앞의 16 자리인 제1 서브 코드 "4A5D579BE43A75BA"를 확인하고, 상기 제1 서브 코드인 "4A5D579BE43A75BA"와 랜덤 코드인 {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4}를 이용하여 카드 번호를 구할 수 있다.First, the first subcode "4A5D579BE43A75BA" which is the first 16 digits of the disposable card code "4A5D579BE43A75BA3829012354284164" is checked, and the first subcode "4A5D579BE43A75BA" and the random code {3,8,2,9,0, 2, 3, 5, 4, 2, 8, 4, 1, 6, 4}.
구체적으로, 상기 제1 서브 코드인 "4A5D579BE43A75BA"를 문자 세트인 { '0', '1', '2', …, '9', ,'A', 'B', …, 'Z' }와 매칭하여 숫자 코드로 변환하면, {4,10,5,13,5,7,9,11,14,4,3,10,7,5,11,10}가 된다.Specifically, the first subcode "4A5D579BE43A75BA" is set as a character set {'0', '1', '2', ... , '9', 'A', 'B', ... , 'Z'} and converted into a numeric code, it becomes {4,10,5,13,5,7,9,11,14,4,3,10,7,5,11,10}.
그 후, 상기 숫자 코드로 변환된 제1 서브 코드인 {4,10,5,13,5,7,9,11,14,4,3,10,7,5,11,10}에서 랜덤 코드인 {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4}를 빼면 {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}의 숫자 코드가 나오며, 상기 숫자 코드에 대응되는 "1234-5678-9012-3456"이 실제 카드 번호가 된다.Then, in the first subcode {4, 10, 5, 13, 5, 7, 9, 11, 14, 4, 3, 10, 7, 5, 11, 10} Subtracting {3,8,2,9,0,1,2,3,5,4,2,8,4,1,6,4} in {1,2,3,4,5,6,7 , 8, 9, 0, 1, 2, 3, 4, 5, 6}, and "1234-5678-9012-3456" corresponding to the numeric code is the actual card number.
위와 같은 경우에 있어서, 상기 랜덤 코드를 생성하는 S610 단계가 생략되고, 제어부(350)는 일회용 카드 코드인 "4A5D579BE43A75BA3829012354284164" 중 뒤의 16자리가 랜덤 코드를 나타내는 것으로 확인할 수 있다.In the above case, the step S610 of generating the random code is omitted, and the
한편, 승인 요청 전문으로부터 추출된 일회용 카드 코드가 "4A5D579BE43A75BA"의 16 자리로 구성된 경우, 상기 S610 단계를 통해 먼저 랜덤 코드가 생성되고, 상기 생성된 랜덤 코드와 일회용 카드 코드를 이용하여 상기한 바와 같은 과정을 통해 실제 카드 번호인 "1234-5678-9012-3456"이 획득될 수 있다.On the other hand, if the one-time card code extracted from the approval request text is composed of 16 digits of "4A5D579BE43A75BA ", a random code is first generated in step S610, and the generated random code and the one- The actual card number "1234-5678-9012-3456" can be obtained through the process.
그 후, 승인 처리부(340)는 상기 S620 단계에서 획득된 카드 번호를 이용하여 해당 카드 결제에 대한 승인을 처리한다(S630 단계).Thereafter, the
제어부(350)는 상기 S630 단계에서의 승인 처리 결과를 나타내는 승인 결과 전문이 통신부(310)를 통해 결제 단말 장치(200)로 전송되도록 하며, 상기 일회용 카드 코드 및 상기 획득된 카드 번호와 함께 결제 일시와 금액 및 승인 번호를 포함하는 결제 승인 내역이 데이터베이스(미도시)에 저장되도록 처리할 수 있다.The
도 7은 본 발명에 따른 결제 시스템의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, 도시된 결제 시스템의 구성 및 동작 중 도 1 내지 도 6을 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.FIG. 7 is a block diagram illustrating another embodiment of the billing system according to the present invention. The description of the configuration and operations of the billing system shown in FIG. 7 that are the same as those described with reference to FIG. 1 to FIG. .
도 7을 참조하면, 가맹점 측에는 카드 리더기(100), 가맹점에 배치된 결제 단말 장치인 POS(210) 및 가맹점 서버(230)가 구비되어 있을 수 있다.Referring to FIG. 7, a
이 경우, 도 4를 참조하여 설명한 바와 같은 결제 승인 내역은 POS(210) 내부 메모리에 저장되거나, 또는 해당 가맹점의 결제 승인 내역 및 정산 등의 관리를 위한 가맹점 서버(230)에 구비 또는 연결된 데이터베이스(DB, 231)에 저장될 수 있다.In this case, the settlement approval details as described with reference to FIG. 4 may be stored in the internal memory of the
상기한 바와 같이, 카드 리더기(100)는 고유의 비밀키와 카드 번호를 이용하여 생성된 일회용 카드 코드를 POS(210)로 전송하고, POS(210)는 상기 일회용 카드 코드를 포함하는 결제 승인 요청 전문을 생성해 결제 대행 서버(310)로 전송하며, 결제 대행 서버(310)는 상기 승인 요청 전문을 카드사 서버(320)로 전달할 수 있다.As described above, the
카드사 서버(320)는 상기 승인 요청 전문으로부터 일회용 카드 코드를 추출하여 그를 이용해 실제 카드 번호를 획득하고, 해당 결제에 대한 승인 여부를 인증하며, 상기 일회용 카드 코드 및 카드 번호를 결제 승인 내역과 함께 데이터베이스(321)에 저장해 관리할 수 있다.The
한편, 결제 대행 서버(310)가 상기 일회용 카드 코드를 이용해 실제 카드 번호를 획득할 수 있는 경우, 상기 일회용 카드 코드 및 카드 번호와 함께 결제 승인 내역이 결제 대행 서버(310)의 데이터베이스(311)에 저장되어 관리될 수도 있다.Meanwhile, when the
그리고 가맹점에서 결제에 대한 승인 취소가 요청되는 경우, POS(210)는 해당 결제에 대한 일회용 카드 코드를 내부 메모리 또는 가맹점 서버(230)의 데이터베이스(231)에서 검색하여, 검색된 일회용 카드 코드를 포함하는 결제 승인 취소 전문을 결제 대행 서버(310)로 전송할 수 있다.When the approval of the payment is requested from the merchant, the
결제 대행 서버(310)는 상기 결제 승인 취소 전문을 카드사 서버(320)로 전송하고, 카드사 서버(320)는 상기 결제 승인 취소 전문에 포함된 일회용 카드 코드를 이용해 데이터베이스(321)를 검색하여 그에 대응되는 결제 승인 내역을 읽어들임으로써 해당 결제에 대한 승인 취소를 처리할 수 있다.The
상술한 본 발명에 따른 방법들은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.The above-described methods according to the present invention may be stored in a computer-readable recording medium. The computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, , A floppy disk, an optical data storage device, and the like.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium may be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. And, functional programs, codes and code segments for implementing the above method can be easily inferred by programmers of the technical field to which the present invention belongs.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.
Claims (20)
결제에 사용될 카드를 리딩하여 카드 번호를 획득하는 단계;
상기 카드 리더기에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 단계; 및
상기 생성된 랜덤 코드와 상기 획득된 카드 번호를 이용하여, 상기 카드를 식별하기 위한 일회용 카드 코드를 생성하는 단계; 및
상기 일회용 카드 코드를 인터페이스부를 통해 결제 단말 장치로 전송하는 단계를 포함하고,
상기 결제 단말 장치는 실제 카드 번호가 아닌 상기 일회용 카드 코드를 이용하여 생성되는 결제 승인 요청 전문을 서버로 전송하며, 상기 결제 승인 요청 전문에 대응하여 상기 서버로부터 수신된 결제 일시, 금액 및 승인 번호를 포함하는 결제 승인 결과 전문과 상기 일회용 카드 코드를 함께 저장하여 거래 내역을 관리하고, 상기 거래 내역에 기초하여 일회용 카드 코드를 이용한 정산 및 승인 취소를 처리하는 것을 특징으로 하는
일회용 카드 코드 생성 방법.A method for generating a one-time card code to be used for payment in a card reader,
Obtaining a card number by reading a card to be used for settlement;
Generating a random code using a secret key and time information assigned to the card reader; And
Generating a one-time card code for identifying the card using the generated random code and the acquired card number; And
And transmitting the disposable card code to the payment terminal through the interface unit,
The settlement terminal transmits the settlement approval request message generated by using the disposable card code instead of the actual card number to the server, and responds to the settlement approval request message in response to the settlement date and time, And the disposable card code is stored together to manage the transaction details, and processing of settlement and approval cancellation using the disposable card code based on the transaction details is performed
How to generate a one-time card code.
상기 비밀키를 카드사 서버 또는 상기 카드사 서버와 연결된 결제 대행 서버로부터 수신하는 단계를 더 포함하는 일회용 카드 코드 생성 방법.The method according to claim 1,
And receiving the secret key from a card issuer server or a payment agent server connected to the card issuer server.
상기 카드 리더기의 제조 시에 부여되어 메모리에 저장되어 있는 일회용 카드 코드 생성 방법.The method of claim 1,
Wherein the card reader is provided with the card reader at the time of manufacture thereof and stored in the memory.
상기 카드 리더기의 사용을 위한 최초 등록 시에 부여되어 메모리에 저장되는 일회용 카드 코드 생성 방법.The method of claim 1,
Wherein the card reader is provided with the card reader at the time of initial registration and stored in the memory.
상기 랜덤 코드와 상기 카드 번호의 합산 결과를 문자 세트에 매핑(mapping)하여 제1 서브 코드를 생성하는 단계;
상기 랜덤 코드를 상기 문자 세트에 매핑하여 제2 서브 코드를 생성하는 단계; 및
상기 제1, 2 서브 코드들을 이용하여 상기 일회용 카드 코드를 생성하는 단계를 포함하는 일회용 카드 코드 생성 방법.The method of claim 1, wherein the generating of the one-time use card code comprises:
Generating a first subcode by mapping the sum of the random number and the card number to a character set;
Mapping the random code to the character set to generate a second subcode; And
And generating the one-time card code using the first and second sub-codes.
상기 일회용 카드 코드를 이용하여 상기 결제 단말 장치에서 생성된 승인 요청 전문이 상기 결제 단말 장치로부터 카드사 서버 또는 상기 카드사 서버와 연결된 결제 대행 서버로 전송되는 일회용 카드 코드 생성 방법.The method according to claim 1,
Wherein the approval request message generated by the payment terminal device is transmitted from the payment terminal device to a card issuer server or a payment agency server connected to the card issuer server using the disposable card code.
일회용 카드 코드를 이용하여 생성된 승인 요청 전문을 결제 단말 장치로부터 수신하는 단계;
상기 결제 단말 장치와 연결된 카드 리더기의 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 단계;
상기 생성된 랜덤 코드와 상기 승인 요청 전문으로부터 추출된 일회용 카드 코드를 이용하여, 결제에 사용될 실제 카드 번호를 획득하는 단계; 및
상기 획득된 카드 번호를 이용하여 카드 결제에 대한 승인을 처리하는 단계를 포함하고,
상기 결제 단말 장치는 실제 카드 번호가 아닌 상기 일회용 카드 코드를 이용하여 생성되는 결제 승인 요청 전문을 상기 결제 서버로 전송하며, 상기 결제 승인 요청 전문에 대응하여 상기 결제 서버로부터 수신된 결제 일시, 금액 및 승인 번호를 포함하는 결제 승인 결과 전문과 상기 일회용 카드 코드를 함께 저장하여 거래 내역을 관리하고, 상기 거래 내역에 기초하여 일회용 카드 코드를 이용한 정산 및 승인 취소를 처리하는 것을 특징으로 하는
카드 결제 승인 방법.A method for authorizing a card settlement using a disposable card code in a payment server,
Receiving an approval request telegram generated using the disposable card code from the payment terminal device;
Generating a random code using a secret key and time information of a card reader connected to the payment terminal;
Obtaining an actual card number to be used for settlement using the generated random code and the disposable card code extracted from the approval request telegram; And
And accepting approval for card settlement using the obtained card number,
The settlement terminal transmits the settlement approval request message generated by using the one-time use card code instead of the actual card number to the settlement server, and the settlement date and time and amount received from the settlement server in response to the settlement approval request, The payment approval result including the authorization number and the disposable card code are stored together to manage the transaction details, and settlement and approval cancellation using the disposable card code is performed based on the transaction details
How to approve a card payment.
상기 카드 리더기에 상기 비밀키를 부여하여 전송하는 단계를 더 포함하는 카드 결제 승인 방법.9. The method of claim 8,
Further comprising the step of providing the secret key to the card reader and transmitting the secret key.
상기 랜덤 코드의 생성 시점에 대응되도록 설정되거나, 또는 상기 단말 장치로부터 수신되는 카드 결제 승인 방법.9. The method of claim 8,
The random code is set to correspond to the generation time of the random code, or received from the terminal device.
상기 일회용 카드 코드 및 상기 획득된 카드 번호와 함께, 결제 일시와 금액 및 승인 번호를 포함하는 결제 승인 내역을 데이터베이스에 저장하는 단계를 더 포함하는 카드 결제 승인 방법.9. The method of claim 8,
Further comprising the step of storing, in the database, the settlement approval history including the payment date and time, the amount, and the approval number together with the disposable card code and the obtained card number.
결제에 사용될 카드를 리딩하여 카드 번호를 획득하는 리더부;
상기 카드 리더기에 부여된 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하고, 상기 생성된 랜덤 코드와 상기 획득된 카드 번호를 이용하여 상기 카드를 식별하기 위한 일회용 카드 코드를 생성하는 코드 생성부; 및
상기 생성된 일회용 카드 코드를 결제 단말 장치로 전송하는 인터페이스부를 포함하고,
상기 결제 단말 장치는 실제 카드 번호가 아닌 상기 일회용 카드 코드를 이용하여 생성되는 결제 승인 요청 전문을 결제 서버로 전송하며, 상기 결제 승인 요청 전문에 대응하여 상기 결제 서버로부터 수신된 결제 일시, 금액 및 승인 번호를 포함하는 결제 승인 결과 전문과 상기 일회용 카드 코드를 함께 저장하여 거래 내역을 관리하고, 상기 거래 내역에 기초하여 일회용 카드 코드를 이용한 정산 및 승인 취소를 처리하는 것을 특징으로 하는
카드 리더기.A card reader connected to a payment terminal device for providing card information,
A reader unit for reading a card to be used for settlement to acquire a card number;
A code generator for generating a random code using the secret key and the time information given to the card reader and generating a disposable card code for identifying the card using the generated random code and the obtained card number; And
And an interface unit for transmitting the generated disposable card code to a payment terminal,
The settlement terminal transmits the settlement approval request message generated using the disposable card code instead of the actual card number to the settlement server, And the disposable card code are stored together to manage transaction details, and processing of settlement and approval cancellation using the disposable card code based on the transaction details is performed
Card reader.
상기 카드 리더기의 제조 시에 부여되어 메모리에 저장되어 있는 카드 리더기.14. The method of claim 13,
Wherein said card reader is attached to said card reader when said card reader is manufactured and stored in said memory.
상기 카드 리더기의 사용을 위한 최초 등록 시에 부여되어 메모리에 저장되는 카드 리더기.14. The method of claim 13,
Wherein the card reader is assigned at the time of initial registration for use of the card reader and stored in the memory.
상기 랜덤 코드와 상기 카드 번호의 합산 결과를 문자 세트에 매핑(mapping)하여 제1 서브 코드를 생성하고, 상기 랜덤 코드를 상기 문자 세트에 매핑하여 제2 서브 코드를 생성하며, 상기 제1, 2 서브 코드들을 이용하여 상기 일회용 카드 코드를 생성하는 카드 리더기.14. The apparatus of claim 13, wherein the code generation unit
Generating a first subcode by mapping the sum of the random code and the card number to a character set to generate a second subcode by mapping the random code to the character set, A card reader for generating the disposable card code using sub-codes.
상기 일회용 카드 코드를 이용하여 생성된 승인 요청 전문이 상기 결제 단말 장치로부터 카드사 서버 또는 상기 카드사 서버와 연결된 결제 대행 서버로 전송되는 카드 리더기.14. The method of claim 13,
Wherein the approval request telegram generated using the disposable card code is transmitted from the payment terminal device to a card issuer server or a payment proxy server connected to the card issuer server.
일회용 카드 코드를 이용하여 생성된 승인 요청 전문을 결제 단말 장치로부터 수신하는 통신부;
상기 결제 단말 장치와 연결된 카드 리더기의 비밀키와 시간 정보를 이용하여 랜덤 코드를 생성하는 코드 생성부;
상기 생성된 랜덤 코드와 상기 승인 요청 전문으로부터 추출된 일회용 카드 코드를 이용하여, 결제에 사용될 실제 카드 번호를 획득하는 카드번호 획득부; 및
상기 획득된 카드 번호를 이용하여 카드 결제에 대한 승인을 처리하는 승인 처리부를 포함하고,
상기 결제 단말 장치는 실제 카드 번호가 아닌 상기 일회용 카드 코드를 이용하여 생성되는 결제 승인 요청 전문을 상기 결제 서버로 전송하며, 상기 결제 승인 요청 전문에 대응하여 상기 결제 서버로부터 수신된 결제 일시, 금액 및 승인 번호를 포함하는 결제 승인 결과 전문과 상기 일회용 카드 코드를 함께 저장하여 거래 내역을 관리하고, 상기 거래 내역에 기초하여 일회용 카드 코드를 이용한 정산 및 승인 취소를 처리하는 것을 특징으로 하는
결제 서버.A payment server for processing an approval request telegram received from a payment terminal device to approve card payment,
A communication unit for receiving an approval request telegram generated using the disposable card code from the payment terminal apparatus;
A code generator for generating a random code using a secret key and time information of a card reader connected to the payment terminal;
A card number obtaining unit for obtaining an actual card number to be used for settlement using the generated random code and the disposable card code extracted from the approval request text; And
And an approval processing unit for processing approval for card settlement using the acquired card number,
The settlement terminal transmits the settlement approval request message generated by using the one-time use card code instead of the actual card number to the settlement server, and the settlement date and time and amount received from the settlement server in response to the settlement approval request, The payment approval result including the authorization number and the disposable card code are stored together to manage the transaction details, and settlement and approval cancellation using the disposable card code is performed based on the transaction details
Payment server.
복수의 카드 리더기들 각각에 부여된 비밀키들을 저장하는 메모리를 더 포함하는 결제 서버.19. The method of claim 18,
And a memory for storing secret keys assigned to each of the plurality of card readers.
상기 일회용 카드 코드 및 상기 획득된 카드 번호와 함께, 결제 일시와 금액 및 승인 번호를 포함하는 결제 승인 내역이 데이터베이스에 저장되는 결제 서버.19. The method of claim 18,
Wherein the settlement approval history including the settlement date and time, the amount and the approval number is stored in the database together with the disposable card code and the acquired card number.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150188562A KR101751887B1 (en) | 2015-12-29 | 2015-12-29 | Method for generating one-time card code, approving card payment, reader and server thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150188562A KR101751887B1 (en) | 2015-12-29 | 2015-12-29 | Method for generating one-time card code, approving card payment, reader and server thereof |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170075805A Division KR20170078564A (en) | 2017-06-15 | 2017-06-15 | Method for generating one-time card code, approving card payment, reader and server thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101751887B1 true KR101751887B1 (en) | 2017-07-11 |
Family
ID=59354616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150188562A KR101751887B1 (en) | 2015-12-29 | 2015-12-29 | Method for generating one-time card code, approving card payment, reader and server thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101751887B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200018230A (en) * | 2018-08-09 | 2020-02-19 | 주식회사 센스톤 | Method and system for preventing leakage of surveyor information based on virtual code |
WO2020162706A1 (en) * | 2019-02-08 | 2020-08-13 | 주식회사 센스톤 | Virtual corporate card-based financial transaction providing method, program and system |
KR20200097655A (en) * | 2019-02-08 | 2020-08-19 | 주식회사 센스톤 | The method, program and system for providing financial transaction based on virtual corporate card |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101572111B1 (en) * | 2015-07-01 | 2015-11-27 | 주식회사 이노스코리아 | Electronic device and method for generating random and unique code |
-
2015
- 2015-12-29 KR KR1020150188562A patent/KR101751887B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101572111B1 (en) * | 2015-07-01 | 2015-11-27 | 주식회사 이노스코리아 | Electronic device and method for generating random and unique code |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200018230A (en) * | 2018-08-09 | 2020-02-19 | 주식회사 센스톤 | Method and system for preventing leakage of surveyor information based on virtual code |
KR102213432B1 (en) * | 2018-08-09 | 2021-02-08 | 주식회사 센스톤 | Method and system for preventing leakage of surveyor information based on virtual code |
WO2020162706A1 (en) * | 2019-02-08 | 2020-08-13 | 주식회사 센스톤 | Virtual corporate card-based financial transaction providing method, program and system |
KR20200097655A (en) * | 2019-02-08 | 2020-08-19 | 주식회사 센스톤 | The method, program and system for providing financial transaction based on virtual corporate card |
KR102269922B1 (en) * | 2019-02-08 | 2021-06-28 | 주식회사 센스톤 | The method, program and system for providing financial transaction based on virtual corporate card |
CN113196323A (en) * | 2019-02-08 | 2021-07-30 | 森斯通株式会社 | Financial transaction providing method, program and system based on virtual legal card |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101751894B1 (en) | Payment terminal and method for processing card payment using one-time card code | |
CN109074582B (en) | System and method for generating sub-tokens using a master token | |
JP5931217B2 (en) | Settlement method using disposable card information | |
KR101354388B1 (en) | Generating method for one time code | |
KR100474213B1 (en) | Method for Issuing Instant Mobile Card using Wireless Network | |
JP2016504661A (en) | Mobile payment system and method using dynamic track 2 information | |
JP2005521332A (en) | Method and system for performing transactions using proximity devices | |
CN105493116A (en) | Methods and systems for provisioning payment credentials | |
KR101316489B1 (en) | Method for processing transaction using variable pan | |
KR101812638B1 (en) | Module, service server, system and method for authenticating genuine goods using secure element | |
KR102574524B1 (en) | Remote transaction system, method and point of sale terminal | |
KR101751887B1 (en) | Method for generating one-time card code, approving card payment, reader and server thereof | |
KR101782436B1 (en) | Terminal for card payment and method for canceling transaction of card payment thereof | |
KR20170078563A (en) | Payment terminal and method for processing card payment using one-time card code | |
KR20170004339A (en) | Payment system. card reader, terminal for payment and method for processing card information thereof | |
KR20170078564A (en) | Method for generating one-time card code, approving card payment, reader and server thereof | |
KR101699032B1 (en) | Service providing system and method for payment using electronic tag | |
KR101616847B1 (en) | System for providing card settlement service using smart device and method thereof | |
KR20150144366A (en) | Method for Processing Payment at Affiliate Coupled End-To-End Medium Ownership Authentication and One Time Code Authentication | |
KR101615685B1 (en) | Apparatus for performing card patment with one time card information | |
KR101710950B1 (en) | Method for distributing encrypt key, card reader and system for distributing encrypt key thereof | |
CN104424453A (en) | System and method for verifying non-contact inductive label | |
KR101583718B1 (en) | Apparatus and method for proccesing card transaction in a payment system | |
US20170323302A1 (en) | Security systems and methods | |
KR101871686B1 (en) | A method of processing card information for preventing re-use of card information based on a shared encryption key, an appratus thereof and a method for operating financial server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |