KR102680666B1 - 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체 - Google Patents

차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체 Download PDF

Info

Publication number
KR102680666B1
KR102680666B1 KR1020227029527A KR20227029527A KR102680666B1 KR 102680666 B1 KR102680666 B1 KR 102680666B1 KR 1020227029527 A KR1020227029527 A KR 1020227029527A KR 20227029527 A KR20227029527 A KR 20227029527A KR 102680666 B1 KR102680666 B1 KR 102680666B1
Authority
KR
South Korea
Prior art keywords
firmware
hash value
vehicle
public key
electronic control
Prior art date
Application number
KR1020227029527A
Other languages
English (en)
Other versions
KR20230081988A (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 컨템포러리 엠퍼렉스 테크놀로지 씨오., 리미티드
Publication of KR20230081988A publication Critical patent/KR20230081988A/ko
Application granted granted Critical
Publication of KR102680666B1 publication Critical patent/KR102680666B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • B60R25/24Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
    • B60R25/248Electronic key extraction prevention
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/01Fittings or systems for preventing or indicating unauthorised use or theft of vehicles operating on vehicle systems or fittings, e.g. on doors, seats or windscreens
    • B60R25/04Fittings or systems for preventing or indicating unauthorised use or theft of vehicles operating on vehicle systems or fittings, e.g. on doors, seats or windscreens operating on the propulsion system, e.g. engine or drive motor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • B60R25/209Remote starting of engine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • B60R25/20Means to switch the anti-theft system on or off
    • B60R25/24Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
    • B60R25/246Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user characterised by the challenge triggering
    • 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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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
    • 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/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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

본 출원은 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체를 제공한다. 이 방법은, 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘, 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 단계; 및 제1 서명값을 저장된 제2 서명값과 비교하여, 제1 서명값과 제2 서명값이 동일할 경우, 차량이 보안 시동하도록 제어하는 단계;를 포함한다. 이와 같이, 대칭키는 전자 제어 유닛에 의해 생성되도록 할 수 있고, 나아가 대칭키가 전자 제어 유닛의 외부에서 전송되는 과정에서 유출되는 문제점을 피할 수 있으며, 또한 대칭키는 수신된 펌웨어에 따라 전자 제어 유닛에 의해 랜덤하게 생성된 것이므로 전자 제어 유닛의 제조 업체가 대칭키를 관리하기 위해 많은 인력과 물적 자원을 투입할 필요는 없다.

Description

차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체
본 출원은 차량 제어 기술분야에 관한 것으로, 구체적으로는, 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체에 관한 것이다.
차량의 보안 시동은 주로 시스템 소프트웨어의 무결성과 신뢰성을 보장하고 시스템의 중요한 이미지 파일이 손상되거나 교체되는 것을 방지하는 데 사용된다.
현재 주류가 된 보안 검증 방법은 대칭 암호화 알고리즘을 활용하고 있다. 대칭 암호화 알고리즘의 구체적인 프로세스는, 전자 제어 유닛(Electronic Control Unit, ECU)의 전원을 켠 후, 저장된 대칭키를 이용하여 펌웨어에 서명하여 임시 서명값을 획득하고, 그 다음 임시 서명값이 저장된 펌웨어 서명값과 일치하는지 비교하여, 일치하면 차량이 보안 시동하도록 제어한다. 본 발명자는, 전자 제어 유닛에 저장된 대칭키가 호스트 컴퓨터를 통해 전송된 것으로 호스트 컴퓨터에서 대칭키를 전송하는 과정에서 대칭키가 유출될 위험이 높아지고, 만약 대칭키가 유출되면, 보안 시동 기능이 해커에 의해 공격을 쉽게 받으며, 또한, 이 방식은 전자 제어 유닛의 제조 업체가 대칭키를 관리하기 위해 많은 인력과 물적 자원을 투입해야 한다는 것을 실제 연구에서 발견하였다.
본 출원의 실시예의 일 목적은 대칭키의 유출 및 대칭키의 관리 문제점을 해결하기 위한 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체를 제공하는 것이다.
상술한 기술적 과제를 달성하기 위한 본 발명의 기술적 해결방법은 다음과 같다:
제1 측면에 있어서, 본 출원의 실시예는, 차량의 전자 제어 유닛에 적용되는 차량 보안 시동 방법에 있어서, 상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘, 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 단계; 및 상기 제1 서명값을, 상기 펌웨어가 처음 수신될 때 상기 기설정된 대칭 암호 알고리즘 및 상기 대칭키를 기반으로 암호화를 수행하여 생성되고 저장된 제2 서명값과 비교하여, 상기 제1 서명값과 상기 제2 서명값이 동일할 경우, 상기 차량이 보안 시동하도록 제어하는 단계;를 포함하는, 차량 보안 시동 방법을 제공한다.
본 출원의 실시예에 있어서, 전자 제어 유닛에는 난수 생성 알고리즘이 구성되며, 전자 제어 유닛이 처음 펌웨어를 수신할 때(예: 제조 업체에서의 구성 과정), 난수 생성 알고리즘이 트리거되어 나아가 랜덤하게 생성된 대칭키를 생성하고, 생성된 대칭키는 차후의 차량의 보안 시동 제어를 위해 저장되며, 이로써, 대칭키가 전자 제어 유닛에 의해 생성되도록 할 수 있고, 나아가 대칭키가 전자 제어 유닛의 외부에서 전송되는 과정에서 유출되는 문제점을 피할수 있으며, 또한 대칭키는 수신된 펌웨어에 따라 전자 제어 유닛에 의해 랜덤하게 생성된 것이므로, 전자 제어 유닛의 제조 업체가 대칭키를 관리하기 위해 많은 인력과 물적 자원을 투입할 필요는 없다.
상술한 제1 측면에서 제공된 기술적 해결방법에 따르면, 일부 가능한 구현예에 있어서, 상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘 및 대칭키를 기반으로, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 단계 이전에, 상기 밥법은, 상기 차량의 전원을 켜고 호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어를 수신하되, 상기 업데이트 대상 펌웨어가 보안 펌웨어인 경우, 상기 기설정된 대칭 암호화 알고리즘과 상기 대칭키를 기반으로 상기 업데이트 대상 펌웨어에 서명하여 상기 제2 서명값을 획득하고 저장하며, 그리고 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하는 단계를; 더 포함하고, 여기서, 저장된 상기 업데이트 대상 펌웨어는 제1 펌웨어이다.
본 출원의 실시예에 있어서, 업데이트 대상 펌웨어가 보안 펌웨어라고 판정하는 경우에만 서명값의 업데이트가 트리거됨으로써, 시동 시 자동차의 보안성을 더욱 향상시키고 악성 펌웨어에 의해 차량이 펌웨어 업데이트를 수행하도록 트리거된 것을 피할 수 있다.
상술한 제1 측면에서 제공된 기술적 해결방법에 따르면, 일부 가능한 구현예에 있어서, 상기 전자 제어 유닛에 기설정된 공개키의 해시값이 미리 저장되어 있고, 아래와 같은 단계를 거쳐 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어임을 판정할 수 있다:
상기 호스트 컴퓨터로부터 전송된 상기 업데이트 대상 펌웨어, 타겟 서명값 및 타겟 공개키를 수신하는 단계;
상기 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득하는 단계;
상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 타겟 공개키를 기반으로 상기 타겟 서명값을 복호화하여 제2 해시값을 획득하는 단계; 여기서, 상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 타겟 공개키가 상기 기설정된 공개키와 동일함을 나타내고, 상기 제2 해시값은 해시 알고리즘에 의해 타겟 펌웨어를 계산하여 획득된 것이며, 상기 타겟 서명값은 상기 기설정된 공개키에 대응하는 개인키를 통해 상기 제2 해시값을 암호화하여 획득된 것이고;
상기 업데이트 대상 펌웨어의 해시값을 계산하여 제3 해시값을 획득하는 단계; 및
상기 제3 해시값이 상기 제2 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어라고 판정하는 단계, 여기서, 상기 제2 해시값이 상기 제3 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 타겟 펌웨어와 동일함을 나태낸다.
본 출원의 실시예에 있어서, 펌웨어의 보안성은 비대칭 암호화 알고리즘에 의해 검증됨으로써(호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어 및 공개키가 동시에 검증됨), 펌웨어가 해킹에 의해 공격을 받아 보안 시동을 위한 제2 서명값을 업데이트할 위험을 줄일 수 있어 시동 시 차량의 보안성을 더욱 향상시킬 수 있다.
상술한 제1 측면에서 제공된 기술적 해결방법에 따르면, 일부 가능한 구현예에 있어서, 상기 전자 제어 유닛에 기설정된 공개키의 해시값이 미리 저장되어 있고, 상기 업데이트 대상 펌웨어 및 타겟 공개키를 획득하는 단계; 상기 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득하는 단계; 및 상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어라고 판정하는 단계;를 거쳐 상기 업데이트 대상 펌웨어가 보안 펌웨어라고 판정할 수 있다.
본 출원의 실시예에 있어서, 공개키의 보안성은 비대칭 암호화 알고리즘에 의해 검증됨으로써, 호스트 컴퓨터로부터 전송된 공개키의 합법성을 판정하고, 나아가 시동 시 차량의 보안성을 어느 정도로 향상시켜 불법적인 공개키에 의해 차량이 펌웨어 업데이트를 수행하도록 트리거된 것을 피할 수 있다. 이와 함께 이 방식은 전자 제어 유닛의 처리 성능에 대한 요구를 낮출 수도 있다.
상술한 제1 측면에서 제공된 기술적 해결방법에 따르면, 일부 가능한 구현예에 있어서, 상기 전자 제어 유닛은 프로세서를 포함하며, 상기 프로세서에 하드웨어 보안 모듈이 내장되고, 상기 기설정된 대칭 암호화 알고리즘은 상기 하드웨어 보안 모듈에 저장되어 있으며, 상기 제2 서명값을 저장하고 그리고 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하는 단계는, 상기 제2 서명값을 상기 하드웨어 보안 모듈에 저장하는 단계, 및 상기 하드웨어 보안 모듈에 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하는 단계;를 포함한다.
본 출원의 실시예에 있어서, 전자 제어 유닛의 프로세서에 하드웨어 보안 모듈이 내장되며, 하드웨어 보안 모듈의 저장 영역의 보안 레벨이 일반 저장 유닛의 보안 레벨보다 높기 때문에, 제2 서명값, 업데이트 대상 펌웨어 및 대칭키를 하드웨어 보안 모듈에 저장함으로써, 데이터 저장을 보다 안전하게 할 수 있다.
상술한 제1 측면에서 제공된 기술적 해결방법에 따르면, 일부 가능한 구현예에 있어서, 상기 기설정된 암호화 알고리즘은 AES-CMAC 알고리즘이다.
제2 측면에 있어서, 본 출원의 실시예는, 전자 제어 유닛에 적용되는 차량 보안 시동 장치를 제공할 수 있다. 상기 장치는, 상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 서명 모듈; 및 상기 제1 서명값을, 상기 펌웨어가 처음 수신될 때 상기 기설정된 대칭 암호 알고리즘 및 상기 대칭키를 기반으로 암호화를 수행하여 생성되고 저장된 제2 서명값과 비교하여, 상기 제1 서명값과 상기 제2 서명값이 동일할 경우, 상기 차량이 보안 시동하도록 제어하는 제어 모듈;을 포함할 수 있다.
제3 측면에 있어서, 본 출원의 실시예는, 프로세서; 및 상기 프로세서와 연결된 메모리;를 포함하며, 상기 메모리는 프로그램을 저장하는 데 사용되고, 상기 프로세서는 상술한 제1 측면의 실시예 및/또는 상술한 제1 측면의 실시예에 따른 일부 가능한 구현예에 따른 방법을 수행하도록 상기 메모리에 저장된 프로그램을 실행하는 데 사용되는, 전자 제어 유닛을 제공한다.
상술한 제1 측면에서 제공된 기술적 해결방법에 따르면, 일부 가능한 구현예에 있어서, 상기 프로세서에 하드웨어 보안 모듈이 내장되고, 상기 기설정된 대칭 암호화 알고리즘, 상기 제2 서명값, 상기 제1 펌웨어 및 상기 대칭키는 상기 하드웨어 보안 모듈에 저장되어 있다.
제4 측면에 있어서, 본 출원의 실시예는, 컴퓨터에 의해 실행되면 상술한 제1 측면의 실시예 및/또는 상술한 제1 측면의 실시예에 따른 일부 가능한 구현예에 따른 방법을 수행하도록 구성된 컴퓨터 프로그램이 저장되어 있는, 컴퓨터 판독 가능 저장 매체를 제공한다.
본 출원의 실시예에 있어서, 전자 제어 유닛에는 난수 생성 알고리즘이 구성되며, 전자 제어 유닛이 처음 펌웨어를 수신할 때(예: 제조 업체에서의 구성 과정), 난수 생성 알고리즘이 트리거되어 나아가 랜덤하게 생성된 대칭키를 생성하고, 생성된 대칭키는 차후의 차량의 보안 시동 제어를 위해 저장되며, 이로써, 대칭키가 전자 제어 유닛에 의해 생성되도록 할 수 있고, 나아가 대칭키가 전자 제어 유닛의 외부에서 전송되는 과정에서 유출되는 문제점을 피할수 있으며, 또한 대칭키는 수신된 펌웨어에 따라 전자 제어 유닛에 의해 랜덤하게 생성된 것이므로, 전자 제어 유닛의 제조 업체가 대칭키를 관리하기 위해 많은 인력과 물적 자원을 투입할 필요는 없다.
다양한 다른 장점 및 이점은 하기와 같은 바람직한 구현예에 대한 상세한 설명으로부터 본 기술분야에서 통상의 지식을 가진 자에게 명백해질 것이다. 첨부 도면은 단지 바람직한 구현예를 예시하기 위한 것이며 본 출원을 제한하는 것으로 간주되어서는 안 된다. 그리고, 도면의 전반에 걸쳐 동일한 부분에 대해서 동일한 참조부호를 부여하였다. 도면에서:
도 1은 기존 기술에서 대칭키 기반 차량 보안 시동의 개략적인 흐름도이고,
도 2는 본 출원의 실시예에 따른 전자 제어 유닛의 모듈 블록도이며,
도 3은 본 출원의 실시예에 따른 차량 보안 시동 방법의 흐름도이고,
도 4는 본 출원의 실시예에 따른 다른 차량 보안 시동 방법의 흐름도이이며,
도 5는 본 출원의 실시예에 따른 업데이트 대상 펌웨어를 검증하는 흐름도이고,
도 6은 본 출원의 실시예에 따른 대칭키 기반 차량 보안 시동의 개략적인 흐름도이며,
도 7은 본 출원의 실시예에 따른 차량 안보 시동 장치의 모듈 블록도이다.
이하, 첨부된 도면을 참조하여 본 출원의 기술적 해결방법에 따른 실시예를 상세히 설명하기로 한다. 하기 실시예는 본 출원의 기술적 해결방법을 보다 명확하게 설명하기 위해 사용된 것일 뿐이며, 따라서 예로서만 사용되고 본 출원의 보호 범위를 제한하는 데 사용되어서는 안 된다.
본 문서에서 사용된 모든 기술적 및 과학적 용어는, 달리 정의되지 않는 한, 본 출원이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미를 가지며, 본 문서에서 사용된 용어는 단지 구체적인 실시예를 설명하기 위한 것이지, 본 출원을 한정하려는 의도가 아니고, 본 출원의 명세서, 청구범위 및 상기 도면의 간단한 설명에서 "포함하다"및 "가지다"라는 용어 및 이들의 임의의 변형은 비배타적인 포함을 포괄하려는 의도이다.
본 출원의 실시예를 설명함에 있어서, "제1", "제2"등의 기술적 용어는 단지 서로 다른 대상을 구별하기 위해 사용된 것으로, 상대적인 중요성을 나타내거나 암시하거나, 또는 언급된 기술 특징의 수, 특정 순서 또는 주종관계를 암시적으로 나타내는 것으로 이해되어서는 안 된다. 본 출원의 실시예를 설명함에 있어서, "복수개"는 달리 명시적으로 그리고 구체적으로 한정되지 않는 한, 2개 이상을 나타낸다.
본 문서에서 언급된 "실시예"는 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 출원의 적어도 하나의 실시예에 포함될 수 있음을 나타낸다. 명세서의 다양한 위치에 있는 문구는 반드시 모두 동일한 실시예를 지칭하는 것은 아니며, 다른 실시예와 상호 배타적인 별도의 또는 대안적인 실시예를 지칭하는 것은 아니다. 본 문서에서 설명된 실시예가 다른 실시예와 결합될 수 있다는 것은 본 기술분야에서 통상의 지식을 가진 자에 의해 명시적으로 그리고 묵시적으로 이해될 것이다.
본 출원의 실시예를 설명함에 있어서, "및/또는"이라는 용어는 관련 대상간의 연관 관계를 설명하기 위한 것으로 세 가지의 관계가 있을 수 있음을 나타내는 데, 예를 들어 A 및/또는 B는 A가 독립적으로 존재함, A 및 B가 동시 존재함, B가 독립적으로 존재함 등 세 가지 경우가 있음을 나타낸다. 또한, 본 문서에서 "/"문자는 일반적으로 관련 대상이 "또는"의 관계임을 나타낸다.
본 출원의 실시예를 설명함에 있어서, "복수개"라는 용어는 2개 이상(2개 포함)을 나타내고, 유사하게는 "복수 그룹"은 2그룹 이상(2그룹 포함)을 나타내고, "복수 시트"는 2시트 이상(2시트 포함)을 나타낸다.
도 1을 참조하면, 도 1은 기존 기술에서 대칭키 기반 차량 보안 시동의 개략적인 흐름도이다.
이하, 기존의 대칭키 기반 차량 보안 시동의 과정을 설명하기로 한다.
먼저, 신뢰 체인 구축:
단계S1: 보안 개발 환경에서 대칭키를 생성한다.
단계S2: 기설정된 대칭 암호화 알고리즘과 대칭키를 사용하여 펌웨어의 서명값을 계산하고, sign 1로 표시한다.
단계S3: 서명값(sign 1), 대칭키 및 펌웨어를 호스트 컴퓨터를 통해 전자 제어 유닛에 전송한다.
상기 신뢰 체인의 구축은 제조 업체가 전자 제어 유닛을 제조할 때의 구성 과정에서 일어날 수 있거나 전자 제어 유닛의 후속 펌웨어 업그레이드 과정에서 일어날 수 있음에 유의해햐 한다.
차량 보안 시동 과정:
단계S4: 차량의 전원을 켠 후 전자 제어 유닛은 기설정된 암호화 알고리즘과 대칭키에 기반하여 펌웨어에 서명하고, sign 2로 표시한다.
단계S5: 전자 제어 유닛은 서명값(sign 1)과 서명값(sign 2)를 비교하여, 양자가 같으면 검증에 통과하고 그렇지 않으면 검증에 실패하여 차량 시동이 금지되게 한다.
본 발명자는, 전자 제어 유닛에 저장된 대칭키가 호스트 컴퓨터를 통해 전송된 것으로, 호스트 컴퓨터가 대칭키를 전송하는 과정에서 대칭키가 유출될 위험이 높아지고, 만약 대칭키가 유출되면 보안 시동 기능이 해커에 의해 쉽게 손상된다는 것을 실제 연구를 통해 발견하였다.
또한, 이 방식은 제조 업체와 전자 제어 유닛 사이에 하나의 대칭키를 공유할 필요가 있으므로, 필연적으로 제조 업체의 대칭키 관리를 수반하며, 자동차 산업이 발전됨에 따라 정보 보안을 위해 서로 다른 자동차 브랜드 및 서로 다른 자동차 모델은 모두 서로 다른 대칭키를 필요로 하고, 이는 대칭키 관리의 어려움을 더욱 증가시키고 있다.
상기 문제점을 감안하여, 상기 문제점을 해결하기 위한 하기 실시예를 제안한다.
도 2를 참조하면, 도 2는 본 출원의 실시예에 따른 차량 보안 시동 방법 및 장치가 적용되는 전자 제어 유닛(100)의 개략적인 구조 블록도이다.
설명의 필요한 것은, 전자 제어 유닛(100)은 자동차의 "트립 컴퓨터"라고도 하며, 그의 용도는 차량의 주행 상태를 제어하고 그 다양한 기능을 구현하기 위해 사용된다.
구조적으로, 전자 제어 유닛(100)은 프로세서(110) 및 메모리(120)를 포함할 수 있다.
프로세서(110)와 메모리(120)는 데이터의 전송 또는 인터랙션을 구현하도록 직접 또는 간접적으로 전기적으로 연결되며, 예를 들어, 이들 구성요소 사이는 하나 또는 복수의 통신 버스 또는 신호선을 통해 서로 전기적으로 연결될 수 있다. 차량 보안 시동 장치는 소프트웨어 또는 펌웨어(Firmware)의 형태로 메모리(120)에 저장되거나 전자 제어 유닛(100)의 운영 체제(Operating System, OS)에 고정화될 수 있는 적어도 하나의 소프트웨어 모듈을 포함한다. 프로세서(110)는 메모리(120)에 저장된 실행 가능한 모듈, 예를 들어 차량 보안 시동 장치에 포함된 소프트웨어 기능 모듈 및 컴퓨터 프로그램을 실행하여 차량 보안 시동 방법을 구현하도록 할 수 있다. 프로세서(110)는 실행 명령어를 수신한 후 컴퓨터 프로그램을 실행할 수 있다.
여기서, 프로세서(110)는 신호 처리 능력을 갖는 집적회로 칩일 수 있다. 또한, 프로세서(110)는 범용 프로세서일 수도 있으며, 예를 들어, 중앙 처리 장치(Central Processing Unit, CPU), 마이크로컨트롤러 유닛(Microcontroller Unit, MCU), 디지털 신호 프로세서(Digital Signal Processor, DSP), ASIC(application specific integrated circuit), 별개의 게이트 또는 트랜지스터 로직 장치, 별개의 하드웨어 컴포넌트일 수 있고, 본 출원의 실시예에 개시된 각 방법, 단계 및 논리 블록도를 구현하거나 실행할 수 있다. 또한, 범용 프로세서는 마이크로프로세서 또는 임의의 통상적인 프로세서 등일 수 있다.
또한, 프로세서(110)에는 차량 보안 시동 기능을 구현하도록 하드웨어 보안 모듈(Hardware Security Module, HSM)도 내장될 수 있다.
메모리(120)는 RAM(Random Access Memory), ROM(Read Only Memory), PROM(Programmable Read-Only Memory), EPROM(Erasable Programmable Read-Only Memory) 및 EEPROM(Electrical Erasable Programmable Read-Only Memory)일 수 있으나 이에 한정되지 않는다. 메모리(120)에는 프로그램이 저장되어 있는 데, 프로세서(110)는 실행 명령어를 수신한 후 이 프로그램을 실행할 수 있다.
도 2에 도시된 구조는 단지 예시적인 것일 뿐이며, 본 출원의 실시예에 따른 전자 제어 유닛(100)은 도 2에 도시된 구성요소보다 더 적거나 더 많은 구성요소를 가지거나, 도 2에 도시된 것과 다른 구성을 가질 수 있음에 유의해야 한다. 또한, 도 2에 도시된 각 구성요소는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다.
도 3을 참조하면, 도 3은 본 출원의 실시예에 따른 차량 보안 시동 방법의 단계에 대한 흐름도로서, 이 방법은 도 2에 도시된 전자 제어 유닛(100)에 적용된다. 본 출원의 실시예에 따른 차량 보안 시동 방법은 도 3 및 이하에 설명된 순서에 한정되지 않음에 유의해야 하며, 이 방법은 단계S101 내지 단계S102를 포함한다.
단계S101: 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘, 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득한다.
전자 제어 유닛은 호스트 컴퓨터로부터 펌웨어를 수신하는 데 사용됨에 유의해야 한다. 전자 제어 유닛이 호스트 컴퓨터로부터 처음 펌웨어를 수신할 때(예: 제조 업체에서의 구성 과정), 전자 제어 유닛은 후속 보안 시동 제어를 위해 난수 생성 알고리즘에 기반하여 하나의 대칭키를 랜덤하게 생성할 수 있다.
전원을 켤 때 전자 제어 유닛은 호스트 컴퓨터로부터 전송된 펌웨어를 수신하지 않으면 차량 보안 시동에 대한 제어를 수행하고, 먼저, 기설정된 대칭 암호화 알고리즘과 대칭키를 기반으로, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득한다.
상술한 호스트 컴퓨터는 서버, 컴퓨터, 호스트 컴퓨터 소프트웨어, 제조 업체의 단말 장치 등을 의미할 수 있으며, 본 출원에서 이에 대해 제한하지 않는다.
본 출원의 실시예에 있어서, 기설정된 대칭 암호화 알고리즘은 AES-CMAC 알고리즘이며, 물론, 다른 실시예에 있어서, 기설정된 대칭 암호화 알고리즘은 HMAC(Hash-based Message Authentication Code) 등 대칭 암호화 알고리즘일 수도 있으며, 본 출원에서 이에 대해 제한하지 않는다. 상술한 대칭 암호화 알고리즘은 모두 당업계에 잘 알려진 알고리즘이므로, 본 출원에서는 더 이상 설명하지 않기로 한다.
단계S102: 제1 서명값을, 펌웨어가 처음 수신될 때 기설정된 대칭 암호 알고리즘 및 대칭키를 기반으로 암호화를 수행하여 생성되고 저장된 제2 서명값과 비교하여, 제1 서명값과 제2 서명값이 동일할 경우, 차량이 보안 시동하도록 제어한다.
그 다음 전자 제어 유닛은 전원을 켠 후 일시적으로 생성된 제1 서명값과 저장된 제2 서명값을 비교하여, 양자가 동일할 경우, 차량이 보안 시동하도록 제어한다. 양자가 동일하지 않을 경우, 검증에 실패하여 차량의 시동이 금지되게 한다.
제2 서명값은 전자 제어 유닛이 호스트 컴퓨터로부터 전송된 제1 펌웨어를 수신할 때 기설정된 대칭 암호화 알고리즘과 대칭키를 기반으로 제1 펌웨어를 암호화하여 생성된 것임에 유의해야 한다. 제2 서명값은 전자 제어 유닛에 저장되어 있다.
상기에서 알 수 있듯이, 본 출원의 실시예에 있어서, 전자 제어 유닛에는 난수 생성 알고리즘이 구성되며, 전자 제어 유닛이 처음 펌웨어를 수신할 때(예: 제조 업체에서의 구성 과정), 난수 생성 알고리즘이 트리거되어 나아가 랜덤하게 생성된 대칭키를 생성하고, 생성된 대칭키는 차후의 차량의 보안 시동 제어를 위해 저장되며, 이로써, 대칭키가 전자 제어 유닛에 의해 생성되도록 할 수 있고 나아가 대칭키가 전자 제어 유닛의 외부에서 전송되는 과정에서 유출되는 문제점을 피할수 있으며, 또한 대칭키는 수신된 펌웨어에 따라 전자 제어 유닛에 의해 랜덤하게 생성된 것이므로 전자 제어 유닛의 제조 업체가 대칭키를 관리하기 위해 많은 인력과 물적 자원을 투입할 필요는 없으면서 하나의 기계에 하나의 키만 있는 효과를 얻을 수 있다.
도 4를 참조하면, 선택적인 구현예로는, 전자 제어 유닛의 업데이트를 트리거하는 프로세스는 구체적으로 단계S201를 포함한다.
단계S201: 차량의 전원을 켜고 호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어를 수신하되 업데이트 대상 펌웨어가 보안 펌웨어인 경우, 기설정된 대칭 암호화 알고리즘과 대칭키를 기반으로 업데이트 대상 펌웨어에 서명하여 제2 서명값을 획득하고 저장하며, 그리고 가장 최근 저장된 펌웨어를 업데이트 대상 펌웨어로 교체하고, 여기서, 저장된 업데이트 대상 펌웨어는 제1 펌웨어이다.
차량의 펌웨어가 업그레이드해야 하는 경우, 호스트 컴퓨터는 차량의 전원을 켠 후 업데이트 대상 펌웨어를 전자 제어 유닛으로 전송한다. 펌웨어는 전자 제어 유닛이 전원을 처음 켤 때, 제조 업체가 호스트 컴퓨터를 통해 전자 제어 유닛에 기록된 것이다.
그 다음, 전자 제어 유닛은 기설정된 대칭 암호화 알고리즘 및 대칭키를 기반으로 업데이트 대상 펌웨어에 서명하여 제2 서명값을 획득한다. 마지막으로 제2 서명값, 업데이트 대상 펌웨어 및 대칭키를 저장한다. 이번에 저장된 업데이트 대상 펌웨어는 제1 펌웨어이다.
상기 실시예에 있어서, 업데이트 대상 펌웨어가 보안 펌웨어라고 판정하는 경우에만 서명값의 업데이트가 트리거됨으로써, 시동 시 자동차의 보안성을 더욱 향상시키고 악성 펌웨어에 의해 차량이 펌웨어 업데이트를 수행하도록 트리거된 것을 피할 수 있다.
기설정된 대칭 암호화 알고리즘은 전자 제어 유닛에 미리 구성된 것임에 유의해야 하고, 일 구현예로는, 전자 제어 유닛의 프로세서에 하드웨어 보안 모듈이 내장되어 있다. 기설정된 대칭 암호화 알고리즘은 하드웨어 보안 모듈에 구성된다. 이에 따라서, 전자 제어 유닛은 또한 제2 서명값, 업데이트 대상 펌웨어 및 대칭키를 하드웨어 보안 모듈에 저장할 수도 있다.
하드웨어 보안 모듈의 저장 영역의 보안 레벨이 일반 저장 유닛의 보안 레벨보다 높기 때문에, 제2 서명값, 업데이트 대상 펌웨어 및 대칭키를 하드웨어 보안 모듈에 저장함으로써, 데이터 저장을 보다 안전하게 만들 수 있다. 이와 함께, 내장형 하드웨어 보안 모듈을 사용함으로써, 프로세서의 구성 요구를 낮추고 차량 시동 시간을 줄일 수 있다. 업데이트 대상 펌웨어를 다시 수신할 때마다 가장 최근 저장된 펌웨어를 교체하여 수신된 업데이트 대상 펌웨어를 저장하도록 하는 점에 유의해야 한다.
도 5를 참조하면, 선택적으로, 일 구현예로는, 전자 제어 유닛에는 기설정된 공개키의 해시값이 미리 저장되어 있고, 여기서 기설정된 공개키는 합법적인 공개키이고, 업데이트 대상 펌웨어를 검증하는 단계는 단계S301 내지 단계S305를 포함할 수 있다.
단계S301: 호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어, 타겟 서명값 및 타겟 공개키를 수신한다.
호스트 컴퓨터가 차량의 펌웨어를 업데이트해야 할 때 먼저 타겟 펌웨어와 기설정된 비대칭키를 구성할 수 있고, 기설정된 비대칭키는 기설정된 공개키 및 이 기설정된 공개키에 대응하는 개인키를 포함하고, 이 타겟 펌웨어는 업데이트해야 할 펌웨어이다. 그 다음, 해시 알고리즘을 이용하여 타겟 펌웨어를 계산하여 제2 해시값을 획득하고, 그리고 기설정된 공개키에 대응하는 개인키를 기반으로 제2 해시값을 암호화하여 타겟 서명값을 획득한다.
전자 제어 유닛이 업데이트 대상 펌웨어, 타겟 서명값을 수신하는 과정 및 타겟 공개키에 대한 검증 과정은 업데이트 대상 펌웨어가 타겟 펌웨어인지, 및 타겟 공개키가 합법적인 공개키인지를 검증하는 것이다.
업데이트 대상 펌웨어가 타겟 펌웨어와 동일하면, 업데이트 대상 펌웨어가 안전함을 나타내고, 업데이트 대상 펌웨어가 타겟 펌웨어와 동일하지 않으면 업데이트 대상 펌웨어가 해커에 의해 변조된 펌웨어임을 나타낸다. 타겟 공개키가 기설정된 공개키와 동일하면, 타겟 공개키가 합법적인 공개키임을 나타내고, 그렇지 않으면 타겟 공개키가 불법적인 것임을 나타낸다.
단계S302: 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득한다.
전자 제어 유닛은 먼저 타겟 공개키를 검증하고 해시 알고리즘을 기반으로 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득한다.
단계S303: 제1 해시값이 기설정된 공개키의 해시값과 동일할 경우, 타겟 공개키를 기반으로 타겟 서명값을 복호화하여 제2 해시값을 획득한다.
제1 해시값이 기설정된 공개키의 해시값과 동일할 경우, 타겟 공개키가 기설정된 공개키와 동일하고 타겟 공개키가 합법적인 공개키임을 나타내며, 이때, 타겟 공개키에 대한 검증에 통과하고, 그 다음 타겟 공개키를 기반으로 타겟 서명값을 복호화하여 제2 해시값을 획득한다.
물론, 제1 해시값이 기설정된 공개키의 해시값과 동일하지 않을 경우, 타겟 공개키가 불법적인 공개키임을 나타내며, 이때, 후속 단계는 수행되지 않고 대칭키의 업데이트 및 서명값의 업데이트가 트리거되지 않는다.
단계S304: 업데이트 대상 펌웨어의 해시값을 계산하여 제3 해시값을 획득한다.
전자 제어 유닛은 업데이트 대상 펌웨어를 다시 검증하고, 해시 알고리즘을 기반으로 업데이트 대상 펌웨어의 해시값을 계산하여 제3 해시값을 획득한다.
단계S305: 제3 해시값이 제2 해시값과 동일할 경우, 업데이트 대상 펌웨어가 보안 펌웨어라고 판정한다.
여기서, 제2 해시값이 제3 해시값과 동일할 경우, 업데이트 대상 펌웨어와 타겟 펌웨어가 동일함을 나타내고, 즉 업데이트 대상 펌웨어가 해커에 의해 변조되지 않은 것이다. 반대로, 제3 해시값이 제2 해시값과 동일하지 않으면, 업데이트 대상 펌웨어가 해커에 의해 변조되었음을 나타내며 이때 대칭키의 업데이트 및 서명값의 업데이트는 트리거되지 않는다.
상기에서 알 수 있듯이, 본 출원의 실시예에 있어서, 펌웨어의 보안성은 비대칭 암호화 알고리즘에 의해 검증됨으로써(호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어 및 공개키가 동시에 검증됨), 펌웨어가 해킹에 의해 공격을 받아 보안 시동을 위한 제2 서명값을 업데이트할 위험을 줄일 수 있어 시동 시 차량의 보안성을 더욱 향상시킬 수 있다.
다른 구현예로는, 전자 제어 유닛에는 기설정된 공개키의 해시값이 미리 저장되어 있으며, 여기서 기설정된 공개키는 합법적인 공개키이고, 업데이트 대상 펌웨어를 검증하는 단계는, 업데이트 대상 펌웨어 및 타겟 공개키를 획득하는 단계; 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득하는 단계; 및 제1 해시값이 기설정된 공개키의 해시값과 동일할 경우, 업데이트 대상 펌웨어가 보안 펌웨어라고 판정하는 단계;를 포함할 수 있다.
이 방식은 타겟 공개키의 합법성만 검증하는 것임에 유의해야 하며, 타겟 공개키의 합법성에 대한 검증에 통과한 후 업데이트 대상 펌웨어가 보안 펌웨어라고 직접 판정함으로써, 시동 시 자동차의 보안성을 어느 정도로 향상시키고 불법적인 공개키에 의해 차량이 펌웨어 업데이트를 수행하도록 트리거된 것을 피할 수 있다. 이와 함께 이 방식은 전자 제어 유닛의 처리 압력을 줄일 수도 있다.
이하, 도 6을 참조하면, 완전한 예시를 참조로 본 출원의 실시예에 따른 차량 보안 시동 방법에 대해 설명하기로 한다.
먼저, 신뢰 체인 구축:
단계S1: 보안 개발 환경에서 하나의 기설정된 비대칭키를 생성하고, 기설정된 비대칭키는 기설정된 공개키 및 이 기설정된 공개키에 대응하는 개인키를 포함한다.
단계S2: 해시 알고리즘을 사용하여 타겟 펌웨어의 해시값을 계산하고, HASH 1로 표시한다.
단계S3: 해시 알고리즘을 사용하여 기설정된 공개키의 해시값을 계산하고, HASH 2로 표시한다.
단계S4: 이 기설정된 공개키에 대응하는 개인키를 이용하여 타겟 펌웨어의 해시값(HASH 1)을 암호화하여 타겟 서명값을 획득하고, Sign 1로 표시한다.
단계S5: 공개키의 해시값(HASH 2)를 전자 제어 유닛에 기록한다 (비대칭키의 공개키 유출은 전자 제어 유닛의 보안성에 영향을 미치지 않음).
단계S6: 전자 제어 유닛의 전원을 켠 후 먼저 부트로더(Bootloader)에 진입한다. 임베디드 운영 체제에서 부트로더는 운영 체제 커널이 실행되기 전에 실행되는 부트 프로그램임에 유의해야 한다. 시스템의 하드웨어 및 소프트웨어 환경을 적절한 상태로 가져오기 위해 하드웨어 장치를 초기화하고 메모리 공간 맵을 설정하며 운영 체제 커널의 최종 호출을 위한 올바른 환경을 준비할 수 있다.
단계S7: 부트로더는 호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어, 타겟 서명값 및 타겟 공개키를 수신한다.
단계S8: 부트로더는 타겟 공개키의 해시값을 계산하고, HASH 3으로 표시한다. 그 다음, HASH 3과 저장된 HASH 2가 같은지 비교하여, 같으면 타겟 공개키가 기설정된 공개키와 동일하고 타겟 공개키가 합법적인 공개키임을 나타내며, 이때, 타겟 공개키에 대한 검증에 통과하여, 단계S9를 수행한다. HASH 3이 저장된 HASH 2와 같지 않으면 타겟 공개키가 불법적인 공개키임을 나타내며, 이때 후속 처리가 수행되지 않는다.
단계S9: 부트로더는 타겟 공개키를 이용하여 대상 서명값을 복호화하여 타겟 펌웨어의 해시값(HASH 1)을 획득한다.
단계S10: 부트로더는 해시 알고리즘을 기반으로 업데이트 대상 펌웨어의 해시값(HASH 4)을 계산한다.
단계S11: 부트로더는 HASH 4와 HASH 1이 같은지 여부를 판단하여, 같으면 업데이트 대상 펌웨어가 해커에 의해 변조되지 않았고 업데이트 대상 펌웨어의 유래가 신뢰할 수 있으며, 이때 단계S12를 수행한다. 그렇지 않으면, 업데이트 대상 펌웨어가 해커에 의해 변조되었음을 나타내고, 이때 후속 처리가 수행되지 않는다.
단계S12: 부트로더는 난수 생성 알고리즘을 통해 하나의 대칭키를 생성하고 저장한다.
단계S12는 펌웨어가 처음 수신된 경우에만, 즉 제조 업체가 전자 제어 유닛을 제조하는 구성 과정에서 한 번만 수행된다는 점에 유의해야 한다. 후속 펌웨어의 업데이트는 단계S12를 생략하고 단계S13를 수행한다.
단계S13: 부트로더는 기설정된 대칭 암호화 알고리즘 및 대칭키를 기반으로 업데이트 대상 펌웨어를 계산하여 제2 서명값을 획득하고, Sign 2로 표시되며, 그리고 업데이트 대상 펌웨어와 제2 서명값을 저장한다. 이제까지 신뢰 체인 구축은 완료된다.
상기 신뢰 체인 구축 과정의 단계S1 내지 단계S5, 및 단계S12는 제조 업체가 전자 제어 유닛을 제조하는 구성 과정에서 발생한다는 점에 유의해야 한다. 단계S6 내지 단계S11, 및 단계S13는 제조 업체가 전자 제어 유닛을 제조하는 구성 과정에서, 예를 들어 제조 업체가 처음 펌웨어를 구성할 때에 발생할 수도 있고, 전자 제어 유닛의 후속 펌웨어의 업그레이드 과정에서, 예를 들어 제조 업체가 후속 펌웨어의 업그레이드 과정에서 발생할 수도 있다.
차량 보안 시동 과정:
단계S14: 차량의 전원을 다시 켠 후 전자 제어 유닛은 기설정된 암호화 알고리즘과 대칭키에 기반하여 저장된 펌웨어에 서명하고, sign 3으로 표시한다.
단계S15: 전자 제어 유닛은 서명값(sign 3)과 제2 서명값(sign 2)을 비교하여 양자가 같으면 검증에 통과하고 그렇지 않으면 검증에 실패하여 차량 시동이 금지되게 한다.
전자 제어 유닛이 새로운 업데이트 대상 펌웨어를 획득할 때마다 가장 최근의 펌웨어를 대체할 수 있으며, 현재 저장된 펌웨어가 제1 펌웨어이면, 업데이트 대상 펌웨어가 이후에 획득되는 경우, 제1 펌웨어를 삭제하고 획득된 업데이트 대상 펌웨어를 저장하고, 이때 업데이트 대상 펌웨어는 제2 펌웨어이며, 이런 방식으로 제3 펌웨어, 제4 펌웨어, 제5 펌웨어를 저장한다.
도 7을 참조하면, 동일한 발명 사상에 기초하여, 본 출원의 실시예는 서명 모듈(310) 및 제어 모듈(320)을 포함하는, 차량 보안 시동 장치(300)를 더 제공한다.
서명 모듈(310)은 상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘, 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득한다.
제어 모듈(320)은 상기 제1 서명값을, 상기 펌웨어가 처음 수신될 때 상기 기설정된 대칭 암호 알고리즘 및 상기 대칭키를 기반으로 암호화를 수행하여 생성되고 저장된 제2 서명값과 비교하여, 상기 제1 서명값과 상기 제2 서명값이 동일할 경우, 상기 차량이 보안 시동하도록 제어한다.
선택적으로, 차량 보안 시동 장치(300)는 저장 모듈을 더 포함한다.
저장 모듈은, 상기 차량의 전원을 켜고 호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어를 수신하되, 상기 업데이트 대상 펌웨어가 보안 펌웨어인 경우, 상기 기설정된 대칭 암호화 알고리즘과 상기 대칭키를 기반으로 상기 업데이트 대상 펌웨어에 서명하여 제2 서명값을 획득하여 저장하고, 그리고 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하고, 여기서, 저장된 상기 업데이트 대상 펌웨어는 제1 펌웨어인 것이다.
선택적으로, 전자 제어 유닛에 기설정된 공개키의 해시값이 미리 저장되어 있고, 차량 보안 시동 장치(300)는 검증 모듈을 더 포함한다.
검증 모듈은, 상기 호스트 컴퓨터로부터 전송된 상기 업데이트 대상 펌웨어, 타겟 서명값 및 타겟 공개키를 수신하고, 상기 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득하며, 상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 타겟 공개키를 기반으로 상기 타겟 서명값을 복호화하여 제2 해시값을 획득하고, 여기서, 상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 타겟 공개키가 상기 기설정된 공개키와 동일함을 나타내고, 상기 제2 해시값은 해시 알고리즘에 의해 타겟 펌웨어를 계산하여 획득된 것이며, 상기 타겟 서명값은 상기 기설정된 공개키에 대응하는 개인키를 통해 제2 해시값을 암호화하여 획득된 것이며, 상기 업데이트 대상 펌웨어의 해시값을 계산하여 제3 해시값을 획득하고, 상기 제3 해시값이 상기 제2 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어라고 판정하며, 여기서, 상기 제2 해시값이 상기 제3 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 타겟 펌웨어와 동일함을 나타낸다.
선택적으로, 검증 모듈은, 또한 상기 업데이트 대상 펌웨어 및 타겟 공개키를 획득하고, 상기 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득할 수 있으며, 상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어라고 판정할 수 있다.
선택적으로, 상기 전자 제어 유닛은 프로세서를 포함하며, 상기 프로세서에 하드웨어 보안 모듈이 내장되고, 상기 기설정된 대칭 암호화 알고리즘은 상기 하드웨어 보안 모듈에 저장되어 있으며, 이에 따라서는 상기 저장 모듈은 구체적으로 상기 제2 서명값을 상기 하드웨어 보안 모듈에 저장하고 그리고 상기 하드웨어 보안 모듈에 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체한다.
본 기술분야에서 통상의 지식을 가진 자가 잘 알려진 것으로, 설명의 편의 및 간결함을 위해, 위에서 설명된 시스템, 장치 및 유닛의 구체적 작업 프로세스는 전술한 방법의 실시예의 해당 프로세스를 참조할 수 있으며, 여기서 상세한 설명을 생략하기로 한다는 점에 유의해야 한다.
동일한 발명 사상에 기초하여, 본 출원의 실시예는, 컴퓨터에 의해 실행되면 상기 실시예에 따른 방법을 수행하도록 구성된 컴퓨터 프로그램이 저장되어 있는, 컴퓨터 판독 가능 저장 매체를 더 제공한다.
이 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체 또는 하나 또는 복수의 이용 가능한 매체를 포함하여 통합된 서버, 데이터 센터 등과 같은 데이터 저장 장치일 수 있다. 상기 이용 가능한 매체는 자기 매체(예: 플로피 디스크, 하드 디스크, 자기 테이프), 광학 매체(예: DVD) 또는 반도체 매체(예: 솔리드 스테이트 디스크(SSD)) 등일 수 있다.
본 출원에 따른 실시예에 개시된 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 위에서 설명된 장치 실시예는 예시적인 것일 뿐이며, 예를 들어, 상기 유닛의 분할은 논리적 기능 분할일 뿐이며 실제 구현에서 다른 분할 방법이 있을 수 있고, 예를 들어, 여러 유닛 또는 구성요소가 결합될 수 있거나 다른 시스템에 통합되거나 일부 기능이 무시되거나 구현되지 않을 수 있다. 한편, 도시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 통신 인터페이스, 장치 또는 유닛을 통한 간접 결합 또는 통신 연결일 수도 있고, 전기적, 기계적 또는 기타 형태일 수도 있다.
또한, 상기와 같이 별도의 구성요소로 설명된 유닛은 물리적으로 분리되거나 분리되지 않을 수 있고, 유닛으로 표시된 구성요소는 물리적 유닛일 수도 있고 아닐 수도 있으며, 즉, 한 곳에 위치하거나 여러 네트워크 유닛에 분산될 수도 있다. 유닛의 일부 또는 전부는 본 실시예의 목적을 달성하기 위해 실제 필요에 따라 선택될 수 있다.
또한, 본 출원의 각 실시예에 있어서 각 기능 모듈은 함께 통합되어 독립적인 부분을 형성할 수도 있고, 각 모듈이 독립적으로 존재할 수도 있으며 2개 또는 그 이상의 모듈이 통합되어 독립적인 부분을 형성할 수도 있다.
마지막으로, 상기 각 실시예는 본 출원의 기술적 해결방법을 설명하기 위해 사용된 것일 뿐이며, 이를 제한하기 위한 것이 아님에 유의해야 하며, 본 출원은 전술한 실시예를 참조하여 상세하게 설명되었지만, 본 기술분야에서 통상의 지식을 가지는 자는 전술한 실시예에서 기재된 기술적 해결방법에 대해 여전히 수정될 수 있거나, 그 기술적 특징의 일부 또는 전부를 동등적으로 대체할 수 있음을 이해해야 하고, 그러나, 이러한 수정 또는 대체는 해당 기술적 해결방법의 본질을 본 출원의 실시예에 따른 기술적 해결방법의 범위에서 벗어나게 하는 것은 아니며, 이들 모두는 본 출원의 청구범위 및 명세서의 범위 내에 포함되어야 한다. 특히, 구조적 충돌이 없는 한, 각 실시예에서 언급된 각각의 기술적 특징은 어떠한 방식으로든 조합될 수 있다. 본 출원은 여기에 개시된 특정 실시예에 한정되지 않고, 청구범위의 범위 내에 속하는 모든 기술적 해결방법을 포함한다.
본 출원은 2021년 11월 29일에 "차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체"라는 명칭으로 출원된 중국특허출원 제2021114369990호에 대해서 우선권을 주장한다.
100 : 전자 제어 유닛 110 : 프로세서
120 : 메모리 300 : 차량 안보 시동 장치
310 : 서명 모듈 320 : 제어 모듈

Claims (10)

  1. 차량의 전자 제어 유닛에 적용되는 차량 보안 시동 방법에 있어서,
    상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘, 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 단계; 및
    상기 제1 서명값을, 상기 펌웨어가 처음 수신될 때 상기 기설정된 대칭 암호 알고리즘 및 상기 대칭키를 기반으로 암호화를 수행하여 생성되고 저장된 제2 서명값과 비교하여, 상기 제1 서명값과 상기 제2 서명값이 동일할 경우, 상기 차량이 보안 시동하도록 제어하는 단계;를 포함하는 것을 특징으로 하는, 차량 보안 시동 방법.
  2. 제1항에 있어서,
    상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘 및 대칭키를 기반으로, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 단계 이전에,
    상기 차량의 전원을 켜고 호스트 컴퓨터로부터 전송된 업데이트 대상 펌웨어를 수신하되, 상기 업데이트 대상 펌웨어가 보안 펌웨어인 경우, 상기 기설정된 대칭 암호화 알고리즘과 상기 대칭키를 기반으로 상기 업데이트 대상 펌웨어에 서명하여 제2 서명값을 획득하고 저장하며, 그리고 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하는 단계를; 더 포함하고, 저장된 상기 업데이트 대상 펌웨어는 제1 펌웨어인 것을 특징으로 하는, 차량 보안 시동 방법.
  3. 제2항에 있어서,
    상기 전자 제어 유닛에 기설정된 공개키의 해시값이 미리 저장되어 있고,
    상기 호스트 컴퓨터로부터 전송된 상기 업데이트 대상 펌웨어, 타겟 서명값 및 타겟 공개키를 수신하는 단계;
    상기 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득하는 단계;
    상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 타겟 공개키를 기반으로 상기 타겟 서명값을 복호화하여 제2 해시값을 획득하는 단계;
    상기 업데이트 대상 펌웨어의 해시값을 계산하여 제3 해시값을 획득하는 단계; 및
    상기 제3 해시값이 상기 제2 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어라고 판정하는 단계; 를 거쳐 상기 업데이트 대상 펌웨어가 보안 펌웨어라고 판정하고,
    상기 제2 해시값을 획득하는 단계에서, 상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 타겟 공개키가 상기 기설정된 공개키와 동일함을 나타내고, 상기 제2 해시값은 해시 알고리즘에 의해 타겟 펌웨어를 계산하여 획득된 것이며, 상기 타겟 서명값은 상기 기설정된 공개키에 대응하는 개인키를 통해 상기 제2 해시값을 암호화하여 획득된 것이고;
    상기 판정 단계에서, 상기 제2 해시값이 상기 제3 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 타겟 펌웨어와 동일함을 나타내는 것을 특징으로 하는, 차량 보안 시동 방법.
  4. 제2항에 있어서,
    상기 전자 제어 유닛에 기설정된 공개키의 해시값이 미리 저장되어 있고,
    상기 업데이트 대상 펌웨어 및 타겟 공개키를 획득하는 단계;
    상기 타겟 공개키의 해시값을 계산하여 제1 해시값을 획득하는 단계; 및
    상기 제1 해시값이 상기 기설정된 공개키의 해시값과 동일할 경우, 상기 업데이트 대상 펌웨어가 상기 보안 펌웨어라고 판정하는 단계;를 거쳐 상기 업데이트 대상 펌웨어가 보안 펌웨어라고 판정하는 것을 특징으로 하는, 차량 보안 시동 방법.
  5. 제2항에 있어서,
    상기 전자 제어 유닛은 프로세서를 포함하며, 상기 프로세서에 하드웨어 보안 모듈이 내장되고, 상기 기설정된 대칭 암호화 알고리즘은 상기 하드웨어 보안 모듈에 저장되어 있으며,
    상기 제2 서명값을 저장하고 그리고 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하는 단계는,
    상기 제2 서명값을 상기 하드웨어 보안 모듈에 저장하는 단계, 및 상기 하드웨어 보안 모듈에 가장 최근 저장된 펌웨어를 상기 업데이트 대상 펌웨어로 교체하는 단계;를 포함하는 것을 특징으로 하는, 차량 보안 시동 방법.
  6. 제1항에 있어서,
    상기 기설정된 암호화 알고리즘은 AES-CMAC 알고리즘인 것을 특징으로 하는, 차량 보안 시동 방법.
  7. 차량의 전자 제어 유닛에 적용되는 차량 보안 시동 장치에 있어서,
    상기 차량의 전원을 켠 후, 기설정된 대칭 암호화 알고리즘, 및 펌웨어가 처음 수신될 때 난수 생성 알고리즘에 의해 생성된 대칭키에 기반하여, 저장된 제1 펌웨어에 서명하여 제1 서명값을 획득하는 서명 모듈; 및
    상기 제1 서명값을, 상기 펌웨어가 처음 수신될 때 상기 기설정된 대칭 암호 알고리즘 및 상기 대칭키를 기반으로 암호화를 수행하여 생성되고 저장된 제2 서명값과 비교하여, 상기 제1 서명값과 상기 제2 서명값이 동일할 경우, 상기 차량이 보안 시동하도록 제어하는 제어 모듈;을 포함하는 것을 특징으로 하는, 차량 보안 시동 장치.
  8. 프로세서; 및 상기 프로세서와 연결된 메모리;를 포함하며,
    상기 메모리는 프로그램을 저장하는 데 사용되고,
    상기 프로세서는 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하도록 상기 메모리에 저장된 프로그램을 실행하는 데 사용되는 것을 특징으로 하는, 전자 제어 유닛.
  9. 제8항에 있어서,
    상기 프로세서에 하드웨어 보안 모듈이 내장되고, 상기 기설정된 대칭 암호화 알고리즘, 상기 제2 서명값, 상기 제1 펌웨어 및 상기 대칭키는 상기 하드웨어 보안 모듈에 저장되어 있는 것을 특징으로 하는, 전자 제어 유닛.
  10. 컴퓨터에 의해 실행되면 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하도록 구성된 컴퓨터 프로그램이 저장되어 있는 것을 특징으로 하는, 컴퓨터 판독 가능 저장 매체.
KR1020227029527A 2021-11-29 2022-05-16 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체 KR102680666B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111436999.0 2021-11-29
CN202111436999.0A CN115828273B (zh) 2021-11-29 2021-11-29 车辆安全启动方法、装置,电子控制单元及存储介质
PCT/CN2022/093129 WO2023092958A1 (zh) 2021-11-29 2022-05-16 车辆安全启动方法、装置,电子控制单元及存储介质

Publications (2)

Publication Number Publication Date
KR20230081988A KR20230081988A (ko) 2023-06-08
KR102680666B1 true KR102680666B1 (ko) 2024-07-01

Family

ID=83995192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227029527A KR102680666B1 (ko) 2021-11-29 2022-05-16 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체

Country Status (6)

Country Link
US (1) US20230221949A1 (ko)
EP (1) EP4213051A4 (ko)
JP (1) JP7508571B2 (ko)
KR (1) KR102680666B1 (ko)
CN (1) CN115828273B (ko)
WO (1) WO2023092958A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230082388A (ko) * 2021-12-01 2023-06-08 현대자동차주식회사 차량 제어기의 부트로더 검증 장치 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310674A1 (en) 2016-04-26 2017-10-26 Honeywell International Inc. Approach for securing a vehicle access port
CN110708388A (zh) 2019-10-15 2020-01-17 大陆投资(中国)有限公司 用于提供安全服务的车身安全锚节点设备、方法以及网络***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6197000B2 (ja) 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
CN106027260B (zh) * 2016-05-12 2019-04-02 成都信息工程大学 基于密钥预分配的汽车ecu完整性验证和加密通信方法
US10171478B2 (en) * 2016-06-30 2019-01-01 Faraday & Future Inc. Efficient and secure method and apparatus for firmware update
CN106685653B (zh) * 2016-12-29 2020-07-07 同济大学 一种基于信息安全技术的车辆远程固件更新方法及装置
KR102368606B1 (ko) * 2017-07-31 2022-03-02 현대자동차주식회사 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
US10871952B2 (en) * 2017-12-20 2020-12-22 Nio Usa, Inc. Method and system for providing secure over-the-air vehicle updates
CN110221852A (zh) * 2019-05-15 2019-09-10 深兰科技(上海)有限公司 一种固件升级方法及装置
CN110555309A (zh) * 2019-09-10 2019-12-10 深圳市英博超算科技有限公司 启动方法、装置、终端以及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310674A1 (en) 2016-04-26 2017-10-26 Honeywell International Inc. Approach for securing a vehicle access port
CN110708388A (zh) 2019-10-15 2020-01-17 大陆投资(中国)有限公司 用于提供安全服务的车身安全锚节点设备、方法以及网络***

Also Published As

Publication number Publication date
WO2023092958A1 (zh) 2023-06-01
CN115828273B (zh) 2024-03-29
CN115828273A (zh) 2023-03-21
JP2024501395A (ja) 2024-01-12
KR20230081988A (ko) 2023-06-08
US20230221949A1 (en) 2023-07-13
EP4213051A1 (en) 2023-07-19
JP7508571B2 (ja) 2024-07-01
EP4213051A4 (en) 2023-08-09

Similar Documents

Publication Publication Date Title
CN109446815B (zh) 基本输入输出***固件的管理方法、装置和服务器
CN107045611B (zh) 安全启动方法及装置
JP5014726B2 (ja) 無許可のブートローダの実行を防止することによって安全性を高めた実行環境
US7774619B2 (en) Secure code execution using external memory
US20170308705A1 (en) System, device and method for anti-rollback protection of over-the-air updated device images
JP6371919B2 (ja) セキュアなソフトウェアの認証と検証
EP3343424B1 (en) Control board secure start method, and software package upgrade method and device
US20110246778A1 (en) Providing security mechanisms for virtual machine images
US11106798B2 (en) Automatically replacing versions of a key database for secure boots
CN112699419A (zh) 安全执行可延伸固件应用程序的方法及计算器设备
CN111190611A (zh) 软件安装方法
CN112181513B (zh) 一种基于硬件板卡的控制主机***引导的可信度量方法
US20230195473A1 (en) Peripheral component interconnect express device startup method and apparatus, and storage medium
CN115329321A (zh) 一种固件的启动方法、芯片及计算设备
CN111177709A (zh) 一种终端可信组件的执行方法、装置及计算机设备
KR102680666B1 (ko) 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체
US20220182248A1 (en) Secure startup method, controller, and control system
KR102089435B1 (ko) 안전한 usb 장치를 보장하는 부트 방법
CN110730079A (zh) 基于可信计算模块的嵌入式***安全启动和可信度量的***
US20230119196A1 (en) Information processing apparatus, authenticity verification method, and program
CN110740041B (zh) 基于可信计算模块的嵌入式***安全启动与可信度量的方法
JP2020057309A (ja) 制御システム
JP7511492B2 (ja) 自動車用電子制御装置
WO2024078159A1 (zh) 完整性度量方法及装置
CN116089967B (zh) 数据防回滚方法和电子设备

Legal Events

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