KR20180052479A - System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof - Google Patents

System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof Download PDF

Info

Publication number
KR20180052479A
KR20180052479A KR1020160149834A KR20160149834A KR20180052479A KR 20180052479 A KR20180052479 A KR 20180052479A KR 1020160149834 A KR1020160149834 A KR 1020160149834A KR 20160149834 A KR20160149834 A KR 20160149834A KR 20180052479 A KR20180052479 A KR 20180052479A
Authority
KR
South Korea
Prior art keywords
firmware
version
authentication information
hash value
signature
Prior art date
Application number
KR1020160149834A
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 KR1020160149834A priority Critical patent/KR20180052479A/en
Publication of KR20180052479A publication Critical patent/KR20180052479A/en

Links

Images

Classifications

    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a system for updating firmware of a wired/wireless router using a signature chain, capable of safely registering updated firmware of a wired/wireless router in an update server through a signature chain protocol using a public key password, and updating verified firmware in the wired/wireless router, and to a wired/wireless router and a method for updating firmware of a wired/wireless router. According to the present invention, the system for updating firmware of a wired/wireless router using a signature chain comprises: a manufacturer server for managing firmware installed in a wired/wireless router for each version, and generating authentication information for each version of the firmware; an update server for verifying the firmware for each version and the authentication information for each version of the firmware, and storing and registering the verified firmware and the authentication information; and a wired/wireless router for updating the firmware by receiving the latest version of firmware and authentication information from the update server. The authentication information is generated by using authentication information of the previous version of firmware and the current version of firmware.

Description

서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법{SYSTEM FOR UPDATING FIRM WARE OF WIRE AND WIRELESS ACCESS POINT USING SIGNATURE CHAIN, WIRE AND WIRELESS ACCESS POINT AND METHOD THEREOF}FIELD OF THE INVENTION [0001] The present invention relates to a firmware update system for a wireless router using a signature chain, a wireless router, and a method for updating a firmware of a wireless router.

본 발명은 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법에 대한 것이며, 보다 상세하게는 공개키 암호를 이용한 서명 체인 프로토콜을 통해 유무선 공유기의 업데이트된 펌웨어를 안전하게 업데이트 서버에 등록하고, 유무선 공유기에 검증된 펌웨어를 업데이트할 수 있는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법에 대한 것이다. The present invention relates to a firmware update system for a wireless router, a wireless router, and a firmware update method for a wireless router using a signature chain. More particularly, the present invention relates to a method and system for securely updating updated firmware of a router through a signature chain protocol And a method for updating firmware of a wireless router, a wireless router, and a wireless router by using a signature chain that can register the wireless router with a server and update the verified firmware to the wireless router.

최근 들어 다양한 모바일 디바이스의 사용 비중이 높아지고, 스마트 TV나 셋톱박스 등이 가정 내에 보편적으로 사용됨에 따라 대부분의 사용자 단말기들이 네트워크를 통해 서비스를 이용할 수 있는 형태로 진화하고 있다. 이에 따라, 사무실 뿐만 아니라 가정 내에서도 다양한 단말기들을 서로 통신 연결하거나 외부 인터넷 망에 연결하기 위하여 유무선 공유기의 사용이 급증하고 있다.In recent years, the usage proportion of various mobile devices has increased, and smart TVs and set-top boxes have been widely used in homes, so that most of user terminals are evolving into services that can use services through networks. Accordingly, the use of a wired / wireless router is rapidly increasing in order to connect various terminals to each other or to connect to an external Internet network in the office as well as the home.

또한, 이와 같이 대부분의 사용자 단말기들이 유무선 네트워크에 연결되고 사용자 단말기에 중요한 사용자 정보(개인 정보, 카드와 같은 결제 정보 등)가 저장됨에 따라, 네트워크를 통해 사용자 단말기에 접근하여 사용자 단말기의 정상 동작을 방해하거나 사용자 정보를 빼 내가는 악성 행위 역시 다양화되어 가고 있는 추세이다.Also, since most of user terminals are connected to a wired / wireless network and important user information (personal information, payment information such as cards, etc.) is stored in the user terminal, access to the user terminal through the network, The malicious behavior that I interrupt or remove user information is also becoming diversified.

이러한 악성 행위를 차단하기 위하여 스마트 폰이나 컴퓨터, 노트북 등에 다양한 백신 프로그램이나 방화벽 등을 설치하고는 있으나, 유무선 공유기에 연결되는 사용자 단말기가 다양화하다 보니 보안에 취약한 사용자 단말기가 발생하게 된다. 이로 인해, 해당 단말기가 악성 행위에 노출될 경우 네트워크를 통해 서로 연결된 댁내의 다른 사용자 단말기 역시 위험에 노출될 수 있는 문제점이 있었다.In order to block such malicious activity, various anti-virus programs and firewalls are installed in smart phones, computers, and notebooks. However, since the user terminals connected to the wireless routers are diversified, weak user terminals are generated. Accordingly, when the terminal is exposed to malicious activity, other user terminals connected to each other through a network may be exposed to the risk.

한편, 사용자 단말기가 외부의 네트워크에 연결하기 위해서는 유무선 공유기를 통해 연결되어야 하는데, 통상의 악성 행위는 외부의 네트워크에서 전파된다. 따라서 유무선 공유기에서의 보안 확보의 중요성이 높아지고 있다.Meanwhile, in order for a user terminal to be connected to an external network, the user terminal must be connected through a wired / wireless router, and normal malicious activity is propagated in an external network. Therefore, it is becoming increasingly important to secure security in wireless routers.

유무선 공유기는 새로운 버전의 펌웨어가 나올 경우 펌웨어를 업데이트해 주어야 한다. 만일 오랜 기간 펌웨어를 업데이트하지 않을 경우, 즉 구 버전의 펌웨어를 사용할 경우 보안이 취약하여 유무선 공유기를 통해 사용자 단말기에 악성 데이터가 침입할 수 있으며, 다양한 사용자 단말기와의 연동에도 문제가 발생할 수 있다.The router needs to update the firmware when a new version of the firmware comes out. If the firmware is not updated for a long period of time, that is, when old firmware is used, malicious data may infiltrate into the user terminal through the wireless router because the security is weak, and problems may occur in connection with various user terminals.

한편, 현재 출시되고 있는 대부분의 유무선 공유기는 펌웨어 업데이트 서버로부터 펌웨어를 업데이트할 때 무결성 검증을 하지 않거나, 해쉬 알고리즘 또는 CRC 32(Cyclic Redundancy Check 32)만을 이용하여 무결성을 검사하고 있다. 그러나 해쉬 알고리즘 또는 CRC 32의 경우 악의적인 공격자(해커)가 사용되는 비밀값을 역공학 분석(reverse engineering)을 통해 알아낼 수 있기 때문에 유무선 공유기에 악성 펌웨어를 업데이트할 수 있다. 이 경우 유무선 공유기에 연결된 사용자 단말기에 악성 데이터를 침입시켜 사용자 단말기의 정보를 빼 내거나 사용자 단말기가 악성 데이터를 다른 단말기로 퍼뜨리는 등 보안의 취약성이 발생하게 되는 문제점이 있었다.On the other hand, most wireless routers currently on the market are not performing integrity verification when updating firmware from a firmware update server, or checking integrity using only a hash algorithm or CRC 32 (Cyclic Redundancy Check 32). However, in the case of the hash algorithm or CRC 32, the malicious attacker (hacker) can use the reverse engineering to find the secret value to use, so malicious firmware can be updated on the router. In this case, malicious data is invaded to the user terminal connected to the wireless router or the user terminal is extracted, or the user terminal spreads malicious data to other terminals.

본 발명은 이러한 종래의 문제점을 해결하기 위하여 제시된 것으로서, 본 발명의 목적은, 유무선 공유기의 펌웨어 업데이트 시 공개키 암호를 이용한 서명 체인 프로토콜을 통해 업데이트할 펌웨어를 검증하고, 업데이트 서버에 등록하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in order to solve such conventional problems, and it is an object of the present invention to provide a signature chain protocol that verifies firmware to be updated through a signature chain protocol using public key cryptography, The present invention provides a firmware update system for a wireless router, a wireless router, and a firmware update method for a wireless router.

또한, 본 발명의 다른 목적은, 업데이트할 펌웨어의 검증을 통해 악의적인 공격자가 유무선 공유기에 악성 펌웨어를 업데이트하는 것을 탐지하고 차단하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법을 제공하는 것이다.It is another object of the present invention to provide a firmware update system for a wireless router, a wireless router, a wireless router, and a wireless router using a signature chain for detecting and blocking a malicious attacker from updating malicious firmware to a router, Thereby providing a firmware update method.

상기 목적을 달성하기 위하여, 본 발명에 따른 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템은, 유무선 공유기에 설치되는 펌웨어를 버전별로 관리하고, 펌웨어의 버전별 인증정보를 생성하는 제조사 서버, 버전별 펌웨어 및 펌웨어의 버전별 인증정보를 검증하고, 검증된 펌웨어 및 인증정보를 저장 및 등록하는 업데이트 서버, 그리고 업데이트 서버로부터 최신 버전의 펌웨어 및 인증정보를 수신하여 펌웨어를 업데이트하는 유무선 공유기를 포함하고, 인증정보는, 펌웨어의 이전 버전의 인증정보 및 현재 버전의 펌웨어를 이용하여 생성되는 것을 특징으로 한다.In order to achieve the above object, a firmware update system of a wireless router using a signature chain according to the present invention includes: a firmware server for managing firmware installed in a wireless router, And a wireless router for verifying version-specific authentication information of the firmware, storing and registering the verified firmware and authentication information, and updating the firmware by receiving the latest version of firmware and authentication information from the update server, Information is generated using the authentication information of the previous version of the firmware and the firmware of the current version.

바람직하게는, 인증정보가 이전 버전의 인증정보 및 현재 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명한 서명 값이며, 제조사 서버는, 펌웨어의 최초 버전의 인증정보로서, 공개키 암호화 방식의 공개키 쌍 중 검증키(공개키)의 해쉬 값과 최초 버전 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성한다.Preferably, the authentication information is a signature value obtained by digitally signing the hash value of the authentication information of the previous version and the firmware of the current version through the public key cryptosystem using the signature key (private key), and the manufacturer server sets the initial version of the firmware The hash value of the verification key (public key) and the hash value of the first version firmware among the public key cryptography-based public key cryptosystems are electronically signed through the public key cryptosystem using the signature key (private key) .

