[go: up one dir, main page]

KR20080039046A - Firmware update device and method - Google Patents

Firmware update device and method Download PDF

Info

Publication number
KR20080039046A
KR20080039046A KR1020060106703A KR20060106703A KR20080039046A KR 20080039046 A KR20080039046 A KR 20080039046A KR 1020060106703 A KR1020060106703 A KR 1020060106703A KR 20060106703 A KR20060106703 A KR 20060106703A KR 20080039046 A KR20080039046 A KR 20080039046A
Authority
KR
South Korea
Prior art keywords
firmware
file
signature
authenticated
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
KR1020060106703A
Other languages
Korean (ko)
Inventor
정원식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060106703A priority Critical patent/KR20080039046A/en
Priority to PCT/KR2007/004142 priority patent/WO2008054058A1/en
Publication of KR20080039046A publication Critical patent/KR20080039046A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

A device and a method for updating firmware are provided to prevent misuse of a system, and prevent illegal storage or distribution of contents included in the firmware by downloading only the authenticated firmware and updating the firmware with the authenticated firmware. A controller(210) downloads authenticated firmware by determining whether the firmware corresponding to an update command is authenticated based on an authentication signature and a public key, which are included in the firmware. A memory(220) stores the authenticated firmware by the controller. The controller downloads the firmware when the authentication signature of a firmware file code is identical with the signature calculated by using the public key.

Description

펌웨어 업데이트 장치 및 방법{Apparatus and method for updating firmware}Apparatus and method for updating firmware

도 1은 종래의 펌웨어 업데이트 방법을 도시한 플로우차트이다.1 is a flowchart illustrating a conventional firmware update method.

도 2는 본 발명의 일 실시예에 따른 펌웨어 업데이트 장치를 도시한 블록 다이어그램이다.2 is a block diagram illustrating a firmware update apparatus according to an embodiment of the present invention.

도 3은 도 2에 도시된 펌웨어 업데이트 장치의 구체적 구성을 도시한 블록 다이어그램이다.3 is a block diagram showing a specific configuration of the firmware update apparatus shown in FIG.

도 4는 본 발명의 일 실시예에 따른 펌웨어를 도시한 도면이다.4 is a diagram illustrating firmware according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 펌웨어 업데이트 방법을 도시한 플로우차트이다.5 is a flowchart illustrating a firmware update method according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 임베디드 시스템 내의 펌웨어 업데이트 방법을 도시한 플로우 차트이다.6 is a flowchart illustrating a firmware update method in an embedded system according to an exemplary embodiment of the present invention.

본 발명은 펌웨어(firmware)에 관한 것으로, 보다 상세하게는 펌웨어를 업데이트하는 장치 및 방법에 관한 것이다.The present invention relates to firmware, and more particularly, to an apparatus and a method for updating firmware.

임베디드 시스템이라 함은 일반적인 컴퓨터가 아닌 각종 전자제품이나 정보기기 등에 설치되어 있는 마이크로프로세서에 미리 정해진 특정한 기능만을 수행하는 S/W를 내장시킨 시스템을 말한다.The embedded system refers to a system in which S / W that performs only a predetermined specific function is embedded in a microprocessor installed in various electronic products or information devices, not a general computer.

즉, 임베디드 시스템은 산업 및 군사용 제어기기, 디지털 정보 가전기기, 자동 센서 장비 등의 기능을 다양화하고 부가가치를 높이기 위한 핵심 시스템으로, 일상 생활 속에서 쉽게 접할 수 있는 휴대폰, TV, 세탁기, DVD 플레이어, MP3 플레이어, 캠코더, 디지털 카메라 등과 같은 가전 기기가 있다. 뿐만 아니라, 승강기, 항공기, 의료기기, 기차, 통신 장비(교환기, 라우터 등)도 임베디드 시스템에 포함된다.In other words, the embedded system is a core system for diversifying functions and increasing added value of industrial and military control devices, digital information appliances, automatic sensor equipment, etc., which are easily accessible in everyday life such as mobile phones, TVs, washing machines, and DVD players. Consumer electronics devices such as MP3 players, camcorders, digital cameras and the like. In addition, elevators, aircraft, medical devices, trains and telecommunications equipment (exchangers, routers, etc.) are included in embedded systems.

통상적으로 다양한 기능을 수행하는 시스템, 특히 임베디드 시스템은 해당 기능을 수행하기 위한 펌웨어를 내장한다. 펌웨어는 일반적으로 롬(ROM), 즉 플래시 메모리에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미한다. 프로그램이라는 관점에서 소프트웨어와 동일하지만, 하드웨어와 밀접한 관계를 가지고 있다는 점에서 펌웨어는 일반 응용 소프트웨어와 구분되며, 소프트웨어와 하드웨어의 특성을 모두 가지고 있다고 할 수 있다. Typically, systems that perform a variety of functions, particularly embedded systems, have built-in firmware to perform those functions. Firmware generally refers to a microprogram that controls hardware stored in ROM, or flash memory. It is the same as software in terms of a program, but firmware is distinguished from general application software in that it is closely related to hardware, and can be said to have both software and hardware characteristics.

예를 들어, 어떤 기능을 발휘하는 하드웨어를 만든다고 할 때, 그것을 제어하는 모든 회로를 하드웨어로만 만든다면, 그 구조도 매우 복잡해지고 심지어는 논리적인 표현을 하기 어려운 부분도 발생한다. 이런 경우 상당부분을 소프트웨어로 대체하되, 그 소프트웨어가 저장된 기억 장치를 하드웨어의 중심부분으로 구성하면, 매우 간단하면서도 적은 비용으로 문제를 해결할 수 있게 된다. 이렇게 만든 하드웨어적인 소프트웨어를 펌웨어라고 한다. For example, if you make hardware that functions, if you make all the circuits that control it in hardware, the structure becomes very complicated and even difficult to express logically. In this case, a large part of the software can be replaced, but if the storage device where the software is stored is configured as a central part of the hardware, the problem can be solved very simply and at low cost. The hardware software thus created is called firmware.

펌웨어는 운영 체제(Operating System)와 같은 대규모의 프로그램을 사용하기 보다는 소규모의 단일 프로그램을 탑재하기 위해 많이 사용된다. 이와 같이 펌웨어는 소규모의 프로그램이기 때문에, 펌웨어 자체의 오류 개선이나 시스템의 성능 향상, 기능 추가 등의 목적으로 수시로 업데이트 될 수 있다.Firmware is often used to load a single, small program rather than a large program, such as an operating system. Thus, 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, or adding a function.

이하에서는 첨부도면을 참조하여 상술한 펌웨어를 업데이트하기 위한 종래의 방법에 대해 살펴본다.Hereinafter, a conventional method for updating the above-described firmware will be described with reference to the accompanying drawings.

도 1은 종래의 펌웨어 업데이트 방법을 도시한 플로우차트이다.1 is a flowchart illustrating a conventional firmware update method.

단계 110에서는 시스템의 제어부가 사용자로부터 펌웨어 업데이트 실행 명령을 받는다. 단계 120에서는 사용자가 업데이트할 펌웨어를 다운로드한다.In step 110, the controller of the system receives a firmware update execution command from the user. In step 120, the user downloads the firmware to be updated.

이러한 종래의 펌웨어 업데이트 방법은 시스템의 펌웨어를 임의로 추출, 수정하여 기기의 본연의 목적을 벗어나 악의적으로 사용될 수 있는 여지가 있다. 예를 들어, 저작권이 있는 컨텐츠를 보호해야할 시스템의 펌웨어를 수정하여, 컨텐츠 보호에 해가 되게 할 수 있는 문제점이 있다.Such a conventional firmware update method may leave the system's firmware arbitrarily and may be used maliciously beyond the original purpose of the device. For example, there is a problem that can modify the firmware of the system to protect the copyrighted content, which may harm the content protection.

따라서, 전술한 문제점을 해결하기 위한 본 발명의 목적은, 인증된 펌웨어만을 다운로드하는 펌웨어 업데이트 장치 및 방법을 제공하는 데 있다.Accordingly, an object of the present invention for solving the above problems is to provide a firmware update apparatus and method for downloading only the authenticated firmware.

또한 본 발명은 인증된 펌웨어만을 시스템에 장착하여, 시스템의 오용을 막고, 무단으로 펌웨어 내의 컨텐츠를 저장 또는 배포하는 것을 막기 위한 것이며, 컨텐츠의 훼손으로 인해 시스템의 제조 회사가 컨텐츠 저작권자로부터 책임을 요구 하는 불미스러운 일을 미연에 방지하는 것을 목적으로 한다.In addition, the present invention is to prevent the misuse of the system, and to prevent unauthorized storage or distribution of the contents in the firmware by mounting only the authorized firmware in the system, and the manufacturer of the system demands responsibility from the contents copyright holder due to the damage of the contents. It aims to prevent unpleasant things to be done.

상기 기술적 과제는 본 발명에 따른 시스템의 펌웨어 업데이트 장치에 있어서, 업데이트 실행 명령을 받은 펌웨어의 인증 여부를 판단하여, 인증된 펌웨어만 다운로드 하는 제어부; 및 상기 제어부에 의해서, 상기 인증된 펌웨어가 저장되는 메모리부를 포함하는 것을 특징으로 하는 펌웨어 업데이트 장치에 의해 달성된다.According to an aspect of the present invention, there is provided an apparatus for updating a firmware of a system according to an embodiment of the present invention, comprising: a control unit for determining whether or not to authenticate an firmware that receives an update execution command and downloading only the authenticated firmware; And a memory unit in which the authenticated firmware is stored by the controller.

상기 제어부는 상기 펌웨어에 포함된 인증용 서명을 이용하여 인증 여부를 판단하는 것이 바람직하다.The control unit may determine whether to authenticate using an authentication signature included in the firmware.

상기 펌웨어 업데이트 장치는 상기 펌웨어의 인증 여부를 판단하기 위한 공개키(public key)를 더 포함하며, 상기 제어부는 상기 다운로드할 펌웨어의 파일코드 상의 인증용 서명과, 상기 공개키를 이용하여 계산된 서명을 비교하여, 상기 펌웨어의 파일코드 상의 인증용 서명과 상기 계산된 서명이 일치하는 경우에만, 상기 펌웨어를 다운로드하는 것이 바람직하다. The firmware update apparatus further includes a public key for determining whether the firmware is authenticated, and the controller is configured to use a signature for authentication on a file code of the firmware to be downloaded and a signature calculated using the public key. In comparison, it is preferable to download the firmware only when the signature for authentication on the file code of the firmware and the calculated signature match.

한편, 상기 기술적 과제는, 본 발명의 다른 분야에 따라, 시스템의 펌웨어 업데이트 방법에 있어서, 펌웨어 업데이트 실행 명령을 받는 단계; 상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계; 및 상기 다운로드할 펌웨어 파일이 인증된 것인 경우에, 상기 펌웨어 파일을 다운로드하는 단계로 구성되는 것을 특징으로 하는 펌웨어 업데이트 방법에 의해서도 달성된다.On the other hand, the technical problem, according to another field of the present invention, in the firmware update method of the system, receiving a firmware update execution command; Determining whether the firmware file received the update command is authenticated; And downloading the firmware file if the firmware file to be downloaded is authenticated.

상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계는, 상기 펌웨어 포함된 인증용 서명을 이용하여 상기 펌웨어 파일의 인증 여부를 판단하는 단계를 포함하는 것이 바람직하다.The determining of whether the firmware file received the update command is authenticated may include determining whether the firmware file is authenticated using an authentication signature included in the firmware.

상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계는, 상기 다운로드할 펌웨어의 파일 코드 상의 인증용 서명과, 공개키를 이용하여 계산된 서명이 일치하는지 판단하는 단계를 포함하며, 상기 다운로드 단계는 상기 다운로드할 펌웨어의 파일 코드 상의 인증용 서명과 상기 계산된 서명이 일치하는 경우에 상기 펌웨어 파일을 다운로드하는 단계로 구성되는 것이 바람직하다.Determining whether or not the update command firmware file is authenticated, includes determining whether the authentication signature on the file code of the firmware to be downloaded and the signature calculated using the public key match. And downloading the firmware file when the authentication signature on the file code of the firmware to be downloaded and the calculated signature match.

한편, 본 발명의 다른 분야에 따라, 펌웨어에 있어서, 펌웨어 업데이트 실행시, 펌웨어 업데이트 장치에 의해서 상기 펌웨어 파일의 인증 여부를 판단하기 위해 이용되는 인증용 서명을 포함하는 펌웨어에 의해서도 달성된다.On the other hand, according to another field of the present invention, in the firmware, when the firmware update is executed, it is also achieved by the firmware including an authentication signature used to determine whether the firmware file is authenticated by the firmware updater.

도 2는 본 발명의 일 실시예에 따른 펌웨어 업데이트 장치를 도시한 블록 다이어그램이다.2 is a block diagram illustrating a firmware update apparatus according to an embodiment of the present invention.

본 발명에 의한 펌웨어 업데이트 장치는 제어부(210) 및 메모리부(220)를 포함한다.The firmware updater according to the present invention includes a control unit 210 and a memory unit 220.

제어부(210)는 펌웨어 업데이트 실행 명령을 받고, 업데이트 실행 명령을 받은 펌웨어가 인증된 펌웨어인지를 판단한다. 이때, 인증된 펌웨어인지의 판단은 다운로드할 펌웨어의 인증용 서명과, 인증과정에서 나온 계산된 서명이 일치하는지 여부를 판단하는 것에 의해 수행될 수 있다. 제어부(210)는 다운로드할 펌웨어가 인증된 것인 경우에만, 이를 다운로드한다.The controller 210 receives the firmware update execution command and determines whether the firmware which has received the update execution command is an authenticated firmware. At this time, the determination of whether the firmware is certified may be performed by determining whether the signature for authentication of the firmware to be downloaded and the calculated signature from the authentication process match. The controller 210 downloads the firmware only when the firmware to be downloaded is authenticated.

메모리부(220)는 인증된 펌웨어가 저장되는 장소이다. 메모리부(220)는 보통 플래시 메모리와 RAM으로 구성된다.The memory unit 220 is a place where the authenticated firmware is stored. The memory unit 220 is usually composed of a flash memory and a RAM.

플래시 메모리는 다운로드할 펌웨어가 인증된 것으로 판단되면, 상기 제어부(210)에 의해서 펌웨어를 저장하는 곳이다. 플래시 메모리는 일반적으로, 제어부의 동작 코드 및 데이터, 데이터를 관리하는 파일 시스템 등이 저장되어 있다. 보통 펌웨어의 업데이트를 수행하는 펌웨어 업데이트 프로그램도 플래시 메모리에 저장되어 있다. 플래시 메모리는 비휘발성 메모리로서, 다른 비휘발성 메모리로 대체될 수 있다. If it is determined that the firmware to be downloaded is authenticated, the flash memory is a place for storing the firmware by the controller 210. In general, a flash memory stores operation codes and data of a controller, a file system for managing data, and the like. Firmware update programs, which usually perform firmware updates, are also stored in flash memory. The flash memory is a nonvolatile memory and may be replaced with another nonvolatile memory.

RAM은 펌웨어의 업데이트 시, 펌웨어 다운로드 동작을 위한 코드 및 데이터가 저장되는 장소이다. 시스템의 동작 코드는 플래시 메모리에 저장되어 있으며, 시스템과 구동 시에, 시스템 동작 코드 중에서 필요한 코드 및 데이터를 RAM으로 로드한다. 펌웨어의 업데이트 시에도, 펌웨어 다운로드 동작을 위한 코드 및 데이터를 플래시 메모리로부터 로드하여, RAM에 저장한다. 이때, RAM은 휘발성 메모리로서, 다른 휘발성 메모리로 대체될 수 있다.The RAM is a place where codes and data for a firmware download operation are stored when updating firmware. The operation code of the system is stored in the flash memory. When the system and the drive are executed, the necessary code and data among the system operation codes are loaded into the RAM. Even during the firmware update, the code and data for the firmware download operation are loaded from the flash memory and stored in the RAM. In this case, the RAM is a volatile memory and may be replaced with another volatile memory.

도 3은 도 2에 도시된 펌웨어 업데이트 장치의 구체적인 구성을 도시한 블록 다이어그램이다.3 is a block diagram showing a specific configuration of the firmware update apparatus shown in FIG.

본 발명의 일 실시예에 따른 펌웨어 업데이트 장치는 제어부(210) 메모리부(220), 사용자 인터페이스부(350) 및 외부 인터페이스부(360)를 포함한다.The firmware update apparatus according to an embodiment of the present invention includes a control unit 210, a memory unit 220, a user interface unit 350, and an external interface unit 360.

임베디드 시스템에 전원이 들어오면, 제어부(210)의 CPU(310)는 플래시 메모리(330)에 저장되어 있는 동작 코드 및 데이터를 RAM(340)에 로드하여, 코드에 들어 있는 명령어를 수행하게 된다.When the embedded system is powered on, the CPU 310 of the controller 210 loads operation codes and data stored in the flash memory 330 into the RAM 340 to execute instructions contained in the code.

제어부(210)의 CPU(310)가 사용자 인터페이스부(350)를 통해서, 사용자로부 터 펌웨어 업데이트 명령을 받으면, 우선 플래시 메모리(320)에 저장되어 있는 펌웨어 다운로딩 실행 코드 및 데이터를 RAM(340)에 로드한다. 플래시 메모리(320)에는 제어부(210)의 전반적인 동작 및 데이터가 저장되어 있는데, 펌웨어 업데이트 실행 프로그램도 함께 저장되어 있는 것이 일반적이다.When the CPU 310 of the controller 210 receives a firmware update command from the user through the user interface 350, first, the firmware downloading execution code and data stored in the flash memory 320 are stored in the RAM 340. To load). The flash memory 320 stores the general operation and data of the controller 210, and a firmware update execution program is also generally stored together.

다음으로, CPU(310)는 다운로드할 펌웨어가 인증된 펌웨어인지 여부를 판단한다. 인증된 펌웨어인지의 판단은 다운로드할 펌웨어의 파일코드 상의 인증용 서명과, 공개키(public key)(320)를 통해 계산된 서명을 비교하는 것에 의해서 수행될 수 있다. 공개키(320)는 파일을 전송하는 측과 수신하는 측 모두가 이용가능한 가능한 키로서, 펌웨어 업데이트 장치의 제어부(210) 또는 메모리부(220)에 포함되거나, 도 3에서처럼 제어부(210) 및 메모리부(220)와는 별도로 펌웨어 업데이트 장치를 구성할 수 있다. 또한 공개키(320)는 펌웨어 파일과 함께 외부로부터 제공받을 수 있다.Next, the CPU 310 determines whether the firmware to be downloaded is an authenticated firmware. The determination of whether the firmware is certified may be performed by comparing the signature for authentication on the file code of the firmware to be downloaded with the signature calculated through the public key 320. The public key 320 is a key that can be used by both the transmitting side and the receiving side. The public key 320 is included in the control unit 210 or the memory unit 220 of the firmware update apparatus, or as shown in FIG. 3. The firmware update apparatus may be configured separately from the unit 220. In addition, the public key 320 may be provided from the outside along with the firmware file.

데이터 등을 안전하게 주고 받을 수 있게 하기 위해서 PKI(Public Key Infrastructure) 시스템이 사용되는데, PKI는 공개키 알고리즘을 통해서 암호화 또는 복호화하는 보안시스템 환경을 말한다. 이 환경에서는 한 쌍의 키가 사용되어 보안 유지를 도와주는데, 여기서 말하는 한 쌍의 키는 비대칭 암호화 알고리즘의 키 쌍을 의미하는 것으로 각각 암호화 및 복호화에 사용되는 비밀키(private key)와 공개키(public key)이다. 다시 말해서, 암호화에 사용하는 비밀키와 해독에 사용하는 공개키를 구분하여 두 개의 키로 사용하는 방식이다. Public key infrastructure (PKI) is used to securely send and receive data. PKI refers to a security system environment that encrypts or decrypts through a public key algorithm. In this environment, a pair of keys are used to help maintain security, where a pair of keys refers to a key pair of asymmetric encryption algorithms, which are used for encryption and decryption, respectively. public key). In other words, the secret key used for encryption and the public key used for decryption are distinguished and used as two keys.

펌웨어 파일을 제공하는 자, 즉 펌웨어를 만든 자는 비밀키를 이용하여 다운 로드할 펌웨어 파일의 서명을 생성할 수 있다. 비밀키는 펌웨어를 만들어 제공하는 사람만이 가지기 때문에, 펌웨어 파일의 서명은 해당 펌웨어의 제조자측만이 만들 수 있다. 따라서, 권한이 없는 사람이 임의적으로 파일의 내용을 바꾸고 그에 맞는 서명으로 변경하려고 할 수 없다.The person who provides the firmware file, that is, the creator of the firmware, can generate a signature of the firmware file to download using the secret key. Since the private key is owned by the person who makes and provides the firmware, the signature of the firmware file can only be created by the manufacturer of the firmware. Thus, an unauthorized person cannot arbitrarily change the contents of a file and attempt to change the signature accordingly.

제어부(210)의 CPU(310)는 외부 인터페이스부(360)를 통해 펌웨어 파일 제공자로부터 다운로드할 펌웨어 파일을 우선 읽는다. CPU(310)는 펌웨어 파일을 읽으면서, 공개키(320)를 이용하여 새로운 서명을 계산한다. 다음으로 CPU(310)는 외부 인터페이스부(360)를 통해 제공받은 펌웨어 파일 코드 상의 인증용 서명과, 공개키(320)를 이용하여 계산된 서명이 일치하는지 비교한다. 이 비교 과정에서는 PKI 방식에 의해서, 오직 인증된 펌웨어 파일이 가지는 인증용 서명만이 계산된 서명과 동일한 값을 가질 수 있다.The CPU 310 of the controller 210 first reads a firmware file to be downloaded from the firmware file provider through the external interface 360. The CPU 310 calculates a new signature using the public key 320 while reading the firmware file. Next, the CPU 310 compares the signature for authentication on the firmware file code received through the external interface unit 360 with the signature calculated using the public key 320. In this comparison process, by the PKI method, only the authentication signature of the authenticated firmware file can have the same value as the calculated signature.

다운로드할 펌웨어가 인증된 것으로 판단되면, 즉 펌웨어 파일 코드 상의 인증용 서명과 계산된 서명이 일치하면, 제어부(210)에 의해서 펌웨어가 플래시 메모리(330)에 저장된다. 플래시 메모리(330)에 펌웨어를 저장한 다음에는, CPU(310)는 시스템 실행을 위해서 재부팅 과정을 거치게 된다.When it is determined that the firmware to be downloaded is authenticated, that is, when the signature for authentication on the firmware file code and the calculated signature match, the firmware is stored in the flash memory 330 by the controller 210. After storing the firmware in the flash memory 330, the CPU 310 undergoes a reboot process to execute the system.

다운로드할 펌웨어가 인증된 것이 아닌 경우에는, 즉 펌웨어 파일 코드 상의 인증용 서명과 계산된 서명이 일치하지 않는 경우에는, CPU(310)는 사용자 인터페이스부(350)를 통해서 사용자에게 해당 펌웨어가 인증된 것이 아님을 알릴 수 있다. 통지를 받은 사용자는 사용자 인터페이스부(350)를 통해서 펌웨어의 다운로드를 취소하거나 재다운로드를 지시할 수 있다.If the firmware to be downloaded is not authenticated, i.e., if the signature for authentication on the firmware file code and the calculated signature do not match, the CPU 310 authenticates the user to the user through the user interface 350. You can tell that it is not. The user who has received the notification may cancel the download of the firmware or instruct the redownloading through the user interface 350.

도 4는 본 발명의 일 실시예에 따른 펌웨어의 예를 도시한 도면이다.4 is a diagram illustrating an example of firmware according to an embodiment of the present invention.

펌웨어 내에는 인증용 서명이 포함되어 있는데, 이 인증용 서명과, 공개키(320)를 이용해 계산된 서명과의 일치여부를 비교하여 펌웨어 파일이 인증된 것인지 판단한다.In the firmware, a signature for authentication is included. It is determined whether the firmware file is authenticated by comparing the authentication signature with a signature calculated using the public key 320.

펌웨어는 주로 이미지 파일의 형태를 포함한다. 임베디드 시스템에서는 실행할 프로그램 코드를 만들면, 이 코드를 마이크로컴퓨터 또는 PC가 사용할 수 있도록 컴파일할 때, 컴파일러(compiler)가 주로 이미지 파일을 만든다. 따라서 임베디드 시스템에서 펌웨어 파일을 시스템의 저장장치, 즉 플래시 메모리(330)로 다운로드할 때의 파일은 주로 이미지 파일이 된다.Firmware mainly includes the form of image files. In an embedded system, when you write program code to run, when you compile this code for use by a microcomputer or PC, the compiler produces an image file. Therefore, in the embedded system, when the firmware file is downloaded to the storage device of the system, that is, the flash memory 330, the file is mainly an image file.

펌웨어에는 공개키가 포함될 수도 있다. 그러나, 펌웨어 포함된 공개키는 해당 펌웨어의 업데이트를 위한 공개키가 아니라, 다음 번 펌웨어 업데이트시에 사용된 공개키이다. 그 이유는 인증된 펌웨어인 경우에만 다운로드가 가능하므로, 인증된 펌웨어인지 여부가 결정되지 않은 상태에서, 인증 여부를 판단하기 위한 공개키로서 해당 펌웨어에 포함된 공개키를 사용할 수 없기 때문이다. The firmware may include a public key. However, the public key included in the firmware is not a public key for updating the corresponding firmware, but a public key used in the next firmware update. The reason is that since the download is possible only in the case of an authenticated firmware, it is not possible to use a public key included in the firmware as a public key for determining whether or not the firmware is authenticated.

도 5는 본 발명의 일 실시예에 따른 펌웨어 업데이트 방법을 도시한 플로우차트이다.5 is a flowchart illustrating a firmware update method according to an embodiment of the present invention.

단계 510에서는 사용자로부터 펌웨어 업데이트 실행 명령을 받는다. 펌웨어는 소규모의 프로그램이으로, 펌웨어 자체의 오류 개선이나 시스템의 성능 향상, 기능 추가 등의 목적으로 수시로 업데이트 될 수 있는 특징이 있다. In step 510, the user receives a firmware update execution command. The firmware is a small program that can be updated from time to time for the purpose of improving the error of the firmware itself, improving the performance of the system, or adding functions.

단계 520에서는 업데이트 실행 명령을 받은 펌웨어 파일이 인증된 것인지여 부를 판단한다. 펌웨어를 업데이트하는 데 필요한 프로그램이 플래시 메모리(330)에 저장되어 있는데, 업데이트 명령을 받은 시스템은 플래시 메모리(330)에 저장되어 있는 업데이트에 필요한 다운로드 프로그램을 RAM(340)에 로드한다. 다음으로 외부 인터페이스(360)를 통해서 다운로드할 펌웨어 파일을 읽으면서, 펌웨어 파일이 인증된 것인지를 우선적으로 판단하게 된다.In step 520, it is determined whether the firmware file which has received the update execution command is authenticated. The program required to update the firmware is stored in the flash memory 330. The system that receives the update command loads the download program necessary for the update stored in the flash memory 330 into the RAM 340. Next, while reading the firmware file to download through the external interface 360, it is first determined whether the firmware file is authenticated.

단계 530에서는 펌웨어 파일이 인증된 것인 경우에 한해서, 펌웨어 파일을 시스템에 다운로드한다. 다운로드된 펌웨어는 플래시 메모리(330)에 저장된다. 펌웨어 파일이 인증된 것이 아닌 경우에는 사용자에게 이를 통지하고 다운로드를 수행하지 않는다.In operation 530, the firmware file is downloaded to the system only when the firmware file is authenticated. The downloaded firmware is stored in the flash memory 330. If the firmware file is not authorized, the user is notified and no download is performed.

도 6은 본 발명의 일 실시예에 따른 임베디드 시스템 내의 펌웨어 업데이트 방법을 도시한 플로우 차트이다.6 is a flowchart illustrating a firmware update method in an embedded system according to an exemplary embodiment of the present invention.

단계 610에서는 임베디드 시스템의 전원이 켜지고, 하드웨어 초기화를 거쳐서 플래시 메모리(330)에 있는 코드 및 데이터가 RAM(340)으로 로드된다. 임베디드 시스템은 시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능만을 가진 시스템으로, PC와는 달리 특정한 요구사항을 가지고 있으며, 미리 정의된 작업만을 수행한다. PC는 하드디스크와 같은 대용량 저장장치에 운영 체제를 내장하고 있지만 임베디드 시스템은 OS와 응용프로그램들이 플래시 메모리(330)에 주로 이미지의 형태로 저장되어 있다가, 부팅과 동시에 RAM 디스크를 만들고, RAM 디스크 상에 이를 로드하여 프로그램이 구성되고 구동되는 시스템이다. 따라서, 임베디드 시스템의 부팅시, 플래시 메모리(330)에 있는 코드 이미지 등이 RAM(340)에 로 드되고, 그 코드에 있는 명령어를 수행한다.In step 610, the embedded system is powered on, and code and data in the flash memory 330 are loaded into the RAM 340 through hardware initialization. Embedded system is a system with special functions by embedding software to operate the system in hardware. Unlike PC, it has specific requirements and performs only predefined tasks. The PC has an operating system embedded in a mass storage device such as a hard disk, but in an embedded system, the OS and applications are mainly stored in the form of an image in the flash memory 330, and then a RAM disk is created at boot time. It is a system in which a program is configured and run by loading it on a computer. Thus, upon booting the embedded system, a code image, etc., in the flash memory 330 is loaded into the RAM 340 and performs the instructions in that code.

단계 620에서는, 사용자로부터 사용자 인터페이스(350)를 통해서 펌웨어의 업데이트를 실행하라는 명령을 받는다. In operation 620, the user is instructed to execute an update of the firmware through the user interface 350.

단계 630에서는 CPU가 펌웨어 업데이트 실행에 필요한 코드 및 데이터 등을 플래시 메모리(330)로부터 RAM(340)으로 로드한다. 플래시 메모리(330)에는 시스템의 전반적인 동작 코드 및 데이터, 파일 시스템이 저장되어 있으며, 펌웨어 업데이트에 필요한 다운로드 프로그램도 저장되어 있다. 따라서, 플래시 메모리(330)에 저장되어 있는 펌웨어 업데이트 실행에 필요한 코드 및 데이터를 RAM(340)으로 로드하여, 펌웨어 다운로드를 위한 준비를 한다.In operation 630, the CPU loads code, data, and the like necessary for executing the firmware update from the flash memory 330 to the RAM 340. The flash memory 330 stores overall operation codes, data, and file system of the system, and also downloads programs for firmware update. Therefore, the code and data necessary for executing the firmware update stored in the flash memory 330 are loaded into the RAM 340 to prepare for the firmware download.

단계 640에서는 RAM(340)에 로드된 코드를 이용하여, 외부 인터페이스부(360)를 통해서 다운로드할 펌웨어 파일을 읽는다. 업데이트 명령을 받은 펌웨어 파일을 바로 다운로드하여, 플래시 메모리(330)에 저장하는 것이 아니라, 다운로드할 펌웨어 파일이 인증된 것인지를 판단하기 위해서, 우선적으로 펌웨어 파일을 판독한다. 펌웨어 파일의 판독 시, 펌웨어 파일 코드 상의 인증용 서명을 파악할 수 있다. 펌웨어 파일 코드 상의 인증용 서명은 펌웨어를 제공하는 측에서 비밀키를 이용하여 암호화한 서명으로, 펌웨어 파일이 인증된 것인지 판단하는 과정에서 사용된다.In operation 640, the firmware file to be downloaded is read through the external interface 360 using the code loaded in the RAM 340. In order to determine whether the firmware file to be downloaded is authenticated, the firmware file is first read, rather than being directly downloaded and stored in the flash memory 330. When reading the firmware file, the authentication signature on the firmware file code can be identified. The authentication signature on the firmware file code is a signature encrypted using a secret key at the side of providing the firmware, and is used in the process of determining whether the firmware file is authenticated.

단계 650에서는 공개키(320)를 이용하여 서명을 계산한다. 공개키(320)는 별도의 구성요소로 펌웨어 업데이트 장치에 포함되거나, RAM(340) 또는 플래시 메모리(330)와 같은 메모리부(220)에 저장되어 있을 수 있다. 계산된 서명은 펌웨어 파 일이 인증된 것인지를 판단하는 단계에서 사용될 것으로, 다운로드할 펌웨어 파일과 공개키(320)를 이용하여 생성될 수 있다.In step 650, the signature is calculated using the public key 320. The public key 320 may be included in the firmware update apparatus as a separate component or may be stored in the memory unit 220 such as the RAM 340 or the flash memory 330. The calculated signature will be used in determining whether the firmware file is authenticated and can be generated using the firmware file and the public key 320 to be downloaded.

단계 660에서는 단계 640에서 파악된 다운로드할 펌웨어 파일 코드 상의 인증용 서명과 단계 650에서 계산된 서명이 일치하는지 판단한다. 이 비교 과정에서는 PKI 방식에 의해서, 오직 인증된 펌웨어 파일이 가지는 인증용 서명만이 계산된 서명과 동일한 값을 가질 수 있는데, PKI 시스템이란 공개키 알고리즘을 통해서 암호화 또는 복호화하는 보안시스템 환경을 말한다. 단계 660은 PKI를 통해서 다운로드할 펌웨어 파일이 인증된 펌웨어 파일인지를 판단하는 단계이다.In step 660, it is determined whether the signature for authentication on the firmware file code to be downloaded identified in step 640 matches the signature calculated in step 650. In this comparison process, only the authentication signature of the certified firmware file can have the same value as the calculated signature by the PKI method. A PKI system is a security system environment that encrypts or decrypts through a public key algorithm. Step 660 is a step of determining whether the firmware file to be downloaded through the PKI is an authorized firmware file.

단계 670에서는 다운로드할 펌웨어 파일 코드 상의 인증용 서명과 계산된 서명이 일치하는 경우에, 플래시 메모리(330)에 펌웨어 다운로드를 수행한다. In operation 670, when the authentication signature on the firmware file code to be downloaded and the calculated signature match, the firmware download is performed to the flash memory 330.

단계 680에서는 시스템이 새로운 명령어를 실행하는 과정으로 들어가기 위해서 재부팅을 한다.In step 680, the system reboots to enter the process of executing a new command.

단계 690에서는 다운로드할 펌웨어 파일 코드 상의 인증용 서명과 계산된 서명이 일치하지 않는 경우에, 다운로드를 수행하지 않고, 사용자 인터페이스부(350)를 통해서 사용자에게 이를 통지한다. 통지를 받은 사용자는 사용자 인터페이스부(350)를 통해서 펌웨어의 다운로드를 취소하거나 재다운로드를 지시할 수 있다.In step 690, if the signature for authentication on the firmware file code to be downloaded and the calculated signature do not match, the user is notified of the user through the user interface unit 350 without performing the download. The user who has received the notification may cancel the download of the firmware or instruct the redownloading through the user interface 350.

본 발명의 실시예에서 임베디드 시스템이 플래시 메모리(330)와 RAM(340)을 구비하는 것으로 기재하였지만, 본 발명이 플래시 메모리(330)와 RAM(340)이 아닌, 비휘발성 메모리와 휘발성 메모리에 적용될 수 있음은 당업자에게 명백하다.Although an embodiment of the present invention describes an embedded system having a flash memory 330 and a RAM 340, the present invention is applicable to non-volatile memory and volatile memory, not the flash memory 330 and RAM 340. It will be apparent to those skilled in the art.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으 로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. The computer-readable recording medium may be a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.) and a carrier wave (for example, the Internet). Storage medium).

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

전술한 바와 같이 본 발명에 따르면, 인증된 펌웨어만을 다운로드할 수 있어, 시스템이 본연의 목적을 벗어나 악의적인 목적으로 사용되는 것을 차단할 수 있다.As described above, according to the present invention, only authorized firmware can be downloaded, thereby preventing the system from being used for malicious purposes beyond its original purpose.

또한 본 발명은 인증된 펌웨어만을 시스템에 장착하여, 무단으로 펌웨어 내의 컨텐츠를 저장 또는 배포하는 것을 막을 수 있으며, 컨텐츠의 훼손으로 인해 시스템의 제조 회사가 컨텐츠 저작권자로부터 책임을 요구하는 불미스러운 일을 미연 에 방지할 수 있다.In addition, the present invention can prevent the unauthorized storage or distribution of the contents of the firmware by installing only the authorized firmware in the system, and the unavoidable task of requiring the manufacturer of the system to take responsibility from the contents copyright holder due to the damage of the contents. To prevent it.

Claims (8)

시스템의 펌웨어 업데이트 장치에 있어서,In the firmware update device of the system, 업데이트 실행 명령을 받은 펌웨어의 인증 여부를 판단하여, 인증된 펌웨어를 다운로드 하는 제어부; 및 A control unit which determines whether to authenticate the firmware having received the update execution command and downloads the authenticated firmware; And 상기 제어부에 의해서, 상기 인증된 펌웨어가 저장되는 메모리부를 포함하는 것을 특징으로 하는 펌웨어 업데이트 장치.And, by the controller, a memory unit in which the authenticated firmware is stored. 제1항에 있어서,The method of claim 1, 상기 제어부는 상기 펌웨어에 포함된 인증용 서명을 이용하여 인증 여부를 판단하는 것을 특징으로 하는 펌웨어 업데이트 장치.The control unit is a firmware update device, characterized in that for determining whether or not authentication using the signature for authentication included in the firmware. 제2항에 있어서,The method of claim 2, 인증 여부를 판단하기 위한 공개키(public key)를 더 포함하며, It further includes a public key to determine whether the authentication, 상기 제어부는 상기 다운로드할 펌웨어의 파일코드 상의 인증용 서명과, 상기 공개키를 이용하여 계산된 서명을 비교하여, 상기 펌웨어의 파일코드 상의 인증용 서명과 상기 계산된 서명이 일치하는 경우에만, 상기 펌웨어를 다운로드하는 것을 특징으로 하는 펌웨어 업데이트 장치.The controller compares the signature for authentication on the file code of the firmware to be downloaded with the signature calculated using the public key, and only when the signature for authentication on the file code of the firmware matches the calculated signature. Firmware update device, characterized in that to download the firmware. 시스템의 펌웨어 업데이트 방법에 있어서,In the firmware update method of the system, 펌웨어 업데이트 실행 명령을 받는 단계;Receiving a firmware update execution command; 상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계; 및Determining whether the firmware file received the update command is authenticated; And 상기 다운로드할 펌웨어 파일이 인증된 것인 경우에, 상기 펌웨어 파일을 다운로드하는 단계로 구성되는 것을 특징으로 하는 펌웨어 업데이트 방법.And downloading the firmware file when the firmware file to be downloaded is authenticated. 제4항에 있어서,The method of claim 4, wherein 상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계는,Determining whether the firmware file received the update command is authenticated, 상기 펌웨어에 포함된 인증용 서명을 이용하여 상기 펌웨어 파일의 인증 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 펌웨어 업데이트 방법.And determining whether the firmware file is authenticated by using an authentication signature included in the firmware. 제5항에 있어서,The method of claim 5, 상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계는,Determining whether the firmware file received the update command is authenticated, 상기 다운로드할 펌웨어의 파일코드 상의 인증용 서명과, 공개키를 이용하여 계산된 서명이 일치하는지 판단하는 단계를 포함하며,Determining whether the authentication signature on the file code of the firmware to be downloaded and the signature calculated by using the public key match. 상기 다운로드 단계는 상기 다운로드할 펌웨어의 파일 코드 상의 인증용 서명과 상기 계산된 서명이 일치하는 경우에 상기 펌웨어 파일을 다운로드하는 단계로 구성되는 것을 특징으로 하는 펌웨어 업데이트 방법.The downloading step includes downloading the firmware file when the authentication signature on the file code of the firmware to be downloaded and the calculated signature match. 펌웨어에 있어서,In the firmware, 상기 펌웨어 업데이트 실행시, 펌웨어 업데이트 장치에 의해서 상기 펌웨어 파일의 인증 여부를 판단하기 위해 이용되는 인증용 서명을 포함하는 것을 특징으로 하는 펌웨어.And a signature for authentication used to determine whether the firmware file is authenticated by the firmware updater when executing the firmware update. 시스템의 펌웨어 업데이트 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 방법은 A computer-readable recording medium having recorded thereon a program for executing a firmware update method of a system in a computer, the method comprising: 펌웨어 업데이트 실행 명령을 받는 단계;Receiving a firmware update execution command; 상기 업데이트 명령받은 펌웨어 파일의 인증 여부를 판단하는 단계; 및Determining whether the firmware file received the update command is authenticated; And 상기 다운로드할 펌웨어 파일이 인증된 것인 경우에, 상기 펌웨어 파일을 다운로드하는 단계를 포함하는 것을 특징으로 하는 기록 매체.Downloading the firmware file if the firmware file to be downloaded is authenticated.
KR1020060106703A 2006-10-31 2006-10-31 Firmware update device and method Withdrawn KR20080039046A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060106703A KR20080039046A (en) 2006-10-31 2006-10-31 Firmware update device and method
PCT/KR2007/004142 WO2008054058A1 (en) 2006-10-31 2007-08-29 Apparatus and method for updating firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060106703A KR20080039046A (en) 2006-10-31 2006-10-31 Firmware update device and method

Publications (1)

Publication Number Publication Date
KR20080039046A true KR20080039046A (en) 2008-05-07

Family

ID=39344384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060106703A Withdrawn KR20080039046A (en) 2006-10-31 2006-10-31 Firmware update device and method

Country Status (2)

Country Link
KR (1) KR20080039046A (en)
WO (1) WO2008054058A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101029758B1 (en) * 2008-12-31 2011-04-19 노틸러스효성 주식회사 How to remotely update the firmware
KR101527779B1 (en) * 2014-01-13 2015-06-10 현대자동차주식회사 In-vehicle apparatus for efficient reprogramming and method for controlling there of
WO2015094160A1 (en) * 2013-12-16 2015-06-25 Hewlett-Packard Development Company, L.P. Firmware authentication
KR20160072384A (en) * 2014-12-12 2016-06-23 한국정보통신주식회사 Banking system, integrity check method for firmware of a banking system
US9779246B2 (en) 2012-07-20 2017-10-03 Oberthur Technologies System and method for updating an operating system for a smart card or other secure element
CN112241306A (en) * 2020-10-21 2021-01-19 海光信息技术股份有限公司 Firmware data loading method and device, secure processor, chip and electronic equipment
CN112328279A (en) * 2020-11-02 2021-02-05 宁波和利时信息安全研究院有限公司 System firmware file upgrading method, device and system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010014109A1 (en) * 2008-08-01 2010-02-04 Hewlett-Packard Development Company, L.P. Verifying firmware
US8856536B2 (en) 2011-12-15 2014-10-07 GM Global Technology Operations LLC Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
ITVI20120034A1 (en) * 2012-02-09 2013-08-10 Bentel Security S R L DEVICE AND METHOD FOR THE MANAGEMENT OF ELECTRONIC BUILDING INSTALLATIONS
US8966248B2 (en) 2012-04-06 2015-02-24 GM Global Technology Operations LLC Secure software file transfer systems and methods for vehicle control modules
CN110532735B (en) * 2018-05-23 2023-04-18 霍尼韦尔环境自控产品(天津)有限公司 Firmware upgrading method
US20210216306A1 (en) * 2020-01-09 2021-07-15 Myomega Systems Gmbh Secure deployment of software on industrial control systems
CN112433742B (en) * 2020-11-26 2024-12-17 中电金融设备系统(深圳)有限公司 Secure firmware updating method, apparatus, device and storage medium
US12197631B2 (en) 2020-12-30 2025-01-14 Micron Technology, Inc. Security management of ferroelectric memory device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US7017040B2 (en) * 2003-12-04 2006-03-21 Intel Corporation BIOS update file
KR20050089123A (en) * 2004-03-03 2005-09-07 (주)그로웰텔레콤 A mobile communication device and a system and method for firmware download service thereof
US20050229171A1 (en) * 2004-04-07 2005-10-13 Henry Steven G Distributing upgrades
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101029758B1 (en) * 2008-12-31 2011-04-19 노틸러스효성 주식회사 How to remotely update the firmware
US9779246B2 (en) 2012-07-20 2017-10-03 Oberthur Technologies System and method for updating an operating system for a smart card or other secure element
WO2015094160A1 (en) * 2013-12-16 2015-06-25 Hewlett-Packard Development Company, L.P. Firmware authentication
KR101527779B1 (en) * 2014-01-13 2015-06-10 현대자동차주식회사 In-vehicle apparatus for efficient reprogramming and method for controlling there of
KR20160072384A (en) * 2014-12-12 2016-06-23 한국정보통신주식회사 Banking system, integrity check method for firmware of a banking system
CN112241306A (en) * 2020-10-21 2021-01-19 海光信息技术股份有限公司 Firmware data loading method and device, secure processor, chip and electronic equipment
CN112241306B (en) * 2020-10-21 2023-06-09 海光信息技术股份有限公司 Firmware data loading method and device, secure processor, chip and electronic equipment
CN112328279A (en) * 2020-11-02 2021-02-05 宁波和利时信息安全研究院有限公司 System firmware file upgrading method, device and system
CN112328279B (en) * 2020-11-02 2023-04-14 宁波和利时信息安全研究院有限公司 System firmware file upgrading method, device and system

Also Published As

Publication number Publication date
WO2008054058A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
US10931451B2 (en) Securely recovering a computing device
US8291480B2 (en) Trusting an unverified code image in a computing device
US8254568B2 (en) Secure booting a computing device
KR101190479B1 (en) Ticket authorized secure installation and boot
CN102279760B (en) Device booting with an initial protection component
CN102693379B (en) Protection operating system Configuration Values
US9189605B2 (en) Protected computing environment
CN109416720B (en) Maintaining operating system secrets across resets
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
WO2008054058A1 (en) Apparatus and method for updating firmware
US20080289038A1 (en) Method and apparatus for checking integrity of firmware
KR100746012B1 (en) How and devices to safely update and boot code images
KR20090005390A (en) Authorisation of the installation of a software version
CN102630320A (en) Information processing device and method for preventing unauthorized application cooperation
US8656190B2 (en) One time settable tamper resistant software repository
US20160004859A1 (en) Method and system for platform and user application security on a device
JP2007150929A (en) Portable telephone system, method of preventing software used therefor from being illegally rewritten, and program therefor

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20061031

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid