KR20230021549A - Method and appartus for supproting transactions of commodites - Google Patents

Method and appartus for supproting transactions of commodites Download PDF

Info

Publication number
KR20230021549A
KR20230021549A KR1020210147191A KR20210147191A KR20230021549A KR 20230021549 A KR20230021549 A KR 20230021549A KR 1020210147191 A KR1020210147191 A KR 1020210147191A KR 20210147191 A KR20210147191 A KR 20210147191A KR 20230021549 A KR20230021549 A KR 20230021549A
Authority
KR
South Korea
Prior art keywords
terminal
server
transaction data
information
token
Prior art date
Application number
KR1020210147191A
Other languages
Korean (ko)
Inventor
박현철
박희진
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to US17/869,861 priority Critical patent/US20230042284A1/en
Priority to EP22188570.0A priority patent/EP4131110A1/en
Publication of KR20230021549A publication Critical patent/KR20230021549A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3224Transactions dependent on location of M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Provided are a method and apparatus for supporting transactions of products to easily trade products without face-to-face contact. According to one embodiment of the present invention, the method for supporting transactions of products comprises the steps of, by a second terminal: receiving information on a seller selling a product from a first terminal; requesting verification of the seller's information to a server; in response to successful verification of the seller's information, acquiring a transaction identifier for the product from the server; measuring the distance from the first terminal; generating transaction data including the measured distance and the transaction identifier; requesting verification of the transaction data to the server; and in response to receiving a message from the server indicating successful verification of the transaction data, performing a payment routine for the product.

Description

상품 거래 지원 방법 및 장치{METHOD AND APPARTUS FOR SUPPROTING TRANSACTIONS OF COMMODITES}Commodity transaction support method and device {METHOD AND APPARTUS FOR SUPPROTING TRANSACTIONS OF COMMODITES}

본 발명은 상품 거래 지원 방법에 관한 것이다. 보다 자세하게는, 구매자와 판매자 간의 거리에 기초하여 상품 거래를 검증하는 상품 거래 지원 방법 및 장치에 관한 것이다. The present invention relates to a product transaction support method. More specifically, it relates to a product transaction support method and apparatus for verifying a product transaction based on a distance between a buyer and a seller.

실물의 신용카드를 이용한 결제 방식 이외에 다양한 결제 방식이 이용되고 있다. 예를 들어, QR(Quick Response) 코드 촬영을 통한 결제 방식, MST(Magnetic Secure Transmission) 또는 NFC(Near Field Communication) 등과 같은 근접거리 통신을 통해 결제 방식 등이 이용되고 있다.In addition to the payment method using a real credit card, various payment methods are being used. For example, a payment method through scanning a QR (Quick Response) code, a payment method through short-range communication such as Magnetic Secure Transmission (MST) or Near Field Communication (NFC), etc. are being used.

그런데 QR 코드 촬영을 통한 이용한 결제 방식은, 사용자가 카메라를 통해서 QR 코드를 촬영해야 되는 불편함이 있다. 또한, QR 코드 촬영을 통한 결제 방식은 구매자가 직접 구매 금액을 입력해야 되는 불편함도 수반된다.However, the payment method using the QR code shooting has inconvenience in that the user has to shoot the QR code through a camera. In addition, the payment method through QR code shooting is accompanied by the inconvenience of having to directly input the purchase amount by the buyer.

아울러, MST 또는 NFC 기반의 결제 방식은 단말기들 간의 밀접 접촉이 필요한 방식으로서, 거래 인증을 위해서 구매자가 자신의 단말기를 판매자에게 전달해야 되는 등의 불필요한 접촉 행위가 발생할 수 있다. 또한, 악의적인 의도를 가지는 판매자는 MST 또는 NFC 기반의 결제를 수행할 때에, 구매자의 단말기에 대한 해킹을 시도할 수도 있다. In addition, the MST or NFC-based payment method requires close contact between terminals, and unnecessary contact, such as a buyer having to transfer his terminal to a seller for transaction authentication, may occur. In addition, a seller with malicious intent may attempt to hack the buyer's terminal when performing MST or NFC-based payment.

따라서, 보안에 강화하면서도 간편한 결제 방식이 요구되고 있다.Therefore, there is a demand for a simple payment method while enhancing security.

한국등록특허 제10-1996798호 (2019.06.29)Korean Patent Registration No. 10-1996798 (2019.06.29)

본 발명이 해결하고자 하는 기술적 과제는, 대면 접촉 없이 간편하게 상품을 거래할 수 있는 거래 지원 방법 및 장치를 제공하는 것이다.The technical problem to be solved by the present invention is to provide a transaction support method and apparatus that can conveniently trade products without face-to-face contact.

본 발명이 해결하고자 하는 다른 기술적 과제는, 단말 간의 데이터 교환 과정에서 외부의 해킹을 차단할 수 있는 거래 지원 방법 및 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a transaction support method and apparatus capable of blocking external hacking in a data exchange process between terminals.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 상품의 구매자와 판매자를 인증하여, 거래 과정에서 발생하는 기만행위를 방지할 수 있는 거래 지원 방법 및 장치를 제공하는 것이다. Another technical problem to be solved by the present invention is to provide a transaction support method and apparatus capable of preventing deception occurring in a transaction process by authenticating a buyer and a seller of a product.

본 발명이 해결하고자 하는 또 다른 기술적 과제는, 판매자와 구매자가 소정의 거리 이내에 위치하는 경우에 거래를 성사되게 하는 거래 지원 방법 및 장치를 제공하는 것이다.Another technical problem to be solved by the present invention is to provide a transaction support method and apparatus that allows a transaction to be concluded when a seller and a buyer are located within a predetermined distance.

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

상기 기술적 과제를 해결하기 위한 일 실시예에 따른 상품 거래 지원 방법은, 제2 단말이, 상품을 판매중인 판매자의 정보를 제1 단말로부터 수신하는 단계와, 상기 제2 단말이, 상기 판매자의 정보에 대한 검증을 서버로 요청하는 단계와, 상기 제2 단말이, 상기 판매자의 정보에 대한 검증 성공에 대한 응답으로, 상기 상품에 대한 거래 식별자를 상기 서버로부터 획득하는 단계와, 상기 제2 단말이, 상기 제1 단말과의 거리를 측정하는 단계와, 상기 제2 단말이, 상기 측정된 거리와 상기 거래 식별자를 포함하는 거래 데이터를 생성하는 단계와, 상기 제2 단말이, 상기 거래 데이터에 대한 검증을 상기 서버로 요청하는 단계와, 상기 제2 단말이, 상기 거래 데이터에 대한 검증의 성공을 가리키는 메시지를 상기 서버로부터 수신하는 것에 응답하여, 상기 상품에 대한 결제 루틴을 수행하는 단계를 포함할 수 있다.A product transaction support method according to an embodiment for solving the technical problem includes receiving, by a second terminal, information of a seller selling a product from a first terminal, and, by the second terminal, information of the seller. requesting verification to the server; obtaining, by the second terminal, a transaction identifier for the product from the server in response to the successful verification of the seller's information; , measuring a distance to the first terminal, generating, by the second terminal, transaction data including the measured distance and the transaction identifier; Requesting verification to the server, and performing, by the second terminal, a payment routine for the product in response to receiving a message indicating the success of verification of the transaction data from the server. can

일 실시예에서, 상기 거래 데이터를 생성하는 단계는, 상기 제2 단말이, 상기 측정된 거리가 임계거리 이내인 것에 응답하여, 사용자 인증을 수행하는 단계와, 상기 제2 단말이, 상기 사용자 인증에 성공하는 것에 응답하여, 상기 거래 데이터를 생성하는 단계를 포함할 수 있다.In one embodiment, the generating of the transaction data may include performing, by the second terminal, user authentication in response to the measured distance being within a threshold distance, and performing, by the second terminal, the user authentication. In response to succeeding, it may include generating the transaction data.

일 실시예에서, 상기 상품에 대한 결제 루틴을 수행하는 단계는, 상기 거래 데이터에 포함된 거리가 임계거리 이내이고 상기 거래 데이터에 포함된 거래 식별자가 기 저장된 거래 식별자와 일치하는 것에 응답하여, 상기 거래 데이터에 대한 성공을 가리키는 메시지를 상기 서버로부터 수신하는 단계를 포함할 수 있다. In one embodiment, the step of performing the payment routine for the product, in response to a distance included in the transaction data within a threshold distance and a transaction identifier included in the transaction data matching a pre-stored transaction identifier, the and receiving a message indicating success of the transaction data from the server.

일 실시예에서, 상기 판매자에 대한 정보는, 상기 제1 단말이 할당받은 제1 토큰과 제1 단말의 개인키를 기초로 생성된 전자 서명을 포함하고, 상기 판매자의 정보에 대한 검증을 서버로 요청하는 단계는, 상기 전자 서명에 대한 검증을 상기 서버로 요청하는 단계를 포함할 수 있다.In one embodiment, the information on the seller includes an electronic signature generated based on a first token assigned to the first terminal and a private key of the first terminal, and verification of the seller's information is performed by the server. The requesting may include requesting verification of the electronic signature to the server.

상기 기술적 과제를 해결하기 위한 다른 실시예에 따른 상품 거래 지원 방법은, 제1 단말이, 판매중인 상품에 대한 정보를 제2 단말로 전송하는 단계와, 상기 제1 단말이, 상기 제2 단말로부터 상기 상품에 대한 구매 요청을 수신하는 단계와, 상기 제1 단말이, 거리 측정을 위한 무선 채널을 상기 제2 단말과 형성하는 단계와, 상기 제1 단말이, 상기 제2 단말로 할당된 제2 토큰을 상기 제2 단말로부터 수신하는 단계와, 상기 제1 단말이, 상기 무선 채널의 신호를 통해서 측정된 상기 제1 단말과 상기 제2 단말 간의 거리 및 상기 제2 토큰을 포함하는 거래 데이터를 생성하는 단계와, 상기 제1 단말이, 상기 거래 데이터에 대한 검증을 서버로 요청하는 단계를 포함할 수 있다. A product transaction support method according to another embodiment for solving the technical problem includes transmitting, by a first terminal, information on a product on sale to a second terminal, and the first terminal from the second terminal. Receiving a purchase request for the product; Forming, by the first terminal, a radio channel for distance measurement with the second terminal; Receiving a token from the second terminal, and generating, by the first terminal, transaction data including a distance between the first terminal and the second terminal measured through a signal of the radio channel and the second token and requesting, by the first terminal, verification of the transaction data to a server.

다른 실시예에서, 상기 거래 데이터에 포함된 거리가 임계거리 이내이고 상기 제2 토큰이 상기 제2 단말로 할당된 토큰과 일치하는 것에 응답으로, 상기 상품에 대한 결제 루틴이 진행될 수 있다. In another embodiment, in response to the fact that the distance included in the transaction data is within a threshold distance and the second token matches the token allocated to the second terminal, a payment routine for the product may proceed.

다른 실시예에서, 상기 상품 거래 지원 방법은, 상기 거래 데이터를 생성하는 단계 이전에, 상기 제1 단말이, 상기 상품에 대한 거래 식별자를 획득하는 단계를 더 포함할 수 있고, 상기 거래 데이터를 생성하는 단계는, 상기 제1 단말이, 상기 거래 식별자를 더 포함하는 상기 거래 데이터를 생성하는 단계와, 상기 생성된 거래 데이터를 제1 단말의 개인키로 암호화하는 단계를 포함할 수 있다. In another embodiment, the product transaction support method may further include acquiring, by the first terminal, a transaction identifier for the product before generating the transaction data, and generating the transaction data. The doing may include generating, by the first terminal, the transaction data further including the transaction identifier, and encrypting the generated transaction data with a private key of the first terminal.

다른 실시예에서, 상기 제2 토큰을 상기 제2 단말로부터 수신하는 단계는, 상기 제1 단말이, 암호화된 상기 제2 토큰과 상기 거리를 상기 무선 채널을 통해서 상기 제2 단말로부터 수신하는 단계와 - 상기 거리는 상기 무선 채널의 신호를 기초로 상기 제2 단말에 의해서 측정된 것임 -, 상기 제1 단말이, 상기 거래 식별자를 복호키로서 이용하여 상기 암호화된 제2 토큰과 상기 거리를 복호화하는 단계를 포함할 수 있다. In another embodiment, the receiving of the second token from the second terminal may include receiving, by the first terminal, the encrypted second token and the distance from the second terminal through the wireless channel; - the distance is measured by the second terminal based on the signal of the radio channel -, decrypting, by the first terminal, the distance with the encrypted second token using the transaction identifier as a decryption key can include

상기 기술적 과제를 해결하기 위한 다른 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서와, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리와, 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 상품을 판매중인 판매자의 정보를 제1 단말로부터 수신하는 동작과, 상기 판매자의 정보에 대한 검증을 서버로 요청하는 동작과, 상기 판매자의 정보에 대한 검증 성공에 대한 응답으로, 상기 상품에 대한 거래 식별자를 상기 서버로부터 획득하는 동작과, 상기 제1 단말과의 거리를 측정하는 동작과, 상기 측정된 거리와 상기 거래 식별자를 포함하는 거래 데이터를 생성하는 동작과, 상기 거래 데이터에 대한 검증을 상기 서버로 요청하는 동작과, 상기 거래 데이터에 대한 검증의 성공을 가리키는 메시지를 상기 서버로부터 수신하는 것에 응답하여, 상기 상품에 대한 결제 루틴을 수행하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. A computing device according to another embodiment for solving the technical problem includes one or more processors, a memory for loading a computer program executed by the processor, and a storage for storing the computer program, The computer program includes an operation of receiving information of a seller selling a product from a first terminal, an operation of requesting verification of the information of the seller to a server, and in response to successful verification of the information of the seller, the An operation of obtaining a transaction identifier for a product from the server, an operation of measuring a distance to the first terminal, an operation of generating transaction data including the measured distance and the transaction identifier, Instructions for performing an operation of requesting verification to the server and an operation of performing a payment routine for the product in response to receiving a message indicating the success of verification of the transaction data from the server ) may be included.

상기 기술적 과제를 해결하기 위한 또 다른 실시예에 따른, 명령어를 포함하는 컴퓨터 판독 가능한 비일시적 기록 매체는, 상기 명령어는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 판매중인 상품에 대한 정보를 제2 단말로 전송하는 단계와, 상기 제2 단말로부터 상기 상품에 대한 구매 요청을 수신하는 단계와, 거리 측정을 위한 무선 채널을 상기 제2 단말과 형성하는 단계와, 상기 제2 단말로 할당된 제2 토큰을 상기 제2 단말로부터 수신하는 단계와, 상기 무선 채널의 신호를 통해서 측정된 상기 제2 단말 간의 거리 및 상기 제2 토큰을 포함하는 거래 데이터를 생성하는 단계와, 상기 거래 데이터에 대한 검증을 서버로 요청하는 단계를 포함할 수 있다.According to another embodiment for solving the above technical problem, a computer-readable non-transitory recording medium containing instructions, when the instructions are executed by a processor, causes the processor to store information about a product on sale as a second Transmitting to a terminal; receiving a purchase request for the product from the second terminal; forming a radio channel for distance measurement with the second terminal; Receiving a token from the second terminal, generating transaction data including a distance between the second terminals measured through a signal of the radio channel and the second token, and verifying the transaction data It may include making a request to the server.

도 1은 본 발명의 일 실시예에 따른, 상품 거래 지원 시스템을 예시하는 도면이다.
도 2는 본 발명의 다른 실시예에 따른, 사용자를 등록하는 방법을 설명하는 신호 흐름도이다.
도 3은 본 발명의 또 다른 실시예 따른, 판매자 정보를 검증하기 위한 방법을 설명하기 위한 신호 흐름도이다.
도 4a와 도 4b는 본 발명의 또 다른 실시예에 따른, 거래 데이터를 검증하는 방법을 설명하기 위한 신호 흐름도이다.
도 5는 구매자 단말에서 디스플레이되는 사용자 인터페이스를 예시하는 도면이다.
도 6과 도 7은 거래 데이터에 성공된 경우에 진행되는 결제 루틴을 설명하기 위한 신호 흐름도이다.
도 8은 본 발명의 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다.
1 is a diagram illustrating a product transaction support system according to an embodiment of the present invention.
2 is a signal flow diagram illustrating a method of registering a user according to another embodiment of the present invention.
3 is a signal flow diagram illustrating a method for verifying seller information according to another embodiment of the present invention.
4A and 4B are signal flow diagrams for explaining a method of verifying transaction data according to another embodiment of the present invention.
5 is a diagram illustrating a user interface displayed in a purchaser terminal.
6 and 7 are signal flow diagrams for explaining a payment routine performed when transaction data is successful.
8 is an exemplary hardware configuration diagram in which a computing device may be implemented in various embodiments of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments and can be implemented in various different forms, only the following embodiments complete the technical idea of the present invention, and in the technical field to which the present invention belongs It is provided to fully inform those skilled in the art of the scope of the present invention, and the technical spirit of the present invention is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is the presence of one or more other components, steps, operations, and/or elements. or do not rule out additions.

이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.Hereinafter, some embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른, 상품 거래 지원 시스템을 예시하는 도면이다.1 is a diagram illustrating a product transaction support system according to an embodiment of the present invention.

본 실시예에 따른 서비스 비용 산출 시스템은, 도 1에 도시된 바와 같이, 인증 서버(30), 신용카드 서버(40), VAN 서버(50), PG(60), 제1 단말(10) 및 제2 단말(20)을 포함할 수 있다.As shown in FIG. 1, the service cost calculation system according to this embodiment includes an authentication server 30, a credit card server 40, a VAN server 50, a PG 60, a first terminal 10 and A second terminal 20 may be included.

신용카드 서버(40)는 신용카드사에서 관리하는 서버일 수 있다. 상기 신용카드 서버(40)는 결제 요청된 신용카드가 사용 가능한 카드인지 여부를 인증할 수 있다. 또한, 신용카드 서버(40)는 신용카드 결제를 위한 결제용 토큰을 발급할 수 있다. 상기 결제용 토큰을 일회성 토큰일 수 있으며, 매번 결제가 요청될 때마다 생성될 수 있다. 상기 신용카드 서버(40)는 인증 서버(30), VAN 서버(50), PG(60) 중 하나 이상과 연동하여, 구매 금액을 결제 처리할 수 있다.The credit card server 40 may be a server managed by a credit card company. The credit card server 40 may authenticate whether the credit card requested for payment is a usable card. Also, the credit card server 40 may issue a payment token for credit card payment. The payment token may be a one-time token, and may be generated each time a payment is requested. The credit card server 40 may interwork with one or more of the authentication server 30, the VAN server 50, and the PG 60 to process the purchase amount.

VAN(Value Added Network) 서버(50)는 가맹점과 신용카드 서버(40) 간의 결제를 중계하기 위한 결제 중계 서버일 수 있다. 상기 VAN 서버(50)는 PG(60), 신용카드 서버(40) 중 하나 이상과 연동하여, 구매 금액을 결제 처리하기 위한 루틴을 수행할 수 있다. A value added network (VAN) server 50 may be a payment relay server for relaying payment between an affiliated store and the credit card server 40 . The VAN server 50 may perform a routine for processing a payment for a purchase amount in association with one or more of the PG 60 and the credit card server 40 .

PG(Payment Gateway)(60)는 금융기관(예컨대, 신용카드사 서버)의 결제를 대행해 주는 장치일 수 있다. 상기 PG(60)는 신용카드 서버(40), VAN 서버(50) 중 하나 이상과 연동하여, 구매 금액을 결제하기 위한 루틴을 수행할 수 있다. PG(60)는 온라인 쇼핑몰 등에서 발생한 온라인 결제를 처리할 수 있다.The PG (Payment Gateway) 60 may be a device that acts as a payment agent for a financial institution (eg, a credit card company server). The PG 60 may perform a routine for paying the purchase price in association with one or more of the credit card server 40 and the VAN server 50 . The PG 60 may process online payment generated in an online shopping mall or the like.

인증 서버(30)는 제1 단말(10)과 제2 단말(20) 간의 상품 거래를 수행하는 경우, 사용자를 인증하고 거래 데이터에 대한 검증을 수행하기 위한 컴퓨팅 장치일 수 있다. 인증 서버(30)는 회원 가입된 가입자 정보를 저장할 수 있다. 상기 가입자 정보는, 사용자 이름, 이메일 주소, 사용자 주소, 전화번호 등을 포함할 수 있다. 인증 서버(30)는 상품 거래에 기초되는 거래 식별자를 생성할 수 있으며, 제1 단말(10) 또는 제2 단말(20)로부터 수신한 거래 데이터에 대한 검증을 수행할 수 있다.The authentication server 30 may be a computing device for authenticating a user and verifying transaction data when a product transaction is performed between the first terminal 10 and the second terminal 20 . The authentication server 30 may store subscriber information for which a member has been registered. The subscriber information may include a user name, e-mail address, user address, phone number, and the like. The authentication server 30 may generate a transaction identifier based on product transaction, and may perform verification of transaction data received from the first terminal 10 or the second terminal 20 .

제1 단말(10)과 제2 단말(20)은 서로 간에 무선 통신이 가능할 수 있다. 제1 단말(10)은 판매자가 소지한 단말일 수 있고, 제2 단말(20)은 구매자가 소지한 단말일 수 있다. 제1 단말(10)은 상점에 설치된 POS(Point Of Sale) 단말기일 수도 있고, 스마트폰과 같이 이동통신 가능한 통신 장치일 수 있다. 제2 단말(20)은 이동하면서 통신 가능한 통신 장치일 수 있다. The first terminal 10 and the second terminal 20 may be capable of wireless communication with each other. The first terminal 10 may be a terminal possessed by the seller, and the second terminal 20 may be a terminal possessed by the buyer. The first terminal 10 may be a Point Of Sale (POS) terminal installed in a store or a communication device capable of mobile communication such as a smart phone. The second terminal 20 may be a communication device capable of communicating while moving.

제1 단말(10)과 제2 단말(20) 각각은 서로 다른 프로토콜을 지원하는 복수의 통신 모듈을 포함할 수 있다. 예를 들어, 제1 단말(10)과 제2 단말(20) 각각은 블루투스 통신 모듈, 와이파이 통신 모듈, UWB(Ultra Wideband) 통신 모듈 등 중에서 둘 이상의 통신 모듈을 포함할 수 있다. Each of the first terminal 10 and the second terminal 20 may include a plurality of communication modules supporting different protocols. For example, each of the first terminal 10 and the second terminal 20 may include two or more communication modules among a Bluetooth communication module, a Wi-Fi communication module, and an Ultra Wideband (UWB) communication module.

제1 단말(10)은 판매자 정보와 판매중인 상품 목록을 제2 단말(20)로 전송하고, 제2 단말(20)은 상품 목록 중에서 어느 하나에 대한 구매를 진행할 수 있다.The first terminal 10 transmits seller information and a list of products on sale to the second terminal 20 , and the second terminal 20 may proceed with purchasing any one of the product lists.

제1 단말(10)과 제2 단말(20)은 서로 간의 데이터 교환을 수행하여, 거래에 필요한 거래 데이터를 생성하고, 그 생성된 거래 데이터에 대한 검증을 인증 서버(30)로 요청할 수 있다. 인증 서버(30)가 거래 데이터의 검증에 성공하는 것에 응답하여, 제1 단말(10), 제2 단말(20) 중 적어도 하나는 상품 결제를 위한 루틴을 수행할 수 있다.The first terminal 10 and the second terminal 20 may exchange data with each other, generate transaction data necessary for a transaction, and request verification of the generated transaction data to the authentication server 30 . In response to the authentication server 30 successfully verifying the transaction data, at least one of the first terminal 10 and the second terminal 20 may perform a routine for product payment.

일 실시예에서, 제1 단말(10)과 제2 단말(20)은 거리 측정을 위한 무선 채널을 형성하고, 그 무선 채널을 통해서 발생하는 신호를 기초로 제1 단말(10)과 제2 단말(20) 간의 거리가 측정될 수 있다. 제1 단말(10) 또는 제2 단말(20)은 상기 측정된 거리를 포함하는 거래 데이터를 인증 서버(30)로 전송할 수 있다. In one embodiment, the first terminal 10 and the second terminal 20 form a radio channel for distance measurement, and the first terminal 10 and the second terminal based on a signal generated through the radio channel The distance between (20) can be measured. The first terminal 10 or the second terminal 20 may transmit transaction data including the measured distance to the authentication server 30 .

이하, 도 2 내지 도 7을 참조하여, 본 발명의 실시예에 따른 상품 거래 지원 방법에 대해서 설명한다.Hereinafter, a product transaction support method according to an embodiment of the present invention will be described with reference to FIGS. 2 to 7 .

먼저, 도 2를 참조하여, 판매자와 구매자가 인증 서버(30)에 등록되는 방법을 설명한다. First, referring to FIG. 2 , a method for registering a seller and a buyer in the authentication server 30 will be described.

이하에서 설명할 실시예들에서는, 제1 사용자는 판매자이고, 제2 사용자는 구매자인 것으로 가정하고 설명한다. In the embodiments to be described below, it is assumed that the first user is a seller and the second user is a buyer.

단계(S101)에서, 제1 단말(10)은 제1 사용자의 식별자(예컨대, 로그인 아이디)를 포함하는 제1 사용자 등록 요청을 인증 서버(30)로 전송할 수 있다. 일 실시예에서, 인증 서버(30)는 제1 사용자의 등록 요청을 수신할 때에, 판매자 이름, 상호명, 위치, 제1 단말(10)의 식별자 등을 포함하는 판매자 정보를 제1 단말(10)로부터 수신하여 저장할 수 있다. In step S101 , the first terminal 10 may transmit a first user registration request including an identifier (eg, login ID) of the first user to the authentication server 30 . In one embodiment, when receiving a registration request from a first user, the authentication server 30 transmits seller information including seller name, business name, location, and identifier of the first terminal 10 to the first terminal 10. can be received and stored.

이어서, 단계(S103)에서, 인증 서버(30)는 제1 단말(10)로 할당하기 위한 제1 토큰을 생성할 수 있다. 일 실시예에서, 인증 서버(30)는 현재의 일시, 제1 사용자의 식별자, 랜덤 키 등을 이용하여, 상기 제1 토큰을 생성할 수 있으며, 제1 토큰을 제1 사용자의 식별자와 대응시켜 저장할 수 있다. 상기 제1 토큰은, 거래 데이터를 검증하거나 판매자 정보를 검증하는데 추후 이용될 수 있다.Subsequently, in step S103 , the authentication server 30 may generate a first token to be allocated to the first terminal 10 . In one embodiment, the authentication server 30 may generate the first token using the current date and time, an identifier of the first user, a random key, and the like, and match the first token with the identifier of the first user. can be saved The first token may be later used to verify transaction data or seller information.

단계(S105)에서, 인증 서버(30)는 생성된 제1 토큰을 제1 단말(10)로 전송할 수 있다. In step S105 , the authentication server 30 may transmit the generated first token to the first terminal 10 .

단계(S107)에서, 제1 단말(10)은 제1 사용자에게 인증 정보를 요구하여, 제1 사용자 인증을 수행할 수 있다. 제1 단말(10)은 제1 사용자로부터 생체 정보(예컨대, 지문, 얼굴 이미지 등) 또는 패스워드를 입력받고, 그 생체 정보 또는 패스워드가 기 저장된 생체 정보 또는 패스워드와 일치하는지 여부를 판정함으로써, 제1 사용자를 인증할 수 있다. 제1 단말(10)은 제1 사용자의 인증에 실패하는 경우, 제1 사용자의 인증정보를 다시 입력하는 것을 요구하는 메시지를 디스플레이할 수 있다. In step S107, the first terminal 10 may perform first user authentication by requesting authentication information from the first user. The first terminal 10 receives biometric information (eg, a fingerprint, face image, etc.) or password from the first user, and determines whether the biometric information or password matches pre-stored biometric information or password, Users can be authenticated. When authentication of the first user fails, the first terminal 10 may display a message requesting re-input of authentication information of the first user.

제1 사용자의 인증에 성공하는 것에 응답으로 단계(S109)가 진행되어, 제1 단말(10)은 제1 개인키와 제1 공개키를 생성할 수 있다. In response to successful authentication of the first user, step S109 is performed, and the first terminal 10 may generate a first private key and a first public key.

단계(S111)에서, 제1 단말(10)은 제1 개인키와 제1 토큰에 기초하여 제1 전자 서명을 생성할 수 있다. 일 실시예에서, 제1 단말(10)은 제1 단말의 식별자, 제1 사용자의 식별자, 제1 토큰 중 하나 이상을 원문 데이터로 하고, 그 원문 데이터와 제1 개인키를 기초로 제1 전자 서명을 생성할 수 있다. 몇몇 실시예에서, 제1 단말(10)은 상기 원문 데이터를 제1 개인키로 암호화하고, 그 암호화된 원문 데이터를 포함하는 제1 전자 서명을 생성할 수 있다. In step S111, the first terminal 10 may generate a first electronic signature based on the first private key and the first token. In one embodiment, the first terminal 10 uses one or more of the identifier of the first terminal, the identifier of the first user, and the first token as original data, and based on the original data and the first private key, the first electronic device 10 signature can be created. In some embodiments, the first terminal 10 may encrypt the original data with a first private key and generate a first electronic signature including the encrypted original data.

단계(S113)에서, 제1 단말(10)은 제1 전자 서명 및 제1 공개키를 인증 서버(30)로 전송할 수 있다. In step S113, the first terminal 10 may transmit the first electronic signature and the first public key to the authentication server 30.

단계(S115)에서, 인증 서버(30)는 제1 공개키를 이용하여 제1 전자 서명의 진위를 검증할 수 있다. 일 실시예에서, 인증 서버(30)는 제1 공개키를 이용하여 제1 전자 서명에 포함된 원문 데이터를 복호화하고, 원문 데이터를 구성하는 제1 단말의 식별자, 제1 사용자의 식별자, 제1 토큰 중 하나 이상이 제1 단말(10)로부터 수신하여 저장한 식별자 또는 토큰과 일치하는지 여부를 판정함으로써, 제1 전자 서명을 검증할 수 있다. In step S115, the authentication server 30 may verify the authenticity of the first electronic signature using the first public key. In one embodiment, the authentication server 30 decrypts the original data included in the first electronic signature using the first public key, and the identifier of the first terminal constituting the original data, the identifier of the first user, the first The first electronic signature may be verified by determining whether one or more of the tokens matches an identifier or token received and stored from the first terminal 10 .

제1 전자 서명의 검증에 성공하는 것에 응답으로 단계(S117)가 진행되어, 인증 서버(30)는 제1 토큰을 제1 단말(10)로 할당하여, 제1 사용자를 등록할 수 있다. 일 실시예에서, 인증 서버(30)는 제1 사용자의 식별자, 제1 단말(10)의 식별자, 제1 토큰 및 제1 공개키를 연관하여 저장할 수 있다.In response to the successful verification of the first electronic signature, step S117 proceeds, and the authentication server 30 allocates the first token to the first terminal 10 to register the first user. In one embodiment, the authentication server 30 may associate and store the identifier of the first user, the identifier of the first terminal 10, the first token, and the first public key.

단계(S119)에서, 인증 서버(30)는 사용자 등록이 완료되었음을 알리는 사용자 등록 알림 메시지를 제1 단말(10)로 전송할 수 있다.In step S119 , the authentication server 30 may transmit a user registration notification message indicating that user registration has been completed to the first terminal 10 .

상술한 단계(S101) 내지 단계(S119)를 통해, 판매자가 인증 서버(30)에 등록될 수 있다.Through the above steps S101 to S119, the seller may be registered in the authentication server 30.

단계(S121)에서, 제2 단말(20)은 제2 사용자의 식별자(예컨대, 아이디)를 포함하는 제2 사용자 등록 요청을 인증 서버(30)로 전송할 수 있다. 일 실시예에서, 인증 서버(30)는 제2 사용자의 등록 요청을 수신할 때에, 제2 사용자 이름, 주소, 제2 사용자의 식별자, 제2 단말(20)의 식별자 등을 포함하는 판매자 정보를 제2 단말(10)로부터 수신하여 저장할 수 있다. 여기서 제2 단말의 식별자는, 제2 단말(20)의 근거리 통신 모듈이 가지는 식별자일 수 있다.In step S121 , the second terminal 20 may transmit a second user registration request including an identifier (eg, ID) of the second user to the authentication server 30 . In one embodiment, when receiving the second user's registration request, the authentication server 30 provides seller information including the second user's name, address, identifier of the second user, identifier of the second terminal 20, and the like. It may be received from the second terminal 10 and stored. Here, the identifier of the second terminal may be an identifier of the short-range communication module of the second terminal 20 .

이어서, 단계(S123)에서, 인증 서버(30)는 제2 단말(20)로 할당하기 위한 제2 토큰을 생성할 수 있다. 일 실시예에서, 인증 서버(30)는 현재의 일시, 제2 사용자의 식별자, 랜덤 키 등을 이용하여, 제2 토큰을 생성할 수 있으며, 제2 토큰을 제2 사용자 식별자와 연관하여 저장할 수 있다. Subsequently, in step S123 , the authentication server 30 may generate a second token to be allocated to the second terminal 20 . In one embodiment, the authentication server 30 may generate a second token using the current date and time, an identifier of the second user, a random key, and the like, and store the second token in association with the second user identifier. there is.

단계(S125)에서, 인증 서버(30)는 생성된 제2 토큰을 제2 단말(20)로 전송할 수 있다. In step S125 , the authentication server 30 may transmit the generated second token to the second terminal 20 .

단계(S127)에서, 제2 단말(20)은 제2 사용자에게 인증 정보를 요구하여, 제2 사용자 인증을 수행할 수 있다. 제2 단말(20)은 제2 사용자로부터 생체 정보(예컨대, 지문, 얼굴 이미지 등) 또는 패스워드를 입력받고, 그 생체 정보 또는 패스워드가 기 저장된 생체 정보 또는 패스워드와 일치하는지 여부를 판정함으로써, 제2 사용자를 인증할 수 있다. 제2 단말(20)은 제2 사용자의 인증에 실패하는 경우, 제2 사용자의 인증정보를 다시 입력하는 것을 요구하는 메시지를 디스플레이할 수 있다. In step S127, the second terminal 20 may perform second user authentication by requesting authentication information from the second user. The second terminal 20 receives biometric information (eg, a fingerprint, face image, etc.) or password from the second user, and determines whether the biometric information or password matches pre-stored biometric information or password, Users can be authenticated. When authentication of the second user fails, the second terminal 20 may display a message requesting re-input of authentication information of the second user.

제2 사용자의 인증에 성공하는 것에 응답으로 단계(S129)가 진행되어, 제2 단말(20)은 제2 개인키와 제2 공개키를 생성할 수 있다. In response to successful authentication of the second user, step S129 proceeds, and the second terminal 20 may generate a second private key and a second public key.

단계(S131)에서, 제2 단말(20)은 제2 개인키와 제2 토큰에 기초하여 제2 전자 서명을 생성할 수 있다. 일 실시예에서, 제2 단말(20)은 제2 단말의 식별자, 제2 사용자의 식별자, 제2 토큰 중 하나 이상을 원문 데이터로 하고, 그 원문 데이터와 제2 개인키를 기초로 제2 전자 서명을 생성할 수 있다. 몇몇 실시예에서, 제2 단말(20)은 제2 개인키를 이용하여 상기 원문 데이터를 암호화하고, 암호화된 원문 데이터를 포함하는 제2 전자 서명을 생성할 수 있다.In step S131, the second terminal 20 may generate a second electronic signature based on the second private key and the second token. In one embodiment, the second terminal 20 uses one or more of the identifier of the second terminal, the identifier of the second user, and the second token as original data, and based on the original data and the second private key, the second electronic data signature can be created. In some embodiments, the second terminal 20 may encrypt the original data using the second private key and generate a second electronic signature including the encrypted original data.

단계(S133)에서, 제2 단말(20)은 제2 전자 서명 및 제2 공개키를 인증 서버(30)로 전송할 수 있다. In step S133, the second terminal 20 may transmit the second electronic signature and the second public key to the authentication server 30.

단계(S135)에서, 인증 서버(30)는 제2 공개키와 원문 데이터를 이용하여, 제2 전자 서명의 진위를 검증할 수 있다. 일 실시예에서, 인증 서버(30)는 제2 공개키를 이용하여 제2 전자 서명에 포함된 원문 데이터를 복호화하고, 원문 데이터를 구성하는 제2 단말의 식별자, 제2 사용자의 식별자, 제2 토큰 중 하나 이상이 제2 단말(20)로부터 수신하여 저장한 식별자 또는 토큰과 일치하는지 여부를 판정함으로써, 제2 전자 서명을 검증할 수 있다. In step S135, the verification server 30 may verify the authenticity of the second electronic signature by using the second public key and original text data. In one embodiment, the authentication server 30 decrypts the original data included in the second electronic signature using the second public key, and the identifier of the second terminal constituting the original data, the identifier of the second user, the second The second electronic signature may be verified by determining whether one or more of the tokens matches an identifier or token received and stored from the second terminal 20 .

제2 전자 서명의 검증에 성공하는 것에 응답으로 단계(S137)가 진행되어, 인증 서버(30)는 제2 토큰을 제2 단말(20)로 할당하여, 제2 사용자를 등록할 수 있다. 일 실시예에서, 인증 서버(30)는 제2 사용자의 식별자, 제2 단말(20)의 식별자, 제2 토큰 및 제2 공개키를 연관하여 저장할 수 있다.In response to the successful verification of the second electronic signature, step S137 proceeds, and the authentication server 30 allocates the second token to the second terminal 20 to register the second user. In one embodiment, the authentication server 30 may associate and store the identifier of the second user, the identifier of the second terminal 20, the second token, and the second public key.

단계(S139)에서, 인증 서버(30)는 사용자 등록이 완료되었음을 알리는 사용자 등록 알림 메시지를 제2 단말(20)로 전송할 수 있다.In step S139 , the authentication server 30 may transmit a user registration notification message indicating that user registration has been completed to the second terminal 20 .

상술한 단계(S131) 내지 단계(S139)를 통해, 구매자가 인증 서버(30)에 등록될 수 있다.Through the above-described steps S131 to S139, the purchaser may be registered in the authentication server 30.

도 3 내지 도 4b을 참조하여, 제1 사용자(예컨대 판매자)와 제2 사용자(예컨대 구매자) 간의 거래가 검증되는 방법을 설명한다.Referring to FIGS. 3 to 4B , a method for verifying a transaction between a first user (eg, a seller) and a second user (eg, a buyer) will be described.

단계(S201)에서, 제1 단말(10)은 인증 서버(30)에 접속하여 로그인에 성공한 후에, 인증 서버(30)로 거래 식별자(즉, 거래 ID) 요청을 전송할 수 있다. 일 실시예에서, 제1 단말(10)은 상품명, 상품 가격 등을 포함하는 상품 정보를 인증 서버(30)로 전송할 수 있다. 몇몇 실시예에서, 제1 단말(10)은 복수의 상품이 판매중인 경우, 각 상품에 대한 거래 식별자를 인증 서버(30)로 요청할 수 있다. In step S201, the first terminal 10 accesses the authentication server 30 and successfully logs in, and then transmits a transaction identifier (ie, transaction ID) request to the authentication server 30. In one embodiment, the first terminal 10 may transmit product information including product names and product prices to the authentication server 30 . In some embodiments, when a plurality of products are on sale, the first terminal 10 may request a transaction identifier for each product from the authentication server 30 .

단계(S203)에서, 인증 서버(30)는 거래 식별자를 생성하고, 그 생성된 거래 식별자를 판매자 정보(즉, 제1 사용자 정보) 및 상품 정보와 연관하여 저장할 수 있다. 도 2를 참조하여 앞서 설명한 바와 같이, 일 실시예에서, 인증 서버(30)는 제1 사용자의 등록을 수행할 때에, 판매자 이름, 상호명, 주소 등을 포함하는 상기 판매자 정보를 제1 단말(10)로부터 수신하여 미리 저장할 수 있다. 몇몇 실시예에서, 인증 서버(30)는 복수의 상품에 대한 거래 식별자를 요청받은 경우, 각 상품에 대한 거래 식별자를 생성할 수 있다.In step S203, the authentication server 30 may generate a transaction identifier and store the generated transaction identifier in association with seller information (ie, first user information) and product information. As described above with reference to FIG. 2, in one embodiment, when the authentication server 30 performs registration of the first user, the seller information including the seller name, business name, address, etc. is sent to the first terminal 10 ) and stored in advance. In some embodiments, when a transaction identifier for a plurality of products is requested, the authentication server 30 may generate a transaction identifier for each product.

단계(S205)에서, 인증 서버(30)는 제1 사용자의 식별자와 연관된 제1 토큰을 획득하고, 제1 토큰과 거래 식별자를 포함하는 응답 메시지를 제1 단말(10)로 전송할 수 있다. 이미 설명한 바와 같이, 제1 토큰은 제1 사용자의 등록 과정에서 인증 서버(30)에 의해서 생성되어 저장될 수 있다.In step S205 , the authentication server 30 may acquire a first token associated with the identifier of the first user and transmit a response message including the first token and the transaction identifier to the first terminal 10 . As already described, the first token may be generated and stored by the authentication server 30 during the registration process of the first user.

단계(S207)에서, 제1 단말(10)은 가게 상호명, 위치 정보 등을 포함하는 판매자 정보를 브로드캐스팅할 수 있다. 일 실시예에서, 제1 단말(10)은 무선 통신 모듈을 이용하여, 상기 판매자 정보를 브로드캐스팅할 수 있다.In step S207, the first terminal 10 may broadcast seller information including shop name and location information. In one embodiment, the first terminal 10 may broadcast the seller information using a wireless communication module.

제2 단말(20)은 수신된 복수의 판매자 정보를 디스플레이할 수 있고, 이 중 제1 단말(10)에서 송신한 판매자 정보를 선택하는 경우, 단계(S209)가 진행되어 제2 단말(20)은 제1 단말(10)과 제1 채널을 형성할 수 있다. 일 실시예에서, 제2 단말(20)은 제1 단말(10)로 제1 채널 형성을 요청하여 제1 단말(10)과 제1 채널을 형성할 수 있다. 일 실시예에서, 상기 제1 채널을 무선 통신 기반의 채널일 수 있다. 몇몇 실시예에서, 상기 제1 채널은 블루투스, 와이파이 등과 같은 근거리 무선 통신 기반의 채널일 수 있다.The second terminal 20 may display a plurality of seller information received, and when the seller information transmitted from the first terminal 10 is selected, step S209 is performed to display the second terminal 20. may form a first channel with the first terminal 10. In one embodiment, the second terminal 20 may form a first channel with the first terminal 10 by requesting the first terminal 10 to form a first channel. In one embodiment, the first channel may be a wireless communication-based channel. In some embodiments, the first channel may be a short-distance wireless communication-based channel such as Bluetooth or Wi-Fi.

제1 채널이 형성되면, 단계(S211)가 진행되어, 제1 단말(10)은, 제1 채널을 통해서 상품명, 상품 가격, 등이 포함된 판매 상품 정보를 제2 단말(20)로 전송할 수 있다. When the first channel is formed, step S211 is performed so that the first terminal 10 may transmit sales product information including product name, product price, etc. to the second terminal 20 through the first channel. there is.

단계(S209)에서, 제2 단말(20)은 하나 이상의 상품을 포함하는 상품 판매 정보를 디스플레이할 수 있다. 이에 따라, 제2 사용자는 해당 상점에서 판매중인 상품을 인지할 수 있다. 다른 실시예에서, 제2 단말(20)은 제2 사용자의 식별자를 포함하는 상품 정보 요청을 브로드캐스팅할 수 있다. 이 경우, 제1 단말(10)은 제2 단말(20)로부터 수신한 상품 정보 요청에 응답하여, 판매중인 상품명, 상품 가격, 판매자 정보 등이 포함된 판매 상품 정보를 제2 단말(20)로 전송할 수 있다.In step S209, the second terminal 20 may display product sales information including one or more products. Accordingly, the second user can recognize products on sale in the corresponding store. In another embodiment, the second terminal 20 may broadcast a product information request including an identifier of the second user. In this case, in response to the product information request received from the second terminal 20, the first terminal 10 transmits product information for sale, including product name, product price, seller information, etc., to the second terminal 20. can transmit

단계(S213)에서, 제2 단말(20)은 판매 상품 정보에 포함된 어느 하나의 상품에 대한 구매 입력 정보를 제2 사용자(즉, 구매자)로부터 입력받을 수 있다. 즉, 제2 사용자는 판매 정보에 포함된 상품 중에서 어느 하나의 구매를 희망하는 정보를 입력할 수 있다.In step S213, the second terminal 20 may receive purchase input information on any one product included in the sale product information from the second user (ie, the buyer). That is, the second user may input information desired to purchase one of the products included in the sale information.

제2 사용자로부터 상품 구매 정보를 입력받은 것에 응답하여, 단계(S215)에서, 제2 단말(20)은 구매하기로 선택된 상품의 식별자를 제1 채널을 통해서 제1 단말(10)로 전송할 수 있다.In response to receiving product purchase information from the second user, in step S215, the second terminal 20 may transmit an identifier of a product selected to be purchased to the first terminal 10 through the first channel. .

단계(S217)에서, 제1 단말(10)은 제1 단말(10)로 할당된 제1 토큰과 제1 단말(10)의 제1 개인키를 이용하여, 제3 전자 서명을 생성할 수 있다. 일 실시예에서, 제1 단말(10)은 제1 토큰을 원문 데이터로서 설정하여, 제3 전자 서명을 생성할 수 있다. 즉, 제1 단말(10)은 제1 토큰을 제1 개인키를 이용하여 암호화하고, 암호화된 제1 토큰을 포함하는 제3 전자 서명을 생성할 수 있다. In step S217, the first terminal 10 may generate a third electronic signature using the first token allocated to the first terminal 10 and the first private key of the first terminal 10. . In one embodiment, the first terminal 10 may generate a third electronic signature by setting the first token as original text data. That is, the first terminal 10 may encrypt the first token using the first private key and generate a third electronic signature including the encrypted first token.

단계(S219)에서, 제1 단말(10)은 제2 사용자가 선택한 상품 정보 및 제3 전자 서명와 제1 토큰을 포함하는 판매자 정보를 제2 단말(20)로 전송할 수 있다. 일 실시예에서, 상기 판매자 정보는, 제1 채널을 통해서 제2 단말(20)로 전송될 수 있다.In operation S219 , the first terminal 10 may transmit product information selected by the second user and vendor information including the third electronic signature and the first token to the second terminal 20 . In one embodiment, the seller information may be transmitted to the second terminal 20 through the first channel.

단계(S221)에서, 제2 단말(20)은 판매자 정보의 수신에 응답하여, 상기 판매자 정보에 대한 검증 요청을 인증 서버(30)로 전송할 수 있다. 일 실시예에서, 제2 단말(20)은 검증 요청에 제1 토근, 제3 전자 서명, 제2 사용자의 식별자 및 상기 상품 정보를 포함시킬 수 있다.In step S221, the second terminal 20 may transmit a verification request for the seller information to the authentication server 30 in response to receiving the seller information. In one embodiment, the second terminal 20 may include the first token, the third electronic signature, the second user's identifier, and the product information in the verification request.

단계(S223)에서, 인증 서버(30)는 제2 단말(20)로부터 수신한 판매자 정보를 검증할 수 있다. 일 실시예에서, 인증 서버(30)는 제1 토큰과 관련된 제1 단말의 제1 공개키를 획득하고, 제1 공개키와 제1 토큰을 이용하여 제3 전자 서명의 진위를 검증함으로써 상기 판매자 정보를 검증할 수 있다. 몇몇 실시예에서, 인증 서버(30)는 상기 제1 공개키를 이용하여 제3 전자 서명에 포함된 암호화된 제1 토큰을 복호화하고, 복호화된 제1 토큰이, 상기 검증 요청에 포함된 제1 토큰이 일치하는지 여부를 판정함으로써, 상기 제3 전자 서명의 진위를 검증할 수 있다. In step S223 , the authentication server 30 may verify seller information received from the second terminal 20 . In one embodiment, the authentication server 30 obtains the first public key of the first terminal associated with the first token, and verifies the authenticity of the third electronic signature using the first public key and the first token, thereby verifying the merchant. information can be verified. In some embodiments, the authentication server 30 decrypts the encrypted first token included in the third electronic signature using the first public key, and the decrypted first token is used to decrypt the first token included in the verification request. Authenticity of the third electronic signature can be verified by determining whether the tokens match.

인증 서버(30)는 판매자 정보의 검증에 실패하는 것에 응답하여, 제2 단말(20)로 판매자 정보에 대한 검증 실패 메시지를 전송할 수 있고, 제2 단말(20)은 판매자 정보의 검증 실패에 따라 상품 거래를 진행을 중단할 수 있다.The authentication server 30 may transmit a verification failure message for the seller information to the second terminal 20 in response to the failure of verification of the seller information, and the second terminal 20 responds to the verification failure of the seller information. The transaction of goods may be suspended.

반면, 판매자 정보의 검증에 성공하는 것에 응답하여, 단계(S225)가 진행되어, 인증 서버(30)는 기 저장된 제2 사용자 정보에서 제2 사용자 식별자와 관련된 제2 토큰을 획득할 수 있으며, 기 저장된 거래 식별자 목록에서 제2 토큰과 상품 정보와 대응되는 거래 식별자를 획득할 수 있다. On the other hand, in response to successful verification of the seller information, step S225 proceeds, and the authentication server 30 may obtain a second token related to the second user identifier from the pre-stored second user information. A transaction identifier corresponding to the second token and product information may be obtained from the stored transaction identifier list.

단계(S227)에서, 인증 서버(30)는 획득한 거래 식별자와 제2 토큰을 포함하는 검증 응답 메시지를 제2 단말(20)로 전송할 수 있으며, 제2 단말(20)은 판매자 정보의 검증에 성공됨에 따라, 거래 식별자를 획득할 수 있다.In step S227, the authentication server 30 may transmit a verification response message including the acquired transaction identifier and the second token to the second terminal 20, and the second terminal 20 is responsible for verifying the seller information. Upon success, the transaction identifier can be obtained.

거래 식별자를 획득하는 것에 응답으로 도 4a의 단계(S229)가 진행되어, 제2 단말(20)은 제1 단말(10) 간의 제2 채널이 형성될 수 있다. 일 실시예에서, 제2 단말(20)은 거래 식별자가 획득되면, 제1 단말(10)로 제2 채널 형성을 요청하여 제1 단말(10)과 제2 채널을 형성할 수 있다. 일 실시예에서, 상기 제2 채널은, 제1 채널과 상이한 프로토콜이 적용되는 무선 통신 기반의 채널일 수 있다. 몇몇 실시예에서, 상기 제2 채널은 UWB 기반의 무선 통신 채널일 수 있다. 일 실시예에서, 제2 채널은 상기 거래 식별자를 이용하여 생성된 것일 수 있다. 일 실시예에서, 거래 식별자가 암호키로서 이용되어 암호화된 데이터가 제2 채널을 통해 송신 또는 수신될 수 있다. In response to acquiring the transaction identifier, step S229 of FIG. 4A proceeds, and a second channel between the second terminal 20 and the first terminal 10 may be formed. In one embodiment, the second terminal 20 may form a second channel with the first terminal 10 by requesting establishment of a second channel to the first terminal 10 when the transaction identifier is obtained. In one embodiment, the second channel may be a wireless communication-based channel to which a protocol different from that of the first channel is applied. In some embodiments, the second channel may be a UWB-based wireless communication channel. In one embodiment, the second channel may be created using the transaction identifier. In one embodiment, the transaction identifier is used as an encryption key so that encrypted data can be transmitted or received over the second channel.

단계(S231)에서, 제2 단말(20)은 제2 채널을 이용하여, 제1 단말(10)과의 거리를 측정할 수 있다. 일 실시예에서, 제2 단말(20)은 제2 채널을 통해서 제1 단말(10)에서 발신된 무신 신호의 지연 시간을 측정하고, 그 지연 지연과 이미 알고 있는 무선 신호의 속도를 기초로, 제1 단말(10)과의 거리를 측정할 수 있다. 다른 실시예에서, 제2 단말(20)은 제2 채널을 통해서 제1 단말(10)에서 발신된 무신 신호의 세기를 측정하고, 그 무선 신호의 세기를 기초로 제1 단말(10)과의 거리를 측정할 수 있다.In step S231, the second terminal 20 may measure the distance to the first terminal 10 using the second channel. In one embodiment, the second terminal 20 measures the delay time of the no-go signal transmitted from the first terminal 10 through the second channel, and based on the delay and the already known speed of the radio signal, A distance to the first terminal 10 may be measured. In another embodiment, the second terminal 20 measures the strength of the radio signal transmitted from the first terminal 10 through the second channel, and communicates with the first terminal 10 based on the strength of the wireless signal. distance can be measured.

단계(S233) 및 단계(S235)에서, 제2 단말(20)은 제2 사용자에게 인증 정보를 요구하여, 제2 사용자 인증을 수행할 수 있다. 일 실시예에서, 제2 단말(20)은 제2 단말(20)은 측정된 거리(즉, 제1 단말과의 거리)가 임계 거리 이내인 경우에, 제2 사용자의 인증 정보를 요구하는 메시지를 디스플레이할 수 있다. 제2 단말(20)은 제2 사용자로부터 생체 정보(예컨대, 지문, 얼굴 이미지 등) 또는 패스워드를 입력받고, 그 생체 정보 또는 패스워드가 기 저장된 생체 정보 또는 패스워드와 일치하는지 여부를 판정함으로써, 제2 사용자를 인증할 수 있다.In steps S233 and S235, the second terminal 20 may perform second user authentication by requesting authentication information from the second user. In one embodiment, the second terminal 20 sends a message requesting authentication information of the second user when the measured distance (ie, the distance to the first terminal) is within a threshold distance. can display. The second terminal 20 receives biometric information (eg, a fingerprint, face image, etc.) or password from the second user, and determines whether the biometric information or password matches pre-stored biometric information or password, Users can be authenticated.

제2 사용자의 인증에 성공하는 것에 응답으로 단계(S237)가 진행되어, 제2 단말(20)은 제2 토큰, 측정된 제1 단말(10)과의 거리, 거래 식별자, 거래 대상이 되는 상품의 정보 중 하나 이상을 제2 단말(20)의 개인키로 암호화하여, 거래 데이터를 생성할 수 있다. 여기서, 거래 대상이 되는 상품의 정보는, 상품 식별자 및 상품 판매 금액을 포함할 수 있으며, 또한 판매자 식별자(즉, 제1 사용자 식별자)와 구매자 정보(제2 사용자 식별자)를 더 포함할 수 있다. In response to successful authentication of the second user, step S237 proceeds, and the second terminal 20 receives the second token, the measured distance to the first terminal 10, the transaction identifier, and the product to be traded. One or more of the pieces of information may be encrypted with the private key of the second terminal 20 to generate transaction data. Here, information on a product to be traded may include a product identifier and a product sales price, and may further include a seller identifier (ie, a first user identifier) and buyer information (a second user identifier).

단계(S239)에서, 제2 단말(20)은 암호화된 거래 데이터를 포함하는 검증 요청을 인증 서버(30)로 전송할 수 있다. 일 실시예에서, 제2 단말(20)은 거래 데이터의 검증 요청에 제2 토큰 또는 제2 사용자의 식별자를 포함시킬 수 있다. 몇몇 실시예에서, 제2 단말(200)은 상기 암호화된 거래 데이터를 포함하는 전자 서명을 생성하고, 그 전자 서명에 대한 검증을 인증 서버(30)로 요청할 수 있다. In step S239, the second terminal 20 may transmit a verification request including encrypted transaction data to the authentication server 30. In one embodiment, the second terminal 20 may include the identifier of the second token or the second user in the transaction data verification request. In some embodiments, the second terminal 200 may generate an electronic signature including the encrypted transaction data and request verification of the electronic signature to the authentication server 30 .

단계(S241)에서, 인증 서버(30)는 제2 토큰 또는 제2 사용자 식별자와 관련되어 저장된 제2 단말(20)의 제2 공개키를 획득하고, 제2 공개키를 이용하여 암호화된 거래 데이터를 복호화한 후, 복호화된 거래 데이터를 검증할 수 있다. 일 실시예에서, 인증 서버(30)는 거래 데이터에 포함된 거래 식별자, 상품 정보 및 제2 토큰을 기 저장된 데이터와 비교하여, 거래 데이터가 정확하는지 여부를 1차 검증할 수 있다. 또한, 인증 서버(30)는 거래 데이터에 포함된 거리가 사전에 설정된 임계거리 이내인지 판정하여 거래 데이터에 대한 2차 검증을 수행할 수 있다. 인증 서버(30)는 상기 거리가 임계거리를 초과하는 경우에 거래 데이터에 대해서 검증을 실패 처리하고, 상기 거리가 임계거리 이하이면 거래 데이터에 대해서 검증을 성공 처리할 수 있다.In step S241, the authentication server 30 obtains the second public key of the second terminal 20 stored in association with the second token or the second user identifier, and the encrypted transaction data using the second public key. After decrypting, the decrypted transaction data can be verified. In one embodiment, the authentication server 30 compares the transaction identifier, product information, and the second token included in the transaction data with pre-stored data to first verify whether the transaction data is correct. In addition, the authentication server 30 may perform secondary verification on the transaction data by determining whether the distance included in the transaction data is within a preset threshold distance. The authentication server 30 may fail verification of the transaction data when the distance exceeds the threshold distance, and may successfully process verification of the transaction data when the distance is less than or equal to the threshold distance.

거래 데이터에 대한 검증에 성공한 것에 대한 응답으로, 단계(S243)이 진행되어, 인증 서버(30)는 제2 단말(20), 제1 단말(10), VAN 서버(50), PG(60) 중 하나 이상과 연동하여, 결제 처리 루틴을 수행할 수 있다.In response to the successful verification of the transaction data, step S243 proceeds, and the authentication server 30 connects the second terminal 20, the first terminal 10, the VAN server 50, and the PG 60 In conjunction with one or more of them, a payment processing routine may be performed.

본 실시예에 따르면, 제1 단말(10)과 제2 단말(20) 간에 접촉 없이 통신 채널을 통해서, 거래에 필요한 데이터가 송수신될 수 있다. 또한, 본 실시예에 따르면, 제1 단말(10)과 제2 단말(20) 간의 거리가 거래 데이터에 포함되고, 그 거리가 거래 데이터의 검증의 주요 요소(factor)로서 작용하게 함으로써, 부당 거래를 정확하게 검출할 수 있다. 부연하면, 제1 단말(10)과 제2 단말(20) 간의 거리가 임계거리를 초과하는 경우에, 제1 단말(10)과 제2 단말(20)에서 발생하는 거래를 허락되지 않은 거래인 것으로 처리할 수 있다.According to this embodiment, data necessary for a transaction can be transmitted and received through a communication channel without contact between the first terminal 10 and the second terminal 20 . In addition, according to this embodiment, the distance between the first terminal 10 and the second terminal 20 is included in the transaction data, and the distance acts as a major factor in verifying the transaction data, thereby making the illegal transaction can be accurately detected. In other words, when the distance between the first terminal 10 and the second terminal 20 exceeds the threshold distance, a transaction that occurs between the first terminal 10 and the second terminal 20 is not permitted. can be treated as

지금까지 도 4a를 참조하여 상술한 실시예에서는 제2 단말이 거래 데이터를 생성하지만, 다른 몇몇 실시예에서는, 제1 단말이 거래 데이터를 생성할 수도 있다.In the embodiment described above with reference to FIG. 4A, the second terminal generates transaction data, but in some other embodiments, the first terminal may generate transaction data.

도 4b는 제1 단말이 거래 데이터를 생성하는 방법을 설명하는 신호 흐름도이다. 도 4b를 참조한 설명에 있어서, 도 4a와 동일한 참조부호를 가지는 단계는 도 4a를 참조하여 설명한 해당 단계와 동일하므로, 도 4b를 참조한 설명에서는 도 4a와 상이한 부분을 설명한다.4B is a signal flow diagram illustrating a method in which the first terminal generates transaction data. In the description with reference to FIG. 4B, steps having the same reference numerals as those in FIG. 4A are the same as the corresponding steps described with reference to FIG. 4A, and thus, in the description with reference to FIG. 4B, different parts from those in FIG. 4A are described.

제2 사용자의 인증에 성공하는 것에 응답으로 단계(S337)가 진행되어, 제2 단말(20)은 제1 단말(10)과의 거리를 획득하고, 거래 식별자를 암호키로서 이용하여 제2 토큰과 제1 단말(10)과의 거리를 암호화할 수 있다. 여기서, 거래 식별자는 단계(S227)에서 인증 서버(30)로부터 수신된 식별자일 수 있다.In response to successful authentication of the second user, step S337 proceeds, so that the second terminal 20 obtains a distance to the first terminal 10 and uses the transaction identifier as an encryption key to obtain a second token. and the distance to the first terminal 10 may be encrypted. Here, the transaction identifier may be an identifier received from the authentication server 30 in step S227.

단계(S339)에서, 제2 단말(20)은 제2 채널을 통해서, 암호화된 제2 토큰과 거리를 제1 단말(10)로 전송할 수 있다. In step S339, the second terminal 20 may transmit the encrypted second token and the distance to the first terminal 10 through the second channel.

단계(S341)에서, 제1 단말(10)은 상기 거래 식별자를 복호키로서 이용하여, 암호화된 제2 토큰과 거리를 복호화할 수 있다. 여기서 거래 식별자는, 도 3의 단계(S205)에서 인증 서버(30)로부터 수신된 식별자일 수 있다. 상기 거래 식별자는 대칭키로서 이용하여, 제2 토큰과 거리를 암호화하고 복호화하는데 이용될 수 있다. 몇몇 실시예에서, 제1 단말(10)은 제1 단말(10)로부터 거리를 수신 것 대신에, 제2 단말(20)과 형성된 제2 채널을 통해서, 제2 단말(20)에서 발신된 무선 신호를 기초로 제2 단말(20)과의 거리를 측정할 수도 있다.In step S341, the first terminal 10 may decrypt the encrypted second token and distance by using the transaction identifier as a decryption key. Here, the transaction identifier may be an identifier received from the authentication server 30 in step S205 of FIG. 3 . The transaction identifier can be used as a symmetric key to encrypt and decrypt the second token and distance. In some embodiments, instead of receiving the distance from the first terminal 10, the first terminal 10 transmits a radio signal transmitted from the second terminal 20 through a second channel formed with the second terminal 20. The distance to the second terminal 20 may be measured based on the signal.

단계(S343)에서 제1 단말(10)은 복호화된 제2 토큰, 거래 대상이 되는 상품의 정보, 제1 단말(10)과 제2 단말(20) 간의 거리 및 거래 식별자 중에서 하나 이상을 포함하는 거래 데이터를 생성하고, 그 거래 데이터를 제1 단말(10)의 개인키를 이용하여 암호화할 수 있다.In step S343, the first terminal 10 includes at least one of the decrypted second token, information on a product to be traded, a distance between the first terminal 10 and the second terminal 20, and a transaction identifier. Transaction data may be generated, and the transaction data may be encrypted using the private key of the first terminal 10 .

단계(S345)에서, 제1 단말(10)은 거래 데이터의 검증 요청을 인증 서버(30)로 전송할 수 있다. 일 실시예에서, 제2 단말(20)은 거래 데이터의 검증 요청에 제1 토큰 또는 제1 사용자의 식별자를 포함시킬 수 있다.In step S345, the first terminal 10 may transmit a transaction data verification request to the authentication server 30. In one embodiment, the second terminal 20 may include the identifier of the first token or the first user in the transaction data verification request.

단계(S347)에서, 인증 서버(30)는 제1 토큰 또는 제1 사용자 식별자와 관련되어 기 저장된 제1 단말(10)의 제1 공개키를 획득하고, 제1 공개키를 이용하여 암호화된 거래 데이터를 복호화한 후, 복호화된 거래 데이터를 검증할 수 있다. 일 실시예에서, 인증 서버(30)는 거래 데이터에 포함된 거래 식별자, 상품 정보 및 제2 토큰이 기 저장된 데이터와 일치하는지 여부를 1차 검증할 수 있다. 또한, 인증 서버(30)는 거래 데이터에 포함된 거리가 사전에 설정된 임계거리 이내인지 판정하여 거래 데이터에 대한 2차 검증을 수행할 수 있다. 인증 서버(30)는 상기 거리가 임계거리를 초과하는 경우에 거래 데이터에 대해서 검증을 실패 처리하고, 상기 거리가 임계거리 이하이면 거래 데이터에 대해서 검증을 성공 처리할 수 있다.In step S347, the authentication server 30 acquires the first public key of the first terminal 10 previously stored in relation to the first token or the first user identifier, and uses the first public key to obtain an encrypted transaction. After decrypting the data, the decrypted transaction data can be verified. In one embodiment, the authentication server 30 may first verify whether the transaction identifier, product information, and the second token included in the transaction data match pre-stored data. In addition, the authentication server 30 may perform secondary verification on the transaction data by determining whether the distance included in the transaction data is within a preset threshold distance. The authentication server 30 may fail verification of the transaction data when the distance exceeds the threshold distance, and may successfully process verification of the transaction data when the distance is less than or equal to the threshold distance.

거래 데이터에 대한 검증에 성공한 것에 대한 응답으로, 단계(S349)이 진행되어, 인증 서버(30)는 제2 단말(20), 제1 단말(10), VAN 서버(50), PG(60) 중 하나 이상과 연동하여, 결제 처리 루틴을 수행할 수 있다.In response to the successful verification of the transaction data, step S349 proceeds, and the authentication server 30 connects the second terminal 20, the first terminal 10, the VAN server 50, and the PG 60 In conjunction with one or more of them, a payment processing routine may be performed.

도 5는 구매자 단말(즉, 제2 단말)에서 디스플레이되는 사용자 인터페이스를 예시한다.5 illustrates a user interface displayed on a purchaser terminal (ie, a second terminal).

도 5를 참조하면, 제2 단말(20)은 복수의 판매자 단말로부터 각기 다른 판매정보가 수신되는 경우, 도 4의 (a)와 같이 판매자 정보를 디스플레이할 수 있다. 이어서, 제2 단말(20)은 복수의 판매자 정보 중에서 "A 상점"에 대한 선택 정보가 입력되면, "A 상점"에서 판매되는 복수의 상품들을 디스플레이할 수 있다. 제2 사용자가 디스플레이된 상품들 중에서 어느 하나에 대한 구매를 입력하면, 도 4의 (c)에서 제2 단말(20)은 판매자를 향해서 가까이 다가가는 것을 요구하는 메시지를 디스플레이할 수 있다. 이어서, 제2 단말(20)은 제1 단말(10) 간의 거리가 임계거리 이내가 되면, 거래 데이터를 생성하기 위하여, 사용자의 인증정보를 요구하는 메시지를 디스플레이하고, 사용자로부터 인증 정보를 입력받을 수 있다. 인증 정보의 인증에 성공하면, 제2 단말(20)은 거래 데이터를 생성하여, 인증 서버(30)로 전송할 수 있다.Referring to FIG. 5 , when different sales information is received from a plurality of seller terminals, the second terminal 20 may display seller information as shown in (a) of FIG. 4 . Subsequently, when selection information about “Shop A” is input from among a plurality of seller information, the second terminal 20 may display a plurality of products sold in “Shop A”. When the second user inputs a purchase for any one of the displayed products, the second terminal 20 may display a message requesting to approach the seller in (c) of FIG. 4 . Subsequently, when the distance between the first terminals 10 is within the threshold distance, the second terminal 20 displays a message requesting user authentication information in order to generate transaction data, and receives authentication information from the user. can If authentication of the authentication information is successful, the second terminal 20 may generate transaction data and transmit it to the authentication server 30 .

이하, 도 6 및 7을 참조하면, 거래 데이터의 검증에 성공한 경우에, 진행되는 결제 루틴에 대해서 설명한다.Hereinafter, referring to FIGS. 6 and 7 , a payment routine performed when transaction data is successfully verified will be described.

먼저, 도 6을 참조하여, 신용카드 서버, PG(60) 및 VAN 서버(50)가 연동하여 상품 구매에 대해서 결제 처리하는 방법을 설명한다. 도 6에 따른 결제 처리 방법은 온라인 마켓을 이용하는 경우에 처리되는 루틴일 수 있다.First, with reference to FIG. 6 , a method of processing payment for product purchase by interlocking the credit card server, the PG 60 and the VAN server 50 will be described. The payment processing method according to FIG. 6 may be a routine processed when using an online market.

거래 데이터의 검증에 성공하는 것에 응답으로, 단계(S401)에서 진행되어 인증 서버(30)는 제2 사용자(즉, 구매자)의 검증 요청을 신용카드 서버(40)로 전송할 수 있다. 일 실시예에서, 인증 서버(30)는 제2 사용자에 대한 정보, 예컨대, 생년월일, 성명, 이동통신 전화번호 등을 신용카드 서버(40)로 전송하여, 제2 사용자의 검증을 요청할 수 있다. In response to the successful verification of the transaction data, in step S401, the authentication server 30 may transmit a verification request of the second user (ie, the purchaser) to the credit card server 40. In one embodiment, the authentication server 30 transmits information about the second user, eg, date of birth, name, mobile phone number, etc. to the credit card server 40 to request verification of the second user.

단계(S403)에서, 신용카드 서버(40)는 인증 서버(30)로부터 수신한 제2 사용자의 정보가 정확한지 여부를 판정함으로써, 제2 사용자를 검증할 수 있다. In step S403, the credit card server 40 may verify the second user by determining whether the second user information received from the authentication server 30 is correct.

제2 사용자에 대한 검증에 성공한 것에 대한 응답으로 단계(S405)가 진행되어, 신용카드 결제를 위한 제3 토큰을 생성할 수 있다.In response to successful verification of the second user, step S405 may be performed to generate a third token for credit card payment.

단계(S407)에서, 신용카드 서버(40)는 제3 토큰을 인증 서버(30)로 전송하고, 단계(S409)에서 인증 서버(30)는 수신된 제3 토큰을 제2 단말(20)로 전달할 수 있다.In step S407, the credit card server 40 transmits the third token to the authentication server 30, and in step S409, the authentication server 30 sends the received third token to the second terminal 20. can be conveyed

단계(S411)에서, 제2 단말(20)은 제3 토큰과 신용카드 정보를 포함하는 결제 요청을 PG(60)로 전송하고, 단계(S413)에서 PG(60)는 수신된 상기 결제 요청을 VAN 서버(50)로 전송할 수 있다. 상기 신용카드 정보는 상품을 결제하기 위한 결제 정보로서, 신용카드의 일련번호, 유효기한 등을 포함될 수 있다. In step S411, the second terminal 20 transmits a payment request including a third token and credit card information to PG 60, and in step S413, PG 60 transmits the received payment request It can be transmitted to the VAN server (50). The credit card information is payment information for paying for a product, and may include a serial number of a credit card, an expiration date, and the like.

단계(S415)에서 VAN 서버(50)는 상기 결제 요청을 신용카드 서버(40)로 전달할 수 있다. In step S415, the VAN server 50 may transmit the payment request to the credit card server 40.

신용카드 서버(40)는 수신한 결제 요청에 포함된 제3 토큰이 제2 사용자에게 발급한 토큰인지 여부를 1차 검증하고, 결제 요청에 포함된 결제 정보(즉, 신용카드 정보)가 정확한지 여부를 2차 검증할 수 있다. The credit card server 40 first verifies whether the third token included in the received payment request is a token issued to the second user, and whether the payment information (ie, credit card information) included in the payment request is correct. can be verified secondarily.

단계(S417)에서 신용카드 서버(40)는 1차 및 2차 검증에 모두 검증하면, 결제가 성공적으로 처리되었음을 나타내는 결제 완료 응답 메시지를 VAN 서버(50)로 전송할 수 있다.When the credit card server 40 verifies both the first and second verifications in step S417, it may transmit a payment completion response message indicating that the payment has been successfully processed to the VAN server 50.

결제 완료 응답 메시지가 수신되면, 단계(S419)에서 VAN 서버(50)는 상기 결제 완료 응답 메시지를 PG(60)로 전송할 수 있고, 단계(S421)에서 PG(60)는 결제가 정상적으로 완료되었음을 알리는 결제 완료 알림 메시지를 제2 단말(20)로 전송할 수 있다.When the payment completion response message is received, in step S419, the VAN server 50 may transmit the payment completion response message to the PG 60, and in step S421, the PG 60 notifies that the payment has been completed normally A payment completion notification message may be transmitted to the second terminal 20 .

단계(S423)에서 결제가 정상적으로 완료되었음에 따라 상품 구매가 완료되고, 제2 단말(20)은 제1 단말(10)과 형성된 제1 채널과 제2 채널 중 하나 이상을 해제할 수 있다.When the payment is normally completed in step S423, product purchase is completed, and the second terminal 20 may release at least one of the first channel and the second channel formed with the first terminal 10.

도 7을 참조하여, 신용카드 서버 및 VAN 서버(50)가 연동하여 상품 구매에 대해서 결제 처리하는 또 다른 실시예 따른 방법을 설명한다. 도 7에 따른 결제 처리 방법은, 오프라인 상점의 POS(Point Of Sale) 단말기 등과 연동하여 상품 결제가 처리되는 루틴에서 이용될 수 있다.Referring to FIG. 7 , a method according to another embodiment in which a credit card server and a VAN server 50 work together to process payment for product purchase will be described. The payment processing method according to FIG. 7 may be used in a routine in which product payment is processed in conjunction with a POS (Point Of Sale) terminal of an offline store.

도 7을 참조한 설명에 있어서, 도 6과 동일한 참조부호를 가지는 단계는 도 6을 참조한 설명과 동일하므로, 이하에서는 도 6과 상이한 참조부호를 가지는 단계에 대해서만 설명한다. In the description with reference to FIG. 7 , since steps having the same reference numerals as those in FIG. 6 are the same as the description with reference to FIG. 6 , only steps having reference numerals different from those in FIG. 6 will be described below.

단계(S511)에서, 제2 단말(20)은 상기 제3 토큰과 신용카드 정보를 암호화할 수 있다. 일 실시예에서, 제2 단말(20)은 구매 처리중인 상품의 거래 식별자를 암호키로서 이용하여, 상기 제3 토큰과 신용카드 정보를 암호화할 수 있다.In step S511, the second terminal 20 may encrypt the third token and credit card information. In one embodiment, the second terminal 20 may encrypt the third token and credit card information by using a transaction identifier of a product being purchased as an encryption key.

단계(S513)에서, 제2 단말(20)은 암호화된 제3 토큰과 신용카드 정보를 제1 단말(10)로 전송할 수 있다. 일 실시예에서, 제2 단말(20)은 암호화된 제3 토큰과 신용카드 정보를 제2 채널을 통해서 제1 단말(10)로 전송할 수 있다. In step S513, the second terminal 20 may transmit the encrypted third token and credit card information to the first terminal 10. In one embodiment, the second terminal 20 may transmit the encrypted third token and credit card information to the first terminal 10 through the second channel.

단계(S515)에서, 제1 단말(10)은 암호화된 제3 토큰과 신용카드 정보를 복호화할 수 있다. 일 실시예에서, 제1 단말(10)은 구매 처리중인 상품의 거래 식별자를 복호키로서 이용하여, 상기 제3 토큰과 신용카드 정보를 복호화할 수 있다.In step S515, the first terminal 10 may decrypt the encrypted third token and credit card information. In one embodiment, the first terminal 10 may decrypt the third token and credit card information by using a transaction identifier of a product being purchased as a decryption key.

단계(S517)에서, 제1 단말(10)은 복호화된 제3 토큰과 신용카드 정보를 포함하는 결제 요청을 VAN 서버(50)로 전송할 수 있다. 상기 신용카드 정보는 상품을 결제하기 위한 결제 정보로서, 신용카드의 일련번호, 유효기한 등을 포함될 수 있다. In step S517, the first terminal 10 may transmit a payment request including the decrypted third token and credit card information to the VAN server 50. The credit card information is payment information for paying for a product, and may include a serial number of a credit card, an expiration date, and the like.

단계(S519)에서, VAN 서버(50)는 상기 결제 요청을 신용카드 서버(40)로 전달할 수 있다. In step S519, the VAN server 50 may transmit the payment request to the credit card server 40.

신용카드 서버(40)는 수신한 결제 요청에 포함된 제3 토큰이 제2 사용자에게 발급한 토큰인지 여부를 1차 검증하고, 결제 요청에 포함된 신용카드 정보가 정확한지 여부를 2차 검증할 수 있다. The credit card server 40 may firstly verify whether the third token included in the received payment request is a token issued to the second user, and secondly verify whether the credit card information included in the payment request is correct. there is.

단계(S521)에서 신용카드 서버(40)는 1차 및 2차 검증에 모두 검증하면, 결제가 성공적으로 처리되었음을 나타내는 결제 완료 응답 메시지를 VAN 서버(50)로 전송할 수 있다.When the credit card server 40 verifies both the first and second verifications in step S521, it may transmit a payment completion response message indicating that the payment has been successfully processed to the VAN server 50.

결제 완료 응답 메시지가 수신되면, 단계(S523)에서 VAN 서버(50)는 결제가 정상적으로 완료되었음을 알리는 결제 완료 알림 메시지를 제1 단말(10)로 전송할 수 있다.When the payment completion response message is received, in step S523, the VAN server 50 may transmit a payment completion notification message notifying that the payment is normally completed to the first terminal 10.

단계(S525)에서 결제가 정상적으로 완료되었음에 따라 상품 판매 처리가 완료되고, 제1 단말(10)은 제2 단말(20)과 형성된 제1 채널과 제2 채널 중 하나 이상을 해제할 수 있다.When the payment is normally completed in step S525, product sales processing is completed, and the first terminal 10 may release at least one of the first channel and the second channel formed with the second terminal 20.

이하, 본 발명의 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 8을 참조하여 설명하기로 한다. 도 8을 참조하여 설명하는 컴퓨팅 장치는, 예를 들어 도 1 내지 7을 참조하여 설명한 인증 서버(30), 제1 단말(10), 제2 단말(20) 중 적어도 하나의 하드웨어 구성일 수 있다.A hardware configuration of an exemplary computing device according to some embodiments of the present invention will now be described with reference to FIG. 8 . The computing device described with reference to FIG. 8 may be, for example, a hardware configuration of at least one of the authentication server 30, the first terminal 10, and the second terminal 20 described with reference to FIGS. 1 to 7 . .

도 8은 본 발명의 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다.8 is an exemplary hardware configuration diagram in which a computing device may be implemented in various embodiments of the present invention. The computing device 1000 includes one or more processors 1100, a system bus 1600, a communication interface 1200, a memory 1400 for loading a computer program 1500 executed by the processor 1100, A storage 1300 for storing the computer program 1500 may be included.

프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.The processor 1100 controls the overall operation of each component of the computing device 1000 . The processor 1100 may include at least one of a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphic Processing Unit (GPU), or any type of processor well known in the art. can be configured to include Also, the processor 1100 may perform an operation for at least one application or program for executing a method/operation according to various embodiments of the present disclosure. Computing device 1000 may include two or more processors.

메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 컴퓨터 프로그램(1500)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. 시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다.Memory 1400 stores various data, commands and/or information. Memory 1400 may load one or more computer programs 1500 from storage 1300 to execute methods/actions according to various embodiments of the present invention. An example of the memory 1400 may be RAM, but is not limited thereto. The system bus 1600 provides a communication function between components of the computing device 1000 .

시스템 버스(1600)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 통신 인터페이스(1200)는 컴퓨팅 장치(1000)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(1200)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1200)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. The system bus 1600 may be implemented as various types of buses such as an address bus, a data bus, and a control bus. The communication interface 1200 supports wired and wireless Internet communication of the computing device 1000 . The communication interface 1200 may support various communication methods other than Internet communication. To this end, the communication interface 1200 may include a communication module well known in the art. Storage 1300 may non-temporarily store one or more computer programs 1500 . The storage 1300 may include a non-volatile memory such as a flash memory, a hard disk, a removable disk, or any type of computer-readable recording medium well known in the art.

컴퓨터 프로그램(1500)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.Computer program 1500 may include one or more instructions in which methods/operations according to various embodiments of the invention are implemented. When the computer program 1500 is loaded into the memory 1400, the processor 1100 may execute the one or more instructions to perform methods/operations according to various embodiments of the present invention.

일 실시예에서, 상기 컴퓨터 프로그램(1500)은, 상품을 판매중인 판매자의 정보를 제1 단말로부터 수신하는 동작과, 상기 판매자의 정보에 대한 검증을 서버로 요청하는 동작과, 상기 판매자의 정보에 대한 검증 성공에 대한 응답으로, 상기 상품에 대한 거래 식별자를 상기 서버로부터 획득하는 동작과, 상기 제1 단말과의 거리를 측정하는 동작과, 상기 측정된 거리와 상기 거래 식별자를 포함하는 거래 데이터를 생성하는 동작과, 상기 거래 데이터에 대한 검증을 상기 서버로 요청하는 동작과, 상기 거래 데이터에 대한 성공을 가리키는 메시지를 상기 서버로부터 수신하는 것에 응답하여, 상기 상품에 대한 결제 루틴을 수행하는 동작을 수행하기 위한 인스트럭션들을 포함할 수 있다. In one embodiment, the computer program 1500 includes an operation of receiving information of a seller selling a product from a first terminal, an operation of requesting verification of the information of the seller to a server, and information of the seller In response to the verification success, an operation of obtaining a transaction identifier for the product from the server, an operation of measuring a distance to the first terminal, and transaction data including the measured distance and the transaction identifier An operation of generating, an operation of requesting verification of the transaction data to the server, and an operation of performing a payment routine for the product in response to receiving a message indicating success of the transaction data from the server. It may contain instructions to perform.

지금까지 도 1 내지 도 8을 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present invention and effects according to the embodiments have been described with reference to FIGS. 1 to 8 . Effects according to the technical idea of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

지금까지 도 1 내지 도 11을 참조하여 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present invention described with reference to FIGS. 1 to 11 so far can be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention have been described as being combined or operated as one, the technical spirit of the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although actions are shown in a particular order in the drawings, it should not be understood that the actions must be performed in the specific order shown or in a sequential order, or that all shown actions must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be understood as requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art can implement the present invention in other specific forms without changing the technical spirit or essential features. can understand that there is Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the technical ideas defined by the present invention.

Claims (20)

제2 단말이, 상품을 판매중인 판매자의 정보를 제1 단말로부터 수신하는 단계;
상기 제2 단말이, 상기 판매자의 정보에 대한 검증을 서버로 요청하는 단계;
상기 제2 단말이, 상기 판매자의 정보에 대한 검증 성공에 대한 응답으로, 상기 상품에 대한 거래 식별자를 상기 서버로부터 획득하는 단계;
상기 제2 단말이, 상기 제1 단말과의 거리를 측정하는 단계;
상기 제2 단말이, 상기 측정된 거리와 상기 거래 식별자를 포함하는 거래 데이터를 생성하는 단계;
상기 제2 단말이, 상기 거래 데이터에 대한 검증을 상기 서버로 요청하는 단계; 및
상기 제2 단말이, 상기 거래 데이터에 대한 검증의 성공을 가리키는 메시지를 상기 서버로부터 수신하는 것에 응답하여, 상기 상품에 대한 결제 루틴을 수행하는 단계를 포함하는,
상품 거래 지원 방법.
Receiving, by a second terminal, information on a seller selling a product from the first terminal;
requesting, by the second terminal, verification of the seller's information to a server;
obtaining, by the second terminal, a transaction identifier for the product from the server in response to successful verification of the seller's information;
measuring, by the second terminal, a distance to the first terminal;
generating, by the second terminal, transaction data including the measured distance and the transaction identifier;
requesting, by the second terminal, verification of the transaction data to the server; and
In response to receiving, by the second terminal, a message indicating success of verification of the transaction data from the server, performing a payment routine for the product,
How to support commodity trading.
제1항에 있어서,
상기 거래 데이터를 생성하는 단계는,
상기 제2 단말이, 상기 측정된 거리가 임계거리 이내인 것에 응답하여, 사용자 인증을 수행하는 단계; 및
상기 제2 단말이, 상기 사용자 인증에 성공하는 것에 응답하여, 상기 거래 데이터를 생성하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 1,
Generating the transaction data,
performing, by the second terminal, user authentication in response to the fact that the measured distance is within a threshold distance; and
In response to the second terminal succeeding in the user authentication, generating the transaction data,
How to support commodity trading.
제1항에 있어서,
상기 상품에 대한 결제 루틴을 수행하는 단계는,
상기 거래 데이터에 포함된 거리가 임계거리 이내이고 상기 거래 데이터에 포함된 거래 식별자가 기 저장된 거래 식별자와 일치하는 것에 응답하여, 상기 거래 데이터에 대한 성공을 가리키는 메시지를 상기 서버로부터 수신하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 1,
The step of performing the payment routine for the product,
In response to the fact that the distance included in the transaction data is within a threshold distance and the transaction identifier included in the transaction data matches a pre-stored transaction identifier, receiving a message indicating success for the transaction data from the server. doing,
How to support commodity trading.
제1항에 있어서,
상기 판매자에 대한 정보를 제1 단말로부터 수신하는 단계는,
상기 제2 단말이, 상기 제1 단말과 제1 무선 통신 채널을 형성하는 단계; 및
상기 제2 단말이, 상기 제1 무선 통신 채널을 통해서 상기 판매자에 대한 정보를 수신하는 단계를 포함하고,
상기 제1 단말과의 거리를 측정하는 단계는,
상기 제2 단말이, 상기 제1 단말과 제2 무선 통신 채널을 형성하는 단계; 및
상기 제2 단말이, 상기 제2 무선 통신 채널을 통해서 발생되는 무선 신호를 기초로, 상기 제1 단말과의 거리를 측정하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 1,
Receiving the information about the seller from the first terminal,
forming, by the second terminal, a first wireless communication channel with the first terminal; and
Receiving, by the second terminal, information about the seller through the first wireless communication channel;
The step of measuring the distance to the first terminal,
forming, by the second terminal, a second wireless communication channel with the first terminal; and
Measuring, by the second terminal, a distance to the first terminal based on a radio signal generated through the second wireless communication channel,
How to support commodity trading.
제4항에 있어서,
상기 제1 무선 통신 채널과 상기 제2 무선 통신 채널은, 서로 상이한 무선 프로토콜을 이용하는 것인,
상품 거래 지원 방법.
According to claim 4,
The first wireless communication channel and the second wireless communication channel use different wireless protocols,
How to support commodity trading.
제4항에 있어서,
상기 제2 무선 통신 채널을 형성하는 단계는,
상기 거래 식별자를 기초로 암호화된 데이터가 송신 또는 수신되는데 이용되는 상기 제2 무선 통신 채널을 형성하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 4,
Forming the second wireless communication channel,
Forming the second wireless communication channel through which encrypted data is transmitted or received based on the transaction identifier.
How to support commodity trading.
제4항에 있어서,
상기 제1 단말과 제1 무선 통신 채널을 형성하는 단계는,
상기 제2 단말이, 상기 상품 또는 상기 판매자가 선택되는 것에 응답하여 상기 제1 단말과 상기 제1 무선 통신 채널을 형성하는 단계를 포함하고,
상기 제1 단말과 제2 무선 통신 채널을 형성하는 단계는,
상기 제2 단말이, 상기 거래 식별자를 상기 서버로부터 획득하는 것에 응답하여, 상기 제1 단말과 상기 제2 무선 통신 채널을 형성하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 4,
Forming a first wireless communication channel with the first terminal,
Forming, by the second terminal, the first wireless communication channel with the first terminal in response to selection of the product or the seller;
Forming a second wireless communication channel with the first terminal,
In response to the second terminal obtaining the transaction identifier from the server, forming the second wireless communication channel with the first terminal.
How to support commodity trading.
제1항에 있어서,
상기 판매자에 대한 정보는, 상기 제1 단말이 할당받은 제1 토큰과 제1 단말의 개인키를 기초로 생성된 전자 서명을 포함하고,
상기 판매자의 정보에 대한 검증을 서버로 요청하는 단계는,
상기 전자 서명에 대한 검증을 상기 서버로 요청하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 1,
The information on the seller includes an electronic signature generated based on a first token assigned to the first terminal and a private key of the first terminal,
The step of requesting verification of the seller's information to the server,
Including the step of requesting verification of the electronic signature to the server,
How to support commodity trading.
제1항에 있어서,
상기 거래 데이터를 생성하는 단계 이전에,
상기 제2 단말이, 상기 제2 단말에 할당된 제2 토큰을 획득하는 단계를 더 포함하고,
상기 거래 데이터를 생성하는 단계는,
상기 제2 단말이, 상기 제2 토큰을 더 포함하는 상기 거래 데이터를 생성하는 단계; 및
상기 생성된 거래 데이터를 제2 단말의 개인키로 암호화하는 단계를 포함하고,
상기 거래 데이터에 대한 검증을 서버로 요청하는 단계는,
상기 암호화된 거래 데이터에 대한 검증을 상기 서버로 요청하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 1,
Prior to generating the transaction data,
Acquiring, by the second terminal, a second token allocated to the second terminal,
Generating the transaction data,
generating, by the second terminal, the transaction data further including the second token; and
Encrypting the generated transaction data with a private key of a second terminal,
The step of requesting verification of the transaction data to the server,
Including the step of requesting verification of the encrypted transaction data to the server,
How to support commodity trading.
제9항에 있어서,
상기 상품에 대한 거래 식별자를 서버로부터 획득하는 단계 이전에,
상기 제2 단말이, 상기 서버로 사용자 등록 요청을 전송하는 단계; 및
상기 제2 단말이, 상기 사용자 등록에 성공한 것에 대한 응답으로 상기 제2 토큰을 할당받는 단계를 더 포함하는,
상품 거래 지원 방법.
According to claim 9,
Prior to the step of obtaining the transaction identifier for the product from the server,
Transmitting, by the second terminal, a user registration request to the server; and
Further comprising, by the second terminal, being allocated the second token in response to successful user registration.
How to support commodity trading.
제9항에 있어서,
상기 거래 식별자를 서버로부터 획득하는 단계는,
상기 제2 단말이, 상기 판매자의 정보에 대한 검증 성공에 대한 응답으로, 상기 서버로부터 상기 제2 토큰을 수신하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 9,
Obtaining the transaction identifier from the server,
Receiving, by the second terminal, the second token from the server in response to successful verification of the seller's information,
How to support commodity trading.
제1항에 있어서,
상기 상품에 대한 결제 루틴을 수행하는 단계는,
상기 제2 단말이, 상기 서버로부터 신용카드 서버에서 발급된 제3 토큰을 수신하는 단계; 및
상기 제2 단말이, 상기 제3 토큰과 결제 정보를 PG(Payment Gateway) 또는 VAN(Value Added Network) 서버로 전송하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 1,
The step of performing the payment routine for the product,
receiving, by the second terminal, a third token issued by a credit card server from the server; and
Transmitting, by the second terminal, the third token and payment information to a Payment Gateway (PG) or Value Added Network (VAN) server,
How to support commodity trading.
제1 단말이, 판매중인 상품에 대한 정보를 제2 단말로 전송하는 단계;
상기 제1 단말이, 상기 제2 단말로부터 상기 상품에 대한 구매 요청을 수신하는 단계;
상기 제1 단말이, 거리 측정을 위한 무선 채널을 상기 제2 단말과 형성하는 단계;
상기 제1 단말이, 상기 제2 단말로 할당된 제2 토큰을 상기 제2 단말로부터 수신하는 단계;
상기 제1 단말이, 상기 무선 채널의 신호를 통해서 측정된 상기 제1 단말과 상기 제2 단말 간의 거리 및 상기 제2 토큰을 포함하는 거래 데이터를 생성하는 단계; 및
상기 제1 단말이, 상기 거래 데이터에 대한 검증을 서버로 요청하는 단계를 포함하고,
상기 거래 데이터의 검증에 성공됨에 따라, 상기 상품에 대한 결제 루틴이 진행되는 것인,
상품 거래 지원 방법.
Transmitting, by a first terminal, information about a product on sale to a second terminal;
receiving, by the first terminal, a purchase request for the product from the second terminal;
forming, by the first terminal, a radio channel for distance measurement with the second terminal;
receiving, by the first terminal, a second token allocated to the second terminal from the second terminal;
generating, by the first terminal, transaction data including a distance between the first terminal and the second terminal measured through a signal of the radio channel and the second token; and
Requesting, by the first terminal, verification of the transaction data to a server;
According to the successful verification of the transaction data, the payment routine for the product proceeds,
How to support commodity trading.
제13항에 있어서,
상기 거래 데이터에 포함된 거리가 임계거리 이내이고 상기 제2 토큰이 상기 제2 단말로 할당된 토큰과 일치하는 것에 응답으로, 상기 상품에 대한 결제 루틴이 진행되는 것인,
상품 거래 지원 방법.
According to claim 13,
In response to the fact that the distance included in the transaction data is within a threshold distance and the second token matches the token allocated to the second terminal, a payment routine for the product proceeds.
How to support commodity trading.
제13항에 있어서,
상기 거래 데이터를 생성하는 단계 이전에,
상기 제1 단말이, 상기 상품에 대한 거래 식별자를 획득하는 단계를 더 포함하고,
상기 거래 데이터를 생성하는 단계는,
상기 제1 단말이, 상기 거래 식별자를 더 포함하는 상기 거래 데이터를 생성하는 단계; 및
상기 생성된 거래 데이터를 제1 단말의 개인키로 암호화하는 단계를 포함하고,
상기 거래 데이터에 대한 검증을 서버로 요청하는 단계는,
상기 암호화된 거래 데이터에 대한 검증을 상기 서버로 요청하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 13,
Prior to generating the transaction data,
Further comprising, by the first terminal, acquiring a transaction identifier for the product;
Generating the transaction data,
generating, by the first terminal, the transaction data further including the transaction identifier; and
Encrypting the generated transaction data with a private key of a first terminal;
The step of requesting verification of the transaction data to the server,
Including the step of requesting verification of the encrypted transaction data to the server,
How to support commodity trading.
제15항에 있어서,
상기 제2 토큰을 상기 제2 단말로부터 수신하는 단계는,
상기 제1 단말이, 암호화된 상기 제2 토큰과 상기 거리를 상기 무선 채널을 통해서 상기 제2 단말로부터 수신하는 단계 - 상기 거리는 상기 무선 채널의 신호를 기초로 상기 제2 단말에 의해서 측정된 것임 -; 및
상기 제1 단말이, 상기 거래 식별자를 복호키로서 이용하여 상기 암호화된 제2 토큰과 상기 거리를 복호화하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 15,
Receiving the second token from the second terminal,
Receiving, by the first terminal, the encrypted second token and the distance from the second terminal through the wireless channel, wherein the distance is measured by the second terminal based on a signal of the wireless channel; ; and
Decrypting, by the first terminal, the encrypted second token and the distance using the transaction identifier as a decryption key,
How to support commodity trading.
제13항에 있어서,
상기 상품에 대한 정보를 제2 단말로 전송하는 단계는,
상기 제1 단말이, 제1 단말로 할당된 제1 토큰과 상기 제1 단말의 개인키를 기초로 판매자 정보를 생성하는 단계; 및
상기 제1 단말이, 상기 판매자 정보를 상기 제2 단말로 전송하는 단계를 포함하고,
상기 무선 채널을 상기 제2 단말과 형성하는 단계는,
상기 판매자 정보의 검증에 성공하는 것에 응답하여, 상기 제1 단말이 상기 제2 단말과 거리 측정을 위한 상기 무선 채널을 생성하는 단계를 더 포함하는,
상품 거래 지원 방법.
According to claim 13,
Transmitting the information about the product to the second terminal,
generating, by the first terminal, seller information based on a first token allocated to the first terminal and a private key of the first terminal; and
Transmitting, by the first terminal, the seller information to the second terminal;
Forming the radio channel with the second terminal,
In response to successful verification of the seller information, the first terminal further comprising generating the radio channel for distance measurement with the second terminal,
How to support commodity trading.
제13항에 있어서,
상기 서버에서 상기 거래 데이터에 대한 검증을 성공한 이후에,
상기 제1 단말이, 신용카드 서버에 의해 발급된 제3 토큰을 상기 제2 단말로부터 수신하는 단계; 및
상기 제1 단말이, 상기 제3 토큰과 결제 정보를 PG(Payment Gateway) 또는 VAN(Value Added Network) 서버로 전송하는 단계를 포함하는,
상품 거래 지원 방법.
According to claim 13,
After the server succeeds in verifying the transaction data,
receiving, by the first terminal, a third token issued by a credit card server from the second terminal; and
Transmitting, by the first terminal, the third token and payment information to a Payment Gateway (PG) or Value Added Network (VAN) server,
How to support commodity trading.
하나 이상의 프로세서;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
상품을 판매중인 판매자의 정보를 제1 단말로부터 수신하는 동작;
상기 판매자의 정보에 대한 검증을 서버로 요청하는 동작;
상기 판매자의 정보에 대한 검증 성공에 대한 응답으로, 상기 상품에 대한 거래 식별자를 상기 서버로부터 획득하는 동작;
상기 제1 단말과의 거리를 측정하는 동작;
상기 측정된 거리와 상기 거래 식별자를 포함하는 거래 데이터를 생성하는 동작;
상기 거래 데이터에 대한 검증을 상기 서버로 요청하는 동작; 및
상기 거래 데이터에 대한 검증의 성공을 가리키는 메시지를 상기 서버로부터 수신하는 것에 응답하여, 상기 상품에 대한 결제 루틴을 수행하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하는,
컴퓨팅 장치.
one or more processors;
a memory for loading a computer program executed by the processor; and
Including a storage for storing the computer program,
The computer program,
receiving information on a seller selling a product from the first terminal;
requesting verification of the seller's information to a server;
obtaining a transaction identifier for the product from the server in response to successful verification of the seller's information;
measuring a distance to the first terminal;
generating transaction data including the measured distance and the transaction identifier;
requesting verification of the transaction data to the server; and
In response to receiving a message from the server indicating success of verification of the transaction data, instructions for performing an operation of performing a payment routine for the product,
computing device.
명령어를 포함하는 컴퓨터 판독 가능한 비일시적 기록 매체로서,
상기 명령어는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
판매중인 상품에 대한 정보를 제2 단말로 전송하는 단계;
상기 제2 단말로부터 상기 상품에 대한 구매 요청을 수신하는 단계;
거리 측정을 위한 무선 채널을 상기 제2 단말과 형성하는 단계;
상기 제2 단말로 할당된 제2 토큰을 상기 제2 단말로부터 수신하는 단계;
상기 무선 채널의 신호를 통해서 측정된 상기 제2 단말 간의 거리 및 상기 제2 토큰을 포함하는 거래 데이터를 생성하는 단계; 및
상기 거래 데이터에 대한 검증을 서버로 요청하는 단계를 포함하고,
상기 거래 데이터의 검증에 성공됨에 따라, 상기 상품에 대한 결제 루틴이 진행되는 것인,
컴퓨터로 판독 가능한 비일시적 기록 매체.
A computer-readable non-transitory recording medium containing instructions,
When executed by a processor, the instructions cause the processor to:
Transmitting information about products on sale to a second terminal;
receiving a purchase request for the product from the second terminal;
forming a radio channel for distance measurement with the second terminal;
receiving a second token allocated to the second terminal from the second terminal;
generating transaction data including the distance between the second terminals and the second token measured through the signal of the radio channel; and
Including the step of requesting verification of the transaction data to the server,
According to the successful verification of the transaction data, the payment routine for the product proceeds,
Computer-readable non-transitory recording medium.
KR1020210147191A 2021-08-05 2021-10-29 Method and appartus for supproting transactions of commodites KR20230021549A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/869,861 US20230042284A1 (en) 2021-08-05 2022-07-21 Method and apparatus for supporting transactions of products
EP22188570.0A EP4131110A1 (en) 2021-08-05 2022-08-03 Method and apparatus for supporting transactions of products

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210102909 2021-08-05
KR1020210102909 2021-08-05
KR1020210113925 2021-08-27
KR20210113925 2021-08-27

Publications (1)

Publication Number Publication Date
KR20230021549A true KR20230021549A (en) 2023-02-14

Family

ID=85220615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210147191A KR20230021549A (en) 2021-08-05 2021-10-29 Method and appartus for supproting transactions of commodites

Country Status (1)

Country Link
KR (1) KR20230021549A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996798B1 (en) 2018-11-16 2019-07-05 주식회사 이롬넷 Method for providing qr code based payments service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996798B1 (en) 2018-11-16 2019-07-05 주식회사 이롬넷 Method for providing qr code based payments service

Similar Documents

Publication Publication Date Title
JP7407254B2 (en) Authentication system and method using location matching
US11715086B2 (en) Data interaction method, verification terminal, server, and system
RU2713703C2 (en) Advance authorization of digital requests
US20150066778A1 (en) Digital card-based payment system and method
JP5940176B2 (en) Hub and spoke PIN confirmation
KR101460182B1 (en) Method and system for secure mobile wallet transaction
KR101797887B1 (en) Method, user terminal, and service terminal for processing service data
KR20230129566A (en) Transaction authorisation
KR101562363B1 (en) Relieved Card Operating System and Method
KR101842476B1 (en) Electronic commerce method using electronic money
KR20170056332A (en) System for paying offline using bitcoin and method thereof
CN104603810A (en) Method to send payment data through various air interfaces without compromising user data
JP7345509B2 (en) System and method for secure read-only authentication
KR20120075590A (en) System for paying credit card using mobile otp security of mobile phone and method therefor
US10325260B2 (en) System, method and computer program product for secure peer-to-peer transactions
WO2019019826A1 (en) Payment method and device
KR20160146734A (en) Remote transaction system, method and point of sale terminal
KR20160048600A (en) Mobile cross-authentication system and method
KR20200021107A (en) Method and apparatus for service authentication
KR20230021549A (en) Method and appartus for supproting transactions of commodites
EP4131110A1 (en) Method and apparatus for supporting transactions of products
KR101280528B1 (en) System for paying security using mobile phone
KR20150064592A (en) Assured card payment method
EP3059703A1 (en) Method for retrieving by a payment server a funding permanent account number from a token payment account number
KR20160004776A (en) Method for payment using mobile card and method for issuing mobile card