KR101726243B1 - Mutual authentication and key exchange method for key renewal of payment system, and key sharing method with third-party servers - Google Patents

Mutual authentication and key exchange method for key renewal of payment system, and key sharing method with third-party servers Download PDF

Info

Publication number
KR101726243B1
KR101726243B1 KR1020150132950A KR20150132950A KR101726243B1 KR 101726243 B1 KR101726243 B1 KR 101726243B1 KR 1020150132950 A KR1020150132950 A KR 1020150132950A KR 20150132950 A KR20150132950 A KR 20150132950A KR 101726243 B1 KR101726243 B1 KR 101726243B1
Authority
KR
South Korea
Prior art keywords
key
payment
terminal
server
payment terminal
Prior art date
Application number
KR1020150132950A
Other languages
Korean (ko)
Other versions
KR20160121360A (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 한국신용카드결제 (주)
Publication of KR20160121360A publication Critical patent/KR20160121360A/en
Application granted granted Critical
Publication of KR101726243B1 publication Critical patent/KR101726243B1/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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • 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)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Abstract

본 발명은 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법에 관한 것이다. 본 발명은, 결제서버의 요청에 의해 임의의 결제단말로부터 수신되는 암호화데이터를 복호화하는데 필요한 고유키를 발급하는 키관리서버에 의하여 수행되고, 상기 결제서버로부터 전송된, 상기 임의의 결제단말의 디바이스 ID를 포함하는 키 발급 요청을 수신하는 단계; 상기 결제서버의 운영주체 또는 상기 임의의 결제단말의 디바이스 ID 중 적어도 하나에 기초하여 키 발급 여부를 결정하는 단계; 그리고 상기 결정하는 단계의 수행 결과에 따라 선택적으로, 상기 임의의 결제단말의 디바이스 ID와 상기 키관리서버에 저장된 베이스 키에 기초하여 상기 임의의 결제단말에 대한 고유키를 생성하여 상기 결제서버로 제공하는 단계를 포함한다. 이러한 본 발명에 의하면 가맹점에서 하나의 결제단말로 서로 다른 운영주체에 의한 결제서버로부터 거래 승인을 받을 수 있다는 장점이 있다. The present invention relates to a mutual authentication and key exchange method for updating a key of a payment system, and a key sharing method with another server. The present invention relates to a payment server, which is performed by a key management server that issues a unique key necessary for decrypting encrypted data received from an arbitrary payment terminal at the request of a payment server, Receiving a key issuing request including an ID; Determining whether to issue a key based on at least one of an operating entity of the payment server or a device ID of the arbitrary payment terminal; And generating a unique key for the arbitrary payment terminal on the basis of the device ID of the arbitrary payment terminal and the base key stored in the key management server according to a result of the determination, . According to the present invention, it is possible to receive transaction approval from a payment server by different operating entities from a merchant to a single settlement terminal.

Description

결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법{MUTUAL AUTHENTICATION AND KEY EXCHANGE METHOD FOR KEY RENEWAL OF PAYMENT SYSTEM, AND KEY SHARING METHOD WITH THIRD-PARTY SERVERS}TECHNICAL FIELD [0001] The present invention relates to a mutual authentication and key exchange method for updating a key of a billing system, and a method of sharing a key with another server,

본 발명은 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법에 관한 것으로, 보다 상세하게는 결제단말에 저장되는 키의 갱신이 가능할 뿐 아니라, 타 결제사 서버와의 키 공유를 통해 하나의 결제단말만으로도 복수의 결제사 서버와의 결제절차 수행이 가능하도록 하는 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법에 관한 것이다. The present invention relates to a mutual authentication and key exchange method for updating a key of a payment system and a key sharing method with another server. More particularly, the present invention relates to a method and system for updating a key stored in a payment terminal, To a mutual authentication and key exchange method for updating a key of a payment system that enables a payment procedure to be performed with a plurality of payment server servers using only one settlement terminal through sharing a key with a payment server, .

우리나라는 세계 최고 수준의 신용카드 보급률과 이용률을 자랑한다. 카드 이용액도 수년간 급격히 늘어나고 있다. 그에 따라 오프라인 매장들에 대한 신용카드 결제단말 보급률과 이의 이용률도 함께 증가하고 있다. 오프라인 매장들은 신용카드사와 가맹계약을 체결하고 신용카드로 결제 대금을 지급받기 위하여 하나 이상의 결제대행회사(소위, VAN(Value Added Network)사)로부터 지급받은 신용카드 결제단말을 이용한다. 그리고 결제대행회사는 신용카드 결제단말에서 발생한 신용카드 거래를 중개하는 시스템을 운용함으로써 오프라인 가맹점과 신용카드사 사이의 결제를 대행하는 역할을 한다. Korea boasts the world's highest credit card penetration rate and utilization rate. The amount of card use is also rapidly increasing over the years. As a result, the penetration rate of credit card payment terminals and usage rates for offline stores are also increasing. Off-line stores use a credit card payment terminal that is paid by one or more payment agencies (so-called Value Added Network) to sign payment agreements with a credit card company and receive payment by credit card. In addition, the payment agent acts as a payment agent between the offline merchant and the credit card company by operating a system for intermediating credit card transactions originating from the credit card payment terminal.

이러한 과정에서 결제대행회사의 시스템과 신용카드 결제단말은 신용카드정보를 포함하는 민감한 거래정보를 송수신한다. 이러한 거래정보가 탈취되는 경우, 거래정보를 탈취한 제3자가 타인의 신용카드정보를 이용하여 결제를 수행하고 거래가 승인됨으로써 부당한 이득을 얻게 되고, 그에 따라 선의의 피해자가 발생하는 사례가 빈번하다. 따라서 결제대행회사들은 거래정보의 송수신 과정에서 보안성을 높이기 위하여, 다양한 거래정보의 암복호화 방법을 고안하여 사용하고 있다. In this process, the payment agent company's system and the credit card payment terminal transmit and receive sensitive transaction information including credit card information. In the case where such transaction information is captured, a third party who has taken the transaction information obtains an unjust gain by performing settlement using the credit card information of the other party and accepting the transaction, and accordingly, victims of good faith are frequently encountered. Therefore, settlement agencies are devising and using various methods of encryption and decryption of transaction information in order to enhance security during transmission and reception of transaction information.

그러나 종래의 암복호화 방법은 결제대행회사마다 다르기 때문에, 하나의 결제대행회사에서 지급한 신용카드 결제단말에서 발생한 거래정보는 해당 결제대행회사의 시스템을 통해서만 복호화 가능했다. 따라서 특정 결제대행회사의 네트워크에 오류가 발생한 경우, 하나의 결제대행회사의 결제단말만을 보유하고 있는 가맹점은 오류가 해결될 때까지 신용카드 결제를 수행할 수 없다는 문제점이 있었다. 따라서 규모가 있는 가맹점들은 복수의 결제대행회사가 각각 지급한 복수의 신용카드 결제단말을 구비함으로써 이러한 네트워크 문제를 해결해왔으나, 영세한 가맹점들은 한 결제대행회사의 결제단말만을 보유하고 있어서 이러한 오류에 대처가 어렵다는 문제점이 있었다. However, since the conventional encryption / decryption method differs for each settlement agency, transaction information generated at a credit card payment terminal provided by one settlement agency can be decrypted only through the system of the settlement agency. Accordingly, when an error occurs in a network of a specific settlement agency, a merchant holding only a settlement terminal of a settlement agency can not perform credit card settlement until the error is resolved. Therefore, the franchisees having a large size have solved such a network problem by providing a plurality of credit card payment terminals each paid by a plurality of settlement agents. However, since small franchisees have only a payment terminal of one settlement agency, .

또한 둘 이상의 결제대행회사들이 암복호화 방식을 통일하고, 동일한 결제단말에 대해 단일한 암복호화키를 이용함으로써 상술한 문제점을 해결하고자 하는 경우, 암복호화키가 서로 다른 다수의 운영주체에게 노출됨으로써 보안성이 약화될 뿐 아니라, 결제단말에서 발생한 일회의 거래정보를 이용하여 서로 다른 결제대행회사에서 이중 승인이 발생할 가능성이 높아지는 등 거래 안정성이 저하되는 문제점이 있었다. Also, when two or more settlement agencies attempt to solve the above-mentioned problem by unifying the encryption decryption method and using a single encryption decryption key for the same settlement terminal, the encryption decryption key is exposed to a plurality of different operating entities, There is a problem that the transaction stability is lowered because the possibility of double approval is increased in different settlement agencies by using one transaction information generated at the settlement terminal.

또는 둘 이상의 결제대행회사들이 암호화 방식을 통일하고 동일한 암호화 키를 이용하는 경우, 보안성을 담보하기 위해서는 하나의 결제대행회사의 시스템에 대해 다른 결제대행회사가 거래 시마다 매번 암호화키를 요청하여 발급받아야 한다는 문제점이 있었다. 이 경우 하나의 결제대행회사의 시스템 오류가 발생하면 다른 결제대행회사에서도 결제를 수행할 수 없다는 종래의 문제점도 해결되지 않는다. Or if two or more payment agencies use the same encryption key and use the same encryption key, in order to secure the security, the other payment agent company must request the encryption key every time the transaction is made to the system of one payment agent There was a problem. In this case, if a system error occurs in one settlement agency, the conventional problem that another settlement agency can not perform the settlement can not be solved.

한국 등록특허 10-0627807호는 ‘이동 단말 결제 수신 장치 관리 시스템 및 방법’에 관한 것으로서, 신용카드 조회기에 동글을 설치하여 이동통신단말에 저장된 신용카드정보를 신용카드 조회기로 전달할 수 있도록 하고, 그에 따라 신용카드가 아닌, 이동통신단말에 저장된 신용카드 정보를 이용하여 거래가 이루어질 수 있도록 한 방법에 대한 것이다. Korean Patent Registration No. 10-0627807 discloses a system and method for managing and managing a mobile terminal payment and reception apparatus in which a dongle is installed in a credit card inquiry device so that credit card information stored in a mobile communication terminal can be transferred to a credit card inquiry device, The present invention relates to a method for enabling transactions to be made using credit card information stored in a mobile communication terminal rather than a credit card.

그러나 이러한 종래기술에 의하더라도, 신용카드 조회기를 지급한 결제대행회사에 따라 암복호화 방식이 상이하기 때문에, 결제대행회사의 시스템이나 네트워크 오류가 발생하는 경우 대체가 어렵다는 기존의 문제점을 해결하지 못한다. However, even with this conventional technique, since the encryption decryption method differs depending on the settlement agency that paid the credit card inquiry, the conventional problem of difficulty in replacing the system when a system or network error occurs in the settlement company can not be solved.

따라서 상술한 문제점을 해결할 수 있는 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법이 요구된다. Therefore, a mutual authentication and key exchange method for updating a key of a settlement system and a key sharing method with another server are required to solve the above problems.

한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information acquired by the inventor for the derivation of the present invention or obtained in the derivation process of the present invention, and can not necessarily be a known technology disclosed to the general public before the application of the present invention .

따라서 본 발명의 일실시예는 결제대행회사들 사이에서 결제단말에 대한 암호화키를 공유할 수 있는 방법을 제안함으로써, 일부 결제대행회사의 네트워크 오류가 발생하더라도 안정적으로 신용카드 결제를 수행할 수 있도록 하는 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법을 제공하는 데에 목적이 있다. Therefore, an embodiment of the present invention proposes a method of sharing an encryption key for a payment terminal among settlement agencies so that a credit card settlement can be stably performed even if a network error occurs in some settlement agencies The present invention provides a mutual authentication and key exchange method for updating a key of a payment system, and a key sharing method with another server.

또한, 본 발명의 일실시예는 서로 다른 결제대행회사들이 결제단말에 대한 암호화키를 공유하더라도 충분한 보안성을 유지할 수 있는 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법을 제공하는 데에 목적이 있다. In addition, an embodiment of the present invention provides a mutual authentication and key exchange method for updating a key of a payment system that can maintain sufficient security even when different settlement agencies share an encryption key for a payment terminal, The purpose of the key sharing method is to provide.

나아가 본 발명의 일실시예는 암호화키의 온라인 등록 및 갱신이 가능하도록 하는 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법을 제공하는 데에 목적이 있다. It is another object of the present invention to provide a mutual authentication and key exchange method for updating a key of a billing system enabling on-line registration and updating of an encryption key, and a key sharing method with another server.

또한 본 발명의 일실시예는 결제단말에서 서버로 거래정보 등 민감한 정보를 전달함에 있어서, 전송 데이터를 보호할 수 있는 결제 시스템의 키 갱신을 위한 상호인증 및 키 교환 방법, 그리고 타서버와의 키 공유 방법을 제공하는 데에 목적이 있다. In an embodiment of the present invention, in transmitting sensitive information such as transaction information from a payment terminal to a server, a mutual authentication and key exchange method for updating a key of a payment system capable of protecting transmission data, There is a purpose in providing a sharing method.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면 본 발명은, 결제서버의 요청에 의해 임의의 결제단말로부터 수신되는 암호화데이터를 복호화하는데 필요한 고유키를 발급하는 키관리서버에 의하여 수행되고, 상기 결제서버로부터 전송된, 상기 임의의 결제단말의 디바이스 ID를 포함하는 키 발급 요청을 수신하는 단계; 상기 결제서버의 운영주체 또는 상기 임의의 결제단말의 디바이스 ID 중 적어도 하나에 기초하여 키 발급 여부를 결정하는 단계; 그리고 상기 결정하는 단계의 수행 결과에 따라 선택적으로, 상기 임의의 결제단말의 디바이스 ID와 상기 키관리서버에 저장된 베이스 키에 기초하여 상기 임의의 결제단말에 대한 고유키를 생성하여 상기 결제서버로 제공하는 단계를 포함한다. According to a first aspect of the present invention, there is provided a key management system for issuing a unique key necessary for decrypting encrypted data received from a payment terminal by a payment server, Receiving, by the server, a key issuing request transmitted from the payment server, the key issuing request including a device ID of the arbitrary payment terminal; Determining whether to issue a key based on at least one of an operating entity of the payment server or a device ID of the arbitrary payment terminal; And generating a unique key for the arbitrary payment terminal on the basis of the device ID of the arbitrary payment terminal and the base key stored in the key management server according to a result of the determination, .

또한 본 발명에서 상기 결정하는 단계는, 상기 결제서버의 운영주체가 기 설정된 운영주체이면, 상기 임의의 결제단말에 대한 고유키를 발급하도록 결정하는 단계를 포함할 수 있다. According to another aspect of the present invention, the determining step may include determining to issue a unique key for the payment terminal if the principal of the payment server is a predetermined operator.

그리고 본 발명에서 상기 결정하는 단계는, 상기 임의의 결제단말의 디바이스 ID에 기초할 때 상기 임의의 결제단말을 지급한 주체가 기 설정된 운영주체이면, 상기 임의의 결제단말에 대한 고유키를 발급하도록 결정하는 단계를 포함할 수 있다. According to the present invention, in the determining step, when the subject who paid the arbitrary payment terminal is a predetermined operator based on the device ID of the arbitrary payment terminal, the unique key is issued to the arbitrary payment terminal And a step of determining the number

나아가 본 발명에서 상기 결정하는 단계는, 상기 임의의 결제단말의 디바이스 ID가 상기 키관리서버에 기 등록된 디바이스 ID이면, 상기 임의의 결제단말에 대한 고유키를 발급하도록 결정하는 단계를 포함할 수 있다. Further, in the present invention, the determining may include determining to issue a unique key for the arbitrary payment terminal if the device ID of the arbitrary payment terminal is a device ID previously registered in the key management server have.

한편 본 발명의 제2측면에 따르면, 본 발명은, 결제단말의 요청에 의해 상기 결제단말이 데이터를 암호화하는데 필요한 고유키를 키관리서버에 요청하여 상기 결제단말로 제공하는 단말등록서버에 의하여 수행되고, 상기 결제단말로부터 전송된, 상기 결제단말의 디바이스 ID를 포함하는 키 발급 또는 갱신 요청을 수신하는 단계; 상기 키 발급 또는 갱신 요청에 포함된 상기 결제단말의 디바이스 ID를 이용하여 상기 키관리서버로 상기 결제단말에 대한 고유키 발급을 요청하는 단계; 그리고 상기 키관리서버로부터 상기 결제단말에 대한 고유키가 발급되면, 상기 고유키를 암호화하여 생성한 암호화데이터2를 상기 결제단말로 제공하는 단계를 포함할 수 있다. According to a second aspect of the present invention, there is provided a payment terminal, which requests a unique key required for the payment terminal to encrypt data at the request of the payment terminal to the key management server and is performed by the terminal registration server provided to the payment terminal Receiving a key issuance or update request transmitted from the payment terminal, the request including a device ID of the payment terminal; Requesting the key management server to issue a unique key to the payment terminal using the device ID of the payment terminal included in the key issuance or update request; And transmitting the encrypted data 2 generated by encrypting the unique key to the payment terminal when the unique key for the payment terminal is issued from the key management server.

여기서 상기 결제단말로부터 수신된 상기 키 발급 또는 갱신 요청에는, 상기 결제단말에 저장된 서버인증정보 및 상기 결제단말이 생성한 타임스탬프를 포함하는 값을 암호화한 암호화데이터1, 상기 결제단말의 디바이스ID, 그리고 상기 암호화데이터1을 암호화하는데 사용된 임시키를 생성하는데 필요한 변수값이 포함되고, 상기 방법은, 상기 임시키로 상기 암호화데이터1을 복호화하여 획득한 타임스탬프와 상기 서버인증정보를 검증하는 단계를 더 포함할 수 있다. Here, the key issuance or update request received from the payment terminal includes encrypted data 1 encrypted with a value including the server authentication information stored in the payment terminal and the time stamp generated by the payment terminal, the device ID of the payment terminal, And a variable value required to generate a temporary key used to encrypt the encrypted data 1, the method further comprising verifying the time stamp obtained by decrypting the encrypted data 1 with the temporary key and the server authentication information .

또한 상기 암호화데이터2는, 상기 단말등록서버가 생성한 타임스탬프, 상기 결제단말의 디바이스 ID, 그리고 상기 고유키를 암호화한 데이터를 포함할 수 있다. The encrypted data 2 may include a time stamp generated by the terminal registration server, a device ID of the payment terminal, and data obtained by encrypting the unique key.

이때 상기 방법은, 상기 변수값 및 상기 결제단말의 디바이스ID로 임시키를 생성하는 단계를 더 포함할 수 있다.The method may further include generating a temporary key using the variable value and the device ID of the payment terminal.

한편 본 발명의 제3측면에 의하면, 본 발명은 결제단말의 결제 요청에 따라 거래 승인 절차를 수행하는 결제서버에 있어서, 상기 결제단말로부터 결제 요청을 수신하는 단계; 상기 결제 요청에 포함된 상기 결제단말의 디바이스 ID를 이용하여 상기 결제단말에 대한 고유키를 검색하는 단계; 상기 결제단말에 대한 고유키가 저장되어 있지 않은 경우, 키관리서버로 상기 결제단말의 디바이스 ID를 포함하는 키 발급 요청을 전송하는 단계; 상기 키관리서버로부터 상기 키 발급 요청에 대응하는 고유키가 수신되면, 수신된 고유키를 캐시에 저장하는 단계; 상기 고유키를 이용하여 상기 결제 요청에 포함된 암호화데이터를 복호화하는 단계를 포함할 수 있다. According to a third aspect of the present invention, there is provided a payment server for performing a transaction approval procedure according to a payment request of a payment terminal, the method comprising: receiving a payment request from the payment terminal; Retrieving a unique key for the payment terminal using the device ID of the payment terminal included in the payment request; Transmitting a key issuing request including the device ID of the payment terminal to the key management server if the unique key for the payment terminal is not stored; Storing a received unique key in a cache when the unique key corresponding to the key issuance request is received from the key management server; And decrypting the encrypted data included in the settlement request using the inherent key.

여기서 상기 방법은, 상기 수신하는 단계에서 수신한 상기 결제 요청의 형식 또는 상기 결제 요청에 포함된 디바이스 ID에 기초하여 복호화 방법을 결정하는 단계를 더 포함하고, 상기 결정하는 단계에서 결정된 복호화 방법이 기설정된 제1방식인 경우에만 선택적으로, 상기 고유키를 검색하는 단계, 상기 키 발급 요청을 전송하는 단계, 상기 고유키를 캐시에 저장하는 단계, 그리고 상기 암호화데이터를 복호화하는 단계를 수행할 수 있다. The method may further comprise determining a decoding method based on a format of the payment request received in the receiving step or a device ID included in the payment request, Selectively searching for the unique key, transmitting the key issuing request, storing the unique key in the cache, and decrypting the encrypted data, selectively only in the case of the first mode set .

여기서 상기 암호화데이터를 복호화하는 단계는, 상기 고유키 및 상기 결제 요청에 포함된 키 시리얼 번호를 이용하여 상기 결제단말에 대응하는 내장 키 세트를 연산하는 단계; 그리고 연산된 내장 키 세트를 이용하여 연산한 암호화 키로 상기 암호화데이터를 복호화하는 단계를 포함할 수 있다. The step of decrypting the encrypted data may include: calculating a built-in key set corresponding to the payment terminal using the unique key and the key serial number included in the payment request; And decrypting the encrypted data with an encryption key calculated using the computed built-in key set.

여기서 상기 키 시리얼 번호는, 상기 결제단말에서 생성되고, 상기 결제단말의 디바이스 ID와 상기 결제단말의 거래 횟수를 나타내는 거래 카운터 정보를 포함하며, 상기 암호화 키는 상기 내장 키 세트와 상기 거래 카운터 정보에 기초하여 연산될 수 있다. Wherein the key serial number includes transaction counter information generated by the payment terminal and indicating a device ID of the payment terminal and a transaction count of the payment terminal, . ≪ / RTI >

한편 본 발명의 제4측면에 따르면, 본 발명은 단말등록서버에 고유키 발급 또는 갱신을 요청하는 결제단말에 의해 수행되고, 상기 단말등록서버로, 상기 결제단말에 저장된 서버인증정보 및 상기 결제단말이 생성한 타임스탬프를 포함하는 값을 암호화한 암호화데이터1, 상기 결제단말의 디바이스ID, 그리고 상기 암호화데이터1을 암호화하는데 사용된 임시키를 생성하는데 필요한 변수값이 포함되는, 고유키 발급 또는 갱신 요청을 전송하는 단계; 상기 단말등록서버로부터 암호화된 고유키를 포함하는 암호화데이터2를 수신하는 단계; 수신된 암호화데이터2를 상기 임시키로 복호화하여 상기 고유키를 획득하는 단계; 그리고 상기 고유키를 이용하여 내장 키 세트를 연산하고 상기 내장 키 세트를 저장하는 단계를 포함할 수 있다. According to a fourth aspect of the present invention, there is provided a terminal management system comprising: a payment terminal that requests a unique key issuance or update to a terminal registration server, Issuing or updating a unique key including the encrypted data 1 encrypted with a value including the generated time stamp, the device ID of the payment terminal, and a variable value required to generate the temporary key used to encrypt the encrypted data 1 Sending a request; Receiving encrypted data 2 including an encrypted unique key from the terminal registration server; Decrypting the received encrypted data 2 with the temporary key to obtain the unique key; And computing a built-in key set using the unique key and storing the built-in key set.

이때 상기 암호화데이터2는, 상기 단말등록서버가 생성한 타임스탬프, 상기 결제단말의 디바이스 ID, 그리고 상기 고유키를 암호화한 데이터를 포함하고, 상기 방법은, 상기 암호화데이터2를 복호화하여 획득한 상기 단말등록서버가 생성한 타임스탬프와 상기 결제단말의 디바이스 ID를 검증하는 단계를 더 포함할 수 있다. Here, the encrypted data 2 includes a time stamp generated by the terminal registration server, a device ID of the payment terminal, and data obtained by encrypting the unique key, the method comprising: And verifying the time stamp generated by the terminal registration server and the device ID of the payment terminal.

한편 본 발명의 제5측면에 의하면, 본 발명은 제1결제서버와 제2결제서버를 포함하는 복수의 결제서버에 택일적으로 결제를 요청하는 결제단말에 의해 수행되고, 기설정된 상기 제2결제서버로 제1결제요청을 전송하는 단계; 상기 제2결제서버로부터 상기 제1결제요청에 대한 응답이 수신되지 않거나 네트워크 오류 신호가 수신되는 경우, 상기 제1결제서버에 대한 제2결제요청을 생성하기 위하여, 내장 키 세트와 키 시리얼 번호를 로드하는 단계; 로드된 내장 키 세트와 키 시리얼 번호를 이용하여 암호화 키를 연산하고, 금융거래카드정보를 포함하는 평문데이터를 상기 암호화 키로 암호화하여 암호화데이터를 생성하는 단계; 그리고 상기 암호화데이터와 상기 키 시리얼 번호를 포함하는 제2결제요청을 제1결제서버로 전송하는 단계를 포함할 수 있다. According to a fifth aspect of the present invention, there is provided a billing system, comprising: a settlement terminal that requests a settlement request to a plurality of settlement servers including a first settlement server and a second settlement server, Sending a first payment request to the server; A built-in key set and a key serial number to generate a second payment request for the first payment server when a response to the first payment request is not received from the second payment server or a network error signal is received Loading; Calculating an encryption key using the loaded built-in key set and the key serial number, and encrypting the plaintext data including the financial transaction card information with the encryption key to generate encrypted data; And transmitting a second payment request including the encrypted data and the key serial number to the first payment server.

여기서 상기 방법은, 상기 암호화데이터를 생성하는 단계 이후에, 상기 암호화 키를 이용하여 상기 내장 키 세트를 갱신하고, 상기 키 시리얼 번호에 포함되는 거래 카운터 정보를 갱신하는 단계를 더 포함할 수 있다. The method may further include updating the built-in key set using the encryption key, and updating the transaction counter information included in the key serial number, after the step of generating the encrypted data.

그리고 상기 로드하는 단계는, 상기 제2결제요청을 생성하기 위한 상기 내장 키 세트가 저장되어 있지 않거나 상기 내장 키 세트의 전체 갱신을 위한 고유키의 발급이 요구되는 경우, 단말등록서버로 상기 결제단말의 디바이스 ID를 포함하는 키 발급 또는 갱신 요청을 전송하는 단계; 상기 단말등록서버로부터 상기 결제단말에 대한 고유키를 수신하는 단계; 그리고 상기 고유키를 이용하여 상기 내장 키 세트를 연산하여 저장하는 단계를 포함할 수 있다. If the built-in key set for generating the second payment request is not stored or the issuance of a unique key for the entire update of the built-in key set is required, the loading step may include: Sending a key issuance or update request including the device ID of the device; Receiving a unique key for the payment terminal from the terminal registration server; And computing and storing the built-in key set using the inherent key.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일실시예는 결제대행회사들 사이에서 결제단말에 대한 암호화키를 공유할 수 있는 방법을 제안함으로써, 일부 결제대행회사의 네트워크 오류가 발생하더라도 안정적으로 신용카드 결제를 수행할 수 있도록 한다.According to one of the above-mentioned objects of the present invention, an embodiment of the present invention proposes a method of sharing an encryption key for a payment terminal among settlement agencies, So that the credit card settlement can be performed stably.

또한, 본 발명의 일실시예는 서로 다른 결제대행회사들이 결제단말에 대한 암호화키를 공유하더라도 충분한 보안성을 유지할 수 있도록 한다. In addition, an embodiment of the present invention allows sufficient security to be maintained even if different settlement agencies share the encryption key for the settlement terminal.

나아가 본 발명의 일실시예는 암호화키의 온라인 등록 및 갱신이 가능하도록 할 수 있다.Further, an embodiment of the present invention may enable the on-line registration and update of the encryption key.

또한 본 발명의 일실시예는 결제단말에서 서버로 거래정보 등 민감한 정보를 전달함에 있어서, 전송 데이터를 보호할 수 있다.In addition, one embodiment of the present invention can protect transmission data in delivering sensitive information such as transaction information from a payment terminal to a server.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.

도 1은 본 발명의 실시예에 의한 결제 시스템의 네트워크 구성을 도시한 도면이다.
도 2는 본 발명의 실시예에 의한 결제 시스템을 이용하여 결제를 수행하는 과정을 도시한 도면이다.
도 3은 본 발명의 실시예에 의한 결제 시스템의 키 시리얼 번호의 구성을 도시한 도면이다.
도 4는 본 발명의 실시예에 의한 결제 시스템을 이용한 단말등록 과정을 도시한 도면이다.
도 5는 본 발명의 실시예에 의한 결제 시스템을 이용한 일반거래 과정을 도시한 도면이다.
1 is a diagram illustrating a network configuration of a payment system according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a settlement process using a settlement system according to an embodiment of the present invention. Referring to FIG.
3 is a diagram showing a configuration of a key serial number of a payment system according to an embodiment of the present invention.
4 is a diagram illustrating a terminal registration process using a payment system according to an embodiment of the present invention.
5 is a diagram illustrating a general transaction process using a payment system 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, 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 an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 의한 결제 시스템의 네트워크 구성을 도시한 도면이다. 도 1에 도시된 바와 같이 본 발명의 실시예에 의한 결제 시스템은, 결제를 위한 평문데이터(예를 들어, 신용카드 번호, 결제금액, 카드 가맹점 정보 등)의 암복호화를 위한 암호화 키 관리와 보안 관리 기능을 담당하고, 원격의 관리자에게 보안정책 및 시스템 운영환경 설정 등의 보안관리 기능을 GUI 형태로 제공하는 키관리서버(20)와, 상술한 평문데이터를 암호화할 수 있는 보안 라이브러리를 포함하는 결제단말(10), 그리고 결제단말(10)과 동일한 암호화 키를 이용해 데이터를 안전하게 복호화하는 결제서버(30)를 포함하여 이루어진다. 여기서 각각의 구성, 즉 키관리서버(20)와, 결제단말(10), 그리고 결제서버(30)는 네트워크(N)를 통해 데이터를 교환한다. 1 is a diagram illustrating a network configuration of a payment system according to an embodiment of the present invention. As shown in FIG. 1, the payment system according to an embodiment of the present invention includes encryption key management and security for encryption / decryption of plain text data (for example, credit card number, payment amount, card merchant point information, A key management server 20 which is responsible for a management function and provides a remote manager with a security management function such as a security policy and a system operating environment setting in the form of a GUI, and a security library capable of encrypting the above- And a payment server 30 for securely decrypting data using the same encryption key as the payment terminal 10 and the payment terminal 10. Here, the respective configurations, that is, the key management server 20, the payment terminal 10, and the payment server 30 exchange data through the network N. [

이때 네트워크(N)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 개인 근거리 무선통신망(Personal Area Network; PAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet), Mobile WiMAX, HSDPA(High Speed Downlink Packet Access) 또는 위성 통신망 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다. 또한 네트워크(N)는 이종 이상의 서로 다른 통신망을 포함할 수 있다. The network N may be a local area network (LAN), a wide area network (WAN), a value added network (VAN), a personal area network (PAN) wireless networks such as mobile radio communication network, Wibro (Wireless Broadband Internet), Mobile WiMAX, HSDPA (High Speed Downlink Packet Access) or satellite communication network. Further, the network N may include two or more different communication networks.

또한 본 발명의 실시예에 의한 결제 시스템에는 단말등록서버(30’)가 더 포함될 수 있다. 단말등록서버(30’)는 상술한 결제서버(30)와 동일한 하드웨어 또는 독립된 별개의 하드웨어로 구현될 수 있으며, 각각의 결제단말(10)에 암호화 키 생성을 위한 내장 키, 또는 내장 키의 연산에 사용되는 단말 고유의 이니셜 키를 제공하고, 각 결제단말(10)에 부여된 내장 키 또는 이니셜 키를 결제단말(10)에 등록하는 역할을 한다. 이때 단말등록서버(30’)는 각각의 결제단말(10)에 대해, 결제단말(10)의 출고 시(최초 사용 시) 또는 그 이후에도 일정 기간마다 새로운 내장 키 또는 이니셜 키를 부여하여 각 결제단말(10)에 저장되는 내장 키 세트가 갱신되도록 할 수 있다.The payment system according to the embodiment of the present invention may further include a terminal registration server 30 '. The terminal registration server 30 'can be implemented by hardware or independent hardware that is the same as the above-described payment server 30. The terminal registration server 30' is provided with a built-in key for generating an encryption key, And registers the built-in key or the initial key assigned to each settlement terminal 10 in the settlement terminal 10, as shown in FIG. At this time, the terminal registration server 30 'assigns a new built-in key or a new initial key to each payment terminal 10 at predetermined intervals (at the time of initial use) or after the payment terminal 10 The built-in key set stored in the storage unit 10 can be updated.

상술한 암호화 키, 내장 키, 이니셜 키에 구체적인 설명은 추후 보충한다. The encryption key, the built-in key, and the initial key described above will be supplemented later.

한편 도 1에 도시된 결제 시스템은 복수의 결제단말(10)을 포함할 수 있다. 각각의 결제단말(10)은 예를 들어, CAT(Credit Authorization Terminal), POS(Point of sale) 단말, ATM(Automated Teller Machine) 등과 같이 사용자들이 이용하는 금융거래카드로부터 데이터를 독출하고, 이를 거래정보와 함께 암호화하여 결제서버(30)로 결제를 요청하는 정보처리장치로서 유선 또는 무선 방식으로 네트워크(N)와 통신한다. 이러한 결제단말(10)에는 상술한 바와 같이 보안 라이브러리가 구비되며, 이를 이용하여 결제단말(10)은 내장 키 세트를 관리하고, 거래가 수행될 때마다 내장 키 세트로부터 일회성의 암호화 키를 생성하여 금융거래카드의 정보나 결제정보 등의 평문데이터를 암호화한다. Meanwhile, the payment system shown in FIG. 1 may include a plurality of payment terminals 10. Each payment terminal 10 reads data from a financial transaction card used by users such as a credit authorization terminal (CAT), a point of sale (POS) terminal, an ATM (Automated Teller Machine) And communicates with the network N in a wired or wireless manner as an information processing apparatus that requests the payment server 30 to make a settlement. The settlement terminal 10 is provided with a security library as described above, and the settlement terminal 10 manages a built-in key set, generates a one-time encryption key from a built-in key set each time a transaction is performed, Encrypt plaintext data such as transaction card information and payment information.

이때 결제단말(10)은 후술할 결제서버(30)를 운영하는 결제대행업체 각각에 의하여 신용카드 가맹점에 지급되는 단말기로서, 후술할 복수의 결제서버(30) 중, 어느 하나의 결제서버(30)(가맹점에 단말기를 지급한 운영주체에 의해 운영되는 결제서버(30))에 대해 우선적으로 통신을 시도하도록 구성된다. 그러나 통신을 시도한 결제서버(30)나 네트워크가 응답하지 않거나, 응답에 오류 신호가 포함된 경우에는, 다른 결제서버(30)로 데이터를 전송함으로써 결제 승인을 요청한다. At this time, the payment terminal 10 is a terminal to be provided to the credit card merchant by each of the payment agencies operating the payment server 30, which will be described later. The payment terminal 10 includes any one of the plurality of payment servers 30 (The payment server 30 operated by the operating entity that paid the terminal to the merchant). However, if the payment server 30 or the network attempting to communicate or the network does not respond or if the response includes an error signal, the data is transmitted to another payment server 30 to request payment approval.

또한 도 1에 도시된 결제 시스템은 복수의 결제서버(30)를 포함할 수 있다. 여기서 복수의 결제서버(30)라 함은, 결제서버(30)를 이루는 하드웨어적 구성의 수가 복수임을 의미하는 것은 아니고, 동일한 운영주체에 의해 운영되는 하나 이상의 결제서버(30)를 각각 일군의 결제서버(30)로 볼 때, 서로 다른 운영주체에 의해 운영되는 각군의 결제서버(30)가 적어도 둘 이상임을 의미한다. 이때 각각의 운영주체에 의하여 운영되는 각각의 결제서버(30)에는 키관리서버(20)로부터 각 결제단말(10)에 대응하는 내장 키 또는 이니셜 키를 발급받아 이를 이용하여 결제단말(10)에서 수신되는 결제요청에 포함된 암호화데이터를 복호화하는데 필요한 일회성의 암호화 키를 연산하는 복호화 에이전트가 설치된다. 이러한 복호화 에이전트는 상술한 키관리서버(20)에 요청하여 결제요청을 송신한 결제단말(10)의 이니셜 키 또는 내장 키를 제공받고 이로부터 결제단말(10)에 내장된 내장 키 세트와 동일한 내장 키 세트를 생성하여 이를 캐싱(Caching)할 수 있다. 그리고 이를 이용하여 결제단말(10)로부터 수신된 암호화데이터를 복호화함으로써 결제를 수행하는데 필요한 결제정보와 금융거래카드 정보를 획득하여 결제를 수행할 수 있도록 한다. The payment system shown in FIG. 1 may include a plurality of payment servers 30. Here, the plurality of payment servers 30 does not mean that the number of hardware configurations constituting the payment server 30 is plural, and it means that one or more payment servers 30 operated by the same operating entity may be referred to as a group of payment When viewed by the server 30, means that at least two payment servers 30 of each group are operated by different operating entities. At this time, each payment server 30 operated by each operating entity issues a built-in key or an initial key corresponding to each payment terminal 10 from the key management server 20, A decryption agent that computes a one-time encryption key necessary for decrypting the encrypted data included in the received payment request is installed. The decryption agent receives the initial key or the built-in key of the settlement terminal 10 that has transmitted the settlement request by requesting the above-described key management server 20 to receive the same built-in key set built in the settlement terminal 10 A key set can be generated and cached. And decrypts the encrypted data received from the payment terminal 10 by using the received payment information and financial transaction card information to perform settlement.

이때 복수의 결제서버(30) 중 일부는 결제대행사가 운영하는 서버이거나, 또는 카드사가 직접 운영하는 서버일 수 있다. At this time, some of the plurality of payment servers 30 may be a server operated by a payment agency or a server directly operated by a card company.

여기서 복호화 에이전트는 특정 결제단말(10)로부터 결제요청이 수신되었을 때, 해당 결제단말(10)에 대응하는 내장 키 세트가 이미 결제서버(30)에 생성되어 있는 경우에는 이를 이용하고, 해당 결제단말(10)로부터 최초로 결제요청이 수신된 경우에는 키관리서버(20)에 접근하여 필요한 데이터를 획득한다. Here, when a settlement request is received from the specific settlement terminal 10, the decryption agent uses the built-in key set corresponding to the settlement terminal 10 if the settlement server 30 has already generated the built-in key set, When a payment request is first received from the key management server 10, the key management server 20 is accessed to acquire necessary data.

특히 본 발명에서, 특정 운영주체, 예를 들어, 제2운영주체에 의한 보안 라이브러리가 저장된 결제단말(10)은 제2운영주체의 결제서버인 제2결제서버(32)로 결제요청을 하였으나 네트워크(N) 오류 등으로 인하여 제2결제서버(32)와 통신하지 못한 경우, 다른 운영주체, 예를 들어 제1운영주체의 제1결제서버(31)로 결제요청을 전송하여 결제를 시도할 수 있다. In particular, in the present invention, the payment terminal 10 storing a security library by a specific operating entity, for example, a second operating entity, makes a payment request to the second payment server 32, which is a payment server of the second operating entity, (N), it is possible to send a payment request to another operating entity, for example, the first payment server 31 of the first operating entity, to attempt to make a payment have.

이 경우 제2 결제서버(32)는, 제1운영주체의 보안 라이브러리를 내장한 결제단말(10)로부터 결제요청이 수신되었음이 식별되면, 상술한 복호화 에이전트를 실행하여 해당 결제단말(10)로부터 수신된 결제요청에 포함된 암호화데이터를 복호화할 수 있다. 이때 복호화에 필요한 암호화 키의 연산에 필요한 이니셜 키나 내장 키 등이 제2 결제서버(30)가 이미 보유하고 있지 않다면, 복호화 에이전트는 이를 키관리서버(20)로 요청하여 획득한다. In this case, when it is discriminated that the payment request is received from the payment terminal 10 containing the security library of the first operating entity, the second payment server 32 executes the above-described decryption agent And decrypt the encrypted data included in the received payment request. At this time, if the second payment server 30 does not already have the initial key or the built-in key necessary for the calculation of the encryption key necessary for decryption, the decryption agent requests the key management server 20 to acquire it.

즉, 제1운영주체에 의해 관리되는 키관리서버(20)로의 접근과, 키관리서버(20)에서 제공하는 정보를 이용한 암호화 키의 연산을 제2 결제서버(30)에 허용함으로써 네트워크 오류 발생 시, 서로 다른 운영주체에 의한 결제서버(30)가 결제를 대신 수행할 수 있도록 하여 안정성을 높일 수 있다. That is, by allowing the second payment server 30 to access the key management server 20 managed by the first operating entity and the encryption key operation using the information provided by the key management server 20, The settlement server 30 by different operating entities can perform settlement in place of settlement, thereby enhancing stability.

이때 키관리서버(20)는 제1운영주체가 아닌 다른 운영주체에 의한 결제서버, 예를 들어, 제2결제서버(32)로부터 특정 결제단말(10)에 대한 암호화 키의 연산에 필요한 이니셜 키나 내장 키 제공이 요청되면, 이를 요청한 제2결제서버(32)의 운영주체를 식별하고, 또한 제2결제서버(32)로 결제를 요청한 결제단말(10)을 지급한 운영주체를 식별하여, 이니셜 키나 내장 키 제공 여부를 선택적으로 판단할 수 있다. At this time, the key management server 20 receives the initial key necessary for the calculation of the encryption key for the specific settlement terminal 10 from the settlement server by the operating entity other than the first operating entity, for example, the second settlement server 32 When the provision of the built-in key is requested, the operating entity of the second payment server 32 that has requested the built-in key is identified, the operating entity that paid the payment terminal 10 requesting settlement to the second payment server 32 is identified, It is possible to selectively determine whether a key or a built-in key is provided.

예를 들어, 키관리서버(20)는 키 제공을 요청한 결제서버(30)의 운영주체를 불문하고, 결제단말(10)이 제1운영주체에 의하여 지급된 결제단말(10)임이 확인되면, 해당 결제단말(10)에 대한 이니셜 키나 내장 키를 결제서버(30)로 제공할 수 있다. 이때 결제단말(10)이 제1운영주체에 의하여 지급된 것이 아니면, 키관리서버(20)는 키 제공을 요청한 결제서버(30)의 운영주체를 식별하여 키 제공 여부를 결정할 수도 있다. 또는 이때 키관리서버(20)는 결제단말(10)의 디바이스 ID(후술한다)에 기초하여 키 제공 여부를 결정할 수도 있다. For example, if it is determined that the payment terminal 10 is the payment terminal 10 paid by the first operating entity, regardless of the operating entity of the payment server 30 requesting the key providing, And can provide the settlement server 30 with the initial key or the built-in key for the corresponding settlement terminal 10. At this time, if the settlement terminal 10 is not paid by the first operating entity, the key management server 20 may determine whether to provide the key by identifying the operating entity of the payment server 30 requesting the key providing. Alternatively, at this time, the key management server 20 may determine whether to provide a key based on the device ID (to be described later) of the payment terminal 10.

또는 키관리서버(20)는 결제단말(10)을 지급한 운영주체를 불문하고 키 제공을 요청한 결제서버(30)의 운영주체가 누구인지에 따라 결제단말(10)에 대한 이니셜 키나 내장 키를 결제서버(30)로 제공하는 것에 대해 선택할 수 있다. Alternatively, the key management server 20 may transmit the initial key or the built-in key for the payment terminal 10, depending on who is the principal of the payment server 30 that requested the key providing, regardless of the principal who paid the payment terminal 10 And to provide it to the payment server 30.

이때 키관리서버(20)와 결제서버(30)는 보안채널을 통해 통신할 수 있다. At this time, the key management server 20 and the payment server 30 can communicate through the secure channel.

또한 키관리서버(20)는 복수의 결제서버(30)에 대해 공통된 하나의 하드웨어적 구성으로 형성될 수도 있고, 각각의 결제서버(30)마다 따로 구비될 수 있다. 키관리서버(20)가 각각의 결제서버(30)마다 따로, 복수 개 구비되는 경우, 제1결제서버(30)에 연결된 키관리서버(20)만이 메인 키관리서버(20)로서 후술할 베이스키를 보유하고, 나머지 키관리서버(20)들은 메인 키관리서버(20)와 보안채널로 연결되어 각 결제단말(10)에 대한 이니셜 키 생성이 요구될 때마다 메인 키관리서버(20)로부터 베이스키를 일시적으로 제공받거나 이니셜 키를 제공받을 수 있다. In addition, the key management server 20 may be formed in one hardware configuration common to a plurality of payment servers 30, and may be provided separately for each payment server 30. [ Only a plurality of key management servers 20 connected to the first payment server 30 are provided as the main key management server 20 in the case where a plurality of the key management servers 20 are provided for each of the payment servers 30, And the remaining key management servers 20 are connected to the main key management server 20 through a secure channel so that each time the generation of the initial key for each payment terminal 10 is requested, You may be offered temporary skiing or you may be provided initial keys.

구체적으로, 본 발명의 실시예에 의한 결제시스템을 구현하기 위해서는 다음과 같은 방식을 적용한다.Specifically, the following scheme is applied to implement the payment system according to the embodiment of the present invention.

① 결제서버(30)의 운영주체 측에 키관리서버(20)를 따로 설치하여 결제서버(30)와 연결되도록 하거나, 기존에 존재하는 다른 결제서버(30) 운영주체 측의 키관리서버(20)를 공유하도록 한다. (1) The key management server 20 is separately installed on the operating entity side of the payment server 30 and connected to the payment server 30, or the existing key management server 20 ).

② 결제서버(30) 내에 본 발명의 실시예에 의한 결제방법, 구체적으로는 키 갱신을 위한 상호인증 및 키 교환 방법을 수행하는 복호화 에이전트를 설치한다. 이때 결제서버(30)는 상술한 단말등록서버(30’)를 포함하여 구성될 수 있음은 앞서 설명한 바와 같다. (2) A decryption agent for performing a payment method according to an embodiment of the present invention, specifically, mutual authentication for key update and key exchange method, is installed in the payment server 30. At this time, the payment server 30 may include the terminal registration server 30 'as described above.

③ 결제단말(10)별 고유키를 키관리서버(20)를 이용하여 생성한다. 여기서 고유키는 각 결제단말(10)의 디바이스 ID와, 키관리서버(20)에서만 관리되는 베이스 키에 기초하여 생성될 수 있으며, 상술한 이니셜 키가 될 수 있다. 키관리서버(20)에 의하여 생성된 고유키는 결제서버(30) 또는 단말등록서버(30’)를 통해 추후 결제단말(10)로 전달될 수 있다. (3) The unique key for each settlement terminal 10 is generated using the key management server 20. Here, the unique key can be generated based on the device ID of each payment terminal 10 and the base key managed only by the key management server 20, and can be the above-mentioned initial key. The unique key generated by the key management server 20 can be transmitted to the payment terminal 10 through the payment server 30 or the terminal registration server 30 '.

실시예에 따라 선택적으로, 키관리서버(20)에는 운영자에 의하여 미리, 결제서버(30)의 요청에 따라 이니셜 키를 발급할 대상이 되는 결제단말(10)의 디바이스ID 또는 디바이스 ID에 포함되는 적어도 일부의 데이터가 등록될 수 있으며, 키관리서버(20)는 결제서버(30)가 특정 결제단말(10)에 대한 이니셜 키 발급을 요청하면, 해당 결제단말(10)의 디바이스 ID가 기 등록된 것인지 확인하고 기 등록된 경우에만 이니셜 키를 발급할 수 있다. 또한 키관리서버(20)는 특정 결제단말(10)이 어떤 운영주체에 의하여 가맹점에 지급된 것인지 여부를 확인하여 이니셜 키의 발급 여부를 결정할 수도 있음은 앞서 설명한 바와 같다. Optionally, the key management server 20 may be provided with a device ID or a device ID of the payment terminal 10 to which the initial key is to be issued, in response to a request from the payment server 30, At least a part of the data can be registered and when the payment server 30 requests the issuance of the initial key for the specific payment terminal 10, the key management server 20 registers the device ID of the payment terminal 10 And can only issue the initial key if it is already registered. In addition, the key management server 20 may determine whether the specific settlement terminal 10 has been paid by the operating entity to the merchant, and determine whether to issue the initial key.

④ 그리고 본 발명의 실시예에 의한 상호인증 및 키 교환 방법을 수행하는 보안 라이브러리를 각 결제단말(10)에 설치한다. (4) A security library for performing the mutual authentication and key exchange method according to the embodiment of the present invention is installed in each settlement terminal 10.

⑤ 키관리서버(20)는 결제단말(10)별 고유키를 안전하게 보관하고, 결제서버(30)에 안전한 보안채널을 통해 배포한다. 여기서 배포되는 고유키를 수신하는 대상은 결제서버(30) 또는 단말등록서버(30’)일 수 있다. (5) The key management server 20 securely stores the unique key for each settlement terminal 10, and distributes the unique key to the settlement server 30 through a secure channel. The target receiving the unique key distributed here may be the payment server 30 or the terminal registration server 30 '.

⑥ 결제단말(10)과 결제서버(30)(또는 단말등록서버(30’))는 안전한 상호인증 채널을 통해 각 결제단말(10)별 고유키를 결제단말(10)에 전달한다. (6) The payment terminal 10 and the payment server 30 (or the terminal registration server 30 ') transmit the unique key for each payment terminal 10 to the payment terminal 10 through a secure mutual authentication channel.

⑦ 보안 라이브러리를 통해 결제단말(10)의 중요정보(금융거래카드정보와 결제정보 등)를 암호화하고 결제서버(30)에 설치된 복호화 에이전트를 통해 복호화함으로써 보안성이 보장되는 결제절차를 진행한다. (7) Important information (financial transaction card information and payment information, etc.) of the settlement terminal 10 is encrypted through the security library and decrypted through a decryption agent installed in the payment server 30, thereby proceeding with secure settlement.

여기서 결제서버(30)와 단말등록서버(30’)가 별개로 구비되는 경우, 각 결제단말(10)별 고유키를 키관리서버(20)로부터 수신하여 저장하고, 이를 결제단말(10)로 배포하는 역할은 단말등록서버(30’)가 수행하지만, 단말등록서버(30’)의 역할을 결제서버(30)가 통합적으로 수행할 수 있음은 앞서 설명한 바와 같다. When the payment server 30 and the terminal registration server 30 'are separately provided, the unique key for each payment terminal 10 is received from the key management server 20, stored therein, and transmitted to the payment terminal 10 The terminal registration server 30 'performs the role of distribution, but the payment server 30 can integrally perform the role of the terminal registration server 30' as described above.

이하에서는 상술한 각각의 구성의 세부적인 기능을 표로 정리하였다. In the following, detailed functions of each of the above-described configurations are summarized in the table.

구분division 주요기능main function 세부내용The details 키관리서버(20)The key management server 20 - 이니셜 키 생성
- 이니셜 키 배포
- 이니셜 키 관리
- Initial key generation
- Initial key distribution
- Initial key management
- 기본 키 및 결제단말(10) 별 이니셜 키 생성
- 기본 키 및 결제단말(10) 별 이니셜 키 관리
- 결제서버(30) 또는 단말등록서버(30)로 이니셜 키 배포
- 키 관리 관련 로그 관리
- 결제서버(30)에 대한 접근 제어
- Initial key generation for each primary and billing terminal (10)
- Initial key management by primary key and billing terminal (10)
- Initial key distribution to the payment server (30) or terminal registration server (30)
- Manage logs related to key management
- access control to payment server (30)
결제서버(30)
+단말등록서버(30)
The payment server 30,
+ Terminal registration server 30
- 이니셜 키 생성요청
- 이니셜 키 배포
- 이니셜 키 사용
- 데이터 복호화
- 단말 상호인증
- Request to generate initial key
- Initial key distribution
- Use initial key
- Data decoding
- Terminal mutual authentication
- 이니셜 키 생성요청
- 키관리서버(20)와 연계한 이니셜 키 배포
- 내장 키 생성 및 관리
- 암호화 키 생성
- 데이터 복호화
- 단말 상호인증
- Request to generate initial key
- Initial key distribution in conjunction with key management server (20)
- Built-in key generation and management
- Encryption key generation
- Data decoding
- Terminal mutual authentication
결제단말(10)The payment terminal 10, - 이니셜 키 주입
- 이니셜 키 사용
- 데이터 암호화
- 서버 상호인증
- Initial key injection
- Use initial key
- Data Encryption
- Server mutual authentication
- 단말기 내 이니셜 키 주입
- 이니셜 키를 이용한 내장 키 세트 생성
- 내장 키 세트를 이용한 암호화 키 생성
- 내장 키 세트 및 키 시리얼 번호 Import/Export
- 데이터 암호화
- 서버 상호인증
- initial key injection in the terminal
- Built-in key set creation using initial key
- Encryption key generation with built-in key set
- Built-in key set and key serial number Import / Export
- Data Encryption
- Server mutual authentication

위 표에 정리된 기능에 대해서는, 아래에서 도 2를 참조하여 구체적으로 설명한다. 도 2는 본 발명의 실시예에 의한 결제 시스템을 이용하여 결제를 수행하는 과정을 도시한 도면이다. The functions summarized in the above table will be described in detail with reference to Fig. 2 below. FIG. 2 is a flowchart illustrating a settlement process using a settlement system according to an embodiment of the present invention. Referring to FIG.

도 2를 참조하여, 먼저 결제단말(10)과 단말등록서버(30’), 그리고 키관리서버(20) 사이에서 새로운 결제단말(10)을 등록하는 과정을 설명한다. 여기서 단말등록서버(30’)는 실질적으로 결제서버(30)와 하드웨어적으로 구분되지 않는 하나의 구성일 수 있으며, 프로그램 또는 프로그램 모듈로서 결제서버(30)와 동일한 하드웨어에 설치될 수도 있다. A process of registering a new payment terminal 10 between the payment terminal 10 and the terminal registration server 30 'and the key management server 20 will be described with reference to FIG. Here, the terminal registration server 30 'may be a configuration that is substantially indistinguishable from the payment server 30, and may be installed in the same hardware as the payment server 30 as a program or a program module.

1-1. 우선 결제단말(10)이 단말등록서버(30’)로 단말 등록을 요청하거나, 또는 단말등록서버(30’)의 관리자가 관리자단말(미도시)을 통해 특정 결제단말(10)의 등록을 요청할 수 있다. 여기서 단말 등록요청에는 해당 단말의 디바이스 ID(Identification)가 포함되거나, 또는 후술할 키 시리얼 번호가 포함될 수 있다. 1-1. The payment terminal 10 requests the terminal registration server 30 'to register the terminal or the administrator of the terminal registration server 30' requests registration of the specific payment terminal 10 through the administrator terminal (not shown) . Here, the terminal registration request may include a device ID (Identification) of the corresponding terminal or a key serial number to be described later.

여기서 키 시리얼 번호는 디바이스 ID와 거래카운터(Transaction Counter)를 포함할 수 있다. Here, the key serial number may include a device ID and a transaction counter.

구체적으로 키 시리얼 번호는 도 3에 도시된 바와 같은 구성을 가질 수 있다. 도 3은 키 시리얼 번호의 필드별 구성을 도시한 도면이다. Specifically, the key serial number may have a configuration as shown in FIG. 3 is a diagram showing the configuration of the key serial number for each field.

키 시리얼 번호는, 총 10바이트의 용량을 갖는 데이터로 각 결제단말(10)에 고유하며, 각 결제단말(10)의 비휘발성 저장소에 보관되어 운영될 수 있다. The key serial number is data having a total capacity of 10 bytes and is unique to each settlement terminal 10 and can be stored and operated in a nonvolatile storage of each settlement terminal 10. [

키 시리얼 번호는 도 3에 도시된 바와 같이 1바이트의 갱신 횟수 식별자, 6바이트의 단말 고유 식별자를 포함하는 총 7바이트의 디바이스 ID를 포함하며, 3비트의 널(Null)값과, 21비트의 카운터 값을 포함할 수 있다. As shown in FIG. 3, the key serial number includes a 7-byte device ID including a 1-byte update number identifier and a 6-byte terminal unique identifier, and includes a 3-bit null value, And may include a counter value.

갱신 횟수 식별자는 결제단말(10)에 내장 키 또는 내장 키의 생성을 위한 이니셜 키가 최초 주입 이후에 갱신되지 않은 상태인지, 아니면 갱신된 상태인지, 나아가 갱신 횟수가 몇 회인지 등을 나타내기 위한 식별자이다. The update number identifier is used to indicate whether the initial key for generating a built-in key or a built-in key in the payment terminal 10 has not been updated since the first injection, or updated, and how many times the update has been performed It is an identifier.

그리고 카운터는 키 시리얼 번호를 이용한 누적 거래횟수를 나타낸다. And the counter represents the number of cumulative transactions using the key serial number.

또한 이하에서 후술할 결제방법을 설명하는데 필요한 각각의 데이터에 대해 설명하면, 베이스 키는, 키관리서버(20)의 운용을 위해 기본적으로 필요한 고유키로서, 키관리서버(20) 내에만 저장되고 외부로 노출되지 않는다. 모든 결제단말(10)에 대한 이니셜 키는 베이스 키에 기초하여 생성된다. The base key is stored in the key management server 20 only as a unique key that is basically necessary for the operation of the key management server 20 It is not exposed to the outside. The initial keys for all settlement terminals 10 are generated based on the base key.

이니셜 키는, 각각의 결제단말(10)에 대한 고유키로서, 키관리서버(20)에 의하여 생성된다. 키관리서버(20)는, 각 결제단말(10)의 디바이스 ID와 베이스 키를 이용하여 각 결제단말(10)의 이니셜 키를 생성한다. 이니셜 키는 후술할 내장 키의 생성을 위한 값으로서, 결제서버(30)와 결제단말(10)에 각각 전달되고 결제서버(30)와 결제단말(10)에서 이니셜 키를 이용하여 내장 키의 생성을 완료하면 결제서버(30)와 결제단말(10)에서 삭제된다. 즉 이니셜 키는 키관리서버(20)에 의하여 생성되어 결제서버(30)와 결제단말(10)로 전달되지만 내장 키의 생성 후 삭제됨으로써, 이니셜 키의 노출을 최소화할 수 있다. The initial key is generated by the key management server 20 as a unique key for each payment terminal 10. The key management server 20 generates an initial key of each settlement terminal 10 by using the device ID and the base key of each settlement terminal 10. [ The initial key is a value for generating a built-in key to be described later and is transmitted to the payment server 30 and the payment terminal 10 respectively and is used to generate a built-in key using the initial key in the payment server 30 and the payment terminal 10 The settlement server 30 and the settlement terminal 10 are deleted. That is, the initial key is generated by the key management server 20 and is transmitted to the payment server 30 and the payment terminal 10, but is deleted after the built-in key is generated, thereby minimizing exposure of the initial key.

한편 내장 키는, 결제단말(10)이 이니셜 키와 키 시리얼 번호를 이용하여 생성하는 키로서, 복수의 키를 포함하는 내장 키 세트로 구성될 수 있다. 특히 이때 내장 키는 이니셜 키와, 키 시리얼 번호에 포함된 카운터 값을 이용하여 생성될 수 있다. On the other hand, the built-in key is a key generated by the payment terminal 10 using the initial key and the key serial number, and can be constituted by a built-in key set including a plurality of keys. Particularly, at this time, the built-in key can be generated using the initial key and the counter value included in the key serial number.

마찬가지로 결제서버(30)에서도 복수의 결제단말(10) 각각의 이니셜 키를 키관리서버(20)로부터 발급받아, 각각의 결제단말(10)의 키 시리얼 번호와 이니셜 키를 이용하여 각 결제단말(10)의 내장 키를 동일하게 연산하고 보유할 수 있다. 이때 결제서버(30)는 각 결제단말(10)의 내장 키를 캐시에 저장한 후 특정 결제단말(10)로부터 결제요청이 수신되면 캐시에 저장된 해당 결제단말(10)의 내장 키를 이용하여 결제관련 데이터를 복호화할 수 있다. 다만 이때 결제서버(30)가 특정 결제단말(10)에 대한 내장 키를 보유하지 않는 경우에는 키관리서버(20)로 해당 단말에 대한 이니셜 키를 요청하여 수신한 후 이를 이용하여 실시간으로 내장 키를 연산할 수도 있다. 이 실시예에서는 이니셜 키가 결제서버(30)의 캐시에 유지될 수도 있다. Likewise, the payment server 30 also receives the initial keys of each of the plurality of payment terminals 10 from the key management server 20 and acquires the settlement terminal 10 using the key serial number and the initial key of each payment terminal 10 10) can be calculated and retained in the same manner. At this time, the payment server 30 stores the built-in key of each payment terminal 10 in the cache, and when a payment request is received from the specific payment terminal 10, the payment server 30 uses the built-in key of the corresponding payment terminal 10 stored in the cache The related data can be decoded. If the payment server 30 does not have a built-in key for the specific payment terminal 10 at this time, the key management server 20 requests and receives the initial key for the corresponding terminal, . In this embodiment, the initial key may be held in the cache of the payment server 30. [

한편 암호화 키는, 결제단말(10)에 획득된 금융거래카드정보나 결제와 관련된 결제정보, 예를 들어 결제금액이나 가맹점 정보 등을 포함하는 평문데이터를 암호화하여 암호화데이터를 생성하는데 사용되는 키이며, 동시에 결제단말(10)로부터 암호화데이터를 수신한 결제서버(30)가 암호화데이터를 복호화하여 다시 금융거래카드정보와 결제정보를 포함하는 평문데이터를 획득하는데 사용되는 키이다. 이때 결제단말(10)은 암호화 키가 새로 연산될 때마다 키 시리얼 번호에 포함된 카운터 값을 1씩 증가시킬 수 있다. On the other hand, the encryption key is a key used to generate the encrypted data by encrypting the plaintext data including the financial transaction card information acquired at the payment terminal 10 or payment information related to settlement, for example, payment amount or merchant information And at the same time, the payment server 30 which receives the encrypted data from the payment terminal 10 decrypts the encrypted data and obtains the plain text data including the financial transaction card information and the payment information again. At this time, the settlement terminal 10 may increment the counter value included in the key serial number by one every time the encryption key is newly calculated.

1-2. 한편 상술한 바와 같이 단말등록서버(30’)로 결제단말(10)의 키 시리얼 번호가 수신되면, 단말등록서버(30’)는 키 시리얼 번호로부터 디바이스 ID를 추출할 수 있다. 다만 1-1 과정에서 결제단말(10) 또는 관리자단말로부터 디바이스 ID가 수신된다면 본 과정은 생략될 수 있다. 1-2. Meanwhile, when the key serial number of the payment terminal 10 is received by the terminal registration server 30 'as described above, the terminal registration server 30' can extract the device ID from the key serial number. However, if the device ID is received from the payment terminal 10 or the administrator terminal in step 1-1, the process may be omitted.

1-3. 이어서 단말등록서버(30’)는, 디바이스 ID를 이용하여 해당 결제단말(10)에 대한 이니셜 키를 키관리서버(20)로 요청한다. 1-3. Subsequently, the terminal registration server 30 'requests the key management server 20 for the initial key for the corresponding payment terminal 10, using the device ID.

1-4. 그에 따라 키관리서버(20)는 단말등록서버(30’)로부터 수신된 디바이스 ID와 베이스 키를 이용하여 해당 결제단말(10)의 이니셜 키를 생성한다. 1-4. Accordingly, the key management server 20 generates the initial key of the corresponding settlement terminal 10 using the device ID and the base key received from the terminal registration server 30 '.

1-5. 이어서 키관리서버(20)는 생성된 이니셜 키를 단말등록서버(30’)로 전달한다.1-5. Subsequently, the key management server 20 transmits the created initial key to the terminal registration server 30 '.

1-6. 그에 따라 단말등록서버(30’)는 등록 대상인 결제단말(10)의 이니셜 키를 키관리서버(20)로부터 전달받고 이를 결제단말(10)로 전달한다. 또한 단말등록서버(30’)는 이때에 생성된 이니셜 키를 결제서버(30)로도 전달할 수 있다. 1-6. The terminal registration server 30 'receives the initial key of the settlement terminal 10 to be registered from the key management server 20 and delivers the initial key to the settlement terminal 10. The terminal registration server 30 'may also transmit the generated initial key to the payment server 30.

1-7. 한편 결제단말(10)은 단말등록서버(30’)로부터 이니셜 키를 전달받는다.1-7. Meanwhile, the settlement terminal 10 receives the initial key from the terminal registration server 30 '.

1-8. 그리고 수신된 이니셜 키를 이용하여 내장 키를 산출하는데, 이때 결제단말(10)은 결제단말(10)에 저장된 키 시리얼 번호를 이니셜 키와 함께 연산하여 내장 키를 산출한다. 여기서 특히 결제단말(10)은 키 시리얼 번호에 포함된 카운터 값을 이용할 수 있다. 1-8. At this time, the payment terminal 10 calculates a key serial number stored in the payment terminal 10 together with the initial key to calculate a built-in key using the received initial key. In particular, the settlement terminal 10 can use the counter value included in the key serial number.

1-9. 이어서 결제단말(10)은 내장 키의 연산이 완료되면, 임시 저장된 이니셜 키를 폐기한다. 1-9. Subsequently, the settlement terminal 10 discards the temporarily stored initial key when the operation of the built-in key is completed.

한편 이와 같이 결제단말(10)에 내장 키가 저장되거나 갱신되도록 하는 결제단말(10) 등록 과정은, 결제단말(10)이 새로 등록될 때뿐 아니라, 결제단말(10)의 등록 후 일정 기간이 경과하거나, 결제단말(10)의 거래횟수가 미리 설정된 횟수를 초과할 때마다 반복적으로 수행될 수 있음은 앞서 설명한 바와 같다. 이때 이미 등록된 결제단말(10)에 새로운 이니셜 키를 부여하여 결제단말(10)에 저장된 내장 키를 갱신할 때에는 베이스 키를 변경하거나 또는 이니셜 키의 연산 방법을 달리함으로써 동일한 결제단말(10)에 대해 새로운 이니셜 키가 발급되도록 함으로써 실질적으로 내장 키가 갱신되도록 할 수 있다. Meanwhile, the registration process of the settlement terminal 10, in which the built-in key is stored or updated in the settlement terminal 10, can be performed not only when the settlement terminal 10 is newly registered but also when the settlement terminal 10 is registered Or may be repeatedly performed each time the transaction number of the payment terminal 10 exceeds a predetermined number of times as described above. At this time, when a new initial key is given to the already registered payment terminal 10 to update the built-in key stored in the payment terminal 10, the base key is changed or the calculation method of the initial key is changed to the same settlement terminal 10 So that the built-in key can be substantially updated by issuing a new initial key.

그리고 이어서, 결제단말(10)에 내장 키가 연산되어 저장된 이후에 결제단말(10)이 결제서버(30)로 결제요청을 전달하여 결제가 이루어지는 과정을 설명한다. The following describes a process in which the settlement terminal 10 transfers a settlement request to the settlement server 30 after the built-in key is calculated and stored in the settlement terminal 10.

2-1. 먼저 결제단말(10)에서 키 시리얼 번호를 내장 키 세트에 포함된 내장 키와 연산하여 일회용 암호화 키를 산출한다. 이때 결제단말(10)이 암호화 키를 산출함에 있어서, 결제단말(10)은 키 시리얼 번호에 포함된 거래 카운터 값을 참조하여 내장 키 세트에 포함된 복수의 내장 키 중 일부를 선택하여 사용할 수 있다. 이때 내장 키 세트로부터 암호화 키를 연산함에 있어서, 결제단말(10)은 거래 카운터뿐 아니라 후술할 보안키를 또 하나의 키 인자로 사용할 수도 있다. 2-1. The settlement terminal 10 calculates the one-time encryption key by calculating the key serial number with the built-in key included in the built-in key set. At this time, when the settlement terminal 10 calculates the encryption key, the settlement terminal 10 can select and use some of the plurality of built-in keys included in the built-in key set by referring to the transaction counter value included in the key serial number . At this time, in computing the encryption key from the built-in key set, the settlement terminal 10 may use not only the transaction counter but also a security key to be described later as another key factor.

한편 암호화 키가 산출되면 결제단말(10)은 키 시리얼 번호에 저장된 카운터 값을 1 증가시킬 수 있다. On the other hand, when the encryption key is calculated, the payment terminal 10 can increment the counter value stored in the key serial number by one.

2-2. 그리고 결제단말(10)은, 암호화 키를 이용하여 결제정보나 금융거래카드정보를 포함하는 평문데이터를 암호화하여, 암호화데이터를 생성한다. 2-2. Then, the settlement terminal 10 encrypts plaintext data including payment information and financial transaction card information using an encryption key, and generates encrypted data.

2-3. 그리고 결제단말(10)은 결제요청에 상술한 암호화데이터와 키 시리얼 번호를 함께 포함시켜 결제서버(30)로 전달할 수 있다. 여기서 결제단말(10)은 복수의 결제서버(30) 중에서 기설정된 제1결제서버(31)와의 통신에 오류가 있다고 판단되는 경우, 다른 결제서버(30), 예를 들어 제2결제서버(32)로 결제요청을 전달할 수도 있다.2-3. Then, the settlement terminal 10 may include the above-mentioned encrypted data and the key serial number in the settlement request and transmit the same to the settlement server 30. When it is determined that there is an error in the communication with the first payment server 31 that is set in advance among the plurality of payment servers 30, the settlement terminal 10 sends a payment request to another payment server 30, for example, the second payment server 32 ) To deliver the payment request.

2-4. 한편 위와 같이 결제단말(10)로부터 결제요청을 수신한 결제서버(30)는, 결제단말(10)로부터 수신된 데이터를 파싱하여 암호화데이터와 키 시리얼 번호로 구분한다. 2-4. On the other hand, the payment server 30 that received the payment request from the payment terminal 10 parses the data received from the payment terminal 10 and divides the data into the encrypted data and the key serial number.

2-5. 그리고 결제서버(30)는, 구분된 키 시리얼 번호에서 디바이스 ID를 독출할 수 있으며 이를 이용하여 키관리서버(20)에 이니셜 키를 요청할 수 있다. 물론 이미 결제단말(10)에 대한 내장 키가 결제서버(30)에 저장되어 있는 경우에는 이러한 과정을 생략할 수 있다. 2-5. The payment server 30 can read the device ID from the distinguished key serial number and can request the key management server 20 to use the initial key. Of course, if the built-in key for the payment terminal 10 is already stored in the payment server 30, this process can be omitted.

2-6. 결제서버(30)로부터 특정 디바이스 ID를 포함하는 이니셜 키 전송 요청을 수신한 키관리서버(20)는, 베이스 키와 디바이스 ID를 함께 연산하여 이니셜 키를 산출한다. 해당 디바이스 ID에 대한 이니셜 키가 이미 산출되어 저장되어 있는 경우에는 따로 연산하지 않을 수 있다. 2-6. The key management server 20 receiving the initial key transmission request including the specific device ID from the payment server 30 calculates the initial key by calculating the base key and the device ID together. When the initial key for the device ID is already calculated and stored, it may not be calculated separately.

2-7. 이어서 키관리서버(20)는 산출된 이니셜 키를 다시 결제서버(30)로 전달한다. 2-7. Subsequently, the key management server 20 transfers the calculated initial key to the payment server 30 again.

2-8. 키관리서버(20)로부터 결제를 요청한 결제단말(10)에 대응하는 이니셜 키를 수신한 결제서버(30)는, 이니셜 키와 키 시리얼 번호를 함께 연산하여 내장 키를 산출하여 내장 키 세트를 생성한다. 물론 결제를 요청한 결제단말(10)에 대한 내장 키가 이미 결제서버(30)의 캐시에 저장되어 있던 경우에는 상술한 2-5 내지 2-8 과정은 생략될 수 있다. 2-8. Upon receiving the initial key corresponding to the settlement terminal 10 requesting payment from the key management server 20, the payment server 30 calculates the built-in key by calculating the initial key and the key serial number together, do. Of course, when the built-in key for the payment terminal 10 that has requested settlement is already stored in the cache of the payment server 30, the above steps 2-5 to 2-8 may be omitted.

2-9. 한편 결제서버(30)는 내장 키와 결제단말(10)로부터 수신된 키 시리얼 번호를 연산하여 암호화 키를 산출한다. 이 과정은 단말에서 암호화 키가 연산되는 2-1과정과 동일하게 수행될 수 있다. 2-9. Meanwhile, the payment server 30 calculates the key serial number received from the built-in key and the payment terminal 10 to calculate an encryption key. This process can be performed in the same manner as the process 2-1 in which the encryption key is calculated in the terminal.

2-10. 그리고 결제서버(30)는 산출된 암호화 키를 이용하여, 결제단말(10)로부터 수신된 암호화데이터를 복호화함으로써, 결제정보와 금융거래카드정보를 포함하는 평문데이터를 획득할 수 있고 이를 이용하여 결제 절차를 수행할 수 있다. 2-10. The payment server 30 can obtain plaintext data including payment information and financial transaction card information by decrypting the encrypted data received from the payment terminal 10 using the calculated encryption key, Procedure can be performed.

한편 도 2를 참조하여 설명한 결제방법에서, 결제서버(30)와 단말등록서버(30’), 그리고 키관리서버(20)는 각각 형성된 보안채널을 이용하여 통신하도록 함으로써 이들 사이에서 데이터가 교환될 때의 보안을 유지할 수 있다. On the other hand, in the settlement method described with reference to FIG. 2, the payment server 30, the terminal registration server 30 ', and the key management server 20 communicate with each other using the formed secure channel, The security of the time can be maintained.

또한 결제단말(10)이 단말등록서버(30’)와 통신함에 있어서는 상호인증 방식을 이용할 수 있다. 이를 보다 구체적으로 설명하기 위해 도 4를 참조한다. 도 4는 본 발명의 실시예에 의한 결제 시스템을 이용한 단말등록 과정을 도시한 도면이다. Also, when the payment terminal 10 communicates with the terminal registration server 30 ', a mutual authentication method can be used. Reference is made to FIG. 4 to describe this in more detail. 4 is a diagram illustrating a terminal registration process using a payment system according to an embodiment of the present invention.

이를 통해 결제단말(10)이 단말등록서버(30’)로부터 이니셜 키를 제공받아 결제단말(10) 내에 내장 키를 생성하는 과정에 대하여 더 구체적으로 설명한다. Hereinafter, a process in which the payment terminal 10 receives the initial key from the terminal registration server 30 'and generates a built-in key in the payment terminal 10 will be described in more detail.

결제단말(10)은 디바이스 ID를 로딩하고 랜덤값을 생성하여(S101), 임시키를 발급한다(S102). The settlement terminal 10 loads the device ID, generates a random value (S101), and issues a temporary key (S102).

이어서 결제단말(10)은 저장된 서버인증정보와, 랜덤값, 그리고 디바이스 ID를 이용하여 서버에 전송할 인증토큰을 만든다(S103 내지 S105).Next, the settlement terminal 10 creates an authentication token to be transmitted to the server using the stored server authentication information, the random value, and the device ID (S103 to S105).

구체적으로는, 결제단말(10)의 시각으로 타임스탬프1을 생성한 후(S103), 결제단말(10)에 저장된 서버인증정보와, 임시키 발급에 사용한 랜덤값, 타임스탬프1, 그리고 디바이스 ID를 임시키로 암호화하여 암호화데이터1을 생성한다(S104). More specifically, after generating the time stamp 1 at the time of the payment terminal 10 (S103), the server authentication information stored in the payment terminal 10, the random value used for issuing the temporary key, the time stamp 1, With the provisional key to generate encrypted data 1 (S104).

이때 ‘서버인증정보’와는 별개로 단말등록서버(30’)는 ‘단말인증정보’를 생성하여 관리할 수 있다. 단말인증정보는 단말등록서버(30’)에 고유함과 동시에 각 결제단말(10)에 대해 고유하게 생성한 제1난수로부터 획득되는 값으로서, 예를 들어 1024바이트(Byte)의 난수로부터 특정 자릿수를 추출하고 이를 특정 순서대로 배열하여 생성되는 값일 수 있다. 이때 단말등록서버(30’)에는 각각의 결제단말(10)에 대해 생성된 단말인증정보가 저장될 수 있다. 그리고 각각의 결제단말(10)에는 해당 결제단말(10)에 대해 생성된 단말인증정보를 생성할 때 사용한 제1난수가 저장되도록 할 수 있다. 이러한 단말인증정보는 암호화데이터1 또는 후술할 인증토큰에 함께 삽입되어 단말등록서버(30’)가 결제단말(10)의 인증토큰을 검증하는데 사용될 수 있다. At this time, the terminal registration server 30 'can generate and manage' terminal authentication information 'separately from the' server authentication information '. The terminal authentication information is unique to the terminal registration server 30 'and is a value obtained from the first random number generated uniquely for each payment terminal 10. For example, a certain number of digits may be obtained from a random number of 1024 Bytes And may be a value generated by arranging them in a specific order. At this time, the terminal registration server 30 'may store the terminal authentication information generated for each payment terminal 10. The payment terminal 10 may store the first random number used to generate the terminal authentication information for the payment terminal 10. Such terminal authentication information may be inserted together with the encrypted data 1 or an authentication token to be described later and used by the terminal registration server 30 'to verify the authentication token of the payment terminal 10.

구체적으로는, 결제단말(10)의 제조 시에 결제단말(10)에는 단말인증정보 자체가 아니라, 단말인증정보를 생성할 때 사용된 제1난수가 저장되도록 할 수 있고, 결제단말(10)의 보안 라이브러리에는 저장된 제1난수로부터 단말인증정보를 획득할 수 있도록, 단말인증정보의 생성에 필요한 정보, 즉 제1난수에서 추출될 특정 자릿수의 정보와 이를 배열할 특정 순서에 대한 정보가 정의될 수 있다. 이로써 결제단말(10)의 제조 시에 저장된 제1난수로부터 단말인증정보를 획득할 수 있도록 한다. More specifically, the payment terminal 10 may store the first random number used in generating the terminal authentication information, rather than the terminal authentication information itself, at the time of manufacturing the payment terminal 10, Information on a specific order to be extracted from the first random number and information on a specific order in which the terminal authentication information is to be arranged are defined so that the terminal authentication information can be obtained from the stored first random number . Thus, the terminal authentication information can be obtained from the first random number stored at the time of manufacture of the payment terminal (10).

즉, 결제단말(10)의 제조사에는 단말인증정보가 은닉된 제1난수만이 전달되므로 제조사는 각각의 결제단말(10)에 대응하여 단말등록서버(30’)에 저장된 단말인증정보를 알 수 없다. 추후 결제단말(10)에 단말인증정보를 획득하는데 필요한 정보가 정의된 보안 라이브러리를 설치함으로써 비로소 단말인증정보를 획득할 수 있는 상태가 될 수 있다. That is, since only the first random number with the terminal authentication information hidden is transmitted to the manufacturer of the payment terminal 10, the manufacturer can know the terminal authentication information stored in the terminal registration server 30 'corresponding to each payment terminal 10 none. It is possible to acquire the terminal authentication information by installing the security library in which information necessary for acquiring the terminal authentication information is defined in the payment terminal 10 in the future.

이때 결제단말(10)은 저장된 제1난수로부터 단말인증정보를 획득하여, 상술한 바와 같이 암호화데이터 1또는 인증토큰을 생성할 수 있다. At this time, the settlement terminal 10 may acquire the terminal authentication information from the stored first random number, and may generate the encrypted data 1 or the authentication token as described above.

한편 이때 결제단말(10)은 단말인증정보를 획득한 후, 새로운 난수(이하 ‘제2난수’라 함)을 생성할 수 있다. 그리고 제2난수로부터 특정 자릿수를 추출하고 이를 특정 순서로 배열하여 보안키를 생성할 수 있다. 여기서 결제단말(10)은 생성된 보안키를, 거래 카운터와 함께 내장 키 세트로부터 인증키를 연산하는데 키 인자로 사용할 수 있다. Meanwhile, the payment terminal 10 may generate a new random number (hereinafter, referred to as a second random number) after acquiring the terminal authentication information. Then, the security key can be generated by extracting the specific digits from the second random number and arranging them in a specific order. Here, the settlement terminal 10 may use the generated security key as a key factor in computing an authentication key from a built-in key set together with a transaction counter.

그리고 결제단말(10)은 보안키를 이용하여, 이미 연산된 단말인증정보를 암호화하고 이를 랜덤값 내의 특정 자릿수에 특정 순서로 삽입한다. 이로써 최종적으로는 암호화된 단말인증정보와, 보안키를 은닉하고 있는 제2난수를 결제단말(10)의 비휘발성 메모리에 저장함으로써 서버인증정보와 보안키가 외부로 노출되지 않도록 할 수 있다. Then, the settlement terminal 10 encrypts the already-calculated terminal authentication information by using the secret key, and inserts the encrypted terminal authentication information into a certain number of digits in a random value in a specific order. Thus, by storing the encrypted terminal authentication information and the second random number concealing the security key in the non-volatile memory of the settlement terminal 10, it is possible to prevent the server authentication information and the security key from being exposed to the outside.

이러한 보안키는 결제단말(10)에 저장되는 각종 보안이 필요한 파일들을 암호화하는데 사용될 수 있다. 예를 들어 결제단말(10)은 보안이 필요한 파일들의 자체 검증을 위해 각 파일의 해시데이터를 연산하고 연산된 해시데이터를 암호화하여 파일과 함께 저장할 수 있다. 이때 각 파일의 해시데이터는 상술한 보안키를 이용하여 암호화하여 저장할 수 있다. 그리고 해당 파일의 자체 검증이 필요할 때마다 파일과 함께 저장된 암호화된 해시데이터를 보안키로 복호화할 수 있다. 이때 보안키는 상술한 제2난수에서 필요할 때마다 추출하여 사용할 수 있다.This security key can be used to encrypt various security-required files stored in the payment terminal 10. For example, the settlement terminal 10 may calculate hash data of each file for self-verification of files requiring security, and may encrypt the calculated hash data and store it together with the file. At this time, the hash data of each file can be encrypted and stored using the above-described security key. Whenever the self-verification of the file is required, the encrypted hash data stored together with the file can be decrypted with the security key. At this time, the security key can be extracted and used whenever necessary at the second random number.

그리고 결제단말(10)은 검증 대상이 되는 파일의 해시데이터를 다시 연산하고, 복호화된 해시데이터와 비교하여 일치 여부를 확인한다. 즉, 결제단말(10)은 파일을 검증할 때, 1) 해당 파일의 해시데이터를 연산하고, 2) 제2난수에서 보안키를 추출하여 파일과 함께 저장된 암호화된 해시데이터를 복호화하며, 3) 각각 1)과 2)의 과정을 통해 산출된 두 개의 해시데이터를 비교하여 서로 일치하지 않으면, 보안 파일이 변조된 것으로 확인하고 해당 파일을 파기할 수 있다. Then, the settlement terminal 10 recalculates the hash data of the file to be verified, and compares the hash data with the decrypted hash data to check whether or not they match. That is, when verifying the file, the payment terminal 10 calculates 1) the hash data of the file, 2) extracts the security key at the second random number, decrypts the encrypted hash data stored together with the file, and 3) The two hash data calculated through the processes 1) and 2) are compared and if they do not match, it is confirmed that the security file is tampered and the corresponding file can be destroyed.

한편 결제단말(10)은 암호화데이터1과 디바이스ID, 그리고 랜덤값을 포함하는 인증토큰을 생성한다(S105). Meanwhile, the payment terminal 10 generates an authentication token including encrypted data 1, a device ID, and a random value (S105).

이어서 결제단말(10)은 생성된 인증토큰을 단말등록서버(30’)로 전송한다(S106).Subsequently, the settlement terminal 10 transmits the generated authentication token to the terminal registration server 30 '(S106).

그에 따라 단말등록서버(30’)는 결제단말(10)에서 수신한 인증토큰을 검증한다(S301 내지 S305).Accordingly, the terminal registration server 30 'verifies the authentication token received at the payment terminal 10 (S301 to S305).

구체적으로는, 디바이스 ID와 랜덤값, 암호화데이터1을 분리한 후(S301), 디바이스ID와 랜덤값을 이용하여 임시키를 생성한다(S302). 그리고 임시키로 암호화데이터1을 복호화하여 서버인증정보, 랜덤값, 타임스탬프1 그리고 디바이스 ID를 획득한다(S303). Specifically, after separating the device ID, the random value, and the encrypted data 1 (S301), a temporary key is generated using the device ID and the random value (S302). The encrypted data 1 is decrypted with the provisional key to obtain the server authentication information, the random value, the time stamp 1, and the device ID (S303).

단말등록서버(30’)는 복호화된 타임스탬프1을 검증하고(S304), 인증토큰을 복호화하여 획득한 서버인증정보가 단말등록서버(30’)에 저장된 인증정보와 일치하는지 여부를 확인하여 무결성을 검증한다(S305). The terminal registration server 30 'verifies the decrypted time stamp 1 (S304), checks whether the server authentication information obtained by decrypting the authentication token matches the authentication information stored in the terminal registration server 30' (S305).

이러한 검증에 성공하면 단말등록서버(30’)는 디바이스 ID를 이용하여 키관리서버(20)에 이니셜 키를 요청한다(S306). If the verification is successful, the terminal registration server 30 'requests the key management server 20 for the initial key using the device ID (S306).

그에 따라 키관리서버(20)는 S306단계에서 전송받은 디바이스 ID를 이용하여 결제단말(10)에 대응하는 이니셜 키를 생성하고(S201), 이를 단말등록서버(30’)로 전달한다. 이때 키관리서버(20)는 S306단계에서 수신한 디바이스 ID가 기 등록된 디바이스 ID이거나 기 등록된 조건에 부합하는 경우에 한하여 S201 내지 S202 단계를 수행할 수 있다. Accordingly, the key management server 20 generates the initial key corresponding to the payment terminal 10 using the received device ID in step S306 (S201), and transmits the initial key to the terminal registration server 30 '. At this time, the key management server 20 may perform steps S201 to S202 only if the device ID received in step S306 is a previously registered device ID or conforms to the pre-registered condition.

이어서 단말등록서버(30’)는 키관리서버(20)로부터 이니셜 키를 수신하면 이를 이용하여 서버인증토큰을 생성한다(S307 내지 S308). Subsequently, when the terminal registration server 30 'receives the initial key from the key management server 20, the terminal registration server 30' generates a server authentication token using this key (S307 to S308).

즉, 단말등록서버(30’)의 시각으로 타임스탬프2를 생성하고(S307), 타임스탬프2와 랜덤값, 그리고 이니셜키를 단말등록서버(30’)가 연산한 임시키로 암호화하여 암호화데이터2를 생성한다(S308). 여기서 암호화데이터2가 서버인증토큰이 된다. That is, a time stamp 2 is generated at the time of the terminal registration server 30 '(S307), and the time stamp 2, the random value, and the initial key are encrypted with the temporary key calculated by the terminal registration server 30' (S308). Here, the encrypted data 2 becomes the server authentication token.

그리고 단말등록서버(30’)는 생성한 서버인증토큰을 결제단말(10)로 전송한다(S309).Then, the terminal registration server 30 'transmits the generated server authentication token to the payment terminal 10 (S309).

한편 결제단말(10)은 단말등록서버(30’)로부터 수신한 서버인증토큰을 검증한다(S107 내지 S109).Meanwhile, the settlement terminal 10 verifies the server authentication token received from the terminal registration server 30 '(S107 to S109).

구체적으로는 임시키를 이용하여 타임스탬프2와 랜덤값, 그리고 이니셜 키를 포함하여 암호화된 암호화데이터2를 복호화한 후(S107), 타임스탬프 2를 검증한다(S108). Specifically, after decrypting the encrypted encrypted data 2 including the time stamp 2, the random value, and the initial key using the temporary key (S107), the time stamp 2 is verified (S108).

이어서 결제단말(10)이 생성한 랜덤값과 복호된 랜덤값을 비교하여 무결성을 검증한다(S109). Next, the random number generated by the payment terminal 10 is compared with the decoded random value to verify the integrity (S109).

결제단말(10)은 서버 인증이 성공하면 복호화된 이니셜 키를 이용하여 내장 키를 생성하고(S110), 이를 비휘발성 저장소에 저장한다(S111). If the server authentication is successful, the settlement terminal 10 generates a built-in key using the decrypted initial key (S110), and stores it in the nonvolatile storage (S111).

이어서 결제단말(10)은 키 시리얼 번호를 저장하고(S112) 이니셜 키를 삭제한다(S113). Subsequently, the settlement terminal 10 stores the key serial number (S112) and deletes the initial key (S113).

이와 같이 본 발명의 실시예에서는 결제단말(10)과 단말등록서버(30’)가 상호인증 방식으로 통신한다. 단말등록서버(30’)는 타임스탬프와 서버인증정보를 이용하여 무결성을 검증하고 결제단말(10)은 타임스탬프와 랜덤값을 이용하여 무결성을 검증한다. As described above, in the embodiment of the present invention, the payment terminal 10 and the terminal registration server 30 'communicate with each other in mutual authentication method. The terminal registration server 30 'verifies the integrity using the time stamp and the server authentication information, and the payment terminal 10 verifies the integrity using the time stamp and the random value.

여기서 이와 같은 상호인증 방식을 이용하여 결제단말(10)과 단말등록서버(30’)가 상호인증됨으로써, 결제단말(10)의 최초 등록 시뿐 아니라, 이니셜 키를 새로 발급받아 내장 키를 갱신할 때에도 보안성을 유지할 수 있으며, 나아가 결제단말(10)에 설치된 보안 라이브러리의 갱신, 또는 소프트웨어의 업데이트도 보안성을 유지하면서 온라인으로 수행할 수 있다. Here, the payment terminal 10 and the terminal registration server 30 'are mutually authenticated using the mutual authentication method, thereby not only issuing the initial registration of the settlement terminal 10 but also newly issuing the initial key and updating the built-in key And the update of the security library installed in the payment terminal 10 or the updating of the software can be performed online while maintaining the security.

한편 이하에서는 도 2를 참조하여 설명한 결제방법에서, 결제단말(10)의 결제요청을 결제서버(30)가 처리하는 과정을 보다 구체적으로 설명한다. 이를 위해 도 5를 참조한다. 도 5는 본 발명의 실시예에 의한 결제 시스템을 이용한 일반거래 과정을 도시한 도면이다. Hereinafter, the process of the settlement server 30 processing the settlement request of the settlement terminal 10 in the settlement method described with reference to FIG. 2 will be described in more detail. See FIG. 5 for this purpose. 5 is a diagram illustrating a general transaction process using a payment system according to an embodiment of the present invention.

우선 결제단말(10)이 구동되면, 비휘발성 저장소에 저장된 내장 키 세트와 키 시리얼 번호를 로딩한다(S121). When the payment terminal 10 is activated, the embedded key set and the key serial number stored in the non-volatile storage are loaded (S121).

결제단말(10)은 로딩된 내장 키 세트와 키 시리얼 번호, 그리고 결제단말(10)에 저장된 보안 라이브러리를 이용하여 암호화 키를 생성한다(S122). 이때 결제단말(10)은 키 시리얼 번호에 포함된 카운터 값과 내장 키 세트를 갱신하여 다시 비휘발성 저장소에 저장한다. 이때 내장 키 세트는 새로운 암호화 키가 생성될 때마다 갱신된다. The settlement terminal 10 generates an encryption key using the loaded built-in key set, the key serial number, and the security library stored in the settlement terminal 10 (S122). At this time, the settlement terminal 10 updates the counter value and the built-in key set included in the key serial number and stores it in the non-volatile storage again. At this time, the built-in key set is updated each time a new encryption key is generated.

이어서 결제단말(10)은 생성된 암호화 키를 이용하여 평문데이터를 암호화한다(S123). Subsequently, the settlement terminal 10 encrypts the plaintext data using the generated encryption key (S123).

결제단말(10)은 암호화된 평문데이터, 즉 암호화데이터와 키 시리얼 번호를 결제서버(30)로 전송한다(S124). The settlement terminal 10 transmits the encrypted plaintext data, that is, the encrypted data and the key serial number to the payment server 30 (S124).

그에 따라 결제서버(30)는 암호화데이터와 키 시리얼 번호를 수신하여 저장하고, 키 시리얼 번호에 포함된 디바이스 ID를 추출한다(S321).  Accordingly, the payment server 30 receives and stores the encrypted data and the key serial number, and extracts the device ID included in the key serial number (S321).

이어서 결제서버(30)는 추출된 디바이스 ID를 이용하여 캐시에 저장된 이니셜 키를 검색한다(S322). Subsequently, the payment server 30 retrieves the initial key stored in the cache by using the extracted device ID (S322).

이니셜 키가 검색되지 않는 경우(S323), 키관리서버(20)에 따로 요청하여(S324) 받아오고 이를 캐시에 저장할 수 있다(S325). 결제서버(30)는 키관리서버(20)로 결제단말(10)의 디바이스ID를 전송하여 이니셜 키를 요청할 수 있다. If the initial key is not found (S323), the key management server 20 can be separately requested (S324) and stored in the cache (S325). The payment server 30 can request the initial key by transmitting the device ID of the payment terminal 10 to the key management server 20. [

여기서 키관리서버(20)는 디바이스 ID가 기 등록된 것이거나 기 설정된 조건에 부합하는 경우에 한하여 이니셜 키를 생성하여(S221) 결제서버(30)로 제공할 수 있다(S222). 실시예에 따라 모든 요청에 대하여 이니셜 키를 생성하여 제공할 수도 있음은 물론이다. Here, the key management server 20 may generate the initial key (S221) and provide the initial key to the payment server 30 (S222) only when the device ID is pre-registered or meets predetermined conditions. It is needless to say that an initial key may be generated and provided for all requests according to the embodiment.

그리고 결제서버(30)는 이니셜 키를 이용하여 결제단말(10)에 대한 내장 키 세트를 연산하고(S326), 내장 키와 키 시리얼 번호로 암호화 키를 연산한다(S327). The payment server 30 calculates a built-in key set for the payment terminal 10 using the initial key (S326), and calculates an encryption key using the built-in key and the key serial number (S327).

이어서 결제서버(30)는 연산된 암호화 키를 이용하여 암호화데이터를 복호화한다(S328). 그에 따라 결제서버(30)는 획득된 평문데이터를 이용하여 거래 승인여부를 직접 또는 또 다른 서버로 전달하여 간접적으로 결정하고, 거래 승인여부가 결제단말(10)로 전달되도록 할 수 있다. Subsequently, the payment server 30 decrypts the encrypted data using the calculated encryption key (S328). Accordingly, the payment server 30 can directly or indirectly determine whether the transaction has been approved by using the acquired plain text data, and transmit the approval or disapproval of the transaction to the settlement terminal 10.

한편 본 발명의 실시예에 의한 키관리서버(20)에 대해 부연하면, 본 발명의 실시예에 의한 키관리서버(20)는, 암복호화 키를 생성하여 결제단말(10)이나 결제서버(30)에 설치된 응용 프로그램과 연동된 데이터를 암복호화할 수 있도록 하는 어플라이언스 형태의 키 관리 시스템이다. The key management server 20 according to the embodiment of the present invention generates the encryption decryption key and transmits it to the payment terminal 10 or the payment server 30 ) Is an appliance-type key management system that enables encryption and decryption of data linked with an application program installed in the Internet.

구체적으로 키 생성, 저장, 폐기와 관련하여, 관리자 인증을 위해서는 패스워드 또는 인증서 사용 방식을 채택하고 있으며, 각각 검증된 암호모듈이나 전자서명 방식을 채택하여 보안성을 담보한다. Specifically, with respect to key generation, storage, and revocation, a password or certificate use method is adopted for administrator authentication, and security is ensured by adopting a proven cryptographic module or digital signature method, respectively.

또한 결제서버(30)에 설치되는 응용 프로그램과의 통신시 인증을 위해서도 검증된 전자서명 방식을 채택하고, 결제서버(30)나 결제단말(10)에 발급되는 이니셜 키의 생성을 위해 베이스 키를 따로 두고 베이스 키는 외부로 노출되지 않도록 한다. 또한 이니셜 키는 따로 저장되지 않도록 하고 필요할 때마다 베이스 키를 이용하여 새로 연산한다. The electronic signature system is also verified for authentication when communicating with an application program installed in the payment server 30 and uses a base key to generate the initial key issued to the payment server 30 or the payment terminal 10 Separate the base key so that it is not exposed to the outside. Also, do not store the initial key separately, and use a base key whenever necessary to perform a new operation.

나아가 결제서버(30)에 저장되는 키의 보관을 위해 검증된 암호모듈을 사용한다. Further, the validated cryptographic module is used for storing the key stored in the payment server 30.

한편 본 발명의 실시예에서 키관리서버(20)는 이중화 구조로 구축되어, 두 개의 독립된 하드웨어적 서버를 포함할 수 있으며, 그에 따라 하나의 서버에 장애가 발생하더라도 다른 하나의 서버가 구동하도록 할 수 있다. 이를 위해 두 개의 서버를 두고 두 서버가 자동으로 동기화되도록 둘 사이에 핫라인을 형성할 수 있다. Meanwhile, in the embodiment of the present invention, the key management server 20 is constructed in a redundant structure and can include two independent hardware servers, so that even if one server fails, another server can be driven have. To do this, you can have two servers and a hotline between them so that the two servers are automatically synchronized.

본 발명의 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. Embodiments of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

또한 본 발명의 실시예는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. Embodiments of the invention may also be embodied in a computer program (or computer program product) containing instructions executable by a computer. A computer program includes programmable machine instructions that are processed by a processor and can be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language . The computer program may also be recorded on a computer readable recording medium of a type (e.g., memory, hard disk, magnetic / optical medium or solid-state drive).

따라서 본 발명의 실시예는 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Thus, embodiments of the present invention may be implemented by a computer program as described above being executed by a computing device. The computing device may include a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using a variety of buses and can be mounted on a common motherboard or mounted in any other suitable manner.

여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Where the processor may process instructions within the computing device, such as to display graphical information to provide a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface And commands stored in memory or storage devices. As another example, multiple processors and / or multiple busses may be used with multiple memory and memory types as appropriate. The processor may also be implemented as a chipset comprised of chips comprising multiple independent analog and / or digital processors.

또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. In one example, the memory may comprise volatile memory units or a collection thereof. In another example, the memory may be comprised of non-volatile memory units or a collection thereof. The memory may also be another type of computer readable medium such as, for example, a magnetic or optical disk.

그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. And the storage device can provide a large amount of storage space to the computing device. The storage device may be a computer readable medium or a configuration including such a medium and may include, for example, devices in a SAN (Storage Area Network) or other configurations, and may be a floppy disk device, a hard disk device, Or a tape device, flash memory, or other similar semiconductor memory device or device array.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

Claims (17)

