KR101806719B1 - 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법 - Google Patents

보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법 Download PDF

Info

Publication number
KR101806719B1
KR101806719B1 KR1020160084156A KR20160084156A KR101806719B1 KR 101806719 B1 KR101806719 B1 KR 101806719B1 KR 1020160084156 A KR1020160084156 A KR 1020160084156A KR 20160084156 A KR20160084156 A KR 20160084156A KR 101806719 B1 KR101806719 B1 KR 101806719B1
Authority
KR
South Korea
Prior art keywords
block
mac data
memory
block area
data
Prior art date
Application number
KR1020160084156A
Other languages
English (en)
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 KR1020160084156A priority Critical patent/KR101806719B1/ko
Application granted granted Critical
Publication of KR101806719B1 publication Critical patent/KR101806719B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F21/44Program or device authentication

Landscapes

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

Abstract

보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법을 개시한다. 본 발명의 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛은 리프로그래밍되는 프로그램 데이터에 따라 제 1 메모리의 블록 영역들을 재설정하여 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 메모리 컨트롤러, 각 블록 영역별 MAC 데이터를 읽어들여 각 블록 영역별 MAC 데이터의 보안 인증을 해제하는 보안 부팅모듈, 및 보안 인증 해제된 각 블록 영역별 MAC 데이터를 제 2 메모리에 각 서브 블록영역별로 저장하고 보안 부팅시 보안 인증 해제된 각 블록 영역별 MAC 데이터와 각 서브 블록영역별로 저장된 MAC 데이터를 비교하여 비교 결과를 출력하는 하드웨어 보안모듈을 포함하는바, 소프트웨어를 리프로그래밍하더라도 메모리 영역이 자동 설정되어 리프로그래밍 이후에도 오류없이 무결성을 검증할 수 있도록 함으로써 그 신뢰성과 안정성을 확보할 수 있는 효과가 있다.

Description

보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법{THE ELECTRONIC CONTROL UNIT POSSIBLE AUTO SETTING OF MEMORY AREA ACCORDING TO SECURE BOOT AND METHOD FOR SECURE BOOT USING THE SAME}
본 발명은 자동차의 전자 제어유닛에 관한 것으로, 자동차 소프트웨어의 무결성을 확보하고 검증하기 위한 보안 부팅시 소프트웨어를 리프로그래밍 하더라도 메모리 영역이 자동 설정되어 리프로그래밍 이후에도 오류 없이 무결성을 검증할 수 있도록 함으로써, 그 신뢰성과 안정성을 확보할 수 있는 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법에 관한 것이다.
기술의 발달로 인하여 자동차의 엔진 및 자동 변속기, 기타의 각 장치들은 검출되는 운행 정보와 미리 설정된 전자 제어유닛(Electronic Control Unit)의 제어 로직에 따라 제어되어 안전한 주행과 차량의 최적 상태를 유지할 수 있도록 해준다.
이러한 자동차의 전자 제어유닛에는 자동차의 주요 장치들을 전반적으로 제어하고 제어 상태를 감지하기 위한 소프트웨어 및 그에 따른 제어 로직이 미리 설정 및 저장되어 있다.
근래에는 전자 제어유닛의 통신 방식에 대한 보안적인 중요성을 인식하고, 제어 명령이나 제어신호 및 통신 메시지 등에 대해서 보안 인증과 암호화 기술을 적용하기 위한 연구가 활발히 진행되고 있다.
자동차 소프트웨어나 제어 로직의 무결성을 확보하고 검증하기 위한 방법으로 보안 부팅(Secure Boot)을 수행하는 방법이 다양하게 적용되고 있다.
보안 부팅은 자동차의 시동 시도시, 자동차 소프트웨어에서 전반적인 장치들의 통제권을 가져가기 전에 각 메모리 영역의 메시지 인증 코드(MAC; Message Authentication Code) 데이터를 비교 확인하여 MAC 데이터가 인증되어야만 데이터들의 보안성을 인증하여 소프트웨어가 전반적인 장치들의 통제권을 갖도록 하는 기술이다. 이렇게 보안 부팅을 수행하는 하드웨어 보안 모듈이 전자 제어유닛이나 중앙 처리유닛(CPU) 등에 구비되도록 하여 보안 부팅 방식을 수행하도록 하는 기술이 자동차의 보안에 주로 적용되고 있는 추세이다.
구체적으로, 종래 기술에 다른 보안 부팅 방식은 각각의 전자 제어유닛 등 전반적인 장치들의 메모리에 저장 영역들을 설정해주고 해당 메모리 영역들의 MAC 데이터를 복호화하여 MAC 데이터가 별도로 저장되어 있는 MAC 데이터와 동일한지를 비교하여 자동차 소프트웨어의 무결성을 검증하였다.
하지만, 실제 운행되고 있는 자동차들의 사용 특성상 필요에 따라 정비소나 서비스 센터에서 해당 자동차의 소프트웨어를 리프로그래밍해야 하는 상황이 발생하기도 한다. 즉, 소프트웨어를 업데이트 하거나 정비 과정에서 해당 부품이나 장치들이 교체되는 경우에는 소프트웨어나 제어 로직들을 리프로그래밍해야 하는 상황들이 발생하게 된다.
이때는 자동차의 소프트웨어를 통해 전자 제어유닛 등 전반적인 장치들의 메모리에 저장 영역들을 재설정해야 하는데, 매번 재설정하기가 매우 어렵고, 재설정하는 과정에서 오류를 발생시킬 확률이 높기 때문에, 리프로그래밍 이후에 보안 부팅을 수행하는 과정에서 잦은 오류가 발생하는 문제가 있었다. 이렇게 리프로그래밍 이후에 보안 부팅과정에서 자주 오류가 발생하면 그 신뢰성과 안정성이 저하될 수밖에 없는 문제들이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 자동차 소프트웨어의 무결성을 확보하고 검증하기 위한 보안 부팅시, 소프트웨어를 리프로그래밍 하더라도 메모리 영역이 자동 설정되어 리프로그래밍 이후에도 오류 없이 무결성을 검증할 수 있도록 함으로써, 그 신뢰성과 안정성을 확보할 수 있는 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛은 리프로그래밍되는 프로그램 데이터에 따라 제1 메모리의 블록 영역들을 재설정하여 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 메모리 컨트롤러, 각 블록 영역별 MAC 데이터를 읽어들여 각 블록 영역별 MAC 데이터의 보안 인증을 해제하는 보안 부팅모듈, 및 보안 인증 해제된 각 블록 영역별 MAC 데이터를 제2 메모리에 각 서브 블록영역별로 저장하고 보안 부팅시 보안 인증 해제된 각 블록 영역별 MAC 데이터와 각 서브 블록영역별로 저장된 MAC 데이터를 비교하여 비교 결과를 출력하는 하드웨어 보안모듈을 포함한다.
메모리 컨트롤러는 리프로그래밍되는 프로그램 데이터의 블록 헤더 및 블록 순환 데이터에 따라 제1 메모리의 블록 영역들을 재설정하고, 각 블록 영역별 프로그램 데이터의 크기에 따라 재설정되는 각 블록 영역의 크기와 대응하도록 각 블록 영역별 인덱스를 가변하여 각 블록 영역의 크기를 확장 또는 축소시켜 설정함과 아울러, 확장 또는 축소되는 블록 영역의 크기에 대응하도록 MAC 데이터를 가변시켜 저장하는 것을 특징으로 한다.
상기 하드웨어 보안모듈은 리프로그래밍 완료된 후 첫 시동이 시도되면 하드웨어 보안모듈을 통해 각 블록 영역별로 저장된 MAC 데이터를 받아 제2 메모리의 각 서브 블록 영역별로 저장하고, 제1 메모리의 블록 영역별 크기 및 그에 대응하는 각각의 MAC 데이터를 제2 메모리의 각 서브 블록 영역에 저장하는 것만으로 시동이 걸리도록 허용하는 것을 특징으로 한다.
상기 하드웨어 보안모듈은 시동이 시도되면 메모리 컨트롤러에 요청하여 제1 메모리의 각 블록 영역별로 저장된 MAC 데이터가 보안 부팅모듈로 제공되도록 하고, 보안 부팅모듈에서 미리 저장된 보안 키로 각 블록 영역별 MAC 데이터의 보안 인증을 해제함으로써 인증 해제된 MAC 데이터를 공유하도록 하는 것을 특징으로 한다.
하드웨어 보안모듈은 시동이 시도되면 보안 부팅모듈에서 인증 해제된 블록별 MAC 데이터와 제2 메모리에 저장된 각 서브 블록 영역의 MAC 데이터를 비교하여 동일하거나 일치할 때 시동을 허용하는 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 제어유닛을 이용한 보안 부팅 방법은 리프로그래밍되는 프로그램 데이터에 따라 제1 메모리의 블록 영역들을 재설정하여 재설정된 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 단계, 각 블록 영역별 MAC 데이터를 읽어들여 각 블록 영역별 MAC 데이터의 보안 인증을 해제하는 단계, 및 보안 인증 해제된 각 블록 영역별 MAC 데이터를 제2 메모리에 각 서브 블록영역별로 저장하고, 보안 부팅시 보안 인증 해제된 각 블록 영역별 MAC 데이터와 각 서브 블록영역별로 저장된 MAC 데이터를 비교하여 비교 결과를 출력하는 단계를 포함한다.
재설정된 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 단계는 리프로그래밍되는 프로그램 데이터의 블록 헤더 및 블록 순환 데이터에 따라 제1 메모리의 블록 영역들을 재설정하고, 각 블록 영역별 프로그램 데이터의 크기에 따라 재설정되는 각 블록 영역의 크기와 대응하도록 각 블록 영역별 인덱스를 가변하여 각 블록 영역의 크기를 확장 또는 축소시켜 설정함과 아울러, 확장 또는 축소되는 블록 영역의 크기에 대응하도록 MAC 데이터를 가변시켜 저장하는 단계를 포함한다.
보안 부팅시 상기 각 블록 영역별 MAC 데이터와 각 서브 블록영역별 저장된 MAC 데이터를 비교하는 단계는 리프로그래밍 완료된 후 첫 시동이 시도되면 하드웨어 보안모듈을 통해 각 블록 영역별로 저장된 MAC 데이터를 받아 제2 메모리의 각 서브 블록 영역별로 저장하고, 제1 메모리의 블록 영역별 크기 및 그에 대응하는 상기 각각의 MAC 데이터를 제2 메모리의 각 서브 블록 영역에 저장하는 것만으로 시동이 걸리도록 허용하는 단계를 포함한다.
보안 부팅시 각 블록 영역별 MAC 데이터와 각 서브 블록영역별 저장된 MAC 데이터를 비교하는 단계는 시동이 시도되면 메모리 컨트롤러에 요청하여 제1 메모리의 각 블록 영역별로 저장된 MAC 데이터가 보안 부팅모듈로 제공되도록 하고, 보안 부팅모듈에서 미리 저장된 보안 키로 각 블록 영역별 MAC 데이터의 보안 인증을 해제함으로써 인증 해제된 MAC 데이터를 공유하도록 하는 단계를 더 포함한다.
보안 부팅시 각 블록 영역별 MAC 데이터와 각 서브 블록영역별 저장된 MAC 데이터를 비교하는 단계는 시동이 시도되면 보안 부팅모듈에서 인증 해제된 블록별 MAC 데이터와 제2 메모리에 저장된 각 서브 블록 영역의 MAC 데이터를 비교하여 동일하거나 일치할 때 시동을 허용하는 단계를 더 포함한다.
상기와 같은 다양한 기술 특징을 갖는 본 발명의 실시 예에 따른 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법은 동차 소프트웨어의 무결성을 확보하고 검증하기 위한 보안 부팅시 소프트웨어를 리프로그래밍 하더라도 메모리 영역이 자동 설정되어 리프로그래밍 이후에도 오류 없이 무결성을 검증할 수 있도록 함으로써 그 신뢰성과 안정성을 확보할 수 있는 효과가 있다.
특히, 자동차 소프트웨어의 리프로그래밍이 이루어지면 리프로그래밍 종료 전에 메모리 영역을 자동 설정하고 자동 설정된 메모리 영역들의 MAC 데이터를 미리 저장함으로써, 리프로그래밍 이후의 보안 부팅시 자동 설정된 메모리 영역들과 MAC 데이터의 무결성을 확인 및 검증하도록 할 수 있다. 이에, 리프로그래밍 이후의 보안 부팅시 오류 발생을 방지하고 보안 부팅이 원활하게 수행되도록 함으로써 그 신뢰성을 더욱 향상시킬 수 있다.
도 1은 전자 제어유닛의 운영 체제를 활성화하고 리프로그래밍 및 보안 부팅 진행되는 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 전자 제어유닛 구성을 구체적으로 나타낸 구성 블록도이다.
도 3은 도 2에 도시된 메모리의 블록 영역별 데이터 저장영역 설정방법을 나타낸 도면이다.
도 4는 리프로그래밍시 메모리의 블록 영역 및 데이터 저장영역을 자동으로 재설정하는 방법을 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 리프로그래밍 및 보안 부팅 수행 과정을 설명하기 위한 순서도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
전자 제어유닛(Electronic Control Unit)은 자동차의 엔진이나 자동변속기 등의 상태를 제어하는 제어 유닛으로서, 미리 저장된 제어 로직에 따라 엔진과 관련된 각종 센서로부터 수집된 정보(학습치)를 이용하여 최적 연소를 통해 엔진 효율을 높이고 운전자의 의도대로 엔진을 최적 제어해주기 위한 제어장치이다. 이러한 전자 제어장치는 엔진 제어를 위한 제어 로직 및 관련 데이터들은 비휘발성 메모리 영역에 저장하며, 센서들로부터 입력되는 학습치들은 휘발성 메모리 영역에 저장한다.
이러한 전자 제어유닛의 비휘발성 메모리에는 공장 데이터, 이모빌라이저 데이터, VIN 번호(차대번호) 등의 초기 데이터가 저장되고, 휘발성 메모리에는 자동차들의 전반적인 운용을 담당할 소프트웨어와 제어 로직 또는 응용 프로그램 등이 저장된다.
도 1은 전자 제어유닛의 운영 체제를 활성화하고 리프로그래밍 및 보안 부팅 진행되는 과정을 설명하기 위한 도면이다.
도 1을 참조하면, 상술한 바와 같이 전자 제어유닛의 메모리에는 초기 데이터와 함께 자동차들의 전반적인 운용을 담당할 소프트웨어와 제어 로직 등에 저장된 후, 검사 과정을 거쳐 사용자들에게 출하된다.
검사 및 출하 과정에서 첫번째 시동을 시도하게 되는데, 이 첫번째 시동시 자동차 소프트웨어나 제어 로직의 무결성을 확보하고 검증하기 위해 첫번째 보안 부팅(Secure Boot)이 진행된다.
첫번째 보안 부팅시에는 자동차 소프트웨어에서 전반적인 장치들의 통제권을 가져가기 전에, 각 메모리 블록 영역들의 메시지 인증 코드 데이터(MAC 데이터; Message Authentication Code Data)를 별도 메모리에 미리 저장된 MAC 데이터와 비교 확인하여 블록 영역들의 MAC 데이터가 인증되어야만 데이터들의 보안성을 인증하여 소프트웨어가 전반적인 장치들의 통제권을 갖도록 한다. 이후 자동차가 출하되어 사용자가 시동을 시동하면 상술한 보안 부팅을 수행하여 무결성을 검증하고 운행될 수 있도록 한다.
실제 운행되는 자동차들의 특성상 필요에 따라 정비소나 서비스 센터에서 소프트웨어를 리프로그래밍해야 하는 상황이 발생하기도 한다.
리프로그래밍이 진행되면, 본 발명에서의 전자 제어유닛은 리프로그래밍 종료 전에 메모리의 블록 영역들을 자동으로 재설정하고, 자동으로 재설정된 블록 영역들에 리프로그래밍된 데이터들과 함께 MAC 데이터를 미리 저장한다. 이때 각 블록 영역들의 크기와 인덱스(Index)는 가변 될 수 있으며, 리프로그래밍 이후의 저장 단계에서는 최종 저장 동작에 의한 리셋 동작이 이루어지기도 한다.
이렇게 리프로그래밍이 완료된 이후에 처음으로 다시 시동이 시도되면, 재설정된 블록 영역들의 MAC 데이터를 암호화하거나 복호화하여 보안 모듈의 별도 메모리에 추가 저장함으로써, 보안 부팅이 진행될 때마다 자동 설정된 메모리 영역들과 MAC 데이터의 무결성을 확인 및 검증하도록 한다.
도 2는 본 발명의 실시 예에 따른 전자 제어유닛 구성을 구체적으로 나타낸 구성 블록도이다.
도 2에 도시된 본 발명의 전자 제어유닛에는 보안 부팅 동작을 수행하기 위한 구성 요소들로서 메모리 컨트롤러(200), 제1 메모리(100), 하드웨어 보안모듈(400), 보안 부팅모듈(300), 제 2 메모리(500) 등이 포함된다.
구체적으로, 메모리 컨트롤러(200)는 전자 제어유닛의 리프로그래밍시, 리프로그래밍되는 프로그램 데이터에 따라 제1 메모리(100)의 블록 영역들(BLOCK_1 내지 BLOCK_n)을 재설정한다. 그리고 리프로그래밍 종료 전에, 재설정된 제1 메모리의 블록 영역들(BLOCK_1 내지 BLOCK_n)에 프로그램 데이터와 MAC 데이터를 저장한다. 여기서, n은 0을 제외한 자연수가 될 수 있다.
리프로그래밍되기 이전에는 이전 프로그램 데이터에 따라 블록 영역들이 설정되었기 때문에, 리프로그래밍이 진행되면 리프로그래밍되는 프로그램 데이터에 따라 블록 영역들(BLOCK_1 내지 BLOCK_n)을 재설정하게 된다. 이때 각 블록 영역별(BLOCK_1 내지 BLOCK_n) 프로그램 데이터의 크기에 따라 각 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기가 재설정되기 때문에 재설정되는 각 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기와 대응하여 블록 영역별 인덱스(Index) 및 MAC 데이터가 가변되어 저장된다.
MAC 데이터인 메시지 인증 코드는 각 블록 영역의 크기에 따라 설정되는 인증 데이터에 미리 설정된 인증 키로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성된 코드가 될 수 있다. 이에, 별도의 중앙 처리장치나 보안 부팅모듈(300)에는 재설정된 각 블록 영역의 MAC 데이터와 대응되는 인증 키를 별도로 저장한다.
리프로그래밍이 진행 및 완료되면 제1 메모리(100)의 최종 저장 동작에 의해 리셋 동작이 이루어지기도 한다.
보안 부팅모듈(300)과 하드웨어 보안모듈(400)은 전술한 바와 같은 리프로그래밍 완료된 후, 첫 시동이 시도되면 보안 부팅 동작을 수행한다. 즉, 보안 부팅시 하드웨어 보안모듈(400)은 메모리 컨트롤러(200)에 요청하여 제1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별로 저장된 MAC 데이터가 보안 부팅모듈(300)로 제공되도록 한다.
보안 부팅시 하드웨어 보안모듈(400)은 보안 부팅모듈(300)에 보안 부팅이 시작됨을 알릴 수 있으며, 이때 보안 부팅모듈(300)은 메모리 컨트롤러(200)에 제1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별로 저장된 MAC 데이터를 제공해줄 것을 요청할 수 있다.
보안 부팅모듈(300)은 제1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터를 순차적으로 받거나 읽어들이고, 미리 저장된 보안 키로 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터의 보안 인증을 해제함으로써 인증 해제된 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))를 하드웨어 보안모듈(400)과 공유한다.
하드웨어 보안모듈(400)은 리프로그래밍 이후 첫 시동 시도시에는 하드웨어 보안모듈(400)을 통해 각 블록 영역(BLOCK_1 내지 BLOCK_n)별로 보안 인증 해제된 MAC 데이터를 받는다. 그리고 제공받은 보안 인증 해제된 MAC 데이터를 제2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)별로 저장한다. 여기서, 제1 메모리(100) 및 제2 메모리(500)는 EEPROM 등 서로 달리 배치 구성된 휘발성 메모리가 될 수 있다.
하드웨어 보안모듈(400)은 리프로그래밍 이후 첫 시동 시도시, 재설정된 제1 메모리(100)의 블록 영역별(BLOCK_1 내지 BLOCK_n) 크기 및 그에 대응하는 각각의 MAC 데이터를 제2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)에 저장하는 것만으로 시동이 걸리도록 허용한다.
제2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)에 각각의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))가 저장된 이후부터는 시동 시도시, 보안 부팅모듈(300)이 제1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터를 순차적으로 제공받아 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터의 보안 인증을 해제한다.
이에, 하드웨어 보안모듈(400)은 인증 해제된 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))와 제2 메모리(500)에 저장된 각 서브 블록 영역(Block_1 내지 Block_1)의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))를 비교하여 동일하거나 일치할 때 시동을 허용하게 된다.
도 3은 도 2에 도시된 메모리의 블록 영역별 데이터 저장영역 설정방법을 나타낸 도면이다.
도 3과 같이, 리프로그래밍되기 이전에는 이전 프로그램 데이터에 따라 블록 영역들이 설정되어있다. 즉, 프로그램 데이터 중 블록 헤더(BLOCK1_HEADER) 및 블록 순환 데이터(Block Cyclic Redundancy Check, BLOCK1_CRC)에 의해서는 제1 메모리(100)의 블록 영역들(BLOCK_1 내지 BLOCK_n)이 분할 구분되어 있다. 여기서, 블록 헤더는 각 블록 영역의 시작 영역 또는 시작 데이터를 의미하는 헤더 코드가 될 수 있으며, 블록 순환 데이터(Block-CRC)는 각 블록의 마지막 데이터임을 알리는 코드이거나, 다음 블록의 순환을 알리는 코드가 될 수 있다.
제1 메모리(100)의 블록 영역들(BLOCK_1 내지 BLOCK_n)이 분할 구분되어 정의된 데이터 영역(BLOCK1_DATA)에는 초기 데이터나 응용 프로그램 또는 제어 로직 등의 프로그램 데이터가 기록되어 있다. 이러한, 데이터 영역(BLOCK1_DATA)에는 별도 센서들의 센싱 값이나 구동 환경에 따른 설정 값 등 반복 학습에 따른 학습 데이터들이 추가로 기록되어 있을 수도 있다.
각 블록 영역들(BLOCK_1 내지 BLOCK_n)의 데이터 영역에 저장되는 프로그램 데이터에 이어서는 각 블록 영역별(BLOCK_1 내지 BLOCK_n) 프로그램 데이터의 크기에 따른 MAC 데이터가 인증키에 의해 암호화되어 기록 및 저장되어 있다.
도 4는 리프로그래밍시 메모리의 블록 영역 및 데이터 저장영역을 자동으로 재설정하는 방법을 나타낸 도면이다.
전술한 바와 같이, 중앙 처리장치나 전자 제어유닛을 통한 소프트웨어 리프로그래밍시, 리프로그래밍되는 프로그램 데이터에 따라 제1 메모리(100)의 블록 영역들(BLOCK_1 내지 BLOCK_n)이 재설정되어야 한다.
도 4에 도시된 바와 같이, 메모리 컨트롤러(200)는 리프로그래밍되는 프로그램 데이터에 따라 가장 먼저 블록 영역들(BLOCK_1 내지 BLOCK_n)을 재설정하게 된다. 즉, 메모리 컨트롤러(200)는 리프로그래밍되는 프로그램 데이터의 블록 헤더(BLOCK1_HEADER) 및 블록 순환 데이터(BLOCK1_CRC)에 따라 블록 영역들(BLOCK_1 내지 BLOCK_n)을 재설정할 수 있다. 이는 리프로그래밍되는 프로그램 데이터의 크기가 가변되어 프로그래밍될 수 있으므로 새로 프로그래밍되는 프로그램 데이터의 크기에 따라 블록 영역들(BLOCK_1 내지 BLOCK_n)을 재설정함이 바람직하다.
각 블록 영역별(BLOCK_1 내지 BLOCK_n) 프로그램 데이터의 크기에 따라 각 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기가 재설정되기 때문에, 재설정되는 각 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기와 대응하여 블록 영역별 인덱스(Index)가 가변되어 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기가 확장 또는 축소될 수도 있다. 이렇게, 확장 또는 축소되는 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기에 따라 MAC 데이터 또한 가변되어 저장된다.
도 5는 본 발명의 실시 예에 따른 리프로그래밍 및 보안 부팅 수행 과정을 설명하기 위한 순서도이다.
도 5를 참조하여, 리프로그래밍 및 보안 부팅 수행 과정을 좀 더 구체적으로 설명하면 다음과 같다.
중앙 처리장치나 전자 제어유닛을 통한 소프트웨어 리프로그래밍시, 먼저 메모리 컨트롤러(200)는 리프로그래밍되는 프로그램 데이터에 따라 제1 메모리(100)의 블록 영역들(BLOCK_1 내지 BLOCK_n)을 재설정한다(ST1).
이때 각 블록 영역별(BLOCK_1 내지 BLOCK_n) 프로그램 데이터의 크기에 따라 각 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기가 재설정되기 때문에 재설정되는 각 블록 영역(BLOCK_1 내지 BLOCK_n)의 크기와 대응하여 블록 영역별 인덱스(Index) 및 MAC 데이터가 가변되어 저장된다.(ST2) 여기서, 별도의 중앙 처리장치나 보안 부팅모듈(300)에는 재설정된 각 블록 영역의 MAC 데이터와 대응되는 인증 키를 별도로 저장한다.
리프로그램이 진행 및 완료되면 제 1 메모리(100)의 최종 저장 동작에 의해 리셋 동작이 이루어지기도 한다.(ST3)
전술한 바와 같은 리프로그래밍 완료된 후, 첫 시동이 시도되면 보안 부팅모듈(300)과 하드웨어 보안모듈(400)은 보안 부팅 동작을 수행한다.(ST4)
하드웨어 보안모듈(400)은 메모리 컨트롤러(200)에 요청하여 제 1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별로 저장된 MAC 데이터가 보안 부팅모듈(300)로 제공되도록 한다. 다른 방법으로는 보안 부팅시 하드웨어 보안모듈(400)이 보안 부팅모듈(300)에 보안 부팅이 시작됨을 알릴 수 있으며, 이때 보안 부팅모듈(300)은 메모리 컨트롤러(200)에 제 1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별로 저장된 MAC 데이터를 제공해줄 것을 요청할 수 있다.
이어, 보안 부팅모듈(300)은 제 1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터를 순차적으로 제공받거나 읽어들이고, 미리 저장된 보안 키로 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터의 보안 인증을 해제함으로써 인증 해제된 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))를 하드웨어 보안모듈(400)과 공유한다.
다음으로, 리프로그래밍 이후 첫 시동 시도인지 여부를 판단한다.(ST6)
만일, 리프로그래밍 이후 첫 시동 시도이면 하드웨어 보안모듈(400)은 하드웨어 보안모듈(400)을 통해 각 블록 영역(BLOCK_1 내지 BLOCK_n)별로 보안 인증 해제된 MAC 데이터를 제공받는다. 그리고 제공받은 보안 인증 해제된 MAC 데이터를 제 2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)별로 저장한다.(ST7)
전술한 바와 같이, 리프로그래밍 이후 첫 시동 시도시에는 재설정된 제 1 메모리(100)의 블록 영역별(BLOCK_1 내지 BLOCK_n) 크기 및 그에 대응하는 각각의 MAC 데이터를 제 2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)에 저장하는 것만으로 시동이 걸리도록 허용한다. 이때는 차량 소프트웨어가 전체적인 장치들의 통제권을 갖고 제어 로직에 따라 제어할 수 있다.(ST8)
한편으로, 리프로그래밍 이후 첫 시동 시도가 아닌 경우, 즉 제 2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)에 각각의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))가 저장된 이후부터는 시동 시도시, 각 서브 블록 영역(Block_1 내지 Block_1)에 각각의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))가 저장되어 있는지 여부를 먼저 체크한다.(ST8)
그리고 저장이 확인된 경우에는 보안 부팅모듈(300)이 제 1 메모리(100)의 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터를 순차적으로 제공받아 각 블록 영역(BLOCK_1 내지 BLOCK_n)별 MAC 데이터의 보안 인증을 해제한다. 이때, 하드웨어 보안모듈(400)은 인증 해제된 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))와 제 2 메모리(500)에 저장된 각 서브 블록 영역(Block_1 내지 Block_1)의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))를 비교하여, 동일하거나 일치할 때 시동을 허용하게 된다.(ST10,ST8)
하지만, 제 2 메모리(500)의 각 서브 블록 영역(Block_1 내지 Block_1)에 각각의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))가 저장되어 있지 않은 경우나, 인증 해제된 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))와 제 2 메모리(500)에 저장된 각 서브 블록 영역(Block_1 내지 Block_1)의 MAC 데이터(BLOCK1(MAC) 내지 BLOCKn(MAC))가 일치하지 않는 경우, 하드웨어 보안모듈(400)은 보안상 문제가 있는 것으로 판단하여 에러 코드를 발생시키고 시동이 불가함을 알린다.(ST11)
이상 상술한 바에 의하면, 본 발명의 실시 예에 따른 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법은 자동차 소프트웨어의 무결성을 확보하고 검증하기 위한 보안 부팅시 소프트웨어를 리프로그래밍 하더라도 메모리 영역이 자동 설정되어 리프로그래밍 이후에도 오류 없이 무결성을 검증할 수 있도록 함으로써, 그 신뢰성과 안정성을 확보할 수 있는 효과가 있다.
특히, 자동차 소프트웨어의 리프로그래밍이 이루어지면 리프로그래밍 종료 전에 메모리 영역을 자동 설정하고 자동 설정된 메모리 영역들의 MAC 데이터를 미리 저장함으로써, 리프로그래밍 이후의 보안 부팅시 자동 설정된 메모리 영역들과 MAC 데이터의 무결성을 확인 및 검증하도록 할 수 있다. 이에, 리프로그래밍 이후의 보안 부팅시 오류 발생을 방지하고 보안 부팅이 원활하게 수행되도록 함으로써 그 신뢰성을 더욱 향상시킬 수 있다.
100: 제 1 메모리
200: 메모리 컨트롤러
300: 보안 부팅모듈
400: 하드웨어 보안모듈
500: 제 2 메모리

Claims (10)

  1. 리프로그래밍되는 프로그램 데이터에 따라 제 1 메모리의 블록 영역들을 재설정하여 상기 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 메모리 컨트롤러;
    상기 각 블록 영역별 MAC 데이터를 읽어들여 상기 각 블록 영역별 MAC 데이터의 보안 인증을 해제하는 보안 부팅모듈; 및
    상기 보안 인증 해제된 각 블록 영역별 MAC 데이터를 제 2 메모리에 각 서브 블록영역별로 저장하고 보안 부팅시 상기 보안 인증 해제된 각 블록 영역별 MAC 데이터와 상기 각 서브 블록영역별로 저장된 MAC 데이터를 비교하여 비교 결과를 출력하는 하드웨어 보안모듈을 포함하고,
    상기 메모리 컨트롤러는
    상기 프로그램 데이터의 블록 헤더 및 블록 순환 데이터 크기에 따라 상기 각 블록 영역별 인덱스를 가변시켜 상기 각 블록 영역의 크기를 재설정하고, 상기 재설정된 각 블록 영역의 크기에 대응하도록 상기 MAC 데이터를 가변시켜 저장하는
    보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 하드웨어 보안모듈은
    리프로그래밍 완료된 후 첫 시동이 시도되면 상기 하드웨어 보안모듈을 통해 상기 각 블록 영역별로 저장된 MAC 데이터를 제공받아 제 2 메모리의 각 서브 블록 영역별로 저장하고,
    상기 제 1 메모리의 블록 영역별 크기 및 그에 대응하는 상기 각각의 MAC 데이터를 상기 제 2 메모리의 각 서브 블록 영역에 저장하는 것만으로 시동이 걸리도록 허용하는 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛.
  4. 제 3 항에 있어서,
    상기 하드웨어 보안모듈은
    시동이 시도되면 상기 메모리 컨트롤러에 요청하여 상기 제 1 메모리의 각 블록 영역별로 저장된 MAC 데이터가 상기 보안 부팅모듈로 제공되도록 하고,
    상기 보안 부팅모듈에서 미리 저장된 보안 키로 상기 각 블록 영역별 MAC 데이터의 보안 인증을 해제함으로써 인증 해제된 MAC 데이터를 공유하도록 하는 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛.
  5. 제 4 항에 있어서,
    상기 하드웨어 보안모듈은
    시동이 시도되면 상기 보안 부팅모듈에서 인증 해제된 상기 각 블록별 MAC 데이터와 상기 제 2 메모리에 저장된 각 서브 블록 영역의 MAC 데이터를 비교하여 동일하거나 일치할 때 시동을 허용하는 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛.
  6. 리프로그래밍되는 프로그램 데이터에 따라 제 1 메모리의 블록 영역들을 재설정하여 상기 재설정된 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 단계;
    상기 각 블록 영역별 MAC 데이터를 읽어들여 상기 각 블록 영역별 MAC 데이터의 보안 인증을 해제하는 단계; 및
    상기 보안 인증 해제된 각 블록 영역별 MAC 데이터를 제 2 메모리에 각 서브 블록영역별로 저장하고, 보안 부팅시 상기 보안 인증 해제된 각 블록 영역별 MAC 데이터와 상기 각 서브 블록영역별로 저장된 MAC 데이터를 비교하여 비교 결과를 출력하는 단계를 포함하고,
    상기 재설정된 블록 영역들에 프로그램 데이터와 MAC 데이터를 저장하는 단계는
    상기 프로그램 데이터의 블록 헤더 및 블록 순환 데이터 크기에 따라 상기 각 블록 영역별 인덱스를 가변시켜 상기 각 블록 영역의 크기를 재설정 하고, 상기 재설정된 각 블록 영역의 크기에 대응하도록 상기 MAC 데이터를 가변시켜 저장하는
    전자 제어유닛을 이용한 보안 부팅 방법.
  7. 삭제
  8. 제 6 항에 있어서,
    보안 부팅시 상기 각 블록 영역별 MAC 데이터와 상기 각 서브 블록영역별 저장된 MAC 데이터를 비교하는 단계는
    리프로그래밍 완료된 후 첫 시동이 시도되면 하드웨어 보안모듈을 통해 상기 각 블록 영역별로 저장된 MAC 데이터를 제공받아 상기 제 2 메모리의 각 서브 블록 영역별로 저장하고,
    상기 제 1 메모리의 블록 영역별 크기 및 그에 대응하는 상기 각각의 MAC 데이터를 상기 제 2 메모리의 각 서브 블록 영역에 저장하는 것만으로 시동이 걸리도록 허용하는 단계;
    를 포함하는 전자 제어유닛을 이용한 보안 부팅 방법.
  9. 제 8 항에 있어서,
    보안 부팅시 상기 각 블록 영역별 MAC 데이터와 상기 각 서브 블록영역별 저장된 MAC 데이터를 비교하는 단계는
    시동이 시도되면 메모리 컨트롤러에 요청하여 상기 제 1 메모리의 각 블록 영역별로 저장된 MAC 데이터가 보안 부팅모듈로 제공되도록 하고,
    상기 보안 부팅모듈에서 미리 저장된 보안 키로 상기 각 블록 영역별 MAC 데이터의 보안 인증을 해제함으로써 인증 해제된 MAC 데이터를 공유하도록 하는 단계;
    를 더 포함하는 전자 제어유닛을 이용한 보안 부팅 방법.
  10. 제 9 항에 있어서,
    보안 부팅시 상기 각 블록 영역별 MAC 데이터와 상기 각 서브 블록영역별 저장된 MAC 데이터를 비교하는 단계는
    시동이 시도되면 상기 보안 부팅모듈에서 인증 해제된 상기 각 블록별 MAC 데이터와 상기 제 2 메모리에 저장된 각 서브 블록 영역의 MAC 데이터를 비교하여 동일하거나 일치할 때 시동을 허용하는 단계;
    를 더 포함하는 전자 제어유닛을 이용한 보안 부팅 방법.
KR1020160084156A 2016-07-04 2016-07-04 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법 KR101806719B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160084156A KR101806719B1 (ko) 2016-07-04 2016-07-04 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160084156A KR101806719B1 (ko) 2016-07-04 2016-07-04 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법

Publications (1)

Publication Number Publication Date
KR101806719B1 true KR101806719B1 (ko) 2017-12-08

Family

ID=60920066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160084156A KR101806719B1 (ko) 2016-07-04 2016-07-04 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법

Country Status (1)

Country Link
KR (1) KR101806719B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190130756A (ko) * 2018-05-15 2019-11-25 현대자동차주식회사 차량용 제어기 및 그 업데이트 방법
KR20200030770A (ko) * 2018-09-13 2020-03-23 주식회사 넥스트칩 데이터의 안전을 결정하는 방법 및 그 방법을 수행하는 전자 장치
KR20200070450A (ko) * 2018-12-07 2020-06-18 현대오트론 주식회사 차량 제어기의 보안 강화 방법 및 장치
KR20220082237A (ko) 2020-12-10 2022-06-17 한국항공우주연구원 메모리에 포함된 보안 데이터 영역의 통합 방법
KR20240050595A (ko) 2022-10-12 2024-04-19 현대모비스 주식회사 메모리 무결성 검증 시스템 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322265A (ja) * 1999-04-21 2000-11-24 Robert Bosch Gmbh メモリ装置,メモリ装置のブート領域の再プログラミング方法,メモリ装置を有するコンピュータユニット
JP2006165874A (ja) * 2004-12-06 2006-06-22 Canon Inc 電子制御装置及びデータ保護システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322265A (ja) * 1999-04-21 2000-11-24 Robert Bosch Gmbh メモリ装置,メモリ装置のブート領域の再プログラミング方法,メモリ装置を有するコンピュータユニット
JP2006165874A (ja) * 2004-12-06 2006-06-22 Canon Inc 電子制御装置及びデータ保護システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190130756A (ko) * 2018-05-15 2019-11-25 현대자동차주식회사 차량용 제어기 및 그 업데이트 방법
KR102545102B1 (ko) * 2018-05-15 2023-06-19 현대자동차주식회사 차량용 제어기 및 그 업데이트 방법
KR20200030770A (ko) * 2018-09-13 2020-03-23 주식회사 넥스트칩 데이터의 안전을 결정하는 방법 및 그 방법을 수행하는 전자 장치
KR102104298B1 (ko) * 2018-09-13 2020-04-24 주식회사 넥스트칩 데이터의 안전을 결정하는 방법 및 그 방법을 수행하는 전자 장치
KR20200070450A (ko) * 2018-12-07 2020-06-18 현대오트론 주식회사 차량 제어기의 보안 강화 방법 및 장치
KR102176378B1 (ko) 2018-12-07 2020-11-10 현대오트론 주식회사 차량 제어기의 보안 강화 방법 및 장치
US11347837B2 (en) 2018-12-07 2022-05-31 Hyundai Autoever Corp. Method and apparatus for enhancing security of vehicle controller
KR20220082237A (ko) 2020-12-10 2022-06-17 한국항공우주연구원 메모리에 포함된 보안 데이터 영역의 통합 방법
KR20240050595A (ko) 2022-10-12 2024-04-19 현대모비스 주식회사 메모리 무결성 검증 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
KR101806719B1 (ko) 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법
CN105938433B (zh) 用于对机动车的控制设备进行编程的方法
CN108427565B (zh) 用于安全的多周期车辆软件更新的方法和设备
US7711944B2 (en) Method and apparatus for securely updating and booting code image
JP5798695B2 (ja) コンピューティングデバイス整合性保護
US8856538B2 (en) Secured flash programming of secondary processor
US9021246B2 (en) Method to replace bootloader public key
US20210397441A1 (en) Firmware updating system and method
US8930710B2 (en) Using a manifest to record presence of valid software and calibration
US20140058532A1 (en) Method for partial flashing of ecus
US20150074404A1 (en) Method for the protected transmission of data
CN111480141A (zh) 用于更新机动车控制设备的软件的方法和设备
KR102368606B1 (ko) 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
WO2014206170A1 (zh) 一种验证方法及设备
JP6659180B2 (ja) 制御装置および制御方法
US11048801B2 (en) Method and apparatus for secure computing device start up
US20210374230A1 (en) Cryptography module and method for operating same
CN112702166A (zh) 一种数据传输方法、验证方法、装置和汽车
JP2021508892A (ja) 電子デバイスの無欠性検査
JP6698778B2 (ja) 制御システム
JP4534731B2 (ja) 電子制御装置及びその識別コード生成方法
CN115220796A (zh) 安全引导设备
US20210406375A1 (en) Method for carrying out a secured startup sequence of a control unit
US20240070282A1 (en) Firmware update method and apparatus for a mcu of a vehicle
KR101787272B1 (ko) 초기 데이터 관리가 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant