KR101563441B1 - A Machine Capable of Checking Validity of Firmware and Firmware Updating Method Thereof - Google Patents
A Machine Capable of Checking Validity of Firmware and Firmware Updating Method Thereof Download PDFInfo
- Publication number
- KR101563441B1 KR101563441B1 KR1020140194897A KR20140194897A KR101563441B1 KR 101563441 B1 KR101563441 B1 KR 101563441B1 KR 1020140194897 A KR1020140194897 A KR 1020140194897A KR 20140194897 A KR20140194897 A KR 20140194897A KR 101563441 B1 KR101563441 B1 KR 101563441B1
- Authority
- KR
- South Korea
- Prior art keywords
- firmware
- integrity value
- new
- updating
- integrity
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 펌웨어를 안전하고 편리하게 업데이트 할 수 있는 기계장치 및 이의 펌웨어 업데이트 방법에 관한 것으로, 탈착가능하도록 형성되는 플래쉬메모리부를 포함하고, 플래쉬메모리부는 제어모듈, 비휘발성메모리모듈, 보안칩을 포함하며, 보안칩은 스마트카드칩으로 형성되어 펌웨어의 무결성값과, 무결성값의 업데이트시 새 무결성값의 정당성을 확인하는 정당성확인키를 저장하도록 함으로써 펌웨어의 정당성, 무결성의 보장에 필요한 정보를 안전하게 저장하도록 하고, 보안칩의 보안알고리즘을 통한 무결성값의 인증 및 업데이트가 가능하도록 하는 기계장치와, 펌웨어의 업데이트 전에 보안칩에 저장된 무결성값을 새 펌웨어의 무결성값으로 업데이트하는 무결성값 업데이트단계, 기계장치에 새 펌웨어를 이식하는 펌웨어이식단계, 펌웨어이식단계에 의하여 이식된 펌웨어의 무결성값과 기계장치에 저장된 무결성값을 비교하여 무결성값이 동일한 경우에만 펌웨어의 업데이트가 이루어지도록 하는 무결성값 인증단계를 포함하여, 기계와 펌웨어 상호간의 인증을 통해 펌웨어의 무결성과 정당성을 확보할 수 있도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 관한 것이다. The present invention relates to a mechanical device capable of updating firmware securely and conveniently, and a firmware updating method thereof, including a flash memory unit formed to be detachable, and the flash memory unit includes a control module, a nonvolatile memory module, and a security chip The security chip is formed of a smart card chip and stores the integrity value of the firmware and the validity confirmation key for confirming the validity of the new integrity value when updating the integrity value so as to securely store information necessary for guaranteeing the validity and integrity of the firmware An integrity value updating step of updating the integrity value stored in the security chip with the integrity value of the new firmware before updating the firmware, A firmware transfer step to port the new firmware, And an integrity value authentication step of comparing the integrity value of the firmware transferred by the transplanting step with the integrity value stored in the machine so that the firmware is updated only when the integrity values are the same, The present invention relates to a firmware update method capable of confirming the validity of a firmware to ensure the integrity and legitimacy of the firmware.
펌웨어(Firmware)는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서 소프트웨어와 동일하지만, 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용 소프트웨어와 구분되면, 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다. Firmware generally refers to a microprogram that controls hardware stored in a ROM. It is the same as software in terms of program, but it has all the characteristics of software and hardware if it is separated from general application software in that it has close relation with hardware.
어떤 기능을 발휘하는 기계장치를 만든다고 할 때, 그것을 제어하는 모든 회로를 하드웨어로만 만든다면, 그 구조도 매우 복잡해지고 심지어는 논리적인 표현을 하기 어려운 부분도 발생한다. 이런 겨우 상당부분을 소프트웨어로 대체하되, 그 소프트웨어가 저장된 기억 장치를 하드웨어의 중심부분으로 구성하면, 매우 간단하면서도 적은 비용으로 문제를 해결할 수 있게 된다. 이렇게 만든 하드웨어적인 소프트웨어를 펌웨어라고 한다. When you create a mechanism that performs a certain function, if you make all the circuits that control it only as hardware, the structure becomes complicated and even logical expressions become difficult. By replacing much of this with software, you can solve the problem very simply and at a low cost by configuring the storage of the software as a central part of the hardware. The hardware software is called firmware.
펌웨어는 운영 체제와 같은 대규모의 프로그램을 사용하기 보다는 소규모의 단일 프로그램을 탑재하기 위해 많이 사용된다. 이와 같이 펌웨어는 소규모의 프로그램이기 때문에, 펌웨어 자체의 오류 개선이나 시스템의 성능 향상, 기능 추가 등의 목적으로 수시로 업데이트 될 수 있다. Firmware is often used to load a single small program rather than a large program such as an operating system. Since the firmware is a small program, the firmware can be updated from time to time for the purpose of improving the error of the firmware itself, improving the performance of the system, and adding functions.
그러나 펌웨어의 업데이트시, 펌웨어를 임의로 추출, 수정하여 기기의 본연의 목적을 벗어나 악의적으로 사용되는 문제가 있어, 아래 특허문헌과 같이 롬바이오스의 업데이트시 체크섬 등을 비교하도록 하고 있으나 그러한 방법만으로는 보안이 취약하여 위, 변조 등의 위험이 있으며, 업데이트되는 펌웨어의 정당성 및 무결성을 확인할 수 없었다. However, when the firmware is updated, there is a problem that the firmware is arbitrarily extracted and modified so as to be used maliciously beyond the original purpose of the device. As a result, there is a need to compare the checksums and the like when the ROM BIOS is updated, It is vulnerable and there is a risk of stomach and alteration, and the validity and integrity of the updated firmware could not be confirmed.
(특허문헌)(Patent Literature)
대한민국 등록특허공보 제10-0298420호.(2001. 05. 31. 등록) "롬바이오스의업데이트방법"Korean Patent Registration No. 10-0298420 (registered on May 31, 2001) "Update Method of ROM BIOS"
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, SUMMARY OF THE INVENTION The present invention has been made to solve the above problems,
본 발명은 탈착가능하도록 형성되는 플래쉬메모리부를 포함하고, 플래쉬메모리부는 플래쉬메모리부를 제어하는 제어모듈과, 전원공급이 없어도 데이터가 지워지지 않는 비휘발성메모리모듈과, 각종 정보를 안전하게 저장하는 보안칩을 포함하며, 보안칩은 펌웨어의 무결성값과, 무결성값의 업데이트시 새 무결성값의 정당성을 확인하는 정당성확인키를 저장하여, 무결성값과 정당성확인키가 보안칩에 별도로 저장되도록 함으로써 펌웨어의 정당성, 무결성의 보장에 필요한 정보를 안전하게 저장하도록 하고, 보안칩의 보안알고리즘을 통한 무결성값의 인증 및 업데이트가 가능하도록 하는 펌웨어의 정당성 확인이 가능한 기계장치를 제공하는데 목적이 있다.The flash memory unit includes a control module for controlling the flash memory unit, a nonvolatile memory module in which data is not erased even if there is no power supply, and a security chip for safely storing various information And the security chip stores the integrity value of the firmware and the validity confirmation key that confirms the validity of the new integrity value upon updating the integrity value so that the integrity value and the validity verification key are separately stored in the security chip so that the validity, And to verify the validity of the firmware for enabling authentication and updating of the integrity value through the security algorithm of the security chip.
본 발명은 보안 알고리즘을 갖는 스마트카드 칩으로 형성되는 보안칩을 포함하여, 무결성값과 정당성확인키가 안전하게 저장되도록 하고, 무결성값과 정당성확인키를 통한 무결성값의 업데이트가 가능하도록 하는 펌웨어의 정당성 확인이 가능한 기계장치를 제공하는데 목적이 있다. The present invention relates to a security chip including a security chip formed of a smart card chip having a security algorithm, so as to securely store an integrity value and a validity confirmation key, to enable integrity values to be updated through an integrity value and a validity verification key, It is an object of the present invention to provide a machine that can be verified.
본 발명은 기계장치에 새 펌웨어를 이식하는 펌웨어이식단계와, 펌웨어이식단계에 의하여 이식된 펌웨어의 무결성값과 기계장치에 저장된 무결성값을 비교하여 무결성값이 동일한 경우에만 펌웨어의 업데이트가 이루어지도록 하는 무결성값 인증단계를 포함하여, 기계와 펌웨어 상호간의 인증을 통해 펌웨어의 정당성을 확보할 수 있도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention relates to a method of updating a firmware, the method comprising: a firmware transfer step of transferring a new firmware to a mechanical device; a step of comparing the integrity value of the firmware transferred by the firmware transfer step with the integrity value stored in the device, The present invention also provides a firmware update method capable of verifying the validity of the firmware so that the validity of the firmware can be secured through authentication between the machine and the firmware including the integrity value authentication step.
본 발명은 펌웨어의 업데이트 전에 보안칩에 저장된 무결성값을 새 펌웨어의 무결성값으로 업데이트하는 무결성값 업데이트단계를 포함하여, 새 펌웨어의 정당성을 확보할 수 있도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention includes a firmware update method capable of confirming the validity of the firmware to ensure the validity of the new firmware, including an integrity value updating step of updating the integrity value stored in the security chip with the integrity value of the new firmware before updating the firmware The purpose is to provide.
본 발명은 보안칩에 저장된 정당성확인키를 이용하여 새로운 펌웨어의 무결성값이 저장된 인증서를 검증하도록 하는 무결성값 업데이트단계를 포함하여, 정당한 사용자만이 무결성값의 업데이트가 가능하도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention includes an integrity value updating step for allowing a certificate stored in a security chip to verify a stored certificate of an integrity value of a new firmware so that only a legitimate user can verify the integrity of the firmware The goal is to provide a possible firmware update method.
본 발명은 외부호스트로부터 새로운 무결성값을 검증하기 위한 검증키를 수신하는 검증키수신단계와, 검증키수신단계에서 수신된 검증키를 정당성확인키로 검증하여 검증키를 획득하는 검증키획득단계와, 외부호스트로부터 새로운 무결성값을 수신하는 무결성값 수신단계와, 검증키획득단계로부터 획득한 검증키를 통하여 새로운 무결성값의 정당성을 확인하는 무결성값 확인단계와, 무결성값 확인단계에 의하여 정당한 무결성값으로 확인된 경우 새로운 무결성값을 보안칩에 저장하는 무결성값 저장단계를 갖는 무결성값 업데이트단계를 포함하여, 무결성값의 업데이트가 안전하게 이루어질 수 있도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. A verification key receiving step of verifying the verification key received in the verification key receiving step with a validity verification key and obtaining a verification key; An integrity value receiving step of receiving a new integrity value from an external host, an integrity value confirming step of confirming the validity of a new integrity value through a verification key acquired from the verification key acquiring step, And a integrity value storing step of storing a new integrity value in the security chip when the new integrity value is confirmed. The object of the present invention is to provide a firmware update method capable of confirming the validity of the firmware so that updating of the integrity value can be safely performed have.
본 발명은 검증키수신단계, 무결성값 수신단계에서 수신되는 검증키 또는 새로운 무결성값은 인증서 형태로 저장되도록 하여 변조가 불가능하도록 함으로써 보안성을 더욱 향상시킬 수 있는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention provides a firmware update method capable of verifying the validity of firmware that can further improve security by making it impossible to perform tampering by storing verification keys or new integrity values received in the verification key receiving step, And the like.
본 발명은 공개키로 구성되는 정당성확인키를 포함하고, 검증키수신단계에서 수신되는 검증키가 저장된 인증서는 정당성확인키에 대칭되는 개인키로 전자서명되어 보안칩에 저장된 정당성확인키를 통해서만 새로운 무결성값을 획득하기 위한 검증키를 획득할 수 있도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention includes a validity confirmation key composed of a public key, and a certificate stored in a verification key received in a verification key receiving step is electronically signed with a private key symmetric to a validity verification key, and only a new integrity value And to obtain a verification key for acquiring a verification key for acquiring the verification key.
본 발명은 공개키로 구성되는 검증키를 포함하며, 무결성값 수신단계에서 수신되는 새로운 무결성값이 저장된 인증서는 검증키에 대칭되는 개인키로 전자 서명되도록 하여 무결성값의 업데이트가 원활하게 이루어지도록 하면서도 보안성을 더욱 강화할 수 있는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention includes a verification key configured with a public key, wherein a certificate stored with a new integrity value received in the integrity value receiving step is electronically signed with a private key symmetric to the verification key, so that updating of the integrity value is performed smoothly, The present invention is directed to a firmware update method capable of verifying the validity of the firmware.
본 발명은 펌웨어의 업데이트 전에 보안칩을 인증된 기관에 의하여 새로운 펌웨어의 무결성값이 저장된 보안칩으로 교체하도록 하여 업데이트의 안전성 뿐만 아니라 편리성도 고려할 수 있도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention provides a firmware update method capable of confirming the validity of the firmware so that the security chip can be replaced with the security chip stored with the integrity value of the new firmware by the authorized organization before the update of the firmware so as to consider not only the safety of the update but also the convenience. .
본 발명은 외부저장매체에 의하여 새로운 펌웨어를 이식하거나 또는 플래쉬메모리부에 새로운 펌웨어를 저장하여 이식하도록 하는 펌웨어이식단계를 포함하여, 펌웨어의 업데이트가 편리하게 이루어지도록 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 제공하는데 목적이 있다. The present invention relates to a method and a device for transferring firmware to an external storage medium or a method of transferring a new firmware to a flash memory unit and transferring the new firmware to an external storage medium, A method is provided.
본 발명은 앞서 본 목적을 달성하기 위해서 다음과 같은 구성을 가진 실시예에 의해서 구현된다.In order to achieve the above object, the present invention is implemented by the following embodiments.
본 발명의 일 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 기계장치는 펌웨어를 가지며, 탈착가능하도록 형성되는 플래쉬메모리부를 포함하고, 상기 플래쉬메모리부는 상기 플래쉬메모리부를 제어하는 제어모듈과, 전원공급이 없어도 데이터가 지워지지 않는 비휘발성메모리모듈과, 각종 정보를 안전하게 저장하는 보안칩을 포함하며, 상기 보안칩은 펌웨어의 무결성값과, 무결성값의 업데이트시 새 무결성값의 정당성을 확인하는 정당성확인키를 저장하는 것을 특징으로 한다.According to an embodiment of the present invention, a machine capable of confirming the validity of the firmware according to the present invention includes a flash memory unit having firmware and detachably attached thereto, wherein the flash memory unit includes a control module for controlling the flash memory unit, A nonvolatile memory module in which data is not erased even when there is no power supply, and a security chip for securely storing various information, wherein the security chip verifies the integrity value of the firmware and the validity of the new integrity value when updating the integrity value And stores the validity confirmation key.
본 발명의 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 기계장치에 있어서, 상기 보안칩은 보안 알고리즘을 갖는 스마트카드 칩으로 형성되는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided a machine capable of verifying the validity of the firmware according to the present invention, wherein the security chip is formed of a smart card chip having a security algorithm.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법은 기계장치에 새 펌웨어를 이식하는 펌웨어이식단계와, 상기 펌웨어이식단계에 의하여 이식된 펌웨어의 무결성값과 기계장치에 저장된 무결성값을 비교하여 무결성값이 동일한 경우에만 펌웨어의 업데이트가 이루어지도록 하는 무결성값 인증단계를 포함하는 것을 특징으로 한다. According to another embodiment of the present invention, a firmware update method capable of confirming the validity of the firmware according to the present invention includes: a firmware transfer step of transferring a new firmware to a mechanical device; And an integrity value authentication step of comparing the integrity values stored in the machine and causing the firmware to be updated only when the integrity values are the same.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 펌웨어의 업데이트 전에 상기 보안칩에 저장된 무결성값을 새 펌웨어의 무결성값으로 업데이트하는 무결성값 업데이트단계를 포함하는 것을 특징으로 한다. According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, the firmware update method comprising: updating an integrity value stored in the security chip with an integrity value of a new firmware, And a control unit.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 무결성값 업데이트단계는 상기 보안칩에 저장된 정당성확인키를 이용하여 새로운 펌웨어의 무결성값이 저장된 인증서를 검증하도록 하는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, wherein the integrity value updating step stores an integrity value of a new firmware using a validity confirmation key stored in the security chip And to verify the certificate.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 무결성값 업데이트단계는 외부호스트로부터 새로운 무결성값을 검증하기 위한 검증키를 수신하는 검증키수신단계와, 상기 검증키수신단계에서 수신된 검증키를 상기 정당성확인키로 검증하여 검증키를 획득하는 검증키획득단계와, 외부호스트로부터 새로운 무결성값을 수신하는 무결성값 수신단계와, 상기 검증키획득단계로부터 획득한 검증키를 통하여 새로운 무결성값의 정당성을 확인하는 무결성값 확인단계와, 상기 무결성값 확인단계에 의하여 정당한 무결성값으로 확인된 경우 새로운 무결성값을 상기 보안칩에 저장하는 무결성값 저장단계를 포함하는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, wherein the integrity value updating step includes: a verification key receiving step of receiving a verification key for verifying a new integrity value from an external host A verification key acquisition step of verifying the verification key received in the verification key reception step with the validity verification key to obtain a verification key; an integrity value reception step of receiving a new integrity value from an external host; An integrity value storing step of storing a new integrity value in the security chip when the integrity value is confirmed as a valid integrity value by the integrity value checking step; And a control unit.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 검증키수신단계, 무결성값 수신단계에서 수신되는 검증키 또는 새로운 무결성값은 인증서 형태로 저장되도록 하여 보안성을 향상시키는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, wherein a verification key or a new integrity value received in the verification key receiving step and the integrity value receiving step is stored So as to improve security.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 정당성확인키는 공개키로 구성되며, 상기 검증키수신단계에서 수신되는 검증키가 저장된 인증서는 상기 정당성확인키에 대칭되는 개인키로 전자서명되는 것을 특징으로 한다. According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, wherein the validity confirmation key comprises a public key, and the certificate stored in the verification key receiving step And is digitally signed with a private key symmetric to the validity verification key.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 검증키는 공개키로 구성되며, 상기 무결성값 수신단계에서 수신되는 새로운 무결성값이 저장된 인증서는 상기 검증키에 대칭되는 개인키로 전자 서명되는 것을 특징으로 한다. According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, wherein the verification key is configured with a public key, and the certificate storing the new integrity value received in the integrity value receiving step Signed by a private key symmetric to the verification key.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 펌웨어의 업데이트 전에 상기 보안칩을 인증된 기관에 의하여 새로운 펌웨어의 무결성값이 저장된 보안칩으로 교체하는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of firmware according to the present invention, the firmware update method comprising the steps of: Is replaced.
본 발명의 또 다른 실시예에 따르면, 본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 있어서, 상기 펌웨어이식단계는 외부저장매체에 의하여 새로운 펌웨어를 이식하거나 또는 플래쉬메모리부에 새로운 펌웨어를 저장하여 이식하도록 하는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided a firmware update method capable of confirming the validity of the firmware according to the present invention, wherein the firmware transfer step is a step of transferring new firmware by an external storage medium or storing new firmware in a flash memory So as to be transplanted.
본 발명은 앞서 본 실시예와 하기에 설명할 구성과 결합, 사용관계에 의해 다음과 같은 효과를 얻을 수 있다.The present invention can obtain the following effects by the above-described embodiment, the constitution described below, the combination, and the use relationship.
본 발명은 탈착가능하도록 형성되는 플래쉬메모리부를 포함하고, 플래쉬메모리부는 플래쉬메모리부를 제어하는 제어모듈과, 전원공급이 없어도 데이터가 지워지지 않는 비휘발성메모리모듈과, 각종 정보를 안전하게 저장하는 보안칩을 포함하며, 보안칩은 펌웨어의 무결성값과, 무결성값의 업데이트시 새 무결성값의 정당성을 확인하는 정당성확인키를 저장하여, 무결성값과 정당성확인키가 보안칩에 별도로 저장되도록 함으로써 펌웨어의 정당성, 무결성의 보장에 필요한 정보를 안전하게 저장하도록 하고, 보안칩의 보안알고리즘을 통한 무결성값의 인증 및 업데이트가 가능하도록 하는 효과가 있다.The flash memory unit includes a control module for controlling the flash memory unit, a nonvolatile memory module in which data is not erased even if there is no power supply, and a security chip for safely storing various information And the security chip stores the integrity value of the firmware and the validity confirmation key that confirms the validity of the new integrity value upon updating the integrity value so that the integrity value and the validity verification key are separately stored in the security chip so that the validity, And securely storing the information required for the security of the security chip, and enabling authentication and updating of the integrity value through the security algorithm of the security chip.
본 발명은 보안 알고리즘을 갖는 스마트카드 칩으로 형성되는 보안칩을 포함하여, 무결성값과 정당성확인키가 안전하게 저장되도록 하고, 무결성값과 정당성확인키를 통한 무결성값의 업데이트가 가능하도록 하는 효과가 있다. The present invention has an effect of allowing a security chip formed of a smart card chip having a security algorithm to securely store an integrity value and a validity verification key, and to update an integrity value through an integrity value and a validity verification key .
본 발명은 기계장치에 새 펌웨어를 이식하는 펌웨어이식단계와, 펌웨어이식단계에 의하여 이식된 펌웨어의 무결성값과 기계장치에 저장된 무결성값을 비교하여 무결성값이 동일한 경우에만 펌웨어의 업데이트가 이루어지도록 하는 무결성값 인증단계를 포함하여, 기계와 펌웨어 상호간의 인증을 통해 펌웨어의 정당성을 확보할 수 있도록 하는 효과가 있다. The present invention relates to a method of updating a firmware, the method comprising: a firmware transfer step of transferring a new firmware to a mechanical device; a step of comparing the integrity value of the firmware transferred by the firmware transfer step with the integrity value stored in the device, There is an effect that it is possible to secure the validity of the firmware through authentication between the machine and the firmware including the integrity value authentication step.
본 발명은 펌웨어의 업데이트 전에 보안칩에 저장된 무결성값을 새 펌웨어의 무결성값으로 업데이트하는 무결성값 업데이트단계를 포함하여, 새 펌웨어의 정당성을 확보할 수 있도록 하는 효과가 있다. The present invention includes an integrity value updating step of updating the integrity value stored in the security chip with the integrity value of the new firmware before updating the firmware so that the validity of the new firmware can be secured.
본 발명은 보안칩에 저장된 정당성확인키를 이용하여 새로운 펌웨어의 무결성값이 저장된 인증서를 검증하도록 하는 무결성값 업데이트단계를 포함하여, 정당한 사용자만이 무결성값의 업데이트가 가능하도록 하는 효과가 있다. The present invention includes an integrity value updating step for allowing a validity verification key stored in a security chip to verify a stored certificate of an integrity value of a new firmware so that only a legitimate user can update an integrity value.
본 발명은 외부호스트로부터 새로운 무결성값을 검증하기 위한 검증키를 수신하는 검증키수신단계와, 검증키수신단계에서 수신된 검증키를 정당성확인키로 검증하여 검증키를 획득하는 검증키획득단계와, 외부호스트로부터 새로운 무결성값을 수신하는 무결성값 수신단계와, 검증키획득단계로부터 획득한 검증키를 통하여 새로운 무결성값의 정당성을 확인하는 무결성값 확인단계와, 무결성값 확인단계에 의하여 정당한 무결성값으로 확인된 경우 새로운 무결성값을 보안칩에 저장하는 무결성값 저장단계를 갖는 무결성값 업데이트단계를 포함하여, 무결성값의 업데이트가 안전하게 이루어질 수 있도록 하는 효과가 있다. A verification key receiving step of verifying the verification key received in the verification key receiving step with a validity verification key and obtaining a verification key; An integrity value receiving step of receiving a new integrity value from an external host, an integrity value confirming step of confirming the validity of a new integrity value through a verification key acquired from the verification key acquiring step, And an integrity value updating step of storing an integrity value in the security chip when the new integrity value is confirmed, thereby updating the integrity value securely.
본 발명은 검증키수신단계, 무결성값 수신단계에서 수신되는 검증키 또는 새로운 무결성값은 인증서 형태로 저장되도록 하여 변조가 불가능하도록 함으로써 보안성을 더욱 향상시킬 수 있는 효과가 있다. The present invention has the effect of further improving the security by allowing the verification key received in the verification key receiving step, the integrity value receiving step, or the new integrity value to be stored in the form of a certificate so that the modulation can not be performed.
본 발명은 공개키로 구성되는 정당성확인키를 포함하고, 검증키수신단계에서 수신되는 검증키가 저장된 인증서는 정당성확인키에 대칭되는 개인키로 전자서명되어 보안칩에 저장된 정당성확인키를 통해서만 새로운 무결성값을 획득하기 위한 검증키를 획득할 수 있도록 하는 효과가 있다. The present invention includes a validity confirmation key composed of a public key, and a certificate stored in a verification key received in a verification key receiving step is electronically signed with a private key symmetric to a validity verification key, and only a new integrity value It is possible to acquire the verification key for acquiring the verification key.
본 발명은 공개키로 구성되는 검증키를 포함하며, 무결성값 수신단계에서 수신되는 새로운 무결성값이 저장된 인증서는 검증키에 대칭되는 개인키로 전자 서명되도록 하여 무결성값의 업데이트가 원활하게 이루어지도록 하면서도 보안성을 더욱 강화할 수 있는 효과가 있다. The present invention includes a verification key configured with a public key, wherein a certificate stored with a new integrity value received in the integrity value receiving step is electronically signed with a private key symmetric to the verification key, so that updating of the integrity value is performed smoothly, Can be further strengthened.
본 발명은 펌웨어의 업데이트 전에 보안칩을 인증된 기관에 의하여 새로운 펌웨어의 무결성값이 저장된 보안칩으로 교체하도록 하여 업데이트의 안전성 뿐만 아니라 편리성도 고려할 수 있도록 하는 효과가 있다. The present invention is advantageous in that not only safety but also convenience can be taken into consideration by allowing the security chip to be replaced with a security chip stored with the integrity value of the new firmware by the authorized organization before updating the firmware.
본 발명은 외부저장매체에 의하여 새로운 펌웨어를 이식하거나 또는 플래쉬메모리부에 새로운 펌웨어를 저장하여 이식하도록 하는 펌웨어이식단계를 포함하여, 펌웨어의 업데이트가 편리하게 이루어지도록 하는 효과가 있다. The present invention has the effect of facilitating updating of the firmware by including a firmware transfer step for transferring new firmware by an external storage medium or for storing new firmware in a flash memory unit and then transplanting the firmware.
도 1은 본 발명의 일 실시예에 따른 펌웨어의 정당성 확인이 가능한 기계장치의 내부구성을 나타내는 구성도
도 2는 도 1의 보안칩에 저장되는 데이터를 나타내는 블럭도
도 3은 보안칩을 교체하지 않는 경우 본 발명의 일 실시예에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 나타내는 참고도
도 4는 도 3의 무결성값 업데이트단계의 구성을 나타내는 참고도
도 5는 도 4의 과정을 설명하기 위한 참고도
도 6은 보안칩을 교체하는 경우 본 발명의 다른 실시예에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 나타내는 참고도
도 7은 본 발명에 따른 펌웨어 업데이트 방법에 전체적인 과정을 설명하기 위한 순서도Brief Description of the Drawings Fig. 1 is a block diagram showing an internal configuration of a machine capable of verifying the validity of firmware according to an embodiment of the present invention; Fig.
Fig. 2 is a block diagram showing data stored in the security chip of Fig. 1
3 is a view showing a firmware update method capable of confirming the validity of the firmware according to an embodiment of the present invention when the security chip is not replaced;
4 is a reference diagram showing the configuration of the integrity value updating step of FIG.
5 is a reference diagram for explaining the process of FIG.
6 is a reference view showing a firmware update method capable of confirming the validity of firmware according to another embodiment of the present invention when replacing a security chip
7 is a flow chart for explaining the overall process of the firmware update method according to the present invention
이하에서는 본 발명에 따른 펌웨어의 정당성 확인이 가능한 기계장치 및 이의 펌웨어 업데이트 방법의 바람직한 실시예들을 첨부된 도면을 참조하여 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하도록 한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
Best Mode for Carrying Out the Invention Hereinafter, preferred embodiments of a mechanical device and a firmware updating method capable of verifying firmware according to the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. Throughout the specification, when an element is referred to as "including " an element, it is understood that the element may include other elements as well, without departing from the other elements unless specifically stated otherwise.
본 발명의 일 실시예에 따른 펌웨어의 정당성 확인이 가능한 기계장치를 도 1 내지 도 2를 참조하여 설명하면, 상기 기계장치(1)는 중앙처리부(11), 저장부(13), 플래쉬메모리부(15)를 포함하며, 상기 저장부(13)에는 펌웨어가 설치된다. 상기 펌웨어(Firmware)는 일반적으로 롬(ROM)에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서 소프트웨어와 동일하지만, 하드웨어와 밀접한 관계를 가지고 있다는 점에서 일반 응용 소프트웨어와 구분되며, 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다. 최근에는 기계장치라 하더라도 다양한 전자적인 기능을 수행하기 때문에, 펌웨어의 내장이 필수적이라고 할 수 있으며, 펌웨어는 운영 체제와 같은 대규모의 프로그램을 사용하기 보다는 소규모의 단일 프로그램을 탑재하기 위해 많이 사용되므로, 펌웨어 자체의 오류 개선이나 시스템의 성능 향상, 기능 추가 등의 목적으로 수시로 업데이트 될 수 있다. 따라서, 본 발명에서는 펌웨어의 업데이트시 펌웨어가 임시로 추출, 수정되어 악의적으로 사용되는 것을 막고자, 펌웨어의 정당성과 무결성을 확인할 수 있는 방법, 즉 정당한 펌웨어만이 새롭게 이식되어 기존의 펌웨어를 업데이트할 수 있고, 새로운 펌웨어가 불법적으로 변경되었는지 확인할 수 있는 펌웨어의 업데이트 방법을 개시한다. 1 and 2, the
상기 중앙처리부(11)는 일반적인 기계장치에 사용되는 프로세서를 의미하며, 기계장치의 전체적인 동작을 제어한다. 또한, 상기 저장부(13)는 펌웨어가 설치되어 저장되는 구성으로 일반적인 메모리(memory)가 적용될 수 있다. The central processing unit 11 refers to a processor used in a general mechanical device, and controls the overall operation of the mechanical device. In addition, the
상기 플래쉬메모리부(15)는 상기 기계장치(1)에 탈착가능하도록 형성되어, 펌웨어의 업데이트시 새로운 펌웨어의 무결성값을 가진 플래쉬메모리부(15)로 교체될 수 있다. 상기 플래쉬메모리부(15)는 무결성값을 안전하게 저장하고, 무결성값을 안전하게 업데이트할 수 있도록 하기 위하여 보안기능을 수행할 수 있고, 일정 크기 이하로 형성되는 보안 마이크로SD카드가 적용되는 것이 바람직하며, 그 밖에 무결성값을 안전하게 저장할 수 있고, 무결성값을 보안화하여 안전하게 새로운 펌웨어의 무결성값으로 업데이트되도록 할 수 있는 다양한 방식의 구성이 적용될 수 있다. 상기 플래쉬메모리부(15)는 자체적으로 플래쉬메모리부(15)의 동작을 제어하는 제어모듈(151)과 전원이 없어도 데이터가 지워지지 않는 비휘발성메모리모듈(153), 그리고 보안 알고리즘을 가지며, 펌웨어의 무결성값(155a), 정당성확인키(155b) 등이 안전하게 저장되는 보안칩(155)을 포함한다. The
상기 제어모듈(151)은 상기 플래쉬메모리부(15)의 동작을 제어하는 구성으로, 새로운 펌웨어가 상기 비휘발성메모리모듈(153)에 저장되어 이식되는 경우, 상기 보안칩(155)에서의 인증여부에 따라 펌웨어를 상기 저장부(13)로 이식되도록 할 수 있다. When the new firmware is stored in the
상기 비휘발성메모리모듈(153)은 상기 플래쉬메모리부(15)에 저장되는 각종 정보를 저장하는 구성으로, 전원이 제거되어도 데이터가 지워지지 않도록 구성되나, 무결성값(155a), 정당성확인키(155b)등의 중요한 정보는 상기 보안칩(155)에 저장되도록 하는 것이 바람직하다. The
상기 보안칩(155)은 펌웨어의 무결성값(155a)을 저장하며, 무결성값(155a)이 정당하게 업데이트 되도록 하기 위한 보안 알고리즘, 즉 보안에 관한 응용프로그램을 가지고 있으며, COS(Chip Operating System) 등의 마이크로프로세서 칩과 메모리 등을 포함하는 스마트카드 칩이 적용되도록 하는 것이 바람직하다. 따라서, 상기 보안칩(155)은 각종 정보들을 저장할 수 있으며, 스스로 보안 알고리즘을 실행하여 무결성값이 안전하게 업데이트되도록 할 수 있다. 상기 보안칩(155)에는 펌웨어의 무결성값(155a)과, 무결성값의 업데이트시 새로운 무결성값의 정당성을 확인할 수 있는 정당성확인키(155b)가 저장된다. The
상기 무결성값(155a)은 펌웨어의 변경여부를 확인할 수 있는 값으로, 예를 들어 펌웨어에 대한 SHA-1, SHA-256 등과 같은 해시값을 말하며, 새로운 펌웨어로의 업데이트시 먼저 새로운 펌웨어의 무결성값으로 업데이트되어 상기 보안칩(155)에 저장되도록 하고 이식되는 펌웨어의 무결성값과 상기 보안칩(155)에 새롭게 저장된 무결성값을 비교하여 동일한 경우에만 펌웨어의 업데이트가 진행되도록 함으로써 펌웨어의 무결성을 보장할 수 있게 된다. The
상기 정당성확인키(155b)는 상기 무결성값(155a)의 업데이트시 새로운 무결성값의 정당성을 확인할 수 있는 키로, 공개키(Public Key)로 구성될 수 있으며, 예를 들어 아래 수식 1과 같은 형식을 가질 수 있다. 이에 관한 상세한 설명은 후술한다. The validity confirmation key 155b may be a public key that can verify the validity of a new integrity value when updating the
(수식 1)(Equation 1)
PuK.CVCA
PuK.CVCA
본 발명의 일 실시예에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법을 도 3 내지 도 7을 참조하여 설명하면, 상기 펌웨어 업데이트 방법은 기계장치에 새 펌웨어를 이식하는 펌웨어이식단계(S3)와, 상기 펌웨어이식단계(S3)에 의하여 이식된 펌웨어의 무결성값과 기계장치에 저장된 무결성값을 비교하여 무결성값이 동일한 경우에만 펌웨어의 업데이트가 이루어지도록 하는 무결성값 인증단계(S5)를 포함한다. 본 발명에 따른 펌웨어의 업데이트 방법은 상기 플래쉬메모리부(15)가 포함된 기계장치(1)를 전제로 하며, 상기 플래쉬메모리부(15)의 교체여부에 따라 다소 상이한 구성을 갖게 된다. 다시 말해, 탈착가능하게 형성되는 플래쉬메모리부(15)를 새로운 플래쉬메모리부(15)로 교체하여 펌웨어의 업데이트가 이루어지도록 할 수 있으며, 또 하나는 플래쉬메모리부(15)를 교체하지 않고 무결성값 만을 업데이트하여 정당성 및 무결성이 보장된 새로운 펌웨어로의 업데이트가 이루어지도록 할 수 있다. 먼저, 새로운 플래쉬메모리부(15)를 사용할 필요가 없어 비용을 절약할 수 있는 플래쉬메모리부(15)를 교체하지 않고 펌웨어를 업데이트하는 방식에 대하여 설명하며, 이 경우에는 플래쉬메모리부(15), 정확하게는 보안칩(155)에 저장된 펌웨어의 무결성값을 새로운 펌웨어의 무결성값으로 업데이트하는 무결성값 업데이트단계(S1)를 먼저 거치게 된다. 3 to 7, the firmware update method includes a firmware transfer step S3 for transferring a new firmware to a mechanical device, a firmware update step S3 for transferring a new firmware to the device, and a firmware update method for checking the validity of the firmware according to an embodiment of the present invention. And an integrity value authentication step S5 of comparing the integrity value of the firmware implanted by the firmware transfer step S3 with the integrity value stored in the machine so that the firmware is updated only when the integrity values are identical. The updating method of the firmware according to the present invention is based on the
상기 무결성값 업데이트단계(S1)는 펌웨어의 업데이트 전에 상기 보안칩(155)에 저장된 무결성값을 새 펌웨어의 무결성값으로 업데이트하는 단계로, 상기 플래쉬메모리부(15)를 기계장치(1)로부터 분리하여 스마트폰 등의 다른 기기를 통하여 무결성값의 업데이트가 이루어지도록 할 수 있으며, 또는 기계장치(1)의 무선인터페이스나 또 다른 플래쉬메모리부(15) 인터페이스 등을 통해 외부호스트(O)와의 통신을 실시하여 무결성값의 업데이트가 이루어지도록 할 수 있다. 이때 상기 무결성값 업데이트단계(S1)는 정당성이 확인된 외부호스트(O)에 의해서만 무결성값이 업데이트될 수 있도록 함으로써 펌웨어의 정당성을 확보하도록 하며, 도 4에 도시된 바와 같이 검증키수신단계(S11), 검증키획득단계(S13), 무결성값 수신단계(S15), 무결성값 확인단계(S17), 무결성값 저장단계(S19)를 포함한다. The integrity value updating step S1 is a step of updating the integrity value stored in the
상기 검증키수신단계(S11)는 외부호스트(O)로부터 상기 무결성값 수신단계(S15)로부터 수신될 무결성값(C)을 저장한 인증서를 검증할 수 있는 검증키(V)를 수신하는 단계로, 상기 검증키(V)는 공개키 형식을 가질 수 있으며, 예를 들어 PuK.DV와 같은 형태를 가질 수 있다. 또한, 상기 검증키(V)는 상기 정당성확인키(155b)에 대칭되는 개인키로 전자서명된 형태이며, 예를 들어 아래 수식 2와 같은 형식을 가질 수 있다. The verification key receiving step S11 is a step of receiving a verification key V from the external host O that can verify the certificate storing the integrity value C to be received from the integrity value receiving step S15 , The verification key V may have a public key format, for example, a form such as PuK.DV. The verification key V is electronically signed with a private key symmetric to the validity verification key 155b, and may have the form of, for example, the following equation (2).
(수식 2)(Equation 2)
Sign(PrK.CVCA)[PuK.DV]
Sign (PrK.CVCA) [PuK.DV]
따라서, 상기 검증키(V)를 저장한 인증서는 상기 정당성확인키(155b)에 의해 검증될 수 있으며, 정당한 외부호스트(O)만이 무결성값을 업데이트할 수 있게 된다. Therefore, the certificate storing the verification key V can be verified by the validity verification key 155b, and only the authorized external host O can update the integrity value.
상기 검증키획득단계(S13)는 상기 검증키수신단계(S11)에서 수신된 검증키(V)를 획득하는 단계로, 앞서 설명한 바와 같이 상기 정당성확인키(155b)에 의해 검증키(V)가 저장된 인증서를 검증하여 새로운 무결성값(C)을 저장한 인증서를 검증할 수 있는 검증키(V)를 획득하게 된다. The verification key acquisition step S13 is a step of acquiring the verification key V received in the verification key reception step S11. The verification key V is obtained by the validity verification key 155b as described above The stored certificate is verified to obtain a verification key (V) that can verify the certificate storing the new integrity value (C).
상기 무결성값 수신단계(S15)는 외부호스트(O)로부터 새로운 펌웨어의 무결성값(C)을 수신하는 단계로, 상기 무결성값(C)은 상기 검증키(V)에 대칭되는 개인키로 전자 서명된 형태이며, 예를 들어 아래 수식 3과 같은 형태를 갖는다. The integrity value receiving step S15 is a step of receiving an integrity value C of a new firmware from an external host O, and the integrity value C is obtained by digitally signing the integrity key C with a private key symmetric to the verification key V For example, the following equation (3).
(수식 3)(Equation 3)
Sign(PrK.DV)[Hash(F/WNEW)]
Sign (PrK.DV) [Hash (F / W NEW )]
상기 무결성값 확인단계(S17)는 상기 무결성값 수신단계(S17)에 의하여 수신된 새로운 펌웨어의 무결성값(C)의 정당성을 확인하는 단계로, 상기 검증키(V)와 새로운 무결성값(C)이 저장된 인증서는 대칭되는 공개키와 개인키 관계를 가지므로, 상기 검증키획득단계(S13)에 의하여 획득한 검증키(V)로 새로운 펌웨어의 무결성값(C)이 저장된 인증서를 검증하여 새로운 무결성값(C)의 정당성을 확인할 수 있게 된다. The integrity value checking step S17 is a step of confirming the validity of the integrity value C of the new firmware received by the integrity value receiving step S17. The verification value V and the new integrity value C Since the stored certificate has a private key relationship with the symmetric public key, the certificate stored with the integrity value C of the new firmware is verified with the verification key V obtained in the verification key acquisition step S13, The validity of the value C can be confirmed.
상기 무결성값 저장단계(S19)는 상기 무결성값 확인단계(S17)에 의하여 새로운 무결성값(C)의 정당성이 확인된 경우, 새로운 무결성값(C)을 상기 보안칩(155)에 저장하여 상기 펌웨어이식단계(S3)에 의해 이식되는 새로운 펌웨어의 무결성값과 비교할 수 있도록 한다. The integrity value storing step S19 stores the new integrity value C in the
상기 무결성값 업데이트단계(S1)의 과정에 관하여 도 5를 참조하여 설명하면, 먼저 외부호스트(O)는 상기 보안칩(155)으로 정당성확인키(155b)와 대칭되는 개인키로 전자서명된 검증키(V)가 저장된 인증서를 전송하며, 상기 보안칩(155)은 저장하고 있는 정당성확인키(155b)로 검증키(V)가 저장된 인증서를 검증하여 검증키(V)를 획득한다. 그리고 외부호스트(O)는 다시 상기 보안칩(155)으로 상기 검증키(V)와 대칭되는 개인키로 전자서명된 새로운 펌웨어의 무결성값(C)이 저장된 인증서를 전송하면, 상기 보안칩(155)은 획득한 검증키(V)로 새로운 무결성값(C)이 저장된 인증서를 검증하여 새로운 무결성값(C)의 정당성을 확인하고, 상기 보안칩(155)에 기존 무결성값을 대체하여 새로운 무결성값(C)을 저장하게 된다. 상기 무결성값 업데이트단계(S1)에서 외부호스트(O)로부터 보안칩(155)으로 전송되는 검증키(V), 새로운 무결성값(C)은 모두 인증서형태를 갖도록 하여 변조가 불가능하도록 함으로써 보안성을 강화한다. 상기 무결성값 업데이트단계(S1) 후에는 새로운 펌웨어를 이식하는 펌웨어이식단계(S3)를 거치게 되며, 상기 무결성값 업데이트단계(S1) 이후의 단계는 상기 플래쉬메모리부(15)를 교체하는지 여부와 관계 없이 동일한 과정을 거치게 된다.
Referring to FIG. 5, the external host O firstly verifies the integrity key of the verification key 155b with the private key symmetric with the validity key 155b, The
상기 펌웨어이식단계(S3)는 새로운 펌웨어가 저장된 펌웨어 이미지를 기계장치(1)에 이식하여 기존의 펌웨어를 새 펌웨어로 업데이트 되도록 하는 단계로, 외부의 다른 저장매체에 의해 상기 기계장치(1)에 전달되거나, 상기 플래쉬메모리부(15)의 비휘발성메모리모듈(153)에 이식되어 상기 기계장치(1)의 저장부(13)에 설치된 펌웨어가 새 펌웨어로 업데이트 되도록 할 수 있다. 상기 펌웨어이식단계(S3)에서 이식되는 펌웨어 이미지는 새로운 펌웨어와 관련된 파일을 비롯하여 업데이트의 실행파일까지 새로운 펌웨어와 관련된 모든 파일이 압축된 상태로, 펌웨어 이미지의 실행에 따라 기존 펌웨어가 새로운 펌웨어로 업데이트 된다. 다만, 상기 펌웨어이식단계(S3)에 의하여 이식되는 펌웨어 이미지는 상기 무결성값 인증단계(S5)에 의하여 무결성값의 동일성이 인정된 경우에만 실행되도록 한다. The firmware transfer step S3 is a step of transferring the firmware image stored in the new firmware to the
상기 무결성값 인증단계(S5)는 상기 펌웨어이식단계(S3)에 의해 새롭게 이식되는 펌웨어의 무결성값과 상기 보안칩(155)에 저장된 무결성값을 비교하는 단계로, 서로 동일한 경우에만 펌웨어 이미지가 실행되어 새 펌웨어로의 업데이트가 진행될 수 있도록 한다. 따라서, 상기 무결성값 업데이트단계(S1)에 의하여 정당성이 확인된 상태에서 새 펌웨어의 무결성값으로 업데이트 되고, 새로운 무결성값을 가진 펌웨어가 이식됨으로써 펌웨어의 정당성과 무결성이 확인된 상태에서 펌웨어의 업데이트가 이루어질 수 있게 된다.
The integrity value authentication step S5 compares the integrity value of the newly transferred firmware with the integrity value stored in the
또한, 플래쉬메모리부(15)를 교체하는 방식으로 펌웨어를 업데이트 하는 경우에는 인증된 기관에 의하여 새로운 펌웨어의 무결성값이 새로운 플래쉬메모리부(15)의 보안칩(155)에 안전하게 저장되어 상기 기계장치(1)에 이식되며, 이때에는 이미 새로운 무결성값이 상기 보안칩(155)에 이식되어 기계장치(1)에 삽입되므로, 도 6에 도시된 바와 같이 무결성값 업데이트단계를 거칠 필요가 없게 된다. 따라서, 상기 플래쉬메모리부(15)가 교체되어 삽입되면, 상기 펌웨어이식단계(S3)에 의해 외부저장매체 또는 새롭게 교체된 플래쉬메모리부(15)의 비휘발성메모리모듈(153)에 펌웨어 이미지가 저장되어 상기 기계장치(1)에 이식되며, 상기 무결성값 인증단계(S5)에 의해 새로운 펌웨어의 무결성값과 상기 보안칩(155)에 저장된 무결성값을 비교하여 동일한 경우 새로운 펌웨어로의 업데이트가 진행되도록 한다.
When the firmware is updated by replacing the
본 발명에 따른 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법에 관하여 도 7을 참조하여 자세하게 설명하면, 상기 펌웨어 업데이트 방법은 앞서 설명한 바와 같이 플래쉬메모리부(15)의 교체여부에 따라 상기 무결성값 업데이트단계(S1)를 포함하느냐 포함하지 않느냐가 결정되며, 상기 플래쉬메모리부(15)를 교체하는 경우에는 새로운 플래쉬메모리부(15)의 보안칩(155)에 새로운 펌웨어의 무결성값이 저장되어 기계장치(1)에 장착되며, 상기 펌웨어이식단계(S3)에 의해 외부저장매체 또는 새로운 플래쉬메모리부(15)의 비휘발성메모리모듈(153)에 새로운 펌웨어 이미지가 저장되어 상기 기계장치(1)로 이식된다. 상기 펌웨어이식단계(S3)에 의해 기계장치(1)로 이식된 펌웨어 이미지는 상기 무결성값 인증단계(S5)에 의해 새로운 펌웨어의 무결성값과 새로운 플래쉬메모리부(15)의 보안칩(155)에 저장된 무결성값을 비교하여 서로 동일한 경우에만 실행되어 새로운 펌웨어로의 업데이트가 실행되도록 한다. 따라서, 새로운 플래쉬메모리부(15)를 교체하여 펌웨어의 업데이트를 진행하는 경우에는, 새로운 플래쉬메모리부(15)의 보안칩(155)에 인증된 기관에 의해 새로운 펌웨어의 무결성값이 안전하게 저장되므로, 무결성값을 업데이트할 필요 없이 이식되는 새로운 펌웨어와의 무결성값 동일성 여부만을 판단하여 간편하게 펌웨어 업데이트가 진행되도록 할 수 있으나, 새로운 플래쉬메보리부(15)를 사용한다는 점에서 비용적인 부담이 있다. 따라서, 앞서 설명한 바와 같이 플래쉬메모리부(15)를 교체하지 않는 방식으로 펌웨어의 업데이트를 진행하는 것이 바람직할 것이다. The firmware update method according to the present invention will now be described in more detail with reference to FIG. 7. Referring to FIG. 7, the firmware update method includes updating the integrity value according to whether the
상기 플래쉬메모리부(15)를 교체하지 않고 펌웨어의 업데이트를 진행하는 경우에는 먼저 상기 무결성값 업데이트단계(S1)를 진행하게 되며, 앞서 설명한 바와 같이 무결성과 정당성을 보장하면서 새로운 무결성값으로 업데이트 되도록 하므로, 새 펌웨어의 정당성을 보장할 수 있게 된다. 상기 무결성값 업데이트단계(S1)에서 무결성값이 새로운 펌웨어의 무결성값으로 업데이트되어 상기 보안칩(155)에 저장되면, 플래쉬메모리부(15)가 교체되는 경우와 동일하게 상기 펌웨어이식단계(S3)에 의해 펌웨어이미지가 이식되고, 상기 무결성값 인증단계(S5)에 의해 새롭게 이식된 펌웨어의 무결성값과 상기 무결성값 업데이트단계(S1)에서 업데이트 되어 저장된 무결성값을 비교하여 동일한 경우 새로운 펌웨어로의 업데이트가 진행되도록 한다. 따라서, 새로운 펌웨어로의 업데이트시 펌웨어의 정당성과 무결성이 보장될 수 있다.
In the case of updating the firmware without replacing the
이상에서, 출원인은 본 발명의 다양한 실시예들을 설명하였지만, 이와 같은 실시예들은 본 발명의 기술적 사상을 구현하는 일 실시예일 뿐이며, 본 발명의 기술적 사상을 구현하는 한 어떠한 변경예 또는 수정예도 본 발명의 범위에 속하는 것으로 해석되어야 한다. While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Should be interpreted as falling within the scope of.
1: 기계장치
11: 중앙처리부
13: 저장부
15: 플래쉬메모리부
151: 제어모듈 153: 비휘발성메모리모듈 155: 보안칩
S1: 무결성값 업데이트단계
S11: 검증키수신단계 S13: 검증키획득단계
S15: 무결성값 수신단계 S17: 무결성값 확인단계
S19: 무결성값 저장단계
S3: 펌웨어이식단계
S5: 무결성값 인증단계 1: Machinery
11:
13:
15:
151: control module 153: nonvolatile memory module 155: security chip
S1: Integrity value update step
S11: Receiving the verification key S13: Obtaining the verification key
S15: Integrity value reception step S17: Integrity value identification step
S19: Integrity value storage step
S3: Firmware Porting Phase
S5: Integrity value authentication step
Claims (11)
펌웨어의 업데이트 전에 기계장치의 보안칩에 저장된 무결성값을 새 펌웨어의 무결성값으로 업데이트하는 무결성값 업데이트단계와, 기계장치에 새 펌웨어를 이식하는 펌웨어이식단계와, 상기 펌웨어이식단계에 의하여 이식된 펌웨어의 무결성값과 상기 무결성값 업데이트단계에 의하여 업데이트된 무결성값을 비교하여 무결성값이 동일한 경우에만 펌웨어의 업데이트가 이루어지도록 하는 무결성값 인증단계를 포함하고,
상기 무결성값 업데이트단계는
외부호스트로부터 새로운 무결성값을 검증하기 위한 검증키를 수신하는 검증키수신단계와, 상기 검증키수신단계에서 수신된 검증키를 상기 보안칩에 저장된 정당성확인키로 검증하여 검증키를 획득하는 검증키획득단계와, 외부호스트로부터 새로운 무결성값을 수신하는 무결성값 수신단계와, 상기 검증키획득단계로부터 획득한 검증키를 통하여 새로운 무결성값의 정당성을 확인하는 무결성값 확인단계와, 상기 무결성값 확인단계에 의하여 정당한 무결성값으로 확인된 경우 새로운 무결성값을 상기 보안칩에 저장하는 무결성값 저장단계를 포함하며,
상기 정당성확인키 및 검증키는 공개키로 구성되고,
상기 검증키수신단계 및 무결성값 수신단계에서 수신되는 검증키 및 새로운 무결성값은 각각 상기 정당성확인키 및 검증키에 대칭되는 개인키로 전자서명되도록 하여 무결성값 업데이트단계의 보안성을 강화시키도록 하며,
상기 기계장치는 전체적인 동작을 제어하는 중앙처리부, 펌웨어가 설치되어 저장되는 저장부, 상기 기계장치에 탈착가능하도록 형성되는 플래쉬메모리부를 포함하고,
상기 중앙처리부는 상기 플래쉬메모리부가 새로운 펌웨어를 이식, 인증하여 상기 저장부에 저장하도록 하며,
상기 플래쉬메모리부는 상기 플래쉬메모리부를 제어하는 제어모듈과, 전원공급이 없어도 데이터가 지워지지 않는 비휘발성메모리모듈과, 각종 정보를 안전하게 저장하는 보안칩을 포함하고,
상기 보안칩은 보안 알고리즘을 갖는 스마트카드 칩으로 형성되어 펌웨어의 무결성값과, 무결성값의 업데이트시 새 무결성값의 정당성을 확인하는 정당성확인키를 저장하는 것을 특징으로 하는 펌웨어의 정당성 확인이 가능한 펌웨어 업데이트 방법.A method for updating firmware of a mechanical device,
An integrity value updating step of updating the integrity value stored in the security chip of the machine before updating the firmware to the integrity value of the new firmware; a firmware transfer step of transferring the new firmware to the machine; And an integrity value authentication step of comparing the integrity value of the firmware with the integrity value updated by the integrity value updating step and updating the firmware only when the integrity values are identical,
The integrity value updating step
A verification key receiving step of receiving a verification key for verifying a new integrity value from an external host; a verification key acquisition step of verifying the verification key received in the verification key reception step with the validity verification key stored in the security chip, An integrity value receiving step of receiving a new integrity value from an external host, an integrity value confirming step of confirming the justness of the new integrity value through the verification key acquired from the verification key acquiring step, And an integrity value storing step of storing a new integrity value in the security chip if it is confirmed as a valid integrity value,
Wherein the validation key and the verification key comprise a public key,
Wherein the verification key and the new integrity value received in the verification key receiving step and the integrity value receiving step are digitally signed with the private key symmetric to the validity verification key and the verification key, respectively, thereby enhancing the security of the integrity value updating step,
The apparatus includes a central processing unit for controlling overall operation, a storage unit for storing and storing firmware, and a flash memory unit detachably attached to the mechanical unit,
The central processing unit causes the flash memory unit to transplant and authenticate new firmware and store the new firmware in the storage unit,
The flash memory unit includes a control module for controlling the flash memory unit, a nonvolatile memory module in which data is not erased even when power is not supplied, and a security chip for safely storing various information,
Wherein the security chip is formed of a smart card chip having a security algorithm and stores a validity key for confirming the integrity value of the firmware and the validity of the new integrity value when updating the integrity value, How to update.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140194897A KR101563441B1 (en) | 2014-12-31 | 2014-12-31 | A Machine Capable of Checking Validity of Firmware and Firmware Updating Method Thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140194897A KR101563441B1 (en) | 2014-12-31 | 2014-12-31 | A Machine Capable of Checking Validity of Firmware and Firmware Updating Method Thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101563441B1 true KR101563441B1 (en) | 2015-10-26 |
Family
ID=54428308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140194897A KR101563441B1 (en) | 2014-12-31 | 2014-12-31 | A Machine Capable of Checking Validity of Firmware and Firmware Updating Method Thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101563441B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019124826A1 (en) * | 2017-12-20 | 2019-06-27 | 삼성전자 주식회사 | Interface device having updatable firmware, mobile device, and firmware update method |
KR102289456B1 (en) | 2020-05-21 | 2021-08-12 | 단국대학교 산학협력단 | System and Method for Remote Attestating to Verify Firmware of Programmable Logic Controllers |
-
2014
- 2014-12-31 KR KR1020140194897A patent/KR101563441B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019124826A1 (en) * | 2017-12-20 | 2019-06-27 | 삼성전자 주식회사 | Interface device having updatable firmware, mobile device, and firmware update method |
US11567748B2 (en) | 2017-12-20 | 2023-01-31 | Samsung Electronics Co., Ltd. | Interface device having updatable firmware, mobile device, and firmware update method |
KR102289456B1 (en) | 2020-05-21 | 2021-08-12 | 단국대학교 산학협력단 | System and Method for Remote Attestating to Verify Firmware of Programmable Logic Controllers |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659234B2 (en) | Dual-signed executable images for customer-provided integrity | |
CN106452783B (en) | Computer system and method for secure execution | |
RU2356169C2 (en) | Affixment of software to hardware with application of cryptography | |
CN106471768B (en) | Method and apparatus for establishing secure communication channel | |
US9450947B2 (en) | Apparatus and method for securing a debugging session | |
US8539610B2 (en) | Software security | |
CN101194461B (en) | Method and apparatus for certificate roll-over | |
KR101795457B1 (en) | Method of initializing device and method of updating firmware of device having enhanced security function | |
JP6371919B2 (en) | Secure software authentication and verification | |
EP2530964B1 (en) | Method and device for terminal network locking | |
US20140359268A1 (en) | Methods of Securely Changing the Root Key of a Chip, and Related Electronic Devices and Chips | |
KR101963776B1 (en) | Method and apparatus for secure updates of software in vehicle electric system | |
US11552807B2 (en) | Data processing method and apparatus | |
WO2017045627A1 (en) | Control board secure start method, and software package upgrade method and device | |
ES2891029T3 (en) | Procedures for uploading a profile to a secure element, administrator, and customizable secure element | |
WO2009157133A1 (en) | Information processing device, information processing method, and computer program and integrated circuit for the realization thereof | |
US10621335B2 (en) | Method and device for verifying security of application | |
CN111984962A (en) | Firmware security verification method and device | |
KR101751098B1 (en) | Method for programming a mobile terminal chip | |
KR101563441B1 (en) | A Machine Capable of Checking Validity of Firmware and Firmware Updating Method Thereof | |
CN110532777B (en) | Secure start system and method, terminal equipment and core system thereof | |
JP7428049B2 (en) | Devices, secure elements and device secure boot methods | |
Weimerskirch | Secure Software Flashing | |
US9633229B2 (en) | Semiconductor device module, license setting method and medium having license setting program recorded therein | |
CN117063176A (en) | Configuration control apparatus and method for configuring electronic components of electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181008 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191014 Year of fee payment: 5 |