KR20210038851A - 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템 - Google Patents

차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템 Download PDF

Info

Publication number
KR20210038851A
KR20210038851A KR1020210021837A KR20210021837A KR20210038851A KR 20210038851 A KR20210038851 A KR 20210038851A KR 1020210021837 A KR1020210021837 A KR 1020210021837A KR 20210021837 A KR20210021837 A KR 20210021837A KR 20210038851 A KR20210038851 A KR 20210038851A
Authority
KR
South Korea
Prior art keywords
upgrade
ecu
secret key
target ecu
vehicle
Prior art date
Application number
KR1020210021837A
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 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드
Publication of KR20210038851A publication Critical patent/KR20210038851A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Stored Programmes (AREA)

Abstract

본 출원은 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템을 개시하며, 지능형 교통 분야에 관한 것이다. 구체적인 구현 수단은, 타깃 ECU의 펌웨어 업그레이드 데이터를 획득한 다음, 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득함으로써, 중앙 게이트웨이와 타깃 ECU 사이에서 펌웨어 업그레이드 데이터의 버스를 통한 전송의 보안성을 향상시키되, 여기서, 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 타깃 ECU의 ECU 식별자 및 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되고, 이로써 업그레이드 비밀 키의 중복성을 감소시키며, 비밀 키의 보안성을 향상시키고; 마지막에 암호화 패킷을 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서, 암호화 패킷은 타깃 ECU 해석에 의해 펌웨어 업그레이드 데이터를 획득하는데 사용되며, 따라서 차량 내 ECU 업그레이드의 보안성을 향상시킨다.

Description

차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템 {IN-VEHICLE ELECTRONIC CONTROL UNIT UPGRADING METHOD, DEVICE AND EQUIPMENT AND VEHICLE SYSTEM}
본 출원은 컴퓨터 기술 분야에 관한 것으로, 구체적으로 지능형 교통 기술에 관한 것이다.
차량 인터넷(Internet of Vehicles), 즉 차량 사물인터넷(Vehicle Internet of things)은 주행 중인 차량을 정보 감지 대상으로 하고, 정보 통신 기술을 이용하여, 차량과 차량, 차량과 사람, 차량과 도로, 차량과 서비스 플랫폼 사이의 네트워크 연결을 구현한다. 다양한 기능을 지원하는 다양한 차량 내 전자 제어 유닛(Electronic Control Unit, ECU로 약칭함)으로서, 지속적인 호환성 향상과 기능의 개선 과정에서, 프로그램 업그레이드의 보안성을 보장해야 한다.
현재 ECU 업그레이드 방법은, 일반적으로 온보드 진단 시스템(On Board Diagnostics, OBD로 약칭함) 인터페이스 또는 무선 다운로드 기술(Over the Air Technology, OTA로 약칭함)로, ECU의 펌웨어 업그레이드 데이터를 중앙 게이트웨이로 전송하고, 다시 중앙 게이트웨이에 의해 버스를 통해 해석된 펌웨어 업그레이드 데이터를 ECU에 전달하여 펌웨어 업그레이드를 수행한다.
그러나, 기존의 ECU 업그레이드 과정에서는 펌웨어 업그레이드 데이터가 도난당하여 크랙될 가능성이 존재하여, ECU가 불법적으로 다시 초기화되는 문제가 발생할 수 있다.
본 출원의 목적은 차량 내 전자 제어 유닛 업그레이드의 보안성을 향상시키는 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템을 제공하는 것이다.
본 출원의 제1 측면에 따르면, 중앙 게이트웨이에 적용되는 차량 내 전자 제어 유닛 업그레이드 방법이 제공되는 바, 상기 방법은,
타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득하는 단계;
상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되는 단계; 및,
상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되 상기 암호화 패킷은 상기 타깃 ECU 해석에 의해 상기 펌웨어 업그레이드 데이터를 획득하기 위한 것인 단계;를 포함한다.
본 출원의 실시예는 중앙 게이트웨이를 통해 암호화 전송 방식으로 펌웨어 업그레이드 데이터를 타깃 ECU에 전송하고, 암호화하기 위한 업그레이드 비밀 키는 중앙 게이트웨이 식별자, ECU 식별자, VIN과 관련되며, 고유성을 가지고, 펌웨어 업그레이드 데이터의 보안성을 향상시키며, 따라서 타깃 ECU 업그레이드의 보안성을 향상시킨다.
일부 실시예에서, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하는 상기 단계 이전에,
상기 타깃 ECU로부터 상기 타깃 ECU의 ECU 식별자를 획득하는 단계;
기설정된 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 VIN에 대해 암호화 처리를 수행하여, 기설정 비밀 키 길이를 갖는 업그레이드 비밀 키를 획득하는 단계; 및,
상기 업그레이드 비밀 키를 상기 타깃 ECU에 송신하고, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 단계;를 더 포함한다.
본 출원의 실시예는 기설정된 중앙 게이트웨이 식별자, 타깃 ECU의 ECU 식별자 및 타깃 ECU가 속한 차량의 VIN에 대해 암호화 처리를 수행하여, 기설정 비밀 키 길이를 갖는 업그레이드 비밀 키를 획득함으로써, 상이한 ECU에 대해 고유의 업그레이드 비밀 키를 획득할 수 있어, 비밀 키 중복의 가능성을 감소시키고, ECU 업그레이드의 보안성을 더 향상시킨다.
일부 실시예에서, 상기 암호화 처리는 난독화 및 암호화 처리, AES-128 암호화 처리, AES-CMAC 암호화 처리, SHA1 암호화 처리 중 하나를 포함한다.
일부 실시예에서, 상기 업그레이드 비밀 키를 상기 타깃 ECU에 송신하고, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 상기 단계는,
상기 업그레이드 비밀 키에 따라, 비밀 키 요약 시퀀스를 생성하되, 상기 비밀 키 요약 시퀀스는 M1, M2, M3, M4, M5를 포함하는 단계;
상기 M1, M2, M3을 상기 타깃 ECU에 송신하는 단계;
상기 타깃 ECU로부터 비밀 키 응답 정보를 수신하되, 상기 비밀 키 응답 정보는 상기 타깃 ECU가 M1, M2, M3에 따라 상기 업그레이드 비밀 키를 복원하여 획득하고, 획득한 업그레이드 비밀 키에 따라 생성된 정보이며, 복원하여 획득한 상기 업그레이드 비밀 키는 상기 타깃 ECU의 하드웨어 보안 모듈(HSM)에 라이팅하는데 사용되는 것인 단계 ; 및,
상기 비밀 키 응답 정보와 상기 M4, M5가 일치하다고 결정되면, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 단계;를 포함한다.
본 출원의 실시예는 업그레이드 비밀 키를 복원하기 위한 비밀 키요약 시퀀스 M1, M2, M3을 타깃 ECU에 송신하고, 타깃 ECU에 의해 리턴된 비밀 키 응답 정보에 따라 타깃 ECU가 업그레이드 비밀 키를 성공적으로 복원하는지 여부를 검증하여, 비밀 키 전송의 보안성을 향상시키고, ECU 업그레이드의 보안성을 더 향상시킨다. 여기서, 업그레이드 비밀 키는 상기 타깃 ECU의 하드웨어 보안 모듈(HSM)에 라이팅하는데 사용되어, 타깃 ECU에서 업그레이드 비밀 키의 저장 보안성도 향상시킨다.
일부 실시예에서, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 상기 단계는,
상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이의 하드웨어 보안 모듈(HSM)에 라이팅하는 단계;를 포함한다.
본 출원의 실시예는 업그레이드 비밀 키를 중앙 게이트웨이의 하드웨어 보안 모듈(HSM)에 라이팅하여, 비밀 키의 저장 보안성을 향상시킨다.
일부 실시예에서, 상기 타깃 ECU로부터 상기 타깃 ECU의 ECU 식별자를 획득하는 상기 단계는,
오프라인 비밀 키 분배 명령에 응답하여, 다수의 ECU에 폴링하여 업그레이드할 타깃 ECU를 결정하는 단계;
상기 타깃 ECU로 식별자 요청을 송신하되, 상기 식별자 요청은 중앙 게이트웨이 주소, 타깃 ECU의 통합 진단 서비스(UDS) 주소를 포함하는 단계; 및,
상기 식별자 요청에 응답하여 상기 타깃 ECU에서 송신된 ECU 식별자를 수신하는 단계;를 포함한다.
일부 실시예에서, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하는 상기 단계는,
상기 타깃 ECU로부터 데이터 세그먼트 길이를 획득하는 단계;
상기 데이터 세그먼트 길이 및 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터를 N개의 데이터 블록으로 분해하고, 상기 업그레이드 비밀 키로 상기 데이터 블록에 대해 암호화하여 N개의 암호화 패킷을 획득하되, 여기서, 각각의 상기 암호화 패킷의 데이터 길이는 상기 데이터 세그먼트 길이이고, N은 양의 정수인 단계;
상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하는 상기 단계는,
상기 N개의 암호화 패킷을 상기 타깃 ECU에 순차적으로 전송하여 펌웨어 업그레이드를 수행하는 단계;를 포함한다.
본 출원의 실시예는 펌웨어 업그레이드 데이터에 대해 세그먼트화하고 암호화 전송하여, 전송 효율을 향상시킨다.
본 출원의 제2 측면에 따르면, 중앙 게이트웨이에 적용되는 차량 내 전자 제어 유닛 업그레이드 장치가 제공되는 바, 상기 장치는,
타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득하는 획득 모듈;
상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되는 암호화 모듈; 및,
상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 상기 암호화 패킷은 상기 타깃 ECU 해석에 의해 상기 펌웨어 업그레이드 데이터를 획득하기 위한 것인 전송 모듈을 포함한다.
본 출원의 제3 측면에 따르면, 차량 시스템이 제공되는 바, 중앙 게이트웨이 및 적어도 하나의 ECU를 포함하고, 상기 중앙 게이트웨이는 버스를 통해 상기 적어도 하나의 ECU와 연결되며;
상기 중앙 게이트웨이는 제1항 내지 제7항 중 어느 한 항의 차량 내 전자 제어 유닛 업그레이드 방법에 따라, 상기 암호화 패킷을 상기 적어도 하나의 ECU에 전송하여 펌웨어 업그레이드를 수행하고;
상기 ECU는 상기 중앙 게이트웨이의 작동에 응답하여 펌웨어 업그레이드를 수행한다.
본 출원의 제4 측면에 따르면, 전자 기기가 제공되는 바,
적어도 하나의 프로세서; 및,
상기 적어도 하나의 프로세서와 통신 연결되는 메모리;를 포함하되, 여기서,
상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능하는 명령이 저장되고, 상기 명령은 상기 적어도 하나의 프로세서에 실행되어, 상기 적어도 하나의 프로세서가 본 출원의 제1 측면 및 제1 측면의 다양한 가능한 실시예 중 어느 하나에 따른 차량 내 전자 제어 유닛 업그레이드 방법을 수행할 수 있도록 한다.
본 출원의 제5 측면에 따르면, 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장 매체가 제공되는 바, 상기 컴퓨터 명령은 상기 컴퓨터가 본 출원의 제1 측면 및 제1 측면의 다양한 가능한 실시예 중 어느 한 항의 차량 내 전자 제어 유닛 업그레이드 방법을 수행하도록 한다.
본 출원의 제6 측면에 따르면, 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램을 제공하며, 상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 본 출원의 제1 측면 및 제1 측면의 다양한 가능한 실시예 중 어느 한 항의 차량 내 전자 제어 유닛 업그레이드 방법을 수행하도록 한다.
상기 출원에서의 일 실시예는 하기와 같은 장점 또는 유익한 효과를 갖는다. 타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득한 다음, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득함으로써, 중앙 게이트웨이와 타깃 ECU 사이에서 펌웨어 업그레이드 데이터의 버스를 통한 전송의 보안성을 향상시키되, 여기서, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되고, 이로써 업그레이드 비밀 키의 중복성을 감소시키며, 비밀 키의 보안성을 향상시키고; 마지막에 상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서, 상기 암호화 패킷은 상기 타깃 ECU에 의해 해석되어 상기 펌웨어 업그레이드 데이터를 획득하는데 사용되며, 따라서 차량 내 ECU 업그레이드의 보안성을 향상시킨다.
상기 선택 가능한 방식이 가지는 다른 효과에 대해서는 아래 구체적인 실시예를 결부하여 추가로 설명하고자 한다.
첨부 도면은 본 해결수단을 더 잘 이해하기 위한 것으로, 본 출원에 대해 한정하는 것으로 구성되지 않는다. 여기서,
도 1은 본 출원의 실시예에서 제공되는 차량 시스템의 구조도이다.
도 2는 본 출원의 실시예에서 제공되는 차량 내 전자 제어 유닛 업그레이드 방법 흐름도이다.
도 3은 본 출원의 실시예에서 제공되는 다른 하나의 차량 내 전자 제어 유닛 업그레이드 방법 흐름도이다.
도 4는 본 출원의 실시예에서 제공되는 차량 내 전자 제어 유닛 업그레이드 장치 구조도이다.
도 5는 본 출원의 실시예에서 제공되는 다른 하나의 차량 내 전자 제어 유닛 업그레이드 장치 구조도이다.
도 6은 본 출원의 실시예의 차량 내 전자 제어 유닛 업그레이드 방법을 구현하기 위한 전자 기기의 블록도이다.
이하, 첨부된 도면을 결부하여 본 출원의 예시적 실시예를 설명하되, 여기에는 이해를 돕기 위한 본 출원의 실시예의 다양한 세부 사항이 포함되며, 이는 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 기술분야의 통상의 기술자는 본 출원의 범위와 사상을 벗어나지 않으면서, 여기서 설명되는 실시예에 대한 다양한 변경과 수정이 이루어질 수 있음을 이해해야 한다. 마찬가지로, 명확성 및 간결성을 위해, 아래의 설명에서 공지된 기능과 구조에 대한 설명을 생략한다.
도 1을 참조하면, 본 출원의 실시예에서 제공된 응용 시나리오를 나타내는 도면이다. 차량 시스템에서, 차량의 중앙 게이트웨이는 차량 내 다양한 ECU 사이의 통신 브리지로서, 상이한 ECU 네트워크 사이의 프로토콜 변환을 담당하는 동시에, 외부에 대한 방어 포털로도 사용된다. 도 1에 도시된 바와 같이, 중앙 게이트웨이는 컨트롤러 영역 네트워크(Controller Area Network, CAN으로 약칭함) 버스를 통해, 도면에 도시된 바와 같이, 엔터테인먼트 CAN, 차체 CAN, 동력 CAN, 진단 CAN 및 각 CAN의 ECU와 같은 각 타입의 ECU와 연결된다. 중앙 게이트웨이는 또한 진단 CAN 버스에서 차량 OBD 인터페이스, 또는 차량 원격 정보 처리 박스(Telematics BOX, T-BOX로 약칭함)를 통해, 외부 서버로부터 펌웨어 업그레이드 데이터를 수신하고, 다시 대응되는 차량 내 ECU에 전달할 수 있다.
현재 차량 내 ECU의 업그레이드는 주요하게 두 가지 방식이 있다. 하나는, 차량 OBD 인터페이스를 통해 펌웨어 업그레이드 데이터를 중앙 게이트웨이에 전송하고, 중앙 게이트웨이는 다시 펌웨어 업그레이드 데이터를 ECU에 전달하는 것이다. 다른 하나는, 서버 애플리케이션 OTA가 ECU의 펌웨어 업그레이드 데이터를 차량 T-BOX를 통해 중앙 게이트웨이에 전송하고, 중앙 게이트웨이는 다시 펌웨어 데이터를 ECU에 전달하여 펌웨어 업그레이드를 수행하는 것이다.
그러나, 도 1에 도시된 바와 같이, 중앙 게이트웨이와 차량 내 ECU 사이에서는 버스를 통해 펌웨어 업그레이드 데이터의 플레인 텍스트 전송을 수행하고, 버스의 전송 특성에 기반하여, 동일한 버스에서의 모든 기기는 중앙 게이트웨이에 의해 송신된 펌웨어 업그레이드 데이터를 모두 수신할 수 있다. 불법 기기가 버스에서 전송되는 펌웨어 업그레이드 데이터를 인터셉트하면, ECU의 주소와 관련 파라미터를 크랙할 수 있어, ECU에 대해 예기치 않게 불법으로 설치하고 업그레이드할 수 있다. 보다시피, 기존의 ECU 업그레이드 과정에서, 중앙 게이트웨이는 펌웨어 업그레이드 데이터를 전달하는데 비교적 큰 위험이 존재하며, ECU 업그레이드 보안성도 충분히 높지 않음을 알 수 있다.
종래의 기술에서 존재하는 상기 문제를 해결하기 위해, 본 출원은 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템을 제공하는 바, 중앙 게이트웨이 식별자, 타깃 ECU의 ECU 식별자 및 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 관련된 업그레이드 비밀 키를 사용하여, 펌웨어 업그레이드 데이터에 대해 암호화하여 타깃 ECU에 전송함으로써, 중앙 게이트웨이와 ECU 사이에서 버스를 통해 전송할 시 데이터가 도난당하여 크랙될 가능성을 감소시키고, 따라서 차량 내 ECU 업그레이드의 보안성을 향상시킨다.
도 2를 참조하면, 본 출원의 실시예에서 제공되는 차량 내 전자 제어 유닛 업그레이드 방법 흐름도이고, 도 2에 도시된 방법의 수행 주체는 소프트웨어 및/또는 하드웨어의 장치일 수 있으며, 예를 들어, 도 1에 도시된 중앙 게이트웨이이다. 도 2에 도시된 방법은 단계(S101) 내지 단계(S103)를 포함하고, 구체적으로 하기와 같다.
단계(S101), 타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득한다.
구체적으로, 중앙 게이트웨이는 통합 진단 서비스(Unified Diagnostic Services, UDS로 약칭함)의 통합 업그레이드 프로토콜에 따라, OBD 인터페이스 또는 OTA 다운로드를 통해, 타깃 ECU에 대해 펌웨어 업그레이드하기 위한 펌웨어 업그레이드 데이터를 획득할 수 있다. 중앙 게이트웨이와 외부 네트워크 사이의 데이터 전송은 기존의 UDS 프로세스에서 구현될 수 있으며, 여기서 중복 설명하지 않는다.
단계(S102)에서, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되, 여기서, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응된다.
중앙 게이트웨이에는 각각의 ECU에 대한 업그레이드 비밀 키가 미리 저장되어 있으며, 타깃 ECU의 펌웨어 업그레이드 데이터를 수신한 경우, 먼저 상기 타깃 ECU에 대응되는 업그레이드 비밀 키를 판독한 다음, 상기 업그레이드 비밀 키로 펌웨어 업그레이드 데이터에 대해 암호화하여, 암호화 패킷을 획득한다. 본 실시예에서 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN) 이 삼자와 관련된 비밀 키이므로, 각각의 ECU의 업그레이드 비밀 키는 고유성을 갖는다.
일부 실시예에서, 버스 전송 효율 및 신뢰성을 향상시키기 위해, 중앙 게이트웨이는 펌웨어 업그레이드 데이터에 대해 세그먼트화하고 암호화하여 송신할 수 있다. 그러면, 본 단계에서 획득된 암호화 패킷은 세그먼트화된 다수의 암호화 패킷일 수 있다. 구체적으로, 단계(S102)는 예를 들어, 먼저 타깃 ECU로부터 데이터 세그먼트 길이를 획득한 다음, 상기 데이터 세그먼트 길이 및 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터를 N개의 데이터 블록으로 분해하고, 상기 업그레이드 비밀 키로 상기 데이터 블록에 대해 암호화하여 N개의 암호화 패킷을 획득하는 단계일 수 있으며, 여기서, 각각의 상기 암호화 패킷의 데이터 길이는 상기 데이터 세그먼트 길이이고, N은 양의 정수이다. 예를 들어, 중앙 게이트웨이는 먼저 타깃 ECU에 대해 UDS 프로토콜을 통해 다운로드 요청을 발송하고; 타깃 ECU는 데이터 세그먼트 길이, 즉 세그먼트화하여 전송할 때 각각의 세그먼트화된 고정 데이터 길이로 중앙 게이트웨이에 응답하며; 중앙 게이트웨이는 데이터 세그먼트 길이에 따라, 펌웨어 업그레이드 데이터를 세그먼트화하고, 또한 업그레이드 비밀 키로 암호화하여, N개의 데이터 길이가 상기 데이터 세그먼트 길이인 암호화 패킷을 형성한다.
단계(S103)에서, 상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서, 상기 암호화 패킷은 상기 타깃 ECU 해석에 의해 상기 펌웨어 업그레이드 데이터를 획득하는데 사용된다.
중앙 게이트웨이는 암호화 패킷을 타깃 ECU에 송신하고, 타깃 ECU는 암호화 패킷을 수신한 후, 미리 저장된 업그레이드 비밀 키로 펌웨어 업그레이드 데이터를 복호화하여 획득하며, 상기 펌웨어 업그레이드 데이터를 로딩하여 타깃 ECU의 펌웨어 업그레이드를 구현할 수 있다. 중앙 게이트웨이 및 타깃 ECU 공유의 비밀 키로, 펌웨어 업그레이드 데이터에 대해 암호화하여, 버스에서의 데이터의 암호화를 구현하고, 버스의 데이터가 불법 사용자에 의해 도난당하더라도, 플레인 텍스트의 펌웨어 업그레이드 데이터를 크랙하여 획득하기 어려우므로, ECU 파라미터 유출 및 불법 업그레이드될 가능성을 감소시킨다.
일부 세그먼트화 암호화 송신의 실시예에서, 중앙 게이트웨이는 상기 N개의 암호화 패킷을 상기 타깃 ECU에 순차적으로 전송하여 펌웨어 업그레이드를 수행한다. 여기서, 각각의 암호화 패킷의 필드 길이는 동일하고, 모두 타깃 ECU에 의해 지정된 데이터 세그먼트 길이이다. 마지막 하나의 암호화 패킷의 길이가 부족하면, 전체 플레인 텍스트, 부분적 플레인 텍스트 또는 특정값(예를 들어 0 또는 1로 보충)으로 보충하여, 모든 암호화 패킷의 길이가 일치하도록 유지할 수 있다. 중앙 게이트웨이가 상기 N개의 암호화 패킷을 상기 타깃 ECU에 순차적으로 전송한 후, 타깃 ECU가 하나의 암호화 패킷을 수신할 때마다, 누적된 암호화 패킷에 대해 하나의 수신 검사 코드(예를 들어 CRC32 검사 코드)를 계산한다. 모든 암호화 패킷의 전송이 완료된 후, 중앙 게이트웨이는 타깃 ECU로부터 N개의 수신 검사 코드를 수신할 수 있으며, 여기서, 수신 검사 코드는 타깃 ECU가 누적되어 수신된 암호화 패킷에 따라 순차적으로 생성한 검사 코드이다. 중앙 게이트웨이는 이 N개의 수신 검사 코드에 따라, 타깃 ECU가 완전한 펌웨어 업그레이드 데이터를 수신하였는지 여부를 판단한다. 구체적으로, 중앙 게이트웨이가 송신된 N개의 암호화 패킷에 대해 미리 순차적으로 계산하여 N개의 송신 검사 코드를 획득할 수 있고, 이의 계산 방식은 타깃 ECU의 수신 검사 코드를 계산하는 방식과 동일하다. 중앙 게이트웨이는 타깃 ECU로부터 획득된 N개의 수신 검사 코드가 기설정된 N개의 송신 검사 코드와 일치하다고 결정하면, 타깃 ECU에 의해 수신된 암호화 패킷에 오류가 없다고 판정하여, 상기 타깃 ECU로 검사에 오류가 없는 알림을 송신한다. 타깃 ECU가 검사에 오류가 없는 알림을 수신한 경우, 암호화 패킷에 대해 해석하기 시작하여, 펌웨어 업그레이드 데이터를 획득할 수 있으며, 이로써 펌웨어 업그레이드를 수행한다.
본 실시예에서 제공되는 차량 내 전자 제어 유닛 업그레이드 방법은, 타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득한 다음, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득함으로써, 중앙 게이트웨이와 타깃 ECU 사이에서 펌웨어 업그레이드 데이터의 버스를 통한 전송의 보안성을 향상시키되, 여기서, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되고, 이로써 업그레이드 비밀 키의 중복성을 감소시키며, 비밀 키의 보안성을 향상시키고; 마지막에 상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서, 상기 암호화 패킷은 상기 타깃 ECU 해석에 의해 상기 펌웨어 업그레이드 데이터를 획득하는데 사용되며, 따라서 차량 내 ECU 업그레이드의 보안성을 향상시킨다.
상기 다양한 실시예에서, 단계(S102)(상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하는 단계) 이전에, 중앙 게이트웨이는 또한 업그레이드 비밀 키 분배 과정에서, 중앙 게이트웨이와 ECU 사이의 비밀 키 약정을 구현할 수 있다. 중앙 게이트웨이는 다수의 ECU에 대해 업그레이드 비밀 키를 각각 생성하여 분배할 수 있으며, 아래에는 그 중 하나의 ECU의 업그레이드 비밀 키 분배 과정을 예로 한다. 다수의 ECU의 업그레이드 비밀 키 분배는 병렬로 수행될 수 있고, 순차적으로 수행될 수 있으며, 여기서 한정하지 않는다. 도 3을 참조하면, 본 출원의 실시예에서 제공된 다른 하나의 차량 내 전자 제어 유닛 업그레이드 방법 흐름도이고, 도 3에 도시된 방법의 수행 주체는 도 2에 도시된 수행 주체와 동일하다. 도 3에 도시된 방법은 단계(S201) 내지 단계(S206)를 포함하며, 구체적으로 하기와 같다.
단계(S201), 타깃 ECU로부터 상기 타깃 ECU의 ECU 식별자를 획득한다.
중앙 게이트웨이는 차량 생산이 완료되고 출하될 때, OBD 인터페이스를 통해 차량의 중앙 게이트웨이를 작동시켜, ECU 비밀 키 분배 단계(예를 들어, 중앙 게이트웨이에 하나의 오프라인 비밀 키 분배 명령을 송신함)를 수행할 수 있다. 중앙 게이트웨이는 버스를 통해 각 ECU와 통신하여, 업그레이드 가능한 ECU의 식별자를 요청한다.
일부 실시예에서, 중앙 게이트웨이는 출하 비밀 키 분배 명령에 응답하여, 다수의 ECU에 폴링하여 업그레이드할 타깃 ECU를 결정할 수 있다. 다음, 중앙 게이트웨이는 결정된 타깃 ECU로 식별자 요청을 송신하되, 여기서 상기 식별자 요청은 중앙 게이트웨이 주소, 타깃 ECU의 통합 진단 서비스(UDS) 주소를 포함한다. 예를 들어, 중앙 게이트웨이는 버스를 통해 식별자 요청을 송신하되, 상기 식별자 요청은 타깃 ECU 주소를 타깃 주소로 하고, 중앙 게이트웨이 자체의 게이트웨이 주소를 소스 주소로 하여, 타깃 ECU로 이의 ECU 식별자를 획득하도록 요청하는 것이다. 타깃 ECU 주소는 예를 들어 타깃 ECU의 UDS의 ID 번호일 수 있다. 중앙 게이트웨이에는 ECU 주소 및 이가 속한 차량의 VIN 사이의 일대일 대응관계가 미리 저장되어 있거나 외부로부터 획득되며, 예를 들어 일 매핑 테이블이 보존될 수 있다. 폴링하여 결정된 ECU 주소에 따라, ECU 주소와 VIN의 대응관계를 결합하여, 타깃 ECU가 속한 차량의 VIN을 결정할 수 있다. 타깃 ECU는 식별자 요청을 수신한 경우, 먼저 타깃 주소가 자체의 ECU 주소(예를 들어, 자체 UDS의 ID 번호)인지 여부를 판단하며, 자체의 ECU 주소이면, 중앙 게이트웨이의 게이트웨이 주소를 타깃 주소로 하고, 자체 UDS의 ID 번호를 소스 주소로 하여, 상기 식별자 요청에 대해 응답하도록 요청하고, 자체의 ECU 식별자(예를 들어, 자체의 고유 식별자(UID))를 제공한다. 중앙 게이트웨이는 상기 식별자 요청에 응답하여 상기 타깃 ECU에서 송신된 ECU 식별자를 수신한다.
단계(S202)에서, 기설정된 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 VIN에 대해 암호화 처리를 수행하여, 기설정 비밀 키 길이를 갖는 업그레이드 비밀 키를 획득한다.
중앙 게이트웨이는 중앙 게이트웨이 식별자, 타깃 ECU의 ECU 식별자, 타깃 ECU가 속한 차량의 VIN 이 삼자를 요소로 하여, 타깃 ECU의 업그레이드 비밀 키를 생성하되, 여기서 업그레이드 비밀 키의 필드 길이는 또한 기설정된 비밀 키 길이를 충족한다. 본 출원은 중앙 게이트웨이 식별자, 타깃 ECU의 ECU 식별자, 타깃 ECU가 속한 차량의 VIN 이 3개의 요소 및 비밀 키 길이의 한정을 통해, 업그레이드 비밀 키의 보안성을 향상시키고, 업그레이드 비밀 키가 크랙될 가능성을 감소시킨다.
본 실시예에서, 암호화 처리는 난독화 및 암호화 처리, AES-128 암호화 처리, AES-CMAC 암호화 처리, SHA1 암호화 처리 중 하나일 수 있다.
단계(S203)에서, 상기 업그레이드 비밀 키를 상기 타깃 ECU에 송신하고, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장한다.
비밀 키 전송의 보안성을 향상하기 위해, 중앙 게이트웨이는 비밀 키 요약 시퀀스를 송신하여 업그레이드 비밀 키의 전송 및 검증을 구현할 수 있다. 구체적으로, 예를 들어 중앙 게이트웨이는 상기 업그레이드 비밀 키에 따라, 비밀 키 요약 시퀀스를 생성하되, 여기서, 상기 비밀 키 요약 시퀀스는 M1, M2, M3, M4, M5를 포함한다. 다음, 그 중의 M1, M2, M3을 상기 타깃 ECU에 송신한다. 타깃 ECU는 M1, M2, M3을 수신한 후, M1, M2, M3에 따라 완전한 업그레이드 비밀 키를 계산하여 얻을 수 있으며, 여기서 업그레이드 비밀 키에 대한 타깃 ECU의 계산 알고리즘은 중앙 게이트웨이와 미리 약정된 것일 수 있다. 중앙 게이트웨이는 상기 타깃 ECU로부터 비밀 키 응답 정보를 수신하되, 여기서 상기 비밀 키 응답 정보는 상기 타깃 ECU가 M1, M2, M3에 따라 상기 업그레이드 비밀 키를 복원하여 획득하고, 획득한 업그레이드 비밀 키에 따라 생성된 정보이며, 복원하여 획득한 상기 업그레이드 비밀 키는 상기 타깃 ECU의 하드웨어 보안 모듈(hardware security module, HSM으로 약칭함)에 라이팅하는데 사용된다. 예를 들어, 타깃 ECU는 M1, M2, M3에 따라 업그레이드 비밀 키를 계산하여 획득하고, 다시 획득된 업그레이드 비밀 키에 따라 비밀 키 요약 시퀀스를 계산하여 획득하며, 또한 계산된 시퀀스 중 마지막 2개의 요약 요소를 비밀 키 응답 정보로서 중앙 게이트웨이에 송신한다. 중앙 게이트웨이는 비밀 키 응답 정보를 미리 획득한 M4, M5와 비교한다. 상기 비밀 키 응답 정보가 상기 M4, M5와 일치한 것으로 결정되면, 타깃 ECU가 정확한 업그레이드 비밀 키를 획득하였음을 나타내고, 중앙 게이트웨이는 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장한다. 본 실시예에서 HSM은 강력한 인증에 사용되는 디지털 키를 보호하고 관리하며, 또한 암호화 처리를 제공하는 물리적 컴퓨팅 장치로, 예를 들어 기존의 일부 보안 프로토콜 구성에 따라 외부 읽기 및 쓰기 동작을 방지하는 하드웨어 장치일 수 있으며, 비밀 키 저장의 보안성을 향상시킨다. 본 실시예는 업그레이드 비밀 키를 복원하기 위한 비밀 키 요약 시퀀스 M1, M2, M3을 타깃 ECU에 송신하고, 타깃 ECU에 의해 리턴된 비밀 키 응답 정보에 따라 타깃 ECU가 업그레이드 비밀 키를 성공적으로 복원하였는지 여부를 검증하여, 비밀 키 전송의 보안성을 향상시키고, ECU 업그레이드의 보안성을 더 향상시킨다.
여기서, 타깃 ECU는 업그레이드 비밀 키를 자체의 하드웨어 보안 모듈(HSM)에 라이팅하여, 타깃 ECU에서 업그레이드 비밀 키의 저장 보안성도 향상시킨다.
일부 실시예에서, 중앙 게이트웨이는 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이의 하드웨어 보안 모듈(HSM)에 라이팅하여, 중앙 게이트웨이 측의 비밀 키 저장 보안성을 더 향상시킨다.
단계(S204)에서, 타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득한다.
단계(S205)에서, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되, 여기서 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응된다.
단계(S206)에서, 상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서 상기 암호화 패킷은 상기 타깃 ECU에 의해 상기 펌웨어 업그레이드 데이터를 해석하여 획득하는데 사용된다.
본 실시예에서 단계(S204) 내지 단계(S206)의 구현 방식 및 기술 효과는 도 2에 도시된 단계(S101) 내지 단계(S103)과 동일하므로, 여기서 중복 설명하지 않는다.
선택 가능하게, 중앙 게이트웨이는 펌웨어 업그레이드 데이터 전송을 수행하기 이전에, 또한 초기화 환경 파라미터 설치와 같은 초기화 준비 동작을 수행할 수 있으며, 대응되게, 중앙 게이트웨이는 암호화 패킷을 타깃 ECU에 전송한 후, 또한 초기화 환경 파라미터 복원과 같은 동작을 수행할 수 있다.
도 4를 참조하면, 본 출원의 실시예에서 제공된 차량 내 전자 제어 유닛 업그레이드 장치 구조도이다. 도 4에 도시된 장치는 예를 들어 도 2, 도 3에 도시된 실시예에서의 중앙 게이트웨이의 소프트웨어 및/또는 하드웨어일 수 있다. 도 4에 도시된 바와 같이, 차량 내 전자 제어 유닛 업그레이드 장치(40)는,
타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득하는 획득 모듈(41);
상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되, 여기서 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되는 암호화 모듈(42);
상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서 상기 암호화 패킷은 상기 타깃 ECU 해석에 의해 상기 펌웨어 업그레이드 데이터를 획득하는데 사용되는 전송 모듈(43).을 포함한다.
본 실시예에서 제공되는 차량 내 전자 제어 유닛 업그레이드 장치는, 타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득한 다음, 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득함으로써, 중앙 게이트웨이와 타깃 ECU 사이에서 펌웨어 업그레이드 데이터의 버스를 통한 전송의 보안성을 향상시키되, 여기서, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되고, 이로써 업그레이드 비밀 키의 중복성을 감소시키며, 비밀 키의 보안성을 향상시키고; 마지막에 상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 여기서, 상기 암호화 패킷은 상기 타깃 ECU에 의해 상기 펌웨어 업그레이드 데이터를 해석하여 획득하는데 사용되며, 따라서 차량 내 ECU 업그레이드의 보안성을 향상시킨다.
도 5를 참조하면, 본 출원의 실시예에서 제공되는 다른 하나의 차량 내 전자 제어 유닛 업그레이드 장치 구조이다. 도 5에 도시된 바와 같이, 차량 내 전자 제어 유닛 업그레이드 장치(40)는 비밀 키 분배 모듈(44)을 더 포함한다.
상기 암호화 모듈(42)이 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하기 이전에, 비밀 키 분배 모듈(44)은 또한, 상기 타깃 ECU로부터 상기 타깃 ECU의 ECU 식별자를 획득하고; 기설정된 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 VIN에 대해 암호화 처리를 수행하여, 기설정 비밀 키 길이를 갖는 업그레이드 비밀 키를 획득하며; 상기 업그레이드 비밀 키를 상기 타깃 ECU에 송신하고, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장한다.
본 실시예는 기설정된 게이트웨이 식별자, 타깃 ECU의 ECU 식별자 및 타깃 ECU가 속한 차량의 VIN에 대해 암호화 처리를 수행하여, 기설정 비밀 키 길이를 갖는 업그레이드 비밀 키를 획득함으로써, 상이한 ECU에 대해 고유의 업그레이드 비밀 키를 획득할 수 있어, 비밀 키가 중북되는 가능성을 감소시키고, ECU 업그레이드의 보안성을 더 향상시킨다.
일부 실시예에서, 상기 암호화 처리는 난독화 및 암호화 처리, AES-128 암호화 처리, AES-CMAC 암호화 처리, SHA1 암호화 처리 중 하나를 포함한다.
일부 실시예에서, 비밀 키 분배 모듈(44)은 상기 업그레이드 비밀 키에 따라, 비밀 키 요약 시퀀스를 생성하되, 여기서 상기 비밀 키 요약 시퀀스는 M1, M2, M3, M4, M5를 포함하고; 상기 M1, M2, M3을 상기 타깃 ECU에 송신하며; 상기 타깃 ECU로부터 비밀 키 응답 정보를 수신하되, 여기서 상기 비밀 키 응답 정보는 상기 타깃 ECU가 M1, M2, M3에 따라 상기 업그레이드 비밀 키를 복원하여 획득하고, 획득한 업그레이드 비밀 키에 따라 생성된 정보이며, 복원하여 획득한 상기 업그레이드 비밀 키는 상기 타깃 ECU의 하드웨어 보안 모듈(HSM)에 라이팅하는데 사용되고; 상기 비밀 키 응답 정보와 상기 M4, M5가 일치다고 결정되면, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장한다.
본 실시예는 업그레이드 비밀 키를 복원하기 위한 비밀 키 요약시퀀스 M1, M2, M3을 타깃 ECU에 송신하고, 타깃 ECU에 의해 리턴된 비밀 키 응답 정보에 따라 타깃 ECU가 업그레이드 비밀 키를 성공적으로 복원하였는지 여부를 검증하여, 비밀 키 전송의 보안성을 향상시키고, ECU 업그레이드의 보안성을 더 향상시킨다. 여기서, 업그레이드 비밀 키는 상기 타깃 ECU의 하드웨어 보안 모듈(HSM)에 라이팅하는데 사용되어, 타깃 ECU에서 업그레이드 비밀 키의 저장 보안성도 향상시킨다.
일부 실시예에서, 비밀 키 분배 모듈(44)은 구체적으로, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이의 하드웨어 보안 모듈(HSM)에 라이팅한다.
일부 실시예에서, 비밀 키 분배 모듈(44)은 구체적으로, 오프라인 비밀 키 분배 명령에 응답하여, 다수의 ECU에 폴링하여 업그레이드할 타깃 ECU를 결정하고; 상기 타깃 ECU로 식별자 요청을 송신하되, 여기서 상기 식별자 요청은 중앙 게이트웨이 주소, 타깃 ECU의 통합 진단 서비스(UDS) 주소를 포함하며; 상기 식별자 요청에 응답하여 상기 타깃 ECU에서 송신된 ECU 식별자를 수신한다.
일부 실시예에서, 암호화 모듈(42)은 구체적으로, 상기 타깃 ECU로부터 데이터 세그먼트 길이를 획득하고; 상기 데이터 세그먼트 길이 및 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터를 N개의 데이터 블록으로 분해하고, 상기 업그레이드 비밀 키로 상기 데이터 블록에 대해 암호화하여 N개의 암호화 패킷을 획득하되, 여기서 각각의 상기 암호화 패킷의 데이터 길이는 상기 데이터 세그먼트 길이이고, N은 양의 정수이다.
대응되게, 전송 모듈(43)은 구체적으로, 상기 N개의 암호화 패킷을 상기 타깃 ECU에 순차적으로 전송하여 펌웨어 업그레이드를 수행한다.
본 실시예는 펌웨어 업그레이드 데이터에 대해 세그먼트화하고 암호화 전송하여, 전송 효율을 향상시킨다.
계속하여 도 1에 도시된 시스템을 참조하면, 본 출원은 중앙 게이트웨이 및 적어도 하나의 ECU를 포함하되, 상기 중앙 게이트웨이는 버스를 통해 상기 적어도 하나의 ECU와 연결되는 차량 시스템을 더 제공한다.
여기서, 상기 중앙 게이트웨이는 도 2 및 도 3에 도시된 실시예에서의 어느 하나의 상기 차량 내 전자 제어 유닛 업그레이드 방법에 따라, 상기 암호화 패킷을 상기 적어도 하나의 ECU에 전송하여 펌웨어 업그레이드를 수행한다.
상기 ECU는 상기 중앙 게이트웨이의 작동에 응답하여 펌웨어 업그레이드를 수행한다.
본 출원의 실시예에 따르면, 본 출원은 전자 기기 및 판독 가능 저장 매체를 더 제공한다.
도 6을 참조하면, 본 출원의 실시예의 차량 내 전자 제어 유닛 업그레이드 방법을 구현하기 위한 전자 기기의 블록도이다. 전자 기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 워크 스테이션, 개인용 정보 단말기, 서버, 블레이드 서버, 메인프레임 컴퓨터, 및 기타 적합한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 전자 기기는 개인용 디지털 처리, 셀룰러 폰, 스마트 폰, 웨어러블 기기, 및 기타 유사한 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 나타낼 수도 있다. 본문에 표시된 부재, 이들의 연결 및 관계, 및 이들의 기능은 단지 예시적인 것으로서, 본문에서 설명되거나 및/또는 요구되는 본 출원의 구현을 한정하려는 의도가 아니다.
도 6에 도시된 바와 같이, 상기 전자 기기는, 하나 또는 다수의 프로세서(601), 메모리(602), 및 고속 인터페이스 및 저속 인터페이스를 포함하는 각 부재를 연결하기 위한 인터페이스를 포함한다. 각각의 부재는 상이한 버스를 사용하여 상호 연결되고, 또한 공통 마더보드에 설치되거나 수요에 따라 다른 방식으로 설치될 수 있다. 프로세서는 전자 기기 내에서 실행되는 명령을 처리할 수 있고, 상기 명령은, 외부 입력/출력 장치(예를 들어, 인터페이스에 결합된 디스플레이 기기)에 GUI의 그래픽 정보를 디스플레이하기 위해 메모리 내 또는 메모리 상에 저장되는 명령을 포함한다. 다른 실시형태에서, 필요하다면, 다수의 프로세서 및/또는 다수의 버스를 다수의 메모리와 함께 사용할 수 있다. 마찬가지로, 다수의 전자 기기를 연결할 수 있으며, 각각의 기기는 일부 필요한 동작(예를 들어, 서버 어레이, 한 그룹의 블레이드 서버, 또는 다중 프로세서 시스템으로서)을 제공한다. 도 6에서는 하나의 프로세서(601)를 예로 한다.
메모리(602)는 본 출원에서 제공된 비일시적 컴퓨터 판독 가능 저장 매체이다. 여기서, 상기 메모리에는 적어도 하나의 프로세서에 의해 실행 가능한 명령이 저장되어, 상기 적어도 하나의 프로세서가 본 출원에서 제공된 차량 내 전자 제어 유닛 업그레이드 방법을 수행하도록 한다. 본 출원의 비일시적 컴퓨터 판독 가능 저장 매체는 컴퓨터 명령을 저장하며, 상기 컴퓨터 명령은 컴퓨터가 본 출원에서 제공된 차량 내 전자 제어 유닛 업그레이드 방법을 수행하도록 한다.
메모리(602)는 비일시적 컴퓨터 판독 가능 저장 매체로서, 본 출원의 실시예에서의 차량 내 전자 제어 유닛 업그레이드 방법에 대응되는 프로그램 명령/모듈(예를 들어, 도 4에 도시된 획득 모듈(41), 암호화 모듈(42) 및 전송 모듈(43))과 같은 비일시적 소프트웨어 프로그램, 비일시적 컴퓨터 실행 가능 프로그램 및 모듈을 저장하는데 사용될 수 있다. 프로세서(601)는 메모리(602)에 저장된 비일시적 소프트웨어 프로그램, 명령 및 모듈을 실행함으로써, 서버의 다양한 기능 애플리케이션 및 데이터 처리를 수행하며, 즉 상기 방법의 실시예에서의 차량 내 전자 제어 유닛 업그레이드 방법을 구현한다.
메모리(602)는 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있는 바, 여기서 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능에 필요한 애플리케이션 프로그램을 저장할 수 있고; 데이터 저장 영역은 차량 내 전자 제어 유닛에 따라 업그레이드된 전자 기기를 사용하여 구축된 데이터 등을 저장할 수 있다. 이밖에, 메모리(602)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 적어도 하나의 자기 디스크 저장 소자, 플래시 소자, 또는 다른 비일시적 솔리드 스테이트 저장 소자와 같은 비일시적 메모리를 더 포함할 수 있다. 일부 실시예에서, 메모리(602)는 프로세서(601)에 대해 원격으로 설치되는 메모리를 선택적으로 포함할 수 있고, 이러한 원격 메모리는 네트워크를 통해 차량 내 전자 제어 유닛 업그레이드의 전자 기기에 연결될 수 있다. 상기 네트워크의 구현예는 인터넷, 기업 인트라넷, 근거리 통신망, 이동 통신망, 및 이들의 조합을 포함하지만 이에 한정되지 않는다.
차량 내 전자 제어 유닛 업그레이드 방법의 전자 기기는, 입력 장치(603) 및 출력 장치(604)를 더 포함할 수 있다. 프로세서(601), 메모리(602), 입력 장치(603) 및 출력 장치(604)는 버스 또는 다른 방식을 통해 연결될 수 있고, 도 6에서는 버스를 통한 연결을 예로 한다.
입력 장치(603)는 입력된 숫자 또는 캐릭터 정보를 수신할 수 있고, 차량 내 전자 제어 유닛 업그레이드의 전자 기기의 사용자 설정 및 기능 제어와 관련된 키 신호 입력을 생성할 수 있으며, 예를 들어 터치 스크린, 키패드, 마우스, 트랙 패드, 터치 패드, 포인팅 스틱, 하나 또는 다수의 마우스 버튼, 트랙볼, 조이스틱 등 입력 장치일 수 있다. 출력 장치(604)는 디스플레이 기기, 보조 조명 장치(예를 들어, LED) 및 촉각 피드백 장치(예를 들어, 진동 모터) 등을 포함할 수 있다. 상기 디스플레이 기기는 액정 디스플레이 장치(LCD), 발광 다이오드(LED) 디스플레이 장치 및 플라즈마 디스플레이 장치를 포함할 수 있으나 이에 한정되지 않는다. 일부 실시형태에서, 디스플레이 기기는 터치 스크린일 수 있다.
여기에 기재되는 시스템 및 기술의 다양한 실시형태는 디지털 전자 회로 시스템, 집적 회로 시스템, 전용 ASIC(전용 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합에서 구현될 수 있다. 이러한 다양한 실시형태는 하나 또는 복수의 컴퓨터 프로그램에서 구현되는 것을 포함할 수 있고, 해당 하나 또는 복수의 컴퓨터 프로그램은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행 및/또는 해석될 수 있으며, 해당 프로그래머블 프로세서는 전용 또는 범용 프로그래머블 프로세서일 수 있고, 저장 시스템, 적어도 하나의 입력장치, 및 적어도 하나의 출력장치로부터 데이터와 명령을 수신할 수 있으며, 데이터와 명령을 해당 저장 시스템, 해당 적어도 하나의 입력장치, 및 해당 적어도 하나의 출력장치로 전송한다.
이러한 컴퓨팅 프로그램(프로그램, 소프트웨어, 소프트웨어 응용, 또는 코드라고도 불리운다)은 프로그래머블 프로세서의 기계적 명령을 포함하고, 고급 프로세스 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계적 언어를 이용하여 이러한 컴퓨터 프로그램을 실행할 수 있다. 예컨대 본문에서 사용되는 용어 "기계 판독 가능 매체"와 "컴퓨터 판독 가능 매체"는 기계적 명령 및/또는 데이터를 프로그래머블 프로세서로 제공하기 위한 임의의 컴퓨터 프로그램 또는 데이터를 프로그래머블 프로세서로 제공하기 위한 임의의 컴퓨터 프로그램 제품, 기기, 및/또는 장치(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래머블 논리 디바이스(PLD))를 가리키고, 기계 판독 가능 신호인 기계적 명령을 수신하는 기계 판독 가능 매체를 포함한다. 용어 "기계 판독 가능 신호"는 기계적 명령 및/또는 데이터를 프로그래머블 프로세서로 제공하기 위한 임의의 신호를 가리킨다.
사용자와의 인터랙션을 제공하기 위하여, 컴퓨터 상에서 여기에 기재되는 시스템 및 기술을 실시할 수 있으며, 해당 컴퓨터는 사용자에게 정보를 표시하기 위한 표시장치(예를 들어, CRT(캐소드레이 튜브) 또는 LCD(액정 디스플레이) 모니터); 및 키보드 지향 장치(예를 들어, 마우스 또는 트랙볼)를 구비하고, 사용자는 해당 키보드와 해당 지향장치를 통해 입력을 컴퓨터로 제공할 수 있다. 기타 종류의 장치는 또한 사용자와의 인터랙션을 제공할 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 센싱 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있고; 임의의 형태(사운드 입력, 음성 입력 또는 촉각 입력)을 통해 사용자로부터의 입력을 수신할 수 있다.
여기에 기재되는 시스템과 기술은 백그라운드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 데이터 서버로서), 또는 중간부재를 포함하는 컴퓨팅 시스템(예를 들어, 응용 서버), 또는 프론트 엔드 부재를 포함하는 컴퓨팅 시스템(예를 들어, 그래픽 유저 인터페이스 또는 인터넷 브라우저를 구비하는 사용자 컴퓨터, 사용자는 해당 그래픽 유저 인터페이스 또는 해당 인터넷 브라우저를 통해 여기에 기재되는 시스템 및 기술의 실시방식과 인터랙션할 수 있다), 또는 이러한 백그라운드 부재, 중간 부재, 또는 프론트 엔드 부재를 포함하는 임의의 컴퓨팅 시스템에서 실시될 수 있다. 임의의 형태 또는 매채의 디지털 데이터 통신(예를 들어, 통신망)을 통해 시스템의 부재를 서로 연결시킬 수 있다. 통신망의 예시로서, 랜(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다.
본 출원의 일 실시예에는 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램을 제공하며, 상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 본 출원의 전자 제어 유닛 업그레이드 방법을 구현하기 위한 것이다.
컴퓨터 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 통상적으로 통신망을 통해 인터랙션한다. 상응한 컴퓨터 상에서 실행되며 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램을 통해 클라이언트와 서버의 관계를 생성한다.상술한 다양한 형태의 프로세스를 사용하여 단계를 재배열, 추가 또는 삭제할 수 있음을 이해해야 한다. 예를 들어, 본 출원에 기재된 각 단계는 병열로 수행될 수 있고 순차적으로 수행될 수도 있고 서로 다른 순서로 수행될 수도 있으며, 본 출원의 기술적 해결수단이 원하는 결과를 얻을 수만 있다면, 본문에서는 여기서 한정하지 않는다.
상술한 구체적인 실시형태는, 본 출원의 보호범위에 대한 한정이 아니다. 본 분야의 통상의 지식을 가진 자라면, 설계 수요와 기타 요소를 기초로, 다양한 수정, 조합, 서브 조합 및 대체를 가할 수 있음을 이해할 수 있을 것이다. 본 출원의 정신과 원칙 내에서 이루어진 모든 수정, 동등한 치환 등은 모두 본 출원의 보호 범위 내에 속한다.

Claims (12)

  1. 차량 내 전자 제어 유닛 업그레이드 방법에 있어서,
    중앙 게이트웨이에 적용되며, 상기 방법은,
    타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득하는 단계;
    상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응되는 단계; 및,
    상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, 상기 암호화 패킷은 상기 타깃 ECU에 의해 상기 펌웨어 업그레이드 데이터를 해석하여 획득하는데 사용되는 단계를 포함하는 것을 특징으로 하는 차량 내 전자 제어 유닛 업그레이드 방법.
  2. 제1항에 있어서,
    상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하는 상기 단계 이전에,
    상기 타깃 ECU로부터 상기 타깃 ECU의 ECU 식별자를 획득하는 단계;
    기설정된 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 VIN에 대해 암호화 처리를 수행하여, 기설정 비밀 키 길이를 갖는 업그레이드 비밀 키를 획득하는 단계; 및,
    상기 업그레이드 비밀 키를 상기 타깃 ECU에 송신하고, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 암호화 처리는 난독화 및 암호화 처리, AES-128 암호화 처리, AES-CMAC 암호화 처리, SHA1 암호화 처리 중 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 업그레이드 비밀 키를 상기 타깃 ECU에 송신하고, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 상기 단계는,
    상기 업그레이드 비밀 키에 따라, 비밀 키 요약 시퀀스를 생성하되, 상기 비밀 키 요약 시퀀스는 M1, M2, M3, M4, M5를 포함하는 단계;
    상기 M1, M2, M3을 상기 타깃 ECU에 송신하는 단계;
    상기 타깃 ECU로부터 비밀 키 응답 정보를 수신하되, 상기 비밀 키 응답 정보는 상기 타깃 ECU가 M1, M2, M3에 따라 상기 업그레이드 비밀 키를 복원하여 획득하고, 획득한 업그레이드 비밀 키에 따라 생성된 정보이며, 복원하여 획득한 상기 업그레이드 비밀 키는 상기 타깃 ECU의 하드웨어 보안 모듈(HSM)에 라이팅하는데 사용되는 단계; 및,
    상기 비밀 키 응답 정보와 상기 M4, M5가 일치하다고 결정되면, 상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 단계;를 포함하는 것을 특징으로 하는 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이 로컬에 저장하는 상기 단계는,
    상기 타깃 ECU의 ECU 식별자 및 상기 업그레이드 비밀 키를 중앙 게이트웨이의 하드웨어 보안 모듈(HSM)에 라이팅하는 단계;를 포함하는 것을 특징으로 하는 방법.
  6. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 타깃 ECU로부터 상기 타깃 ECU의 ECU 식별자를 획득하는 상기 단계는,
    오프라인 비밀 키 분배 명령에 응답하여, 다수의 ECU에 폴링하여 업그레이드할 타깃 ECU를 결정하는 단계;
    상기 타깃 ECU로 식별자 요청을 송신하되, 상기 식별자 요청은 중앙 게이트웨이 주소, 타깃 ECU의 통합 진단 서비스(UDS) 주소를 포함하는 단계; 및,
    상기 식별자 요청에 응답하여 상기 타깃 ECU에서 송신된 ECU 식별자를 수신하는 단계;를 포함하는 것을 특징으로 하는 방법.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하는 상기 단계는,
    상기 타깃 ECU로부터 데이터 세그먼트 길이를 획득하는 단계; 및,
    상기 데이터 세그먼트 길이 및 상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터를 N개의 데이터 블록으로 분해하고, 상기 업그레이드 비밀 키로 상기 데이터 블록에 대해 암호화하여 N개의 암호화 패킷을 획득하되, 각각의 상기 암호화 패킷의 데이터 길이는 상기 데이터 세그먼트 길이이고, N은 양의 정수인 단계;를 포함하고,
    상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하는 상기 단계는,
    상기 N개의 암호화 패킷을 상기 타깃 ECU에 순차적으로 전송하여 펌웨어 업그레이드를 수행하는 단계;를 포함하는 것을 특징으로 하는 방법.
  8. 차량 내 전자 제어 유닛 업그레이드 장치에 있어서,
    중앙 게이트웨이에 적용되며, 상기 장치는,
    타깃 전자 제어 유닛(ECU)의 펌웨어 업그레이드 데이터를 획득하는 획득 모듈;
    상기 타깃 ECU에 대응되는 업그레이드 비밀 키에 따라, 상기 펌웨어 업그레이드 데이터에 대해 암호화하여 암호화 패킷을 획득하되, 상기 업그레이드 비밀 키는 중앙 게이트웨이 식별자, 상기 타깃 ECU의 ECU 식별자 및 상기 타깃 ECU가 속한 차량의 차량 식별 번호(VIN)와 대응 되는 암호화 모듈; 및,
    상기 암호화 패킷을 상기 타깃 ECU에 전송하여 펌웨어 업그레이드를 수행하되, , 상기 암호화 패킷은 상기 타깃 ECU 해석에 의해 상기 펌웨어 업그레이드 데이터를 획득하는데 사용되는 전송 모듈을 포함하는 것을 특징으로 하는 차량 내 전자 제어 유닛 업그레이드 장치.
  9. 차량 시스템에 있어서,
    중앙 게이트웨이 및 적어도 하나의 ECU를 포함하고, 상기 중앙 게이트웨이는 버스를 통해 상기 적어도 하나의 ECU와 연결되며;
    상기 중앙 게이트웨이는 제1항 내지 제4항 중 어느 한 항에따른 차량 내 전자 제어 유닛 업그레이드 방법에 따라, 상기 암호화 패킷을 상기 적어도 하나의 ECU에 전송하여 펌웨어 업그레이드를 수행하고;
    상기 ECU는 상기 중앙 게이트웨이의 작동에 응답하여 펌웨어 업그레이드를 수행하는 것을 특징으로 하는 차량 시스템.
  10. 전자 기기에 있어서,
    적어도 하나의 프로세서; 및,
    상기 적어도 하나의 프로세서와 통신 연결되는 메모리를 포함하되;
    상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행 가능하는 명령이 저장되고, 상기 명령은 상기 적어도 하나의 프로세서에 실행되어, 상기 적어도 하나의 프로세서가 제1항 내지 제4항 중 어느 한 항에 따른 차량 내 전자 제어 유닛 업그레이드 방법을 수행할 수 있도록 하는 것을 특징으로 하는 전자 기기.
  11. 컴퓨터 명령이 저장된 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    상기 컴퓨터 명령은 상기 컴퓨터가 제1항 내지 제4항 중 어느 한 항에 따른 차량 내 전자 제어 유닛 업그레이드 방법을 수행하도록 하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 저장 매체.
  12. 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램 중의 명령이 프로세서에 의해 실행될 경우, 제1항 내지 제4항 중 어느 한 항의 차량 내 전자 제어 유닛 업그레이드 방법을 구현하는 것을 특징으로 하는 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
KR1020210021837A 2020-02-19 2021-02-18 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템 KR20210038851A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010102093.4A CN111356114B (zh) 2020-02-19 2020-02-19 车内电子控制单元升级方法、装置、设备和车辆系统
CN202010102093.4 2020-02-19

Publications (1)

Publication Number Publication Date
KR20210038851A true KR20210038851A (ko) 2021-04-08

Family

ID=71197020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210021837A KR20210038851A (ko) 2020-02-19 2021-02-18 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템

Country Status (3)

Country Link
JP (1) JP2021083110A (ko)
KR (1) KR20210038851A (ko)
CN (1) CN111356114B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422181A (zh) * 2021-12-11 2022-04-29 浙江吉利控股集团有限公司 一种车辆数据报文安全通信方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383899A (zh) * 2020-09-23 2021-02-19 芜湖莫森泰克汽车科技股份有限公司 基于5g网络对车窗防夹ecu程序远程升级方法
CN112261130A (zh) * 2020-10-21 2021-01-22 宝能(广州)汽车研究院有限公司 车辆、车辆的ota升级系统及方法
CN113805916A (zh) * 2021-08-16 2021-12-17 江铃汽车股份有限公司 一种升级方法、系统、可读存储介质及车辆
CN113590162B (zh) * 2021-08-24 2024-03-08 北京经纬恒润科技股份有限公司 数据的升级方法及系统
CN114124842B (zh) * 2021-11-10 2023-07-14 北京经纬恒润科技股份有限公司 一种数据传输方法、系统、电子设备及存储介质
CN114286318B (zh) * 2021-12-28 2024-06-14 合众新能源汽车股份有限公司 一种基于一机一密的ota升级包传输方法
CN114615256A (zh) * 2022-03-04 2022-06-10 恒大新能源汽车投资控股集团有限公司 一种车辆升级方法、装置及电子设备
CN115150271B (zh) * 2022-06-29 2023-11-21 中国第一汽车股份有限公司 网关的升级和数据路由方法、装置、设备及存储介质
CN116708031B (zh) * 2023-08-04 2023-11-03 晟安信息技术有限公司 一种can总线数据通讯安全配置方法及系统
CN117250943B (zh) * 2023-11-20 2024-02-06 常州星宇车灯股份有限公司 一种车辆uds服务报文异常检测方法及检测系统
CN117527262B (zh) * 2023-12-13 2024-06-18 智极(广州)科技有限公司 一种基于芯片构建汽车安全ota的方法
CN117793706B (zh) * 2024-02-28 2024-05-07 合肥工业大学 一种车内ecu组通信方法及通信系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4942261B2 (ja) * 2001-07-31 2012-05-30 株式会社デンソー 車両用中継装置、及び、車内通信システム
JP2004192278A (ja) * 2002-12-10 2004-07-08 Sumitomo Electric Ind Ltd 通信システム及び車載ゲートウェイ装置
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
JP2010011400A (ja) * 2008-06-30 2010-01-14 National Institute Of Advanced Industrial & Technology 共通鍵方式の暗号通信システム
JP2011070287A (ja) * 2009-09-24 2011-04-07 Toyota Motor Corp プログラム更新装置、センタ及びプログラム更新システム
JP5479408B2 (ja) * 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
JP5323151B2 (ja) * 2011-08-31 2013-10-23 三菱電機株式会社 プログラム書き換えシステム及びプログラム書き換え方法
JP5696669B2 (ja) * 2012-01-12 2015-04-08 株式会社デンソー ゲートウェイ装置、及び、車両通信システム
CN106354526A (zh) * 2016-08-16 2017-01-25 北京汽车股份有限公司 车载终端的升级方法和升级系统
JP6260068B1 (ja) * 2016-09-30 2018-01-17 Kddi株式会社 保守装置、保守方法、及びコンピュータプログラム
CN106648626A (zh) * 2016-11-29 2017-05-10 郑州信大捷安信息技术股份有限公司 一种车辆安全远程升级系统及升级方法
JP6174229B1 (ja) * 2016-12-09 2017-08-02 Kddi株式会社 配信システム、データ保安装置、配信方法、及びコンピュータプログラム
JP6468277B2 (ja) * 2016-12-26 2019-02-13 トヨタ自動車株式会社 車両通信システム
CN106878011A (zh) * 2017-02-27 2017-06-20 中国银联股份有限公司 一种密钥保存方法及装置
JP6666876B2 (ja) * 2017-05-15 2020-03-18 本田技研工業株式会社 通信システム、および移動体
JP6554704B2 (ja) * 2017-10-18 2019-08-07 Kddi株式会社 データ提供システム及びデータ提供方法
CN108200044B (zh) * 2017-12-28 2021-02-19 宁德时代新能源科技股份有限公司 车载程序文件加密方法和系统
CN108566381A (zh) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 一种安全升级方法、装置、服务器、设备和介质
CN110351314B (zh) * 2018-04-03 2023-11-21 厦门雅迅网络股份有限公司 汽车控制器的远程升级方法及计算机可读存储介质
CN109257374B (zh) * 2018-10-31 2021-09-03 百度在线网络技术(北京)有限公司 安全控制方法、装置和计算机设备
CN109640293A (zh) * 2019-01-08 2019-04-16 北京汽车股份有限公司 车辆通信系统和车辆
CN110225063B (zh) * 2019-07-02 2021-09-03 广州小鹏汽车科技有限公司 汽车车载系统的升级方法、升级系统、服务器及车载终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422181A (zh) * 2021-12-11 2022-04-29 浙江吉利控股集团有限公司 一种车辆数据报文安全通信方法

Also Published As

Publication number Publication date
JP2021083110A (ja) 2021-05-27
CN111356114A (zh) 2020-06-30
CN111356114B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
KR20210038851A (ko) 차량 내 전자 제어 유닛 업그레이드 방법, 장치, 기기 및 차량 시스템
US20210218574A1 (en) Method and apparatus for verifying digital identity, device and storage medium
CN109522363B (zh) 基于区块链的云平台同步方法、系统、设备及存储介质
CN108475319B (zh) 装置出生凭证
US11750396B2 (en) Private data processing method, device and medium
WO2019222934A1 (zh) 文件处理方法、装置和系统
US9544769B2 (en) Method for providing application service
CN103685554A (zh) 升级方法、装置及系统
KR102445290B1 (ko) 정보 처리 방법, 장치, 기기 및 판독 가능 저장매체
CN104199957A (zh) 一种Redis通用代理的实现方法
US11431799B2 (en) Method, electronic device and computer program product for storing and accessing data
US10440001B2 (en) Method to securely authenticate management server over un-encrypted remote console connection
CN103338218A (zh) 通过云托管的适配器提供客户端和服务兼容性
CN109672722A (zh) 数据部署方法及装置、计算机存储介质和电子设备
WO2021031655A1 (zh) 区块链网络的升级方法及装置、存储介质、电子设备
CN102404326A (zh) 一种验证报文安全性的方法、系统以及装置
WO2019019593A1 (zh) 无状态通信安全签名方法、终端及服务器端
CN111338834B (zh) 数据存储方法和装置
CN111433773B (zh) 对变电站中的网关的更新
CN111818145A (zh) 一种文件传输方法、装置、系统、设备及存储介质
CN116545623A (zh) 密钥灌装方法、装置、系统和设备
KR20180090060A (ko) 사물 인터넷 보안 모듈
CN110740139A (zh) 一种秘钥装置及秘钥管理方法、系统、设备、计算机介质
JP2021511583A (ja) 衛星装置を遠隔的に更新するための方法及び装置
CN108228280A (zh) 浏览器参数的配置方法及装置、存储介质、电子设备

Legal Events

Date Code Title Description
G15R Request for early publication
E902 Notification of reason for refusal
E601 Decision to refuse application