KR20210074982A - Electronic terminal device that enables update processing for application and forgery detection of application based on blockchain and operating method thereof - Google Patents

Electronic terminal device that enables update processing for application and forgery detection of application based on blockchain and operating method thereof Download PDF

Info

Publication number
KR20210074982A
KR20210074982A KR1020200031473A KR20200031473A KR20210074982A KR 20210074982 A KR20210074982 A KR 20210074982A KR 1020200031473 A KR1020200031473 A KR 1020200031473A KR 20200031473 A KR20200031473 A KR 20200031473A KR 20210074982 A KR20210074982 A KR 20210074982A
Authority
KR
South Korea
Prior art keywords
block
node device
application
snapshot
electronic terminal
Prior art date
Application number
KR1020200031473A
Other languages
Korean (ko)
Other versions
KR102316763B1 (en
Inventor
주용완
강재식
김규태
백남균
Original Assignee
(주)포뎁스
강릉원주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)포뎁스, 강릉원주대학교산학협력단 filed Critical (주)포뎁스
Publication of KR20210074982A publication Critical patent/KR20210074982A/en
Application granted granted Critical
Publication of KR102316763B1 publication Critical patent/KR102316763B1/en

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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

Abstract

Disclosed are an electronic terminal device enabling update processing for applications and forgery detection of applications based on a block chain, and an operating method thereof. The present invention relates to an electronic terminal device capable of checking whether applications installed in the electronic terminal device are forged and an operating method thereof, by: receiving update data propagated from an update data management server through a block chain network; redistributing the data to other node devices via the block chain network; and connecting with the update data management server.

Description

블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 응용 애플리케이션의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법{ELECTRONIC TERMINAL DEVICE THAT ENABLES UPDATE PROCESSING FOR APPLICATION AND FORGERY DETECTION OF APPLICATION BASED ON BLOCKCHAIN AND OPERATING METHOD THEREOF}ELECTRONIC TERMINAL DEVICE THAT ENABLES UPDATE PROCESSING FOR APPLICATION AND FORGERY DETECTION OF APPLICATION BASED ON BLOCKCHAIN AND OPERATING METHOD THEREOF }

본 발명은 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 응용 애플리케이션의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법에 대한 것이다.The present invention relates to an electronic terminal device that enables update processing for application applications and forgery detection of application applications based on a block chain and an operating method thereof.

최근, 출시되고 있는 백신 프로그램이나, 오피스 프로그램, 게임 등과 같은 응용 애플리케이션들은 제품 출시 후 애플리케이션 상에 새로운 바이러스 정보를 반영하거나 다양한 오류를 개선하기 위해 업데이트 기능을 제공하는 경우가 많다.Recently, application applications such as vaccine programs, office programs, and games that are being released often provide an update function to reflect new virus information or to improve various errors after product release.

기존의 응용 애플리케이션에 대한 업데이트는 하나의 업데이트 서버가 응용 애플리케이션이 설치된 다수의 사용자 단말들에 대해 업데이트 데이터를 제공하는 형태로 이루어지고 있었기 때문에 업데이트에 따른 서버 부하가 가중되는 문제가 있었다.Since the update of the existing application application is made in the form of one update server providing update data to a plurality of user terminals in which the application application is installed, there is a problem in that the server load according to the update is increased.

이러한 업데이트에 따른 서버 부하를 분산시키기 위한 방안으로 다수의 사용자 단말들에 대해 동시에 업데이트 데이터를 전달하는 것이 아니라, 시간을 나누어 순차적으로 업데이트 데이터를 전달하는 방식이 사용되곤 했었다.As a method for distributing the server load according to such an update, a method of sequentially transmitting the update data by dividing the time, rather than transmitting the update data to a plurality of user terminals at the same time, has been used.

하지만, 이러한 업데이트 방식은 특정 사용자들에 대해서만 먼저 업데이트 데이터가 전달되기 때문에 사용자 간의 형평성 문제가 발생할 수 있다.However, in this update method, since update data is first delivered only to specific users, a problem of equality among users may occur.

최근에는 소정의 데이터를 체인화된 블록으로 구성하여 중앙 서버가 아닌 노드들에 분산 저장함으로써, 해당 데이터에 대한 무결성을 보장할 수 있는 블록체인 기술이 널리 활용되고 있다.Recently, block chain technology that can ensure the integrity of data by composing predetermined data into chained blocks and storing them distributedly in nodes rather than in a central server has been widely used.

블록체인 기술은 트랜잭션이라고 하는 소정의 데이터가 생성되면, 블록체인 네트워크에 참여하고 있는 복수의 노드 장치들 중 어느 하나의 노드 장치가 여러 블록들이 체인으로 연결되어 있는 블록체인 데이터에 포함된 이전 블록을 기초로 상기 트랜잭션이 포함된 새로운 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후 상기 블록을 상기 블록체인 네트워크를 통해 다른 노드 장치들로 배포함으로써, 소정의 데이터가 복수의 노드 장치들에 분산 저장되도록 하는 기술을 의미한다.In blockchain technology, when predetermined data called a transaction is generated, any one node device among a plurality of node devices participating in the blockchain network uses the previous block included in the blockchain data in which several blocks are connected in a chain. By creating a new block containing the transaction based on a chain, linking the block to the block chain data, and distributing the block to other node devices through the block chain network, predetermined data is transferred to a plurality of nodes. It refers to a technology that allows distributed storage in devices.

이러한 블록체인 기술은 중앙 서버에서 다수의 노드들로 데이터를 전달하는 것이 아니라, 노드들 간의 P2P를 기반으로 데이터 전파가 이루어지기 때문에 여러 사용자들에게 데이터를 배포하는 시스템에서의 활용성이 뛰어난 장점이 있다.This block chain technology does not deliver data from a central server to multiple nodes, but data propagation is based on P2P between nodes, so it has excellent usability in a system that distributes data to multiple users. have.

따라서, 소정의 응용 애플리케이션이 설치된 다수의 사용자 단말들로 업데이트 데이터를 전달해야 하는 시스템에 있어서, 이러한 블록체인 기술을 활용함으로써, 효율적으로 업데이트 데이터를 다수의 사용자 단말들로 배포할 수 있는 기술의 연구가 필요하다.Therefore, in a system that needs to deliver update data to a plurality of user terminals in which a predetermined application application is installed, by utilizing such a block chain technology, a study of a technology capable of efficiently distributing update data to a plurality of user terminals is needed

본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 한다.The electronic terminal device and its operating method according to the present invention receive update data propagated from an update data management server through a block chain network, and distribute it to other node devices through the block chain network, thereby requiring distribution of update data. In the system, it is possible to reduce the server burden according to the distribution of the update data and at the same time to enable the rapid distribution of the update data to a large number of users.

또한, 본 발명에 따른 전자 단말 장치 및 그 동작 방법은 블록체인 네트워크를 통해 상기 업데이트 데이터를 배포받은 경우, 상기 업데이트 데이터 관리 서버와 접속하여 상기 전자 단말 장치에 설치되어 있는 응용 애플리케이션의 위변조 여부를 확인함으로써, 상기 전자 단말 장치에서 상기 응용 애플리케이션의 무결성이 항상 유지될 수 있도록 지원하고자 한다.In addition, the electronic terminal device and its operating method according to the present invention, when the update data is distributed through the block chain network, connect with the update data management server to check whether the application installed in the electronic terminal device is forgery or falsification By doing so, it is intended to support so that the integrity of the application application is always maintained in the electronic terminal device.

본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 는 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부, 상기 응용 애플리케이션의 위변조 탐지를 위해 상기 업데이트 데이터 관리 서버와 사전 공유하고 있는 해시 함수가 저장되어 있는 해시 함수 저장부, 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 블록 수신부, 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 업데이트 처리부, 상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 상기 업데이트 데이터 관리 서버에 접속하여 상기 업데이트 데이터 관리 서버로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청하는 해시 값 전송 요청부, 상기 업데이트 데이터 관리 서버가 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 해시 함수를 이용하여, 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성함에 따라, 상기 업데이트 데이터 관리 서버로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교하는 해시 값 비교부, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증하는 위변조 검증부 및 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 블록 전송부를 포함한다.An electronic terminal device receiving update data for an application application transmitted from the update data management server according to an embodiment of the present invention through a block chain network - The electronic terminal device includes a plurality of node devices constituting the block chain network one of - is a block chain data storage unit that stores block chain data in which blocks including transactions containing past update data for the application application installed in the electronic terminal device are connected in a chain, the application application A hash function storage unit in which a hash function shared in advance with the update data management server for forgery detection is stored, and as new update data for the application application is generated in the update data management server, the new update data is included After the first block including the first transaction is generated, the first block starts to propagate through the block chain network, so that the plurality of blocks in response to the propagation of the first block through the block chain network are generated. When the first node device, which is one of the node devices, transmits the first block to the electronic terminal device, a block receiving unit for receiving the first block from the first node device, when the first block is received , an update processing unit that performs update processing on the application application installed in the electronic terminal device based on the new update data included in the first transaction within the first block, update processing on the application application is completed, using the hash function, generates a hash value for at least one file among a plurality of files constituting the application application for which the update process is completed, and connects to the update data management server to manage the update data A hash value transmission requesting unit for requesting transmission of a hash value for verification for the at least one file to a server, the update data management server performs the update data By using the hash function stored in the management server to generate a verification hash value for the at least one file among the plurality of files constituting the application application stored in the update data management server, When a verification hash value for the at least one file is received from the update data management server, a hash value for comparing whether the verification hash value for the at least one file and the hash value for the at least one file match each other When it is confirmed that the comparison unit, the verification hash value for the at least one file and the hash value for the at least one file match each other, the new update data and the application application installed in the electronic terminal device are forged and tampered with. When it is verified that forgery and falsification does not occur in the forgery verification unit verifying that it has not occurred and the new updated data and the application application installed in the electronic terminal device, the block chain data stored in the block chain data storage unit is stored in the block chain data. By linking the first block with a chain, the first block is transferred to at least one second node device that is pre-designated as a node device to be a target of block propagation among the plurality of node devices after the storage of the first block is completed. It includes a block transmitter for transmitting a block.

또한, 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 의 동작 방법은 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계, 상기 응용 애플리케이션의 위변조 탐지를 위해 상기 업데이트 데이터 관리 서버와 사전 공유하고 있는 해시 함수가 저장되어 있는 해시 함수 저장부를 유지하는 단계, 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 단계, 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 단계, 상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 상기 업데이트 데이터 관리 서버에 접속하여 상기 업데이트 데이터 관리 서버로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청하는 단계, 상기 업데이트 데이터 관리 서버가 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 해시 함수를 이용하여, 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성함에 따라, 상기 업데이트 데이터 관리 서버로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교하는 단계, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증하는 단계 및 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 단계를 포함한다.In addition, an electronic terminal device that receives update data for an application application transmitted from the update data management server according to an embodiment of the present invention through a block chain network - The electronic terminal device includes a plurality of nodes constituting the block chain network It is one of the devices - the operation method is a block chain data storage unit that stores block chain data in which blocks including transactions including past update data for the application installed in the electronic terminal device are chained therein maintaining, maintaining a hash function storage unit in which a hash function previously shared with the update data management server is stored for forgery detection of the application application, new update data for the application in the update data management server is generated, the first block including the first transaction including the new update data is generated, and then the first block starts to propagate through the block chain network. When a first node device, which is one of the plurality of node devices, transmits the first block to the electronic terminal device in response to the propagation of the first block, the first node device receives the first block performing an update process on the application installed in the electronic terminal device based on the new update data included in the first transaction in the first block when the first block is received Step, when the update process for the application is completed, using the hash function to generate a hash value for at least one file among a plurality of files constituting the application application for which the update process is completed, and the update data Accessing a management server and requesting transmission of a hash value for verification for the at least one file to the update data management server, the update data management server Using the hash function stored in the updated data management server, generating a hash value for verification of the at least one file among the plurality of files constituting the application application stored in the update data management server Accordingly, when the verification hash value for the at least one file is received from the update data management server, the verification hash value for the at least one file and the hash value for the at least one file are compared to each other When it is confirmed that the hash value for verification for the at least one file and the hash value for the at least one file match each other, the new update data and the application application installed in the electronic terminal device are forged verifying that it has not occurred, and if it is verified that forgery and falsification do not occur in the new updated data and the application installed in the electronic terminal device, the first data in the block chain data stored in the block chain data storage unit By linking the blocks in a chain, after the storage of the first block is completed, the first block is transferred to at least one second node device that is pre-designated to be a node device that is a target of block propagation among the plurality of node devices. It includes the step of transmitting.

본 발명에 따른 전자 단말 장치 및 그 동작 방법은 업데이트 데이터 관리 서버로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.The electronic terminal device and its operating method according to the present invention receive update data propagated from an update data management server through a block chain network, and distribute it to other node devices through the block chain network, thereby requiring distribution of update data. In the system, it is possible to reduce the server load according to the distribution of the update data and at the same time support the rapid distribution of the update data to a large number of users.

또한, 본 발명에 따른 전자 단말 장치 및 그 동작 방법은 블록체인 네트워크를 통해 상기 업데이트 데이터를 배포받은 경우, 상기 업데이트 데이터 관리 서버와 접속하여 상기 전자 단말 장치에 설치되어 있는 응용 애플리케이션의 위변조 여부를 확인함으로써, 상기 전자 단말 장치에서 상기 응용 애플리케이션의 무결성이 항상 유지될 수 있도록 지원할 수 있다.In addition, the electronic terminal device and its operating method according to the present invention, when the update data is distributed through the block chain network, connect with the update data management server to check whether the application installed in the electronic terminal device is forgery or falsification By doing so, it is possible to support the electronic terminal device so that the integrity of the application is always maintained.

도 1은 본 발명의 일실시예에 따른 전자 단말 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법을 도시한 순서도이다.
1 is a diagram showing the structure of an electronic terminal device according to an embodiment of the present invention.
2 is a flowchart illustrating a method of operating an electronic terminal device according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented with various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in a processor or memory of equipment capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer, and perform specified functions. can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks of the block diagrams or the steps of the flowcharts are produced as articles of manufacture containing instruction means for performing the same. could be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown one after another may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 전자 단말 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of an electronic terminal device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 전자 단말 장치(110)는 블록체인 데이터 저장부(111), 해시 함수 저장부(112), 블록 수신부(113), 업데이트 처리부(114), 해시 값 전송 요청부(115), 해시 값 비교부(116), 위변조 검증부(117) 및 블록 전송부(118)를 포함한다.Referring to FIG. 1 , the electronic terminal device 110 according to the present invention includes a block chain data storage unit 111 , a hash function storage unit 112 , a block receiving unit 113 , an update processing unit 114 , and a hash value transmission request. It includes a unit 115 , a hash value comparison unit 116 , a forgery verification unit 117 , and a block transmission unit 118 .

우선, 본 발명에서는 복수의 노드 장치들이 블록체인 네트워크를 구성하고 있고, 이때, 전자 단말 장치(110)는 상기 복수의 노드 장치들 중 하나인 것으로 가정한다. 그리고, 전자 단말 장치(110)를 포함해서 상기 복수의 노드 장치들에는 업데이트의 대상이 되는 소정의 응용 애플리케이션이 설치되어 있다고 가정한다. 여기서, 응용 애플리케이션이란 백신 프로그램, 오피스 프로그램, 유틸리티 프로그램, 게임 등과 같이 마이크로 프로세서 기반의 장치에서 설치되어 구동될 수 있는 소정의 애플리케이션을 의미한다.First, in the present invention, it is assumed that a plurality of node devices constitute a block chain network, and in this case, the electronic terminal device 110 is one of the plurality of node devices. In addition, it is assumed that a predetermined application to be updated is installed in the plurality of node devices including the electronic terminal device 110 . Here, the application application means a predetermined application that can be installed and run in a microprocessor-based device, such as a vaccine program, an office program, a utility program, a game, and the like.

또한, 본 발명에서 업데이트 데이터 관리 서버(100)는 상기 블록체인 네트워크를 통해 상기 응용 애플리케이션에 대한 업데이트 데이터를 상기 복수의 노드 장치들로 전파하는 서버를 의미한다.In addition, in the present invention, the update data management server 100 refers to a server that propagates update data for the application application to the plurality of node devices through the block chain network.

그리고, 상기 복수의 노드 장치들 각각의 메모리에는 상기 응용 애플리케이션에 대한 업데이트 데이터가 포함된 트랜잭션을 기반으로 생성된 블록들이 체인으로 연결되어 있는 블록체인 데이터가 저장되어 있다. 상기 블록체인 데이터는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결되어 있는 데이터이며, 상기 복수의 노드 장치들 각각의 메모리 상에 저장되어 있음으로 인해 상기 복수의 노드 장치들이 블록체인 네트워크를 구성할 수 있도록 한다.And, in the memory of each of the plurality of node devices, block chain data in which blocks generated based on a transaction including update data for the application application are connected in a chain are stored. The block chain data is data in which blocks including transactions including past update data for the application application are connected in a chain, and is stored in the memory of each of the plurality of node devices. It allows multiple node devices to form a blockchain network.

이와 관련해서, 전자 단말 장치(110)에서는 블록체인 데이터 저장부(111)에 전자 단말 장치(110)에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있을 수 있다.In this regard, in the electronic terminal device 110, the blocks including the transaction including the past update data for the application installed in the electronic terminal device 110 in the block chain data storage unit 111 inside are chained. It may be storing connected blockchain data.

그리고, 전자 단말 장치(110)의 해시 함수 저장부(112)에는 상기 응용 애플리케이션의 위변조 탐지를 위해 업데이트 데이터 관리 서버(100)와 사전 공유하고 있는 해시 함수가 저장되어 있을 수 있다.In addition, the hash function storage unit 112 of the electronic terminal device 110 may store a hash function shared in advance with the update data management server 100 for detecting forgery of the application application.

이러한 상황 하에서, 업데이트 데이터 관리 서버(100)에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되게 되면, 업데이트 데이터 관리 서버(100)는 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록을 생성한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들로 전파하기 시작할 수 있다.Under this situation, when new update data for the application is generated in the update data management server 100, the update data management server 100 includes a first transaction containing the new update data therein. After generating a block, it is possible to start propagating the first block to the plurality of node devices through the blockchain network.

이때, 상기 복수의 노드 장치들은 상기 제1 블록을 블록체인 네트워크를 통해 다른 노드 장치들로 전파할 수 있다.In this case, the plurality of node devices may propagate the first block to other node devices through the blockchain network.

이렇게, 상기 제1 블록이 업데이트 데이터 관리 서버(100)로부터 상기 블록체인 네트워크를 통해 상기 복수의 노드 장치들에 전파됨에 따라, 마침내 상기 복수의 노드 장치들 중 전자 단말 장치(110)로 블록을 전달하는 노드인 것으로 사전 설정된 제1 노드 장치(102)에 상기 제1 블록이 네트워크(101)를 통해 수신된 후 제1 노드 장치(102)가 상기 제1 블록을 전자 단말 장치(110)로 전송하게 되면, 전자 단말 장치(110)의 블록 수신부(113)는 제1 노드 장치(102)로부터 상기 제1 블록을 수신한다.In this way, as the first block is propagated from the update data management server 100 to the plurality of node devices through the block chain network, the block is finally transferred to the electronic terminal device 110 among the plurality of node devices. to transmit the first block to the electronic terminal device 110 after the first block is received through the network 101 to the first node device 102 preset to be a node Then, the block receiving unit 113 of the electronic terminal device 110 receives the first block from the first node device (102).

그리고, 업데이트 처리부(114)는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 전자 단말 장치(110)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.And, when the first block is received, the update processing unit 114 is the application application installed in the electronic terminal device 110 based on the new update data included in the first transaction in the first block. update processing for

이렇게, 상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 해시 값 전송 요청부(115)는 해시 함수 저장부(112)에 저장되어 있는 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 업데이트 데이터 관리 서버(100)에 접속하여 업데이트 데이터 관리 서버(100)로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청한다.In this way, when the update process for the application is completed, the hash value transmission request unit 115 uses the hash function stored in the hash function storage unit 112 to configure the application application for which the update process is completed. Generates a hash value for at least one file among a plurality of files, accesses the update data management server 100 to request transmission of a hash value for verification of the at least one file to the update data management server 100 do.

여기서, 상기 적어도 하나의 파일은 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 실행 파일, 시스템 파일 등과 같은 사전에 지정해 둔 소정의 중요 파일들일 수 있다. 이와 관련해서, 해시 값 전송 요청부(115)는 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 사전에 중요 파일로 지정해 둔 상기 적어도 하나의 파일을 선택한 후 상기 적어도 하나의 파일 각각을 상기 해시 함수에 입력으로 인가하여 상기 적어도 하나의 파일 각각에 대한 해시 값을 생성할 수 있다. 그러고 나서, 해시 값 전송 요청부(115)는 업데이트 데이터 관리 서버(100)에 접속하여 업데이트 데이터 관리 서버(100)로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청할 수 있다.Here, the at least one file may be predetermined important files such as an executable file or a system file among a plurality of files constituting the application application. In this regard, the hash value transmission request unit 115 selects the at least one file designated as an important file in advance among a plurality of files constituting the application application, and then assigns each of the at least one file to the hash function. By applying as an input, a hash value for each of the at least one file may be generated. Then, the hash value transmission request unit 115 may access the update data management server 100 and request transmission of the hash value for verification of the at least one file to the update data management server 100 .

이때, 업데이트 데이터 관리 서버(100)는 전자 단말 장치(110)로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송 요청이 수신되면, 업데이트 데이터 관리 서버(100)에 저장되어 있는 상기 해시 함수를 이용하여, 업데이트 데이터 관리 서버(100)에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성할 수 있다. 그러고 나서, 업데이트 데이터 관리 서버(100)는 상기 적어도 하나의 파일에 대한 검증용 해시 값을 전자 단말 장치(110)로 전송할 수 있다.At this time, when the update data management server 100 receives a request for transmission of the hash value for verification for the at least one file from the electronic terminal device 110, the hash function stored in the update data management server 100 is By using, it is possible to generate a verification hash value for the at least one file among the plurality of files constituting the application application stored in the update data management server 100 . Then, the update data management server 100 may transmit a hash value for verification of the at least one file to the electronic terminal device 110 .

이때, 해시 값 비교부(116)는 업데이트 데이터 관리 서버(100)로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교한다.At this time, when the hash value comparison unit 116 receives the verification hash value for the at least one file from the update data management server 100 , the verification hash value for the at least one file and the at least one file Compare the hash values for .

만약, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 전자 단말 장치(110)에 설치되어 있는 상기 응용 애플리케이션에 대한 상기 적어도 하나의 파일이 업데이트 데이터 관리 서버(100)에 저장되어 있는 상기 응용 애플리케이션에 대한 상기 적어도 하나의 파일과 동일한 것으로 볼 수 있기 때문에, 위변조 검증부(117)는 상기 블록체인 네트워크를 통해 배포된 상기 신규 업데이트 데이터와 전자 단말 장치(110)에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증할 수 있다.If it is confirmed that the hash value for verification of the at least one file and the hash value of the at least one file match each other, the at least one of the application applications installed in the electronic terminal device 110 . Since it can be seen that the file of the at least one file for the application stored in the update data management server 100 is the same, the forgery verification unit 117 is the new update distributed through the blockchain network. It can be verified that forgery has not occurred in the data and the application installed in the electronic terminal device 110 .

이렇게, 상기 신규 업데이트 데이터와 전자 단말 장치(110)에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증되면, 블록 전송부(118)는 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치(103)로 상기 제1 블록을 전송한다.In this way, when it is verified that forgery has not occurred in the new updated data and the application installed in the electronic terminal device 110 , the block transmission unit 118 stores the block chain data storage unit 111 in the block chain. At least one second node device previously designated as a node device to be a target of block propagation among the plurality of node devices after the storage of the first block is completed by chaining the first block to data ( 103) to transmit the first block.

만약, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하지 않음으로 인해, 위변조 검증부(117)에서 상기 신규 업데이트 데이터와 전자 단말 장치(110)에 설치된 상기 응용 애플리케이션에 위변조가 발생한 것으로 판명된 경우, 블록 전송부(118)는 상기 제1 블록에 대한 저장 및 전파를 진행하지 않고, 상기 응용 애플리케이션에 대한 무결성이 훼손되었으므로, 상기 응용 애플리케이션을 삭제하고, 재설치할 것을 지시하는 메시지를 화면 상에 표시할 수 있다.If the hash value for verification for the at least one file and the hash value for the at least one file do not match each other, the forgery verification unit 117 sends the new updated data and the electronic terminal device 110 When it is determined that forgery has occurred in the installed application, the block transmission unit 118 does not proceed with storage and propagation for the first block, and since the integrity of the application is damaged, the application is deleted and , a message instructing to reinstall may be displayed on the screen.

이러한 방식으로, 전자 단말 장치(110)는 블록체인 네트워크를 통해서 수신된 상기 제1 블록을 기반으로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료하고, 상기 제1 블록을 블록체인 데이터에 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 제1 블록을 상기 블록체인 네트워크의 다음 노드 장치들(103)로 전파할 수 있다.In this way, the electronic terminal device 110 completes the update processing for the application application based on the first block received through the block chain network, and connects the first block to the block chain data by connecting the first block to the block chain data. After completing the storage of one block, the first block may be propagated to the next node devices 103 of the blockchain network.

이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치(103) 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 업데이트 데이터 관리 서버(100)와 접속하여 상기 응용 애플리케이션에 대한 위변조 검증을 진행하며, 상기 적어도 하나의 제2 노드 장치(103)의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치(103) 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송할 수 있다.At this time, according to an embodiment of the present invention, when the first block is received from the electronic terminal device 110 , the at least one second node device 103 is included in the first transaction inside the first block. Update processing is performed on the application application installed in each of the at least one second node device 103 based on the newly updated data, and the update data management server 100 is connected to the application application. by linking the first block to the block chain data stored in the memory of the at least one second node device 103 with a chain, the storage of the first block is completed Then, the first block may be transmitted from each of the at least one second node device 103 among the plurality of node devices to at least one other node device that is previously designated as a node device to be a target of block propagation.

즉, 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록을 기초로 상기 응용 애플리케이션에 대한 업데이트를 처리하고, 상기 제1 블록을 블록체인 데이터에 연결한 후 다음 노드 장치들로 전파할 수 있다.That is, when the first block is received from the electronic terminal device 110 , the at least one second node device 103 processes the update of the application application based on the first block, and transmits the first block. After connecting to the blockchain data, it can propagate to the next node devices.

결국, 본 발명에 따른 전자 단말 장치(110)는 업데이트 데이터 관리 서버(100)로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.After all, the electronic terminal device 110 according to the present invention receives the update data propagated from the update data management server 100 through the block chain network, and distributes it back to other node devices through the block chain network, so that the update data In a system that requires the distribution of update data, it is possible to reduce the server burden according to the distribution of update data and at the same time support the rapid distribution of update data to a large number of users.

본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 스냅샷 블록 생성부(119), 스냅샷 블록 저장 처리부(120), 스냅샷 블록 확인부(121), 추가 블록 확인부(122) 및 신규 블록 전송부(123)를 더 포함할 수 있다.According to an embodiment of the present invention, the electronic terminal device 110 includes a snapshot block generation unit 119 , a snapshot block storage processing unit 120 , a snapshot block verification unit 121 , and an additional block verification unit 122 . and a new block transfer unit 123 .

스냅샷 블록 생성부(119)는 미리 설정된 주기마다 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성한다.The snapshot block generation unit 119 refers to the block chain data stored in the block chain data storage unit 111 every preset period and includes all past updated data for the application application (snapshot). After data is created, a snapshot block including the snapshot data is created.

관련해서, 상기 블록체인 데이터는 신규 업데이트 데이터가 생성될 때마다 그에 대응되는 블록들이 생성되어 연결된 데이터이기 때문에, 스냅샷 블록 생성부(119)는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록를 생성할 수 있다.In relation to this, since the block chain data is data that blocks corresponding to the block chain data are generated and connected whenever new update data is generated, the snapshot block generation unit 119 refers to the block chain data and records the history of the application application. After creating snapshot data including all update data of , a snapshot block including the snapshot data may be created.

스냅샷 블록 저장 처리부(120)는 상기 스냅샷 블록이 생성되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료한다.When the snapshot block is generated, the snapshot block storage processing unit 120 connects the snapshot block to the block chain data stored in the block chain data storage unit 111 in a chain, thereby providing information on the snapshot block. Save is complete.

즉, 스냅샷 블록 생성부(119)와 스냅샷 블록 저장 처리부(120)는 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 이를 상기 블록체인 데이터에 체인으로 연결해서 저장해 둘 수 있다.That is, the snapshot block generation unit 119 and the snapshot block storage processing unit 120 generate a snapshot block including all update data in the past at a predetermined period, connect it to the block chain data in a chain, and store it. can be put

이러한 스냅샷 블록의 생성 및 저장 이벤트는 전자 단말 장치(110)에서만 발생하는 것이 아니라, 전자 단말 장치(110)와 블록체인 네트워크를 구성하는 상기 복수의 노드 장치들 전부에서 발생된다. 즉, 상기 블록체인 네트워크를 구성하고 있는 상기 복수의 노드 장치들은 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 각 노드 장치에 저장되어 있는 블록체인 데이터에 체인으로 연결하여 저장해 둘 수 있다.These snapshot block creation and storage events do not occur only in the electronic terminal device 110, but occur in all of the plurality of node devices constituting the electronic terminal device 110 and the blockchain network. That is, the plurality of node devices constituting the block chain network generate a snapshot block including all updated data in the past at a predetermined period and connect to the block chain data stored in each node device in a chain. can be saved

이렇게, 특정 주기에서 블록체인 데이터에 스냅샷 블록이 연결된 이후, 업데이트 데이터 관리 서버(100)에서 신규 업데이트 데이터가 또 생성되면, 상기 신규 업데이트 데이터에 대한 신규 블록이 상기 블록체인 네트워크를 통해 전파됨으로써, 상기 신규 블록은 상기 복수의 노드 장치들 각각에 저장된 블록체인 데이터에서 상기 스냅샷 블록의 다음 블록에 체인으로 연결되어 저장될 수 있다. 이러한 방식으로, 상기 복수의 노드 장치들에 저장된 블록체인 데이터에는 신규 업데이트 데이터가 발생할 때마다 대응되는 블록이 연결되되, 소정 주기 간격으로 스냅샷 블록이 생성되어 추가로 연결될 수 있다.In this way, after the snapshot block is connected to the block chain data in a specific period, when new update data is generated again in the update data management server 100, the new block for the new update data is propagated through the block chain network, The new block may be stored in a chain connected to the next block of the snapshot block in the block chain data stored in each of the plurality of node devices. In this way, a corresponding block is connected to the block chain data stored in the plurality of node devices whenever new update data is generated, and a snapshot block is generated at a predetermined interval and may be additionally connected.

이때, 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치(104)로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 전자 단말 장치(110)에 수신되면, 스냅샷 블록 확인부(121)는 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인한다.At this time, when the electronic terminal device 110 receives a new designation request signal from the new node device 104 not included in the plurality of node devices to the node device that is the target of block propagation, the snapshot block check unit Reference numeral 121 identifies the first snapshot block generated at the most recent time among the snapshot blocks connected to the block chain data stored in the block chain data storage unit 111 in a chain.

관련해서, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되는 노드 장치를 의미한다. 이로 인해, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되게 되면, 상기 응용 애플리케이션에 대한 업데이트 서비스를 받기 위해서, 상기 블록체인 네트워크에 참여해야 할 것이고, 이로 인해 신규 노드 장치(104)는 상기 복수의 노드 장치들 중 하나인 전자 단말 장치(110)에 대해서 상기 신규 지정 요청 신호를 전송할 수 있다.In this regard, the new node device 104 means a node device on which the application application is initially installed. For this reason, when the application application is first installed, the new node device 104 will have to participate in the blockchain network in order to receive an update service for the application application. The new designation request signal may be transmitted to the electronic terminal device 110 that is one of the plurality of node devices.

추가 블록 확인부(122)는 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인한다.When the first snapshot block is confirmed, the additional block check unit 122 sequentially chains the block chain data as the update data is propagated from the time when the first snapshot block is created to the current time. Check at least one additional block connected by

예컨대, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 제1 스냅샷 블록이 연결된 이후 현재시점까지 총 5회의 업데이트 이벤트가 발생함에 따라 총 5개의 추가 블록들이 체인으로 연결되어 있다면, 추가 블록 확인부(122)는 상기 5개의 추가 블록들을 상기 적어도 하나의 추가 블록으로 확인할 수 있다.For example, since the first snapshot block is connected to the block chain data stored in the block chain data storage unit 111, a total of 5 update events occur up to the present time, so a total of 5 additional blocks are connected in a chain. If there is, the additional block check unit 122 may identify the five additional blocks as the at least one additional block.

신규 블록 전송부(123)는 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 신규 노드 장치(104)로 전송한다.The new block transmission unit 123 extracts the first snapshot block and the at least one additional block from the block chain data and transmits them to the new node device 104 .

이때, 본 발명의 일실시예에 따르면, 신규 노드 장치(104)는 전자 단말 장치(110)로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 신규 노드 장치(104)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.At this time, according to an embodiment of the present invention, the new node device 104 receives the first snapshot block and the at least one additional block from the electronic terminal device 110 , the first snapshot block and the After performing update processing for the application installed in the new node device 104 based on the update data included in at least one additional block, and configuring the first snapshot block as a Genesis block, the By sequentially connecting the at least one additional block to the genesis block, new block chain data can be generated and stored in the memory of the new node device 104 .

즉, 상기 제1 스냅샷 블록에는 상기 제1 스냅샷 블록이 생성되기 이전의 업데이트 데이터가 모두 포함되어 있고, 상기 적어도 하나의 추가 블록에는 상기 제1 스냅샷 블록이 생성된 이후의 최근 업데이트 데이터까지 모두 포함되어 있기 때문에 신규 노드 장치(104)는 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 수신하게 되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료할 수 있다.That is, the first snapshot block includes all updated data before the first snapshot block is created, and the at least one additional block includes up to the latest updated data after the first snapshot block is created. Since they are all included, when the new node device 104 receives the first snapshot block and the at least one additional block, based on the update data included in the first snapshot block and the at least one additional block to complete the update processing for the application application.

그러고 나서, 신규 노드 장치(104)는 상기 복수의 노드 장치들과 블록체인 네트워크를 구성하기 위해서 새로운 블록체인 데이터를 생성해야 하는데, 이를 위해, 신규 노드 장치(104)는 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성한 후 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.Then, the new node device 104 needs to generate new blockchain data to form a blockchain network with the plurality of node devices. To this end, the new node device 104 creates the first snapshot block. By sequentially connecting the at least one additional block to the genesis block after being configured as a genesis block, new block chain data can be generated and stored in the memory of the new node device 104 .

보통, 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 기존의 블록체인 데이터 전부를 신규 노드 장치(104)로 전달하는 방식을 고려할 수 있는데, 이러한 방식은 기존의 블록체인 데이터의 크기가 작으면 큰 문제가 없지만, 기존의 블록체인 데이터의 크기가 크면 데이터 전달의 효율성이 매우 떨어지는 문제가 발생할 수 있다.In general, when the new node device 104 newly participates in the blockchain network, a method of transferring all of the existing block chain data to the new node device 104 may be considered. This method is based on the size of the existing block chain data If is small, there is no big problem, but if the size of the existing block chain data is large, the efficiency of data transmission may be very poor.

따라서, 본 발명의 전자 단말 장치(110)는 소정 주기 간격으로 블록체인 데이터에 스냅샷 블록을 만들어서 연결해 둔 후 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 가장 최근 만들어진 제1 스냅샷 블록과 상기 제1 스냅샷 블록 이후에 만들어진 추가 블록들만을 신규 노드 장치(104)로 전달함으로써, 블록체인 네트워크에 신규로 참여하는 신규 노드 장치(104)에 대한 데이터 전달의 효율성을 크게 높일 수 있다.Therefore, the electronic terminal device 110 of the present invention creates and connects a snapshot block to the block chain data at a predetermined interval, and then, when the new node device 104 newly participates in the block chain network, the most recently created first snapshot By transferring only the shot block and the additional blocks created after the first snapshot block to the new node device 104, the efficiency of data transfer to the new node device 104 newly participating in the blockchain network can be greatly improved. have.

이때, 본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 신규 노드 장치(104)로부터 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되었을 때, 신규 노드 장치(104)가 소정의 인증 조건에 따라 인증된 노드 장치일 경우에만 블록 데이터를 전달함으로써, 신규 노드 장치(104)가 블록체인 네트워크에 참여할 수 있도록 하기 위해서 소정의 인증 구성을 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the electronic terminal device 110 receives a new designation request signal from the new node device 104 to the node device that is the target of block propagation, the new node device 104 It may further include a predetermined authentication configuration in order to allow the new node device 104 to participate in the blockchain network by transmitting block data only when it is a node device authenticated according to a predetermined authentication condition.

이와 관련해서, 스냅샷 블록 확인부(121)는 OTP 생성함수 저장부(124), 인증 이벤트 발생부(125), 인증 요청부(126), 인증 수행부(127) 및 확인 처리부(128)를 포함할 수 있다.In this regard, the snapshot block verification unit 121 includes the OTP generation function storage unit 124 , the authentication event generation unit 125 , the authentication request unit 126 , the authentication performing unit 127 , and the verification processing unit 128 . may include

OTP 생성함수 저장부(124)에는 신규 노드 장치(104)와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있다.The OTP generation function storage unit 124 stores an OTP (One Time Password) generation function that is pre-shared with the new node device 104 .

이러한 OTP 생성함수는 상기 응용 애플리케이션의 설치 패키지 파일 내에 포함됨으로써, 상기 응용 애플리케이션이 신규 노드 장치(104)에 최초로 설치될 때 상기 응용 애플리케이션의 설치와 함께 신규 노드 장치(104)에 저장될 수 있다.This OTP generation function is included in the installation package file of the application, so that when the application is first installed on the new node device 104 , it may be stored in the new node device 104 together with the installation of the application.

인증 이벤트 발생부(125)는 신규 노드 장치(104)로부터 상기 신규 지정 요청 신호가 수신되면, 신규 노드 장치(104)의 인증을 위한 인증 이벤트를 발생시킨다.When the new designation request signal is received from the new node device 104 , the authentication event generator 125 generates an authentication event for authentication of the new node device 104 .

인증 요청부(126)는 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 신규 노드 장치(104)로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청한다.When the authentication event occurs, the authentication request unit 126 generates a random matrix having a size of nxn (n is a natural number greater than or equal to 2) and transmits it to the new node device 104. request to be sent.

이때, 신규 노드 장치(104)는 상기 랜덤 행렬과 상기 피드백 행렬의 전송 요청이 수신되면, 신규 노드 장치(104)에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 제1 피드백 행렬을 산출한 후 상기 제1 피드백 행렬을 전자 단말 장치(110)로 전송할 수 있다.At this time, when the request for transmission of the random matrix and the feedback matrix is received, the new node device 104 performs k (k is a natural number greater than or equal to 2) disposable based on the OTP generation function stored in the new node device 104. After generating an authentication number, generating a row vector having the k one-time authentication numbers as a component, calculating a Kronecker product between the row vector and the random matrix to calculate a first feedback matrix, and then the first feedback The matrix may be transmitted to the electronic terminal device 110 .

여기서, 크로네커 곱이란 두 행렬의 텐서곱을 구체적으로 표현한 행렬을 의미하는 것으로, 하기의 수학식 1과 같은 m x n의 행렬 M과 하기의 수학식 2와 같은 p x q의 행렬 N이 주어졌다고 하였을 때, 하기의 수학식 3과 같이 나타낼 수 있다.Here, the Kronecker product refers to a matrix specifically expressing the tensor product of two matrices. Assuming that an mxn matrix M as in Equation 1 below and a pxq matrix N as in Equation 2 below are given, It can be expressed as Equation 3 of

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

Figure pat00003
Figure pat00003

이때, 인증 수행부(127)는 신규 노드 장치(104)로부터 상기 제1 피드백 행렬이 수신되면, OTP 생성함수 저장부(124)에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 신규 노드 장치(104)에 대한 인증을 수행한다.At this time, when the first feedback matrix is received from the new node device 104 , the authentication performing unit 127 receives the k one-time authentication numbers based on the OTP generating function stored in the OTP generating function storage unit 124 . , and confirming whether a Kronecker product between the row vector having the k one-time authentication numbers as components and the random matrix is calculated as the first feedback matrix, thereby performing authentication for the new node device 104 .

즉, 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는 경우, 신규 노드 장치(104)가 OTP 생성함수를 정상적으로 공유하고 있는 노드 장치가 맞는 것으로 볼 수 있기 때문에, 인증 수행부(127)는 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되면 신규 노드 장치(104)에 대한 인증을 완료할 수 있다.That is, when the Kronecker product between the row vector and the random matrix is calculated as the first feedback matrix, the new node device 104 can be considered to be a node device that normally shares the OTP generation function, so the authentication performing unit At 127, when the Kronecker product between the row vector and the random matrix is calculated as the first feedback matrix, authentication of the new node device 104 may be completed.

확인 처리부(128)는 신규 노드 장치(104)에 대한 인증이 완료되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인함으로써, 신규 노드 장치(104)로의 블록 데이터 전송 과정을 시작할 수 있다.When the authentication of the new node device 104 is completed, the confirmation processing unit 128 is the most recent among the snapshot blocks connected to the block chain data stored in the block chain data storage unit 111 in a chain. By checking the generated first snapshot block, the block data transmission process to the new node device 104 can be started.

도 2는 본 발명의 일실시예에 따른 업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치(상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임)의 동작 방법을 도시한 순서도이다.2 is an electronic terminal device that receives update data for an application application transmitted from an update data management server according to an embodiment of the present invention through a block chain network (the electronic terminal device includes a plurality of components constituting the block chain network) It is a flowchart showing an operation method of the node device).

단계(S210)에서는 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지한다.In step S210, a block chain data storage unit storing block chain data in which blocks including a transaction including past update data for the application installed in the electronic terminal device are connected in a chain is maintained.

단계(S220)에서는 상기 응용 애플리케이션의 위변조 탐지를 위해 상기 업데이트 데이터 관리 서버와 사전 공유하고 있는 해시 함수가 저장되어 있는 해시 함수 저장부를 유지한다.In step S220, a hash function storage unit in which a hash function shared in advance with the update data management server is stored for forgery detection of the application application is maintained.

단계(S230)에서는 상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신한다.In step S230, as new update data for the application application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block As the propagation starts through the block chain network, the first node device, which is one of the plurality of node devices, transmits the first block to the electronic device in response to the propagation of the first block through the block chain network. When transmitting to the terminal device, the first block is received from the first node device.

단계(S240)에서는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.In step S240, when the first block is received, an update process for the application installed in the electronic terminal device is performed based on the new update data included in the first transaction inside the first block. carry out

단계(S250)에서는 상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 상기 업데이트 데이터 관리 서버에 접속하여 상기 업데이트 데이터 관리 서버로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청한다.In step S250, when the update process for the application is completed, the hash function is used to generate a hash value for at least one file among a plurality of files constituting the application application for which the update process is completed, It accesses the update data management server and requests transmission of a hash value for verification of the at least one file to the update data management server.

단계(S260)에서는 상기 업데이트 데이터 관리 서버가 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 해시 함수를 이용하여, 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성함에 따라, 상기 업데이트 데이터 관리 서버로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교한다.In step S260, the update data management server uses the hash function stored in the update data management server, at least among the plurality of files constituting the application application stored in the update data management server. As a verification hash value for one file is generated, when a verification hash value for the at least one file is received from the update data management server, the verification hash value for the at least one file and the at least one Compares hash values for files in .

단계(S270)에서는 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증한다.In step S270, when it is confirmed that the verification hash value for the at least one file and the hash value for the at least one file match each other, the new update data and the application application installed in the electronic terminal device Verifies that forgery has not occurred.

