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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol 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
Description
본 발명은 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법에 대한 것이며, 보다 상세하게는 공개키 암호를 이용한 서명 체인 프로토콜을 통해 유무선 공유기의 업데이트된 펌웨어를 안전하게 업데이트 서버에 등록하고, 유무선 공유기에 검증된 펌웨어를 업데이트할 수 있는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법에 대한 것이다. 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
제조사 서버(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
한편, 유무선 공유기(300)의 종류(모델)가 복수인 경우 제조사 서버(100)는 각 유무선 공유기 종류(모델)별로 각 버전별 펌웨어 및 인증정보를 분류하여 관리할 수 있다.On the other hand, when there are a plurality of types (models) of the
제1 데이터베이스(120)는 버전별 펌웨어(파일) 및 각 펌웨어의 버전별 인증정보를 분류 저장한다. 또한, 제조사 서버(100)가 관리하는 유무선 공유기(300)의 종류(모델)가 복수인 경우, 제1 데이터베이스(120)는 각 유무선 공유기(300)의 종류(모델) 별로 각 버전별 펌웨어 및 인증정보를 분류하여 저장할 수도 있다. 바람직하게는, 제1 데이터베이스(120)가 유무선 공유기의 식별정보(예를 들어 모델명)를 더 저장한다. 또한, 제1 데이터베이스(120)는 제조사 서버(100)가 생성한 서명키(개인키) 및 검증키(공개키)를 저장할 수도 있다. 실시예에 따라, 제1 데이터베이스(120)는 제조사 서버(100)와 독립된 형태로 구성될 수도 있고, 제조사 서버의 일부로 구성될 수도 있다.The
업데이트 서버(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
또한, 업데이트 서버(200)는 유무선 공유기(300)로부터 해당 유무선 공유기에 저장된 펌웨어 버전의 인증정보를 수신 및 검증한 후 최신 버전의 펌웨어로 업데이트할 수 있다. 예를 들어, 업데이트 서버(200)는 유무선 공유기(300)로부터 해당 유무선 공유기에 설치된 펌웨어 버전(현재 버전)의 인증정보 및 이전 버전(현재 버전의 직전 버전)의 인증정보를 수신하고, 이를 통해 해당 펌웨어의 최신 버전을 검증할 수 있다. 검증 결과 유효하면 업데이트 서버(300)는 최신 버전의 펌웨어와 최신 버전의 인증정보(서명 값)를 유무선 공유기(300)로 전송하여 펌웨어 업데이트를 수행한다.In addition, the
제2 데이터베이스(220)는 제조사 서버(100)로부터 전송된 버전별 펌웨어 및 각 펌웨어의 버전별 인증정보를 분류 저장한다. 한편, 제조사 서버(100)가 관리하는 유무선 공유기(300)의 종류(모델)가 복수인 경우, 제2 데이터베이스(220)는 유무선 공유기의 식별정보(예를 들어 모델명)를 더 저장하고, 펌웨어 및 인증정보를 각 유무선 공유기(300)의 종류별로 분류하여 저장할 수 있다.The
실시예에 따라, 업데이트 서버(200) 및 제2 데이터베이스(220)는 제조사 서버(100)와 독립된 형태로 구성될 수도 있고, 제조사 서버에 포함된 형태로 구성될 수도 있다.According to the embodiment, the
유무선 공유기(300)는 통신 연결된 사용자 단말기(미도시)를 외부 네트워크와 통신 연결되어 사용자 단말기가 통신 서비스를 이용할 수 있도록 한다. 유무선 공유기(300)는 설치된 펌웨어를 관리하고 펌웨어 업데이트를 수행하는 제어부(320)와 펌웨어 및 인증정보를 저장하는 저장부(340)를 포함한다. 한편, 도 1에서는 유무선 공유기(300)의 구성을 도시함에 있어 본 발명의 구성과 관련된 구성부만을 도시하였다. 따라서 본 발명에 따른 유무선 공유기(300)는 도 1에 도시된 구성부 이외에 유무선 공유기의 고유 동작을 위한 구성부, 예를 들어 통신 모듈, 안테나 등을 더 포함할 수 있음은 물론이다.The wired /
제어부(320)는 저장부(340)와 연동하여 유무선 공유기에 설치된 펌웨어를 관리하고 펌웨어 업데이트를 수행한다. 먼저, 유무선 공유기(300)의 최초 버전의 펌웨어는 유무선 공유기의 제조 시점에 유무선 공유기에 저장/설치될 수 있다. 바람직하게는, 유무선 공유기(300)가 최초 버전의 펌웨어(파일), 검증키(공개키) 및 최초 버전의 인증정보(서명 값)를 저장한다. 또한, 적어도 검증키(공개키)는 수정/삭제가 불가능하도록 저장부(340) 중 ROM 영역(예를 들어, TPM, NAND H/W Protection 영역)에 저장한다. 이후, 펌웨어가 업데이트되는 경우 제어부(320)는 업데이트 서버(200)로부터 최신 버전의 펌웨어 및 해당 버전의 인증정보를 수신한 후 인증정보를 검증하고, 검증이 유효한 경우 수신된 펌웨어를 저장부(340)에 저장 및 설치한다. 한편, 상기한 바와 같이, 제어부(320)는 유무선 공유기(300)의 펌웨어 업데이트가 필요한 경우 현재 설치된 펌웨어 버전(현재 버전)의 인증정보와 이전 버전의 인증정보와 함께 업데이트 요청 메시지를 업데이트 서버(200)로 전송하여 최신 버전의 펌웨어 업데이트를 진행할 수 있다. 이때, 제어부(320)는 일정 주기로 업데이트 서버(200)에 업데이트 요청 메시지 등을 전송할 수 있다.The
도 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
제조사 서버(100)는 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명(암호화)하여 서명 값을 생성한다(ST120). 설명의 편의를 위하여 펌웨어의 최초 버전을 '버전 1'이라 하고, 최초 버전에 대하여 생성된 서명 값을 '서명 값 1'이라 한다.The
제조사 서버(100)는 최초 버전의 펌웨어(파일), 검증키(공개키), 최초 버전의 인증정보(서명 값 1)를 제1 데이터베이스(120)에 저장하고 업데이트 서버(200)로 전송한다(ST130). 한편, 최초 버전의 펌웨어(파일), 검증키(공개키), 최초 버전의 인증정보(서명 값 1)는 유무선 공유기(300)에도 저장되며, 바람직하게는 유무선 공유기의 제조 시에 저장된다. 바람직하게는, 적어도 검증키(공개키)는 수정/삭제가 불가능하도록 유무선 공유기(300)의 저장부(340) 중 ROM 영역에 저장한다.The
업데이트 서버(200)는 제조사 서버(100)로부터 최초 버전의 펌웨어(파일), 검증키(공개키), 최초 버전의 인증정보(서명 값 1)를 수신하고, 검증키(공개키) 및 펌웨어 최초 버전에 대한 서명 값을 검증한다(ST140). 예를 들어, 업데이트 서버(200)는 해쉬 함수를 이용하여 제조사 서버(100)로부터 수신된 검증키(공개키)의 해쉬 값(검증키(공개키) 해쉬 값')을 생성하고, 제조사 서버(100)로부터 수신된 최초 버전 펌웨어의 해쉬 값(최초 버전 펌웨어 해쉬 값')을 생성한다. 그리고, 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 서명 값(서명 값 1)을 검증키(공개키)를 이용하여 공개키 암호를 통해 복호화하여 검증키(공개키)의 해쉬 값과 최초 버전의 펌웨어의 해쉬 값을 획득한다. 업데이트 서버(200)는 복호화를 통해 획득된 검증키(공개키)의 해쉬 값 및 최초 버전 펌웨어의 해쉬 값과, 해쉬 함수를 이용하여 생성한 검증 키 해쉬 값' 및 최초 버전 펌웨어의 해쉬 값'을 비교하여유효성을 검사한다. 이를 통해 업데이트 서버(200)는 제조사 서버(100)로부터 수신된 펌웨어 및 인증정보를 검증할 수 있다.The
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
한편, 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
도 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
제조사 서버(100)는 제2 데이터베이스(120)로부터 이전 버전의 인증정보(서명 값)를 로드하고, 이전 버전의 인증정보와 상기 후속 버전의 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명(암호화)하여 서명 값을 생성한다(ST210, ST220). 이와 같이 생성된 서명 값은 후속 버전(현재 버전)의 인증정보가 된다. 예를 들어, 현재 버전의 버전 정보가 버전 2인 경우, 제조사 서버(100)는 제1 데이터베이스(120)로부터 버전 1의 인증정보, 즉 서명 값 1을 로드하고, 서명 값 1과 버전 2 펌웨어의 해쉬 값을 서명키(개인키)를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값(서명 값 2)을 생성한다. 따라서 버전 2의 인증정보는 서명 값 2가 된다.The
제조사 서버(100)는 제2 데이터베이스(120)에 후속 버전(현재 버전)의 펌웨어(파일) 및 후속 버전의 인증정보(서명 값)를 저장하고 업데이트 서버(200)에 전송한다(ST230). 상기 예에서, 제조사 서버(100)는 버전 2의 펌웨어(파일)와 서명 값 2를 업데이트 서버(200)로 전송할 수 있다.The
업데이트 서버(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
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
한편, 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
이후, 새로운 후속 버전의 펌웨어가 개발되는 경우 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
이후, 업데이트 서버(200)는 서명 값 N-1 및 버전 N 펌웨어의 해쉬 값의 유효성을 검사하여 제조사 서버(100)로부터 수신된 펌웨어를 검증하고, 유효하다고 판단되는 경우 수신된 펌웨어를 저장한다. 반면, 업데이트 서버(200)는 수신된 펌웨어가 유효하지 않다고 판단되는 경우 오류 처리를 수행한다.Thereafter, the
도 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
유무선 공유기(300)에 저장된 펌웨어 버전의 인증정보를 검증한 결과 유효하다고 판단되면, 제어부(320)는 현재 버전의 인증정보 및 이전 버전의 인증정보와 함께 펌웨어 업데이트 요청 메시지를 업데이트 서버(200)로 전송한다(ST310).If it is determined that the authentication information of the firmware version stored in the
업데이트 서버(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
한편, 제조사 서버(100)가 관리하는 유무선 공유기(300)의 종류(모델)가 복수인 경우, ST310 단계에서 유무선 공유기는 업데이트 서버(200)에 자신의 식별정보(예를 들어 모델명 등)를 추가로 전송할 수 있다. 또한, ST320 단계에서 업데이트 서버(200)는 유무선 공유기의 식별정보를 이용하여 유무선 공유기의 종류(모델)를 확인한 후 해당 유무선 공유기에 대한 펌웨어의 최신 버전을 탐지 및 검증할 수 있다.Meanwhile, if there are a plurality of types (models) of the wire /
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
한편, ST320에서 검증이 유효하지 않은 경우, 예를 들어 서명 체인의 N+1, N+2, N+3(최신 버전 M의 서명 값) 중 하나라도 유효하지 않은 경우, 업데이트 서버(200)는 유무선 공유기(300)에 오류 메시지를 전송한다(ST330, ST360).On the other hand, if validation is not valid in
이상 본 발명의 바람직한 실시예에 대해 특정 용어들을 사용하여 기재하였으나, 그러한 기재는 오로지 본 발명을 설명하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않는 범위 내에서 다양하게 변경될 수 있는 것으로 이해되어야 한다.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.
상기 인증정보가, 상기 이전 버전의 인증정보 및 현재 버전의 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명한 서명 값인 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
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.
상기 제조사 서버가, 상기 펌웨어의 최초 버전의 인증정보로서, 공개키 암호화 방식의 공개키 쌍 중 검증키의 해쉬 값과 최초 버전 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
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.
상기 버전별 펌웨어 파일 및 상기 버전별 인증정보를 저장하는 데이터베이스를 더 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템.
The method according to claim 1,
And a database for storing the version-specific firmware file and the version-specific authentication information.
상기 업데이트 서버가,
상기 제조사 서버로부터 버전 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.
상기 업데이트 서버가, 상기 현재 버전의 펌웨어의 인증정보 및 상기 이전 버전의 펌웨어의 인증정보를 이용하여 상기 업데이트 서버에 등록된 최신 버전의 펌웨어 및 인증정보를 확인 및 검증하고,
상기 제어부가, 상기 업데이트 서버가 전송하는 상기 최신 버전의 펌웨어 및 인증정보를 검증한 후 업데이트를 수행하는 것을 특징으로 하는 유무선 공유기.
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.
상기 저장부가, 공개키 암호화 방식의 공개키 쌍 중 검증키를 읽기만 가능한 영역(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.
상기 인증정보를 생성하는 단계가,
상기 현재 버전의 펌웨어의 해쉬 값을 생성하는 단계;
상기 이전 버전의 인증정보를 로드하는 단계; 및
상기 이전 버전의 인증정보와 상기 현재 버전의 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 단계를 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
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.
공개키 암호화 방식의 공개키 쌍인 서명키 및 검증키를 생성하는 단계;
상기 검증키의 해쉬 값을 생성하는 단계;
최초 버전의 펌웨어의 해쉬 값을 생성하는 단계;
상기 검증키의 해쉬 값과 상기 최초 버전의 펌웨어의 해쉬 값을 서명키를 이용하여 공개키 암호를 통해 전자 서명하여 서명 값을 생성하는 단계; 및
상기 생성된 서명 값을 상기 최초 버전의 펌웨어에 대한 인증정보로 저장하는 단계를 더 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.
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.
상기 현재 버전의 펌웨어 및 인증정보를 검증하는 단계가,
상기 현재 버전의 펌웨어의 해쉬 값인 제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.
유무선 공유기에 설치된 현재 버전의 펌웨어에 대한 인증정보, 이전 버전의 펌웨어에 대한 인증정보 및 펌웨어 업데이트 요청 메시지를 수신하는 단계;
상기 현재 버전의 펌웨어의 인증정보 및 상기 이전 버전의 펌웨어의 인증정보를 이용하여 상기 업데이트 서버에 등록된 최신 버전의 펌웨어 및 인증정보를 확인 및 검증하는 단계; 및
상기 최신 버전의 펌웨어 및 인증정보가 유효한 경우 상기 유무선 공유기의 펌웨어를 상기 최신 버전의 펌웨어로 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 방법.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.
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)
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 |
-
2016
- 2016-11-10 KR KR1020160149834A patent/KR20180052479A/en not_active Application Discontinuation
Cited By (2)
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 |