改写检测系统以及改写检测装置转让专利

申请号 : CN201480051281.1

文献号 : CN105555615B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高田广章高仓弘喜宫下之宏堀端启史冈田宏足立直树

申请人 : 国立大学法人名古屋大学株式会社自动网络技术研究所住友电装株式会社住友电气工业株式会社

摘要 :

提供一种能够检测对信息处理装置的存储部中存储的程序或者数据进行了不正当的改写的情况的改写检测系统、改写检测装置以及信息处理装置。改写检测装置(5)生成随机种子并发送到ECU(2)以及服务器装置(7)。ECU(2)根据所接收到的随机种子与存储部的存储内容,使用预定的散列函数来计算散列值并发送到改写检测装置(5)。另外,服务器装置(7)根据来自改写检测装置(5)的询问来发送期望值。改写检测装置(5)根据从服务器装置(7)接收到的期望值与从ECU(2)接收到的散列值是否一致,判定是否对ECU(2)的程序或者数据进行了不正当的改写。

权利要求 :

1.一种改写检测系统,对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备改写检测装置,该改写检测装置具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述改写检测装置的所述种信息发送部将指定所述存储部的存储区域的存储区域指定信息与所述种信息一起发送到所述信息处理装置,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及通过与该种信息一起发送的所述存储区域指定信息指定的所述存储部的存储区域中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置,所述信息处理装置在基于与所述种信息一起接收到的所述存储区域指定信息的存储区域的指定不满足预定条件的情况下,不向所述改写检测装置发送散列值。

2.根据权利要求1所述的改写检测系统,其特征在于,

所述种信息发送部发送包含指定如下内容的信息的所述存储区域指定信息:存储区域的开头位置;以及所述存储区域的末尾位置或者尺寸。

3.根据权利要求1所述的改写检测系统,其特征在于,

在所述存储区域中,能够指定不连续的多个区域,

所述种信息发送部发送包含确定所述多个区域的信息的所述存储区域指定信息。

4.根据权利要求3所述的改写检测系统,其特征在于,

所述存储区域指定信息是指定所述多个区域的间隔的信息。

5.根据权利要求1所述的改写检测系统,其特征在于,

所述信息处理装置在通过所述存储区域指定信息指定的存储区域的尺寸不是预定尺寸或者该预定尺寸的常数倍尺寸的情况下,不向所述改写检测装置发送散列值。

6.一种改写检测系统,对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备改写检测装置,该改写检测装置具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及所述存储部中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置,所述改写检测装置还具有计测从由所述种信息发送部发送种信息起到由所述散列值接收部接收散列值为止的时间的计测部,并根据该计测部计测到的时间对改写进行检测。

7.根据权利要求6所述的改写检测系统,其特征在于,

所述信息处理装置基于所述种信息发送部发送的种信息,决定应该设为散列值的计算对象的所述存储部的存储区域,所述散列值计算部根据基于种信息决定的存储区域中存储的程序或者数据来计算散列值。

8.根据权利要求1或6所述的改写检测系统,其特征在于,

所述信息处理装置在将散列值发送到所述改写检测装置之后,直到经过预定时间为止,不进行散列值的发送。

9.根据权利要求1或6所述的改写检测系统,其特征在于,

在所述存储部中的存储有所述程序或者数据的存储区域以外的剩余区域存储有随机的数据。

10.根据权利要求1或6所述的改写检测系统,其特征在于,

所述种信息发送部将随机的值作为所述种信息进行发送。

11.一种改写检测系统,对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备:改写检测装置,具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测;和服务器装置,具有发送针对所述种信息的所述散列值的期望值的发送部,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及所述存储部中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置,所述改写检测装置还具有:

询问部,向所述服务器装置询问针对所述种信息的所述散列值的期望值;和接收部,接收针对该询问部的询问而从所述服务器装置发送的所述期望值,所述散列值判定部根据所述接收部接收到的期望值,判定所述散列值接收部接收到的散列值正确与否。

12.一种改写检测系统,对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备:改写检测装置,具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测;和服务器装置,具有发送所述种信息以及所述散列值的期望值的发送部,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及所述存储部中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置,所述改写检测装置还具有:

询问部,向所述服务器装置询问所述种信息以及所述期望值;和

接收部,接收针对该询问部的询问而从所述服务器装置发送的所述种信息以及所述期望值,所述种信息发送部将所述接收部从所述服务器装置接收到的所述种信息发送到所述信息处理装置,所述散列值判定部根据所述接收部接收到的期望值,判定所述散列值接收部接收到的散列值正确与否。

13.根据权利要求11或12所述的改写检测系统,其特征在于,

所述改写检测装置搭载于移动体,在能够进行与所述服务器装置的通信的情况下进行基于所述询问部的询问以及基于所述接收部的所述期望值的接收,并存储所接收到的所述期望值,所述散列值判定部根据所存储的所述期望值,判定所述散列值接收部接收到的散列值正确与否。

14.一种改写检测系统,对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备改写检测装置,该改写检测装置具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及所述存储部中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置,所述改写检测装置搭载于移动体。

15.一种改写检测系统,对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备改写检测装置,该改写检测装置具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及所述存储部中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置,所述改写检测装置构成为能够相对于所述网络接入或断开。

16.一种改写检测装置,检测在其他装置的存储部中存储的程序或者数据的改写,所述改写检测装置的特征在于,具备:种信息发送部,经由网络向所述其他装置发送种信息;

散列值接收部,根据该种信息发送部发送的种信息,接收从所述其他装置发送的散列值;

散列值判定部,判定该散列值接收部接收到的散列值正确与否;以及

计测部,计测从由所述种信息发送部发送种信息起到由所述散列值接收部接收散列值为止的时间,所述改写检测装置根据所述散列值判定部的判定结果来对改写进行检测,并根据所述计测部计测到的时间对改写进行检测。

17.一种改写检测装置,检测在其他装置的存储部中存储的程序或者数据的改写,所述改写检测装置的特征在于,具备:种信息发送部,经由网络向所述其他装置发送种信息;

散列值接收部,根据该种信息发送部发送的种信息,接收从所述其他装置发送的散列值;以及散列值判定部,判定该散列值接收部接收到的散列值正确与否,

所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述改写检测装置搭载于移动体。

18.一种改写检测装置,检测在其他装置的存储部中存储的程序或者数据的改写,所述改写检测装置的特征在于,具备:种信息发送部,经由网络向所述其他装置发送种信息;

散列值接收部,根据该种信息发送部发送的种信息,接收从所述其他装置发送的散列值;以及散列值判定部,判定该散列值接收部接收到的散列值正确与否,

所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述改写检测装置构成为能够相对于所述网络接入或断开。

说明书 :

改写检测系统以及改写检测装置

技术领域

[0001] 本发明涉及检测对搭载于车辆中的ECU(Electronic Control Unit,电子控制部)等信息处理装置进行的程序或者数据的不正当的改写的改写检测系统、以及构成该系统的改写检测装置以及信息处理装置。

背景技术

[0002] 在搭载于车辆中的ECU等信息处理装置中,根据在ROM(Read Only Memory,只读存储器)等存储部中存储的程序以及数据,CPU(Central Processing Unit,中央处理部)等处理部进行各种处理。在近年来的车辆中,经由CAN(Controller Area Network,控制器局域网)等车内网络而进行在信息处理装置的存储部中存储的程序以及数据的改写的功能正被应用。由此,能够使信息处理装置的软件的版本升级等变得容易,并且使信息处理装置的高功能化的实现变得容易。
[0003] 在专利文献1中,提出了一种车载网络系统,该车载网络系统具备认证车载控制装置的结构管理装置,该结构管理装置将为了实施结构证明而使用的结构证明数据经由与车载网络连接的登记装置传送到车载控制装置。
[0004] 现有技术文献
[0005] 专利文献
[0006] 专利文献1:日本特开2013-17140号公报

发明内容

[0007] 发明所要解决的课题
[0008] 通过做成能够改写在信息处理装置的存储部中存储的程序以及数据的结构,存在进行不正当的程序以及数据的改写的可能性。例如在如汽车合乘或者汽车租用等那样的不确定的多个用户利用车辆的情况下,有可能由恶意的用户进行不正当的改写。另外,例如即使对自己所拥有的车辆,用户也可能进行不正当的改造。
[0009] 例如,考虑通过在信息处理装置中搭载高级的认证功能或者加密功能等来防止存储部的程序或者数据的不正当的改写。然而,存在由于将这样的功能搭载于信息处理装置而导致信息处理装置的高成本化这样的问题。另外,完全防止不正当的改写并不容易。专利文献1所述的车载网络系统也有同样的问题。
[0010] 本发明是鉴于上述情况而完成的,其目的在于,提供一种能够检测进行了对在信息处理装置的存储部中存储的程序或者数据的不正当的改写的情况的改写检测系统、改写检测装置以及信息处理装置。
[0011] 用于解决课题的技术方案
[0012] 本发明的改写检测系统对具有存储有程序或者数据的存储部、进行基于在该存储部中存储的程序或者数据的处理的处理部以及经由网络进行与其他装置的通信的通信部的信息处理装置,检测所述存储部中存储的程序或者数据的改写,所述改写检测系统的特征在于,具备改写检测装置,该改写检测装置具有经由所述网络向所述信息处理装置发送种信息的种信息发送部、根据该种信息发送部发送的种信息接收从所述信息处理装置发送的散列值的散列值接收部以及判定该散列值接收部接收到的散列值正确与否的散列值判定部,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测,所述信息处理装置具有计算基于所述种信息发送部发送的种信息以及所述存储部中存储的程序或者数据的散列值的散列值计算部,并将该散列值计算部计算出的散列值发送到所述改写检测装置。
[0013] 另外,本发明的改写检测系统的特征在于,所述改写检测装置的所述种信息发送部将指定所述存储部的存储区域的存储区域指定信息与所述种信息一起发送到所述信息处理装置,所述信息处理装置的所述散列值计算部根据所述种信息以及通过与该种信息一起发送的所述存储区域指定信息指定的所述存储部的存储区域中存储的程序或者数据,计算散列值。
[0014] 另外,本发明的改写检测系统的特征在于,所述种信息发送部发送包含指定如下内容的信息的所述存储区域指定信息:存储区域的开头位置;以及所述存储区域的末尾位置或者尺寸。
[0015] 另外,本发明的改写检测系统的特征在于,在所述存储区域中,能够指定不连续的多个区域,所述种信息发送部发送包含确定所述多个区域的信息的所述存储区域指定信息。
[0016] 另外,本发明的改写检测系统的特征在于,所述存储区域指定信息是指定所述多个区域的间隔的信息。
[0017] 另外,本发明的改写检测系统的特征在于,所述信息处理装置在基于与所述种信息一起接收到的所述存储区域指定信息的存储区域的指定不满足预定条件的情况下,不向所述改写检测装置发送散列值。
[0018] 另外,本发明的改写检测系统的特征在于,所述信息处理装置在通过所述存储区域指定信息指定的存储区域的尺寸不是预定尺寸或者该预定尺寸的常数倍尺寸的情况下,不向所述改写检测装置发送散列值。
[0019] 另外,本发明的改写检测系统的特征在于,所述信息处理装置基于所述种信息发送部发送的种信息,决定应该设为散列值的计算对象的所述存储部的存储区域,所述散列值计算部根据基于种信息决定的存储区域中存储的程序或者数据来计算散列值。
[0020] 另外,本发明的改写检测系统的特征在于,所述信息处理装置在将散列值发送到所述改写检测装置之后,直到经过预定时间为止,不进行散列值的发送。
[0021] 另外,本发明的改写检测系统的特征在于,在所述存储部中的存储有所述程序或者数据的存储区域以外的剩余区域存储有随机的数据。
[0022] 另外,本发明的改写检测系统的特征在于,所述改写检测装置,具有计测从由所述种信息发送部发送种信息起到由所述散列值接收部接收散列值为止的时间的计测部,根据该计测部计测到的时间对改写进行检测。
[0023] 另外,本发明的改写检测系统的特征在于,所述种信息发送部将随机的值作为所述种信息进行发送。
[0024] 另外,本发明的改写检测系统的特征在于,还具备服务器装置,该服务器装置具有发送针对所述种信息的所述散列值的期望值的发送部,所述改写检测装置具有:询问部,向所述服务器装置询问针对所述种信息的所述散列值的期望值;和接收部,接收针对该询问部的询问而从所述服务器装置发送的所述期望值,所述散列值判定部根据所述接收部接收到的期望值,判定所述散列值接收部接收到的散列值正确与否。
[0025] 另外,本发明的改写检测系统的特征在于,还具备服务器装置,该服务器装置具有发送所述种信息以及所述散列值的期望值的发送部,所述改写检测装置具有:询问部,向所述服务器装置询问所述种信息以及所述期望值;和接收部,接收针对该询问部的询问而从所述服务器装置发送的所述种信息以及所述期望值,所述种信息发送部将所述接收部从所述服务器装置接收到的所述种信息发送到所述信息处理装置,所述散列值判定部根据所述接收部接收到的期望值,判定所述散列值接收部接收到的散列值正确与否。
[0026] 另外,本发明的改写检测系统的特征在于,所述改写检测装置搭载于移动体,在能够进行与所述服务器装置的通信的情况下进行基于所述询问部的询问以及基于所述接收部的所述期望值的接收,并存储所接收到的所述期望值,所述散列值判定部根据所存储的所述期望值,判定所述散列值接收部接收到的散列值正确与否。
[0027] 另外,本发明的改写检测系统的特征在于,所述改写检测装置搭载于移动体。
[0028] 另外,本发明的改写检测系统的特征在于,所述改写检测装置构成为能够相对于所述网络接入或断开。
[0029] 另外,本发明的改写检测装置检测在其他装置的存储部中存储的程序或者数据的改写,所述改写检测装置的特征在于,具备:种信息发送部,经由网络向所述其他装置发送种信息;散列值接收部,根据该种信息发送部发送的种信息,接收从所述其他装置发送的散列值;以及散列值判定部,判定该散列值接收部接收到的散列值正确与否,所述改写检测装置根据该散列值判定部的判定结果来对改写进行检测。
[0030] 另外,本发明的信息处理装置的特征在于,具备:存储部,存储有程序或者数据;处理部,进行基于在所述存储部中存储的程序或者数据的处理;通信部,经由网络进行与其他装置的通信;以及散列值计算部,计算基于从其他装置发送的种信息以及所述存储部中存储的程序或者数据的散列值,所述信息处理装置将该散列值计算部计算出的散列值发送到所述其他装置。
[0031] 在本发明中,改写检测装置生成种信息并发送到信息处理装置,信息处理装置根据所接收到的种信息与在存储部中存储的程序或者数据来计算散列值并发送到改写检测装置。作为种信息,例如能够生成预定比特数的随机的值来使用。改写检测装置判定从信息处理装置接收到的散列值正确与否,判定是否对程序或者数据进行了不正当的改写。即,改写检测装置能够在散列值正确的情况下判断为未进行不正当的改写,在散列值不正确的情况下判断为进行了不正当的改写。
[0032] 由此,能够检测对信息处理装置的程序或者数据的不正当的改写,并适当地进行对被不正当地改写了的信息处理装置的动作停止、修理或者更换等处理。只要在信息处理装置中追加计算散列值的功能即可,能够抑制用于实现该系统的信息处理装置的成本上升。与搭载防止不正当的改写的功能的情况相比,本系统成本低且能够容易地实现。
[0033] 另外,在本发明中,在改写检测装置将种信息发送到信息处理装置时,一起发送指定了应该设为散列值计算的对象的存储部的区域的存储区域指定信息。信息处理装置根据通过存储区域指定信息指定的存储区域中存储的程序或者数据来进行散列值的计算。
[0034] 在存储部中存储的程序或者数据的量多、并且信息处理装置的处理能力低的情况等下,如果将存储部整体设为处理对象,则散列值的计算有可能需要大量的时间。因此,通过限定于存储部的一部分地进行信息处理装置的散列值的计算,能够缩短计算散列值的处理所需的时间。此外,改写检测装置也可以在使散列值计算的对象区域变化的同时,多次地从信息处理装置取得散列值来判定有无不正当改写。
[0035] 另外,在本发明中,存储区域指定信息包含指定存储区域的开头位置以及末尾位置的信息、或者指定存储区域的开头位置以及尺寸的信息。由此,改写检测装置能够对信息处理装置的存储部如“从X地址到Y地址”或者“从X地址起的Y字节量”等那样将其一部分指定为作为散列值计算对象的存储区域。
[0036] 另外,作为散列值计算的对象的存储区域不需要是在存储部中连续的1个区域,也可以构成为能够指定不连续的多个区域。在这种情况下,存储区域指定信息能够设为例如指定多个区域的间隔的信息。由此,改写检测装置能够对信息处理装置的存储部将“间隔Z地址(或者Z字节)”的多个存储区域指定为散列值计算的对象区域。
[0037] 此外,也能够将它们组合而进行“从X地址到Y地址间隔Z地址”等存储区域的指定。
[0038] 另外,在本发明中,根据来自改写检测装置的种信息,信息处理装置决定应该设为散列值计算的对象的存储区域,根据该存储区域的存储内容来计算散列值并发送到改写检测装置。由此,能够缩短信息处理装置的散列值的计算处理所需的时间,并且能够防止从改写检测装置发送到信息处理装置的信息增加。
[0039] 如上所述,在构成为能够将存储区域的一部分作为对象而进行散列值的计算的情况下,恶意的用户等有可能指定微小的区域而重复取得散列值,通过解析取得的散列值,解读存储部中存储的程序或者数据。
[0040] 因此,在本发明中,构成为从改写检测装置提供存储区域指定信息,在存储区域的指定不满足预定条件的情况下,车载装置不进行散列值的发送。能够构成为作为预定条件,判定例如所指定的存储区域的尺寸是否为预定尺寸或者预定尺寸的常数倍尺寸。由此,能够使基于不正当地取得的散列值的程序或者数据的解读变得困难。
[0041] 另外,在本发明中,在根据来自改写检测装置的种信息来计算散列值并发送到改写检测装置之后,直到经过预定时间为止,信息处理装置即使从改写检测装置被提供了接下来的种信息,也不进行散列值的发送。由此,能够限制在一定时间内得到的散列值的量,因此能够使不正当地取得散列值来解读程序或者数据变得困难。
[0042] 存在通过例如压缩在存储部中存储的正当的程序或者数据,在由此得到的存储部的未使用区域(未存储程序或者数据的区域)中存储不正当的程序或者数据,从而进行不正当的处理的担忧。
[0043] 因此,在本发明中,在将正当的程序或者数据存储到存储部中的情况下,在不存储程序或者数据的剩余区域中,预先存储随机的数据。由此,能够使在存储部中存储的程序或者数据的压缩变得困难。
[0044] 此外,也可以以使剩余区域分散在存储部中的方式存储程序或者数据,使写入到剩余区域的随机数据分散于存储部。
[0045] 在为了如上所述地压缩程序或者数据来进行不正当的处理而根据来自改写检测装置的请求计算散列值时,不正当的程序需要根据被压缩的正当的程序或者数据来计算正当的散列值,这样的处理与正常的散列值计算处理相比,需要更长的时间。
[0046] 因此,在本发明中,计测从改写检测装置发送种信息起到接收散列值为止的时间,在所计测到的时间长到超过预先设定的阈值等的情况下,改写检测装置判断为进行了不正当的改写(或者存在该可能性)。
[0047] 另外,在本发明中,服务器装置预先存储针对种信息的散列值的期望值,改写检测装置从服务器装置取得期望值。或者,也可以构成为服务器装置预先存储正当的程序或者数据,并且服务器装置计算针对种信息的期望值。改写检测装置向服务器装置询问针对发送到信息处理装置的种信息的散列值的期望值,并接收针对该询问而从服务器装置发送的期望值。改写检测装置比较从服务器装置接收到的期望值与从信息处理装置接收到的散列值,在两值不一致的情况下能够判断为进行了不正当的改写。
[0048] 在构成为例如改写检测装置预先存储期望值的情况下,有可能所存储的期望值被不正当地改写等。通过构成为改写检测装置从服务器装置取得期望值,能够防止对期望值的不正当的改写,能够提高信息处理装置的程序或者数据的改写检测的精度。
[0049] 另外,服务器装置将种信息以及期望值发送到改写检测装置,改写检测装置将从服务器装置取得的种信息发送到信息处理装置。也可以构成为信息处理装置与此相应地计算散列值并发送到改写检测装置,改写检测装置根据来自信息处理装置的散列值与来自服务器装置的期望值来判断有无不正当的改写。
[0050] 另外,在本发明中,在车辆中搭载改写检测装置。例如也可以构成为搭载于车辆中的网关或者汽车导航装置等具有改写检测装置的功能。由此,例如每当车辆的发动机启动时进行不正当的改写的检测处理等,容易提高进行检测处理的频率。
[0051] 但是在将改写检测装置搭载于车辆中的情况下,改写检测装置不一定始终能够与服务器装置进行通信。因此,改写检测装置预先从服务器装置取得并存储散列值的期望值。在当进行检测处理时无法与服务器装置进行通信的情况下,改写检测装置能够使用预先存储的期望值来进行检测处理。
[0052] 另外,在本发明中,构成为能够相对于车内网络接入或断开改写检测装置。例如可以构成为将改写检测装置设为移动型的装置,经由线缆等而与车辆的连接器连接,从而改写检测装置能够经由车内网络与信息处理装置进行通信。
[0053] 将这样的改写检测装置设置于例如车辆的经销商或者维修工厂等,在车辆的车辆检查、定期检查或者修理等时能够进行信息处理装置的程序或者数据的不正当改写检测。另外,例如在汽车租用或者汽车合乘等的车辆的情况下,在归还车辆后能够通过改写检测装置进行不正当改写检测。
[0054] 发明效果
[0055] 在本发明的情况下,改写检测装置能够检测对信息处理装置的存储部中存储的程序或者数据进行了不正当的改写的情况。

附图说明

[0056] 图1是示出实施方式1的改写检测系统的结构的示意图。
[0057] 图2是示出ECU的结构的框图。
[0058] 图3是示出ECU的存储部的结构的示意图。
[0059] 图4是示出改写检测装置的结构的框图。
[0060] 图5是示出服务器装置的结构的框图。
[0061] 图6是示出改写检测数据库的第1结构例的示意图。
[0062] 图7是示出改写检测数据库的第2结构例的示意图。
[0063] 图8是用于说明由改写检测装置实施的改写检测处理的示意图。
[0064] 图9是示出改写检测装置进行的改写检测处理的顺序的流程图。
[0065] 图10是示出ECU进行的改写检测处理的顺序的流程图。
[0066] 图11是示出服务器装置进行的改写检测处理的顺序的流程图。
[0067] 图12是示出实施方式2的ECU进行的改写检测处理的顺序的流程图。
[0068] 图13是示出实施方式3的改写检测系统的结构的示意图。
[0069] 图14是示出网关的结构的框图。
[0070] 图15是示出实施方式3的网关进行的改写检测处理的顺序的流程图。

具体实施方式

[0071] (实施方式1)
[0072] <系统结构>
[0073] 以下,对本发明根据示出其实施方式的附图进行具体说明。图1是示出实施方式1的改写检测系统的结构的示意图。在图中,标号1是车辆,在车辆1中,搭载了例如车身ECU以及发动机ECU等各种ECU2。在车辆1中搭载的多个ECU2经由CAN等车内网络3连接,能够相互进行信息的收发。另外,在车辆1中,设置了用于对车内网络3连接其他装置的连接器4。
[0074] 实施方式1的改写检测系统具备检测对在车辆1中搭载的ECU2的程序或者数据进行了不正当的改写的情况的改写检测装置5。改写检测装置5是移动型的装置,被保管于例如车辆1的经销商或者修理工厂等。改写检测装置5经由通信线缆6而连接到在车辆1中设置的连接器4,从而能够经由车内网络3而与ECU2进行通信。在将通信线缆6连接于连接器4的状态下,改写检测装置5进行对ECU2的程序或者数据的不正当的改写的检测处理。
[0075] 另外,改写检测装置5具有进行利用无线LAN(Local Area Network,局域网)或者移动电话网等的无线通信的功能。在本实施方式中,改写检测装置5利用该无线通信功能,经由因特网等网络9进行与服务器装置7的通信。服务器装置7是例如车辆1的制造公司或者销售公司等进行管理/运营的装置。服务器装置7存储由改写检测装置5实施的改写检测处理所需的信息,根据在进行改写检测处理时提供的来自改写检测装置5的请求,将所需的信息发送到改写检测装置5。
[0076] 图2是示出ECU2的结构的框图。ECU2具备处理部21、存储部22以及通信部23等。处理部21采用CPU(Central Processing Unit,中央处理器)等运算处理装置来构成。处理部21通过读取并执行在存储部22中存储的程序,进行车辆1的各种信息处理。
[0077] 存储部22采用闪存或者EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)等非易失性且能够改写数据的存储器元件来构成。存储部22存储有处理部21执行的程序以及通过该程序进行的处理所需的各种数据。在本实施方式中,设为将存储部22用作ROM,并且不会由于处理部21的处理而改写在存储部22中存储的程序或者数据。但是能够进行基于程序的版本升级等的改写。
[0078] 通信部23例如依照CAN等通信协议,经由车内网络3进行与其他ECU2的通信。通信部23将从处理部21提供的发送用的信息转换成依照通信协议的发送信号,对构成车内网络3的通信线输出转换后的信号,从而进行向其他ECU2的信息发送。通信部23通过对车内网络
3的通信线的电位进行采样,取得其他ECU2输出的信号,依照通信协议将该信号转换成二进制的信息,从而进行信息的接收,并将所接收到的信息提供给处理部21。
[0079] 另外,在本实施方式中,ECU2的处理部21具有根据来自改写检测装置5的指示来计算散列值的散列值计算部24。散列值计算部24根据从改写检测装置5提供的随机种子(种信息)以及在存储部22中存储的程序或者数据,通过预定的散列计算算法(散列函数)来计算散列值。散列值计算部24既可以作为软件实现,也可以作为硬件实现。关于散列值的计算方法的详细情况,在后面叙述。
[0080] 图3是示出ECU2的存储部22的结构的示意图。在图示的例子中,存储部22具有利用0000h~FFFFh来表示地址的存储区域。在存储部22中,存储有通过处理部21执行的两个程序(程序1以及程序2)以及各程序的执行分别需要的两种数据(数据1以及数据2)。在存储部
22中,从地址的开头侧起依次存储有程序1、程序2、数据1及数据2,但在彼此之间的存储区域以及地址的末尾侧的存储区域中,存储有虚拟数据。
[0081] 虚拟数据可以是任意的值,但也能够预先存储例如随机决定的值。虚拟数据被写入到存储部22的全部剩余区域。即,在存储部22中,在其全部存储区域中存储有某些数据。由此,能够防止在存储部22的剩余区域中存储不正当的程序而进行不正当的处理。另外,能够使压缩在存储部22中存储的程序以及数据变得困难。
[0082] 图4是示出改写检测装置5的结构的框图。改写检测装置5具备处理部51、存储部52、操作部53、显示部54、有线通信部55以及无线通信部56等。处理部51采用CPU等运算处理装置来构成。处理部51通过读取并执行在存储部52中存储的程序,进行对在车辆1中搭载的ECU2的程序或者数据的不正当改写的检测处理。存储部52采用闪存等非易失性的存储器元件来构成,存储处理部51执行的程序以及执行所需的各种数据。改写检测装置5既可以将在处理部51的处理过程等中产生的临时性的信息存储到存储部52中,也可以具备存储临时性的信息的RAM(Random Access Memory,随机存取存储器)。
[0083] 操作部53采用按压开关或者触摸面板等来构成,受理用户的操作并通知给处理部51。显示部54采用液晶面板等来构成,根据来自处理部51的指示,显示对用户的各种图像以及消息等。有线通信部55例如依照CAN等通信协议,经由通信线缆6进行与其他装置的通信。
在通信线缆6与车辆1的连接器4连接的情况下,有线通信部55能够经由车辆1的车内网络3与ECU2进行通信。无线通信部56通过进行利用无线LAN或者移动电话网等的无线通信,经由因特网等网络9而进行与服务器装置7的通信。
[0084] 图5是示出服务器装置7的结构的框图。服务器装置7具备处理部71、存储部72以及通信部73等。处理部71采用CPU等运算处理装置来构成。处理部71通过读取并执行在存储部72中存储的程序,进行发送改写检测装置5的改写检测处理所需的信息的处理。通信部73经由因特网等网络9而进行与其他装置的通信。在本实施方式中,通信部73与改写检测装置5之间进行通信,将从改写检测装置5接收到的信息提供给处理部71,并且将从处理部71提供的发送用的信息发送到改写检测装置5。
[0085] 存储部72采用硬盘等大容量的存储装置来构成。在本实施方式中,在存储部72中,构筑了改写检测数据库75。改写检测数据库75是存储有改写检测装置5的改写检测处理所需的信息的数据库。关于改写检测数据库75,考虑了几种结构,以下示出两个结构例。
[0086] 图6是示出改写检测数据库75的第1结构例的示意图。在第1结构例的改写检测数据库75中,对应地存储“车型”、“ECU种类”、“随机种子”以及“期望值”。改写检测数据库75的“车型”存储用于识别车辆1的种类的识别信息等。即使车辆1的车名以及外观等相同,在等级等不同、所搭载的ECU2的结构不同的情况下,在本实施方式中也将它们作为不同的车型来处理。在图示的例子中,在改写检测数据库75中作为“车型”而存储有车型A、车型B…的信息。改写检测数据库75的“ECU种类”存储用于识别例如车身ECU或者发动机ECU等ECU2的种类的识别信息等。在图示的例子中,在改写检测数据库75中作为“ECU种类”而存储有ECUa、ECUb…的信息。
[0087] 改写检测数据库75的“随机种子”是改写检测装置5生成的随机种子,在本实施方式中是16进制下的4位的数值。在图示的例子中,改写检测数据库75的“随机种子”对每个“ECU种类”设定0000h~FFFFh这65536个值。改写检测数据库75的“期望值”是针对“随机种子”在ECU2中应该计算的散列值,在本实施方式中是16进制下的4位的数值。“期望值”是对ECU2的存储部22的存储内容(程序、数据以及虚拟数据)使用对应的“随机种子”来预先计算散列值并进行存储而得到的值。此外,图示的“期望值”是一个例子。
[0088] 改写检测装置5指定车型、ECU种类以及随机种子而向服务器装置7询问期望值。服务器装置7根据该询问从改写检测数据库75读取对应的期望值并发送到改写检测装置5。
[0089] 图7是示出改写检测数据库75的第2结构例的示意图。在第2结构例的改写检测数据库75中,对应地存储有“车型”、“ECU种类”以及“存储内容”。这当中的“车型”以及“ECU种类”与第1结构例相同。改写检测数据库75的“存储内容”是对应的ECU2的存储部22的存储内容的拷贝。
[0090] 与第1结构例的情况同样地,改写检测装置5指定车型、ECU种类以及随机种子而向服务器装置7询问期望值。服务器装置7读取与该询问所涉及的车型以及ECU种类对应的存储内容。服务器装置7根据询问所涉及的随机种子以及读取的存储内容来进行散列值的计算,将所计算出的散列值作为期望值发送到改写检测装置5。因此,服务器装置7存储与ECU2的散列值计算部24所使用的散列函数相同的内容。
[0091] 此外,在本实施方式中,如果车型以及ECU种类相同,则在ECU2的存储部22中存储的程序以及数据相同。但是根据车辆1的发货或者程序的版本差异等,即使车型以及ECU种类相同,也可能出现所存储的程序以及数据不同的情况。在这样的情况下,例如在改写检测数据库75中设置程序的版本等项目,对每个版本预先存储随机种子以及期望值,或者对每个版本预先存储存储部22的存储内容。改写检测装置5从作为改写检测处理的对象的ECU2取得该ECU2的程序的版本,在向服务器装置7询问期望值时与随机种子以及车型等信息一起发送程序的版本信息。服务器装置7能够根据来自改写检测装置5的随机种子、车型、ECU种类以及程序的版本信息等,从改写检测数据库75取得或者计算期望值,并发送到改写检测装置5。
[0092] <散列值计算方法>
[0093] ECU2的散列值计算部24能够构成为利用例如MD(Message Digest,消息摘要)4、MD5、SHA-1、SHA-256、SHA-384、SHA-512、EIPEMD-160或者SHA-3等现有的散列函数而进行散列值的计算。它们是所谓的单向散列函数,是针对所输入的信息输出一个散列值的函数。向散列函数输入的信息在本实施方式中是在ECU2的存储部22中存储的程序或者数据的一部分或者全部。无论向散列函数输入程序还是数据,或者输入程序和数据双方,散列函数都能够将所输入的内容仅仅作为二进制的信息来处理并计算散列值。散列值计算部24存储有预先确定的散列函数,使用该散列函数来进行散列值的计算。
[0094] 以下,简单说明散列值计算部24使用SHA-1的散列函数来计算散列值的情况。此外,关于SHA-1的散列函数的详细处理以及散列值计算部24使用其他散列函数的情况,由于这些散列函数是现有技术,因此省略说明。
[0095] 在利用SHA-1的散列函数的情况下,散列值计算部24首先进行补全(padding)处理。在补全处理中,散列值计算部24通过在输入信息后附加多余的数据,将处理对象的信息的尺寸调整成预定值(512比特)的整数倍。接下来,散列值计算部24进行如下的第1处理:将进行了补全处理的信息分割成每512比特的块,对各块计算80个值。
[0096] 接下来,散列值计算部24进行如下的第2处理:对预定尺寸(160比特)的初始值,进行使用在第1处理中计算出的值的运算,并将运算后的160比特的值设为散列值。在第2处理中,首先散列值计算部24对160比特的初始值,使用对1个块计算出的80个值进行80步的运算。通过该80步的运算,能够对160比特的初始值混入块的信息,作为输出而得到160比特的值。散列值计算部24将所得到的160比特的值作为初始值,使用对接下来的块计算出的80个值同样地进行80步的运算。散列值计算部24对全部块进行同样的80步的处理,将最终得到的160比特的值设为散列值。
[0097] 另外,在本实施方式中,散列值计算部24需要利用从改写检测装置5提供的随机种子而进行散列值的计算。例如,散列值计算部24在上述的补全处理中,作为对输入信息附加的数据能够使用随机种子。另外,例如散列值计算部24在上述的第2处理中,作为160比特的初始值能够使用随机种子。在本实施方式中,设为第2处理的初始值使用随机种子。
[0098] 此外,由散列值计算部24实施的随机种子的利用方法不限于上述方法。例如散列值计算部24能够将作为散列值计算的对象的存储部22的信息与随机种子的逻辑运算值(“异或”等)设为向散列函数的输入信息。另外,例如散列值计算部24能够将在作为散列值计算的对象的存储部22的信息的开头部分或者末尾部分等预定位置附加随机种子而得到的信息设为向散列函数的输入信息。
[0099] <改写检测处理>
[0100] 例如在车辆1的车辆检查、定期检查或者修理等时,经销商或者修理工厂等的作业者将改写检测装置5的通信线缆6连接到车辆1的连接器4,将改写检测装置5连接到车辆1的车内网络3。作业者进行对改写检测装置5的操作部53的操作,将开始对车辆1的ECU2的不正当改写的检测处理的指示发到改写检测装置5。
[0101] 改写检测装置5在通过操作部53受理了不正当改写检测处理的开始指示的情况下,通过有线通信部55开始与车辆1的ECU2的通信。在本实施方式中,改写检测装置5从在车辆1中搭载的多个ECU2中适当选择一个,进行对所选择的ECU2的存储部22中存储的程序以及数据的不正当改写的检测处理。改写检测装置5在对1个ECU2完成检测处理之后,进行对未处理的ECU2的检测处理。改写检测装置5通过重复这些操作,对多个ECU2依次进行检测处理,对在车辆1中搭载的能够成为检测对象的所有ECU2进行不正当改写的检测处理。
[0102] 此外,改写检测装置5也可以构成为对与车内网络3连接的多个ECU2一并进行不正当改写的检测处理。但是在本实施方式中,如上所述,设为改写检测装置5对多个ECU2依次进行不正当改写的检测处理。另外,以下,为了简化说明,说明改写检测装置5进行对1个ECU2的不正当改写的检测处理的情况。对多个ECU2,重复进行同样的处理即可。
[0103] 图8是用于说明由改写检测装置5实施的改写检测处理的示意图。与车辆1的车内网络3连接的改写检测装置5对成为改写检测处理的对象的ECU2通知表示开始改写检测处理的意思等。与此相应地,作为对象的ECU2例如中断其他处理而进行散列值计算部24的处理的准备等(但是,并非必须中断其他处理,也可以构成为散列值计算部24能够与其他处理并行地进行处理)。
[0104] 改写检测装置5根据适当的随机数产生算法来生成随机的值,将它作为随机种子发送到ECU2。随机种子能够设为例如64比特以上的随机的值。在散列值计算部24将SHA-1用作散列函数的情况下,随机种子能够设为例如160比特。接收到来自改写检测装置5的随机种子的ECU2根据接收到的随机种子以及存储部22的存储内容,使用预先确定的散列函数来计算散列值。ECU2将所计算出的散列值发送到改写检测装置5。
[0105] 另外,改写检测装置5将所生成的随机种子发送到服务器装置7,询问针对该随机种子的散列值的期望值。此时,改写检测装置5将进行改写检测处理的车辆1的车辆ID(IDentifier)或者车型等车辆信息以及识别作为处理对象的ECU2的ID等ECU识别信息与随机种子一起发送到服务器装置7。接收到这些信息的服务器装置7参照存储部72的改写检测数据库75。服务器装置7从改写检测数据库75取得与询问的随机种子、车型以及ECU种类相应的期望值,将所取得的期望值发送到改写检测装置5。
[0106] 改写检测装置5比较从ECU2接收到的散列值与从服务器装置7接收到的期望值。改写检测装置5在散列值与期望值一致的情况下,判定为对在ECU2的存储部22中存储的程序以及数据未进行不正当的改写。与此相对地,在散列值与期望值不一致的情况下,改写检测装置5判定为对ECU2的程序以及数据进行了不正当的改写。作为改写检测处理的处理结果,改写检测装置5在显示部54中显示是否进行了不正当的改写。
[0107] 另外,改写检测装置5计测从向ECU2发送随机种子起到接收散列值为止的时间。改写检测装置5判定所计测到的时间是否超过阈值,在计测时间超过阈值的情况下,判定为对ECU2的程序以及数据进行了不正当的改写。此外,在判定中使用的阈值考虑改写检测装置5以及ECU2的通信速度以及ECU2的处理能力等,在本系统的设计阶段等中预先决定。
[0108] 图9是示出改写检测装置5进行的改写检测处理的顺序的流程图。改写检测装置5的处理部51根据随机数产生算法来生成随机种子(步骤S1)。处理部51将所生成的随机种子通过有线通信部55发送到作为处理对象的ECU2(步骤S2)。处理部51开始利用内部的计时器等计测时间(步骤S3)。
[0109] 处理部51判定是否针对随机种子而通过有线通信部55接收到从作为处理对象的ECU2发送的散列值(步骤S4),在未接收到的情况下(S4:“否”),待机直到接收到散列值为止。在接收到散列值的情况下(S4:“是”),处理部51判定从随机种子的发送到散列值的接收为止的计测时间是否超过预定的阈值(步骤S5)。在计测时间超过阈值的情况下(S5:“是”),处理部51判定为进行了不正当的改写(步骤S10),通过显示部54通知该意思而结束处理。
[0110] 在计测时间未超过阈值的情况下(S5:“否”),处理部51通过无线通信部56向服务器装置7发送随机种子、车辆信息以及ECU识别信息,进行期望值的询问(步骤S6)。处理部51判定是否接收到针对询问而从服务器装置7发送的期望值(步骤S7),在未接收到期望值的情况下(S7:“否”),待机直到接收到期望值为止。
[0111] 在从服务器装置7接收到期望值的情况下(S7:“是”),处理部51判定在步骤S4中接收到的散列值与在步骤S7中接收到的期望值是否一致(步骤S8)。在散列值与期望值一致的情况下(S8:“是”),处理部51判定为未进行不正当的改写(步骤S9),通过显示部54通知该意思而结束处理。在散列值与期望值不一致的情况下(S8:“否”),处理部51判定为进行了不正当的改写(步骤S10),通过显示部54通知该意思而结束处理。
[0112] 图10是示出ECU2进行的改写检测处理的顺序的流程图。ECU2的处理部21判定是否通过通信部23接收到改写检测装置5发送的随机种子(步骤S21),在未接收到随机种子的情况下(S21:“否”),待机直到接收到随机种子为止。在接收到随机种子的情况下(S21:“是”),处理部21的散列值计算部24根据来自改写检测装置5的随机种子以及存储部22的存储内容,使用预定的散列函数来进行散列值的计算(步骤S22)。处理部21将散列值计算部24计算出的散列值通过通信部23发送到改写检测装置5(步骤S23),结束处理。
[0113] 图11是示出服务器装置7进行的改写检测处理的顺序的流程图。服务器装置7的处理部71判定是否通过通信部73接收到来自改写检测装置5的期望值的询问(步骤S31),在未接收到的情况下(S31:“否”),待机直到接收到询问为止。在接收到来自改写检测装置5的询问的情况下(S31:“是”),处理部71根据询问中包含的随机种子、车辆信息以及ECU识别信息等,从存储部72的改写检测数据库75取得期望值(步骤S32)。处理部71将所取得的期望值通过通信部73发送到改写检测装置5(步骤S33),结束处理。
[0114] <总结>
[0115] 在以上的结构的实施方式1的改写检测系统中,改写检测装置5生成随机种子并发送到ECU2,ECU2根据所接收到的随机种子和存储部52的存储内容(程序或者数据),使用预定的散列函数来计算散列值并发送到改写检测装置5。改写检测装置5判定从ECU2接收到的散列值正确与否,并判定是否对程序或者数据进行了不正当的改写。即,改写检测装置5能够在散列值正确的情况下判断为未进行不正当的改写,在散列值不正确的情况下判断为进行了不正当的改写。
[0116] 由此,改写检测装置5能够检测对ECU2的程序或者数据的不正当的改写,并适当地进行对被不正当地改写了的ECU2的动作停止、修理或者更换等处理。只要在ECU2中追加计算散列值的功能即可,能够抑制用于实现该系统的ECU2的成本上升。与搭载防止不正当的改写的功能的情况相比,本系统成本低且能够容易地实现。
[0117] 另外,在ECU2的存储部22中,在存储有正当的程序以及数据的情况下的剩余区域中,预先存储随机的值的虚拟数据。存在通过例如压缩在存储部22中存储的正当的程序或者数据,在由此得到的存储部22的未使用区域中存储不正当的程序或者数据,从而进行不正当的处理的担忧,但通过在剩余区域中预先存储虚拟数据,能够使程序或者数据的压缩变得困难。此外,通过构成为以使剩余区域分散在存储部22中的方式存储程序或者数据,使存储部22的虚拟数据分散于多个部位,从而能够使进行不正当的处理变得更加困难。
[0118] 另外,改写检测装置5计测从向ECU2发送随机种子起到接收散列值为止的时间,在所计测到的时间超过预先设定的阈值的情况下,判断为进行了不正当的改写(或者存在该可能性)。由此,在进行例如压缩ECU2的程序或者数据等并加以利用等不正当的处理,而到散列值的发送为止与正常情况相比需要更长的时间的情况下,能够检测该情形。
[0119] 另外,根据来自改写检测装置5的询问,服务器装置7发送期望值,改写检测装置5根据从服务器装置7接收到的期望值与从ECU2接收到的散列值是否一致,进行改写的检测。例如在构成为改写检测装置5预先存储散列值的期望值的情况下,有可能改写检测装置5的期望值被不正当地改写,但通过构成为从服务器装置7取得期望值,能够防止这样的期望值的不正当的改写。
[0120] 另外,改写检测装置5是能够经由通信线缆6相对于车辆1的车内网络3的连接器4连接或断开的结构。将这样的改写检测装置5设置于例如车辆1的经销商或者维修工厂等,在车辆1的车辆检查、定期检查或者修理等时能够进行ECU2的程序或者数据的不正当改写检测。另外,在例如汽车租用或者汽车合乘等的车辆1的情况下,在车辆归还后能够通过改写检测装置5进行不正当改写检测。
[0121] 此外,在本实施方式中,构成为通过经由通信线缆6的有线通信进行改写检测装置5与车辆1之间的通信,但不限于此,也可以构成为进行无线LAN等的无线通信。另外,改写检测装置5构成为通过无线通信部56进行与服务器装置7的通信,但不限于此,也可以构成为通过有线通信进行与服务器装置7的通信。另外,构成为将改写检测装置5连接到车辆1的车内网络3的连接器4,但不限于此,例如也可以构成为对在车辆1中搭载的网关等装置连接改写检测装置5,改写检测装置5经由网关而与连接于车内网络3的ECU2进行通信。
[0122] 另外,改写检测装置5构成为在从ECU2取得散列值之后,从服务器装置7取得期望值,但不限于此,既可以在取得期望值之后取得散列值,也可以并行地取得散列值以及期望值。另外,改写检测装置5构成为对在车辆1中搭载的多个ECU2逐个地依次进行不正当改写的检测,但不限于此。改写检测装置5也可以例如通过广播对多个ECU2一并发送随机种子,从多个ECU2取得散列值,同时地进行针对多个ECU2的改写检测处理。
[0123] 另外,也可以构成为不是服务器装置7具备改写检测数据库75,而是改写检测装置5具备改写检测数据库75。即,也可以构成为改写检测系统不具备服务器装置7,而改写检测装置5存储或者计算对散列值的期望值。另外,在本实施方式中,以对在车辆1中搭载的ECU2的程序或者数据进行改写检测的改写检测系统为例进行了说明,但不限于此,也可以构成为例如对在飞机或者船舶等其他移动体中搭载的信息处理装置的程序或者数据进行改写检测。
[0124] (变形例)
[0125] 上述实施方式1的改写检测系统构成为改写检测装置5生成随机种子,但不限于此。例如也可以构成为服务器装置7生成随机种子。在该结构的情况下,改写检测装置5对服务器装置7委托随机种子以及期望值的发送。根据该委托,服务器装置7制作随机种子,根据改写检测数据库75取得或者计算对应的期望值,将随机种子以及期望值发送到改写检测装置5。改写检测装置5将从服务器装置7接收到的随机种子发送到ECU2,从ECU2接收根据该随机种子计算出的散列值,比较来自服务器装置7的期望值与来自ECU2的散列值而检测不正当的改写。
[0126] (实施方式2)
[0127] 在上述实施方式1的改写检测系统中,将ECU2的存储部22的整体设为散列值计算部24的散列值计算的对象。例如在ECU2的存储部22的存储容量大且处理部21的运算处理能力低的情况下,散列值的计算有可能需要大量的时间。因此,在实施方式2的改写检测系统中,说明使ECU2的散列值计算高速化的方法。
[0128] 在实施方式2的改写检测系统中,改写检测装置5能够指定作为ECU2的散列值计算部24计算散列值的对象的存储部22的存储区域。改写检测装置5例如能够如“从X地址到Y地址间隔Z地址”或者“从X地址起按Y字节量间隔Z地址”那样指定存储区域。改写检测装置5将上述的X、Y、Z的值作为存储区域指定信息,与随机种子一起发送到ECU2。此外,X、Y、Z的值既可以是预先确定的,也可以每次随机地决定。
[0129] 此外,存储区域的指定方法不限于上述的例子。例如也可以采用如“从X地址到Y地址”那样指定1个连续区域的方法。另外,也可以采用例如通过如“间隔Z地址”那样不指定开头位置以及末尾位置而仅指定存储区域的间隔来指定不连续的多个区域的方法。另外,例如也可以采用如“从X1地址到Y1地址、从X2地址到Y2地址、…、从Xn地址到Yn地址”那样指定多个开头位置以及末尾位置来指定不连续的多个区域的方法。
[0130] 改写检测装置5可以进行一次这样的与ECU2的存储部22的一部分相应的散列值的取得,并根据1个散列值来进行改写检测。另外,改写检测装置5也可以在使指定的存储区域变化的同时多次进行散列值的取得,并根据多个散列值来进行改写检测。此外,优选以包罗存储部22的全部存储区域的方式进行存储区域的指定,改写检测装置5多次进行散列值的取得。
[0131] 被从改写检测装置5提供了存储区域指定信息的ECU2从所指定的存储区域读取数据,根据所读取的数据与来自改写检测装置5的随机种子,散列值计算部24进行散列值的计算。ECU2将所计算出的散列值发送到改写检测装置5。
[0132] 但是,ECU2在基于来自改写检测装置5的存储区域指定信息的存储区域的指定不满足预定条件的情况下,不进行散列值的计算以及发送。例如,ECU2将所指定的存储区域的存储容量为A字节等预定尺寸或该预定尺寸的常数倍(N×A字节等)设为预定条件,判断是否进行散列值的发送。
[0133] 另外,ECU2在向改写检测装置5发送了散列值时,开始利用内部的计时器等计测时间,直到经过预先设定的待机时间为止,即使在从改写检测装置5接收到接下来的随机种子以及区域指定信息等的情况下,也不进行散列值的发送。通过ECU2进行这样的对发送散列值的限制,能够防止针对存储部22的部分数据的散列值计算的功能被滥用。
[0134] 另外,改写检测装置5在向服务器装置7询问期望值时,将存储区域指定信息(X、Y、Z的值)与随机种子、车辆信息以及ECU识别信息等一起发送到服务器装置7。服务器装置7根据从改写检测装置5提供的这些的信息来取得或者计算适当的期望值并发送到改写检测装置5。
[0135] 此外,在服务器装置7的改写检测数据库75如图6所示地预先计算并存储期望值的情况下,实施方式2的改写检测数据库75需要对可指定的X、Y、Z的组分别预先存储期望值。另外,在改写检测数据库75如图7所示地预先存储存储部22的存储内容的情况下,实施方式
2的服务器装置7能够利用相同的改写检测数据库75。在这种情况下,服务器装置7根据与询问一起从改写检测装置5提供的存储区域指定信息,从改写检测数据库75的存储内容中提取所需的一部分来计算散列值即可。
[0136] 改写检测装置5比较从ECU2接收到的散列值与从服务器装置7接收到的期望值,在两值一致的情况下判断为未进行不正当的改写,在两值不一致的情况下判断为进行了不正当的改写。
[0137] 图12是示出实施方式2的ECU2进行的改写检测处理的顺序的流程图。实施方式2的ECU2的处理部21判定是否通过通信部23接收到改写检测装置5发送的随机种子(步骤S41),在未接收到随机种子的情况下(S41:“否”),待机直到接收到随机种子为止。在接收到随机种子的情况下(S41:“是”),处理部21判定从向改写检测装置5发送上次的散列值起是否经过了预定的待机时间(步骤S42)。在未经过待机时间的情况下(S42:“否”),处理部21结束处理。
[0138] 在从发送上次的散列值起经过了预定的待机时间的情况下(S42:“是”),处理部21取得与随机种子一起从改写检测装置5接收到的存储区域指定信息(步骤S43),判定基于存储区域指定信息的存储区域的指定是否满足预定的条件(步骤S44)。在存储区域的指定不满足预定的条件的情况下(S44:“否”),处理部21结束处理。在存储区域的指定满足预定的条件的情况下(S44:“是”),处理部21读取所指定的存储区域的数据(步骤S45)。
[0139] 处理部21的散列值计算部24根据来自改写检测装置5的随机种子以及所指定的存储区域的数据,使用预定的散列函数来进行散列值的计算(步骤S46)。处理部21将散列值计算部24计算出的散列值通过通信部23发送到改写检测装置5(步骤S47)。接下来,处理部21为了判定从散列值的发送起经过的待机时间,开始使用内部的计时器等计测时间(步骤S48),结束处理。
[0140] 此外,关于实施方式2的改写检测装置5以及服务器装置7的处理的顺序,省略流程图的图示。实施方式2的改写检测装置5当在图9所示的流程图的步骤S2中将随机种子发送到ECU2时、以及当在步骤S6中对服务器装置7进行期望值的询问时,将存储区域指定信息发送到ECU2或者服务器装置7即可。另外,实施方式2的服务器装置7当在图11所示的步骤S32中从改写检测数据库取得期望值时,考虑来自改写检测装置5的存储区域指定信息来进行期望值的取得即可。
[0141] 以上的结构的实施方式2的改写检测系统在改写检测装置5将随机种子发送到ECU2时,一起发送指定了应该作为散列值计算的对象的存储部22的区域的存储区域指定信息。ECU2根据在通过存储区域指定信息指定的存储区域中存储的程序或者数据来进行散列值的计算。由此,能够缩短ECU2的散列值计算处理的时间。此外,改写检测装置5也可以在使散列值计算的对象区域变化的同时,多次地从ECU2取得散列值而判定有无不正当改写。
[0142] 另外,存储区域指定信息可以包括指定存储区域的开头位置以及末尾位置的信息、或者指定存储区域的开头位置以及尺寸的信息。另外,作为散列值计算的对象的存储区域也可以构成为能够指定不连续的多个区域,存储区域指定信息能够设为例如指定多个区域的间隔的信息。改写检测装置5能够将它们组合,例如进行“从X地址到Y地址间隔Z地址”等存储区域的指定。
[0143] 另外,在根据随机种子计算散列值并发送到改写检测装置5之后,直到经过预定时间为止,ECU2即使被从改写检测装置5提供了接下来的随机种子,也不进行散列值的发送。由此,能够限制在一定时间内得到的散列值的量,因此能够使不正当地获得散列值来解读程序或者数据变得困难。
[0144] 此外,在实施方式2中,构成为改写检测装置5生成存储区域指定信息并发送到ECU2以及服务器装置7,但不限于此。例如也可以构成为ECU2以及服务器装置7预先存储有根据随机种子来计算存储区域的开头位置、末尾位置以及间隔等的运算式,接收来自改写检测装置5的随机种子而进行基于运算式的运算,从而决定存储区域的开头位置、末尾位置以及间隔等。另外,在这样的结构的情况下,也可以构成为随机种子用于决定存储区域,不直接参与散列值的计算。
[0145] 另外,实施方式2的改写检测系统的其他结构与实施方式1的改写检测系统的结构相同,因此对相同的部位附加相同标号并省略详细说明。
[0146] (实施方式3)
[0147] 上述实施方式1、2的改写检测系统构成为相对于车辆1的车内网络3能够接入或断开改写检测装置5,但不限于此。在实施方式3中,对将改写检测装置5搭载在车辆1中的结构进行说明。
[0148] 图13是示出实施方式3的改写检测系统的结构的示意图。实施方式3的改写检测系统是对在车辆1中搭载的网关305设置了进行改写检测处理的功能的结构。网关305连接构成车辆1的车内网络3的多条通信线,进行对这些通信线之间的信息收发进行中继的处理。另外,网关305具有无线通信功能,能够利用该无线通信功能经由因特网等网络9进行与服务器装置7的通信。但是也可以构成为网关305不具有无线通信功能,网关305利用在车辆1中搭载的无线通信器而进行与服务器装置7的通信。
[0149] 图14是示出网关305的结构的框图。实施方式3的网关305构成为具备处理部51、存储部52、有线通信部55以及无线通信部56等。处理部51采用CPU等运算处理装置来构成,进行对通信线之间的信息的收发进行中继的处理,并且进行与实施方式1、2的改写检测装置5相同的改写检测处理。存储部52采用闪存等存储器元件来构成,存储有通过处理部51执行的程序以及执行所需的数据等。另外,在实施方式3中,在网关305的存储部52中存储期望值备份信息。
[0150] 另外,网关305具有多个有线通信部55,并对各有线通信部55连接车内网络3的通信线。处理部51取得通过一个有线通信部55接收到的信息,提供给它以外的有线通信部55地进行发送,从而进行信息的中继。无线通信部56进行利用无线LAN或者移动电话网等的无线通信。但是根据车辆1的周边环境等,网关305不一定能够进行基于无线通信部56的无线通信。
[0151] 网关305例如在车辆1的点火开关被切换成接通状态的情况等下,在预先确定的预定的时机下进行改写检测处理。在改写检测处理中,在判断为对ECU2的程序或者数据进行了不正当的改写的情况下,网关305在设置于车辆1的司机座位附近的显示部(省略图示)中显示警告消息等。另外,在进行了不正当的改写的情况下,网关305也可以进行禁止车辆1的行驶等的处理。
[0152] 另外,如上所述,不限于能够始终进行基于无线通信部56的与服务器装置7的无线通信。因此,网关305将与在能够进行无线通信时从服务器装置7取得的期望值有关的信息作为期望值备份信息存储到存储部52。在当进行改写检测处理时无法进行与服务器装置7的通信的情况下,网关305根据在存储部52中存储的期望值备份信息,判定从ECU2得到的散列值正确与否。
[0153] 图15是示出实施方式3的网关305进行的改写检测处理的顺序的流程图。例如在到了车辆1的点火开关被切换成接通状态的情况等预定时机的情况下,网关305的处理部51根据随机数产生算法来生成随机种子(步骤S51),并且将所生成的随机种子发送到作为处理对象的ECU2(步骤S52)。处理部51判定是否通过有线通信部55接收到针对随机种子而从作为处理对象的ECU2发送的散列值(步骤S53),在未接收到的情况下(S53:“否”),待机直到接收到散列值为止。在接收到散列值的情况下(S53:“是”),处理部51判定是否能够进行基于无线通信部56的与服务器装置7的通信(步骤S54)。
[0154] 在能够进行无线通信的情况下(S54:“是”),处理部51通过无线通信部56向服务器装置7询问期望值(步骤S55)。此外,在实施方式3中,从网关305接收到期望值的询问的服务器装置7不是将与1个随机种子对应的1个期望值发送到网关305,而是从改写检测数据库75提取与成为对象的车辆1的ECU2有关的所有期望值并发送到网关305。网关305的处理部51判定是否接收到针对询问而从服务器装置7发送的期望值(步骤S56),在未接收到期望值的情况下(S56:“否”),待机直到接收到期望值为止。在从服务器装置7接收到期望值的情况下(S56:“是”),处理部51将所接收到的所有期望值作为期望值备份信息存储到存储部52中(步骤S57),从所接收到的所有期望值中提取所需的期望值而使处理前进到步骤S59。在无法进行无线通信的情况下(S54:“否”),处理部51从存储部52的期望值备份信息读取所需的期望值(步骤S58),使处理前进到步骤S59。
[0155] 处理部51将从ECU2接收到的散列值与从服务器装置7接收到的期望值或者从存储部52读取的期望值进行比较,判定散列值与期望值是否一致(步骤S59)。在散列值与期望值一致的情况下(S59:“是”),处理部51判定为未进行不正当的改写(步骤S60),通过显示部54通知该意思而结束处理。在散列值与期望值不一致的情况下(S59:“否”),处理部51判定为进行了不正当的改写(步骤S61),通过显示部54通知该意思而结束处理。
[0156] 以上的结构的实施方式3的改写检测系统将具有与改写检测装置5相同的功能的网关305搭载在车辆1中,网关305进行检测对ECU2的程序或者数据的不正当的改写的处理。由此,例如每当车辆1的发动机启动时进行不正当的改写的检测等,容易提高进行检测处理的频率。
[0157] 另外,网关305在能够进行与服务器装置7的通信的情况下取得期望值并作为期望值备份信息预先存储到存储部52。在当进行检测处理时无法进行与服务器装置7的通信的情况下,网关305根据所存储的期望值备份信息来进行检测处理。由此,即使在无法进行与服务器装置7的通信的情况下,也能够由网关305进行检测处理。
[0158] 此外,在实施方式3中,构成为在车辆1中搭载的网关305进行对ECU2的程序或者数据的不正当的改写的检测,但不限于此。也可以构成为例如由在车辆1中搭载的汽车导航装置或者某一个ECU2等进行检测处理。另外,网关305构成为当在检测处理中从服务器装置7能够取得期望值的情况下进行期望值备份信息的存储,但不限于此。网关305从服务器装置7取得期望值并且存储为期望值备份信息的时机也可以是这以外的各种时机。另外,网关
305也可以构成为在能够进行与服务器装置7的通信的情况下进行检测处理,在无法进行通信的情况下不进行检测处理。
[0159] 另外,实施方式3的改写检测系统的其他结构与实施方式1的改写检测系统的结构相同,因此对相同的部位附加相同标号并省略详细说明。
[0160] 标号说明
[0161] 1 车辆(移动体)
[0162] 2 ECU(信息处理装置)
[0163] 3 车内网络(网络)
[0164] 4 连接器
[0165] 5 改写检测装置
[0166] 6 通信线缆
[0167] 7 服务器装置
[0168] 9 网络
[0169] 21 处理部
[0170] 22 存储部
[0171] 23 通信部
[0172] 24 散列值计算部(散列值计算部)
[0173] 51 处理部(种信息发送部、散列值接收部、散列值判定部、计测部、询问部、接收部)
[0174] 52 存储部
[0175] 53 操作部
[0176] 54 显示部
[0177] 55 有线通信部
[0178] 56 无线通信部
[0179] 71 处理部
[0180] 72 存储部
[0181] 73 通信部
[0182] 75 改写检测数据库
[0183] 305 网关(改写检测装置)。