JP2024501395A - 車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体 - Google Patents

車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体 Download PDF

Info

Publication number
JP2024501395A
JP2024501395A JP2022551382A JP2022551382A JP2024501395A JP 2024501395 A JP2024501395 A JP 2024501395A JP 2022551382 A JP2022551382 A JP 2022551382A JP 2022551382 A JP2022551382 A JP 2022551382A JP 2024501395 A JP2024501395 A JP 2024501395A
Authority
JP
Japan
Prior art keywords
firmware
hash value
vehicle
signature value
public key
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2022551382A
Other languages
English (en)
Other versions
JP7508571B2 (ja
Inventor
蘭椿樹
林挺達
王超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Contemporary Amperex Technology Co Ltd
Original Assignee
Contemporary Amperex Technology Co Ltd
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 Contemporary Amperex Technology Co Ltd filed Critical Contemporary Amperex Technology Co Ltd
Publication of JP2024501395A publication Critical patent/JP2024501395A/ja
Application granted granted Critical
Publication of JP7508571B2 publication Critical patent/JP7508571B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • 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

本出願は、車両制御の技術分野に属し、具体的に、車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体に関する。
(関係出願の相互参照)
本出願は、2021年11月29日に出願された、名称が「車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体」である中国出願第2021114369990号に基づいて優先権を主張する。
車両の安全始動は、主にシステムソフトウェアの完全性及び真実性を保証し、システムにおける重要なミラーファイルの破壊又は切替を防止するために用いられる。
現在、主流の安全検証方法としては、対称暗号化アルゴリズムが採用されている。対称暗号化アルゴリズムの具体的なプロセスとして、電子制御ユニット(Electronic Control Unit,ECU)は、電源を入れた後、記憶された対称鍵を用いてファームウェアに署名して、仮署名値を取得し、そして仮署名値と記憶されたファームウェア署名値とが一致するか否かについて比較し、一致すると、車両を安全に始動するように制御する。発明者は、実践研究で、電子制御ユニットの記憶した対称鍵が、マスターコンピュータによって伝送されるものであり、マスターコンピュータが対称鍵を伝送する過程において、対称鍵が漏れるリスクが増加し、一旦対称鍵が漏れると、安全始動機能がハッカーによって突破されやすくなることを発見した。また、この方式では、電子制御ユニットを作製するメーカーが、対称鍵を管理するために大量の人的資源及び物的資源を投入する必要がある。
本出願の実施例は、対称鍵の漏れ問題および対称鍵の管理問題を解決することができる、車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体を提供することを目的とする。
本発明は、下記のように実現される。
第1局面において、本出願の実施例は、車両の電子制御ユニットに適用される車両安全始動方法を提供する。前記方法は、前記車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得するステップと、前記第1署名値と、記憶された第2署名値とを比較し、前記第1署名値と前記第2署名値とが一致する場合、前記車両を安全に始動するように制御するステップと、を含み、前記対称鍵は、ファームウェアを初回に受信したときに、乱数生成アルゴリズムに基づいて生成されたものであり、前記第2署名値は、前記第1ファームウェアを受信するときに、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて暗号化して生成されたものである。
本出願の実施例では、電子制御ユニットに乱数生成アルゴリズムが配置され、電子制御ユニットがファームウェアを初回に受信したとき(例えば、ベンダー設定過程において)、乱数生成アルゴリズムがトリガーされ、1つの対称鍵をランダムに生成して記憶し、後の車両に対する安全始動制御に用い、この方式により、対称鍵が電子制御ユニットにより生成されるため、対称鍵が電子制御ユニットの外部から伝送されることに起因して対称鍵が漏れる問題を避けることができ、また、対称鍵は、電子制御ユニットが、受信したファームウェアに基づいてランダムに生成されるものであるため、電子制御ユニットを作製するメーカーが対称鍵を管理するために大量の人的資源及び物的資源を投入する必要がない。
上記の第1局面による技術案をもとに、いくつかの実施可能な形態において、前記車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得する前に、前記方法は、前記車両の電源を入れてマスターコンピュータから送信された更新用ファームウェアを受信し、且つ前記更新用ファームウェアが安全なファームウェアであった場合、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて前記更新用ファームウェアに署名して前記第2署名値を取得し、前記第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署名値とが一致する場合、前記車両を安全に始動するように制御するように構成された制御モジュールと、を含み、前記対称鍵は、ファームウェアを初回に受信したときに、乱数生成アルゴリズムに基づいて生成されたものであり、前記第2署名値は、前記第1ファームウェアを受信したときに、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて暗号化して生成されたものである。
第3局面において、本出願の実施例は電子制御ユニットを提供する。この電子制御ユニットは、プロセッサとメモリとを含み、前記プロセッサと前記メモリとが接続されており、前記メモリが、プログラムを記憶するように構成され、前記プロセッサが、前記メモリに記憶されたプログラムを実行し、上記の第1局面の実施例及び/又は上記の第1局面の実施例のいくつかの実現可能な形態による方法を実行するように構成される。
上記第3局面による技術案をもとに、いくつかの実現可能な形態において、前記プロセッサにはハードウェアセキュリティモジュールに組み込まれており、前記既定の対称暗号化アルゴリズム、前記第2署名値、前記第1ファームウェア及び前記対称鍵は、前記ハードウェアセキュリティモジュールに記憶されている。
第4局面において、本出願の実施例はコンピュータ読取可能記憶媒体を提供する。このコンピュータ読取可能記憶媒体は、プロセッサによって実行されるときに上記第1局面の実施例及び/又は上記第1局面の実施例のいくつかの実現可能な形態による方法が実行されるコンピュータプログラムが記憶されている。
下記の好ましい実施形態の詳しい説明を閲覧することで、各種の他の利点及び有益効果は、当業者にとって明瞭になる。図面は、好ましい実施形態を示すものにすぎず、本出願を限定するものではない。そして、すべての図面において、同様の符号は、同様の部材を表す。
従来技術における、対称鍵に基づく安全始動のプロセスを示す模式図である。 本出願の実施例による電子制御ユニットのブロック図である。 本出願の実施例による車両安全始動方法のフローチャートである。 本出願の実施例による他の車両安全始動方法のフローチャートである。 本出願の実施例による更新用ファームウェアを検証することを示すフローチャートである。 本出願の実施例による、対称鍵に基づく車両安全始動のプロセスを示す模式図である。 本出願の実施例による車両安全始動装置のブロック図である。
以下、図面を参照しながら、本出願の技術案の実施例を詳細に説明する。以下の実施例は本出願の技術案をより明瞭に説明することだけに用いられるため、例示的なものに過ぎず、本出願の保護範囲はこれに限定されない。
別の定義がない限り、本明細書で使用される全ての技術的及び科学的用語は、当業者が通常に理解する意味と同じ意味を有し、本明細書で使用される用語は、具体的な実施例を説明する目的だけに使用し、本出願を限定するものではない。本出願の明細書及び特許請求の範囲並びに上記の図面の説明における用語の「含む」及び「有する」、並びにそれらの任意の変形は、非排他的な包含をカバーすることを意図する。
本出願の実施例の説明において、技術的用語の「第1」、「第2」等は、異なるオブジェクトを区別することだけに用いられ、相対的な重要性を指示し又は暗示し、或いは表される技術特徴の数、特定の順序又は主要と副次的の関係を暗示するものではない。本出願の実施例の説明において、「複数」は、特に明確な、具体的な限定がない限り、2つ以上を意味する。
本明細書において「実施例」というとき、実施例を用いて説明する特定の特徴、構造または特性が本出願の少なくとも1つの実施例に含まれることを意味している。明細書の各部分にこの用語が使用された場合、同一の実施例を指しているとは限らず、他の実施例と互いに排斥する独立な実施例または選択可能な実施例を指しているでもない。本明細書で説明する実施例が他の実施例と組み合わせることができると当業者が理解できる。
本出願の実施例の説明において、用語の「および/または」は、関連対象の関連関係を説明するためのものにすぎず、3種の関係を表すことができ、例えばAおよび/またはBのように、Aだけが存在することと、AおよびBがともに存在することと、Bだけが存在することとの3種の状況を表すことができる。また、本明細書における記号「/」は、一般的に記号の前後の関連対象が「または」の関係を満たすことを意味している。
本出願の実施例の説明において、用語の「複数」は、2つ以上(2つを含む)のことを意味し、同様に、「複数組」は、2組以上(2組を含む)のことを意味し、「複数枚」は、2枚以上(2枚を含む)のことを意味する。
図1を参照し、図1は、従来技術における、対称鍵に基づく安全始動のプロセスを示す模式図である。
以下、従来の、対称鍵に基づく車両安全始動のプロセスを説明する。
まず、信頼の鎖を構築する。
ステップS1:安全な開発環境で、1つの対称鍵を生成する。
ステップS2:既定の対称暗号化アルゴリズム及び対称鍵を用いてファームウェアの署名値を算出してsign1とする。
ステップS3:マスターコンピュータにより、署名値sign1、対称鍵、ファームウェアを電子制御ユニットに送信する。
なお、上記の信頼の鎖は、メーカーが電子制御ユニットを作製するときの配置プロセスにおいて構築されてもよく、電子制御ユニットの後のファームウェアのアップグレードプロセスにおいて構築されてもよい。
車両安全始動プロセス
ステップS4:車両の電源を入れた後、電子制御ユニットは、既定の暗号化アルゴリズム及び対称鍵に基づいてファームウェアに署名し、sign2とする。
ステップS5:電子制御ユニットは、署名値sign1と署名値sign2とを比較し、両者が等しいければ検証は合格であり、そうでなければ、検証は不合格となり、車両の始動を禁止する。
発明者は、実践研究で、電子制御ユニットの記憶した対称鍵が、マスターコンピュータによって伝送されたものであり、マスターコンピュータが対称鍵を伝送する過程において、対称鍵が漏れるリスクが増加し、一旦、対称鍵が漏れると、安全始動機能がハッカーによって突破されやすくなることを発見した。
同時に、この方式では、メーカーと電子制御ユニットとで1つの対称鍵を共有する必要があり、必ずメーカーの対称鍵に対する管理に関与し、自動車産業の発展に伴って、情報安全のために、異なる自動車ブランド、車の異なるモデルにそれぞれ異なる対称鍵が必要とされ、対称鍵の管理の難易度がさらに高まる。
上記問題に鑑みて、上記の問題を解決するために、下記の実施例を提出する。
図2は、本出願の実施例による車両の安全始動方法及び安全始動装置を適用する電子制御ユニット100の模式的構成ブロック図である。
なお、電子制御ユニット100は、車両の「走行パソコン」とも称され、車両の走行状態の制御及びその各種機能の実現に使用するものである。
構造的には、電子制御ユニット100は、プロセッサ110及びメモリ120を含み得る。
プロセッサ110は、データの伝送又はインタラクションを実現するように、メモリ120と直接又は間接的に電気的に接続され、例えば、これらの素子が1つ又は複数の通信バス又は信号線を介して電気的に接続される。車両安全始動装置は、ソフトウェア又はファームウェア(Firmware)の形式でメモリ120内に記憶され又は電子制御ユニット100のオペレーティングシステム(Operating System,OS)内に内蔵されている少なくとも1つのソフトウェアモジュールを含む。プロセッサ110は、車両安全始動方法を実現するように、メモリ120に記憶された実行可能なモジュール、例えば、車両安全始動装置に含まれるソフトウェア機能モジュール及びコンピュータプログラム等を実行することに用いられる。プロセッサ110は、実行命令を受信した後、コンピュータプログラムを実行する。
プロセッサ110は、信号処理能力を有する集積回路チップであってもよく、本出願の実施例で開示される各方法、ステップ及び論理ブロック図に示されることを実現し或いは実行することができる、例えば中央処理装置(Central Processing Unit,CPU)、マイクロコントロールユニット(Microcontroller Unit、MCU)、デジタルシグナルプロセッサ(Digital Signal Processor,DSP)、特定用途向け集積回路(Application Specific Integrated Circuit ,ASIC)、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントのような汎用プロセッサであってもよい。また、汎用プロセッサは、マイクロプロセッサ或いは任意の常用のプロセッサ等であってもよい。
また、プロセッサ110には、車両安全始動機能を実現するように、ハードウェアセキュリティモジュール(Hardware Security Module,HSM)が組み込まれてもよい。
メモリ120は、ランダムアクセスメモリ(Random Access Memory,RAM)、読み取り専用メモリ(Read Only Memory,ROM)、プログラム可能な読み取り専用メモリ(Programmable Read-Only Memory,PROM)、消去可能プログラム可能読み取り専用メモリ(Erasable Programmable Read-Only Memory,EPROM)、及び電気的に消去可能でプログラム可能な読み取り専用メモリ(Electric Erasable Programmable Read-Only Memory,EEPROM)であり得るが、これらに限定されない。メモリ120はプログラムの記憶に用いられ、プロセッサ110は、実行命令を受信した後、このプログラムを実行する。
なお、図2に示す構造は単に模式的なものであり、本出願の実施例による電子制御ユニット100は、図2に示されたものよりも少ない又は多いコンポーネントを有してもよく、又は図2に示されたものと異なる配置であってもよい。また、図2に示す各コンポーネントは、ソフトウェア、ハードウェア又はこれらの組み合わせによって実現することができる。
図3を参照すると、図3は、本出願の実施例による車両安全始動方法のステップを示すフローチャートであり、この方法は図2に示す電子制御ユニット100に適用される。なお、本出願の実施例による車両安全始動方法は、図3及び下記に示す順序に限定されない。この方法は、ステップS101~ステップS102を含む。
ステップS101:車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得し、対称鍵は、ファームウェアを初回に受信したときに、乱数生成アルゴリズムに基づいて生成されたものである。
なお、電子制御ユニットは、マスターコンピュータからファームウェアを受信することに用いられる。電子制御ユニットがマスターコンピュータを、ファームウェアを初回に受信したときに(例えばベンダー設定過程において)、電子制御ユニットは、後の安全始動制御のために、乱数生成アルゴリズムに基づいて1つの対称鍵をランダムに生成する。
電子制御ユニットは電源を入れたときに、マスターコンピュータから送信されるファームウェアを受信できていない場合、車両安全始動制御を行い、まず、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得する。
上記したマスターコンピュータとは、サーバ、コンピュータ、マスターコンピュータソフトウェア、メーカーの端末設備等であり得るが、本出願ではこれに限定しない。
本出願の実施例では、既定の対称暗号化アルゴリズムはAES-CMACアルゴリズムであり、無論、他の実施例では、既定の対称暗号化アルゴリズムは、HMAC(Hash-based Message Authentication Code,ハッシュメッセージ認証コード)等の対称暗号化アルゴリズムであってもよく、これについて、本出願では限定しない。上記の対称暗号化アルゴリズムは、いずれも当分野でよく知られているアルゴリズムであるため、本出願ではこれ以上の説明をしない。
ステップS102:第1署名値と、記憶された第2署名値とを比較し、第1署名値と第2署名値とが一致する場合、車両を安全に始動するように制御し、第2署名値は、第1ファームウェアを受信するときに、既定の対称暗号化アルゴリズム及び対称鍵に基づいて暗号化して生成されたものである。
そして、電子制御ユニットは、電源を入れた後に仮生成された第1署名値と、記憶された第2署名値とを比較し、両者が一致する場合、車両を安全に始動するように制御する。両者が一致しない場合、検証は失敗であり、車両始動を禁止する。
なお、第2署名値は、電子制御ユニットがマスターコンピュータから送信された第1ファームウェアを受信できたときに、既定の対称暗号化アルゴリズム及び対称鍵に基づいて第1ファームウェアを暗号化して生成されたものである。第2署名値は、電子制御ユニットに記憶される。
これによって分かるように、本出願の実施例において、電子制御ユニットに乱数生成アルゴリズムが配置され、電子制御ユニットがファームウェアを初回に受信したとき(例えば、ベンダー設定過程において)、乱数生成アルゴリズムがトリガーされ、1つの対称鍵をランダムに生成して記憶し、後の車両に対する安全始動制御に用い、この方式により、対称鍵が電子制御ユニットにより生成されるため、対称鍵が電子制御ユニットの外部から伝送されることに起因して対称鍵が漏れる問題を避けることができ、また、対称鍵は、電子制御ユニットが、受信したファームウェアに基づいてランダムに生成されるものであるため、電子制御ユニットを作製するメーカーが対称鍵を管理するために大量の人的資源及び物的資源を投入する必要がなく、同時に、1台のマシンに1つの鍵の効果を奏することができる。
図4を参照すると、選択可能な一実施形態として、電子制御ユニットの更新をトリガーするプロセスは、具体的にステップS201を含む。
ステップS201:車両の電源を入れてマスターコンピュータから送信された更新用ファームウェアを受信し、且つ更新用ファームウェアが安全なファームウェアであった場合、既定の対称暗号化アルゴリズム及び対称鍵に基づいて更新用ファームウェアに署名して第2署名値を取得して第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:安全な開発環境で1つの既定の非対称鍵を生成し、既定の非対称鍵が既定の公開鍵及びこの既定の公開鍵に対応する秘密鍵を含む。
ステップS2:ハッシュアルゴリズムを用いて対象ファームウェアのハッシュを算出し、HASH1とする。
ステップS3:ハッシュアルゴリズムを用いて既定の公開鍵のハッシュ値を算出し、HASH2とする。
ステップS4:この既定の公開鍵に対応する秘密鍵を用いて対象ファームウェアのハッシュ値HASH1を暗号化し、対象署名値を取得してSign1とする。
ステップS5:公開鍵のハッシュ値HASH2を電子制御ユニット内に書き込む(非対称鍵の公開鍵漏れは、電子制御ユニットの安全性に影響を与えない)。
ステップS6:電子制御ユニットは電源を入れると、最初にブートローダ(Bootloader)に入る。なお、組み込みオペレーティングシステムにおいて、ブートローダは、オペレーティングシステムカーネルの実行前に実行されるプログラムである。ハードウェア設備を初期化し、メモリマップを作成することによって、最終的にオペレーティングシステムカーネルを呼び出すために正しい環境を用意するように、システムのソフトウェア・ハードウェア環境を適切な状態にすることができる。
ステップS7:ブートローダは、マスターコンピュータから送信された更新用ファームウェア、対象署名値及び対象公開鍵を受信する。
ステップS8:ブートローダは、対象公開鍵のハッシュ値を算出して、HASH3とする。そして、HASH3と、記憶されたHASH2とが等しいか否かについて比較し、等しい場合、対象公開鍵と既定の公開鍵とが一致し、対象公開鍵が正当な公開鍵であると確定され、この場合、対象公開鍵の検証に合格し、ステップS9が実行される。HASH3と、記憶されたHASH2とが等しくない場合、対象公開鍵が不正な公開鍵であると確定され、この場合、後の処理を実行しない。
ステップS9:ブートローダは、対象公開鍵を用いて対象署名値を復号化して、対象ファームウェアのハッシュ値HASH1を取得する。
ステップS10:ブートローダは、ハッシュアルゴリズムに基づいて更新用ファームウェアのハッシュ値HASH4を算出する。
ステップS11:ブートローダは、HASH4とHASH1とが等しいか否かについて判断し、等しい場合、更新用ファームウェアがハッカーによって改ざんされておらず、更新用ファームウェアを信頼することができ、この場合、ステップS12を実行する。そうでない場合、更新用ファームウェアがハッカーによって改ざんされたと確定され、この場合、後の処理を実行しない。
ステップS12:ブートローダは、乱数生成アルゴリズムにより、1つの対称鍵を生成して記憶する。
なお、ステップS12は、ファームウェアを初回に受信したときのみ実行され、つまり、メーカーが電子制御ユニットを作製する配置プロセスにおいて一回だけ実行される。後のファームウェアの更新は、ステップS12をスキップして直接ステップS13を実行する。
ステップS13:ブートローダは、既定の対称暗号化アルゴリズム及び対称鍵に基づいて更新用ファームウェアを算出し、第2署名値を取得してSign2とするとともに、更新用ファームウェア、第2署名値を記憶する。ここまでで、信頼の鎖の構築が完了する。
なお、上記信頼の鎖の構築プロセスにおけるステップS1~ステップS5及びステップS12は、メーカーが電子制御ユニットを作製する配置過程において行われる。一方、ステップS6~ステップS11及びステップS13は、メーカーが電子制御ユニットを作製する配置過程、例えばメーカーによるファームウェアの初回配置時に行われてもよく、電子制御ユニットのファームウェアの後のアップグレード過程、例えば、後のメーカーによるファームウェアをアップグレードする過程において行われてもよい。
車両安全始動プロセス:
ステップS14:車両の電源を再び入れた後、電子制御ユニットは既定の暗号化アルゴリズム及び対称鍵に基づいて、記憶されたファームウェアに署名して、sign3とする。
ステップS15:電子制御ユニットは、署名値sign1と、記憶された署名値sign2とを比較し、両者が等しい場合、検証は合格であり、そうでない場合、検証は失敗となり、車両の始動を禁止する。
なお、電子制御ユニットが新しい更新用ファームウェアを取得した度に、前回のファームウェアを入れ替え、例えば、現在記憶されているものが第1ファームウェアであり、後に更新用ファームウェアを取得した場合、第1ファームウェアを削除して、取得した更新用ファームウェアを記憶し、このとき、更新用ファームウェアが第2ファームウェアとされ、このようにして、第3ファームウェア、第4ファームウェア、第5ファームウェアを記憶する。
図7を参照し、同一の発明思想をもとに、本出願の実施例では、署名モジュール310と、制御モジュール320とを含む車両安全始動装置300をさらに提供する。
署名モジュール310は、前記車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して、第1署名値を取得するように構成され、前記対称鍵は、ファームウェアを初回に受信したとき、乱数生成アルゴリズムに基づいて生成されたものである。
制御モジュール320は、前記第1署名値と、記憶された第2署名値とを比較し、前記第1署名値と前記第2署名値とが一致する場合、前記車両を安全に始動するように制御するように構成され、前記第2署名値は、前記第1ファームウェアを受信したときに、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて暗号化して生成されたものである。
好ましくは、車両安全始動装置300は、記憶モジュールをさらに含む。
記憶モジュールは、前記車両の電源を入れ、マスターコンピュータから送信された更新用ファームウェアを受信し、且つ前記更新用ファームウェアが安全なファームウェアであった場合、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて前記更新用ファームウェアに署名して、前記第2署名値を取得して前記第2署名値を記憶し、かつ前回記憶されたファームウェアを前記更新用ファームウェアに入れ替えるように構成され、記憶された前記更新用ファームウェアが前記第1ファームウェアである。
任意で、電子制御ユニットには、既定の公開鍵のハッシュ値が予め記憶されており、車両安全始動装置300は検証モジュールをさらに含む。
検証モジュールは、前記マスターコンピュータから送信された前記更新用ファームウェア、対象署名値及び対象公開鍵を受信し、前記対象公開鍵のハッシュ値を算出して第1ハッシュ値を取得し、前記第1ハッシュ値と前記既定の公開鍵のハッシュ値とが一致する場合、前記対象公開鍵に基づいて前記対象署名値を復号化して第2ハッシュ値を取得し、前記第1ハッシュ値と前記既定の公開鍵のハッシュ値とが一致する場合、前記対象公開鍵と前記既定の公開鍵とが一致すると確定し、前記第2ハッシュ値はハッシュアルゴリズムにより対象ファームウェアに対して計算することで取得されたものであり、前記対象署名値は、前記既定の公開鍵に対応する秘密鍵により第2ハッシュ値を暗号化して取得されたものであり、前記更新用ファームウェアのハッシュ値を算出して第3ハッシュ値を取得し、前記第3ハッシュ値と前記第2ハッシュ値とが一致する場合、前記更新用ファームウェアが前記安全なファームウェアであると確定し、前記第2ハッシュ値と前記第3ハッシュ値とが一致する場合、前記更新用ファームウェアと前記対象ファームウェアとが同じであると確定する。
任意で、検証モジュールは、前記更新用ファームウェア及び対象公開鍵を取得し、前記対象公開鍵のハッシュ値を算出して第1ハッシュ値を取得し、前記第1ハッシュ値と前記既定の公開鍵のハッシュ値とが一致する場合、前記更新用ファームウェアが前記安全なファームウェアであると確定するように構成される。
任意で、前記電子制御ユニットはプロセッサを含み、前記プロセッサにはハードウェアセキュリティモジュールが組み込まれ、前記既定の対称暗号化アルゴリズムは、前記ハードウェアセキュリティモジュール内に記憶され、これに対応して、前記記憶モジュールは、具体的に前記第2署名値を前記ハードウェアセキュリティモジュール内に記憶するとともに、前記ハードウェアセキュリティモジュールにおける前回記憶されたファームウェアを前記更新用ファームウェアに入れ替えることに用いられる。
なお、当業者は、便宜に及び簡単に説明するため、上記説明されるシステム、装置及びユニットの具体的な作動プロセスについて、上記の方法の実施例における対応のプロセスを参照することができ、ここで重複して説明しない。
同一発明思想をもとに、本出願の実施例では、実行されるときに上記の実施例による方法が実行されるコンピュータプログラムが記憶されたコンピュータ読取可能記憶媒体をさらに提供する。
この記憶媒体は、コンピュータがアクセスできる任意の利用可能な媒体、或いは1つ又は複数の利用可能な媒体を含む集積されたサーバ、データセンター等のデータ記憶設備であり得る。前記利用可能な媒体は、磁気媒体(例えば、フロッピーディスク、ハードディスク、テープ)、光学媒体(例えば、DVD)、或いは半導体媒体(例えば、ソリッドステートドライブSolid State Disk (SSD))等であり得る。
本発明の提供する実施例において、開示された装置及び方法は、他の方式で実現されることができると理解すべきである。上記に説明された装置の実施例は例示的なものにすぎず、例えば、前記のユニットの区分は、単に論理的な機能区分であり、実際の実現では別の区分であってもよい。例えば、複数のユニット又はコンポーネントを組み合わせ、又は別のシステムに統合してもよく、或いは一部の特徴を省略又は不実行にしてもよい。また、示したもしくは論じた相互結合又は直接結合又は通信接続は、いくつかのインターフェース、装置又はユニットを介する間接結合又は通信接続であってもよく、また、電気的、機械的又は他の形式による接続であってもよい。
また、別個の部品として説明されたユニットは、物理的に別個であってもなくてもよい。ユニットとして示した部材は、物理的なユニットであっても、なくてもよく、つまり、同一位置に配置してもよく、複数のネットワークユニットに分散してもよい。本実施例の案の目的を達成するために実際の要求に応じて一部又は全部のユニットを選択することが可能である。
さらに、本出願の各実施例における各機能モジュールは、一体に統合されて1つの独立した部分として形成してもよく、各モジュールがそれぞれ単独で存在してもよく、2つ以上のモジュールを統合して1つの独立した部分として形成してもよい。
最後に説明すべきこととしては、上記の各実施例は、本出願の技術案を説明するためのものにすぎず、それを限定するものではない。上記の各実施例を用いて本出願を詳細に説明したが、当業者であればわかるように、依然として上記の各実施例に記載される技術案を変更し、又はそのうちの一部又は全ての技術特徴に対して均等置換を行うことが可能であり、これらの変更又は置換は、対応する技術案の本質を本出願の各実施例の技術案の範囲から逸脱させることがなく、いずれも本出願の特許請求の範囲及び明細書の範囲に含まれる。特に、構造上の矛盾がない限り、各実施例で言及された各技術的特徴はいずれも任意の方式で組み合わせることができる。本出願は本明細書で開示された実施例に限定されなく、特許請求の範囲内に属する全ての技術案を含む。
100 電子制御ユニット
110 プロセッサ
120 メモリ
300 車両安全始動装置
310 署名モジュール
320 制御モジュール

Claims (10)

  1. 車両の電子制御ユニットに適用される車両安全始動方法であって、
    前記車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得するステップと、
    前記第1署名値と、記憶された第2署名値とを比較し、前記第1署名値と前記第2署名値とが一致する場合、前記車両を、安全に始動するように制御するステップと、を含み、
    前記対称鍵は、ファームウェアを初回に受信したときに、乱数生成アルゴリズムに基づいて生成されるものであり、
    前記第2署名値は、前記第1ファームウェアを受信するときに、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて暗号化して生成されるものである
    ことを特徴とする車両安全始動方法。
  2. 前記方法は、
    前記車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得するステップを実行する前に、
    前記車両の電源を入れてマスターコンピュータから送信された更新用ファームウェアを受信し、かつ前記更新用ファームウェアが安全なファームウェアであった場合、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて前記更新用ファームウェアに署名して前記第2署名値を取得し、前記第2署名値を記憶し、かつ前回記憶されたファームウェアを前記更新用ファームウェアに入れ替えるステップを含み、
    記憶された前記更新用ファームウェアが前記第1ファームウェアである
    ことを特徴とする請求項1に記載の方法。
  3. 前記電子制御ユニットには既定の公開鍵のハッシュ値が予め記憶されており、
    前記マスターコンピュータから送信された更新用ファームウェア、対象署名値及び対象公開鍵を受信するステップと、
    前記対象公開鍵のハッシュ値を算出して第1ハッシュ値を取得するステップと、
    前記第1ハッシュ値と前記既定の公開鍵のハッシュ値とが一致する場合、前記対象公開鍵に基づいて前記対象署名値を復号化して第2ハッシュ値を取得し、前記第1ハッシュ値と前記既定の公開鍵のハッシュ値とが一致する場合、前記対象公開鍵と前記既定の公開鍵とが同じであると確定し、前記第2ハッシュ値が、ハッシュアルゴリズムにより対象ファームウェアに対して計算を行って取得されたものであり、前記対象署名値が、前記既定の公開鍵に対応する秘密鍵により前記第2ハッシュ値を暗号化して取得されたものである、ステップと、
    前記更新用ファームウェアのハッシュ値を算出して第3ハッシュ値を取得するステップと、
    前記第3ハッシュ値と前記第2ハッシュ値とが一致する場合、前記更新用ファームウェアが前記安全なファームウェアであると確定し、前記第2ハッシュ値と前記第3ハッシュ値とが一致する場合、前記更新用ファームウェアと前記対象ファームウェアとが同じであると確定するステップと、により前記更新用ファームウェアが安全なファームウェアであることを確定する
    ことを特徴とする請求項2に記載の方法。
  4. 前記電子制御ユニットには既定の公開鍵のハッシュ値が予め記憶されており、
    前記更新用ファームウェア及び対象公開鍵を取得するステップと、
    前記対象公開鍵のハッシュ値を算出して第1ハッシュ値を取得するステップと、
    前記第1ハッシュ値と前記既定の公開鍵のハッシュ値とが一致する場合、前記更新用ファームウェアが前記安全なファームウェアであると確定するステップと、により前記更新用ファームウェアが安全なファームウェアであることを確定する
    ことを特徴とする請求項2に記載の方法。
  5. 前記電子制御ユニットはプロセッサを含み、前記プロセッサにはハードウェアセキュリティモジュールが組み込まれており、前記既定の対称暗号化アルゴリズムは前記ハードウェアセキュリティモジュール内に記憶されており、
    前記第2署名値を記憶し、かつ前回記憶されたファームウェアを前記更新用ファームウェアに入れ替えることは、
    前記第2署名値を前記ハードウェアセキュリティモジュールに記憶すること、
    前記ハードウェアセキュリティモジュールにおける前回記憶されたファームウェアを前記更新用ファームウェアに入れ替えること、を含む
    ことを特徴とする請求項2に記載の方法。
  6. 前記既定の暗号化アルゴリズムはAES-CMACアルゴリズムである
    ことを特徴とする請求項1に記載の方法。
  7. 車両の電子制御ユニットに適用される車両安全始動装置であって、
    前記車両の電源を入れた後、既定の対称暗号化アルゴリズム及び対称鍵に基づいて、記憶された第1ファームウェアに署名して第1署名値を取得するように構成された署名モジュールと、
    前記第1署名値と、記憶された第2署名値とを比較し、前記第1署名値と前記第2署名値とが一致する場合、前記車両を安全に始動するように制御するように構成された制御モジュールと、を含み、
    前記対称鍵は、ファームウェアを初回に受信したときに、乱数生成アルゴリズムに基づいて生成されるものであり、
    前記第2署名値は、前記第1ファームウェアを受信するときに、前記既定の対称暗号化アルゴリズム及び前記対称鍵に基づいて暗号化して生成されるものである
    ことを特徴とする車両安全始動装置。
  8. プロセッサと、メモリとを含み、前記プロセッサと前記メモリとが接続されており、
    前記メモリが、プログラムを記憶するように構成され、
    前記プロセッサが、前記メモリに記憶されたプログラムを実行し、請求項1~6のいずれか一項に記載の方法を実行するように構成される
    ことを特徴とする電子制御ユニット。
  9. 前記プロセッサにはハードウェアセキュリティモジュールに組み込まれており、前記既定の対称暗号化アルゴリズム、前記第2署名値、前記第1ファームウェア及び前記対称鍵は、前記ハードウェアセキュリティモジュールに記憶されている
    ことを特徴とする請求項8に記載の電子制御ユニット。
  10. コンピュータによって実行されるときに請求項1~6のいずれか一項に記載の方法が実行されるコンピュータプログラムが記憶されている、コンピュータ読取可能記憶媒体。
JP2022551382A 2021-11-29 2022-05-16 車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体 Active JP7508571B2 (ja)

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
JP2024501395A true JP2024501395A (ja) 2024-01-12
JP7508571B2 JP7508571B2 (ja) 2024-07-01

Family

ID=

Also Published As

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

Similar Documents

Publication Publication Date Title
US10719606B2 (en) Security processor for an embedded system
US8732445B2 (en) Information processing device, information processing method, information processing program, and integrated circuit
US9594909B2 (en) Software updating apparatus, software updating system, invalidation method, and invalidation program
JP5690412B2 (ja) ハードウェアデバイスの鍵プロビジョン方法および装置
US10659234B2 (en) Dual-signed executable images for customer-provided integrity
JP4854677B2 (ja) 処理デバイスのメモリコンテンツの更新
US8464347B2 (en) Software updating apparatus, software updating system, alteration verification method and alteration verification program
US8789037B2 (en) Compatible trust in a computing device
CN102165457B (zh) 票券授权的安全安装和引导
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
US8392724B2 (en) Information terminal, security device, data protection method, and data protection program
JP2007293873A (ja) 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置
EP3343424B1 (en) Control board secure start method, and software package upgrade method and device
WO2011006997A1 (en) System and method for providing secure virtual machines
CN113656086A (zh) 安全存储及加载固件的方法及电子装置
CN110730159B (zh) 一种基于TrustZone的安全和可信混合系统启动方法
US10282549B2 (en) Modifying service operating system of baseboard management controller
JP6387908B2 (ja) 認証システム
WO2009090706A1 (ja) 情報処理装置および携帯電話装置
US20220182248A1 (en) Secure startup method, controller, and control system
TW202145007A (zh) 應用加速驗證映像檔方法的系統
JP7508571B2 (ja) 車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体
JP2024501395A (ja) 車両の安全始動方法、安全始動装置、電子制御ユニット及び記憶媒体
KR20190118894A (ko) 안전한 usb 장치를 보장하는 부트 방법
KR102680666B1 (ko) 차량 보안 시동 방법, 장치, 전자 제어 유닛 및 저장 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240619