KR102146914B1 - Blockchain-based firmware management system - Google Patents

Blockchain-based firmware management system Download PDF

Info

Publication number
KR102146914B1
KR102146914B1 KR1020190047505A KR20190047505A KR102146914B1 KR 102146914 B1 KR102146914 B1 KR 102146914B1 KR 1020190047505 A KR1020190047505 A KR 1020190047505A KR 20190047505 A KR20190047505 A KR 20190047505A KR 102146914 B1 KR102146914 B1 KR 102146914B1
Authority
KR
South Korea
Prior art keywords
firmware
blockchain
information
new firmware
iot device
Prior art date
Application number
KR1020190047505A
Other languages
Korean (ko)
Inventor
전준철
손민성
Original Assignee
경기대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경기대학교 산학협력단 filed Critical 경기대학교 산학협력단
Priority to KR1020190047505A priority Critical patent/KR102146914B1/en
Application granted granted Critical
Publication of KR102146914B1 publication Critical patent/KR102146914B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • H04L67/16
    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A blockchain-based Internet of things (IoT) device firmware distribution system is disclosed. According to the present invention, the blockchain-based IoT device firmware distribution system comprises: a blockchain-based external network for distributing, to IoT devices, new firmware information and uniform resource identifier (URI) information in a distributed file system (InterPlanetary File System) in which a new firmware is registered; and a broker which is a node belonging to a blockchain-based internal network composed of one or more organizations and is connected to the external network, gets the registered new firmware information when the new firmware information and the URI information are registered in a ledger of the external network, and registers the new firmware information in a ledger of the internal network.

Description

블록체인 기반 IoT 기기 펌웨어 배포 시스템{Blockchain-based firmware management system}Blockchain-based firmware management system for IoT devices

본 발명은 IoT 기기들로 펌웨어를 배포하기 위한 기술에 관한 것이다.The present invention relates to a technology for distributing firmware to IoT devices.

IoT 기기의 낮은 성능과 비용 등의 문제로 IoT 환경에 기존의 무거운 보안 솔루션을 적용하기 어려운 점이 있다. 또한, IoT 기기의 보안 사고는 대부분 취약한 펌웨어에 의해서 발생한다. 이에 대응하기 위해서는 안전하게 IoT 기기의 펌웨어를 배포할 수 있는 시스템이 필요하며, 공격자의 중간자 공격이나 롤백 공격 등으로부터 안전해야 한다. 그러나 기존 펌웨어 배포 방식은 IoT 기기가 직접 중앙의 펌웨어 배포 서버에 접근하거나 중개 서버를 이용해 버전 확인 및 신규 펌웨어 배포를 진행하는 방식이기 때문에, 서버에 대한 공격이나 중간 네트워크에 대한 공격 또는 펌웨어 변조 공격 등에 취약한 문제점이 있다.Due to issues such as low performance and cost of IoT devices, it is difficult to apply existing heavy security solutions to the IoT environment. In addition, security incidents of IoT devices are mostly caused by weak firmware. In order to respond to this, a system that can safely distribute the firmware of an IoT device is required, and it must be safe from attackers' man-in-the-middle attacks or rollback attacks. However, the existing firmware distribution method is a method in which the IoT device directly accesses the central firmware distribution server or checks the version and distributes new firmware using an intermediary server.Therefore, an attack on the server, an attack on an intermediate network, or a firmware modification attack, etc. There is a weak problem.

국내공개특허공보 제10-2017-0103318호 (2017년 9월 13일 공개)Korean Patent Publication No. 10-2017-0103318 (published on September 13, 2017)

본 발명은 IoT 기기들로의 펌웨어 배포 방식을 달리하여 펌웨어 보안 사고를 방지할 수 있는 기술적 방안을 제공함을 목적으로 한다.An object of the present invention is to provide a technical method for preventing a firmware security accident by changing a firmware distribution method to IoT devices.

일 양상에 따른 블록체인 기반 IoT 기기 펌웨어 배포 방법은 펌웨어 제공 장치가 신규 펌웨어를 분산형 파일 시스템(InterPlanetary File System)에 업로드하며 그 업로드된 신규 펌웨어에 대한 통합 자원 식별자(Uniform Resource Identifier, URI) 정보를 획득하는 단계, 및 펌웨어 제공 장치가 업로드된 신규 펌웨어 정보와 획득된 URI 정보를 블록체인 기반 외부 네트워크의 원장(ledger)에 등록하는 단계를 포함할 수 있다.In the blockchain-based IoT device firmware distribution method according to an aspect, a firmware providing device uploads a new firmware to a distributed file system (InterPlanetary File System), and information on a uniform resource identifier (URI) for the uploaded new firmware. A step of obtaining, and registering the new firmware information uploaded by the firmware providing device and the acquired URI information to a ledger of a blockchain-based external network.

블록체인 기반 IoT 기기 펌웨어 배포 방법은 하나 이상의 조직용 블록체인 기반 내부 네트워크에 속하면서 외부 네트워크와 연결되는 노드인 브로커가 외부 네트워크의 원장에 등록된 신규 펌웨어 정보와 URI 정보를 가져와 내부 블록체인 네트워크의 원장에 등록하는 단계를 더 포함할 수 있다.The blockchain-based IoT device firmware distribution method is that the broker, which is a node that belongs to one or more blockchain-based internal networks for organizations and is connected to the external network, obtains new firmware information and URI information registered in the external network ledger, and the internal blockchain network ledger. It may further include the step of registering to.

블록체인 기반 IoT 기기 펌웨어 배포 방법은 내부 네트워크에 속한 IoT 기기가 자신의 연결 노드와 통신하여 내부 네트워크의 원장에 등록된 URI 정보를 획득하는 단계, 및 IoT 기기가 획득된 URI 정보로 분산형 파일 시스템에 접근하여 신규 펌웨어를 다운로드한 후 업데이트하는 단계를 더 포함할 수 있다.The blockchain-based IoT device firmware distribution method is a step in which an IoT device belonging to an internal network communicates with its connection node to obtain URI information registered in the ledger of the internal network, and a distributed file system with the obtained URI information. It may further include the step of accessing and downloading new firmware and then updating.

URI 정보 획득 단계는 주기적으로 연결 노드에게 신규 펌웨어 배포 여부를 질의(query)하며, 질의를 통해 신규 펌웨어 배포가 확인되면 연결 노드로부터 신규 펌웨어에 대한 URI 정보를 획득할 수 있다.In the step of obtaining the URI information, a query is periodically performed on whether to distribute new firmware to the connection node, and when new firmware distribution is confirmed through the query, URI information for the new firmware may be obtained from the connection node.

URI 정보 획득 단계는 invoke를 통해 연결 노드로부터 신규 펌웨어에 대한 URI 정보를 획득하며 내부 네트워크의 원장에 신규 펌웨어 요청 로그를 남길 수 있다.In the URI information acquisition step, URI information for new firmware is obtained from the connecting node through invoke, and a new firmware request log can be left on the ledger of the internal network.

한편, 일 양상에 따른 블록체인 기반 IoT 기기 펌웨어 배포 시스템은 신규 펌웨어 정보와 신규 펌웨어가 등록된 분산형 파일 시스템(InterPlanetary File System) 내의 통합 자원 식별자(Uniform Resource Identifier, URI) 정보를 IoT 기기들로 전파하기 위한 블록체인 기반 외부 네크워크, 및 하나 이상의 조직별로 구성된 블록체인 기반 내부 네트워크에 속하는 노드이면서 외부 네트워크와 연결되며, 외부 네트워크의 원장(ledger)에 신규 펌웨어 정보와 URI 정보가 등록되면 그 등록된 신규 펌웨어 정보와 URI 정보를 가져와 내부 네트워크의 원장에 등록하는 브로커를 포함할 수 있다.Meanwhile, in the blockchain-based IoT device firmware distribution system according to an aspect, the new firmware information and the Unified Resource Identifier (URI) information in the distributed file system (InterPlanetary File System) in which the new firmware is registered are transmitted to IoT devices. Blockchain-based external network for propagation, and a node belonging to the blockchain-based internal network composed of one or more organizations, and connected to the external network, and when new firmware information and URI information are registered in the ledger of the external network, the registered It can include a broker that gets new firmware information and URI information and registers it in the ledger of the internal network.

본 발명은 IoT 기기들로 펌웨어를 배포하기 위한 별도의 서버를 필요로 하지 않으며, 펌웨어 정보와 펌웨어 자체의 무결성을 보장하기 때문에 안전한 펌웨어 배포를 가능하게 한다. 즉, 본 발명에서 제안하는 블록체인과 IPFS를 이용한 펌웨어 배포 시스템을 적용하면 IoT 환경에서 IoT 기기의 성능에 크게 좌우되지 않고 공격자의 재전송 공격이나 중간자 공격으로부터 안전한 펌웨어 배포가 가능해진다. 이를 통해, IoT 환경의 펌웨어 보안성을 강화하는 효과를 얻을 수 있으며, IoT 환경의 신뢰도를 높이는 장점을 제공할 수 있다.The present invention does not require a separate server for distributing firmware to IoT devices, and ensures the integrity of firmware information and firmware itself, thereby enabling secure firmware distribution. That is, if the firmware distribution system using the blockchain and IPFS proposed in the present invention is applied, it is possible to distribute the firmware securely from the retransmission attack or the man-in-the-middle attack without much influence on the performance of the IoT device in the IoT environment. Through this, the effect of strengthening the firmware security of the IoT environment can be obtained, and it can provide an advantage of increasing the reliability of the IoT environment.

도 1은 일 실시예에 따른 펌웨어 배포 시스템 구성도이다.
도 2는 일 실시예에 따른 펌웨어 배포 절차를 나타낸 도면이다.
1 is a configuration diagram of a firmware distribution system according to an embodiment.
2 is a diagram illustrating a firmware distribution procedure according to an embodiment.

전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.The above-described and further aspects of the invention will become more apparent through preferred embodiments described with reference to the accompanying drawings. Hereinafter, the present invention will be described in detail so that those skilled in the art can easily understand and reproduce through these examples.

도 1은 일 실시예에 따른 펌웨어 배포 시스템 구성도이다. 펌웨어 배포 시스템을 구축하기 위해 도 1과 같이 블록체인 네트워크를 구성한다. 블록체인 플랫폼으로는 대표적 private 블록체인인 Hyperledger가 사용될 수 있다. 도 1에서 P는 블록체인에 참여하는 노드인 peer를 뜻하며, 실선은 서로 연결된 것을 의미한다. 내부 블록체인 네트워크(Inner blockchain network)(100)는 펌웨어를 필요로 하는 IoT 기기(200)들이 구성하는 블록체인 네트워크이다. 각 조직별로 하나의 내부 네트워크(이하, “내부 네트워크”라 한다)(100)를 구성하며, 블록체인을 기반으로 참여한 IoT 기기(200)들에게 펌웨어에 관한 정보를 제공하고 IoT 기기(200)들의 상태정보를 관리한다. 외부 네트워크(Outer blockchain network)(400)는 펌웨어 제공자(Firmware Provider)가 생성하는 펌웨어에 관련된 정보를 펌웨어 제공 장치(500)로부터 수신하여 전파하는 역할을 한다. 브로커(Broker)(300)는 내부 네트워크(100)에 속하면서 외부 블록체인 네트워크(이하, “외부 네트워크”라 한다)에 속하는 peer를 의미한다. 브로커(300)는 외부 네트워크(400)의 블록체인 원장(ledger)이 업데이트되면 내부 네트워크(100)의 블록체인 원장(ledger)에 업데이트된 데이터를 전달하는 역할을 한다.1 is a configuration diagram of a firmware distribution system according to an embodiment. In order to build a firmware distribution system, a blockchain network is configured as shown in FIG. 1. As a blockchain platform, Hyperledger, a representative private blockchain, can be used. In Fig. 1, P means a peer, which is a node participating in the blockchain, and the solid line means connected to each other. The inner blockchain network 100 is a blockchain network configured by IoT devices 200 requiring firmware. Each organization configures one internal network (hereinafter, referred to as “internal network”) 100, provides information on firmware to the IoT devices 200 participating in the blockchain, and provides information on the firmware of the IoT devices 200 Manage status information. The outer blockchain network 400 serves to receive and propagate information related to the firmware generated by the firmware provider from the firmware providing device 500. The broker 300 refers to a peer belonging to the internal network 100 and belonging to an external blockchain network (hereinafter, referred to as “external network”). The broker 300 serves to deliver the updated data to the blockchain ledger of the internal network 100 when the blockchain ledger of the external network 400 is updated.

IoT 기기(200)들은 내부 네트워크(100)에 참여하는 기기이다. 새로운 IoT 기기를 내부 네트워크(100)에 추가하기 위해서는 관리자의 등록 과정이 필요하다. 일 실시예에 따른 등록 과정에 대해 설명하면, 관리자는 관리자 기기를 이용하여 IoT 기기의 정보를 등록하는 chaincode를 통해 시리얼 넘버(serial number)와 같은 고유식별번호와 함께 기기의 상태정보를 내부 네트워크(100)의 블록체인 원장에 저장한다. 그 다음 IoT 기기(200)에 소속된 내부 네트워크(100)의 peer에 관한 정보와 IPFS peer에 관한 정보를 넣고 FabricCA(Certificate Authority)를 통해 블록체인 네트워크에 참여 가능하게 하는 개인키(private key)와 공개키(public key)를 생성한다. 이 키를 IoT 기기에게 제공하면 IoT 기기는 내부 네트워크(100)에 접근할 수 있는 권한을 가질 수 있게 되고, 내부 네트워크(100)의 다른 peer에 연결함으로써 블록체인 네트워크의 관리를 받을 수 있게 된다.IoT devices 200 are devices participating in the internal network 100. In order to add a new IoT device to the internal network 100, an administrator's registration process is required. In the description of the registration process according to an embodiment, the manager transmits device status information together with a unique identification number such as a serial number through a chaincode that registers IoT device information using the manager device. 100) in the blockchain ledger. Then, a private key that enables participation in the blockchain network through FabricCA (Certificate Authority) by putting information about the peer of the internal network 100 belonging to the IoT device 200 and information about the IPFS peer, and Create a public key. By providing this key to the IoT device, the IoT device can have the authority to access the internal network 100, and can be managed by the blockchain network by connecting to another peer of the internal network 100.

한편, 도 1에 도시되어 있지는 않으나 신규 펌웨어(최신 펌웨어)는 펌웨어 제공자에 의해 파일의 무결성을 보장하는 P2P 파일 시스템인 분산형 파일 시스템(InterPlanetary File System, IPFS)에 업로드된다. 그리고 그리고 IoT 기기(200)들은 IPFS에 직접 접근하여 신규 펌웨어를 다운로드한 후에 업데이트를 진행한다.Meanwhile, although not shown in FIG. 1, new firmware (latest firmware) is uploaded by a firmware provider to an InterPlanetary File System (IPFS), which is a P2P file system that ensures file integrity. In addition, the IoT devices 200 directly access IPFS to download new firmware and then update.

도 2는 일 실시예에 따른 펌웨어 배포 절차를 나타낸 도면이다. 먼저, 펌웨어 정보 배포 과정에 대해 설명한다. 펌웨어 제공 장치(500)는 신규 펌웨어를 IPFS(600)에 업로드하며(A1), IPFS(600)로부터 업로드된 신규 펌웨어에 대한 URI 정보를 획득한다(A2). 다음으로, 펌웨어 제공 장치(500)는 신규 펌웨어에 대한 정보를 등록하기 위한 chaincode를 통해 신규 펌웨어 정보와 IPFS(600)로부터 얻은 URI 정보를 외부 네트워크의 원장(ledger)에 등록한다(A3). 여기서, 신규 펌웨어 정보에는 업데이트 대상이 되는 IoT 기기, 버전 정보 등이 포함된다. 그리고 URI 정보도 별개로 등록되는 것이 아니라 신규 펌웨어 정보에 포함되어 함께 등록될 수 있다.2 is a diagram illustrating a firmware distribution procedure according to an embodiment. First, the firmware information distribution process will be described. The firmware providing device 500 uploads the new firmware to the IPFS 600 (A1), and obtains URI information for the new firmware uploaded from the IPFS 600 (A2). Next, the firmware providing device 500 registers the new firmware information and the URI information obtained from the IPFS 600 in a ledger of the external network through a chaincode for registering information on the new firmware (A3). Here, the new firmware information includes IoT devices to be updated, version information, and the like. In addition, the URI information may not be registered separately, but may be included in new firmware information and registered together.

외부 네트워크의 원장이 업데이트되면, 노드(100)들 중에서 브로커가 해당 사실을 인지하고 외부 네트워크의 원장으로부터 신규 펌웨어 정보와 URI 정보를 가져와 자신의 내부 네트워크(100)의 원장에 등록하는 과정을 시행한다(A4). 이에 따르면, 내부 네트워크(100)의 모든 노드(100)는 최신 펌웨어의 정보를 가지고 있을 수 있게 되며, 노드(100)와 연결된 IoT 기기(200)들은 노드(300)를 통해 신규 펌웨어 정보를 얻을 수 있게 된다. 이를 통해, 펌웨어 제공자가 제공하는 펌웨어 정보들의 무결성을 유지하면서 각 IoT 기기(200)에게 전달할 수 있게 된다.When the ledger of the external network is updated, the broker among the nodes 100 recognizes the fact, obtains new firmware information and URI information from the ledger of the external network, and performs a process of registering it in the ledger of the internal network 100 (A4). Accordingly, all nodes 100 of the internal network 100 can have the latest firmware information, and the IoT devices 200 connected to the node 100 can obtain new firmware information through the node 300. There will be. Through this, it is possible to deliver the firmware information provided by the firmware provider to each IoT device 200 while maintaining the integrity of the firmware information.

다음으로, 펌웨어 체크 및 업데이트 과정에 대해 설명한다. 각각의 IoT 기기(200)는 자신과 연결된 노드(300)와 통신하여 내부 네트워크(100)의 원장에 등록된 신규 펌웨어 정보와 URI 정보를 획득한다. 획득 방법으로는 query와 invoke 두 가지 방법이 있다. Query를 사용하면 별도의 트랜잭션 생성 없이 현재 블록체인 원장에 저장된 정보를 빠르게 획득할 수 있는 반면, invoke를 사용하게 되면 트랜잭션 생성을 통해 chaincode를 동작시키고 여러 노드의 검증과 합의를 거치기 때문에 지연시간이 있는 대신 획득하는 정보를 신뢰할 수 있다.Next, a firmware check and update process will be described. Each IoT device 200 communicates with the node 300 connected to it to acquire new firmware information and URI information registered in the ledger of the internal network 100. There are two methods of acquisition, query and invoke. By using Query, information stored in the current blockchain ledger can be quickly acquired without creating a separate transaction, whereas when invoke is used, chaincode is operated through transaction creation and verification and agreement of multiple nodes are performed, so there is a delay. Instead, you can trust the information you acquire.

일 실시예에 있어서, IoT 기기(200)는 query와 invoke를 모두 사용하여 펌웨어 정보를 획득한다. IoT 기기(200)는 일정 시간을 주기로 자신과 연결된 노드(300)에게 query를 보내 자신이 최신 펌웨어를 가지고 있는지 질의한다(B1). B1 절차에서 질질의를 통한 버전 체크를 통해 신규 펌웨어가 배포된 것으로 확인되면, IoT 기기(200)는 invoke를 통해 노드(300)로부터 신규 펌웨어를 다운받을 수 있는 URI를 획득한다(B2). 이때, IoT 기기(200)는 내부 네트워크(100)의 원장에 자신의 펌웨어 요청 로그를 남긴다. 이렇게 하면 추후에 각각의 IoT 기기에 대한 업데이트 상황 또한 확인할 수 있다. 다음으로, IoT 기기(200)는 노드(300)를 통해 얻은 신규 펌웨어에 대한 URI를 이용하여 IPFS에 접근해 신규 펌웨어를 다운로드한 후에 업데이트를 진행한다(B3, B4). IoT 기기(200)는 상술한 등록 과정에서 IPFS(600)의 peer 정보를 가지고 있기 때문에, IPFS peer 정보와 자신과 연결된 노드(300)로부터 얻은 URI를 이용해 IFPS에 접근하여 신규 펌웨어를 다운로드할 수 있다.In one embodiment, the IoT device 200 acquires firmware information using both query and invoke. The IoT device 200 sends a query to the node 300 connected to it at regular intervals to query whether it has the latest firmware (B1). If it is confirmed that the new firmware has been distributed through a version check through a query query in the B1 procedure, the IoT device 200 obtains a URI for downloading the new firmware from the node 300 through invoke (B2). At this time, the IoT device 200 leaves its own firmware request log on the ledger of the internal network 100. This way, you can also check the update status of each IoT device in the future. Next, the IoT device 200 accesses the IPFS using the URI for the new firmware obtained through the node 300, downloads the new firmware, and then performs the update (B3, B4). Since the IoT device 200 has peer information of the IPFS 600 during the above-described registration process, it can access the IFPS using the IPFS peer information and the URI obtained from the node 300 connected to it to download new firmware. .

이상에서 설명한 바와 같이, IoT 환경에서 펌웨어 배포 방식에 블록체인(Block Chain)과 분산형 파일 시스템(InterPlanetary File System)을 적용하여 공격자의 재전송 공격 및 중간자 공격을 방어한다. 블록체인 기술은 일정 기간동안 발생한 거래들을 블록으로 만들고 이전에 만들었던 블록과 연결하여 거래의 변조를 불가능하게 한다. 이를 활용해 블록체인에 펌웨어 정보와 저장된 위치 정보를 기록하여 무결성을 확보할 수 있다. 그리고 IPFS는 분산 파일 분배 시스템으로 P2P 기반으로 파일을 공유할 수 있다. 특정 파일의 URI를 알면 IPFS를 통해 해당 파일에 접근할 수 있으며 파일의 무결성을 보장한다. 이를 활용해 펌웨어를 IPFS에 등록하고 펌웨어 자체의 무결성을 확보할 수 있다. 따라서, 펌웨어 제공자는 IPFS를 통해 펌웨어를 업로드한 뒤 얻은 URI를 블록체인에 저장하게 되며, IoT 기기는 블록체인을 통해 펌웨어의 상태 정보와 URI를 확인하고 IPFS를 통해 신규 펌웨어를 다운로드하게 된다.As described above, by applying a block chain and a distributed file system (InterPlanetary File System) to the firmware distribution method in the IoT environment, the attacker's retransmission attacks and man-in-the-middle attacks are protected. Blockchain technology makes transactions that have occurred over a certain period of time into blocks and connects them with previously created blocks, making it impossible to tamper with transactions. Using this, it is possible to ensure integrity by recording firmware information and stored location information on the blockchain. And IPFS is a distributed file distribution system that can share files on a P2P basis. If you know the URI of a specific file, you can access the file through IPFS and ensure the integrity of the file. Using this, the firmware can be registered in IPFS and the integrity of the firmware itself can be secured. Therefore, the firmware provider stores the URI obtained after uploading the firmware through IPFS in the blockchain, and the IoT device checks the status information and URI of the firmware through the blockchain, and downloads the new firmware through IPFS.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at around its preferred embodiments. Those of ordinary skill in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

100 : 내부 네트워크 200 : IoT 기기
300 : 피어(노드) 400 : 외부 네트워크
500 : 펌웨어 제공 장치 600 : 분산형 파일 시스템
100: internal network 200: IoT device
300: peer (node) 400: external network
500: firmware providing device 600: distributed file system

Claims (10)

펌웨어 제공 장치가 신규 펌웨어를 분산형 파일 시스템(InterPlanetary File System)에 업로드하며 그 업로드된 신규 펌웨어에 대한 통합 자원 식별자(Uniform Resource Identifier, URI) 정보를 획득하는 단계; 및
펌웨어 제공 장치가 업로드된 신규 펌웨어 정보와 획득된 URI 정보를 블록체인 기반 외부 네트워크의 원장(ledger)에 등록하는 단계;
를 포함하는 블록체인 기반 IoT 기기 펌웨어 배포 방법.
Uploading the new firmware to the distributed file system (InterPlanetary File System), by the firmware providing device, and obtaining Unified Resource Identifier (URI) information for the uploaded new firmware; And
Registering, by a firmware providing device, the uploaded new firmware information and the obtained URI information in a ledger of a blockchain-based external network;
Blockchain-based IoT device firmware distribution method comprising a.
제 1 항에 있어서,
하나 이상의 조직용 블록체인 기반 내부 네트워크에 속하면서 외부 네트워크와 연결되는 노드인 브로커가 외부 네트워크의 원장에 등록된 신규 펌웨어 정보와 URI 정보를 가져와 내부 블록체인 네트워크의 원장에 등록하는 단계;
를 더 포함하는 블록체인 기반 IoT 기기 펌웨어 배포 방법.
The method of claim 1,
A broker belonging to one or more organizational blockchain-based internal networks and connected to the external network, obtaining new firmware information and URI information registered in the external network ledger and registering them in the internal blockchain network ledger;
Blockchain-based IoT device firmware distribution method further comprising a.
제 2 항에 있어서,
내부 네트워크에 속한 IoT 기기가 자신의 연결 노드와 통신하여 내부 네트워크의 원장에 등록된 URI 정보를 획득하는 단계; 및
IoT 기기가 획득된 URI 정보로 분산형 파일 시스템에 접근하여 신규 펌웨어를 다운로드한 후 업데이트하는 단계;
를 더 포함하는 블록체인 기반 IoT 기기 펌웨어 배포 방법.
The method of claim 2,
An IoT device belonging to the internal network communicating with its connection node to obtain URI information registered in the ledger of the internal network; And
Updating after downloading new firmware by accessing the distributed file system with the obtained URI information by the IoT device;
Blockchain-based IoT device firmware distribution method further comprising a.
제 3 항에 있어서,
URI 정보 획득 단계는 주기적으로 연결 노드에게 신규 펌웨어 배포 여부를 질의(query)하며, 질의를 통해 신규 펌웨어 배포가 확인되면 연결 노드로부터 신규 펌웨어에 대한 URI 정보를 획득하는 블록체인 기반 IoT 기기 펌웨어 배포 방법.
The method of claim 3,
The URI information acquisition step periodically queries the connection node for new firmware distribution, and when new firmware distribution is confirmed through the query, a blockchain-based IoT device firmware distribution method that acquires URI information for the new firmware from the connection node. .
제 4 항에 있어서,
URI 정보 획득 단계는 invoke를 통해 연결 노드로부터 신규 펌웨어에 대한 URI 정보를 획득하며 내부 네트워크의 원장에 신규 펌웨어 요청 로그를 남기는 블록체인 기반 IoT 기기 펌웨어 배포 방법.
The method of claim 4,
The URI information acquisition step is a blockchain-based IoT device firmware distribution method that acquires URI information about new firmware from a connecting node through invoke and leaves a new firmware request log on the ledger of the internal network.
신규 펌웨어 정보와 신규 펌웨어가 등록된 분산형 파일 시스템(InterPlanetary File System) 내의 통합 자원 식별자(Uniform Resource Identifier, URI) 정보를 IoT 기기들로 전파하기 위한 블록체인 기반 외부 네크워크; 및
하나 이상의 조직별로 구성된 블록체인 기반 내부 네트워크에 속하는 노드이면서 외부 네트워크와 연결되며, 외부 네트워크의 원장(ledger)에 신규 펌웨어 정보와 URI 정보가 등록되면 그 등록된 신규 펌웨어 정보와 URI 정보를 가져와 내부 네트워크의 원장에 등록하는 브로커;
를 포함하는 블록체인 기반 IoT 기기 펌웨어 배포 시스템.
Blockchain-based external network for disseminating new firmware information and Unified Resource Identifier (URI) information in a distributed file system (InterPlanetary File System) in which the new firmware is registered to IoT devices; And
It is a node belonging to the blockchain-based internal network organized by one or more organizations and is connected to the external network.When new firmware information and URI information are registered in the ledger of the external network, the registered new firmware information and URI information are imported and the internal network A broker who registers on the ledger of;
Blockchain-based IoT device firmware distribution system comprising a.
제 6 항에 있어서,
분산형 파일 시스템에 신규 펌웨어를 업로드하고, 그 업로드된 신규 펌웨어에 대한 URI 정보를 획득하며, 신규 펌웨어 정보와 URI 정보를 외부 네트워크에 등록하는 펌웨어 제공 장치;
를 더 포함하는 블록체인 기반 IoT 기기 펌웨어 배포 시스템.
The method of claim 6,
A firmware providing device for uploading new firmware to the distributed file system, obtaining URI information for the uploaded new firmware, and registering new firmware information and URI information to an external network;
Blockchain-based IoT device firmware distribution system further comprising a.
제 6 항 또는 제 7 항에 있어서,
내부 네트워크에 속한 자신의 연결 노드와 통신하여 내부 네트워크의 원장에 등록된 URI 정보를 획득하며, 획득된 URI 정보로 분산형 파일 시스템에 접근하여 신규 펌웨어를 다운로드한 후 업데이트하는 IoT 기기;
를 더 포함하는 블록체인 기반 IoT 기기 펌웨어 배포 시스템.
The method according to claim 6 or 7,
An IoT device that communicates with its own connection node belonging to the internal network to obtain URI information registered in the ledger of the internal network, accesses the distributed file system with the obtained URI information, downloads new firmware, and updates;
Blockchain-based IoT device firmware distribution system further comprising a.
제 8 항에 있어서,
IoT 기기는 주기적으로 연결 노드에게 신규 펌웨어 배포 여부를 질의(query)하며, 질의를 통해 신규 펌웨어 배포가 확인되면 연결 노드로부터 신규 펌웨어에 대한 URI 정보를 획득하는 블록체인 기반 IoT 기기 펌웨어 배포 시스템.
The method of claim 8,
IoT devices periodically query the connection node for new firmware distribution, and when new firmware distribution is confirmed through a query, a blockchain-based IoT device firmware distribution system that obtains URI information for the new firmware from the connected node.
제 9 항에 있어서,
IoT 기기는 invoke를 통해 연결 노드로부터 신규 펌웨어에 대한 URI 정보를 획득하며 내부 네트워크의 원장에 신규 펌웨어 요청 로그를 남기는 블록체인 기반 IoT 기기 펌웨어 배포 시스템.
The method of claim 9,
IoT device is a blockchain-based IoT device firmware distribution system that obtains URI information for new firmware from the connected node through invoke and leaves a log of new firmware request on the ledger of the internal network.
KR1020190047505A 2019-04-23 2019-04-23 Blockchain-based firmware management system KR102146914B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190047505A KR102146914B1 (en) 2019-04-23 2019-04-23 Blockchain-based firmware management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190047505A KR102146914B1 (en) 2019-04-23 2019-04-23 Blockchain-based firmware management system

Publications (1)

Publication Number Publication Date
KR102146914B1 true KR102146914B1 (en) 2020-08-21

Family

ID=72235481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190047505A KR102146914B1 (en) 2019-04-23 2019-04-23 Blockchain-based firmware management system

Country Status (1)

Country Link
KR (1) KR102146914B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220142086A (en) * 2021-04-14 2022-10-21 최현수 BLOCKCHAIN-BASED IoT DEVICE FIRMWARE SUPPLY SYSTEM AND FIRMWARE UPDATE METHOD USING THE SAME
KR20230020599A (en) * 2021-08-03 2023-02-13 시큐리티플랫폼 주식회사 A firmware management system using distributed file system and a method for firmware management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170103318A (en) 2016-03-03 2017-09-13 한국전자통신연구원 Security method and apparatus for internet of things device
KR101796690B1 (en) * 2016-06-28 2017-11-10 상명대학교 천안산학협력단 Firmware integrity verification system based on block chain and the method thereof
US20180081666A1 (en) * 2016-03-11 2018-03-22 Oleksii Surdu Reliable and Secure Firmware Update for Internet of Things (IoT) Devices
EP3457310A1 (en) * 2017-09-18 2019-03-20 Nxp B.V. Method for protecting the confidentiality and integrity of firmware for an internet of things device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170103318A (en) 2016-03-03 2017-09-13 한국전자통신연구원 Security method and apparatus for internet of things device
US20180081666A1 (en) * 2016-03-11 2018-03-22 Oleksii Surdu Reliable and Secure Firmware Update for Internet of Things (IoT) Devices
KR101796690B1 (en) * 2016-06-28 2017-11-10 상명대학교 천안산학협력단 Firmware integrity verification system based on block chain and the method thereof
EP3457310A1 (en) * 2017-09-18 2019-03-20 Nxp B.V. Method for protecting the confidentiality and integrity of firmware for an internet of things device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IoT 환경에서 안전한 펌웨어 인증을 위한 블록 체인의 활용방안 및 한계점(임재민 et al, 한국정보과학회, 2017년12월) *
블록체인 기반 IoT장치 펌웨어 검증 방법(임재민 et al, 한국정보과학회, 2018년6월) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220142086A (en) * 2021-04-14 2022-10-21 최현수 BLOCKCHAIN-BASED IoT DEVICE FIRMWARE SUPPLY SYSTEM AND FIRMWARE UPDATE METHOD USING THE SAME
KR102564488B1 (en) * 2021-04-14 2023-08-11 주식회사 애즈랜드 BLOCKCHAIN-BASED IoT DEVICE FIRMWARE SUPPLY SYSTEM AND FIRMWARE UPDATE METHOD USING THE SAME
KR20230020599A (en) * 2021-08-03 2023-02-13 시큐리티플랫폼 주식회사 A firmware management system using distributed file system and a method for firmware management
KR102586649B1 (en) * 2021-08-03 2023-10-11 시큐리티플랫폼 주식회사 A firmware management system using distributed file system and a method for firmware management

Similar Documents

Publication Publication Date Title
US11296934B2 (en) Device provisioning system
CN112311530B (en) Block chain-based alliance trust distributed identity certificate management authentication method
RU2708350C1 (en) Cross-chain interactions using a domain name scheme in blockchain systems
RU2756304C2 (en) Identification of network node to which data will be replicated
Adja et al. A blockchain-based certificate revocation management and status verification system
CN107579958B (en) Data management method, device and system
US10958725B2 (en) Systems and methods for distributing partial data to subnetworks
CN107483491A (en) The access control method of distributed storage under a kind of cloud environment
EP3323232B1 (en) Enabling setting up a secure peer-to-peer connection
KR20110040690A (en) Apparatus and methods for protecting network resources
JP7280260B2 (en) Propagation of information by network nodes
CN112149105A (en) Data processing system, method, related device and storage medium
Baldi et al. Certificate Validation Through Public Ledgers and Blockchains.
BRPI0613189A2 (en) account sync for common identity on an unmanaged network
US20080320300A1 (en) Authorisation and Authentication
JP4915182B2 (en) Information management method and information processing apparatus
CN110855760A (en) Block chain-based distributed secure storage system deployment method
WO2019196406A1 (en) Decentralized root domain name service method and system based on blockchain
CN113572746B (en) Data processing method, device, electronic equipment and storage medium
KR102146914B1 (en) Blockchain-based firmware management system
CN106790296A (en) Domain name records verification method and device
US11356448B1 (en) Device and method for tracking unique device and user network access across multiple security appliances
Zhang et al. Blockchain‐Based DNS Root Zone Management Decentralization for Internet of Things
US20220182375A1 (en) Method for hierarchical internet trust sharing
Lu et al. Secure and efficient firmware update for increasing IoT-enabled smart devices

Legal Events

Date Code Title Description
GRNT Written decision to grant