KR20240051718A - 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법 - Google Patents

차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법 Download PDF

Info

Publication number
KR20240051718A
KR20240051718A KR1020220131746A KR20220131746A KR20240051718A KR 20240051718 A KR20240051718 A KR 20240051718A KR 1020220131746 A KR1020220131746 A KR 1020220131746A KR 20220131746 A KR20220131746 A KR 20220131746A KR 20240051718 A KR20240051718 A KR 20240051718A
Authority
KR
South Korea
Prior art keywords
vehicle controller
software
verification data
integrity
control unit
Prior art date
Application number
KR1020220131746A
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 KR1020220131746A priority Critical patent/KR20240051718A/ko
Priority to US18/136,546 priority patent/US20240126890A1/en
Publication of KR20240051718A publication Critical patent/KR20240051718A/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/577Assessing vulnerabilities and evaluating computer system security
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법에 관한 것으로, 차량 제어기가 소프트웨어 업데이트 관리 시스템(SUMS, Software Update Management System)과 연동하여 펌웨어(Firmware) 업데이트를 수행하는 환경에서, 상기 SUMS으로부터 상기 차량 제어기의 제1 IVD(Integrity Validation Data)를 획득하고, 상기 차량 제어기로부터 제2 IVD를 획득하며, 상기 제1 IVD와 상기 제2 IVD에 기초하여 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증함으로써, 불법 해킹으로 인한 소프트웨어의 변경 또는 애프터마켓에서의 불법 튜닝에 의한 소프트웨어의 변경 여부를 검출해 낼 수 있는 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은 소프트웨어 관리 시스템과의 통신 인터페이스를 제공하는 통신부; 및 상기 소프트웨어 관리 시스템으로부터 차량 제어기의 제1 검증 데이터를 획득하고, 상기 차량 제어기로부터 제2 검증 데이터를 획득하며, 상기 제1 검증 데이터와 상기 제2 검증 데이터에 기초하여 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 제어부를 포함할 수 있다.

Description

차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법{APPARATUS FOR VERIFYING SOFRWARE INTEGRITY OF VEHICLE CONTROLLER AND METHOD THEREOF}
본 발명은 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 기술에 관한 것이다.
차량의 가속과 제동 및 안전 등과 관련된 기능들이 전자화되면서, 이를 제어하기 위한 다양한 제어기들이 차량에 장착되고 있으며, 이에 따라 각 제어기에 탑재되는 소프트웨어의 종류와 복잡성이 증가하고 있다.
이러한 소프트웨어를 업데이트하는 방식은 OTA(Over The Air)를 통한 업데이트 방식, USB(Universal Serial Bus)를 이용한 업데이트 방식, 전용 장비를 이용한 업데이트 방식 등이 있으며, 이렇게 다양한 방식에 의해 차량의 제어기에 탑재된 소프트웨어가 업데이트될 수 있는 바, DDoS(Distributed Denial of Service attack)에 의한 불법 해킹 및 애프터마켓에서의 불법 튜닝에 의한 소프트웨어의 변경이 빈번하게 발생할 수 있다.
이렇게 DDoS에 의한 불법 해킹으로 인한 소프트웨어의 변경 또는 애프터마켓에서의 불법 튜닝에 의한 소프트웨어의 변경이 발생하면, 그로 인하여 차량에 치명적인 문제가 발생할 수 있고 이는 운전자의 안전을 보장할 수 없다.
이에, UNECE(United Nations Economic Commission for Europe)는 제어기 소프트웨어의 무결성 검증을 법규 항목으로 지정하였다. 즉, UNECE는 차량의 제어기에 탑재된 소프트웨어의 변경 시, 차량 형식 승인(VTA, Vehicle Type Approval)과의 관련성을 확인하고 안전한 업데이트가 이루어질 수 있도록 규제하기 위한 R156.00 법규를 지정하였다. 따라서 유럽에 차량을 판매하기 위해서는 양산 전에 유럽 법규 R156.00(Software Update Management System)의 만족 여부를 반드시 인증받아야 하는 바, 법규 R156.00을 만족하는 소프트웨어의 업데이트 관리 체계의 확립이 필요하다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.
본 발명은 차량 제어기가 소프트웨어 업데이트 관리 시스템(SUMS, Software Update Management System)과 연동하여 펌웨어(Firmware) 업데이트를 수행하는 환경에서, 상기 SUMS으로부터 상기 차량 제어기의 제1 IVD(Integrity Validation Data)를 획득하고, 상기 차량 제어기로부터 제2 IVD를 획득하며, 상기 제1 IVD와 상기 제2 IVD에 기초하여 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증함으로써, 불법 해킹으로 인한 소프트웨어의 변경 또는 애프터마켓에서의 불법 튜닝에 의한 소프트웨어의 변경 여부를 검출해 낼 수 있는 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 장치는, 소프트웨어 관리 시스템과의 통신 인터페이스를 제공하는 통신부; 및 상기 소프트웨어 관리 시스템으로부터 차량 제어기의 제1 검증 데이터를 획득하고, 상기 차량 제어기로부터 제2 검증 데이터를 획득하며, 상기 제1 검증 데이터와 상기 제2 검증 데이터에 기초하여 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 제어부를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 제어부는 상기 제1 검증 데이터와 상기 제2 검증 데이터가 서로 동일한 경우, 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정할 수 있다.
본 발명의 일 실시예에서, 상기 제어부는 상기 소프트웨어 관리 시스템으로부터 상기 차량 제어기에 상응하는 복수의 검증 데이터를 획득하고 상기 차량 제어기로부터 복수의 검증 데이터를 획득한 경우, 상기 소프트웨어 관리 시스템으로부터 획득한 복수의 검증 데이터와 상기 차량 제어기로부터 획득한 복수의 검증 데이터가 서로 동일한지 비교하고, 서로 동일한 경우 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정할 수 있다.
본 발명의 일 실시예에서, 상기 소프트웨어 관리 시스템은 상기 차량 제어기에 탑재된 소프트웨어를 구성하는 각 프로그램별로 소프트웨어 패키지와 상기 소프트웨어 패키지의 버전정보 및 검증 데이터를 관리할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기는 상기 소프트웨어 관리 시스템으로부터 수신한 상기 소프트웨어 패키지에 기초하여 펌웨어 업데이트를 수행할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기는 상기 차량의 시동 온(IGN ON)시 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하고, 상기 제어부로부터의 요청시 상기 검증 데이터를 전송할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기는 상기 제어부로부터의 요청시 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하고, 상기 결정한 검증 데이터를 상기 제어부로 전송할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기는 상기 제어부로부터 추가 요청시, 상기 차량의 시동 온(IGN ON) 동안은 추가로 검증 데이터를 결정하지 않고 상기 결정한 검증 데이터를 상기 제어부로 전송할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기는 보안 플래시(Secure Flash) 라이브러리 또는 크립토(Crypto) 라이브러리에 기초하여 상기 제2 검증 데이터를 결정할 수 있다.
본 발명의 일 실시예에서, 상기 제2 검증 데이터는 SHA(Secure Hash Algorithm)-1 값, SHA-2 값, CRC(Cyclic Redundancy Check) 16 값, CRC 32 값 중 어느 하나일 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 방법은, 제어부가 소프트웨어 관리 시스템으로부터 차량 제어기의 제1 검증 데이터를 획득하는 단계; 상기 제어부가 상기 차량 제어기로부터 제2 검증 데이터를 획득하는 단계; 및 상기 제어부가 상기 제1 검증 데이터와 상기 제2 검증 데이터에 기초하여, 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 단계는, 상기 제1 검증 데이터와 상기 제2 검증 데이터가 동일한 경우, 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 단계는, 상기 소프트웨어 관리 시스템으로부터 상기 차량 제어기에 상응하는 복수의 검증 데이터를 획득하고 상기 차량 제어기로부터 복수의 검증 데이터를 획득한 경우, 상기 소프트웨어 관리 시스템으로부터 획득한 복수의 검증 데이터와 상기 차량 제어기로부터 획득한 복수의 검증 데이터가 서로 동일한지 비교하는 단계; 및 서로 동일한 경우, 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는, 상기 소프트웨어 관리 시스템이 상기 차량 제어기에 탑재된 소프트웨어를 구성하는 각 프로그램별로 소프트웨어 패키지와 상기 소프트웨어 패키지의 버전정보 및 검증 데이터를 관리하는 단계; 및 상기 차량 제어기가 상기 소프트웨어 관리 시스템으로부터 수신한 상기 소프트웨어 패키지에 기초하여 펌웨어 업데이트를 수행하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는, 상기 차량의 시동 온(IGN ON)시, 상기 차량 제어기가 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하는 단계; 및 상기 제어부로부터의 요청시, 상기 차량 제어기가 상기 검증 데이터를 상기 제어부로 전송하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는, 상기 제어부로부터의 요청시, 상기 차량 제어기가 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하는 단계; 및 상기 차량 제어기가 상기 제어부로 상기 결정한 검증 데이터를 전송하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예는, 상기 제어부로부터 추가 요청시, 상기 차량의 시동 온(IGN ON) 동안은 추가로 검증 데이터를 결정하지 않고 상기 결정한 검증 데이터를 상기 제어부로 전송하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에서, 상기 차량 제어기로부터 제2 검증 데이터를 획득하는 단계는, 상기 차량 제어기가 보안 플래시(Secure Flash) 라이브러리 또는 크립토(Crypto) 라이브러리에 기초하여 상기 제2 검증 데이터를 결정하는 단계를 포함할 수 있다.
상기와 같은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법은, 차량 제어기가 소프트웨어 업데이트 관리 시스템(SUMS, Software Update Management System)과 연동하여 펌웨어(Firmware) 업데이트를 수행하는 환경에서, 상기 SUMS으로부터 상기 차량 제어기의 제1 IVD(Integrity Validation Data)를 획득하고, 상기 차량 제어기로부터 제2 IVD를 획득하며, 상기 제1 IVD와 상기 제2 IVD에 기초하여 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증함으로써, 불법 해킹으로 인한 소프트웨어의 변경 또는 애프터마켓에서의 불법 튜닝에 의한 소프트웨어의 변경 여부를 검출해 낼 수 있다.
도 1 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 대한 구성도,
도 2 는 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 보안 시스템과 SPS 및 SUMS의 기능을 설명하는 일예시도,
도 3 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 SUMS의 소프트웨어 패키지에 대한 상세정보 등록 화면을 나타내는 일예시도,
도 4 는 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 차량 제어기가 IVD를 결정하는 시점을 설명하는 제1 예시도,
도 5 는 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 차량 제어기가 IVD를 결정하는 시점을 설명하는 제2 예시도,
도 6 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 장치에 대한 구성도,
도 7 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 방법에 대한 흐름도,
도 8 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 방법을 실행하기 위한 컴퓨팅 시스템을 보여주는 블록도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
유엔 유럽 경제 위원회(UNECE)에서 규정하는 소프트웨어 업데이트와 관련된 법규 R156.00에서는 차량 내 소프트웨어의 업데이트 전반에 걸쳐 프로세스를 정립하고 산출물들을 관리하도록 소프트웨어 업데이트 관리 체계에 대한 복수의 요구 항목을 규정하고 차량 제조사들에게 R156.00 법규 준수 인증을 획득할 것을 요구하고 있다. 특히, 법규 R156.00은 양산된 차량에 대해 소프트웨어 변경이 필요할 시, 차량 형식 승인(VTA, Vehicle Type Approval)과의 관련성을 확인하고 안전하게 업데이트가 이루어 질 수 있도록 차량의 제조사 별로 RXSWIN(Regulation X Software Identification Number)를 기록 및 관리할 것을 요구하고 있다.
RXSWIN는, 유럽 적용 법규(RX)의 형식 승인 타입 별로 각각 연관된 전자 제어 장치(ECU)의 소프트웨어 버전을 식별하기 위한 고유 식별 번호이다. 예를 들어, 차량이 "R-48 Light Installation" 법규에 대해 형식 승인을 취득했을 시, 해당 법규의 요구 사항과 관련된 제어 장치(예: IBU, ICU 등)들의 소프트웨어 버전들의 조합을 지칭하는 식별자를 RWSWIN으로 기록할 수 있다.
R156.00 법규에서는 RXSWIN가 다음과 같은 6가지 요구사항을 만족할 것을 규정하고 있다. RXSWIN는 1) 차량 제조사의 전산 서버 장치에서 소프트웨어의 버전과 연계되어 관리되어야 하며, 2) 차량 내에서도 저장 및 관리 되어야 하고, 3) 진단 장치를 통해 차량으로부터 읽을(read) 수 있어야 한다. 또한, 4) 법규 영향성 있는(형식 승인에 영향을 미치는) 소프트웨어가 변경되었을 시 RXSWIN가 차량에 업데이트 되어야 하고, 5) 차량 내 RXSWIN 값과 차량 제조사의 서버의 RXSWIN 값이 동일한지 정합성이 검증되어야 하며, 6) 차대 번호(VIN, Vehicle Identification Number) 별로 RXSWIN 이력이 기록 및 저장되어야 한다.
도 1 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 대한 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템은, 보안 시스템(Security System, 110), SPS(Software Package Studio, 120), SUMS(Software Update Management System, 130), 차량 제어기(200), 및 차량 진단기(300)를 포함할 수 있다. 이때, 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템을 실시하는 방식에 따라 각 구성요소는 서로 결합되어 하나로 구현될 수도 있고, 일부의 구성요소가 생략될 수도 있다.
상기 각 구성요소들에 대해 살펴보면, 먼저 보안 시스템(110)은 차량 제어기(200)에 탑재된 소프트웨어를 구성하는 각 프로그램별로 펌웨어를 생성하고, 각 프로그램별로 펌웨어에 기초한 IVD(Integrity Validation Data)를 생성할 수 있다. 이때, IVD는 펌웨어에 기초한 해시값(hash value)일 수 있다. 또한, IVD는 보안 시스템(110)에 입력되는 'PURE ROM'의 전체 영역에 기초한 해시값일 수도 있다.
SPS(120)은 소프트웨어 패키지를 생성하는 시스템으로서, 펌웨어와 컨피그 파일(Config File) 및 해시값으로 구성된 소프트웨어 패키지를 생성할 수 있다. 이때, 상기 펌웨어는 보안 시스템(110)에 의해 생성된 펌웨어이고, 상기 해시값은 상기 컨피트 파일에 기초하여 생성한 해시값이다.
SUMS(130)은 차량 제어기(200)에 탑재된 소프트웨어를 구성하는 각 프로그램별로 소프트웨어 패키지와 상기 소프트웨어 패키지의 버전정보 및 IVD를 관리할 수 있다.
이하, 도 2를 참조하여 보안 시스템(110)과 SPS(120) 및 SUMS(130)의 기능에 대해 상세히 살펴보기로 한다.
도 2 는 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 보안 시스템과 SPS 및 SUMS의 기능을 설명하는 일예시도이다.
도 2에 도시된 바와 같이, 보안 시스템(110)은 차량 제어기(200)에 탑재된 소프트웨어를 구성하는 제1 프로그램에 상응하는 제1 펌웨어를 생성할 수 있다. 또한, 보안 시스템(110)은 제1 펌웨어에 상응하는 제1 해시값(Hash 1)을 생성할 수 있다. 이때, 제1 해시값은 IVD 1로서 SUMS(130)에 등록될 수 있다.
SPS(120)은 제1 펌웨어와 컨피그 파일(Config File) 및 상기 컨피그 파일에 상응하는 해시값으로 구성된 제1 소프트웨어 패키지(SW Package 1)를 생성할 수 있다.
SUMS(130)은 제1 프로그램에 상응하는 제1 소프트웨어 패키지와 상기 제1 소프트웨어 패키지의 버전정보 및 IVD 1을 등록 및 관리할 수 있다. 이때, 소프트웨어 패키지에 대한 상세 정보를 등록하는 화면은 도 3에 도시된 바와 같다.
한편, 차량 제어기(200)는 차량에 구비되어 각종 제어를 수행하는 제어기로서, ECU(Electronic Control Unit), IBU(Integrated Body Unit), MCU(Motor Control Unit), TCU(Transmission Control Unit), ECU(Engine Control Unit) 등을 포함할 수 있다.
이러한 차량 제어기(200)는 SUMS(130)과 연동하여 펌웨어 업데이트를 수행할 수 있다. 즉, 차량 제어기(200)는 SUMS(130)로부터 소프트웨어 패키지를 획득하고, 상기 소프트웨어 패키지에 포함되어 있는 펌웨어를 이용하여 소프트웨어 업데이트를 수행할 수 있다. 이때, 차량 제어기(200)는 복수의 소프트웨어 패키지를 획득한 경우, 각 소프트웨어 패키지에 상응하는 IVD(즉, 각 펌웨어에 상응하는 IVD 또는 각 프로그램에 상응하는 IVD)를 저장 및 관리할 수 있다. 따라서, 차량 진단기(300)가 IVD를 요청한 경우, 각 소프트웨어 패키지에 상응하는 IVD를 차량 진단기(300)로 제공할 수 있다.
또한, 차량 제어기(200)는 보안 플래시(Secure Flash) 라이브러리 또는 크립토(Crypto) 라이브러리 등에 기초하여 IVD를 결정할 수 있다. 이때, 차량 제어기(200)는 SHA(Secure Hash Algorithm)-1 값(출력값 또는 계산값), SHA-2 값, CRC(Cyclic Redundancy Check) 16 값(출력값 또는 계산값), CRC 32 값 중 어느 하나를 IVD로서 결정할 수 있다. 여기서, 차량 제어기(200)가 IVD를 결정하는 시점은 도 4 및 도 5에 도시된 바와 같다.
도 4 는 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 차량 제어기가 IVD를 결정하는 시점을 설명하는 제1 예시도이다.
도 4에 도시된 바와 같이, 차량 제어기(200)는 차량의 시동 온(IGN ON) 마다 IVD를 결정하고 상기 IVD를 저장하며, 차량 진단기(300)로부터의 IVD 진단 요청시 상기 저장하고 있는 IVD를 차량 진단기(300)로 출력할 수 있다. 이때, 차량 제어기(200)가 IVD를 계산하는 도중에 차량 진단기(300)로부터 IVD 진단 요청을 받은 경우, 차량 제어기(200)는 IVD 계산이 완료된 이후에 IVD를 차량 진단기(300)로 출력할 수 있다.
도 5 는 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 시스템에 구비된 차량 제어기가 IVD를 결정하는 시점을 설명하는 제2 예시도이다.
도 5에 도시된 바와 같이, 차량 제어기(200)는 차량 진단기(300)로부터의 1차 IVD 진단 요청시 IVD를 결정하고 상기 IVD를 저장하며 상기 IVD를 차량 진단기(300)로 출력할 수 있다.
이후, 차량의 시동 온 사이클 동안, 차량 진단기(300)로부터의 2차 IVD 진단 요청시, 차량 제어기(200)는 IVD를 추가로 결정하지 않고 이전에 결정한 IVD(1차 진단 요청시 결정한 IVD)를 차량 진단기(300)로 출력할 수 있다.
차량에 구비된 'OBD-II Connector'는 차량 내 게이트웨이와 연결되는 바, 차량 진단기(300)는 상기 게이트웨이를 통해 차량 내 각종 ECU에 접근 가능하며, 따라서 각종 ECU에 진단 서비스를 요청할 수 있다.
이러한 차량 진단기(200)는 본 발명의 일 실시예에 따른 차량 제어기(200)의 소프트웨어 무결성 검증 장치(310)를 구비하거나, 차량 진단기(300)가 무결성 검증 장치(310)의 기능을 수행할 수 있다. 여기서, 무결성 검증 장치(310)는 차량 제어기(200)가 SUMS(130)과 연동하여 펌웨어 업데이트를 수행하는 환경에서, 상기 SUMS(130)으로부터 상기 차량 제어기(200)의 제1 IVD를 획득하고, 상기 차량 제어기(200)로부터 제2 IVD를 획득하며, 상기 제1 IVD와 상기 제2 IVD에 기초하여 상기 차량 제어기(200)에 탑재된 소프트웨어의 무결성을 검증해 냄으로써, 검증함으로써, 불법 해킹으로 인한 소프트웨어의 변경 또는 애프터마켓에서의 불법 튜닝에 의한 소프트웨어의 변경 여부를 검출해 낼 수 있다.
도 6 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 장치에 대한 구성도이다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 장치(310)는, 저장부(10), 통신부(20), 접속부(30), 및 제어부(Controller, 40)를 포함할 수 있다. 이때, 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 장치(310)를 실시하는 방식에 따라 각 구성요소는 서로 결합되어 하나로 구현될 수도 있고, 일부의 구성요소가 생략될 수도 있다.
상기 각 구성요소들에 대해 살펴보면, 먼저 저장부(10)는 차량 제어기(200)가 SUMS(130)과 연동하여 펌웨어 업데이트를 수행하는 환경에서, 상기 SUMS(130)으로부터 상기 차량 제어기(200)의 제1 IVD를 획득하고, 상기 차량 제어기(200)로부터 제2 IVD를 획득하며, 상기 제1 IVD와 상기 제2 IVD에 기초하여 상기 차량 제어기(200)에 탑재된 소프트웨어의 무결성을 검증하는 과정에서 요구되는 각종 로직과 알고리즘 및 프로그램을 저장할 수 있다.
이러한 저장부(10)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 마이크로 타입(micro type), 및 카드 타입(예컨대, SD 카드(Secure Digital Card) 또는 XD 카드(eXtream Digital Card)) 등의 메모리와, 램(RAM, Random Access Memory), SRAM(Static RAM), 롬(ROM, Read-Only Memory), PROM(Programmable ROM), EEPROM(Electrically Erasable PROM), 자기 메모리(MRAM, Magnetic RAM), 자기 디스크(magnetic disk), 및 광디스크(optical disk) 타입의 메모리 중 적어도 하나의 타입의 기록 매체(storage medium)를 포함할 수 있다.
통신부(20)는 SUMS(130)과의 통신 인터페이스를 제공하는 모듈로서, 이동통신 모듈, 무선인터넷 모듈, 근거리통신 모듈 중 적어도 하나 이상을 포함할 수 있다.
상기 이동통신 모듈은 이동통신을 위한 기술 표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTEA(Long Term Evolution-Advanced) 등)에 따라 구축된 이동통신망을 통해 SUMS(130)과 통신할 수 있다.
상기 무선인터넷 모듈은 무선인터넷 접속을 위한 모듈로서, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등을 통해 SUMS(130)과 통신할 수 있다.
상기 근거리통신 모듈은 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여 SUMS(130)과의 근거리 통신을 지원할 수 있다.
접속부(30)는 차량 제어기(200)와의 접속 인터페이스를 제공하는 모듈로서, OBD-II Connector를 구비할 수 있다.
제어부(40)는 상기 각 구성요소들이 제 기능을 정상적으로 수행할 수 있도록 전반적인 제어를 수행할 수 있다. 이러한 제어부(40)는 하드웨어의 형태로 구현되거나, 또는 소프트웨어의 형태로 구현되거나, 또는 하드웨어 및 소프트웨어가 결합된 형태로 구현될 수 있다. 바람직하게는, 제어부(40)는 마이크로프로세서로 구현될 수 있으나 이에 한정되는 것은 아니다.
특히, 제어부(40)는 SUMS(130)으로부터 차량 제어기(200)의 제1 IVD를 획득하고, 상기 차량 제어기(200)로부터 제2 IVD를 획득하며, 상기 제1 IVD와 상기 제2 IVD에 기초하여 상기 차량 제어기(200)에 탑재된 소프트웨어의 무결성을 검증하는 과정에서 각종 제어를 수행할 수 있다.
제어부(40)는 상기 제1 IVD와 상기 제2 IVD가 서로 동일한 경우 상기 차량 제어기(200)에 탑재된 소프트웨어의 무결성을 검증한다. 즉, 제어부(40)는 상기 차량 제어기(200)에 탑재된 소프트웨어를 무결한 것으로 결정한다.
제어부(40)는 상기 제1 IVD와 상기 제2 IVD가 서로 동일하지 않은 경우 상기 차량 제어기(200)에 탑재된 소프트웨어의 무결성을 검증하지 않는다. 즉, 제어부(40)는 상기 차량 제어기(200)에 탑재된 소프트웨어를 무결하지 않은 것으로 결정한다.
도 7 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 방법에 대한 흐름도이다.
먼저, 제어부(40)가 SUMS(130)로부터 차량 제어기(200)의 제1 IVD를 획득한다(701).
이후, 제어부(40)가 상기 차량 제어기(200)로부터 제2 IVD를 획득한다(702).
이후, 제어부(40)가 상기 제1 IVD와 상기 제2 IVD에 기초하여, 상기 차량 제어기(200)에 탑재된 소프트웨어의 무결성을 검증한다(702). 이때, 제어부(40)는 상기 제1 IVD와 상기 제2 IVD가 서로 동일한 경우, 상기 차량 제어기(200)에 탑재된 소프트웨어가 무결한 것으로 결정할 수 있다.
도 8 은 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 방법을 실행하기 위한 컴퓨팅 시스템을 보여주는 블록도이다.
도 8을 참조하면, 상술한 본 발명의 일 실시예에 따른 차량 제어기의 소프트웨어 무결성 검증 방법은 컴퓨팅 시스템을 통해서도 구현될 수 있다. 컴퓨팅 시스템(1000)은 시스템 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory, 1310) 및 RAM(Random Access Memory, 1320)을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, SSD(Solid State Drive), 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 보안 시스템
120: SPS
130: SUMS
200: 차량 제어기
300: 차량 진단기

Claims (19)

  1. 소프트웨어 관리 시스템과의 통신 인터페이스를 제공하는 통신부; 및
    상기 소프트웨어 관리 시스템으로부터 차량 제어기의 제1 검증 데이터를 획득하고, 상기 차량 제어기로부터 제2 검증 데이터를 획득하며, 상기 제1 검증 데이터와 상기 제2 검증 데이터에 기초하여 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 제어부
    를 포함하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  2. 제 1 항에 있어서,
    상기 제어부는,
    상기 제1 검증 데이터와 상기 제2 검증 데이터가 서로 동일한 경우, 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  3. 제 1 항에 있어서,
    상기 제어부는,
    상기 소프트웨어 관리 시스템으로부터 상기 차량 제어기에 상응하는 복수의 검증 데이터를 획득하고 상기 차량 제어기로부터 복수의 검증 데이터를 획득한 경우, 상기 소프트웨어 관리 시스템으로부터 획득한 복수의 검증 데이터와 상기 차량 제어기로부터 획득한 복수의 검증 데이터가 서로 동일한지 비교하고, 서로 동일한 경우 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  4. 제 1 항에 있어서,
    상기 소프트웨어 관리 시스템은,
    상기 차량 제어기에 탑재된 소프트웨어를 구성하는 각 프로그램별로 소프트웨어 패키지와 상기 소프트웨어 패키지의 버전정보 및 검증 데이터를 관리하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  5. 제 4 항에 있어서,
    상기 차량 제어기는,
    상기 소프트웨어 관리 시스템으로부터 수신한 상기 소프트웨어 패키지에 기초하여 펌웨어 업데이트를 수행하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  6. 제 5 항에 있어서,
    상기 차량 제어기는,
    상기 차량의 시동 온(IGN ON)시 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하고, 상기 제어부로부터의 요청시 상기 검증 데이터를 전송하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  7. 제 5 항에 있어서,
    상기 차량 제어기는,
    상기 제어부로부터의 요청시 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하고, 상기 결정한 검증 데이터를 상기 제어부로 전송하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  8. 제 7 항에 있어서,
    상기 차량 제어기는,
    상기 제어부로부터 추가 요청시, 상기 차량의 시동 온(IGN ON) 동안은 추가로 검증 데이터를 결정하지 않고 상기 결정한 검증 데이터를 상기 제어부로 전송하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  9. 제 1 항에 있어서,
    상기 차량 제어기는,
    보안 플래시(Secure Flash) 라이브러리 또는 크립토(Crypto) 라이브러리에 기초하여 상기 제2 검증 데이터를 결정하는 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  10. 제 9 항에 있어서,
    상기 제2 검증 데이터는,
    SHA(Secure Hash Algorithm)-1 값, SHA-2 값, CRC(Cyclic Redundancy Check) 16 값, CRC 32 값 중 어느 하나인 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 장치.
  11. 제어부가 소프트웨어 관리 시스템으로부터 차량 제어기의 제1 검증 데이터를 획득하는 단계;
    상기 제어부가 상기 차량 제어기로부터 제2 검증 데이터를 획득하는 단계; 및
    상기 제어부가 상기 제1 검증 데이터와 상기 제2 검증 데이터에 기초하여, 상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 단계
    를 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  12. 제 11 항에 있어서,
    상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 단계는,
    상기 제1 검증 데이터와 상기 제2 검증 데이터가 동일한 경우, 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정하는 단계
    를 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  13. 제 11 항에 있어서,
    상기 차량 제어기에 탑재된 소프트웨어의 무결성을 검증하는 단계는,
    상기 소프트웨어 관리 시스템으로부터 상기 차량 제어기에 상응하는 복수의 검증 데이터를 획득하고 상기 차량 제어기로부터 복수의 검증 데이터를 획득한 경우, 상기 소프트웨어 관리 시스템으로부터 획득한 복수의 검증 데이터와 상기 차량 제어기로부터 획득한 복수의 검증 데이터가 서로 동일한지 비교하는 단계; 및
    서로 동일한 경우, 상기 차량 제어기에 탑재된 소프트웨어가 무결한 것으로 결정하는 단계
    를 더 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  14. 제 11 항에 있어서,
    상기 소프트웨어 관리 시스템이 상기 차량 제어기에 탑재된 소프트웨어를 구성하는 각 프로그램별로 소프트웨어 패키지와 상기 소프트웨어 패키지의 버전정보 및 검증 데이터를 관리하는 단계; 및
    상기 차량 제어기가 상기 소프트웨어 관리 시스템으로부터 수신한 상기 소프트웨어 패키지에 기초하여 펌웨어 업데이트를 수행하는 단계
    를 더 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  15. 제 14 항에 있어서,
    상기 차량의 시동 온(IGN ON)시, 상기 차량 제어기가 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하는 단계; 및
    상기 제어부로부터의 요청시, 상기 차량 제어기가 상기 검증 데이터를 상기 제어부로 전송하는 단계
    를 더 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  16. 제 14 항에 있어서,
    상기 제어부로부터의 요청시, 상기 차량 제어기가 상기 소프트웨어 패키지에 기초하여 검증 데이터를 결정하는 단계; 및
    상기 차량 제어기가 상기 제어부로 상기 결정한 검증 데이터를 전송하는 단계
    를 더 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  17. 제 16 항에 있어서,
    상기 제어부로부터 추가 요청시, 상기 차량의 시동 온(IGN ON) 동안은 추가로 검증 데이터를 결정하지 않고 상기 결정한 검증 데이터를 상기 제어부로 전송하는 단계
    를 더 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  18. 제 11 항에 있어서,
    상기 차량 제어기로부터 제2 검증 데이터를 획득하는 단계는,
    상기 차량 제어기가 보안 플래시(Secure Flash) 라이브러리 또는 크립토(Crypto) 라이브러리에 기초하여 상기 제2 검증 데이터를 결정하는 단계
    를 포함하는 차량 제어기의 소프트웨어 무결성 검증 방법.
  19. 제 18 항에 있어서,
    상기 제2 검증 데이터는,
    SHA(Secure Hash Algorithm)-1 값, SHA-2 값, CRC(Cyclic Redundancy Check) 16 값, CRC 32 값 중 어느 하나인 것을 특징으로 하는 차량 제어기의 소프트웨어 무결성 검증 방법.
KR1020220131746A 2022-10-13 2022-10-13 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법 KR20240051718A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220131746A KR20240051718A (ko) 2022-10-13 2022-10-13 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법
US18/136,546 US20240126890A1 (en) 2022-10-13 2023-04-19 Apparatus for verifying software integrity of vehicle controller and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220131746A KR20240051718A (ko) 2022-10-13 2022-10-13 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20240051718A true KR20240051718A (ko) 2024-04-22

Family

ID=90626378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220131746A KR20240051718A (ko) 2022-10-13 2022-10-13 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법

Country Status (2)

Country Link
US (1) US20240126890A1 (ko)
KR (1) KR20240051718A (ko)

Also Published As

Publication number Publication date
US20240126890A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
US10360018B2 (en) Update control apparatus, software update system, and update control method
US20200057630A1 (en) Method and Apparatus for Wirelessly Updating Software for Vehicle
US10678938B2 (en) Trustworthy peripheral transfer of ownership
CN106464499B (zh) 通信网络系统、发送节点、接收节点、消息检查方法、发送方法及接收方法
US10268557B2 (en) Network monitoring device, network system, and computer program product
US10157050B2 (en) Method for confirming correction program and information processing apparatus
US20140121891A1 (en) Automobile data abstraction and communication
US9419802B2 (en) Secure message filtering to vehicle electronic control units with secure provisioning of message filtering rules
CN103679005B (zh) 启用安全电子控制单元的开发模式的方法
US9015481B2 (en) Methods and systems for access security for dataloading
US10135866B2 (en) Method of preventing drive-by hacking, and apparatus and system therefor
CN110989564B (zh) 一种汽车数据诊断方法及装置
WO2023280601A1 (en) A method and system for validating security of a vehicle
KR20200019565A (ko) 차량용 무선 소프트웨어 업데이트 방법 및 장치
US11620385B2 (en) Vehicle control device, vehicle control device start-up method, and recording medium
KR20240051718A (ko) 차량 제어기의 소프트웨어 무결성 검증 장치 및 그 방법
CN109699030B (zh) 无人机认证方法、装置、设备和计算机可读存储介质
EP3907673A1 (en) Authorization of vehicle repairs
US11425124B2 (en) Method for cloud assisted authorization of IoT identity bootstrapping
CN111107078A (zh) 应用接入的方法、机器人控制单元、服务器和存储介质
CN115421469B (zh) 一种智能座舱车控系统的安全访问方法、设备及介质
CN118509853A (zh) 一种车载网络安全通信的测试方法、系统、设备及介质
CN116956362A (zh) 一种基于混合安全机制的文件灌装方法、系统及上位机
KR20240126830A (ko) V2v 기반의 협력적 데이터 검증을 위한 방법 및 차량 단말기
CN117632172A (zh) 电子控制单元的安全更新和审计