단계(S280)에서는 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송한다.In step S280, if it is verified that forgery and falsification do not occur in the new updated data and the application installed in the electronic terminal device, the first block is chained to the block chain data stored in the block chain data storage unit. to transmit the first block to at least one second node device that is pre-designated as a node device to be a target of block propagation among the plurality of node devices after the storage of the first block is completed.

이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제2 노드 장치는 상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 업데이트 데이터 관리 서버와 접속하여 상기 응용 애플리케이션에 대한 위변조 검증을 진행하며, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송할 수 있다.In this case, according to an embodiment of the present invention, when the first block is received from the electronic terminal device, the at least one second node device includes the new update included in the first transaction inside the first block. Performs update processing for the application application installed in each of the at least one second node device based on data, and performs forgery verification for the application application by connecting to the update data management server, the at least one By chaining the first block to the block chain data stored in the memory of the second node device of Each of the two node devices may transmit the first block to at least one other node device that is previously designated as a node device that is a target of block propagation.

또한, 본 발명의 일실시예에 따르면, 상기 전자 단말 장치의 동작 방법은 미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성하는 단계, 상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 단계, 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 단계, 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 단계 및 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the method of operating the electronic terminal device refers to the block chain data stored in the block chain data storage unit every preset period, and all past update data for the application application. creating a snapshot block including the snapshot data after generating snapshot data including a; when the snapshot block is created, the snapshot is stored in the block chain data stored in the block chain data storage unit. Completing the storage of the snapshot block by linking the shot blocks in a chain, a new designation request signal from a new node device not included in the plurality of node devices to a node device that is a target of block propagation When received, checking the first snapshot block generated at the most recent time among the snapshot blocks connected to the block chain data stored in the block chain data storage unit in a chain, the first snapshot block If this is confirmed, sequentially checking at least one additional block connected to the block chain data in a chain as the update data is propagated from the time point when the first snapshot block is created to the current time point, and the block The method may further include extracting the first snapshot block and the at least one additional block from chain data and transmitting the extracted block to the new node device.

이때, 본 발명의 일실시예에 따르면, 상기 신규 노드 장치는 상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장할 수 있다.In this case, according to an embodiment of the present invention, when the first snapshot block and the at least one additional block are received from the electronic terminal device, the new node device includes the first snapshot block and the at least one additional block. The at least one additional block is added to the genesis block after performing update processing for the application installed in the new node device based on the update data included in the block, and configuring the first snapshot block as a genesis block By sequentially connecting , new blockchain data can be created and stored in the memory of the new node device.

또한, 본 발명의 일실시예에 따르면, 상기 제1 스냅샷 블록을 확인하는 단계는 상기 신규 노드 장치와 사전 공유하고 있는 OTP 생성함수가 저장되어 있는 OTP 생성함수 저장부를 유지하는 단계, 상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 단계, 상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 상기 신규 노드 장치에 대한 인증을 수행하는 단계 및 상기 신규 노드 장치에 대한 인증이 완료되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인하는 단계를 포함할 수 있다.In addition, according to an embodiment of the present invention, the checking of the first snapshot block includes maintaining an OTP generation function storage unit in which an OTP generation function previously shared with the new node device is stored, the new node When the new designation request signal is received from the device, generating an authentication event for authentication of the new node device. When the authentication event occurs, generating a random matrix having a size of nxn (n is a natural number greater than or equal to 2) requesting transmission of a feedback matrix corresponding to the random matrix while transmitting to the new node device; based on the OTP generation function stored in the new node device after the new node device receives the random matrix A first feedback matrix calculated by generating k (k is a natural number of 2 or more) one-time authentication numbers, generating a row vector having the k one-time authentication numbers as components, and calculating the Kronecker product between the row vector and the random matrix When transmitted to the electronic terminal device, after receiving the first feedback matrix from the new node device, the k one-time authentication numbers are generated based on the OTP generation function stored in the OTP generation function storage unit, Performing authentication for the new node device and authentication for the new node device by checking whether the Kronecker product between the row vector having the k one-time authentication numbers as a component and the random matrix is calculated as the first feedback matrix Upon completion, the method may include confirming the first snapshot block generated at the most recent time among snapshot blocks connected to the block chain data stored in the block chain data storage unit in a chain.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 도 1을 이용하여 설명한 전자 단말 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, a method of operating an electronic terminal device according to an embodiment of the present invention has been described with reference to FIG. 2 . Here, since the method of operating the electronic terminal device according to an embodiment of the present invention may correspond to the configuration of the operation of the electronic terminal device 110 described with reference to FIG. 1 , a more detailed description thereof will be omitted. .

본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating an electronic terminal device according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through combination with a computer.

또한, 본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the method of operating an electronic terminal device according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions 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.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims to be described later, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .

110: 전자 단말 장치
111: 블록체인 데이터 저장부 112: 해시 함수 저장부
113: 블록 수신부 114: 업데이트 처리부
115: 해시 값 전송 요청부 116: 해시 값 비교부
117: 위변조 검증부 118: 블록 전송부
119: 스냅샷 블록 생성부 120: 스냅샷 블록 저장 처리부
121: 스냅샷 블록 확인부 122: 추가 블록 확인부
123: 신규 블록 전송부 124: OTP 생성함수 저장부
125: 인증 이벤트 발생부 126: 인증 요청부
127: 인증 수행부 128: 확인 처리부
100: 업데이트 데이터 관리 서버
101: 네트워크
102: 제1 노드 장치
103: 적어도 하나의 제2 노드 장치
104: 신규 노드 장치
110: electronic terminal device
111: block chain data storage unit 112: hash function storage unit
113: block receiving unit 114: update processing unit
115: hash value transmission request unit 116: hash value comparison unit
117: forgery verification unit 118: block transmission unit
119: snapshot block generation unit 120: snapshot block storage processing unit
121: snapshot block confirmation unit 122: additional block confirmation unit
123: new block transmission unit 124: OTP generation function storage unit
125: authentication event generation unit 126: authentication request unit
127: authentication execution unit 128: verification processing unit
100: update data management server
101: network
102: first node device
103: at least one second node device
104: new node device

Claims (12)

업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 에 있어서,
상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부;
상기 응용 애플리케이션의 위변조 탐지를 위해 상기 업데이트 데이터 관리 서버와 사전 공유하고 있는 해시 함수가 저장되어 있는 해시 함수 저장부;
상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 블록 수신부;
상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 업데이트 처리부;
상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 상기 업데이트 데이터 관리 서버에 접속하여 상기 업데이트 데이터 관리 서버로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청하는 해시 값 전송 요청부;
상기 업데이트 데이터 관리 서버가 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 해시 함수를 이용하여, 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성함에 따라, 상기 업데이트 데이터 관리 서버로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교하는 해시 값 비교부;
상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증하는 위변조 검증부; 및
상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 블록 전송부
를 포함하는 전자 단말 장치.
In an electronic terminal device that receives update data for an application transmitted from an update data management server through a block chain network, wherein the electronic terminal device is one of a plurality of node devices constituting the block chain network,
a block chain data storage unit storing block chain data in which blocks including a transaction including past update data for the application installed in the electronic terminal device are connected in a chain;
a hash function storage unit in which a hash function pre-shared with the update data management server is stored for forgery detection of the application;
As new update data for the application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block is transferred to the blockchain network By starting to propagate through, the first node device, which is any one of the plurality of node devices, transmits the first block to the electronic terminal device in response to the propagation of the first block through the blockchain network. a block receiving unit for receiving the first block from the first node device;
an update processing unit that, when the first block is received, performs update processing on the application application installed in the electronic terminal device based on the new update data included in the first transaction within the first block;
When the update process for the application is completed, using the hash function to generate a hash value for at least one file among a plurality of files constituting the application application for which the update process is completed, and the update data management server a hash value transmission request unit that accesses and requests transmission of a hash value for verification for the at least one file to the update data management server;
The update data management server uses the hash function stored in the update data management server for the at least one file among the plurality of files constituting the application application stored in the update data management server. As the verification hash value is generated, when the verification hash value for the at least one file is received from the update data management server, the verification hash value for the at least one file and the hash value for the at least one file a hash value comparison unit that compares whether the values match each other;
When it is confirmed that the verification hash value for the at least one file and the hash value for the at least one file match each other, forgery does not occur in the new updated data and the application application installed in the electronic terminal device a forgery verification unit that verifies that and
When it is verified that forgery has not occurred in the new updated data and the application installed in the electronic terminal device, by linking the first block to the block chain data stored in the block chain data storage unit with a chain, the After the storage of the first block is completed, the block transmission unit transmits the first block to at least one second node device that is pre-designated to be a node device that is a target of block propagation among the plurality of node devices.
An electronic terminal device comprising a.
제1항에 있어서,
상기 적어도 하나의 제2 노드 장치는
상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 업데이트 데이터 관리 서버와 접속하여 상기 응용 애플리케이션에 대한 위변조 검증을 진행하며, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송하는 전자 단말 장치.
According to claim 1,
the at least one second node device
When the first block is received from the electronic terminal device, the application application installed in each of the at least one second node device based on the new update data included in the first transaction inside the first block to perform an update process, connect with the update data management server to verify forgery and falsification of the application, and insert the first data into the block chain data stored in the memory of the at least one second node device. By linking blocks with a chain, after the storage of the first block is completed, each of the at least one second node device among the plurality of node devices at least one node device that is a node device that is a target of block propagation. An electronic terminal device for transmitting the first block to another node device.
제1항에 있어서,
상기 전자 단말 장치는
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성하는 스냅샷 블록 생성부;
상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 스냅샷 블록 저장 처리부;
상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 스냅샷 블록 확인부;
상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 추가 블록 확인부; 및
상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 신규 블록 전송부
를 더 포함하는 전자 단말 장치.
According to claim 1,
The electronic terminal device
After generating snapshot data including all past update data for the application by referring to the block chain data stored in the block chain data storage unit at a preset period, the snapshot data is included a snapshot block generation unit that generates a snapshot block;
a snapshot block storage processing unit for completing storage of the snapshot block by chaining the snapshot block to the block chain data stored in the block chain data storage unit when the snapshot block is generated;
When a new designation request signal is received from a new node device that is not included in the plurality of node devices to a node device that is a target of block propagation, the block chain data stored in the block chain data storage unit is chained. a snapshot block check unit for checking a first snapshot block generated at the most recent point in time among the connected snapshot blocks;
When the first snapshot block is confirmed, at least one additional block chained to the block chain data is sequentially added as the update data is propagated from the time when the first snapshot block is created to the current time. Additional block confirmation unit to confirm; and
A new block transmission unit that extracts the first snapshot block and the at least one additional block from the block chain data and transmits them to the new node device
An electronic terminal device further comprising a.
제3항에 있어서,
상기 신규 노드 장치는
상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장하는 전자 단말 장치.
4. The method of claim 3,
The new node device
When the first snapshot block and the at least one additional block are received from the electronic terminal device, the first snapshot block and the at least one additional block are installed in the new node device based on update data included in the block By performing update processing on the application application in the present application, configuring the first snapshot block as a Genesis block, and sequentially connecting the at least one additional block to the Genesis block, new block chain data is generated. An electronic terminal device for storing in a memory of the new node device.
제3항에 있어서,
상기 스냅샷 블록 확인부는
상기 신규 노드 장치와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있는 OTP 생성함수 저장부;
상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 인증 이벤트 발생부;
상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 인증 요청부;
상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 상기 신규 노드 장치에 대한 인증을 수행하는 인증 수행부; 및
상기 신규 노드 장치에 대한 인증이 완료되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인하는 확인 처리부
를 포함하는 전자 단말 장치.
4. The method of claim 3,
The snapshot block confirmation unit
an OTP generation function storage unit storing an OTP (One Time Password) generation function shared with the new node device in advance;
an authentication event generator for generating an authentication event for authentication of the new node device when the new designation request signal is received from the new node device;
an authentication request unit for requesting transmission of a feedback matrix corresponding to the random matrix while generating a random matrix having a size of nxn (n is a natural number greater than or equal to 2) when the authentication event occurs and transmitting it to the new node device;
After the new node device receives the random matrix, it generates k one-time authentication numbers (k is a natural number greater than or equal to 2) based on the OTP generation function stored in the new node device, and generates the k one-time authentication numbers. When a first feedback matrix calculated by calculating a Kronecker product between the row vector and the random matrix after generating a row vector having components is transmitted to the electronic terminal device, the first feedback from the new node device After receiving a matrix, the k one-time authentication numbers are generated based on the OTP generation function stored in the OTP generation function storage unit, and the kronecker between a row vector having the k one-time authentication numbers as components and the random matrix. an authentication performing unit that authenticates the new node device by checking whether a product is calculated with the first feedback matrix; and
When the authentication of the new node device is completed, the first snapshot block generated at the most recent time among the snapshot blocks connected to the blockchain data stored in the blockchain data storage unit in a chain is checked confirmation processing unit
An electronic terminal device comprising a.
업데이트 데이터 관리 서버로부터 전송된 응용 애플리케이션에 대한 업데이트 데이터를 블록체인 네트워크를 통해 전달받는 전자 단말 장치 - 상기 전자 단말 장치는 상기 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 하나임 - 의 동작 방법에 있어서,
상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결된 블록체인 데이터를 저장하고 있는 블록체인 데이터 저장부를 유지하는 단계;
상기 응용 애플리케이션의 위변조 탐지를 위해 상기 업데이트 데이터 관리 서버와 사전 공유하고 있는 해시 함수가 저장되어 있는 해시 함수 저장부를 유지하는 단계;
상기 업데이트 데이터 관리 서버에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성됨에 따라, 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록이 생성된 후 상기 제1 블록이 상기 블록체인 네트워크를 통해 전파되기 시작함으로 인해, 상기 블록체인 네트워크를 통한 상기 제1 블록의 전파에 대응하여 상기 복수의 노드 장치들 중 어느 하나인 제1 노드 장치가 상기 제1 블록을 상기 전자 단말 장치로 전송하게 되면, 상기 제1 노드 장치로부터 상기 제1 블록을 수신하는 단계;
상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 전자 단말 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하는 단계;
상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 상기 업데이트 데이터 관리 서버에 접속하여 상기 업데이트 데이터 관리 서버로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청하는 단계;
상기 업데이트 데이터 관리 서버가 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 해시 함수를 이용하여, 상기 업데이트 데이터 관리 서버에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성함에 따라, 상기 업데이트 데이터 관리 서버로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교하는 단계;
상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증하는 단계; 및
상기 신규 업데이트 데이터와 상기 전자 단말 장치에 설치된 상기 응용 애플리케이션에 위변조가 발생하지 않은 것으로 검증되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 제2 노드 장치로 상기 제1 블록을 전송하는 단계
를 포함하는 전자 단말 장치의 동작 방법.
In an operation method of an electronic terminal device that receives update data for an application application transmitted from an update data management server through a block chain network, wherein the electronic terminal device is one of a plurality of node devices constituting the block chain network ,
maintaining a block chain data storage unit storing block chain data in which blocks including transactions including past update data for the application installed in the electronic terminal device are chained therein;
maintaining a hash function storage unit in which a hash function pre-shared with the update data management server is stored for forgery detection of the application application;
As new update data for the application is generated in the update data management server, a first block including a first transaction including the new update data is generated, and then the first block is transferred to the blockchain network By starting to propagate through, the first node device, which is any one of the plurality of node devices, transmits the first block to the electronic terminal device in response to the propagation of the first block through the blockchain network. receiving the first block from the first node device;
performing update processing on the application installed in the electronic terminal device based on the new update data included in the first transaction within the first block when the first block is received;
When the update process for the application is completed, using the hash function to generate a hash value for at least one file among a plurality of files constituting the application application for which the update process is completed, and the update data management server requesting transmission of a hash value for verification for the at least one file to the update data management server by accessing;
The update data management server uses the hash function stored in the update data management server for the at least one file among the plurality of files constituting the application application stored in the update data management server. As the verification hash value is generated, when the verification hash value for the at least one file is received from the update data management server, the verification hash value for the at least one file and the hash value for the at least one file comparing the values to see if they match each other;
When it is confirmed that the verification hash value for the at least one file and the hash value for the at least one file match each other, forgery does not occur in the new updated data and the application application installed in the electronic terminal device verifying it as and
When it is verified that forgery has not occurred in the new updated data and the application installed in the electronic terminal device, by linking the first block to the block chain data stored in the block chain data storage unit with a chain, the Transmitting the first block to at least one second node device that is pre-designated to be a node device that is a target of block propagation among the plurality of node devices after the storage of the first block is completed
An operating method of an electronic terminal device comprising a.
제6항에 있어서,
상기 적어도 하나의 제2 노드 장치는
상기 전자 단말 장치로부터 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 상기 적어도 하나의 제2 노드 장치 각각에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 업데이트 데이터 관리 서버와 접속하여 상기 응용 애플리케이션에 대한 위변조 검증을 진행하며, 상기 적어도 하나의 제2 노드 장치의 메모리 상에 저장되어 있는 상기 블록체인 데이터에 상기 제1 블록을 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 복수의 노드 장치들 중 상기 적어도 하나의 제2 노드 장치 각각에서 블록 전파의 대상이 되는 노드 장치인 것으로 미리 지정된 적어도 하나의 다른 노드 장치로 상기 제1 블록을 전송하는 전자 단말 장치의 동작 방법.
7. The method of claim 6,
the at least one second node device
When the first block is received from the electronic terminal device, the application application installed in each of the at least one second node device based on the new update data included in the first transaction inside the first block to perform an update process, connect with the update data management server to verify forgery and falsification of the application, and insert the first data into the block chain data stored in the memory of the at least one second node device. By linking blocks with a chain, after the storage of the first block is completed, each of the at least one second node device among the plurality of node devices at least one node device that is a node device that is a target of block propagation. An operating method of an electronic terminal device for transmitting the first block to another node device.
제6항에 있어서,
상기 전자 단말 장치의 동작 방법은
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성하는 단계;
상기 스냅샷 블록이 생성되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료하는 단계;
상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인하는 단계;
상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인하는 단계; 및
상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 상기 신규 노드 장치로 전송하는 단계
를 더 포함하는 전자 단말 장치의 동작 방법.
7. The method of claim 6,
The method of operating the electronic terminal device is
After generating snapshot data including all past update data for the application by referring to the block chain data stored in the block chain data storage unit at a preset period, the snapshot data is included generating a snapshot block;
completing storage of the snapshot block by chaining the snapshot block to the block chain data stored in the block chain data storage unit when the snapshot block is generated;
When a new designation request signal is received from a new node device that is not included in the plurality of node devices to a node device that is a target of block propagation, the block chain data stored in the block chain data storage unit is chained. checking a first snapshot block generated at the most recent time among the connected snapshot blocks;
When the first snapshot block is confirmed, at least one additional block chained to the block chain data is sequentially added as the update data is propagated from the time when the first snapshot block is created to the current time. checking; and
extracting the first snapshot block and the at least one additional block from the block chain data and transmitting it to the new node device
The method of operating an electronic terminal device further comprising a.
제8항에 있어서,
상기 신규 노드 장치는
상기 전자 단말 장치로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 상기 신규 노드 장치에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 상기 신규 노드 장치의 메모리 상에 저장하는 전자 단말 장치의 동작 방법.
9. The method of claim 8,
The new node device
When the first snapshot block and the at least one additional block are received from the electronic terminal device, the first snapshot block and the at least one additional block are installed in the new node device based on update data included in the block By performing an update process on the application application in the present application, configuring the first snapshot block as a Genesis block, and sequentially connecting the at least one additional block to the Genesis block, new block chain data is generated. A method of operating an electronic terminal device for storing the new node device in a memory.
제8항에 있어서,
상기 제1 스냅샷 블록을 확인하는 단계는
상기 신규 노드 장치와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있는 OTP 생성함수 저장부를 유지하는 단계;
상기 신규 노드 장치로부터 상기 신규 지정 요청 신호가 수신되면, 상기 신규 노드 장치의 인증을 위한 인증 이벤트를 발생시키는 단계;
상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 상기 신규 노드 장치로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청하는 단계;
상기 신규 노드 장치가 상기 랜덤 행렬을 수신한 후 상기 신규 노드 장치에 저장되어 있는 상기 OTP 생성함수를 기초로 k(k는 2이상의 자연수)개의 일회용 인증번호를 생성하고, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터를 생성한 후 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱(Kronecker product)을 연산하여 산출된 제1 피드백 행렬을 상기 전자 단말 장치로 전송하게 되면, 상기 신규 노드 장치로부터 상기 제1 피드백 행렬을 수신한 후 상기 OTP 생성함수 저장부에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 상기 신규 노드 장치에 대한 인증을 수행하는 단계; 및
상기 신규 노드 장치에 대한 인증이 완료되면, 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인하는 단계
를 포함하는 전자 단말 장치의 동작 방법.
9. The method of claim 8,
The step of checking the first snapshot block is
maintaining an OTP generation function storage unit in which an OTP (One Time Password) generation function previously shared with the new node device is stored;
generating an authentication event for authentication of the new node device when the new designation request signal is received from the new node device;
requesting transmission of a feedback matrix corresponding to the random matrix while generating a random matrix having a size of nxn (n is a natural number greater than or equal to 2) when the authentication event occurs and transmitting it to the new node device;
After the new node device receives the random matrix, it generates k one-time authentication numbers (k is a natural number greater than or equal to 2) based on the OTP generation function stored in the new node device, and generates the k one-time authentication numbers. When a first feedback matrix calculated by calculating a Kronecker product between the row vector and the random matrix after generating a row vector as a component is transmitted to the electronic terminal device, the first feedback from the new node device After receiving a matrix, the k one-time authentication numbers are generated based on the OTP generation function stored in the OTP generation function storage unit, and the kronecker between a row vector having the k one-time authentication numbers as components and the random matrix. performing authentication for the new node device by checking whether a product is calculated with the first feedback matrix; and
When the authentication of the new node device is completed, the first snapshot block generated at the most recent time among the snapshot blocks connected to the blockchain data stored in the blockchain data storage unit in a chain is checked step to do
An operating method of an electronic terminal device comprising a.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through combination with a computer.
KR1020200031473A 2019-12-12 2020-03-13 Electronic terminal device that enables update processing for application and forgery detection of application based on blockchain and operating method thereof KR102316763B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190165958 2019-12-12
KR1020190165958 2019-12-12

Publications (2)

Publication Number Publication Date
KR20210074982A true KR20210074982A (en) 2021-06-22
KR102316763B1 KR102316763B1 (en) 2021-10-25

Family

ID=76600678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200031473A KR102316763B1 (en) 2019-12-12 2020-03-13 Electronic terminal device that enables update processing for application and forgery detection of application based on blockchain and operating method thereof

Country Status (1)

Country Link
KR (1) KR102316763B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102352353B1 (en) * 2021-07-09 2022-01-18 주식회사 넥스인테크놀로지 System and method for saving and managing personal black box data using block chain
KR102487849B1 (en) * 2021-11-11 2023-01-12 주식회사 미임팩트 Device for preventing forgery of sensitive information based on blockchain and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180130623A (en) * 2017-05-29 2018-12-10 주식회사 익스트러스 Blockchain formation method for application integrity verification and application integrity verification method
KR20190012969A (en) * 2017-07-31 2019-02-11 서강대학교산학협력단 Data access management system based on blockchain and method thereof
KR101979586B1 (en) * 2018-12-19 2019-05-17 주식회사 마크애니 IoT DEVICE MANAGED BASED ON BLOCK CHAIN, SYSTEM AND METHOD THEREOF
KR20190079324A (en) * 2017-12-27 2019-07-05 에이치닥테크놀로지 주식회사 한국영업소 Method and system for enhancing integrity of batabase based on the block chain system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180130623A (en) * 2017-05-29 2018-12-10 주식회사 익스트러스 Blockchain formation method for application integrity verification and application integrity verification method
KR20190012969A (en) * 2017-07-31 2019-02-11 서강대학교산학협력단 Data access management system based on blockchain and method thereof
KR20190079324A (en) * 2017-12-27 2019-07-05 에이치닥테크놀로지 주식회사 한국영업소 Method and system for enhancing integrity of batabase based on the block chain system
KR101979586B1 (en) * 2018-12-19 2019-05-17 주식회사 마크애니 IoT DEVICE MANAGED BASED ON BLOCK CHAIN, SYSTEM AND METHOD THEREOF

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102352353B1 (en) * 2021-07-09 2022-01-18 주식회사 넥스인테크놀로지 System and method for saving and managing personal black box data using block chain
KR102487849B1 (en) * 2021-11-11 2023-01-12 주식회사 미임팩트 Device for preventing forgery of sensitive information based on blockchain and method thereof

Also Published As

Publication number Publication date
KR102316763B1 (en) 2021-10-25

Similar Documents

Publication Publication Date Title
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
CN111163182B (en) Block chain-based device registration method and apparatus, electronic device, and storage medium
WO2020119512A1 (en) Task processing method, system and device, and storage medium
WO2018076760A1 (en) Block chain-based transaction processing method, system, electronic device, and storage medium
KR20210003234A (en) Maintaining blocks of a blockchain in a segmented blockchain network
KR102316763B1 (en) Electronic terminal device that enables update processing for application and forgery detection of application based on blockchain and operating method thereof
CN107886006B (en) Data operation method and device and electronic equipment
KR20200132518A (en) System for supporting transaction interoperation between blockchain networks and method thereof
JP6595625B2 (en) Automatic recharge system, method and server
JP2018093434A (en) Transaction management method, transaction management program and transaction management device
KR20180005542A (en) Apparatus and method for verifing data integrity
CN112714158A (en) Transaction processing method, relay network, cross-link gateway, system, medium, and device
KR20200126061A (en) Node device that enables the deletion of a transaction in a block chain network and operating method thereof
JP2022539283A (en) A method and system for validating blockchain data stored in a storage format different from the blockchain
CN114039733B (en) Certificate storage service transfer method, device and equipment for alliance chains
JP2022532764A (en) Systems and methods for deparallelized mining in proof of work blockchain networks
CN117453343A (en) Virtual machine measurement and secret calculation authentication method, device, system and storage medium
KR102318022B1 (en) Electronic terminal device that enables update processing for applications and forgery detection of update data based on blockchain and operating method thereof
KR102365945B1 (en) Electronic terminal device capable of update processing for application based on blockchain and operating method thereof
KR102316758B1 (en) Update data management server that distributes update data for application based on blockchain and operating method thereof
CN114465714B (en) Node configuration method and system in alliance chain
JP2022501733A (en) Data management methods and devices and servers
CN110851813A (en) Identity verification method, node device of block chain system and block chain system
CN117501656A (en) Decentralised identity with user biometric
KR20230118380A (en) Group signaure based federated learning mehod and system, and recording medium for performing the same

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant