CN108337228A - 车载装置、中继装置以及计算机程序 - Google Patents
车载装置、中继装置以及计算机程序 Download PDFInfo
- Publication number
- CN108337228A CN108337228A CN201711420384.2A CN201711420384A CN108337228A CN 108337228 A CN108337228 A CN 108337228A CN 201711420384 A CN201711420384 A CN 201711420384A CN 108337228 A CN108337228 A CN 108337228A
- Authority
- CN
- China
- Prior art keywords
- data
- repeater
- control program
- relay
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/36—Repeater circuits
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/155—Ground-based stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/50—Systems for transmission between fixed stations via two-conductor transmission lines
Abstract
本发明涉及车载装置、中继装置以及计算机程序,提供具备第一车载设备和第二车载设备的小型且便宜的车载装置、具备第一中继器和第二中继器的小型且便宜的中继装置以及由上述车载装置以及中继装置分别执行的计算机程序。中继装置(11)具备依照第一控制程序来执行处理的第一中继器(21)和依照第二控制程序来执行处理的第二中继器(22)。第一中继器(21)的HSM(Hardware Security Module,硬件安全模块)验证第二控制程序。第二车载设备对与第二控制程序关联的关联数据进行运算。HSM通过判定第二中继器(22)运算出的关联数据与基准数据是否一致来验证第二控制程序。
Description
技术领域
本发明涉及一种车载装置、对通信装置之间的通信进行中继的中继装置以及由上述车载装置和中继装置分别执行的计算机程序。
背景技术
作为搭载于车辆的通信系统,存在由中继装置对控制电气设备的动作的多个ECU(Electronic Control Unit,电子控制单元)之间的通信进行中继的通信系统。在该通信系统中,多个ECU分别作为通信装置发挥功能,一个ECU经由中继装置与其他ECU通信。多个ECU能够通过相互通信而使多个电气设备进行协调动作。中继装置将从一个ECU接收到的数据发送到其他ECU。
在中继装置中存储有控制程序。在中继装置中,CPU(Central Processing Unit,中央处理单元)通过执行控制程序,从而执行对通信进行中继的中继处理。在存储于中继装置的控制程序已被篡改的情况下,中继装置不适当地发送数据,因此电气设备有可能不适当地动作。因此,在中继装置已起动的情况下,需要验证控制程序是适当的。
在专利文献1中,公开了验证控制程序适当的技术。在该技术中,对与控制程序关联的关联数据进行运算,判定运算出的关联数据与预先存储的多个预定数据中的一个预定数据是否一致。在运算出的关联数据与多个预定数据中的一个预定数据一致的情况下,判定为控制程序是适当的。
现有技术文献
专利文献
专利文献1:日本特开2009-259160号公报
发明内容
发明要解决的课题
在车辆的通信中使用多个协议。因此,作为中继装置,考虑具备对多个第一通信装置之间的通信进行中继的第一中继器以及对多个第二通信装置之间的通信进行中继的第二中继器的中继装置。
在该中继装置中,例如在多个第一通信装置之间进行依照第一协议的通信,在多个第二通信装置之间进行依照第二协议的通信。并且,第一中继器连接于第二中继器,第一中继器和第二中继器对第一通信装置和第二通信装置之间的通信进行中继。
在具备第一中继器和第二中继器的中继装置中,在第一中继器和第二中继器中分别搭载有CPU,第一中继器的CPU执行的控制程序与第二中继器的CPU执行的控制程序不同。在该情况下,需要分别对这些控制程序进行验证。作为验证第一中继器和第二中继器各自的控制程序的中继装置,考虑第一中继器和第二中继器分别具有验证控制程序适当的验证功能的中继装置。
然而,在第一中继器和第二中继器分别具有验证功能的情况下,存在中继装置的尺寸大型化且制造费用升高这样的问题。
存在这样的问题的车载装置不限定于中继装置。对于具备依照第一控制程序执行处理的第一车载设备以及依照与第一控制程序不同的第二控制程序执行处理的第二车载设备的车载装置,也存在同样的问题。
本发明是鉴于上述情形而完成的,其目的在于,提供一种具备第一车载设备和第二车载设备的小型且便宜的车载装置、具备第一中继器和第二中继器的小型且便宜的中继装置以及由上述车载装置以及中继装置分别执行的计算机程序。
用于解决课题的技术方案
本发明涉及一种车载装置,具备第一车载设备,所述第一车载设备具有:第一处理部,依照第一控制程序来执行处理;验证器,通过与构成该第一处理部的硬件不同的另外的硬件来验证所述第一控制程序,所述车载装置的特征在于,具备:第二车载设备,具有依照第二控制程序来执行处理的第二处理部;以及关联数据运算部,对与所述第二控制程序关联的关联数据进行运算,所述验证器具有判定所述关联数据运算部运算出的关联数据与基准数据是否一致的判定部。
在本发明中,第一车载设备的验证器通过判定与第二车载设备的第二控制程序关联的关联数据与基准数据是否一致,验证第二控制程序。因此,第二车载设备不需要具有第二控制程序的验证功能,因此,装置是小型的,制造费用便宜。
在本发明的车载装置中,其特征在于,在所述验证器中,通过所述另外的硬件执行验证程序来验证所述第一控制程序。
在本发明中,通过与构成第一处理部的硬件不同的另外的硬件执行验证程序来验证第一控制程序。
在本发明的车载装置中,其特征在于,所述关联数据运算部;随机数生成部,生成随机数数据;以及基准数据运算部,基于该随机数生成部生成的随机数数据以及预定数据,对所述基准数据进行运算,所述第二车载设备具有计算部,该计算部基于所述第二控制程序以及随机数数据来计算用于对所述关联数据进行运算的运算数据,所述验证器的所述关联数据运算部基于所述计算部计算出的运算数据,对所述关联数据进行运算。
在本发明中,第一车载设备的验证器生成随机数数据,根据所生成的随机数数据和预定数据来对基准数据进行运算。第二车载设备取得验证器生成的随机数数据,根据所取得的随机数数据和第二控制程序来计算运算数据。验证器取得第二车载设备计算出的运算数据,根据所取得的运算数据来对关联数据进行运算,判定关联数据与基准数据是否一致。
在变更了验证器生成的随机数数据的情况下,第二车载设备计算的运算数据也被变更。例如,假定每当验证器验证第二控制程序时都变更随机数数据。在该情况下,每当验证器验证第二控制程序时,运算数据被变更,因此,第二控制程序的验证结果的可靠性较高。
在本发明的车载装置中,其特征在于,所述第一车载设备的所述验证器具有存储有密钥数据的存储部,所述基准数据运算部基于存储于该存储部的密钥数据、所述随机数数据以及所述预定数据,对所述基准数据进行运算,所述关联数据运算部基于所述运算数据以及密钥数据,对所述关联数据进行运算。
在本发明中,第一车载设备的验证器根据密钥数据、随机数数据以及预定数据来对基准数据进行运算,并且根据第二车载设备运算出的运算数据和密钥数据来对关联数据进行运算,因此,第二控制程序的验证结果的可靠性更高。
在本发明的车载装置中,其特征在于,所述第一车载设备的所述验证器具有:随机数生成部,生成随机数数据;以及基准数据运算部,基于该随机数生成部生成的随机数数据以及预定数据,对所述基准数据进行运算,所述第二车载设备具有所述关联数据运算部,该关联数据运算部基于所述第二控制程序以及随机数数据,对所述关联数据进行运算。
在本发明中,第一车载设备的验证器生成随机数数据,根据所生成的随机数数据和预定数据来对基准数据进行运算。第二车载设备取得验证器生成的随机数数据,根据所取得的随机数数据和第二控制程序来对关联数据进行运算。验证器取得第二车载设备运算出的关联数据,判定所取得的关联数据与基准数据是否一致。
在变更了验证器生成的随机数数据的情况下,第二车载设备运算的关联数据也被变更。例如,假定每当验证器验证第二控制程序时都变更随机数数据。在该情况下,每当验证器验证第二控制程序时,验证器从第二车载设备取得的关联数据被变更,因此,第二控制程序的验证结果的可靠性较高。
在本发明的车载装置中,其特征在于,具备动作控制部,在由所述验证器的所述判定部判定为所述关联数据与所述基准数据不一致的情况下,所述动作控制部使所述第二车载设备的动作停止。
在本发明中,在由第一车载设备的验证器判定为关联数据与预定数据不一致的情况下,认为第二控制程序已被篡改的可能性较高,第二车载设备停止动作。
本发明涉及一种车辆用的中继装置,具备:第一中继器,对多个第一通信装置之间的通信进行中继;以及第二中继器,依照控制程序来执行处理,对多个第二通信装置之间的通信进行中继,所述第一中继器和所述第二中继器对所述第一通信装置和所述第二通信装置之间的通信进行中继,所述中继装置的特征在于,所述第一中继器具有:存储部,存储有密钥数据;运算部,使用该密钥数据来对与所述第二中继器的所述控制程序关联的关联数据进行运算;以及判定部,判定该运算部运算出的关联数据与预定数据是否一致。
在本发明中,在第二中继器中,依照控制程序来执行处理。第一中继器使用密钥数据来对与第二中继器的控制程序关联的关联数据进行运算,判定所运算出的关联数据与预定数据是否一致。第一中继器在关联数据与预定数据一致的情况下,例如向第二中继器通知控制程序是适当的,第二中继器依照控制程序开始处理。
如上所述,第一中继器验证第二中继器的控制程序是适当的,因此,不需要第一中继器和第二中继器分别具有控制程序的验证功能。因此,装置是小型的,制造费用便宜。
在本发明的中继装置中,其特征在于,具备动作控制部,在由所述第一中继器的所述判定部判定为所述关联数据与所述预定数据不一致的情况下,所述动作控制部使所述第二中继器的动作停止。
在本发明中,在由第一中继器判定为关联数据与预定数据不一致的情况下,认为第二中继器的控制程序已被篡改的可能性较高,第二中继器停止动作。
在本发明的中继装置中,其特征在于,所述第二中继器具有计算部,该计算部计算用于对所述关联数据进行运算的运算数据,所述第一中继器具有取得该计算部计算出的运算数据的取得部,所述第一中继器的所述运算部使用所述密钥数据以及该取得部取得的运算数据来对所述关联数据进行运算。
在本发明中,第二中继器计算用于对关联数据进行运算的运算数据。第一中继器从第二中继器取得运算数据,使用密钥数据和运算数据来对关联数据进行运算。例如在运算数据的数据量比控制程序的数据量小的情况下,为了验证控制程序是适当的,从第二中继器向第一中继器传送的数据的数据量较小。在该情况下,进行验证所需的时间较短。
在本发明的中继装置中,其特征在于,所述第一中继器具有:处理部,依照第二控制程序来执行处理;第二存储部,存储有第二密钥数据;第二运算部,使用该第二密钥数据来对与所述第二控制程序关联的第二关联数据进行运算;以及第二判定部,判定该第二运算部运算出的第二关联数据与第二预定数据是否一致。
在本发明中,在第一中继器中,依照第二控制程序来执行处理。第一中继器通过使用密钥数据来对关联数据进行运算,验证第二中继器的控制程序是适当的,并且通过使用第二密钥数据来对第二关联数据进行运算,还验证本机的第二控制程序是适当的。
在本发明的中继装置中,其特征在于,具备转换部,该转换部将与在多个第一通信装置之间的通信中使用的第一协议对应的数据转换成与在多个第二通信装置之间的通信中使用的第二协议对应的数据,将与该第二协议对应的数据转换成与所述第一协议对应的数据。
在本发明中,在多个第一通信装置之间的通信中使用第一协议,在多个第二通信装置之间的通信中使用第二协议。当在第一通信装置和第二通信装置之间进行通信的情况下,将与第一协议对应的数据转换成与第二协议对应的数据,将与第二协议对应的数据转换成与第一协议对应的数据。
本发明涉及一种计算机程序,由车载装置的验证器执行,所述车载装置具备:第一车载设备,具有第一处理部和所述验证器,所述第一处理部依照第一控制程序来执行处理,所述验证器通过与构成该第一处理部的硬件不同的另外的硬件来验证所述第一控制程序;以及第二车载设备,依照第二控制程序来执行处理,所述计算机程序的特征在于,使计算机执行如下处理:对与所述第二控制程序关联的关联数据进行运算,判定所运算出的关联数据与基准数据是否一致。
在本发明中,第一车载设备的验证器通过判定与第二车载设备的第二控制程序关联的关联数据与基准数据是否一致而验证第二控制程序。因此,不需要第二车载设备具有第二控制程序的验证功能,因此,车载装置是小型的,车载装置的制造费用便宜。
本发明涉及一种计算机程序,由车载装置的验证器执行,所述车载装置具备:第一车载设备,具有第一处理部和所述验证器,所述第一处理部依照第一控制程序来执行处理,所述验证器通过与构成该第一处理部的硬件不同的另外的硬件来验证所述第一控制程序;以及第二车载设备,依照第二控制程序执行处理,所述计算机程序的特征在于,使计算机执行如下处理:取得与所述第二控制程序关联的关联数据,判定所取得的关联数据与基准数据是否一致。
在本发明中,第一车载设备的验证器通过判定与第二车载设备的第二控制程序关联的关联数据与基准数据是否一致而验证第二控制程序。因此,不需要第二车载设备具有第二控制程序的验证功能,因此,车载装置是小型的,车载装置的制造费用便宜。
本发明涉及一种计算机程序,由车辆用的中继装置中的第一中继器执行,所述车辆用的中继装置具备:所述第一中继器,对多个第一通信装置之间的通信进行中继;以及第二中继器,依照控制程序来执行处理,对多个第二通信装置之间的通信进行中继,所述第一中继器和所述第二中继器对所述第一通信装置和所述第二通信装置之间的通信进行中继,所述计算机程序的特征在于,使计算机执行如下处理:使用预先存储的密钥数据来对与所述第二中继器的所述控制程序关联的关联数据进行运算,判定所运算出的关联数据与预定数据是否一致。
在本发明中,第一中继器通过判定与第二中继器的控制程序关联的关联数据与基准数据是否一致,验证第二中继器的控制程序。因此,不需要第二中继器具有控制程序的验证功能,因此,中继装置是小型的,中继装置的制造费用便宜。
根据本发明,能够实现小型且便宜的装置。
附图说明
图1是示出实施方式1中的通信系统的主要部件结构的框图。
图2是示出第一中继器的主要部件结构的框图。
图3是示出第二中继器的主要部件结构的框图。
图4是示出第一中继处理的步骤的流程图。
图5是示出第二中继处理的步骤的流程图。
图6是示出验证处理的步骤的流程图。
图7是示出起动处理的步骤的流程图。
图8是示出实施方式2中的通信系统的主要部件结构的框图。
图9是示出第二中继器的主要部件结构的框图。
图10是示出起动处理的步骤的流程图。
图11是示出实施方式3中的验证处理的步骤的流程图。
图12是示出实施方式3中的验证处理的步骤的流程图。
图13是示出起动处理的步骤的流程图。
图14是第二控制程序的验证的说明图。
图15是示出实施方式4中的验证处理的步骤的流程图。
图16是示出实施方式4中的验证处理的步骤的流程图。
图17是示出起动处理的步骤的流程图。
图18是第二控制程序的验证的说明图。
具体实施方式
以下,针对本发明,基于示出其实施方式的附图来详细叙述。
(实施方式1)
图1是示出实施方式1中的通信系统1的主要部件结构的框图。通信系统1适当地搭载于车辆100,具备中继装置11、ECU12a、12a、12b、12b、车载设备13a、13b、13c以及通信线La、Lb。中继装置11具有第一中继器21以及第二中继器22。
中继装置11、第一中继器21以及第二中继器22分别作为车载装置、第一车载设备和第二车载设备而发挥功能。
将2根通信线La、Lb分别连接于中继装置11的第一中继器21。将两个ECU12a、12a连接于通信线La。将两个ECU12b、12b连接于通信线Lb。在中继装置11中,第一中继器21连接于第二中继器22。将三个车载设备13a、13b、13c分别连接于第二中继器22。
分别经由通信线La、Lb进行依照CAN(Controller Area Network,控域网)协议的通信。通信线La、Lb分别是双绞线。分别经由通信线La、Lb,与CAN协议对应地发送包含识别信息的ECU数据。识别信息是用于识别包含自身在内的ECU数据的信息。
ECU12a、12a以及第一中继器21分别经由通信线La发送ECU数据。ECU12a、12a以及第一中继器21中的一个所发送的ECU数据被其他全部装置接收。例如,一个ECU12a发送的ECU数据被另一个ECU12a以及第一中继器21接收。
同样地,ECU12b、12b以及第一中继器21分别经由通信线Lb发送ECU数据。ECU12b、12b以及第一中继器21中的一个所发送的ECU数据被其他全部装置接收。例如,一个ECU12b发送的ECU数据被另一个ECU12b以及第一中继器21接收。
ECU12a、12a分别在接收到ECU数据的情况下,根据接收到的ECU数据中包含的识别信息,判定是否应该执行与该ECU数据相关的处理。ECU12a、12a在判定为应该执行与接收到的ECU数据相关的处理的情况下,执行与接收到的ECU数据相关的处理。ECU12a、12a分别在判定为不应该执行与接收到的ECU数据相关的处理的情况下,对接收到的ECU数据进行搁置或者删除等。
同样地,ECU12b、12b分别在接收到ECU数据的情况下,根据接收到的ECU数据中包含的识别信息,判定是否应该执行与该ECU数据相关的处理。ECU12b、12b分别在判定为应该执行与接收到的ECU数据相关的处理的情况下,执行与接收到的ECU数据相关的处理。ECU12b、12b分别在判定为不应该执行与接收到的ECU数据相关的处理的情况下,对接收到的ECU数据进行搁置或者删除等。
将未图示的电气设备分别连接于ECU12a、12a、12b、12b。ECU12a、12a、12b、12b例如分别执行根据接收到的ECU数据所示的内容而控制连接于本装置的电气设备的动作的处理来作为与接收到的ECU数据相关的处理。
ECU12a、12a、12b、12b例如分别在将传感器连接于本装置的情况下,发送表示传感器检测到的检测值的ECU数据。另外,ECU12a、12a、12b、12b例如分别在将从使用者受理指示的受理部连接于本装置的情况下,发送表示受理部受理了的指示的内容的ECU数据。例如在将使车辆的电动车窗开闭的车窗马达连接于一个ECU12a的情况下,另一个ECU12a发送指示打开电动车窗的ECU数据。一个ECU12a在接收到该ECU数据的情况下,使车窗马达打开电动车窗。
第一中继器21对ECU12a、12a中的一个ECU与ECU12b、12b中的一个ECU之间的通信进行中继。具体来说,第一中继器21经由通信线Lb发送经由通信线La接收到的ECU数据,经由通信线La发送经由通信线Lb接收到的ECU数据。ECU12a、12a、12b、12b分别作为第一通信装置而发挥功能。在ECU12a、12a中的一个ECU与ECU12b、12b中的一个ECU之间的通信中使用CAN协议。
车载设备13a、13b、13c分别以一对一的方式与第二中继器22进行通信。在车载设备13a、13b、13c中的各车载设备与第二中继器22之间,例如进行基于以太网(注册商标)的标准的通信。车载设备13a、13b、13c分别将包含表示发送目的地的发送目的地信息在内的设备数据发送到第二中继器22。第二中继器22对在车载设备13a、13b、13c中的两个车载设备之间进行的通信进行中继。车载设备13a、13b、13c分别作为第二通信装置而发挥功能。在车载设备13a、13b、13c中的两个车载设备之间的通信中,例如使用作为与以太网(注册商标)对应的协议之一的TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,互联网协议)。
假定车载设备13a、13b分别是相机以及显示器。在该情况下,车载设备13a将包含由相机拍摄到的图像数据的设备数据发送到第二中继器22。该设备数据包含将车载设备13b示为发送目的地的发送目的地信息。第二中继器22将包含图像数据的设备数据发送到车载设备13b。车载设备13b显示基于从第二中继器22接收到的设备数据所包含的图像数据的图像。
第一中继器21以及第二中继器22对ECU12a、12a、12b、12b中的一个ECU与车载设备13a、13b、13c中的一个车载设备之间的通信进行中继。
如上所述,ECU数据是与CAN协议对应的数据,相当于与第一协议对应的数据。设备数据是与在车载设备13a、13b、13c中的两个车载设备之间的通信中使用的协议对应的数据,相当于与第二协议对应的数据。
第一中继器21将经由通信线La、Lb中的一方接收到的ECU数据转换成设备数据。第二中继器22将由第一中继器21转换后的设备数据发送到车载设备13a、13b、13c中的一个车载设备。第二中继器22从车载设备13a、13b、13c中的一个车载设备接收设备数据。第一中继器21将第二中继器22接收到的设备数据转换成ECU数据,经由通信线La、Lb中的至少一方发送转换后的ECU数据。
图2是示出第一中继器21的主要部件结构的框图。第一中继器21具有ROM(ReadOnly Memory,只读存储器)31、CPU32、通信部33a、33b、HSM(Hardware Security Module,硬件安全模块)34、RAM(Random Access Memory,随机存取存储器)35以及电源电路36。这些部件连接于总线37。除连接于总线37之外,通信部33a、33b还各自连接于通信线La、Lb。除连接于总线37之外,RAM35还连接于第二中继器22。
将第一控制程序P1存储于ROM31。CPU32依照第一控制程序P1来执行第一中继处理。第一中继处理是用于对ECU12a、12a中的一个ECU与ECU12b、12b中的一个ECU之间的通信以及ECU12a、12a、12b、12b中的一个ECU与车载设备13a、13b、13c中的一个车载设备之间的通信进行中继的处理。第一控制程序P1相当于第二控制程序,CPU32作为处理部而发挥功能。进而,CPU32作为第一处理部而发挥功能,是构成第一处理部的硬件。
通信部33a从ECU12a、12a中的一个ECU经由通信线La接收ECU数据。通信部33a依照CPU32的指示,经由通信线La发送ECU数据。通信部33a发送的ECU数据由ECU12a、12a接收。
通信部33b从ECU12b、12b中的一个ECU经由通信线Lb接收ECU数据。通信部33b依照CPU32的指示,经由通信线Lb发送ECU数据。通信部33b发送的ECU数据由ECU12b、12b接收。
将第二控制程序P2(参照图3)存储于第二中继器22。HSM34验证第一控制程序P1是适当的,并且验证第二控制程序P2是适当的。HSM34作为验证第一控制程序P1以及第二控制程序P2的验证器而发挥功能。
CPU32、HSM34以及第二中继器22分别将各种数据写入到RAM35中,并从RAM35读取数据。因此,例如,CPU32能够从RAM35读取第二中继器22写入到RAM35中的数据。
电源电路36通过未图示的电力线连接于车辆100的未图示的蓄电池。电源电路36还通过未图示的电力线连接于ROM31、CPU32、通信部33a、33b、HSM34以及RAM35。电源电路36将蓄电池输出的电压变压为预定的第一电压。电源电路36将第一电压输出到ROM31、CPU32、通信部33a、33b、HSM34以及RAM35,对这些部件供给电力。
例如在将车辆100的未图示的点火开关切换成接通的情况下,电源电路36将电力供给到ROM31、CPU32、通信部33a、33b、HSM34以及RAM35,使这些部件工作。电源电路36依照HSM34的指示,停止向ROM31、CPU32、通信部33a、33b、HSM34以及RAM35的电力供给。由此,这些部件停止动作,擦除被存储在RAM35中的数据。
HSM34具有ROM41、CPU42以及接口43。这些部件被连接于总线44。除连接于总线44之外,接口43还连接于总线37。
将验证程序Ph存储于ROM41。CPU42在第一中继器21内执行验证程序Ph。由此,执行用于验证第一控制程序P1以及第二控制程序P2适当的验证处理。验证程序Ph是用于使CPU42执行验证处理的计算机程序。在ROM41中还存储有第一密钥数据K1、第一基准数据R1、第二密钥数据K2以及第二基准数据R2。这些数据是预定数据,在验证处理中使用。ROM41作为存储部以及第二存储部而发挥功能。
CPU42是验证第一控制程序P1以及第二控制程序P2的硬件,与CPU32不同。
此外,验证程序Ph也能够以计算机(CPU42)可读取的方式存储于存储介质E1。在该情况下,将由未图示的读取装置从存储介质E1读取的验证程序Ph存储于HSM34的未图示的存储部。存储介质E1是光盘、软盘、磁盘、磁光盘或者半导体存储器等。光盘是CD(CompactDisc,光碟)-ROM(Read Only Memory,只读存储器)、DVD(Digital Versatile Disc,数字化通用磁盘)-ROM或者BD(Blu-ray(注册商标)Disc)等。磁盘例如是硬盘。另外,也可以从连接于未图示的通信网的未图示的外部装置下载验证程序Ph,并将验证程序Ph存储于上述存储部。
CPU42经由接口43访问第一中继器21的ROM31以及RAM35。具体来说,CPU42从ROM31读取第一控制程序P1。另外,CPU42将各种数据写入到RAM35,并且从RAM35读取数据。进而,CPU42对电源电路36指示停止电力供给。如上所述,接口43许可CPU42对ROM31、RAM35以及电源电路36的访问。另一方面,接口43防止CPU32对ROM41访问。因此,CPU32无法读取被存储在ROM41中的内容。
在开始了从电源电路36向HSM34的电力供给的情况下,CPU42执行验证处理。在CPU42执行验证处理的期间,第一中继器21的CPU32停止动作。例如,CPU32在CPU32的未图示的端子的电压是高电平电压的情况下进行工作,在CPU32的端子的电压是低电平电压的情况下停止动作。在该情况下,在CPU42执行验证处理的期间,通过HSM34将CPU32的端子的电压维持于低电平电压。然后,在CPU42结束了验证处理的情况下,通过HSM34将CPU32的端子的电压切换成高电平电压。
图3是示出第二中继器22的主要部件结构的框图。第二中继器22具有ROM51、CPU52、通信部53a、53b、53c以及电源电路54。这些部件连接于总线55。总线55还连接于第一中继器21的RAM35。除连接于总线55之外,通信部53a、53b、53c还分别连接于车载设备13a、13b、13c。
将起动程序Pb以及第二控制程序P2存储于ROM51。CPU52依照起动程序Pb来执行起动处理。起动处理是在开始向CPU52的电力供给而使CPU52工作之后由CPU52最先执行的处理。
另外,CPU52依照第二控制程序P2来执行第二中继处理。第二中继处理是用于对车载设备13a、13b、13c中的两个车载设备之间的通信以及ECU12a、12a、12b、12b中的一个ECU与车载设备13a、13b、13c中的一个车载设备之间的通信进行中继的处理。CPU52作为第二处理部而发挥功能。
通信部53a、53b、53c分别从车载设备13a、13b、13c接收设备数据。另外,通信部53a、53b、53c分别依照CPU52的指示而将设备数据发送到车载设备13a、13b、13c。
电源电路54通过未图示的电力线连接于车辆100的蓄电池。电源电路54还通过未图示的电力线连接于ROM51、CPU52以及通信部53a、53b、53c。电源电路54将蓄电池输出的电压变压为预定的第二电压。电源电路54将预定的第二电压输出到ROM31、CPU32、通信部33a、33b、HSM34以及RAM35,对这些部件供给电力。
例如,在将车辆100的未图示的点火开关切换成接通的情况下,电源电路54将电力供给到ROM51、CPU52以及通信部53a、53b、53c,使这些部件工作。电源电路54依照CPU52的指示,停止向ROM51、CPU52以及通信部53a、53b、53c的电力供给。由此,这些部件停止动作。
在起动处理以及第二中继处理的各处理中,CPU52将各种数据写入到第一中继器21的RAM35,从RAM35读取数据。
图4是示出第一中继处理的步骤的流程图。第一中继器21的CPU32周期性地执行第一中继处理。首先,CPU32判定通信部33a、33b中的一个通信部是否接收到ECU数据(步骤S1)。CPU32在判定为通信部33a、33b中的一个通信部接收到ECU数据的情况下(S1:“是”),判定是否应该将ECU数据发送到ECU12a、12a、12b、12b以及车载设备13a、13b、13c中的至少一者(步骤S2)。
将多个识别信息存储于ROM31。将通信部33a、33b中的一个通信部与存储于ROM31的多个识别信息中的一个或者多个识别信息分别建立对应。将发送目的地信息与存储于ROM31的多个识别信息中的剩余的识别信息分别建立对应。如上所述,发送目的地信息表示车载设备13a、13b、13c中的至少一个车载设备。
在步骤S2中,CPU32在接收到的ECU数据中包含的识别信息是存储于ROM31的多个识别信息中的一个识别信息的情况下,判定为应该发送ECU数据。另外,在步骤S2中,CPU32在接收到的ECU数据中包含的识别信息与存储于ROM31的多个识别信息中的任一个识别信息都不一致的情况下,判定为不应该发送ECU数据。
CPU32在判定为应该发送ECU数据的情况下(S2:“是”),判定第一中继器21是否发送所接收到的ECU数据(步骤S3)。在此,CPU32当在ROM31中通信部33a、33b中的一个通信部与接收到的ECU数据中包含的识别信息建立对应的情况下,判定为第一中继器21发送所接收到的ECU数据。另外,CPU32当在ROM31中发送目的地信息与接收到的ECU数据中包含的识别信息建立对应的情况下,判定为第一中继器21不发送所接收到的ECU数据。
CPU32在判定为第一中继器21发送所接收到的ECU数据的情况下(S3:“是”),在通信部33a、33b中,指示与接收到的ECU数据中包含的识别信息对应的通信部发送所接收到的ECU数据(步骤S4)。由此,通信部33a、33b中被指示发送的通信部发送所接收到的ECU数据。
例如,在通信部33a从ECU12a、12a中的一个ECU接收到ECU数据的情况下,在由通信部33a接收到的ECU数据中包含的识别信息与通信部33b建立对应时,CPU32指示通信部33b发送由通信部33a接收到的ECU数据。该ECU数据由ECU12b、12b接收。
如上所述,第一中继器21对ECU12a、12a中的一个ECU与ECU12b、12b中的一个ECU之间的通信进行中继。
CPU32在判定为第一中继器21不发送所接收到的ECU数据即第二中继器22发送所接收到的ECU数据的情况下(S3:“否”),将接收到的ECU数据转换成设备数据(步骤S5)。在步骤S5中转换后的设备数据包含与接收到的ECU数据中包含的识别信息对应的发送目的地信息。发送目的地信息表示车载设备13a、13b、13c中的至少一个车载设备。接下来,CPU32将在步骤S5中转换后的设备数据写入到RAM35中(步骤S6)。如上所述,第二中继器22的CPU52能够从RAM35读取该设备数据。
CPU32在判定为通信部33a、33b均未接收到ECU数据的情况下(S1:“否”),在判定为不应该发送ECU数据的情况下(S2:“否”),或者在执行了步骤S4、S6中的一方之后,判定通信部33a、33b中的一个通信部是否应该发送存储于RAM35的设备数据(步骤S7)。在此,CPU32在发送目的地信息表示ECU12a、12a、12b、12b中的至少一个ECU的设备数据存储于RAM35的情况下,判定为通信部33a、33b中的一个通信部应该发送设备数据。CPU32在发送目的地信息表示ECU12a、12a、12b、12b中的至少一个ECU的设备数据未存储于RAM35中的情况下,判定为通信部33a、33b均不应该发送设备数据。
CPU32在判定为应该发送设备数据的情况下(S7:“是”),将应该发送的设备数据转换成ECU数据(步骤S8)。在步骤S8中转换后的ECU数据包含与发送目的地信息相应的识别信息。例如,以与多个发送目的地信息分别建立对应的方式将识别信息存储于ROM31,使与发送目的地信息相应的识别信息包含在ECU数据中。例如,一个识别信息对应于表示ECU12a、12a中的一个ECU的发送目的地信息,其他识别信息对应于表示ECU12a、12a中的一个ECU和ECU12b、12b的一个ECU的发送目的地信息。CPU32也作为转换部而发挥功能。
接下来,CPU32指示通信部33a、33b中的至少一个通信部发送在步骤S8中转换后的ECU数据(步骤S9)。由此,通信部33a、33b中的至少一个通信部发送在步骤S8中由CPU32转换后的ECU数据。例如,当在步骤S8中对发送目的地是ECU12a、12a中的一个ECU的设备数据进行了转换的情况下,CPU32指示通信部33a发送在步骤S8中转换后的ECU数据。
CPU32在判定为通信部33a、33b均不应该发送设备数据的情况下(S7:“否”),或者在执行了步骤S9之后,结束第一中继处理。
图5是示出第二中继处理的步骤的流程图。第二中继器22的CPU52周期性地执行第二中继处理。首先,CPU52判定通信部53a、53b、53c中的一个通信部是否接收到设备数据(步骤S21)。CPU52在判定为通信部53a、53b、53c中的一个通信部接收到设备数据的情况下(S21:“是”),判定是否应该将接收到的设备数据发送到车载设备13a、13b、13c中的至少一个车载设备(步骤S22)。
在此,CPU52在接收到的设备数据中包含的发送目的地信息表示车载设备13a、13b、13c中的至少一个车载设备的情况下,判定为应该将接收到的设备数据发送到车载设备13a、13b、13c中的至少一个车载设备。另一方面,CPU52在接收到的设备数据中包含的发送目的地信息不表示车载设备13a、13b、13c中的任何车载设备的情况下,判定为不应该将接收到的设备数据发送到车载设备13a、13b、13c中的任何车载设备。
CPU52在判定为应该将接收到的设备数据发送到车载设备13a、13b、13c中的至少一个车载设备的情况下(S22:“是”),指示通信部53a、53b、53c中的至少一个通信部发送设备数据(步骤S23)。车载设备13a、13b、13c分别与通信部53a、53b、53c对应。在步骤S23中,根据接收到的设备数据中包含的发送目的地信息所示的发送目的地,确定指示发送的通信部。例如,在发送目的地信息表示车载设备13b、13c的情况下,CPU52分别指示通信部53b、53c发送接收到的设备数据。在CPU53执行了步骤S23的情况下,通信部53a、53b、53c中被指示发送的通信部发送设备数据。
例如,在通信部53a接收到设备数据的情况下,在通信部53a接收到的设备数据中包含的发送目的地信息表示车载设备13b时,CPU52指示通信部53b发送由通信部53a接收到的设备数据。
如上所述,第二中继器22对车载设备13a、13b、13c中的两个车载设备之间的通信进行中继。
CPU52在判定为不应该将接收到的设备数据发送到车载设备13a、13b、13c中的任何车载设备、即应该将接收到的设备数据发送到ECU12a、12a、12b、12b中的至少一个ECU的情况下(S22:“否”),将接收到的设备数据写入到第一中继器21的RAM35中(步骤S24)。
CPU52在判定为通信部53a、53b、53c都未接收到设备数据的情况下(S21:“否”)或者在执行了步骤S23、S24之后,判定应该发送到车载设备13a、13b、13c中的至少一个车载设备的设备数据是否存储于RAM35(步骤S25)。在此,CPU52在发送目的地信息表示车载设备13a、13b、13c中的至少一个车载设备的设备数据存储于RAM35的情况下,判定为存储有应该发送的设备数据。CPU52在发送目的地信息表示车载设备13a、13b、13c中的至少一个车载设备的设备数据未存储于RAM35的情况下,判定为未存储应该发送的设备数据。
CPU52在判定为存储有应该发送的设备数据的情况下(S25:“是”),指示通信部53a、53b、53c中的至少一个通信部发送设备数据(步骤S26)。在步骤S26中,与步骤S23同样地,根据应该发送的设备数据中包含的发送目的地信息所示的发送目的地,确定指示发送的通信部。
CPU52在判定为未存储应该发送的设备数据的情况下(S25:“否”)或者在执行了步骤S26之后,结束第二中继处理。
在以上述方式构成的中继装置11中,将ECU12a、12a、12b、12b中的一个ECU发送的ECU数据转换成设备数据,将转换后的设备数据发送到车载设备13a、13b、13c中的至少一个车载设备。另外,将车载设备13a、13b、13c中的一个车载设备发送的设备数据转换成ECU数据,将转换后的ECU数据发送到ECU12a、12a、12b、12b中的至少一个ECU。
图6是示出验证处理的步骤的流程图。第一中继器21所具有的HSM34的CPU42在电源电路54开始了向CPU42的电力供给的情况下,在执行第一中继处理之前执行验证处理。如上所述,在CPU42执行验证处理的期间,CPU32停止动作。在验证处理中,首先,CPU42从ROM31读取第一控制程序P1(步骤S31)。接下来,CPU42例如使用散列函数来计算用于对与第一控制程序P1关联的关联数据进行运算的运算数据(步骤S32)。在步骤S32中,CPU42根据在步骤S31中读取的控制程序P1来计算运算数据。
接下来,CPU42使用在步骤S32中计算出的运算数据以及存储于ROM41的第一密钥数据K1,对与第一控制程序P1关联的关联数据进行运算(步骤S33)。第一密钥数据K1相当于第二密钥数据,CPU42作为第二运算部而发挥功能。
接下来,CPU42判定在步骤S33中运算出的关联数据与预先存储于ROM41的第一基准数据R1是否一致(步骤S34)。CPU42也作为第二判定部而发挥功能。
CPU42通过执行步骤S34,验证第一控制程序P1是适当的。与第一控制程序P1关联的关联数据与第一基准数据R1一致表示第一控制程序P1是适当的。与第一控制程序P1关联的关联数据与第一基准数据R1不一致表示第一控制程序P1不适当,即表示第一控制程序P1已被篡改的可能性较高。
CPU42在判定为关联数据与第一基准数据R1不一致的情况下(S34:“否”),将指示停止第二中继器22的电源电路54所进行的电力供给的停止数据写入到RAM35中(步骤S35)。由此,能够向第二中继器22的CPU52通知第一控制程序P1不适当。其后,CPU42指示电源电路36停止电力供给(步骤S36)。由此,电源电路36停止向ROM31、CPU32、通信部33a、33b、HSM34以及RAM35的电力供给,第一中继器21停止动作。CPU42在执行了步骤S36之后,结束验证处理。
此外,如上所述,在电源电路36停止了向RAM35的电力供给的情况下,擦除被存储于RAM35的数据。为了确保第二中继器22的CPU52读取被存储于RAM35的停止数据的时间,CPU42在从执行步骤S35起经过了足够用于使CPU52读取停止数据的预定时间之后,执行步骤S36。
CPU42在判定为关联数据与第一基准数据R1一致的情况下(S34:“是”),判定第二中继器22的第二控制程序P2的运算数据是否存储于RAM35(步骤S37)。第二控制程序P2的运算数据是用于对与第二控制程序P2关联的关联数据进行运算的数据。CPU42在判定为未存储运算数据的情况下(S37:“否”),再次执行步骤S37,待机直至运算数据被写入到RAM35为止。第二中继器22的CPU52在起动处理中计算第二控制程序P2的运算数据,将计算出的运算数据写入到RAM35。
CPU42在判定为存储有运算数据的情况下(S37:“是”),从RAM35读取第二控制程序P2的运算数据(步骤S38),使用所读取的运算数据以及存储于ROM41的第二密钥数据K2,来对与第二控制程序P2关联的关联数据进行运算(步骤S39)。CPU42也作为运算部以及关联数据运算部而发挥功能。
接下来,CPU42判定在步骤S39中运算出的关联数据与预先存储于ROM41的第二基准数据R2是否一致(步骤S40)。CPU42也作为判定部而发挥功能。
CPU42通过执行步骤S40,还验证第二控制程序P2是适当的。CPU42在判定为关联数据与第二基准数据R2一致的情况下(S40:“是”),将表示第二控制程序P2适当的正常数据写入到RAM35(步骤S41)。由此,能够向第二中继器22的CPU52通知第二控制程序P2是适当的。
CPU42在判定为关联数据与第二基准数据R2不一致的情况下(S40:“否”),将表示第二控制程序P2不适当即第二控制程序P2已被篡改的可能性较高的异常数据写入到RAM35(步骤S42)。由此,能够向第二中继器22的CPU52通知第二控制程序P2不适当。
CPU42在执行了步骤S41、S42中的一方之后,结束验证处理。CPU42在结束验证处理之后,电源电路36暂时停止电力供给,直至再次开始电力供给为止停止动作。CPU42在结束验证处理之后,CPU32执行适当的第一控制程序P1。此外,如上所述,接口43防止从CPU32对ROM41的访问。因此,不会将验证程序Ph、第一密钥数据K1、第一基准数据R1、第二密钥数据K2以及第二基准数据R2带出到HSM34的外侧。
图7是示出起动处理的步骤的流程图。第二中继器22的CPU52在电源电路54开始了向CPU52的电力供给的情况下,在执行第二中继处理之前,依照起动程序Pb来执行起动处理。在起动处理中,首先,CPU52从ROM51读取第二控制程序P2(步骤S51)。接下来,CPU52例如使用散列函数来计算用于对与第二控制程序P2关联的关联数据进行运算的运算数据(步骤S52)。CPU52作为计算部而发挥功能。在步骤S52中,CPU52根据在步骤S51中读取的第二控制程序P2来计算运算数据。
接下来,CPU52将在步骤S52中计算出的运算数据写入到第一中继器21的RAM35(步骤S53)。如上所述,第一中继器21所具有的HSM34的CPU42读取被存储于RAM35的运算数据,使用所读取的运算数据来对与第二控制程序P2关联的关联数据进行运算,验证第二控制程序P2是否适当。CPU42在验证处理中将停止数据、异常数据或者正常数据写入到RAM35。
从RAM35读取关联数据相当于取得关联数据。因此,CPU42也作为取得部而发挥功能。
此外,第一中继器21的电源电路36和第二中继器22的电源电路54大致同时开始电力供给,CPU52在第一中继器21的电源电路36开始电力供给之后执行步骤S53。因此,CPU52能够将运算数据切实地写入到RAM35。
CPU52在执行了步骤S53之后,判定停止数据是否存储于第一中继器21的RAM35(步骤S54)。CPU52在判定为未存储停止数据的情况下(S54:“否”),判定异常数据是否存储于RAM35(步骤S55)。CPU52在判定为存储有停止数据的情况下(S54:“是”),或者在判定为存储有异常数据的情况下(S55:“是”),指示电源电路54停止电力供给(步骤S56)。由此,电源电路54停止电力供给,ROM51、CPU52以及通信部53a、53b、53c停止动作。CPU52在执行了步骤S56之后结束起动处理。
如上所述,第一中继器21所具有的HSM34的CPU42通过将停止数据或者异常数据写入到RAM35,使CPU42的动作即第二中继器22的动作停止。CPU42也作为动作控制部而发挥功能。
如上所述,CPU42在判定为与第一控制程序P1关联的关联数据与第一基准数据R1不一致的情况下,第一控制程序P1已被篡改的可能性较高,将停止数据写入到RAM35。
另外,CPU42在判定为与第二控制程序P2关联的关联数据与第二基准数据R2不一致的情况下,第二控制程序P2已被篡改的可能性较高,将异常数据写入到RAM35。由此,第二中继器22的动作停止。
在CPU52在步骤S55中判定为存储有异常数据而执行了步骤S56的情况下,第一中继器21的电源电路36不停止电力供给,第一中继器21的CPU32执行第一中继处理。因此,虽然第二中继器22的动作停止,但通过第一中继器21来进行ECU12a、12a中的一个ECU与ECU12b、12b中的一个ECU之间的通信的中继。
例如,假定ECU12a、12a、12b、12b分别控制具有驾驶车辆100时最低限度需要的功能的前照灯或者雨刷器马达等电气设备,车载设备13a、13b、13c分别是驾驶车辆100时不一定需要的相机或者显示器等。在该情况下,只要第一控制程序P1是适当的,则即使第二控制程序P2不适当,司机也能够驾驶车辆100。
CPU52在判定为未存储异常数据的情况下(S55:“否”),判定正常数据是否存储于第一中继器21的RAM35(步骤S57)。CPU52在判定为未存储正常数据的情况下(S57:“否”),执行步骤S54,待机直至将停止数据、异常数据或者正常数据存储到RAM35中为止。
此外,在CPU52执行步骤S54之前第一中继器21所具有的HSM34的CPU42执行了验证处理的步骤S36的情况下,由于在RAM35中未存储数据,因此,CPU52无限重复进行步骤S54、S55、S57的判定。因此,在起动处理中,CPU52也可以在重复进行步骤S54、S55、S57的判定的时间超过了第二预定时间的情况下,认为第一控制程序P1不适当,执行步骤S56。
CPU52在判定为存储有正常数据的情况下(S57:“是”),结束起动处理。其后,CPU52执行第二中继处理。
在以上述方式构成的中继装置11中,第一中继器21所具有的HSM34的CPU32验证第二控制程序P2是适当的。因此,不需要在第二中继器22中设置与具有验证功能的HSM34相同的结构部。其结果是,中继装置11是小型的,中继装置11的制造费用便宜。
另外,第二中继器22的CPU52计算第二控制程序P2的运算数据,将计算出的运算数据写入到第一中继器21的RAM35。第二控制程序P2的运算数据的数据量比第二控制程序P2的数据量小。因此,为了验证第二控制程序P2是适当的,从第二中继器22向第一中继器21传送的数据的数据量较小。其结果是,进行验证所需的时间较短。
(实施方式2)
图8是示出实施方式2中的通信系统1的主要部件结构的框图。
以下,对于实施方式2,说明与实施方式1的不同点。关于除去后述的结构以外的其他结构,由于与实施方式1相同,因此对与实施方式1相同的结构部附加与实施方式1相同的附图标记并省略其说明。
在实施方式2中的通信系统1中,与实施方式1中的通信系统1相比,中继装置11的结构不同。在第一中继器21以及第二中继器22之外,实施方式2中的中继装置11还具有存储器23。将存储器23连接于第二中继器22。存储器23是非易失性存储器。将第二控制程序P2存储于存储器23。第二控制程序P2由第二中继器22从存储器23读取。
图9是示出第二中继器22的主要部件结构的框图。在实施方式1中的第二中继器22所具有的结构部之外,实施方式2中的第二中继器22还具有接口61以及RAM62。接口61以及RAM62也连接于总线55。接口61还连接到存储器23。
CPU52经由接口61从存储器23读取第二控制程序P2。另外,CPU52将各种数据写入到RAM62,从RAM62读取数据。
此外,在实施方式2中的ROM51中未存储第二控制程序P2。
在ROM51、CPU52以及通信部53a、53b、53c之外,电源电路54还对接口61以及RAM62供给电力。接口61以及RAM62分别在被从电源电路54供给电力的期间工作。在电源电路54停止了电力供给的情况下,擦除被存储于RAM62的数据。
图10是示出起动处理的步骤的流程图。在实施方式2中,也是在电源电路54开始了向CPU52的电力供给的情况下,第二中继器22的CPU52在执行第二中继处理之前,依照起动程序Pb来执行起动处理。实施方式2中的起动处理的步骤S65~S68与实施方式1中的起动处理的步骤S54~S57相同。因此,省略步骤S65~S68的详细说明。
在实施方式2中的起动处理中,首先,CPU52经由接口61从存储器23读取第二控制程序P2(步骤S61),将所读取的第二控制程序P2写入到RAM62(步骤S62)。接下来,CPU52例如使用散列函数来计算用于对与第二控制程序P2关联的关联数据进行运算的运算数据(步骤S63)。
接下来,CPU52将在步骤S64中计算出的运算数据写入到第一中继器21的RAM35(步骤S64),执行步骤S65。
与实施方式2同样地,CPU52当在步骤S68中判定为正常数据存储于第一中继器21的RAM35而结束了起动处理的情况下,依照存储于第二中继器22的RAM62的第二控制程序P2来执行第二中继处理。
以上述方式构成的实施方式2中的中继装置11起到与实施方式1中的中继装置11所起到的效果相同的效果。
(实施方式3)
图11以及图12是示出实施方式3中的验证处理的步骤的流程图。
以下,对于实施方式3,说明与实施方式1的不同点。关于除去后述的结构以外的其他结构,由于与实施方式1相同,因此对与实施方式1相同的结构部附加与实施方式1相同的附图标记并省略其说明。
在实施方式3中的通信系统1中,与实施方式1中的通信系统1相比,第一中继器21所具有的HSM34的CPU42执行的验证处理的内容与第二中继器22的CPU52执行的起动处理的内容不同。
与实施方式1同样地,在电源电路54开始了向CPU42的电力供给的情况下,HSM34的CPU42在执行第一中继处理之前执行验证处理。在CPU42执行验证处理的期间,CPU32停止动作。实施方式3中的验证处理的步骤S75、S76、S87、S88分别与实施方式1中的验证处理的步骤S35、S36、S41、S42相同。因此,省略步骤S75、S76、S87、S88的详细说明。
在实施方式3中的验证处理中,首先,CPU42从ROM31读取第一控制程序P1(步骤S71),根据所读取的第一控制程序P1来计算用于对与第一控制程序P1关联的第一关联数据进行运算的第一运算数据(步骤S72)。在步骤S72中,CPU42例如使用散列函数来计算第一运算数据。
接下来,CPU42根据在步骤S72中计算出的第一运算数据以及存储于ROM41的第一密钥数据K1,对与第一控制程序P1关联的第一关联数据进行运算(步骤S73),判定运算出的第一关联数据与第一基准数据R1是否一致(步骤S74)。CPU42通过执行步骤S74,验证第一控制程序P1是适当的。“第一关联数据与第一基准数据R1一致”表示第一控制程序P1是适当的。“第一关联数据与第一基准数据R1不一致”表示第一控制程序P1不适当即第一控制程序P1已被篡改的可能性较高。
CPU42在判定为第一关联数据与第一基准数据R1不一致的情况下(S74:“否”),依次执行步骤S75、S76。由此,电源电路36停止向ROM31、CPU32、通信部33a、33b、HSM34以及RAM35的电力供给,第一中继器21停止动作。CPU42在执行了步骤S76之后结束验证处理。
CPU42在判定为第一关联数据与第一基准数据R1一致的情况下(S74:“是”),生成随机数数据(步骤S77)。随机数数据例如是用“1”或者“0”表示的数值的罗列,表示随机数。在步骤S77中,CPU42决定初始值,根据所决定的初始值来生成随机数数据。CPU42例如根据执行步骤S77的时刻来决定初始值。在该情况下,在执行步骤S77的时刻不同时,变更在步骤S77中生成的随机数数据的内容。时刻还包括年月日。
如上所述,每当电源电路54开始向CPU42的电力供给时,执行验证处理。在重复执行的验证处理中,执行步骤S77的时刻彼此不同。因此,根据这些时刻而决定的初始值也彼此不同。其结果是,在根据执行步骤S77的时刻而决定初始值的情况下,在步骤S77中生成的随机数数据的内容与在过去的步骤S77中生成的随机数数据的内容都不同。CPU42也作为随机数生成部而发挥功能。
接下来,CPU42将在步骤S77中生成的随机数数据写入到RAM35(步骤S78)。在实施方式3中的起动处理中,第二中继器22的CPU52根据在步骤S78中写入的随机数数据以及第二控制程序P2,计算用于对与第二控制程序P2关联的第二关联数据进行运算的第二运算数据,将计算出的第二运算数据写入到RAM35。
HSM34的CPU42在执行了步骤S78之后,判定第二运算数据是否存储于RAM35(步骤S79)。CPU42在判定为未存储第二运算数据的情况下(S79:“否”),再次执行步骤S79,待机直至第二中继器22的CPU52将第二运算数据写入到RAM35为止。
CPU42在判定为存储有第二运算数据的情况下(S79:“是”),从RAM35读取第二运算数据(步骤S80),根据所读取的第二运算数据以及存储于ROM41的第二密钥数据K2对第二关联数据进行运算(步骤S81)。
接下来,CPU42从ROM41读取第二基准数据R2(步骤S82),将所读取的第二基准数据R2与在步骤S77中生成的随机数数据合成,从而生成第一合成数据(步骤S83)。在步骤S83中,CPU42例如通过将随机数数据添加到第二基准数据R2的最末尾,从而生成第一合成数据。接下来,CPU42根据在步骤S83中生成的第一合成数据来计算第一中间数据(步骤S84)。在步骤S84中,CPU42例如使用散列函数来计算第一中间数据。
接下来,CPU42根据在步骤S84中计算出的第一中间数据以及存储于ROM41的第二密钥数据K2,对第三基准数据进行运算(步骤S85)。
如上所述,CPU42根据随机数数据、第二基准数据R2以及第二密钥数据K2,对第三基准数据进行运算。CPU42作为基准数据运算部而发挥功能。
接下来,CPU42判定在步骤S81中运算出的第二关联数据与在步骤S86中运算出的第三基准数据是否一致(步骤S86)。CPU42通过执行步骤S86,还验证第二控制程序P2是适当的。CPU42在判定为第二关联数据与第三基准数据一致的情况下(S86:“是”),认为第二控制程序P2是适当的,执行步骤S87。CPU42在判定为第二关联数据与第三基准数据不一致的情况下(S86:“否”),认为第二控制程序P2不适当即第二控制程序P2已被篡改的可能性较高,执行步骤S88。CPU42在执行了步骤S87、S88中的一方之后,结束验证处理。HSM34的CPU42在结束验证处理之后,电源电路36暂时停止电力供给,直至再次开始电力供给为止停止动作。在CPU42结束验证处理之后,CPU32执行适当的第一控制程序P1。
图13是示出起动处理的步骤的流程图。与实施方式1同样地,在电源电路54开始了向CPU52的电力供给的情况下,第二中继器22的CPU52在执行第二中继处理之前,依照起动程序Pb来执行起动处理。在起动处理中,首先,CPU52判定停止数据是否存储于RAM35(步骤S91)。CPU52在判定为未存储停止数据的情况下(S91:“否”),判定随机数数据是否存储于RAM35(步骤S92)。
CPU52在判定为未存储随机数数据的情况下(S92:“否”),执行步骤S91,待机直至HSM34的CPU42将停止数据或者随机数数据写入到RAM35为止。
此外,在CPU52执行步骤S91之前,在HSM34的CPU42执行了验证处理的步骤S76的情况下,由于在RAM35中未存储数据,因此,CPU52无限重复进行步骤S91、S92的判定。因此,在起动处理中,CPU52也可以在重复进行步骤S91、S92的判定的时间超过了第三预定时间的情况下,认为第一控制程序P1不适当,执行步骤S99。
CPU52在判定为存储有随机数数据的情况下(S92:“是”),从ROM51读取第二控制程序P2(步骤S93),根据所读取的第二控制程序P2来计算第二中间数据(步骤S94)。在步骤S94中,CPU52例如使用散列函数来计算第二中间数据。
接下来,CPU52通过将在步骤S94中计算出的第二中间数据与存储于RAM35的随机数数据合成,从而生成第二合成数据(步骤S95)。在步骤S95中,CPU52例如通过将随机数数据添加到第二中间数据的最末尾,从而生成第二合成数据。接下来,CPU52根据在步骤S95中生成的第二合成数据,计算用于对第二关联数据进行运算的第二运算数据(步骤S96)。在步骤S96中,CPU52例如使用散列函数来计算第二运算数据。
如上所述,CPU52根据第二控制程序P2、随机数数据以及第二密钥数据K2来计算第二运算数据。
接下来,CPU52将在步骤S96中计算出的第二运算数据写入到RAM35(步骤S97)。如上所述,HSM34的CPU42读取被存储于RAM35的第二运算数据,根据所读取的第二运算数据来对第二关联数据进行运算,验证第二控制程序P2是否适当。CPU42根据验证结果,将正常数据或者异常数据写入到RAM35。
CPU52在执行了步骤S97之后判定异常数据是否存储于RAM35(步骤S98)。CPU52在判定为存储有停止数据的情况下(S91:“是”),或者在判定为存储有异常数据的情况下(S98:“是”),指示电源电路54停止电力供给(步骤S99)。由此,电源电路54停止电力供给,ROM51、CPU52以及通信部53a、53b、53c停止动作。CPU52在执行了步骤S99之后结束起动处理。
如上所述,HSM34的CPU42通过将停止数据或者异常数据写入到RAM35,使CPU42的动作即第二中继器22的动作停止。
如上所述,CPU42在判定为与第一控制程序P1关联的第一关联数据与第一基准数据R1不一致的情况下,认为第一控制程序P1已被篡改的可能性较高,将停止数据写入到RAM35。
另外,CPU42在判定为与第二控制程序P2关联的第二关联数据与第三基准数据不一致的情况下,认为第二控制程序P2已被篡改的可能性较高,将异常数据写入到RAM35。由此,第二中继器22的动作停止。
在CPU52在步骤S98中判定为存储有异常数据而执行了步骤S99的情况下,第一中继器21的电源电路36不停止电力供给,第一中继器21的CPU32执行第一中继处理。因此,虽然第二中继器22的动作停止,但通过第一中继器21来进行ECU12a、12a中的一个ECU与ECU12b、12b中的一个ECU之间的通信的中继。
CPU52在判定为未存储异常数据的情况下(S98:“否”),判定正常数据是否存储于RAM35(步骤S100)。CPU52在判定为未存储正常数据的情况下(S100:“否”),执行步骤S98,待机直至HSM34的CPU42将正常数据或者异常数据写入到RAM35为止。CPU52在判定为存储有正常数据的情况下(S100:“是”),结束起动处理。其后,CPU52执行第二中继处理。
图14是第二控制程序P2的验证的说明图。如上所述,第二中继器22的CPU52根据第二控制程序P2来计算第二中间数据。接下来,CPU52通过将计算出的第二中间数据与HSM34的CPU42生成的随机数数据合成,从而生成第二合成数据。CPU52根据生成的第二合成数据来计算第二运算数据,将计算出的第二运算数据写入到第一中继器21的RAM35。
HSM34的CPU42根据存储于RAM35的第二运算数据以及第二密钥数据K2,对第二关联数据进行运算。
另外,CPU42通过将第二基准数据R2与随机数数据合成,从而生成第一合成数据。CPU42根据所生成的第一合成数据来计算第一中间数据。CPU42根据计算出的第一中间数据以及第二密钥数据K2,对第三基准数据进行运算。CPU42通过判定第二关联数据与第三运算数据是否一致来验证第二控制程序P2。
通过将第二中间数据与随机数数据合成而生成第二合成数据的方法与通过将第二基准数据与随机数数据合成而生成第一合成数据的方法相同。根据第二合成数据来计算第二运算数据的方法与根据第一合成数据来计算第一中间数据的方法相同。根据第二运算数据和第二密钥数据K2来对第二关联数据进行运算的方法与根据第一中间数据和第二密钥数据K2来对第三基准数据进行运算的方法相同。
在第二控制程序P2适当的情况下,第二基准数据R2与第二中间数据一致。在该情况下,第二合成数据、第二运算数据以及第二关联数据分别与第一合成数据、第一中间数据以及第三基准数据一致,将正常数据写入到RAM35。
如上所述,每当执行验证处理时,变更随机数数据的内容。因此,在本次的验证处理中,在将在上次的验证处理中计算出的第二运算数据写入到RAM35的情况下,第二关联数据与第三基准数据不一致,因此,判定为第二控制程序P2不适当。
作为篡改第二控制程序P2的方法,考虑以下的方法。在存储了在过去的验证处理中计算出的运算数据之后,篡改第二控制程序P2,在其后的验证处理中,将所存储的运算数据写入到RAM35。即使当在实施方式3中的中继装置中使用该方法的情况下,也能够检测到第二控制程序P2的篡改,因此,第二控制程序P2的验证结果的可靠性较高。
另外,HSM34的CPU42根据第二密钥数据K2、随机数数据以及第二基准数据R2而对第三基准数据进行运算,并且,第二中继器22的CPU52根据第二运算数据和第二密钥数据K2而对第二关联数据进行运算,因此,第二控制程序P2的验证结果的可靠性更高。
在以上述方式构成的中继装置11中,第一中继器21所具有的HSM34的CPU32验证第二控制程序P2。因此,不需要第二中继器22具有第二控制程序P2的验证功能,因此,中继装置11是小型的,中继装置11的制造费用便宜。
另外,第二中继器22的CPU52计算第二控制程序P2的第二运算数据,将计算出的第二运算数据写入到第一中继器21的RAM35。第二运算数据的数据量比第二控制程序P2的数据量小。因此,为了验证第二控制程序P2是适当的,从第二中继器22向第一中继器21传送的数据的数据量较小。其结果是,进行验证所需的时间较短。
另外,实施方式3中的中继装置11同样地起到实施方式1中的中继装置11所起到的效果。
此外,在实施方式2中,第二中继器22的CPU52也可以执行实施方式3中的起动处理。在该情况下,在起动处理中,CPU52执行实施方式2中的步骤S61、S62来代替步骤S93。在步骤S94中,根据在步骤S61中读取的第二控制程序P2来计算第二中间数据。
(实施方式4)
在实施方式3中的中继装置11中,HSM34的CPU42根据第一密钥数据K1来对第一关联数据进行运算,根据第二密钥数据K2来对第二关联数据以及第三基准数据进行运算。然而,CPU42也可以不进行基于第一密钥数据K1、K2的运算。
以下,对于实施方式4,说明与实施方式3的不同点。关于除去后述的结构以外的其他结构,由于与实施方式3相同,因此,对与实施方式3相同的结构部附加与实施方式3相同的附图标记并省略其说明。
在实施方式4中的通信系统1中,与实施方式3中的通信系统1相比,第一中继器21所具有的HSM34的CPU42执行的验证处理的内容与第二中继器22的CPU52执行的起动处理的内容不同。
图15以及图16是示出实施方式4中的验证处理的步骤的流程图。与实施方式3同样地,HSM34的CPU42在电源电路54开始了向CPU42的电力供给的情况下,在执行第一中继处理之前执行验证处理。在CPU42执行验证处理的期间,CPU32停止动作。实施方式4中的验证处理的步骤S111、S113~S117、S119、S120、S124、S125分别与实施方式3中的验证处理的步骤S71、S74~S78、S82、S83、S87、S88相同。因此,省略步骤S111、S113~S117、S119、S120、S124、S125的详细说明。
在验证处理中,HSM34的CPU42在执行了步骤S111之后,根据在步骤S111中读取的第一控制程序P1,对与第一控制程序P1关联的第一关联数据进行运算(步骤S112)。在步骤S112中,CPU42例如使用散列函数来对第一关联数据进行运算。CPU42在执行了步骤S112之后执行步骤S113。
在步骤S117中,与实施方式3同样地,CPU42将随机数数据写入到RAM35。在实施方式4中的起动处理中,第二中继器22的CPU52根据在步骤S117中写入的随机数数据以及第二控制程序P2,对与第二控制程序P2关联的第二关联数据进行运算,并将运算出的第二关联数据写入到RAM35。
CPU42在执行了步骤S117之后判定第二关联数据是否存储于RAM35(步骤S118)。CPU42在判定为未存储第二关联数据的情况下(S118:“否”),再次执行步骤S118,待机直至第二中继器22的CPU52将第二关联数据写入到RAM35为止。
CPU42在判定为存储有第二关联数据的情况下(S118:“是”),执行步骤S119、S120。接下来,CPU42根据在步骤S120中生成的第一合成数据来对第三基准数据进行运算(步骤S121)。在步骤S121中,CPU42例如使用散列函数来对第三基准数据进行运算。
如上所述,CPU42根据随机数数据以及第二基准数据R2来对第三基准数据进行运算。
接下来,CPU42从RAM35读取第二关联数据(步骤S122)。由此,CPU42取得第二中继器22的CPU52运算出的第二关联数据。接下来,CPU42判定在步骤S122中读取的第二关联数据与在步骤S121中运算出的第三基准数据是否一致(步骤S123)。CPU42通过执行步骤S123,还验证第二控制程序P2适当。
CPU42在判定为第二关联数据与第三基准数据一致的情况下(S123:“是”),认为第二控制程序P2适当,执行步骤S124。CPU42在判定为第二关联数据与第三基准数据不一致的情况下(S123:“否”),认为第二控制程序P2不适当即第二控制程序P2已被篡改的可能性较高,执行步骤S125。CPU42在执行了步骤S124、S125中的一方之后,结束验证处理。HSM34的CPU42在结束验证处理之后,电源电路36暂时停止电力供给,直至再次开始电力供给为止,停止动作。在CPU42结束验证处理之后,CPU32执行适当的第一控制程序P1。
图17是示出起动处理的步骤的流程图。与实施方式3同样地,第二中继器22的CPU52在电源电路54开始了向CPU52的电力供给的情况下,在执行第二中继处理之前,依照起动程序Pb来执行起动处理。实施方式4中的起动处理的步骤S131~S135、S138~S140分别与步骤S91~S95、S98~S100相同。因此,省略步骤S131~S135、S138~S140的详细说明。
在起动处理中,第二中继器22的CPU52在执行了步骤S135之后,根据在步骤S135中生成的第二合成数据来对第二关联数据进行运算(步骤S136)。在步骤S136中,CPU52例如使用散列函数来对第二关联数据进行运算。
如上所述,CPU52根据第二控制程序P2以及随机数数据来计算第二运算数据。在实施方式4中,不是HSM34的CPU42,而是由第二中继器22的CPU52作为关联数据运算部而发挥功能。
接下来,CPU52将在步骤S136中运算出的第二关联数据写入到RAM35(步骤S137),执行步骤S138。
图18是第二控制程序P2的验证的说明图。与实施方式3同样地,第二中继器22的CPU52根据第二控制程序P2来计算第二中间数据。接下来,CPU52通过将计算出的第二中间数据与HSM34的CPU42生成的随机数数据合成,从而生成第二合成数据。CPU52根据所生成的第二合成数据来对第二关联数据进行运算,将运算出的第二关联数据写入到第一中继器21的RAM35。
与实施方式3同样地,HSM34的CPU42通过将第二基准数据R2与随机数数据合成,从而生成第一合成数据。CPU42根据所生成的第一合成数据来对第三基准数据进行运算。CPU42通过判定第二中继器22的CPU52运算出的第二关联数据与第三基准数据是否一致,验证第二控制程序P2。
通过将第二中间数据与随机数数据合成而生成第二合成数据的方法与通过将第二基准数据与随机数数据合成而生成第一合成数据的方法相同。根据第二合成数据来对第二关联数据进行运算的方法与根据第一合成数据来对第三基准数据进行运算的方法相同。
在第二控制程序P2适当的情况下,第二基准数据R2与第二中间数据一致。在该情况下,第二合成数据以及第二关联数据分别与第一合成数据以及第三基准数据一致,将正常数据写入到RAM35。
如上所述,每当执行验证处理时,变更随机数数据的内容。因此,每当执行验证处理时,变更从RAM35读取的第二关联数据。当在本次的起动处理中将在上次的起动处理中运算出的第二关联数据写入到RAM35的情况下,第二关联数据与第三基准数据不一致,因此,判定为第二控制程序P2不适当。其结果是,与实施方式3同样地,第二控制程序P2的验证结果的可靠性较高。
在实施方式4中的验证处理以及起动处理中,不使用第一密钥数据K1以及第二密钥数据K2。因此,不需要将第一密钥数据K1以及第二密钥数据K2存储于HSM34的ROM41。
另外,第二中继器22的CPU52对与第二控制程序P2关联的第二关联数据进行运算,将运算出的第二关联数据写入到第一中继器21的RAM35。第二关联数据的数据量比第二控制程序P2的数据量小。因此,为了验证第二控制程序P2是适当的,从第二中继器22向第一中继器21传送的数据的数据量较小。其结果是,进行验证所需的时间较短。
实施方式4中的中继装置11同样地起到在实施方式3中的中继装置11起到的效果之中除去通过计算运算数据而得到的效果以及通过根据第二密钥数据K2来对第三基准数据进行运算而得到的效果以外的其他效果。
此外,在实施方式2中,第二中继器22的CPU52也可以执行实施方式4中的起动处理。在该情况下,在起动处理中,CPU52执行实施方式2中的步骤S61、S62来代替步骤S133,不需要将第一密钥数据K1以及第二密钥数据K2存储于HSM34的ROM41。在步骤S134中,根据在步骤S61中读取的第二控制程序P2来计算第二中间数据。
另外,在实施方式3中,在根据通过将第二中间数据以及随机数数据合成而生成的第二合成数据来计算的第二运算数据与根据通过将第二控制程序P2以及随机数数据合成而生成的数据来计算的数据相同的情况下,也可以省略第二中间数据的计算。在该情况下,第二中继器22的CPU52在起动处理中根据第二控制程序P2和随机数数据来生成第二合成数据。
同样地,在实施方式4中,在根据通过将第二中间数据以及随机数数据合成而生成的第二合成数据来运算的第二关联数据与根据通过将第二控制程序P2以及随机数数据合成而生成的数据来计算的数据相同的情况下,也可以省略第二中间数据的计算。在该情况下,第二中继器22的CPU52在起动处理中根据第二控制程序P2和随机数数据来生成第二合成数据。
另外,在实施方式1~4中,使第二中继器22的动作停止的结构不限定于使第二中继器22的电源电路54停止电力供给的结构,例如也可以是使设置于将蓄电池与电源电路54连接的电力线的中途的开关断开的结构。在该情况下,在断开了开关的情况下,电源电路54停止动作。由此,电源电路54停止电力供给。
同样地,使第一中继器21的动作停止的结构不限定于使第一中继器21的电源电路36停止电力供给的结构,例如,也可以是使设置于将蓄电池与电源电路36连接的电力线的中途的开关断开的结构。在该情况下,在断开了开关的情况下,电源电路36停止动作。由此,电源电路36停止电力供给。
进而,在由第一中继器21所具有的HSM34的CPU42判定为第二控制程序P2不适当的情况下,也可以不仅使第二中继器22的动作停止,还使第一中继器21的动作停止。
另外,在第一中继器21进行中继的通信中使用的通信协议不限定于CAN协议。进而,在第一中继器21进行中继的通信中使用的通信协议也可以与在第二中继器21进行中继的通信中使用的通信协议相同。
另外,在实施方式1、2、3中,也可以不通过第二中继器22的CPU52,而通过第一中继器21具有的HSM34的CPU42来计算第二控制程序P2的运算数据或者第二运算数据。在该情况下,第二中继器22的CPU52在起动处理中将第二控制程序P2写入到第一中继器21的RAM35。
另外,在实施方式1~4中,连接到第一中继器21的通信线的数量不限定于2,也可以是3以上。进而,连接到各通信线的ECU的数量不限定于2,也可以是1或者3以上。另外,连接到各通信线的ECU的数量也可以与连接到其他通信线的ECU的数量不同。多个ECU也可以与车载设备13a、13b、13c同样地直接连接于第一中继器21。
另外,连接到第二中继器22的车载设备的数量不限定于3,也可以是2或者4以上。进而,也可以将多根通信线连接到第二中继器22,将一个或者多个车载设备连接到各通信线。在该情况下,第二中继器22对连接于一根通信线的一个车载设备与连接于其他通信线的一个车载设备的通信进行中继。
另外,也可以由第二中继器22的CPU52进行从ECU数据向设备数据的转换以及从设备数据向ECU数据的转换。
应当认为所公开的实施方式1~4在所有方面都是示例性的,而非限制性的。本发明的范围不通过上述含义而通过权利要求书来表示,旨在包括与权利要求书等同的含义以及范围内的全部变更。
标号说明
11 中继装置(车载装置)
12a、12b ECU(第一通信装置)
13a、13b、13c 车载设备(第二通信装置)
21 第一中继器(第一车载设备)
22 第二中继器(第二车载设备)
32 CPU(第一处理部、处理部、转换部)
34 HSM(验证器)
41 ROM(存储部、第二存储部)
42 CPU(关联数据运算部、判定部、随机数生成部、基准数据运算部、动作控制部、运算部、第二运算部、第二判定部、取得部)
52 CPU(第二处理部、关联数据运算部、计算部)
100 车辆
K1 密钥数据(第二密钥数据)
K2 密钥数据
P1 第一控制程序(第二控制程序)
P2 第二控制程序
Ph 验证程序。
Claims (14)
1.一种车载装置,具备第一车载设备,
所述第一车载设备具有:
第一处理部,依照第一控制程序来执行处理;以及
验证器,通过与构成该第一处理部的硬件不同的另外的硬件来验证所述第一控制程序,
所述车载装置的特征在于,具备:
第二车载设备,具有依照第二控制程序来执行处理的第二处理部;以及
关联数据运算部,对与所述第二控制程序关联的关联数据进行运算,
所述验证器具有判定所述关联数据运算部运算出的关联数据与基准数据是否一致的判定部。
2.根据权利要求1所述的车载装置,其特征在于,
在所述验证器中,通过所述另外的硬件执行验证程序来验证所述第一控制程序。
3.根据权利要求1或2所述的车载装置,其特征在于,
所述第一车载设备的所述验证器具有:
所述关联数据运算部;
随机数生成部,生成随机数数据;以及
基准数据运算部,基于该随机数生成部生成的随机数数据以及预定数据,对所述基准数据进行运算,
所述第二车载设备具有计算部,该计算部基于所述第二控制程序以及随机数数据来计算用于对所述关联数据进行运算的运算数据,
所述验证器的所述关联数据运算部基于所述计算部计算出的运算数据,对所述关联数据进行运算。
4.根据权利要求3所述的车载装置,其特征在于,
所述第一车载设备的所述验证器具有存储有密钥数据的存储部,
所述基准数据运算部基于存储于该存储部的密钥数据、所述随机数数据以及所述预定数据,对所述基准数据进行运算,
所述关联数据运算部基于所述运算数据以及密钥数据,对所述关联数据进行运算。
5.根据权利要求1或2所述的车载装置,其特征在于,
所述第一车载设备的所述验证器具有:
随机数生成部,生成随机数数据;以及
基准数据运算部,基于该随机数生成部生成的随机数数据以及预定数据,对所述基准数据进行运算,
所述第二车载设备具有所述关联数据运算部,
该关联数据运算部基于所述第二控制程序以及随机数数据,对所述关联数据进行运算。
6.根据权利要求1至5中的任一项所述的车载装置,其特征在于,
所述车载装置具备动作控制部,在由所述验证器的所述判定部判定为所述关联数据与所述基准数据不一致的情况下,所述动作控制部使所述第二车载设备的动作停止。
7.一种中继装置,用于车辆,具备:
第一中继器,对多个第一通信装置之间的通信进行中继;以及
第二中继器,依照控制程序来执行处理,对多个第二通信装置之间的通信进行中继,
所述第一中继器和所述第二中继器对所述第一通信装置和所述第二通信装置之间的通信进行中继,
所述中继装置的特征在于,
所述第一中继器具有:
存储部,存储有密钥数据;
运算部,使用该密钥数据来对与所述第二中继器的所述控制程序关联的关联数据进行运算;以及
判定部,判定该运算部运算出的关联数据与预定数据是否一致。
8.根据权利要求7所述的中继装置,其特征在于,
所述中继装置具备动作控制部,在由所述第一中继器的所述判定部判定为所述关联数据与所述预定数据不一致的情况下,所述动作控制部使所述第二中继器的动作停止。
9.根据权利要求7或8所述的中继装置,其特征在于,
所述第二中继器具有计算部,该计算部计算用于对所述关联数据进行运算的运算数据,
所述第一中继器具有取得该计算部计算出的运算数据的取得部,
所述第一中继器的所述运算部使用所述密钥数据以及该取得部取得的运算数据来对所述关联数据进行运算。
10.根据权利要求7至9中的任一项所述的中继装置,其特征在于,
所述第一中继器具有:
处理部,依照第二控制程序来执行处理;
第二存储部,存储有第二密钥数据;
第二运算部,使用该第二密钥数据来对与所述第二控制程序关联的第二关联数据进行运算;以及
第二判定部,判定该第二运算部运算出的第二关联数据与第二预定数据是否一致。
11.根据权利要求7至10中的任一项所述的中继装置,其特征在于,
所述中继装置具备转换部,该转换部将与在多个第一通信装置之间的通信中使用的第一协议对应的数据转换成与在多个第二通信装置之间的通信中使用的第二协议对应的数据,将与该第二协议对应的数据转换成与所述第一协议对应的数据。
12.一种介质,存储有由车载装置的验证器执行的计算机程序,
所述车载装置具备:
第一车载设备,具有第一处理部和所述验证器,所述第一处理部依照第一控制程序来执行处理,所述验证器通过与构成该第一处理部的硬件不同的另外的硬件来验证所述第一控制程序;以及
第二车载设备,依照第二控制程序来执行处理,
所述介质的特征在于,通过所述计算机程序使计算机执行如下处理:
对与所述第二控制程序关联的关联数据进行运算,
判定所运算出的关联数据与基准数据是否一致。
13.一种介质,存储有由车载装置的验证器执行的计算机程序,
所述车载装置具备:
第一车载设备,具有第一处理部和所述验证器,所述第一处理部依照第一控制程序来执行处理,所述验证器通过与构成该第一处理部的硬件不同的另外的硬件来验证所述第一控制程序;以及
第二车载设备,依照第二控制程序执行处理,
所述介质的特征在于,通过所述计算机程序使计算机执行如下处理:
取得与所述第二控制程序关联的关联数据,
判定所取得的关联数据与基准数据是否一致。
14.一种介质,存储有由车辆用的中继装置中的第一中继器执行的计算机程序,
所述车辆用的中继装置具备:
所述第一中继器,对多个第一通信装置之间的通信进行中继;以及
第二中继器,依照控制程序来执行处理,对多个第二通信装置之间的通信进行中继,
所述第一中继器和所述第二中继器对所述第一通信装置和所述第二通信装置之间的通信进行中继,
所述介质的特征在于,通过所述计算机程序使计算机执行如下处理:
使用预先存储的密钥数据来对与所述第二中继器的所述控制程序关联的关联数据进行运算,
判定所运算出的关联数据与预定数据是否一致。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-004524 | 2017-01-13 | ||
JP2017004524 | 2017-01-13 | ||
JP2017-068330 | 2017-03-30 | ||
JP2017068330A JP6443482B2 (ja) | 2017-01-13 | 2017-03-30 | 車載装置、中継装置及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108337228A true CN108337228A (zh) | 2018-07-27 |
CN108337228B CN108337228B (zh) | 2020-11-10 |
Family
ID=62716568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711420384.2A Active CN108337228B (zh) | 2017-01-13 | 2017-12-25 | 车载装置、中继装置以及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10469129B2 (zh) |
CN (1) | CN108337228B (zh) |
DE (1) | DE102018100756B4 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112602293A (zh) * | 2018-09-03 | 2021-04-02 | 株式会社自动网络技术研究所 | 通信装置、发送方法及计算机程序 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200125133A (ko) * | 2019-04-26 | 2020-11-04 | 현대자동차주식회사 | 차량 및 차량 내 메시지 전송 방법 |
JP7334614B2 (ja) * | 2019-12-24 | 2023-08-29 | 株式会社オートネットワーク技術研究所 | 車載中継装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050012606A1 (en) * | 2003-07-09 | 2005-01-20 | Jeong-Kee Lee | Unfastened seat belt warning apparatus and method thereof |
US20050138605A1 (en) * | 2003-12-19 | 2005-06-23 | Denso Corporation | Method, system, and program product for checking control model and/or control program |
CN101587634A (zh) * | 2009-06-15 | 2009-11-25 | 北京交通大学 | 无线机车信号车载设备控制程序及参数在线实时更新方法 |
CN103414227A (zh) * | 2013-08-15 | 2013-11-27 | 曹松伟 | 区域联网悬托挂式群充电及传媒系统与设备 |
CN104079554A (zh) * | 2013-03-28 | 2014-10-01 | 株式会社自动网络技术研究所 | 车载中继装置以及通信系统 |
US20150358351A1 (en) * | 2013-01-28 | 2015-12-10 | Hitachi Automotive Systems, Ltd. | Network device, and data sending and receiving system |
CN205123784U (zh) * | 2015-11-11 | 2016-03-30 | 陕西西北铁道电子有限公司 | 一种远程更换gyk运行控制程序的系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
JP4569623B2 (ja) | 2007-12-20 | 2010-10-27 | 株式会社デンソー | 車両監査装置およびそれを用いた車両制御システム |
JP5191043B2 (ja) | 2008-04-21 | 2013-04-24 | 学校法人東京電機大学 | プログラムの不正起動防止システム及び方法 |
JP5772692B2 (ja) | 2012-04-12 | 2015-09-02 | トヨタ自動車株式会社 | 車載制御装置の認証システム及び車載制御装置の認証方法 |
WO2014132436A1 (ja) * | 2013-03-01 | 2014-09-04 | 三菱電機株式会社 | データ処理装置 |
US20140310277A1 (en) * | 2013-04-15 | 2014-10-16 | Flextronics Ap, Llc | Suspending user profile modification based on user context |
KR101575451B1 (ko) * | 2014-02-21 | 2015-12-07 | 현대자동차주식회사 | 차량 사양 구성 확인 방법 |
AT514851B1 (de) * | 2014-10-23 | 2019-07-15 | Avl List Gmbh | Verfahren zur Rekonstruktion eines in einem drahtlosen Sensornetzwerk fehlerhaft empfangenen Datenpakets |
US9989373B2 (en) * | 2016-04-21 | 2018-06-05 | Honda Motor Co., Ltd. | Coverage based demand response signals |
US10581906B2 (en) * | 2016-09-28 | 2020-03-03 | Intel Corporation | Security system for electronic equipment |
US10328899B2 (en) * | 2016-10-12 | 2019-06-25 | Denso International America, Inc. | Localization and passive entry / passive start systems and methods for vehicles |
-
2017
- 2017-12-25 CN CN201711420384.2A patent/CN108337228B/zh active Active
-
2018
- 2018-01-05 US US15/863,024 patent/US10469129B2/en active Active
- 2018-01-15 DE DE102018100756.6A patent/DE102018100756B4/de active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050012606A1 (en) * | 2003-07-09 | 2005-01-20 | Jeong-Kee Lee | Unfastened seat belt warning apparatus and method thereof |
US20050138605A1 (en) * | 2003-12-19 | 2005-06-23 | Denso Corporation | Method, system, and program product for checking control model and/or control program |
CN101587634A (zh) * | 2009-06-15 | 2009-11-25 | 北京交通大学 | 无线机车信号车载设备控制程序及参数在线实时更新方法 |
US20150358351A1 (en) * | 2013-01-28 | 2015-12-10 | Hitachi Automotive Systems, Ltd. | Network device, and data sending and receiving system |
CN104079554A (zh) * | 2013-03-28 | 2014-10-01 | 株式会社自动网络技术研究所 | 车载中继装置以及通信系统 |
CN103414227A (zh) * | 2013-08-15 | 2013-11-27 | 曹松伟 | 区域联网悬托挂式群充电及传媒系统与设备 |
CN205123784U (zh) * | 2015-11-11 | 2016-03-30 | 陕西西北铁道电子有限公司 | 一种远程更换gyk运行控制程序的系统 |
Non-Patent Citations (1)
Title |
---|
汪宗御: "NABCO M-800Ⅲ型主机遥控系统仿真研究与应用", 《中国优秀硕士学位论文全文库 工程科技Ⅱ辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112602293A (zh) * | 2018-09-03 | 2021-04-02 | 株式会社自动网络技术研究所 | 通信装置、发送方法及计算机程序 |
CN112602293B (zh) * | 2018-09-03 | 2022-06-17 | 株式会社自动网络技术研究所 | 通信装置、发送方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE102018100756A1 (de) | 2018-07-19 |
DE102018100756B4 (de) | 2023-07-20 |
CN108337228B (zh) | 2020-11-10 |
US10469129B2 (en) | 2019-11-05 |
US20180205414A1 (en) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337228A (zh) | 车载装置、中继装置以及计算机程序 | |
JP5664799B2 (ja) | 通信システム及び通信方法 | |
JP6338949B2 (ja) | 通信システム及び鍵情報共有方法 | |
CN105555615B (zh) | 改写检测系统以及改写检测装置 | |
JP6443482B2 (ja) | 車載装置、中継装置及びコンピュータプログラム | |
CN108235291A (zh) | 一种用于车辆防盗的安全认证装置及方法 | |
CN107924443A (zh) | 用于过程控制的控制装置的固件升级方法及其系统 | |
CN105159707A (zh) | 一种安全的金融终端的固件烧写方法及金融终端 | |
JP5286659B2 (ja) | 車載装置中継システム、車載装置中継方法及び中継装置 | |
CN107615714A (zh) | 通信装置及通信限制程序 | |
CN107078806B (zh) | 光收发机的编程方法和操作方法以及电气接口设备 | |
CN108476155A (zh) | 不正当消息检测装置、方法、程序、以及电子控制装置 | |
KR20180022894A (ko) | 전자 유닛 및 이러한 전자 장치에서 수행되는 방법 | |
CN111132076B (zh) | 车机通信方法、装置、车机及终端 | |
CN107544473B (zh) | 一种重编程方法及装置 | |
CN105556537B (zh) | 用于处理有缺陷的电子用户终端的方法和系统 | |
US9769656B2 (en) | Electronic device and communication method | |
CN107229958A (zh) | 一种智能ic卡数据检测方法及装置 | |
EP1500227B1 (en) | Method for recognizing electronic appliance in multiple control system | |
CN105471583A (zh) | 车载电器的电子认证方法和电子认证系统 | |
WO2023223863A1 (ja) | 車載装置、情報処理方法、及びプログラム | |
CN116405421B (zh) | 模拟芯片测试分选机的通信测试方法、系统、存储介质 | |
JP2021002768A (ja) | 車載通信システム、車載通信装置及び送信周期算出方法 | |
CN113704106B (zh) | 一种汽车数字钥匙的下线检测系统、方法、设备及介质 | |
US20220094540A1 (en) | On-vehicle communication system, on-vehicle communication control device, on-vehicle communication device, communication control method and communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |