KR102574296B1 - Electronic contract processing server that processes electronic contracts between parties by utilizing the two-dimensional code and operating method thereof - Google Patents
Electronic contract processing server that processes electronic contracts between parties by utilizing the two-dimensional code and operating method thereof Download PDFInfo
- Publication number
- KR102574296B1 KR102574296B1 KR1020210099828A KR20210099828A KR102574296B1 KR 102574296 B1 KR102574296 B1 KR 102574296B1 KR 1020210099828 A KR1020210099828 A KR 1020210099828A KR 20210099828 A KR20210099828 A KR 20210099828A KR 102574296 B1 KR102574296 B1 KR 102574296B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic
- contract
- identification number
- electronic terminal
- terminal
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000011017 operating method Methods 0.000 title description 9
- 238000012795 verification Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000012790 confirmation Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001902 propagating effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Bioethics (AREA)
- Technology Law (AREA)
- Artificial Intelligence (AREA)
- Toxicology (AREA)
- Electromagnetism (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 신뢰할 수 있는 프로토콜을 통해서 당사자 간의 전자 계약이 가능하도록 지원함과 동시에, 진본성 검증을 위한 소정의 정보가 삽입된 2차원 코드를 기반으로 계약서에 대한 진본성 검증이 가능하도록 지원할 수 있는 전자 계약 처리 서버 및 그 동작 방법에 대한 것이다.The present invention supports electronic contracts between parties through a reliable protocol and at the same time supports verification of the authenticity of contracts based on a two-dimensional code in which predetermined information for authenticity verification is inserted. It is about a contract processing server and its operation method.
Description
본 발명은 2차원 코드를 활용하여 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버 및 그 동작 방법에 대한 것이다.The present invention relates to an electronic contract processing server and its operating method for processing an electronic contract between parties by utilizing a two-dimensional code.
기존에는 당사자 간에 계약을 체결할 때, 계약 정보가 담긴 소정의 계약서를 작성한 후 계약서에 당사자의 도장을 날인하거나 서명을 하는 방식으로 진행되었다. 이때, 계약서의 내용을 보증하기 위해서 공증인과 같은 제3자가 개입하여 제3자가 보는 앞에서 당사자 간에 계약서를 작성하고, 계약서 상에 계약 당사자와 제3자의 도장을 함께 날인하는 형태로 계약이 진행되곤 했었다.Conventionally, when a contract is concluded between the parties, a predetermined contract containing contract information is prepared, and then the seal of the party concerned is stamped or signed. At this time, in order to guarantee the contents of the contract, a third party such as a notary intervened, and the contract was drawn up between the parties in front of the third party, and the contract was carried out in the form of signing the seal of the contracting party and the third party together on the contract. .
최근에는 온라인을 통해서 당사자 간의 계약을 체결해야 하는 전자 계약의 필요성이 증대됨에 따라 당사자가 전자 계약을 보다 쉽게 진행할 수 있도록 지원하고, 이러한 전자 계약을 보증해줄 수 있는 계약 처리 서비스에 대한 요구가 증대되고 있다.Recently, as the need for electronic contracts to conclude contracts between parties through online has increased, the demand for contract processing services that can support parties to conduct electronic contracts more easily and guarantee these electronic contracts is increasing. there is.
이러한 계약 처리 서비스에서는 계약 당사자가 계약을 체결하려는 진정한 당사자가 맞는지 여부를 확인하는 과정이 필수로 포함되어야 한다는 점에서, 소정의 전자 서명 기술을 활용하여 계약 당사자가 진정한 당사자가 맞는지 여부를 확인하고, 이를 기초로 계약 당사자 간의 전자 계약이 가능하도록 지원하는 계약 처리 서비스의 도입을 고려할 수 있다.In this contract processing service, in that the process of verifying whether the contracting party is the true party intending to conclude a contract is necessarily included, it is confirmed whether the contracting party is the true party by using a predetermined electronic signature technology, Based on this, it is possible to consider introducing a contract processing service that supports electronic contracts between contracting parties.
또한, 이렇게 계약 당사자 간의 전자 계약이 체결된 이후, 계약 당사자 간에 작성된 계약서가 진본이 맞는지 검증할 수 있도록 지원하는 새로운 시스템이 갖추어질 필요도 있다. In addition, after the electronic contract between the contracting parties is concluded, a new system that supports verifying whether the contract written between the contracting parties is genuine is needed.
이와 관련해서, 계약서의 진본성 검증을 위한 소정의 정보가 삽입된 2차원 코드를 생성한 후, 2차원 코드를 계약서에 삽입해 둠으로써, 전자 계약을 체결한 사용자가 계약서에 삽입된 2차원 코드를 자신의 전자 단말로 스캔하게 되면, 이 2차원 코드를 기반으로, 계약서가 진본이 맞는지 여부를 판별해 주는 시스템의 도입을 고려할 수 있다.In this regard, after generating a two-dimensional code in which predetermined information for verifying the authenticity of the contract is inserted, the two-dimensional code is inserted into the contract, so that the user who has signed the electronic contract can obtain the two-dimensional code inserted into the contract. When scanning with one's own electronic terminal, based on this two-dimensional code, it is possible to consider introducing a system that determines whether the contract is genuine or not.
따라서, 신뢰할 수 있는 프로토콜을 통해서 당사자 간의 전자 계약이 가능하도록 지원함과 동시에, 진본성 검증을 위한 소정의 정보가 삽입된 2차원 코드를 기반으로 계약서에 대한 진본성 검증이 가능하도록 지원하는 시스템 기술에 대한 연구가 필요하다.Therefore, it is a system technology that supports electronic contracts between parties through reliable protocols and at the same time supports verifying the authenticity of contracts based on a two-dimensional code in which predetermined information for authenticity verification is inserted. research is needed
본 발명은 신뢰할 수 있는 프로토콜을 통해서 당사자 간의 전자 계약이 가능하도록 지원함과 동시에, 진본성 검증을 위한 소정의 정보가 삽입된 2차원 코드를 기반으로 계약서에 대한 진본성 검증이 가능하도록 지원하고자 한다.The present invention supports electronic contracts between parties through a reliable protocol and at the same time supports verification of the authenticity of contracts based on a two-dimensional code in which predetermined information for authenticity verification is inserted.
본 발명의 일실시예에 따른, 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버는 제1 사용자가 보유하고 있는 제1 전자 단말에 사전 저장되어 있는 제1 개인키에 대응되는 제1 공개키와, 제2 사용자가 보유하고 있는 제2 전자 단말에 사전 저장되어 있는 제2 개인키에 대응되는 제2 공개키가 저장되어 있는 공개키 저장부, 상기 제1 전자 단말로부터 상기 제1 전자 단말에서 생성된 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 상기 제2 전자 단말로, 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송하는 확인 요청부, 상기 제2 전자 단말로부터 상기 제2 사용자에 의해 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 상기 제1 전자 단말로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청하는 제1 서명 요청부, 상기 전자 계약서에 대한 데이터가 상기 제1 전자 단말에 저장되어 있는 상기 제1 개인키로 암호화되어 제1 전자 서명 값이 생성됨에 따라, 상기 제1 전자 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제1 공개키를 추출한 후 상기 제1 공개키로 상기 제1 전자 서명 값을 복호화하여 제1 복호화 값을 생성하는 제1 복호화부, 상기 제1 복호화 값이 생성되면, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료하고, 상기 제2 전자 단말로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청하는 제2 서명 요청부, 상기 전자 계약서에 대한 데이터가 상기 제2 전자 단말에 저장되어 있는 상기 제2 개인키로 암호화되어 제2 전자 서명 값이 생성됨에 따라, 상기 제2 전자 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제2 공개키를 추출한 후 상기 제2 공개키로 상기 제2 전자 서명 값을 복호화하여 제2 복호화 값을 생성하는 제2 복호화부, 상기 제2 복호화 값이 생성되면, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제2 전자 서명 값에 대한 검증을 완료하고, 상기 제1 사용자와 상기 제2 사용자 간의 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성하는 메시지 생성부 및 상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지를 전송하는 메시지 전송부를 포함한다.According to an embodiment of the present invention, an electronic contract processing server for processing an electronic contract between parties includes a first public key corresponding to a first private key pre-stored in a first electronic terminal possessed by a first user; A public key storage unit in which a second public key corresponding to a second private key pre-stored in a second electronic terminal possessed by a second user is stored, and generated in the first electronic terminal from the first electronic terminal When the electronic contract is received and an electronic contract progress request requesting to proceed with the electronic contract with the second user is received, the second electronic terminal is instructed to confirm the contents of the electronic contract while transmitting the electronic contract. When a feedback message indicating that the content of the electronic contract has been confirmed by the second user is received from the second electronic terminal, the first electronic terminal transmits a confirmation request message to the electronic contract. A first signature requesting unit requesting an electronic signature based on data for the electronic contract, as the data for the electronic contract is encrypted with the first private key stored in the first electronic terminal to generate a first electronic signature value, When the first electronic signature value is received from the first electronic terminal, the first public key is extracted from the public key storage unit, and then the first electronic signature value is decrypted with the first public key to generate a first decryption value. A first decryption unit that, when the first decryption value is generated, checks whether the first decryption value matches the data for the electronic contract, and determines whether the first decryption value matches the data for the electronic contract. If confirmed, the second signature request unit for completing the verification of the first electronic signature value and requesting an electronic signature based on the data on the electronic contract to the second electronic terminal, As data is encrypted with the second private key stored in the second electronic terminal to generate a second electronic signature value, when the second electronic signature value is received from the second electronic terminal, the public key storage unit A second decryption unit that extracts the second public key and decrypts the second digital signature value with the second public key to generate a second decryption value; when the second decryption value is generated, the second decryption value It is checked whether the data for the electronic contract matches each other, and if it is confirmed that the second decryption value matches the data for the electronic contract, verification of the second electronic signature value is completed, and the first user and and a message generating unit generating a contract completion message indicating that the contract between the second users has been completed and a message transmission unit transmitting the contract completion message to the first electronic terminal and the second electronic terminal.
또한, 본 발명의 일실시예에 따른, 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 동작 방법은 제1 사용자가 보유하고 있는 제1 전자 단말에 사전 저장되어 있는 제1 개인키에 대응되는 제1 공개키와, 제2 사용자가 보유하고 있는 제2 전자 단말에 사전 저장되어 있는 제2 개인키에 대응되는 제2 공개키가 저장되어 있는 공개키 저장부를 유지하는 단계, 상기 제1 전자 단말로부터 상기 제1 전자 단말에서 생성된 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 상기 제2 전자 단말로, 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송하는 단계, 상기 제2 전자 단말로부터 상기 제2 사용자에 의해 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 상기 제1 전자 단말로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청하는 단계, 상기 전자 계약서에 대한 데이터가 상기 제1 전자 단말에 저장되어 있는 상기 제1 개인키로 암호화되어 제1 전자 서명 값이 생성됨에 따라, 상기 제1 전자 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제1 공개키를 추출한 후 상기 제1 공개키로 상기 제1 전자 서명 값을 복호화하여 제1 복호화 값을 생성하는 단계, 상기 제1 복호화 값이 생성되면, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료하고, 상기 제2 전자 단말로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청하는 단계, 상기 전자 계약서에 대한 데이터가 상기 제2 전자 단말에 저장되어 있는 상기 제2 개인키로 암호화되어 제2 전자 서명 값이 생성됨에 따라, 상기 제2 전자 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제2 공개키를 추출한 후 상기 제2 공개키로 상기 제2 전자 서명 값을 복호화하여 제2 복호화 값을 생성하는 단계, 상기 제2 복호화 값이 생성되면, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제2 전자 서명 값에 대한 검증을 완료하고, 상기 제1 사용자와 상기 제2 사용자 간의 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성하는 단계 및 상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지를 전송하는 단계를 포함한다.In addition, according to an embodiment of the present invention, a method of operating an electronic contract processing server for processing an electronic contract between parties is a first private key corresponding to a first private key pre-stored in a first electronic terminal possessed by a first user. maintaining a public key storage unit storing a first public key and a second public key corresponding to a second private key previously stored in a second electronic terminal possessed by a second user, from the first electronic terminal When the electronic contract created in the first electronic terminal is received and an electronic contract progress request requesting to proceed with the electronic contract with the second user is received, while transmitting the electronic contract to the second electronic terminal, Transmitting a confirmation request message instructing to confirm the content of the electronic contract, when a feedback message indicating that the content of the electronic contract has been confirmed by the second user is received from the second electronic terminal, the first electronic terminal Requesting an electronic signature based on the data of the electronic contract, wherein the data of the electronic contract is encrypted with the first private key stored in the first electronic terminal to generate a first electronic signature value Accordingly, when the first electronic signature value is received from the first electronic terminal, the first public key is extracted from the public key storage unit, and then the first electronic signature value is decrypted with the first public key to obtain a first decryption value. Generating, when the first decryption value is generated, checking whether the first decryption value matches the data for the electronic contract, and determining whether the first decryption value matches the data for the electronic contract. If confirmed, completing the verification of the first electronic signature value and requesting an electronic signature based on the electronic contract data to the second electronic terminal; As the second electronic signature value is generated by being encrypted with the second private key stored in the electronic terminal, when the second electronic signature value is received from the second electronic terminal, the second public key from the public key storage unit. After extracting, decrypting the second electronic signature value with the second public key to generate a second decryption value, when the second decryption value is generated, the second decryption value coincides with the data for the electronic contract. and if it is confirmed that the second decryption value matches the data for the electronic contract, verification of the second electronic signature value is completed, and the contract between the first user and the second user is completed. generating a contract completion message indicating that the contract has been completed, and transmitting the contract completion message to the first electronic terminal and the second electronic terminal.
본 발명은 신뢰할 수 있는 프로토콜을 통해서 당사자 간의 전자 계약이 가능하도록 지원함과 동시에, 진본성 검증을 위한 소정의 정보가 삽입된 2차원 코드를 기반으로 계약서에 대한 진본성 검증이 가능하도록 지원할 수 있다.The present invention supports electronic contracts between parties through a reliable protocol and at the same time supports verifying the authenticity of a contract based on a two-dimensional code in which predetermined information for authenticity verification is inserted.
도 1은 본 발명의 일실시예에 따른 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 동작 방법을 도시한 순서도이다.1 is a diagram showing the structure of an electronic contract processing server processing an electronic contract between parties according to an embodiment of the present invention.
2 is a diagram for explaining an electronic contract processing server for processing an electronic contract between parties according to an embodiment of the present invention.
3 is a flowchart illustrating an operating method of an electronic contract processing server processing an electronic contract between parties according to an embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are common knowledge in the art to which the present invention belongs. has the same meaning as commonly understood by the person who has it.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated. In addition, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, ASICs (Application Specific Integrated Circuits), and may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the accompanying block diagram or the steps of the flowchart are computer program instructions that perform designated functions by being loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special purpose computer, a portable notebook computer, and a network computer. can be interpreted as meaning Since these computer program instructions may be stored in a memory included in a computer device or in a computer readable memory, the functions described in blocks of a block diagram or steps of a flowchart are produced as a product containing instruction means for performing them. It could be. Further, each block or each step may represent a module, segment or portion of code that includes one or more executable instructions for executing specified logical function(s). Also, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed out of a predetermined order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.
도 1은 본 발명의 일실시예에 따른 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 구조를 도시한 도면이다.1 is a diagram showing the structure of an electronic contract processing server processing an electronic contract between parties according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 전자 계약 처리 서버(110)는 공개키 저장부(111), 확인 요청부(112), 제1 서명 요청부(113), 제1 복호화부(114), 제2 서명 요청부(115), 제2 복호화부(116), 메시지 생성부(117) 및 메시지 전송부(118)를 포함한다.Referring to FIG. 1, the electronic
우선, 제1 사용자가 보유하고 있는 제1 전자 단말(130)에는 전자 서명을 위한 제1 개인키가 사전 저장되어 있고, 제2 사용자가 보유하고 있는 제2 전자 단말(140)에는 전자 서명을 위한 제2 개인키가 사전 저장되어 있다.First, the first private key for electronic signature is pre-stored in the first
이때, 공개키 저장부(111)에는 제1 전자 단말(130)에 사전 저장되어 있는 상기 제1 개인키에 대응되는 제1 공개키와, 제2 전자 단말(140)에 사전 저장되어 있는 상기 제2 개인키에 대응되는 제2 공개키가 저장되어 있다.At this time, the public
이러한 상황에서, 상기 제1 사용자에 의해 제1 전자 단말(130)에서 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 대한 계약 정보가 포함된 소정의 전자 계약서가 생성됨에 따라, 제1 전자 단말(130)로부터 전자 계약 처리 서버(110)에 상기 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 확인 요청부(112)는 제2 전자 단말(140)로, 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송한다.In this situation, as a predetermined electronic contract including contract information for an electronic contract between the first user and the second user is generated in the first
여기서, 상기 전자 계약서란 상기 제1 사용자와 상기 제2 사용자 간에 체결하기로 한 계약 내용과 관련된 계약 정보를 포함하는 소정의 전자 문서를 의미한다.Here, the electronic contract refers to a predetermined electronic document including contract information related to contract details concluded between the first user and the second user.
이렇게, 전자 계약 처리 서버(110)에서 제2 전자 단말(140)로 상기 전자 계약서가 전송되면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지가 전송되면, 상기 제2 사용자는 제2 전자 단말(140)에 수신된 상기 전자 계약서의 내용에 이상이 없는지 여부를 확인한 후 이상이 없는 것으로 확인되면, 제2 전자 단말(140)을 이용하여 전자 계약 처리 서버(110)에 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지를 전송할 수 있다.In this way, when the electronic contract is transmitted from the electronic
이렇게, 제2 전자 단말(140)로부터 전자 계약 처리 서버(110)에 상기 제2 사용자에 의해 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 제1 서명 요청부(113)는 제1 전자 단말(130)로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청한다.In this way, when a feedback message indicating that the content of the electronic contract has been confirmed by the second user is received from the second
이때, 제1 전자 단말(130)은 전자 계약 처리 서버(110)로부터 상기 전자 계약서에 대한 전자 서명 요청이 수신되면, 상기 전자 계약서에 대한 데이터에 대해 제1 전자 단말(130)에 저장되어 있는 상기 제1 개인키로 암호화하여 제1 전자 서명 값을 생성할 수 있다. 그 이후, 제1 전자 단말(130)은 상기 제1 전자 서명 값을 전자 계약 처리 서버(110)로 전송할 수 있다.At this time, the first
이렇게, 제1 전자 단말(130)에서 상기 전자 계약서에 대한 데이터가 제1 전자 단말(130)에 저장되어 있는 상기 제1 개인키로 암호화되어 상기 제1 전자 서명 값이 생성됨에 따라, 제1 전자 단말(130)로부터 상기 제1 전자 서명 값이 전자 계약 처리 서버(110)에 수신되면, 제1 복호화부(114)는 공개키 저장부(111)로부터 상기 제1 공개키를 추출한 후 상기 제1 공개키로 상기 제1 전자 서명 값을 복호화하여 제1 복호화 값을 생성한다.In this way, as the first electronic signature value is generated by encrypting the electronic contract data in the first
그러고 나서, 제2 서명 요청부(115)는 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료할 수 있다.Then, the second
그 이후, 제2 서명 요청부(115)는 제2 전자 단말(140)로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청한다.After that, the second
이때, 제2 전자 단말(140)은 전자 계약 처리 서버(110)로부터 상기 전자 계약서에 대한 전자 서명 요청이 수신되면, 상기 전자 계약서에 대한 데이터에 대해 제2 전자 단말(140)에 저장되어 있는 상기 제2 개인키로 암호화하여 제2 전자 서명 값을 생성할 수 있다. 그러고 나서, 제2 전자 단말(140)은 상기 제2 전자 서명 값을 전자 계약 처리 서버(110)로 전송할 수 있다.At this time, the second
이렇게, 제2 전자 단말(140)에서 상기 전자 계약서에 대한 데이터가 제2 전자 단말(140)에 저장되어 있는 상기 제2 개인키로 암호화되어 상기 제2 전자 서명 값이 생성됨에 따라, 제2 전자 단말(140)로부터 상기 제2 전자 서명 값이 전자 계약 처리 서버(110)에 수신되면, 제2 복호화부(116)는 공개키 저장부(111)로부터 상기 제2 공개키를 추출한 후 상기 제2 공개키로 상기 제2 전자 서명 값을 복호화하여 제2 복호화 값을 생성한다.In this way, as the second electronic signature value is generated by encrypting the electronic contract data in the second
그 이후, 메시지 생성부(117)는 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제2 전자 서명 값에 대한 검증을 완료하고, 상기 제1 사용자와 상기 제2 사용자 간의 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성한다.After that, the
이렇게, 상기 계약 완료 메시지가 생성되면, 메시지 전송부(118)는 제1 전자 단말(130)과 제2 전자 단말(140)로, 상기 계약 완료 메시지를 전송한다.In this way, when the contract completion message is generated, the
즉, 본 발명에 따른 전자 계약 처리 서버(110)는 제1 전자 단말(130)로부터 제1 전자 단말(130)에서 생성된 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 제2 전자 단말(140)로 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송하고, 제2 전자 단말(140)로부터 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 제1 전자 단말(130)로 전자 서명을 요청하며, 제1 전자 단말(130)로부터 제1 전자 단말(130)에 저장되어 있는 개인키로 서명된 전자 서명 값이 수신되면, 해당 개인키에 대응되는 공개키로 상기 전자 서명 값을 검증한 후 제2 전자 단말(140)로 전자 서명을 요청하고, 제2 전자 단말(140)로부터 제2 전자 단말(140)에 저장되어 있는 개인키로 서명된 전자 서명 값이 수신되면, 해당 개인키에 대응되는 공개키로 상기 전자 서명 값을 검증함으로써, 상기 제1 사용자와 상기 제2 사용자 쌍방에 대한 서명 검증 작업을 완료하고, 이러한 서명 검증 작업이 완료되면, 전자 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성하여 제1 전자 단말(130)과 제2 전자 단말(140)로 전송함으로써, 상기 제1 사용자와 상기 제2 사용자가 강화된 보안 인증 환경하에서 보다 손쉽게 전자 계약을 진행할 수 있도록 지원할 수 있다.That is, the electronic
본 발명의 일실시예에 따르면, 전자 계약 처리 서버(110)는 식별번호 생성부(119), 토큰 산출부(120), 저장 처리부(121) 및 전송부(123)를 더 포함할 수 있다.According to one embodiment of the present invention, the electronic
식별번호 생성부(119)는 제1 전자 단말(130)과 제2 전자 단말(140)로, 상기 계약 완료 메시지가 전송되면, 상기 전자 계약서의 검증에 사용하기 위한 n(n은 2이상의 자연수)자리수의 주 식별번호 및 k(k는 2이상의 자연수)자리수의 보조 식별번호를 랜덤하게 생성한다.When the contract completion message is transmitted to the first
토큰 산출부(120)는 상기 n자리수의 주 식별번호로 제1 주 식별번호가 랜덤하게 생성되고, 상기 k자리수의 보조 식별번호로 제1 보조 식별번호가 랜덤하게 생성되면, 인증 토큰을 생성하기 위한 사전 설정된 토큰 생성 함수에 상기 제1 주 식별번호 및 상기 제1 보조 식별번호를 입력으로 인가하여 제1 인증 토큰을 산출한다.The
이때, 본 발명의 일실시예에 따르면, 상기 토큰 생성 함수는 상기 제1 주 식별번호 및 상기 제1 보조 식별번호가 입력으로 인가되면, 상기 제1 주 식별번호를 구성하는 n개의 숫자들을 성분으로 갖는 열벡터와 상기 제1 보조 식별번호를 구성하는 k개의 숫자들을 성분으로 갖는 행벡터 간의 크로네커 곱(Kronecker Product)을 연산하여 n x k의 크기를 갖는 연산 행렬을 생성한 후, 상기 연산 행렬의 유클리드 노름(Euclidean Norm)을 상기 제1 인증 토큰으로 산출하는 함수일 수 있다.At this time, according to one embodiment of the present invention, when the first main identification number and the first auxiliary identification number are applied as inputs, the token generation function uses n numbers constituting the first main identification number as components. After generating an operation matrix having a size of n x k by calculating the Kronecker Product between a column vector having a column vector having k numbers constituting the first auxiliary identification number and a row vector having k numbers constituting the first auxiliary identification number as components, the Euclidean norm of the operation matrix (Euclidean Norm) as the first authentication token.
여기서, 상기 유클리드 노름이란 벡터나 행렬의 크기를 나타내기 위한 L2 노름으로, 하기의 수학식 1에 따라 연산될 수 있다.Here, the Euclidean norm is an L2 norm for representing the size of a vector or matrix, and can be calculated according to Equation 1 below.
상기 수학식 1에서 는 유클리드 노름을 의미하고, xi는 벡터나 행렬에 포함되어 있는 i번째 성분을 의미한다.In Equation 1 above denotes the Euclidean norm, and x i denotes the i-th element included in a vector or matrix.
그리고, 크로네커 곱이란 두 행렬의 텐서곱을 구체적으로 표현한 행렬을 의미하는 것으로, 하기의 수학식 2와 같은 m x n의 행렬 M과 하기의 수학식 3과 같은 p x q의 행렬 N이 주어졌다고 하였을 때, 행렬 M과 행렬 N간의 크로네커 곱은 하기의 수학식 4와 같이 나타낼 수 있다.In addition, the Kronecker product means a matrix that specifically expresses the tensor product of two matrices. Given a matrix M of m x n as in Equation 2 below and a matrix N of p x q as in Equation 3 below, matrix The Kronecker product between M and matrix N can be expressed as in Equation 4 below.
저장 처리부(121)는 상기 제1 인증 토큰이 산출되면, 계약 이력 데이터베이스(122)에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 서로 대응시켜 저장한다.When the first authentication token is calculated, the
전송부(123)는 계약 이력 데이터베이스(122)에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰이 함께 대응되어 저장되면, 상기 제1 주 식별번호 및 상기 제1 인증 토큰에 대한 데이터를 포함하는 2차원 코드를 생성하고, 상기 전자 계약서에 상기 2차원 코드를 이미지로 삽입한 후, 상기 2차원 코드가 삽입된 상기 전자 계약서를 제1 전자 단말(130)과 제2 전자 단말(140)로 전송한다.The
여기서, 상기 2차원 코드는 2차원 이미지 패턴 상에 다양한 문자 등의 정보를 삽입할 수 있는 코드를 의미하는 것으로, QR 코드(Quick Response Code), veri code, 닷 코드 등이 사용되거나 한국등록특허 제10-1897960호에 개시된 다수의 점으로 구성된 픽셀 공간을 통해 2차원 이미지 상에 소정의 데이터를 표현할 수 있는 디지털 코드 등이 사용될 수 있다. 이와 관련해서, 도 2의 도시된 그림은 전자 계약서(210)의 표면에 다수의 노란색 점으로 구성된 픽셀 공간을 통해 2차원 이미지 상에 소정의 데이터를 표현할 수 있는 디지털 코드(211)가 상기 2차원 코드로 삽입되어 있는 예를 나타낸 것이다. 이러한 디지털 코드는 도면부호 211에 도시된 바와 같이, 노란색의 점으로 구성되어 있어서, 흰색 바탕의 배경과 대비하였을 때, 색상의 대비가 명확하지 않아서, 육안으로는 명확하게 관찰되기가 어렵지만, 전자 단말의 카메라는 사람의 시각과 다르게 노란색의 점에 대한 식별을 수행할 수 있다는 점에서, 전자 단말을 통해서는 노란색 점의 패턴이 명확하게 식별될 수 있는 특징을 갖는다.Here, the two-dimensional code refers to a code capable of inserting information such as various characters on a two-dimensional image pattern, and QR codes (Quick Response Codes), veri codes, dot codes, etc. are used or Korean registered patents A digital code that can express predetermined data on a two-dimensional image through a pixel space composed of a plurality of points disclosed in No. 10-1897960 may be used. In this regard, the figure shown in FIG. 2 shows a digital code 211 capable of expressing predetermined data on a two-dimensional image through a pixel space composed of a plurality of yellow dots on the surface of the electronic contract 210. It shows an example inserted into the code. As shown at reference numeral 211, this digital code is composed of yellow dots, so when compared with a white background, the color contrast is not clear, so it is difficult to clearly observe with the naked eye, but the electronic terminal Since the camera of can perform identification of yellow dots differently from human vision, the pattern of yellow dots can be clearly identified through an electronic terminal.
이하에서는 식별번호 생성부(119), 토큰 산출부(120), 저장 처리부(121) 및 전송부(123)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, operations of the identification
먼저, 제1 전자 단말(130)과 제2 전자 단말(140)로, 상기 계약 완료 메시지가 전송되면, 식별번호 생성부(119)는 상기 전자 계약서의 검증에 사용하기 위한 n자리수의 주 식별번호 및 k자리수의 보조 식별번호를 랜덤하게 생성할 수 있다.First, when the contract completion message is transmitted to the first
관련해서, 'n=5', 'k=6'이라고 하는 경우, 식별번호 생성부(119)는 상기 전자 계약서의 검증에 사용하기 위한 5자리수의 주 식별번호 및 6자리수의 보조 식별번호를 랜덤하게 생성할 수 있다.In relation to this, in the case of 'n = 5' and 'k = 6', the identification
만약, 식별번호 생성부(119)에 의해, 5자리수의 '32123'이라는 상기 제1 주 식별번호가 랜덤하게 생성되었고, 6자리수의 '123321'이라는 상기 제1 보조 식별번호가 랜덤하게 생성되었다고 하는 경우, 토큰 산출부(120)는 상기 토큰 생성 함수에 상기 제1 주 식별번호인 '32123'과 상기 제1 보조 식별번호인 '123321'을 입력으로 인가함으로써, 상기 제1 주 식별번호인 '32123'을 구성하는 5개의 숫자들을 성분으로 갖는 열벡터인 ''과 상기 제1 보조 식별번호인 '123321'을 구성하는 6개의 숫자들을 성분으로 갖는 행벡터인 '' 간의 크로네커 곱을 상기 수학식 2 내지 4에 따라 연산하여 5 x 6의 크기를 갖는 연산 행렬인 ''을 생성할 수 있다.If, by the identification
그러고 나서, 토큰 산출부(120)는 상기 연산 행렬의 유클리드 노름을 상기 수학식 1에 따라 '27.49'와 같이 연산한 후 상기 연산 행렬의 유클리드 노름인 '27.49'를 상기 제1 인증 토큰으로 산출할 수 있다.Then, the
이렇게, 토큰 산출부(120)에 의해, 상기 제1 인증 토큰이 산출되면, 저장 처리부(121)는 하기의 표 1과 같은 계약 이력 데이터베이스(122)에 상기 제1 보조 식별번호인 '123321' 및 상기 제1 인증 토큰인 '27.49'를 서로 대응시켜 저장할 수 있다.In this way, when the first authentication token is calculated by the
이렇게, 저장 처리부(121)에 의해 계약 이력 데이터베이스(122)에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰이 함께 대응되어 저장되면, 전송부(123)는 상기 제1 주 식별번호인 '32123' 및 상기 제1 인증 토큰인 '27.49'에 대한 데이터를 포함하는 2차원 코드를 생성하고, 상기 전자 계약서에 상기 2차원 코드를 이미지로 삽입한 후, 상기 2차원 코드가 삽입된 상기 전자 계약서를 제1 전자 단말(130)과 제2 전자 단말(140)로 전송할 수 있다.In this way, when the first auxiliary identification number and the first authentication token are stored in correspondence with the
본 발명의 일실시예에 따르면, 전자 계약 처리 서버(110)는 트랜잭션 생성부(124) 및 등록 요청부(125)를 더 포함할 수 있다.According to one embodiment of the present invention, the electronic
트랜잭션 생성부(124)는 상기 2차원 코드가 삽입된 상기 전자 계약서가 제1 전자 단말(130)과 제2 전자 단말(140)로 전송되면, 상기 전자 계약서, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 포함하는 트랜잭션을 생성한다.When the electronic contract with the two-dimensional code is transmitted to the first
등록 요청부(125)는 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송한다.The
이때, 상기 제1 노드 장치는 전자 계약 처리 서버(110)로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 복수의 노드 장치들(101, 102, 103, 104) 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.At this time, when the first node device receives the registration request together with the transaction from the electronic
구체적으로, 상기 제1 노드 장치는 전자 계약 처리 서버(110)로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 상기 블록체인 데이터에 체인으로 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 트랜잭션이 포함된 새로운 블록인 상기 제1 블록을 생성할 수 있다. 그러고 나서, 상기 제1 노드 장치는 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 복수의 노드 장치들(101, 102, 103, 104) 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.Specifically, when the first node device receives the registration request together with the transaction from the electronic
이렇게, 본 발명에 따른 전자 계약 처리 서버(110)는 상기 2차원 코드가 삽입된 상기 전자 계약서가 제1 전자 단말(130)과 제2 전자 단말(140)로 전송되면, 상기 전자 계약서, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 블록체인 네트워크에 등록해 둠으로써, 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 대한 무결성을 보증해줄 수 있다.In this way, the electronic
본 발명의 일실시예에 따르면, 전자 계약 처리 서버(110)는 지시 메시지 전송부(126), 보조 식별번호 추출부(127), 토큰 확인부(128) 및 완료 메시지 전송부(129)를 더 포함할 수 있다.According to one embodiment of the present invention, the electronic
지시 메시지 전송부(126)는 상기 2차원 코드가 삽입된 상기 전자 계약서가 제1 전자 단말(130)과 제2 전자 단말(140)로 전송된 이후, 제1 전자 단말(130)과 제2 전자 단말(140) 중 어느 하나의 전자 단말로부터, 상기 전자 계약서에 대한 종이 문서(여기서, 상기 종이 문서는 상기 전자 계약서가 종이로 인쇄된 문서를 의미함)가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞는지 여부를 검증할 것을 요청하는 검증 처리 요청이 수신되면, 상기 종이 문서에 삽입된 상기 2차원 코드를 스캔할 것을 지시하는 코드 스캔 지시 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송한다.After the electronic contract with the two-dimensional code is transmitted to the first
보조 식별번호 추출부(127)는 상기 코드 스캔 지시 메시지가 상기 어느 하나의 전자 단말로 전송된 이후, 상기 어느 하나의 전자 단말에서 상기 종이 문서에 삽입된 상기 2차원 코드가 스캔되어 인식됨에 따라, 상기 어느 하나의 전자 단말로부터, 상기 종이 문서에 삽입된 상기 2차원 코드를 통해 추출된 상기 제1 주 식별번호 및 상기 제1 인증 토큰이 수신되면, 계약 이력 데이터베이스(122)로부터 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호를 추출한다.The auxiliary identification
토큰 확인부(128)는 계약 이력 데이터베이스(122)로부터, 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호로, 상기 제1 보조 식별번호가 추출되면, 상기 토큰 생성 함수에, 상기 어느 하나의 전자 단말로부터 수신된 상기 제1 주 식별번호 및 계약 이력 데이터베이스(122)로부터 추출된 상기 제1 보조 식별번호를 입력으로 인가하였을 때 산출되는 연산 결과가, 상기 제1 인증 토큰이 되는지 여부를 확인한다.The
완료 메시지 전송부(129)는 상기 연산 결과가 상기 제1 인증 토큰이 되는 것으로 확인되면, 상기 종이 문서가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞음을 지시하는 검증 처리 완료 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송한다.When the completion
이하에서는 지시 메시지 전송부(126), 보조 식별번호 추출부(127), 토큰 확인부(128) 및 완료 메시지 전송부(129)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, operations of the instruction
먼저, 전술한 예와 같이, 상기 2차원 코드가 삽입된 상기 전자 계약서가 제1 전자 단말(130)과 제2 전자 단말(140)로 전송된 이후, 제1 전자 단말(130)과 제2 전자 단말(140) 중 어느 하나의 전자 단말로부터, 상기 전자 계약서에 대한 종이 문서가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞는지 여부를 검증할 것을 요청하는 검증 처리 요청이 전자 계약 처리 서버(110)에 수신되었다고 가정하자.First, as in the above example, after the electronic contract into which the two-dimensional code is inserted is transmitted to the first
그러면, 지시 메시지 전송부(126)는 상기 종이 문서에 삽입된 상기 2차원 코드를 스캔할 것을 지시하는 코드 스캔 지시 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송할 수 있다.Then, the instruction
이렇게, 지시 메시지 전송부(126)에 의해 상기 코드 스캔 지시 메시지가 상기 어느 하나의 전자 단말로 전송된 이후, 상기 어느 하나의 전자 단말에서, 상기 종이 문서에 삽입된 상기 2차원 코드가 스캔되어 인식됨에 따라, 상기 어느 하나의 전자 단말로부터, 상기 종이 문서에 삽입된 상기 2차원 코드를 통해 추출된 상기 제1 주 식별번호인 '32123' 및 상기 제1 인증 토큰인 '27.49'가 수신되면, 보조 식별번호 추출부(127)는 상기 표 1과 같은 계약 이력 데이터베이스(122)로부터 상기 제1 인증 토큰인 '27.49'와 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호를 추출할 수 있다.In this way, after the code scan instruction message is transmitted to any one electronic terminal by the instruction
이때, 보조 식별번호 추출부(127)에 의해, 상기 표 1과 같은 계약 이력 데이터베이스(122)로부터, 상기 제1 인증 토큰인 '27.49'와 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호로, '123321'이라는 상기 제1 보조 식별번호가 추출되었다고 하는 경우, 토큰 확인부(128)는 상기 토큰 생성 함수에, 상기 어느 하나의 전자 단말로부터 수신된 상기 제1 주 식별번호인 '32123' 및 상기 표 1과 같은 계약 이력 데이터베이스(122)로부터 추출된 상기 제1 보조 식별번호인 '123321'을 입력으로 인가하였을 때 산출되는 연산 결과가, 상기 제1 인증 토큰인 '27.49'가 되는지 여부를 확인할 수 있다.At this time, by the auxiliary identification
만약, 토큰 확인부(128)에 의해 상기 연산 결과가 상기 제1 인증 토큰인 '27.49'가 되는 것으로 확인되었다고 하는 경우, 상기 어느 하나의 전자 단말로부터 수신된 상기 제1 주 식별번호와 상기 제1 인증 토큰이 정상적으로 발행된 2차원 코드로부터 추출된 정보가 맞다는 의미이기 때문에, 완료 메시지 전송부(129)는 상기 종이 문서가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞음을 지시하는 검증 처리 완료 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송할 수 있다.If it is confirmed that the operation result is '27.49', which is the first authentication token, by the
이때, 본 발명의 일실시예에 따르면, 상기 어느 하나의 전자 단말은 전자 계약 처리 서버(110)로부터 상기 검증 처리 완료 메시지가 수신되면, 상기 검증 처리 완료 메시지를 화면 상에 텍스트로 출력할 수도 있고, 소정의 음성 합성 모델을 이용하여 상기 검증 처리 완료 메시지를 음성으로 합성한 후 이에 대한 음성을 스피커로 출력할 수도 있다. 이를 통해, 사용자는 상기 종이 문서가 당사자 간의 전자 계약에 따른 계약서 문서가 맞음을 손쉽게 확인할 수 있다.At this time, according to an embodiment of the present invention, when the verification process completion message is received from the electronic
도 3은 본 발명의 일실시예에 따른 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 동작 방법을 도시한 순서도이다.3 is a flowchart illustrating an operating method of an electronic contract processing server processing an electronic contract between parties according to an embodiment of the present invention.
단계(S310)에서는 제1 사용자가 보유하고 있는 제1 전자 단말에 사전 저장되어 있는 제1 개인키에 대응되는 제1 공개키와, 제2 사용자가 보유하고 있는 제2 전자 단말에 사전 저장되어 있는 제2 개인키에 대응되는 제2 공개키가 저장되어 있는 공개키 저장부를 유지한다.In step S310, the first public key corresponding to the first private key pre-stored in the first electronic terminal possessed by the first user and the second electronic terminal pre-stored in the second user possessed A public key storage unit in which a second public key corresponding to the second private key is stored is maintained.
단계(S320)에서는 상기 제1 전자 단말로부터 상기 제1 전자 단말에서 생성된 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 상기 제2 전자 단말로, 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송한다.In step S320, when an electronic contract created in the first electronic terminal is received from the first electronic terminal and an electronic contract progress request requesting to proceed with the electronic contract with the second user is received, the second electronic contract is received. While transmitting the electronic contract to the terminal, a confirmation request message instructing to check the contents of the electronic contract is transmitted.
단계(S330)에서는 상기 제2 전자 단말로부터 상기 제2 사용자에 의해 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 상기 제1 전자 단말로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청한다.In step S330, when a feedback message indicating that the content of the electronic contract has been confirmed by the second user is received from the second electronic terminal, the first electronic terminal receives a feedback message based on the data on the electronic contract. Request an electronic signature.
단계(S340)에서는상기 전자 계약서에 대한 데이터가 상기 제1 전자 단말에 저장되어 있는 상기 제1 개인키로 암호화되어 제1 전자 서명 값이 생성됨에 따라, 상기 제1 전자 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제1 공개키를 추출한 후 상기 제1 공개키로 상기 제1 전자 서명 값을 복호화하여 제1 복호화 값을 생성한다.In step S340, as the data for the electronic contract is encrypted with the first private key stored in the first electronic terminal to generate a first electronic signature value, the first electronic signature value is obtained from the first electronic terminal. Upon reception of the first public key, the first public key is extracted from the public key storage unit, and then the first digital signature value is decrypted with the first public key to generate a first decryption value.
단계(S350)에서는 상기 제1 복호화 값이 생성되면, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제1 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료하고, 상기 제2 전자 단말로, 상기 전자 계약서에 대한 데이터를 기초로 한 전자 서명을 요청한다.In step S350, if the first decryption value is generated, it is checked whether the first decryption value matches the data on the electronic contract, and the first decryption value matches the data on the electronic contract. If confirmed, verification of the first electronic signature value is completed, and an electronic signature based on the data of the electronic contract is requested to the second electronic terminal.
단계(S360)에서는 상기 전자 계약서에 대한 데이터가 상기 제2 전자 단말에 저장되어 있는 상기 제2 개인키로 암호화되어 제2 전자 서명 값이 생성됨에 따라, 상기 제2 전자 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제2 공개키를 추출한 후 상기 제2 공개키로 상기 제2 전자 서명 값을 복호화하여 제2 복호화 값을 생성한다.In step S360, as the data for the electronic contract is encrypted with the second private key stored in the second electronic terminal to generate a second electronic signature value, the second electronic signature value is obtained from the second electronic terminal. Upon receiving, the second public key is extracted from the public key storage unit, and then the second electronic signature value is decrypted with the second public key to generate a second decryption value.
단계(S370)에서는 상기 제2 복호화 값이 생성되면, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는지 확인하여, 상기 제2 복호화 값이 상기 전자 계약서에 대한 데이터와 서로 일치하는 것으로 확인되면, 상기 제2 전자 서명 값에 대한 검증을 완료하고, 상기 제1 사용자와 상기 제2 사용자 간의 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성한다.In step S370, if the second decryption value is generated, it is checked whether the second decryption value matches the electronic contract data, and the second decryption value matches the electronic contract data. If confirmed, verification of the second electronic signature value is completed, and a contract completion message indicating that the contract between the first user and the second user is completed is generated.
단계(S380)에서는 상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지를 전송한다.In step S380, the contract completion message is transmitted to the first electronic terminal and the second electronic terminal.
이때, 본 발명의 일실시예에 따르면, 상기 전자 계약 처리 서버의 동작 방법은 상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지가 전송되면, 상기 전자 계약서의 검증에 사용하기 위한 n(n은 2이상의 자연수)자리수의 주 식별번호 및 k(k는 2이상의 자연수)자리수의 보조 식별번호를 랜덤하게 생성하는 단계, 상기 n자리수의 주 식별번호로 제1 주 식별번호가 랜덤하게 생성되고, 상기 k자리수의 보조 식별번호로 제1 보조 식별번호가 랜덤하게 생성되면, 인증 토큰을 생성하기 위한 사전 설정된 토큰 생성 함수에 상기 제1 주 식별번호 및 상기 제1 보조 식별번호를 입력으로 인가하여 제1 인증 토큰을 산출하는 단계, 상기 제1 인증 토큰이 산출되면, 계약 이력 데이터베이스에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 서로 대응시켜 저장하는 단계 및 상기 계약 이력 데이터베이스에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰이 함께 대응되어 저장되면, 상기 제1 주 식별번호 및 상기 제1 인증 토큰에 대한 데이터를 포함하는 2차원 코드를 생성하고, 상기 전자 계약서에 상기 2차원 코드를 이미지로 삽입한 후, 상기 2차원 코드가 삽입된 상기 전자 계약서를 상기 제1 전자 단말과 상기 제2 전자 단말로 전송하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the operating method of the electronic contract processing server is to use for verifying the electronic contract when the contract completion message is transmitted to the first electronic terminal and the second electronic terminal. Randomly generating n (n is a natural number of 2 or more) digits main identification number and k (k is a natural number of 2 or more) digit auxiliary identification number, the first main identification number is randomly selected as the n-digit main identification number generated, and when the first auxiliary identification number is randomly generated as the k-digit auxiliary identification number, the first main identification number and the first auxiliary identification number are input to a preset token generation function for generating an authentication token. Calculating a first authentication token by applying the application, when the first authentication token is calculated, storing the first auxiliary identification number and the first authentication token in correspondence with each other in a contract history database, and storing the first authentication token in the contract history database. When the first auxiliary identification number and the first authentication token are stored in correspondence with each other, a two-dimensional code including data for the first main identification number and the first authentication token is generated, and the two-dimensional code is included in the electronic contract. After inserting the code into an image, the method may further include transmitting the electronic contract into which the two-dimensional code is inserted to the first electronic terminal and the second electronic terminal.
이때, 본 발명의 일실시예에 따르면, 상기 토큰 생성 함수는 상기 제1 주 식별번호 및 상기 제1 보조 식별번호가 입력으로 인가되면, 상기 제1 주 식별번호를 구성하는 n개의 숫자들을 성분으로 갖는 열벡터와 상기 제1 보조 식별번호를 구성하는 k개의 숫자들을 성분으로 갖는 행벡터 간의 크로네커 곱을 연산하여 n x k의 크기를 갖는 연산 행렬을 생성한 후, 상기 연산 행렬의 유클리드 노름을 상기 제1 인증 토큰으로 산출하는 함수일 수 있다.At this time, according to one embodiment of the present invention, when the first main identification number and the first auxiliary identification number are applied as inputs, the token generation function uses n numbers constituting the first main identification number as components. After generating an operation matrix having a size of n x k by calculating a Kronecker product between a column vector having a column vector and a row vector having k numbers constituting the first auxiliary identification number as components, the Euclidean norm of the operation matrix is calculated as the first authentication It can be a function that yields tokens.
또한, 본 발명의 일실시예에 따르면, 상기 전자 계약 처리 서버의 동작 방법은 상기 2차원 코드가 삽입된 상기 전자 계약서가 상기 제1 전자 단말과 상기 제2 전자 단말로 전송되면, 상기 전자 계약서, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 포함하는 트랜잭션을 생성하는 단계 및 상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있다.In addition, according to one embodiment of the present invention, the method of operating the electronic contract processing server, when the electronic contract into which the two-dimensional code is inserted is transmitted to the first electronic terminal and the second electronic terminal, the electronic contract, Generating a transaction including the first electronic signature value, the second electronic signature value, the first auxiliary identification number, and the first authentication token, and when the transaction is generated, a plurality of After randomly selecting a first node device that is any one of the node devices, the method may further include transmitting a request for registration of the transaction to the blockchain network while transmitting the transaction to the first node device. .
이때, 상기 제1 노드 장치는 상기 전자 계약 처리 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.At this time, when the first node device receives the registration request together with the transaction from the electronic contract processing server, the first node device includes the transaction based on the previous block chained to the blockchain data stored on the memory. By generating a block and connecting the first block to the blockchain data in a chain, after completing the storage of the first block, the first block is transferred to the one of the plurality of node devices through the blockchain network. It can propagate to the rest of the node devices except for the first node device.
또한, 본 발명의 일실시예에 따르면, 상기 전자 계약 처리 서버의 동작 방법은 상기 2차원 코드가 삽입된 상기 전자 계약서가 상기 제1 전자 단말과 상기 제2 전자 단말로 전송된 이후, 상기 제1 전자 단말과 상기 제2 전자 단말 중 어느 하나의 전자 단말로부터, 상기 전자 계약서에 대한 종이 문서(상기 종이 문서는 상기 전자 계약서가 종이로 인쇄된 문서임)가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞는지 여부를 검증할 것을 요청하는 검증 처리 요청이 수신되면, 상기 종이 문서에 삽입된 상기 2차원 코드를 스캔할 것을 지시하는 코드 스캔 지시 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송하는 단계, 상기 코드 스캔 지시 메시지가 상기 어느 하나의 전자 단말로 전송된 이후, 상기 어느 하나의 전자 단말에서 상기 종이 문서에 삽입된 상기 2차원 코드가 스캔되어 인식됨에 따라, 상기 어느 하나의 전자 단말로부터, 상기 종이 문서에 삽입된 상기 2차원 코드를 통해 추출된 상기 제1 주 식별번호 및 상기 제1 인증 토큰이 수신되면, 상기 계약 이력 데이터베이스로부터 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호를 추출하는 단계, 상기 계약 이력 데이터베이스로부터, 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호로, 상기 제1 보조 식별번호가 추출되면, 상기 토큰 생성 함수에, 상기 어느 하나의 전자 단말로부터 수신된 상기 제1 주 식별번호 및 상기 계약 이력 데이터베이스로부터 추출된 상기 제1 보조 식별번호를 입력으로 인가하였을 때 산출되는 연산 결과가, 상기 제1 인증 토큰이 되는지 여부를 확인하는 단계 및 상기 연산 결과가 상기 제1 인증 토큰이 되는 것으로 확인되면, 상기 종이 문서가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞음을 지시하는 검증 처리 완료 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송하는 단계를 더 포함할 수 있다.In addition, according to one embodiment of the present invention, the operating method of the electronic contract processing server, after the electronic contract with the two-dimensional code inserted is transmitted to the first electronic terminal and the second electronic terminal, the first electronic contract From any one of the electronic terminal and the second electronic terminal, a paper document for the electronic contract (the paper document is a document in which the electronic contract is printed on paper) is transmitted between the first user and the second user. When a verification process request for verifying whether a contract document according to an electronic contract is correct is received, a code scan instruction message instructing to scan the two-dimensional code inserted in the paper document is generated to generate any one of the electronic Transmitting to a terminal, after the code scan instruction message is transmitted to any one of the electronic terminals, as the two-dimensional code inserted into the paper document is scanned and recognized by the one of the electronic terminals, the one of the above When the first main identification number and the first authentication token extracted through the two-dimensional code inserted into the paper document are received from the electronic terminal of the contract history database, the same authentication token as the first authentication token Extracting a correspondingly stored auxiliary identification number, when the first auxiliary identification number is extracted from the contract history database as an auxiliary identification number stored in correspondence with the same authentication token as the first authentication token, An operation result calculated when the first primary identification number received from any one of the electronic terminals and the first auxiliary identification number extracted from the contract history database is applied to the token generation function as inputs, the first authentication Checking whether the token is a token, and if the result of the operation is confirmed to be the first authentication token, verification indicating that the paper document is a contract document according to an electronic contract between the first user and the second user. The method may further include generating a processing completion message and transmitting the message to one of the electronic terminals.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 전자 계약 처리 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 계약 처리 서버의 동작 방법은 도 1 내지 도 2를 이용하여 설명한 전자 계약 처리 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, the operating method of the electronic contract processing server according to an embodiment of the present invention has been described with reference to FIG. 3 . Here, since the operation method of the electronic contract processing server according to an embodiment of the present invention may correspond to the configuration of the operation of the electronic
본 발명의 일실시예에 따른 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.An operating method of an electronic contract processing server processing an electronic contract between parties according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through a combination with a computer.
또한, 본 발명의 일실시예에 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, in one embodiment of the present invention, the operating method of the electronic contract processing server for processing the electronic contract between the parties may be implemented in the form of computer program instructions for execution through combination with a computer and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific details such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , Those skilled in the art in the field to which the present invention belongs can make various modifications and variations from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope of the present invention. .
110: 당사자 간의 전자 계약을 처리하는 전자 계약 처리 서버
111: 공개키 저장부 112: 확인 요청부
113: 제1 서명 요청부 114: 제1 복호화부
115: 제2 서명 요청부 116: 제2 복호화부
117: 메시지 생성부 118: 메시지 전송부
119: 식별번호 생성부 120: 토큰 산출부
121: 저장 처리부 122: 계약 이력 데이터베이스
123: 전송부 124: 트랜잭션 생성부
125: 등록 요청부 126: 지시 메시지 전송부
127: 보조 식별번호 추출부 128: 토큰 확인부
129: 완료 메시지 전송부
130: 제1 전자 단말
140: 제2 전자 단말110: Electronic contract processing server for processing electronic contracts between parties
111: public key storage unit 112: confirmation request unit
113: first signature request unit 114: first decryption unit
115: second signature request unit 116: second decryption unit
117: message generation unit 118: message transmission unit
119: identification number generation unit 120: token calculation unit
121: storage processing unit 122: contract history database
123: transmission unit 124: transaction generation unit
125: registration request unit 126: instruction message transmission unit
127: auxiliary identification number extraction unit 128: token confirmation unit
129: completion message transmission unit
130: first electronic terminal
140: second electronic terminal
Claims (12)
제1 사용자가 보유하고 있는 제1 전자 단말에 사전 저장되어 있는 제1 개인키에 대응되는 제1 공개키와, 제2 사용자가 보유하고 있는 제2 전자 단말에 사전 저장되어 있는 제2 개인키에 대응되는 제2 공개키가 저장되어 있는 공개키 저장부;
상기 제1 전자 단말로부터 상기 제1 전자 단말에서 생성된 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 상기 제2 전자 단말로, 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송하는 확인 요청부;
상기 제2 전자 단말로부터 상기 제2 사용자에 의해 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 상기 제1 전자 단말로, 상기 전자 계약서를 기초로 한 전자 서명을 요청하는 제1 서명 요청부;
상기 전자 계약서가 상기 제1 전자 단말에 저장되어 있는 상기 제1 개인키로 암호화되어 제1 전자 서명 값이 생성됨에 따라, 상기 제1 전자 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제1 공개키를 추출한 후 상기 제1 공개키로 상기 제1 전자 서명 값을 복호화하여 제1 복호화 값을 생성하는 제1 복호화부;
상기 제1 복호화 값이 생성되면, 상기 제1 복호화 값이 상기 전자 계약서와 서로 일치하는지 확인하여, 상기 제1 복호화 값이 상기 전자 계약서와 서로 일치하는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료하고, 상기 제2 전자 단말로, 상기 전자 계약서를 기초로 한 전자 서명을 요청하는 제2 서명 요청부;
상기 전자 계약서가 상기 제2 전자 단말에 저장되어 있는 상기 제2 개인키로 암호화되어 제2 전자 서명 값이 생성됨에 따라, 상기 제2 전자 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제2 공개키를 추출한 후 상기 제2 공개키로 상기 제2 전자 서명 값을 복호화하여 제2 복호화 값을 생성하는 제2 복호화부;
상기 제2 복호화 값이 생성되면, 상기 제2 복호화 값이 상기 전자 계약서와 서로 일치하는지 확인하여, 상기 제2 복호화 값이 상기 전자 계약서와 서로 일치하는 것으로 확인되면, 상기 제2 전자 서명 값에 대한 검증을 완료하고, 상기 제1 사용자와 상기 제2 사용자 간의 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성하는 메시지 생성부;
상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지를 전송하는 메시지 전송부;
상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지가 전송되면, 상기 전자 계약서의 검증에 사용하기 위한 n(n은 2이상의 자연수)자리수의 주 식별번호 및 k(k는 2이상의 자연수)자리수의 보조 식별번호를 랜덤하게 생성하는 식별번호 생성부;
상기 n자리수의 주 식별번호로 제1 주 식별번호가 랜덤하게 생성되고, 상기 k자리수의 보조 식별번호로 제1 보조 식별번호가 랜덤하게 생성되면, 인증 토큰을 생성하기 위한 사전 설정된 토큰 생성 함수에 상기 제1 주 식별번호 및 상기 제1 보조 식별번호를 입력으로 인가하여 제1 인증 토큰을 산출하는 토큰 산출부;
상기 제1 인증 토큰이 산출되면, 계약 이력 데이터베이스에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 서로 대응시켜 저장하는 저장 처리부; 및
상기 계약 이력 데이터베이스에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰이 함께 대응되어 저장되면, 상기 제1 주 식별번호 및 상기 제1 인증 토큰에 대한 데이터를 포함하는 2차원 코드를 생성하고, 상기 전자 계약서에 상기 2차원 코드를 이미지로 삽입한 후, 상기 2차원 코드가 삽입된 상기 전자 계약서를 상기 제1 전자 단말과 상기 제2 전자 단말로 전송하는 전송부
를 포함하고,
상기 토큰 생성 함수는
상기 제1 주 식별번호 및 상기 제1 보조 식별번호가 입력으로 인가되면, 상기 제1 주 식별번호를 구성하는 n개의 숫자들을 성분으로 갖는 열벡터와 상기 제1 보조 식별번호를 구성하는 k개의 숫자들을 성분으로 갖는 행벡터 간의 크로네커 곱(Kronecker Product)을 연산하여 n x k의 크기를 갖는 연산 행렬을 생성한 후, 상기 연산 행렬의 유클리드 노름(Euclidean Norm)을 상기 제1 인증 토큰으로 산출하는 함수인 것을 특징으로 하는 전자 계약 처리 서버.In an electronic contract processing server that processes electronic contracts between parties,
The first public key corresponding to the first private key pre-stored in the first electronic terminal possessed by the first user and the second private key pre-stored in the second electronic terminal possessed by the second user a public key storage unit in which a corresponding second public key is stored;
When the electronic contract created in the first electronic terminal is received from the first electronic terminal and an electronic contract progress request requesting to proceed with the electronic contract with the second user is received, the electronic contract is transmitted to the second electronic terminal. a confirmation request unit for transmitting a confirmation request message instructing to confirm the content of the electronic contract while transmitting the contract;
When a feedback message indicating that the content of the electronic contract has been confirmed by the second user is received from the second electronic terminal, a first signature requesting an electronic signature based on the electronic contract to the first electronic terminal requesting department;
As the electronic contract is encrypted with the first private key stored in the first electronic terminal to generate a first electronic signature value, when the first electronic signature value is received from the first electronic terminal, the public key is stored. a first decryption unit extracting the first public key from the first public key and decrypting the first digital signature value with the first public key to generate a first decryption value;
When the first decryption value is generated, it is checked whether the first decryption value matches the electronic contract, and if it is confirmed that the first decryption value matches the electronic contract, the first decryption value for the first electronic signature value a second signature requesting unit that completes verification and requests an electronic signature based on the electronic contract to the second electronic terminal;
As the electronic contract is encrypted with the second private key stored in the second electronic terminal to generate a second electronic signature value, when the second electronic signature value is received from the second electronic terminal, the public key is stored. a second decryption unit extracting the second public key from the second public key and decrypting the second electronic signature value with the second public key to generate a second decryption value;
When the second decryption value is generated, it is checked whether the second decryption value matches the electronic contract, and if it is confirmed that the second decryption value matches the electronic contract, the second decryption value for the second electronic signature value a message generating unit that completes verification and generates a contract completion message indicating that the contract between the first user and the second user has been completed;
a message transmission unit transmitting the contract completion message to the first electronic terminal and the second electronic terminal;
When the contract completion message is transmitted to the first electronic terminal and the second electronic terminal, a main identification number of n (n is a natural number of 2 or more) digits for use in verifying the electronic contract and k (k is a natural number of 2 or more) an identification number generation unit randomly generating auxiliary identification numbers of natural number) digits;
When the first primary identification number is randomly generated with the n-digit primary identification number and the first auxiliary identification number is randomly generated with the k-digit auxiliary identification number, in a preset token generation function for generating an authentication token. a token calculator calculating a first authentication token by applying the first primary identification number and the first auxiliary identification number as inputs;
When the first authentication token is calculated, a storage processing unit for storing the first auxiliary identification number and the first authentication token in correspondence with each other in a contract history database; and
When the first auxiliary identification number and the first authentication token are stored in correspondence with the contract history database, a two-dimensional code including data for the first main identification number and the first authentication token is generated, A transmission unit for inserting the 2D code into an electronic contract as an image and then transmitting the electronic contract into which the 2D code is inserted to the first electronic terminal and the second electronic terminal
including,
The token generating function is
When the first main identification number and the first auxiliary identification number are applied as inputs, a column vector having n numbers constituting the first main identification number as components and k numbers constituting the first auxiliary identification number A function that calculates the Kronecker product between row vectors having as components to generate an operation matrix having a size of nxk, and then calculates the Euclidean norm of the operation matrix as the first authentication token. Characterized by electronic contract processing server.
상기 2차원 코드가 삽입된 상기 전자 계약서가 상기 제1 전자 단말과 상기 제2 전자 단말로 전송되면, 상기 전자 계약서, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 포함하는 트랜잭션을 생성하는 트랜잭션 생성부; 및
상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
를 더 포함하고,
상기 제1 노드 장치는
상기 전자 계약 처리 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 전자 계약 처리 서버.According to claim 1,
When the electronic contract with the two-dimensional code inserted is transmitted to the first electronic terminal and the second electronic terminal, the electronic contract, the first electronic signature value, the second electronic signature value, and the first auxiliary identification number and a transaction generating unit generating a transaction including the first authentication token. and
When the transaction is generated, after randomly selecting a first node device, which is any one of a plurality of node devices constituting the blockchain network, while transmitting the transaction to the first node device, the block chain of the transaction A registration request unit that transmits a registration request to the network.
Including more,
The first node device is
When the registration request together with the transaction is received from the electronic contract processing server, a first block including the transaction is generated based on a previous block chained to blockchain data stored in a memory, and the first block includes the first block. By connecting a block to the blockchain data in a chain, after completing the storage of the first block, the first block is transferred through the blockchain network to the rest of the nodes except the first node device among the plurality of node devices. An electronic contract processing server characterized by propagating to devices.
상기 2차원 코드가 삽입된 상기 전자 계약서가 상기 제1 전자 단말과 상기 제2 전자 단말로 전송된 이후, 상기 제1 전자 단말과 상기 제2 전자 단말 중 어느 하나의 전자 단말로부터, 상기 전자 계약서에 대한 종이 문서 - 상기 종이 문서는 상기 전자 계약서가 종이로 인쇄된 문서임 - 가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞는지 여부를 검증할 것을 요청하는 검증 처리 요청이 수신되면, 상기 종이 문서에 삽입된 상기 2차원 코드를 스캔할 것을 지시하는 코드 스캔 지시 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송하는 지시 메시지 전송부;
상기 코드 스캔 지시 메시지가 상기 어느 하나의 전자 단말로 전송된 이후, 상기 어느 하나의 전자 단말에서 상기 종이 문서에 삽입된 상기 2차원 코드가 스캔되어 인식됨에 따라, 상기 어느 하나의 전자 단말로부터, 상기 종이 문서에 삽입된 상기 2차원 코드를 통해 추출된 상기 제1 주 식별번호 및 상기 제1 인증 토큰이 수신되면, 상기 계약 이력 데이터베이스로부터 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호를 추출하는 보조 식별번호 추출부;
상기 계약 이력 데이터베이스로부터, 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호로, 상기 제1 보조 식별번호가 추출되면, 상기 토큰 생성 함수에, 상기 어느 하나의 전자 단말로부터 수신된 상기 제1 주 식별번호 및 상기 계약 이력 데이터베이스로부터 추출된 상기 제1 보조 식별번호를 입력으로 인가하였을 때 산출되는 연산 결과가, 상기 제1 인증 토큰이 되는지 여부를 확인하는 토큰 확인부; 및
상기 연산 결과가 상기 제1 인증 토큰이 되는 것으로 확인되면, 상기 종이 문서가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞음을 지시하는 검증 처리 완료 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송하는 완료 메시지 전송부
를 더 포함하는 전자 계약 처리 서버.According to claim 1,
After the electronic contract with the two-dimensional code inserted is transmitted to the first electronic terminal and the second electronic terminal, from any one of the first electronic terminal and the second electronic terminal, the electronic contract Receives a verification processing request requesting to verify whether a paper document for a paper document, wherein the paper document is a document in which the electronic contract is printed on paper, is correct according to an electronic contract between the first user and the second user an instruction message transmission unit generating a code scan instruction message instructing to scan the two-dimensional code inserted in the paper document and transmitting the message to any one of the electronic terminals;
After the code scan instruction message is transmitted to the one electronic terminal, as the two-dimensional code inserted into the paper document is scanned and recognized by the one electronic terminal, from the one electronic terminal, the When the first primary identification number and the first authentication token extracted through the two-dimensional code inserted into the paper document are received, the assistant stored in correspondence with the same authentication token as the first authentication token from the contract history database. Secondary identification number extraction unit for extracting the identification number;
When the first auxiliary identification number is extracted from the contract history database as an auxiliary identification number stored in correspondence with the same authentication token as the first authentication token, the token generation function receives reception from any one of the electronic terminals. a token confirmation unit that checks whether an operation result calculated when the first primary identification number and the first auxiliary identification number extracted from the contract history database are applied as inputs is the first authentication token; and
If it is confirmed that the result of the operation is the first authentication token, a verification processing completion message indicating that the paper document is a contract document according to an electronic contract between the first user and the second user is generated, and any one of the above Completion message transmission unit for transmitting to the electronic terminal of
Electronic contract processing server further comprising a.
제1 사용자가 보유하고 있는 제1 전자 단말에 사전 저장되어 있는 제1 개인키에 대응되는 제1 공개키와, 제2 사용자가 보유하고 있는 제2 전자 단말에 사전 저장되어 있는 제2 개인키에 대응되는 제2 공개키가 저장되어 있는 공개키 저장부를 유지하는 단계;
상기 제1 전자 단말로부터 상기 제1 전자 단말에서 생성된 전자 계약서가 수신되면서, 상기 제2 사용자와의 전자 계약을 진행할 것을 요청하는 전자 계약 진행 요청이 수신되면, 상기 제2 전자 단말로, 상기 전자 계약서를 전송하면서, 상기 전자 계약서의 내용을 확인할 것을 지시하는 확인 요청 메시지를 전송하는 단계;
상기 제2 전자 단말로부터 상기 제2 사용자에 의해 상기 전자 계약서의 내용이 확인되었음을 지시하는 피드백 메시지가 수신되면, 상기 제1 전자 단말로, 상기 전자 계약서를 기초로 한 전자 서명을 요청하는 단계;
상기 전자 계약서가 상기 제1 전자 단말에 저장되어 있는 상기 제1 개인키로 암호화되어 제1 전자 서명 값이 생성됨에 따라, 상기 제1 전자 단말로부터 상기 제1 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제1 공개키를 추출한 후 상기 제1 공개키로 상기 제1 전자 서명 값을 복호화하여 제1 복호화 값을 생성하는 단계;
상기 제1 복호화 값이 생성되면, 상기 제1 복호화 값이 상기 전자 계약서와 서로 일치하는지 확인하여, 상기 제1 복호화 값이 상기 전자 계약서와 서로 일치하는 것으로 확인되면, 상기 제1 전자 서명 값에 대한 검증을 완료하고, 상기 제2 전자 단말로, 상기 전자 계약서를 기초로 한 전자 서명을 요청하는 단계;
상기 전자 계약서가 상기 제2 전자 단말에 저장되어 있는 상기 제2 개인키로 암호화되어 제2 전자 서명 값이 생성됨에 따라, 상기 제2 전자 단말로부터 상기 제2 전자 서명 값이 수신되면, 상기 공개키 저장부로부터 상기 제2 공개키를 추출한 후 상기 제2 공개키로 상기 제2 전자 서명 값을 복호화하여 제2 복호화 값을 생성하는 단계;
상기 제2 복호화 값이 생성되면, 상기 제2 복호화 값이 상기 전자 계약서와 서로 일치하는지 확인하여, 상기 제2 복호화 값이 상기 전자 계약서와 서로 일치하는 것으로 확인되면, 상기 제2 전자 서명 값에 대한 검증을 완료하고, 상기 제1 사용자와 상기 제2 사용자 간의 계약이 완료되었음을 지시하는 계약 완료 메시지를 생성하는 단계;
상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지를 전송하는 단계;
상기 제1 전자 단말과 상기 제2 전자 단말로, 상기 계약 완료 메시지가 전송되면, 상기 전자 계약서의 검증에 사용하기 위한 n(n은 2이상의 자연수)자리수의 주 식별번호 및 k(k는 2이상의 자연수)자리수의 보조 식별번호를 랜덤하게 생성하는 단계;
상기 n자리수의 주 식별번호로 제1 주 식별번호가 랜덤하게 생성되고, 상기 k자리수의 보조 식별번호로 제1 보조 식별번호가 랜덤하게 생성되면, 인증 토큰을 생성하기 위한 사전 설정된 토큰 생성 함수에 상기 제1 주 식별번호 및 상기 제1 보조 식별번호를 입력으로 인가하여 제1 인증 토큰을 산출하는 단계;
상기 제1 인증 토큰이 산출되면, 계약 이력 데이터베이스에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 서로 대응시켜 저장하는 단계; 및
상기 계약 이력 데이터베이스에 상기 제1 보조 식별번호 및 상기 제1 인증 토큰이 함께 대응되어 저장되면, 상기 제1 주 식별번호 및 상기 제1 인증 토큰에 대한 데이터를 포함하는 2차원 코드를 생성하고, 상기 전자 계약서에 상기 2차원 코드를 이미지로 삽입한 후, 상기 2차원 코드가 삽입된 상기 전자 계약서를 상기 제1 전자 단말과 상기 제2 전자 단말로 전송하는 단계
를 포함하고,
상기 토큰 생성 함수는
상기 제1 주 식별번호 및 상기 제1 보조 식별번호가 입력으로 인가되면, 상기 제1 주 식별번호를 구성하는 n개의 숫자들을 성분으로 갖는 열벡터와 상기 제1 보조 식별번호를 구성하는 k개의 숫자들을 성분으로 갖는 행벡터 간의 크로네커 곱(Kronecker Product)을 연산하여 n x k의 크기를 갖는 연산 행렬을 생성한 후, 상기 연산 행렬의 유클리드 노름(Euclidean Norm)을 상기 제1 인증 토큰으로 산출하는 함수인 것을 특징으로 하는 전자 계약 처리 서버의 동작 방법.A method of operating an electronic contract processing server for processing an electronic contract between parties,
The first public key corresponding to the first private key pre-stored in the first electronic terminal possessed by the first user and the second private key pre-stored in the second electronic terminal possessed by the second user maintaining a public key storage unit in which a corresponding second public key is stored;
When the electronic contract created in the first electronic terminal is received from the first electronic terminal and an electronic contract progress request requesting to proceed with the electronic contract with the second user is received, the electronic contract is transmitted to the second electronic terminal. Transmitting a confirmation request message instructing to confirm the contents of the electronic contract while transmitting the contract;
requesting an electronic signature based on the electronic contract to the first electronic terminal when a feedback message indicating that the content of the electronic contract has been confirmed by the second user is received from the second electronic terminal;
As the electronic contract is encrypted with the first private key stored in the first electronic terminal to generate a first electronic signature value, when the first electronic signature value is received from the first electronic terminal, the public key is stored. generating a first decryption value by decrypting the first electronic signature value with the first public key after extracting the first public key from the first public key;
When the first decryption value is generated, it is checked whether the first decryption value matches the electronic contract, and if it is confirmed that the first decryption value matches the electronic contract, the first decryption value for the first electronic signature value completing verification and requesting an electronic signature based on the electronic contract to the second electronic terminal;
As the electronic contract is encrypted with the second private key stored in the second electronic terminal to generate a second electronic signature value, when the second electronic signature value is received from the second electronic terminal, the public key is stored. generating a second decryption value by decrypting the second digital signature value with the second public key after extracting the second public key from the second public key;
When the second decryption value is generated, it is checked whether the second decryption value matches the electronic contract, and if it is confirmed that the second decryption value matches the electronic contract, the second decryption value for the second electronic signature value completing verification and generating a contract completion message indicating that the contract between the first user and the second user is complete;
transmitting the contract completion message to the first electronic terminal and the second electronic terminal;
When the contract completion message is transmitted to the first electronic terminal and the second electronic terminal, a main identification number of n (n is a natural number of 2 or more) digits for use in verifying the electronic contract and k (k is a natural number of 2 or more) Randomly generating an auxiliary identification number of natural number) digits;
When the first primary identification number is randomly generated with the n-digit primary identification number and the first auxiliary identification number is randomly generated with the k-digit auxiliary identification number, in a preset token generation function for generating an authentication token. calculating a first authentication token by applying the first primary identification number and the first auxiliary identification number as inputs;
If the first authentication token is calculated, storing the first auxiliary identification number and the first authentication token in correspondence with each other in a contract history database; and
When the first auxiliary identification number and the first authentication token are stored in correspondence with the contract history database, a two-dimensional code including data for the first main identification number and the first authentication token is generated, After inserting the 2D code as an image into the electronic contract, transmitting the electronic contract into which the 2D code is inserted to the first electronic terminal and the second electronic terminal
including,
The token generating function is
When the first main identification number and the first auxiliary identification number are applied as inputs, a column vector having n numbers constituting the first main identification number as components and k numbers constituting the first auxiliary identification number A function that calculates the Kronecker product between row vectors having as components to generate an operation matrix having a size of nxk, and then calculates the Euclidean norm of the operation matrix as the first authentication token. Method of operation of the characterized electronic contract processing server.
상기 2차원 코드가 삽입된 상기 전자 계약서가 상기 제1 전자 단말과 상기 제2 전자 단말로 전송되면, 상기 전자 계약서, 상기 제1 전자 서명 값, 상기 제2 전자 서명 값, 상기 제1 보조 식별번호 및 상기 제1 인증 토큰을 포함하는 트랜잭션을 생성하는 단계; 및
상기 트랜잭션이 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택한 후, 상기 제1 노드 장치로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
를 더 포함하고,
상기 제1 노드 장치는
상기 전자 계약 처리 서버로부터 상기 트랜잭션과 함께 상기 등록 요청이 수신되면, 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 전자 계약 처리 서버의 동작 방법.According to claim 6,
When the electronic contract with the two-dimensional code inserted is transmitted to the first electronic terminal and the second electronic terminal, the electronic contract, the first electronic signature value, the second electronic signature value, and the first auxiliary identification number and generating a transaction including the first authentication token; and
When the transaction is generated, after randomly selecting a first node device, which is any one of a plurality of node devices constituting the blockchain network, while transmitting the transaction to the first node device, the block chain of the transaction Sending a registration request to the network
Including more,
The first node device is
When the registration request together with the transaction is received from the electronic contract processing server, a first block including the transaction is generated based on a previous block chained to blockchain data stored in a memory, and the first block includes the first block. By connecting a block to the blockchain data in a chain, after completing the storage of the first block, the first block is transferred through the blockchain network to the rest of the nodes except the first node device among the plurality of node devices. A method of operating an electronic contract processing server, characterized in that it propagates to devices.
상기 2차원 코드가 삽입된 상기 전자 계약서가 상기 제1 전자 단말과 상기 제2 전자 단말로 전송된 이후, 상기 제1 전자 단말과 상기 제2 전자 단말 중 어느 하나의 전자 단말로부터, 상기 전자 계약서에 대한 종이 문서 - 상기 종이 문서는 상기 전자 계약서가 종이로 인쇄된 문서임 - 가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞는지 여부를 검증할 것을 요청하는 검증 처리 요청이 수신되면, 상기 종이 문서에 삽입된 상기 2차원 코드를 스캔할 것을 지시하는 코드 스캔 지시 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송하는 단계;
상기 코드 스캔 지시 메시지가 상기 어느 하나의 전자 단말로 전송된 이후, 상기 어느 하나의 전자 단말에서 상기 종이 문서에 삽입된 상기 2차원 코드가 스캔되어 인식됨에 따라, 상기 어느 하나의 전자 단말로부터, 상기 종이 문서에 삽입된 상기 2차원 코드를 통해 추출된 상기 제1 주 식별번호 및 상기 제1 인증 토큰이 수신되면, 상기 계약 이력 데이터베이스로부터 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호를 추출하는 단계;
상기 계약 이력 데이터베이스로부터, 상기 제1 인증 토큰과 동일한 인증 토큰에 대응되어 저장되어 있는 보조 식별번호로, 상기 제1 보조 식별번호가 추출되면, 상기 토큰 생성 함수에, 상기 어느 하나의 전자 단말로부터 수신된 상기 제1 주 식별번호 및 상기 계약 이력 데이터베이스로부터 추출된 상기 제1 보조 식별번호를 입력으로 인가하였을 때 산출되는 연산 결과가, 상기 제1 인증 토큰이 되는지 여부를 확인하는 단계; 및
상기 연산 결과가 상기 제1 인증 토큰이 되는 것으로 확인되면, 상기 종이 문서가 상기 제1 사용자와 상기 제2 사용자 간의 전자 계약에 따른 계약서 문서가 맞음을 지시하는 검증 처리 완료 메시지를 생성하여 상기 어느 하나의 전자 단말로 전송하는 단계
를 더 포함하는 전자 계약 처리 서버의 동작 방법.According to claim 6,
After the electronic contract with the two-dimensional code inserted is transmitted to the first electronic terminal and the second electronic terminal, from any one of the first electronic terminal and the second electronic terminal, the electronic contract Receives a verification processing request requesting to verify whether a paper document for a paper document, wherein the paper document is a document in which the electronic contract is printed on paper, is correct according to an electronic contract between the first user and the second user generating a code scan instruction message instructing to scan the two-dimensional code inserted in the paper document and transmitting the message to any one of the electronic terminals;
After the code scan instruction message is transmitted to the one electronic terminal, as the two-dimensional code inserted into the paper document is scanned and recognized by the one electronic terminal, from the one electronic terminal, the When the first primary identification number and the first authentication token extracted through the two-dimensional code inserted into the paper document are received, the assistant stored in correspondence with the same authentication token as the first authentication token from the contract history database. extracting an identification number;
When the first auxiliary identification number is extracted from the contract history database as an auxiliary identification number stored in correspondence with the same authentication token as the first authentication token, the token generation function receives reception from any one of the electronic terminals. confirming whether an operation result calculated when the first primary identification number and the first auxiliary identification number extracted from the contract history database are applied as inputs becomes the first authentication token; and
If it is confirmed that the result of the operation is the first authentication token, a verification processing completion message indicating that the paper document is a contract document according to an electronic contract between the first user and the second user is generated, and any one of the above transmitting to an electronic terminal of
Method of operating the electronic contract processing server further comprising a.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210028793 | 2021-03-04 | ||
KR20210028793 | 2021-03-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220125130A KR20220125130A (en) | 2022-09-14 |
KR102574296B1 true KR102574296B1 (en) | 2023-09-06 |
Family
ID=83279448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210099828A KR102574296B1 (en) | 2021-03-04 | 2021-07-29 | Electronic contract processing server that processes electronic contracts between parties by utilizing the two-dimensional code and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102574296B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240065940A (en) * | 2022-11-07 | 2024-05-14 | 주식회사 애브체인 | Method for managing user data using data processing of trust execution environment based on smart contract |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100527171B1 (en) * | 2003-05-13 | 2005-11-08 | (주)드림투리얼리티 | A system for electronic contract and a method thereof |
KR20190031989A (en) * | 2017-09-19 | 2019-03-27 | 주식회사 케이티 | System and method for processing electronic contracts based on blockchain |
-
2021
- 2021-07-29 KR KR1020210099828A patent/KR102574296B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20220125130A (en) | 2022-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120110341A1 (en) | Mobile Device Transaction Using Multi-Factor Authentication | |
CN103380592A (en) | Method, server and system for authentication of a person | |
CN102801724A (en) | Identity authentication method combining graphic image with dynamic password | |
KR102283167B1 (en) | Mobile terminal apparatus which performs the caller authentification based on the voice when connecting a call, and the operating method thereof | |
KR102303431B1 (en) | Blockchain-based electronic contract management system apparatus that supports electronic contracts between parties and operating method thereof | |
CN111817857B (en) | Electronic document signing method based on electronic notarization and SM2 collaborative signature and server adopted by same | |
JP4763465B2 (en) | Personal authentication apparatus, server apparatus, authentication system, and authentication method | |
KR102574296B1 (en) | Electronic contract processing server that processes electronic contracts between parties by utilizing the two-dimensional code and operating method thereof | |
KR102479477B1 (en) | Blockchain-based metaverse service operation server to operate the metaverse service that can provide the item matching the real product in the metaverse environment through interlocking with the two-dimensional code printed in the real product and the operating method thereof | |
US10671718B2 (en) | System and method for authentication | |
KR102319663B1 (en) | Content data management server that enables storage and management of content data through interlocking with the two-dimensional code inserted in precious metal goods and operating method thereof | |
CN115310141A (en) | Document authentication method based on notarization and signing of notarization system | |
JPWO2020121459A1 (en) | Authentication system, client and server | |
KR101450335B1 (en) | Electronic document creation device and method for verifying authentic document based on fingerprint | |
KR102602214B1 (en) | User authentication server that performs two-channel authentication for users with credit cards based on the two-dimensional code and operating method thereof | |
KR102574299B1 (en) | Certificate verification server that performs the verification of the authenticity for the certificate based on a two-dimensional code and operating method thereof | |
KR102361231B1 (en) | Mask genuine product certification server to perform genuine product certification for the mask based on a two-dimensional code and operating method thereof | |
KR102565114B1 (en) | Genuine medicines certification verification server which performs verification of genuine certificated medicines based on two-dimensional codes, and the operating method thereof | |
KR102559485B1 (en) | Content certification verification server which performs verification of content which has been certified for copyright based on the two-dimensional code and the operating method thereof | |
KR102662240B1 (en) | Leakage prevention service server which is able to provide service to prevent the leakage of printouts, and the operating method thereof | |
CN104980275A (en) | Two-dimension code-based digital signature authentication scheme allowing proxy signing | |
KR102675877B1 (en) | Document providing server capable of providing an electronic document with a two-dimensional code inserted to verify that it is an authentic document and operating method thereof | |
KR102545003B1 (en) | Missing child prevention service providing server capable of providing missing child prevention service based on the two-dimensional code printed on baby accessories and operating method thereof | |
KR20240038318A (en) | Signature image for verification providing server which is able to generate and provide signature image for verification, which is for verifying a signature is authentic, and the operating method thereof | |
KR102602213B1 (en) | Electronic terminal apparatus that performs genuine product certification and additional information offer for the product based on two-dimensional code recognition and biometric information authentication and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |