JP2023543476A - Method and related devices for verifying software security of electronic devices in a vehicle - Google Patents
Method and related devices for verifying software security of electronic devices in a vehicle Download PDFInfo
- Publication number
- JP2023543476A JP2023543476A JP2023519759A JP2023519759A JP2023543476A JP 2023543476 A JP2023543476 A JP 2023543476A JP 2023519759 A JP2023519759 A JP 2023519759A JP 2023519759 A JP2023519759 A JP 2023519759A JP 2023543476 A JP2023543476 A JP 2023543476A
- Authority
- JP
- Japan
- Prior art keywords
- node
- electronic devices
- parameter
- verification
- tree
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000012795 verification Methods 0.000 claims abstract description 250
- 238000010200 validation analysis Methods 0.000 claims abstract description 129
- 230000015654 memory Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241001267692 Grapevine virus T Species 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
Abstract
本出願の実施形態は、車両内の電子デバイスのソフトウェアセキュリティを検証するための方法および関連するデバイスを提供する。方法は、N個の第1の検証パラメータを取得するステップと、N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定するステップであって、第1のノードがN個の電子デバイスの親ノードである、ステップと、トラステッドデバイスから、第1のノードに対応する第1のリファレンスパラメータを取得するステップと、第1のノードに対応する第1の検証パラメータおよび第1のノードに対応する第1のリファレンスパラメータに従って、N個の電子デバイスのソフトウェアセキュリティを検証するステップとを含む。技術的解決策は、車両の電子デバイス上で動作しているソフトウェアの完全性および信頼性を確保し得る。Embodiments of the present application provide methods and associated devices for verifying software security of electronic devices within a vehicle. The method includes the steps of: obtaining N first validation parameters; determining a first validation parameter corresponding to a first node according to the N first validation parameters; the node is a parent node of N electronic devices; obtaining a first reference parameter corresponding to the first node from the trusted device; and a first verification parameter corresponding to the first node. and verifying software security of the N electronic devices according to first reference parameters corresponding to the first node. Technical solutions may ensure the integrity and reliability of the software running on the vehicle's electronic devices.
Description
本発明の実施形態は、情報技術の分野に関し、より具体的には、車両内の電子デバイスのソフトウェアセキュリティを検証するための方法および関連するデバイスに関する。 Embodiments of the present invention relate to the field of information technology, and more particularly to a method and related device for verifying software security of electronic devices in a vehicle.
現代の自動車/車両は、数多くの電子デバイスを装備している。各電子デバイスは、他とは異なり、固有の動作を実行する。電子デバイス内のソフトウェアが動作を制御する。 Modern automobiles/vehicles are equipped with numerous electronic devices. Each electronic device is different from the others and performs unique operations. Software within the electronic device controls the operation.
数多くの電子デバイスを装備しているので、現代の車両はより脆弱である。例えば、攻撃者が、車両のアクセスを得るために、修正されたソフトウェアを電子デバイスにインストールし、機密情報を盗む可能性があり、悪意のあるソフトウェア(マルウェア)/ウイルスが車両の内部ネットワークに侵入し、車両内の電子デバイスを再プログラムする可能性がある。したがって、どのようにして車両内の電子デバイスのソフトウェアセキュリティを確保するのかは、対処される必要のある問題である。 Modern vehicles are more vulnerable because they are equipped with numerous electronic devices. For example, to gain access to a vehicle, an attacker may install modified software on an electronic device and steal sensitive information, allowing malicious software (malware)/viruses to enter the vehicle's internal network. and potentially reprogram electronic devices in the vehicle. Therefore, how to ensure software security of electronic devices in a vehicle is a problem that needs to be addressed.
本出願の実施形態は、車両内の電子デバイスのソフトウェアセキュリティを検証するための方法および関連するデバイスを提供する。技術的解決策は、車両の電子デバイス上で動作しているソフトウェアの完全性および信頼性を確保し得る。 Embodiments of the present application provide methods and associated devices for verifying software security of electronic devices within a vehicle. Technical solutions may ensure the integrity and reliability of the software running on the vehicle's electronic devices.
第1の態様によれば、本出願の一実施形態は、車両内の電子デバイスのソフトウェアバージョンを検証するための方法を提供し、方法は、N個の第1の検証パラメータを取得するステップであって、N個の第1の検証パラメータが車両内のN個の電子デバイスと一対一に対応し、N個の第1の検証パラメータのi番目の第1の検証パラメータが、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定され、Nが1よりも大きい正の整数である、ステップと、N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定するステップであって、第1のノードがN個の電子デバイスの親ノードである、ステップと、トラステッドデバイスから、第1のノードに対応する第1のリファレンスパラメータを取得するステップと、第1のノードに対応する第1の検証パラメータおよび第1のノードに対応する第1のリファレンスパラメータに従って、N個の電子デバイスのソフトウェアセキュリティを検証するステップとを含む。 According to a first aspect, an embodiment of the present application provides a method for verifying a software version of an electronic device in a vehicle, the method comprising the step of obtaining N first verification parameters. The N first verification parameters have a one-to-one correspondence with the N electronic devices in the vehicle, and the i-th first verification parameter of the N first verification parameters corresponds to the N electronic devices in the vehicle. a first verification corresponding to the first node according to a step and N first verification parameters determined according to the software image of the i-th electronic device of the device, where N is a positive integer greater than 1; determining a parameter, the first node being a parent node of the N electronic devices; and obtaining a first reference parameter corresponding to the first node from the trusted device; verifying software security of the N electronic devices according to a first verification parameter corresponding to the first node and a first reference parameter corresponding to the first node.
方法は新規であり、サーバ上および車両上の両方で複数の電子デバイスソフトウェアのバージョンを保持する効率的なやり方を導入する。方法は、車両の各電子デバイス上で動作しているソフトウェアの完全性および信頼性を確保する。攻撃者による電子デバイスソフトウェアのいかなる攻撃および悪意のある変更も正確に識別されることができる。方法は、市販品に対して容易に実施されることができる。 The method is novel and introduces an efficient way to maintain multiple electronic device software versions both on the server and on the vehicle. The method ensures the integrity and reliability of software running on each electronic device of the vehicle. Any attacks and malicious modifications of electronic device software by an attacker can be accurately identified. The method can be easily implemented on commercially available products.
1つの可能な設計では、方法は、
N個の第2の検証パラメータを取得するステップであって、N個の第2の検証パラメータがN個の電子デバイスと一対一に対応し、N個の第2の検証パラメータのi番目の第2の検証パラメータが、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定される、ステップをさらに含み、N個の第1の検証パラメータを取得するステップは、N個の第2の検証パラメータのi番目の第2の検証パラメータおよびN個の電子デバイスのi番目の電子デバイスの識別情報に従って、N個の第1の検証パラメータのi番目の第1の検証パラメータを決定するステップであって、i=1,…,Nである、ステップを含む。
In one possible design, the method is
obtaining N second verification parameters, the N second verification parameters having a one-to-one correspondence with the N electronic devices; 2 verification parameters are determined according to the software image of the i-th electronic device of the N electronic devices, and the step of obtaining the N first verification parameters is determined according to the software image of the i-th electronic device of the N electronic devices; determining the i-th first verification parameter of the N first verification parameters according to the i-th second verification parameter of the verification parameters and the identification information of the i-th electronic device of the N electronic devices; and i=1,...,N.
1つの可能な設計では、方法は、トラステッドデバイスからN個の第2のリファレンスパラメータを取得するステップであって、N個の第2のリファレンスパラメータがN個の電子デバイスと一対一に対応する、ステップと、N個の第2の検証パラメータのi番目の第2の検証パラメータおよびN個の第2のリファレンスパラメータのi番目の第2のリファレンスパラメータに従って、N個の電子デバイスのi番目の電子デバイスのソフトウェアセキュリティを検証するステップとをさらに含む。 In one possible design, the method includes obtaining N second reference parameters from the trusted device, the N second reference parameters having a one-to-one correspondence with the N electronic devices. and the i-th electron of the N electronic device according to the i-th second verification parameter of the N second verification parameters and the i-th second reference parameter of the N second reference parameters. and verifying software security of the device.
1つの可能な設計では、方法は、M個の電子デバイスに対応するツリーを決定するステップであって、ツリーがM個のノードを含み、M個のノードが車両内のM個の電子デバイスと一対一に対応し、M個の電子デバイスがN個の電子デバイスを含み、MがNよりも大きい正の整数である、ステップと、ツリー内のM個のノードの接続関係に基づいて、第1のノードがN個の電子デバイスの親ノードであると決定するステップとをさらに含む。 In one possible design, the method includes the step of determining a tree corresponding to M electronic devices, where the tree includes M nodes, and the M nodes correspond to M electronic devices in the vehicle. Based on the connection relationship between the step and the M nodes in the tree, there is a one-to-one correspondence, M electronic devices include N electronic devices, and M is a positive integer greater than N. and determining that the node is a parent node of the N electronic devices.
1つの可能な設計では、ツリーのM個のノードの接続関係と、車両内のM個の電子デバイスの接続関係とが同じである。 In one possible design, the connectivity of the M nodes of the tree is the same as the connectivity of the M electronic devices in the vehicle.
1つの可能な設計では、ツリーが、車両に対応する高さ平衡バイナリツリーである。 In one possible design, the tree is a height-balanced binary tree corresponding to a vehicle.
1つの可能な設計では、ツリーが完全平衡バイナリツリーであり、M個のノードがツリーの葉ノードであり、ツリーがK個の非葉ノードをさらに含み、Kが1よりも大きい正の整数である。 One possible design is that the tree is a fully balanced binary tree, where M nodes are leaf nodes of the tree, and where the tree further contains K non-leaf nodes, where K is a positive integer greater than 1. be.
1つの可能な設計では、方法は、第1のブロックを決定し、記憶するステップであって、第1のブロックがツリーに対応しており、第1のブロックが第1の構造情報を含み、第1の構造情報がツリーのノードの接続関係を示すために使用される、ステップと、第2のブロックを決定し、記憶するステップであって、第2のブロックが第2の構造情報を含み、第2の構造情報が、未修正の指示情報および修正された指示情報を含み、未修正の指示情報が、未更新のノードを示すために使用され、修正された指示情報が、更新されたノードの接続関係を示すために使用され、未更新のノードのそれぞれに対応する第1の検証パラメータおよび第2の検証パラメータは更新されておらず、更新されたノードのそれぞれに対応する第1の検証パラメータまたは第2の検証パラメータは更新されている、ステップとをさらに含む。 In one possible design, the method includes determining and storing a first block, the first block corresponding to a tree, the first block including first structural information, the first structural information is used to indicate a connectivity relationship of the nodes of the tree; and the step of determining and storing a second block, the second block including the second structural information. , the second structure information includes unmodified instruction information and modified instruction information, the unmodified instruction information is used to indicate an unupdated node, and the modified instruction information is used to indicate an updated node. The first validation parameter and the second validation parameter are used to indicate the connection relationship of the nodes, corresponding to each of the nodes that have not been updated, and the first validation parameter corresponding to each of the updated nodes. and the verification parameter or the second verification parameter is updated.
1つの可能な設計では、第1のブロックが、第1のブロックを記憶した時刻を示すタイムスタンプと、M個の電子デバイスに対応するソフトウェア情報とをさらに含み、第2のブロックが、第2のブロックを記憶した時刻を示すタイムスタンプと、更新された電子デバイスに対応するソフトウェア情報とをさらに含む。 In one possible design, the first block further includes a timestamp indicating the time the first block was stored and software information corresponding to the M electronic devices, and the second block further includes a timestamp indicating the time the first block was stored, and software information corresponding to the M electronic devices. and software information corresponding to the updated electronic device.
第2の態様によれば、本出願の一実施形態はコンピューティングデバイスを提供し、コンピューティングデバイスは、第1の態様の方法を実施する機能を有する。機能は、ハードウェアによって実施され得るか、または対応するソフトウェアを実行するハードウェアによって実施され得る。ソフトウェアのハードウェアは、機能に対応する1つまたは複数のモジュールを含む。 According to a second aspect, an embodiment of the present application provides a computing device, the computing device being capable of implementing the method of the first aspect. The functions may be implemented by hardware or by hardware running corresponding software. The software hardware includes one or more modules that correspond to the functionality.
第3の態様によれば、本出願の一実施形態は、命令を含むコンピュータ可読記憶媒体を提供する。コンピュータ上で命令が動作したとき、コンピュータは、第1の態様、または第1の態様のいずれかの可能な実施態様における方法を実行可能となる。 According to a third aspect, an embodiment of the present application provides a computer readable storage medium containing instructions. When the instructions are operated on the computer, the computer is enabled to carry out the method of the first aspect or any possible embodiment of the first aspect.
第4の態様によれば、プロセッサと、メモリと、通信インターフェースとを含むコンピューティングデバイスが提供される。プロセッサはメモリおよび通信インターフェースに接続される。メモリは命令を記憶するように構成され、プロセッサは命令を実行するように構成され、通信インターフェースはプロセッサの制御下で別のネットワーク要素と通信するように構成される。プロセッサがメモリに記憶された命令を実行したとき、プロセッサは、第1の態様または第1の態様の任意の可能な実装態様における方法を実行可能となる。 According to a fourth aspect, a computing device is provided that includes a processor, a memory, and a communication interface. The processor is connected to memory and a communication interface. The memory is configured to store instructions, the processor is configured to execute the instructions, and the communication interface is configured to communicate with another network element under control of the processor. When the processor executes the instructions stored in the memory, the processor is capable of performing the method of the first aspect or any possible implementation of the first aspect.
第5の態様によれば、チップシステムが提供され、チップシステムは、メモリとプロセッサとを含み、メモリはコンピュータプログラムを記憶するように構成され、プロセッサは、メモリからコンピュータプログラムを呼び出してコンピュータプログラムを動作させるように構成され、その結果、チップが配置されたサーバは、第1の態様または第1の態様の任意の可能な実装態様における方法を実行する。 According to a fifth aspect, a chip system is provided, the chip system including a memory and a processor, the memory configured to store a computer program, and the processor recalling a computer program from the memory to execute the computer program. The server configured to operate so that the chip is arranged performs the method of the first aspect or any possible implementation of the first aspect.
第6の態様によれば、コンピュータプログラム製品が提供され、コンピュータプログラム製品がサーバ上で動作したとき、サーバは、第1の態様または第1の態様の任意の可能な実装態様における方法を実行可能となる。 According to a sixth aspect, a computer program product is provided, and when the computer program product is operated on a server, the server is capable of executing the method of the first aspect or any possible implementation of the first aspect. becomes.
以下は、添付の図面を参照しつつ、本出願の技術的解決策を説明する。 The following describes the technical solution of the present application with reference to the accompanying drawings.
本出願に係る車両内の電子デバイスは、テレマティクスボックス(TBox)、セントラルコントローラ(CC)、ドメインコントローラ(DC)およびエレクトロニック・コントロール・ユニット(ECU)などを含み得る。 Electronic devices in a vehicle according to the present application may include a telematics box (TBox), a central controller (CC), a domain controller (DC), an electronic control unit (ECU), etc.
図1は、本出願の一実施形態に係る車両内の電子デバイスの概略ブロック図である。 FIG. 1 is a schematic block diagram of an electronic device in a vehicle according to an embodiment of the present application.
図1に示されるように、電子デバイス100は、トランシーバ101と、プロセッサ102と、メモリ103とを含み得る。 As shown in FIG. 1, electronic device 100 may include transceiver 101, processor 102, and memory 103.
トランシーバ1001は他の電子デバイスと通信するように構成され得る。トランシーバ1001は制御情報および/またはデータを他の電子デバイスに送信し得、トランシーバ1001は他の電子デバイスから制御情報および/またはデータを受信し得る。例えば、トランシーバ1001は、サーバから更新バンドルを受信し得、受信された更新バンドルに含まれる1つまたは複数のパッチを車両内の対応する電子デバイスに送信し得、対応する電子デバイスから更新フィードバック情報を受信し得る。 Transceiver 1001 may be configured to communicate with other electronic devices. Transceiver 1001 may transmit control information and/or data to other electronic devices, and transceiver 1001 may receive control information and/or data from other electronic devices. For example, transceiver 1001 may receive an update bundle from a server, transmit one or more patches included in the received update bundle to a corresponding electronic device in a vehicle, and receive update feedback information from the corresponding electronic device. can be received.
メモリ103は、プロセッサ102によって実行されるコード、命令などを記憶するように構成され得る。言い換えれば、電子デバイス100のソフトウェアに関連する命令およびデータがメモリ103に記憶される。 Memory 103 may be configured to store code, instructions, etc. that are executed by processor 102. In other words, instructions and data related to the software of electronic device 100 are stored in memory 103.
本出願は、ソフトウェアとファームウェアとを区別しない。本出願で言及されるソフトウェアは、ファームウェアを示すためにも使用され得る。 This application does not distinguish between software and firmware. Software referred to in this application may also be used to refer to firmware.
図2は、車両内の電子デバイスの概略構造図である。 FIG. 2 is a schematic structural diagram of an electronic device in a vehicle.
図2を参照して、車両200は、14個の電子デバイス、すなわち、TBox201と、CC210と、DC220と、DC230と、DC240と、ECU221と、ECU222と、ECU223と、ECU231と、ECU232と、ECU241と、ECU242と、ECU243と、ECU244とを含む。
Referring to FIG. 2,
TBox201は、CC210に繋がっている。DC220、DC230およびDC240は、CC210に繋がっている。ECU221、ECU222およびECU213は、DC220に繋がっており、ECU231およびECU232はDC230に繋がっており、ECU241、ECU242、ECU243およびECU244は、DC240に繋がっている。 TBox201 is connected to CC210. DC220, DC230 and DC240 are connected to CC210. ECU221, ECU222 and ECU213 are connected to DC220, ECU231 and ECU232 are connected to DC230, and ECU241, ECU242, ECU243 and ECU244 are connected to DC240.
TBox201は、無線通信モジュールを内蔵している。TBox201は、ワイヤレスフィデリティ(Wi-Fi)、ロング・ターム・エボリューション(LTE)、第5世代(5G)モバイルネットワークなどのような無線通信方法のいずれかを介して、Over-Top-Air(OTA)サーバと通信し得る。 TBox201 has a built-in wireless communication module. The TBox201 supports Over-Top-Air (OTA) via any of the wireless communication methods like Wireless Fidelity (Wi-Fi), Long Term Evolution (LTE), 5th Generation (5G) mobile networks, etc. May communicate with the server.
図3は、本出願の一実施形態に係るシステムを示している。 FIG. 3 shows a system according to one embodiment of the present application.
図3を参照すると、システムは、サーバ300と車両200とを含む。サーバ300は、車両200内の電子デバイスのソフトウェアセキュリティを検証するために使用されることができるサーバ、例えば、OTAサーバまたは他のタイプのサーバであり得る。
Referring to FIG. 3, the system includes a
車両200は複数の車両のうちの1つであることに留意されたい。これらの車両はすべてサーバ300に対応する。サーバ300は、これらの車両のうちの任意の1つの中の電子デバイスのソフトウェアセキュリティを検証するために使用され得る。記載を簡単にするために、図3は、1つの車両(すなわち、車両200)のみを示している。
Note that
本出願の実施形態は、図2および図3に関連して以下に説明され得る。 Embodiments of the present application may be described below in connection with FIGS. 2 and 3.
車両200およびサーバ300は、車両内の電子デバイスのソフトウェアを管理するためにグローバル・バージョン・ツリー(GVT)および車両バージョン・ツリー(VVT)を使用し得る。
各車両は対応するVVTを有する。異なる車両に対応するVVTは異なり得る。車両200に対応するVVTは、車両200内の電子デバイスそれぞれのソフトウェア情報を含む。車両200およびサーバ300に記憶されたVVTは、車両200内の電子デバイスのそれぞれの現在のソフトウェア情報を含み得る。記載を簡単にするために、車両に対応するVVTはVVTVEHと称され、車両200に記憶されたVVTはVVTVEH_Vと称され、サーバに記憶されたVVTはVVTVEH_Sと称される。
Each vehicle has a corresponding VVT. The VVT corresponding to different vehicles may be different. The VVT corresponding to
車両200内の電子デバイスのソフトウェアが更新された後、VVTVEHと、VVTVEH_Vと、VVTVEH_Sとは同じである。
After the software of the electronic devices in
図4は、VVTの一例を示している。 Figure 4 shows an example of VVT.
図4に示されるVVTでは、車両200内の電子デバイスの1つのソフトウェア情報のフォーマットは、[MFR_ID,DEV_ID:Version]であり得、MFR_IDは、電子デバイスのタイプおよび製造業者を識別するためのIDであり、DEV_IDは、電子デバイスの一意のIDであり、Versionは、電子デバイスの現在のソフトウェアバージョンである。例えば、TBox201のソフトウェア情報は[MFR_AA,0x01:V4]であり、これは、TBox201のタイプおよびTBox201の製造業者を識別するためのIDがMFR_AAであり、TBox201のIDが0x01であり、TBox201の現在のソフトウェアバージョンがV4であることを意味する。
In the VVT shown in FIG. 4, the format of software information for one of the electronic devices in the
各車種は対応するGVTを有する。例えば、BMW-series-2-2019Q1はGVT1に対応し、BMW-series-2-2016Q2はGVT2に対応する。異なる車種は、異なる電子デバイスを装備し得る。したがって、異なる車種に対応するGVTは異なる情報を含み得る。 Each vehicle type has a corresponding GVT. For example, BMW-series-2-2019Q1 corresponds to GVT1, and BMW-series-2-2016Q2 corresponds to GVT2. Different vehicle models may be equipped with different electronic devices. Therefore, GVTs corresponding to different vehicle types may include different information.
車両200に記憶されているGVTおよびサーバ300に記憶されているGTVは、車両200の車種に対応するGVTである。記載を簡単にするために、車両200の車種はターゲットモデルと称され、ターゲットモデルに対応するGVTはGVTTGTと称され、車両200に記憶されているGVTはGVTTGT_Vと称され、サーバに記憶されているGVTはGVTTGT_Sと称される。
The GVT stored in
車両200内の電子デバイスのソフトウェアが更新された後、GVTTGTと、GVTTGT_Vと、GVTTGT_Sとは同じである。
After the software of the electronic devices in
図5は、GVTの一例を示している。 Figure 5 shows an example of GVT.
図5に示されるGVTでは、ターゲットモデル内の電子デバイスの1つのソフトウェア情報のフォーマットは、[MFR_ID,:Version]であり得、MFR_IDは、電子デバイスのタイプおよび製造業者を識別するためのIDであり、Versionは、電子デバイスの現在のソフトウェアバージョンである。例えば、TBox201のソフトウェア情報は[MFR_AA,:V4]であり、これは、TBox201のタイプおよびTBox201の製造業者を識別するためのIDがMFR_AAであり、TBox201の現在のソフトウェアバージョンがV4であることを意味する。 In the GVT shown in Figure 5, the format of software information for one of the electronic devices in the target model can be [MFR_ID,:Version], where MFR_ID is an ID to identify the type and manufacturer of the electronic device. Yes, Version is the current software version of the electronic device. For example, the software information of TBox201 is [MFR_AA,:V4], which means that the ID for identifying the type of TBox201 and the manufacturer of TBox201 is MFR_AA, and the current software version of TBox201 is V4. means.
理想的には、VVTVEH、VVTVEH_V、VVTVEH_S、GVTTGT、GVTTGT_VおよびGVTTGT_S内の電子デバイスの現在のソフトウェアバージョンは同じである。 Ideally, the current software versions of the electronic devices in VVT VEH , VVT VEH_V , VVT VEH_S , GVT TGT , GVT TGT_V and GVT TGT_S are the same.
図6は、車両内の電子デバイスのソフトウェアセキュリティを検証するための方法の実施形態のフローチャートである。 FIG. 6 is a flowchart of an embodiment of a method for verifying software security of electronic devices in a vehicle.
いくつかの実施形態では、図6に示される方法は、車両または車両のコンポーネント(例えば、チップまたは回路)によって実行され得る。 In some embodiments, the method shown in FIG. 6 may be performed by a vehicle or a component of a vehicle (eg, a chip or circuit).
いくつかの実施形態では、図6に示される方法は、車両に対応するサーバまたはサーバのコンポーネント(例えば、チップまたは回路)によって実行され得る。 In some embodiments, the method illustrated in FIG. 6 may be performed by a server or a component of a server (eg, a chip or circuit) corresponding to a vehicle.
図3が一例にとられる。いくつかの実施形態では、車両200または車両200のコンポーネントは、図6に示される方法を実施し得る。いくつかの実施形態では、サーバ300またはサーバ300のコンポーネントは、図6に示される方法を実施し得る。
Figure 3 is taken as an example. In some embodiments,
いくつかの実施形態では、図6に示される異なるステップは、車両および/または車両に対応するサーバの、異なるコンポーネントによって実施され得る。 In some embodiments, the different steps shown in FIG. 6 may be performed by different components of the vehicle and/or the server corresponding to the vehicle.
例えば、車両200の電子デバイスのそれぞれは、それ自体の第2の検証パラメータを決定し得、第2の検証パラメータを車両200のチップに送信し得、チップは、第1の検証パラメータを決定するため、および比較ステップを実行するために使用される。
For example, each of the electronic devices of
別の例として、車両200の電子デバイスのそれぞれは、それ自体の第2の検証パラメータを決定し得、第2の検証パラメータをTBox201に送信し得る。TBox201は、第2の検証パラメータをサーバ300に送信する。サーバ300は、第1の検証パラメータを決定し、比較ステップを実行する。
As another example, each of the electronic devices of
別の例として、車両200の電子デバイスのそれぞれは、それ自体の第2の検証パラメータを決定し得、第2の検証パラメータを車両200のチップに送信し得、チップは、第1の検証パラメータを決定するために使用される。チップは、第1の検証パラメータおよび第2の検証パラメータを車両200のトランスミッタに送信し得る。トランスミッタは、第1の検証パラメータおよび第2の検証パラメータをサーバ300に送信し得る。サーバ300は、受信された検証パラメータに従って比較ステップを実行する。
As another example, each of the electronic devices of
図6に示される方法は、図2および図3に関連して以下に説明され得る。加えて、図6に関する以下の説明では、方法は車両200によって実行されると仮定する。
The method shown in FIG. 6 may be described below in connection with FIGS. 2 and 3. Additionally, the following description with respect to FIG. 6 assumes that the method is performed by
601:車両200が14個の第1のソフトウェアパラメータを取得する。
601:
14個の第1のソフトウェアパラメータは、車両200の14個の電子デバイス(すなわち、図2に示される電子デバイス)と一対一に対応する。記載を簡単にするために、TBox201に対応する第1のソフトウェアパラメータはFst201と称され、CC210に対応する第1のソフトウェアパラメータはFst210と称され、DC220に対応する第1のソフトウェアパラメータはFst220と称される、などである。 The 14 first software parameters have a one-to-one correspondence with the 14 electronic devices of vehicle 200 (ie, the electronic devices shown in FIG. 2). For ease of description, the first software parameter corresponding to TBox201 is referred to as F st201 , the first software parameter corresponding to CC210 is referred to as F st210 , and the first software parameter corresponding to DC220 is referred to as F st201. It is called F st220 , etc.
いくつかの実施形態では、電子デバイスに対応する第1のソフトウェアパラメータは、電子デバイスのソフトウェアイメージであり得る。電子デバイスのソフトウェアイメージは、電子デバイスのソフトウェア情報を反映し得る。異なるソフトウェアのソフトウェアイメージは異なり、同じソフトウェアの異なるバージョンのソフトウェアイメージも異なる。例えば、TBox201のソフトウェアイメージは、CC210のソフトウェアイメージと異なる。電子デバイスのソフトウェアが更新されている場合、電子のソフトウェアイメージはそれに応じて変更されることになる。電子デバイスのソフトウェアにマルウェアが埋め込まれている場合、電子デバイスのソフトウェアイメージは、マルウェアが含まれていない電子デバイスのソフトウェアイメージと異なることになる。 In some embodiments, the first software parameter corresponding to the electronic device may be a software image of the electronic device. A software image of an electronic device may reflect software information of the electronic device. The software images of different software are different, and the software images of different versions of the same software are also different. For example, the software image for TBox201 is different from the software image for CC210. If the electronic device's software is updated, the electronic software image will change accordingly. If malware is embedded in the software of an electronic device, the software image of the electronic device will be different from the software image of an electronic device that does not contain malware.
いくつかの実施形態では、電子デバイスに対応する第1のソフトウェアパラメータは、電子デバイスのソフトウェアを更新するためのパッチであり得る。 In some embodiments, the first software parameter corresponding to the electronic device may be a patch for updating software of the electronic device.
いくつかの実施形態では、電子デバイスに対応する第1のソフトウェアパラメータは、電子デバイスのソフトウェアのキーコードであり得る。 In some embodiments, the first software parameter corresponding to the electronic device may be a software key code for the electronic device.
いくつかの実施形態では、電子デバイスに対応する第1のソフトウェアパラメータは、電子デバイスのソフトウェアイメージ、電子デバイスのMFR_IDおよびDEV_IDを含み得る。 In some embodiments, the first software parameter corresponding to the electronic device may include a software image of the electronic device, a MFR_ID and a DEV_ID of the electronic device.
いくつかの実施形態では、電子デバイスに対応する第1のソフトウェアパラメータは、電子デバイスに対応する第2の検証パラメータであり得る。例えば、電子デバイスは、ハードウェア・セキュリティ・モジュール(HSM)またはトラステッド・プラットフォーム・モジュール(TPM)を含み得る。HSM/TPMが利用可能である場合、HSM/TPMは、電子デバイスの、ソフトウェアイメージ/ソフトウェアを更新するためのパッチ/ソフトウェアのキーコード、に従って、電子デバイスの第2の検証パラメータを決定し得る。HSM/TPMが利用可能でないか、または電子デバイスがHSM/TPMを含まない場合、電子デバイスは、ソフトウェアイメージ/ソフトウェアを更新するためのパッチ/ソフトウェアのキーコードを、トラスト電子デバイスに送信し得る。トラスト電子デバイスは、受信されたソフトウェアイメージ/パッチ/キーコードに従って電子デバイスの第2の検証パラメータを決定し得る。トラスト電子デバイスは、第2の検証パラメータを決定することができない電子デバイスの親/先祖電子デバイスであり得る。例えば、ECU221のHSM/TPMが利用可能でない場合、ECU221のトラストノードはDC220またはCC210であり得る。第2の検証パラメータを決定するステップの詳細は後述される。
In some embodiments, the first software parameter corresponding to the electronic device may be a second verification parameter corresponding to the electronic device. For example, an electronic device may include a hardware security module (HSM) or a trusted platform module (TPM). If the HSM/TPM is available, the HSM/TPM may determine a second verification parameter of the electronic device according to the electronic device's software image/patch for updating the software/software key code. If an HSM/TPM is not available or the electronic device does not include an HSM/TPM, the electronic device may send a patch/software key code to update the software image/software to the trusted electronic device. The trust electronic device may determine a second verification parameter of the electronic device according to the received software image/patch/key code. The trusted electronic device may be a parent/ancestor electronic device of the electronic device that is unable to determine the second verification parameter. For example, if ECU 221's HSM/TPM is not available, ECU 221's trust node may be
図18は、ECUがHSM/TPMを有する場合にECUの第2の検証パラメータを取り出すための手順を示している。 FIG. 18 shows a procedure for retrieving the second verification parameter of an ECU when the ECU has an HSM/TPM.
図19は、ECUがHSM/TPMを有しない場合にECUの第2の検証パラメータを取り出すための手順を示している。 FIG. 19 shows a procedure for retrieving the second verification parameter of an ECU when the ECU does not have an HSM/TPM.
いくつかの実施形態では、14個の第1のソフトウェアパラメータのすべてが、ソフトウェアイメージまたはパッチまたはキーコードであり得る。 In some embodiments, all fourteen first software parameters may be software images or patches or key codes.
いくつかの実施形態では、14個の第1のソフトウェアパラメータのすべてが第2の検証パラメータであり得る。 In some embodiments, all 14 first software parameters may be second validation parameters.
いくつかの他の実施形態では、14個の電子デバイスの一部が第2の検証パラメータを決定することができず、14個の電子デバイスの残りが第2の検証パラメータを決定することができるので、14個の第1のソフトウェアパラメータの一部はソフトウェアイメージまたはパッチまたはキーコードであり得、14個のソフトウェアパラメータの残りは第2の検証パラメータであり得る。 In some other embodiments, some of the 14 electronic devices may not be able to determine the second verification parameter and the remainder of the 14 electronic devices may be able to determine the second verification parameter. So, some of the 14 first software parameters can be software images or patches or key codes, and the rest of the 14 software parameters can be second verification parameters.
説明を簡単にするために、以下の実施形態では、14個の第1のソフトウェアパラメータのすべてがソフトウェアイメージであると仮定する。 For ease of explanation, the following embodiment assumes that all 14 first software parameters are software images.
602:車両200が14個の電子デバイスに対応するツリーを決定する。
602:
いくつかの実施形態では、ツリーは14個のノードを含み得る。14個のノードは、車両200内の14個の電子デバイスと一対一に対応する。
In some embodiments, the tree may include 14 nodes. The 14 nodes correspond one-to-one with the 14 electronic devices within
いくつかの実施形態では、ツリー内の14個のノード間の接続関係は、車両内の14個の電子デバイス間の接続関係と同じであり得る。記載を簡単にするために、TBox201に対応するノードはノード201と称され、CC210に対応するノードはノード210と称され、DC220に対応するノードはノード220と称される、などである。
In some embodiments, the connectivity between the 14 nodes in the tree may be the same as the connectivity between the 14 electronic devices within the vehicle. For ease of description, the node corresponding to
図7は、車両200に対応するツリーを示している。
FIG. 7 shows a tree corresponding to
図7を参照すると、ツリー700は14個のノードを含む。図7に示されるノードの接続関係は、図2に示される電子デバイスの接続関係と同じである。例えば、ツリー700のレベル0は、1つのノード、すなわちノード201を含む。ノード201は、ノード210に繋がっている。図2を参照すると、ノード201に対応するTBox201は、ノード210に対応するCC210に繋がっている。
Referring to FIG. 7, tree 700 includes 14 nodes. The connection relationship of the nodes shown in FIG. 7 is the same as the connection relationship of the electronic device shown in FIG. 2. For example, level 0 of tree 700 includes one node,
いくつかの実施形態では、ツリー内の14個のノード間の接続関係は、車両200内の14個の電子デバイス間の接続関係と異なり得る。例えば、車両200に対応するツリーは、高さ平衡バイナリツリー(Height Balanced Binary Tree、HBBT)、完全平衡バイナリツリー(マークルツリー)などであり得る。
In some embodiments, the connectivity relationships between the 14 nodes in the tree may differ from the connectivity relationships between the 14 electronic devices within
図8は、車両200に対応する別のツリーを示している。
FIG. 8 shows another tree corresponding to
図8は、HBBTを示している。図8に示されるように、ツリー800の各内部ノードは、高々2つの子ノードを有する。例えば、ノード210は2つの子ノード、すなわち、ノード230およびノード240を有し、ノード221は1つの子ノード、すなわち、ノード223を有する。
Figure 8 shows the HBBT. As shown in FIG. 8, each internal node of tree 800 has at most two child nodes. For example,
図9は、車両200に対応する別のツリーを示している。
FIG. 9 shows another tree corresponding to
図9は、マークルツリーを示している。図9に示されるように、ツリー900の各内部ノードは2つの子ノードを有する。例えば、ノード210は2つの子ノード、すなわち、ノード230およびノード240を有する。14個の電子デバイスに対応する14個のノード以外に、ツリー900はダミーノード、すなわちNodeDをさらに含む。ダミーノードのソフトウェアパラメータは、予め設定された値、または予め設定されたノード、例えばノード244の、ソフトウェアパラメータと同じである。
Figure 9 shows a Merkle tree. As shown in FIG. 9, each internal node of tree 900 has two child nodes. For example,
603:車両200が、14個の第1のソフトウェアパラメータに従って14個の第2の検証パラメータをそれぞれ決定する。
603: The
電子デバイスに対応する第2の検証パラメータは、電子デバイスの第1のソフトウェアパラメータに従って決定される。記載を簡単にするために、TBox201に対応する第2の検証パラメータはHi_201と称され、CC210に対応する第2の検証パラメータはHi_210と称され、DC220に対応する第2の検証パラメータはHi_220と称される、などである。 A second verification parameter corresponding to the electronic device is determined according to a first software parameter of the electronic device. For ease of description, the second validation parameter corresponding to TBox201 is referred to as H i_201 , the second validation parameter corresponding to CC210 is referred to as H i_210 , and the second validation parameter corresponding to DC220 is It is called H i_220 , and so on.
Hi_201は、Fst201に従って決定される。言い換えれば、TBox201に対応する第2の検証パラメータは、TBox201の第1のソフトウェアパラメータに従って決定される。同様に、Hi_210はFst210に従って決定され、Hi_220はFst220等に従って決定される、などである。 H i_201 is determined according to F st201 . In other words, the second verification parameter corresponding to TBox201 is determined according to the first software parameter of TBox201. Similarly, H i_210 is determined according to F st210 , H i_220 is determined according to F st220 , and so on.
いくつかの実施形態では、第2の検証パラメータは、以下の式に従って決定され得る。
Hi_X=H(FstX) (式1.1)
In some embodiments, the second validation parameter may be determined according to the following formula:
H i_X = H(F stX ) (Formula 1.1)
Hi_Xは電子デバイスXの第2の検証パラメータであり、FstXは電子デバイスXの第1のソフトウェアパラメータである。H(FstX)はFstXに対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、TBox201の第1のソフトウェアパラメータに対してハッシュ計算を実行し得る。ハッシュ値は、TBox201に対応する第2の検証パラメータ、すなわちHi_201である。
H i_X is the second verification parameter of electronic device X, and F stX is the first software parameter of electronic device X. H(F stX ) is a hash calculation for F stX . For example,
いくつかの実施形態では、第2の検証パラメータは、以下の式に従って決定され得る。
Hi_X=H(FstX,REFparX) (式1.2)
In some embodiments, the second validation parameter may be determined according to the following formula:
H i_X = H (F stX , REF parX ) (Equation 1.2)
Hi_Xは電子デバイスXの第2の検証パラメータであり、FstXは電子デバイスXの第1のソフトウェアパラメータである。REFparXは電子デバイスXに関するリファレンスパラメータである。REFparXは電子デバイスXに対応する1つまたは複数のパラメータを含み得る。例えば、REFparXは、以下、すなわち、現在時刻を示すタイムスタンプ、電子デバイスXのソフトウェアインストール時刻を示すタイムスタンプ、車両200のGVTもしくはVVTの更新または電子デバイスに対応するツリーの構築、を完了した時刻を示すタイムスタンプ、電子デバイスXのソフトウェアバージョン、電子デバイスXのMFR_IDまたはDEV_IDなど、のうちのいずれか1つまたは複数を含み得る。H(FstX,REFparX)は、FstXおよびREFparXに対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、TBox201の第1のソフトウェアパラメータ、およびTBox201に対応する1つまたは複数のパラメータに対してハッシュ計算を実行し得る。ハッシュ値は、TBox201に対応する第2の検証パラメータ、すなわちHi_201である。
H i_X is the second verification parameter of electronic device X, and F stX is the first software parameter of electronic device X. REF parX is a reference parameter regarding electronic device X. REF parX may include one or more parameters corresponding to electronic device X. For example, REF parX has completed the following: a timestamp indicating the current time, a timestamp indicating the software installation time of electronic device X, updating the GVT or VVT of
本出願の実施形態に係るハッシュ計算のアルゴリズムは、セキュア・ハッシュ・アルゴリズム(SHA)、SHA2アルゴリズム、メッセージダイジェスト5(MD5)アルゴリズムなどであり得、それは本発明の実施形態では特に限定されない。 The hash calculation algorithm according to the embodiment of the present application may be a secure hash algorithm (SHA), SHA2 algorithm, message digest 5 (MD5) algorithm, etc., and is not particularly limited in the embodiment of the present invention.
604:ツリー内のノードの接続関係に基づいて、車両200が、14個の第2の検証パラメータに従って少なくとも1つの第1の検証パラメータを決定し得る。
604: Based on the connectivity of the nodes in the tree, the
第1の検証パラメータの数は、ツリー内のノードの数と同じであり得る。 The number of first validation parameters may be the same as the number of nodes in the tree.
例えば、図7または図8に示されるツリーについては、車両は14個の第1の検証パラメータを決定し得る。図9に示されるツリーについては、車両は15個の第1の検証パラメータを決定し得る。 For example, for the tree shown in FIG. 7 or FIG. 8, the vehicle may determine 14 first verification parameters. For the tree shown in FIG. 9, the vehicle may determine 15 first verification parameters.
どのようにして第1の検証パラメータを決定するのかに関する詳細は、図7に関連して以下に説明され得る。記載を簡単にするために、対応する電子デバイスを表すためにノードが使用される。例えば、ノード210の第1/第2の検証パラメータは、CC210に対応する第1/第2の検証パラメータを表す。
Details regarding how to determine the first verification parameter may be described below in connection with FIG. 7. For ease of description, nodes are used to represent corresponding electronic devices. For example, the first/second verification parameters of
本発明の実施形態の理解を容易にするために、本発明の実施形態で使用されるツリーに関する基本概念が以下に説明される。 To facilitate understanding of embodiments of the present invention, basic concepts regarding trees used in embodiments of the present invention are explained below.
1:ルートノード
ルートノードは、ツリーの区別された最初のまたは基本のアイテムであり、親を持たない唯一のアイテムである。例えば、ノード201は、ツリー700のルートノードである。
1: Root Node The root node is the first distinct or basic item in the tree, and the only item without a parent. For example,
2:葉ノード
葉ノードは、外部ノードまたは終端ノードとも称され得る。葉ノードは、いかなる子も有しない、ツリー内のノードである。例えば、ノード221~223、231~232、および241~244は、ツリー700の葉ノードである。
2: Leaf Nodes Leaf nodes may also be referred to as external nodes or terminal nodes. A leaf node is a node in the tree that does not have any children. For example, nodes 221-223, 231-232, and 241-244 are leaf nodes of tree 700.
3:内部ノード
内部ノードは、非終端ノードまたは非葉ノードとも称され得る。内部ノードは、1つまたは複数の子ノードを有する、ツリーのノード、言い換えれば、葉ではない、ツリーのノードである。例えば、ノード210、220、230および240は、ツリー700の内部ノードである。
3: Internal Nodes Internal nodes may also be referred to as non-terminal nodes or non-leaf nodes. An internal node is a node of a tree that has one or more child nodes, in other words, a node of a tree that is not a leaf. For example,
4:親ノード
ノードへ上向きに1つのエッジを有する、ルートノード以外の任意のノードは、親ノードである。例えば、ツリー700において、ノード220はノード221、222および223の親ノードであり、ノード210はノード220、230および240の親ノードである。
4: Parent Node Any node other than the root node that has one edge upward to the node is a parent node. For example, in tree 700,
5:子ノード
それのエッジによって下向きに接続された、所与のノードの下のノードは、それの子ノードと呼ばれる。例えば、ツリー700において、ノード221、222および223はノード220の子ノードであり、ノード220、230および240はノード210の子ノードである。
5: Child Nodes Nodes below a given node, connected downward by its edges, are called its child nodes. For example, in tree 700, nodes 221, 222, and 223 are child nodes of
6:子孫ノード
子孫ノードは、何レベル下であっても、階層ツリーの下に接続されている任意の要素を指す。子孫は、子供、孫、ひ孫などである。例えば、ツリー700において、ノード222は、ノード220、210および201の子孫ノードであり、ノード230は、ノード210および201の子孫ノードである。
6: Descendant Node A descendant node refers to any element connected down the hierarchical tree, no matter how many levels down. Descendants include children, grandchildren, great-grandchildren, etc. For example, in tree 700, node 222 is a descendant node of
7:先祖ノード
先祖は、何レベル上であっても、階層ツリーにおいてさらに上に接続されている任意の要素である。先祖は、親、祖父母、曾祖父母などである。例えば、ツリー700において、ノード220は、ノード221、222および223の先祖ノードである。ノード210は、ノード221、222および223の先祖ノードである。
7: Ancestor Node An ancestor is any element that is connected further up in the hierarchical tree, no matter how many levels up. Ancestors include parents, grandparents, great-grandparents, etc. For example, in tree 700,
8:レベル
ノードのレベルは、1+そのノードとルートノードとの間の接続の数によって定義される。例えば、ルートノードのレベルは0であり、ノード210のレベルは1であり、ノード220のレベルは2である。
8: Level The level of a node is defined by 1 + the number of connections between that node and the root node. For example, the root node has level 0,
ツリー700の葉ノードの第1の検証パラメータは、葉ノードの第2の検証パラメータおよび葉ノードの識別情報に従って決定される。 A first validation parameter of a leaf node of tree 700 is determined according to a second validation parameter of the leaf node and an identity of the leaf node.
葉ノードの第1の検証パラメータは、以下の式に従って決定され得る。
Hn_X=H(Hi_X,IDinfoX) (式1.3)
The first validation parameter of a leaf node may be determined according to the following formula:
H n_X = H (H i_X , ID infoX ) (Formula 1.3)
Hn_Xは、電子デバイスX(葉ノードX)の第1の検証パラメータである。Hi_Xは、電子デバイスX(葉ノードX)の第2の検証パラメータであり、IDinfoXは、電子デバイスX(葉ノードX)の識別情報である。H(Hi_X,IDinfoX)は、Hi_X、IDinfoXに対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、ノード221の第2のパラメータおよびノード221の識別情報に対してハッシュ計算を実行し得る。ハッシュ値は、ノード221(すなわち、ECU221)に対応する第1の検証パラメータ、すなわちHn_221である。
H n_X is the first verification parameter of electronic device X (leaf node X). H i_X is the second verification parameter of electronic device X (leaf node X), and ID infoX is identification information of electronic device X (leaf node X). H (H i_X , ID infoX ) is a hash calculation for H i_X , ID infoX . For example,
内部ノードについては、第1の検証パラメータは、内部ノードの子ノードの第1の検証パラメータ、内部ノードの第2の検証パラメータ、および内部ノードの識別情報に従って決定され得る。 For an internal node, a first validation parameter may be determined according to a first validation parameter of a child node of the internal node, a second validation parameter of the internal node, and an identity of the internal node.
例えば、ノード210の第1の検証パラメータは、ノード210の第2の検証パラメータ、ノード220、ノード230、およびノード240の第1の検証パラメータ、ならびにノード210の識別情報に従って決定され得る。言い換えれば、Hn_210は、Hi_210、Hn_220、Hn_230、Hn_240、およびIDinfo210に従って決定され得、IDinfor210は、ノード210の識別情報である。
For example, the first verification parameter of
別の例として、ノード201の第1の検証パラメータは、ノード201の第2の検証パラメータ、ノード210の第1の検証パラメータ、およびノード201の識別情報に従って決定され得る。
As another example, the first verification parameter of
内部ノードの第1の検証パラメータは、以下の式に従って決定され得る。
Hn_Y=H(Hi_Y,Hn_chY,IDinfoY) (式1.4)
The first validation parameter of an internal node may be determined according to the following formula:
H n_Y = H (H i_Y , H n_chY , ID infoY ) (Formula 1.4)
Hn_Yは、電子デバイスY(内部ノードY)の第1の検証パラメータである。Hi_Yは、電子デバイスY(内部ノードY)の第2の検証パラメータである。Hn_chYは、すべての、内部ノードYの子ノードの、第1の検証パラメータである。というのは、内部ノードYがノード220である場合、Hn_chYは、Hn_221、Hn_222、およびHn_223を含み得、内部ノードYがノード210である場合、Hn_chYは、Hn_220、Hn_230、およびHn_240を含み得、内部ノードYがノード201である場合、Hn_chYは単にHn_210を含み得ることになるからである。IDinfoYは、電子デバイスY(内部ノードY)の識別情報である。H(Hi_Y,Hn_chY,IDinfoY)は、Hi_X、Hn_chY、IDinfoXに対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、Hi_210、Hn_220、Hn_230、Hn_240、IDinfo210に対してハッシュ計算を実行し得る。ハッシュ値は、ノード210(CC210)に対応する第1の検証パラメータ、すなわちHn_210である。
H n_Y is the first verification parameter of electronic device Y (internal node Y). H i_Y is the second verification parameter of electronic device Y (internal node Y). H n_chY is the first validation parameter of all child nodes of internal node Y. For if internal node Y is
いくつかの実施形態では、ノードの識別情報は、レベルIDおよびノードIDを含み得る。レベルIDは、ノードのレベルを示す。ノードIDは、異なるノードを区別するために使用される。言い換えれば、異なるノードのノードIDは異なる。 In some embodiments, a node's identification information may include a level ID and a node ID. The level ID indicates the level of the node. Node IDs are used to distinguish between different nodes. In other words, different nodes have different node IDs.
図10は、車両200に対応するツリーを示している。
FIG. 10 shows a tree corresponding to
図10は、ツリー700内の各ノードの識別情報を示している。例えば、ノード201の識別情報は0:0であり、左の0はノード201のレベルIDであり、右の0はノード201のノードIDである。同様に、ノード230の識別情報は2:6であり、2はレベルIDであり、6はノードIDである。
FIG. 10 shows identification information for each node in tree 700. For example, the identification information of the
上述の実施形態によれば、ノードの識別情報がレベルIDおよびノードIDを含むので、ノードの識別情報の識別情報に従って、ノードのレベルおよびノードの識別が決定され得る。 According to the embodiments described above, since the identification information of the node includes the level ID and the node ID, the level of the node and the identification of the node can be determined according to the identification information of the identification information of the node.
いくつかの実施形態では、ノードの識別情報は、ノードIDを単に含み得る。 In some embodiments, a node's identification information may simply include a node ID.
いくつかの実施形態では、ノードの識別情報は、ノードに対応する電子デバイスのDEV_IDまたはMFR_IDであり得る。 In some embodiments, the identification information of the node may be the DEV_ID or MFR_ID of the electronic device corresponding to the node.
内部ノードの第1の検証パラメータは、それの子ノードの第1の検証パラメータに従って決定される。したがって、それの子ノードのうちの1つについての第1の検証パラメータが変更された場合、内部ノードの第1の検証パラメータが再計算されることになる。内部ノード(以下、内部ノード1)の子ノードも内部ノード(以下、内部ノード2)である場合、内部ノード1の第1の検証パラメータは、それの孫ノード(すなわち、内部ノード2の子ノード)によって影響されることになる。 The first validation parameter of an internal node is determined according to the first validation parameter of its child nodes. Therefore, if the first validation parameter for one of its child nodes changes, the first validation parameter of the internal node will be recalculated. If the child node of an internal node (hereinafter referred to as internal node 1) is also an internal node (hereinafter referred to as internal node 2), then the first validation parameter of internal node 1 is the child node of its grandchild node (i.e., the child node of internal node 2). ) will be influenced by
ツリー700を一例にとると、ノード244のソフトウェアが更新された場合、ノード244のソフトウェアパラメータはそれに対応して更新されることになる。この条件によると、ノード244の第2の検証パラメータが、更新されたソフトウェアパラメータに従って再計算されることになり、ノード244の第1の検証パラメータは、ノード244の再計算された第2の検証パラメータに従って再計算されることになる。ノード240の第1の検証パラメータは、ノード244の第1の検証に従って決定されるので、ノード240の第1の検証パラメータは、ノード244の再計算された第1の検証パラメータに従って再計算されることになる。それに対応して、ノード210およびノード201の第1の検証パラメータが再計算されることになる。
Taking tree 700 as an example, if the software of node 244 is updated, the software parameters of node 244 will be correspondingly updated. According to this condition, the second validation parameter of node 244 will be recalculated according to the updated software parameters, and the first validation parameter of node 244 will be recalculated according to the recalculated second validation parameter of node 244. It will be recalculated according to the parameters. Since the first validation parameter of node 240 is determined according to the first validation of node 244, the first validation parameter of node 240 is recalculated according to the recalculated first validation parameter of node 244. It turns out. Correspondingly, the first verification parameters of
一般に、内部ノードの第1の検証パラメータは、それの子孫ノードのソフトウェアによって影響され得る。言い換えれば、ノード(ルートノード以外)のソフトウェアは、その先祖ノードの第1の検証パラメータに影響し得る。 Generally, the first validation parameter of an internal node can be influenced by the software of its descendant nodes. In other words, the software of a node (other than the root node) can affect the first validation parameter of its ancestor nodes.
605:車両200がサーバ300から第1のリファレンス情報を取得する。
605:
本出願の実施形態は、どのようにしてサーバ300から第1のリファレンス情報を取得するのかを限定しない。いくつかの実施形態では、車両200は、第1のリファレンス情報を能動的に取得し得る。例えば、車両は要求をサーバ300に送信し得る。要求を受信した後、サーバ300は、第1のリファレンス情報を車両200に送信し得る。いくつかの実施形態では、サーバ300は、第1のリファレンス情報を車両200にプッシュ配信し得る。例えば、サーバ300は、リファレンス情報を車両200に定期的に送信し得る。別の例として、サーバ300は、リファレンス情報が更新されたときに、更新されたリファレンス情報を車両200に送信し得る。
Embodiments of the present application do not limit how the first reference information is obtained from the
606:車両200が、第1の検証情報および第1のリファレンス情報に従って14個の電子デバイスのソフトウェアセキュリティを検証する。
606: The
いくつかの実施形態では、第1のリファレンス情報は14個の第1のリファレンスパラメータを含み得る。第1のリファレンスパラメータは、14個の第1の検証パラメータと一対一に対応する。 In some embodiments, the first reference information may include 14 first reference parameters. The first reference parameter has a one-to-one correspondence with the 14 first verification parameters.
サーバ300は、車両200内の14個の電子デバイスのソフトウェアパラメータを記憶し得る。したがって、サーバ300は、ソフトウェアパラメータに従って14個の第1のリファレンスパラメータを決定し得る。第1のリファレンスパラメータを決定するための方法は、第1の検証パラメータを決定するための方法と同様である。簡潔にするために、どのようにして第1のリファレンスパラメータを決定するのかに関する詳細は、ここでは再び説明されない。
サーバ300は、トラステッドデバイスと見なされる。この仮定の下、リファレンスパラメータを決定するために使用されるソフトウェア情報は改ざんされることができない。
記載を簡単にするために、TBox201に対応する第1のリファレンスはH'n_201と称され、CC210に対応する第1のリファレンスはH'n_210と称される、などである。Hn_201はH'n_201に対応し、Hn_210はH'n_210に対応し、Hn_220はH'n_220に対応し、Hn_230はH'n_230に対応する、などである。
For ease of description, the first reference corresponding to
電子デバイスの第1のリファレンスパラメータおよび電子デバイスの第1の検証パラメータは、電子デバイスに対応する電子デバイスのソフトウェアセキュリティを検証するために使用され得る。 The electronic device first reference parameter and the electronic device first verification parameter may be used to verify software security of an electronic device corresponding to the electronic device.
電子デバイスに対応する電子デバイスは、電子デバイス自体と、電子デバイスのすべての子孫ノードとを含む。 The electronic device corresponding to the electronic device includes the electronic device itself and all descendant nodes of the electronic device.
例えば、TBox201に対応する電子デバイスのソフトウェアセキュリティを検証するために、Hn_201およびH'n_201が使用され得る。TBox201に対応する電子デバイスは、図2に示される14個の電子デバイスすべてを含む。
For example, H n_201 and H' n_201 may be used to verify the software security of an electronic device that corresponds to TBox201. The electronic devices corresponding to
別の例として、CC210に対応する電子デバイスのソフトウェアセキュリティを検証するために、Hn_210およびH'n_210が使用され得る。CC210に対応する電子デバイスは、CC210、DC220、DC230、DC240、および図2に示されるすべてのECUを含む。 As another example, H n_210 and H' n_210 may be used to verify the software security of an electronic device that supports CC210. Electronic devices corresponding to CC210 include CC210, DC220, DC230, DC240, and all ECUs shown in Figure 2.
電子デバイスの第1の検証パラメータと電子デバイスの第1のリファレンスパラメータとが同じである場合、車両は、電子デバイスに対応する電子デバイスのソフトウェアセキュリティが良好であると決定し得る。言い換えれば、電子デバイスの第1の検証パラメータと電子デバイスの第1のリファレンスパラメータとが同じである場合、車両は、電子デバイスに対応する電子デバイスそれぞれについてのソフトウェアが安全であると決定し得る。 If the first verification parameter of the electronic device and the first reference parameter of the electronic device are the same, the vehicle may determine that the software security of the electronic device corresponding to the electronic device is good. In other words, if the first verification parameter of the electronic device and the first reference parameter of the electronic device are the same, the vehicle may determine that the software for each of the electronic devices corresponding to the electronic device is secure.
対照的に、電子デバイスの第1の検証パラメータと電子デバイスの第1のリファレンスパラメータとが同じではない場合、車両は、電子デバイスに対応する電子デバイスのソフトウェアセキュリティが良くないと決定し得る。言い換えれば、電子デバイスの第1の検証パラメータと電子デバイスの第1のリファレンスパラメータとが同じではない場合、車両は、電子デバイスに対応する少なくとも1つの電子デバイスのソフトウェアが安全ではないと決定し得る。この条件によると、車両200は、子ノードおよび子ノードに対応する電子デバイスのソフトウェアセキュリティを決定するために、電子デバイスの子ノードの第1の検証情報および第1のリファレンス情報を使用し得る。
In contrast, if the first verification parameter of the electronic device and the first reference parameter of the electronic device are not the same, the vehicle may determine that the software security of the electronic device corresponding to the electronic device is poor. In other words, if the first verification parameter of the electronic device and the first reference parameter of the electronic device are not the same, the vehicle may determine that the software of at least one electronic device corresponding to the electronic device is unsafe. . According to this condition, the
どのようにして電子デバイスのソフトウェアセキュリティを検証するのかに関する詳細は、図7、図8、および図9に関連して以下で説明され得る。 Details regarding how to verify the software security of an electronic device may be described below in connection with FIGS. 7, 8, and 9.
どのようにしてソフトウェアセキュリティを検証するのかに関する以下の実施形態では、マルウェアがノード222(ECU222)のソフトウェアに挿入されたと仮定する。この条件によると、ノード222のソフトウェアイメージが変更される。したがって、ノード222およびそれの先祖ノードの第1の検証パラメータは、正しい第1の検証パラメータ(すなわち、ノード222のソフトウェアにマルウェアが挿入されていないときの第1の検証パラメータ)とは異なり得る。ノード222およびそれの先祖ノードの第1のリファレンスパラメータと、正しい第1の検証パラメータとは同じである。したがって、ノード222およびそれの先祖ノードの第1のリファレンスパラメータは、ノード222およびそれの先祖ノードの第1の検証パラメータと異なる。 The following embodiment of how to verify software security assumes that malware has been inserted into the software of node 222 (ECU 222). According to this condition, the software image of node 222 is changed. Accordingly, the first verification parameters of node 222 and its ancestor nodes may differ from the correct first verification parameters (i.e., the first verification parameters when no malware was injected into the software of node 222). The first reference parameter and the correct first verification parameter for node 222 and its ancestor nodes are the same. Therefore, the first reference parameter of node 222 and its ancestor nodes is different from the first validation parameter of node 222 and its ancestor nodes.
車両200は、ルートノードから始めて、第1の検証と第1のリファレンスとを比較し得る。
図7に示されるツリー700を一例にとると、車両200は、ノード222のソフトウェアが異常であることを見つけるために、以下のステップを実行し得る(以下のステップは、内部ノードのソフトウェアセキュリティを検証するためのステップは無視している)。
ステップ1:ノード201の第1の検証パラメータとノード201の第1のリファレンスパラメータとを比較するステップ、およびノード201の第1の検証パラメータがノード201の第1のリファレンスパラメータと異なると決定するステップ。
ステップ2:ノード210の第1の検証パラメータとノード210の第1のリファレンスパラメータとを比較するステップ、およびノード210の第1の検証パラメータがノード210の第1のリファレンスパラメータと異なると決定するステップ。
ステップ3:ノード220の第1の検証パラメータとノード220の第1のリファレンスパラメータとを比較するステップ、ノード220の第1の検証パラメータがノード220の第1のリファレンスパラメータと異なると決定するステップ。
ステップ4:ノード221の第1の検証パラメータとノード221の第1のリファレンスパラメータとを比較するステップ、ノード221の第1の検証パラメータがノード221の第1のリファレンスパラメータと同じであると決定するステップ。
ステップ5:ノード222の第1の検証パラメータとノード222の第1のリファレンスパラメータとを比較するステップ、ノード222の第1の検証パラメータがノード222の第1のリファレンスパラメータと異なると決定するステップ。
ステップ6:ノード223の第1の検証パラメータとノード223の第1のリファレンスパラメータとを比較するステップ、ノード223の第1の検証パラメータがノード223の第1のリファレンスパラメータと同じであると決定するステップ。
ステップ7:ノード230の第1の検証パラメータとノード230の第1のリファレンスパラメータとを比較するステップ、ノード230の第1の検証パラメータがノード230の第1のリファレンスパラメータと同じであると決定するステップ、およびノード230およびそれの子孫ノードのソフトウェアセキュリティが良好であると決定するステップ。
ステップ8:ノード240の第1の検証パラメータとノード240の第1のリファレンスパラメータとを比較するステップ、ノード240の第1の検証パラメータがノード240の第1のリファレンスパラメータと同じであると決定するステップ、およびノード240およびそれの子孫ノードのソフトウェアセキュリティが良好であると決定するステップ。
Taking as an example the tree 700 shown in FIG. (Ignoring the steps for verification).
Step 1: Comparing the first validation parameter of
Step 2: Comparing the first validation parameter of
Step 3: Comparing a first validation parameter of
Step 4: Comparing the first validation parameter of node 221 and the first reference parameter of node 221, determining that the first validation parameter of node 221 is the same as the first reference parameter of node 221 step.
Step 5: Comparing a first validation parameter of node 222 and a first reference parameter of node 222, determining that the first validation parameter of node 222 is different from the first reference parameter of node 222.
Step 6: Comparing the first validation parameter of node 223 and the first reference parameter of node 223, determining that the first validation parameter of node 223 is the same as the first reference parameter of node 223 step.
Step 7: Comparing the first validation parameter of node 230 and the first reference parameter of node 230, determining that the first validation parameter of node 230 is the same as the first reference parameter of node 230 and determining that the software security of node 230 and its descendant nodes is good.
Step 8: Comparing the first validation parameter of node 240 and the first reference parameter of node 240, determining that the first validation parameter of node 240 is the same as the first reference parameter of node 240 and determining that the software security of node 240 and its descendant nodes is good.
図7に示されるツリー700については、車両200は、ノード222のソフトウェアが異常であることを見つけるために、8つのステップを実行する。
For the tree 700 shown in FIG. 7,
図8に示されるツリー800を一例にとると、車両200は、ノード222のソフトウェアが異常であることを見つけるために、以下のステップを実行し得る(以下のステップは、内部ノードのソフトウェアセキュリティを検証するためのステップは無視している)。
ステップ1:ノード201の第1の検証パラメータとノード201の第1のリファレンスパラメータとを比較するステップ、およびノード201の第1の検証パラメータがノード201の第1のリファレンスパラメータと異なると決定するステップ。
ステップ2:ノード210の第1の検証パラメータとノード210の第1のリファレンスパラメータとを比較するステップ、ノード210の第1の検証パラメータがノード210の第1のリファレンスパラメータと同じであると決定するステップ、およびノード210、ノード230およびそれの子孫ノード、ならびにノード240およびそれの子孫ノードの、ソフトウェアセキュリティが良好であると決定するステップ。
ステップ3:ノード220の第1の検証パラメータとノード220の第1のリファレンスパラメータとを比較するステップ、ノード220の第1の検証パラメータがノード220の第1のリファレンスパラメータと異なると決定するステップ。
ステップ4:ノード221の第1の検証パラメータとノード221の第1のリファレンスパラメータとを比較するステップ、ノード221の第1の検証パラメータがノード221の第1のリファレンスパラメータと同じであると決定するステップ、およびノード221およびノード223のソフトウェアセキュリティが良好であると決定するステップ。
ステップ5:ノード222の第1の検証パラメータとノード222の第1のリファレンスパラメータとを比較するステップ、ノード222の第1の検証パラメータがノード222の第1のリファレンスパラメータと異なると決定するステップ、およびノード222のソフトウェアが異常であると決定するステップ。
Taking the tree 800 shown in FIG. 8 as an example, the
Step 1: Comparing the first validation parameter of
Step 2: Comparing the first validation parameter of
Step 3: Comparing a first validation parameter of
Step 4: Comparing the first validation parameter of node 221 and the first reference parameter of node 221, determining that the first validation parameter of node 221 is the same as the first reference parameter of node 221 and determining that the software security of nodes 221 and 223 is good.
Step 5: Comparing a first validation parameter of node 222 and a first reference parameter of node 222; determining that the first validation parameter of node 222 is different from the first reference parameter of node 222; and determining that the software on node 222 is abnormal.
図8に示されるツリー800については、車両200は、ノード222のソフトウェアが異常であることを見つけるために、5つのステップを実行するのみである。
For the tree 800 shown in FIG. 8, the
図9に示されるツリー900を一例にとると、車両200は、ノード222のソフトウェアが異常であることを見つけるために、以下のステップを実行し得る(以下のステップは、内部ノードのソフトウェアセキュリティを検証するためのステップは無視している)。
ステップ1:ノード201の第1の検証パラメータとノード201の第1のリファレンスパラメータとを比較するステップ、およびノード201の第1の検証パラメータがノード201の第1のリファレンスパラメータと異なると決定するステップ。
ステップ2:ノード210の第1の検証パラメータとノード210の第1のリファレンスパラメータとを比較するステップ、ノード210の第1の検証パラメータがノード210の第1のリファレンスパラメータと同じであると決定するステップ、およびノード210、ノード230およびそれの子孫ノード、ノード240、ノード241ならびにノード242の、ソフトウェアセキュリティが良好であると決定するステップ。
ステップ3:ノード220の第1の検証パラメータとノード220の第1のリファレンスパラメータとを比較するステップ、ノード220の第1の検証パラメータがノード220の第1のリファレンスパラメータと異なると決定するステップ。
ステップ4:ノード221の第1の検証パラメータとノード221の第1のリファレンスパラメータとを比較するステップ、ノード221の第1の検証パラメータがノード221の第1のリファレンスパラメータと同じであると決定するステップ、およびノード221、ノード223およびノード243のソフトウェアセキュリティが良好であると決定するステップ。
ステップ5:ノード222の第1の検証パラメータとノード222の第1のリファレンスパラメータとを比較するステップ、ノード222の第1の検証パラメータがノード222の第1のリファレンスパラメータと異なると決定するステップ。
ステップ6:ノード244の第1の検証パラメータとノード244の第1のリファレンスパラメータとを比較するステップ、ノード244の第1の検証パラメータがノード244の第1のリファレンスパラメータと同じであると決定するステップ、およびノード244のソフトウェアセキュリティが良好であり、ノード222のソフトウェアが異常であると決定するステップ。
Taking as an example the tree 900 shown in FIG. (Ignoring the steps for verification).
Step 1: Comparing the first validation parameter of
Step 2: Comparing the first validation parameter of
Step 3: Comparing a first validation parameter of
Step 4: Comparing the first validation parameter of node 221 and the first reference parameter of node 221, determining that the first validation parameter of node 221 is the same as the first reference parameter of node 221 and determining that the software security of nodes 221, 223, and 243 is good.
Step 5: Comparing a first validation parameter of node 222 and a first reference parameter of node 222, determining that the first validation parameter of node 222 is different from the first reference parameter of node 222.
Step 6: Comparing the first validation parameter of node 244 and the first reference parameter of node 244, determining that the first validation parameter of node 244 is the same as the first reference parameter of node 244 and determining that the software security of node 244 is good and the software of node 222 is unhealthy.
図9に示されるツリー900については、車両900は、ノード222のソフトウェアが異常であることを見つけるために、6つのステップを実行するのみである。 For the tree 900 shown in FIG. 9, the vehicle 900 only performs six steps to find that the software at node 222 is abnormal.
したがって、車両200の電子デバイスに対応するツリーがTBBTまたはマークルツリーである場合、車両200はより少ない比較を実行し得る。この条件によると、車両200は、異常な電子デバイスをより迅速に決定し得る。
Therefore, if the tree corresponding to the electronic device of
上記実施形態によれば、車両200は、第1の検証情報および第1のリファレンス情報に従ってソフトウェアセキュリティを決定するのみである。この条件によると、内部ノードのソフトウェアが異常である場合、車両200は、すべてのそれの子孫ノードのソフトウェアセキュリティをテストしなければならない。例えば、ツリー900について、車両200は、ノード244のソフトウェアが良好であると決定した後にノード222のソフトウェアが異常であると決定する。加えて、ノード244のソフトウェアも異常である場合、車両200は、ノード222のソフトウェアセキュリティが良好であるかどうかを決定することができない。この条件によると、車両200は、実際の状態が良好であっても、ノード222のソフトウェアセキュリティが良くないと決定しなければならない。
According to the above embodiment, the
いくつかの実施形態では、第1の検証情報は、14個の電子デバイスの第2の検証パラメータをさらに含み得、第1のリファレンス情報は、14個の電子デバイスの第2のリファレンスパラメータをさらに含み得る。 In some embodiments, the first verification information may further include a second verification parameter of the 14 electronic devices, and the first reference information may further include a second reference parameter of the 14 electronic devices. may be included.
第2のリファレンスパラメータを決定するための方法は、第2の検証パラメータを決定するための方法と同様である。簡潔にするために、どのようにして第2のリファレンスパラメータを決定するのかに関する詳細は、ここでは再び説明されない。この条件によると、車両200は、内部ノードのソフトウェアセキュリティを決定するために、第2の検証パラメータおよび第2のリファレンスパラメータを使用し得る。内部ノードの第2の検証パラメータが内部ノードの第2のリファレンスパラメータと同じである場合、内部ノードのソフトウェアセキュリティは良好である。内部ノードの第2の検証パラメータが内部ノードの第2のリファレンスパラメータと異なる場合、車両200は、内部ノードのソフトウェアセキュリティが良くないと決定し得る。
The method for determining the second reference parameter is similar to the method for determining the second verification parameter. For the sake of brevity, details regarding how to determine the second reference parameter will not be described again here. According to this condition,
例えば、ツリー900について、車両200は、ノード222の第2の検証パラメータおよびノード222の第2のリファレンスパラメータに従って、ノード222のソフトウェアセキュリティを決定し得る。ノード222の第2の検証パラメータがノード222の第2のリファレンスパラメータと同じである場合、車両200は、ノード222のソフトウェアセキュリティが良好であると決定し得る。ノード222の第2の検証パラメータがノード222の第2のリファレンスパラメータと異なる場合、車両200は、ノード222のソフトウェアセキュリティが良くないと決定し得る。
For example, for tree 900,
図11は、車両内の電子デバイスのソフトウェアセキュリティを検証するための方法の別の実施形態のフローチャートである。 FIG. 11 is a flowchart of another embodiment of a method for verifying software security of electronic devices in a vehicle.
いくつかの実施形態では、図11に示される方法は、車両または車両のコンポーネント(例えば、チップまたは回路)によって実行され得る。 In some embodiments, the method shown in FIG. 11 may be performed by a vehicle or a component of a vehicle (eg, a chip or circuit).
いくつかの実施形態では、図11に示される方法は、車両に対応するサーバまたはサーバのコンポーネント(例えば、チップまたは回路)によって実行され得る。 In some embodiments, the method illustrated in FIG. 11 may be performed by a server or a component of a server (eg, a chip or circuit) corresponding to a vehicle.
いくつかの実施形態では、図11に示される異なるステップは、車両の異なるコンポーネントまたは車両に対応するサーバによって実施され得る。例えば、車両200の電子デバイスのそれぞれは、それ自体の第2の検証パラメータを決定し得、第2の検証パラメータを車両200のチップに送信し得、チップは、第1の検証パラメータを決定して比較ステップを実行するために使用される。
In some embodiments, the different steps shown in FIG. 11 may be performed by different components of the vehicle or servers corresponding to the vehicle. For example, each of the electronic devices of
図11に示される方法は、図2および図3に関連して以下に説明され得る。加えて、図11に関する以下の説明では、方法は車両200によって実行されると仮定する。
The method shown in FIG. 11 may be described below in connection with FIGS. 2 and 3. Additionally, the following description with respect to FIG. 11 assumes that the method is performed by
1101:車両200が14個の第1のソフトウェアパラメータを取得する。
1101:
ステップ1101の詳細は、図6に示されるステップ601を参照し得る。 For details of step 1101, refer to step 601 shown in FIG. 6.
1102:車両200が14個の電子デバイスに対応するツリーを決定する。
1102:
ツリーはマークルツリーである。14個の電子デバイスは、マークルツリーの14個の葉ノードに対応する。 The tree is a Merkle tree. The 14 electronic devices correspond to the 14 leaf nodes of the Merkle tree.
図12は、車両200に対応するマークルツリーを示している。
FIG. 12 shows a Merkle tree corresponding to
図12に示されるように、ツリー1200の各内部ノードは2つの子ノードを有する。図12を参照すると、00はノード00を指し、11はノード11を指し、201はノード201を指し、210はノード210を指す、などである。加えて、図12に示されるDはダミーノードを指す。ノード201は、TBox201に対応するノードであり、ノード210は、CC210に対応するノードである、などである。
As shown in FIG. 12, each internal node of tree 1200 has two child nodes. Referring to FIG. 12, 00 refers to node 00, 11 refers to
1103:車両200が、14個の第1のソフトウェアパラメータに従って14個の第2の検証パラメータをそれぞれ決定する。
1103: The
ステップ1103の詳細は、ステップ603と同様である。簡潔にするために、どのようにして第2のリファレンスパラメータを決定するのかに関する詳細は、ここでは再び説明されない。 Details of step 1103 are the same as step 603. For the sake of brevity, details regarding how to determine the second reference parameter will not be described again here.
1104:車両200が内部ノードの第1の検証パラメータを決定する。
1104:
いくつかの実施形態では、内部ノードの第1の検証パラメータは、それの子ノードの検証パラメータに従って決定され得る。 In some embodiments, the first validation parameter of an internal node may be determined according to the validation parameters of its child nodes.
いくつかの実施形態では、内部ノードの子ノードが葉ノードである場合、内部ノードの第1の検証パラメータは、それの子ノードの第2の検証パラメータに従って決定され得る。内部ノードの第1の検証パラメータは、以下の式に従って決定され得る。
Hn_Y=H(Hi_L,Hi_R) (式2.1)
In some embodiments, if the child node of the internal node is a leaf node, the first validation parameter of the internal node may be determined according to the second validation parameter of its child node. The first validation parameter of an internal node may be determined according to the following formula:
H n_Y = H (H i_L , H i_R ) (Formula 2.1)
Hn_Yは、電子デバイスY(内部ノードY)の第1の検証パラメータである。Hi_Lは、電子デバイスY(内部ノードY)の左の子ノードの第2の検証パラメータである。Hi_Rは、電子デバイスY(内部ノードY)の右の子ノードの第2の検証パラメータである。H(Hi_L,Hi_R)は、Hi_L、Hi_Rに対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、Hi_201およびHi_210に対してハッシュ計算を実行し得る。ハッシュ値は、ノード31の第1の検証パラメータ、すなわちHn_31である。
H n_Y is the first verification parameter of electronic device Y (internal node Y). H i_L is the second verification parameter of the left child node of electronic device Y (internal node Y). H i_R is the second verification parameter of the right child node of electronic device Y (internal node Y). H (H i_L , H i_R ) is a hash calculation for H i_L and H i_R . For example,
いくつかの実施形態では、内部ノードの子ノードが葉ノードである場合、内部ノードの第1の検証パラメータは、それの子ノードの第1の検証パラメータに従って決定され得る。内部ノードの第1の検証パラメータは、以下の式に従って決定され得る。
Hn_Y=H(Hn_L,Hn_R) (式2.2)
In some embodiments, if the child node of the internal node is a leaf node, the first validation parameter of the internal node may be determined according to the first validation parameter of its child nodes. The first validation parameter of an internal node may be determined according to the following formula:
H n_Y = H (H n_L , H n_R ) (Equation 2.2)
Hn_Yは、電子デバイスY(内部ノードY)の第1の検証パラメータである。Hn_Lは、電子デバイスY(内部ノードY)の左の子ノードの第1の検証パラメータである。Hn_Rは、電子デバイスY(内部ノードY)の右の子ノードの第1の検証パラメータである。H(Hn_L,Hn_R)は、Hn_L、Hn_Rに対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、Hn_201およびHn_210に対してハッシュ計算を実行し得る。ハッシュ値は、ノード31の第1の検証パラメータ、すなわちHn_31である。
H n_Y is the first verification parameter of electronic device Y (internal node Y). H n_L is the first verification parameter of the left child node of electronic device Y (internal node Y). H n_R is the first verification parameter of the right child node of electronic device Y (internal node Y). H(H n_L , H n_R ) is a hash calculation for H n_L and H n_R . For example,
葉ノードの第1の検証パラメータを決定するための方法は、図6に示される実施形態を参照し得る。 A method for determining the first validation parameter of a leaf node may refer to the embodiment shown in FIG. 6.
内部ノードの子ノードが非葉ノードである場合、内部ノードの第1の検証パラメータは、それの子ノードの第1の検証パラメータに従って決定され得る。言い換えれば、式2.2は、任意の内部ノードの第1の検証パラメータを計算するために使用され得る。 If the child node of the internal node is a non-leaf node, the first validation parameter of the internal node may be determined according to the first validation parameter of its child nodes. In other words, equation 2.2 can be used to calculate the first validation parameter of any internal node.
いくつかの実施形態では、内部ノードの識別情報は、内部ノードの第1の検証を決定するために使用され得る。内部ノードの第1の検証パラメータは、以下の式に従って決定され得る。
Hn_Y=H(Hn_L,Hn_R,IDinfoY) (式2.3)
In some embodiments, the identity of the internal node may be used to determine the first verification of the internal node. The first validation parameter of an internal node may be determined according to the following formula:
H n_Y = H (H n_L , H n_R , ID infoY ) (Equation 2.3)
Hn_Yは、電子デバイスY(内部ノードY)の第1の検証パラメータである。Hn_Lは、電子デバイスY(内部ノードY)の左の子ノードの第1の検証パラメータである。Hn_Rは、電子デバイスY(内部ノードY)の右の子ノードの第1の検証パラメータである。IDinfoYは、ノードYの識別情報である。H(Hn_L,Hn_R,IDinfoY)は、Hn_L、Hn_R、およびノードYの識別情報に対するハッシュ計算である。例えば、車両200は、ハッシュ値を取得するために、Hn_201、Hn_210、およびノード31の識別情報に対してハッシュ計算を実行し得る。ハッシュ値は、ノード31の第1の検証パラメータ、すなわちHn_31である。
H n_Y is the first verification parameter of electronic device Y (internal node Y). H n_L is the first verification parameter of the left child node of electronic device Y (internal node Y). H n_R is the first verification parameter of the right child node of electronic device Y (internal node Y). ID infoY is identification information of node Y. H(H n_L , H n_R , ID infoY ) is a hash calculation for H n_L , H n_R , and the identification information of node Y. For example,
いくつかの実施形態では、式2.3のHn_LはHi_Rによって置き換えられ得、式2.3のHn_RはHi_Rによって置き換えられ得る。 In some embodiments, H n_L in equation 2.3 may be replaced by H i_R , and H n_R in equation 2.3 may be replaced by H i_R .
ノードの識別情報の定義は、図6に示される実施形態で開示されるものと同じであり、ここでは再び説明されない。 The definition of the identity of a node is the same as that disclosed in the embodiment shown in FIG. 6 and will not be described again here.
1105:車両200がサーバ300から第1のリファレンス情報を取得する。
1105:
1106:車両200が、第1の検証情報および第1のリファレンス情報に従って14個の電子デバイスのソフトウェアセキュリティを検証する。
1106: The
ステップ1105および1106の詳細は、上述の実施形態におけるステップ605および606を参照し得、ここでは再び説明されない。 Details of steps 1105 and 1106 may refer to steps 605 and 606 in the embodiments described above and will not be described again here.
車両内の電子デバイスのソフトウェアは更新され得る。電子デバイスのうちの1つまたは複数についてのソフトウェアが更新された場合、これらの電子デバイスおよびこれらの電子デバイスに対応する電子デバイスの検証パラメータが再計算され得る。車両200を一例にとると、14個の電子デバイスのうちの2個についてのソフトウェアが更新されたと仮定する。この条件によると、2つの電子デバイスの第1の検証パラメータおよび第2の検証パラメータが再計算されるべきである。これに対応して、2つの電子デバイスの第1のリファレンスパラメータおよび第2のリファレンスパラメータも再計算され得る。第1/第2の検証パラメータ(第1/第2のリファレンスパラメータ)を再計算するための方法は、上述の実施形態で開示される第1/第2の検証パラメータ(第1/第2のリファレンスパラメータ)を計算するための方法と同じであり、ここでは再び説明されない。
Software on electronic devices within a vehicle may be updated. If the software for one or more of the electronic devices is updated, the validation parameters for these electronic devices and their corresponding electronic devices may be recalculated. Taking
加えて、親ノードの第1の検証パラメータがそれの子ノードの第1の検証パラメータに従って決定されるので、2つの電子デバイスの先祖ノードの第1の検証パラメータが再計算されるべきである。これに対応して、2つの電子デバイスの先祖ノードの第1のリファレンスパラメータが再計算されるべきである。 In addition, since the first validation parameter of the parent node is determined according to the first validation parameter of its child nodes, the first validation parameters of the ancestor nodes of the two electronic devices should be recalculated. Correspondingly, the first reference parameters of the ancestor nodes of the two electronic devices should be recalculated.
ツリー800を一例にとると、ノード222およびノード242(すなわち、ECU222およびECU242)に対応する電子デバイスが2つの電子デバイスであると仮定する。記載を簡単にするために、更新ソフトウェアに対応するソフトウェアパラメータは第2のソフトウェアパラメータと称される。第1のソフトウェアパラメータと同様に、電子デバイスの第2のソフトウェアパラメータは、電子デバイスの更新されたソフトウェアイメージ、電子デバイスのソフトウェアを更新するためのパッチ、または電子デバイスの更新されたソフトウェアのキーコードであり得る。 Taking tree 800 as an example, assume that the electronic devices corresponding to node 222 and node 242 (ie, ECU 222 and ECU 242) are two electronic devices. For ease of description, the software parameter corresponding to the updated software is referred to as the second software parameter. Similar to the first software parameter, the second software parameter of the electronic device may be an updated software image of the electronic device, a patch for updating the software of the electronic device, or a key code of the updated software of the electronic device. It can be.
記載を簡単にするために、第2のソフトウェアパラメータに従って決定された第2の検証パラメータは、更新された第2の検証パラメータと称される。これに対応して、更新された第2の検証パラメータに従って決定された第1の検証パラメータは、更新された第1の検証パラメータと称され、更新された第1の検証パラメータに従って決定された第1の検証パラメータも、更新された第1の検証パラメータと称される。 For ease of description, the second verification parameters determined according to the second software parameters are referred to as updated second verification parameters. Correspondingly, the first validation parameter determined according to the updated second validation parameter is referred to as the updated first validation parameter; The first verification parameter is also referred to as the updated first verification parameter.
車両200は、ノード222に対応する電子デバイスの第2のソフトウェアパラメータに従って、ノード222の更新された第2の検証パラメータを決定し得る。次いで、車両200は、ノード222の更新された第2の検証パラメータおよびノード222の識別情報に従って、ノード222の更新された第1の検証パラメータを決定する。さらに、車両200は、ノード222の更新された第1の検証パラメータ、ノード221の第1の検証パラメータ、ノード220の第2の検証パラメータ、およびノード220の識別情報に従って、ノード220の更新された第1の検証パラメータを決定する。
同様に、車両200は、ノード242に対応する電子デバイスの第2のソフトウェアパラメータに従って、ノード242の更新された第2の検証パラメータを決定し得る。次いで、車両200は、ノード242の更新された第2の検証パラメータおよびノード242の識別情報に従って、ノード242の更新された第1の検証パラメータを決定する。車両200は、ノード242の更新された第1の検証パラメータ、ノード241の第1の検証パラメータ、ノード240の第2の検証パラメータ、およびノード240の識別情報に従って、ノード240の更新された第1の検証パラメータを決定する。車両200は、ノード240の更新された第1の検証パラメータ、ノード230の第1の検証パラメータ、ノード210の第2の検証パラメータ、およびノード210の識別情報に従って、ノード210の更新された第1の検証パラメータを決定する。
Similarly,
最後に、車両200は、ノード210の更新された第1の検証パラメータ、ノード220の更新された第1の検証パラメータ、ノード201の第2の検証パラメータ、およびノード201の識別情報に従って、ノード201の更新された第1の検証パラメータを決定する。
Finally,
記載を簡単にするために、ソフトウェアが更新された電子デバイスは第1の電子デバイスと称され得、ソフトウェアが更新されていない電子デバイスは第2の電子デバイスと称され得る。これに対応して、第1の電子デバイスに対応するノードは第1のノードと称され得、第2の電子デバイスに対応するノードは第2のノードと称され得る。したがって、上述の仮定によれば、車両200は、2つの第1の電子デバイス(ECU222およびECU242)と、12個の第2の電子デバイスとを含む。これに対応して、ツリー800は、2つの第1のノードと12個の第2のノードとを含む。2つの第1のノードの先祖ノードの第1の検証パラメータが再計算される。第1/第2の検証パラメータが再計算されたノードは更新されたノードと称され得、第1の検証パラメータおよび第2の検証パラメータが再計算されなかったノードは元のノードと称され得る。
For ease of description, an electronic device with updated software may be referred to as a first electronic device, and an electronic device without updated software may be referred to as a second electronic device. Correspondingly, a node corresponding to a first electronic device may be referred to as a first node, and a node corresponding to a second electronic device may be referred to as a second node. Therefore, according to the above assumption,
図13は、ソフトウェア更新後の車両200に対応するツリーを示している。
FIG. 13 shows a tree corresponding to
図13に示されるツリー800'を参照すると、ツリー800'は6つの更新されたノードを含む。 Referring to the tree 800' shown in FIG. 13, the tree 800' includes six updated nodes.
車両200は、第2の検証情報を決定し得る。
いくつかの実施形態では、第2の検証情報は、更新指示、更新された第2の検証パラメータ、および更新された第1の検証パラメータを含み得る。更新指示は、第2の電子デバイス(または元のノード)を示すために使用される。 In some embodiments, the second verification information may include update instructions, updated second verification parameters, and updated first verification parameters. The update instructions are used to indicate the second electronic device (or original node).
上述の仮定によれば、更新指示は、ノード230およびそれの子ノード、ノード241およびそれの子ノード、ノード221およびそれの子ノードを示すために使用される。第2の検証情報は、2つの第2の検証パラメータ(ノード242およびノード222の更新された第2の検証パラメータ)と、6つの第1の検証パラメータ(ノード242、ノード240、ノード210、ノード222、ノード220、およびノード201の更新された第1の検証パラメータ)とを含む。
According to the above assumptions, update instructions are used to indicate node 230 and its child nodes, node 241 and its child nodes, node 221 and its child nodes. The second validation information includes two second validation parameters (updated second validation parameters for node 242 and node 222) and six first validation parameters (node 242, node 240,
いくつかの実施形態では、ノードおよびそれの子孫ノードのすべてが元のノードである場合、更新指示は、ノードの識別情報またはノードに対応する電子デバイスの識別情報を含み得る。例えば、更新指示は、ノード221、ノード241、およびノード230の識別情報を含み得る。いくつかの実施形態では、更新指示は、元のノードのそれぞれについての識別情報または第2の電子デバイスのそれぞれについての識別情報を含み得る。 In some embodiments, if the node and all of its descendant nodes are the original node, the update instructions may include the identity of the node or the identity of the electronic device corresponding to the node. For example, the update instructions may include identification information for node 221, node 241, and node 230. In some embodiments, the update instructions may include identification information for each of the original nodes or identification information for each of the second electronic devices.
いくつかの実施形態では、第2の検証情報は、車両200に対応するツリーの各ノードの第1の検証パラメータおよび第2の検証パラメータを含み得る。ツリー800を一例にとると、第2の検証情報は、14個の第1の検証パラメータおよび14個の第2の検証パラメータを含む。14個の第1の検証パラメータは、更新されたノードの第1の検証パラメータおよび元のノードの第1の検証パラメータを含む。同様に、14個の第2の検証パラメータは、更新されたノードの第2の検証パラメータおよび元のノードの第2の検証パラメータを含む。
In some embodiments, the second verification information may include a first verification parameter and a second verification parameter for each node of the tree corresponding to
いくつかの実施形態では、第1の検証情報はタイムスタンプをさらに含み得る。タイムスタンプは、第1の検証情報の完成時刻を示すために使用される。車両200は、第1の検証パラメータおよび第2の検証パラメータを決定した後に時刻を控え得る。この時刻が第1の検証情報の完成時刻である。
In some embodiments, the first verification information may further include a timestamp. The timestamp is used to indicate the time of completion of the first verification information.
同様に、第2の検証情報は、第2の検証情報の完成時刻を示すために使用されるタイムスタンプをさらに含み得る。 Similarly, the second verification information may further include a timestamp used to indicate the time of completion of the second verification information.
上述の実施形態は、本出願の方法が車両200または車両200のコンポーネントによって実行されるという仮定に基づいている。上述されるように、本出願の方法は、サーバまたはサーバのコンポーネントによっても実行され得る。本出願の方法がサーバまたはサーバのコンポーネントによって実行される場合、車両は、電子デバイスのソフトウェアパラメータまたは電子デバイスの第2の検証パラメータをサーバに送信し得る。簡潔にするために、ソフトウェアパラメータまたは第2の検証パラメータを搬送するメッセージは、検証メッセージと称され得る。
The embodiments described above are based on the assumption that the method of the present application is performed by the
いくつかの実施形態では、検証メッセージは、秘密鍵/公開鍵のペアを使用して保護され得る。例えば、車両200は、検証メッセージを暗号化するために公開鍵を使用し得、暗号化された検証メッセージをサーバ300に送信する。サーバ300は、第2の検証パラメータのソフトウェアパラメータを取得するために、公開鍵に対応する秘密鍵を使用して、受信された検証メッセージを復号し得る。
In some embodiments, the verification message may be protected using a private/public key pair. For example,
上述の実施形態で示されるVVTおよびGVTは、車両の、電子デバイスの実際の内部ネットワークを示す。例えば、図4に示されるVVTおよび図5に示されるGVTは、電子デバイスの実際の接続関係(すなわち、図2に示される接続関係)を示す。いくつかの実施形態では、VVTおよびGVTは、HBBTまたはマークルツリーに変換され得る。 The VVT and GVT shown in the above embodiments represent the actual internal network of electronic devices of the vehicle. For example, the VVT shown in FIG. 4 and the GVT shown in FIG. 5 represent the actual connection relationships of electronic devices (ie, the connection relationships shown in FIG. 2). In some embodiments, VVT and GVT may be converted to HBBT or Merkle trees.
任意選択で、いくつかの実施形態では、サーバ300は、車両200のVVTおよび車両200に対応する車種のGVTを管理するためにブロックチェーンを使用し得る。上述のように、車両200内の1つまたは複数の電子デバイスのソフトウェアが更新された場合、VVTおよびGVTはそれに対応して更新され得る。記載を簡単にするために、VVT/GVTおよび更新されたVVT/GVTを記載するためにバージョン番号が使用される。例えば、VVTv2は更新されたVVTv1であり、VVTv3は更新されたVVTv2である、などである。同様に、GVTv2は更新されたGVTv1であり、GVTv3は更新されたGVTv2である、などである。VVTを管理するための方法は、GVTを管理するための方法と同じである。
Optionally, in some embodiments,
サーバ300は、VVTバージョンごとにブロックを記憶し得る。例えば、車両200は、VVTv1に対応するブロック1、VVTv2に対応するブロック2、VVTv3に対応するブロック3などを記憶し得る。
VVTに対応するブロックは、以下の情報、すなわち、対応するVVTのVVT情報のハッシュ値、タイムスタンプ、および前のブロックのハッシュ値を含み得る。タイムスタンプは、ブロックを記憶した時刻を示すために使用される。最初のブロックについては、前のブロックのハッシュ値は予め設定された値とし得る。加えて、ブロックは、対応するVVTの構造情報をさらに含み得、構造情報は、VVTのノードの接続関係を示すために使用される。 A block corresponding to a VVT may include the following information: a hash value of the VVT information of the corresponding VVT, a timestamp, and a hash value of the previous block. The timestamp is used to indicate the time the block was stored. For the first block, the hash value of the previous block may be a preset value. In addition, the block may further include structural information of the corresponding VVT, and the structural information is used to indicate the connection relationship of the nodes of the VVT.
例えば、VVTv1は最初のVVTである。図8に示されるツリー800はVVTv1である。ブロック1は、ツリー800の構造、VVTv1のVVT情報のハッシュ値、ブロック1を記憶した時刻を示すタイムスタンプ、および前のブロックのハッシュ値(予め設定された値)を含み得る。 For example, VVTv1 is the first VVT. The tree 800 shown in FIG. 8 is VVTv1. Block 1 may include the structure of tree 800, a hash value of the VVT information of VVTv1, a timestamp indicating the time when block 1 was stored, and a hash value (preset value) of the previous block.
いくつかの実施形態では、VVTv1のVVT情報は、VVTv1に従って決定され得る。サーバ300は、VVTv1に対応するソフトウェア統計値情報(以下、M1)を決定し得る。M={連結ノードファイル||Tv}。VVTv1に対応する電子デバイスのソフトウェア情報が、図4に示されるソフトウェア情報であると仮定する。したがって、M1={[MFR_AA,0x01:V4]||[MFR_BB,0x02:V3]||[MFR_CC,0x03:V6]||[MFR_DD,0x001:V2]||[MFR_EE,0x002:V2]||[MFR_FF,0x003:V4]||[MFR_GG,0x04:V3]||[MFR_HH,0x004:V3]||[MFR_II,0x005:V3]||[MFR_JJ,0x05:V5]||[MFR_KK,0x005:V5]||[MFR_LL,0x007:V2]||[MFR_MM,0x008:V6]||[MFR_N,0x009:V4]||Tv}であり、図5に示されるツリーV2に従って決定されるVVT情報Mは{[MFR_BB,0x02:V3]||[MFR_CC,0x03:V6]||[MFR_EE,0x002:V2]||[MFR_JJ,0x05:V5]||[MFR_MM,0x008:V6]||Tv}であり、Tvはタイムスタンプであり、タイムスタンプはVVTv1を記憶した時刻を示すために使用される。言い換えれば、タイムスタンプは、ソフトウェア統計値情報の一部である。いくつかの他の実施形態では、ソフトウェア統計値情報はタイムスタンプを含まないものとし得る。
In some embodiments, VVTv1's VVT information may be determined according to VVTv1.
いくつかの実施形態では、ソフトウェア統計値情報はVVT情報として使用され得る。いくつかの他の実施形態では、VVT情報は、ソフトウェア統計値情報およびサーバ300の秘密鍵に従って決定され得る。詳細には、VVT情報は、以下の式に従って決定され得る。
S=E(M,Kpriv) (式3.1)
In some embodiments, software statistics information may be used as VVT information. In some other embodiments, VVT information may be determined according to software statistics information and the server's 300 private key. In detail, VVT information may be determined according to the following formula.
S=E(M,K priv ) (Formula 3.1)
SはVVT情報であり、Mはソフトウェア統計値情報であり、Kprivはサーバの秘密鍵である。 S is VVT information, M is software statistics information, and K priv is the server's private key.
いくつかの実施形態では、最初のVVTに対応するブロックの構造情報は、最初のVVTのノードの完全な接続関係を含み得る。他のVVTに対応するブロックの構造情報は、修正されたツリー構造および未修正の指示情報を含み得、未修正の指示情報は、ツリーの未修正の部分を示すために使用される。例えば、VVTv1は最初のVVTである。したがって、ブロック1の構造情報は図8に示されるツリーを含み得、ブロック2の構造情報は図13に示されるツリーおよび対応する未修正の指示情報を含み得る。 In some embodiments, the structural information of the block corresponding to the first VVT may include the complete connectivity relationships of the nodes of the first VVT. The structure information of blocks corresponding to other VVTs may include a modified tree structure and unmodified instruction information, where the unmodified instruction information is used to indicate an unmodified portion of the tree. For example, VVTv1 is the first VVT. Accordingly, the structural information for block 1 may include the tree shown in FIG. 8, and the structural information for block 2 may include the tree shown in FIG. 13 and corresponding unmodified instruction information.
図14は、VVTのブロックチェーンの一部を示している。図14は、VVTのブロックチェーン内の3つのブロックを示している。 Figure 14 shows part of the VVT blockchain. Figure 14 shows three blocks in the VVT blockchain.
図14を参照すると、ブロック1は、VVT、H(M1)、H(Block0)、およびTv0の全体を含む。H(M1)は、M1のハッシュ値である。H(Block0)は予め設定された値であり、Tv1は、ブロック1を記憶した時刻を示すタイムスタンプである。ブロック2は、一部分のVVTおよび未修正の指示情報(ブロック2内で示される矢印によって示される)、H(M2)、H(Block1)およびTv2を含む。H(M2)は、M2のハッシュ値である。H(Block1)はブロック1のハッシュ値、Tv2はブロック2を記憶した時刻を示すタイムスタンプである。ブロック3は、一部分のVVTおよび未修正の指示情報(ブロック3内で示される矢印によって示される)、H(M3)、H(Block2)およびTv3を含む。H(M3)は、M3のハッシュ値である。H(Block2)はブロック2のハッシュ値、Tv3はブロック3を記憶した時刻を示すタイムスタンプである。 Referring to FIG. 14, Block 1 includes the entirety of VVT, H(M 1 ), H(Block 0 ), and Tv 0 . H(M 1 ) is the hash value of M 1 . H (Block 0 ) is a preset value, and Tv 1 is a timestamp indicating the time when block 1 was stored. Block 2 includes a portion of VVT and unmodified instruction information (indicated by the arrow shown within block 2), H( M2 ), H(Block 1 ) and Tv2 . H(M 2 ) is the hash value of M 2 . H (Block 1 ) is the hash value of block 1, and Tv 2 is a timestamp indicating the time when block 2 was stored. Block 3 includes a portion of VVT and unmodified instruction information (indicated by the arrow shown within block 3), H (M 3 ), H (Block 2 ) and Tv 3 . H(M 3 ) is the hash value of M 3 . H (Block 2 ) is the hash value of block 2, and Tv 3 is a timestamp indicating the time when block 3 was stored.
図15は、車両内の電子デバイスのソフトウェアバージョンを検証するための方法の実施形態のフローチャートである。 FIG. 15 is a flowchart of an embodiment of a method for verifying a software version of an electronic device in a vehicle.
1501:コンピューティングデバイスがN個の第1の検証パラメータを取得し得、N個の第1の検証パラメータは、車両内のN個の電子デバイスと一対一に対応し、N個の第1の検証パラメータのi番目の第1の検証パラメータは、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定され、Nは1よりも大きい正の整数である。 1501: The computing device may obtain N first verification parameters, the N first verification parameters having a one-to-one correspondence with the N electronic devices in the vehicle, and the N first verification parameters having a one-to-one correspondence with the N first verification parameters. The i-th first verification parameter of the verification parameters is determined according to the software image of the i-th electronic device of the N electronic devices, where N is a positive integer greater than 1.
コンピューティングデバイスは、車両、車両のコンポーネント、サーバ、またはサーバのコンポーネントであり得る。 The computing device may be a vehicle, a component of a vehicle, a server, or a component of a server.
1502:コンピューティングデバイスが、N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定し得、第1のノードはN個の電子デバイスの親ノードである。 1502: The computing device may determine a first verification parameter corresponding to a first node according to N first verification parameters, the first node being a parent node of the N electronic devices.
1503:コンピューティングデバイスが、トラステッドデバイスから第1のノードに対応する第1のリファレンスパラメータを取得し得る。 1503: The computing device may obtain a first reference parameter corresponding to the first node from the trusted device.
1504:コンピューティングデバイスが、第1のノードに対応する第1の検証パラメータおよび第1のノードに対応する第1のリファレンスパラメータに従って、N個の電子デバイスのソフトウェアセキュリティを検証し得る。
任意選択で、いくつかの実施形態では、方法は、コンピューティングデバイスが、N個の第2の検証パラメータを取得し得、N個の第2の検証パラメータがN個の電子デバイスと一対一に対応し、N個の第2の検証パラメータのi番目の第2の検証パラメータが、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定される、ことをさらに含み得、コンピューティングデバイスがN個の第1の検証パラメータを取得することは、コンピューティングデバイスがN個の第2の検証パラメータのi番目の第2の検証パラメータおよびN個の電子デバイスのi番目の電子デバイスの識別情報に従って、N個の第1の検証パラメータのi番目の第1の検証パラメータを決定し得、i=1,…,Nである、ことを含む。
1504: The computing device may verify software security of the N electronic devices according to a first verification parameter corresponding to the first node and a first reference parameter corresponding to the first node.
Optionally, in some embodiments, the method may include the computing device obtaining N second verification parameters, the N second verification parameters one-on-one with the N electronic devices. Correspondingly, the i-th second verification parameter of the N second verification parameters may be determined according to a software image of the i-th electronic device of the N electronic devices, the computing device Obtaining N first verification parameters means that the computing device obtains the i-th second verification parameter of N second verification parameters and the identification of the i-th electronic device of N electronic devices. An i-th first verification parameter of the N first verification parameters may be determined according to the information, including: i=1,...,N.
任意選択で、いくつかの実施形態では、方法は、コンピューティングデバイスがトラステッドデバイスからN個の第2のリファレンスパラメータを取得し得、N個の第2のリファレンスパラメータがN個の電子デバイスと一対一に対応する、ことをさらに含み得る。コンピューティングデバイスは、N個の第2の検証パラメータのi番目の第2の検証パラメータおよびN個の第2のリファレンスパラメータのi番目の第2のリファレンスパラメータに従って、N個の電子デバイスのi番目の電子デバイスのソフトウェアセキュリティを検証し得る。 Optionally, in some embodiments, the method may include the computing device obtaining N second reference parameters from the trusted device, and pairing the N second reference parameters with the N electronic devices. may further include corresponding to one. The computing device determines the i-th of the N electronic devices according to the i-th second verification parameter of the N second verification parameters and the i-th second reference parameter of the N second reference parameters. can verify the software security of electronic devices.
任意選択で、いくつかの実施形態では、方法は、コンピューティングデバイスがM個の電子デバイスに対応するツリーを決定し得、ツリーがM個のノードを含み、M個のノードが車両内のM個の電子デバイスと一対一に対応し、M個の電子デバイスがN個の電子デバイスを含み、MがNよりも大きい正の整数である、こと、ツリー内のM個のノードの接続関係に基づいて、第1のノードがN個の電子デバイスの親ノードであると決定し得る、ことをさらに含み得る。 Optionally, in some embodiments, the method may determine a tree in which the computing device corresponds to M electronic devices, the tree includes M nodes, and the M nodes correspond to M electronic devices in the vehicle. M electronic devices have a one-to-one correspondence with N electronic devices, M is a positive integer greater than N, and the connection relationship of M nodes in the tree is The first node may be determined to be a parent node of the N electronic devices based on the N electronic devices.
任意選択で、いくつかの実施形態では、ツリーのM個のノードの接続関係と、車両内のM個の電子デバイスの接続関係とが同じである。 Optionally, in some embodiments, the connectivity of the M nodes of the tree and the connectivity of the M electronic devices in the vehicle are the same.
任意選択で、いくつかの実施形態では、ツリーが、車両に対応する高さ平衡バイナリツリーである。 Optionally, in some embodiments, the tree is a height balanced binary tree corresponding to a vehicle.
任意選択で、いくつかの実施形態では、ツリーが完全平衡バイナリツリーであり、M個のノードがツリーの葉ノードであり、ツリーがK個の非葉ノードをさらに含み、Kが1よりも大きい正の整数である。 Optionally, in some embodiments, the tree is a fully balanced binary tree, the M nodes are leaf nodes of the tree, and the tree further includes K non-leaf nodes, where K is greater than 1. It is a positive integer.
任意選択で、いくつかの実施形態では、コンピューティングデバイスは、第1のブロックを決定および記憶し得、第1のブロックはツリーに対応し、第1のブロックは第1の構造情報を含み、第1の構造情報はツリーのノードの接続関係を示すために使用される。コンピューティングデバイスは第2のブロックを決定および記憶し得、第2のブロックが第2の構造情報を含み、第2の構造情報が、未修正の指示情報および修正された指示情報を含み、未修正の指示情報が、未更新のノードを示すために使用され、修正された指示情報が、更新されたノードの接続関係を示すために使用され、未更新のノードのそれぞれに対応する第1の検証パラメータおよび第2の検証パラメータは更新されておらず、更新されたノードのそれぞれに対応する第1の検証パラメータまたは第2の検証パラメータは更新されている。 Optionally, in some embodiments, the computing device may determine and store a first block, the first block corresponding to a tree, the first block including first structural information, The first structure information is used to indicate the connectivity of the nodes of the tree. The computing device may determine and store a second block, the second block including second structural information, the second structural information including unmodified instructional information and modified instructional information, and wherein the second block includes unmodified instructional information and modified instructional information. The modification instruction information is used to indicate an unupdated node, the modified instruction information is used to indicate a connection relationship of the updated nodes, and the first The validation parameter and the second validation parameter have not been updated, and the first validation parameter or the second validation parameter corresponding to each of the updated nodes has been updated.
任意選択で、いくつかの実施形態では、第1のブロックは、第1のブロックを記憶した時刻を示すタイムスタンプと、M個の電子デバイスに対応するソフトウェア情報とをさらに含む。第2のブロックは、第2のブロックを記憶した時刻を示すタイムスタンプと、更新された電子デバイスに対応するソフトウェア情報とをさらに含む。 Optionally, in some embodiments, the first block further includes a timestamp indicating the time the first block was stored and software information corresponding to the M electronic devices. The second block further includes a timestamp indicating the time the second block was stored and software information corresponding to the updated electronic device.
図16は、本出願の一実施形態に係るコンピューティングデバイス1600の概略ブロック図である。図16に示されるように、コンピューティングデバイス1600は、取得モジュール1601と、決定モジュール1602とを含む。 FIG. 16 is a schematic block diagram of a computing device 1600 according to one embodiment of the present application. As shown in FIG. 16, computing device 1600 includes an acquisition module 1601 and a determination module 1602.
取得モジュール1601は、N個の第1の検証パラメータを取得し、N個の第1の検証パラメータは、車両内のN個の電子デバイスと一対一に対応し、N個の第1の検証パラメータのi番目の第1の検証パラメータは、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定され、Nは1よりも大きい正の整数である、ように構成される。 The acquisition module 1601 acquires N first verification parameters, the N first verification parameters have a one-to-one correspondence with the N electronic devices in the vehicle, and the N first verification parameters have a one-to-one correspondence with the N electronic devices in the vehicle. The i-th first verification parameter of is determined according to the software image of the i-th electronic device of N electronic devices, where N is a positive integer greater than one.
決定モジュール1602は、N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定し、第1のノードはN個の電子デバイスの親ノードである、ように構成される。 The determination module 1602 is configured to determine a first verification parameter corresponding to the first node according to the N first verification parameters, the first node being a parent node of the N electronic devices. be done.
取得モジュール1601は、トラステッドデバイスから第1のノードに対応する第1のリファレンスパラメータを取得するようにさらに構成される。 The acquisition module 1601 is further configured to acquire a first reference parameter corresponding to the first node from the trusted device.
決定モジュール1602は、第1のノードに対応する第1の検証パラメータおよび第1のノードに対応する第1のリファレンスパラメータに従って、N個の電子デバイスのソフトウェアセキュリティを検証するようにさらに構成される。 The determination module 1602 is further configured to verify software security of the N electronic devices according to a first verification parameter corresponding to the first node and a first reference parameter corresponding to the first node.
任意選択で、コンピューティングデバイス1600は、車両、車両のコンポーネント、サーバ、またはサーバのコンポーネントであり得る。 Optionally, computing device 1600 may be a vehicle, a component of a vehicle, a server, or a component of a server.
任意選択で、いくつかの実施形態では、取得モジュール1601は、N個の第2の検証パラメータを取得し、N個の第2の検証パラメータがN個の電子デバイスと一対一に対応し、N個の第2の検証パラメータのi番目の第2の検証パラメータが、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定される、ようにさらに構成され、取得モジュール1601は、N個の第2の検証パラメータのi番目の第2の検証パラメータおよびN個の電子デバイスのi番目の電子デバイスの識別情報に従って、N個の第1の検証パラメータのi番目の第1の検証パラメータを決定し、i=1,…,Nである、ように特に構成される。 Optionally, in some embodiments, the acquisition module 1601 acquires N second verification parameters, where the N second verification parameters have a one-to-one correspondence with the N electronic devices; The acquisition module 1601 is further configured such that the i-th second verification parameters of the N electronic devices are determined according to the software image of the i-th electronic device of the N electronic devices. the i-th second verification parameter of the N electronic devices according to the i-th second verification parameter of the N electronic devices and the i-th first verification parameter of the N electronic devices; is specifically configured such that i=1,...,N.
任意選択で、いくつかの実施形態では、取得モジュール1601は、トラステッドデバイスからN個の第2のリファレンスパラメータを取得し、前記N個の第2のリファレンスパラメータがN個の電子デバイスと一対一に対応する、ようにさらに構成され、決定モジュール1602は、N個の第2の検証パラメータのi番目の第2の検証パラメータおよびN個の第2のリファレンスパラメータのi番目の第2のリファレンスパラメータに従って、N個の電子デバイスのi番目の電子デバイスのソフトウェアセキュリティを検証するようにさらに構成される。 Optionally, in some embodiments, the acquisition module 1601 acquires N second reference parameters from the trusted device, and the N second reference parameters are one-to-one with the N electronic devices. Correspondingly, the determination module 1602 is further configured to determine the i-th second verification parameter of the N second verification parameters and the i-th second reference parameter of the N second reference parameters. , further configured to verify software security of the i-th electronic device of the N electronic devices.
任意選択で、いくつかの実施形態では、決定モジュール1602は、M個の電子デバイスに対応するツリーを決定し、ツリーがM個のノードを含み、M個のノードが車両内のM個の電子デバイスと一対一に対応し、M個の電子デバイスがN個の電子デバイスを含み、MがNよりも大きい正の整数である、ようにさらに構成され、ツリー内のM個のノードの接続関係に基づいて、第1のノードがN個の電子デバイスの親ノードであると決定するようにさらに構成される。 Optionally, in some embodiments, the determination module 1602 determines a tree corresponding to the M electronic devices, the tree includes M nodes, and the M nodes correspond to the M electronic devices in the vehicle. The connection relationship of the M nodes in the tree is further configured such that there is a one-to-one correspondence with the devices, the M electronic devices include N electronic devices, and M is a positive integer greater than N. The first node is further configured to determine that the first node is a parent node of the N electronic devices based on the N electronic devices.
任意選択で、いくつかの実施形態では、ツリーのM個のノードの接続関係と、車両内のM個の電子デバイスの接続関係とが同じである。 Optionally, in some embodiments, the connectivity of the M nodes of the tree and the connectivity of the M electronic devices in the vehicle are the same.
任意選択で、いくつかの実施形態では、ツリーが、車両に対応する高さ平衡バイナリツリーである。 Optionally, in some embodiments, the tree is a height balanced binary tree corresponding to a vehicle.
任意選択で、いくつかの実施形態では、ツリーが完全平衡バイナリツリーであり、M個のノードがツリーの葉ノードであり、ツリーがK個の非葉ノードをさらに含み、Kが1よりも大きい正の整数である。 Optionally, in some embodiments, the tree is a fully balanced binary tree, the M nodes are leaf nodes of the tree, and the tree further includes K non-leaf nodes, where K is greater than 1. It is a positive integer.
任意選択で、いくつかの実施形態では、決定モジュール1602は、第1のブロックを決定し、第1のブロックがツリーに対応し、第1のブロックが第1の構造情報を含み、第1の構造情報がツリーのノードの接続関係を示すために使用される、ようにさらに構成され、第2のブロックを決定し、第2のブロックが第2の構造情報を含み、第2の構造情報が、未修正の指示情報および修正された指示情報を含み、未修正の指示情報が、未更新のノードを示すために使用され、修正された指示情報が、更新されたノードの接続関係を示すために使用され、未更新のノードのそれぞれに対応する第1の検証パラメータおよび第2の検証パラメータは更新されておらず、更新されたノードのそれぞれに対応する第1の検証パラメータまたは第2の検証パラメータは更新されている、ようにさらに構成される。 Optionally, in some embodiments, the determination module 1602 determines a first block, the first block corresponds to a tree, the first block includes first structural information, and the first block determining a second block further configured such that the structural information is used to indicate the connection relationship of the nodes of the tree, the second block includes the second structural information, and the second structural information is , including unmodified instruction information and modified instruction information, where the unmodified instruction information is used to indicate an unupdated node, and the modified instruction information is used to indicate an updated connection relationship of the nodes. , the first validation parameter and the second validation parameter corresponding to each of the nodes that have not been updated are used, and the first validation parameter or the second validation parameter corresponding to each of the updated nodes The parameters have been updated and further configured as such.
任意選択で、いくつかの実施形態では、第1のブロックが、第1のブロックを記憶した時刻を示すタイムスタンプと、M個の電子デバイスに対応するソフトウェア情報とをさらに含み、第2のブロックが、第2のブロックを記憶した時刻を示すタイムスタンプと、更新された電子デバイスに対応するソフトウェア情報とをさらに含む。 Optionally, in some embodiments, the first block further includes a timestamp indicating the time the first block was stored and software information corresponding to the M electronic devices; further includes a timestamp indicating the time the second block was stored, and software information corresponding to the updated electronic device.
本出願のこの実施形態におけるコンピューティングデバイス1600は、前述の実施形態におけるサーバまたは車両に対応し得、サーバまたは車両内のモジュールの上記および他の管理動作および/または機能は、前述の方法の、対応するステップを実施するために別々に使用されることを理解されたい。簡潔にするため、詳細はここでは再び説明されない。 The computing device 1600 in this embodiment of the present application may correspond to the server or vehicle in the embodiments described above, and the above and other management operations and/or functions of modules within the server or vehicle may be performed in the manner described above. It should be understood that they are used separately to implement the corresponding steps. For the sake of brevity, the details will not be described again here.
図17に示されるように、コンピューティングデバイス1700は、トランシーバ1701と、プロセッサ1702と、メモリ1703とを含み得る。メモリ1703は、プロセッサ1702によって実行されるコード、命令などを記憶するように構成され得る。 As shown in FIG. 17, computing device 1700 may include a transceiver 1701, a processor 1702, and memory 1703. Memory 1703 may be configured to store code, instructions, etc. that are executed by processor 1702.
プロセッサ1702は集積回路チップであり得、信号処理能力を有することを理解されたい。実施プロセスでは、前述の方法の実施形態のステップは、プロセッサ内のハードウェア集積論理回路を使用して、またはソフトウェアの形態での命令を使用して完了され得る。プロセッサは、汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array、FPGA)もしくは別のプログラマブル論理デバイス、ディスクリートのゲートもしくはトランジスタ論理デバイス、またはディスクリートのハードウェアコンポーネントであり得る。プロセッサは、本発明の実施形態に開示される方法、ステップ、および論理ブロック図を実施または実行し得る。汎用プロセッサはマイクロプロセッサであり得るか、またはプロセッサは任意の従来のプロセッサなどであり得る。本発明の実施形態を参照しつつ開示される方法のステップは、ハードウェア復号プロセッサによって直接実行および完了され得るか、または復号プロセッサ内のハードウェアとソフトウェアモジュールとの組合せを使用して実行および完了され得る。ソフトウェアモジュールは、ランダム・アクセス・メモリ、フラッシュメモリ、読み出し専用メモリ、プログラマブル読み出し専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなど、当技術の成熟した記憶媒体に配置され得る。記憶媒体はメモリ内に配置され、プロセッサはメモリ内の情報を読み出し、プロセッサ内のハードウェアと組み合わせて前述の方法のステップを完了する。 It is understood that processor 1702 can be an integrated circuit chip and has signal processing capabilities. In an implementation process, the steps of the method embodiments described above may be completed using hardware integrated logic within a processor or using instructions in the form of software. A processor may be a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another programmable It can be a logic device, a discrete gate or transistor logic device, or a discrete hardware component. A processor may implement or execute the methods, steps, and logical block diagrams disclosed in embodiments of the invention. A general purpose processor may be a microprocessor, the processor may be any conventional processor, and the like. The steps of the methods disclosed with reference to embodiments of the present invention may be performed and completed directly by a hardware decoding processor or using a combination of hardware and software modules within the decoding processor. can be done. Software modules may be located in state-of-the-art storage media, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is disposed within the memory and the processor reads the information within the memory and in conjunction with hardware within the processor completes the steps of the method described above.
本発明の実施形態におけるメモリ1703は、揮発性メモリまたは不揮発性メモリであり得るか、または揮発性メモリおよび不揮発性メモリの両方を含み得ることが理解されよう。不揮発性メモリは、読み出し専用メモリ(Read-Only Memory、ROM)、プログラマブル読み出し専用メモリ(Programmable ROM、PROM)、消去可能プログラマブル読み出し専用メモリ(Erasable PROM、EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(Electrically EPROM、EEPROM)、またはフラッシュメモリであり得る。揮発性メモリはランダム・アクセス・メモリ(Random Access Memory、RAM)であり得、外部キャッシュとして使用される。限定よりもむしろ例示として、多くの形態のRAMが使用され得、例えば、スタティック・ランダム・アクセス・メモリ(Static RAM、SRAM)、ダイナミック・ランダム・アクセス・メモリ(Dynamic RAM、DRAM)、シンクロナス・ダイナミック・ランダム・アクセス・メモリ(Synchronous DRAM、SDRAM)、ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ(Double Data Rate SDRAM、DDR SDRAM)、拡張シンクロナス・ダイナミック・ランダム・アクセス・メモリ(Enhanced SDRAM、ESDRAM)、シンクロナス・リンク・ダイナミック・ランダム・アクセス・メモリ(Synchronous link DRAM、SLDRAM)、および、ダイレクト・ラムバス・ランダム・アクセス・メモリ(Direct Rambus RAM、DR RAM)である。 It will be appreciated that memory 1703 in embodiments of the invention may be volatile or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory includes read-only memory (ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), and electrically erasable programmable read-only memory (EPROM). Electrically EPROM, EEPROM) or flash memory. Volatile memory may be Random Access Memory (RAM) and is used as an external cache. By way of example rather than limitation, many forms of RAM may be used, such as static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous RAM, etc. Dynamic Random Access Memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM), Enhanced Synchronous Dynamic Random Access Memory (DDR SDRAM) Memory (Enhanced SDRAM, ESDRAM), Synchronous Link Dynamic Random Access Memory (Synchronous Link DRAM, SLDRAM), and Direct Rambus Random Access Memory (Direct Rambus RAM, DR RAM).
本明細書に記載のシステムおよび方法におけるメモリは、これらのメモリ、および任意の他の適切なタイプのメモリを含むがこれらに限定されないことに留意されたい。 Note that memory in the systems and methods described herein includes, but is not limited to, these memories, and any other suitable types of memory.
本出願の一実施形態はシステムチップをさらに提供し、システムチップは、入力/出力インターフェースと、少なくとも1つのプロセッサと、少なくとも1つのメモリと、バスとを含む。少なくとも1つのメモリは、命令を記憶するように構成され、少なくとも1つのプロセッサは、前述の実施形態の方法における動作を実行するために、少なくとも1つのメモリの命令を呼び出すように構成される。 One embodiment of the present application further provides a system chip that includes an input/output interface, at least one processor, at least one memory, and a bus. At least one memory is configured to store instructions, and at least one processor is configured to invoke the instructions of the at least one memory to perform operations in the methods of the previously described embodiments.
本出願の一実施形態は、コンピュータ記憶媒体をさらに提供し、コンピュータ記憶媒体は、前述の方法のいずれかを実行するためのプログラム命令を記憶し得る。 One embodiment of the present application further provides a computer storage medium that may store program instructions for performing any of the aforementioned methods.
任意選択で、記憶媒体は、具体的にはメモリ1703であり得る。 Optionally, the storage medium may specifically be memory 1703.
当業者は、本明細書に開示の実施形態に説明される例と組み合わせて、ユニットおよびアルゴリズムステップが、電子ハードウェアまたはコンピュータソフトウェアと電子ハードウェアとの組合せによって実施されることができることを認識し得る。機能がハードウェアによって実行されるのかソフトウェアによって実行されるのかは、技術的解決策の特定の用途および設計上の制約に依存する。当業者は、説明された機能を特定の用途ごとに実施するために異なる方法を使用し得るが、実施態様が本出願の範囲を超えると見なされてはならない。 Those skilled in the art will appreciate that, in combination with the examples described in the embodiments disclosed herein, the units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware. obtain. Whether a function is performed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each particular application, but the implementations should not be considered to go beyond the scope of this application.
簡便かつ簡潔な記載のために、前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述の方法の実施形態における対応するプロセスを参照することが、当業者によって明確に理解され得る。ここでは詳細は再び説明されない。 For convenience and concise description, it can be clearly understood by those skilled in the art that for detailed operating processes of the aforementioned systems, devices, and units, refer to the corresponding processes in the aforementioned method embodiments. Details are not explained here again.
本出願において提供されるいくつかの実施形態では、開示されるシステム、装置、および方法は、他のやり方で実施されてもよいことを理解されたい。例えば、記載された装置の実施形態は一例にすぎない。例えば、ユニット分割は、論理的な機能分割にすぎず、実際の実装態様では他の分割であってもよい。例えば、複数のユニットまたはコンポーネントが組み合わされるか、または別のシステムに統合されてもよく、またはいくつかの特徴は無視されるか、または実行されなくてもよい。加えて、表示または考察された相互結合または直接結合または通信接続は、いくつかのインターフェースを介して実施されてもよい。装置またはユニット間の間接結合または通信接続は、電子的な形態、機械的な形態、または他の形態で実装されてもよい。 It should be understood that in some embodiments provided in this application, the disclosed systems, apparatus, and methods may be implemented in other ways. For example, the described device embodiment is one example only. For example, the unit division is only a logical division of functions, and may be other divisions in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. Additionally, the displayed or discussed mutual or direct couplings or communication connections may be implemented via a number of interfaces. Indirect coupling or communication connections between devices or units may be implemented in electronic, mechanical, or other forms.
別々の部分として説明されているユニットは、物理的に別々であってもなくてもよく、ユニットとして表示されている部分は、物理的なユニットであってもなくてもよく、1箇所に配置されてもよく、または複数のネットワークユニット上に分散されてもよい。実施形態の解決策の目的を達成するために、実際の要件に基づいてユニットの一部または全部が選択されてもよい。 Units described as separate parts may or may not be physically separate, and parts described as a unit may or may not be physically separate, located in one location. or distributed over multiple network units. Some or all of the units may be selected based on the actual requirements to achieve the objective of the solution of the embodiments.
加えて、本出願の実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、またはユニットのそれぞれは、物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットに統合される。 In addition, the functional units in embodiments of the present application may be integrated into one processing unit, or each of the units may be physically present alone, or two or more units may be integrated into one processing unit. integrated into the unit.
機能が、ソフトウェア機能ユニットの形態で実施され、独立した製品として販売または使用されるとき、機能は、コンピュータ可読記憶媒体に記憶されてもよい。そうした理解に基づき、本出願の技術的解決策は本質的に、または従来技術に寄与する部分は、または技術的解決策の一部は、ソフトウェア製品の形態で実施されてもよい。コンピュータソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態に説明される方法のステップの全部または一部を実行するように、(パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る)コンピュータデバイスに命令するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、リムーバブル・ハード・ディスク、読み出し専用メモリ(Read-Only Memory、ROM)、ランダム・アクセス・メモリ(Random Access Memory、RAM)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。 When the functionality is implemented in the form of a software functional unit and sold or used as a separate product, the functionality may be stored on a computer-readable storage medium. Based on such an understanding, the technical solution of the present application may essentially, or a part contributing to the prior art, or a part of the technical solution, be implemented in the form of a software product. A computer software product is stored on a storage medium and configured to run on a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or some of the method steps described in the embodiments of this application. Contains some instructions for commanding. The aforementioned storage medium may be a programmable storage medium such as a USB flash drive, removable hard disk, Read-Only Memory (ROM), Random Access Memory (RAM), magnetic disk, or optical disk. Includes any medium that can store code.
前述の説明は本出願の特定の実施態様にすぎず、本出願の保護範囲を限定することは意図されていない。本出願で開示される技術的範囲内で当業者によって容易に考え出されるいかなる変形または置換も、本出願の保護範囲内に入るものとする。したがって、本出願の保護範囲は、特許請求の範囲の保護範囲に従うものとする。 The foregoing descriptions are only specific embodiments of the present application and are not intended to limit the protection scope of the present application. Any modification or replacement easily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
100 電子デバイス
101 トランシーバ
102 プロセッサ
103 メモリ
200 車両
201 テレマティクスボックス(TBox)
210 セントラルコントローラ(CC)
220 ドメインコントローラ(DC)
221,222,223 エレクトロニック・コントロール・ユニット(ECU)
230 DC
231,232 ECU
240 DC
241,242,243,244 ECU
300 サーバ
1600 コンピューティングデバイス
1601 取得モジュール
1602 決定モジュール
1700 コンピューティングデバイス
1701 トランシーバ
1702 プロセッサ
1703 メモリ
100 electronic devices
101 Transceiver
102 processor
103 Memory
200 vehicles
201 Telematics Box (TBox)
210 Central Controller (CC)
220 Domain Controller (DC)
221, 222, 223 Electronic Control Unit (ECU)
230DC
231, 232 ECU
240DC
241, 242, 243, 244 ECU
300 servers
1600 computing devices
1601 Acquisition module
1602 Decision module
1700 computing devices
1701 transceiver
1702 processor
1703 Memory
第1の態様によれば、本出願の一実施形態は、車両内のデバイスのソフトウェアセキュリティを検証するための方法を提供し、方法は、N個の第1の検証パラメータを取得するステップであって、N個の第1の検証パラメータが車両内のN個の電子デバイスと一対一に対応し、N個の第1の検証パラメータのi番目の第1の検証パラメータが、N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定され、Nが1よりも大きい正の整数である、ステップと、N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定するステップであって、第1のノードがN個の電子デバイスの親ノードである、ステップと、トラステッドデバイスから、第1のノードに対応する第1のリファレンスパラメータを取得するステップと、第1のノードに対応する第1の検証パラメータおよび第1のノードに対応する第1のリファレンスパラメータに従って、N個の電子デバイスのソフトウェアセキュリティを検証するステップとを含む。 According to a first aspect, an embodiment of the present application provides a method for verifying software security of a device in a vehicle, the method comprising the step of obtaining N first verification parameters. The N first verification parameters have a one-to-one correspondence with the N electronic devices in the vehicle, and the i-th first verification parameter of the N first verification parameters corresponds to the N electronic devices in the vehicle. a first verification corresponding to the first node according to a step and N first verification parameters determined according to the software image of the i-th electronic device of the device, where N is a positive integer greater than 1; determining a parameter, the first node being a parent node of the N electronic devices; and obtaining a first reference parameter corresponding to the first node from the trusted device; verifying software security of the N electronic devices according to a first verification parameter corresponding to the first node and a first reference parameter corresponding to the first node.
トランシーバ101は他の電子デバイスと通信するように構成され得る。トランシーバ101は制御情報および/またはデータを他の電子デバイスに送信し得、トランシーバ101は他の電子デバイスから制御情報および/またはデータを受信し得る。例えば、トランシーバ101は、サーバから更新バンドルを受信し得、受信された更新バンドルに含まれる1つまたは複数のパッチを車両内の対応する電子デバイスに送信し得、対応する電子デバイスから更新フィードバック情報を受信し得る。 Transceiver 101 may be configured to communicate with other electronic devices. Transceiver 101 may transmit control information and/or data to other electronic devices, and transceiver 101 may receive control information and/or data from other electronic devices. For example, transceiver 101 may receive an update bundle from a server, transmit one or more patches included in the received update bundle to a corresponding electronic device in the vehicle, and transmit update feedback information from the corresponding electronic device. can be received.
TBox201は、CC210に繋がっている。DC220、DC230およびDC240は、CC210に繋がっている。ECU221、ECU222およびECU223は、DC220に繋がっており、ECU231およびECU232はDC230に繋がっており、ECU241、ECU242、ECU243およびECU244は、DC240に繋がっている。 TBox201 is connected to CC210. DC220, DC230 and DC240 are connected to CC210. ECU221, ECU222 and ECU2 2 3 are connected to DC220, ECU231 and ECU232 are connected to DC230, and ECU241, ECU242, ECU243 and ECU244 are connected to DC240.
図15は、車両内のデバイスのソフトウェアセキュリティを検証するための方法の実施形態のフローチャートである。 FIG. 15 is a flowchart of an embodiment of a method for verifying software security of devices in a vehicle.
Claims (21)
N個の第1の検証パラメータを取得するステップであって、前記N個の第1の検証パラメータが前記車両内のN個の電子デバイスと一対一に対応し、前記N個の第1の検証パラメータのi番目の第1の検証パラメータが、前記N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定され、Nが1よりも大きい正の整数である、ステップと、
前記N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定するステップであって、前記第1のノードが前記N個の電子デバイスの親ノードである、ステップと、
トラステッドデバイスから、前記第1のノードに対応する第1のリファレンスパラメータを取得するステップと、
前記第1のノードに対応する前記第1の検証パラメータおよび前記第1のノードに対応する前記第1のリファレンスパラメータに従って、前記N個の電子デバイスのソフトウェアセキュリティを検証するステップと
を含む、方法。 A method for verifying a software version of an electronic device in a vehicle, the method comprising:
obtaining N first verification parameters, the N first verification parameters having a one-to-one correspondence with N electronic devices in the vehicle; a first verification parameter of the i-th of the parameters is determined according to a software image of the i-th electronic device of the N electronic devices, where N is a positive integer greater than 1;
determining a first verification parameter corresponding to a first node according to the N first verification parameters, the first node being a parent node of the N electronic devices; and,
obtaining a first reference parameter corresponding to the first node from a trusted device;
verifying software security of the N electronic devices according to the first verification parameter corresponding to the first node and the first reference parameter corresponding to the first node.
N個の第2の検証パラメータを取得するステップであって、前記N個の第2の検証パラメータが前記N個の電子デバイスと一対一に対応し、前記N個の第2の検証パラメータのi番目の第2の検証パラメータが、前記N個の電子デバイスの前記i番目の電子デバイスの前記ソフトウェアイメージに従って決定される、ステップをさらに含み、
N個の第1の検証パラメータを取得する前記ステップは、
前記N個の第2の検証パラメータの前記i番目の第2の検証パラメータおよび前記N個の電子デバイスの前記i番目の電子デバイスの識別情報に従って、前記N個の第1の検証パラメータの前記i番目の第1の検証パラメータを決定するステップであって、i=1,…,Nである、ステップを含む、請求項1に記載の方法。 The method includes:
obtaining N second verification parameters, the N second verification parameters having a one-to-one correspondence with the N electronic devices; th second verification parameter is determined according to the software image of the i th electronic device of the N electronic devices;
Said step of obtaining N first validation parameters comprises:
The i of the N first verification parameters according to the i-th second verification parameter of the N second verification parameters and the identification information of the i-th electronic device of the N electronic devices. 2. The method of claim 1, comprising the step of determining the first verification parameter of the number i=1,...,N.
トラステッドデバイスからN個の第2のリファレンスパラメータを取得するステップであって、前記N個の第2のリファレンスパラメータが前記N個の電子デバイスと一対一に対応する、ステップと、
前記N個の第2の検証パラメータの前記i番目の第2の検証パラメータおよび前記N個の第2のリファレンスパラメータのi番目の第2のリファレンスパラメータに従って、前記N個の電子デバイスの前記i番目の電子デバイスのソフトウェアセキュリティを検証するステップと
をさらに含む、請求項2に記載の方法。 The method includes:
obtaining N second reference parameters from a trusted device, the N second reference parameters having a one-to-one correspondence with the N electronic devices;
the i-th of the N electronic devices according to the i-th second verification parameter of the N second verification parameters and the i-th second reference parameter of the N second reference parameters; 3. The method of claim 2, further comprising: verifying the software security of the electronic device.
M個の電子デバイスに対応するツリーを決定するステップであって、前記ツリーがM個のノードを含み、前記M個のノードが前記車両内のM個の電子デバイスと一対一に対応し、前記M個の電子デバイスが前記N個の電子デバイスを含み、MがNよりも大きい正の整数である、ステップと、
前記ツリー内の前記M個のノードの接続関係に基づいて、前記第1のノードが前記N個の電子デバイスの親ノードであると決定するステップと
をさらに含む、請求項1から3のいずれか一項に記載の方法。 The method includes:
determining a tree corresponding to M electronic devices, said tree including M nodes, said M nodes having a one-to-one correspondence with M electronic devices in said vehicle; M electronic devices include the N electronic devices, M is a positive integer greater than N;
4. Any one of claims 1 to 3, further comprising: determining that the first node is a parent node of the N electronic devices based on a connection relationship of the M nodes in the tree. The method described in paragraph 1.
第1のブロックを決定し、記憶するステップであって、前記第1のブロックが前記ツリーに対応し、前記第1のブロックが第1の構造情報を含み、前記第1の構造情報が前記ツリーのノードの接続関係を示すために使用される、ステップと、
第2のブロックを決定し、記憶するステップであって、前記第2のブロックが第2の構造情報を含み、前記第2の構造情報が、未修正の指示情報および修正された指示情報を含み、前記未修正の指示情報が、未更新のノードを示すために使用され、前記修正された指示情報が、更新されたノードの接続関係を示すために使用され、前記未更新のノードのそれぞれに対応する第1の検証パラメータおよび第2の検証パラメータは更新されておらず、前記更新されたノードのそれぞれに対応する第1の検証パラメータまたは第2の検証パラメータは更新されている、ステップと
をさらに含む、請求項4から7のいずれか一項に記載の方法。 The method includes:
determining and storing a first block, the first block corresponding to the tree, the first block including first structural information, and the first structural information being the tree; steps, which are used to indicate the connection relationships of nodes in
determining and storing a second block, the second block including second structural information, the second structural information including unmodified instruction information and modified instruction information; , the unmodified instruction information is used to indicate an unupdated node, the amended instruction information is used to indicate an updated connection relationship of the nodes, and each of the unupdated nodes has a the corresponding first validation parameter and the second validation parameter are not updated, and the first validation parameter or the second validation parameter corresponding to each of said updated nodes is updated, and 8. A method according to any one of claims 4 to 7, further comprising.
前記第2のブロックが、前記第2のブロックを記憶した時刻を示すタイムスタンプと、更新された電子デバイスに対応するソフトウェア情報とをさらに含む、請求項8に記載の方法。 The first block further includes a timestamp indicating a time when the first block was stored, and software information corresponding to the M electronic devices,
9. The method of claim 8, wherein the second block further includes a timestamp indicating a time when the second block was stored and software information corresponding to an updated electronic device.
N個の第1の検証パラメータを取得するように構成された取得モジュールであって、前記N個の第1の検証パラメータが車両内のN個の電子デバイスと一対一に対応し、前記N個の第1の検証パラメータのi番目の第1の検証パラメータが、前記N個の電子デバイスのi番目の電子デバイスのソフトウェアイメージに従って決定され、Nが1よりも大きい正の整数である、取得モジュールと、
前記N個の第1の検証パラメータに従って、第1のノードに対応する第1の検証パラメータを決定するように構成された決定モジュールであって、前記第1のノードが前記N個の電子デバイスの親ノードである、決定モジュールと
を備え、
前記取得モジュールが、トラステッドデバイスから、前記第1のノードに対応する第1のリファレンスパラメータを取得するようにさらに構成され、
前記決定モジュールが、前記第1のノードに対応する前記第1の検証パラメータおよび前記第1のノードに対応する前記第1のリファレンスパラメータに従って、前記N個の電子デバイスのソフトウェアセキュリティを検証するようにさらに構成される、デバイス。 A computing device,
an acquisition module configured to acquire N first verification parameters, the N first verification parameters having a one-to-one correspondence with N electronic devices in a vehicle; an acquisition module, wherein an i-th first verification parameter of the i-th first verification parameter of the N electronic devices is determined according to a software image of the i-th electronic device of the N electronic devices, where N is a positive integer greater than 1; and,
a determination module configured to determine a first verification parameter corresponding to a first node according to the N first verification parameters, wherein the first node is one of the N electronic devices; It has a parent node, a decision module, and
the acquisition module is further configured to acquire a first reference parameter corresponding to the first node from a trusted device;
the determination module is configured to verify software security of the N electronic devices according to the first verification parameter corresponding to the first node and the first reference parameter corresponding to the first node; The device is further configured.
前記取得モジュールが、前記N個の第2の検証パラメータの前記i番目の第2の検証パラメータおよび前記N個の電子デバイスの前記i番目の電子デバイスの識別情報に従って、前記N個の第1の検証パラメータの前記i番目の第1の検証パラメータを決定することであって、i=1,…,Nである、ことを行うようにさらに構成される、請求項10に記載のデバイス。 the acquisition module acquires N second verification parameters, the N second verification parameters having a one-to-one correspondence with the N electronic devices; further configured to: a second verification parameter of the i-th verification parameter of is determined according to the software image of the i-th electronic device of the N electronic devices;
The acquisition module is configured to obtain the N first verification parameters according to the i-th second verification parameters of the N second verification parameters and the identification information of the i-th electronic device of the N electronic devices. 11. The device of claim 10, further configured to determine the i-th first verification parameter of verification parameters, where i=1,...,N.
前記決定モジュールが、前記N個の第2の検証パラメータの前記i番目の第2の検証パラメータおよび前記N個の第2のリファレンスパラメータのi番目の第2のリファレンスパラメータに従って、前記N個の電子デバイスの前記i番目の電子デバイスのソフトウェアセキュリティを検証するようにさらに構成される、請求項11に記載のデバイス。 The acquisition module acquires N second reference parameters from a trusted device, the N second reference parameters having a one-to-one correspondence with the N electronic devices. further configured as,
The determination module determines the N electrons according to the i-th second verification parameters of the N second verification parameters and the i-th second reference parameter of the N second reference parameters. 12. The device of claim 11, further configured to verify software security of the i-th electronic device of devices.
M個の電子デバイスに対応するツリーを決定することであって、前記ツリーがM個のノードを含み、前記M個のノードが前記車両内のM個の電子デバイスと一対一に対応し、前記M個の電子デバイスが前記N個の電子デバイスを含み、MがNよりも大きい正の整数である、ことと、
前記ツリー内の前記M個のノードの接続関係に基づいて、前記第1のノードが前記N個の電子デバイスの親ノードであると決定することと
を行うようにさらに構成される、請求項10から12のいずれか一項に記載のデバイス。 The determination module includes:
determining a tree corresponding to M electronic devices, said tree including M nodes, said M nodes having a one-to-one correspondence with M electronic devices in said vehicle; M electronic devices include the N electronic devices, and M is a positive integer greater than N;
10. Determining that the first node is a parent node of the N electronic devices based on a connectivity relationship of the M nodes in the tree. A device according to any one of paragraphs 12 to 12.
第1のブロックを決定することであって、前記第1のブロックが前記ツリーに対応し、前記第1のブロックが第1の構造情報を含み、前記第1の構造情報が前記ツリーのノードの接続関係を示すために使用される、ことと、
第2のブロックを決定することであって、前記第2のブロックが第2の構造情報を含み、前記第2の構造情報が、未修正の指示情報および修正された指示情報を含み、前記未修正の指示情報が、未更新のノードを示すために使用され、前記修正された指示情報が、更新されたノードの接続関係を示すために使用され、前記未更新のノードのそれぞれに対応する第1の検証パラメータおよび第2の検証パラメータは更新されておらず、前記更新されたノードのそれぞれに対応する第1の検証パラメータまたは第2の検証パラメータは更新されている、ことと
を行うようにさらに構成される、請求項13から16のいずれか一項に記載のデバイス。 The determination module includes:
determining a first block, the first block corresponding to the tree, the first block including first structural information, and the first structural information of a node of the tree; used to indicate a connection relationship, and
determining a second block, the second block including second structural information, the second structural information including unmodified instruction information and modified instruction information; Modification instruction information is used to indicate an unupdated node, the modified instruction information is used to indicate an updated connection relationship of the nodes, and the 1 and the second validation parameter have not been updated, and the first validation parameter or the second validation parameter corresponding to each of the updated nodes has been updated. 17. A device according to any one of claims 13 to 16, further comprising:
前記第2のブロックが、前記第2のブロックを記憶した時刻を示すタイムスタンプと、更新された電子デバイスに対応するソフトウェア情報とをさらに含む、請求項17に記載のデバイス。 The first block further includes a timestamp indicating a time when the first block was stored, and software information corresponding to the M electronic devices,
18. The device of claim 17, wherein the second block further includes a timestamp indicating a time when the second block was stored and software information corresponding to an updated electronic device.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/119574 WO2022067731A1 (en) | 2020-09-30 | 2020-09-30 | Method for verifying software security of electronic device(s) in vehicle and related device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023543476A true JP2023543476A (en) | 2023-10-16 |
Family
ID=75609528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023519759A Pending JP2023543476A (en) | 2020-09-30 | 2020-09-30 | Method and related devices for verifying software security of electronic devices in a vehicle |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4211588A4 (en) |
JP (1) | JP2023543476A (en) |
CN (1) | CN112740210B (en) |
WO (1) | WO2022067731A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240232362A9 (en) * | 2022-10-25 | 2024-07-11 | Robert Bosch Gmbh | Digital shadows for remote attestation of vehicle software |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5749257B2 (en) * | 2009-06-26 | 2015-07-15 | トラステッド ロジック | Data validation method |
CN105515776A (en) * | 2010-03-05 | 2016-04-20 | 交互数字专利控股公司 | Method and apparatus for providing security to devices |
US9766874B2 (en) * | 2014-01-09 | 2017-09-19 | Ford Global Technologies, Llc | Autonomous global software update |
CN106845279A (en) * | 2017-02-17 | 2017-06-13 | 宇龙计算机通信科技(深圳)有限公司 | The method of calibration and device of security service management entity SSME modules |
EP3690643B1 (en) * | 2017-10-24 | 2023-01-25 | Huawei International Pte. Ltd. | Vehicle-mounted device upgrading method and related device |
US10812257B2 (en) * | 2017-11-13 | 2020-10-20 | Volkswagen Ag | Systems and methods for a cryptographically guaranteed vehicle identity |
CN108304737A (en) * | 2018-01-26 | 2018-07-20 | 鑫银科技集团股份有限公司 | A kind of data verification method, electronic equipment and data verification system |
JP7379892B2 (en) * | 2018-07-25 | 2023-11-15 | 株式会社デンソー | Vehicle electronic control systems, vehicle-side systems, and mobile terminals |
CN108881303A (en) * | 2018-08-06 | 2018-11-23 | 罗伯特·博世有限公司 | Node, safety verification network and safe verification method with computing function |
US11204751B2 (en) * | 2018-09-07 | 2021-12-21 | International Business Machines Corporation | Mitigating incompatibilities due to code updates in a system containing multiple networked electronic control units |
CN109492352B (en) * | 2018-10-09 | 2021-01-29 | 华为技术有限公司 | Method and device for realizing equipment identification combination engine |
CN110262826A (en) * | 2019-03-05 | 2019-09-20 | 上海博泰悦臻网络技术服务有限公司 | Vehicle-mounted software configuration updating management method, server-side, client and processing end |
CN110047168A (en) * | 2019-04-15 | 2019-07-23 | 优信拍(北京)信息科技有限公司 | Management method, device, equipment and the system of information of vehicles |
US10726000B1 (en) * | 2019-07-23 | 2020-07-28 | Science Applications International Corporation | Blockchain based integrity checks |
CN110460447B (en) * | 2019-08-16 | 2022-07-08 | 东北大学秦皇岛分校 | Hash binary tree-based edge calculation data auditing system and auditing method |
-
2020
- 2020-09-30 JP JP2023519759A patent/JP2023543476A/en active Pending
- 2020-09-30 CN CN202080005100.7A patent/CN112740210B/en active Active
- 2020-09-30 WO PCT/CN2020/119574 patent/WO2022067731A1/en unknown
- 2020-09-30 EP EP20955755.2A patent/EP4211588A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112740210A (en) | 2021-04-30 |
CN112740210B (en) | 2022-02-11 |
WO2022067731A1 (en) | 2022-04-07 |
EP4211588A4 (en) | 2023-10-25 |
EP4211588A1 (en) | 2023-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108140093B (en) | Migrating secrets using a hardware root of trust for a device | |
CN111263352B (en) | OTA upgrading method and system of vehicle-mounted equipment, storage medium and vehicle-mounted equipment | |
US20160378457A1 (en) | Program update system and program update method | |
CN109787774B (en) | Upgrade downloading method and device based on digital signature verification, server and terminal | |
CN103677891B (en) | method for selective software rollback | |
AU2020260153B2 (en) | Version history management using a blockchain | |
US8966248B2 (en) | Secure software file transfer systems and methods for vehicle control modules | |
KR101115066B1 (en) | Updating data in a mobile terminal | |
US9542558B2 (en) | Secure factory data generation and restoration | |
US20150121478A1 (en) | Permission Management Method, Apparatus, and Terminal | |
US12079618B2 (en) | Method for managing software versions of electronic device(s) in a vehicle and related device | |
US20200259668A1 (en) | Application certificate | |
US20130024696A1 (en) | Method and apparatus for flash updates with secure flash | |
US11681513B2 (en) | Controlled scope of authentication key for software update | |
JP6887108B2 (en) | Fraud detection electronic control unit, electronic control unit, in-vehicle network system, fraud detection method and computer program | |
CN107239299B (en) | Plug-in upgrading method and device | |
EP3647979B1 (en) | Device attestation techniques | |
JP2023543476A (en) | Method and related devices for verifying software security of electronic devices in a vehicle | |
JP2021517409A (en) | Storage device authentication fix | |
CN118227186B (en) | Differential upgrading method, device, equipment, storage medium and program product | |
US20240348438A1 (en) | Electronic control unit and storage medium | |
CN118283597A (en) | Vehicle upgrading method, storage medium, electronic equipment and vehicle | |
CN114879980A (en) | Vehicle-mounted application installation method and device, computer equipment and storage medium | |
CN112988189A (en) | BMC (baseboard management controller) firmware upgrading method, system, equipment and computer storage medium | |
CN113094060A (en) | Electronic device and software updating method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230509 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240729 |