또한, 버전별 펌웨어 파일 및 버전별 인증정보를 저장하는 데이터베이스를 더 포함한다.It further includes a database for storing version-specific firmware files and version-specific authentication information.

업데이트 서버는, 제조사 서버로부터 버전 N 펌웨어 및 버전 N 인증정보를 수신하고, 기 저장된 버전 N-1의 인증정보인 제1 인증정보를 로드하고, 버전 N 펌웨어의 해쉬 값인 제1 해쉬 값을 생성하고, 버전 N 인증정보를 검증키(공개키)를 이용하여 공개키 암호를 통해 복호화하여 버전 N-1 인증정보 및 버전 N 펌웨어 해쉬 값을 획득하고, 버전 N-1 인증정보 및 버전 N 펌웨어 해쉬 값에 대하여 제1 인증정보 및 제1 해쉬 값과 비교하여 유효성을 검사하여 제조사 서버가 전송한 버전 N 펌웨어 및 버전 N 인증정보를 검증한다.The update server receives the version N firmware and version N authentication information from the manufacturer server, loads the first authentication information, which is authentication information of the previously stored version N-1, generates a first hash value which is a hash value of the version N firmware , The version N authentication information is decrypted through the public key encryption using the verification key (public key) to obtain the version N-1 authentication information and the version N firmware hash value, and the version N-1 authentication information and the version N firmware hash value With the first authentication information and the first hash value, and checks validity to verify the version N firmware and version N authentication information transmitted by the manufacturer server.

또 상기 다른 목적을 달성하기 위하여 본 발명에 따른 유무선 공유기는 버전별 펌웨어 및 상기 펌웨어의 버전별 인증정보를 검증하고, 검증된 펌웨어 및 인증정보를 등록 및 관리하는 업데이트 서버와 연동하여 펌웨어를 업데이트하는 유무선 공유기로서, 유무선 공유기에 설치된 현재 버전의 펌웨어에 대한 인증정보, 이전 버전의 펌웨어에 대한 인증정보 및 펌웨어 업데이트 요청 메시지를 업데이트 서버에 전송하고, 업데이트 서버로부터 최신 버전의 펌웨어 및 인증정보를 수신하여 펌웨어를 업데이트하는 제어부와, 유무선 공유기에 설치되는 버전의 펌웨어 및 인증정보를 저장하는 저장부를 포함하고, 현재 버전의 펌웨어의 인증정보는, 이전 버전의 펌웨어의 인증정보 및 현재 버전의 펌웨어를 이용하여 생성되는 것을 특징으로 한다.In order to achieve the above-mentioned other object, the router of the present invention verifies version-specific firmware and authentication information for each version of the firmware, and updates the firmware in cooperation with an update server for registering and managing the verified firmware and authentication information As a wireless router, authentication information for a current version of firmware installed in a wireless router, authentication information for a previous version of firmware, and a firmware update request message are transmitted to the update server, and the latest version of firmware and authentication information is received from the update server And a storage unit for storing firmware and authentication information of a version installed in the wireless router. The authentication information of the current version of the firmware includes authentication information of the previous version of the firmware and firmware of the current version, .

바람직하게는, 업데이트 서버는 현재 버전의 펌웨어의 인증정보 및 이전 버전의 펌웨어의 인증정보를 이용하여 업데이트 서버에 등록된 최신 버전의 펌웨어 및 인증정보를 확인 및 검증하고, 제어부는 업데이트 서버가 전송하는 최신 버전의 펌웨어 및 인증정보를 검증한 후 업데이트를 수행한다.Preferably, the update server verifies and verifies the latest firmware and authentication information registered in the update server using the authentication information of the current version of the firmware and the authentication information of the previous version of the firmware, After verifying the latest version of firmware and authentication information, update is performed.

또한, 저장부는 공개키 암호화 방식의 공개키 쌍 중 검증키(공개키)를 읽기만 가능한 영역(Read-Only Memory)에 저장한다.In addition, the storage unit stores a verification key (public key) in a read-only memory area in a public key encryption public key pair.

또한, 상기의 또 다른 목적을 달성하기 위하여, 본 발명에 따른 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법은, 제조사 서버가, 유무선 공유기에 설치되는 펌웨어 중 현재 버전의 펌웨어에 대하여 인증정보를 생성하는 단계, 유무선 공유기의 펌웨어를 업데이트하는 업데이트 서버가 제조사 서버로부터 현재 버전의 펌웨어 및 생성된 인증정보를 수신하는 단계, 업데이트 서버가 수신된 현재 버전의 펌웨어 및 인증정보를 검증하는 단계, 현재 버전의 펌웨어 및 인증정보가 유효하다고 판단되는 경우, 업데이트 서버가 수신된 현재 버전의 펌웨어 및 인증정보를 저장 및 등록하는 단계, 그리고 현재 버전의 펌웨어 및 인증정보가 유효하지 않다고 판단되는 경우, 업데이트 서버가 오류 메시지를 전송하고 수신된 현재 버전의 펌웨어 및 인증정보를 삭제하는 단계를 포함하고, 현재 버전의 펌웨어의 인증정보는, 펌웨어의 이전 버전의 인증정보 및 현재 버전의 펌웨어를 이용하여 생성되는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of updating a firmware of a wireless router using a signature chain, the method comprising: a manufacturer server generating authentication information for a current version of firmware installed in a wire / Receiving, by the update server, the current version of firmware and authentication information from the manufacturer server; receiving the current version of the firmware and the generated authentication information from the manufacturer server; And if the authentication information is determined to be valid, the update server stores and registers the received current version of firmware and authentication information, and if it is determined that the current version of firmware and authentication information is not valid, And transmits the current version of firmware and authentication It comprises deleting the information, and authentication information of the current version of the firmware is characterized in that which is generated using the previous version of the firmware, the authentication information and the current version of the firmware.

바람직하게는, 인증정보를 생성하는 단계가, 현재 버전의 펌웨어의 해쉬 값을 생성하는 단계, 이전 버전의 인증정보를 로드하는 단계, 그리고 이전 버전의 인증정보와 현재 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 단계를 포함한다.Preferably, generating the authentication information comprises generating a hash value of the current version of the firmware, loading the previous version of the authentication information, and signing the hash value of the previous version of the authentication information and the current version of the firmware And generating a signature value by electronically signing with the public key cryptosystem using a key (private key).

더욱 바람직하게는, 공개키 암호화 방식의 공개키 쌍인 서명키(개인키) 및 검증키(공개키)를 생성하는 단계, 검증키(공개키)의 해쉬 값을 생성하는 단계, 최초 버전의 펌웨어의 해쉬 값을 생성하는 단계, 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 단계, 그리고 생성된 서명 값을 최초 버전의 펌웨어에 대한 인증정보로 저장하는 단계를 더 포함한다.More preferably, the method further comprises generating a signature key (private key) and a verification key (public key) that are public key cryptography public key pairs, generating a hash value of the verification key (public key) Generating a hash value, generating a signature value by digitally signing the hash value of the verification key (public key) and the hash value of the first version of the firmware through the public key cryptosystem using the signature key (private key), and And storing the generated signature value as authentication information for the first version of the firmware.

또한, 현재 버전의 펌웨어 및 인증정보를 검증하는 단계는, 현재 버전의 펌웨어의 해쉬 값인 제1 해쉬 값을 생성하는 단계, 이전 버전의 인증정보인 제1 인증정보를 로드하는 단계, 검증키(공개키)를 로드하는 단계, 현재 버전의 인증정보를 검증키(공개키)를 이용하여 공개키 암호를 통해 복호화하여 이전 버전의 인증정보와 현재 버전의 펌웨어의 해쉬 값을 획득하는 단계, 그리고 복호화를 통해 획득된 상기 이전 버전의 인증정보 및 현재 버전의 펌웨어의 해쉬 값에 대하여, 제1 인증정보 및 제1 해쉬 값과 비교하여 유효성을 검증하는 단계를 포함한다.The verifying of the current version of the firmware and the authentication information may include generating a first hash value that is a hash value of the current version of the firmware, loading the first authentication information that is the authentication information of the previous version, Key), decrypting the current version of the authentication information through public key encryption using a verification key (public key), obtaining a hash value of the previous version of the authentication information and the current version of the firmware, Verifying the validity of the hash value of the previous version of the authentication information and the current version of the firmware obtained through the comparison with the first authentication information and the first hash value.

또한, 유무선 공유기에 설치된 현재 버전의 펌웨어에 대한 인증정보, 이전 버전의 펌웨어에 대한 인증정보 및 펌웨어 업데이트 요청 메시지를 수신하는 단계, 현재 버전의 펌웨어의 인증정보 및 이전 버전의 펌웨어의 인증정보를 이용하여 업데이트 서버에 등록된 최신 버전의 펌웨어 및 인증정보를 확인 및 검증하는 단계, 그리고 최신 버전의 펌웨어 및 인증정보가 유효한 경우 유무선 공유기의 펌웨어를 최신 버전의 펌웨어로 업데이트하는 단계를 더 포함한다.Also, the method may further include receiving authentication information for the current version of the firmware installed in the router, authentication information for the previous version of the firmware, and a firmware update request message, using the authentication information of the current version of the firmware and the authentication information of the previous version of the firmware And verifying and verifying the latest version of firmware and authentication information registered in the update server, and updating the firmware of the router to the latest version of firmware when the latest version of firmware and authentication information is valid.

이상 설명한 바대로, 본 발명에 따른 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법은, 공개키 암호 기술에 의한 서명 체인 프로토콜을 이용하므로 악의적인 공격자가 유무선 공유기에 악성 펌웨어를 업데이트 서버에 등록하는 것을 효과적으로 차단할 수 있다.As described above, according to the present invention, a firmware update system, a wireless router, and a firmware update method of a wireless router are implemented using a signature chain protocol based on a public key encryption technology, so that a malicious attacker can access the wireless router It is possible to effectively prevent malicious firmware from being registered in the update server.

또한, 악의적인 공격자가 악성 펌웨어를 유포하더라도 펌웨어의 서명 체인 검증시 변조된 펌웨어를 미리 탐지할 수 있다. 이를 통해, 유무선 공유기에 악성 펌웨어가 설치되는 것을 차단하여 유무선 공유기의 보안을 확보하고, 사용자 단말기를 악성 행위로부터 보호할 수 있다.In addition, even if a malicious attacker distributes malicious firmware, the tampered firmware can be detected in advance when the signature chain of the firmware is verified. Thus, it is possible to prevent the malicious firmware from being installed in the wireless router, thereby securing the security of the wireless router and protecting the user terminal from malicious activity.

도 1은 본 발명에 따른 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템의 구성도이다.
도 2는 본 발명에 따른 펌웨어의 최초 버전의 등록 과정을 도시한 순서도이다.
도 3은 본 발명에 따른 펌웨어의 후속 버전의 등록 과정을 도시한 순서도이다.
도 4는 본 발명에 따른 유무선 공유기의 펌웨어 업데이트 과정을 도시한 순서도이다.
1 is a configuration diagram of a firmware update system of a wireless router using a signature chain according to the present invention.
2 is a flowchart illustrating a process of registering an initial version of firmware according to the present invention.
3 is a flowchart illustrating a process of registering a subsequent version of the firmware according to the present invention.
FIG. 4 is a flowchart illustrating a firmware updating process of the wireless router according to the present invention.

이하, 첨부한 도면을 참조하여 본 발명의 장점, 특징 및 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, advantages, features, and preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템의 구성도이다. 도 1에 도시한 바와 같이, 펌웨어 업데이트 시스템은 제조사 서버(100), 업데이트 서버(200) 및 유무선 공유기(300)를 포함한다. 실시예에 따라 펌웨어 업데이트 시스템은 제1 데이터베이스(120) 및 제2 데이터베이스(220)를 더 포함할 수 있다. 한편, 업데이트 서버(200)는 별도의 독립된 장치 형태로 구성될 수도 있고 클라우드(cloud) 형태로 구성될 수도 있다.1 is a configuration diagram of a firmware update system of a wireless router using a signature chain according to the present invention. As shown in FIG. 1, the firmware update system includes a manufacturer server 100, an update server 200, and a wire / wireless router 300. According to an embodiment, the firmware update system may further include a first database 120 and a second database 220. Meanwhile, the update server 200 may be configured in a separate independent device form or in a cloud form.

제조사 서버(100)는 유무선 공유기 제조사가 설치 및 관리하는 서버이다. 제조사는 유무선 공유기(300)의 펌웨어를 지속적으로 개발하고, 제조사 서버(100)는 펌웨어를 버전별로 관리한다. 구체적으로, 제조사 서버(100)는 제1 데이터베이스(120)와 연동하여 버전별 펌웨어를 저장하고, 펌웨어의 버전별 인증정보를 관리할 수 있다. 인증정보는 펌웨어의 각 버전의 무결성을 검증하기 위한 정보로, 전자 서명된 서명 값일 수 있다. 또한, 인증정보는 이전 버전 펌웨어의 인증정보와 현재 버전 펌웨어를 이용하여 생성될 수 있다. 구체적으로, 유무선 공유기(300)의 최초 버전(버전 1)의 펌웨어에 대하여, 제조사 서버(100)는 공개키 암호화 방식의 공개키 쌍(서명키(개인키), 검증키(공개키))을 생성할 수 있다. 또한, 제조사 서버(100)는하고, 해쉬 함수(Hash Function)를 이용하여 검증키(공개키)의 해쉬 값과 펌웨어(버전 1)의 해쉬 값, 즉 펌웨어 파일의 해쉬 값을 생성할 수 있다. 이후, 제조사 서버(100)는 검증키(공개키)의 해쉬 값과 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명(암호화)하여 서명 값(서명 값 1)을 생성할 수 있다. 이와 같이 생성된 서명 값 1은 펌웨어 버전 1의 인증정보로 저장될 수 있다. 이후, 새로운 버전(버전 2)의 펌웨어가 생성되는 경우, 제조사 서버(100)는 해당 펌웨어 버전(버전 2)의 바로 이전 버전의 인증정보, 즉 버전 1에 대한 서명 값 1과, 현재 버전 펌웨어(버전 2)의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값(서명 값 2)을 생성할 수 있다. 서명 값 2는 버전 2의 인증정보로 저장될 수 있다. 제조사 서버(100)는 버전별 펌웨어 및 버전별 인증정보를 제1 데이터베이스(120)에 저장하고, 업데이트 서버(200)에 전송한다. 이와 같이 제조사 서버(100)는 펌웨어가 업데이트될 때마다 이전 버전의 인증정보와 현재 버전 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 인증정보(서명 값)를 생성함으로써 펌웨어의 버전별로 인증정보가 서로 연속적으로 연관되는 형태, 즉 일종의 서명 체인을 이루게 된다. 따라서 특정 버전의 인증정보(서명 값)를 얻기 위해서는 그 이전 버전의 인증정보(서명 값)가 필요하므로, 악의적 공격자가 특정 버전의 인증정보를 획득하더라도 서명 체인을 전체적으로 파악/확보하는 것이 어려워 악성 펌웨어를 유포하더라도 이를 쉽게 탐지 및 차단할 수 있다.The manufacturer server 100 is a server installed and managed by the manufacturer of the wireless router. The manufacturer continuously develops the firmware of the router 300, and the manufacturer server 100 manages the firmware by version. Specifically, the manufacturer server 100 may store version-specific firmware in association with the first database 120, and may manage authentication information for each version of the firmware. The authentication information is information for verifying the integrity of each version of the firmware and may be an electronically signed signature value. Also, the authentication information may be generated using the authentication information of the previous version firmware and the current version firmware. Specifically, for the firmware of the first version (version 1) of the router / router 300, the manufacturer server 100 transmits a public key pair (a signature key (private key) and a verification key Can be generated. In addition, the manufacturer server 100 may generate a hash value of the verification key (public key) and a hash value of the firmware (version 1), i.e., a hash value of the firmware file, using a hash function. Thereafter, the manufacturer server 100 digitally signs (encrypts) the hash value of the verification key (public key) and the hash value of the firmware through the public key cryptosystem using the signature key (private key) Can be generated. The signature value 1 thus generated can be stored as authentication information of the firmware version 1. Then, when the firmware of the new version (version 2) is generated, the manufacturer server 100 checks the authentication information of the immediately previous version of the firmware version (version 2), that is, the signature value 1 for version 1, Version 2) can be digitally signed using a public key cryptosystem using a signature key (private key) to generate a signature value (signature value 2). The signature value 2 can be stored as the version 2 authentication information. The manufacturer server 100 stores the authentication information for each version and firmware in the first database 120 and transmits the authentication information to the update server 200. [ In this manner, each time the firmware is updated, the manufacturer server 100 electronically signs the authentication information (signature value) of the previous version and the hash value of the current firmware through a public key encryption using a signature key (private key) So that authentication information is continuously associated with each version of the firmware, that is, a type of signature chain. Therefore, in order to obtain the authentication information (signature value) of a specific version, authentication information (signature value) of the previous version is required. Therefore, even if the malicious attacker obtains the specific version of the authentication information, it is difficult to grasp / secure the signature chain as a whole, It can be easily detected and blocked.

한편, 유무선 공유기(300)의 종류(모델)가 복수인 경우 제조사 서버(100)는 각 유무선 공유기 종류(모델)별로 각 버전별 펌웨어 및 인증정보를 분류하여 관리할 수 있다.On the other hand, when there are a plurality of types (models) of the wireless router 300, the manufacturer server 100 can classify and manage firmware and authentication information for each version according to each wired / wireless router type (model).

제1 데이터베이스(120)는 버전별 펌웨어(파일) 및 각 펌웨어의 버전별 인증정보를 분류 저장한다. 또한, 제조사 서버(100)가 관리하는 유무선 공유기(300)의 종류(모델)가 복수인 경우, 제1 데이터베이스(120)는 각 유무선 공유기(300)의 종류(모델) 별로 각 버전별 펌웨어 및 인증정보를 분류하여 저장할 수도 있다. 바람직하게는, 제1 데이터베이스(120)가 유무선 공유기의 식별정보(예를 들어 모델명)를 더 저장한다. 또한, 제1 데이터베이스(120)는 제조사 서버(100)가 생성한 서명키(개인키) 및 검증키(공개키)를 저장할 수도 있다. 실시예에 따라, 제1 데이터베이스(120)는 제조사 서버(100)와 독립된 형태로 구성될 수도 있고, 제조사 서버의 일부로 구성될 수도 있다.The first database 120 classifies and stores version-specific firmware (files) and authentication information for each version of firmware. When there are a plurality of types (models) of the wired / wireless router 300 managed by the manufacturer server 100, the first database 120 stores firmware and authentication for each version (model) of each wired / Information can also be categorized and stored. Preferably, the first database 120 further stores identification information (e.g., a model name) of the wireless router. Also, the first database 120 may store a signature key (private key) and a verification key (public key) generated by the manufacturer server 100. According to an embodiment, the first database 120 may be configured in a form independent of the manufacturer server 100, or may be a part of a manufacturer server.

업데이트 서버(200)는 제조사 서버(100)로부터 버전별로 펌웨어 및 인증정보를 수신하여 제2 데이터베이스(220)에 분류 저장한다. 업데이트 서버(200)는 제조사 서버(100)로부터 펌웨어 및 인증정보가 수신되면 무결성을 검증할 수 있다. 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 새로운 버전의 펌웨어 및 인증정보와 제2 데이터베이스(220)로부터 로드된 이전버전 인증정보에 대하여, 검증키(공개키) 및 공개키 암호를 이용하여 최신 펌웨어/인증정보의 무결성을 검증할 수 있다. 구체적으로, 업데이트 서버(200)는 해당 펌웨어의 이전 버전에 대한 인증정보(서명 값)를 제2 데이터베이스(220)로부터 로드하고, 해쉬 함수를 이용하여 수신된 새로운 버전의 펌웨어의 해쉬 값을 생성한다. 또한, 업데이트 서버(200)는 수신된 펌웨어의 인증 정보(서명 값)를 검증키(공개키)를 이용하여 공개키 암호를 통해 복호화하여 이전 버전의 인증정보와 새로운 버전의 펌웨어의 해쉬 값을 획득한다. 이후 복호화를 통해 획득한 이전 버전의 인증정보와 새로운 버전의 펌웨어의 해쉬 값과, 제2 데이터베이스(220)에서 로드된 이전 버전의 인증정보 및 해쉬 함수를 이용하여 생성한 펌웨어의 해쉬 값을 비교(동일 여부 판단)하여 새로운 버전의 펌웨어 및 인증정보의 유효성을 검사할 수 있다. 확인 결과 서명 검증이 유효할 경우 업데이트 서버(200)는 제조사 서버(100)로부터 전송된 새로운 펌웨어 파일 및 인증정보를 유효한 것으로 판단하여 제2 데이터베이스(220)에 저장하고 펌웨어 업데이트 버전으로 등록할 수 있다. 한편, 서명 검증이 유효하지 않은 경우 업데이트 서버(200)는 제조사 서버(100)로부터 전송된 펌웨어 파일 및 인증정보가 유효하지 않은, 즉 비정상적인 (또는 악성 공격자에 의해 유포된) 펌웨어로 판단할 수 있다. 이 경우 업데이트 서버(200)는 제조사 서버(100)로 오류 메시지를 전송하거나 펌웨어 등을 전송한 IP를 차단할 수 있으며, 수신된 펌웨어 및 인증정보를 삭제할 수 있다.The update server 200 receives firmware and authentication information for each version from the manufacturer server 100 and stores the firmware and authentication information in the second database 220. The update server 200 can verify the integrity when firmware and authentication information is received from the manufacturer server 100. [ The update server 200 uses the verification key (public key) and the public key encryption for the new version of firmware and authentication information received from the manufacturer server 100 and the old version authentication information loaded from the second database 220 The integrity of the latest firmware / authentication information can be verified. Specifically, the update server 200 loads the authentication information (signature value) for the previous version of the firmware from the second database 220, and generates a hash value of the received new version of the firmware using the hash function . Also, the update server 200 decrypts the authentication information (signature value) of the received firmware through the public key encryption using the verification key (public key) to obtain the hash value of the previous version of the authentication information and the new version of the firmware do. The hash value of the firmware of the previous version obtained through the decryption is compared with the hash value of the firmware of the new version using the hash function and the authentication information of the previous version loaded in the second database 220 It is possible to check the validity of the new version of firmware and authentication information. If the signature verification is valid, the update server 200 determines that the new firmware file and the authentication information transmitted from the manufacturer server 100 are valid, stores the new firmware file and the authentication information in the second database 220, and registers the new firmware file and the authentication information as a firmware update version . On the other hand, when the signature verification is not valid, the update server 200 can determine that the firmware file and the authentication information transmitted from the manufacturer server 100 are invalid, that is, the firmware is abnormal (or distributed by a malicious attacker) . In this case, the update server 200 can transmit an error message to the manufacturer server 100, block the IP transmitted from the firmware or the like, and delete the received firmware and authentication information.

또한, 업데이트 서버(200)는 유무선 공유기(300)로부터 해당 유무선 공유기에 저장된 펌웨어 버전의 인증정보를 수신 및 검증한 후 최신 버전의 펌웨어로 업데이트할 수 있다. 예를 들어, 업데이트 서버(200)는 유무선 공유기(300)로부터 해당 유무선 공유기에 설치된 펌웨어 버전(현재 버전)의 인증정보 및 이전 버전(현재 버전의 직전 버전)의 인증정보를 수신하고, 이를 통해 해당 펌웨어의 최신 버전을 검증할 수 있다. 검증 결과 유효하면 업데이트 서버(300)는 최신 버전의 펌웨어와 최신 버전의 인증정보(서명 값)를 유무선 공유기(300)로 전송하여 펌웨어 업데이트를 수행한다.In addition, the update server 200 can receive and verify the authentication information of the firmware version stored in the wireless router, and update the latest version of the firmware. For example, the update server 200 receives the authentication information of the firmware version (current version) and the authentication information of the previous version (the previous version of the current version) installed in the corresponding wireless router from the wireless router 300, You can verify the latest version of the firmware. If the verification result is valid, the update server 300 transmits the latest version of the firmware and the latest version of the authentication information (signature value) to the wireless router 300 to perform the firmware update.

제2 데이터베이스(220)는 제조사 서버(100)로부터 전송된 버전별 펌웨어 및 각 펌웨어의 버전별 인증정보를 분류 저장한다. 한편, 제조사 서버(100)가 관리하는 유무선 공유기(300)의 종류(모델)가 복수인 경우, 제2 데이터베이스(220)는 유무선 공유기의 식별정보(예를 들어 모델명)를 더 저장하고, 펌웨어 및 인증정보를 각 유무선 공유기(300)의 종류별로 분류하여 저장할 수 있다.The second database 220 classifies and stores version-specific firmware transmitted from the manufacturer server 100 and authentication information for each version of the firmware. Meanwhile, when there are a plurality of types (models) of the wireless router 300 managed by the manufacturer server 100, the second database 220 further stores identification information (e.g., model name) of the wireless router, The authentication information can be classified and stored according to the type of the wired / wireless router 300.

실시예에 따라, 업데이트 서버(200) 및 제2 데이터베이스(220)는 제조사 서버(100)와 독립된 형태로 구성될 수도 있고, 제조사 서버에 포함된 형태로 구성될 수도 있다.According to the embodiment, the update server 200 and the second database 220 may be configured in a form independent from the manufacturer server 100, or may be included in a manufacturer server.

유무선 공유기(300)는 통신 연결된 사용자 단말기(미도시)를 외부 네트워크와 통신 연결되어 사용자 단말기가 통신 서비스를 이용할 수 있도록 한다. 유무선 공유기(300)는 설치된 펌웨어를 관리하고 펌웨어 업데이트를 수행하는 제어부(320)와 펌웨어 및 인증정보를 저장하는 저장부(340)를 포함한다. 한편, 도 1에서는 유무선 공유기(300)의 구성을 도시함에 있어 본 발명의 구성과 관련된 구성부만을 도시하였다. 따라서 본 발명에 따른 유무선 공유기(300)는 도 1에 도시된 구성부 이외에 유무선 공유기의 고유 동작을 위한 구성부, 예를 들어 통신 모듈, 안테나 등을 더 포함할 수 있음은 물론이다.The wired / wireless router 300 is connected to a communication terminal (not shown) communicating with an external network so that the user terminal can use the communication service. The wireless router 300 includes a controller 320 for managing installed firmware and performing firmware update, and a storage unit 340 for storing firmware and authentication information. In FIG. 1, only the components related to the configuration of the present invention are shown in the configuration of the wired / wireless router 300. Therefore, it is needless to say that the wireless router 300 according to the present invention may further include a component for inherent operation of the wireless router, for example, a communication module, an antenna, and the like in addition to the components shown in FIG.

제어부(320)는 저장부(340)와 연동하여 유무선 공유기에 설치된 펌웨어를 관리하고 펌웨어 업데이트를 수행한다. 먼저, 유무선 공유기(300)의 최초 버전의 펌웨어는 유무선 공유기의 제조 시점에 유무선 공유기에 저장/설치될 수 있다. 바람직하게는, 유무선 공유기(300)가 최초 버전의 펌웨어(파일), 검증키(공개키) 및 최초 버전의 인증정보(서명 값)를 저장한다. 또한, 적어도 검증키(공개키)는 수정/삭제가 불가능하도록 저장부(340) 중 ROM 영역(예를 들어, TPM, NAND H/W Protection 영역)에 저장한다. 이후, 펌웨어가 업데이트되는 경우 제어부(320)는 업데이트 서버(200)로부터 최신 버전의 펌웨어 및 해당 버전의 인증정보를 수신한 후 인증정보를 검증하고, 검증이 유효한 경우 수신된 펌웨어를 저장부(340)에 저장 및 설치한다. 한편, 상기한 바와 같이, 제어부(320)는 유무선 공유기(300)의 펌웨어 업데이트가 필요한 경우 현재 설치된 펌웨어 버전(현재 버전)의 인증정보와 이전 버전의 인증정보와 함께 업데이트 요청 메시지를 업데이트 서버(200)로 전송하여 최신 버전의 펌웨어 업데이트를 진행할 수 있다. 이때, 제어부(320)는 일정 주기로 업데이트 서버(200)에 업데이트 요청 메시지 등을 전송할 수 있다.The control unit 320 manages the firmware installed in the wireless router in conjunction with the storage unit 340 and performs firmware update. First, the firmware of the first version of the wireless router 300 may be stored / installed in the router at the time of manufacturing the router. Preferably, the router 300 stores the initial version of the firmware (file), the verification key (public key), and the initial version of the authentication information (signature value). Also, at least the verification key (public key) is stored in the ROM area (for example, TPM, NAND H / W Protection area) of the storage unit 340 so that modification / deletion is not possible. Thereafter, when the firmware is updated, the control unit 320 verifies the authentication information after receiving the latest version of the firmware and the corresponding version of the authentication information from the update server 200. When the verification is valid, the received firmware is stored in the storage unit 340 ). As described above, when the firmware update of the router 300 is required, the control unit 320 transmits an update request message together with the authentication information of the currently installed firmware version (current version) and the authentication information of the previous version to the update server 200 ) To update the firmware of the latest version. At this time, the control unit 320 may transmit an update request message to the update server 200 at regular intervals.

도 2는 본 발명에 따른 펌웨어의 최초 버전의 등록 과정을 도시한 순서도로서, 펌웨어의 최초 버전 및 그 인증정보를 업데이트 서버에 등록하는 과정을 도시한 도이다. 이하에서는, 도 2를 참고하여 본 발명에 따른 펌웨어의 최초 버전의 등록 과정에 대하여 상세히 설명한다.FIG. 2 is a flowchart illustrating a process of registering a first version of firmware according to the present invention. FIG. 2 illustrates a process of registering an initial version of firmware and authentication information thereof in an update server. Hereinafter, the registration process of the initial version of the firmware according to the present invention will be described in detail with reference to FIG.

먼저, 제조사 서버(100)는 공개키 쌍(서명키(개인키), 검증키(공개키))을 생성하고, 해쉬 함수를 이용하여 검증키(공개키)에 대한 해쉬 값을 생성한다(ST100). 또한, 제조사 서버(100)는 유무선 공유기의 펌웨어 최초 버전에 대하여 해쉬 함수를 이용하여 펌웨어의 해쉬 값을 생성한다(ST110).First, the manufacturer server 100 generates a public key pair (signature key (private key), verification key (public key)) and generates a hash value for the verification key (public key) using the hash function ). In addition, the manufacturer server 100 generates a hash value of the firmware using the hash function for the initial version of firmware of the wireless router (ST110).

제조사 서버(100)는 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명(암호화)하여 서명 값을 생성한다(ST120). 설명의 편의를 위하여 펌웨어의 최초 버전을 '버전 1'이라 하고, 최초 버전에 대하여 생성된 서명 값을 '서명 값 1'이라 한다.The manufacturer server 100 generates a signature value by digitally signing (encrypting) the hash value of the verification key (public key) and the hash value of the first version of the firmware through the public key cryptosystem using the signature key (private key) ST120). For convenience of explanation, the initial version of firmware is referred to as 'version 1', and the signature value generated for the first version is referred to as 'signature value 1'.

제조사 서버(100)는 최초 버전의 펌웨어(파일), 검증키(공개키), 최초 버전의 인증정보(서명 값 1)를 제1 데이터베이스(120)에 저장하고 업데이트 서버(200)로 전송한다(ST130). 한편, 최초 버전의 펌웨어(파일), 검증키(공개키), 최초 버전의 인증정보(서명 값 1)는 유무선 공유기(300)에도 저장되며, 바람직하게는 유무선 공유기의 제조 시에 저장된다. 바람직하게는, 적어도 검증키(공개키)는 수정/삭제가 불가능하도록 유무선 공유기(300)의 저장부(340) 중 ROM 영역에 저장한다.The manufacturer server 100 stores the first version of the firmware (file), the verification key (public key), and the first version of the authentication information (signature value 1) in the first database 120 and transmits them to the update server 200 ST130). Meanwhile, the initial version of the firmware (file), the verification key (public key), and the initial version of the authentication information (signature value 1) are also stored in the router 300, and preferably stored at the time of manufacturing the router. Preferably, at least the verification key (public key) is stored in the ROM area of the storage unit 340 of the wireless router 300 so that modification / deletion is not possible.

업데이트 서버(200)는 제조사 서버(100)로부터 최초 버전의 펌웨어(파일), 검증키(공개키), 최초 버전의 인증정보(서명 값 1)를 수신하고, 검증키(공개키) 및 펌웨어 최초 버전에 대한 서명 값을 검증한다(ST140). 예를 들어, 업데이트 서버(200)는 해쉬 함수를 이용하여 제조사 서버(100)로부터 수신된 검증키(공개키)의 해쉬 값(검증키(공개키) 해쉬 값')을 생성하고, 제조사 서버(100)로부터 수신된 최초 버전 펌웨어의 해쉬 값(최초 버전 펌웨어 해쉬 값')을 생성한다. 그리고, 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 서명 값(서명 값 1)을 검증키(공개키)를 이용하여 공개키 암호를 통해 복호화하여 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값을 획득한다. 업데이트 서버(200)는 복호화를 통해 획득된 검증키(공개키)의 해쉬 값 및 최초 버전 펌웨어의 해쉬 값과, 해쉬 함수를 이용하여 생성한 검증 키 해쉬 값' 및 최초 버전 펌웨어의 해쉬 값'을 비교하여유효성을 검사한다. 이를 통해 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 펌웨어 및 인증정보를 검증할 수 있다.The update server 200 receives the first version of the firmware (file), the verification key (public key) and the first version of authentication information (signature value 1) from the manufacturer server 100, Verifies the signature value for the version (ST140). For example, the update server 200 generates a hash value (a verification key (public key) hash value ') of a verification key (public key) received from the manufacturer server 100 using a hash function, (The first version firmware hash value ') of the first version firmware received from the first version firmware. Then, the update server 200 decrypts the signature value (signature value 1) received from the manufacturer server 100 through the public key encryption using the verification key (public key) and outputs the hash value of the verification key Obtain the hash value of the first version of the firmware. The update server 200 compares the hash value of the verification key (public key) obtained through the decryption, the hash value of the first version firmware, the verification key hash value 'generated by using the hash function, and the hash value of the first version firmware' And the validity is checked. The update server 200 can verify the firmware and the authentication information received from the manufacturer server 100. [

ST140의 검증 결과, 수신된 펌웨어가 유효하다고 판단되는 경우, 예를 들어 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값이 유효한 경우, 업데이트 서버(200)는 수신된 펌웨어(파일), 검증키(공개키) 및 최초 버전에 대한 인증정보(서명 값 1) 등을 제2 데이터베이스(220)에 저장 및 (최신 업데이트 버전으로) 등록한다(ST150, ST160).If it is determined that the received firmware is valid, for example, if the hash value of the verification key (public key) and the hash value of the first version of firmware are valid as a result of the verification of ST140, the update server 200 transmits the received firmware And stores authentication information (signature value 1) for the first version and the like in the second database 220 (ST150, ST160).

한편, ST140의 검증 결과, 수신된 펌웨어가 유효하지 않다고 판단되는 경우, 예를 들어 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값이 유효하지 않은 경우, 업데이트 서버(200)는 오류 처리를 한다(ST150, ST170). 예를 들어, 업데이트 서버(200)는 제조사 서버(100)로 오류 메시지를 전송하고 해당 펌웨어를 수신한 IP를 차단할 수 있으며, 수신된 펌웨어 및 인증정보 등을 삭제할 수 있다.On the other hand, if it is determined that the received firmware is invalid, for example, if the hash value of the verification key (public key) and the hash value of the firmware of the first version are not valid as a result of the verification of ST140, Error processing is performed (ST150, ST170). For example, the update server 200 may transmit an error message to the manufacturer server 100, block the IP that received the firmware, and delete the received firmware and authentication information.

도 3은 본 발명에 따른 펌웨어의 후속 버전의 등록 과정을 도시한 순서도로서, 펌웨어의 후속 버전 및 그 인증정보를 업데이트 서버에 등록하는 과정을 도시한 도이다. 이하에서는, 도 3을 참조하여 본 발명에 따른 펌웨어의 후속 버전의 등록 과정에 대하여 상세히 설명한다.FIG. 3 is a flowchart illustrating a process of registering a subsequent version of the firmware according to the present invention. FIG. 3 illustrates a process of registering a subsequent version of the firmware and its authentication information with the update server. Hereinafter, the registration process of a subsequent version of the firmware according to the present invention will be described in detail with reference to FIG.

도 2에 도시한 바와 같이 펌웨어의 최초 버전을 업데이트 서버(200)에 등록한 이후 펌웨어의 후속 버전(현재 버전)이 개발되는 경우, 제조사 서버(100)는 해쉬 함수를 이용하여 후속 버전(현재 버전)의 펌웨어에 대한 해쉬 값을 생성한다(ST200). 설명의 편의를 위하여 해당 후속 버전을 '버전 2'라 한다.2, if a subsequent version (current version) of the firmware is developed after the initial version of the firmware is registered in the update server 200, the manufacturer server 100 uses the hash function to convert the subsequent version (current version) And generates a hash value for the firmware of the server (ST200). For convenience of description, the subsequent version is referred to as 'version 2'.

제조사 서버(100)는 제2 데이터베이스(120)로부터 이전 버전의 인증정보(서명 값)를 로드하고, 이전 버전의 인증정보와 상기 후속 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명(암호화)하여 서명 값을 생성한다(ST210, ST220). 이와 같이 생성된 서명 값은 후속 버전(현재 버전)의 인증정보가 된다. 예를 들어, 현재 버전의 버전 정보가 버전 2인 경우, 제조사 서버(100)는 제1 데이터베이스(120)로부터 버전 1의 인증정보, 즉 서명 값 1을 로드하고, 서명 값 1과 버전 2 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값(서명 값 2)을 생성한다. 따라서 버전 2의 인증정보는 서명 값 2가 된다.The manufacturer server 100 loads the previous version of the authentication information (signature value) from the second database 120 and transmits the hash value of the previous version of the authentication information and the firmware of the subsequent version to the manufacturer server 100 using the signature key (Encrypted) through the public key cryptosystem to generate a signature value (ST210, ST220). The signature value thus generated becomes the authentication information of the subsequent version (current version). For example, if the version information of the current version is version 2, the manufacturer server 100 loads the version 1 authentication information, i.e., the signature value 1, from the first database 120, The signature value (signature value 2) is generated by digitally signing the hash value through the public key cryptosystem using the signature key (private key). Therefore, the authentication information of version 2 becomes the signature value 2.

제조사 서버(100)는 제2 데이터베이스(120)에 후속 버전(현재 버전)의 펌웨어(파일) 및 후속 버전의 인증정보(서명 값)를 저장하고 업데이트 서버(200)에 전송한다(ST230). 상기 예에서, 제조사 서버(100)는 버전 2의 펌웨어(파일)와 서명 값 2를 업데이트 서버(200)로 전송할 수 있다.The manufacturer server 100 stores the firmware (file) of the subsequent version (the current version) and the authentication information (the signature value) of the subsequent version in the second database 120 and transmits it to the update server 200 (ST 230). In this example, the manufacturer server 100 may send version 2 firmware (file) and signature value 2 to the update server 200.

업데이트 서버(200)는 제조사(100)로부터 후속 버전(현재 버전)의 펌웨어(파일) 및 후속 버전의 인증정보를 수신한 후 이를 검증한다(ST240). 예를 들어, 업데이트 서버(200)는 제2 데이터베이스(220)로부터 이전 버전의 인증정보(서명 값)를 로드하고 해쉬 함수를 이용하여 후속 버전의 펌웨어의 해쉬 값을 생성한다. 그리고 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 후속 버전의 서명 값을 검증키(공개키)를 가지고 공개키 암호를 통해 복호화하여 이전 버전의 인증정보(서명 값)와 후속 버전의 해쉬 값을 획득하고 이에 대한 유효성을 검사할 수 있다. 상기 예를 기준으로 할 때, 업데이트 서버(200)는 제2 데이터베이스로부터 버전 1의 인증정보, 즉 서명 값 1(서명 값 1')을 로드하고, 해쉬 함수를 통해 제조사 서버(100)로부터 수신된 버전 2 펌웨어의 해쉬 값(버전 2 펌웨어 해쉬 값')을 생성한다. 이후, 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 인증정보(서명 값 2)를 검증키(공개키)를 가지고 공개키 암호를 통해 복호화하여 서명 값 1 및 버전 2 펌웨어의 해쉬 값을 획득한다. 이때, 검증키(공개키)는 제2 데이터베이스(220)에 저장된 검증키(공개키)를 로드하여 사용할 수 있다. 업데이트 서버(200)는 복호화를 통해 획득된 서명 값 1 및 버전 2 펌웨어 해쉬 값과, 상기 서명 값 1' 및 버전 2 펌웨어 해쉬 값'의 동일 여부를 비교하여 서명 값 1 및 버전 2 펌웨어(또는 버전 2 펌웨어의 해쉬 값) 후속 버전의 펌웨어의 유효성을 검사할 수 있다. 이를 통해 제조사 서버로부터 수신된 후속 버전의 펌웨어 및 인증정보를 검증할 수 있다.The update server 200 receives the firmware (file) of the subsequent version (the current version) and the authentication information of the subsequent version from the manufacturer 100 and verifies the same (ST 240). For example, the update server 200 loads the previous version of the authentication information (signature value) from the second database 220 and generates a hash value of the subsequent version of the firmware using the hash function. Then, the update server 200 decrypts the signature value of the subsequent version received from the manufacturer server 100 through the public key encryption with the verification key (public key), and outputs the authentication information (signature value) of the previous version and the hash The value can be obtained and validated against it. In this example, the update server 200 loads the version 1 authentication information, i.e., the signature value 1 (signature value 1 ') from the second database, and transmits the authentication information received from the manufacturer server 100 via the hash function Version 2 firmware hash value (version 2 firmware hash value '). Thereafter, the update server 200 decrypts the authentication information (signature value 2) received from the manufacturer server 100 through the public key encryption with the verification key (public key), and outputs the hash value of the signature value 1 and the version 2 firmware . At this time, the verification key (public key) can be loaded by using the verification key (public key) stored in the second database 220. The update server 200 compares the signature value 1 and the version 2 firmware hash value obtained through the decryption with the signature value 1 'and the version 2 firmware hash value' to determine whether the signature value 1 and version 2 firmware (or version 2 firmware hash value) to validate subsequent versions of the firmware. This allows verification of subsequent versions of firmware and authentication information received from the manufacturer server.

ST240의 검증 결과, 수신된 후속 버전의 펌웨어가 유효하다고 판단되는 경우, 예를 들어 서명 값 1 및 버전 2 펌웨어의 해쉬 값이 유효한 경우, 업데이트 서버(200)는 수신된 후속 버전의 펌웨어(파일)와 후속 버전에 대한 인증정보(서명 값 2) 등을 제2 데이터베이스(220)에 저장 및 (최신 업데이트 버전으로) 등록한다(ST250, ST260).If it is determined that the received subsequent version of the firmware is valid, for example, if the hash value of the signature value 1 and the version 2 firmware are valid as a result of the verification of ST240, the update server 200 transmits the received subsequent version of the firmware (file) And the authentication information (signature value 2) for the subsequent version in the second database 220 (ST250, ST260).

한편, ST240의 검증 결과, 수신된 후속 버전의 펌웨어가 유효하지 않다고 판단되는 경우, 예를 들어 서명 값 1 및 버전 2 펌웨어의 해쉬 값이 유효하지 않은 경우, 업데이트 서버(200)는 오류 처리를 한다(ST250, ST270). 예를 들어, 업데이트 서버(200)는 제조사 서버(100)로 오류 메시지를 전송하고 해당 펌웨어를 수신한 IP를 차단할 수 있으며, 수신된 펌웨어 및 인증정보 등을 삭제할 수 있다.On the other hand, if it is determined in step ST240 that the received firmware of the subsequent version is invalid, for example, if the signature value 1 and the hash value of the version 2 firmware are invalid, the update server 200 performs error processing (ST250, ST270). For example, the update server 200 may transmit an error message to the manufacturer server 100, block the IP that received the firmware, and delete the received firmware and authentication information.

이후, 새로운 후속 버전의 펌웨어가 개발되는 경우 ST200 내지 ST270 과정이 반복 수행된다. 예를 들어, 펌웨어가 업데이트될 때마다 펌웨어의 버전이 '1'씩 올라간다고 가정할 때, 현재 버전 N의 펌웨어가 생성된 경우, 제조사 서버(100)는 버전 N 펌웨어의 해쉬 값을 생성한 후 이전 버전, 즉 버전 N-1의 인증정보(서명 값 N-1)와 생성된 버전 N 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값(서명 값 N)을 생성한다. 서명 값 N은 펌웨어 버전 N의 인증정보가 된다. 업데이트 서버(200)는 제조사 서버(100)로부터 버전 N의 펌웨어(파일) 및 인증정보(서명 값 N)를 수신한 후, 서명 값 N을 검증키(공개키)를 가지고 공개키 암호를 통해 복호화하여 서명 값 N-1 및 버전 N 펌웨어의 해쉬 값의 유효성을 검사한다. 구체적으로, 업데이트 서버(200)는 제2 데이터베이스(220)로부터 버전 N-1의 인증 정보(서명 값 N-1')를 로드하고, 제조사 서버(100)로부터 수신한 버전 N 펌웨어의 해쉬 값(버전 N 펌웨어 해쉬 값')을 생성한다. 그리고, 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 서명 값 N을 검증키(공개키)를 이용하여 공개키 암호를 통해 복호화하여 서명 값 N-1 및 버전 N 펌웨어 해쉬 값을 획득한다. 이후, 업데이트 서버(200)는 서명 값 N-1 및 버전 N 펌웨어 해쉬 값과 서명 값 N-1' 및 버전 N 펌웨어 해쉬 값'의 동일 여부를 비교하여 서명 값 N-1 및 버전 N 펌웨어 해쉬 값의 유효성을 검사한다.Thereafter, when a new subsequent version of firmware is developed, ST200 to ST270 are repeatedly performed. For example, assuming that the version of the firmware is increased by '1' every time the firmware is updated, if the firmware of the current version N is generated, the manufacturer server 100 generates a hash value of the version N firmware, (Signature value N-1) of the version N-1 and the hash value of the generated version N firmware are electronically signed through the public key cryptosystem using the signature key (private key) ). The signature value N becomes the authentication information of the firmware version N. [ The update server 200 receives the version N firmware (file) and the authentication information (signature value N) from the manufacturer server 100 and then decrypts the signature value N with the verification key (public key) And checks the validity of the signature value N-1 and the hash value of the version N firmware. Specifically, the update server 200 loads the authentication information (signature value N-1 ') of the version N-1 from the second database 220 and outputs the hash value of the version N firmware received from the manufacturer server 100 Version N firmware hash value '). The update server 200 decrypts the signature value N received from the manufacturer server 100 through the public key encryption using the verification key (public key) to obtain the signature value N-1 and the version N firmware hash value . Then, the update server 200 compares the signature value N-1 and the version N firmware hash value with the signature value N-1 'and the version N firmware hash value' to determine whether the signature value N-1 and the version N firmware hash value .

이후, 업데이트 서버(200)는 서명 값 N-1 및 버전 N 펌웨어의 해쉬 값의 유효성을 검사하여 제조사 서버(100)로부터 수신된 펌웨어를 검증하고, 유효하다고 판단되는 경우 수신된 펌웨어를 저장한다. 반면, 업데이트 서버(200)는 수신된 펌웨어가 유효하지 않다고 판단되는 경우 오류 처리를 수행한다.Thereafter, the update server 200 verifies the firmware received from the manufacturer server 100 by checking the validity of the signature value N-1 and the hash value of the version N firmware, and stores the received firmware if it is determined to be valid. On the other hand, the update server 200 performs error processing when it is determined that the received firmware is invalid.

도 4는 본 발명에 따른 유무선 공유기의 펌웨어 업데이트 과정을 도시한 순서도이다. 이하에서는, 도 4를 참조하여 본 발명에 따른 유무선 공유기의 펌웨어 업데이트 과정에 대하여 상세히 설명한다.FIG. 4 is a flowchart illustrating a firmware updating process of the wireless router according to the present invention. Hereinafter, the firmware updating process of the router will be described in detail with reference to FIG.

유무선 공유기(300)는 유무선 공유기에 현재 설치된 펌웨어의 인증정보를 검증한다(ST300). 유무선 공유기에 설치된 펌웨어가 최초 버전인 경우, 제어부(320)는 해쉬 함수를 이용하여 검증키(공개키)의 해쉬 값 및 펌웨어의 해쉬 값을 생성한 후 저장부(340)에 저장된 인증정보(서명 값)를 검증키(공개키)를 가지고 공개키 암호를 통해 복호화하여 검증키(공개키)의 해쉬 값 및 펌웨어의 해쉬 값에 대한 유효성을 검증할 수 있다. 또한, 유무선 공유기에 설치된 펌웨어가 최초 버전이 아닌 경우, 제어부(320)는 저장부(340)로부터 이전 버전의 인증정보(서명 값)를 로드한 후 해쉬 함수를 이용하여 현재 버전의 펌웨어의 해쉬 값을 생성하고, 저장부에 저장된 현재 버전의 인증정보(서명 값)를 검증키(공개키)를 가지고 공개키 암호를 통해 복호화하여 검증키(공개키)의 해쉬 값 및 펌웨어의 해쉬 값에 대한 유효성을 검증할 수 있다.The router (300) verifies the authentication information of the firmware currently installed in the router (ST300). If the firmware installed in the router is the first version, the control unit 320 generates a hash value of the verification key (public key) and a hash value of the firmware using the hash function, Value) with the verification key (public key) through the public key encryption to verify the validity of the verification key (public key) hash value and the firmware hash value. If the firmware installed in the router is not the initial version, the control unit 320 loads the previous version of the authentication information (signature value) from the storage unit 340 and uses the hash function to convert the hash value And decrypts the authentication information (signature value) of the current version stored in the storage unit through the public key encryption with the verification key (public key) to obtain the validity of the hash value of the verification key (public key) and the hash value of the firmware Can be verified.

유무선 공유기(300)에 저장된 펌웨어 버전의 인증정보를 검증한 결과 유효하다고 판단되면, 제어부(320)는 현재 버전의 인증정보 및 이전 버전의 인증정보와 함께 펌웨어 업데이트 요청 메시지를 업데이트 서버(200)로 전송한다(ST310).If it is determined that the authentication information of the firmware version stored in the wireless router 300 is valid, the controller 320 transmits a firmware update request message to the update server 200 together with the authentication information of the current version and the authentication information of the previous version (ST310).

업데이트 서버(200)는 유무선 공유기(300)로부터 수신된 현재 버전 및 이전 버전의 인증정보를 이용하여 업데이트 서버 상의 최신 버전의 인증정보(서명 값)를 검증한다(ST320). 구체적으로, 업데이트 서버(200)는 유무선 공유기(300)로부터 수신된 현재 버전의 인증정보(예를 들어 서명 값 N)와 이전 버전의 인증정보(예를 들어 서명 값 N-1)를 이용하여 제2 데이터베이스(220)에 저장된 펌웨어의 최신 버전(버전 M)의 인증정보(서명 값 M)를 검증할 수 있다. 예를 들어, 업데이트 서버(200)는 유무선 공유기(300)로부터 수신된 서명 값 N과 서명 값 N-1을 디코딩하여 비교한 후, 펌웨어 최신 버전(버전 M)까지 버전별로 서명 값을 검증할 수 있다. 예를 들어, 최신 버전인 버전 M이 서명 값 N보다 3단계 위 버전인 경우, 업데이트 서버(200)는 서명 값 N+1, 서명 값 N+2, 서명 값 N+3(최신 버전 M의 서명 값)으로 이어지는 서명 체인에 대한 유효성 검사를 함으로써 업데이트 서버 상의 펌웨어 최신 버전을 검증할 수 있다. 펌웨어 각 버전의 유효성 검사는 도 2 및 도 3에서 설명한 유효성 검사와 유사하므로 상세한 설명은 생략하도록 한다.The update server 200 verifies the latest version of authentication information (signature value) on the update server using the current version and the previous version of the authentication information received from the wireless router 300 (ST320). Specifically, the update server 200 transmits the authentication information to the update server 200 using the current version of the authentication information (for example, the signature value N) and the previous version of the authentication information (for example, the signature value N-1) (Signature value M) of the latest version (version M) of the firmware stored in the database 220 can be verified. For example, the update server 200 may decode and compare the signature value N and the signature value N-1 received from the wire / wireless router 300, and then verify the signature value by version up to the firmware latest version (version M) have. For example, if the latest version version M is three steps higher than the signature value N, the update server 200 updates the signature value N + 1, signature value N + 2, signature value N + 3 Value) to validate the latest version of the firmware on the update server by validating the signature chain. The validity check of each version of the firmware is similar to the validity check described with reference to FIG. 2 and FIG. 3, so a detailed description will be omitted.

한편, 제조사 서버(100)가 관리하는 유무선 공유기(300)의 종류(모델)가 복수인 경우, ST310 단계에서 유무선 공유기는 업데이트 서버(200)에 자신의 식별정보(예를 들어 모델명 등)를 추가로 전송할 수 있다. 또한, ST320 단계에서 업데이트 서버(200)는 유무선 공유기의 식별정보를 이용하여 유무선 공유기의 종류(모델)를 확인한 후 해당 유무선 공유기에 대한 펌웨어의 최신 버전을 탐지 및 검증할 수 있다.Meanwhile, if there are a plurality of types (models) of the wire / wireless router 300 managed by the manufacturer server 100, in step ST 310, the wireless router adds its identification information (e.g., model name) to the update server 200 Lt; / RTI > In step ST320, the update server 200 may check the type of the wireless router using the identification information of the wireless router, and detect and verify the latest version of the firmware for the wireless router.

ST320에서 검증이 유효한 경우, 예를 들어 서명 체인의 N+1, N+2, N+3(최신 버전 M의 서명 값)이 모두 유효한 경우, 업데이트 서버(200)는 유무선 공유기(300)에 최신 버전(버전 M)의 펌웨어(파일)와 최신 버전에 대한 인증정보(서명 값 M)를 전송한다(ST330, ST340). 유무선 공유기(300)의 제어부(320)는 업데이트 서버(200)로부터 최신 버전의 펌웨어(파일) 및 인증정보를 수신한 후 인증정보를 검증하고, 인증정보가 유효한 경우 펌웨어와 인증정보를 최신 버전으로 업데이트한 후 유무선 공유기를 재부팅한다(ST350). 최신 버전의 인증정보의 검증 과정은 상기에서 설명한 바와 유사하므로 상세한 설명은 생략한다.If the verification is valid in ST320, for example, if N + 1, N + 2, N + 3 (signature value of the latest version M) of the signature chain are all valid, the update server 200 updates the router (Signature value M) of the firmware (file) of the version (version M) and the latest version (ST330, ST340). The control unit 320 of the wired / wireless router 300 verifies the authentication information after receiving the latest version of the firmware (file) and the authentication information from the update server 200, and when the authentication information is valid, After updating, the router is rebooted (ST350). Since the verification process of the latest version of the authentication information is similar to that described above, a detailed description will be omitted.

한편, ST320에서 검증이 유효하지 않은 경우, 예를 들어 서명 체인의 N+1, N+2, N+3(최신 버전 M의 서명 값) 중 하나라도 유효하지 않은 경우, 업데이트 서버(200)는 유무선 공유기(300)에 오류 메시지를 전송한다(ST330, ST360).On the other hand, if validation is not valid in ST 320, for example, if any of N + 1, N + 2, N + 3 (signature value of latest version M) of the signature chain is invalid, update server 200 And transmits an error message to the wired / wireless router 300 (ST330, ST360).

이상 본 발명의 바람직한 실시예에 대해 특정 용어들을 사용하여 기재하였으나, 그러한 기재는 오로지 본 발명을 설명하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않는 범위 내에서 다양하게 변경될 수 있는 것으로 이해되어야 한다.While the preferred embodiments of the present invention have been described using specific terms, such description is for the purpose of describing the invention only and is not to be taken by way of illustration, It should be understood that there is.

100: 제조사 서버 120: 제1 데이터베이스
200: 업데이트 서버 220: 제2 데이터베이스
300: 유무선 공유기 320: 제어부
340: 저장부
100: manufacturer server 120: first database
200: update server 220: second database
300: wireless router 320:
340:

Claims (13)

유무선 공유기에 설치되는 펌웨어를 버전별로 관리하고, 상기 펌웨어의 버전별 인증정보를 생성하는 제조사 서버;
상기 버전별 펌웨어 및 상기 펌웨어의 버전별 인증정보를 검증하고, 검증된 펌웨어 및 인증정보를 저장 및 등록하는 업데이트 서버; 및
상기 업데이트 서버로부터 최신 버전의 펌웨어 및 인증정보를 수신하여 펌웨어를 업데이트하는 상기 유무선 공유기를 포함하고,
상기 인증정보는, 상기 펌웨어의 이전 버전의 인증정보 및 현재 버전의 펌웨어를 이용하여 생성되는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
A maker server for managing firmware installed in the wireless router according to versions and generating authentication information for each version of the firmware;
An update server for verifying the version-specific firmware and the version-specific authentication information of the firmware, and storing and registering the verified firmware and authentication information; And
And the wireless router receiving the latest version of firmware and authentication information from the update server to update the firmware,
Wherein the authentication information is generated by using the authentication information of the previous version of the firmware and the firmware of the current version, and the firmware update system of the wireless router using the signature chain.
제1항에 있어서,
상기 인증정보가, 상기 이전 버전의 인증정보 및 현재 버전의 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명한 서명 값인 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
The method according to claim 1,
Wherein the authentication information is a signature value obtained by digitally signing the hash value of the previous version of the authentication information and the firmware of the current version using the public key cryptosystem using the signature key.
제1항에 있어서,
상기 제조사 서버가, 상기 펌웨어의 최초 버전의 인증정보로서, 공개키 암호화 방식의 공개키 쌍 중 검증키의 해쉬 값과 최초 버전 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
The method according to claim 1,
The manufacturer server digitally signs the hash value of the verification key and the hash value of the first version firmware of the public key encryption method public key cryptosystem using the signature key as the authentication information of the first version of the firmware And generating a signature value based on the signature value.
제1항에 있어서,
상기 버전별 펌웨어 파일 및 상기 버전별 인증정보를 저장하는 데이터베이스를 더 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
The method according to claim 1,
And a database for storing the version-specific firmware file and the version-specific authentication information.
제1항에 있어서,
상기 업데이트 서버가,
상기 제조사 서버로부터 버전 N 펌웨어 및 버전 N 인증정보를 수신하고,
기 저장된 버전 N-1의 인증정보인 제1 인증정보를 로드하고, 상기 버전 N 펌웨어의 해쉬 값인 제1 해쉬 값을 생성하고,
상기 버전 N 인증정보를 검증키를 이용하여 공개키 암호를 통해 복호화하여 버전 N-1 인증정보 및 버전 N 펌웨어 해쉬 값을 획득하고,
상기 버전 N-1 인증정보 및 상기 버전 N 펌웨어 해쉬 값에 대하여 상기 제1 인증정보 및 상기 제1 해쉬 값과 비교하여 유효성을 검사하여 상기 제조사 서버가 전송한 버전 N 펌웨어 및 버전 N 인증정보를 검증하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
The method according to claim 1,
The update server comprising:
Version N firmware and version N authentication information from the manufacturer server,
Load first authentication information which is authentication information of the previously stored version N-1, generate a first hash value which is a hash value of the version N firmware,
The version N authentication information is decrypted using the public key cryptosystem using the verification key to obtain the version N-1 authentication information and the version N firmware hash value,
Verifies validity of the version N-1 authentication information and the version N firmware hash value with the first authentication information and the first hash value, verifies the version N firmware and version N authentication information transmitted by the manufacturer server And the firmware update system of the wireless router using the signature chain.
버전별 펌웨어 및 상기 펌웨어의 버전별 인증정보를 검증하고, 검증된 펌웨어 및 인증정보를 등록 및 관리하는 업데이트 서버와 연동하여 펌웨어를 업데이트하는 유무선 공유기로서,
상기 유무선 공유기에 설치된 현재 버전의 펌웨어에 대한 인증정보, 이전 버전의 펌웨어에 대한 인증정보 및 펌웨어 업데이트 요청 메시지를 상기 업데이트 서버에 전송하고, 상기 업데이트 서버로부터 최신 버전의 펌웨어 및 인증정보를 수신하여 펌웨어를 업데이트하는 제어부; 및
상기 유무선 공유기에 설치되는 버전의 펌웨어 및 인증정보를 저장하는 저장부를 포함하고,
상기 현재 버전의 펌웨어의 인증정보는, 상기 이전 버전의 펌웨어의 인증정보 및 상기 현재 버전의 펌웨어를 이용하여 생성되는 것을 특징으로 하는 유무선 공유기.
A wireless router for verifying version-specific firmware and version-specific authentication information of the firmware, and updating the firmware in cooperation with an update server for registering and managing the verified firmware and authentication information,
Transmits the authentication information of the current version of firmware installed in the router, authentication information of the previous version of the firmware, and firmware update request message to the update server, receives the latest version of firmware and authentication information from the update server, And a control unit And
And a storage unit for storing firmware and authentication information of a version installed in the wireless router,
Wherein the authentication information of the current version of the firmware is generated using the authentication information of the previous version of the firmware and the firmware of the current version.
제6항에 있어서,
상기 업데이트 서버가, 상기 현재 버전의 펌웨어의 인증정보 및 상기 이전 버전의 펌웨어의 인증정보를 이용하여 상기 업데이트 서버에 등록된 최신 버전의 펌웨어 및 인증정보를 확인 및 검증하고,
상기 제어부가, 상기 업데이트 서버가 전송하는 상기 최신 버전의 펌웨어 및 인증정보를 검증한 후 업데이트를 수행하는 것을 특징으로 하는 유무선 공유기.
The method according to claim 6,
The update server verifies and verifies the latest version of firmware and authentication information registered in the update server using the authentication information of the current version of the firmware and the authentication information of the previous version of the firmware,
Wherein the controller verifies the latest version of firmware and authentication information transmitted by the update server, and then performs the update.
제6항에 있어서,
상기 저장부가, 공개키 암호화 방식의 공개키 쌍 중 검증키를 읽기만 가능한 영역(Read-Only Memory)에 저장하는 것을 특징으로 하는 유무선 공유기.
The method according to claim 6,
Wherein the storage unit stores the verification key among the public key encryption public key pairs in a read only memory (Read-Only Memory).
제조사 서버가, 유무선 공유기에 설치되는 펌웨어 중 현재 버전의 펌웨어에 대하여 인증정보를 생성하는 단계;
상기 유무선 공유기의 펌웨어를 업데이트하는 업데이트 서버가 상기 제조사 서버로부터 상기 현재 버전의 펌웨어 및 상기 생성된 인증정보를 수신하는 단계;
상기 업데이트 서버가 상기 수신된 현재 버전의 펌웨어 및 인증정보를 검증하는 단계;
상기 현재 버전의 펌웨어 및 인증정보가 유효하다고 판단되는 경우, 상기 업데이트 서버가 상기 수신된 현재 버전의 펌웨어 및 인증정보를 저장 및 등록하는 단계; 및
상기 현재 버전의 펌웨어 및 인증정보가 유효하지 않다고 판단되는 경우, 상기 업데이트 서버가 오류 메시지를 전송하고 상기 수신된 현재 버전의 펌웨어 및 인증정보를 삭제하는 단계를 포함하고,
상기 현재 버전의 펌웨어의 인증정보는, 상기 펌웨어의 이전 버전의 인증정보 및 현재 버전의 펌웨어를 이용하여 생성되는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
The manufacturer server generating authentication information for the firmware of the current version among the firmware installed in the wireless router;
Receiving from the manufacturer server the firmware of the current version and the generated authentication information, the update server updating the firmware of the wireless router;
Verifying the received current version of firmware and authentication information;
Storing and registering the received current version of firmware and authentication information if the current version of firmware and authentication information is determined to be valid; And
If the current version of firmware and authentication information is not valid, the update server sends an error message and deletes the received current version of firmware and authentication information,
Wherein the authentication information of the current version of the firmware is generated using the authentication information of the previous version of the firmware and the firmware of the current version.
제9항에 있어서,
상기 인증정보를 생성하는 단계가,
상기 현재 버전의 펌웨어의 해쉬 값을 생성하는 단계;
상기 이전 버전의 인증정보를 로드하는 단계; 및
상기 이전 버전의 인증정보와 상기 현재 버전의 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 단계를 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
10. The method of claim 9,
Wherein the step of generating the authentication information comprises:
Generating a hash value of the current version of the firmware;
Loading the previous version of the authentication information; And
And generating a signature value by digitally signing the hash value of the previous version of the authentication information and the firmware of the current version using the public key cryptography using the signature key. How to update.
제9항에 있어서,
공개키 암호화 방식의 공개키 쌍인 서명키 및 검증키를 생성하는 단계;
상기 검증키의 해쉬 값을 생성하는 단계;
최초 버전의 펌웨어의 해쉬 값을 생성하는 단계;
상기 검증키의 해쉬 값과 상기 최초 버전의 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 단계; 및
상기 생성된 서명 값을 상기 최초 버전의 펌웨어에 대한 인증정보로 저장하는 단계를 더 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
10. The method of claim 9,
Generating a signature key and a verification key that are public key cryptography public key pairs;
Generating a hash value of the verification key;
Generating a hash value of the first version of the firmware;
Generating a signature value by digitally signing the hash value of the verification key and the hash value of the firmware of the first version through public key cryptography using a signature key; And
And storing the generated signature value as authentication information for the first version of the firmware.
제9항에 있어서,
상기 현재 버전의 펌웨어 및 인증정보를 검증하는 단계가,
상기 현재 버전의 펌웨어의 해쉬 값인 제1 해쉬 값을 생성하는 단계;
상기 이전 버전의 인증정보인 제1 인증정보를 로드하는 단계;
검증키를 로드하는 단계;
상기 현재 버전의 인증정보를 상기 검증키를 이용하여 공개키 암호를 통해 복호화하여 이전 버전의 인증정보와 상기 현재 버전의 펌웨어의 해쉬 값을 획득하는 단계; 및
상기 복호화를 통해 획득된 상기 이전 버전의 인증정보 및 상기 현재 버전의 펌웨어의 해쉬 값에 대하여, 상기 제1 인증정보 및 상기 제1 해쉬 값과 비교하여 유효성을 검증하는 단계를 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
10. The method of claim 9,
Verifying the current version of firmware and authentication information comprises:
Generating a first hash value that is a hash value of the current version of the firmware;
Loading the first authentication information which is the authentication information of the previous version;
Loading a verification key;
Decrypting the current version of the authentication information using public key cryptography using the verification key to obtain a hash value of the previous version of the authentication information and the firmware of the current version; And
Comparing the first authentication information and the first hash value with the hash value of the previous version of the authentication information and the firmware of the current version obtained through the decryption to verify validity A method of updating firmware of a wireless router using signature chain.
제9항에 있어서,
유무선 공유기에 설치된 현재 버전의 펌웨어에 대한 인증정보, 이전 버전의 펌웨어에 대한 인증정보 및 펌웨어 업데이트 요청 메시지를 수신하는 단계;
상기 현재 버전의 펌웨어의 인증정보 및 상기 이전 버전의 펌웨어의 인증정보를 이용하여 상기 업데이트 서버에 등록된 최신 버전의 펌웨어 및 인증정보를 확인 및 검증하는 단계; 및
상기 최신 버전의 펌웨어 및 인증정보가 유효한 경우 상기 유무선 공유기의 펌웨어를 상기 최신 버전의 펌웨어로 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
10. The method of claim 9,
Receiving authentication information for a current version of firmware installed in the router, authentication information for a previous version of the firmware, and a firmware update request message;
Verifying and verifying the latest version of firmware and authentication information registered in the update server using the authentication information of the current version of firmware and the authentication information of the previous version of firmware; And
And updating the firmware of the wireless router to the latest firmware when the latest firmware and authentication information is valid.
KR1020160149834A 2016-11-10 2016-11-10 System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof KR20180052479A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160149834A KR20180052479A (en) 2016-11-10 2016-11-10 System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160149834A KR20180052479A (en) 2016-11-10 2016-11-10 System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof

Publications (1)

Publication Number Publication Date
KR20180052479A true KR20180052479A (en) 2018-05-18

Family

ID=62453884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160149834A KR20180052479A (en) 2016-11-10 2016-11-10 System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof

Country Status (1)

Country Link
KR (1) KR20180052479A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101960724B1 (en) * 2018-10-15 2019-03-21 (주)케이디티콘트롤 A Method Of Firmware Management Using Simulator within Remote Device
KR20230020615A (en) * 2021-08-03 2023-02-13 시큐리티플랫폼 주식회사 Integrated device firmware management method and system applicable to various communication protocols

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101960724B1 (en) * 2018-10-15 2019-03-21 (주)케이디티콘트롤 A Method Of Firmware Management Using Simulator within Remote Device
KR20230020615A (en) * 2021-08-03 2023-02-13 시큐리티플랫폼 주식회사 Integrated device firmware management method and system applicable to various communication protocols

Similar Documents

Publication Publication Date Title
AU2019379092B2 (en) Secure over-the-air firmware upgrade
US20240146821A1 (en) Systems and methods for recognizing a device
CN110493197B (en) Login processing method and related equipment
KR100843081B1 (en) System and method for providing security
US8479000B2 (en) Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit
JP4912879B2 (en) Security protection method for access to protected resources of processor
US8607050B2 (en) Method and system for activation
US20150180662A1 (en) Software key updating method and device
US20140013109A1 (en) Secure delivery of trust credentials
US8369521B2 (en) Smart card based encryption key and password generation and management
US20080189695A1 (en) Updating of Data Instructions
US10361867B2 (en) Verification of authenticity of a maintenance means connected to a controller of a passenger transportation/access device of a building and provision and obtainment of a license key for use therein
US20150143545A1 (en) Function for the Challenge Derivation for Protecting Components in a Challenge-Response Authentication Protocol
CN101682628A (en) Secure communications
US20160028549A1 (en) Information processing system and electronic device
KR20070084326A (en) Updating configuration parameters in a mobile terminal
CN110650478B (en) OTA method, system, device, SE module, program server and medium
JP2004280284A (en) Control processor, electronic equipment, and program starting method for electronic equipment, and system module updating method for electronic equipment
CN112565205B (en) Credible authentication and measurement method, server, terminal and readable storage medium
US20100255813A1 (en) Security in a telecommunications network
KR20170066607A (en) Security check method, device, terminal and server
US20220109579A1 (en) Method for the digital signing of a message
KR20150135032A (en) System and method for updating secret key using physical unclonable function
CN114257376B (en) Digital certificate updating method, device, computer equipment and storage medium
KR20180052479A (en) System for updating firm ware of wire and wireless access point using signature chain, wire and wireless access point and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application