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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Abstract
Description
본 발명은 블록체인을 기반으로 응용 애플리케이션에 대한 업데이트 처리 및 응용 애플리케이션의 위변조 탐지를 가능하게 하는 전자 단말 장치 및 그 동작 방법에 대한 것이다.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
우선, 본 발명에서는 복수의 노드 장치들이 블록체인 네트워크를 구성하고 있고, 이때, 전자 단말 장치(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
또한, 본 발명에서 업데이트 데이터 관리 서버(100)는 상기 블록체인 네트워크를 통해 상기 응용 애플리케이션에 대한 업데이트 데이터를 상기 복수의 노드 장치들로 전파하는 서버를 의미한다.In addition, in the present invention, the update
그리고, 상기 복수의 노드 장치들 각각의 메모리에는 상기 응용 애플리케이션에 대한 업데이트 데이터가 포함된 트랜잭션을 기반으로 생성된 블록들이 체인으로 연결되어 있는 블록체인 데이터가 저장되어 있다. 상기 블록체인 데이터는 상기 응용 애플리케이션에 대한 과거의 업데이트 데이터가 포함된 트랜잭션을 내부에 포함하는 블록들이 체인으로 연결되어 있는 데이터이며, 상기 복수의 노드 장치들 각각의 메모리 상에 저장되어 있음으로 인해 상기 복수의 노드 장치들이 블록체인 네트워크를 구성할 수 있도록 한다.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
그리고, 전자 단말 장치(110)의 해시 함수 저장부(112)에는 상기 응용 애플리케이션의 위변조 탐지를 위해 업데이트 데이터 관리 서버(100)와 사전 공유하고 있는 해시 함수가 저장되어 있을 수 있다.In addition, the hash
이러한 상황 하에서, 업데이트 데이터 관리 서버(100)에서 상기 응용 애플리케이션에 대한 신규 업데이트 데이터가 생성되게 되면, 업데이트 데이터 관리 서버(100)는 상기 신규 업데이트 데이터가 포함된 제1 트랜잭션을 내부에 포함하는 제1 블록을 생성한 후 상기 블록체인 네트워크를 통해 상기 제1 블록을 상기 복수의 노드 장치들로 전파하기 시작할 수 있다.Under this situation, when new update data for the application is generated in the update
이때, 상기 복수의 노드 장치들은 상기 제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
그리고, 업데이트 처리부(114)는 상기 제1 블록이 수신되면, 상기 제1 블록 내부의 상기 제1 트랜잭션에 포함되어 있는 상기 신규 업데이트 데이터를 기초로 전자 단말 장치(110)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행한다.And, when the first block is received, the
이렇게, 상기 응용 애플리케이션에 대한 업데이트 처리가 완료되면, 해시 값 전송 요청부(115)는 해시 함수 저장부(112)에 저장되어 있는 상기 해시 함수를 이용하여, 업데이트 처리가 완료된 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 적어도 하나의 파일에 대한 해시 값을 생성하고, 업데이트 데이터 관리 서버(100)에 접속하여 업데이트 데이터 관리 서버(100)로 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송을 요청한다.In this way, when the update process for the application is completed, the hash value
여기서, 상기 적어도 하나의 파일은 상기 응용 애플리케이션을 구성하는 복수의 파일들 중 실행 파일, 시스템 파일 등과 같은 사전에 지정해 둔 소정의 중요 파일들일 수 있다. 이와 관련해서, 해시 값 전송 요청부(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
이때, 업데이트 데이터 관리 서버(100)는 전자 단말 장치(110)로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값의 전송 요청이 수신되면, 업데이트 데이터 관리 서버(100)에 저장되어 있는 상기 해시 함수를 이용하여, 업데이트 데이터 관리 서버(100)에 저장되어 있는 상기 응용 애플리케이션을 구성하는 상기 복수의 파일들 중 상기 적어도 하나의 파일에 대한 검증용 해시 값을 생성할 수 있다. 그러고 나서, 업데이트 데이터 관리 서버(100)는 상기 적어도 하나의 파일에 대한 검증용 해시 값을 전자 단말 장치(110)로 전송할 수 있다.At this time, when the update
이때, 해시 값 비교부(116)는 업데이트 데이터 관리 서버(100)로부터 상기 적어도 하나의 파일에 대한 검증용 해시 값이 수신되면, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는지 비교한다.At this time, when the hash
만약, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하는 것으로 확인되는 경우, 전자 단말 장치(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
이렇게, 상기 신규 업데이트 데이터와 전자 단말 장치(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
만약, 상기 적어도 하나의 파일에 대한 검증용 해시 값과 상기 적어도 하나의 파일에 대한 해시 값이 서로 일치하지 않음으로 인해, 위변조 검증부(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
이러한 방식으로, 전자 단말 장치(110)는 블록체인 네트워크를 통해서 수신된 상기 제1 블록을 기반으로 상기 응용 애플리케이션에 대한 업데이트 처리를 완료하고, 상기 제1 블록을 블록체인 데이터에 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 상기 제1 블록을 상기 블록체인 네트워크의 다음 노드 장치들(103)로 전파할 수 있다.In this way, the electronic
이때, 본 발명의 일실시예에 따르면, 상기 적어도 하나의 제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
즉, 적어도 하나의 제2 노드 장치(103)는 전자 단말 장치(110)로부터 상기 제1 블록이 수신되면, 상기 제1 블록을 기초로 상기 응용 애플리케이션에 대한 업데이트를 처리하고, 상기 제1 블록을 블록체인 데이터에 연결한 후 다음 노드 장치들로 전파할 수 있다.That is, when the first block is received from the electronic
결국, 본 발명에 따른 전자 단말 장치(110)는 업데이트 데이터 관리 서버(100)로부터 전파되는 업데이트 데이터를 블록체인 네트워크를 통해 수신하고, 이를 블록체인 네트워크를 통해 다른 노드 장치로 다시 배포함으로써, 업데이트 데이터의 배포가 필요한 시스템에 있어서, 업데이트 데이터의 배포에 따른 서버 부담을 경감시킴과 동시에 다수의 사용자들에게 빠른 업데이트 데이터의 배포가 가능하도록 지원할 수 있다.After all, the electronic
본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 스냅샷 블록 생성부(119), 스냅샷 블록 저장 처리부(120), 스냅샷 블록 확인부(121), 추가 블록 확인부(122) 및 신규 블록 전송부(123)를 더 포함할 수 있다.According to an embodiment of the present invention, the electronic
스냅샷 블록 생성부(119)는 미리 설정된 주기마다 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(snapshot) 데이터를 생성한 후 상기 스냅샷 데이터가 포함된 스냅샷 블록을 생성한다.The snapshot
관련해서, 상기 블록체인 데이터는 신규 업데이트 데이터가 생성될 때마다 그에 대응되는 블록들이 생성되어 연결된 데이터이기 때문에, 스냅샷 블록 생성부(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
스냅샷 블록 저장 처리부(120)는 상기 스냅샷 블록이 생성되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 상기 스냅샷 블록을 체인으로 연결함으로써, 상기 스냅샷 블록에 대한 저장을 완료한다.When the snapshot block is generated, the snapshot block
즉, 스냅샷 블록 생성부(119)와 스냅샷 블록 저장 처리부(120)는 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 이를 상기 블록체인 데이터에 체인으로 연결해서 저장해 둘 수 있다.That is, the snapshot
이러한 스냅샷 블록의 생성 및 저장 이벤트는 전자 단말 장치(110)에서만 발생하는 것이 아니라, 전자 단말 장치(110)와 블록체인 네트워크를 구성하는 상기 복수의 노드 장치들 전부에서 발생된다. 즉, 상기 블록체인 네트워크를 구성하고 있는 상기 복수의 노드 장치들은 소정의 주기마다 과거의 모든 업데이트 데이터를 포함하는 스냅샷 블록을 생성한 후 각 노드 장치에 저장되어 있는 블록체인 데이터에 체인으로 연결하여 저장해 둘 수 있다.These snapshot block creation and storage events do not occur only in the electronic
이렇게, 특정 주기에서 블록체인 데이터에 스냅샷 블록이 연결된 이후, 업데이트 데이터 관리 서버(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
이때, 상기 복수의 노드 장치들에 포함되지 않는 신규 노드 장치(104)로부터, 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 전자 단말 장치(110)에 수신되면, 스냅샷 블록 확인부(121)는 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 제1 스냅샷 블록을 확인한다.At this time, when the electronic
관련해서, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되는 노드 장치를 의미한다. 이로 인해, 신규 노드 장치(104)는 상기 응용 애플리케이션이 최초로 설치되게 되면, 상기 응용 애플리케이션에 대한 업데이트 서비스를 받기 위해서, 상기 블록체인 네트워크에 참여해야 할 것이고, 이로 인해 신규 노드 장치(104)는 상기 복수의 노드 장치들 중 하나인 전자 단말 장치(110)에 대해서 상기 신규 지정 요청 신호를 전송할 수 있다.In this regard, the
추가 블록 확인부(122)는 상기 제1 스냅샷 블록이 확인되면, 상기 제1 스냅샷 블록이 생성된 시점 이후로부터 현재 시점까지 업데이트 데이터에 대한 전파가 발생함에 따라 순차적으로 상기 블록체인 데이터에 체인으로 연결된 적어도 하나의 추가 블록을 확인한다.When the first snapshot block is confirmed, the additional
예컨대, 블록체인 데이터 저장부(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
신규 블록 전송부(123)는 상기 블록체인 데이터에서 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록을 추출하여 신규 노드 장치(104)로 전송한다.The new
이때, 본 발명의 일실시예에 따르면, 신규 노드 장치(104)는 전자 단말 장치(110)로부터 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록이 수신되면, 상기 제1 스냅샷 블록과 상기 적어도 하나의 추가 블록에 포함된 업데이트 데이터들을 기초로 신규 노드 장치(104)에 설치되어 있는 상기 응용 애플리케이션에 대한 업데이트 처리를 수행하고, 상기 제1 스냅샷 블록을 제네시스(Genesis) 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성하여 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.At this time, according to an embodiment of the present invention, the
즉, 상기 제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
그러고 나서, 신규 노드 장치(104)는 상기 복수의 노드 장치들과 블록체인 네트워크를 구성하기 위해서 새로운 블록체인 데이터를 생성해야 하는데, 이를 위해, 신규 노드 장치(104)는 상기 제1 스냅샷 블록을 제네시스 블록으로 구성한 후 상기 제네시스 블록에 상기 적어도 하나의 추가 블록을 순차적으로 연결함으로써, 신규 블록체인 데이터를 생성한 후 신규 노드 장치(104)의 메모리 상에 저장할 수 있다.Then, the
보통, 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 기존의 블록체인 데이터 전부를 신규 노드 장치(104)로 전달하는 방식을 고려할 수 있는데, 이러한 방식은 기존의 블록체인 데이터의 크기가 작으면 큰 문제가 없지만, 기존의 블록체인 데이터의 크기가 크면 데이터 전달의 효율성이 매우 떨어지는 문제가 발생할 수 있다.In general, when the
따라서, 본 발명의 전자 단말 장치(110)는 소정 주기 간격으로 블록체인 데이터에 스냅샷 블록을 만들어서 연결해 둔 후 신규 노드 장치(104)가 블록체인 네트워크에 새롭게 참여하는 경우, 가장 최근 만들어진 제1 스냅샷 블록과 상기 제1 스냅샷 블록 이후에 만들어진 추가 블록들만을 신규 노드 장치(104)로 전달함으로써, 블록체인 네트워크에 신규로 참여하는 신규 노드 장치(104)에 대한 데이터 전달의 효율성을 크게 높일 수 있다.Therefore, the electronic
이때, 본 발명의 일실시예에 따르면, 전자 단말 장치(110)는 신규 노드 장치(104)로부터 블록 전파의 대상이 되는 노드 장치로의 신규 지정 요청 신호가 수신되었을 때, 신규 노드 장치(104)가 소정의 인증 조건에 따라 인증된 노드 장치일 경우에만 블록 데이터를 전달함으로써, 신규 노드 장치(104)가 블록체인 네트워크에 참여할 수 있도록 하기 위해서 소정의 인증 구성을 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the electronic
이와 관련해서, 스냅샷 블록 확인부(121)는 OTP 생성함수 저장부(124), 인증 이벤트 발생부(125), 인증 요청부(126), 인증 수행부(127) 및 확인 처리부(128)를 포함할 수 있다.In this regard, the snapshot
OTP 생성함수 저장부(124)에는 신규 노드 장치(104)와 사전 공유하고 있는 OTP(One Time Password) 생성함수가 저장되어 있다.The OTP generation
이러한 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
인증 이벤트 발생부(125)는 신규 노드 장치(104)로부터 상기 신규 지정 요청 신호가 수신되면, 신규 노드 장치(104)의 인증을 위한 인증 이벤트를 발생시킨다.When the new designation request signal is received from the
인증 요청부(126)는 상기 인증 이벤트가 발생되면, n x n(n은 2이상의 자연수)의 크기를 갖는 랜덤 행렬을 생성하여 신규 노드 장치(104)로 전송하면서, 상기 랜덤 행렬에 대응하는 피드백 행렬의 전송을 요청한다.When the authentication event occurs, the
이때, 신규 노드 장치(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
여기서, 크로네커 곱이란 두 행렬의 텐서곱을 구체적으로 표현한 행렬을 의미하는 것으로, 하기의 수학식 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
이때, 인증 수행부(127)는 신규 노드 장치(104)로부터 상기 제1 피드백 행렬이 수신되면, OTP 생성함수 저장부(124)에 저장되어 있는 상기 OTP 생성함수를 기초로 상기 k개의 일회용 인증번호를 생성하여, 상기 k개의 일회용 인증번호를 성분으로 갖는 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제1 피드백 행렬로 산출되는지 확인함으로써, 신규 노드 장치(104)에 대한 인증을 수행한다.At this time, when the first feedback matrix is received from the
즉, 상기 행벡터와 상기 랜덤 행렬 간의 크로네커 곱이 상기 제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
확인 처리부(128)는 신규 노드 장치(104)에 대한 인증이 완료되면, 블록체인 데이터 저장부(111)에 저장되어 있는 상기 블록체인 데이터에 체인으로 연결되어 있는 스냅샷 블록들 중 가장 최근 시점에서 생성된 상기 제1 스냅샷 블록을 확인함으로써, 신규 노드 장치(104)로의 블록 데이터 전송 과정을 시작할 수 있다.When the authentication of the
도 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
본 발명의 일실시예에 따른 전자 단말 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.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.
상기 적어도 하나의 제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.
상기 전자 단말 장치는
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(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.
상기 신규 노드 장치는
상기 전자 단말 장치로부터 상기 제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.
상기 스냅샷 블록 확인부는
상기 신규 노드 장치와 사전 공유하고 있는 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.
상기 적어도 하나의 제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.
상기 전자 단말 장치의 동작 방법은
미리 설정된 주기마다 상기 블록체인 데이터 저장부에 저장되어 있는 상기 블록체인 데이터를 참조하여 상기 응용 애플리케이션에 대한 과거의 모든 업데이트 데이터를 포함하는 스냅샷(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.
상기 신규 노드 장치는
상기 전자 단말 장치로부터 상기 제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.
상기 제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.
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)
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)
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 |
-
2020
- 2020-03-13 KR KR1020200031473A patent/KR102316763B1/en active IP Right Grant
Patent Citations (4)
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)
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 |