KR20190013018A - 효율적인 차량용 리프로그래밍 장치 및 그 제어방법 - Google Patents

효율적인 차량용 리프로그래밍 장치 및 그 제어방법 Download PDF

Info

Publication number
KR20190013018A
KR20190013018A KR1020170096914A KR20170096914A KR20190013018A KR 20190013018 A KR20190013018 A KR 20190013018A KR 1020170096914 A KR1020170096914 A KR 1020170096914A KR 20170096914 A KR20170096914 A KR 20170096914A KR 20190013018 A KR20190013018 A KR 20190013018A
Authority
KR
South Korea
Prior art keywords
firmware
integrated
controllers
integrated management
management device
Prior art date
Application number
KR1020170096914A
Other languages
English (en)
Other versions
KR102368606B1 (ko
Inventor
조아람
정호진
안현수
이영준
김대영
Original Assignee
현대자동차주식회사
현대오토에버 주식회사
기아자동차주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 현대오토에버 주식회사, 기아자동차주식회사 filed Critical 현대자동차주식회사
Priority to KR1020170096914A priority Critical patent/KR102368606B1/ko
Priority to US15/825,978 priority patent/US11182485B2/en
Priority to CN201711283780.5A priority patent/CN109324589A/zh
Publication of KR20190013018A publication Critical patent/KR20190013018A/ko
Application granted granted Critical
Publication of KR102368606B1 publication Critical patent/KR102368606B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • G06F9/44547Fat binaries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • 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]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 차량용 제어기의 리프로그래밍에 관한 것으로, 보다 상세히는 복수의 제어기에 대한 효율적인 리프로그래밍이 가능한 게이트웨이 및 그 제어방법에 관한 것이다. 본 발명의 일 실시예에 따른 차량은, 복수의 제어기; 진단기를 인증하는 게이트웨이; 및 상기 게이트웨이와 인증을 마친 상기 진단기로부터 상기 복수의 제어기 중 복수의 대상 제어기 각각에 대응되는 복수의 펌웨어를 포함하는 통합 펌웨어를 수신하면, 상기 통합 펌웨어를 인증하고 상기 통합 펌웨어에 포함된 복수의 펌웨어 각각을 암호화하여 저장하는 펌웨어 통합 관리 장치를 포함할 수 있다. 여기서 상기 펌웨어 통합 관리 장치는, 상기 복수의 대상 제어기 각각에 대응되는 암호화 키를 생성하고, 상기 복수의 펌웨어 각각을 대응되는 상기 암호화키로 암호화하여 저장할 수 있다.

Description

효율적인 차량용 리프로그래밍 장치 및 그 제어방법{IN-VEHICLE APPARATUS FOR EFFICIENT REPROGRAMMING AND METHOD FOR CONTROLLING THERE OF}
본 발명은 차량용 제어기의 리프로그래밍에 관한 것으로, 보다 상세히는 복수의 제어기에 대한 효율적인 리프로그래밍이 가능한 게이트웨이 및 그 제어방법에 관한 것이다.
최근 차량에는 전장 및 새시부품을 제어하는 BCM/ETACS(Body Control Module/Electronic Time & Alarm Control System), ABS ECU(Anti-lock Brake System Electronic Control Unit), 엔진 ECU, 에어백 ECU 등과 같이, 차량 네트워크의 대부분의 노드들이 ECU(전자 제어기)로 구성되어 있다. 이러한 ECU들은 안전과 경제적인 차량 운행을 위해 차량 진단 서비스를 받으며, 이를 통해 차량 고장을 사전에 예방할 수 있으며, 차량 운행 기록 관리 및 통계 정보 등 여러가지 차량 정보를 제공받을 수 있다. 또한, 이와 함께 ECU들은 사양 변경 및 기능을 업그레이드 등 필요에 따라 소프트웨어 업그레이드, 즉, 리프로그래밍을 제공받게 된다. 이를 도 1을 참조하여 설명한다.
도 1은 일반적인 차량에서 리프로그래밍이 수행되는 과정의 일례를 나타낸다.
도 1을 참조하면, 최신 펌웨어(110)는 진단기(120), 차량의 진단기 커넥터(130), 게이트웨이(CGW: Central GateWay, 140)를 거쳐 차량 내부의 각 제어기들(150) 중 업그레이드의 대상이 되는 타겟 제어기에 전달된다. 타겟 제어기는 소정의 절차에 따라 진단기를 확인하고, 펌웨어에 대한 인증을 수행하며, 인증이 완료된 펌웨어(160)를 이용하여 업그레이드를 수행하게 된다. 여기서, 차량의 진단기 커넥터(130)는 차량의 OBD(On-board diagnostics)2 단자와 연결될 수 있다.
한편, 이러한 과정에서 제어기의 펌웨어 보안을 위해 FST, SRT 등의 보안 솔루션도 사용되고 있다. FST(Firmware Signning Tool)는 제어기의 펌웨어를 검증받는 도구로 소정의 절차에 의해 차량 제조사의 인증을 받기 위한 도구이다. 차량 제조사의 승인 없이는 펌웨어를 인증받을 수 없으며, 이를 통해 조작된 펌웨어가 제어기가 주입되는 것이 방지될 수 있다. 또한, SRT(Standard reprogramming Tool)는 펌웨어 리프로그래밍을 위해, 해당 제어기에 접근하기 위한 승인을 받는 도구로 인증서 및 암호 키를 소유한 주체만이 리프로그래밍 권한을 부여받도록 할 수 있다.
하지만 차량 제어기의 증가와 기술 정교화로 인해 제어기간 연계성이 높아져 공통된 기술/기능에 대하여 다수의 제어기를 동시에 업그레이드 해야 하는 상황이 발생한다. 예를 들어 스마트 크루즈 컨트롤(SCC: Smart Cruise Control)과 같은 기능은 엔진 제어기와 브레이크 제어기 및 센서 제어기 등 다수의 제어기와 연관되어 있다. 그런데, 일반적인 제어기의 펌웨어 업그레이드는 진단기와 제어기가 일대일로 펌웨어를 리프로그래밍하는 방식이다. 이러한 절차를 도 2를 참조하여 설명한다.
도 2a 내지 도 2c는 일반적인 차량에서 진단기와 제어기 사이에서 리프로그래밍 절차가 수행되는 과정의 일례를 설명하기 위한 도면이다.
도 2a를 참조하면, 3개의 제어기 각각에 대한 펌웨어가 준비된다. 여기서 각 제어기에 대한 펌웨어 별로 계산된 인증 정보가 수반된다. 즉, 펌웨어가 총 3개인 경우, 인증 정보도 3개가 된다.
이러한 펌웨어를 이용하여 동시에 제어기 업데이트를 수행하는 경우, 도 2b와 같이 먼저 진단기에서 준비된 펌웨어에 대응되는 제어기 중 어느 하나에 리프로그래밍 요청을 전송한다(S210). 그에 따라 해당 제어기는 시드(SEED) 값을 진단기에 보낸다(S220). 진단기에서는 시드 값을 이용하여 미리 약속된 방식(비트 연산, 암호화 등)으로 키(KEY) 값을 계산해 제어기에 회신한다(S230). 제어기에서는 진단기에 전달한 시드 값으로 미리 약속된 방식으로 키 값을 계산한 후, 진단기로부터 수신한 키 값과 비교하는 방법으로 진단기를 인증한다(S240). 진단기 확인이 완료되면, 제어기는 확인 메시지를 진단기에 보내고(S250), 진단기는 펌웨어와 인증 정보 전송을 진행한다(S260). 제어기에서는 수신된 펌웨어를 통해 계산한 인증정보와 수신된 인증정보와의 일치여부를 통해 펌웨어 인증을 진행한다(S270).
도 2b를 참조하여 상술한 과정은 제어기마다 수행되어야 한다. 예를 들어, 도 2c와 같이 제어기와 펌웨어 각각이 N개씩 있는 경우를 가정하면, 개별 펌웨어 각각은 보안관리자에 서명을 획득해야 하며, 펌웨어 주입장치(진단기)를 통해 차량내 제어기로 별도로 전송되어 개별 제어기에서 검증을 받아야 한다. 결국, 1 내지 N까지 모든 펌웨어에 대하여 도 2b의 S210부터 S270까지의 과정들을 제어기를 달리하여 반복 수행해야 N개의 펌웨어 업데이트가 완료될 수 있다.
이러한 문제점은 특히 하나의 기능과 관련된 다수의 펌웨어를 업데이트 하는 경우, 동일한 진단기를 사용하더라도 각각의 펌웨어를 업데이트 하기 위해서 각 펌웨어 별로 전술한 리프로그래밍위의 과정을 반복해서 진행해야 하기 때문에 효율성이 떨어지는 문제점이 있으며, 리프로그래밍 후에는 제어기에 설치된 펌웨어를 재검증하지 않으며 문제 발생시에는 다시 진단기를 연결해야 재설치가 가능하다는 문제점이 있다.
본 발명은 효율적인 리프로그래밍을 수행할 수 있는 장치 및 그 제어방법을 제공하기 위한 것이다.
특히, 본 발명은 다수의 제어기에 대한 리프로그래밍을 보다 효율적으로 수행할 수 있는 장치 및 그 제어방법을 제공하기 위한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 차량의 리프로그래밍 방법은, 게이트웨이에서 진단기를 인증하는 단계; 상기 인증을 마친 상기 진단기로부터 복수의 대상 제어기 각각에 대응되는 복수의 펌웨어를 포함하는 통합 펌웨어를 펌웨어 통합 관리 장치에서 수신하는 단계; 상기 펌웨어 통합 관리 장치에서 상기 통합 펌웨어를 인증하는 단계; 상기 펌웨어 통합 관리 장치에서 상기 통합 펌웨어에 포함된 복수의 펌웨어 각각을 암호화하여 저장하는 단계; 및 상기 펌웨어 통합 관리 장치에서 상기 복수의 대상 제어기 각각에 대응되는 암호화 키를 생성하는 단계를 포함할 수 있다. 여기서 상기 암호화하여 저장하는 단계는, 상기 복수의 펌웨어 각각을 대응되는 상기 암호화키로 암호화하여 저장하는 단계를 포함할 수 있다.
또한, 상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 차량은, 복수의 제어기; 진단기를 인증하는 게이트웨이; 및 상기 게이트웨이와 인증을 마친 상기 진단기로부터 상기 복수의 제어기 중 복수의 대상 제어기 각각에 대응되는 복수의 펌웨어를 포함하는 통합 펌웨어를 수신하면, 상기 통합 펌웨어를 인증하고 상기 통합 펌웨어에 포함된 복수의 펌웨어 각각을 암호화하여 저장하는 펌웨어 통합 관리 장치를 포함할 수 있다. 여기서 상기 펌웨어 통합 관리 장치는, 상기 복수의 대상 제어기 각각에 대응되는 암호화 키를 생성하고, 상기 복수의 펌웨어 각각을 대응되는 상기 암호화키로 암호화하여 저장할 수 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 펌웨어 통합 관리 장치를 통해 복수의 제어기에 대한 리프로그래밍이 효율적으로 수행될 수 있다.
특히, 복수의 펌웨어가 하나의 인증 정보로 펌웨어 통합 관리 장치에서 인증되고 관리되므로 제어기 단위의 반복적 인증이 불필요하고, 인증 정보의 크기가 감소된다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일반적인 차량에서 리프로그래밍이 수행되는 과정의 일례를 나타낸다.
도 2a 내지 도 2c는 일반적인 차량에서 진단기와 제어기 사이에서 리프로그래밍 절차가 수행되는 과정의 일례를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 통합 펌웨어 및 펌웨어 통합 관리 장치를 이용한 업데이트 과정의 개념을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 펌웨어 업데이트 시스템 구조의 일례를 나타내는 블럭도이다.
도 5는 본 발명의 일 실시예에 따른 펌웨어 업데이트 메시지 포맷의 일례를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 통합 펌웨어 및 펌웨어 통합 관리 장치를 통한 펌웨어 업데이트 과정의 일례를 나타내는 순서도이다.
도 7은 본 발명의 일 실시예에 따른 펌웨어 통합 관리 장치에서 개별 제어기에 설치된 펌웨어의 무결성 검사 및 펌웨어 복구가 수행되는 과정의 일례를 나타내는 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소들을 의미한다.
본 발명의 일 실시예에서는, 복수의 펌웨어를 포함하는 통합 펌웨어가 차량으로 전송되도록 하되, 차량에서는 통합 펌웨어에 대한 인증 및 관리를 수행할 별도의 주체(이하, "펌웨어 통합 관리 장치"라 칭함)가 구비되도록 할 것을 제안한다.
이를 위하여, 본 실시예에서는 통합 펌웨어에 포함되는 펌웨어들 각각에 대응되는 인증 정보 대신, 통합 펌웨어 전체에 대하여 하나의 인증 정보를 사용하도록 할 것을 제안한다. 또한, 진단기에 대한 인증은 게이트웨이에서 수행되되, 통합 펌웨어 자체에 대한 인증 및 통합 펌웨어 내에 포함되는 복수의 펌웨어에 대한 관리는 펌웨어 통합 관리 창치에서 수행되도록 할 것을 제안한다. 여기서 펌웨어에 대한 관리란, 백업 기능, 개별 제어기에 대한 펌웨어 전달 기능, 리프로그래밍 완료된 펌웨어에 대한 무결성 관리 및 제어기에서 펌웨어 무결성 훼손시 복구 기능을 포함할 수 있다.
먼저, 본 실시예에 따른 펌웨어 업데이트 개념을 도 3을 참조하여 설명한다.
도 3은 본 발명의 일 실시예에 따른 통합 펌웨어 및 펌웨어 통합 관리 장치를 이용한 업데이트 과정의 개념을 설명하기 위한 도면이다.
도 3을 참조하면, 펌웨어 개발 단계에서 복수의 펌웨어가 준비되면, 복수의 펌웨어는 하나의 통합 펌웨어로 합쳐질 수 있다. 예컨대, 펌웨어 1, 펌웨어 2 및 펌웨어 3은 통합 펌웨어 A에 함께 포함될 수 있다. 하나의 통합 펌웨어에 포함되는 펌웨어의 기준은 차량에서 구현되는 기능(예컨대, 스마트 크루즈 컨트롤, 전방 추돌 방지, 차선 이탈 경보 등)에 어떤 제어기가 관여하는지 여부가 기준이 될 수도 있고, 업데이트 날짜가 기준이 될 수도 있으나, 이는 예시적인 것으로 본 발명은 하나의 통합 펌웨어에 포함되는 펌웨어의 기준에 한정되지 아니한다.
이후 보안관리자 단계에서는 개별 펌웨어에 대한 인증 대신, 그들을 포함하는 하나의 통합 펌웨어 단위로 인증을 받게 된다. 그에 따라 통합 펌웨어에는 서명 정보가 포함될 수 있다.
서명 정보를 포함하는 통합 펌웨어는 진단 통신을 통해 차량에 전달되며, 차량의 펌웨어 통합 관리 장치에서는 전달된 통합 펌웨어에 대한 검증 및 백업을 수행하게 된다. 여기서, 검증은 통합 펌웨어에 포함된 서명 정보를 이용하여 통합 펌웨어 단위로 수행될 수 있다. 또한, 펌웨어 통합 관리 장치는 백업을 수행함에 있어 통합 펌웨어를 개별 펌웨어로 나눈 후 개별 펌웨어를 암호화하여 저장해둘 수 있으며, 이때 제어기 각각에 대응되는 암호화 키를 생성하여 펌웨어 암호화에 이용할 수 있다.
검증과 백업이 완료되면, 펌웨어 통합 관리장치는 개별 제어기에 해당 제어기에 대응되는 암호와 키 및 펌웨어를 전달할 수 있으며, 개별 제어기는 전달받은 펌웨어로 리프로그래밍을 수행하고, 그 결과를 펌웨어 통합 관리 장치로 전달할 수 있다. 이때, 펌웨어 통합 관리장치는 암호화된 펌웨어 데이터를 개별 제어기로 전달할 수도 있고, 암호화된 펌웨어를 전달 전에 복호화하여 평문 형태로 개별 제어기에 전달할 수도 있다. 만일 암호화된 펌웨어 데이터가 전달되는 경우, 해당 제어기는 펌웨어 데이터와 함께 획득된 암호화 키를 이용하여 암호화된 펌웨어 데이터를 복호화할 수 있다.
상술한 바와 같은 방식에 의하면, 개별 펌웨어 단위로 서명 및 검증이 이루어지는 대신 복수의 펌웨어를 하나로 통합함으로써 서명 및 검증의 수를 줄여 업데이트가 간소화될 수 있으며, 개별 제어기가 부담할 서명 검증의 부하가 통합 관리 장치로 이관되어 제어기 부담이 감소될 수 있다.
다음으로, 도 4를 참조하여 본 실시예에 따른 펌웨어 업데이트 시스템 구조를 설명한다.
도 4는 본 발명의 일 실시예에 따른 펌웨어 업데이트 시스템 구조의 일례를 나타내는 블럭도이다.
도 4를 참조하면, 펌웨어 업데이트 시스템은 차량부분과 차량외 부분으로 구분될 수 있다. 도 4에서 진단기(230)가 차량외 부분에 해당하며, 나머지 구성 요소들은 차량부분에 해당한다.
보다 상세히, 진단기(230)는 진단 통신(예를 들어, OBD-2)을 통해 차량 게이트웨이(CGW, 240)와 연결되며, 게이트웨이(240)는 데이터 경로(예컨대, CAN BUS)를 통해 펌웨어 통합 관리 장치(210) 및 개별 제어기들(251, 252, 253)과 연결될 수 있다.
진단기(230)는 새로운 통합 펌웨어를 차량에 주입하는 기능을 하며, 게이트웨이(240)의 인증을 통과한 후 펌웨어 통합관리 장치(210)로 접근한다.
게이트웨이(240)는 차량 외부에서 차량 네트워크에 접근하기 위한 관문으로 진단기(230) 인증을 수행할 수 있다.
펌웨어 통합 관리 장치(210)에는 각 제어기의 펌웨어들(211)이 암호화되어 저장될 수 있다. 또한, 펌웨어 통합 관리 장치(210)는 데이터의 무결성과 기밀성을 보장하기 위한 제어기별 암호화 키(215)나 인증 데이터가 별도로 저장되는 보안모듈(213)을 포함할 수 있다. 이를 위해 펌웨어 통합 관리 장치(210)는 메모리를 포함할 수 있으며, 각 제어기의 펌웨어들(211)이 저장되는 영역과 보안 모듈(213)에 할당된 영역은 서로 논리적으로 또는 물리적으로 구분될 수 있다. 또한, 펌웨어 통합 관리 장치(210)는 통합 펌웨어의 검증, 암호화, 백업, 제어기별 펌웨어의 무결성 검사 등의 기능 각각에 대응되는 처리 모듈을 포함할 수 있으며, 실시 예에 따라 처리 모듈 각각에 대응되는 소프트웨어와 이에 대한 구동/연산을 수행하는 프로세서를 포함할 수 있다.
제어기(251, 252, 253) 각각은 자신에 대응되는 암호화 키와 펌웨어를 저장할 수 있으며, 암호화된 펌웨어를 암호화 키를 이용하여 복호화 하거나, 자체적으로 소정의 알고리즘(예컨대, Hmac, sha 등)을 통해 펌웨어의 무결성을 검사할 수 있다. 이때, 펌웨어 무결성 검사를 위해 펌웨어 통합 관리 장치(210)로부터 전달받은 난수를 이용할 수 있으며, 검사 결과를 통합 관리 장치(210)로 다시 전달할 수 있다. 여기에 대해서는 도 7을 참조하여 보다 상세히 설명하기로 한다.
다음으로, 도 5를 참조하여 통합 펌웨어가 전달되는 형태를 설명한다.
도 5는 본 발명의 일 실시예에 따른 펌웨어 업데이트 메시지 포맷의 일례를 나타낸다.
도 5에 도시된 바와 같이, 통합 펌웨어는 펌웨어 업데이트 메시지 형태로 진단기에서 차량측으로 전달될 수 있다. 펌웨어 업데이트 메시지는 헤더, 복수의 펌웨어 데이터(Firmware 1, Firmware 2, Firmware 3, Firmware X 등) 및 서명 정보(Signature)를 포함할 수 있다.
여기서 헤더는 메시지의 헤더 기능을 수행하며, 여기에는 헤더의 버전 정보를 포함하는 헤더 버전, 통합 펌웨어를 다른 통합 펌웨어로부터 식별하는 통합 펌웨어 식별 정보, 해당 메시지에 포함된 펌웨어 개수 정보, 펌웨어별 대응 제어기 식별자(ID) 정보, 메시지 길이 정보, 개별 펌웨어의 버전 정보 중 적어도 하나가 포함될 수 있다.
서명 정보는 헤더를 포함한 각 펌웨들을 서명한 값을 나타내는 인증 정보로, 일례로 "signature = do_sign(Header, firm1, firm2, firm3, … , firm x );"와 같은 형태로 표현될 수 있다.
상술한 형태의 업데이트 메시지가 사용됨으로 인해, 통합 펌웨어별로 서명 알고리즘의 보안강도, 인증 수단, 인증 방법 등을 등급화 하여 관리 할 수 있다. 또한, 제어기 소프트웨어 제작 업체에 따라 펌웨어가 통합되면 보안관리자 및 완성차 제조사에서 외주 생산(OEM) 관리를 해야할 펌웨어의 수가 적어지므로 관리적인 효율성이 향상된다. 아울러, 제어기 동작 기능에 따라 펌웨어가 통합되면, 추가 혹은 변경되는 차량기능에 따라 다수의 제어기를 업데이트 할 때, 해당 기능에 관여하는 제어기를 한번에 업데이트 할 수 있는 효과도 있으며, 날짜/시간에 따라 통합 관리 되는 경우 버전 관리가 용이해진다.
다음으로, 도 6을 참조하여 펌웨어 업데이트 과정을 보다 상세히 설명한다.
도 6은 본 발명의 일 실시예에 따른 통합 펌웨어 및 펌웨어 통합 관리 장치를 통한 펌웨어 업데이트 과정의 일례를 나타내는 순서도이다. 도 6에서 통합 펌웨어에는 제어기 1과 제어기 2 각각에 대응하는 2개의 펌웨어가 포함된 것으로 가정한다.
도 6을 참조하면, 업데이트 과정은 크게 진단기와 차량의 게이트웨이 간에 수행되는 차량 접근 보안 인증 단계(S610), 펌웨어 통합 관리 장치가 통합 펌웨어를 전달받아 업데이트 전(pre)처리를 수행하는 펌웨어 인증 단계(S620) 및 실제 리프로그래밍이 수행되는 펌웨어 리프로그래밍 단계(S630)를 포함할 수 있다. 이하 각 단계를 상세히 설명한다.
먼저, 차량 접근 보안 인증 단계(S610)는 다음과 같다.
진단기가 차량에 연결된 후 게이트웨이(CGW)에 인증 요청을 전송하게 된다(S611). 그에 따라 게이트웽이는 진단기 인증을 수행하고(S613), 인증에 성공하면 인증이 완료됨을 지시하는 인증 정보를 진단기로 회신한다(S615).
펌웨어 인증 단계(S620)에서 게이트웨이와 성공적으로 인증을 마친 진단기는 펌웨어 통합 관리 장치에 접근하여 통합 펌웨어를 전달한다(S621). 펌웨어 통합 관리 장치는 통합 펌웨어에 포함된 서명으로 통합 펌웨어를 인증하고, 인증에 성공하면 그에 포함된 펌웨어 각각에 대응되는 진단기에 대한 암호화 키를 생성하며, 생성된 암호화 키로 개별 펌웨어를 암호화하여 저장할 수 있다(S623). 또한, 펌웨어 통합 관리 장치는 인증에 성공하면 그에 대응되는 인증 결과를 진단기로 회신할 수 있다(S625).
펌웨어 리프로그래밍 단계(S630)에서, 먼저 펌웨어 통합 관리 장치는 각 제어기에 그에 해당하는 펌웨어와 암호화 키를 전달한다(S631A, S631B). 펌웨어와 암호화키를 전달받은 각 제어기는 전달받은 펌웨어로 펌웨어 업데이트 및 암호화 키 저장을 수행한다(S633A, S633B). 이후 각 제어기는 펌웨어 업데이트가 성공적으로 수행되면 업데이트 결과를 펌웨어 통합 관리 장치로 회신할 수 있다(S635A, S635B). 그에 따라 펌웨어 통합 관리 장치는 통합 펌웨어 전체에 대한 리프로그래밍 결과를 진단기로 전달할 수 있다(S637).
도 6과 같은 절차를 통해 리프로그래핑이 완료되면, 펌웨어 통합 관리 장치는 리프로그래밍에 대한 사후 검증 및 복구 또한 수행할 수 있다. 이를 도 7을 참조하여 설명한다.
도 7은 본 발명의 일 실시예에 따른 펌웨어 통합 관리 장치에서 개별 제어기에 설치된 펌웨어의 무결성 검사 및 펌웨어 복구가 수행되는 과정의 일례를 나타내는 순서도이다.
도 7을 참조하면, 펌웨어 업데이트 후 펌웨어 통합 관리 장치에서 수행되는 관리 기능은 크게 펌웨어 무결성 체크 기능(S710)과 펌웨어 복구를 위한 리프로그래밍(S720)으로 구분될 수 있다.
먼저, 무결성 체크 기능(S710)은 다음과 같이 수행될 수 있다.
먼저 펌웨어 통합 관리 장치는 난수를 생성하고(S711), 이를 체크 대상 제어기로 전달한다(S712). 펌웨어 통합 관리 장치는 난수, 펌웨어 및 해당 제어기에 대한 암호화 키를 이용하여 MAC 연산을 수행하며(S713A), 대상 제어기도 전달받은 난수, 펌웨어 업데이트시 수신한 암호화 키 및 자신에 설치된 펌웨어를 이용하여 MAC 연산을 수행할 수 있다(S713B). 대상 제어기는 연산 결과로 생성된 MAC 값을 펌웨어 통합 관리 장치로 전송하며(S714), 펌웨어 통합 관리 장치에서는 수신된 MAC 값이 자신이 생성한 MAC 값과 동일한지 여부를 비교하고, 동일하면 대상 제어기의 펌웨어에 무결성 문제가 없는 것으로 판단하며, 그렇지 않은 경우 복구 절차(S720)로 진행하게 된다(S715).
상술한 무결성 체크 기능은 소정 주기(시간 또는 주행거리 기반 등)로 수행될 수도 있고, 이벤트 기반(예컨대 시동이 켜지는 경우 등)으로 수행될 수도 있다. 또한, 제어기별로 서로 다른 주기나 이벤트 조건에 따라 트리거될 수도 있다.
다음으로 복구를 위한 펌웨어 리프로그래밍(S720)을 설명한다.
펌웨어 무결성에 문제가 있는 경우(즉, MAC 값이 상이한 경우), 펌웨어 통합 관리 장치는 자신에 백업된 암호화된 펌웨어 및 암호화 키 중 무결성에 문제가 있는 제어기에 대응되는 펌웨어를 판별하고(S721), 암호화된 펌웨어를 해당 제어기에 전송한다(S723). 제어기는 암호화된 펌웨어 데이터를 기 저장된 암호화 키를 이용하여 복호화한 후 리프로그래밍을 수행하여 펌웨어를 복구한다(S725). 해당 제어기는 펌웨어 복구가 성공적으로 완료되면 리프로그래밍 결과 정보를 펌웨어 통합 관리 장치로 전달할 수 있다(S727). 펌웨어 통합 관리 장치는 리프로그래밍 결과를 재확인하기 위하여 전술한 펌웨어 무결성 체크 과정(S710)을 재수행할 수 있다(S729).
도 7에서는 비록 하나의 제어기에 대한 펌웨어 무결성 체크 및 복구 과정이 개시되었으나, 펌웨어 통합 관리 장치에서 펌웨어 및 암호화 키를 관리 중인 제어기에 대해서는 그 개수와 관계없이 개별 제어기의 적어도 일부 또는 전체에 대하여 수행될 수 있음은 물론이다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (19)

  1. 게이트웨이에서 진단기를 인증하는 단계;
    상기 인증을 마친 상기 진단기로부터 복수의 대상 제어기 각각에 대응되는 복수의 펌웨어를 포함하는 통합 펌웨어를 펌웨어 통합 관리 장치에서 수신하는 단계;
    상기 펌웨어 통합 관리 장치에서 상기 통합 펌웨어를 인증하는 단계;
    상기 펌웨어 통합 관리 장치에서 상기 통합 펌웨어에 포함된 복수의 펌웨어 각각을 암호화하여 저장하는 단계; 및
    상기 펌웨어 통합 관리 장치에서 상기 복수의 대상 제어기 각각에 대응되는 암호화 키를 생성하는 단계를 포함하되,
    상기 암호화하여 저장하는 단계는,
    상기 복수의 펌웨어 각각을 대응되는 상기 암호화키로 암호화하여 저장하는 단계를 포함하는, 차량의 리프로그래밍 방법.
  2. 제 1항에 있어서,
    상기 통합 펌웨어는,
    상기 복수의 펌웨어 전체에 대한 하나의 인증 정보를 포함하는, 차량의 리프로그래밍 방법.
  3. 제 2항에 있어서,
    상기 통합 펌웨어는,
    상기 진단기를 통해 업데이트 메시지 형태로 전송되고,
    상기 업데이트 메시지는 헤더를 포함하는, 차량의 리프로그래밍 방법.
  4. 제 3항에 있어서,
    상기 헤더는,
    헤더 버전, 통합 펌웨어 식별 정보, 상기 복수의 펌웨어의 개수를 나타내는 펌웨어 개수 정보, 펌웨어별 대응 제어기 식별자 정보, 메시지 길이 정보, 개별 펌웨어 버전 정보 중 적어도 하나를 포함하는, 차량의 리프로그래밍 방법.
  5. 제 1항에 있어서,
    상기 복수의 펌웨어 각각에 대응되는 제어기에 대한 암호화 키는 상기 펌웨어 통합 관리 장치의 보안 모듈 내에 저장되는, 차량의 리프로그래밍 방법.
  6. 제 1항에 있어서,
    상기 펌웨어 통합 관리 장치에서 상기 복수의 대상 제어기 각각에 상기 복수의 펌웨어 중 해당하는 펌웨어와 해당하는 암호화 키를 전송하는 단계를 더 포함하는, 차량의 리프로그래밍 방법.
  7. 제 6항에 있어서,
    상기 복수의 대상 제어기 각각에서 자신에 전송된 상기 펌웨어가 암호화된 경우, 자신에 전송된 상기 암호화 키를 이용하여 상기 암호화된 펌웨어를 복호화한 후 리프로그래밍을 수행하는 단계를 더 포함하는, 차량의 리프로그래밍 방법.
  8. 제 6항에 있어서,
    상기 펌웨어 통합 관리 장치에서 주기적으로 상기 복수의 대상 제어기 각각의 펌웨어 무결성 체크를 수행하는 단계를 더 포함하는, 차량의 리프로그래밍 방법.
  9. 제 8항에 있어서,
    상기 펌웨어 통합 관리 장치에서 상기 복수의 대상 제어기 중 상기 펌웨어 무결성 체크에 문제가 있는 제어기로, 상기 암호화된 복수의 펌웨어 중 상기 문제가 있는 제어기에 해당하는 펌웨어를 재전송하는 단계를 더 포함하는, 차량의 리프로그래밍 방법.
  10. 제 1항 내지 제 9항 중 어느 한 항에 따른 펌웨어 통합 관리 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능 기록 매체.
  11. 복수의 제어기;
    진단기를 인증하는 게이트웨이; 및
    상기 게이트웨이와 인증을 마친 상기 진단기로부터 상기 복수의 제어기 중 복수의 대상 제어기 각각에 대응되는 복수의 펌웨어를 포함하는 통합 펌웨어를 수신하면, 상기 통합 펌웨어를 인증하고 상기 통합 펌웨어에 포함된 복수의 펌웨어 각각을 암호화하여 저장하는 펌웨어 통합 관리 장치를 포함하되,
    상기 펌웨어 통합 관리 장치는,
    상기 복수의 대상 제어기 각각에 대응되는 암호화 키를 생성하고, 상기 복수의 펌웨어 각각을 대응되는 상기 암호화키로 암호화하여 저장하는, 차량.
  12. 제 11항에 있어서,
    상기 통합 펌웨어는,
    상기 복수의 펌웨어 전체에 대한 하나의 인증 정보를 포함하는, 차량.
  13. 제 12항에 있어서,
    상기 통합 펌웨어는,
    상기 진단기를 통해 업데이트 메시지 형태로 전송되고,
    상기 업데이트 메시지는 헤더를 포함하는, 차량.
  14. 제 13항에 있어서,
    상기 헤더는,
    헤더 버전, 통합 펌웨어 식별 정보, 상기 복수의 펌웨어의 개수를 나타내는 펌웨어 개수 정보, 펌웨어별 대응 제어기 식별자 정보, 메시지 길이 정보, 개별 펌웨어 버전 정보 중 적어도 하나를 포함하는, 차량.
  15. 제 11항에 있어서,
    상기 복수의 펌웨어 각각에 대응되는 제어기에 대한 암호화 키는 상기 펌웨어 통합 관리 장치의 보안 모듈 내에 저장되는, 차량.
  16. 제 11항에 있어서,
    상기 펌웨어 통합 관리 장치는,
    상기 복수의 대상 제어기 각각에 상기 복수의 펌웨어 중 해당하는 펌웨어와 해당하는 암호화 키를 전송하는, 차량.
  17. 제 16항에 있어서,
    상기 복수의 대상 제어기 각각은,
    자신에 전송된 상기 펌웨어가 암호화된 경우, 자신에 전송된 상기 암호화 키를 이용하여 상기 암호화된 펌웨어를 복호화한 후 리프로그래밍을 수행하는, 차량.
  18. 제 16항에 있어서,
    상기 펌웨어 통합 관리 장치는,
    주기적으로 상기 복수의 대상 제어기 각각의 펌웨어 무결성 체크를 수행하는, 차량.
  19. 제 18항에 있어서,
    상기 펌웨어 통합 관리 장치는,
    상기 복수의 대상 제어기 중 상기 펌웨어 무결성 체크에 문제가 있는 제어기로 상기 암호화된 복수의 펌웨어 중 상기 문제가 있는 제어기에 해당하는 펌웨어를 재전송하는, 차량.
KR1020170096914A 2017-07-31 2017-07-31 효율적인 차량용 리프로그래밍 장치 및 그 제어방법 KR102368606B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170096914A KR102368606B1 (ko) 2017-07-31 2017-07-31 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
US15/825,978 US11182485B2 (en) 2017-07-31 2017-11-29 In-vehicle apparatus for efficient reprogramming and controlling method thereof
CN201711283780.5A CN109324589A (zh) 2017-07-31 2017-12-07 用于有效重新编程的车载装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170096914A KR102368606B1 (ko) 2017-07-31 2017-07-31 효율적인 차량용 리프로그래밍 장치 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20190013018A true KR20190013018A (ko) 2019-02-11
KR102368606B1 KR102368606B1 (ko) 2022-03-02

Family

ID=65038807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170096914A KR102368606B1 (ko) 2017-07-31 2017-07-31 효율적인 차량용 리프로그래밍 장치 및 그 제어방법

Country Status (3)

Country Link
US (1) US11182485B2 (ko)
KR (1) KR102368606B1 (ko)
CN (1) CN109324589A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200012489A1 (en) * 2018-07-06 2020-01-09 Seagate Technology Llc Combined file firmware upgrade
CN113138775B (zh) * 2020-01-20 2022-11-18 上海交通大学 车载诊断系统固件保护方法及系统
CN111880824A (zh) * 2020-07-24 2020-11-03 欧姆龙(上海)有限公司 固件数据的校验设备和方法、固件更新设备和方法及系统
US20220365788A1 (en) * 2021-05-14 2022-11-17 Samsung Electronics Co., Ltd. Automotive image sensor, image processing system including the same and operating method thereof
CN115828273B (zh) * 2021-11-29 2024-03-29 宁德时代新能源科技股份有限公司 车辆安全启动方法、装置,电子控制单元及存储介质
CN114326679B (zh) * 2021-12-30 2023-07-18 深蓝汽车科技有限公司 一种基于一版集成软件刷写控制器的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527779B1 (ko) * 2014-01-13 2015-06-10 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
US20170134164A1 (en) * 2014-11-12 2017-05-11 Panasonic Intellectual Property Corporation Of America Update management method, update management system, and non-transitory recording medium
US20170192770A1 (en) * 2015-09-14 2017-07-06 Panasonic Intellectual Property Corporation Of America Gateway device, in-vehicle network system, and firmware update method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060111759A (ko) 2005-04-25 2006-10-30 엘지전자 주식회사 오디오 펌웨어 업데이트가 용이한 텔레메틱스 단말기 및텔레메틱스 단말기 상에서 오디오 펌웨어를 업데이트하는방법
KR100675646B1 (ko) 2006-09-14 2007-01-30 (주)대성정보 차량용 디브이알의 프로그램, 데이터 및 설정 값의업데이트 장치 및 방법
KR20080082868A (ko) 2007-03-09 2008-09-12 (주)하이게인안테나 교통 정보 통신용 차량 탑재 단말기
KR101569942B1 (ko) * 2007-04-23 2015-11-17 톰슨 라이센싱 네트워크에서 소프트웨어 다운로드하기 위한 방법 및 장치
KR100872849B1 (ko) 2007-08-21 2008-12-10 (주)컴아트시스템 자동 펌웨어 업그레이드 차량용 디브이알 장치와 차량에설치되는 디지털 장비의 연동 시스템 및 그 방법
KR101328167B1 (ko) 2009-12-04 2013-11-13 한국전자통신연구원 차량의 소프트웨어 플랫폼 검증 방법 및 그 시스템
EP2423887A1 (de) 2010-08-26 2012-02-29 OBD Tuning GmbH Portable Vorrichtung zur Veränderung von Betriebsparameterwerten und/oder Firmware von elektronischen Steuerungseinrichtungen von Kraftfahrzeugen
US9418229B2 (en) * 2013-10-28 2016-08-16 Disney Enterprises, Inc. Firmware security
KR20150074414A (ko) * 2013-12-24 2015-07-02 현대자동차주식회사 펌웨어 업그레이드 방법 및 그 시스템
DE102014200089A1 (de) 2014-01-08 2015-07-09 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Programmieren von mehreren Steuergeräten
US9436456B2 (en) * 2014-04-17 2016-09-06 Myine Electronics, Inc. System and method for management of software updates at a vehicle computing system
KR20150136350A (ko) 2014-05-27 2015-12-07 김용기 이동통신단말기의 펌웨어 애플리케이션과 유심칩을 연동한 영상데이터 제어 및 차량제어 융합 시스템 블랙박스
US9215228B1 (en) * 2014-06-17 2015-12-15 Cisco Technology, Inc. Authentication of devices having unequal capabilities
US9722781B2 (en) * 2014-07-09 2017-08-01 Livio, Inc. Vehicle software update verification
US9380044B2 (en) * 2014-09-10 2016-06-28 Cisco Technology, Inc. Supporting differentiated secure communications among heterogeneous electronic devices
US20160099806A1 (en) * 2014-10-07 2016-04-07 GM Global Technology Operations LLC Distributing secret keys for managing access to ecus
KR101619645B1 (ko) 2014-11-20 2016-05-18 현대자동차주식회사 차량의 펌웨어 업데이트 시스템 및 방법
JP6079768B2 (ja) * 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
US11397801B2 (en) * 2015-09-25 2022-07-26 Argus Cyber Security Ltd. System and method for controlling access to an in-vehicle communication network
US10218702B2 (en) * 2015-11-09 2019-02-26 Silvercar, Inc. Vehicle access systems and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527779B1 (ko) * 2014-01-13 2015-06-10 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
US20170134164A1 (en) * 2014-11-12 2017-05-11 Panasonic Intellectual Property Corporation Of America Update management method, update management system, and non-transitory recording medium
US20170192770A1 (en) * 2015-09-14 2017-07-06 Panasonic Intellectual Property Corporation Of America Gateway device, in-vehicle network system, and firmware update method

Also Published As

Publication number Publication date
US11182485B2 (en) 2021-11-23
US20190034637A1 (en) 2019-01-31
KR102368606B1 (ko) 2022-03-02
CN109324589A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
KR102368606B1 (ko) 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
US11283601B2 (en) Update management method, update management system, and non-transitory recording medium
US10924271B2 (en) Vehicle access systems and methods
JP5949732B2 (ja) プログラム更新システム及びプログラム更新方法
JP6741559B2 (ja) 評価装置、評価システム及び評価方法
KR102639075B1 (ko) 차량용 진단기 및 그 인증서 관리 방법
CN112532574A (zh) 车辆数据验证
GB2561689A (en) End-to-end vehicle secure ECU unlock in a semi-offline environment
US9767264B2 (en) Apparatus, method for controlling apparatus, and program
TW201735578A (zh) 受控的安全碼認證
US11728987B2 (en) Secure vehicular part communication
KR102450811B1 (ko) 차량 내부 네트워크의 키 관리 시스템
CN114095298A (zh) 一种管理控制器局域网中模块间安全通信的系统及方法
CN210136494U (zh) 片上系统
US20200313898A1 (en) Secure device communication
JP2016134671A (ja) データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
CN112153646A (zh) 认证方法、设备及系统
JP2023518402A (ja) 証明書リスト更新方法および装置
JP2020048203A (ja) 更新管理方法、更新管理装置及び制御プログラム
KR20160093764A (ko) Otp rom을 활용하는 ecu 보안 통신 시스템
US20220019669A1 (en) Information processing device
KR102649908B1 (ko) 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체
CN111226214B (zh) 用于确认密码密钥的系统和方法
US20240020386A1 (en) Control apparatus
CN116346398A (zh) 安全汽车系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant