KR20230004041A - An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it - Google Patents

An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it Download PDF

Info

Publication number
KR20230004041A
KR20230004041A KR1020210085809A KR20210085809A KR20230004041A KR 20230004041 A KR20230004041 A KR 20230004041A KR 1020210085809 A KR1020210085809 A KR 1020210085809A KR 20210085809 A KR20210085809 A KR 20210085809A KR 20230004041 A KR20230004041 A KR 20230004041A
Authority
KR
South Korea
Prior art keywords
token
payment
information
key
affiliated store
Prior art date
Application number
KR1020210085809A
Other languages
Korean (ko)
Other versions
KR102600489B1 (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 KR1020210085809A priority Critical patent/KR102600489B1/en
Publication of KR20230004041A publication Critical patent/KR20230004041A/en
Application granted granted Critical
Publication of KR102600489B1 publication Critical patent/KR102600489B1/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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

A method for operating a token processing device according to one embodiment of the present invention comprises the steps of: receiving a token issuance request for issuance of a token usable only at a first affiliated store from a user terminal or payment terminal; encrypting payment means data included in the token issuance request using a first encryption key calculated in response to affiliated store information and encryption counter information of the first affiliated store; generating a distribution-type payment token for a first affiliated store-only transaction based on a first portion of the encrypted payment means data and the encryption counter information; and providing the distribution-type payment token to the user terminal or the payment terminal. According to the present invention, the method can prevent personal information such as card information from leaking.

Description

결제 수단 데이터의 가맹점 전용 분산 토큰화를 수행하는 토큰 처리 장치 및 그 동작 방법{AN APPARATUS FOR PROCESSING A DISTRIBUTED TOKEN FOR ENCRYPTED DATA OF PAYMENT INFORMATION TO BE USED ONLY BY A SPECIFIC FRANCHISEE AND A METHOD FOR OPERATING IT}A token processing device that performs distributed tokenization of payment method data exclusively for merchants and its operation method

본 발명은 분산 토큰 처리 장치 및 그 동작 방법에 관한 것이다. 보다 구체적으로, 본 발명은 결제 수단 데이터의 가맹점 전용 분산 토큰화를 수행하는 토큰 처리 장치 및 그 동작 방법에 관한 것이다.The present invention relates to a distributed token processing device and an operating method thereof. More specifically, the present invention relates to a token processing device and method of operating the same that perform distributed tokenization of payment method data exclusively for an affiliated store.

전자결제 인프라가 확충되면서 신용 카드, 체크카드, 직불카드 등(이하, "신용 카드")의 카드결제를 기반으로 하는 신용 결제 서비스가 일반화되었다. 상기 신용 결제 서비스는 사용자가 가맹점에서 물품 또는 서비스를 카드 결제로 구매한 후, 대금 결제일에 카드사 등에 상기 물품 또는 서비스의 이용대금을 납부하며, 가맹점은 상기 물품 또는 서비스의 판매대금을 상기 카드사 등으로부터 지불 받는 전자결제 인프라를 이용한 결제방식을 말한다.With the expansion of electronic payment infrastructure, credit payment services based on card payments such as credit cards, check cards, and debit cards (hereinafter referred to as "credit cards") have become common. In the credit payment service, after a user purchases goods or services by card payment at a member store, the user pays the price for using the goods or services to a credit card company, etc. It refers to a payment method using electronic payment infrastructure that receives payment.

상기 신용 결제 서비스를 제공하는 시스템은 다수의 가맹점들에 구비된 다수의 카드 단말기들과, 다수의 가맹점들과 카드사 사이에서 카드 결제와 관련된 결제 대행 서비스를 제공하는 밴(Value Added Network : VAN) 사의 서버(이하, "결제 대행 서버"), 사용자에게 신용 카드를 발행한 카드사의 서버가 통신망을 통해 연결되어 구성된다. 상기 VAN은 카드 단말기들과 카드사 서버 사이에서 결제 트랜잭션(transaction)을 위한 결제 네트워크를 의미한다.The system for providing the credit payment service is a combination of a plurality of card terminals provided in a plurality of affiliated stores and a value added network (VAN) company that provides a payment agency service related to card payment between the plurality of affiliated stores and the card company. A server (hereinafter referred to as "a payment agent server") and a server of a card company that issued a credit card to a user are connected through a communication network. The VAN refers to a payment network for a payment transaction between card terminals and a card company server.

이러한 전자적 결제 네트워크를 이용한 결제 시스템은 결제의 편의성 및 신속성에 있어서 혁신적 향상을 가져왔으나, 카드 정보 데이터의 부정사용으로 인한 피해 및 개인정보 유출에 따른 피해 등이 지속적으로 발생하는 원인이 되고 있으며, 이를 해결하기 위해 통신망의 해킹 등으로 인한 보안성이 유지될 수 있는 전자결제 방법들이 제안되고 있다.Although the payment system using such an electronic payment network has brought innovative improvements in the convenience and speed of payment, it continues to cause damage due to fraudulent use of card information data and leakage of personal information. In order to solve the problem, electronic payment methods that can maintain security due to hacking of communication networks have been proposed.

이 중, 토큰 결제 방식은 사용자의 고유정보 또는 카드정보에 대응하여, 일정 시간 동안 유효한 가상의 임시 토큰을 결제사 서버에서 사용자 단말로 발행하고, 이러한 임시 토큰을 이용한 결제 요청 전문이 서버로 수신되면, 결제사 서버는 임시 토큰과 매핑된 카드 정보를 확인하여 카드 결제를 카드사 서버로 요청하는 방식이 예시될 수 있다.Among them, in the token payment method, a virtual temporary token valid for a certain period of time is issued from the payment company server to the user terminal in response to the user's unique information or card information, and when the full text of the payment request using the temporary token is received by the server , A method in which the payment company server checks card information mapped with the temporary token and requests card payment to the card company server may be exemplified.

이러한 토큰 결제 방식은 임시 발행된 가상의 랜덤 토큰을 이용하는 방식이므로, 유출되더라도 개인 정보를 파악할 수는 없다는 장점이 있다. Since this token payment method uses a temporarily issued virtual random token, there is an advantage in that personal information cannot be identified even if it is leaked.

그러나, 임시적으로 발행되는 토큰 또한 결제를 위해 사용되는 결제 수단이나 마찬가지이기 때문에, 공격자가 결제 전의 토큰 자체 또는 토큰을 포함하는 결제 요청 전문의 결제 수단 데이터 자체를 해킹하여, 다른 가맹점에서의 결제에 사용하거나, 또는 중복 결제 등을 요청하는 경우, 결제사 서버에서는 이를 구별하기 매우 어려운 문제점이 있으며, 현재로서는 사실상의 대응방안이 존재하지 않는 실정이다.However, since the temporarily issued token is also a payment method used for payment, an attacker hacks the token itself before payment or the payment method data itself in the full text of the payment request including the token, and uses it for payment at other merchants In the case of making a payment or requesting duplicate payment, there is a problem that it is very difficult for the payment company server to distinguish it, and there is no practical countermeasure at present.

즉, 결제사 서버는 발행된 토큰이 사용자가 의도하지 않은 가맹점에서 사용되더라도, 해당 결제 요청의 진위를 판별하기 어려우며, 이를 재확인하는 절차를 거친다면 사실상 결제를 더 복잡하고 지연시킬 뿐만 아니라 시스템 구현 및 인프라 구축 비용을 높이게 하는 문제점이 있는 바, 이를 실시간으로 판단하지 않고 사후 정산시점에서의 미수나 손해 처리를 제공해주는 식으로밖에 해결할 수 없는 문제점이 있다.In other words, even if the issued token is used at an affiliate store that the user did not intend, it is difficult for the payment company server to determine the authenticity of the payment request. There is a problem that increases the cost of infrastructure construction, and there is a problem that can only be solved by providing an attempt or damage processing at the point of post-settlement without determining it in real time.

나아가, 현재의 토큰 결제 방식은 가상의 랜덤 토큰을 생성하고 실제 개인정보와 매핑시키는 방식으로서, 카드 정보와 같은 개인 정보 그 자체를 결제사 서버가 온전히 보유하고 있어야만 가상의 랜덤 토큰과 매칭시켜 확인할 수 있으므로, 아무리 가상의 랜덤 토큰을 이용한다 하더라도, 결제사 서버의 데이터베이스 그 자체가 해킹된다면 카드 정보와 고객 정보가 그대로 유출될 수밖에 없는 근본적인 문제점도 내포되고 있다.Furthermore, the current token payment method is a method of generating a virtual random token and mapping it to real personal information. Personal information such as card information must be fully possessed by the payment company server in order to be matched with the virtual random token and verified. Therefore, even if a virtual random token is used, a fundamental problem is that if the database of the payment company server itself is hacked, card information and customer information will inevitably be leaked.

본 발명은 상기한 바와 같은 문제점들을 해결하고자 안출된 것으로, 가상의 랜덤 토큰이 아닌 카드 정보와 같은 결제 수단 데이터 그 자체로부터의 특수화된 암호화 처리에 따라, 특정 가맹점 전용 결제 수단 데이터의 암호화된 데이터를 생성하고, 이를 분산화된 토큰 정보로 구성하여 결제 수단을 대체하도록 발급함으로써, 카드 정보와 같은 개인 정보의 유출을 방지할 수 있을 뿐만 아니라, 분산화된 토큰 정보 그 자체에 대한 검증만으로도 다른 가맹점에서의 사용 여부, 재사용여부, 유출여부, 해킹여부 등을 신속히 확인할 수 있으며, 결제사 서버 자체에도 나머지 분산화된 토큰 정보만 저장되어 결제사 서버가 해킹되더라도 온전한 카드 정보는 확인될 수 없도록 방지 처리된 분산화된 토큰 처리 장치 및 그 동작 방법을 제공하는 데 그 목적이 있다.The present invention has been devised to solve the above problems, and the encrypted data of payment method data dedicated to a specific affiliate is obtained by specialized encryption processing from payment method data itself such as card information rather than a virtual random token. By creating and issuing distributed token information to replace payment methods, it is possible to prevent the leakage of personal information such as card information, as well as to verify the decentralized token information itself for use in other merchants. It is possible to quickly check whether or not it has been reused, leaked, or hacked, and only the remaining decentralized token information is stored on the payment company server itself, so that even if the payment company server is hacked, the complete card information cannot be confirmed. Its purpose is to provide a processing device and its operating method.

상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 방법은, 토큰 처리 장치의 동작 방법에 있어서, 사용자 단말 또는 결제 단말로부터 제1 가맹점에서만 사용 가능한 토큰 발행 요청을 수신하는 단계; 상기 토큰 발행 요청에 포함된 결제 수단 데이터를, 상기 제1 가맹점의 가맹점 정보 및 암호화 카운터 정보에 대응하여 연산된 제1 암호화 키로, 암호화 처리하는 단계; 상기 암호화된 결제 수단 데이터의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성하는 단계; 및 상기 분산형 결제 토큰을 상기 사용자 단말 또는 상기 결제 단말로 제공하는 단계를 포함한다.A method according to an embodiment of the present invention for solving the above problems is a method of operating a token processing device, comprising: receiving a request for issuing a token usable only in a first affiliated store from a user terminal or a payment terminal; encrypting payment method data included in the token issuance request with a first encryption key calculated in correspondence with affiliated store information and encryption counter information of the first affiliated store; generating a distributed payment token for a transaction dedicated to the first affiliated store based on the first part of the encrypted payment method data and the encryption counter information; and providing the distributed payment token to the user terminal or the payment terminal.

상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 장치는, 토큰 처리 장치에 있어서, 사용자 단말 또는 결제 단말로부터 제1 가맹점에서만 사용 가능한 토큰 발행 요청을 수신하는 통신부; 상기 토큰 발행 요청에 포함된 결제 수단 데이터를, 상기 제1 가맹점의 가맹점 정보 및 암호화 카운터 정보에 대응하여 연산된 제1 암호화 키로, 암호화 처리하는 암호화 처리부; 상기 암호화된 결제 수단 데이터의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성하는 결제 토큰 처리부; 및 상기 분산형 결제 토큰을 상기 사용자 단말 또는 상기 결제 단말로 제공하는 토큰 서비스 제공부;를 포함한다.An apparatus according to an embodiment of the present invention for solving the above problems is a token processing apparatus, comprising: a communication unit for receiving a request for issuing a token usable only in a first affiliated store from a user terminal or a payment terminal; an encryption processing unit that encrypts payment means data included in the token issuance request with a first encryption key calculated in correspondence with affiliated store information and encryption counter information of the first affiliated store; a payment token processing unit generating a distributed payment token for a transaction dedicated to the first affiliated store based on the first part of the encrypted payment method data and the encryption counter information; and a token service providing unit providing the distributed payment token to the user terminal or the payment terminal.

또한, 상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 방법은, 상기 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 판독 가능한 매체에 저장되는 프로그램 및 상기 프로그램이 기록된 기록 매체로 저장될 수 있다.In addition, the method according to the embodiment of the present invention for solving the above problems may be stored in a program stored in a computer readable medium for executing the method in a computer and a recording medium in which the program is recorded. .

본 발명의 실시 예에 따르면, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보 및 암호화 카운터 정보를 상기 토큰 발행 요청에 포함된 결제 수단 데이터를, 상기 제1 가맹점의 가맹점 정보 및 암호화 카운터 정보에 대응하여 연산된 제1 암호화 키로, 암호화 처리하고, 상기 암호화된 카드 정보의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성하여 배포함으로서, 전용 가맹점에서만 사용 가능하면서도, 데이터 자체의 재사용이 방지되고, 결제사 서버에서도 전체 카드번호 등이 저장되지 않도록 처리된 안전한 결제 서비스를 별도의 인프라 구축 비용을 높이지 않고도 신속하게 제공할 수 있다.According to an embodiment of the present invention, the key serial information and encryption counter information issued in correspondence with the affiliate store information of the first affiliate store are converted into the payment method data included in the token issuance request, the affiliate store information and encryption counter information of the first affiliate store By performing encryption processing with a first encryption key calculated in correspondence with information, and generating and distributing a distributed payment token for the first affiliated store-only transaction based on the first part of the encrypted card information and the encryption counter information , A safe payment service that can be used only at exclusive merchants, prevents reuse of the data itself, and prevents the entire card number from being stored on the payment company server, can be provided quickly without increasing the cost of building a separate infrastructure.

이에 따라, 본 발명의 실시 예에 따르면, 가상의 랜덤 토큰이 아닌 결제 수단 데이터 그 자체로부터의 특수화된 암호화 처리에 따라, 특정 가맹점 전용 카드정보 암호화 데이터를 생성하고, 이를 분산화된 토큰 정보로 구성하여 결제 수단을 대체하도록 발급함으로써, 카드 정보와 같은 개인 정보의 유출을 방지할 수 있을 뿐만 아니라, 분산화된 토큰 정보 그 자체에 대한 검증만으로도 다른 가맹점에서의 사용 여부, 재사용여부, 유출여부, 해킹여부 등을 동시에 신속히 확인할 수 있으며, 결제사 서버 자체에도 나머지 분산화된 토큰 정보만 저장되어 결제사 서버가 해킹되더라도 온전한 카드 정보는 확인될 수 없도록 방지 처리된 분산화된 토큰 처리 장치 및 그 동작 방법을 제공할 수 있게 된다.Accordingly, according to an embodiment of the present invention, according to a specialized encryption process from the payment method data itself, rather than a virtual random token, card information encryption data dedicated to a specific affiliate is generated, and it is composed of distributed token information to By issuing a replacement payment method, not only can personal information such as card information be prevented from being leaked, but also verification of the decentralized token information itself can be used in other merchants, reused, leaked, hacked, etc. can be checked simultaneously and quickly, and only the remaining decentralized token information is stored in the payment company server itself, so that even if the payment company server is hacked, the complete card information cannot be verified. there will be

도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 개념도이다.
도 2는 본 발명의 실시 예에 따른 토큰 처리 장치를 보다 구체적으로 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 토큰 처리 장치의 토큰 제공 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명의 실시 예에 따른 분산 토큰화 처리 프로세스를 도식화하여 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 토큰 처리 장치의 복호화 동작을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 분산 토큰 기반 복호화 처리 프로세스를 도식화하여 설명하기 위한 도면이다.
1 is a conceptual diagram schematically illustrating an entire system according to an embodiment of the present invention.
2 is a block diagram showing a token processing device according to an embodiment of the present invention in more detail.
3 is a flowchart illustrating a token providing operation of a token processing device according to an embodiment of the present invention.
4 is a diagram for illustrating and explaining a distributed tokenization processing process according to an embodiment of the present invention.
5 is a flowchart illustrating a decryption operation of a token processing device according to an embodiment of the present invention.
6 is a diagram for illustrating and explaining a distributed token-based decryption processing process according to an embodiment of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 관하여 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통하여 보다 분명해질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예들을 상세히 설명한다. 명세서 전체에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 또한, 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다.The above objects, features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Like reference numbers indicate like elements throughout the specification. In addition, if it is determined that a detailed description of a known function or configuration related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted.

이하에서는, 본 발명과 관련된 서버 장치 및 단말 장치에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.Hereinafter, a server device and a terminal device related to the present invention will be described in more detail with reference to the drawings. The suffixes "module" and "unit" for components used in the following description are given or used together in consideration of ease of writing the specification, and do not have meanings or roles that are distinct from each other by themselves.

먼저, 본 발명의 명세서에서 사용되는 용어를 간략히 정의한 후, 본 발명의 실시 예를 설명하기로 한다.First, terms used in the specification of the present invention are briefly defined, and then embodiments of the present invention will be described.

본 명세서에서 설명되는 "결제 단말"에는 POS 단말기, 컴퓨터, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있으나, 본 발명은 이에 한정되지 아니하며 그 이외에 사용자 입력 및 정보 표시 등이 가능한 다양한 장치일 수 있다.The "payment terminal" described herein includes a POS terminal, a computer, a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), and a navigation device. and the like may be included, but the present invention is not limited thereto, and other various devices capable of user input and information display may be used.

또한, "중계 서버"라 함은 겸용 카드 전자 결제를 중계하는 밴(VAN) 사 측 서버를 일례로 지칭하였으나, 신용카드 전자 결제와 관련된 다양한 형태의 서버도 이에 해당할 수 있으며, 특정 기능에 따라서 실제 결제 중계 기능과 다른 부가 기능을 별도의 서버 형태로 분리하는 형태도 가능하다.In addition, the term “relay server” refers to a server on the side of a VAN company that relays electronic payment of a combined card as an example, but various types of servers related to electronic payment of a credit card may also correspond to this, and depending on specific functions It is also possible to separate the actual payment relay function and other additional functions into a separate server form.

도 1은 본 발명의 실시 예에 따른 전체 시스템을 도시한 도면이다.1 is a diagram showing an entire system according to an embodiment of the present invention.

도 1을 참조하면 본 발명의 실시 예에 따른 전체 시스템은 토큰 처리 장치(100), 중계 서버(200), 결제 단말(300) 및 카드사 서버(500)를 포함하여 구성될 수 있으며, 토큰 처리 장치(100)는 하드웨어 보안 모듈(HSM, Hardware Security Module) 장비(101)를 포함하거나 연결되어 구성될 수 있고, 결제 단말(300)은 카드 리더 모듈(310)을 포함하거나 연결되어 구성될 수 있다.Referring to FIG. 1 , the entire system according to an embodiment of the present invention may include a token processing device 100, a relay server 200, a payment terminal 300, and a card company server 500, and the token processing device 100 may include or be connected to a Hardware Security Module (HSM) device 101, and the payment terminal 300 may include or be connected to a card reader module 310.

도 1을 참조하면 중계 서버(200)는 카드사 서버(500)의 결제 서비스를 중계 처리하는 금융 서버의 예시로서 개시되는 것으로, 신용 카드를 이용하는 전자 결제 시스템에서 결제 대행 서비스를 제공하는 밴(Value Added Network : VAN) 사 측의 서버가 예시될 수 있다.Referring to FIG. 1, the relay server 200 is disclosed as an example of a financial server that relays the payment service of the card company server 500, and provides a value added value added service in an electronic payment system using a credit card. Network: VAN) company side server may be exemplified.

여기서, 상기 "금융 서버"라 함은 금융 거래와 관련된 정보를 처리하는 서버를 의미할 수 있다. 예를 들어, 금융 서버는 금융 계좌간 거래를 중계하는 은행사 서버, 금융 카드 전자 결제를 중계하는 밴(VAN)사 측 서버, 신용 카드 거래의 결제승인을 처리하는 카드사 서버 및 이외에도 다양한 형태의 서버들이 해당될 수 있다. 또한, 특정 기능에 따라서 실제 금융 거래 기능과 다른 부가 기능을 별도의 서버 형태로 분리하는 형태도 존재할 수 있다.Here, the "financial server" may mean a server that processes information related to financial transactions. For example, the financial server includes a bank server that relays transactions between financial accounts, a VAN company server that relays financial card electronic payments, a card company server that processes payment approval for credit card transactions, and various other types of servers. may be applicable. In addition, there may be a form in which the actual financial transaction function and other additional functions are separated in the form of a separate server according to a specific function.

통상적으로 카드 리더 모듈(310)과 결제 단말(300)은 분리 구성될 수 있으나 결합되어 있는 경우가 많고, 이를 일반적으로 'POS 단말', 또는 POS라고 지칭하기도 한다. 다만 이하에서는 결제 단말(300)에 카드 리더 모듈(310)이 전부 또는 일부 결합된 형태를 결제 단말(300)로도 지칭될 수 있다.Normally, the card reader module 310 and the payment terminal 300 may be configured separately, but are often combined, and are generally referred to as 'POS terminal' or POS. However, below, a form in which the card reader module 310 is fully or partially coupled to the payment terminal 300 may also be referred to as the payment terminal 300 .

먼저, 카드 리더 모듈(310)은 카드 번호 등을 포함하는 결제 수단 데이터를 획득하기 위한 장치로서, 예를 들어 마그네틱 카드로부터 카드 정보를 리딩하는 MSR(Magnetic Strip Reader), IC(Integrated Circuit) 카드로부터 카드 정보를 리딩하는 IC 카드리더, 근거리 무선 통신 방식을 이용해 카드 정보를 수신하는 NFC 리더 또는 바코드(barcode)를 이용해 카드 정보를 리딩하는 바코드 리더 등 다양한 장치일 수 있다.First, the card reader module 310 is a device for obtaining payment method data including a card number, etc., for example, from a magnetic strip reader (MSR) that reads card information from a magnetic card, or an integrated circuit (IC) card. It may be a variety of devices, such as an IC card reader for reading card information, an NFC reader for receiving card information using a short range wireless communication method, or a barcode reader for reading card information using a barcode.

또한, 카드 리더 모듈(310)에서는 중계 서버(200)에 대응하여 사전 설정된 카드 정보 암호화 키로 사전 암호화된 결제 수단 데이터를 획득할 수 있으며, 암호화된 결제 수단 데이터는 개인 키를 보유한 중계 서버(200)에서만 복호화 처리되도록 공개키 방식으로 사전 암호화 처리된 카드 정보 등이 예시될 수 있다.In addition, the card reader module 310 may obtain pre-encrypted payment method data with a preset card information encryption key corresponding to the relay server 200, and the encrypted payment method data may be stored in the relay server 200 having a private key. Card information that has been pre-encrypted using a public key method to be decrypted only in .

그리고, 결제 단말(300)은, 카드 리더 모듈(310)을 통해 사전 암호화된 결제 수단 데이터가 획득되는 경우, 상기 결제 단말(300)에 대응하는 제1 가맹점 전용 결제 수단으로 사용하기 위한, 분산형 결제 토큰의 발행을 중계 서버(200)로 요청한다. 여기서, 상기 결제 단말(300)의 분산형 결제 토큰 발행 요청은 상기 사전 암호화된 결제 수단 데이터를 포함할 수 있다.In addition, the payment terminal 300, when pre-encrypted payment method data is obtained through the card reader module 310, distributed type for use as a payment method for the first affiliated store corresponding to the payment terminal 300 Issue of a payment token is requested to the relay server 200 . Here, the request for issuing the distributed payment token of the payment terminal 300 may include the pre-encrypted payment means data.

이에 따라, 중계 서버(200)는 결제 단말(300)로부터 수신된 분산형 결제 토큰의 발행 요청 정보로부터 사전 암호화된 결제 수단 데이터를 획득하고, 상기 사전 암호화된 결제 수단 데이터를 복호화 처리하여 분산형 결제 토큰을 위한 암호화 대상 데이터를 구성할 수 있다. 여기서 암호화 대상 데이터는 예를 들어, 결제 수단의 카드 번호, 유효기간, 구분자, 필터, 유효성 검사 데이터, CVC 정보 중 적어도 하나를 포함할 수 있다.Accordingly, the relay server 200 obtains pre-encrypted payment method data from the distributed payment token issuance request information received from the payment terminal 300, decrypts the pre-encrypted payment method data, and decrypts the distributed payment method. You can configure the data to be encrypted for the token. Here, the data to be encrypted may include, for example, at least one of a card number of a payment method, an expiration date, a separator, a filter, validation data, and CVC information.

그리고, 중계 서버(200)는 암호화 대상 데이터를 포함하는 토큰 발행 요청을 토큰 처리 장치(100)로 전달할 수 있다.Also, the relay server 200 may transmit a token issuance request including data to be encrypted to the token processing device 100 .

토큰 처리 장치(100)는, 토큰 발행 요청에 포함된 암호화 대상 데이터에 대응하여, 상기 결제 단말(300)에 대응하는 제1 가맹점에서만 사용될 수 있도록 분산 암호화 처리된 분산형 결제 토큰을 획득할 수 있으며, 획득된 분산형 결제 토큰을 중계 서버(200)로 제공하거나, 상기 분산형 결제 토큰을 요청한 결제 단말(300)로 직접 제공할 수 있다.The token processing device 100 may obtain a decentralized payment token that has been subjected to distributed encryption so that it can be used only at the first affiliated store corresponding to the payment terminal 300, in response to data to be encrypted included in the token issuance request, , The acquired distributed payment token may be provided to the relay server 200 or the distributed payment token may be directly provided to the requested payment terminal 300.

여기서, 토큰 처리 장치(100)는, 물리적으로 보안화된 하드웨어 시스템을 통해 베이스 토큰 유도 키를 생성 및 관리하는 하드웨어 보안 모듈(HSM) 장비(101)를 내부 또는 외부에 구비할 수 있으며, 상기 하드웨어 보안 모듈 장비(101)을 이용한 상기 제1 가맹점 전용 제1 암호화 키를 구성하고, 상기 제1 암호화 키로 암호화된 결제 수단 데이터의 적어도 일부를 이용하여 상기 분산형 결제 토큰을 생성할 수 있다.Here, the token processing device 100 may include a hardware security module (HSM) equipment 101 inside or outside that generates and manages a base token derivation key through a physically secured hardware system, the hardware A first encryption key dedicated to the first affiliated store may be configured using the security module device 101, and the distributed payment token may be generated using at least a portion of payment method data encrypted with the first encryption key.

이러한 토큰 처리 장치(100)를 보다 구체적으로 설명하면, 토큰 처리 장치(100)는 상기 토큰 발행 요청에 포함된 결제 수단 데이터를, 상기 제1 가맹점용 가맹점 정보 및 암호화 카운터 정보에 대응하여 연산된 제1 암호화 키로, 암호화 처리하고, 상기 암호화된 결제 수단 데이터의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성할 수 있으며, 상기 분산형 결제 토큰을 중계 서버(200) 또는 결제 단말(300)로 제공할 수 있다.Describing the token processing device 100 in more detail, the token processing device 100 converts the payment method data included in the token issuance request into the first affiliated store information and encryption counter information calculated in correspondence with the first affiliated store information. With 1 encryption key, it is possible to generate a distributed payment token for a transaction dedicated to the first affiliated store based on the encrypted first part of the encrypted payment method data and the encryption counter information, and the distributed payment token may be provided to the relay server 200 or the payment terminal 300.

그리고, 상기 제1 암호화 키는 상기 하드웨어 보안 모듈 장비(101)를 이용하여 토큰 처리 장치(100)에서 연산될 수 있는 바, 먼저 상기 하드웨어 보안 모듈 장비(101)는 물리적으로 보안화된 하드웨어 시스템을 통해 상기 제1 가맹점의 가맹점 정보에 대응하는 키 시리얼 정보용 초기 암호화 키 연산을 위한 베이스 토큰 유도 키를 출력할 수 있다.And, the first encryption key can be calculated in the token processing device 100 using the hardware security module device 101. First, the hardware security module device 101 physically secures the hardware system. Through this, a base token derivation key for initial encryption key calculation for key serial information corresponding to affiliated store information of the first affiliated store can be output.

그리고, 토큰 처리 장치(100)는 상기 키 시리얼 정보 및 상기 베이스 토큰 유도 키를 이용하여 상기 초기 암호화 키를 연산할 수 있으며, 상기 초기 암호화 키와 상기 암호화 카운터 정보를 이용한 상기 제1 암호화 키를 연산하여 출력할 수 있다.The token processing device 100 may calculate the initial encryption key using the key serial information and the base token derivation key, and calculate the first encryption key using the initial encryption key and the encryption counter information. can be printed out.

이에 따라, 토큰 처리 장치(100)에서는 제1 가맹점에서만 사용 가능하도록 제1 암호화 키로 처리되면서도, 서버측에서 온전한 결제 수단 데이터를 보유하고 있지는 못하도록 제1 부분 및 나머지 제2 부분으로 분산 처리된 결제 수단 데이터를 이용한 분산형 결제 토큰이 구성될 수 있으며, 상기 분산형 결제 토큰은 직접 또는 중계 서버(200)를 경유하여 결제 단말(300)로 제공될 수 있다. Accordingly, in the token processing device 100, while being processed as the first encryption key so that it can be used only at the first affiliated store, the server side does not have complete payment method data, so that the first part and the remaining second part are distributed and processed payment means A distributed payment token using data can be constructed, and the distributed payment token can be provided to the payment terminal 300 directly or via the relay server 200.

그리고, 결제 단말(300)에서는 상기 제1 가맹점 전용 분산형 결제 토큰이 수신되면, 상기 분산형 결제 토큰 및 결제 정보(결제 금액, 결제 일시, 상품 데이터 등)를 이용한 결제 승인 요청 전문을 생성하여 중계 서버(200)로 전송할 수 있다. 이에 따라, 상기 결제 승인 요청 전문에는 상기 전문에 상기 분산형 결제 토큰이 포함되어 있음을 나타내는 분산형 결제 토큰 구분자 정보가 더 포함되어 있을 수 있다.In addition, when the payment terminal 300 receives the distributed payment token for the first affiliated store, it generates and relays a full payment approval request using the distributed payment token and payment information (payment amount, payment date and time, product data, etc.) It can be transmitted to the server 200. Accordingly, the full text of the payment approval request may further include distributed payment token identifier information indicating that the distributed payment token is included in the full text.

이에 따라, 중계 서버(200)에서는 결제 승인 요청 전문으로부터 상기 분산형 결제 토큰이 획득되는 경우, 상기 분산형 결제 토큰에 대응하는 복호화 요청을 토큰 처리 장치(100)로 전달할 수 있다.Accordingly, the relay server 200 may transmit a decryption request corresponding to the distributed payment token to the token processing device 100 when the distributed payment token is obtained from the full text of the payment approval request.

토큰 처리 장치(100)는 상기 결제 승인 요청 전문에 포함된 가맹점 정보 및 상기 분산형 결제 토큰을 이용하여 복호화를 시도하되, 복호화가 실패되는 경우 중계 서버(200)로 실패 정보를 전달하고, 중계 서버(200)는 결제 실패 정보를 생성하여 결제 단말(300)로 응답할 수 있다.The token processing device 100 attempts decryption using the affiliated store information included in the full payment approval request and the distributed payment token, but if decryption fails, transfers failure information to the relay server 200, relay server Step 200 may generate payment failure information and respond to the payment terminal 300 .

여기서, 결제가 실패되는 경우는 제1 가맹점이 아닌 다른 가맹점에서 결제 승인이 요청되어 잘못된 키 시리얼 정보가 매칭되거나, 암호화 카운팅이 매칭된 현재 거래가 아닌 다른 시점의 거래이거나, 결제 데이터의 제1 부분 데이터가 정상적으로 확인되지 않는 거래일 수 있는 바, 실질적으로 제1 가맹점에서의 유효한 카운팅 이루어진 거래에 대한 결제 데이터의 제1 부분이 확인되는 경우에만 정상 거래가 승인될 수 있게 된다.Here, if the payment fails, payment approval is requested from an affiliate store other than the first affiliate store, and the wrong key serial information is matched, or a transaction at a time other than the current transaction in which encryption counting is matched, or the first part of the payment data may be a transaction that is not normally confirmed, and a normal transaction can be approved only when the first part of the payment data for a transaction that is substantially counted in the first affiliated store is confirmed.

이에 따라, 토큰 처리 장치(100)는, 하드웨어 보안 모듈 장비(101)를 기반으로 하는 제1 암호화 키의 유도를 재수행하고, 결제 수단 데이터의 제1 부분을 포함하는 상기 분산형 결제 토큰과 이에 매핑 저장된 나머지 제2 부분의 결제 수단 데이터를 결합하여 암호화된 결제 수단 데이터를 획득하고, 이를 상기 제1 암호화 키로 복호화함으로써, 결제 수단 데이터 자체의 무결성과, 제1 가맹점의 유효성과, 거래 카운터의 유효성을 일시에 신속하게 검증하고, 검증 결과에 따른 온전한 결제 수단 데이터를 획득하여 중계 서버(200)로 제공할 수 있게 된다.Accordingly, the token processing device 100 performs the derivation of the first encryption key based on the hardware security module device 101 again, and maps the distributed payment token including the first part of the payment method data and thereto. The integrity of the payment method data itself, the validity of the first affiliated store, and the validity of the transaction counter are obtained by combining the stored second part of the payment method data to obtain the encrypted payment method data and decrypting it with the first encryption key. It is possible to quickly verify at one time, acquire complete payment method data according to the verification result, and provide it to the relay server 200.

이후 중계 서버(200)는 결제 수단 데이터를 이용한 카드사 서버(500)로의 결제 승인 요청 전문을 생성하여 카드사 서버(500)로 전송할 수 있으며, 카드사 서버(500)에서의 승인 응답을 수신하여 결제 단말(300)로 전송할 수 있게 된다. 또한, 중계 서버(200)에서는 승인 요청에 사용된 결제 수단 데이터가 폐기 처리됨으로써 사후 개인정보가 유출될 가능성을 제거할 수 있다.Thereafter, the relay server 200 may generate a payment approval request message to the card company server 500 using the payment method data and transmit it to the card company server 500, and receive an approval response from the card company server 500 to receive the payment terminal ( 300) can be transmitted. In addition, in the relay server 200, the payment method data used for the approval request is discarded, thereby removing the possibility of leaking personal information afterward.

한편, 위와 같은 동작을 위하여, 각 결제 단말(300), 중계 서버(200), 카드사 서버(500), 토큰 처리 장치(100)는 네트워크 통신망 또는 인터넷망으로의 망 접속이 가능하도록 통신 모듈이 탑재되며, 통신망 접속을 통해 상호 연계되도록 구성될 수 있다.Meanwhile, for the above operation, each payment terminal 300, relay server 200, card company server 500, and token processing device 100 are equipped with a communication module to enable network access to a network communication network or Internet network. and may be configured to be interconnected through a communication network connection.

또한, 결제 단말(300)은 승인 요청 전문을 생성하기 위한 POS 모듈(미도시), 중계 서버(200)등의 외부 서버와의 통신을 수행하기 위한 통신모듈(미도시), 데이터를 분배하는 일종의 관문(gateway) 역할을 수행하는 게이트웨이 모듈(미도시), 결제 정보 데이터 및 분산형 결제 토큰을 저장하거나 암호화된 결제수단 데이터를 일시 저장하기 위한 레지스트리(미도시) 등을 포함하여 구성될 수 있다.In addition, the payment terminal 300 includes a POS module (not shown) for generating an approval request message, a communication module (not shown) for communicating with an external server such as the relay server 200, and a kind of distributing data. It may be configured to include a gateway module (not shown) serving as a gateway, a registry (not shown) for storing payment information data and distributed payment tokens or temporarily storing encrypted payment means data.

도 2는 본 발명의 실시 예에 따른 토큰 처리 장치를 보다 구체적으로 도시한 블록도이다.2 is a block diagram showing a token processing device according to an embodiment of the present invention in more detail.

도 2를 참조하면, 본 발명의 실시 예에 따른 토큰 처리 장치(100)는, 제어부(110), 통신부(120), 가맹점 키 관리부(130), 암호화 처리부(140), 결제 토큰 처리부(150), 거래 카운터 관리부(160), 서비스 제공부(170), 저장부(180) 및 데이터 관리부(190)를 포함한다.Referring to FIG. 2 , the token processing device 100 according to an embodiment of the present invention includes a control unit 110, a communication unit 120, an affiliated store key management unit 130, an encryption processing unit 140, a payment token processing unit 150 , a transaction counter management unit 160, a service provider 170, a storage unit 180, and a data management unit 190.

제어부(110)는, 각 구성 요소들의 전반적인 동작을 제어하며, 본 발명의 실시 예에 따른 토큰 처리 장치(100)의 동작을 구동시키기 위한 하나 이상의 마이크로 프로세서를 포함할 수 있다.The control unit 110 may include one or more microprocessors for controlling the overall operation of each component and driving the operation of the token processing apparatus 100 according to an embodiment of the present invention.

통신부(120)는 중계 서버(200)와의 유무선 통신을 위해 데이터를 송수신하는 하나 이상의 통신 모듈을 포함할 수 있다. 통신 모듈은 유무선 통신 인터페이스 모듈을 포함할 수 있으며, 송신할 신호를 부호화 및 변조하고, 케이블, 안테나 등을 통해 수신된 신호를 복조 및 복호화하는 모뎀(modem)과, RF 신호를 처리하는 RF 프론트 엔드 등이 예시될 수 있다.The communication unit 120 may include one or more communication modules for transmitting and receiving data for wired/wireless communication with the relay server 200 . The communication module may include a wired/wireless communication interface module, a modem that encodes and modulates a signal to be transmitted, and demodulates and decodes a signal received through a cable or antenna, and an RF front end that processes an RF signal. etc. can be exemplified.

그리고, 가맹점 키 관리부(130)는, 각각의 가맹점에 대응하여 발급된 키 시리얼 정보를 매핑 저장 및 관리한다. 여기서 상기 키 시리얼 정보는 DUKPT DUKPT(Derived Unique Key Per Transaction) 기반의 KSN(Key Serial Number) 형식으로 저장 및 관리될 수 있으며, 가맹점 키 관리부(130)는 관리되는 각각의 가맹점 전용 KSN의 사용에 따라 각각의 특정 가맹점용 KSN을 갱신 처리할 수 있다.Also, the affiliate store key management unit 130 maps, stores, and manages key serial information issued in correspondence with each affiliate store. Here, the key serial information can be stored and managed in a DUKPT DUKPT (Derived Unique Key Per Transaction)-based KSN (Key Serial Number) format, and the affiliated store key management unit 130 uses the KSN dedicated to each affiliated store to be managed. The KSN for each specific affiliated store can be updated.

또한, 가맹점 키 관리부(130)에서 관리되는 특정 가맹점 전용 KSN은 하드웨어 보안 모듈 장비(101)에서 출력되는 베이스 토큰 유도 키와 연동될 수 있다. 여기서, 하드웨어 보안 모듈 장비(101)는, 물리적으로 보안화된 하드웨어 시스템을 통해 특정 제1 가맹점의 가맹점 정보에 대응하는 키 시리얼 정보용 초기 암호화 키(IPEK, Initial Pin Encryption Key) 연산을 위한 베이스 토큰 유도 키를 출력하는 장비일 수 있다.In addition, the specific affiliated store KSN managed by the affiliated store key management unit 130 may be interlocked with the base token derivation key output from the hardware security module device 101 . Here, the hardware security module device 101 is a base token for calculating an Initial Pin Encryption Key (IPEK) for key serial information corresponding to affiliated store information of a specific first affiliated store through a physically secured hardware system It may be a device that outputs an induction key.

이러한 하드웨어 보안 모듈 장비(101)는, HSM(Hardware Security Module)이라고도 하며, 암호 키를 생성 및 관리하기 위한 전용 하드웨어 시스템 장비로 사용되는 통상의 하드웨어 보안 모듈 장비(101)일 수 있다. 이는 하드웨어 노이즈를 소스로 하여 난수를 발생시키는 하드웨어적 난수 생성 기능을 구비하고, 암호키 탈취 방지를 위한 전용 OS 및 소프트웨어가 탑재될 수 있으며, 특히 물리적 공격에 대한 방어 기능을 포함하여, 공격 탐지시 보관 중인 암호키를 스스로 파기하는 기능을 구비할 수 있다. 나아가, 하드웨어 보안 모듈 장비(101)는 암호연산의 일부를 하드웨어 보안 모듈 장비(101) 내에서 수행하기 위한 암호 연산 기능 및 로그 관리 기능 등이 더 구비될 수 있다.This hardware security module device 101, also referred to as a hardware security module (HSM), may be a normal hardware security module device 101 used as a dedicated hardware system device for generating and managing encryption keys. It has a hardware random number generation function that generates random numbers using hardware noise as a source, and can be equipped with dedicated OS and software to prevent stealing of encryption keys. In particular, including a defense function against physical attacks, A function of self-destroying an encryption key in storage may be provided. Furthermore, the hardware security module device 101 may further include a cryptographic calculation function and a log management function for performing part of the cryptographic calculation within the hardware security module device 101 .

이러한 하드웨어 보안 모듈 장비(101)는 통상 카드 정보 암호화를 위한 암호 키를 생성하는데 이용될 수 있으나, 본 발명의 실시 예에 따른 분산형 결제 토큰을 생성하기 위하여는, 상기 특정 가맹점의 KSN 정보와 연산되어 초기 암호화 키(IPEK)를 획득할 수 있도록 하는 토큰용 베이스 유도 키(BDK, Base Derivation Key)를 획득하는데 이용될 수 있다. 토큰용 베이스 유도 키는, 베이스 토큰 유도 키라고도 할 수 있으며, 상기 제1 암호화 키를 획득하기 위한 가장 최상단의 고유 키일 수 있는 바, 하드웨어 보안 모듈 장비(101)를 통한 암호화 프로세스의 강력한 보안 유지가 가능하게 된다.This hardware security module device 101 can be used to generate an encryption key for encrypting card information, but in order to generate a distributed payment token according to an embodiment of the present invention, KSN information and calculation of the specific affiliated store It can be used to obtain a base derivation key (BDK) for a token that enables an initial encryption key (IPEK) to be obtained. The base derivation key for the token may also be referred to as the base token derivation key, and may be the topmost unique key for acquiring the first encryption key, so that strong security of the encryption process through the hardware security module equipment 101 is maintained. It becomes possible.

그리고, 암호화 처리부(140)는 상기 가맹점 전용 KSN과, 상기 하드웨어 보안 모듈 장비(101)의 베이스 토큰 유도 키를 이용한 초기 암호화 키를 연산할 수 있다. 여기서, 초기 암호화 키는 IPEK(Initial Pin Encryption Key) 형식이 예시될 수 있으며, IPEK와 암호화 카운터 정보(암호화 KSN 등)를 연산하여 본 발명의 실시 예에 따른 상기 제1 암호화 키가 최종적으로 연산될 수 있다.In addition, the encryption processing unit 140 may calculate an initial encryption key using the KSN dedicated to the affiliated store and the base token derivation key of the hardware security module device 101 . Here, the initial encryption key may be in the form of IPEK (Initial Pin Encryption Key), and IPEK and encryption counter information (encryption KSN, etc.) are calculated to finally calculate the first encryption key according to an embodiment of the present invention. can

여기서, 거래 카운터 관리부(160)는, 상기 암호화 카운터 정보를 저장 및 관리할 수 있는 바, 암호화 카운터 정보는 각 거래에 따른 결제 수단 데이터의 암호화가 처리됨에 따라, 각 거래에 대응하여 증가하는 방향으로만 갱신가능한 일련번호 정보로서, 암호화 KSN을 통해 산출될 수 있다.Here, the transaction counter management unit 160 may store and manage the encryption counter information, and the encryption counter information increases in response to each transaction as encryption of payment method data according to each transaction is processed. As serial number information that can only be renewed, it can be calculated through encrypted KSN.

이에 따라, 암호화 처리부(140)는, 상기 제1 암호화 키가 획득되면 상기 제1 암호화 키를 이용한 상기 결제 수단 데이터의 암호화를 처리할 수 있는 바, 상기 제1 암호화 키는 대칭 키 방식의 암호화 키일 수 있다. 이는 추후 복호화시 동일한 키를 확인하여 이용하기 위함이며, 예를 들어, AES 128/256 방식의 대칭 키 암호화 방식 등이 예시될 수 있다.Accordingly, when the first encryption key is obtained, the encryption processing unit 140 may process encryption of the payment means data using the first encryption key, wherein the first encryption key is a symmetric key type encryption key. can This is to confirm and use the same key during decryption later. For example, a symmetric key encryption method of the AES 128/256 method may be exemplified.

그리고, 결제 토큰 처리부(150)는, 상기 암호화된 결제 수단 데이터의 제1 부분과, 상기 암호화 카운터 정보에 기초하여, 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성할 수 있다.Further, the payment token processing unit 150 may generate a distributed payment token for the first affiliated store-only transaction based on the first part of the encrypted payment means data and the encryption counter information.

보다 구체적으로, 결제 토큰 처리부(150)는, 암호화된 결제 수단 데이터의 제1 부분에 대응하는 적어도 일부를 추출하고, 상기 암호화 KSN 정보에서 획득되는 암호화 카운터 정보를 결합시켜 상기 분산형 결제 토큰을 구성할 수 있다.More specifically, the payment token processing unit 150 extracts at least a part corresponding to the first part of the encrypted payment means data, and combines the encryption counter information obtained from the encrypted KSN information to configure the distributed payment token. can do.

이에 따라, 서비스 제공부(170)는, 구성된 분산형 결제 토큰을 사전 설정된 전문 형태로 변환하여 통신부(120)를 통해 중계 서버(200) 또는 결제 단말(300)로 제공할 수 있다.Accordingly, the service providing unit 170 may convert the configured distributed payment token into a preset message form and provide it to the relay server 200 or the payment terminal 300 through the communication unit 120 .

여기서, 상기 사전 설정된 전문 형태는, 상기 분산형 결제 토큰을 상기 제1 가맹점 전용 거래에 대응하는 결제 수단으로만 사용 가능하도록 지시된 텍스트 전문 형태를 포함할 수 있으며, 분산형 결제 토큰은 Base64 포맷의 문자열 토큰이거나, HexString 포맷의 문자열 토큰으로 구성되어 상기 텍스트 전문에 포함될 수 있다.Here, the preset telegram form may include a text telegram format instructed to use the distributed payment token only as a payment method corresponding to the transaction exclusively for the first affiliated store, and the distributed payment token is in Base64 format It may be a string token or a string token in HexString format and included in the full text.

이러한 분산형 결제 토큰 전문에는 상기 분산형 토큰의 유효 사용 횟수 또는 유효 사용 기간이 지정될 수 있는 바, 이러한 각 분산형 토큰 자체의 유효 사용 횟수 또는 유효 사용 기간은 서비스 제공부(170)를 통해 별도 관리될 수 있다.The number of valid uses or the valid period of use of the distributed token may be specified in the full text of the distributed payment token. can be managed

한편, 데이터 관리부(190)는, 상기 암호화된 결제 수단 데이터의 상기 제1 부분을 제외한 나머지 제2 부분과, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 매칭시켜, 상기 분산형 결제 토큰을 이용한 결제 승인 요청 전문으로부터 상기 암호화된 결제 수단 데이터를 복호화하기 위한, 매핑 데이터베이스로 저장부(180)에 저장 및 관리할 수 있다.On the other hand, the data management unit 190 matches the second part of the encrypted payment method data except for the first part with key serial information issued in correspondence with the affiliated store information of the first affiliated store, so that the distributed type It can be stored and managed in the storage unit 180 as a mapping database for decrypting the encrypted payment method data from the full text of the payment approval request using the payment token.

이러한 매핑 데이터베이스는, 결제 승인 요청 전문의 분산형 결제 토큰의 제1 부분의 결제 수단 데이터 대응하여, 상기 제2 부분을 색인하기 위한 데이터베이스로 구성될 수 있으며, 상기 키 시리얼 정보를 해시(HASH) 함수 처리하여 색인 정보로서 저장 및 관리할 수 있다.This mapping database may be configured as a database for indexing the second part in correspondence with the payment method data of the first part of the distributed payment token in the full text of the payment approval request, and converting the key serial information to a hash function It can be processed and stored and managed as index information.

이에 따라, 데이터 관리부(190)는 결제 승인 요청 전문이 통신부(120)를 통해 수신되고, 분산형 결제 토큰이 확인되는 경우, 상기 분산형 결제 토큰에 포함된 제1 가맹점의 가맹점 식별 정보를 가맹점 키 관리부(130)로 전달하여 상기 제1 가맹점의 가맹점 식별 정보에 대응하는 키 시리얼 정보(가맹점 KSN)을 획득하며, 상기 가맹점 KSN을 해시 함수 처리하여 획득된 색인 정보를 이용하여, 상기 암호화된 결제 수단 데이터의 제2 부분을 상기 매핑 데이터베이스에서 색인할 수 있다.Accordingly, when the payment approval request is received through the communication unit 120 and the distributed payment token is confirmed, the data management unit 190 converts the affiliated store identification information of the first affiliated store included in the distributed payment token into an affiliated store key Transfer to the management unit 130 to obtain key serial information (affiliate store KSN) corresponding to the affiliate store identification information of the first affiliate store, and process the affiliate store KSN with a hash function to obtain the encrypted payment method using index information obtained A second portion of data may be indexed in the mapping database.

데이터 관리부(190)에서 획득된 제2 부분의 데이터는 상기 분산형 결제 토큰에 포함된 제1 부분의 데이터와 결합되어 암호화된 결제 수단 데이터를 다시 구성할 수 있게 된다.The data of the second part obtained from the data management unit 190 is combined with the data of the first part included in the decentralized payment token to reconstruct encrypted payment method data.

또한, 암호화 처리부(140)는, 결제 승인 요청 전문의 분산형 결제 토큰에 포함된 상기 암호화 카운터 정보(암호화 KSN 기반 카운터 정보) 및 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보(가맹점 KSN)를 이용하여, 상기 하드웨어 보안 모듈 장비(101)를 통해 처리된 상기 제1 암호화 키를 다시 획득할 수 있는 바, 상기 암호화된 결제 수단 데이터는 상기 제1 암호화 키를 이용하여 복호화 처리될 수 있다.In addition, the encryption processing unit 140, the encryption counter information (encrypted KSN-based counter information) included in the distributed payment token of the payment approval request message and the key serial information issued in response to the affiliate store information of the first affiliate store (affiliate store KSN), the first encryption key processed through the hardware security module device 101 can be obtained again, and the encrypted payment means data can be decrypted using the first encryption key. there is.

이에 따라, 서비스 제공부(170)는, 상기 복호화 처리된 결제 수단 데이터를 중계 서버(200)로 제공할 수 있으며, 중계 서버(200)에서는 결제 수단 데이터를 이용한 카드사 서버(500) 등의 결제사 서버로의 결제 승인요청 전문을 생성하여 통신부(120)를 통해 전송함으로써, 최종 결제 승인 및 응답 처리가 이루어지도록 한다. 여기서 사용된 결제 수단 데이터는 사용 후 삭제 처리되며, 상기 분산화된 결제 토큰의 경우, 결제 단말(300)을 통한 사용 완료 정보 수신에 따라 삭제 처리될 수 있다.Accordingly, the service provider 170 may provide the decrypted payment method data to the relay server 200, and the relay server 200 may use the payment method data to pay a payment company such as the card company server 500. By generating a payment approval request message to the server and transmitting it through the communication unit 120, final payment approval and response processing are performed. The payment method data used here is deleted after use, and in the case of the decentralized payment token, it may be deleted according to the use completion information received through the payment terminal 300 .

이와 같은 구성에 따라, 분산화된 결제 토큰 기반의 제1 가맹점 전용 결제 처리가 가능하게 되며, 전문으로부터 식별된 가맹점과 실제 가맹점 KSN이 일치하지 않는 경우, 전용 가맹점이 아니므로 제2 부분의 결제 수단 데이터 색인이 실패되고, 암호화 카운터 정보(KSN 카운터)가 일치하지 않는 경우, 제1 암호화 키를 유도할 수 없으므로 복호화가 불가능하게 되며, 분산화된 토큰의 제1 부분 또는 상기 제2 부분의 결제 수단 데이터 자체만으로는 실제 결제 수단 데이터 복원이 불가하게 되는 바, 중계 서버(200) 또는 토큰 처리 장치(100) 자체가 해킹되어 저장정보가 유출되더라도 재사용을 근본적으로 방지할 수 있는 효과가 있다.According to this configuration, payment processing exclusively for the first affiliate based on the decentralized payment token becomes possible, and if the affiliate identified from the full text and the actual affiliate KSN do not match, it is not a dedicated affiliate, so the payment method data of the second part If the index fails and the encryption counter information (KSN counter) does not match, the first encryption key cannot be derived, so decryption becomes impossible, and the first part of the distributed token or the payment method data itself of the second part Since it is impossible to restore the actual payment method data alone, even if the relay server 200 or the token processing device 100 itself is hacked and the stored information is leaked, reuse can be fundamentally prevented.

한편, 저장부(180)는 토큰 처리 장치(100)에서 처리되는 암호화 정보, 결제 수단 데이터, 가맹점 식별 정보, 분산 토큰 정보, 매핑 데이터베이스 등을 저장 및 관리할 수 잇다. 저장부(180)는 RAM(Random Access Memory), 플레시메모리, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable and Programmable ROM), 레지스터, 하드디스크, 리무버블 디스크, 메모리 카드 등과 같은 내장된 형태의 저장소자는 물론, USB 메모리 등과 같은 착탈가능한 형태의 저장소자로 구현될 수도 있다.Meanwhile, the storage unit 180 may store and manage encryption information processed by the token processing device 100, payment method data, member store identification information, distributed token information, and a mapping database. The storage unit 180 includes RAM (Random Access Memory), flash memory, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electronically Erasable and Programmable ROM), registers, hard disks, removable disks, and memory cards. It may be implemented as a storage device of a built-in type such as the like, as well as a storage device of a removable type such as a USB memory.

도 3은 본 발명의 실시 예에 따른 토큰 처리 장치의 토큰 제공 동작을 설명하기 위한 흐름도이며, 도 4는 본 발명의 실시 예에 따른 분산 토큰화 처리 프로세스를 도식화하여 설명하기 위한 도면이다.3 is a flowchart illustrating a token provision operation of a token processing device according to an embodiment of the present invention, and FIG. 4 is a diagram for illustrating and explaining a distributed tokenization processing process according to an embodiment of the present invention.

도 3 및 도 4를 참조하면, 먼저 토큰 처리 장치(100)는, 결제 단말(300) 네트워크에 대응하는 제1 가맹점용 토큰 발행 요청을 수신한다(S101).Referring to FIGS. 3 and 4 , first, the token processing device 100 receives a token issuance request for a first affiliated store corresponding to the payment terminal 300 network (S101).

그리고, 토큰 처리 장치(100)는 상기 토큰 발행 요청에 포함된 암호화 대상 데이터를 획득한다(S103).Then, the token processing device 100 obtains encryption target data included in the token issuance request (S103).

여기서, 암호화 대상 데이터는, 도 4에 도시된 바와 같이 카드번호 및 유효기간 정보를 포함할 수 있으며, 구분자 정보, 필터 정보 및 CRC 정보를 더 포함할 수 있다.Here, the data to be encrypted may include card number and expiration date information as shown in FIG. 4, and may further include delimiter information, filter information, and CRC information.

그리고, 도 4에 도시된 바와 같이, 토큰 처리 장치(100)는 통상의 문자열로 구성된 암호화 대상 데이터를 암호화 처리를 용이하게 하기 위한 BCD(이진화 십진법 Binary-coded decimal, BCD)타입으로 변환 처리할 수 있으며, 이는 이진수 네 자리를 묶어 십진수 한 자리로 사용하는 기수법으로, 신속한 변환을 가능하게 한다.And, as shown in FIG. 4, the token processing device 100 may convert data to be encrypted composed of a normal string into a BCD (Binary-coded Decimal, BCD) type to facilitate encryption processing. This is a numeral system in which four binary digits are combined into one decimal digit, enabling rapid conversion.

한편, 도 3을 다시 참조하면 토큰 처리 장치(100)는 상기 제1 가맹점용 단말기에 대응하는 가맹점 정보로서 키 시리얼 정보(가맹점 KSN)을 획득하며(S105), 상기 제1 가맹점용 단말기에 대응하는 가맹점 정보로서 키 시리얼 정보를 하드웨어 보안 모듈 장비(101)에 입력하여 상기 키 시리얼 정보용 초기 암호화 키 연산을 위한 베이스 토큰 유도 키를 획득한다(S107).Meanwhile, referring to FIG. 3 again, the token processing device 100 obtains key serial information (merchant KSN) as affiliated store information corresponding to the first affiliated store terminal (S105), and Key serial information as affiliate store information is input to the hardware security module device 101 to obtain a base token derivation key for initial encryption key calculation for the key serial information (S107).

도 4를 참조하면, 하드웨어 보안 모듈 장비(101)는 가맹점 KSN과 연동되는 토큰 베이스 유도 키(BDK)를 하드웨어적인 난수 처리에 따라 보안화된 상태로 생성할 수 있다.Referring to FIG. 4 , the hardware security module device 101 may generate a token base derivation key (BDK) linked with an affiliated store KSN in a secure state according to hardware random number processing.

그리고, 도 3 및 도 4를 참조하면, 토큰 처리 장치(100)는, 상기 키 시리얼 정보(가맹점 KSN) 및 상기 베이스 토큰 유도 키를 이용하여 상기 초기 암호화 키(가맹점 IPEK)를 연산하고, 상기 초기 암호화 키(가맹점 IPEK)와 상기 암호화 대상 데이터에 대응하는 암호화 카운터 정보(암호화 KSN의 KSN 거래 카운터)를 이용하여, 제1 암호화 키를 연산한다(S109).And, referring to FIGS. 3 and 4, the token processing device 100 calculates the initial encryption key (merchant shop IPEK) using the key serial information (affiliate shop KSN) and the base token derivation key, and the initial A first encryption key is calculated using an encryption key (affiliate store IPEK) and encryption counter information (KSN transaction counter of encryption KSN) corresponding to the data to be encrypted (S109).

여기서, 상기 제1 암호화 키는 다음 카드 암호화용 키로써, FK(Future Key)라고도 할 수 있으며, 도 4에서 카드 암호화 FK 가 상기 제1 암호화 키로 기능할 수 있다. 이는 제1 가맹점 전용 결제수단 암호화 키로서 할당될 수 있는 바, 상기 BCD 타입 변환된 암호화 대상 데이터는 카드 암호화 FK로 암호화 처리되어 카드번호 암호화 데이터를 구성할 수 있다.Here, the first encryption key is a key for encrypting the next card and may also be referred to as FK (Future Key), and in FIG. 4 , the card encryption FK may function as the first encryption key. This may be assigned as a payment method encryption key dedicated to the first affiliated store, and the BCD type-converted data to be encrypted may be encrypted with a card encryption FK to form card number encryption data.

한편, 도 3을 참조하면 토큰 처리 장치(100)는, 암호화된 카드 정보의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성한다(S111).Meanwhile, referring to FIG. 3, the token processing device 100 generates a distributed payment token for the first affiliated store-only transaction based on the first part of the encrypted card information and the encryption counter information (S111) .

다시 도 4를 참조하면, 카드번호 암호화 데이터의 상위 8BYTE의 정보와, 카드 암호화 KSN의 KSN 거래 카운터 정보를 연결시켜, 문자열 변환 처리(Base 64, HexString 등)를 수행하면 분산화 처리된 분산형 결제 토큰이 구성될 수 있다.Referring to FIG. 4 again, when a string conversion process (Base 64, HexString, etc.) is performed by connecting the upper 8 BYTE information of the card number encrypted data with the KSN transaction counter information of the card encrypted KSN, a decentralized distributed payment token is obtained. can be configured.

그리고, 도 3을 참조하면 토큰 처리 장치(100)는, 암호화된 카드 정보의 상기 제1 부분을 제외한 나머지 제2 부분과, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 매칭시켜, 상기 분산형 결제 토큰을 이용한 결제 승인 요청으로부터 상기 암호화된 카드 정보를 복호화하기 위한 매핑 데이터베이스로 저장한다(S113).And, referring to FIG. 3, the token processing device 100 matches the second part of the encrypted card information excluding the first part with the key serial information issued in correspondence with the affiliate store information of the first affiliate store. , The encrypted card information from the payment approval request using the distributed payment token is stored as a mapping database for decryption (S113).

도 4에 도시된 바와 같이, 가맹점 KSN은 HASH 처리되어, 나머지 제2 부분(하위 8BYTE)데이터의 색인 키로서 사용될 수 있으며, 이러한 매핑 데이터베이스의 저장 및 관리에 따라, 제1 부분 및 제2 부분의 상호 색인 매핑 및 결합이 용이하게 이루어진다.As shown in FIG. 4, the affiliate store KSN can be HASH-processed and used as an index key for the remaining second part (lower 8 BYTE) data, and according to the storage and management of the mapping database, the first part and the second part Cross-index mapping and joining is easily accomplished.

그리고, 구성된 분산형 결제 토큰은 결제 단말(300) 또는 중계 서버(200)로 배포될 수 있다(S115). 또는, 상기 분산형 결제 토큰이 중계 서버, 결제 단말 또는 특정 사용자 단말로 배포되어 온라인 결제에도 이용될 수 있다.Then, the configured distributed payment token may be distributed to the payment terminal 300 or the relay server 200 (S115). Alternatively, the distributed payment token may be distributed to a relay server, a payment terminal, or a specific user terminal and used for online payment.

도 5는 본 발명의 실시 예에 따른 토큰 처리 장치의 복호화 동작을 설명하기 위한 흐름도이며, 도 6은 본 발명의 실시 예에 따른 분산 토큰 기반 복호화 처리 프로세스를 도식화하여 설명하기 위한 도면이다.5 is a flowchart illustrating a decryption operation of a token processing device according to an embodiment of the present invention, and FIG. 6 is a diagram illustrating and explaining a distributed token-based decryption processing process according to an embodiment of the present invention.

도 5 및 도 6을 참조하면, 사전 저장된 매핑 데이터베이스 및 하드웨어 보안 모듈 장비(101)를 이용하여 분산형 결제 토큰에 대응하는 결제 수단 데이터를 복원하는 프로세스를 나타내는 것으로서, 먼저 토큰 처리 장치(100)는 중계 서버(200)로부터 분산형 결제 토큰을 포함하는 카드 정보 복호화 요청을 수신한다(S201).5 and 6, it shows a process of restoring payment method data corresponding to a distributed payment token using a pre-stored mapping database and hardware security module equipment 101. First, the token processing device 100 A card information decryption request including a distributed payment token is received from the relay server 200 (S201).

여기서 카드 정보 복호화 요청은 결제 단말(300)의 결제 승인요청 전문으로부터 생성될 수 있으며, 상기 분산형 결제 토큰 및 가맹점 식별 정보가 포함될 수 있다.Here, the card information decryption request may be generated from the full payment approval request of the payment terminal 300, and may include the distributed payment token and member store identification information.

그리고, 토큰 처리 장치(100)는, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 이용하여, 사전 저장된 제2 부분을 획득한다(S103).Then, the token processing device 100 acquires the pre-stored second part by using key serial information issued corresponding to the affiliated store information of the first affiliated store (S103).

이를 위해, 토큰 처리 장치(100)는 카드 정보 복호화 요청에 포함된 가맹점 식별 정보에 대응하여, 가맹점 키 관리부(130)에서 식별된 가맹점 키 시리얼 정보를 획득할 수 있으며, 상기 키 시리얼 정보를 해시(HASH)함수 처리하고, 상기 해시 함수 처리된 키 시리얼 정보를 키로 사용하여 상기 매핑 데이터베이스에서 상기 제2 부분을 색인할 수 있다.To this end, the token processing device 100 may obtain affiliated store key serial information identified by the affiliated store key management unit 130 in response to affiliated store identification information included in the card information decryption request, and hash the key serial information ( HASH) function, and the second part may be indexed in the mapping database by using the hash function-processed key serial information as a key.

이후, 토큰 처리 장치(100)는, 분산형 결제 토큰에 포함된 결제 수단 데이터의 제1 부분과 상기 제2 부분을 결합하여 암호화된 카드 정보를 획득한다(S205).Thereafter, the token processing device 100 acquires encrypted card information by combining the first part and the second part of the payment method data included in the distributed payment token (S205).

그리고, 토큰 처리 장치(100)는, 암호화 카운터 정보 및 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보에 기초한 상기 하드웨어 보안 모듈 장비 기반 연산을 수행하여, 상기 제1 암호화 키를 획득한다(S207).Then, the token processing device 100 obtains the first encryption key by performing the hardware security module device-based operation based on the key serial information issued in correspondence with the encryption counter information and the affiliate store information of the first affiliate store (S207).

이후, 토큰 처리 장치(100)는 제1 암호화 키를 이용하여 상기 암호화 카드 정보를 복호화 처리하며(S209), 복호화된 카드 정보는 중계 서버(200)로 제공될 수 있다(S211).Thereafter, the token processing device 100 decrypts the encrypted card information using the first encryption key (S209), and the decrypted card information may be provided to the relay server 200 (S211).

상기 제1 암호화 키를 획득 및 복호화하는 과정에 대하여, 도 6에 보다 구체적으로 도시되어 있다. 도 6을 참조하면, 토큰 결제 승인요청 전문에서는 분산형 결제 토큰 데이터로서 카드 번호 암호화 데이터의 상위 8BYTE와, KSN 거래 카운터가 식별될 수 있으며, 가맹점 식별 정보(가맹점 ID, TID)에 대응하는 가맹점 KSN이 조회 처리될 수 있다.A process of obtaining and decrypting the first encryption key is illustrated in more detail in FIG. 6 . Referring to FIG. 6, in the full text of the token payment approval request, the upper 8 bytes of the card number encryption data and the KSN transaction counter can be identified as distributed payment token data, and the affiliate store KSN corresponding to the affiliate store identification information (merchant store ID, TID) This query can be processed.

이에 따라, 토큰 처리 장치(100)는 가맹점 KSN을 HASH 처리한 값을 키로 사용하여 매핑 데이터베이스에서 조회할 수 있으며, 이로부터 색인된 제2 부분(하위 8BYTE) 데이터는 상기 제1 부분과 결합되어 카드번호 암호화 데이터(16BYTE)를 구성할 수 있게 된다.Accordingly, the token processing device 100 may search the mapping database using the HASH-processed value of the merchant KSN as a key, and the second part (lower 8BYTE) data indexed therefrom is combined with the first part to obtain a card Number encryption data (16BYTE) can be configured.

그리고, 토큰 처리 장치(100)는 가맹점 KSN을 이용한 토큰 BDK를 재출력시켜, 가맹점 IPEK를 연산할 수 있으며, KSN 거래 카운터를 이용하여 카드 암호화 FK를 재구성할 수 있는 바, 이는 가맹점 전용 결제수단 데이터의 복호화 키로 이용될 수 있다.In addition, the token processing device 100 may re-output the token BDK using the affiliate store KSN, calculate the affiliate IPEK, and reconstruct the card encryption FK using the KSN transaction counter, which is the affiliate store exclusive payment method data It can be used as a decryption key for

이에 따라 복호화된 카드번호 데이터는 다시 중계 서버(200)로 전달됨으로써, 카드사 서버(500)를 통한 결제 승인 처리가 이루어지게 된다.Accordingly, the decrypted card number data is transmitted to the relay server 200 again, so that payment approval processing is performed through the card company server 500 .

상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The method according to the present invention described above may be produced as a program to be executed on a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, and magnetic tape. , floppy disks, optical data storage devices, and the like, and also includes those implemented in the form of carrier waves (for example, transmission through the Internet).

컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer-readable recording medium is distributed to computer systems connected through a network, so that computer-readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the technical field to which the present invention belongs.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

Claims (17)

토큰 처리 장치의 동작 방법에 있어서,
제1 가맹점에서만 사용 가능한 토큰 발행 요청을 수신하는 단계;
상기 토큰 발행 요청에 포함된 결제 수단 데이터를, 상기 제1 가맹점의 가맹점 정보 및 암호화 카운터 정보를 이용하여 연산된 제1 암호화 키로, 암호화 처리하는 단계;
상기 암호화된 결제 수단 데이터의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성하는 단계; 및
상기 분산형 결제 토큰을 제공하는 단계를 포함하는
토큰 처리 장치의 동작 방법.
In the operating method of the token processing device,
Receiving a request for issuing a token usable only in the first affiliated store;
encrypting payment method data included in the token issuance request with a first encryption key calculated using affiliated store information and encryption counter information of the first affiliated store;
generating a distributed payment token for a transaction dedicated to the first affiliated store based on the first part of the encrypted payment method data and the encryption counter information; and
Including providing the decentralized payment token
A method of operating a token processing device.
제1항에 있어서,
상기 제1 암호화 키는 하드웨어 보안 모듈 장비를 이용하여 연산되며,
상기 하드웨어 보안 모듈 장비는,
물리적으로 보안화된 하드웨어 시스템을 통해 상기 제1 가맹점의 가맹점 정보에 대응하는 키 시리얼 정보용 초기 암호화 키 연산을 위한 베이스 토큰 유도 키를 출력하며,
상기 키 시리얼 정보 및 상기 베이스 토큰 유도 키를 이용하여 상기 초기 암호화 키를 연산하는 단계; 및
상기 초기 암호화 키와 상기 암호화 카운터 정보를 이용한 상기 제1 암호화 키를 연산하여 출력하는 단계를 더 포함하는
토큰 처리 장치의 동작 방법.
According to claim 1,
The first encryption key is calculated using hardware security module equipment,
The hardware security module equipment,
Outputting a base token derivation key for initial encryption key calculation for key serial information corresponding to affiliated store information of the first affiliated store through a physically secured hardware system;
calculating the initial encryption key using the key serial information and the base token derivation key; and
Further comprising calculating and outputting the first encryption key using the initial encryption key and the encryption counter information
A method of operating a token processing device.
제2항에 있어서,
상기 암호화된 결제 수단 데이터의 상기 제1 부분을 제외한 나머지 제2 부분과, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 매칭시켜, 상기 분산형 결제 토큰을 이용한 결제 승인 요청으로부터 상기 암호화된 결제 수단 데이터를 복호화하기 위한, 매핑 데이터베이스로 저장하는 단계를 더 포함하는
토큰 처리 장치의 동작 방법.
According to claim 2,
By matching the second part except for the first part of the encrypted payment method data with key serial information issued in correspondence with the affiliated store information of the first affiliated store, from the payment approval request using the distributed payment token Further comprising the step of storing the encrypted payment method data as a mapping database for decryption
A method of operating a token processing device.
제3항에 있어서,
상기 매핑 데이터베이스로 저장하는 단계는,
상기 키 시리얼 정보를 해시(HASH) 함수 처리하여 저장하는 단계를 더 포함하는
토큰 처리 장치의 동작 방법.
According to claim 3,
The step of storing in the mapping database,
Further comprising processing and storing the key serial information with a hash (HASH) function
A method of operating a token processing device.
제3항에 있어서,
서버로부터 상기 분산형 결제 토큰을 이용한 결제 수단 데이터 복호화 요청이 수신된 경우, 상기 복호화 요청에 포함된 상기 제1 부분과, 상기 제1 가맹점용 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 이용하여, 사전 저장된 상기 제2 부분을 획득하는 단계;
상기 제1 부분과 상기 제2 부분을 결합하여 암호화된 결제 수단 데이터를 획득하는 단계;
상기 암호화 카운터 정보 및 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 이용하여, 상기 하드웨어 보안 모듈 장비를 통해 처리된 상기 제1 암호화 키를 획득하는 단계;
상기 제1 암호화 키를 이용하여, 상기 암호화된 결제 수단 데이터를 복호화하는 단계; 및
상기 복호화된 결제 수단 데이터를 상기 서버로 제공하는 단계를 포함하는
토큰 처리 장치의 동작 방법.
According to claim 3,
When a payment method data decryption request using the distributed payment token is received from the server, using the first part included in the decryption request and the key serial information issued in correspondence with the affiliate store information for the first affiliate store, obtaining the pre-stored second portion;
obtaining encrypted payment method data by combining the first part and the second part;
obtaining the first encryption key processed through the hardware security module device using key serial information issued in correspondence with the encryption counter information and affiliated store information of the first affiliated store;
decrypting the encrypted payment means data using the first encryption key; and
Providing the decrypted payment method data to the server
A method of operating a token processing device.
제1항에 있어서,
상기 제공하는 단계는,
상기 분산형 결제 토큰을 상기 제1 가맹점 전용 거래에 대응하는 결제 수단으로만 사용 가능하도록 지시된 텍스트 전문 형태로 변환하는 단계를 포함하는
토큰 처리 장치의 동작 방법.
According to claim 1,
The step of providing,
Converting the decentralized payment token into a text telegram format instructed to be used only as a payment method corresponding to the transaction exclusively for the first affiliated store
A method of operating a token processing device.
제1항에 있어서,
상기 제공하는 단계는,
상기 분산형 결제 토큰의 유효 사용 횟수 또는 유효 사용 기간을 설정하는 단계를 더 포함하는
토큰 처리 장치의 동작 방법.
According to claim 1,
The step of providing,
Further comprising setting a valid use count or valid use period of the distributed payment token
A method of operating a token processing device.
제1항에 있어서,
상기 제1 암호화 키는 상기 하드웨어 보안 모듈 장비로부터 획득되는 대칭 키 방식의 암호화 키를 포함하는
토큰 처리 장치의 동작 방법.
According to claim 1,
The first encryption key includes a symmetric key method encryption key obtained from the hardware security module equipment
A method of operating a token processing device.
토큰 처리 장치에 있어서,
제1 가맹점에서만 사용 가능한 토큰 발행 요청을 수신하는 통신부;
상기 토큰 발행 요청에 포함된 결제 수단 데이터를, 상기 제1 가맹점의 가맹점 정보 및 암호화 카운터 정보를 이용하여 연산된 제1 암호화 키로, 암호화 처리하는 암호화 처리부;
상기 암호화된 결제 수단 데이터의 제1 부분과, 상기 암호화 카운터 정보에 기초하여 상기 제1 가맹점 전용 거래를 위한 분산형 결제 토큰을 생성하는 결제 토큰 처리부; 및
상기 분산형 결제 토큰을 제공하는 토큰 서비스 제공부;를 포함하는
토큰 처리 장치.
In the token processing device,
a communication unit receiving a request for issuing a token usable only at the first affiliated store;
an encryption processing unit that encrypts payment method data included in the token issuance request with a first encryption key calculated using affiliate store information and encryption counter information of the first affiliate store;
a payment token processing unit generating a distributed payment token for a transaction dedicated to the first affiliated store based on the first part of the encrypted payment method data and the encryption counter information; and
A token service providing unit providing the distributed payment token;
Token Processing Unit.
제9항에 있어서,
상기 제1 암호화 키는 하드웨어 보안 모듈 장비를 이용하여 연산되며,
상기 하드웨어 보안 모듈 장비는, 물리적으로 보안화된 하드웨어 시스템을 통해 상기 제1 가맹점의 가맹점 정보에 대응하는 키 시리얼 정보용 초기 암호화 키 연산을 위한 베이스 토큰 유도 키를 출력하며,
상기 암호화 처리부는, 상기 키 시리얼 정보 및 상기 베이스 토큰 유도 키를 이용하여 상기 초기 암호화 키를 연산하고, 상기 초기 암호화 키와 상기 암호화 카운터 정보를 이용한 상기 제1 암호화 키를 연산하여 출력하는
토큰 처리 장치.
According to claim 9,
The first encryption key is calculated using hardware security module equipment,
The hardware security module device outputs a base token derivation key for initial encryption key calculation for key serial information corresponding to affiliated store information of the first affiliated store through a physically secured hardware system,
The encryption processing unit calculates the initial encryption key using the key serial information and the base token derivation key, and calculates and outputs the first encryption key using the initial encryption key and the encryption counter information.
Token Processing Unit.
제10항에 있어서,
상기 암호화된 결제 수단 데이터의 상기 제1 부분을 제외한 나머지 제2 부분과, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 매칭시켜, 상기 분산형 결제 토큰을 이용한 결제 승인 요청으로부터 상기 암호화된 결제 수단 데이터를 복호화하기 위한, 매핑 데이터베이스로 저장하는 데이터 관리부를 더 포함하는
토큰 처리 장치.
According to claim 10,
By matching the second part except for the first part of the encrypted payment method data with key serial information issued in correspondence with the affiliated store information of the first affiliated store, from the payment approval request using the distributed payment token Further comprising a data management unit for storing encrypted payment method data in a mapping database for decryption
Token Processing Unit.
제11항에 있어서,
상기 데이터 관리부는, 상기 키 시리얼 정보를 해시(HASH) 함수 처리하여 저장하는
토큰 처리 장치.
According to claim 11,
The data management unit processes and stores the key serial information with a hash (HASH) function.
Token Processing Unit.
제11항에 있어서,
상기 데이터 관리부는, 서버로부터 상기 분산형 결제 토큰을 이용한 결제 수단 데이터 복호화 요청이 수신된 경우, 상기 복호화 요청에 포함된 상기 제1 부분과, 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보를 이용하여, 사전 저장된 상기 제2 부분을 획득하고,
상기 암호화 처리부는, 상기 제1 부분과 상기 제2 부분을 결합하여 암호화된 결제 수단 데이터를 획득하며, 상기 암호화 카운터 정보 및 상기 제1 가맹점의 가맹점 정보에 대응하여 발행된 키 시리얼 정보에 기초한 상기 하드웨어 보안 모듈 장비 기반 연산을 수행하여 상기 제1 암호화 키를 획득하고, 상기 제1 암호화 키를 이용하여, 상기 암호화된 결제 수단 데이터를 복호화하며,
상기 서비스 제공부는,
상기 복호화된 결제 수단 데이터를 상기 서버로 제공하는
토큰 처리 장치.
According to claim 11,
When the data management unit receives a request for decryption of payment method data using the distributed payment token from the server, the key serial issued in correspondence with the first part included in the decryption request and affiliated store information of the first affiliated store obtaining, using the information, the pre-stored second portion;
The encryption processing unit obtains encrypted payment method data by combining the first part and the second part, and the hardware based on key serial information issued in correspondence with the encryption counter information and affiliated store information of the first affiliated store Obtaining the first encryption key by performing a security module equipment-based operation, decrypting the encrypted payment method data using the first encryption key,
The service provider,
Providing the decrypted payment method data to the server
Token Processing Unit.
제9항에 있어서,
상기 서비스 제공부는,
상기 분산형 결제 토큰을 상기 제1 가맹점 전용 거래에 대응하는 결제 수단으로만 사용 가능하도록 지시된 텍스트 전문 형태로 변환하는
토큰 처리 장치.
According to claim 9,
The service provider,
Converting the decentralized payment token into a text message form instructed to be used only as a payment method corresponding to the first affiliated store-only transaction
Token Processing Unit.
제9항에 있어서,
서비스 제공부는,
상기 분산형 결제 토큰의 유효 사용 횟수 또는 유효 사용 기간을 설정하는
토큰 처리 장치.
According to claim 9,
service provider,
Setting the valid use count or valid use period of the distributed payment token
Token Processing Unit.
제9항에 있어서,
상기 제1 암호화 키는 상기 하드웨어 보안 모듈 장비로부터 획득되는 대칭 키 방식의 암호화 키를 포함하는
토큰 처리 장치.
According to claim 9,
The first encryption key includes a symmetric key method encryption key obtained from the hardware security module equipment
Token Processing Unit.
제1항 내지 제8항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 판독 가능한 매체에 저장되는 컴퓨터프로그램.A computer program stored in a computer readable medium for executing the method according to any one of claims 1 to 8 on a computer.
KR1020210085809A 2021-06-30 2021-06-30 An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it KR102600489B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210085809A KR102600489B1 (en) 2021-06-30 2021-06-30 An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210085809A KR102600489B1 (en) 2021-06-30 2021-06-30 An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it

Publications (2)

Publication Number Publication Date
KR20230004041A true KR20230004041A (en) 2023-01-06
KR102600489B1 KR102600489B1 (en) 2023-11-08

Family

ID=84924177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210085809A KR102600489B1 (en) 2021-06-30 2021-06-30 An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it

Country Status (1)

Country Link
KR (1) KR102600489B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101449644B1 (en) * 2013-05-22 2014-10-15 한국정보통신주식회사 POS System and Method for Payment using Encrypted Card Information
KR20170111524A (en) * 2016-03-28 2017-10-12 한국정보통신주식회사 A method of processing card information for preventing re-use of card information, an appratus thereof and a method for operating financial server
KR20190142653A (en) * 2018-06-18 2019-12-27 주식회사 비즈모델라인 Method for Providing Service by using Blockchain based on POS

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101449644B1 (en) * 2013-05-22 2014-10-15 한국정보통신주식회사 POS System and Method for Payment using Encrypted Card Information
KR20170111524A (en) * 2016-03-28 2017-10-12 한국정보통신주식회사 A method of processing card information for preventing re-use of card information, an appratus thereof and a method for operating financial server
KR20190142653A (en) * 2018-06-18 2019-12-27 주식회사 비즈모델라인 Method for Providing Service by using Blockchain based on POS

Also Published As

Publication number Publication date
KR102600489B1 (en) 2023-11-08

Similar Documents

Publication Publication Date Title
CN107925572B (en) Secure binding of software applications to communication devices
JP6214724B2 (en) Method, apparatus and system for secure provisioning, transmission and authentication of payment data
CN105960776B (en) Token authentication using limited-use credentials
CN102696047B (en) Encryption hand-off process
CN107077670B (en) Method and apparatus for transmitting and processing transaction message, computer readable storage medium
US9065643B2 (en) System and method for account identifier obfuscation
US10013690B2 (en) Systems and methods for merchant mobile acceptance
CN113015992B (en) Cloud token provisioning of multiple tokens
KR102333811B1 (en) System and method for processing card payment based on block-chain
CN111052671A (en) System for secure authentication of user identity in an electronic system for banking transactions
US20200275267A1 (en) Hands free interaction system and method
KR101751887B1 (en) Method for generating one-time card code, approving card payment, reader and server thereof
KR101886653B1 (en) A method of processing card information for preventing re-use of card information, an appratus thereof and a method for operating financial server
KR102600489B1 (en) An apparatus for processing a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it
KR101710950B1 (en) Method for distributing encrypt key, card reader and system for distributing encrypt key thereof
KR20170078564A (en) Method for generating one-time card code, approving card payment, reader and server thereof
KR101583718B1 (en) Apparatus and method for proccesing card transaction in a payment system
KR102600490B1 (en) An apparatus for providing payment services of a distributed token for encrypted data of payment information to be used only by a specific franchisee and a method for operating it
KR101912254B1 (en) A method of processing transaction information for preventing re-use of transaction information based on a shared encryption key, an appratus thereof
KR102395870B1 (en) A payment terminal apparatus for providing payment services using a distributed management network of encryption key based on block chains
JP7024738B2 (en) Server and authentication method
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
KR20010006006A (en) Rollup certification in a reader
CN112585638A (en) Techniques for secure transfer of sensitive data

Legal Events

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