KR20220066769A - Token modelling apparatus, system and method for verifying the integrity of data having the same - Google Patents

Token modelling apparatus, system and method for verifying the integrity of data having the same Download PDF

Info

Publication number
KR20220066769A
KR20220066769A KR1020200153158A KR20200153158A KR20220066769A KR 20220066769 A KR20220066769 A KR 20220066769A KR 1020200153158 A KR1020200153158 A KR 1020200153158A KR 20200153158 A KR20200153158 A KR 20200153158A KR 20220066769 A KR20220066769 A KR 20220066769A
Authority
KR
South Korea
Prior art keywords
transaction
token
calling terminal
server
command
Prior art date
Application number
KR1020200153158A
Other languages
Korean (ko)
Other versions
KR102431835B1 (en
Inventor
박찬익
황제영
노융두
홍상원
Original Assignee
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포항공과대학교 산학협력단 filed Critical 포항공과대학교 산학협력단
Priority to KR1020200153158A priority Critical patent/KR102431835B1/en
Publication of KR20220066769A publication Critical patent/KR20220066769A/en
Application granted granted Critical
Publication of KR102431835B1 publication Critical patent/KR102431835B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies

Abstract

Disclosed are a token modeling device and a system and a method for verifying data integrity including the same. The token modeling device of the present invention comprises the commands of: receiving a transaction; issuing a token on the basis of the transaction; transmitting the token to any one of a plurality of servers; and receiving, from the servers, a processing result value obtained by comparing call transaction attribute information on the token and attribute information on the transaction in the servers. Accordingly, API call transaction information between a user and the servers can be recorded in a blockchain to ensure transaction integrity and non-repudiation of the user or the servers.

Description

토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법{TOKEN MODELLING APPARATUS, SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF DATA HAVING THE SAME}TOKEN MODELLING APPARATUS, SYSTEM AND METHOD FOR VERIFYING THE INTEGRITY OF DATA HAVING THE SAME

본 발명은 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 블록체인 네트워크 기술을 활용하여, 복수의 서버들이 개별적으로 트랜잭션의 정합성을 검증하도록 하는 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법을 제공하는 것에 그 목적이 있다.The present invention relates to a token modeling apparatus and a data integrity verification system and method including the same, and more particularly, to a token modeling apparatus and a token modeling apparatus that utilizes a block chain network technology to individually verify the consistency of a transaction by a plurality of servers; An object of the present invention is to provide a data integrity verification system and method including the same.

대부분의 온라인 웹 서비스들은 사용자가 API(Application Programming Interface)를 통해 서버 함수를 호출하면, 호출된 서버가 관련 로직을 실행함으로써 내부 상태를 변경하는 방식으로 제공된다.Most online web services are provided in such a way that when a user calls a server function through an API (Application Programming Interface), the called server executes the related logic to change the internal state.

이때, 서버는 일반적으로, API 호출로 상호 연계된 다중 계층 서버들로 구성된다.In this case, the server is generally composed of multi-tier servers interconnected by API calls.

다중 계층 서버로 구성된 온라인 웹 서비스의 경우에는 사용자 요청을 처리하는데 여러 서버들을 거쳐야 하므로, 개별 서버들이 독자적으로 유지하고 있는 시스템 로그 데이터 정보 간에 연관성을 가진다. In the case of an online web service composed of multi-tier servers, since multiple servers are required to process user requests, there is a correlation between system log data information maintained independently by individual servers.

여기서, 내부 서버 동작과 관련한 로그 데이터는 사후 검증을 위해 호출된 함수 처리 명령을 포함하여 함수 실행 중 서버에서 발생하는 주요 시스템 이벤트를 모두 저장한 데이터로, 매우 민감한 정보가 포함되어 있어 서버 외부로 공개하지 않는다. 따라서 서버들 간 로그 데이터에 대한 상호 정합성 검증은 매우 복잡한 과정을 거쳐야 한다.Here, log data related to internal server operation is data that stores all major system events that occur in the server during function execution, including function processing commands called for post-verification, and contains very sensitive information, so it is disclosed outside the server I never do that. Therefore, mutual consistency verification of log data between servers must go through a very complicated process.

고도의 보안을 요구하는 금융이나 의료 서비스의 경우, 종래에는, 사용자가 생성하는 모든 트랜잭션에 대해 사용자 서명을 함께 기록해서 추후 트랜잭션 무결성(integrity) 및 부인방지(non-repudiation) 등을 확인하고 있다.In the case of financial or medical services requiring a high degree of security, conventionally, user signatures are recorded for all transactions generated by the user, and transaction integrity and non-repudiation are checked later.

이 경우, 사용자에게 직접적인 API를 제공하는 최상위 서버는 사용자 서명 정보를 로그 데이터에 저장할 수 있으나, 하위 서버들 간 API 호출 시에는 사용자 서명 정보를 로그 데이터로 기록할 수 없다는 문제가 있다. In this case, the top-level server that provides a direct API to the user can store the user signature information in log data, but there is a problem that the user signature information cannot be recorded as log data when calling the API between the lower servers.

다시 말해, 하위 서버의 경우 자신의 로그 정보에서는 사용자 서명을 확인할 수 없으므로, 자신의 로그 정보에 대한 정합성, 즉, 사용자 요청 트랜잭션과 연관하여 무결성 및 부인 방지 등을 확인하기 위해, 상위 계층의 서버들의 모든 로그 정보를 통합하여 분석해야 하는 복잡한 과정이 필요하다.In other words, in the case of a lower-level server, since the user's signature cannot be verified in its own log information, in order to check the consistency of its own log information, that is, the integrity and non-repudiation in relation to the user request transaction, the A complex process is required to integrate and analyze all log information.

예를 들어, 종래의 금융이나 의료 서비스의 경우에는, 다중 계층 서버들 간의 API 통신에서 API 호출을 통한 트랜잭션 송수신 시, 사용자 요청 트랜잭션에 대한 무결성 및 부인 방지를 위해 매 트랜잭션마다 사용자 서명 정보를 함께 전송하고 있다. For example, in the case of a conventional financial or medical service, when sending and receiving a transaction through an API call in API communication between multi-tier servers, user signature information is transmitted together with each transaction for integrity and non-repudiation of the user requested transaction. are doing

이에, 사용자와 직접적으로 연결된 최상위 계층 서버에서는 사용자 서명 정보를 확인하고 해당 트랜잭션을 처리하고 있으나, 하위 서버에서는 사용자 서명 정보를 확인하지 못하고 상위 서버로부터 수신한 트랜잭션을 실행할 수밖에 없으며, 하위 서버에서 사용자와 관련한 상태 정보를 업데이트 해야할 경우, 큰 보안 문제가 발생될 문제가 있다.Accordingly, the top-tier server directly connected to the user checks the user signature information and processes the transaction, but the lower server cannot verify the user signature information and has no choice but to execute the transaction received from the upper server. If the related state information needs to be updated, there is a problem that a big security problem may occur.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 고효율, 고신뢰성, 저비용 및 고안전성의 토큰 모델링 장치를 제공하는 데 있다.An object of the present invention for solving the above problems is to provide a token modeling device of high efficiency, high reliability, low cost and high safety.

또한, 상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은 고효율, 고신뢰성, 저비용 및 고안전성의 데이터 무결성 검증 방법을 제공하는 데 있다.In addition, another object of the present invention for solving the above problems is to provide a data integrity verification method of high efficiency, high reliability, low cost and high safety.

또한, 상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은 고효율, 고신뢰성, 저비용 및 고안전성의 데이터 무결성 검증 시스템을 제공하는 데 있다.In addition, another object of the present invention for solving the above problems is to provide a data integrity verification system of high efficiency, high reliability, low cost and high safety.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따라 사용자 단말 및 다중 계층 구조로 제공되는 복수의 서버들과 연동하여, 상기 사용자 단말 및 복수의 서버들 간의 함수 호출에 의한 트랜잭션 전송 시 상기 트랜잭션의 무결성을 검증하는 토큰 모델링 장치는, 메모리(memory) 및 상기 메모리에 저장된 적어도 하나의 명령을 실행하는 프로세서(processor)를 포함하고, 상기 적어도 하나의 명령은, 상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령, 상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령 및 상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함한다.According to an embodiment of the present invention for achieving the above object, in conjunction with a user terminal and a plurality of servers provided in a multi-layered structure, when a transaction is transmitted by a function call between the user terminal and a plurality of servers, the The token modeling apparatus for verifying integrity includes a memory and a processor for executing at least one command stored in the memory, wherein the at least one command is the user terminal or one of the plurality of servers. A command to receive a verification request of the transaction from a calling terminal, which is an upper server, a command to request to issue a token based on the transaction on a blockchain network, and a command to send the token to a lower server of the calling terminal and a command for receiving, from the subordinate server, a verification result value that verifies the integrity of the transaction received from the calling terminal by a function call based on the transaction information in the token.

여기서, 상기 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령은, 상기 호출 단말로부터 상기 트랜잭션의 검증을 위한 요청 트랜잭션을 수신하도록 하는 명령을 포함할 수 있다.Here, the command for receiving the request for verification of the transaction from the calling terminal may include a command for receiving the request for verification of the transaction from the calling terminal.

이때, 상기 요청 트랜잭션은, 상기 호출 단말로부터 상기 트랜잭션의 정보 및 상기 호출 단말의 서명 정보를 포함할 수 있다.In this case, the request transaction may include information on the transaction from the calling terminal and signature information of the calling terminal.

또한, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령은, 상기 요청 트랜잭션을 바탕으로 상기 트랜잭션에 기반한 토큰 발행을 요청하기 위한 블록체인 트랜잭션을 송신하도록 하는 명령, 상기 블록체인 네트워크로부터 상기 토큰의 발행 완료 정보를 수신하여 상기 호출 단말에 송신하도록 하는 명령, 상기 토큰의 소유자를 상기 호출 단말로 설정하도록 하는 명령 및 상기 토큰의 소유자 속성 정보를 상기 사용자 단말로 설정하고, 설정 완료 정보를 상기 호출 단말로 송신하도록 하는 명령을 포함할 수 있다.In addition, the command to request issuance of a token based on the transaction on the blockchain network includes a command to send a blockchain transaction for requesting issuance of a token based on the transaction based on the request transaction, from the blockchain network A command to receive and transmit the issuance completion information of the token to the calling terminal, a command to set the owner of the token to the calling terminal, and to set the owner attribute information of the token to the user terminal, and receive the setting completion information It may include a command to transmit to the calling terminal.

이때, 상기 토큰은 대체 불가능한, 무결성이 보장된 토큰일 수 있다.In this case, the token may be an irreplaceable, integrity-guaranteed token.

상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령에서는, 상기 토큰의 소유자가 상기 하위 서버로 변경할 수 있다.In the command to transmit the token to the subordinate server of the calling terminal, the owner of the token may change to the subordinate server.

또한, 상기 검증 결과값은, 상기 토큰 내 트랜잭션 정보와 상기 호출 단말로부터 수신된 상기 트랜잭션 정보가 일치할 경우, 상기 하위 서버가 상기 트랜잭션을 처리하고 발행한 처리 결과 값일 수 있다.In addition, the verification result value may be a processing result value issued by the subordinate server processing the transaction when the transaction information in the token matches the transaction information received from the calling terminal.

상기 토큰 모델링 장치는 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령 이후에, 상기 검증 결과값을 상기 토큰 내 처리 결과 속성 값으로 입력시키도록 하는 명령을 더 포함할 수 있다.The token modeling apparatus may further include a command to input the verification result value as a processing result attribute value in the token after the command to receive the verification result value verifying the integrity of the transaction.

상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따라 사용자 단말 및 다중 계층 구조로 제공되는 복수의 서버들과 연동하여 상기 사용자 단말 및 복수의 서버들 간의 함수 호출에 의한 트랜잭션 전송 시 상기 트랜잭션의 무결성을 검증하는 토큰 모델링 장치를 이용해, 데이터의 무결성을 검증하는 방법은, 상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하는 단계, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 단계, 상기 토큰을 상기 호출 단말의 하위 서버로 송신하는 단계 및 상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하는 단계를 포함한다.According to another embodiment of the present invention for achieving the above object, the integrity of the transaction when the transaction is transmitted by a function call between the user terminal and the plurality of servers by interworking with a user terminal and a plurality of servers provided in a multi-layered structure A method of verifying the integrity of data using a token modeling device that verifies requesting to issue a token based on a blockchain network, sending the token to a subordinate server of the calling terminal, and receiving from the subordinate server by a function call based on transaction information in the token and receiving a verification result value verifying the integrity of the transaction.

여기서, 상기 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하는 단계는, 상기 호출 단말로부터 상기 트랜잭션의 검증을 위한 요청 트랜잭션을 수신하는 단계를 포함할 수 있다.Here, the step of receiving the transaction verification request from the calling terminal may include receiving a request transaction for verification of the transaction from the calling terminal.

이때, 상기 요청 트랜잭션은, 상기 호출 단말로부터 상기 트랜잭션의 정보 및 상기 호출 단말의 서명 정보를 포함할 수 있다.In this case, the request transaction may include information on the transaction from the calling terminal and signature information of the calling terminal.

상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 단계는, 상기 요청 트랜잭션을 바탕으로 상기 트랜잭션에 기반한 토큰 발행을 요청하기 위한 블록체인 트랜잭션을 송신하는 단계, 상기 블록체인 네트워크로부터 상기 토큰의 발행 완료 정보를 수신하여 상기 호출 단말에 송신하는 단계, 상기 토큰의 소유자를 상기 호출 단말로 설정하는 단계 및 상기 토큰의 소유자 속성 정보를 상기 사용자 단말로 설정하고, 설정 완료 정보를 상기 호출 단말로 송신하는 단계를 포함할 수 있다.The step of requesting to issue a token based on the transaction on the blockchain network includes sending a blockchain transaction for requesting issuance of a token based on the transaction based on the request transaction, the token from the blockchain network receiving the issuance completion information and transmitting it to the calling terminal; setting the owner of the token to the calling terminal; setting the owner attribute information of the token to the user terminal; and sending the setting completion information to the calling terminal may include the step of

또한, 상기 토큰은 대체 불가능한, 무결성이 보장된 토큰일 수 있다.In addition, the token may be a non-fungible, integrity-guaranteed token.

상기 토큰을 상기 호출 단말의 하위 서버로 송신하는 단계에서는, 상기 토큰의 소유자가 상기 하위 서버로 변경될 수 있다.In the step of transmitting the token to the subordinate server of the calling terminal, the owner of the token may be changed to the subordinate server.

또한, 상기 검증 결과값은, 상기 토큰 내 트랜잭션 정보와 상기 호출 단말로부터 수신된 상기 트랜잭션 정보가 일치할 경우, 상기 하위 서버가 상기 트랜잭션을 처리하고 발행한 처리 결과 값일 수 있다.In addition, the verification result value may be a processing result value issued by the subordinate server processing the transaction when the transaction information in the token matches the transaction information received from the calling terminal.

상기 데이터 무결성 검증 방법은 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하는 단계 이후에, 상기 검증 결과값을 상기 토큰 내 처리 결과 속성 값으로 입력시키는 단계를 더 포함할 수 있다.The data integrity verification method may further include, after receiving the verification result value verifying the integrity of the transaction, inputting the verification result value as a processing result attribute value in the token.

상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 데이터 무결성 검증 시스템은 사용자 단말, 다중 계층 구조로 제공되는 복수의 서버들 및 상기 사용자 단말 및 상기 복수의 서버들과 연동하여, 상기 사용자 단말 및 복수의 서버들 간의 함수 호출에 의한 트랜잭션 전송 시 상기 트랜잭션의 무결성을 검증하는 토큰 모델링 장치를 포함하되, 상기 토큰 모델링 장치는, 메모리(memory) 및 상기 메모리에 저장된 적어도 하나의 명령을 실행하는 프로세서(processor)를 포함하되, 상기 적어도 하나의 명령은, 상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령, 상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령 및 상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함한다.A data integrity verification system according to another embodiment of the present invention for achieving the above object is a user terminal, a plurality of servers provided in a multi-layered structure, and the user terminal and the plurality of servers by interworking with the user terminal and a token modeling device for verifying the integrity of the transaction when a transaction is transmitted by a function call between a plurality of servers, wherein the token modeling device includes a memory and a processor for executing at least one command stored in the memory (processor), wherein the at least one command includes a command to receive a verification request of the transaction from a calling terminal that is an upper server of the user terminal or one of the plurality of servers, and a token based on the transaction. A command to request to be issued on a blockchain network, a command to send the token to a subordinate server of the calling terminal, and a command received from the subordinate server by a function call based on transaction information in the token from the calling terminal Includes a command to receive a verification result value that verifies the integrity of the transaction.

이때, 상기 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령은, 상기 호출 단말로부터 상기 트랜잭션의 검증을 위한 요청 트랜잭션을 수신하도록 하는 명령을 포함하되, 상기 요청 트랜잭션은, 상기 호출 단말로부터 상기 트랜잭션의 정보 및 상기 호출 단말의 서명 정보를 포함할 수 있다.In this case, the command for receiving the request for verification of the transaction from the calling terminal includes a command for receiving the request transaction for verification of the transaction from the calling terminal, wherein the request transaction includes: information and signature information of the calling terminal.

또한, 상기 토큰은, 대체 불가능한, 무결성이 보장된 토큰일 수 있다.In addition, the token may be a non-fungible, integrity-guaranteed token.

또한, 상기 검증 결과값은, 상기 토큰 내 트랜잭션 정보와 상기 호출 단말로부터 수신된 상기 트랜잭션 정보가 일치할 경우, 상기 하위 서버가 상기 트랜잭션을 처리하고 발행한 처리 결과 값일 수 있다.In addition, the verification result value may be a processing result value issued by the subordinate server processing the transaction when the transaction information in the token matches the transaction information received from the calling terminal.

본 발명의 실시예에 따른 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법은 상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령, 상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령 및 상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함함으로써, 사용자 단말 또는 복수의 서버들 간 API 호출에 따른 트랜잭션의 정보를 블록체인에 기록하여 상기 트랜잭션의 무결성 및 부인 방지를 보장할 수 있다.A token modeling apparatus according to an embodiment of the present invention and a data integrity verification system and method including the same are commands for receiving a verification request of the transaction from a call terminal that is an upper server of either the user terminal or the plurality of servers , a command to request to issue a token based on the transaction on a blockchain network, a command to send the token to a subordinate server of the calling terminal, and a function call from the subordinate server based on transaction information in the token By including a command to receive a verification result value that verifies the integrity of the transaction received from the calling terminal, information of a transaction according to an API call between a user terminal or a plurality of servers is recorded in the block chain to ensure the integrity of the transaction and non-repudiation.

또한, 블록체인 네트워크를 통해, 하위 서버들이, 사용자 단말의 요청에 부합하는 트랜잭션이 최하위 서버까지 제대로 전달되었지 개별적으로 검증 가능함으로써, 개별 서버가 보유한 트랜잭션 정보에 대한 상호 정합성을 스스로 검증할 수 있으며, 다양한 계층적 서버 환경에서 내부 로그 데이터를 전부 공개하지 않아도, 정합성 검증이 가능한, 고효율, 고신뢰성, 저비용 및 고안전성의 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법을 제공할 수 있다.In addition, through the blockchain network, subordinate servers can independently verify that the transaction that meets the request of the user terminal has been properly delivered to the lowest server, so that the mutual consistency of the transaction information held by individual servers can be verified by themselves. Even without disclosing all internal log data in various hierarchical server environments, it is possible to provide a high-efficiency, high-reliability, low-cost and high-safety token modeling device that can verify consistency, and a data integrity verification system and method including the same.

도 1은 본 발명의 실시예에 따른 데이터 무결성 검증 시스템의 동작 구성도이다.
도 2는 본 발명의 실시예에 따른 데이터 무결성 검증 시스템의 블록 구성도이다.
도 3은 본 발명의 실시예에 따른 토큰 모델링 장치의 소프트웨어 구성들을 설명하기 위한 블록 구성도이다.
도 4는 본 발명의 실시예에 따른 대체 불가능한 토큰의 데이터 구조를 설명하기 위한 표이다.
도 5는 본 발명의 실시예에 따른 토큰 모델링 장치의 하드웨어 구성들을 설명하기 위한 블록 구성도이다.
도 6은 본 발명의 실시예에 따른 토큰 모델링 장치를 이용한 데이터 무결성 검증 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 실시예에 따른 데이터 무결성 검증 시스템을 이용한 오픈 뱅킹 서비스 구조를 설명하기 위한 이미지이다.
1 is an operation block diagram of a data integrity verification system according to an embodiment of the present invention.
2 is a block diagram of a data integrity verification system according to an embodiment of the present invention.
3 is a block diagram illustrating software configurations of a token modeling apparatus according to an embodiment of the present invention.
4 is a table for explaining the data structure of a non-fungible token according to an embodiment of the present invention.
5 is a block diagram illustrating hardware configurations of a token modeling apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating a data integrity verification method using a token modeling apparatus according to an embodiment of the present invention.
7 is an image for explaining the structure of an open banking service using a data integrity verification system according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하여 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings to be described in detail. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. The term “and/or” includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

본 발명에서 개시되는 블록체인(blockchain)은 트랜잭션(transaction)들의 집합으로 구성된 블록이 이전 블록의 해시(hash)값을 담아 모든 블록을 체인 형식으로 연결하는 데이터 구조로서, 블록체인 네트워크에 참여하는 모든 노드(node)가 상기 데이터 구조를 동일하게 유지하고, 합의 알고리즘(consensus algorithm)을 기반으로 새로운 블록을 생성하여 연결하는 분산 원장 기술(distributed ledger technology)이다. 특정 노드의 블록체인 데이터가 임의로 조작되더라도 블록 간에 이전 블록의 해시값을 가지고 있으므로 데이터 조작을 바로 탐지할 수 있으며, 조작된 데이터는 노드 간에 합의된 것이 아니기 때문에 블록체인에 반영되지 않는다. 이처럼 블록체인은 데이터를 임의로 위변조하는 것이 불가능하여 데이터의 무결성 및 투명성을 보장해준다.The blockchain disclosed in the present invention is a data structure in which a block composed of a set of transactions contains the hash value of the previous block and connects all blocks in a chain format. It is a distributed ledger technology in which nodes maintain the same data structure and create and connect new blocks based on a consensus algorithm. Even if the blockchain data of a specific node is arbitrarily manipulated, data manipulation can be detected immediately because it has the hash value of the previous block between blocks, and the manipulated data is not reflected in the blockchain because it is not agreed upon between nodes. As such, blockchain guarantees data integrity and transparency because it is impossible to arbitrarily forge or falsify data.

블록체인은 무허가형 블록체인(permissionless blockchain)과 허가형 블록체인(permissioned blockchain)으로 구분된다. 무허가형 블록체인은 사용자 및 노드가 아무런 제약 없이 블록체인 네트워크에 참여할 수 있는 블록체인이다. 대표적인 무허가형 블록체인으로는 비트코인(Bitcoin) 및 이더리움(Ethereum)이 있다. 허가형 블록체인은 허가된 사용자 및 노드들만 블록체인 네트워크에 참여할 수 있는, 비즈니스 환경에서 활용하기에 적합한 블록체인이다. 대표적인 허가형 블록체인으로는 하이퍼레저 패브릭(Hyperledger Fabric)이 있다.Blockchain is divided into permissionless blockchain and permissioned blockchain. A permissionless blockchain is a blockchain that allows users and nodes to participate in a blockchain network without any restrictions. Representative permissionless blockchains include Bitcoin and Ethereum. A permissioned blockchain is a blockchain suitable for use in a business environment where only authorized users and nodes can participate in the blockchain network. A representative permissioned blockchain is Hyperledger Fabric.

블록체인 상에서 실행되는 프로그램인 스마트 컨트랙트(smart contract)에 비즈니스 로직을 구성하여 분산 애플리케이션(distributed application: dApp)을 개발 및 운영할 수 있다.A distributed application (dApp) can be developed and operated by configuring business logic in a smart contract, a program executed on the block chain.

스마트 컨트랙트는 제3자의 개입 없이 요청을 비즈니스 로직에 따라 자동으로 실행한다는 장점을 갖고 있다. 대표적인 dApp으로 토큰(token)이 있다.Smart contracts have the advantage of automatically executing requests according to business logic without the intervention of a third party. A representative dApp is a token.

토큰은 디지털 자산(digital asset)을 블록체인 상에 표현한 것이다. 블록체인에 디지털 자산을 토큰화하면 디지털 자산의 소유권 증명, 투명성 및 유동성 보장 등의 장점을 확보할 수 있다. 토큰은 대체가능 토큰(fungible token)과 대체불가능 토큰(non-fungible token)으로 구분된다. 대체가능 토큰은 쪼개질 수 있는 디지털 자산을 표현한 토큰이고, 대체불가능 토큰은 쪼개질 수 없는 디지털 자산을 표현한 토큰이다.A token is a digital asset expressed on a blockchain. Tokenizing digital assets on the blockchain can secure advantages such as proof of ownership of digital assets, transparency and liquidity guarantees. Tokens are divided into fungible tokens and non-fungible tokens. A fungible token is a token that expresses a digital asset that can be split, and a non-fungible token is a token that expresses a digital asset that cannot be split.

API 기반 서비스는 기업 및 조직 내부의 데이터나 업무 프로세스를 표준 기술에 기반한 네트워크 통신을 통해 시스템 간의 연계, 소프트웨어 컴포넌트 간의 통합, 혹은 다양한 디바이스 간의 연결을 손쉽게 구현할 수 있도록 하는 기술이다. API 기반 서비스를 사용하면 서비스 간의 조합이나 확대가 매우 용이하므로, 많은 서비스들에서는 한 서버에서 특정 서비스를 구축하기 위해 타 서버에서 제공하는 API를 호출하여 구성하는 경우가 일반적이다. API를 제공해준 서버 또한 타 서버에서 제공하는 API를 호출하여 특정 서비스를 구축할 수 있다. 이처럼 여러 서버들이 API 호출로 상호 연결된 계층적 구조를 다중 계층 서버 간 API 통신이라고 한다.API-based service is a technology that makes it easy to implement the connection between systems, integration between software components, or connection between various devices through network communication based on standard technology for data or business processes within a company or organization. Since API-based services are very easy to combine or expand between services, it is common for many services to configure by calling APIs provided by other servers in order to build a specific service in one server. The server that provided the API can also build a specific service by calling the API provided by other servers. This hierarchical structure in which multiple servers are interconnected by API calls is called multi-tiered server-to-server API communication.

API 기반 서비스를 제공하는 서버들은 내부적으로 실행되는 트랜잭션 처리 내용을 모두 기록(로깅)하여 로그 데이터로 관리한다. 로그 데이터는 사후 분석을 통해 서버 동작에 대한 악의적 공격 유무를 판단하는데 활용되는 매우 중요한 정보이다.Servers that provide API-based services record (log) all internally executed transaction processing and manage them as log data. Log data is very important information used to determine whether there is a malicious attack on server operation through post-analysis.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate the overall understanding, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

도 1은 본 발명의 실시예에 따른 데이터 무결성 검증 시스템의 동작 구성도이다.1 is an operation block diagram of a data integrity verification system according to an embodiment of the present invention.

도 1을 참조하면, 데이터 무결성 검증 시스템(S)은 사용자 단말(1000), 복수의 서버(3000)들 및 토큰 모델링 장치(5000)를 포함할 수 있다. Referring to FIG. 1 , the data integrity verification system S may include a user terminal 1000 , a plurality of servers 3000 , and a token modeling apparatus 5000 .

보다 구체적으로 설명하면, 사용자 단말(1000) 및 복수의 서버(3000)들은 토큰 모델링 장치(5000)와 연동될 수 있다. 이에 따라, 토큰 모델링 장치(5000)는 사용자 단말(1000) 및 복수의 서버(3000)들로부터 수신된 트랜잭션 정보에 기반한 토큰을 블록체인 네트워크(B) 상에 발행할 수 있다. 여기서, 트랜잭션은 데이터베이스의 상태를 변환시키기 위해 논리적 기능을 수행하는 기본 작업 단위로, 트랜잭션 정보로는 로그 데이터의 일부 정보가 포함될 수 있다.More specifically, the user terminal 1000 and the plurality of servers 3000 may be linked with the token modeling apparatus 5000 . Accordingly, the token modeling apparatus 5000 may issue a token based on the transaction information received from the user terminal 1000 and the plurality of servers 3000 on the block chain network (B). Here, a transaction is a basic unit of work that performs a logical function to change the state of the database, and some information of log data may be included as transaction information.

이후, 복수의 서버(3000)들 중 어느 하나는 함수 호출에 의해 동적 수신된 트랜잭션을 블록체인 네트워크(B) 상에 발행된 토큰 내 트랜잭션 정보와 비교함으로써, 상기 트랜잭션이 사용자 단말(1000) 또는 해당 서버(3000)의 상위 서버로부터 수신된 트랜잭션 정보가 맞는지의 여부를 확인할 수 있다.Then, any one of the plurality of servers 3000 compares the transaction dynamically received by the function call with the transaction information in the token issued on the blockchain network B, so that the transaction is transmitted to the user terminal 1000 or the corresponding It can be checked whether the transaction information received from the upper server of the server 3000 is correct.

다시 말하면, 복수의 서버(3000)들은 블록체인 네트워크(B) 상의 노드(node)로 참여하여, 외부로부터 함수 호출에 의해 수신된 트랜잭션을 토큰 내 트랜잭션 정보와 비교함으로써 상기 트랜잭션의 무결성 및 정합성을 검증할 수 있다. 따라서, 복수의 서버(3000)들은 무결성 및 정합성이 검증된 트랜잭션을 처리할 수 있다.In other words, the plurality of servers 3000 participate as nodes on the blockchain network B and verify the integrity and consistency of the transaction by comparing the transaction received by the function call from the outside with the transaction information in the token. can do. Accordingly, the plurality of servers 3000 may process a transaction whose integrity and consistency are verified.

하기 도 2에서는 데이터 무결성 검증 시스템(S)에 대해 구성별로 보다 구체적으로 설명하겠다. In Figure 2 below, the data integrity verification system (S) will be described in more detail for each configuration.

도 2는 본 발명의 실시예에 따른 데이터 무결성 검증 시스템의 블록 구성도이다.2 is a block diagram of a data integrity verification system according to an embodiment of the present invention.

도 2를 참조하면, 사용자 단말(1000)은 적어도 하나의 온라인 웹 서비스를 실행하기 위한 하드웨어(Hardware) 단말로 제공될 수 있다.Referring to FIG. 2 , the user terminal 1000 may be provided as a hardware terminal for executing at least one online web service.

실시예에 따르면, 사용자 단말(1000)은 사용자 요청에 따른 온라인 웹 서비스를 제공하기 위해, API(Application Programming Interface)를 이용하여 어느 하나의 서버(3000)를 호출할 수 있다. According to an embodiment, the user terminal 1000 may call any one server 3000 by using an application programming interface (API) to provide an online web service according to a user request.

다시 말하면, 사용자 단말(1000)은 API에 의해 특정 서버를 호출하여 트랜잭션을 송신할 수 있다. 여기서, 특정 서버는 후술될 복수의 서버(3000)들 중 최상위 계층에 존재하는 제1 서버일 수 있다.In other words, the user terminal 1000 may transmit a transaction by calling a specific server through the API. Here, the specific server may be a first server existing in the uppermost layer among a plurality of servers 3000 to be described later.

또한, 사용자 단말(1000)은 후술될 토큰 모델링 장치(5000)를 호출하기 위해, 상기 트랜잭션의 정보 및 사용자 단말(1000)의 서명 정보를 포함하는 요청 트랜잭션을 송신할 수 있다. 이에 따라, 토큰 모델링 장치(5000)는 블록체인 네트워크(B) 상에 상기 트랜잭션의 정보 및 사용자 단말(1000)의 서명 정보를 포함하는 토큰을 발행할 수 있다. In addition, the user terminal 1000 may transmit a request transaction including information on the transaction and signature information of the user terminal 1000 in order to call the token modeling apparatus 5000 , which will be described later. Accordingly, the token modeling apparatus 5000 may issue a token including the information of the transaction and the signature information of the user terminal 1000 on the block chain network (B).

이후, 사용자 단말(1000)은 토큰 모델링 장치(5000)를 호출하여, 상기 토큰을 제1 서버로 송신시킬 수 있다. 다시 말하면, 토큰 모델링 장치(5000)는 사용자 단말(1000)의 요청에 의해 블록체인 네트워크(B) 상에 발행된 토큰을 최상위 서버로 전송할 수 있다. Thereafter, the user terminal 1000 may transmit the token to the first server by calling the token modeling apparatus 5000 . In other words, the token modeling apparatus 5000 may transmit the token issued on the block chain network B to the top-level server at the request of the user terminal 1000 .

이에 따라, 제1 서버는 사용자 단말(1000)로부터 수신된 트랜잭션의 무결성 및 정합성을 검증할 수 있다.Accordingly, the first server may verify the integrity and consistency of the transaction received from the user terminal 1000 .

일 실시예에 따르면, 제1 서버는 사용자 단말(1000)로부터 수신된 트랜잭션 내 사용자 단말(1000)의 서명 정보를 이용하여, 트랜잭션의 무결성 및 정합성을 검증할 수 있다.According to an embodiment, the first server may verify the integrity and consistency of the transaction by using the signature information of the user terminal 1000 in the transaction received from the user terminal 1000 .

다른 실시예에 따르면, 제1 서버는 사용자 단말(1000)로부터 수신된 트랜잭션을 토큰 모델링 장치(5000)로부터 전송된 토큰 내 트랜잭션 정보와 비교하여, 상기 트랜잭션의 무결성 및 정합성을 검증할 수 있다.According to another embodiment, the first server may verify the integrity and consistency of the transaction by comparing the transaction received from the user terminal 1000 with transaction information in the token transmitted from the token modeling apparatus 5000 .

복수의 서버(3000)들은 특정 온라인 웹 서비스를 실행하기 위한 적어도 하나의 정보를 포함할 수 있다.The plurality of servers 3000 may include at least one piece of information for executing a specific online web service.

또한, 복수의 서버(3000)들은 API 호출로 상호 연결된 다중 계층 서버 구조(제1 서버 내지 제n 서버)로 제공될 수 있다. 이에 따라, 사용자가 특정 온라인 웹 서비스를 실행하고자 할 경우, 사용자 단말(1000)은 API를 호출하여 복수의 서버(3000)들 중 제1 서버를 실행하고, 제1 서버는 API 호출에 의해 이하 하위 서버를 순차적으로 실행함으로써 특정 온라인 웹 서비스의 실행을 위한 적어도 하나의 정보를 제공하는 최하위 서버인 제n 서버까지 트랜잭션을 전송할 수 있다. In addition, the plurality of servers 3000 may be provided in a multi-layered server structure (the first server to the nth server) interconnected by an API call. Accordingly, when the user wants to execute a specific online web service, the user terminal 1000 executes the first server among the plurality of servers 3000 by calling the API, and the first server is By sequentially executing the servers, the transaction can be transmitted to the n-th server, which is the lowest server that provides at least one piece of information for the execution of a specific online web service.

이때, 제1 서버는 앞서 설명한 바와 같이, 사용자 단말(1000)로부터 수신된 트랜잭션의 무결성 및 정합성이 검증될 경우, 상기 트랜잭션을 처리하고, 토큰 모델링 장치(5000)를 호출하여 상기 트랜잭션의 처리 결과값을 상기 토큰에 기록시킬 수 있다. In this case, as described above, when the integrity and consistency of the transaction received from the user terminal 1000 are verified, the first server processes the transaction and calls the token modeling device 5000 to process the transaction result value can be written to the token.

이후, 제1 서버는 API 호출에 의해 신규 트랜잭션을 하위 서버인 제2 서버로 전송할 수 있다.Thereafter, the first server may transmit a new transaction to the second server, which is a lower server, by an API call.

또한, 제1 서버는 앞서 설명한 사용자 단말(1000)에서와 같이, 토큰 모델링 장치(5000)로 하여금, 상기 신규 트랜잭션의 정보 및 제1 서버의 서명 정보를 포함하는 토큰을 블록체인 네트워크(B) 상에 발행하도록 하고, 신규 발행된 토큰을 제2 서버로 전송하도록 호출할 수 있다.In addition, as in the user terminal 1000 described above, the first server causes the token modeling device 5000 to generate a token including the information of the new transaction and the signature information of the first server on the block chain network (B). to be issued, and the newly issued token can be called to be transmitted to the second server.

이에 따라, 신규 트랜잭션을 수신한 제2 서버는 앞서 설명한 제1 서버와 같이, 상기 신규 트랜잭션과 토큰 모델링 장치(5000)로부터 전송된 신규 토큰 내 신규 트랜잭션 정보를 비교하여, 상기 신규 트랜잭션의 무결성 및 정합성을 검증하고, 상기 신규 토큰에 처리 결과값을 기록할 수 있다.Accordingly, the second server receiving the new transaction compares the new transaction information with the new transaction information in the new token transmitted from the token modeling device 5000, and the integrity and consistency of the new transaction, like the first server described above. can be verified, and the processing result value can be recorded in the new token.

이후, 제2 서버는 API 호출에 의해, 하위 서버인 제3 서버를 호출할 수 있다. Thereafter, the second server may call the third server, which is a subordinate server, by an API call.

이하, 제3 서버 내지 최하위 서버인 제N 서버들은, 앞서 설명된 제1 서버 및 제2 서버의 일련의 동작들을 반복 수행하여, 각각 상위 서버로부터 수신된 해당 트랜잭션의 무결성 및 정합성을 검증할 수 있다. Hereinafter, the third server to the lowest server, the Nth servers, may verify the integrity and consistency of the corresponding transaction received from the upper server, respectively, by repeating the series of operations of the first server and the second server described above. .

토큰 모델링 장치(5000)로부터 발행된 토큰을 이용하여 사용자 단말(1000) 또는 복수의 서버(3000)들 중 상위 서버로부터 수신된 트랜잭션의 무결성 및 정합성을 검증하는 방법은 토큰 모델링 장치(5000)를 이용한 후술될 데이터 무결성 검증 방법의 설명 시 보다 자세히 설명하겠다.A method of verifying the integrity and consistency of a transaction received from a higher server among the user terminal 1000 or a plurality of servers 3000 using the token issued from the token modeling device 5000 is a method using the token modeling device 5000 It will be described in more detail when the data integrity verification method to be described later is described.

토큰 모델링 장치(5000)는 사용자 단말(1000) 및 복수의 서버(3000)들과 블록체인 네트워크(B) 사이의 통신 환경을 제공할 수 있다. The token modeling apparatus 5000 may provide a communication environment between the user terminal 1000 and the plurality of servers 3000 and the block chain network (B).

다시 말하면, 토큰 모델링 장치(5000)는 사용자 단말(1000) 또는 복수의 서버(3000)들로부터 수신되는 요청 트랜잭션을 바탕으로, 상기 요청 트랜잭션에 기반한 토큰을 블록체인 네트워크(B) 상에 발행할 수 있다. 다시 말하면, 토큰 모델링 장치(5000)는 상기 요청 트랜잭션에 기반한 토큰을 모델링 할 수 있다.In other words, the token modeling apparatus 5000 can issue a token based on the request transaction on the block chain network B based on the request transaction received from the user terminal 1000 or the plurality of servers 3000 . have. In other words, the token modeling apparatus 5000 may model a token based on the request transaction.

토큰 모델링 장치에 대해서는 하기 도 3 및 도 4를 참조하여 구성별로 보다 자세히 설명하겠다.The token modeling apparatus will be described in more detail for each configuration with reference to FIGS. 3 and 4 below.

도 3은 본 발명의 실시예에 따른 토큰 모델링 장치의 소프트웨어 구성들을 설명하기 위한 블록 구성도이다.3 is a block diagram illustrating software configurations of a token modeling apparatus according to an embodiment of the present invention.

도 3을 참조하면, 토큰 모델링 장치(5000)는 발행부(5100), 전송부(5300), 수정부(5500) 및 알림부(5700)를 포함할 수 있다.Referring to FIG. 3 , the token modeling apparatus 5000 may include an issuing unit 5100 , a transmitting unit 5300 , a modifying unit 5500 , and a notification unit 5700 .

보다 구체적으로 설명하면, 발행부(5100)는 사용자 단말(1000) 또는 복수의 서버(3000)들 중 어느 하나의 상위 서버에 의해 호출되어 실행될 수 있다.More specifically, the issuing unit 5100 may be called and executed by the user terminal 1000 or a higher server of the plurality of servers 3000 .

실시예에 따르면, 발행부(5100)는 사용자 단말(1000) 또는 복수의 서버(3000)들 중 어느 하나의 상위 서버로부터 호출되어, 해당 구성으로부터 수신된 요청 트랜잭션에 기반하여 토큰을 발행을 위한 블록체인 트랜잭션을 생성할 수 있다. 이에 따라, 발행부(5100)는 생성된 블록체인 트랜잭션을 블록체인 네트워크(B)로 전송함으로써, 블록체인 네트워크(B) 상에 토큰이 발행될 수 있다.According to the embodiment, the issuance unit 5100 is called from the user terminal 1000 or the upper server of any one of the plurality of servers 3000, and is a block for issuing a token based on a request transaction received from the configuration. Chain transactions can be created. Accordingly, the issuing unit 5100 transmits the generated block chain transaction to the block chain network (B), so that a token can be issued on the block chain network (B).

실시예에 따르면, 상기 블록체인은 허가형 블록체인(permissioned blockchain)으로 제공될 수 있다. 여기서, 허가형 블록체인은 허가된 노드인 복수의 서버(3000)들만이 블록체인 네트워크(B) 상에 참여하도록 제한한 것일 수 있다. 이에 따라 허가형 블록체인은 비즈니스 환경에 적용되기 적합할 수 있다. 예를 들어, 허가형 블록체인은 하이퍼레저 패브릭(hyperledger fabric) 구조로 제공될 수 있다.According to an embodiment, the blockchain may be provided as a permissioned blockchain. Here, the permission-type block chain may be a restriction so that only a plurality of servers 3000, which are authorized nodes, participate in the block chain network (B). Accordingly, permissioned blockchains may be suitable for application in business environments. For example, a permissioned blockchain may be provided in a hyperledger fabric structure.

발행부(5100)는 토큰의 발행 시, 요청 트랜잭션을 전송한 해당 구성을 토큰의 소유자로 지정할 수 있다. 실시예에 따르면, 발행부(5100)는 사용자 단말(1000)로부터 요청 트랜잭션을 수신할 경우, 사용자 단말(1000)을 해당 토큰의 소유자로 지정할 수 있다.The issuance unit 5100 may designate a configuration in which a request transaction is transmitted as the owner of the token when issuing the token. According to an embodiment, when receiving a request transaction from the user terminal 1000 , the issuing unit 5100 may designate the user terminal 1000 as the owner of the corresponding token.

하기 도 4에서는 발행부(5100)에 의해 발행되는 대체 불가능한 토큰의 데이터 구조를 보다 자세히 설명하겠다.In FIG. 4 below, the data structure of the non-fungible token issued by the issuing unit 5100 will be described in more detail.

도 4는 본 발명의 실시예에 따른 대체 불가능한 토큰의 데이터 구조를 설명하기 위한 표이다.4 is a table for explaining the data structure of a non-fungible token according to an embodiment of the present invention.

도 4를 참조하면, 대체 불가능한 토큰은 표준 속성 및 확장 속성으로 분류될 수 있다. Referring to FIG. 4 , non-fungible tokens may be classified into standard attributes and extended attributes.

실시예에 따르면, 대체 불가능한 토큰의 표준 속성으로는 토큰 ID, 토큰 타입, 소유자 및 피승인자의 속성 정보 중 적어도 하나가 포함될 수 있다.According to an embodiment, the standard attribute of the non-fungible token may include at least one of a token ID, a token type, and attribute information of an owner and an approver.

또한, 대체 불가능한 토큰의 확장 속성으로는 온체인(on-chain) 확장 속성 및 오프체인(off-chain) 확장 속성 중 적어도 하나가 포함될 수 있다.In addition, the extended attribute of the non-fungible token may include at least one of an on-chain extended attribute and an off-chain extended attribute.

이때, 온체인 확장 속성은 하위 속성으로 API 호출에 따른 트랜잭션의 정보, 처리 결과, 부모 및 자식 중 적어도 하나의 속성 정보를 포함할 수 있으며, 오픈체인 확장 속성은 하위 속성으로 경로 및 해시 중 적어도 하나의 속성 정보를 포함할 수 있다. 예를 들면, 대체 불가능한 토큰은 토큰 ID, 토큰 타입, 소유자, API 호출에 따른 트랜잭션 정보, 부모, 자식 속성 및 처리 결과 속성 정보 중 적어도 하나를 포함한 데이터 구조로 제공될 수 있다. In this case, the on-chain extended attribute may include information about a transaction according to an API call, processing result, and attribute information of at least one of parent and child as sub-properties, and the open chain extended attribute is at least one of path and hash as sub-properties. may include attribute information of For example, the non-fungible token may be provided as a data structure including at least one of a token ID, a token type, an owner, transaction information according to an API call, parent/child attributes, and processing result attribute information.

실시예에 따라 보다 구체적으로 설명하면, API 호출에 따른 트랜잭션의 정보는, 앞서 설명한 바와 같이, 사용자 단말(1000) 또는 복수의 서버(3000)들 중 어느 하나의 API 호출에 의해 전송되는 해당 트랜잭션의 속성 정보일 수 있으며, 토큰의 처리 결과 속성 정보는 해당 트랜잭션 및 토큰 내 해당 트랜잭션의 비교를 통해 검증된 검증 결과값일 수 있다.More specifically, according to the embodiment, the information of the transaction according to the API call, as described above, of the transaction transmitted by the API call of any one of the user terminal 1000 or the plurality of servers 3000 It may be attribute information, and the attribute information of the processing result of the token may be a verification result value verified through comparison of the corresponding transaction and the corresponding transaction in the token.

또한, 토큰의 타입 속성으로는 로그 데이터가 적용될 수 있다. Also, log data may be applied as the type attribute of the token.

또한, 부모 속성은 복수의 서버(3000)들 중 상위 서버의 트랜잭션 정보에 기반한 대체 불가능한 토큰의 토큰 ID 정보일 수 있으며, 자식 속성은 하위 서버의 트랜잭션 정보를 기록한 대체 불가능한 토큰의 토큰 ID 정보일 수 있다. In addition, the parent property may be token ID information of a non-fungible token based on the transaction information of the upper server among the plurality of servers 3000, and the child property may be token ID information of the non-fungible token that records the transaction information of the lower server. have.

예를 들어, 사용자 단말(1000)이 대체 불가능한 제1 토큰을 발행하여 최상위 서버인 제1 서버로 전송하고, 상기 제1 토큰을 이용하여 API 호출에 따른 트랜잭션의 검증을 완료한 상기 제1 서버가 대체 불가능한 제2 토큰을 발행하여 하위 서버인 제2 서버로 전송할 경우, 제2 토큰의 부모 속성은 제1 토큰일 수 있다. 다시 말해, 제1 토큰의 자식 속성은 제2 토큰일 수 있다.For example, the user terminal 1000 issues a first non-replaceable token, transmits it to the first server, which is the highest level server, and the first server uses the first token to complete verification of a transaction according to an API call. When a non-fungible second token is issued and transmitted to a second server that is a lower server, the parent attribute of the second token may be the first token. In other words, the child attribute of the first token may be the second token.

다시 도 3을 참조하면, 전송부(5300)는 발행부(5100)에 의해 블록체인 네트워크(B) 상에 발행된 대체 불가능한 토큰을 전송할 수 있다.Referring back to FIG. 3 , the transmitting unit 5300 may transmit the non-fungible token issued on the blockchain network B by the issuing unit 5100 .

실시예에 따라 보다 구체적으로 설명하면, 전송부(5300)는 발행부(5100)에 의해 블록체인 네트워크(B) 상에 발행된 대체 불가능한 토큰을 하위 서버(3000)로 전송하기 위한 블록체인 트랜잭션을 생성할 수 있다. 이에 따라, 전송부(5300)는 해당 토큰을 특정 하위 서버(3000)로 전송할 수 있다. More specifically, according to the embodiment, the transmission unit 5300 transmits the non-fungible token issued on the blockchain network B by the issuance unit 5100 to the lower server 3000 in a blockchain transaction. can create Accordingly, the transmitter 5300 may transmit the corresponding token to the specific subordinate server 3000 .

또한, 특정 하위서버로의 토큰 전송으로 인해, 상기 토큰의 소유권은 해당 하위 서버로 변경될 수 있다.In addition, due to the token transfer to a specific sub-server, the ownership of the token may be changed to the corresponding sub-server.

수정부(5500)는 토큰 내 확장 속성의 하위 속성값 수정을 요청하기 위한 블록체인 트랜잭션을 생성하여, 블록체인 네트워크(B) 상의 토큰으로 전송할 수 있다. 이에 따라, 블록체인 네트워크(B) 상에 발행된 토큰 내 하위 속성값이 수정될 수 있다. The correction unit 5500 may generate a blockchain transaction for requesting modification of the sub-attribute value of the extended attribute in the token, and may transmit it as a token on the blockchain network (B). Accordingly, the sub-attribute value in the token issued on the blockchain network (B) may be modified.

실시예에 따라 보다 구체적으로 설명하면, 특정 서버가, 상위 서버(특정 서버가 제1 서버일 경우, 사용자 단말)로부터 API 호출에 의해 전달받은 해당 트랜잭션의 무결성 및 정합성을 검증한 후, 검증 결과값을 포함하는 요청 트랜잭션을 수정부(5500)로 전송할 경우, 수정부(5500)는 블록체인 네트워크 상에 블록체인 트랜잭션을 전송하여 토큰 내 확장 속성의 하위 속성값을 상기 검증 결과값으로 수정할 수 있다. 이때, 특정 서버는 토큰 소유자로, 수정부(5500)는 토큰의 소유자에 의해 호출될 수 있다.In more detail according to the embodiment, after the specific server verifies the integrity and consistency of the transaction received by the API call from the upper server (the user terminal when the specific server is the first server), the verification result value When a request transaction including In this case, the specific server may be called by the token owner, and the correction unit 5500 may be called by the token owner.

알림부(5700)는 토큰 모델링 장치(5000)가 블록체인 네트워크(B)로부터 이벤트를 수신할 경우, 상기 이벤트와 관련된 사용자 단말(1000) 또는 복수의 서버(3000)들 중 어느 하나에 알림을 송신할 수 있다.When the token modeling device 5000 receives an event from the blockchain network B, the notification unit 5700 sends a notification to either the user terminal 1000 or the plurality of servers 3000 related to the event. can do.

실시예에 따르면, 알림부(5700)는 발행부(5100), 전송부(5300) 및 수정부(5500)의 호출에 따른 상기 토큰의 처리 결과를 상기 토큰의 소유자에게 송신할 수 있다. According to an embodiment, the notification unit 5700 may transmit a result of processing the token according to the calls of the issuing unit 5100 , the transmitting unit 5300 , and the modifying unit 5500 to the owner of the token.

예를 들어, 알림부(5700)는 사용자 단말(1000) 또는 복수의 서버(3000)들 중 어느 하나가 발행부(5100)를 호출하여, 블록체인 네트워크(B) 상에 대체 불가능한 토큰을 발행할 경우, 발행부(5100)를 호출한 상기 토큰의 소유자에게 토큰 발행 완료 이벤트를 송신할 수 있다.For example, the notification unit 5700 calls the issuance unit 5100 of the user terminal 1000 or the plurality of servers 3000 to issue a non-fungible token on the blockchain network (B). In this case, the token issuance completion event may be transmitted to the owner of the token who has called the issuing unit 5100 .

또한, 알림부(5700)는 사용자 단말(1000) 또는 복수의 서버(3000)들 중 어느 하나가 전송부(5300)를 호출하여, 발행된 토큰을 하위 서버로 전송할 경우, 상기 토큰을 전송 받은 새로운 소유자에게 상기 토큰의 전송 완료 이벤트를 송신할 수 있다.In addition, when any one of the user terminal 1000 or the plurality of servers 3000 calls the transmission unit 5300 and transmits the issued token to the lower server, the notification unit 5700 is a new A transmission completion event of the token may be sent to the owner.

그리고, 알림부(5700)는 복수의 서버(3000)들 중 어느 하나가 수정부(5500)를 호출하여 토큰의 소유자 속성 정보를 변경할 경우, 다시 말해, 토큰의 확장 속성의 하위 속성값을 기록할 경우, 수정부(5500)를 호출한 호출자에게 토큰의 수정 완료 이벤트를 호출자에게 송신할 수 있다.And, when any one of the plurality of servers 3000 calls the correction unit 5500 to change the owner attribute information of the token, in other words, the notification unit 5700 records the sub-attribute value of the extended attribute of the token. In this case, a token modification completion event may be transmitted to the caller who has called the correction unit 5500 .

도 5는 본 발명의 실시예에 따른 토큰 모델링 장치의 하드웨어 구성들을 설명하기 위한 블록 구성도이다.5 is a block diagram illustrating hardware configurations of a token modeling apparatus according to an embodiment of the present invention.

도 5를 참조하면, 토큰 모델링 장치(5000)는 적어도 하나의 명령을 저장하는 메모리(100) 및 상기 메모리(100)의 적어도 하나의 명령을 실행하는 프로세서(200)를 포함할 수 있다.Referring to FIG. 5 , the token modeling apparatus 5000 may include a memory 100 for storing at least one command and a processor 200 for executing at least one command of the memory 100 .

또한, 토큰 모델링 장치(5000)는 상기 프로세서(200)를 통해 실행되는 네트워크와 연결되어 통신을 수행하는 송수신 장치(300), 입력 인터페이스 장치(400), 출력 인터페이스 장치(500) 및 저장 장치(600) 등을 더 포함할 수 있다.In addition, the token modeling device 5000 is connected to a network executed through the processor 200 to communicate with the transceiver 300 , the input interface device 400 , the output interface device 500 , and the storage device 600 . ) and the like may be further included.

토큰 모델링 장치(5000)에 포함된 각각의 구성 요소들은 버스(bus, 700)에 의해 연결되어 서로 통신을 수행할 수 있다.Each of the components included in the token modeling device 5000 may be connected by a bus 700 to communicate with each other.

토큰 모델링 장치(5000) 내 메모리(100) 및 저장 장치(600)는 각각 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(100)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.The memory 100 and the storage device 600 in the token modeling device 5000 may be configured with at least one of a volatile storage medium and a non-volatile storage medium, respectively. For example, the memory 100 may be configured as at least one of a read only memory (ROM) and a random access memory (RAM).

메모리(100)는 후술될 프로세서(200)에 의해 실행될 적어도 하나의 명령을 포함할 수 있다. 실시예에 따르면, 적어도 하나의 명령은, 상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령, 상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령 및 상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함할 수 있다.The memory 100 may include at least one instruction to be executed by the processor 200 to be described later. According to an embodiment, the at least one command is a command to receive a verification request of the transaction from a calling terminal that is a higher server of the user terminal or one of the plurality of servers, and a token based on the transaction is transferred to a blockchain network. Integrity of the transaction received from the subordinate server, by a function call based on the transaction information in the token, from the subordinate server and the command to request to issue the token to the It may include a command to receive the verification result value that verified the.

프로세서(200)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. The processor 200 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed.

프로세서(200)는 앞서 설명한 바와 같이, 메모리(100)에 저장된 적어도 하나의 프로그램 명령(program command)을 실행할 수 있다. 실시예에 따르면, 프로세서(200)는 메모리(100)에 저장된 적어도 하나의 명령에 따라 적어도 하나의 앞서 설명된 적어도 하나의 소프트웨어 구성들을 실행할 수 있다.As described above, the processor 200 may execute at least one program command stored in the memory 100 . According to an embodiment, the processor 200 may execute at least one of the above-described at least one software configuration according to at least one instruction stored in the memory 100 .

상기 적어도 하나의 명령을 수행하는 프로세서(200)의 동작은 후술될 본 발명의 실시예에 따른 토큰 모델링 장치를 이용한 데이터 무결성 검증 방법의 설명 시 보다 자세히 설명하겠다.An operation of the processor 200 for executing the at least one command will be described in more detail when a data integrity verification method using a token modeling apparatus according to an embodiment of the present invention is described later.

이상, 본 발명의 실시예에 따른 토큰 모델링 장치를 포함하는 데이터 무결성 검증 시스템에 대해 설명하겠다. 이하에서는, 상기 토큰 모델링 장치의 프로세서(200)에 따라 구현되는 데이터 무결성 검증 방법에 대해 설명하겠다.Above, a data integrity verification system including a token modeling apparatus according to an embodiment of the present invention will be described. Hereinafter, a data integrity verification method implemented by the processor 200 of the token modeling apparatus will be described.

도 6은 본 발명의 실시예에 따른 토큰 모델링 장치를 이용한 데이터 무결성 검증 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a data integrity verification method using a token modeling apparatus according to an embodiment of the present invention.

도 6을 참조하면, 토큰 모델링 장치 내 프로세서(200)는 사용자 단말(1000)의 호출에 의해 실행되어, 사용자 단말(1000)로부터 요청 트랜잭션을 수신할 수 있다(S1000). 이때, 요청 트랜잭션은 사용자 단말(1000)의 서명 정보 및 API 호출에 의해 사용자 단말(1000)로부터 최상위 서버인 제1 서버로 전송된 제1 트랜잭션의 정보를 포함할 수 있다.Referring to FIG. 6 , the processor 200 in the token modeling apparatus may receive a request transaction from the user terminal 1000 by being executed by a call of the user terminal 1000 ( S1000 ). In this case, the request transaction may include signature information of the user terminal 1000 and information on the first transaction transmitted from the user terminal 1000 to the first server that is the highest level server by an API call.

이후, 프로세서(200)는 사용자 단말(1000)의 호출에 의해 발행부(5100)를 실행하여, 요청 트랜잭션에 기반한 제1 토큰의 생성을 요청하는 블록체인 트랜잭션을 블록체인 네트워크(B)로 송신할 수 있다(S2000). 이에 따라, 블록체인 네트워크(B)에 제1 토큰이 발행될 수 있다. 이때, 제1 토큰의 소유자는 프로세서(200)를 호출한 사용자 단말(1000)일 수 있으며, 트랜잭션 속성 정보는 제1 트랜잭션 정보로 설정될 수 있다. Thereafter, the processor 200 executes the issuing unit 5100 by the call of the user terminal 1000 to transmit a block chain transaction requesting generation of the first token based on the request transaction to the block chain network B. can be (S2000). Accordingly, the first token may be issued to the blockchain network (B). In this case, the owner of the first token may be the user terminal 1000 that called the processor 200 , and the transaction attribute information may be set as the first transaction information.

블록체인 네트워크(B) 상에 제1 토큰이 발행된 경우, 프로세서(200)는 알림부(5700)를 실행하여, 제1 토큰의 발행 완료 정보를 사용자 단말(1000)에 전송할 수 있다(S3000). 이후, 프로세서(200)는 사용자 단말(1000)의 호출에 의해 전송부(5300)를 실행하여, 상기 사용자 단말(1000)의 하위 서버인 제1 서버로 제1 토큰을 전송할 수 있다(S4000). 다시 말해, 제1 토큰의 소유자는 제1 서버로 변경될 수 있다.When the first token is issued on the block chain network B, the processor 200 may execute the notification unit 5700 to transmit the issuance completion information of the first token to the user terminal 1000 (S3000) . Thereafter, the processor 200 may execute the transmitter 5300 by calling the user terminal 1000 to transmit the first token to a first server that is a lower server of the user terminal 1000 ( S4000 ). In other words, the owner of the first token may be changed to the first server.

제1 토큰의 소유자가 변경되면, 프로세서(200)는 알림부(5700)를 실행하여, 제1 토큰의 전송 완료 정보를 제1 서버로 송신할 수 있다(S5000). 이에 따라, 제1 서버는 사용자 단말(1000)로부터 API 호출에 의해 수신된 제1 트랜잭션을, 프로세서(200)로부터 수신된 제1 토큰 내 제1 트랜잭션 정보와 비교하여, 제1 트랜잭션의 무결성 및 정합성을 검증할 수 있다. 실시예에 따르면, API 호출에 의해 수신된 제1 트랜잭션 및 프로세서(200)로부터 수신된 제1 토큰 내 제1 트랜잭션 정보가 일치할 경우, 제1 서버는 API 호출에 의해 수신된 제1 트랜잭션을 처리할 수 있다.When the owner of the first token is changed, the processor 200 may execute the notification unit 5700 to transmit transmission completion information of the first token to the first server (S5000). Accordingly, the first server compares the first transaction received by the API call from the user terminal 1000 with the first transaction information in the first token received from the processor 200, and the integrity and consistency of the first transaction can be verified. According to an embodiment, when the first transaction received by the API call and the first transaction information in the first token received from the processor 200 match, the first server processes the first transaction received by the API call can do.

이후, 프로세서(200)는 제1 서버의 호출에 의해 수정부(5500)를 실행하여, 블록체인 네트워크(B) 상에 발행된 제1 토큰의 트랜잭션 처리 결과 값의 기록을 요청하는 블록체인 트랜잭션을 발행할 수 있다(S6000). Thereafter, the processor 200 executes the correction unit 5500 by the call of the first server, and performs a block chain transaction requesting the recording of the transaction processing result value of the first token issued on the block chain network (B). can be issued (S6000).

이후, 프로세서(200)는 알림부(5700)를 실행하여, 제1 서버로 트랜잭션 처리 결과 값의 수정 완료 정보를 전송할 수 있다(S7000). 따라서, 제1 서버로 수신된 API 호출에 의한 제1 트랜잭션의 무결성 검증이 완료될 수 있다.Thereafter, the processor 200 may execute the notification unit 5700 to transmit the modification completion information of the transaction processing result value to the first server ( S7000 ). Accordingly, integrity verification of the first transaction by the API call received to the first server may be completed.

이후, 제1 서버는 하위 서버인 제2 서버로 API 호출에 의한 제2 트랜잭션을 전송할 수 있다. 이에 따라 프로세서(200)는 제1 서버의 호출에 의해 S1000 내지 S7000 단계를 반복 수행함으로써, 제2 트랜잭션의 데이터 무결성을 검증할 수 있다. 다시 말해, 이는 제N 서버가 최하위 서버일 때까지 N을 N+1 만큼 증가(S8000)시켜, 제N 서버가 최하위 서버(S9000)일 때까지 S1000 내지 S7000 단계를 반복 수행할 수 있다.Thereafter, the first server may transmit the second transaction by the API call to the second server, which is a lower level server. Accordingly, the processor 200 may verify the data integrity of the second transaction by repeatedly performing steps S1000 to S7000 by the call of the first server. In other words, this may increase N by N+1 until the Nth server is the lowest server (S8000), and repeat steps S1000 to S7000 until the Nth server is the lowest server (S9000).

이때, 이후의 S4000 단계를 수행하는 프로세서(200)는 제N 토큰의 소유자 변경 시, 제N 토큰의 부모 속성을 제N-1 토큰으로 설정할 수 있으며, 제N 서버의 호출에 의해 수정부(5500)를 실행하여, 제N-1 토큰의 자식 속성을 제N 토큰으로 변경할 수 있다. 이에 따라, 하위 서버인 복수의 서버(3000)들 중 어느 하나는 블록체인 네트워크(B) 상에 발행된 토큰을 통해, API 호출에 의한 트랜잭션 간 상관관계의 추적이 가능함으로써, 트랜잭션의 발행을 최초로 요청한 사용자 단말(1000)에 대한 검증이 가능할 수 있다.At this time, when the owner of the N-th token is changed, the processor 200 performing the subsequent step S4000 may set the parent property of the N-th token to the N-1 token, and the correction unit 5500 by the call of the N-th server. ) to change the child attribute of the N-1th token to the Nth token. Accordingly, any one of the plurality of servers 3000, which is a subordinate server, can track the correlation between transactions by API call through the token issued on the blockchain network (B), so that the issuance of the transaction is the first Verification of the requested user terminal 1000 may be possible.

이상, 본 발명의 실시예에 따라 토큰 모델링 장치를 포함하는 데이터 무결성 검증 시스템 및 방법을 설명하였다. In the above, a data integrity verification system and method including a token modeling apparatus have been described according to an embodiment of the present invention.

이하에서는, 본 발명의 실시예에 따른 데이터 무결성 검증 시스템을 이용한 서비스 구조 모델을 설명하겠다.Hereinafter, a service structure model using a data integrity verification system according to an embodiment of the present invention will be described.

도 7은 본 발명의 실시예에 따른 데이터 무결성 검증 시스템을 이용한 오픈 뱅킹 서비스 구조를 설명하기 위한 이미지이다.7 is an image for explaining the structure of an open banking service using a data integrity verification system according to an embodiment of the present invention.

도 7을 참조하면, 오픈 뱅킹 서비스는 사용자 단말(D), 이용 기관(A), 오픈 뱅킹 센터(C), 참가 은행(P)들로 구성될 수 있다. Referring to FIG. 7 , the open banking service may be composed of a user terminal (D), a user institution (A), an open banking center (C), and participating banks (P).

실시예에 따르면, 오픈 뱅킹 서비스는 사용자 단말(D), 이용 기관(A), 오픈 뱅킹 센터(C), 참가 은행(P)들이 API 호출로 상호 연계된 다중 계층 서버 구조로 제공될 수 있다.According to the embodiment, the open banking service may be provided in a multi-layered server structure in which the user terminal (D), the user institution (A), the open banking center (C), and the participating banks (P) are interconnected by an API call.

보다 구체적으로 설명하면, 이용 기관(A)은 카카오페이, 토스 등의 핀테크 서비스 및 핀테크 업체일 수 있으며, 트랜잭션 발생시 마다 사용자 서명 정보를 확인할 수 있는 최상위 계층의 서버일 수 있다. More specifically, the user organization (A) may be a fintech service and a fintech company such as Kakao Pay and Toss, and may be a top-tier server that can check user signature information whenever a transaction occurs.

또한, 오픈 뱅킹 센터(C)는 오픈 뱅킹 API를 제공하는 금융 결제원을 나타내는 중간 계층 서버일 수 있다.In addition, the open banking center (C) may be a middle layer server representing a financial clearing house that provides an open banking API.

그리고, 참가 은행(P)들은 사용자의 은행 계좌를 관리하는 금융 기관을 나타내는 최하위 계층 서버이다.And, the participating banks (P) are the lowest layer servers representing the financial institutions that manage the user's bank account.

최상위 계층 서버인 이용 기관(A)은 사용자 요청 트랜잭션을 처리하기 위해 중간 계층 서버인 오픈 뱅킹 센터(C)를 거쳐 최하위 계층 서버인 참가 은행(P)들에게 명령 트랜잭션을 전송함으로써 사용자 계좌를 조회하기도 하고, 사용자 계좌 상태 정보를 수정할 수 있다. In order to process the user request transaction, the top-tier server, the user institution (A), sends a command transaction to the participating banks (P), the lowest-tier server, through the middle-tier server, the Open Banking Center (C), to inquire the user account. and edit user account status information.

일반적으로, 오픈 뱅킹 서비스 중 출금 이체 기능은 최하위 계층 서버인 참가 은행(P)에서 사용자 계좌 상태를 업데이트 해야하는 과정이 필수적으로 요구된다.In general, the withdrawal and transfer function among open banking services requires the process of updating the user account status at the participating bank (P), which is the lowest tier server.

이에, 종래의 오픈 뱅킹 서비스는 사용자 서명 정보가 매 트랜잭션마다 전송되어, 트랜잭션 실행을 담당하는 해당 서버에서 트랜잭션 무결성 및 부인 방지를 검증하였다. Accordingly, in the conventional open banking service, user signature information is transmitted for every transaction, and transaction integrity and non-repudiation are verified in the corresponding server in charge of executing the transaction.

보다 자세히 설명하면, 종래의 오픈 뱅킹 서비스는 사용자 단말과 API 호출로 직접 연계된 최상위 서버의 경우 트랜잭션을 사용자 단말의 서명 정보와 함께 수신하여 로그 데이터로 저장하고, 이에 따라 최상위 서버로부터 수신된 사용자 단말의 서명 정보를 이용하여 상기 트랜잭션의 무결성 및 부인 방지를 검증하였다.More specifically, in the case of a top-level server directly linked to a user terminal and an API call, the conventional open banking service receives a transaction together with the signature information of the user terminal and stores it as log data, and accordingly, the user terminal received from the top-level server The integrity and non-repudiation of the transaction were verified using the signature information of

그러나, 사용자 단말과 직접 연결되지 않은 하위 서버의 경우, 상위 서버로부터 전송된 트랜잭션에 사용자 단말의 서명 정보가 포함되어 있지 않기 때문에 해당 트랜잭션이 사용자 요청에 기반한 것인지를 검증하기 어려운 단점이 발생하였다. However, in the case of a lower server that is not directly connected to the user terminal, since the signature information of the user terminal is not included in the transaction transmitted from the upper server, it is difficult to verify whether the transaction is based on a user request.

이를 해결하고자, 종래에는 하위 서버의 트랜잭션 검증을 위해 상위 서버의 로그 정보 및 하위 서버 API 호출 트랜잭션 정보, 그리고 하위 서버의 로그 데이터 정보를 모두 통합하여 정합성을 확인하는 오픈 뱅킹 서비스를 제공하고 있다. In order to solve this problem, conventionally, for transaction verification of a lower server, an open banking service is provided to check the consistency by integrating all of the log information of the upper server, the transaction information of the lower server API call, and the log data information of the lower server.

그러나, 로그 데이터는 고객 개인정보 또는 기업이나 조직 내부의 매우 민감한 금융 정보를 담고 있기 때문에, 외부에서의 접근이 매우 엄격하게 통제되므로, 해당 오픈 뱅킹 서비스 또한, 해당 트랜잭션의 정합성 검증을 위해 기관별 별도의 승인 절차를 거쳐야하는 단점이 있다.However, since log data contains customer personal information or highly sensitive financial information within a company or organization, access from outside is very strictly controlled, so the open banking service also uses separate data for each institution to verify the consistency of the transaction. The downside is that you have to go through an approval process.

한편, 본 발명의 실시예에 따라 토큰 모델링 장치를 포함하는 데이터 무결성 검증 시스템 및 방법을 오픈 뱅킹 서비스에 적용할 경우, 종래의 오픈 뱅킹 서비스와 같이 상위 서버로부터 수신된 통합 로그 데이터 정보를 모두 확인하여 정합성을 검증하지 않아도, 하위 서버들인 오픈 뱅킹 센터 및 참가 은행들이 블록체인 네트워크 상에 기록된 상위 서버의 토큰 정보를 이용하여 각각 개별적으로 사용자 단말 또는 상위 서버로부터 수신된 트랜잭션의 무결성 및 정합성 검증이 가능함으로써, 고효율, 고신뢰성, 저비용 및 고안전성의 데이터 무결성 검증 시스템 및 방법을 제공할 수 있다.On the other hand, when the data integrity verification system and method including the token modeling device according to the embodiment of the present invention are applied to the open banking service, all of the integrated log data information received from the upper server is checked as in the conventional open banking service. Even without verifying the consistency, the lower servers, the Open Banking Center and participating banks, can individually verify the integrity and consistency of transactions received from the user terminal or the upper server using the token information of the upper server recorded on the blockchain network. By doing so, it is possible to provide a data integrity verification system and method of high efficiency, high reliability, low cost and high safety.

이상, 본 발명의 실시예에 따라 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법을 설명하였다. In the above, a token modeling apparatus and a data integrity verification system and method including the same have been described according to an embodiment of the present invention.

본 발명의 실시예에 따른 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법은 상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령, 상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령, 상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령 및 상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함함으로써, 사용자 단말 또는 복수의 서버들 간 API 호출에 따른 트랜잭션의 정보를 블록체인에 기록하여 상기 트랜잭션의 무결성 및 부인 방지를 보장할 수 있다.A token modeling apparatus and a data integrity verification system and method including the same according to an embodiment of the present invention are commands for receiving a verification request of the transaction from a calling terminal that is an upper server of any one of the user terminal or the plurality of servers , a command to request to issue a token based on the transaction on a blockchain network, a command to send the token to a subordinate server of the calling terminal, and a function call from the subordinate server based on transaction information in the token By including a command to receive a verification result value that verifies the integrity of the transaction received from the calling terminal, information of a transaction according to an API call between a user terminal or a plurality of servers is recorded in the block chain to ensure the integrity of the transaction and non-repudiation.

또한, 블록체인 네트워크를 통해 하위 서버들이, 사용자 단말의 요청에 부합하는 트랜잭션이 최하위 서버까지 제대로 전달되었지 개별적으로 검증 가능함으로써, 개별 서버가 보유한 트랜잭션 정보에 대한 상호 정합성을 스스로 검증할 수 있으며, 다양한 계층적 서버 환경에서 내부 로그 데이터를 전부 공개하지 않아도, 정합성 검증이 가능한, 고효율, 고신뢰성, 저비용 및 고안전성의 토큰 모델링 장치 및 이를 포함하는 데이터 무결성 검증 시스템 및 방법을 제공할 수 있다.In addition, through the blockchain network, subordinate servers can independently verify that the transaction that meets the user terminal's request has been properly delivered to the lowest server, so that the mutual consistency of the transaction information held by individual servers can be verified by themselves. Even without disclosing all internal log data in a hierarchical server environment, it is possible to provide a token modeling device capable of verifying consistency, high efficiency, high reliability, low cost, and high safety, and a data integrity verification system and method including the same.

본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.The operation of the method according to the embodiment of the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. In addition, the computer-readable recording medium may be distributed in a network-connected computer system to store and execute computer-readable programs or codes in a distributed manner.

또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.In addition, the computer-readable recording medium may include a hardware device specially configured to store and execute program instructions, such as ROM, RAM, and flash memory. The program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다. Although some aspects of the invention have been described in the context of an apparatus, it may also represent a description according to a corresponding method, wherein a block or apparatus corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method may also represent a corresponding block or item or a corresponding device feature. Some or all of the method steps may be performed by (or using) a hardware device such as, for example, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.In embodiments, a programmable logic device (eg, a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In embodiments, the field programmable gate array may operate in conjunction with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by some hardware device.

이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention described in the claims below. You will understand that you can.

1000: 사용자 단말 3000: 서버
5000: 토큰 모델링 장치 5100: 발행부
5300: 전송부 5500: 수정부
5700: 알림부 100: 메모리
200: 프로세서 300: 송수신 장치
400: 입력 인터페이스 장치 500: 출력 인터페이스 장치
600: 저장 장치 700: 버스(bus)
B: 블록체인 네트워크
1000: user terminal 3000: server
5000: token modeling device 5100: issuer
5300: transmission unit 5500: correction unit
5700: notification unit 100: memory
200: processor 300: transceiver
400: input interface device 500: output interface device
600: storage device 700: bus
B: Blockchain Network

Claims (20)

사용자 단말 및 다중 계층 구조로 제공되는 복수의 서버들과 연동하여, 상기 사용자 단말 및 복수의 서버들 간의 함수 호출에 의한 트랜잭션 전송 시 상기 트랜잭션의 무결성을 검증하는 토큰 모델링 장치에 있어서,
메모리(memory); 및
상기 메모리에 저장된 적어도 하나의 명령을 실행하는 프로세서(processor)를 포함하되,
상기 적어도 하나의 명령은,
상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령,
상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령,
상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령, 및
상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함하는, 토큰 모델링 장치.
In the token modeling apparatus for verifying the integrity of the transaction when transmitting a transaction by a function call between the user terminal and the plurality of servers by interworking with a user terminal and a plurality of servers provided in a multi-layered structure,
memory; and
Comprising a processor (processor) for executing at least one instruction stored in the memory,
The at least one command is
a command to receive a verification request of the transaction from the user terminal or a calling terminal that is an upper server of any one of the plurality of servers;
a command to request to issue a token based on the transaction on the blockchain network;
command to send the token to a lower server of the calling terminal, and
and a command to receive, from the subordinate server, a verification result value that verifies the integrity of the transaction received from the calling terminal by a function call based on the transaction information in the token.
제1 항에 있어서,
상기 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령은,
상기 호출 단말로부터 상기 트랜잭션의 검증을 위한 요청 트랜잭션을 수신하도록 하는 명령을 포함하는, 토큰 모델링 장치.
According to claim 1,
A command to receive a verification request of the transaction from the calling terminal,
and a command to receive a request transaction for verification of the transaction from the calling terminal.
제2 항에 있어서,
상기 요청 트랜잭션은,
상기 호출 단말로부터 상기 트랜잭션의 정보 및 상기 호출 단말의 서명 정보를 포함하는, 토큰 모델링 장치.
3. The method of claim 2,
The request transaction is
The token modeling apparatus including information of the transaction from the calling terminal and signature information of the calling terminal.
제1 항에 있어서,
상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령은,
상기 요청 트랜잭션을 바탕으로 상기 트랜잭션에 기반한 토큰 발행을 요청하기 위한 블록체인 트랜잭션을 송신하도록 하는 명령,
상기 블록체인 네트워크로부터 상기 토큰의 발행 완료 정보를 수신하여 상기 호출 단말에 송신하도록 하는 명령,
상기 토큰의 소유자를 상기 호출 단말로 설정하도록 하는 명령; 및
상기 토큰의 소유자 속성 정보를 상기 사용자 단말로 설정하고, 설정 완료 정보를 상기 호출 단말로 송신하도록 하는 명령을 포함하는, 토큰 모델링 장치.
According to claim 1,
The command to request to issue a token based on the transaction on the blockchain network,
A command to transmit a blockchain transaction for requesting token issuance based on the transaction based on the request transaction;
a command to receive the issuance completion information of the token from the blockchain network and transmit it to the calling terminal;
instructions to set the owner of the token to the calling terminal; and
and a command to set the owner attribute information of the token to the user terminal, and to transmit setting completion information to the calling terminal.
제1 항에 있어서,
상기 토큰은 대체 불가능한, 무결성이 보장된 토큰인, 토큰 모델링 장치.
According to claim 1,
The token is a non-fungible, integrity-guaranteed token.
제1 항에 있어서,
상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령에서는,
상기 토큰의 소유자가 상기 하위 서버로 변경되는, 토큰 모델링 장치.
According to claim 1,
In the command to transmit the token to a lower server of the calling terminal,
A token modeling device, wherein the owner of the token is changed to the subordinate server.
제1 항에 있어서,
상기 검증 결과값은,
상기 토큰 내 트랜잭션 정보와 상기 호출 단말로부터 수신된 상기 트랜잭션 정보가 일치할 경우, 상기 하위 서버가 상기 트랜잭션을 처리하고 발행한 처리 결과 값인, 토큰 모델링 장치.
According to claim 1,
The verification result is
When the transaction information in the token matches the transaction information received from the calling terminal, the token modeling apparatus is a processing result value issued by the subordinate server processing the transaction.
제1 항에 있어서,
상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령 이후에,
상기 검증 결과값을 상기 토큰 내 처리 결과 속성 값으로 입력시키도록 하는 명령을 더 포함하는, 토큰 모델링 장치.
According to claim 1,
After the command to receive the verification result value verifying the integrity of the transaction,
The token modeling apparatus further comprising a command to input the verification result value as a processing result attribute value in the token.
사용자 단말 및 다중 계층 구조로 제공되는 복수의 서버들과 연동하여 상기 사용자 단말 및 복수의 서버들 간의 함수 호출에 의한 트랜잭션 전송 시 상기 트랜잭션의 무결성을 검증하는 토큰 모델링 장치를 이용해, 데이터의 무결성을 검증하는 방법에 있어서,
상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하는 단계;
상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 단계;
상기 토큰을 상기 호출 단말의 하위 서버로 송신하는 단계; 및
상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하는 단계를 포함하는, 데이터 무결성 검증 방법.
When a transaction is transmitted by a function call between the user terminal and the plurality of servers by interworking with the user terminal and a plurality of servers provided in a multi-layered structure, a token modeling device that verifies the integrity of the transaction is used to verify the integrity of data in a way to
receiving a verification request of the transaction from the user terminal or a calling terminal that is an upper server of any one of the plurality of servers;
requesting to issue a token based on the transaction on a blockchain network;
transmitting the token to a lower server of the calling terminal; and
and receiving, from the subordinate server, a result of verifying the integrity of the transaction received from the calling terminal by a function call based on the transaction information in the token.
제9 항에 있어서,
상기 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하는 단계는,
상기 호출 단말로부터 상기 트랜잭션의 검증을 위한 요청 트랜잭션을 수신하는 단계를 포함하는, 데이터 무결성 검증 방법.
10. The method of claim 9,
Receiving the transaction verification request from the calling terminal comprises:
and receiving a request transaction for verification of the transaction from the calling terminal.
제10 항에 있어서,
상기 요청 트랜잭션은,
상기 호출 단말로부터 상기 트랜잭션의 정보 및 상기 호출 단말의 서명 정보를 포함하는, 데이터 무결성 검증 방법.
11. The method of claim 10,
The request transaction is
data integrity verification method including information of the transaction from the calling terminal and signature information of the calling terminal.
제9 항에 있어서,
상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 단계는,
상기 요청 트랜잭션을 바탕으로 상기 트랜잭션에 기반한 토큰 발행을 요청하기 위한 블록체인 트랜잭션을 송신하는 단계;
상기 블록체인 네트워크로부터 상기 토큰의 발행 완료 정보를 수신하여 상기 호출 단말에 송신하는 단계;
상기 토큰의 소유자를 상기 호출 단말로 설정하는 단계; 및
상기 토큰의 소유자 속성 정보를 상기 사용자 단말로 설정하고, 설정 완료 정보를 상기 호출 단말로 송신하는 단계를 포함하는, 데이터 무결성 검증 방법.
10. The method of claim 9,
The step of requesting to issue a token based on the transaction on the blockchain network,
transmitting a blockchain transaction for requesting token issuance based on the transaction based on the request transaction;
receiving the issuance completion information of the token from the block chain network and transmitting the information to the calling terminal;
setting the owner of the token to the calling terminal; and
and setting the owner attribute information of the token to the user terminal, and transmitting setting completion information to the calling terminal.
제9 항에 있어서,
상기 토큰은 대체 불가능한, 무결성이 보장된 토큰인, 데이터 무결성 검증 방법.
10. The method of claim 9,
The token is a non-fungible, integrity-guaranteed token.
제9 항에 있어서,
상기 토큰을 상기 호출 단말의 하위 서버로 송신하는 단계에서는,
상기 토큰의 소유자가 상기 하위 서버로 변경되는, 데이터 무결성 검증 방법.
10. The method of claim 9,
In the step of transmitting the token to the lower server of the calling terminal,
The data integrity verification method, wherein the owner of the token is changed to the subordinate server.
제9 항에 있어서,
상기 검증 결과값은,
상기 토큰 내 트랜잭션 정보와 상기 호출 단말로부터 수신된 상기 트랜잭션 정보가 일치할 경우, 상기 하위 서버가 상기 트랜잭션을 처리하고 발행한 처리 결과 값인, 데이터 무결성 검증 방법.
10. The method of claim 9,
The verification result is
When the transaction information in the token matches the transaction information received from the calling terminal, the data integrity verification method is a processing result value issued by the subordinate server processing the transaction.
제9 항에 있어서,
상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하는 단계 이후에,
상기 검증 결과값을 상기 토큰 내 처리 결과 속성 값으로 입력시키는 단계를 더 포함하는, 데이터 무결성 검증 방법.
10. The method of claim 9,
After receiving the verification result value verifying the integrity of the transaction,
The data integrity verification method further comprising the step of inputting the verification result value as a processing result attribute value in the token.
사용자 단말;
다중 계층 구조로 제공되는 복수의 서버들; 및
상기 사용자 단말 및 상기 복수의 서버들과 연동하여, 상기 사용자 단말 및 복수의 서버들 간의 함수 호출에 의한 트랜잭션 전송 시 상기 트랜잭션의 무결성을 검증하는 토큰 모델링 장치를 포함하되,
상기 토큰 모델링 장치는,
메모리(memory); 및
상기 메모리에 저장된 적어도 하나의 명령을 실행하는 프로세서(processor)를 포함하되,
상기 적어도 하나의 명령은,
상기 사용자 단말 또는 상기 복수의 서버들 중 어느 하나의 상위 서버인 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령,
상기 트랜잭션에 기반한 토큰을 블록체인 네트워크 상에 발행하도록 요청하는 명령,
상기 토큰을 상기 호출 단말의 하위 서버로 송신하도록 하는 명령 및
상기 하위 서버로부터, 상기 토큰 내 트랜잭션 정보를 기초로 함수 호출에 의해 상기 호출 단말로부터 수신된 상기 트랜잭션의 무결성을 검증한 검증 결과값을 수신하도록 하는 명령을 포함하는, 데이터 무결성 검증 시스템.
user terminal;
a plurality of servers provided in a multi-layered structure; and
In conjunction with the user terminal and the plurality of servers, including a token modeling device for verifying the integrity of the transaction when transmitting a transaction by a function call between the user terminal and the plurality of servers,
The token modeling device,
memory; and
Comprising a processor (processor) for executing at least one instruction stored in the memory,
The at least one command is
a command to receive a verification request of the transaction from the user terminal or a calling terminal that is an upper server of any one of the plurality of servers;
a command to request to issue a token based on the transaction on the blockchain network;
a command to transmit the token to a lower server of the calling terminal; and
and a command to receive, from the subordinate server, a verification result value that verifies the integrity of the transaction received from the calling terminal by a function call based on the transaction information in the token.
제17 항에 있어서,
상기 호출 단말로부터 상기 트랜잭션의 검증 요청을 수신하도록 하는 명령은,
상기 호출 단말로부터 상기 트랜잭션의 검증을 위한 요청 트랜잭션을 수신하도록 하는 명령을 포함하되,
상기 요청 트랜잭션은,
상기 호출 단말로부터 상기 트랜잭션의 정보 및 상기 호출 단말의 서명 정보를 포함하는, 데이터 무결성 검증 시스템.
18. The method of claim 17,
A command to receive a verification request of the transaction from the calling terminal,
a command to receive a request transaction for verification of the transaction from the calling terminal,
The request transaction is
data integrity verification system including information of the transaction from the calling terminal and signature information of the calling terminal.
제17 항에 있어서,
상기 토큰은, 대체 불가능한, 무결성이 보장된 토큰인, 데이터 무결성 검증 시스템.
18. The method of claim 17,
The token is a non-fungible, integrity-guaranteed token.
제17 항에 있어서,
상기 검증 결과값은,
상기 토큰 내 트랜잭션 정보와 상기 호출 단말로부터 수신된 상기 트랜잭션 정보가 일치할 경우, 상기 하위 서버가 상기 트랜잭션을 처리하고 발행한 처리 결과 값인, 데이터 무결성 검증 시스템.
18. The method of claim 17,
The verification result is
When the transaction information in the token matches the transaction information received from the calling terminal, the data integrity verification system is a processing result value issued by the subordinate server processing the transaction.
KR1020200153158A 2020-11-16 2020-11-16 Token modelling apparatus, system and method for verifying the integrity of data having the same KR102431835B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153158A KR102431835B1 (en) 2020-11-16 2020-11-16 Token modelling apparatus, system and method for verifying the integrity of data having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153158A KR102431835B1 (en) 2020-11-16 2020-11-16 Token modelling apparatus, system and method for verifying the integrity of data having the same

Publications (2)

Publication Number Publication Date
KR20220066769A true KR20220066769A (en) 2022-05-24
KR102431835B1 KR102431835B1 (en) 2022-08-11

Family

ID=81805495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153158A KR102431835B1 (en) 2020-11-16 2020-11-16 Token modelling apparatus, system and method for verifying the integrity of data having the same

Country Status (1)

Country Link
KR (1) KR102431835B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117132280A (en) * 2023-10-26 2023-11-28 环球数科集团有限公司 Distributed transaction verification system based on Web3 technology
WO2024025030A1 (en) * 2022-07-25 2024-02-01 주식회사 블록체인기술연구소 System for proving ownership of private signature through nft issuance for private signature data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200018967A (en) * 2018-08-13 2020-02-21 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
KR20200061827A (en) * 2018-11-26 2020-06-03 주식회사 시큐센 Plural Signer Bio Electronic Signature Using Block-chain Method and Device Thereof
KR102172903B1 (en) * 2019-12-09 2020-11-02 (주)트러스트체인파트너스위드하모니 Database management system based on blockchain technology

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200018967A (en) * 2018-08-13 2020-02-21 포항공과대학교 산학협력단 Method and apparatus for authenticating user based on blockchain
KR20200061827A (en) * 2018-11-26 2020-06-03 주식회사 시큐센 Plural Signer Bio Electronic Signature Using Block-chain Method and Device Thereof
KR102172903B1 (en) * 2019-12-09 2020-11-02 (주)트러스트체인파트너스위드하모니 Database management system based on blockchain technology

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024025030A1 (en) * 2022-07-25 2024-02-01 주식회사 블록체인기술연구소 System for proving ownership of private signature through nft issuance for private signature data
CN117132280A (en) * 2023-10-26 2023-11-28 环球数科集团有限公司 Distributed transaction verification system based on Web3 technology
CN117132280B (en) * 2023-10-26 2024-02-02 环球数科集团有限公司 Distributed transaction verification system based on Web3 technology

Also Published As

Publication number Publication date
KR102431835B1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
US11195231B2 (en) Transaction processing in a service blockchain
US11190342B2 (en) Transaction processing in a service blockchain
JP6946435B2 (en) Methods and systems that provide confirmed, auditable, and immutable inputs to smart contracts
US11915238B2 (en) Blockchain-implemented systems and methods for concurrent bytecode interpretation
CN110009489B (en) Asset transfer method and device based on block chain and electronic equipment
CN110458631B (en) Bill number distribution method and device based on block chain and electronic equipment
AU2019229453A1 (en) Systems and methods for storing and sharing transactional data using distributed computer systems
TW202008196A (en) Transaction method and system based on centralized settlement and block chain deposit certification
JP2020521371A (en) Unlocking transaction Bytecode constraint injection
WO2021017437A1 (en) Blockchain-based note verification method and apparatus, electronic device, and storage medium
US11443307B2 (en) Cross-border resource transfer authenticity verification method, device and electronic equipment
US11645634B2 (en) Blockchain-based supply chain payment network
US20200082388A1 (en) Authenticating server and method for transactions on blockchain
KR102431835B1 (en) Token modelling apparatus, system and method for verifying the integrity of data having the same
WO2020062972A1 (en) Blockchain-based data processing method and apparatus, and electronic device
CN110738566A (en) asset screening method and device based on block chain and electronic equipment
CN111383117A (en) Asset management method and device based on block chain and electronic equipment
CN111383114A (en) Asset information management method and device based on block chain
CN112330181A (en) Enterprise credit evaluation method and device based on block chain
CN111640002A (en) Block chain-based mortgage loan method and device
Papi et al. A Blockchain integration to support transactions of assets in multi-agent systems
WO2021073096A1 (en) Resource data transfer method and device, and blockchain system
US10839387B2 (en) Blockchain based action and billing
CN111383118A (en) Asset management method and device based on block chain and electronic equipment
KR20200084177A (en) Transaction processing system and method enabling extension of block chain

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant