KR102126931B1 - 시큐어 부팅 장치 및 방법 - Google Patents
시큐어 부팅 장치 및 방법 Download PDFInfo
- Publication number
- KR102126931B1 KR102126931B1 KR1020180136124A KR20180136124A KR102126931B1 KR 102126931 B1 KR102126931 B1 KR 102126931B1 KR 1020180136124 A KR1020180136124 A KR 1020180136124A KR 20180136124 A KR20180136124 A KR 20180136124A KR 102126931 B1 KR102126931 B1 KR 102126931B1
- Authority
- KR
- South Korea
- Prior art keywords
- public key
- electronic device
- firmware
- memory area
- 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
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- 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
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
시큐어 부팅을 수행하는 전자 장치가 개시될 수 있다. 개시된 일 실시 예에 따른 전자 장치는, 개인키로 서명된 펌웨어를 저장하기 위한 제1메모리 영역, 펌웨어의 무결성을 검증하고 무결성이 검증된 펌웨어를 실행하기 위한 부트 로더를 저장하기 위한 제2메모리 영역, 및 개인키와 쌍을 이루는 제1공개키를 저장하기 위한 제3메모리 영역을 포함하고, 제2메모리 영역은 개인키와 쌍을 이루는 제2공개키를 저장할 수 있다. 부트 로더는, 제3메모리 영역에 제1공개키가 있으면 제1공개키로 펌웨어의 무결성을 검증하고, 제3메모리 영역에 제1공개키가 없으면 제2공개키로 펌웨어의 무결성을 검증하도록 구성될 수 있다.
Description
본 발명은 전자 장치에 관한 것으로, 보다 구체적으로는 시큐어 부팅 장치 및 방법에 관한 것이다.
시큐어 부트(Secure Boot)는 운영체제(Operating System, OS), 펌웨어(Firmware), 및 어플리케이션과 같은 소프트웨어의 무결성을 보장하기 위해 사용되는 시스템 부팅 방법이다. 예를 들어, 시큐어 부트를 사용하여 오염되지 않은 펌웨어만 부트할 수 있도록 함으로써 전자 장치에 설치된 펌웨어를 보호할 수 있다.
펌웨어가 오염되었다는 것은 펌웨어 생성 주체가 의도하지 않은 다른 형태로 펌웨어가 변경되었음을 의미하며, 펌웨어를 보호한다는 것은 펌웨어 생성 주체가 만들어 낸 형태가 변하지 않도록 하는 것을 의미한다. 시큐어 부트는 의도하지 않은 형태로 펌웨어가 변경되었을 경우 부트를 거부하는 기술이다.
시큐어 부팅을 수행하기 위한 장치 및 방법이 제공될 수 있다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
시큐어 부팅을 수행하는 전자 장치에 있어서, 개인키로 서명된 펌웨어를 저장하기 위한 제1메모리 영역, 상기 펌웨어의 무결성을 검증하고 무결성이 검증된 상기 펌웨어를 실행하기 위한 부트 로더를 저장하기 위한 제2메모리 영역, 및 상기 개인키와 쌍을 이루는 제1공개키를 저장하기 위한 제3메모리 영역을 포함하고, 상기 제2메모리 영역은 상기 개인키와 쌍을 이루는 제2공개키를 저장하고, 상기 부트 로더는, 상기 제3메모리 영역에 상기 제1공개키가 있으면 상기 제1공개키로 상기 펌웨어의 무결성을 검증하고, 상기 제3메모리 영역에 상기 제1공개키가 없으면 상기 제2공개키로 상기 펌웨어의 무결성을 검증하도록 구성될 수 있다.
상기 펌웨어는, 상기 전자 장치의 조립 상태 또는 동작 상태를 검사하기 위해 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 설치될 수 있다.
상기 제2공개키는, 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 상기 제2메모리 영역에 저장될 수 있다.
상기 펌웨어의 서명은 상기 제2메모리 영역에 저장될 수 있다.
전자 장치에 의해 수행되는 시큐어 부팅 방법에 있어서, 전원이 공급됨으로써 상기 전자 장치의 부트로더가 동작하는 단계, 소정의 공개키 저장 영역을 검사하여, 펌웨어의 서명을 검증할 제1공개키가 기록되어 있는지 여부를 검사하는 단계, 상기 검사 결과, 상기 공개키 저장 영역에 상기 제1공개키가 기록되어 있으면, 상기 제1공개키로 상기 펌웨어의 무결성을 검증하는 단계, 및 상기 검사 결과, 상기 공개키 저장 영역에 상기 제1공개키가 기록되어 있지 않으면, 상기 부트로더에 내장된 제2공개키로 상기 펌웨어의 무결성을 검증하는 단계를 포함하고, 상기 소정의 공개키 저장 공간은, 상기 부트로더가 저장된 메모리 영역과 다른 메모리 영역일 수 있다.
상기 펌웨어는, 상기 전자 장치의 조립 상태 또는 동작 상태를 검사하기 위해 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 설치될 수 있다.
상기 제2공개키는, 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 상기 부트로더에 내장될 수 있다.
전자 장치의 제조 방법에 있어서, 테스트용 펌웨어의 서명을 생성할 개인키와 상기 개인키와 쌍을 이루는 공개키를 생성하는 단계, 상기 개인키를 이용하여 상기 테스트용 펌웨어의 서명을 생성하는 단계, 상기 서명과 공개키를 부트로더에 내장하는 단계, 및 상기 부트로더와 서명된 상기 테스트용 펌웨어를 상기 전자 장치에 저장하는 단계를 포함하고, 상기 테스트용 펌웨어는, 상기 전자 장치의 조립 상태 또는 동작 상태를 검사하기 위한 펌웨어일 수 있다.
공개키가 아직 기록되어 있지 않은 제조 및 생산 시점의 전자 장치에 설치된 테스트용 펌웨어의 무결성을 검증함으로써, 테스트용 펌웨어를 위변조 위험으로부터 보호할 수 있다.
도1은 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 전자 장치를 나타낸다.
도2는 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 제조 시점의 전자 장치를 나타낸다.
도3은 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 제조 시점의 전자 장치를 나타낸다.
도4는 일 실시 예에 따라, 전자 장치에 대서 수행되는 시큐어 부팅 방법의 흐름도를 나타낸다.
도5는 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 전자 장치의 제조 방법의 흐름도를 나타낸다.
도2는 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 제조 시점의 전자 장치를 나타낸다.
도3은 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 제조 시점의 전자 장치를 나타낸다.
도4는 일 실시 예에 따라, 전자 장치에 대서 수행되는 시큐어 부팅 방법의 흐름도를 나타낸다.
도5는 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 전자 장치의 제조 방법의 흐름도를 나타낸다.
아래에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자들(이하, 통상의 기술자들)이 본 발명을 용이하게 실시할 수 있도록, 첨부되는 도면들을 참조하여 몇몇 실시 예가 명확하고 상세하게 설명될 것이다.
도1은 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 전자 장치를 나타낸다.
도1을 참조하면, 서명 생성 주체인 전자 장치(1200)의 제조자(예를 들어, 전자 장치(1200)의 제조사, 관리자)는 자신의 개인키(PRK) 또는 비밀키로 서명한 펌웨어(1260)를 제공할 수 있다. 펌웨어(1260)는 개인키(PRK)에 의해 생성된 서명(SIG)과 함께 전자 장치(1200)의 메모리에 저장될 수 있다.
전자 장치(1200)의 영역(1240)에는 개인키(PRK)에 대응하는 공개키(PUK)가 저장될 수 있다. 영역(1240)은 소정의 공개키 저장 영역으로서, 제조자에 의해 미리 지정된 영역일 수 있다. 전자 장치(1200)에 전원이 공급되어 부트로더(1220)가 실행되면 부트로더(1220)는 공개키(PUK)로 펌웨어(1260)의 서명(SIG)을 검증하고, 펌웨어(1260)가 개인키(PRK)로 서명된 것이 확인되면 펌웨어(1260)를 실행시킬 수 있다.
부트로더(1220)는 펌웨어(1260)의 무결성을 검증하고, 무결성이 깨지지 않은 것이 확인된 경우에 전자 장치(1200)에 대한 제어권을 펌웨어(1260)로 넘긴다. 그러나, 부트로더(1220)는 펌웨어(1260)의 무결성이 깨진 것으로 판단되면 부트를 멈추고 사용자에게 알리거나 원본 이미지로 복구하는 등 후속 조치를 이행한다. 부트로더(1220)는 전자 장치(1200)의 메모리에 저장될 수 있다.
일 실시 예에 따라, 부트로더(1220)가 저장되는 메모리 영역, 펌웨어(1260)가 저장되는 메모리 영역, 및 공개키가 저장되는 영역(1240) 각각은 전자 장치(1200) 내의 서로 다른 메모리 영역일 수 있다. 예를 들어, 부트로더(1220)가 저장되는 메모리 영역, 펌웨어(1260)가 저장되는 메모리 영역, 및 공개키가 저장되는 영역(1240) 각각은 전자 장치(1200) 내 제1메모리 영역, 제2메모리 영역, 제3메모리 영역으로 지칭될 수 있다. 메모리는 ROM(Read Only Memory)과 같은 비휘발성 메모리일 수 있다. 또는, 부트로더(1220)가 저장되는 메모리 영역, 펌웨어(1260)가 저장되는 메모리 영역, 및 공개키가 저장되는 영역(1240) 각각은 전자 장치(1200)에 포함된 복수의 메모리 장치들 중 서로 다른 메모리 장치일 수 있다.
상술한 바와 같이, 펌웨어(1260)의 변경 여부를 알아내기 위해 서명 알고리즘이 사용될 수 있다. 전자 장치(1200)의 제조사는 펌웨어(1260)를 만들 때 미리 정해둔 위치(예를 들어, 펌웨어가 저장된 메모리 영역)에 서명(SIG)을 추가한다. 서명(SIG)을 생성하기 위해, 전자 장치(1200)에 미리 저장해 둔 공개키(PUK)와 쌍이 되는 개인키(PRK)가 사용될 수 있다. 시큐어부팅 과정에서, 부트로더(1220)는 펌웨어(1260)의 이미지와 서명(SIG)의 쌍이 일치하는지 전자 장치(1200)에 있는 공개키(PUK)를 이용하여 검증할 수 있다.
다만, 공개키(PUK)가 전자 장치(1200)에 저장되는 시점은 전자 장치(1200)가 생산 및 제조가 완료되는 시점 이후이다. 따라서, 제조가 완료된 시점에 전자 장치(1200)가 제대로 조립되었는지 또는 제대로 동작하는지 검사하기 위해 일반적으로 사용되는 테스트용 펌웨어가 변조되면 전자 장치(1200)가 오염될 수 있으므로 테스트용 펌웨어의 무결성도 검사할 필요가 있다. 그러나, 제조과정 동안의 또는 제조 직후의 전자 장치(1200)에는 아직 공개키(PUK)가 삽입되지 않았으므로 테스트용 펌웨어의 무결성을 검증할 방법이 없다.
도2는 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 제조 시점의 전자 장치를 나타낸다.
도2의 전자 장치(2200)는 도1의 전자 장치(2200)의 실시 예를 나타낸다. 예를 들어, 도2의 부트로더(2220), 영역(2240), 및 테스트용 펌웨어(2260)는 도1의 부트로더(1220), 영역(1240), 및 펌웨어(1260)와 각각 대응될 수 있다. 따라서, 이하 생략되는 내용이라 하더라도, 도1의 구성 요소들에 관하여 설명된 내용은 도2의 구성 요소들에도 적용될 수 있다.
도2를 참조하면, 전자 장치(2200)의 제조자(예를 들어, 전자 장치(2200)의 제조사, 관리자)는 자신의 개인키(PRK) 또는 비밀키로 서명한 테스트용 펌웨어(2260)를 제공할 수 있다. 테스트용 펌웨어(2260)는 전자 장치(2200)가 제대로 조립되었는지 또는 잘 동작하는지 검사하기 위해 사용되는 펌웨어일 수 있다.
전자 장치(2200)의 영역(2240)에는 개인키(PRK)에 대응하는 공개키(PUK)가 저장되어야 하지만 제조과정 동안의 또는 제조 직후의 전자 장치(2200)에는 아직 공개키(PUK)가 기록되지 않을 수 있다. 이러한 경우, 부트로더(2220)는 자신이 내장한 공개키(PUK_T)와 서명(SIG)을 이용하여 테스트용 펌웨어(2260)의 무결성을 검증할 수 있다. 이러한 실시 예에서, 공개키(PUK_T)는 부트로더(2220)가 저장되는 메모리 영역에 기록될 수 있다.
도3은 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 제조 시점의 전자 장치를 나타낸다.
도3의 전자 장치(3200)가 도2의 전자 장치(2200)와 다른 점은 부트로더(3220)에 공개키(PUK_T) 뿐만 아니라 서명(SIG)까지 내장되었다는 점이다. 이러한 실시 예에서, 공개키(PUK_T)와 서명(SIG)은 부트로더(3220)가 저장되는 메모리 영역에 기록될 수 있다.
부트로더(3220)에 서명(SIG)을 내장시키는 것은 제조자가 의도한 테스트용 펌웨어가 아닌 다른 테스트용 펌웨어가 전자 장치(3200)에서 실행되지 않도록 제한하기 위함이다. 서명(SIG)을 부트로더(3220)에 내장시킴으로써, 제조자가 테스트용 펌웨어(3260)와는 다른 새로운 테스트 펌웨어를 실행하기 위해 새로운 부트로더를 제작하여 설치하지 않는 한 서명(SIG)은 교체될 수 없으며, 허가 받지 않은 주체가 임의로 테스트용 펌웨어(3260)를 교체할 수 없다. 이로써, 모든 종류의 제품에 동일한 공개키 쌍을 사용하여 테스트용 펌웨어(3260)를 생성하더라도 한 종류의 제품에는 단 한가지 테스트용 펌웨어만 실행하도록 제한할 수 있다. 이는 취약점이 발견된 테스트용 펌웨어를 다른 종류의 제품에 적용하여 실행하지 못하도록 제한하기 위한 것이다.
도4는 일 실시 예에 따라, 전자 장치에서 수행되는 서명 알고리즘 기반 시큐어 부팅 방법의 흐름도를 나타낸다.
단계 S4200에서, 전자 장치(2000)에 전원이 공급되어 부트로더가 동작할 수 있다.
단계 S4400에서, 전자 장치(2000)는 소정의 공개키 저장 공간(예를 들어, 도2의 영역(2240))을 검사하여, 펌웨어의 서명을 검증할 제1공개키가 기록되어 있는지 여부를 검사할 수 있다.
소정의 공개키 저장 공간에 제1공개키가 기록되어 있으면, 단계 S4600에서, 전자 장치(2000)는 제1공개키로 개인키로 서명된 펌웨어의 무결성을 검증할 수 있다. 소정의 공개키 저장 공간에 제1공개키가 기록되어 있지 않으면, 단계 S4800에서, 전자 장치(2000)는 부트로더에 내장된 제2공개키로 펌웨어의 무결성을 검증할 수 있다. 제2공개키로 무결성이 검증된 펌웨어는, 전자 장치(2000)의 조립 또는 동작 여부를 검사하기 위한 테스트용 펌웨어로서, 제2공개키와 쌍을 이루는 개인키로 서명된 것일 수 있다.
도5는 일 실시 예에 따라, 시큐어 부팅을 수행하기 위한 전자 장치의 제조 방법의 흐름도를 나타낸다.
단계 S5200에서, 전자 장치(2000)의 제조자는 테스트용 펌웨어의 서명을 생성할 개인키와 개인키의 쌍이 되는 공개키를 생성할 수 있다.
단계 S5400에서, 전자 장치(2000)의 제조자는 개인키를 이용하여 테스트용 펌웨어의 서명을 생성할 수 있다.
단계 S5600에서, 전자 장치(2000)의 제조자는 생성된 서명과 공개키를 내장하는 부트로더를 생성할 수 있다. 일 실시 예에 따라, 전자 장치(2000)의 제조자는 공개키를 부트로더에 내장할 수 있다. 일 실시 예에 따라, 전자 장치(2000)의 제조자는 부트로더와 함께 공개키를 비휘발성 메모리(예를 들어, ROM)의 적어도 일부 영역에 기록할 수 있다. 일 실시 예에 따라, 전자 장치(2000)의 제조자는 서명을 부트로더에 내장할 수 있다. 이러한 경우, 전자 장치(2000)의 제조자는 공개키와 서명을 부트로더와 함께 비휘발성 메모리(예를 들어, ROM)의 적어도 일부 영역에 기록할 수 있다.
단계 S5800에서, 전자 장치(2000)의 제조자는 부트로더와 서명된 테스트용 펌웨어를 전자 장치(2000)에 기록할 수 있다.
설명들은 본 발명을 구현하기 위한 예시적인 구성들 및 동작들을 제공하도록 의도된다. 본 발명의 기술 사상은 위에서 설명된 실시 예들뿐만 아니라, 위 실시 예들을 단순하게 변경하거나 수정하여 얻어질 수 있는 구현들도 포함할 것이다. 또한, 본 발명의 기술 사상은 위에서 설명된 실시 예들을 앞으로 용이하게 변경하거나 수정하여 달성될 수 있는 구현들도 포함할 것이다.
Claims (8)
- 시큐어 부팅을 수행하는 전자 장치에 있어서,
개인키로 서명된 펌웨어를 저장하기 위한 제1메모리 영역;
상기 펌웨어의 무결성을 검증하고 무결성이 검증된 상기 펌웨어를 실행하기 위한 부트 로더를 저장하기 위한 제2메모리 영역; 및
상기 개인키와 쌍을 이루는 제1공개키를 저장하기 위한 제3메모리 영역을 포함하고,
상기 제2메모리 영역은 상기 개인키와 쌍을 이루는 제2공개키를 저장하고,
상기 부트 로더는, 상기 제3메모리 영역에 상기 제1공개키가 있으면 상기 제1공개키로 상기 펌웨어의 무결성을 검증하고, 상기 제3메모리 영역에 상기 제1공개키가 없으면 상기 제2공개키로 상기 펌웨어의 무결성을 검증하도록 구성되며,
상기 펌웨어는, 상기 전자 장치의 조립 상태 또는 동작 상태를 검사하기 위해 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 설치되는 전자 장치. - 삭제
- 제1항에 있어서,
상기 제2공개키는, 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 상기 제2메모리 영역에 저장되는 전자 장치. - 제1항에 있어서,
상기 펌웨어의 서명은 상기 제2메모리 영역에 저장되는 전자 장치. - 전자 장치에 의해 수행되는 시큐어 부팅 방법에 있어서,
전원이 공급됨으로써 상기 전자 장치의 부트로더가 동작하는 단계;
소정의 공개키 저장 영역을 검사하여, 펌웨어의 서명을 검증할 제1공개키가 기록되어 있는지 여부를 검사하는 단계;
상기 검사 결과, 상기 공개키 저장 영역에 상기 제1공개키가 기록되어 있으면, 상기 제1공개키로 상기 펌웨어의 무결성을 검증하는 단계; 및
상기 검사 결과, 상기 공개키 저장 영역에 상기 제1공개키가 기록되어 있지 않으면, 상기 부트로더에 내장된 제2공개키로 상기 펌웨어의 무결성을 검증하는 단계를 포함하고,
상기 소정의 공개키 저장 공간은, 상기 부트로더가 저장된 메모리 영역과 다른 메모리 영역이며,
상기 펌웨어는, 상기 전자 장치의 조립 상태 또는 동작 상태를 검사하기 위해 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 설치되는 시큐어 부팅 방법. - 삭제
- 제5항에 있어서,
상기 제2공개키는, 상기 전자 장치의 제조 과정 동안 또는 제조 직후에 상기 전자 장치의 제조자에 의해 상기 부트로더에 내장되는 시큐어 부팅 방법. - 삭제
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180136124A KR102126931B1 (ko) | 2018-11-07 | 2018-11-07 | 시큐어 부팅 장치 및 방법 |
PCT/KR2019/014971 WO2020096345A1 (ko) | 2018-11-07 | 2019-11-06 | 시큐어 부팅 장치 및 방법 |
US17/291,626 US11899795B2 (en) | 2018-11-07 | 2019-11-06 | Secure boot device and process |
CN201980073087.6A CN112955889A (zh) | 2018-11-07 | 2019-11-06 | 安全启动装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180136124A KR102126931B1 (ko) | 2018-11-07 | 2018-11-07 | 시큐어 부팅 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200052750A KR20200052750A (ko) | 2020-05-15 |
KR102126931B1 true KR102126931B1 (ko) | 2020-06-25 |
Family
ID=70611226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180136124A KR102126931B1 (ko) | 2018-11-07 | 2018-11-07 | 시큐어 부팅 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11899795B2 (ko) |
KR (1) | KR102126931B1 (ko) |
CN (1) | CN112955889A (ko) |
WO (1) | WO2020096345A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102582134B1 (ko) | 2022-11-22 | 2023-09-25 | 리벨리온 주식회사 | 프로세싱 장치 및 그의 시큐어 부팅 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220058275A1 (en) * | 2020-08-21 | 2022-02-24 | Arm Limited | System, devices and/or processes for system ownership change event |
US20220245252A1 (en) * | 2022-02-22 | 2022-08-04 | Intel Corporation | Seamless firmware update mechanism |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115471A1 (en) | 2001-12-19 | 2003-06-19 | Skeba Kirk W. | Method and apparatus for building operational radio firmware using incrementally certified modules |
KR101782378B1 (ko) * | 2016-11-03 | 2017-09-27 | 시큐리티플랫폼 주식회사 | 서명된 공개 키를 이용한 시큐어 부트 방법 |
US20180032734A1 (en) | 2016-07-29 | 2018-02-01 | Vmware, Inc. | Secure booting of computer system |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060236122A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Secure boot |
KR101393307B1 (ko) | 2007-07-13 | 2014-05-12 | 삼성전자주식회사 | 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템 |
US20090327741A1 (en) * | 2008-06-30 | 2009-12-31 | Zimmer Vincent J | System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid) |
US8539610B2 (en) * | 2010-10-29 | 2013-09-17 | Nokia Corporation | Software security |
US8590040B2 (en) * | 2010-12-22 | 2013-11-19 | Intel Corporation | Runtime platform firmware verification |
KR20120092222A (ko) * | 2011-02-11 | 2012-08-21 | 삼성전자주식회사 | 보안 부팅 방법 및 보안 부트 이미지 생성 방법 |
KR20140082542A (ko) * | 2012-12-22 | 2014-07-02 | 삼성전자주식회사 | 보안부팅을 위한 인증수단의 변경을 지원하는 방법 및 장치 |
JP2015036847A (ja) * | 2013-08-12 | 2015-02-23 | 株式会社東芝 | 半導体装置 |
EP2854066B1 (en) * | 2013-08-21 | 2018-02-28 | Nxp B.V. | System and method for firmware integrity verification using multiple keys and OTP memory |
CN105117651B (zh) * | 2015-09-16 | 2018-05-29 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
US10025600B2 (en) * | 2015-10-02 | 2018-07-17 | Google Llc | NAND-based verified boot |
KR20170045795A (ko) * | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR102385552B1 (ko) | 2015-12-29 | 2022-04-12 | 삼성전자주식회사 | 시스템-온-칩 및 이를 포함하는 전자 장치 |
US10481900B2 (en) * | 2016-04-11 | 2019-11-19 | Endress+Hauser Conducta Gmbh+Co. Kg | Method for updating a firmware component and device of measurement and control technology |
CN108121915A (zh) * | 2016-11-30 | 2018-06-05 | 北京忆芯科技有限公司 | 电子设备生产的方法、启动的方法及*** |
US10223531B2 (en) * | 2016-12-30 | 2019-03-05 | Google Llc | Secure device state apparatus and method and lifecycle management |
KR102617354B1 (ko) * | 2017-01-05 | 2023-12-26 | 삼성전자주식회사 | 보안 부트 시퀀서 및 보안 부트 장치 |
CN108287999A (zh) * | 2017-01-10 | 2018-07-17 | 厦门雅迅网络股份有限公司 | 一种基于TrustZone的***可信启动方法 |
CN108347332A (zh) * | 2017-06-06 | 2018-07-31 | 清华大学 | 验证固件签名的方法及装置 |
KR102434444B1 (ko) * | 2017-11-29 | 2022-08-19 | 한국전자통신연구원 | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 |
CN108399339B (zh) * | 2018-02-12 | 2021-09-14 | 广东为辰信息科技有限公司 | 一种基于安全芯片的可信启动方法 |
DE102018211139A1 (de) * | 2018-07-05 | 2020-01-09 | Robert Bosch Gmbh | Steuergerät sowie Verfahren zu dessen Betrieb |
EP3792802B1 (en) * | 2019-09-11 | 2022-11-09 | Secure Thingz Limited | A processor system with a communication interface |
TWI788594B (zh) * | 2019-10-07 | 2023-01-01 | 系微股份有限公司 | 安全執行可延伸韌體應用程式的方法及計算機設備 |
KR20210112923A (ko) * | 2020-03-06 | 2021-09-15 | 삼성전자주식회사 | 시스템 온 칩 및 이의 동작 방법 |
CN113779652A (zh) * | 2020-06-09 | 2021-12-10 | 华为技术有限公司 | 数据完整性保护的方法和装置 |
KR102395258B1 (ko) * | 2020-10-15 | 2022-05-10 | 한국전자통신연구원 | 부트 메모리 버스의 경로 절체 기능을 이용한 시큐어 부팅 방법 및 이를 이용한 장치 |
-
2018
- 2018-11-07 KR KR1020180136124A patent/KR102126931B1/ko active IP Right Grant
-
2019
- 2019-11-06 CN CN201980073087.6A patent/CN112955889A/zh active Pending
- 2019-11-06 WO PCT/KR2019/014971 patent/WO2020096345A1/ko active Application Filing
- 2019-11-06 US US17/291,626 patent/US11899795B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115471A1 (en) | 2001-12-19 | 2003-06-19 | Skeba Kirk W. | Method and apparatus for building operational radio firmware using incrementally certified modules |
US20180032734A1 (en) | 2016-07-29 | 2018-02-01 | Vmware, Inc. | Secure booting of computer system |
KR101782378B1 (ko) * | 2016-11-03 | 2017-09-27 | 시큐리티플랫폼 주식회사 | 서명된 공개 키를 이용한 시큐어 부트 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102582134B1 (ko) | 2022-11-22 | 2023-09-25 | 리벨리온 주식회사 | 프로세싱 장치 및 그의 시큐어 부팅 방법 |
KR20240076669A (ko) | 2022-11-22 | 2024-05-30 | 리벨리온 주식회사 | 프로세싱 장치 및 그의 시큐어 부팅 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20210406379A1 (en) | 2021-12-30 |
CN112955889A (zh) | 2021-06-11 |
WO2020096345A1 (ko) | 2020-05-14 |
US11899795B2 (en) | 2024-02-13 |
KR20200052750A (ko) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102126931B1 (ko) | 시큐어 부팅 장치 및 방법 | |
JP4729575B2 (ja) | ソフトウェアのセキュリティ確保 | |
CN111984962B (zh) | 固件安全验证方法及装置 | |
US8250373B2 (en) | Authenticating and verifying an authenticable and verifiable module | |
US8438377B2 (en) | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data | |
US7454616B2 (en) | Code authentication upon bootup for cable modems | |
JP2014513348A (ja) | 統合拡張ファームウェアインタフェース準拠計算装置内のシステムセキュリティデータベースおよびファームウェア格納部を変更する要求を処理するシステムおよび方法 | |
JP2007133875A (ja) | コードイメージを安全に更新してブーティングする方法及び装置 | |
EP2051181A1 (en) | Information terminal, security device, data protection method, and data protection program | |
US20170109546A1 (en) | Securing of the loading of data into a nonvolatile memory of a secure element | |
CN106560830A (zh) | 一种Linux嵌入式***中的安全防护方法及*** | |
KR20150035249A (ko) | 어플리케이션 패키지를 저장하는 기록 매체, 어플리케이션 패키지 생성 방법 및 장치, 어플리케이션 패키지 실행 방법 및 장치 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
CN109804378A (zh) | Bios安全 | |
CN114003915A (zh) | 基于芯片的安全启动方法及装置 | |
CN110874467A (zh) | 信息处理方法、装置、***以及处理器、存储介质 | |
CN113553115A (zh) | 一种基于异构多核芯片的启动方法以及存储介质 | |
US20200233676A1 (en) | Bios management device, bios management system, bios management method, and bios management program-stored recording medium | |
JP5465738B2 (ja) | システム・ファームウェアの更新方法およびコンピュータ | |
WO2019057612A1 (en) | DEPLOYMENT DISTRIBUTED FROM A SINGLE MICRO-SOFTWARE | |
CN114995918A (zh) | 基板管理控制器的启动方法、配置方法、装置及电子设备 | |
KR20190118894A (ko) | 안전한 usb 장치를 보장하는 부트 방법 | |
JP7171339B2 (ja) | 情報処理装置、情報処理装置の制御方法、及び、プログラム | |
KR20070022150A (ko) | 소프트웨어 변조를 방지하기 위한 시스템, 방법, 및컴퓨터-판독가능 매체 | |
CN115828273A (zh) | 车辆安全启动方法、装置,电子控制单元及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |