信息处理装置、消息认证方法转让专利

申请号 : CN201580056690.5

文献号 : CN107005412B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 森田伸义伯田惠辅大和田彻

申请人 : 日立汽车系统株式会社

摘要 :

信息处理装置具备:共享信息生成部,生成与经由网络连接的其他信息处理装置共享的共享信息;通信部,接收消息;共享信息验证部,将消息中包含的共享信息与由共享信息生成部生成的共享信息进行比较,基于其比较结果,验证消息中包含的共享信息的正当性;安全用代码生成部,生成基于共享信息的安全用代码;安全用代码验证部,将消息中包含的安全用代码与由安全用代码生成部生成的安全用代码进行比较,基于其比较结果,验证消息中包含的共享信息的正确和错误;以及处理判断控制部,基于共享信息验证部的验证结果和安全用代码验证部的验证结果,判断消息的正常性。

权利要求 :

1.一种信息处理装置,接收从经由网络连接的其他信息处理装置发送的消息,其特征在于,具备:共享信息生成部,生成与上述其他信息处理装置共享的共享信息;

通信部,接收上述消息;

共享信息验证部,将上述消息中包含的共享信息与由上述共享信息生成部生成的共享信息进行比较,基于其比较结果,验证上述消息中包含的共享信息的正当性;

安全用代码生成部,生成基于上述共享信息的安全用代码;

安全用代码验证部,将上述消息中包含的安全用代码与由上述安全用代码生成部生成的安全用代码进行比较,基于其比较结果,验证上述消息中包含的共享信息的正确和错误;

以及

处理判断控制部,基于上述共享信息验证部的验证结果和上述安全用代码验证部的验证结果,判断上述消息的正常性;

上述安全用代码生成部生成用于检测上述共享信息的错误的错误检测码或者用于检测及校正上述共享信息的错误的错误校正码,作为上述安全用代码;

上述安全用代码验证部将上述消息中包含的错误检测码或错误校正码与由上述安全用代码生成部生成的错误检测码或错误校正码进行比较,基于其比较结果,验证上述消息中包含的共享信息的正确和错误;

在由上述共享信息验证部判断为上述消息中包含的共享信息正当的情况下,上述处理判断控制部判断为上述消息正常;

在由上述共享信息验证部判断为上述消息中包含的共享信息不正当、并且由上述安全用代码验证部判断为上述消息中包含的共享信息中没有错误的情况下,上述处理判断控制部判断为上述消息是由不正当的攻击带来的消息。

2.如权利要求1所述的信息处理装置,其特征在于,

在上述安全用代码生成部生成用于检测及校正上述共享信息的错误的错误校正码作为上述安全用代码的情况下,上述安全用代码验证部在检测到上述消息中包含的共享信息中有错误的情况下,基于上述错误校正码将该共享信息进行校正;

上述共享信息验证部将由上述安全用代码验证部校正后的共享信息与由上述共享信息生成部生成的共享信息进行比较,基于其比较结果,再验证上述消息中包含的共享信息的正当性。

3.如权利要求1或2所述的信息处理装置,其特征在于,

上述安全用代码生成部除了上述错误检测码或上述错误校正码以外,还生成用于检测上述消息中包含的数据及共享信息的篡改的篡改检测码,作为上述安全用代码;

上述安全用代码验证部将上述消息中包含的篡改检测码与由上述安全用代码生成部生成的篡改检测码进行比较,基于其比较结果,进一步验证上述消息的正当性。

4.如权利要求1所述的信息处理装置,其特征在于,

还具备通信信息存储部,该通信信息存储部存储为了由上述处理判断控制部判断上述消息的正常性而使用的计数器值;

在由上述共享信息验证部判断为上述消息中包含的共享信息不正当、并且由上述安全用代码验证部判断为上述消息中包含的共享信息中有错误的情况下,上述处理判断控制部将上述计数器值更新;

上述处理判断控制部将上述计数器值与规定的阈值进行比较,基于其比较结果,判断上述消息是否是由不正当的攻击带来的消息。

5.如权利要求3所述的信息处理装置,其特征在于,

在由上述共享信息验证部判断为上述消息中包含的共享信息正当、并且由上述安全用代码验证部判断为上述消息正当的情况下,上述处理判断控制部判断为上述消息正常。

6.如权利要求5所述的信息处理装置,其特征在于,

还具备通信信息存储部,该通信信息存储部存储为了由上述处理判断控制部判断上述消息的正常性而使用的计数器值;

在由上述共享信息验证部判断为上述消息中包含的共享信息正当、并且由上述安全用代码验证部判断为上述消息不正当的情况下,或者在由上述共享信息验证部判断为上述消息中包含的共享信息不正当、并且由上述安全用代码验证部判断为上述消息中包含的共享信息中有错误的情况下,上述处理判断控制部将上述计数器值更新;

上述处理判断控制部将上述计数器值与规定的阈值进行比较,基于其比较结果,判断上述消息是否是由不正当的攻击带来的消息。

7.如权利要求1或2所述的信息处理装置,其特征在于,

上述安全用代码生成部基于上述网络的通信品质,设定上述错误校正码的校正范围。

8.如权利要求1或2所述的信息处理装置,其特征在于,

还具备消息解析部,该消息解析部在上述其他信息处理装置将上述消息分割为多个而发送的情况下,通过将由上述通信部接收到的多个分割消息累积至原来的消息长度,来再现分割前的上述消息。

9.一种信息处理装置,向经由网络连接的其他信息处理装置发送发送消息,并接收从上述其他信息处理装置发送的接收消息,其特征在于,具备:共享信息生成部,生成与上述其他信息处理装置共享的共享信息;

安全用代码生成部,生成基于上述共享信息的安全用代码;

消息生成部,生成包含上述共享信息及上述安全用代码的上述发送消息;

通信部,发送由上述消息生成部生成的上述发送消息,并且接收上述接收消息;

共享信息验证部,将上述接收消息中包含的共享信息与由上述共享信息生成部生成的共享信息进行比较,基于其比较结果,验证上述接收消息中包含的共享信息的正当性;

安全用代码验证部,将上述接收消息中包含的安全用代码与由上述安全用代码生成部生成的安全用代码进行比较,基于其比较结果,验证上述接收消息中包含的共享信息的正确和错误;以及处理判断控制部,基于上述共享信息验证部的验证结果和上述安全用代码验证部的验证结果,判断上述接收消息的正常性;

上述安全用代码生成部生成用于检测上述共享信息的错误的错误检测码或者用于检测及校正上述共享信息的错误的错误校正码,作为上述安全用代码;

上述安全用代码验证部将上述接收消息中包含的错误检测码或错误校正码与由上述安全用代码生成部生成的错误检测码或错误校正码进行比较,基于其比较结果,验证上述接收消息中包含的共享信息的正确和错误;

在由上述共享信息验证部判断为上述接收消息中包含的共享信息正当的情况下,上述处理判断控制部判断为上述接收消息正常;

在由上述共享信息验证部判断为上述接收消息中包含的共享信息不正当、并且由上述安全用代码验证部判断为上述接收消息中包含的共享信息中没有错误的情况下,上述处理判断控制部判断为上述接收消息是由不正当的攻击带来的消息。

10.如权利要求9所述的信息处理装置,其特征在于,

上述通信部能够将上述发送消息分割而发送;

对将上述发送消息分割而发送的情况下的各分割发送消息中包含的共享信息进行合计的信息量少于不将上述发送消息分割而发送的情况下的上述发送消息中包含的共享信息的信息量,并且/或者对将上述发送消息分割而发送的情况下的各分割发送消息中包含的安全用代码进行合计的信息量少于不将上述发送消息分割而发送的情况下的上述发送消息中包含的安全用代码的信息量。

11.一种消息认证方法,是在经由网络连接的两个信息处理装置之间收发的消息的认证方法,其特征在于,由接收上述消息的信息处理装置执行以下步骤:

第1处理步骤,生成在上述两个信息处理装置之间共享的共享信息;

第2处理步骤,接收上述消息;

第3处理步骤,将在上述第2处理步骤中接收到的消息中包含的共享信息与在上述第1处理步骤中生成的共享信息进行比较,基于其比较结果,验证上述消息中包含的共享信息的正当性;

第4处理步骤,生成基于上述共享信息的安全用代码;

第5处理步骤,将在上述第2处理步骤中接收到的消息中包含的安全用代码与在上述第

4处理步骤中生成的安全用代码进行比较,基于其比较结果,验证上述消息中包含的共享信息的正确和错误;以及第6处理步骤,基于上述第3处理步骤中的验证结果和上述第5处理步骤中的验证结果,判断上述消息的正常性;

在上述第4处理步骤中,生成用于检测上述共享信息的错误的错误检测码或者用于检测及校正上述共享信息的错误的错误校正码,作为上述安全用代码;

在上述第5处理步骤中,将上述消息中包含的错误检测码或错误校正码与由上述安全用代码生成部生成的错误检测码或错误校正码进行比较,基于其比较结果,验证上述消息中包含的共享信息的正确和错误;

在上述第3处理步骤中判断为上述消息中包含的共享信息正当的情况下,在上述第6处理步骤中判断为上述消息正常;

在上述第3处理步骤中判断为上述消息中包含的共享信息不正当、并且在上述第5处理步骤中判断为上述消息中包含的共享信息中没有错误的情况下,在上述第6处理步骤中判断为上述消息是由不正当的攻击带来的消息。

说明书 :

信息处理装置、消息认证方法

技术领域

[0001] 本发明涉及连接到网络而使用的信息处理装置、和连接到网络的多个信息处理装置间的消息认证方法。

背景技术

[0002] 目前,作为汽车的车载网络的代表性的标准协议,CAN(Controller  Area Network:控制器局域网络)正在普及。预想今后,将CAN扩展的CANFD(Flexible Data-Rate:灵活的数据速率)也会普及。
[0003] 在这样的车载网络中,有侵入者对通信进行不正当的攻击的危险性。在车辆中,通常设有称作OBD2(On-Board-Diagnostics 2:车载诊断2)端口的、与车载网络直接相连的诊断用的接口。例如,有侵入者在该OBD2端口上连接不正当的设备、使用它进行对于车载网络的重放攻击等的危险性。这里,重放攻击是指侵入者盗听而事前取得在通信路径上流动的消息,并将所取得的消息再次发送,从而在车载网络的各设备中引起不正当的动作的攻击。除此以外,还可以想到例如通过使与车外的系统协同动作的信息处理装置感染恶意软件,使得感染的该装置向车载网络发送伪消息,在接收到该消息的控制装置中引起误动作的攻击等。
[0004] 作为针对上述那样的不正当攻击的威胁的有效的对策,已知有对车载网络的各信息处理装置间流动的消息实施使用MAC(Message Authentication Code:消息认证码)作为篡改检测码的消息认证的技术(专利文献1)。在该专利文献1所公开的技术中,在各信息处理装置中,按每个消息ID将消息被发送的次数进行计数。并且,发送消息一侧的信息处理装置根据数据、发送次数、消息ID生成MAC,与消息分开发送。另一方面,接收消息一侧的信息处理装置基于接收到的消息中的数据、发送次数、消息ID计算MAC,将其与从发送侧的信息处理装置另行接收到的MAC进行比较。结果,在这些MAC彼此不同的情况下,识别为接收到的消息是不正当的消息,以后不再受理使用该消息ID的消息。由此,防止因重放攻击或数据的篡改造成的信息处理装置的误动作。
[0005] 现有技术文献
[0006] 专利文献
[0007] 专利文献1:日本特开2013-98719号公报

发明内容

[0008] 发明要解决的问题
[0009] 专利文献1所记载的技术中使用的MAC通常有对于噪声耐受力较弱的特性。因此,在因消息中混杂噪声而MAC的值变化的情况下,尽管不是不正当的消息,在接收到它的信息处理装置中也被识别为不正当的消息。结果,该信息处理装置误判断为被进行了不正当的攻击,在混杂有噪声时也会实施本来应该仅在受到不正当的攻击时实施的上述那样的对策。由此,有可能尽管没有受到不正当的攻击,在接收侧的信息处理装置中也进行例如妨碍汽车的驾驶那样的动作,迫使用户进行缺乏实用性的运用。
[0010] 本发明是鉴于以上的问题而做出的。本发明的主要的目的是在连接到网络的各信息处理装置中正确地判别接收到的消息是否是由不正当的攻击带来的消息。
[0011] 解决问题所采用的手段
[0012] 本发明的信息处理装置,接收从经由网络连接的其他信息处理装置发送的消息,具备:共享信息生成部,生成与上述其他信息处理装置共享的共享信息;通信部,接收上述消息;共享信息验证部,将上述消息中包含的共享信息与由上述共享信息生成部生成的共享信息进行比较,基于其比较结果,验证上述消息中包含的共享信息的正当性;安全用代码生成部,生成基于上述共享信息的安全用代码;安全用代码验证部,将上述消息中包含的安全用代码与由上述安全用代码生成部生成的安全用代码进行比较,基于其比较结果,验证上述消息中包含的共享信息的正确和错误;以及处理判断控制部,基于上述共享信息验证部的验证结果和上述安全用代码验证部的验证结果,判断上述消息的正常性。
[0013] 本发明的消息认证方法,是在经由网络连接的两个信息处理装置间收发的消息的认证方法,由接收上述消息的信息处理装置执行以下步骤:第1处理步骤,生成在上述两个信息处理装置间共享的共享信息;第2处理步骤,接收上述消息;第3处理步骤,将在上述第2处理步骤中接收到的消息中包含的共享信息与在上述第1处理步骤中生成的共享信息进行比较,基于其比较结果,验证上述消息中包含的共享信息的正当性;第4处理步骤,生成基于上述共享信息的安全用代码;第5处理步骤,将在上述第2处理步骤中接收到的消息中包含的安全用代码与在上述第4处理步骤中生成的安全用代码进行比较,基于其比较结果,验证上述消息中包含的共享信息的正确和错误;以及第6处理步骤,基于上述第3处理步骤中的验证结果和上述第5处理步骤中的验证结果,判断上述消息的正常性。
[0014] 发明效果
[0015] 根据本发明,在连接到网络上的各信息处理装置中能够正确地判别接收到的消息是否是由不正当的攻击带来的消息。

附图说明

[0016] 图1是表示信息处理系统的结构例的图。
[0017] 图2是表示信息处理装置的结构例的图。
[0018] 图3是CPU执行的处理的流程图。
[0019] 图4是共享信息生成处理的流程图。
[0020] 图5是表示共享信息的表结构的例子的图。
[0021] 图6是第1实施方式的消息发送处理的流程图。
[0022] 图7是表示发送消息的数据构造的例子的图。
[0023] 图8是消息接收处理的流程图。
[0024] 图9是第1实施方式的消息类别判断处理的流程图。
[0025] 图10是第2实施方式的消息发送处理的流程图。
[0026] 图11是表示发送消息的数据构造的例子的图。
[0027] 图12是第2实施方式的消息类别判断处理的流程图。
[0028] 图13是表示将发送消息分割为4个消息的例子的图。
[0029] 图14是表示用于取通信路径计数器值的同步的消息的数据构造的例子的图。

具体实施方式

[0030] 以下,参照附图对本发明的实施方式详细地说明。
[0031] 第1实施方式
[0032] 以下,对有关本发明的一实施方式的信息处理装置及消息认证方法进行说明。在本实施方式中,说明在经由网络连接的多个信息处理装置中、使用在各信息处理装置间共享的共享信息和作为安全用代码的错误检测码进行在各信息处理装置间收发的消息的认证的例子。
[0033] 图1是表示本发明的一实施方式的信息处理系统的结构例的图。图1所示的信息处理系统通过将多个信息处理装置1经由网络2相互连接而构成。例如,通过将搭载在车辆上的各种ECU(Electronic Control Unit:电子控制单元)经由作为车辆内的网络的CAN(Controller Area Network)或CANFD相互连接,构成图1的信息处理系统。在此情况下,各ECU对应于信息处理装置1,CAN或CANFD对应于网络2。但是,本发明的应用范围并不限定于此,在各种信息处理系统中也能够应用本发明。
[0034] 图2是表示信息处理装置1的结构例的图。信息处理装置1如图2所示,通过将CPU10、存储器20及通信部30经由总线40相互连接而构成。
[0035] CPU10在功能上具有共享信息生成部101、共享信息管理部102、密钥管理部103、消息生成部104、安全用代码生成部105、消息解析部108、处理判断控制部109、共享信息验证部110及安全用代码验证部111。CPU10通过执行规定的程序,能够控制存储器20及通信部30,作为这些各功能部动作。另外,关于这些各功能部在后面详细地说明。
[0036] 由CPU10执行的程序也可以预先保存在存储器20中。或者,也可以经由连接在未图示的输入输出接口上的存储介质或未图示的通信介质,来取得CPU10的动作所需要的程序。在此情况下,取得的程序也可以存储到存储器20中。
[0037] 存储器20是用于存储上述程序、CPU10的动作所需要的各种数据的部分。在存储器20中,例如可以包括一次存储装置及二次存储装置等。CPU10与存储器20之间的数据通信经由总线40进行。存储器20在功能上具有加密信息存储部206和通信信息存储部207。另外,关于这些各功能部在后面详细地说明。
[0038] 通信部30与图1的网络2连接,按照CPU10的控制而动作。通信部30经由网络2进行向其他信息处理装置1的消息的发送及从其他信息处理装置1发送的消息的接收。由通信部30向其他信息处理装置1发送的消息经由总线40而从CPU10向通信部30输出。此外,由通信部30从其他信息处理装置1接收到的消息经由总线40而从通信部30向CPU10输出。
[0039] 接着,对CPU10和存储器20分别具有的各功能部进行说明。
[0040] 共享信息生成部101生成在各信息处理装置1间共享的共享信息。由共享信息生成部101生成的共享信息被存储到加密信息存储部206中。
[0041] 共享信息管理部102进行共享信息的管理。例如,取得共享信息生成部101生成共享信息所需要的信息,或根据消息数及消息种类而将共享信息更新。
[0042] 密钥管理部103进行为了生成加密的共享信息及安全用代码而使用的密钥数据的管理。
[0043] 消息生成部104生成从信息处理装置1向其他信息处理装置1的发送消息。由消息生成部104生成的发送消息输出至通信部30,从通信部30发送至其他信息处理装置1。
[0044] 安全用代码生成部105生成用于在与其他信息处理装置1之间收发的消息的认证中使用的安全用代码。另外,在本实施方式中,安全用代码生成部105生成错误检测码作为安全用代码。
[0045] 消息解析部108将由通信部30接收到的来自其他信息处理装置1的接收消息的数据构造进行解析,提取该接收消息中包含的数据、共享信息、安全用代码等。
[0046] 共享信息验证部110将由消息解析部108提取的接收消息的共享信息与由共享信息生成部101生成的共享信息进行比较,基于其比较结果验证接收消息中包含的共享信息的正当性。
[0047] 安全用代码验证部111将由消息解析部108提取的接收消息的安全用代码与由安全用代码生成部105生成的安全用代码进行比较,基于其比较结果验证接收消息中包含的共享信息的正当性。
[0048] 加密信息存储部206存储与共享信息及安全用代码的加密有关的加密信息。例如,共享信息生成部101或安全用代码生成部105将共享信息或安全用代码加密时使用的初始值、上述密钥数据等被作为加密信息存储到加密信息存储部206中。
[0049] 通信信息存储部207存储为了在与其他信息处理装置1之间收发消息所需要的通信信息。例如,消息的计数器值、在消息类别的判断中使用的处理判断计数器值等被作为通信信息存储到通信信息存储部207中。
[0050] 另外,在以上说明的功能部中,也可以将消息生成部104、安全用代码生成部105去掉而构成信息处理装置1。即,CPU10也可以为仅具有共享信息生成部101、共享信息管理部102、密钥管理部103、消息解析部108、处理判断控制部109、共享信息验证部110及安全用代码验证部111的结构。在此情况下,信息处理装置1可以作为不具有消息发送功能的面向消息认证的信息处理装置利用。
[0051] 图3是CPU10执行的处理的流程图。CPU10按照规定的周期,反复执行依照图3的流程图的处理。
[0052] 在步骤S10中,CPU10判定是否生成共享信息。共享信息例如在车辆的引擎起动时、在与其他信息处理装置1之间要开始通信的紧前或通信的间歇等规定的定时生成。在相应于这样的共享信息的生成定时的情况下,CPU10判定为生成共享信息,向步骤S20前进,否则向步骤S30前进。
[0053] 在步骤S20中,CPU10通过共享信息生成部101及共享信息管理部102执行共享信息生成处理。关于该共享信息生成处理的具体的内容,在后面参照图4的流程图进行说明。
[0054] 在步骤S30中,CPU10判定向其他信息处理装置1的发送消息的有无。在存在发送消息的情况下向步骤S40前进,在不存在的情况下向步骤S50前进。
[0055] 在步骤S40中,CPU10通过消息生成部104及安全用代码生成部105执行消息发送处理。关于该消息发送处理的具体的内容,在后面参照图6的流程图进行说明。
[0056] 在步骤S50中,CPU10判定来自其他信息处理装置1的接收消息的有无。在存在接收消息的情况下向步骤S60前进,在不存在的情况下结束图3的流程图的处理。
[0057] 在步骤S60中,CPU10通过消息解析部108、处理判断控制部109、共享信息验证部110及安全用代码验证部111执行消息接收处理。关于该消息接收处理的具体的内容,在后面参照图8的流程图进行说明。在执行步骤S60的处理后,CPU10结束图3的流程图的处理。
[0058] 另外,上述步骤S10到步骤S40的处理和上述步骤S50到步骤60的处理也可以作为另外的进程并行地进行。
[0059] 接着,对图3的步骤S20中执行的共享信息生成处理进行说明。在步骤S20中,CPU10可以通过在共享信息生成部101中使用例如模拟随机数生成器生成序列号来生成共享信息。图4是该情况下的共享信息生成处理的流程图。
[0060] 在步骤S201中,共享信息管理部102从加密信息存储部206取得由模拟随机数生成器生成模拟随机数所需要的附带信息。这里,能够通过基于预先设定的表示附带信息的参照目标的信息将存储在加密信息存储部206的规定的地方的附带信息读出来取得附带信息。共享信息管理部102取得模拟随机数生成器的种子(seed)、用于生成模拟随机数的辅助信息、模拟随机数生成器的内部状态等作为附带信息。另外,辅助信息例如是指用于决定模拟随机数生成器的初始值的初始化向量(IV)。此外,模拟随机数生成器的内部状态是指为了生成下次以后的模拟随机数而需要的信息,对应于模拟随机数生成器目前已生成的模拟随机数的个数而变化。
[0061] 在步骤S202中,共享信息生成部101使用在步骤S201中取得的附带信息生成模拟随机数序列。
[0062] 在步骤S203中,共享信息生成部101基于在步骤S202中生成的模拟随机数序列制作序列号序列。这里,通过按照预先设定的方法,对于构成模拟随机数序列的各模拟随机数依次制作序列号并排列,能够制作序列号序列。
[0063] 在步骤S204中,共享信息管理部102将在步骤S203中生成的序列号序列作为共享信息向加密信息存储部206保存。
[0064] 图5是表示在步骤S204中保存到加密信息存储部206中的共享信息1070的表结构的例子的图。在共享信息1070中,通信路径计数器值1071表示与各序列号对应的通信路径计数器值。随机数1072表示作为序列号使用的随机数。
[0065] 回到图4的说明,在步骤S205中,共享信息管理部102在存储在加密信息存储部206中的加密信息中,将在步骤S203中根据模拟随机数序列生成序列号序列所需要的信息更新。这里,在加密信息存储部206中,作为生成序列号序列所需要的信息,例如存储有表示在步骤S202中生成的模拟随机数序列中包含的模拟随机数中的、在步骤S203中的序列号序列的生成中未使用的模拟随机数的个数、开头地址的信息等。共享信息管理部102根据模拟随机数序列的使用状况将这些信息更新。
[0066] 例如,如果设模拟随机数序列中包含的各模拟随机数的数据尺寸为b比特,模拟随机数的个数为m,则在上述步骤S202中,生成b×m比特的模拟随机数序列。在这样的情况下,如果生成将根据模拟随机数序列中包含的模拟随机数之一生成的序列号在内的发送消息并向其他信息处理装置1发送,则共享信息管理部102将存储在加密信息存储部206中的加密信息中的未使用的模拟随机数的个数减少1个,并且使其开头地址变化b比特。这样,将生成序列号序列所需要的信息更新。
[0067] 另外,在上述步骤S205中将信息更新的结果是未使用的模拟随机数的个数成为预先设定的规定值以下的情况下,优选的是通过执行图4的处理流程而生成新的模拟随机数序列,基于它制作序列号序列。进而,也可以将预先设定的数在各信息处理装置间事前共享,每当从1个种子生成的模拟随机数序列的字节长度达到该数时就进行补种(熵源的追加),或进行种子的更新。在进行补种的情况下,例如可以使用NIST的SP800-90A中记载的方法。但是,补种的方法并不限定于此,只要是可实现的方法就可以。此外,在进行种子的更新的情况下,例如只要在某个信息处理装置1中生成更新用的种子、将其加密而向其他信息处理装置1发送就可以。但是,种子的更新方法并不限定于此,只要是可实现的方法就可以。通过这样实施补种或种子的更新,有没有掌握种子的第三者更难以进行序列号的预测的效果。
[0068] 执行步骤S205的处理后,结束图4的共享信息生成处理,向图3的步骤S30前进。通过以上说明的共享信息生成处理,信息处理装置1能够生成在与其他信息处理装置1之间共享的共享信息。
[0069] 接着,对在图3的步骤S40中执行的消息发送处理进行说明。在步骤S40中,CPU10可以由消息生成部104利用在步骤S20中生成的共享信息,生成用于判别是否有不正当的重放攻击的发送消息,向其他信息处理装置1发送。图6是本发明的第1实施方式的消息发送处理的流程图。
[0070] 在步骤S301中,消息生成部104从通信信息存储部207取得表示经由图1的网络2收发的消息的合计数的通信路径计数器值。这里取得的通信路径计数器值只要是在全部的信息处理装置间一致的值就可以。例如,也可以是,每当消息经由网络2流动,各信息处理装置1的消息生成部104就将通信路径计数器值递增而保存到通信信息存储部207中。另外,在通信路径计数器值的更新中,也可以在全部的信息处理装置1中使用共通的方法。或者,只要在全部的信息处理装置1中更新后的计数器值一致,则各信息处理装置1也可以使用不同的更新方法。
[0071] 在步骤S302中,消息生成部104从通信信息存储部207取得头信息和数据,并从加密信息存储部206取得与在步骤S301中取得的通信路径计数器值对应的共享信息。这里,例如在作为网络2而使用CANFD的情况下,头信息是指仲裁字段或控制字段等的信息。在其他通信协议中,例如可以取得表示通信目标、通信源、数据长度等的信息作为头信息。但是,只要包含作为头信息而需要的信息,在步骤S302中取得的头信息就不限定于这些。
[0072] 在步骤S303中,安全用代码生成部105生成对于在步骤S302中取得的共享信息的错误检测码。这里,基于所取得的共享信息,使用规定的算法,生成用于检测该共享信息的错误的错误检测码。例如,可以按照CRC(Cyclic Redundancy Check:循环冗余校验)等算法,生成对于共享信息的错误检测码。
[0073] 在步骤S304中,消息生成部104基于在步骤S302中取得的头信息、数据及共享信息、在步骤S303中生成的错误检测码、和对应于它们的脚注(footer)信息,生成发送消息。这里,例如在作为网络2而使用CANFD的情况下,脚注信息是指周期性冗余性校验字段或确认字段(Acknowledge field)的信息。但是,只要包含作为脚注信息而需要的信息,在步骤S304中取得的脚注信息并不限定于这些。
[0074] 图7是表示在步骤S304中生成的发送消息的数据构造的例子的图。发送消息由头信息411、数据412、共享信息413、错误检测码414、脚注信息415构成。
[0075] 回到图6的说明,在步骤S305中,消息生成部104将在步骤S304中生成的发送消息向通信部30输出。由此,所生成的发送消息从通信部30经由网络2发送至其他信息处理装置1。
[0076] 在步骤S306中,消息生成部104将在步骤S301中取得的通信路径计数器值更新,向通信信息存储部207保存。
[0077] 执行步骤S306的处理后,结束图6的消息发送处理,向图3的步骤S50前进。通过以上说明的消息发送处理,信息处理装置1能够将作为安全用代码而赋予了对于共享信息的错误检测码的消息向通信路径发送。
[0078] 接着,对在图3的步骤S60中执行的消息接收处理进行说明。在步骤S60中,CPU10当从其他信息处理装置1接收到图6所示的数据构造的消息时,使用消息解析部108将该接收消息的数据构造进行解析,能够判别接收消息是否是由不正当的攻击带来的消息。图8是消息接收处理的流程图。
[0079] 在步骤S501中,消息解析部108使用通信部30,接收从其他信息处理装置1发送的消息。这里,通过取得由通信部30接收并从通信部30输出到CPU10的来自其他信息处理装置1的消息,取得接收消息。
[0080] 在步骤S502中,消息解析部108从通信信息存储部207取得通信路径计数器值,将该通信路径计数器值更新。另外,也可以是任意的信息处理装置将被赋予了同步用的ID的消息向通信路径定期地发送,使得即使在各信息处理装置间管理的通信路径计数器值中发生偏差也能够同步。
[0081] 图14是表示用于取得通信路径计数器值的同步的消息的数据构造的例子的图。本消息的数据构造由被赋予了同步用ID904的头信息901、通信路径计数器值902和脚注信息903构成。
[0082] 回到图8的说明,在步骤S503中,消息解析部108将在步骤S501中接收到的消息的数据构造进行解析。这里,通过基于图7所示那样的数据构造将接收消息的数据构造进行解析,将接收消息中包含的数据、共享信息、错误检测码分别提取。
[0083] 在步骤S504中,处理判断控制部109基于在步骤S501中从接收消息提取的共享信息及错误检测码,进行用于判断接收消息的类别的消息类别判断处理。关于该消息类别判断处理的具体的内容,在后面参照图9的流程图进行说明。
[0084] 在步骤S505中,处理判断控制部109判断通过步骤S504的消息类别判断处理是否确定了接收消息的类别。在确定了接收消息的类别的情况下向步骤S506前进,在未能确定的情况下向步骤S510前进。
[0085] 在从步骤S505前进到步骤S506的情况下,在步骤S506中,处理判断控制部109将表示是否确定了接收消息的类别的处理判断计数器的值清空。由此,在通过步骤S504的消息类别判断处理确定了接收消息的类别的情况下,将处理判断计数器的值清空,向规定的初始值(例如0)返回。这里,处理判断计数器如上述那样用于接收消息的类别的判断,被存储在通信信息存储部207中。
[0086] 在步骤S507中,处理判断控制部109判断通过步骤S504的消息类别判断处理确定的接收消息的类别是“正常”及“攻击”中的哪一个。在接收消息的类别是“正常”的情况下,即在步骤S504中做出了接收消息正常的判断的情况下,向步骤S508前进。另一方面,在接收消息的类别是“攻击”的情况下,即在步骤S504中做出了接收消息是由不正当的攻击带来的消息的判断的情况下,向步骤S509前进。
[0087] 在步骤S508中,处理判断控制部109将接收消息接收。由此,在CPU10中,执行基于接收消息中包含的数据的控制处理。
[0088] 在步骤S509中,处理判断控制部109将接收消息丢弃,向规定的对策模式转移。这里,对策模式是指在判断为接收消息是由不正当的攻击带来的消息的情况下、用于使信息处理装置1转移到不对包含该信息处理装置1的信息处理系统的运行带来不良影响那样的控制状态的模式。例如,如果是搭载在车辆中的信息处理系统,则优选的是将对策模式设定为,使信息处理装置1转移到不对车辆的安全行驶带来影响那样的控制状态。
[0089] 在转移到对策模式的信息处理装置1中,例如将被设定了与该接收消息相同的ID的来自其他信息处理装置1的接收消息在以后全部丢弃。或者,也可以对应于攻击的种类使对策内容变化。例如,在步骤S504中判断为接收消息是由重放攻击带来的消息的情况下,可以考虑重新生成序列号并进行对用户的警告等。如果是搭载在车辆中的信息处理系统,则能够通过在导航装置或连接在车辆上的便携终端装置等上显示规定的警告画面,来进行向用户的警告。
[0090] 另一方面,在从步骤S505前进到步骤S510的情况下,在步骤S510中,处理判断控制部109将存储在通信信息存储部207中的处理判断计数器的值递增而更新。由此,在通过步骤S504的消息类别判断处理未能确定接收消息的类别的情况下,使处理判断计数器的值增加1个。
[0091] 在步骤S511中,处理判断控制部109将在步骤S510中递增的处理判断计数器值与规定的阈值进行比较。在其结果为处理判断计数器值比阈值大的情况下,向步骤S509前进。另一方面,在处理判断计数器值是阈值以下的情况下,向步骤S512前进。另外,也可以使在步骤S511中与处理判断计数器值比较的阈值的大小根据网络2的通信品质等而变化。在此情况下,既可以基于信息处理系统的设计信息或运行开始前的测试结果等而事前设定阈值,也可以实时地计测网络2的通信品质,基于该计测结果使阈值依次变化。
[0092] 如果从步骤S511前进到步骤S509,则处理判断控制部109判断为目前为止的接收消息是由不正当的攻击带来的消息,如上述那样将接收消息丢弃,向规定的对策模式转移。
[0093] 在步骤S512中,处理判断控制部109将接收消息丢弃,待机直到接收到下个消息。在此情况下,如果接收到下个消息,则再次执行图8的步骤S501以后的处理。
[0094] 在执行步骤S508、S509或S512的某个处理后,结束图8的消息接收处理。通过以上说明的消息接收处理,信息处理装置1能够判别接收消息是正常的、还是由不正当的攻击带来的。
[0095] 接着,对在图8的步骤S504中执行的消息类别判断处理进行说明。图9是本发明的第1实施方式的消息类别判断处理的流程图。
[0096] 在步骤S5001中,处理判断控制部109使用共享信息验证部110进行接收消息中包含的共享信息的正当性的验证。这里,共享信息验证部110从加密信息存储部206取得通过图3的步骤S20的共享信息生成处理生成并保存的共享信息。并且,将所取得的共享信息与接收消息中包含的共享信息进行比较,判定它们是否一致。该判定只要按照预先决定的规则实施就可以。例如,如果设接收消息中包含的共享信息的序列号为rK,在共享信息验证部110取得的共享信息中与接收消息对应的序列号为N,则判定是否是N=rK。如果结果是N=rK,则判断为接收消息中包含的共享信息是正当的消息,将验证结果设为OK。另一方面,如果是N≠rK,则判断为接收消息中包含的共享信息是不正当的,将验证结果设为NG。另外,在共享信息验证部110取得序列号序列作为共享信息的情况下,在该序列号序列中哪个序列号对应于接收消息的判断,可以基于在图8的步骤S502中取得的通信路径计数器值来进行。
[0097] 在步骤S5002中,处理判断控制部109判定在步骤S5001中进行的共享信息的正当性的验证结果是OK及NG中的哪个。在验证结果是OK的情况下向步骤S5003前进,在是NG的情况下向步骤S5004前进。
[0098] 在步骤S5003中,处理判断控制部109将接收消息判断为正常的消息。由此,接收消息的类别被确定为“正常”。
[0099] 在步骤S5004中,处理判断控制部109使用安全用代码生成部105生成基于接收消息中包含的共享信息的错误检测码。这里,安全用代码生成部105通过进行与图6的步骤S303同样的处理,能够生成作为对于接收消息中包含的共享信息的安全用代码的错误检测码。
[0100] 在步骤S5005中,处理判断控制部109使用安全用代码验证部111进行接收消息中包含的共享信息的正确和错误的验证。这里,安全用代码验证部111从安全用代码生成部105取得在步骤S5004中生成的错误检测码。并且,将所取得的错误检测信息与接收消息中包含的作为安全用代码的错误检测码进行比较,判定它们是否一致。如果其结果是两者的错误检测码一致,则判断为接收消息中包含的共享信息中没有错误,将验证结果设为OK。另一方面,如果错误检测码不一致,则判断为接收消息中包含的共享信息中有错误,将验证结果设为NG。
[0101] 在步骤S5006中,处理判断控制部109判定在步骤S5005中进行的共享信息的正确和错误的验证结果是OK及NG中的哪一个。在验证结果是OK的情况下向步骤S5008前进,在是NG的情况下向步骤S5007前进。
[0102] 在步骤S5007中,处理判断控制部109将接收消息判断为由重放攻击以外的原因造成的异常的消息。在此情况下,接收消息的类别不被确定。另外,作为这样的异常消息的原因,例如可以考虑由网络2中的噪声等带来的偶发性的通信比特错误、或重放攻击以外的不正当的攻击等。
[0103] 在步骤S5008中,处理判断控制部109将接收消息判断为由不正当的重放攻击带来的消息。即,在此情况下,由于共享信息不正当、并且共享信息中没有错误,所以可以判断为该共享信息是已经使用的,不正当地获得了它的第三者进行了重放攻击。由此,确定出接收消息的类别是“攻击”。
[0104] 在执行步骤S5003、S5007或S5008的某个后,结束图9的消息类别判断处理,向图8的步骤S505前进。通过以上说明的消息类别判断处理,信息处理装置1能够判别接收消息是否是重放攻击。
[0105] 根据以上说明的本发明的第1实施方式,起到以下的作用效果。
[0106] (1)信息处理装置1接收从经由网络2连接的其他信息处理装置1发送的消息。信息处理装置1具备共享信息生成部101、通信部30、共享信息验证部110、安全用代码生成部105、安全用代码验证部111及处理判断控制部109。共享信息生成部101生成与其他信息处理装置1共享的共享信息(步骤S20)。通信部30接收从其他信息处理装置1发送的消息(步骤S501)。共享信息验证部110将该接收消息中包含的共享信息与由共享信息生成部101生成的共享信息进行比较,基于其比较结果,验证接收消息中包含的共享信息的正当性(步骤S5001)。安全用代码生成部105生成基于共享信息的安全用代码(步骤S5004)。安全用代码验证部111将接收消息中包含的安全用代码与由安全用代码生成部105生成的安全用代码进行比较,基于其比较结果,验证接收消息中包含的共享信息的正确和错误(步骤S5005)。
处理判断控制部109基于共享信息验证部110的验证结果、和安全用代码验证部111的验证结果,判断接收消息的正常性(步骤S5003、S5007、S5008)。因此,在连接在网络2上的各信息处理装置1中能够正确地判别接收到的消息是否是由不正当的攻击带来的消息。
[0107] (2)在步骤S5004中,安全用代码生成部105生成用于检测共享信息的错误的错误检测码作为安全用代码。在步骤S5005中,安全用代码验证部111将接收消息中包含的错误检测码与由安全用代码生成部105生成的错误检测码进行比较,基于其比较结果,验证接收消息中包含的共享信息的正确和错误。因此,能够简单且正确地验证共享信息的正确和错误。
[0108] (3)处理判断控制部109在步骤S5001中由共享信息验证部110判断为接收消息中包含的共享信息正当的情况下,在步骤S5003中判断为接收消息是正常的。另一方面,在步骤S5001中由共享信息验证部110判断为接收消息中包含的共享信息不正当、并且在步骤S5005中由安全用代码验证部111判断为接收消息中包含的共享信息中没有错误的情况下,在步骤S5008中判断为接收消息是由不正当的重放攻击带来的消息。因此,能够可靠地判断接收消息是正常的、还是由不正当的重放攻击带来的消息。
[0109] (4)信息处理装置1还具备存储为了由处理判断控制部109判断接收消息的正常性而使用的处理判断计数器值的通信信息存储部207。处理判断控制部109在步骤S5001中由共享信息验证部110判断为接收消息中包含的共享信息不正当、并且在步骤S5005中由安全用代码验证部111判断为接收消息中包含的共享信息中有错误而执行了步骤S5007的处理的情况下,将处理判断计数器值递增而更新(步骤S510)。并且,将处理判断计数器值与规定的阈值进行比较(步骤S511),基于其比较结果,判断接收消息是否是由不正当的攻击带来的消息(步骤S509、S512)。因此,在接收消息是由重放攻击以外的不正当的攻击带来的消息情况下也能够判断该情况。
[0110] (5)信息处理装置1除了共享信息生成部101、通信部30、共享信息验证部110、安全用代码生成部105、安全用代码验证部111及处理判断控制部109以外还具备消息生成部104。消息生成部104生成包括由共享信息生成部101生成的共享信息及由安全用代码生成部105生成的安全用代码的发送消息(步骤S304)。通信部30将该发送消息向其他信息处理装置1发送,并且接收来自其他信息处理装置1的接收消息。因此,能够在多个信息处理装置
1间收发消息而进行消息认证。
[0111] 第2实施方式
[0112] 以下,对本发明的第2实施方式进行说明。在第2实施方式中,说明代替在第1实施方式中说明的错误检测码而使用错误校正码或篡改检测码作为安全用代码的情况下的例子。另外,关于有关本实施方式的信息处理系统的结构及信息处理装置1的结构,由于与第1实施方式是同样的,所以省略说明。此外,CPU10执行的处理除了图6所示的消息发送处理及图9所示的消息类别判断处理以外与第1实施方式是共通的,所以省略说明。
[0113] 图10是本发明的第2实施方式的消息发送处理的流程图。该流程图与图6所示的第1实施方式的消息发送处理的流程图相比,代替步骤S303及S304的处理而执行步骤S3031、S3032及S3041的处理这一点不同。
[0114] 在步骤S3031中,安全用代码生成部105生成对于在步骤S302中取得的共享信息的错误校正码。这里,基于所取得的共享信息,使用规定的算法,生成用于检测及校正该共享信息的错误的错误校正码。例如,通过使用规定的多项式,计算与共享信息对应的ECC(Error Correcting Code:纠错码),由此能够生成错误校正码。此时,也可以基于发送消息经过的网络2的通信品质来设定要生成的错误校正码的校正范围。例如,在发送消息经过网络2时发生的平均性的通信错误的比特数是n比特的情况下,在步骤S3031中,优选的是生成具有n比特以上的校正能力的错误校正码。另外,错误校正码的校正范围的设定可以通过适当地选择在例如ECC的计算中使用的多项式。
[0115] 在步骤S3032中,安全用代码生成部105生成对于在步骤S302中取得的头信息、数据及共享信息的篡改检测码。这里,基于所取得的头信息、数据及共享信息,生成用于检测是否有针对这些信息的篡改的篡改检测码。例如,可以通过利用规定的算法计算MAC(Message Authentication Code:消息认证码)来生成篡改检测码。另外,作为MAC的计算方法,例如已知有使用散列(hash)函数的方法、使用块加密算法的方法等。此外,也可以使用作为公共密钥块加密算法的AES。具体而言,如果将包括作为MAC的计算对象的头信息、数据及共享信息、并且添加了匹配于块长度而赋予的填充用数据的数据序列作为输入消息进行规定的处理,则输出128比特等的块密码。能够将该块密码作为MAC来利用。除此以外,还能够利用任意的方法生成篡改检测码。另外,也可以基于发送消息的头信息、数据及共享信息中的一部分信息生成篡改检测码。
[0116] 在步骤S3041中,消息生成部104基于在步骤S302中取得的头信息、数据及共享信息、在步骤S3031中生成的错误校正码、在步骤S3032中生成的篡改检测码和对应于它们的脚注信息,生成发送消息。在步骤S305中,将该发送消息向通信部30输出并发送。
[0117] 图11是表示在步骤S3041中生成的发送消息的数据构造的例子的图。发送消息由头信息421、数据422、共享信息423、错误校正码424、篡改检测码425及脚注信息426构成。另外,关于头信息421、数据422、共享信息423、脚注信息426,与在第1实施方式中说明的图7的发送消息中的头信息411、数据412、共享信息413分别是同样的。
[0118] 图12是本发明的第2实施方式的消息类别判断处理的流程图。
[0119] 在步骤S6001、S6002中,处理判断控制部109进行与图9的步骤S5001、S5002分别同样的处理。
[0120] 在步骤S6003中,处理判断控制部109使用安全用代码生成部105,生成基于接收消息中包含的共享信息的错误校正码。这里,安全用代码生成部105通过进行与图10的步骤S3031同样的处理,能够生成作为对于接收消息中包含的共享信息的安全用代码的错误校正码。
[0121] 在步骤S6004中,处理判断控制部109使用安全用代码验证部111进行接收消息中包含的共享信息的正确和错误的验证。这里,安全用代码验证部111代替错误检测码而使用在步骤S6003中生成的错误校正码,进行与图9的步骤S5005同样的处理。如果其结果是接收消息中包含的共享信息中没有错误,则将验证结果设为OK,如果有错误,则将验证结果设为NG。
[0122] 在步骤S6005中,处理判断控制部109判定在步骤S6004中进行的共享信息的正确和错误的验证结果是OK和NG中的哪一个。在验证结果是OK的情况下向步骤S6010前进,在是NG的情况下向步骤S6006前进。
[0123] 在步骤S6006中,处理判断控制部109使用安全用代码验证部111将接收消息中包含的共享信息进行校正。这里,安全用代码验证部111使用在步骤S6003中生成的错误校正码进行遵循规定的算法的计算,从而将接收消息中包含的共享信息进行校正。由此,例如在作为错误校正码的ECC的汉明距离是一定以内的情况下,能够将接收消息的共享信息中包含的错误进行校正。但是,在接收消息中包含的共享信息中错误较多的情况下,即使使用错误校正码也不能将共享信息完全校正,所以有残留错误的情况。
[0124] 在步骤S6007中,处理判断控制部109使用共享信息验证部110进行接收消息中包含的共享信息的正当性的再验证。这里,共享信息验证部110将从加密信息存储部206取得的共享信息与在步骤S6006中错误校正后的共享信息进行比较,与步骤S6001同样,判定它们是否一致。如果其结果是所取得的共享信息与错误校正后的共享信息一致,则判断为接收消息中包含的共享信息是正当的,将再验证结果设为OK。另一方面,如果它们不一致,则判断为接收消息中包含的共享信息为不正当的,将再验证结果设为NG。
[0125] 在步骤S6008中,处理判断控制部109判定在步骤S6007中进行的共享信息的正当性的再验证结果是OK及NG中的哪一个。在再验证结果是OK的情况下向步骤S6011前进,在是NG的情况下向步骤S6009前进。
[0126] 在步骤S6009中,处理判断控制部109将接收消息判断为由使用事前生成的伪消息的不正当的攻击带来的异常的消息、或由不能错误校正的共享信息的噪声带来的异常的消息。在此情况下,接收消息的类别不被确定。
[0127] 在步骤S6010中,处理判断控制部109与图9的步骤S5008同样,将接收消息判断为由不正当的重放攻击带来的消息。由此,确定出接收消息的类别是“攻击”。
[0128] 在步骤S6011中,处理判断控制部109使用安全用代码生成部105生成基于接收消息中包含的头信息、数据及共享信息的篡改检测码。这里,安全用代码生成部105能够通过进行与图10的步骤S3032同样的处理,生成作为对于接收消息中包含的头信息、数据及共享信息的安全用代码的篡改检测码。
[0129] 在步骤S6012中,处理判断控制部109使用安全用代码验证部111进行接收消息的正当性的验证。这里,安全用代码验证部111从安全用代码生成部105取得在步骤S6011中生成的篡改检测码。并且,将所取得的篡改检测码与接收消息中包含的作为安全用代码的篡改检测码进行比较,判定它们是否一致。如果其结果是两者的篡改检测码一致,则判断为接收消息是没有被篡改的正当的消息,将验证结果设为OK。另一方面,如果篡改检测码不一致,则判断为接收消息是被篡改的不正当的消息,将验证结果设为NG。
[0130] 在步骤S6013中,处理判断控制部109判定在步骤S6012中进行的接收消息的正当性的验证结果是OK及NG中的哪一个。在验证结果是OK的情况下向步骤S6014前进,在是NG的情况下向步骤S6015前进。
[0131] 在步骤S6014中,处理判断控制部109与图9的步骤S5003同样,将接收消息判断为正常的消息。由此,确定出接收消息的类别是“正常”。
[0132] 在步骤S6015中,处理判断控制部109将接收消息判断为由使用将头信息、数据等实时地篡改而生成的伪消息的不正当的攻击带来的异常的消息,或由对于头信息、数据等的噪声带来的异常的消息。在此情况下,也与步骤S6009同样,接收消息的类别不被确定。
[0133] 在执行步骤S6009、S6010、S6014或S6015的某个后,结束图12的消息类别判断处理,向图8的步骤S505前进。通过以上说明的消息类别判断处理,信息处理装置1能够判别接收消息是否是重放攻击、基于事前准备的伪消息进行的攻击、或基于实时生成的伪消息进行的攻击。
[0134] 根据以上说明的本发明的第2实施方式,除了在第1实施方式中说明的(1)、(5)的作用效果以外,还起到以下的作用效果。
[0135] (6)在步骤S6003中,安全用代码生成部105生成用于检测及校正共享信息的错误的错误校正码作为安全用代码。在步骤S6004中,安全用代码验证部111将接收消息中包含的错误校正码与由安全用代码生成部105生成的错误校正码进行比较,基于其比较结果验证接收消息中包含的共享信息的正确和错误。因此,能够简单且正确地验证共享信息的正确和错误。
[0136] (7)安全用代码验证部111在步骤S6004中检测到接收消息中包含的共享信息中有错误的情况下,将该共享信息基于错误校正码进行校正(步骤S6006)。共享信息验证部110将由安全用代码验证部111校正后的共享信息与由共享信息生成部101生成的共享信息进行比较,基于其比较结果,再验证接收消息中包含的共享信息的正当性(步骤S6007)。因此,即使在因偶发性的通信比特错误等而在接收消息的共享信息的一部分中发生了错误的情况下,也能够可靠地判断该共享信息是否是正当的。
[0137] (8)安全用代码生成部105除了错误校正码以外,还生成用于检测接收消息中包含的数据及共享信息的篡改的篡改检测码作为安全用代码(步骤S6011)。安全用代码验证部111将接收消息中包含的篡改检测码与由安全用代码生成部105生成的篡改检测码进行比较,基于其比较结果,再验证接收消息的正当性(步骤S6012)。因此,能够更正确地判定接收消息是否是由不正当的攻击带来的消息。
[0138] (9)处理判断控制部109在步骤S6001中由共享信息验证部110判断为接收消息中包含的共享信息正当、并且在步骤S6012中由安全用代码验证部111判断为接收消息正当的情况下,在步骤S6014中判断为接收消息正常。另一方面,在步骤S6001中由共享信息验证部110判断为接收消息中包含的共享信息不正当、并且在步骤S6004中由安全用代码验证部
111判断为接收消息中包含的共享信息中没有错误的情况下,在步骤S6010中判断为接收消息是由不正当的重放攻击带来的消息。因此,能够可靠地判断接收消息是正常的、还是由不正当的重放攻击带来的。
[0139] (10)信息处理装置1还具备存储为了由处理判断控制部109判断接收消息的正常性而使用的处理判断计数器值的通信信息存储部207。处理判断控制部109在步骤S6001中由共享信息验证部110判断为接收消息中包含的共享信息正当、并且在步骤S6012中由安全用代码验证部111判断为接收消息不正当而执行了步骤S6015的处理的情况下,或者在步骤S6001中由共享信息验证部110判断为接收消息中包含的共享信息不正当、并且在步骤S6004中由安全用代码验证部111判断为接收消息中包含的共享信息中有错误而执行了步骤S6009的处理的情况下,将处理判断计数器值递增而更新(步骤S510)。并且,将处理判断计数器值与规定的阈值进行比较(步骤S511),基于其比较结果,判断接收消息是否是由不正当的攻击带来的消息(步骤S509、S512)。因此,即使在接收消息是由重放攻击以外的不正当的攻击带来的消息情况下,也能够判断该情况。
[0140] (11)安全用代码生成部105也可以基于网络2的通信品质来设定错误校正码的校正范围。如果这样,则能够适当地设定错误校正码的校正范围。
[0141] 另外,在以上说明的第2实施方式中,也可以代替错误校正码、篡改检测码而使用错误检测码。在代替错误校正码而使用错误检测码的情况下,在图10的步骤S3031中,安全用代码生成部105进行与图6的步骤S303同样的处理。此外,在图12的步骤S6003中也同样,生成错误检测码。在此情况下,不执行图12的步骤S6006~S6008的处理。另一方面,在代替篡改检测码而使用错误检测码的情况下,在图10的步骤S3032中,安全用代码生成部105基于在步骤S302中取得的头信息、数据及共享信息,生成用于检测是否有对于这些信息的错误的错误检测码。此外,在图12的步骤S6011中也同样,生成错误检测码。另外,在此情况下生成的错误检测码只要在错误检测的对象中至少包含数据就可以。这样,也能够起到与上述同样的作用效果。
[0142] 此外,在以上说明的第2实施方式中,也可以不对在信息处理装置1间收发的消息赋予篡改检测码。在此情况下,不实施图10的步骤S3032的处理、图12的步骤S6011~S6013及S6015的处理。这样,也能够起到与上述同样的作用效果。
[0143] 第3实施方式
[0144] 以下,对本发明的第3实施方式进行说明。在第3实施方式中,说明在多个信息处理装置1间将消息分割而发送的例子。例如,在作为网络2而利用CAN的情况下,通过将消息分割,按照CAN的通信协议进行消息的收发。另外,关于有关本实施方式的信息处理系统的结构及信息处理装置1的结构,与第1及第2实施方式是同样的,所以省略说明。此外,CPU10执行的处理与第1实施方式或第2实施方式是共通的,所以省略说明。
[0145] 在本实施方式中,发送侧的信息处理装置1的消息生成部104在图6或图10的步骤S305中将发送消息向通信部30输出时,能够将发送消息分割为多个而输出。由此,在原来的消息构造被分割的状态下,从通信部30经由网络2向其他信息处理装置1发送消息。
[0146] 图13是表示消息生成部104将发送消息分割为4个消息的例子的图。在图13的例子中,示出将由头信息801、数据802、共享信息803、错误校正码804、篡改检测码805及脚注信息806构成的发送消息分割为4个的情况下的例子。另外,分割前的发送消息可以用在第2实施方式中说明那样的方法生成。
[0147] 对图13所示的分割后的发送消息分别赋予的头信息807、809、811及814和脚注信息808、810、813及816是CAN的通信协议所固有的信息。另一方面,第一个分割消息中的数据802和第二个分割消息中的共享信息803及804与分割前相同。此外,第三个分割消息中的篡改检测码812与分割前的篡改检测码805的下位64比特对应,第四个分割消息中的篡改检测码815与分割前的篡改检测码805的上位64比特对应。另外,在图13的例子中,示出CAN的通信协议中的数据字段是64比特、数据802的比特数及共享信息803与错误校正码804的合计比特数分别是64比特的情况。例如,这样能够将发送消息分割。但是,消息的分割方法并不限于此。例如,在对于数据字段的64比特有余量的情况下,也可以进行使用0比特值的填充。
[0148] 另一方面,接收侧的信息处理装置1的消息解析部108如果由通信部30接收到如上述那样被分割为多个的消息,则将该多个分割消息累积直到成为原来的消息长度。如果分割消息被累积至原来的消息长度,则消息解析部108通过从各分割消息除去头信息及脚注信息并依次排列,来再现原来的分割前的消息。然后,使用再现的分割前的消息,进行图8的消息接收处理。此时,在图8的步骤S502中,优选的是消息解析部108仅在接收到最初的分割消息时将通信路径计数器值更新,当接收到其余的分割消息时不更新。另外,接收侧的信息处理装置1的消息解析部108作为将分割后的各消息建立对应的方法,例如也可以将包含数据802的消息的ID和包含共享信息803、错误校正码804和篡改检测码805的消息的ID作为不同系统,通过使用各个ID的对应表来判断。但是,消息的对应建立方法并不限于此。
[0149] 根据以上说明的本发明的第3实施方式,信息处理装置1在其他信息处理装置1将消息分割为多个而发送的情况下,通过将由通信部30接收到的多个分割消息累积至原来的消息长度,来再现分割前的消息。因此,能够在多个信息处理装置之间按照网络的通信协议进行消息的收发。
[0150] 另外,在以上说明的第3实施方式中,也可以是,在发送侧的信息处理装置1中能够任意地选择是否将发送消息分割而发送。进而,在此情况下,也可以是,消息生成部104以与不分割而发送的情况相比,分割而发送的发送消息的共享信息及安全用代码的信息量更少的方式生成发送消息。在此情况下,对将发送消息分割而发送的情况下的各分割发送消息中包含的共享信息和安全用代码分别进行合计的信息量中的至少某一个少于不将发送消息分割而发送的情况下的发送消息中包含的共享信息的信息量或安全用代码的信息量。如果这样,即使在将发送消息分割而发送的情况下,也能够尽量抑制伴随于分割的通信数据量的增加。
[0151] 具体而言,例如在将发送消息分割的情况和不分割的情况中,在发送侧的信息处理装置1中使共享信息生成部101生成共享信息时的设定条件、安全用代码生成部105生成安全用代码时的设定条件等变化。由此,能够任意地调节由消息生成部104生成的发送消息中的共享信息、安全用代码的信息量,使得成为上述那样的状态。
[0152] 另外,以上说明的各实施方式及各种变化例不过是一例,只要不损害发明的特征,则本发明并不限定于这些内容。本发明并不限定于上述实施方式及变形例,在不脱离本发明的主旨的范围中能够进行各种各样的变更。
[0153] 在此,将以下优先权基础申请的公开内容作为引用文写入。
[0154] 日本专利申请2014年第230715号(2014年11月13日提出)
[0155] 标号说明
[0156] 1 信息处理装置
[0157] 2 网络
[0158] 20 存储器
[0159] 30 通信部
[0160] 40 总线
[0161] 101 共享信息生成部
[0162] 102 共享信息管理部
[0163] 103 密钥管理部
[0164] 104 消息生成部
[0165] 105 安全用代码生成部
[0166] 108 消息解析部
[0167] 109 处理判断控制部
[0168] 110 共享信息验证部
[0169] 111 安全用代码验证部
[0170] 206 加密信息存储部
[0171] 207 通信信息存储部