결제단말 및 결제서버가 결제단말 및 결제서버 사이에서 송수신하는 암호화데이터를 암복화하기 위해 공유하는 결제단말 별 고유키를, 상기 결제서버의 요청에 의해 발급하는 키관리서버에 의하여 수행되고,
상기 결제서버로부터 전송된, 임의의 결제단말의 디바이스 ID를 포함하는 키 발급 요청을 수신하는 단계;
상기 결제서버의 운영주체 또는 임의의 결제단말의 디바이스 ID 중 적어도 하나에 기초하여 키 발급 여부를 결정하는 단계; 그리고
상기 결정하는 단계의 수행 결과에 따라 선택적으로, 임의의 결제단말의 디바이스 ID와 상기 키관리서버에 저장된 베이스 키에 기초하여 임의의 결제단말에 대한 고유키를 생성하여 상기 결제서버로 제공하는 단계;를 포함하는 키공유 방법.
A settlement server, and a settlement server, the settlement server performing a settlement process by a key management server that issues a unique key for each settlement terminal shared by the settlement terminal and the settlement server for encrypting the encrypted data transmitted and received between the settlement terminal and the settlement server,
Receiving a key issuing request transmitted from the payment server, the key issuing request including a device ID of an arbitrary payment terminal;
Determining whether or not a key is issued based on at least one of an operating entity of the payment server or a device ID of an arbitrary payment terminal; And
Selectively generating a unique key for an arbitrary payment terminal based on a device ID of a payment terminal and a base key stored in the key management server according to a result of the determining, and providing the unique key to the payment server; / RTI >
제1항에 있어서,
상기 결정하는 단계는,
상기 결제서버의 운영주체가 기 설정된 운영주체이면, 상기 임의의 결제단말에 대한 고유키를 발급하도록 결정하는 단계를 포함하는, 키 공유 방법.
The method according to claim 1,
Wherein the determining comprises:
If the operating entity of the payment server is a predetermined operating entity, determining to issue the unique key for the arbitrary payment terminal.
제1항에 있어서,
상기 결정하는 단계는,
상기 임의의 결제단말의 디바이스 ID에 기초할 때 상기 임의의 결제단말을 지급한 주체가 기 설정된 운영주체이면, 상기 임의의 결제단말에 대한 고유키를 발급하도록 결정하는 단계를 포함하는, 키 공유 방법.
The method according to claim 1,
Wherein the determining comprises:
And issuing a unique key for the arbitrary payment terminal if the subject paying the arbitrary payment terminal based on the device ID of the arbitrary payment terminal is a predetermined operating entity. .
제1항에 있어서,
상기 결정하는 단계는,
상기 임의의 결제단말의 디바이스 ID가 상기 키관리서버에 기 등록된 디바이스 ID이면, 상기 임의의 결제단말에 대한 고유키를 발급하도록 결정하는 단계를 포함하는, 키 공유 방법.
The method according to claim 1,
Wherein the determining comprises:
If the device ID of the arbitrary payment terminal is the device ID registered in the key management server, determining to issue the unique key for the arbitrary payment terminal.
결제단말 및 결제서버가 결제단말 및 결제서버 사이에서 송수신하는 암호화데이터를 암복화하기 위해 공유하는 결제단말 별 고유키를 제공함에 있어서, 상기 결제단말의 요청에 의해 상기 결제단말이 데이터를 암호화하는데 이용하는 상기 고유키를 키관리서버에 요청하여 상기 결제단말로 제공하는 단말등록서버에 의하여 수행되고,
상기 결제단말로부터 전송된, 상기 결제단말의 디바이스 ID를 포함하는 키 발급 또는 갱신 요청을 수신하는 단계;
상기 키 발급 또는 갱신 요청에 포함된 상기 결제단말의 디바이스 ID를 이용하여 상기 키관리서버로 상기 결제단말에 대한 고유키 발급을 요청하는 단계; 그리고
상기 키관리서버로부터 상기 결제단말에 대한 고유키가 발급되면, 상기 고유 키를 암호화하여 생성한 암호화데이터2를 상기 결제단말로 제공하는 단계를 포함하는 상호인증 및 키 교환 방법.
The payment terminal and the payment server provide a unique key for each payment terminal shared by the payment terminal and the payment server for encrypting the encrypted data transmitted and received between the payment terminal and the payment server, A terminal registration server for requesting the unique key from the key management server and providing the unique key to the payment terminal,
Receiving a key issuance or update request transmitted from the payment terminal, the request including a device ID of the payment terminal;
Requesting the key management server to issue a unique key to the payment terminal using the device ID of the payment terminal included in the key issuance or update request; And
And providing encrypted data 2 generated by encrypting the unique key to the payment terminal when the unique key for the payment terminal is issued from the key management server.
제5항에 있어서,
상기 결제단말로부터 수신된 상기 키 발급 또는 갱신 요청에는,
상기 결제단말에 저장된 서버인증정보 및 상기 결제단말이 생성한 타임스탬프를 포함하는 값을 암호화한 암호화데이터1, 상기 결제단말의 디바이스ID, 그리고 상기 암호화데이터1을 암호화하는데 사용된 임시키를 생성하는데 이용하는 변수값이 포함되고,
상기 방법은,
상기 임시키로 상기 암호화데이터1을 복호화하여 획득한 타임스탬프와 상기 서버인증정보를 검증하는 단계를 더 포함하는, 상호인증 및 키 교환 방법.
6. The method of claim 5,
Wherein the key issuing or renewal request received from the settlement terminal includes:
The encrypted data 1 encrypted with the value including the server authentication information stored in the payment terminal and the time stamp generated by the payment terminal, the device ID of the payment terminal, and the temporary key used to encrypt the encrypted data 1 The variable value to be used is included,
The method comprises:
Further comprising the step of verifying the time stamp and the server authentication information obtained by decrypting the encrypted data 1 with the temporary key.
제6항에 있어서,
상기 암호화데이터2는,
상기 단말등록서버가 생성한 타임스탬프, 상기 결제단말의 디바이스 ID, 그리고 상기 고유키를 암호화한 데이터를 포함하는, 상호인증 및 키 교환 방법.
The method according to claim 6,
The encrypted data 2 includes,
A time stamp generated by the terminal registration server, a device ID of the payment terminal, and data obtained by encrypting the unique key.
제6항에 있어서,
상기 방법은,
상기 변수값 및 상기 결제단말의 디바이스ID로 임시키를 생성하는 단계를 더 포함하는, 상호인증 및 키 교환 방법.
The method according to claim 6,
The method comprises:
And generating a temporary key with the variable value and the device ID of the payment terminal.
결제단말로부터 수신한 암호화데이터를 복호화하기 위해 상기 결제단말에 대응되는 고유키를 상기 결제단말과 공유하는 결제서버가, 상기 결제단말의 결제 요청에 따라 거래 승인 절차를 수행함에 있어서,
상기 결제단말로부터 결제 요청을 수신하는 단계;
상기 결제 요청에 포함된 상기 결제단말의 디바이스 ID를 이용하여 상기 결제단말에 대한 고유키를 검색하는 단계;
상기 결제단말에 대한 고유키가 저장되어 있지 않은 경우, 키관리서버로 상기 결제단말의 디바이스 ID를 포함하는 키 발급 요청을 전송하는 단계;
상기 키관리서버로부터 상기 키 발급 요청에 대응하는 고유키가 수신되면, 수신된 고유키를 캐시에 저장하는 단계;
상기 고유키를 이용하여 상기 결제 요청에 포함된 암호화데이터를 복호화하는 단계를 포함하는 결제방법.
A settlement server that shares a unique key corresponding to the settlement terminal with the settlement terminal for decrypting the encrypted data received from the settlement terminal performs a transaction approval procedure according to a settlement request of the settlement terminal,
Receiving a payment request from the payment terminal;
Retrieving a unique key for the payment terminal using the device ID of the payment terminal included in the payment request;
Transmitting a key issuing request including the device ID of the payment terminal to the key management server if the unique key for the payment terminal is not stored;
Storing a received unique key in a cache when the unique key corresponding to the key issuance request is received from the key management server;
And decrypting the encrypted data included in the payment request using the inherent key.
제9항에 있어서,
상기 방법은,
상기 수신하는 단계에서 수신한 상기 결제 요청의 형식 또는 상기 결제 요청에 포함된 디바이스 ID에 기초하여 복호화 방법을 결정하는 단계를 더 포함하고,
상기 결정하는 단계에서 결정된 복호화 방법이 기설정된 제1방식인 경우에만 선택적으로, 상기 고유키를 검색하는 단계, 상기 키 발급 요청을 전송하는 단계, 상기 고유키를 캐시에 저장하는 단계, 그리고 상기 암호화데이터를 복호화하는 단계를 수행하는, 결제방법.
10. The method of claim 9,
The method comprises:
Further comprising the step of determining a decoding method based on a format of the payment request received in the receiving step or a device ID included in the payment request,
Selectively retrieving the unique key only when the decryption method determined in the determining step is a predetermined first method, transmitting the key issuing request, storing the inherent key in a cache, And decrypting the data.
제9항에 있어서,
상기 암호화데이터를 복호화하는 단계는,
상기 고유키 및 상기 결제 요청에 포함된 키 시리얼 번호를 이용하여 상기 결제단말에 대응하는 내장 키 세트를 연산하는 단계; 그리고
연산된 내장 키 세트를 이용하여 연산한 암호화 키로 상기 암호화데이터를 복호화하는 단계를 포함하는, 결제방법.
10. The method of claim 9,
Wherein the step of decrypting the encrypted data comprises:
Calculating a built-in key set corresponding to the payment terminal using the unique key and the key serial number included in the payment request; And
And decrypting the encrypted data with an encryption key calculated using the computed built-in key set.
제11항에 있어서,
상기 키 시리얼 번호는,
상기 결제단말에서 생성되고, 상기 결제단말의 디바이스 ID와 상기 결제단말의 거래 횟수를 나타내는 거래 카운터 정보를 포함하며,
상기 암호화 키는 상기 내장 키 세트와 상기 거래 카운터 정보에 기초하여 연산되는, 결제방법.
12. The method of claim 11,
The key-
And transaction counter information generated by the payment terminal and indicating a device ID of the payment terminal and a transaction count of the payment terminal,
And the encryption key is calculated based on the built-in key set and the transaction counter information.
결제단말로부터 수신한 암호화데이터를 복호화하기 위해 상기 결제단말에 대응되는 고유키를 상기 결제단말과 공유하는 결제서버에 결제를 요청하고, 단말등록서버에 상기 고유키 발급 또는 갱신을 요청하는 결제단말에 의해 수행되고,
상기 단말등록서버로, 상기 결제단말에 저장된 서버인증정보 및 상기 결제단말이 생성한 타임스탬프를 포함하는 값을 암호화한 암호화데이터1, 상기 결제단말의 디바이스ID, 그리고 상기 암호화데이터1을 암호화하는데 사용된 임시키를 생성하는데 이용되는 변수값이 포함되는, 고유키 발급 또는 갱신 요청을 전송하는 단계;
상기 단말등록서버로부터 암호화된 고유키를 포함하는 암호화데이터2를 수신하는 단계;
수신된 암호화데이터2를 상기 임시키로 복호화하여 상기 고유키를 획득하는 단계; 그리고
상기 고유키를 이용하여 내장 키 세트를 연산하고 상기 내장 키 세트를 저장하는 단계를 포함하는, 상호인증 및 키 교환 방법.
Requesting a settlement server sharing a unique key corresponding to the settlement terminal with the settlement terminal to decrypt the encrypted data received from the settlement terminal, and requesting settlement terminal that requests the terminal registration server to issue or update the unique key Lt; / RTI >
The terminal registration server is used to encrypt the encrypted data 1, the device ID of the payment terminal, and the encrypted data 1, the encrypted data 1 including the server authentication information stored in the payment terminal and the time stamp generated by the payment terminal, Transmitting a unique key issuance or update request including a variable value used to generate the temporary key;
Receiving encrypted data 2 including an encrypted unique key from the terminal registration server;
Decrypting the received encrypted data 2 with the temporary key to obtain the unique key; And
Computing a built-in key set using the unique key and storing the built-in key set.
제13항에 있어서,
상기 암호화데이터2는,
상기 단말등록서버가 생성한 타임스탬프, 상기 결제단말의 디바이스 ID, 그리고 상기 고유키를 암호화한 데이터를 포함하고,
상기 방법은,
상기 암호화데이터2를 복호화하여 획득한 상기 단말등록서버가 생성한 타임스탬프와 상기 결제단말의 디바이스 ID를 검증하는 단계를 더 포함하는, 상호인증 및 키 교환 방법.
14. The method of claim 13,
The encrypted data 2 includes,
A time stamp generated by the terminal registration server, a device ID of the payment terminal, and data obtained by encrypting the unique key,
The method comprises:
Further comprising the step of verifying the time stamp generated by the terminal registration server obtained by decrypting the encrypted data 2 and the device ID of the payment terminal.
결제단말로부터 수신한 암호화데이터를 복호화하기 위해 상기 결제단말에 대응되는 고유키를 상기 결제단말과 공유하는 제1결제서버와 제2결제서버를 포함하는 복수의 결제서버에 택일적으로 결제를 요청하는 결제단말에 의해 수행되고,
기설정된 상기 제2결제서버로 제1결제요청을 전송하는 단계;
상기 제2결제서버로부터 상기 제1결제요청에 대한 응답이 수신되지 않거나 네트워크 오류 신호가 수신되는 경우, 상기 제1결제서버에 대한 제2결제요청을 생성하기 위하여, 내장 키 세트와 키 시리얼 번호를 로드하는 단계;
로드된 내장 키 세트와 키 시리얼 번호를 이용하여 암호화 키를 연산하고, 금융거래카드정보를 포함하는 평문데이터를 상기 암호화 키로 암호화하여 암호화데이터를 생성하는 단계; 그리고
상기 암호화데이터와 상기 키 시리얼 번호를 포함하는 제2결제요청을 제1결제서버로 전송하는 단계를 포함하는, 결제방법.
A plurality of payment servers including a first payment server and a second payment server for sharing the unique key corresponding to the payment terminal with the payment terminal to decrypt the encrypted data received from the payment terminal, Performed by the payment terminal,
Transmitting a first settlement request to the second settlement server;
A built-in key set and a key serial number to generate a second payment request for the first payment server when a response to the first payment request is not received from the second payment server or a network error signal is received Loading;
Calculating an encryption key using the loaded built-in key set and the key serial number, and encrypting the plaintext data including the financial transaction card information with the encryption key to generate encrypted data; And
And transmitting a second payment request including the encrypted data and the key serial number to a first payment server.
제15항에 있어서,
상기 방법은,
상기 암호화데이터를 생성하는 단계 이후에, 상기 암호화 키를 이용하여 상기 내장 키 세트를 갱신하고, 상기 키 시리얼 번호에 포함되는 거래 카운터 정보를 갱신하는 단계를 더 포함하는, 결제방법.
16. The method of claim 15,
The method comprises:
Further comprising the step of updating the built-in key set using the encryption key after the step of generating the encrypted data, and updating the transaction counter information included in the key serial number.
제15항에 있어서,
상기 로드하는 단계는,
상기 제2결제요청을 생성하기 위한 상기 내장 키 세트가 저장되어 있지 않거나 상기 내장 키 세트의 전체 갱신을 위한 고유키의 발급이 요구되는 경우, 단말등록서버로 상기 결제단말의 디바이스 ID를 포함하는 키 발급 또는 갱신 요청을 전송하는 단계;
상기 단말등록서버로부터 상기 결제단말에 대한 고유키를 수신하는 단계; 그리고
상기 고유키를 이용하여 상기 내장 키 세트를 연산하여 저장하는 단계를 포함하는, 결제방법.
16. The method of claim 15,
Wherein the loading step comprises:
If the built-in key set for generating the second settlement request is not stored or the issuance of a unique key for the entire update of the built-in key set is required, a key including a device ID of the settlement terminal Transmitting an issuing or renewal request;
Receiving a unique key for the payment terminal from the terminal registration server; And
And computing and storing the built-in key set using the inherent key.
KR1020150132950A 2015-04-10 2015-09-21 Mutual authentication and key exchange method for key renewal of payment system, and key sharing method with third-party servers KR101726243B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150051162 2015-04-10
KR20150051162 2015-04-10

Publications (2)

Publication Number Publication Date
KR20160121360A KR20160121360A (en) 2016-10-19
KR101726243B1 true KR101726243B1 (en) 2017-04-26

Family

ID=57250850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150132950A KR101726243B1 (en) 2015-04-10 2015-09-21 Mutual authentication and key exchange method for key renewal of payment system, and key sharing method with third-party servers

Country Status (1)

Country Link
KR (1) KR101726243B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019198847A1 (en) * 2018-04-13 2019-10-17 주식회사 로드시스템 Intelligent credit card payment system and payment processing method
US10764291B2 (en) 2018-09-04 2020-09-01 International Business Machines Corporation Controlling access between nodes by a key server
US10833856B2 (en) 2018-09-04 2020-11-10 International Business Machines Corporation Automatic re-authentication of links using a key server
US10833860B2 (en) 2018-09-04 2020-11-10 International Business Machines Corporation Shared key processing by a host to secure links
US11025413B2 (en) 2018-09-04 2021-06-01 International Business Machines Corporation Securing a storage network using key server authentication
US11038671B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Shared key processing by a storage device to secure links
US11038698B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
US11088829B2 (en) 2018-09-04 2021-08-10 International Business Machines Corporation Securing a path at a node

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102448378B1 (en) * 2020-01-13 2022-09-29 김경윤 Apparatus and Method for Generating Temporary Key

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019198847A1 (en) * 2018-04-13 2019-10-17 주식회사 로드시스템 Intelligent credit card payment system and payment processing method
US11887065B2 (en) 2018-04-13 2024-01-30 Lordsystem Co., Ltd. Intelligent credit card payment system and payment processing method
US10764291B2 (en) 2018-09-04 2020-09-01 International Business Machines Corporation Controlling access between nodes by a key server
US10833856B2 (en) 2018-09-04 2020-11-10 International Business Machines Corporation Automatic re-authentication of links using a key server
US10833860B2 (en) 2018-09-04 2020-11-10 International Business Machines Corporation Shared key processing by a host to secure links
US11025413B2 (en) 2018-09-04 2021-06-01 International Business Machines Corporation Securing a storage network using key server authentication
US11038671B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Shared key processing by a storage device to secure links
US11038698B2 (en) 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
US11088829B2 (en) 2018-09-04 2021-08-10 International Business Machines Corporation Securing a path at a node
US11522681B2 (en) 2018-09-04 2022-12-06 International Business Machines Corporation Securing a path at a node
US11563588B2 (en) 2018-09-04 2023-01-24 International Business Machines Corporation Securing a path at a selected node

Also Published As

Publication number Publication date
KR20160121360A (en) 2016-10-19

Similar Documents

Publication Publication Date Title
KR101726243B1 (en) Mutual authentication and key exchange method for key renewal of payment system, and key sharing method with third-party servers
US11178143B2 (en) System, method and apparatus for device authentication
EP3400550B1 (en) Methods and systems for securing data in the public cloud
TWI534731B (en) Apparatus and methods for secure element transactions and management of assets
US8239681B2 (en) Information processing device and method, recording medium, program and information processing system
US9860245B2 (en) System and methods for online authentication
AU2012315382B2 (en) Differential client-side encryption of information originating from a client
US11936776B2 (en) Secure key exchange electronic transactions
US8964976B2 (en) Secure storage and retrieval of confidential information
US20170255936A1 (en) Securing Personal Identification Numbers For Mobile Payment Applications By Combining With Random Components
KR101954863B1 (en) Online wallet apparatus, and method for generating and verifying online wallet
US9075958B2 (en) Use of fingerprint with an on-line or networked auction
US9244864B2 (en) Information providing system, information processing apparatus, computer readable medium, and information providing method for providing encrypted information
KR101976027B1 (en) Method for generating and backing up electric wallet and user terminal and server using the same
US10846677B2 (en) System and method for secure detokenization
WO2005098639A9 (en) Log in system and method
KR101702748B1 (en) Method, system and recording medium for user authentication using double encryption
JP2023535013A (en) Quantum secure payment system
US20130036160A1 (en) License issuing system, client terminal, server, and license issuing method
CN110914826A (en) System and method for distributed data mapping
US20230283466A1 (en) Content protection system
AU2013202043A1 (en) System and method for facilitating secure communication of data over a communications network
KR100553309B1 (en) System and method for intermediating credit information, and storage media having program source thereof
US11334881B2 (en) Security tool

Legal Events

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