KR20210060745A - System for processing electronic contracts based on blockchain - Google Patents

System for processing electronic contracts based on blockchain Download PDF

Info

Publication number
KR20210060745A
KR20210060745A KR1020190148137A KR20190148137A KR20210060745A KR 20210060745 A KR20210060745 A KR 20210060745A KR 1020190148137 A KR1020190148137 A KR 1020190148137A KR 20190148137 A KR20190148137 A KR 20190148137A KR 20210060745 A KR20210060745 A KR 20210060745A
Authority
KR
South Korea
Prior art keywords
contract
block chain
data
encrypted
blockchain
Prior art date
Application number
KR1020190148137A
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 KR1020190148137A priority Critical patent/KR20210060745A/en
Publication of KR20210060745A publication Critical patent/KR20210060745A/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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Abstract

The present invention relates to a blockchain-based electronic contract service system which enables signature without respect to a contract file format through a sign through a private key, enables compatibility with public certificates through a PKI, reduces a data modulation threat through decentralized signature information management, and reduces introduction costs through non-installation type web engine-based services. Components thereof are: a contract processing unit that collects contract information required for an electronic contract from a terminal of a user and generates contract data to prove the conclusion of the electronic contract; an encryption processing unit for generating encrypted contract data by encrypting the contract data; and a contract managing unit that generates a transaction for storing data in a block chain of a block chain node, stores the encrypted contract data in the block chain, and obtains the encrypted contract data by inquiring the block chain if there is a request of the user. The contract managing unit stores the encrypted contract data, according to whether it is necessary to temporarily store the encrypted contract data, in a block chain for temporary storage as a block chain which has a predetermined existence period, wherein the block chain is entirely deleted if a corresponding existence period elapses, or in a block chain for permanent storage which does not have an existence period.

Description

블록체인 기반의 전자계약 서비스 시스템{System for processing electronic contracts based on blockchain}Blockchain-based electronic contract service system {System for processing electronic contracts based on blockchain}

본 발명은 블록체인 기반의 전자계약 서비스 시스템에 관한 것으로서, 보다 상세하게는 개인 키를 통한 서명을 통하여 계약서 파일 형식에 관계없이 서명이 가능하고, PKI를 통한 공인인증서 호환이 가능하며, 탈중앙화된 서명 정보 관리를 통한 데이터 변조 위협이 감소되고, 비설치형 웹 엔진 기반의 서비스를 통한 도입 비용을 감소시킬 수 있도록 한 블록체인 기반의 전자계약 서비스 시스템에 관한 것이다.The present invention relates to a blockchain-based electronic contract service system, and more specifically, through a signature through a private key, it is possible to sign regardless of the contract file format, compatible with public certificates through PKI, and decentralized It relates to a blockchain-based electronic contract service system that reduces the threat of data tampering through signature information management and reduces the cost of introduction through a non-installable web engine-based service.

일반적으로, 전자계약(electronic contract)은 통신 네트워크를 통한 전자적 의사 표시의 합의로 성립되는 계약을 말한다. 최근, 통신 기술의 발전과 개인 통신 장치의 보급에 따라 전자 계약 기술은 금융, 보험, 통신 서비스 등 당사자들 간의 계약을 요하는 다양한 산업 분야에 적용되고 있다.In general, an electronic contract refers to a contract established by agreement of electronic expression of intention through a communication network. Recently, with the development of communication technology and the spread of personal communication devices, electronic contract technology has been applied to various industrial fields requiring contracts between parties, such as finance, insurance, and communication services.

그러나, 이러한 종래의 전자계약 서비스 시스템 중에 한국 등록특허 제10-1132672호의 경우는, 전자 계약서를 단일의 중앙 서버에 집중적으로 저장하여 관리하는 시스템이므로 위·변조가 쉽고, 해커 등과 같은 악의적인 공격자들의 집중 공격 대상이 되며, 저장된 데이터의 손실 발생시 데이터 복구가 어렵다.However, among these conventional electronic contract service systems, Korean Patent Registration No. 10-1132672 is a system that intensively stores and manages electronic contracts in a single central server, so forgery and alteration are easy, and malicious attackers such as hackers It becomes a target of intensive attack, and it is difficult to recover data in case of loss of stored data.

또한, 계약시 문서제작 및 출력을 수반하며, 일일이 도장을 날인하고, 해당 문서를 스캔하고 PDF 파일로 변환 및 저장하는 번거로움과 불편함이 있으며, 공인 또는 사설 인증서의 서명이 불가능하고, 해당 시간대에 문서를 보유하고 있었다는 정보에 대해서만 증명이 가능하고, 문서 증명 내용이 퍼블릭 블록체인에 의해 외부로 공개되는 문제점이 있다.In addition, there is a hassle and inconvenience of creating and printing documents when contracting, stamping each individual stamp, scanning the document and converting and saving it into a PDF file, and it is impossible to sign a public or private certificate. There is a problem that it is possible to prove only the information that the document was held in the document, and the document proof content is disclosed to the outside through the public blockchain.

그리고, 중앙 서버가 전체 시스템의 단일 장애 지점(SPOF:Single Point of Failure)을 구성하기 때문에, 전자 계약서를 저장하는 중앙 서버에 장애가 발생하면 시스템 전체가 중단되어 전자 계약서의 열람이나 출력 등이 불가능하고, 단순 서명 이미지의 추가를 통한 전자 서명은 그 법적 효력에 한계가 있다.And, since the central server constitutes a single point of failure (SPOF) of the entire system, if a failure occurs in the central server storing the electronic contract, the entire system is stopped, making it impossible to read or print the electronic contract. In addition, electronic signatures through the addition of simple signature images have limitations in their legal effect.

1. 대한민국국 등록특허 제10-1132672호.1. Korean Patent Registration No. 10-1132672.

이에 본 발명은 상기한 바와 같은 종래의 제반 문제점을 해소하기 위해 창안된 것으로서, 그 목적은 개인 키를 통한 서명을 통하여 계약서 파일 형식에 관계없이 서명이 가능하고, PKI를 통한 공인인증서 호환이 가능하며, 탈중앙화된 서명 정보 관리를 통한 데이터 변조 위협이 감소되고, 비설치형 웹 엔진 기반의 서비스를 통한 도입 비용을 감소시킬 수 있도록 한 블록체인 기반의 전자계약 서비스 시스템을 제공함에 있다.Accordingly, the present invention was invented to solve all the problems of the prior art as described above, and its purpose is to enable signing regardless of the contract file format through signature through a private key, and to be compatible with public certificates through PKI. It is to provide a blockchain-based electronic contract service system that reduces the threat of data tampering through decentralized signature information management and reduces the cost of introduction through a non-installable web engine-based service.

이러한 본 발명의 목적을 달성하기 위한 본 발명에 의한 블록체인 기반의 전자계약 서비스 시스템의 한 형태는, 사용자의 단말로부터 전자 계약에 필요한 계약 정보를 수집하여 상기 전자 계약의 체결을 증명하는 계약서 데이터를 생성하는 계약 처리부; 상기 계약서 데이터를 암호화하여 암호화된 계약서 데이터를 생성하는 암호 처리부; 및 블록체인 노드의 블록체인에 데이터를 저장하는 트랜잭션을 발생시켜 상기 블록체인에 상기 암호화된 계약서 데이터를 저장하고, 상기 사용자의 요청이 있는 경우 상기 블록체인을 조회하여 상기 암호화된 계약서 데이터를 획득하는 계약서 관리부를 포함하고, 상기 계약서 관리부는, 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 암호화된 계약서 데이터를, 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장하거나, 존속 기간이 부여되지 않은 영구 보관용 블록체인에 저장하는 것을 특징으로 한다.One form of the blockchain-based electronic contract service system according to the present invention for achieving the object of the present invention collects contract information necessary for the electronic contract from the user's terminal and provides contract data proving the conclusion of the electronic contract. A contract processing unit to generate; An encryption processing unit for generating encrypted contract data by encrypting the contract data; And generating a transaction for storing data in the block chain of a block chain node to store the encrypted contract data in the block chain, and when the user requests it, query the block chain to obtain the encrypted contract data. It includes a contract management unit, wherein the contract management unit deletes the encrypted contract data as a block chain to which a certain duration is given according to whether or not temporary storage of the encrypted contract data is required, and the entire block chain is deleted when the corresponding duration elapses. It is characterized in that it is stored in a block chain for temporary storage, or in a block chain for permanent storage to which a duration is not given.

또한, 상기 계약 처리부는, 상기 단말과 통신하여 상기 사용자가 입력한 계약 정보를 수집하는 계약 정보 수집부; 및 상기 계약 정보에 따른 전자 계약서를 이미지 파일로 획득하고 상기 이미지 파일을 변환하여 상기 계약서 데이터를 생성하는 이미지 처리부를 포함하는 것을 특징으로 한다.In addition, the contract processing unit may include a contract information collection unit that communicates with the terminal to collect contract information input by the user; And an image processing unit that obtains an electronic contract according to the contract information as an image file and converts the image file to generate the contract data.

또한, 상기 암호 처리부는, 대칭키 암호화 방식으로 상기 암호화된 계약서 데이터를 생성하여 상기 계약서 관리부로 전송하고, 차후 상기 사용자의 요청이 있는 경우 상기 계약서 관리부를 통해 상기 블록체인에 저장된 상기 암호화된 계약서 데이터를 수신하여 복호화하는 것을 특징으로 한다.In addition, the encryption processing unit generates the encrypted contract data using a symmetric key encryption method and transmits the encrypted contract data to the contract management unit, and if there is a request from the user, the encrypted contract data stored in the blockchain through the contract management unit It characterized in that it receives and decodes.

또한, 상기 계약서 관리부는, 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 임시 보관용 블록체인 또는 상기 영구 보관용 블록체인을 상기 암호화된 계약서 데이터를 저장할 블록체인으로 결정하는 블록체인 관리부; 상기 블록체인 관리부의 결정에 따라 상기 임시 보관용 블록체인 또는 상기 영구 보관용 블록체인에 상기 암호화된 계약서 데이터를 저장하기 위한 블록체인 주소를 생성하는 블록체인 주소 생성부; 및 상기 블록체인 관리부의 결정에 따라 트랜잭션을 발생시켜 상기 트랜잭션을 식별하는 트랜잭션 ID와 함께 상기 블록체인 주소, 상기 트랜잭션의 발생 시각을 나타내는 타임스탬프, 및 상기 암호화된 계약서 데이터를 해당 블록체인에 저장하는 트랜잭션 발생부를 포함하는 것을 특징으로 한다.In addition, the contract management unit may include a block chain management unit that determines the temporary storage block chain or the permanent storage block chain as a block chain to store the encrypted contract data according to whether or not temporary storage of the encrypted contract data is required; A block chain address generator for generating a block chain address for storing the encrypted contract data in the temporary storage block chain or the permanent storage block chain according to the decision of the block chain management unit; And generating a transaction according to the decision of the blockchain management unit to store the blockchain address, a timestamp indicating the occurrence time of the transaction, and the encrypted contract data together with a transaction ID identifying the transaction in the corresponding blockchain. It characterized in that it comprises a transaction generating unit.

상술한 바와 같이 본 발명은 사용자의 단말로부터 전자 계약에 필요한 계약 정보를 수집하여 상기 전자 계약의 체결을 증명하는 계약서 데이터를 생성하는 계약 처리부; 상기 계약서 데이터를 암호화하여 암호화된 계약서 데이터를 생성하는 암호 처리부; 및 블록체인 노드의 블록체인에 데이터를 저장하는 트랜잭션을 발생시켜 상기 블록체인에 상기 암호화된 계약서 데이터를 저장하고, 상기 사용자의 요청이 있는 경우 상기 블록체인을 조회하여 상기 암호화된 계약서 데이터를 획득하는 계약서 관리부를 포함하고, 상기 계약서 관리부는, 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 암호화된 계약서 데이터를, 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장하거나, 존속 기간이 부여되지 않은 영구 보관용 블록체인에 저장함으로써 개인 키를 통한 서명을 통하여 계약서 파일 형식에 관계없이 서명이 가능하고, PKI를 통한 공인인증서 호환이 가능하며, 탈중앙화된 서명 정보 관리를 통한 데이터 변조 위협이 감소되고, 비설치형 웹 엔진 기반의 서비스를 통한 도입 비용을 감소시킬 수 있어 전자계약 서비스의 신뢰성 및 경제성을 한층 증대시킬 수 있는 효과를 갖게 된다.As described above, the present invention includes: a contract processing unit that collects contract information necessary for an electronic contract from a user's terminal and generates contract data proving the conclusion of the electronic contract; An encryption processing unit for generating encrypted contract data by encrypting the contract data; And generating a transaction for storing data in the block chain of the blockchain node to store the encrypted contract data in the block chain, and when the user requests it, query the block chain to obtain the encrypted contract data. It includes a contract management unit, wherein the contract management unit deletes the encrypted contract data as a block chain to which a certain duration is given according to whether or not temporary storage of the encrypted contract data is required, and the entire block chain is deleted when the corresponding duration elapses. It is stored in a block chain for temporary storage that is stored in a block chain for temporary storage, or in a block chain for permanent storage that has no duration, so that it is possible to sign regardless of the contract file format through signature through a private key, and compatible with public certificates through PKI. In addition, the threat of data tampering through decentralized signature information management can be reduced, and the cost of introduction through a non-installable web engine-based service can be reduced, thereby further increasing the reliability and economics of the electronic contract service. .

도 1은 본 발명이 적용되는 통신 네트워크 환경의 일례를 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 서비스 시스템을 나타낸 블록도.
도 3은 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 처리 방법의 계약서 데이터 생성 및 저장 프로세스를 나타낸 흐름도.
도 4는 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 서비스 시스템에 저장된 데이터 구조의 일례를 나타낸 도면.
도 5는 블록체인에 저장된 트랜잭션 데이터 구조의 일례를 나타낸 도면.
1 is a diagram showing an example of a communication network environment to which the present invention is applied.
Figure 2 is a block diagram showing a block chain-based electronic contract service system according to an embodiment of the present invention.
3 is a flowchart illustrating a process of generating and storing contract data in a method for processing an electronic contract based on a block chain according to an embodiment of the present invention.
4 is a diagram showing an example of a data structure stored in a blockchain-based electronic contract service system according to an embodiment of the present invention.
5 is a diagram showing an example of a structure of transaction data stored in a blockchain.

본 발명의 실시예들에 대한 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.Advantages and features of the embodiments of the present invention, and a method of achieving them will be apparent with reference to the embodiments described later in detail together with the accompanying drawings.

그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, and only these embodiments make the disclosure of the present invention complete, and are common knowledge in the technical field to which the present invention pertains. It is provided to completely inform the scope of the invention to those who have the same, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted.

그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, terms to be described later are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout the present specification.

이하, 첨부된 도면을 참조로 하여 본 발명에 의한 블록체인 기반의 전자계약 서비스 시스템을 실시예에 따라 상세히 설명하기로 한다.Hereinafter, a block chain-based electronic contract service system according to the present invention will be described in detail according to embodiments with reference to the accompanying drawings.

도 1에는 본 발명이 적용되는 통신 네트워크 환경의 일례가 도시되어 있다.1 shows an example of a communication network environment to which the present invention is applied.

도 1에 도시된 바와 같이, 본 발명이 적용되는 통신 네트워크 환경은 사용자 단말(10) 및 블록체인 시스템(20)과, 본 발명에 따른 전자 계약 서비스 시스템(100)을 포함할 수 있다. 상기 사용자 단말(10)은, 전자 계약의 당사자인 사용자가 사용하는 유·무선 통신 장치로서, 스마트폰, 태블릿 PC, 노트북 등과 같은 모바일 단말(10a)이거나 데스크톱 컴퓨터 등과 같은 고정 단말(10b)일 수 있다. 1, the communication network environment to which the present invention is applied may include a user terminal 10 and a block chain system 20, and an electronic contract service system 100 according to the present invention. The user terminal 10 is a wired/wireless communication device used by a user who is a party to an electronic contract, and may be a mobile terminal 10a such as a smartphone, a tablet PC, a notebook, or a fixed terminal 10b such as a desktop computer. have.

사용자 단말(10)은, 전자 계약의 당사자인 사용자로부터 전자 계약 체결에 필요한 계약 정보를 입력받아 전자 계약 서비스 시스템(100)으로 전송함으로써 전자 계약 절차를 진행하고, 전자 계약 서비스 시스템(100)에 접속하여 전자 계약서를 열람하거나, 전자 계약 서비스 시스템(100)으로부터 전자 계약서 파일 또는 전자 계약서의 원본 증명서 파일 등을 수신할 수 있다.The user terminal 10 receives contract information necessary for signing an electronic contract from a user who is a party to the electronic contract and transmits it to the electronic contract service system 100 to proceed with the electronic contract procedure and access the electronic contract service system 100 Accordingly, the electronic contract can be viewed, or an electronic contract file or an original certificate file of the electronic contract can be received from the electronic contract service system 100.

이를 위해, 사용자 단말(10)은 유·무선 통신을 수행하는 통신부와 함께, 입력부, 저장부, 출력부 및 이들을 제어하는 제어부 등을 포함할 수 있다. 이 경우, 입력부는 터치 패널, 키보드, 마우스 등을 포함할 수 있다. 저장부는 RAM, ROM 등의 메모리와 버퍼 등을 포함할 수 있다. 출력부는 디스플레이, 스피커, 프린터 등을 포함할 수 있다. 또한, 이러한 사용자 단말(10)에는 전자 계약 서비스 시스템(100)과 연동하여 전자 계약 절차를 진행하는 애플리케이션 또는 소프트웨어가 설치되어 구동될 수 있다.To this end, the user terminal 10 may include an input unit, a storage unit, an output unit, and a control unit for controlling them, along with a communication unit for performing wired/wireless communication. In this case, the input unit may include a touch panel, a keyboard, and a mouse. The storage unit may include a memory such as RAM and ROM, and a buffer. The output unit may include a display, a speaker, a printer, and the like. In addition, the user terminal 10 may be driven by installing an application or software that performs an electronic contract procedure in connection with the electronic contract service system 100.

상기 블록체인 시스템(20)은, 각각 블록체인을 보유하며 블록체인 네트워크를 구성하는 다수의 블록체인 노드(22)를 포함할 수 있다. 블록체인 시스템(20)은 전자 계약 서비스 시스템(100)에서 생성된 전자 계약 관련 데이터를 블록체인 노드(22)의 블록체인에 보관할 수 있다.The block chain system 20 may include a plurality of block chain nodes 22 each holding a block chain and constituting a block chain network. The blockchain system 20 may store electronic contract-related data generated by the electronic contract service system 100 in the blockchain of the blockchain node 22.

블록체인 네트워크를 구성하는 블록체인 노드들은, 전자 계약 서비스 시스템(100)에서 생성된 전자 계약 관련 데이터들을, 블록체인 기술을 통해 분산 저장할 수 있다. 블록체인(block chain) 기술은, 예컨대 비트코인(Bitcoin), 이더리움(Ethereum), 하이퍼렛저 패브릭(Hyperledger Fabric) 등과 같이 특정 데이터나 디지털 거래 장부 등을 중앙 집중형 서버가 아닌 다수의 블록체인 노드에 분산 저장하여 공동으로 관리하는 기술이다.Blockchain nodes constituting a blockchain network may store electronic contract-related data generated in the electronic contract service system 100 distributedly through blockchain technology. Blockchain technology, for example, is a number of blockchain nodes rather than a centralized server for specific data or digital transaction books such as Bitcoin, Ethereum, and Hyperledger Fabric. It is a technology that is distributed and stored in a joint management system.

즉, 블록체인 기술은 정보로의 접근을 차단하는 방식이 아닌 정보를 공유하고 분산 저장하는 방식으로 해당 정보의 위·변조를 방지하는 기술이다. 이러한 블록체인 기술의 블록체인은 저장된 데이터의 변경과 삭제가 불가능한 비가역적 특성을 가진다.In other words, blockchain technology is a technology that prevents forgery or alteration of the information by sharing and storing information, not by blocking access to information. The blockchain of such a blockchain technology has an irreversible characteristic in which it is impossible to change and delete stored data.

이러한 블록체인 노드들은, 블록체인에 데이터를 저장하기 위해 발생되는 트랜잭션(transaction)의 승인, 블록체인을 이용한 트랜잭션 데이터의 저장, 다른 노드들과의 주기적인 블록 분산 합의 등을 수행할 수 있다. 각각의 블록체인 노드(22)는 서버나 PC 등과 같은 컴퓨터 시스템으로 구성될 수 있으며, 블록체인 기술을 지원하는 블록체인 프로그램이 설치될 수 있다. 이 경우, 블록체인 노드(22)에 설치된 블록체인 프로그램은 블록체인에 저장되는 데이터의 크기나 종류를 제한하지 않도록 설정될 수 있다.These blockchain nodes can approve transactions that occur to store data in the blockchain, store transaction data using the blockchain, and perform periodic block distribution agreements with other nodes. Each block chain node 22 may be composed of a computer system such as a server or a PC, and a block chain program supporting block chain technology may be installed. In this case, the block chain program installed in the block chain node 22 may be set so as not to limit the size or type of data stored in the block chain.

한편, 본 발명에 있어서 블록체인 시스템(20)은, 임시 보관용 블록체인 시스템(20a)과 영구 보관용 블록체인 시스템(20b)으로 분리되어 운영될 수 있다. 이 경우, 임시 보관용 블록체인 시스템(20a)에 포함된 블록체인 노드(22)는 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인을 보유할 수 있다.On the other hand, in the present invention, the block chain system 20 may be operated separately into a block chain system 20a for temporary storage and a block chain system 20b for permanent storage. In this case, the block chain node 22 included in the temporary storage block chain system 20a is a block chain to which a certain duration is granted, and holds a temporary storage block chain in which the entire block chain is deleted when the corresponding duration elapses. can do.

반면, 영구 보관용 블록체인 시스템(20b)에 포함된 블록체인 노드(22)는 존속 기간이 부여되지 않은 영구 보관용 블록체인을 보유할 수 있다. 이와 같이 블록체인 시스템(20)이 임시 보관용 블록체인 시스템(20a)과 영구 보관용 블록체인 시스템(20b)으로 분리되어 운영되는 이유는, 전자 계약 처리On the other hand, the block chain node 22 included in the block chain system 20b for permanent storage may hold a block chain for permanent storage to which a duration is not given. In this way, the reason why the blockchain system 20 is operated separately as a block chain system for temporary storage (20a) and a block chain system for permanent storage (20b) is to process electronic contracts.

시스템(100)을 통해 체결되는 전자 계약의 목적, 계약 조건 등에 따라 해당 계약서 데이터를 일정 기간 삭제 가능한 상태로 임시 보관할 필요가 있기 때문이다. 예컨대, 전자 계약의 계약 조건상 계약 철회 기간이나 계약 취소 기간이 정해져 있고, 실제로 계약 당사자에 의한 계약 철회나 계약 취소가 발생한 경우, 해당 전자 계약의 계약서 데이터는 삭제되어야 한다. This is because it is necessary to temporarily store the corresponding contract data in a state that can be deleted for a certain period of time according to the purpose of the electronic contract concluded through the system 100 and the contract conditions. For example, if the contract withdrawal period or contract cancellation period is set according to the contract terms of the electronic contract, and the contract withdrawal or contract cancellation occurs by the contracting party, the contract data of the electronic contract must be deleted.

그러나 해당 전자 계약의 계약서 데이터가 일반적인 블록체인에 저장되어 있다면, 저장된 데이터의 삭제 및 변경이 불가능한 블록체인의 특성상 계약서 데이터를 삭제할 수 없다. 따라서, 본 발명은, 전자 계약의 목적, 계약 조건 등에 따라 계약서 데이터를 일정 기간 삭제 가능한 상태로 임시 보관할 필요가 있는 경우, 해당 계약서 데이터를 일정한 존속 기간이 부여되어 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장한다. However, if the contract data of the corresponding electronic contract is stored in a general blockchain, the contract data cannot be deleted due to the nature of the blockchain that cannot delete or change the stored data. Therefore, in the present invention, if it is necessary to temporarily store contract data in a state that can be deleted for a certain period of time according to the purpose of the electronic contract, contract conditions, etc., the contract data is given a certain duration and the entire blockchain Is stored in a temporary storage block chain where is deleted.

또한, 본 발명은, 전자 계약의 계약 조건으로 정해진 계약 철회 기간이나 계약 취소 기간이 계약 당사자의 계약 철회나 취소 없이 경과되어 계약 데이터를 임시 보관할 필요가 없어지면, 임시 보관용 블록체인에 저장되었던 해당 계약서 데이터를 영구 보관용 블록체인으로 이전하여 저장할 수 있다.In addition, in the present invention, if the contract withdrawal period or the contract cancellation period specified as the contract condition of the electronic contract elapses without the contract withdrawal or cancellation of the contracting party and there is no need to temporarily store the contract data, the corresponding contract stored in the block chain for temporary storage Data can be transferred and stored in a blockchain for permanent storage.

실시예에 따라, 상기 블록체인 시스템(20)은 단일한 블록체인 시스템으로 구성되되, 해당 블록체인 시스템에 포함된 각각의 블록체인 노드(22)가 상술한 임시 보관용 블록체인과 영구 보관용 블록체인을 모두 보유하도록 구성될 수도 있다. 또한, 상기 블록체인 시스템(20)은 비트코인이나 이더리움 등과 같이 누구나 접근할 수 있는 퍼블릭 체인(public chain)이 아닌, 전자 계약 서비스 사용자들만 접근할 수 있는 프라이빗 체인(private chain)으로 구성될 수 있다.According to an embodiment, the block chain system 20 is composed of a single block chain system, and each block chain node 22 included in the corresponding block chain system is a block chain for temporary storage and a block for permanent storage described above. It can also be configured to hold all of the chains. In addition, the blockchain system 20 may be composed of a private chain that can only be accessed by users of electronic contract services, not a public chain that anyone can access, such as Bitcoin or Ethereum. have.

본 발명에 따른 블록체인 기반의 전자 계약 서비스 시스템(100)은, 이러한 통신 네트워크 환경에 적용되어 서비스 사용자 단말(10) 및 블록체인 시스템(20)의 블록체인 노드(22)와 통신을 수행하며 전자 계약 체결 절차를 진행하고 해당 전자 계약의 계약서 데이터를 블록체인에 저장하여 관리할 수 있다. 또한, 본 발명에 따른 블록체인 기반의 전자 계약 서비스 시스템(100)은, 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청에 따라, 해당 사용자에 대한 인증을 수행하고, 블록체인에 저장된 데이터를 처리하여 사용자에게 전자 계약서를 제공함은 물론, 해당 전자 계약서가 계약서 원본에 대응하는 것임을 증명하는 원본 증명서를 발급할 수 있다.The blockchain-based electronic contract service system 100 according to the present invention is applied to such a communication network environment to communicate with the service user terminal 10 and the blockchain node 22 of the blockchain system 20, and You can proceed with the contract signing process and store and manage the contract data of the corresponding electronic contract in the blockchain. In addition, the blockchain-based electronic contract service system 100 according to the present invention performs authentication for the user in accordance with the user's request to view the contract or the request for proof of the original contract, and processes the data stored in the block chain. In addition to providing an electronic contract to the customer, an original certificate can be issued proving that the electronic contract corresponds to the original contract.

도 2에는 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 서비스 시스템(100)이 블록도로 도시되어 있다.2 is a block diagram of a block chain-based electronic contract service system 100 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 서비스 시스템(100)은 계약 처리부(110), 암호 처리부(120) 및 계약서 관리부(130)를 포함할 수 있으며, 실시예에 따라 인증 정보 관리부(140), 사용자 인증부(150), 증명 정보 생성부(160), 계약서 원본 증명부(170), 계약 정보 발송부(180) 등을 더 포함할 수 있다. As shown in FIG. 2, the blockchain-based electronic contract service system 100 according to an embodiment of the present invention may include a contract processing unit 110, a cryptographic processing unit 120, and a contract management unit 130. , Depending on the embodiment, the authentication information management unit 140, the user authentication unit 150, the authentication information generation unit 160, the original contract verification unit 170, it may further include a contract information sending unit 180, and the like.

또한, 상기 전자 계약 서비스 시스템(100)은 통신 네트워크를 통해 사용자 단말(10) 및 블록체인 시스템(20)의 블록체인 노드(22)와 유·무선 통신을 수행하는 통신부(101), 시스템 운영자의 명령을 입력받는 입력부(102), 전자 계약 체결 과정에서 수집 또는 생성되는 데이터를 저장하는 저장부(103), 데이터를 시·청각적으로 출력하는 출력부(104), 및 시스템 동작을 전반적으로 제어하는 제어부(105)를 포함하는 서버 등의 컴퓨터 시스템으로 구성될 수 있다. In addition, the electronic contract service system 100 is a communication unit 101 that performs wired/wireless communication with the user terminal 10 and the block chain node 22 of the block chain system 20 through a communication network. An input unit 102 that receives a command, a storage unit 103 that stores data collected or generated in the process of signing an electronic contract, an output unit 104 that visually and audibly outputs the data, and overall control of the system operation It may be configured as a computer system such as a server including the control unit 105.

이 경우, 계약 처리부(110), 암호 처리부(120), 계약서 관리부(130), 인증 정보 관리부(140), 사용자 인증부(150), 증명 정보 생성부(160), 계약서 원본 증명부(170), 계약 정보 발송부(180)는 마이크로프로세서와 이를 구동하는 컴퓨터 프로그램의 결합으로 구현되는 제어부(105)의 구성 모듈들일 수 있다. 또한, 상기 전자 계약 서비스 시스템(100)은 단일한 서버로 구성되거나 물리적으로 독립되어 상호 연동하는 복수의 서버들로 구성될 수 있다.In this case, the contract processing unit 110, the password processing unit 120, the contract management unit 130, the authentication information management unit 140, the user authentication unit 150, the authentication information generation unit 160, the original contract authentication unit 170 , The contract information sending unit 180 may be constituent modules of the control unit 105 implemented by a combination of a microprocessor and a computer program driving the same. In addition, the electronic contract service system 100 may be composed of a single server or may be composed of a plurality of servers that are physically independent and interoperate with each other.

우선, 상기 계약 처리부(110)는, 사용자의 단말로부터 전자 계약에 필요한 계약 정보를 수집하여 상기 전자 계약의 체결을 증명하는 계약서 데이터를 생성할 수 있다. 이를 위해, 계약 처리부(110)는 후술되는 계약 정보 수집부(112) 및 이미지 처리부(112)를 포함할 수 있다.First, the contract processing unit 110 may collect contract information necessary for an electronic contract from a user's terminal to generate contract data proving the conclusion of the electronic contract. To this end, the contract processing unit 110 may include a contract information collection unit 112 and an image processing unit 112 to be described later.

상기 암호 처리부(120)는, 계약 처리부(110)에서 생성된 계약서 데이터를 암호화하여 암호화된 계약서 데이터를 생성할 수 있다. 이 경우, 암호 처리부(120)는 대칭키 암호화 방식으로 상기 암호화된 계약서 데이터를 생성하여 계약서 관리부(130)로 전송하고, 차후 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청 등이 있는 경우 블록체인에 저장된 암호화된 계약서 데이터를 상기 계약서 관리부(130)를 통해 수신하여 복호화할 수 있다.The encryption processing unit 120 may generate encrypted contract data by encrypting contract data generated by the contract processing unit 110. In this case, the encryption processing unit 120 generates the encrypted contract data using a symmetric key encryption method and transmits the encrypted contract data to the contract management unit 130. The encrypted contract data may be received and decrypted through the contract management unit 130.

상기 계약서 관리부(130)는, 블록체인 노드(22)의 블록체인에 데이터를 저장하는 트랜잭션을 발생시켜 해당 블록체인에 상기 암호화된 계약서 데이터를 저장할 수 있다. 이 경우, 상기 계약서 관리부(130)는 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 암호화된 계약서 데이터를, 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장하거나, 존속 기간이 부여되지 않은 영구 보관용 블록체인에 저장할 수 있다.The contract management unit 130 may generate a transaction for storing data in the block chain of the block chain node 22 and store the encrypted contract data in the corresponding block chain. In this case, the contract management unit 130 stores the encrypted contract data according to whether or not temporary storage of the encrypted contract data is required. It can be stored in a blockchain for temporary storage, or in a blockchain for permanent storage that is not given a duration.

또한, 추후 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청 등이 있는 경우, 상기 계약서 관리부(130)는 블록체인을 조회하여 상기 암호화된 계약서 데이터를 획득할 수 있다. 이를 위해, 계약서 관리부(130)는 후술되는 블록체인 관리부(132), 블록체인 주소 생성부(134), 트랜잭션 발생부(136), 및 블록체인 조회부(138)를 포함할 수 있다.In addition, when a user requests to view the contract or to verify the original contract in the future, the contract management unit 130 may obtain the encrypted contract data by inquiring the blockchain. To this end, the contract management unit 130 may include a block chain management unit 132, a block chain address generation unit 134, a transaction generation unit 136, and a block chain inquiry unit 138, which will be described later.

상기 인증 정보 관리부(140)는, 계약 처리부(110)를 통해 처리되는 전자 계약과 관련하여 인증용 키 페어(key pair)를 생성하고, 상기 인증용 키 페어의 제1 인증용 키를 자체 저장하는 한편, 상기 인증용 키 페어의 제2 인증용 키를 계약서 관리부(130)로 전송하여 상기 암호화된 계약서 데이터와 함께 블록체인에 저장되도록 할 수 있다. 이를 위해, 인증 정보 관리부(140)는 후술되는 인증용 키 페어 생성부(142), 개인 고유 코드 생성부(144), 및 키 관리부(146)를 포함할 수 있다.The authentication information management unit 140 generates a key pair for authentication in relation to the electronic contract processed through the contract processing unit 110, and stores the first authentication key of the authentication key pair. Meanwhile, the second authentication key of the authentication key pair may be transmitted to the contract management unit 130 to be stored in the blockchain together with the encrypted contract data. To this end, the authentication information management unit 140 may include an authentication key pair generation unit 142, a personal code generation unit 144, and a key management unit 146, which will be described later.

상기 사용자 인증부(150)는, 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청 등에 대응하여 블록체인에 저장된 제2 인증용 키를 획득하고, 상기 제1 인증용 키를 보관 중인 상기 인증 정보 관리부(140)와 연동하여 상기 제1 인증용 키와 상기 획득된 제2 인증용 키가 인증용 키 페어에 해당하는 것임을 검증함으로써 사용자 인증을 수행할 수 있다. 이를 위해, 사용자 인증부(150)는 후술되는 키 획득부(152), 토큰 생성부(154), 및 인증 수행부(156)를 포함할 수 있다.The user authentication unit 150 obtains a second authentication key stored in the blockchain in response to a user's request to view a contract or a request to verify the original contract, and the authentication information management unit 140 storing the first authentication key. ), and verifying that the first authentication key and the obtained second authentication key correspond to an authentication key pair, thereby performing user authentication. To this end, the user authentication unit 150 may include a key acquisition unit 152, a token generation unit 154, and an authentication execution unit 156, which will be described later.

상기 증명 정보 생성부(160)는, 상기 계약 처리부(110)에 의해 생성된 계약서 데이터로부터 계약서 원본 증명용 해시값을 생성하여 사용자에게 제공되도록 하고, 상기 사용자의 계약서 원본 증명 요청이 있는 경우, 블록체인에 저장된 암호화된 계약서 데이터를 복호화함으로써 생성된 복호화된 계약서 데이터로부터 계약서 해시값을 생성할 수 있다.The proof information generation unit 160 generates a hash value for authenticating the original contract from the contract data generated by the contract processing unit 110 to be provided to the user, and when there is a request for proof of the original contract, the block The contract hash value can be generated from the generated decrypted contract data by decrypting the encrypted contract data stored in the chain.

이 경우, 증명 정보 생성부(160)는 상기 생성된 계약서 데이터를 블록체인에 저장하는 트랜잭션의 타임스탬프(time stamp)와 연관시켜 상기 생성된 계약서 데이터를 중복적으로 해시 처리함으로써 상기 계약서 원본 증명용 해시값을 생성하고, 상기 타임스탬프와 연관시켜 상기 복호화된 계약서 데이터를 중복적으로 해시 처리함으로써 상기 계약서 해시값을 생성할 수 있다. 이를 위해, 증명 정보 생성부(160)는 후술되는 1차 해시 처리부(162) 및 2차 해시 처리부(164)를 포함할 수 있다In this case, the proof information generation unit 160 associates the generated contract data with a time stamp of a transaction storing the block chain, and redundantly hashes the generated contract data to verify the original contract. The hash value of the contract may be generated by generating a hash value and redundantly hashing the decrypted contract data by associating it with the timestamp. To this end, the proof information generation unit 160 may include a primary hash processing unit 162 and a secondary hash processing unit 164 to be described later.

상기 계약서 원본 증명부(170)는, 상기 시스템(100)이 사용자 단말(10) 또는 상기 사용자의 타 단말로부터 상기 사용자에게 제공된 계약서 원본 증명용 해시값을 수신하면, 상기 수신된 계약서 원본 증명용 해시값과 상기 계약서 해시값을 비교하여 상기 블록체인에 저장된 암호화된 계약서 데이터로부터 복호화된 계약서 데이터가 상기 전자 계약의 계약서 원본에 대응하는 것임을 증명할 수 있다. 이를 위해, 계약서 원본 증명부(170)는 후술되는 해시값 획득부(172), 계약서 원본 판별부(174), 및 원본 증명서 발급부를 포함할 수 있다.When the system 100 receives a hash value for authenticating the original contract provided to the user from the user terminal 10 or the other terminal of the user, the contract original authentication unit 170, the received contract original authentication hash It can be verified that the contract data decrypted from the encrypted contract data stored in the block chain corresponds to the original contract of the electronic contract by comparing the value and the contract hash value. To this end, the contract original verification unit 170 may include a hash value acquisition unit 172, an original contract determination unit 174, and an original certificate issuing unit, which will be described later.

상기 계약 정보 발송부(180)는, 전자 계약 체결에 따라 생성된 전자 계약 관련 정보 중에서 사용자에게 제공해야 할 정보를 상기 사용자 단말(10)로 전송하거나 상기 사용자의 연락처로 발송할 수 있다. 도 3에는 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 처리 방법의 계약서 데이터 생성 및 저장 프로세스가 흐름도로 도시되어 있다.The contract information sending unit 180 may transmit, to the user terminal 10, information to be provided to the user from among electronic contract-related information generated according to the conclusion of the electronic contract, or to the user's contact information. 3 is a flowchart illustrating a process of generating and storing contract data in a method of processing an electronic contract based on a block chain according to an embodiment of the present invention.

이하, 도 3을 참조하여 도 2에 도시된 전자 계약 서비스 시스템(100)의 세부구성들과 그 동작들을 더욱 상세하게 설명한다.Hereinafter, detailed configurations of the electronic contract service system 100 shown in FIG. 2 and operations thereof will be described in more detail with reference to FIG. 3.

도 3에 도시된 바와 같이, 상기 계약 처리부(110)는, 사용자의 단말로부터 전자 계약에 필요한 계약 정보를 수집하여 상기 전자 계약의 체결을 증명하는 계약서 데이터를 생성할 수 있다. 이를 위해, 계약 처리부(110)는 후술되는 계약 정보 수집부(112) 및 이미지 처리부(112)를 포함할 수 있다.As shown in FIG. 3, the contract processing unit 110 may collect contract information necessary for an electronic contract from a user's terminal to generate contract data proving the conclusion of the electronic contract. To this end, the contract processing unit 110 may include a contract information collection unit 112 and an image processing unit 112 to be described later.

상기 암호 처리부(120)는, 계약 처리부(110)에서 생성된 계약서 데이터를 암호화하여 암호화된 계약서 데이터를 생성할 수 있다. 이 경우, 암호 처리부(120)는 대칭키 암호화 방식으로 상기 암호화된 계약서 데이터를 생성하여 계약서 관리부(130)로 전송하고, 차후 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청 등이 있는 경우 블록체인에 저장된 암호화된 계약서 데이터를 상기 계약서 관리부(130)를 통해 수신하여 복호화할 수 있다.The encryption processing unit 120 may generate encrypted contract data by encrypting contract data generated by the contract processing unit 110. In this case, the encryption processing unit 120 generates the encrypted contract data using a symmetric key encryption method and transmits the encrypted contract data to the contract management unit 130. The encrypted contract data may be received and decrypted through the contract management unit 130.

상기 계약서 관리부(130)는, 블록체인 노드(22)의 블록체인에 데이터를 저장하는 트랜잭션을 발생시켜 해당 블록체인에 상기 암호화된 계약서 데이터를 저장할 수 있다. 이 경우, 상기 계약서 관리부(130)는 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 암호화된 계약서 데이터를, 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장하거나, 존속 기간이 부여되지 않은 영구 보관용 블록체인에 저장할 수 있다.The contract management unit 130 may generate a transaction for storing data in the block chain of the block chain node 22 to store the encrypted contract data in the corresponding block chain. In this case, the contract management unit 130 stores the encrypted contract data according to whether or not temporary storage of the encrypted contract data is required. It can be stored in a blockchain for temporary storage, or in a blockchain for permanent storage that is not given a duration.

또한, 추후 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청 등이 있는 경우, 상기 계약서 관리부(130)는 블록체인을 조회하여 상기 암호화된 계약서 데이터를 획득할 수 있다. 이를 위해, 계약서 관리부(130)는 후술되는 블록체인 관리부(132), 블록체인 주소 생성부(134), 트랜잭션 발생부(136), 및 블록체인 조회부(138)를 포함할 수 있다.In addition, when a user requests to view the contract or to verify the original contract in the future, the contract management unit 130 may obtain the encrypted contract data by inquiring the blockchain. To this end, the contract management unit 130 may include a block chain management unit 132, a block chain address generation unit 134, a transaction generation unit 136, and a block chain inquiry unit 138, which will be described later.

상기 인증 정보 관리부(140)는, 계약 처리부(110)를 통해 처리되는 전자 계약과 관련하여 인증용 키 페어(key pair)를 생성하고, 상기 인증용 키 페어의 제1 인증용 키를 자체 저장하는 한편, 상기 인증용 키 페어의 제2 인증용 키를 계약서 관리부(130)로 전송하여 상기 암호화된 계약서 데이터와 함께 블록체인에 저장되도록 할 수 있다. The authentication information management unit 140 generates a key pair for authentication in relation to the electronic contract processed through the contract processing unit 110, and stores the first authentication key of the authentication key pair. Meanwhile, the second authentication key of the authentication key pair may be transmitted to the contract management unit 130 to be stored in the blockchain together with the encrypted contract data.

이를 위해, 인증 정보 관리부(140)는 후술되는 인증용 키 페어 생성부(142), 개인 고유 코드 생성부(144), 및 키 관리부(146)를 포함할 수 있다. 상기 사용자 인증부(150)는, 사용자의 계약서 열람 요청 또는 계약서 원본 증명 요청 등에 대응하여 블록체인에 저장된 제2 인증용 키를 획득하고, 상기 제1 인증용 키를 보관 중인 상기 인증 정보 관리부(140)와 연동하여 상기 제1 인증용 키와 상기 획득된 제2 인증용 키가 인증용 키 페어에 해당하는 것임을 검증함으로써 사용자 인증을 수행할 수 있다. 이를 위해, 사용자 인증부(150)는 후술되는 키 획득부(152), 토큰 생성부(154), 및 인증 수행부(156)를 포함할 수 있다.To this end, the authentication information management unit 140 may include an authentication key pair generation unit 142, a personal code generation unit 144, and a key management unit 146, which will be described later. The user authentication unit 150 obtains a second authentication key stored in the blockchain in response to a user's request to view a contract or a request to verify the original contract, and the authentication information management unit 140 storing the first authentication key. ), and verifying that the first authentication key and the obtained second authentication key correspond to an authentication key pair, thereby performing user authentication. To this end, the user authentication unit 150 may include a key acquisition unit 152, a token generation unit 154, and an authentication execution unit 156, which will be described later.

상기 증명 정보 생성부(160)는, 상기 계약 처리부(110)에 의해 생성된 계약서 데이터로부터 계약서 원본 증명용 해시값을 생성하여 사용자에게 제공되도록 하고, 상기 사용자의 계약서 원본 증명 요청이 있는 경우, 블록체인에 저장된 암호화된 계약서 데이터를 복호화함으로써 생성된 복호화된 계약서 데이터로부터 계약서 해시값을 생성할 수 있다.The proof information generation unit 160 generates a hash value for authenticating the original contract from the contract data generated by the contract processing unit 110 to be provided to the user, and when there is a request for proof of the original contract from the user, the block The contract hash value can be generated from the generated decrypted contract data by decrypting the encrypted contract data stored in the chain.

또한, 증명 정보 생성부(160)는 상기 생성된 계약서 데이터를 블록체인에 저장하는 트랜잭션의 타임스탬프(time stamp)와 연관시켜 상기 생성된 계약서 데이터를 중복적으로 해시 처리함으로써 계약서 원본 증명용 해시값을 생성하고, 상기 타임스탬프와 연관시켜 상기 복호화된 계약서 데이터를 중복적으로 해시 처리함으로써 계약서 해시값을 생성할 수 있다. 이를 위해, 증명 정보 생성부(160)는 후술되는 1차 해시 처리부(162) 및 2차 해시 처리부(164)를 포함할 수 있다. In addition, the proof information generation unit 160 associates the generated contract data with a time stamp of a transaction storing the blockchain, and redundantly hashes the generated contract data, thereby providing a hash value for proofing the original contract. A hash value of a contract may be generated by repeatedly hashing the decrypted contract data by creating and associating with the timestamp. To this end, the proof information generation unit 160 may include a primary hash processing unit 162 and a secondary hash processing unit 164 to be described later.

상기 계약서 원본 증명부(170)는, 상기 시스템(100)이 사용자 단말(10) 또는 상기 사용자의 타 단말로부터 상기 사용자에게 제공된 계약서 원본 증명용 해시값을 수신하면, 상기 수신된 계약서 원본 증명용 해시값과 상기 계약서 해시값을 비교하여 상기 블록체인에 저장된 암호화된 계약서 데이터로부터 복호화된 계약서 데이터가 상기 전자 계약의 계약서 원본에 대응하는 것임을 증명할 수 있다.When the system 100 receives a hash value for authenticating the original contract provided to the user from the user terminal 10 or the other terminal of the user, the contract original authentication unit 170, the received contract original authentication hash It can be verified that the contract data decrypted from the encrypted contract data stored in the block chain corresponds to the original contract of the electronic contract by comparing the value and the contract hash value.

이를 위해, 계약서 원본 증명부(170)는 후술되는 해시값 획득부(172), 계약서 원본 판별부(174), 및 원본 증명서 발급부를 포함할 수 있다. 상기 계약 정보 발송부(180)는, 전자 계약 체결에 따라 생성되는 전자 계약 관련 정보 중에서 사용자에게 제공해야 할 정보를 상기 사용자의 단말(10)로 전송하거나 상기 사용자의 연락처로 발송할 수 있다.To this end, the contract original verification unit 170 may include a hash value acquisition unit 172, an original contract determination unit 174, and an original certificate issuing unit, which will be described later. The contract information sending unit 180 may transmit, to the user's terminal 10, information to be provided to the user among electronic contract-related information generated according to the conclusion of the electronic contract, or to the user's contact information.

도 4에는 본 발명의 일 실시예에 따른 블록체인 기반의 전자 계약 서비스 시스템에 저장된 데이터 구조의 일례가 도시되어 있다.4 shows an example of a data structure stored in a blockchain-based electronic contract service system according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 전자 계약 서비스 시스템(100)의 저장부(103)는, 상기 전자 계약의 당사자인 사용자의 식별정보, 상기 사용자의 전화번호나 이메일 주소 등의 연락처 정보, 상기 개인 고유 코드 생성부(144)가 상기 사용자에게 할당한 PIN 코드, 상기 트랜잭션 발생시 생성된 트랜잭션 ID와 타임스탬프 등을 포함하는 전자 계약 관련 정보를 저장할 수 있다.As shown in FIG. 4, the storage unit 103 of the electronic contract service system 100 includes identification information of a user who is a party to the electronic contract, contact information such as a phone number or email address of the user, and the individual The code generation unit 144 may store electronic contract related information including a PIN code assigned to the user, a transaction ID generated when the transaction occurs, and a timestamp.

일 실시예에 있어서, 상기 저장부(103)는 상기 전자 계약의 계약서 보관 기간과 관련된 계약 조건 정보 등을 더 저장할 수 있다. 이 경우, 상기 계약 조건 정보는 상기 전자 계약의 체결시 상기 계약 처리부(110)에 의해 상기 전자 계약의 계약 내용에서 추출되어 저장되거나, 상기 전자 계약의 청약자나 당사자의 요청에 따라 미리 설정되어 저장될 수 있다.In an embodiment, the storage unit 103 may further store contract condition information related to a contract storage period of the electronic contract. In this case, the contract condition information may be extracted and stored from the contract contents of the electronic contract by the contract processing unit 110 when the electronic contract is concluded, or may be preset and stored at the request of the subscriber or party of the electronic contract. I can.

도 5에는 블록체인에 저장된 트랜잭션 데이터 구조의 일례가 도시되어 있다.Figure 5 shows an example of the structure of the transaction data stored in the blockchain.

도 5에 도시된 바와 같이, 블록체인 노드(22)의 블록체인에는 트랜잭션 데이터가 키(key)-밸류(value) 형식으로 저장된다. 즉, 전자 계약 체결에 따라 발생된 트랜잭션을 조회하기 위한 키로서 상기 트랜잭션 ID가 저장되고, 상기 트랜잭션 ID에 관련된 밸류로서 상기 블록체인 주소 생성부(134)에 의해 생성된 블록체인 주소, 상기 트랜잭션의 발생 시각을 나타내는 타임스탬프, 상기 제2 인증용 키에 해당하는 공개키, 및 상기 전자 계약의 암호화된 계약서 데이터 등이 저장될 수 있다.As shown in FIG. 5, transaction data is stored in the block chain of the blockchain node 22 in a key-value format. That is, the transaction ID is stored as a key for inquiring a transaction generated according to the conclusion of an electronic contract, and a block chain address generated by the block chain address generator 134 as a value related to the transaction ID, A timestamp indicating the occurrence time, a public key corresponding to the second authentication key, and encrypted contract data of the electronic contract may be stored.

이같이 본 발명은 사용자의 단말로부터 전자 계약에 필요한 계약 정보를 수집하여 상기 전자 계약의 체결을 증명하는 계약서 데이터를 생성하는 계약 처리부; 상기 계약서 데이터를 암호화하여 암호화된 계약서 데이터를 생성하는 암호 처리부; 및 블록체인 노드의 블록체인에 데이터를 저장하는 트랜잭션을 발생시켜 상기 블록체인에 상기 암호화된 계약서 데이터를 저장하고, 상기 사용자의 요청이 있는 경우 상기 블록체인을 조회하여 상기 암호화된 계약서 데이터를 획득하는 계약서 관리부를 포함하고, 상기 계약서 관리부는, 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 암호화된 계약서 데이터를, 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장하거나, 존속 기간이 부여되지 않은 영구 보관용 블록체인에 저장함으로써개인 키를 통한 서명을 통하여 계약서 파일 형식에 관계없이 서명이 가능하고, PKI를 통한 공인인증서 호환이 가능하며, 탈중앙화된 서명 정보 관리를 통한 데이터 변조 위협이 감소되고, 비설치형 웹 엔진 기반의 서비스를 통한 도입 비용을 감소시킬 수 있어 전자계약 서비스의 신뢰성 및 경제성을 한층 증대시킬 수 있게 되는 것이다.As described above, the present invention includes: a contract processing unit that collects contract information necessary for an electronic contract from a user's terminal and generates contract data proving the conclusion of the electronic contract; An encryption processing unit for generating encrypted contract data by encrypting the contract data; And generating a transaction for storing data in the block chain of a block chain node to store the encrypted contract data in the block chain, and when the user requests it, query the block chain to obtain the encrypted contract data. It includes a contract management unit, wherein the contract management unit deletes the encrypted contract data as a block chain to which a certain duration is given according to whether or not temporary storage of the encrypted contract data is required, and the entire block chain is deleted when the corresponding duration elapses. It is stored in a block chain for temporary storage that is stored in a temporary storage block chain, or in a block chain for permanent storage that does not have a duration, so that it is possible to sign regardless of the contract file format through signature through a private key, and compatible with public certificates through PKI. In addition, the threat of data tampering through decentralized signature information management can be reduced, and the cost of introduction through a non-installable web engine-based service can be reduced, further increasing the reliability and economics of the electronic contract service.

이상에서 본 고안에 의한 블록체인 기반의 전자계약 서비스 시스템을 구체적으로 설명하였으나, 이는 본 고안의 가장 바람직한 실시양태를 기재한 것일 뿐, 본 고안이 이에 한정되는 것은 아니며, 첨부된 청구범위에 의해서 그 범위가 결정되어지고 한정되어진다. 또한, 이 기술분야에서 통상의 지식을 가진 자라면 누구나 본 고안의 명세서의 기재내용에 의한 다양한 변형 및 모방을 행할 수 있을 것이나, 이 역시 본 고안의 범위를 벗어난 것이 아님은 명백하다고 할 것이다.In the above, the blockchain-based electronic contract service system according to the present invention has been described in detail, but this is only a description of the most preferred embodiment of the present invention, and the present invention is not limited thereto. The scope is determined and defined. In addition, any person of ordinary skill in the art will be able to perform various modifications and imitations according to the description of the specification of the present invention, but it will be apparent that this is also not outside the scope of the present invention.

100 : 전자 계약 서비스 시스템 110 : 계약 처리부
112 : 계약 정보 수집부 114 : 이미지 처리부
120 : 암호 처리부 130 : 계약서 관리부
132 : 블록체인 관리부 134 : 블록체인 주소 생성부
136 : 트랜잭션 발생부 138 : 블록체인 조회부
140 : 인증 정보 관리부 142 : 인증용 키 페어 생성부
144 : 개인 고유 코드 생성부 146 : 키 관리부
150 : 사용자 인증부 152 : 키 획득부
154 : 토큰 생성부 156 : 인증 수행부
160 : 증명 정보 생성부 162 : 1차 해시 처리부
164 : 2차 해시 처리부 170 : 계약서 원본 증명부
172 : 해시값 획득부 174 : 계약서 원본 판별부
176 : 원본 증명서 발급부 180 : 계약 정보 발송부
100: electronic contract service system 110: contract processing unit
112: contract information collection unit 114: image processing unit
120: encryption processing unit 130: contract management unit
132: Blockchain management unit 134: Blockchain address generation unit
136: transaction generation unit 138: block chain inquiry unit
140: authentication information management unit 142: authentication key pair generation unit
144: personal code generation unit 146: key management unit
150: user authentication unit 152: key acquisition unit
154: token generating unit 156: authentication performing unit
160: proof information generation unit 162: primary hash processing unit
164: secondary hash processing unit 170: original contract verification unit
172: hash value acquisition unit 174: contract original identification unit
176: original certificate issuing unit 180: contract information sending unit

Claims (3)

블록체인을 기반을 기반으로 한 전자계약 서비스 시스템으로서,
사용자의 단말로부터 전자 계약에 필요한 계약 정보를 수집하여 상기 전자 계약의 체결을 증명하는 계약서 데이터를 생성하는 계약 처리부;
상기 계약서 데이터를 암호화하여 암호화된 계약서 데이터를 생성하는 암호 처리부; 및
블록체인 노드의 블록체인에 데이터를 저장하는 트랜잭션을 발생시켜 상기 블록체인에 상기 암호화된 계약서 데이터를 저장하고, 상기 사용자의 요청이 있는 경우 상기 블록체인을 조회하여 상기 암호화된 계약서 데이터를 획득하는 계약서 관리부를 포함하고,
상기 계약서 관리부는, 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 암호화된 계약서 데이터를, 일정한 존속 기간이 부여되는 블록체인으로서 해당 존속 기간의 경과시 블록체인 전체가 삭제되는 임시 보관용 블록체인에 저장하거나, 존속 기간이 부여되지 않은 영구 보관용 블록체인에 저장하며,
상기 계약 처리부는, 상기 단말과 통신하여 상기 사용자가 입력한 계약 정보를 수집하는 계약 정보 수집부; 및
상기 계약 정보에 따른 전자 계약서를 이미지 파일로 획득하고 상기 이미지 파일을 변환하여 상기 계약서 데이터를 생성하는 이미지 처리부를 포함하고,
상기 암호 처리부는, 대칭키 암호화 방식으로 상기 암호화된 계약서 데이터를 생성하여 상기 계약서 관리부로 전송하고, 차후 상기 사용자의 요청이 있는 경우 상기 계약서 관리부를 통해 상기 블록체인에 저장된 상기 암호화된 계약서 데이터를 수신하여 복호화하는 것을 특징으로 한 블록체인 기반의 전자계약 서비스 시스템.
As an electronic contract service system based on blockchain,
A contract processing unit that collects contract information necessary for an electronic contract from a user's terminal and generates contract data proving the conclusion of the electronic contract;
An encryption processing unit for generating encrypted contract data by encrypting the contract data; And
A contract for storing the encrypted contract data in the block chain by generating a transaction that stores data in the block chain of a block chain node, and obtaining the encrypted contract data by inquiring the block chain at the request of the user Including the management department,
The contract management unit is a block chain to which the encrypted contract data is given a certain duration depending on whether the encrypted contract data needs to be temporarily stored, and the entire block chain is deleted when the duration of the corresponding period elapses. Stored in a block chain for permanent storage that is not given a duration of time,
The contract processing unit includes: a contract information collection unit communicating with the terminal to collect contract information input by the user; And
An image processing unit that obtains an electronic contract according to the contract information as an image file and converts the image file to generate the contract data,
The encryption processing unit generates the encrypted contract data using a symmetric key encryption method and transmits the encrypted contract data to the contract management unit, and receives the encrypted contract data stored in the blockchain through the contract management unit when there is a request from the user. Blockchain-based electronic contract service system characterized by decryption.
제1항에 있어서,
상기 계약서 관리부는, 상기 암호화된 계약서 데이터의 임시 보관 필요 여부에 따라 상기 임시 보관용 블록체인 또는 상기 영구 보관용 블록체인을 상기 암호화된 계약서 데이터를 저장할 블록체인으로 결정하는 블록체인 관리부;
상기 블록체인 관리부의 결정에 따라 상기 임시 보관용 블록체인 또는 상기 영구 보관용 블록체인에 상기 암호화된 계약서 데이터를 저장하기 위한 블록체인 주소를 생성하는 블록체인 주소 생성부; 및
상기 블록체인 관리부의 결정에 따라 트랜잭션을 발생시켜 상기 트랜잭션을 식별하는 트랜잭션 ID와 함께 상기 블록체인 주소, 상기 트랜잭션의 발생 시각을 나타내는 타임스탬프, 및 상기 암호화된 계약서 데이터를 해당 블록체인에 저장하는 트랜잭션 발생부를 포함하는 것을 특징으로 한 블록체인 기반의 전자계약 서비스 시스템.
The method of claim 1,
The contract management unit may include a block chain management unit configured to determine the temporary storage block chain or the permanent storage block chain as a block chain to store the encrypted contract data according to whether or not temporary storage of the encrypted contract data is required;
A block chain address generator for generating a block chain address for storing the encrypted contract data in the temporary storage block chain or the permanent storage block chain according to the decision of the block chain management unit; And
A transaction that generates a transaction according to the decision of the blockchain management unit to store the blockchain address, a timestamp indicating the occurrence time of the transaction, and the encrypted contract data in the corresponding blockchain along with a transaction ID that identifies the transaction Blockchain-based electronic contract service system, characterized in that it includes a generator.
제2항에 있어서,
상기 블록체인 관리부는, 상기 암호화된 계약서 데이터가 상기 임시 보관용 블록체인에 저장된 후 상기 전자 계약의 계약 내용에 따른 계약서 임시 보관 기간이 경과된 경우, 상기 영구 보관용 블록체인을 상기 암호화된 계약서 데이터를 저장할 블록체인으로 결정하고, 상기 계약서 관리부는, 상기 임시 보관용 블록체인을 조회하여 상기 임시 보관용 블록체인에 저장된 상기 암호화된 계약서 데이터를 획득하는 블록체인 조회부를 더 포함하는 것을 특징으로 하는 블록체인 기반의 전자 계약 서비스 시스템.



The method of claim 2,
When the temporary storage period of the contract according to the contract content of the electronic contract has elapsed after the encrypted contract data is stored in the temporary storage block chain, the block chain for permanent storage is stored in the encrypted contract data. Block chain to be stored, and the contract management unit further comprises a block chain inquiry unit for inquiring the block chain for temporary storage and obtaining the encrypted contract data stored in the block chain for temporary storage. Chain-based electronic contract service system.



KR1020190148137A 2019-11-19 2019-11-19 System for processing electronic contracts based on blockchain KR20210060745A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190148137A KR20210060745A (en) 2019-11-19 2019-11-19 System for processing electronic contracts based on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190148137A KR20210060745A (en) 2019-11-19 2019-11-19 System for processing electronic contracts based on blockchain

Publications (1)

Publication Number Publication Date
KR20210060745A true KR20210060745A (en) 2021-05-27

Family

ID=76135481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148137A KR20210060745A (en) 2019-11-19 2019-11-19 System for processing electronic contracts based on blockchain

Country Status (1)

Country Link
KR (1) KR20210060745A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102344118B1 (en) 2021-07-01 2021-12-29 (주)코아메소드 Blockchain electronic contract system
CN113872768A (en) * 2021-09-23 2021-12-31 国网陕西省电力公司汉中供电公司 Power transmission and transformation equipment state quantity acquisition and storage method and system
KR102352353B1 (en) * 2021-07-09 2022-01-18 주식회사 넥스인테크놀로지 System and method for saving and managing personal black box data using block chain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101132672B1 (en) 2011-10-14 2012-04-03 주식회사 아이온커뮤니케이션즈 Integrated authentication system using electronic contract

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101132672B1 (en) 2011-10-14 2012-04-03 주식회사 아이온커뮤니케이션즈 Integrated authentication system using electronic contract

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102344118B1 (en) 2021-07-01 2021-12-29 (주)코아메소드 Blockchain electronic contract system
KR102352353B1 (en) * 2021-07-09 2022-01-18 주식회사 넥스인테크놀로지 System and method for saving and managing personal black box data using block chain
CN113872768A (en) * 2021-09-23 2021-12-31 国网陕西省电力公司汉中供电公司 Power transmission and transformation equipment state quantity acquisition and storage method and system
CN113872768B (en) * 2021-09-23 2024-01-09 国网陕西省电力公司汉中供电公司 Method and system for collecting and storing state quantity of power transmission and transformation equipment

Similar Documents

Publication Publication Date Title
WO2020192773A1 (en) Digital identity authentication method, device, apparatus and system, and storage medium
US10516538B2 (en) System and method for digitally signing documents using biometric data in a blockchain or PKI
CN108768988B (en) Block chain access control method, block chain access control equipment and computer readable storage medium
KR101676215B1 (en) Method for signing electronic documents with an analog-digital signature with additional verification
CN100454274C (en) Safty printing using secrete key after being checked
CN1835437B (en) Trusted third party authentication for web services
US7702107B1 (en) Server-based encrypted messaging method and apparatus
Brunner et al. Did and vc: Untangling decentralized identifiers and verifiable credentials for the web of trust
KR20190031989A (en) System and method for processing electronic contracts based on blockchain
US20060095769A1 (en) System and method for initializing operation for an information security operation
JP2007081482A (en) Terminal authentication method, apparatus and program thereof
EP2579221A1 (en) Template delivery type cancelable biometric authentication system and method therefor
KR20210060745A (en) System for processing electronic contracts based on blockchain
EP3537684A1 (en) Apparatus, method, and program for managing data
US11436597B1 (en) Biometrics-based e-signatures for pre-authorization and acceptance transfer
CN109981287A (en) A kind of code signature method and its storage medium
CN111882410A (en) Tax information query method and system based on block chain
CN110569672A (en) efficient credible electronic signature system and method based on mobile equipment
WO2007034255A1 (en) Method, apparatus and system for generating a digital signature linked to a biometric identifier
KR102032131B1 (en) Method and System for authenticating documents using inquiry history notice
CN111212026A (en) Data processing method and device based on block chain and computer equipment
Rana et al. Implementation of security and privacy in ePassports and the extended access control infrastructure
Durán et al. An architecture for easy onboarding and key life-cycle management in blockchain applications
Dumas et al. LocalPKI: An interoperable and IoT friendly PKI
JP6045018B2 (en) Electronic signature proxy server, electronic signature proxy system, and electronic signature proxy method

Legal Events

Date Code Title Description
E601 Decision to refuse application