通信系统及密钥信息共享方法与流程

文档序号:12168278阅读:382来源:国知局
通信系统及密钥信息共享方法与流程

本发明涉及第一通信装置和第二通信装置共享在加密处理中使用的密钥信息的通信系统及密钥信息共享方法。



背景技术:

以往,在多个通信装置通过网络进行通信的通信系统中,为了提高通信的可靠性,进行提供了数据的加密或消息认证码的通信等。为了进行加密等处理,进行通信的各通信装置需要保存共享密钥。

在专利文献1中,提出了进行在通用密钥加密方式中使用的加密密钥的更新的加密密钥更新系统。在该加密密钥更新系统中,在电子钥匙和车载设备之间预先共享保密信息,将对保密信息重复应用散列函数而得到的结果作为共同的加密密钥。在更新加密密钥时,将以比此前的重复次数少一次的次数应用散列函数而得到的结果作为加密密钥。

现有技术文献

专利文献

专利文献1:日本特开2009-284086号公报



技术实现要素:

发明要解决的课题

本申请的发明人发明了能够检测针对存储在通信装置的存储部中的程序和数据等的非法篡改的通信系统,并已经提出了专利申请。在该通信系统中也为了提高通信的安全性和可靠性等,希望共享密钥信息而进行提供了在通信装置间收发的数据的加密或消息认证码的通信等。

本发明是鉴于上述情况而完成的,其目的在于,提供第一通信装置和第二通信装置能够共享密钥信息而进行加密处理的通信系统及密钥信息共享方法。

用于解决课题的技术方案

本发明的通信系统是,第一通信装置与具有存储部的第二通信装置共享在加密处理中使用的密钥信息,所述通信系统的特征在于,所述第一通信装置具备:存储部,存储有所述第二通信装置的所述存储部的存储内容;第一散列值计算单元,计算基于该存储部的存储内容的散列值;提取单元,从该第一散列值计算单元计算出的散列值中提取第一部分;以及第一部分发送单元,将该提取单元提取的所述第一部分发送到所述第二通信装置,所述第二通信装置具备:第二散列值计算单元,计算基于自身的存储部的存储内容的散列值;第一部分接收单元,从所述第一通信装置接收所述第一部分;散列值判定单元,判定该第一部分接收单元接收到的所述第一部分是否与所述第二散列值计算单元计算出的散列值的一部分一致;提取单元,在该散列值判定单元判定为一致时,从所述第二散列值计算单元计算出的散列值中提取与所述第一部分不同的第二部分;第二部分发送单元,将该提取单元提取的所述第二部分发送到所述第一通信装置;以及生成单元,根据从所述第二散列值计算单元计算出的散列值中除去所述第一部分和所述第二部分而得到的剩余值,生成所述密钥信息,所述第一通信装置还具备:第二部分接收单元,从所述第二通信装置接收所述第二部分;散列值判定单元,判定该第二部分接收单元接收到的所述第二部分是否与所述第一散列值计算单元计算出的散列值的一部分一致;以及生成单元,在该散列值判定单元判定为一致时,根据从所述第一散列值计算单元计算出的散列值中除去所述第一部分和所述第二部分而得到的剩余值,生成所述密钥信息。

另外,在本发明的通信系统中,其特征在于,所述第一通信装置和所述第二通信装置的生成单元将所述剩余值作为所述密钥信息。

另外,在本发明的通信系统中,其特征在于,所述第一通信装置具备:第一秘密值生成单元,生成第一秘密值;第一公开值生成单元,根据所述剩余值和所述第一秘密值生成单元生成的第一秘密值,生成第一公开值;第一公开值发送单元,将该第一公开值生成单元生成的第一公开值发送到所述第二通信装置;以及第二公开值接收单元,从所述第二通信装置接收第二公开值,所述第一通信装置的生成单元根据所述第一秘密值和所述第二公开值接收单元接收到的所述第二公开值,生成所述密钥信息,所述第二通信装置具备:第二秘密值生成单元,生成第二秘密值;第二公开值生成单元,根据所述剩余值和所述第二秘密值生成单元生成的第二秘密值,生成所述第二公开值;第二公开值发送单元,将该第二公开值生成单元生成的第二公开值发送到所述第一通信装置;以及第一公开值接收单元,从所述第一通信装置接收所述第一公开值,所述第二通信装置的生成单元根据所述第二秘密值和所述第一公开值接收单元接收到的所述第一公开值,生成所述密钥信息。

另外,在本发明的通信系统中,其特征在于,所述第一通信装置和所述第二通信装置分别具有:质数表,存储有多个质数;以及质数选择单元,从所述质数表选择质数,所述第一通信装置的所述第一公开值生成单元使用所述质数选择单元选择的质数来生成所述第一公开值,所述第二通信装置的所述第二公开值生成单元使用所述质数选择单元选择的质数来生成所述第二公开值。

另外,在本发明的通信系统中,其特征在于,所述第一秘密值生成单元和所述第二秘密值生成单元根据随机数来生成所述第一秘密值和所述第二秘密值。

另外,在本发明的通信系统中,其特征在于,所述第一通信装置具备:散列值计算用信息生成单元,生成在散列值计算中使用的信息;以及散列值计算用信息发送单元,将该散列值计算用信息生成单元生成的散列值计算用信息发送到所述第二通信装置,所述第一散列值计算单元使用所述散列值计算用信息生成单元生成的散列值计算用信息来计算散列值,所述第二通信装置具有从所述第一通信装置接收所述散列值计算用信息的散列值计算用信息接收单元,所述第二散列值计算单元使用所述散列值计算用信息接收单元接收到的散列值计算用信息来计算散列值。

另外,在本发明的通信系统中,其特征在于,在所述散列值计算用信息生成单元生成的散列值计算用信息中包含随机数。

另外,在本发明的通信系统中,其特征在于,在所述散列值计算用信息生成单元生成的散列值计算用信息中,包含对作为散列值的计算对象的所述第二通信装置的存储部的区域进行规定的信息。

另外,在本发明的通信系统中,其特征在于,所述第一通信装置具备:第一散列值存储部,存储所述第一散列值计算单元计算出的散列值;以及更新处理单元,进行根据该第一散列值存储部存储的散列值来更新所述密钥信息的处理。

另外,在本发明的通信系统中,其特征在于,所述更新处理单元通过所述第一通信装置的提取单元从所述第一散列值存储部存储的散列值中提取第一部分,并通过所述第一部分发送单元将所提取的所述第一部分发送到所述第二通信装置,通过所述第二部分接收单元从所述第二通信装置接收第二部分,更新所述剩余值。

另外,在本发明的通信系统中,其特征在于,所述第二通信装置具备:第二散列值存储部,存储所述第二散列值计算单元计算出的散列值;以及更新处理单元,根据通过所述第一通信装置的所述更新处理单元的更新处理发送的所述第一部分,通过所述第二通信装置的提取单元来提取所述第二部分,并通过所述第二部分发送单元将所提取的所述第二部分发送到所述第一通信装置,根据所述第一部分和所述第二部分来更新所述剩余值。

另外,本发明的密钥信息共享方法是,第一通信装置与具有存储部的第二通信装置共享在加密处理中使用的密钥信息,所述密钥信息共享方法的特征在于,在所述第一通信装置中复写有所述第二通信装置的存储部的存储内容,所述密钥信息共享方法包括如下步骤:第一散列值计算步骤,所述第一通信装置计算基于所复写的存储内容的散列值;提取步骤,从在该第一散列值计算步骤中计算出的散列值中提取第一部分;第一部分发送步骤,将在该提取步骤中提取的所述第一部分发送到所述第二通信装置;第二散列值计算步骤,所述第二通信装置计算基于所述存储部的存储内容的散列值;第一部分接收步骤,所述第二通信装置从所述第一通信装置接收所述第一部分;散列值判定步骤,判定在该第一部分接收步骤中接收到的所述第一部分是否与在所述第二散列值计算步骤中计算出的散列值的一部分一致;提取步骤,当在该散列值判定步骤中判定为一致时,从在所述第二散列值计算步骤中计算出的散列值中提取与所述第一部分不同的第二部分;响应信息发送步骤,将在该提取步骤中提取的所述第二部分发送到所述第一通信装置;密钥信息生成步骤,生成与从在所述第二散列值计算步骤中计算出的散列值中除去所述第一部分和所述第二部分而得到的剩余值对应的密钥信息;第二部分接收步骤,所述第一通信装置从所述第二通信装置接收所述第二部分;散列值判定步骤,判定在该第二部分接收步骤中接收到的所述第二部分是否与在所述第一散列值算步骤中计算出的散列值的一部分一致;以及密钥信息生成步骤,当在该散列值判定步骤中判定为一致时,生成与从在所述第一散列值计算步骤中计算出的散列值中除去所述第一部分和所述第二部分而得到的剩余值对应的密钥信息。

在本发明中,第一通信装置和第二通信装置共享密钥信息。第一通信装置对复写了第二通信装置的存储部的存储内容而得到的内容进行存储,具有根据所复写的存储内容来计算散列值的第一散列值计算单元。第二通信装置具有根据自身的存储部的存储内容来计算散列值的第二散列值计算单元。另外,第一散列值计算单元和第二散列值计算单元进行相同的计算,如果输入信息相同则计算出的散列值相同。

第一通信装置计算基于所复写的存储内容的散列值,将其一部分提取为第一部分并发送到第二通信装置。第二通信装置对从第一通信装置接收到的散列值的第一部分与根据自身的存储内容计算出的散列值进行比较,判定所接收到的第一部分与自身的散列值的一部分是否一致。在两散列值不一致时,第二通信装置的存储内容与第一通信装置的所复写的存储内容变得不一致,因此能够判断为存在第二通信装置的存储内容被非法篡改的可能性。在两散列值一致时,第二通信装置从自身计算的散列值中提取与接收到的第一部分不同的第二部分并发送到第二通信装置。

第一通信装置对从第二通信装置接收到的散列值的第二部分与自身计算出的散列值进行比较,判定所接收到的第二部分与自身的散列值的一部分是否一致。在两散列值不一致时,第二通信装置的存储内容与第一通信装置的所复写的存储内容变得不一致,因此能够判断为存在第二通信装置的存储内容被非法篡改的可能性。在两散列值一致时,第一通信装置和第二通信装置都能够判断为各自计算出的散列值一致,存储内容未被非法篡改。

因此,第一通信装置和第二通信装置计算从自身计算出的散列值中除去第一通信装置提取的第一部分和第二通信装置提取的第二部分而得到的剩余值,根据该剩余值来生成密钥信息。

由此,第一通信装置和第二通信装置能够同时进行检测第二通信装置的存储部的存储内容的非法篡改的处理和确定用于加密处理的密钥信息的处理。

另外,在本发明中,第一通信装置和第二通信装置将计算出的剩余值作为密钥信息来进行加密处理。另外,可以将全部剩余值作为密钥信息,也可以将剩余值的一部分作为密钥信息。由此,第一通信装置和第二通信装置能够在非法篡改的检测处理结束的同时获取密钥信息。

另外,在本发明中,第一通信装置和第二通信装置,例如通过随机数等分别生成秘密值,根据秘密值和剩余值来生成公开值并彼此发送,根据自身的秘密值和接收到的公开值来分别生成密钥信息。

例如,第一通信装置和第二通信装置存储有共同的质数表。在质数表中存储有多个质数,第一通信装置和第二通信装置从质数表选择质数,并使用所选择的质数分别生成公开值。

由此,能够提高第一通信装置和第二通信装置共享的密钥信息的隐匿性。

另外,在本发明中,在散列值的计算之前,第一通信装置生成散列值计算用信息并发送到第二通信装置。例如能够将散列值计算用信息设为随机数。另外,例如能够将散列值计算用信息设为对作为散列值计算对象的存储部的区域进行规定的信息。第一通信装置和第二通信装置使用散列值计算用信息来进行基于存储内容的散列值的计算。

由此,由于散列值计算变得困难,因此能够提高存储内容的非法篡改的检测可靠性,能够提高共享的密钥信息的可靠性。

另外,在本发明中,第一通信装置和第二通信装置分别存储所计算出的散列值。第一通信装置在例如从生成密钥信息经过了预定期间时等适当的时刻,进行密钥信息的更新处理。在更新处理中,通过使用所存储的散列值,能够减少处理负荷。第一通信装置从所存储的散列值中提取与以往不同的第一部分并发送到第二通信装置,从而开始密钥信息的更新处理。第二通信装置根据接收到的第一部分和所存储的散列值来进行第二部分的提取,将第二部分发送到第一通信装置。由此,第一通信装置和第二通信装置能够根据新的第一部分和第二部分来计算剩余值,能够更新密钥信息。

发明效果

在本发明的情况下,能够利用针对第二通信装置的存储部的存储内容的非法篡改检测的处理,通过第一通信装置和第二通信装置来进行密钥信息的共享。第一通信装置和第二通信装置利用共享的密钥信息来进行加密处理,从而能够进行可靠性较高的通信。

附图说明

图1是示出本实施方式的通信系统的结构的示意图。

图2是示出ECU的结构的框图。

图3是示出ECU的ROM的结构的示意图。

图4是示出监视装置的结构的框图。

图5是说明存储在监视装置的存储部中的复写数据的构成的示意图。

图6是用于说明基于监视装置和ECU的非法篡改检测处理和共享密钥生成处理的示意图。

图7是用于说明基于监视装置和ECU的非法篡改检测处理和共享密钥生成处理的示意图。

图8是用于说明共享密钥的更新处理的示意图。

图9是示出监视装置所进行的非法篡改检测和共享密钥生成的处理步骤的流程图。

图10是示出ECU根据来自监视装置的散列值计算指示而进行的处理的步骤的流程图。

图11是示出ECU根据来自监视装置的散列确认指示而进行的处理的步骤的流程图。

图12是示出监视装置所进行的共享密钥的更新处理的步骤的流程图。

图13是用于说明实施方式2的通信系统的共享密钥生成方法的示意图。

图14是示出质数表的一例的示意图。

具体实施方式

(实施方式1)

<系统结构>

图1是示出本实施方式的通信系统的结构的示意图。本实施方式的通信系统具备搭载于车辆1的多个ECU(Electronic Control Unit:电子控制单元)3和一个监视装置5而构成。ECU3和监视装置5通过铺设在车辆1中的通用的通信线而连接,能够彼此收发数据。在本实施方式中,ECU3和监视装置5将该通信线路作为CAN(Controller Area Network:控制器局域网)总线,进行依照CAN协议的通信。关于ECU3,例如可以是如进行车辆1的发动机的控制的发动机ECU、进行车体的电气安装件的控制的车身ECU、进行与ABS(Antilock Brake System:防抱死制动系统)有关的控制的ABS-ECU或者进行车辆1的安全气囊的控制的安全气囊ECU等这样的各种电子控制装置。监视装置5是监视针对ECU3所存储的程序和数据的非法篡改以及针对车内网络的非法数据发送等的装置。关于监视装置5,可以作为监视专用装置来设置,也可以是例如在网关等装置附加了监视功能的结构,或者也可以是例如在任一个ECU3附加了监视功能的结构。

图2是示出ECU3的结构的框图。另外,在图2中,关于设置在车辆1的多个ECU3,提取与通信和非法检测等有关的块来进行了图示。这些块在各ECU3中都是相同的。本实施方式的ECU3具备处理部31、ROM(Read Only Memory:只读存储器)32、存储部33以及CAN通信部34等而构成。处理部31利用CPU(Central Processing Unit:中央处理单元)或MPU(Micro-Processing Unit:微处理单元)等运算处理装置而构成。处理部31读取在ROM32中存储的程序32a并执行,从而进行与车辆1有关的各种信息处理或控制处理等。

ROM32利用掩模ROM、闪存或EEPROM(Electrically Erasable Programmable ROM:电可擦除可编程ROM)等非易失性存储元件而构成。ROM32存储处理部31所执行的程序32a和在由此进行的处理中所需的各种数据32b。另外,存储在ROM32中的程序32a和数据32b在每个ECU3中都不同。另外,在本实施方式中,即使在ROM32利用闪存等能够数据重写的存储元件而构成的情况下,也不会通过处理部31的处理进行ROM32的数据重写。

存储部33利用闪存或EEPROM等能够数据重写的存储元件而构成。另外,存储部33也可以利用SRAM(Static Random Access Memory:静态随机存取存储器)或DRAM(Dynamic Random Access Memory:动态随机存取存储器)等易失性存储元件而构成。存储部33存储通过处理部31的处理而生成的各种数据。另外,在本实施方式中,存储部33存储通过处理部31的处理而计算出的散列值33a。

CAN通信部34依照CAN通信协议,通过CAN总线进行与其他ECU3或监视装置5的通信。CAN通信部34将从处理部31提供的发送用信息转换为依照CAN通信协议的发送信号,并向CAN总线输出所转换的信号,从而进行向其他ECU3或监视装置5的信息发送。CAN通信部34对CAN总线的电位进行采样,从而获取其他ECU3或监视装置5所输出的信号,并依照CAN通信协议将该信号转换为二进制的信息,从而进行信息的接收,并将接收到的信息提供给处理部31。

在本实施方式中,在ECU3的处理部31中设置有散列值计算部41、散列值判定部42、提取部43、密钥生成部44以及加密处理部45等。散列值计算部41~加密处理部45可以构成为硬件的功能块构成,也可以构成为软件的功能块。对于散列值计算部41~加密处理部45所进行的处理,将在后文中详细说明。

图3是示出ECU3的ROM32的结构的示意图。在图示的例子中,ROM32具有地址以0000h~FFFFh表示的存储区域。在ROM32中存储有由处理部31执行的两个程序32a(在图3中表示为程序1和程序2)和在各程序的执行中各自所需的两种数据(数据1和数据2)。在ROM32中,从地址的最前头侧依次存储有程序1、程序2、数据1、数据2,而在它们各自之间的存储区域和地址的末尾侧的存储区域中存储有虚拟数据。

虚拟数据可以是任何值,例如能够存储随机确定的值。虚拟数据写入到ROM32的剩余区域的整个区域。即,在ROM32中,在其整个存储区域中存储有某些数据。由此,能够防止在ROM32的剩余区域中存储非法程序而进行非法处理的情况。另外,能够变得难以压缩存储在ROM32中的程序32a和数据32b。

图4是示出监视装置5的结构的框图。监视装置5具备处理部51、存储部52以及CAN通信部53等而构成。处理部51利用CPU或MPU等运算处理装置而构成,通过读取在存储部52中存储的程序并执行,从而进行监视车辆1的ECU3的动作和通信等的处理。

存储部52利用闪存或EEPROM等能够数据重写的非易失性存储元件而构成。在本实施方式中,存储部52存储有对搭载在车辆1上的ECU3的ROM32的存储内容进行复写而得到的复写数据52a。另外,存储部52存储由处理部51的处理计算出的散列值52b。另外,存储部52具有被称为防篡改性的针对来自外部的解析的抗性,不会进行复写数据52a和散列值52b的篡改和解读。

CAN通信部53依照CAN通信协议,通过CAN总线与ECU3进行通信。CAN通信部53将从处理部51提供的发送用信息转换为依照CAN通信协议的发送信号,并向CAN总线输出所转换的信号,从而进行向ECU3的信息发送。CAN通信部53通过对CAN总线的电位进行采样,从而获取ECU3所输出的信号,依照CAN通信协议将该信号转换为二进制的信息,从而进行信息的接收,并向处理部51提供所接收到的信息。

在本实施方式中,在监视装置5的处理部51中设置有散列值计算部61、提取部62、散列值判定部63、密钥生成部64以及加密处理部65等。散列值计算部61~加密处理部65可以构成为硬件的功能块,也可以构成为软件的功能块。对于散列值计算部61~加密处理部65所进行的处理,将在后文中详细说明。

图5是说明在监视装置5的存储部52中存储的复写数据52a的构成的示意图。对于搭载在车辆1中的作为监视对象的所有ECU3,监视装置5将与ROM3的存储内容相同的内容存储为复写数据52a。关于复写数据52a,将对于各ECU3唯一地附加的识别信息(图5中ECUa、ECUb…)与各ECU3的ROM3的存储内容建立对应并存储。

<非法篡改检测和共享密钥生成>

在本实施方式的通信系统中,例如在车辆1的点火开关从断开状态切换到接通状态时,监视装置5进行各ECU3的非法篡改的检测处理和共享密钥的生成处理。这些处理通过监视装置5与一个ECU3一对一进行信息交换而进行。监视装置5对于搭载在车辆1上的多个ECU3以预定的顺序进行处理。在监视装置5的处理结束之后,开始进行各ECU3的单独处理。以下,对在监视装置5与一个ECU3之间进行的非法篡改检测处理和共享密钥生成处理进行说明。

图6和图7是用于说明基于监视装置5和ECU3的非法篡改检测处理和共享密钥生成处理的示意图。另外,在图6中示出在监视装置5和ECU3之间进行的信息收发的步骤,在图7中示出所计算出的散列值的构成。在非法篡改检测处理和共享密钥生成处理中,监视装置5首先进行在散列值计算中使用的信息的生成。在本实施方式中,监视装置5生成随机种子和区域指定信息。监视装置5的处理部51将通过预定的算法产生随机数而得到的预定位长的数据作为随机种子。区域指定信息是指定作为散列值计算对象的ROM32的区域的信息,例如是开始地址和结束地址或者开始地址和数据大小等的信息。处理部51例如根据随机数而确定开始地址,能够将在该开始地址上加上了预定数而得到的地址作为结束地址。另外,例如处理部51将初始的开始地址设为0等初始值,在第二次之后,能够将在上一次的开始地址上加上了预定数而得到的地址作为此次的开始地址。

监视装置5的处理部51将所生成的随机种子和区域指定信息与散列值的计算指示一起发送到作为处理对象的ECU3。另外,处理部51的散列值计算部61从存储部52的复写数据52a读取作为处理对象的ECU3的存储内容,并使用所读取的存储内容和所生成的随机种子及区域指定信息来计算散列值。散列值计算部61从被复写的存储内容中提取由区域指定信息指定的部位,将所提取的存储内容和随机种子输入到预先确定的散列函数,从而计算散列值。在本实施方式中,散列值计算部61使用SHA-1散列函数来计算160位的散列值。处理部51将散列值计算部61所计算出的散列值存储到存储部52中。

接收到来自监视装置5的随机种子和区域指定信息的ECU3使用自身ROM32的存储内容和接收到的随机种子及区域指定信息,通过处理部31的散列值计算部41来计算散列值。散列值计算部41从ROM32提取由区域指定信息指定的部位,将所提取的存储内容和随机种子输入到预先确定的散列函数,从而计算散列值。处理部31将散列值计算部41所计算出的散列值存储到存储部33。另外,监视装置5所使用的散列函数与ECU3所使用的散列函数相同。由此,如果复写数据52a的存储内容与ROM32的存储内容相同,则监视装置5计算的散列值与ECU3计算的散列值成为相同的值。相反地,在两散列值成为不同的值时,存在ECU3的ROM32的存储内容被篡改的可能性。

此处,简单说明监视装置5的散列值计算部61和ECU3的散列值计算部41的散列值计算的方法。散列值计算部41、61能够构成为,例如利用MD(Message Digest:消息摘要)4、MD5、SHA-1、SHA-256、SHA-384、SHA-512、EIPEMD-160或SHA-3等现有的散列函数来进行散列值的计算。这些是所谓的单向散列函数,是对所输入的信息输出一个散列值的函数。输入到散列函数的信息是在本实施方式中存储到ECU3的ROM32中的程序32a或数据32b的一部分或全部。即使向散列函数输入的信息是程序32a或数据32b中的任意一个或者是程序32a和数据32b这两方,散列函数也能够将所输入的信息简单地处理为二进制信息,计算散列值。散列值计算部41、61存储预先确定的散列函数,并使用该散列函数来进行散列值的计算。

以下,关于散列值计算部41、61使用SHA-1散列函数来计算散列值的情况,对计算方法进行说明。另外,关于SHA-1散列函数的详细处理以及散列值计算部41、61使用其他散列函数的情况,这些散列函数是现有的技术,因此省略说明。

在利用SHA-1散列函数的情况下,散列值计算部41、61首先进行填充处理。在填充处理中,散列值计算部41、61通过在输入信息之后附加额外的数据,以使处理对象的信息大小成为预定值(512位)的整数倍的方式进行调整。接着,散列值计算部41、61将被填充处理的信息按照每512位的块进行分割,进行针对各块计算80个值的第一处理。

接着,散列值计算部41、61针对预定大小(160位)的初始值,进行如下的第二处理:进行使用了通过第一处理计算出的值的运算,并将运算后的160位的值作为散列值。在第二处理中,首先,散列值计算部41、61使用针对一个块计算出的80个值,对160位的初始值进行80步骤的运算。通过该80步骤的运算,能够对160位的初始值混入块的信息,作为输出而得到160位的值。散列值计算部41、61将所得到的160位的值作为初始值,使用针对下一个块计算出的80个值同样地进行80步骤的运算。散列值计算部41、61对所有的块进行同样的80步骤的处理,将最终得到的160位的值作为散列值。

另外,在本实施方式中,散列值计算部41、61需要利用监视装置5所生成的随机种子来进行散列值的计算。例如散列值计算部41、61在上述的填充处理中,能够对附加到输入信息的数据使用随机种子。另外,例如散列值计算部41、61在上述的第二处理中,能够对160位的初始值使用随机种子。在本实施方式中,设为对第二处理的初始值使用随机种子。

另外,散列值计算部41、61的随机种子的利用方法不限定于上述的方法。例如,散列值计算部41、61能够将作为散列值计算对象的ROM32的存储内容与随机种子的逻辑运算值(异或等)作为向散列函数的输入信息。另外,例如,散列值计算部41、61能够使对作为散列值计算对象的ROM32的存储内容的最前头部分或末尾部分等预定位置附加了随机种子而得到的信息成为向散列函数的输入信息。

在随机种子和区域指定信息向ECU3的发送以及散列值计算部41对散列值的计算完成之后,监视装置5的处理部51通过提取部62进行提取所计算出的散列值的一部分的处理。在本实施方式中,提取部62从所计算出的160位的散列值提取64位的值来作为确认用信息(散列值的第一部分)。在图7所示的例子中,将160位的散列值中的0~63这64位提取为确认用信息。处理部51将包含提取部62所提取的确认用信息的散列确认指示发送到作为处理对象的ECU3。

从监视装置5接收了散列确认指示的ECU3的处理部31获取包含在接收到的散列确认指示中的确认用信息。处理部31的散列值判定部42对从监视装置5获取的确认用信息与自身通过散列值计算部41计算出的散列值进行比较。散列值判定部42判定在散列值计算部41计算出的散列值中是否包含从监视装置5获取以作为确认用信息的散列值的一部分。当散列值判定部42判定为在自身的散列值中未包含确认用信息的散列值时,认为ECU3计算出的散列值与监视装置5计算出的散列值不一致,因此处理部31中断处理,对监视装置5进行错误通知等。

当散列值判定部42判定为在自身的散列值中包含确认用信息的散列值时,看作ECU3计算出的散列值与监视装置5计算出的散列值为相同的值,处理部31进行向监视装置5发送针对散列确认指示的响应(散列确认响应)的处理。此时,处理部31的提取部43从如下部分中进一步提取64位的信息,该部分是指从散列值计算部41计算出的160位的散列值中除去相当于确认用信息的64位而得到的部分。在图7所示的例子中,提取部43将接在来自监视装置5的确认用信息之后的64位的信息提取为响应信息(散列值的第二部分)。处理部31使提取部43提取出的64位的响应信息包含在散列确认响应中并发送到监视装置5。另外,从散列值提取确认用信息和响应信息的方法不限于图7所示。例如也可以是,确认用信息和响应信息的一部分重复。

从ECU3接收了散列确认响应的监视装置5的处理部51获取在接收到的散列确认响应中包含的响应信息。处理部51的散列值判定部63对从ECU3获取的响应信息与自身通过散列值计算部61计算出的散列值进行比较。散列值判定部63判定在从散列值计算部61计算出的散列值中除去提取部62提取出的确认用信息而得到的部分中,是否包含作为来自ECU3的响应信息获取的散列值的一部分。当散列值判定部63判定为在自身的散列值中未包含响应信息的散列值时,认为监视装置5计算出的散列值与ECU3计算出的散列值不一致,因此处理部51中断处理,进行对ECU3的错误通知等。

当散列值判定部63判定为在自身的散列值中包含响应信息的散列值时,处理部51看作监视装置5计算出的散列值与ECU3计算出的散列值为相同的值。此时,处理部51也可以向ECU3通知散列值的判定成功。处理部51的密钥生成部64根据散列值计算部61计算出的散列值、提取部62提取出的确认用信息以及从ECU3获取的响应信息,通过与ECU3的通信而生成在加密处理中使用的共享密钥。处理部51将密钥生成部64所生成的共享密钥存储到例如存储部52中。在图7所示的例子中,将从散列值计算部61计算出的160位的散列值中除去64位的确认用信息和64位的响应信息而得到的32位的信息作为共享密钥。

同样地,ECU3的密钥生成部44将从自身的散列值计算部41计算出的160位的散列值中除去从监视装置5接收到以作为确认用信息的64位的信息以及提取部43提取以作为响应信息的64位的信息而得到的32位的信息作为共享密钥。处理部31将密钥生成部44生成的共享密钥存储在例如存储部33中。由此,ECU3和监视装置5能够共享32位的密钥信息。另外,密钥信息不限于图7所示的构成。例如也可以是,确认用信息和响应信息的一部分重复。

此后,ECU3和监视装置5使用在上述的步骤中生成的共享密钥进行通信。另外,使用了共享密钥的通信为现有的技术,因此省略详细的说明。例如ECU3的处理部31通过加密处理部45利用共享密钥对向监视装置5发送的信息进行加密,将加密了的信息提供给CAN通信部34并发送到监视装置5。监视装置5的处理部51通过加密处理部65对从ECU3接收到的信息进行解码。或者,例如在ECU3的处理部31中,加密处理部45根据向监视装置5发送的信息和共享密钥而生成认证信息,将所生成的认证信息附加到发送信息并发送到监视装置5。关于监视装置5的处理部51,加密处理部45利用共享密钥来判定附加到来自ECU3的接收信息中的认证信息是否正当,在认证信息正当时进行使用了接收信息的处理。

<共享密钥的更新>

当在ECU3和监视装置5之间使用相同的共享密钥重复进行了通信的情况下,对通信内容进行监听的恶意装置推断共享密钥的可能性提高。因此,在本实施方式的通信系统中,在预定的时刻进行更新共享密钥的处理。例如,可以构成为在共享密钥使用了预定次数(10次或100次等)时进行更新处理。例如,能够构成为在车辆1的点火开关从断开状态向接通状态变化了的情况下进行更新处理。另外,例如,能够构成为在产生某种通信错误时进行更新处理。也可以在除此以外的时刻进行共享密钥的更新处理。

在本实施方式的通信系统中,对于共享密钥的更新处理,提供两种方法。第一方法是从最初开始进行如上所述的共享密钥的生成处理的方法。即,在达到更新共享密钥的时刻的情况下,监视装置5生成随机种子和区域指定信息并将散列值计算指示发送到ECU3,进行散列值的重新计算和共享密钥的重新生成。

对共享密钥进行更新的第二方法是利用ECU3和监视装置5分别存储的计算完成的散列值的方法。该方法具有以下优点:由于不需要进行用于通过ECU3和监视装置5计算散列值的处理,因此能够在短时间进行。以下,对利用所存储的散列值更新共享密钥的方法进行说明。

图8是用于说明共享密钥的更新处理的示意图。ECU3将在生成共享密钥时计算出的散列值33a存储到存储部33中。同样地,监视装置5将在生成共享密钥时计算出的散列值52b存储到存储部52中。ECU3和监视装置5所存储的散列值为相同的值。其中,监视装置5在与多个ECU3之间进行共享密钥的生成处理,因此针对各ECU3存储散列值。图8上部所示的图与图7所示的图相同,图示了ECU3和监视装置5所存储的散列值与当前时刻(更新处理前)下的共享密钥等。

在需要更新共享密钥时,监视装置5的处理部51通过提取部62进行从在存储部52中存储的散列值52b提取新的确认用信息的处理。此时,提取部62提取与上一次的共享密钥生成或更新时不同的确认用信息。因此,监视装置5优选存储提取了确认用信息的位置(使散列值的从第几位到第几位为止作为确认用信息),但是也能够通过核查与存储有当前的共享密钥的散列值的哪个部分相当而确定上一次的确认用信息的提取位置。

例如,提取部62能够生成随机数并将对上一次的提取位置加上了随机数而得到的位置作为此次的提取位置。在图8中部所示的例子中,对上一次的提取位置(0~63位)加上10位,将所存储的散列值的10~73位提取为确认用信息。监视装置5的处理部51将包含提取部62提取出的64位的确认用信息的散列确认指示发送到ECU3。接收到这些信息的ECU3的提取部43从在存储部33存储的散列值33a中提取响应信息。在图8中部所示的例子中,将接在确认用信息之后的74~137位提取为响应信息。ECU3的处理部31将包含所提取的确认用信息的散列确认响应发送到监视装置5。由此,监视装置5和ECU3能够得到新的确认用信息和响应信息,并将从自身存储的散列值中除去确认用信息和响应信息而得到的32位的信息作为新的共享密钥。在图8中部所示的例子中,将散列值的138~159位、0~9位的信息作为共享密钥。

在图8下部示出需要进一步更新共享密钥时的例子。监视装置5对上一次的提取位置加上12位,将散列值的32~95位提取为确认用信息并发送到ECU3。ECU3将接在确认用信息之后的96~159位提取为响应信息并发送到监视装置5。监视装置5和ECU3将从所存储的散列值除去了确认用信息和响应信息而得到的0~31位作为共享密钥。

如上所述,在本实施方式的通信系统中,通过对计算完成的散列值进行再利用,使从基于监视装置5的散列值提取确认用信息的提取位置变化,从而能够更新共享密钥。在本例的情况下,从160位的散列值能够至少得到同样160位的共享密钥。另外,在本实施方式的通信系统中,监视装置5变更随机种子和区域指定信息并进行散列值的重新计算,从而能够得到更多的共享密钥。

<流程图>

以下,使用流程图对本实施方式的通信系统的监视装置5和ECU3进行的处理进行说明。图9是示出监视装置5所进行的非法篡改检测和共享密钥生成的处理步骤的流程图。监视装置5的处理部51生成在散列值计算中使用的随机种子和指定ECU3的ROM32的存储区域的区域指定信息(步骤S1)。处理部51通过CAN通信部53将包含所生成的随机种子和区域指定信息的散列值计算指示发送到作为处理对象的ECU3(步骤S2)。

处理部51的散列值计算部61从存储部52获取作为处理对象的ECU3的存储内容的复写数据52a,根据所获取的复写数据52a以及在步骤S1中生成的随机种子和区域指定信息,使用预定的散列函数来计算散列值,将计算出的散列值存储到存储部52中(步骤S3)。处理部51的提取部62从在步骤S3中计算出的散列值中提取一部分作为确认用信息(步骤S4)。处理部51通过CAN通信部53将包含所提取的确认用信息的散列确认指示发送到作为处理对象的ECU3(步骤S5)。

接着,处理部51判定是否通过CAN通信部53接收到ECU3针对散列确认指示而发送的散列确认响应(步骤S6)。在未接收到散列确认响应时(S6:否),处理部51判定是否从作为处理对象的ECU接收到错误通知(步骤S7)。在未接收到错误通知时(S7:否),处理部51使处理回到步骤S6,并待机直到从ECU3接收散列确认响应或错误通知为止。

在从作为处理对象的ECU3接收到散列确认响应时(S6:是),处理部51的散列值判定部63根据接收到的散列确认响应所包含的响应信息是否包含在步骤S3中计算出的散列值中,来判定响应信息的成功与否(步骤S8)。在从ECU3接收到错误通知时(S7:是),或者,在从ECU3接收到的响应信息不正确时(S8:否),处理部51判断为存在作为对象的ECU3的ROM32的存储内容被改变的可能性,进行例如使该ECU3的动作停止等适当的错误处理(步骤S9),结束处理。

在从ECU3接收到的响应信息正确时(S8:是),处理部51的密钥生成部64生成在与ECU3的通信中使用的共享密钥(步骤S10)。此时,密钥生成部64将从在步骤S3中计算出的散列值除去在步骤S4中提取出的确认用信息和在步骤S6中接收到的响应信息而得到的部分作为共享密钥。处理部51将密钥生成部64生成的共享密钥存储到存储部52(步骤S11),结束处理。

图10是示出ECU3根据来自监视装置5的散列值计算指示而进行的处理的步骤的流程图。ECU3的处理部31判定是否通过CAN通信部34从监视装置5接收了散列值计算指示(步骤S21)。在未接收到散列值计算指示时(S21:否),处理部31待机直到接收到散列值计算指示为止。在接收到散列值计算指示时(S21:是),处理部31获取所接收到的散列值计算指示所包含的随机种子和区域指定信息(步骤S22)。处理部31的散列值计算部41根据ROM32的存储内容以及在步骤S22中获取的随机种子和区域指定信息,使用预定的散列函数来计算散列值(步骤S23)。处理部31将所计算出的散列值存储到存储部33中(步骤S24),结束处理。

图11是示出ECU3根据来自监视装置5的散列确认指示而进行的处理的步骤的流程图。另外,本处理在最初生成共享密钥时和更新共享密钥时是通用的。ECU3的处理部31判定是否通过CAN通信部34从监视装置5接收了散列确认指示(步骤S31)。在未接收到散列确认指示时(S31:否),处理部31待机直到接收到散列确认指示为止。在接收到散列确认指示时(S31:是),处理部31读取在存储部33中存储的散列值33a(步骤S32)。处理部31的散列值判定部42根据步骤S31中接收到的散列确认指示所包含的确认用信息是否包含在步骤S32中读取出的散列值中,来判定确认用信息的成功与否(步骤S33)。在确认用信息不正确时(S33:否),处理部31向监视装置5发送错误通知(步骤S34),结束处理。

在来自监视装置5的确认用信息正确时(S33:是),处理部31的提取部43从如下部分提取响应信息,该部分是指从步骤S32中读取出的散列值除去了确认用信息而得到的部分(步骤S35)。处理部31通过CAN通信部34向监视装置5发送所提取的响应信息(步骤S36)。处理部31的密钥生成部44生成在与监视装置5的通信中使用的共享密钥(步骤S37)。此时,密钥生成部44将从在步骤S32中读取的散列值除去在步骤S31中接收到的确认用信息和在步骤S35中提取的响应信息而得到的部分作为共享密钥。处理部31将密钥生成部44生成的共享密钥存储到存储部33(步骤38),结束处理。

图12是示出监视装置5所进行的共享密钥的更新处理的步骤的流程图。监视装置5的处理部51判定是否达到例如共享密钥利用了预定次数的情况等更新共享密钥的时刻(步骤S41)。在未达到更新共享密钥的时刻时(S41:否),处理部51待机直到达到更新共享密钥的时刻为止。在达到了更新共享密钥的时刻时(S41:是),处理部51读取在存储部52中存储的散列值52b(步骤S42)。

接着,处理部51的提取部62获取从散列值提取上一次的确认用信息的位置(步骤S43)。提取部62可以将上一次的提取位置存储到存储部52等并获取该提取位置,也可以将散列值与当前时刻的共享密钥进行比较来获取提取位置。提取部62产生随机数(步骤S44),计算在上一次的提取位置加上了随机数而得到的位置,从在步骤S42中读取的散列值的相应位置提取确认用信息(步骤S45)。

处理部51将包含提取部62所提取的确认用信息的散列确认指示发送到作为处理对象的ECU3(步骤S46)。另外,虽然此后的处理与图9所示的流程图的步骤S6~S11相同,但是在图12中以简化这些处理的方式示出步骤。处理部51接收ECU3针对散列确认指示而发送的散列确认响应(步骤S47)。处理部51的散列值判定部63判定在所接收的散列确认响应中包含的响应信息是否正确(步骤S48)。处理部51的密钥生成部64根据在步骤S42中读取的散列值、在步骤S45中提取的确认用信息以及在步骤S48中判定为正确的响应信息,生成新的共享密钥(步骤S49),将所生成的共享密钥存储到存储部52(步骤S50),结束处理。

<总结>

在以上结构的本实施方式的通信系统中,ECU3和监视装置5共享密钥信息,进行使用了该密钥信息的通信。ECU3具有根据ROM32的存储内容来计算散列值的散列值计算部41。监视装置5将ECU3的ROM32的存储内容的复写数据52a存储到存储部52中,并具有根据所复写的存储内容来计算散列值的散列值计算部61。ECU3的散列值计算部41和监视装置5的散列值计算部61进行基于相同的散列函数的运算,如果所输入的信息相同,则所计算的散列值成为相同的值。

监视装置5计算基于复写数据52a的散列值,将其一部分作为确认用信息发送到ECU3。ECU3对从监视装置5接收以作为确认用信息的散列值的一部分与自身计算出的散列值进行比较,判定所接收到的散列值的一部分是否包含在自身的散列值中。在接收到的散列值的一部分未包含在自身的散列值中时,监视装置5的复写数据52a与ECU3的ROM32的存储内容不一致,因此能够判断为存在ECU3的ROM32的存储内容被非法篡改的可能性。在接收到的散列值的一部分包含在自身的散列值中时,ECU3从如下的值进一步提取一部分并作为响应信息发送到监视装置5,上述值是指从自身计算出的散列值除去了确认用信息而得到的值。

监视装置5对从ECU3接收到以作为响应信息的散列值的一部分与自身计算出的散列值进行比较,判定所接收到的散列值的一部分是否包含在自身的散列值中。在接收到的散列值的一部分未包含在自身的散列值中时,能够判断为存在ECU3的ROM32的存储内容被非法篡改的可能性。在接收到的散列值的一部分包含在自身的散列值中时,ECU3和监视装置5分别计算出的散列值一致,能够判断为ROM32的存储内容没有被非法篡改。

ECU3和监视装置5分别计算从自身计算出的散列值除去监视装置5所提取的确认用信息和ECU3所提取的响应信息而得到的剩余值,将该剩余值作为密钥信息共享来进行加密处理。另外,可以将全部剩余值作为密钥信息,也可以将剩余值的一部分作为密钥信息。由此,ECU3和监视装置5能够同时进行检测ECU3的ROM32的存储内容的非法篡改的处理和确定用于加密处理的密钥信息的处理。

另外,在本实施方式的通信系统中,在散列值的计算之前,监视装置5生成随机种子和区域指定信息作为散列值计算用信息并发送到ECU3。ECU3和监视装置5使用随机种子和区域指定信息进行散列值的计算。由此,由于散列值计算变得困难,因此能够提高存储内容的非法篡改的检测的可靠性,能够提高共享的密钥信息的可靠性。

另外,在本实施方式的通信系统中,ECU3和监视装置5分别存储所计算出的散列值。监视装置5在例如从生成密钥信息之后经过了预定期间时等适当的时刻,进行密钥信息的更新处理。在更新处理中,不重新进行散列值的计算而使用存储的散列值,由此减少处理负荷。监视装置5从存储的散列值中提取与生成当前时刻的密钥信息时的确认用信息不同的一部分,将所提取的信息作为新的确认用信息并发送到ECU3。通过基于监视装置5的确认用信息的发送,开始密钥信息的更新处理。ECU3根据接收到的确认用信息和存储的散列值来生成响应信息并发送到监视装置5。由此,ECU3和监视装置5能够根据存储的散列值以及新的确认用信息和响应信息来生成新的密钥信息,能够更新密钥信息。

另外,在本实施方式中,构成为通过经由铺设在车辆1中的CAN总线的有线通信而进行ECU3和监视装置5的通信,但是并不限定于此,也可以构成为进行无线LAN等的无线通信。另外,也可以构成为进行基于CAN以外的协议的有线通信。另外,监视装置5构成为将对ECU3的ROM32的存储内容进行复写而得到的复写数据52a存储到存储部52中,但是并不限定于此。例如也可以将复写数据52a存储到其他的服务器装置等中,监视装置5根据需要从服务器装置获取复写数据52a,进而也可以构成为在服务器装置设置散列值计算功能而监视装置5从服务器装置获取所需的散列值。另外,在本实施方式中,以搭载在车辆1中的通信系统为例进行了说明,但是通信系统不限定于搭载在车辆1中,例如也可以搭载在飞机或船舶等移动物体中,另外例如也可以不是移动物体而设置在工厂、办公室或学校等中。

(变形例)

变形例的通信系统的监视装置5在上述的处理以外,还进行对从向ECU3发送散列确认指示起到接收到来自该ECU3的散列确认响应为止的时间进行计测的处理。监视装置5判定所计测的时间是否超过阈值,在计测时间超过阈值时,判断为进行了针对ECU3的ROM32的存储内容的非法重写。另外,关于在判定中使用的阈值,考虑监视装置5和ECU3的通信速度以及ECU3的处理能力等,在本系统的设计阶段等中预先确定。

例如存在如下问题:在监视装置5和ECU3之间存在非法的设备,进行在监视装置5和ECU3之间收发的信息的中继和改变等。另外,例如存在如下问题:存储在ECU3的ROM32中的程序32a和数据32b被压缩,在由压缩引起的ROM32的空白区域侵入非法程序而进行非法的处理。在这种情况下,即使非法设备或程序等能够计算散列值并进行针对监视装置5的响应,也可以预想到直到响应的发送为止需要比正常时更长的时间。因此,本实施方式的通信系统通过进行如上所述的时间监视,能够防止进行基于非法设备或程序等的非法的处理。

(实施方式2)

在实施方式2的通信系统中,ECU3和监视装置5不是将从自身计算出的散列值除去确认用信息和响应信息而得到的剩余值作为共享密钥,而是使用该剩余值进一步进行计算,从而生成共享密钥。图13是用于说明实施方式2的通信系统的共享密钥生成方法的示意图。另外,该图图示出,监视装置5将散列值计算指示和散列确认指示发送到ECU3,ECU3将散列确认响应发送到监视装置5,ECU3和监视装置5计算从自身计算出的散列值除去确认用信息和响应信息而得到的剩余值之后的处理。在共享密钥的生成处理中,首先,实施方式2的ECU3和监视装置5将从自身计算的散列值除去确认用信息和响应信息而得到的剩余值设为元g(SA1、SB1)。由于ECU3和监视装置5计算出的散列值为相同的值,因此ECU3和监视装置5的元g为相同的值。

接着,ECU3和监视装置5进行从预先存储的质数表选择一个质数p的处理(SA2、SB2)。图14是示出质数表的一例的示意图。本实施方式的质数表是针对0~159这160个标签存储有质数0~质数159这160个大的质数的表。ECU3和监视装置5对自身计算出的散列值与监视装置5所提取的确认用信息进行比较,核查散列值中的确认用信息的位置,并且核查确认用信息的开始位相当于散列值中的第几位。例如在确认用信息相当于散列值的10~73位时,ECU3和监视装置5获取作为确认用信息的开始位的10,选择与质数表的标签10对应的质数10。另外,ECU3和监视装置5预先存储相同内容的质数表,所选择的质数p为相同的值。

接着,ECU3生成秘密值a(SA3)。秘密值a为仅在ECU3内利用的值,例如能够根据随机数等来生成。同样地,监视装置5生成秘密值b(SB3)。秘密值b是仅在监视装置5内利用的值,例如能够根据随机数等来生成。ECU3的秘密值a与监视装置5的秘密值b可以是不同的值。

接着,ECU3利用元g、质数p以及秘密值a,通过(1)式生成公开值A(SA4)。同样地,监视装置5利用元g、质数p以及秘密值b,通过(2)式生成公开值B(SB4)。

【公式1】

A=gamod p…(1)

B=gbmod p…(2)

接着,ECU3将所计算出的公开值A发送到监视装置5(SA5),并且接收从监视装置5发送来的公开值B(SA6)。同样地,监视装置5将所计算出的公开值B发送到ECU3(SB5),并且接收从ECU3发送的公开值A(SB6)。

接着,ECU3利用所接收到的公开值B、秘密值a以及质数p,通过(3)式生成共享密钥Ka(SA7)。同样地,监视装置5利用所接收到的公开值A、秘密值b以及质数p,通过(4)式生成共享密钥Kb(SB7)。另外,ECU3生成的共享密钥Ka与监视装置5生成的共享密钥Kb为相同的值。

【公式2】

Ka=Bamod p…(3)

Kb=Abmod p…(4)

生成了共享密钥的ECU3和监视装置5对所生成的共享密钥进行存储,在以后的通信中使用该共享密钥进行加密处理。另外,在进行共享密钥的更新处理时,ECU3和监视装置5进行图13所示的处理而重新生成共享密钥。

关于以上结构的实施方式2的通信系统,ECU3和监视装置5例如分别通过随机数等来生成秘密值a、b,根据秘密值a、b以及剩余值来分别生成公开值A、B并彼此发送,根据自身的秘密值a、b以及接收到的公开值A、B而分别生成密钥信息Ka、Kb。另外,ECU3和监视装置5存储共同的质数表。在质数表中存储有多个质数,ECU3和监视装置5根据散列值中的确认用信息的开始位位置来选择一个质数。ECU3和监视装置5利用所选择的质数来生成公开值A、B。

由此,能够提高ECU3和监视装置5共享的密钥信息的隐匿性。

另外,在本实施方式中,根据随机数来生成秘密值a、b,但是并不限定于此,也可以通过其他的各种方法来生成秘密值a、b。例如能够构成为,与质数表同样地预先对存储有多个秘密值的秘密值表进行存储,从秘密值表选择一个秘密值。另外,质数表的构成不限于图14所示的构成,可以是其他的各种构成。另外,从质数表选择一个质数的方法不限于基于确认用信息的开始位位置的方法,可以采用其他的各种方法。

实施方式2的通信系统的其他结构与实施方式1的通信系统的结构相同,因此对相同的部位标上相同的标号并省略详细的说明。

标号说明

1 车辆

3 ECU(第二通信装置)

5 监视装置(第一通信装置)

31 处理部(第二秘密值生成单元、第二公开值生成单元、质数选择单元、更新处理单元)

32 ROM(存储部)

32a 程序

32b 数据

33 存储部(第二散列值存储部)

33a 散列值

34 CAN通信部(第一部分接收单元、第二部分发送单元、第二公开值发送单元、第一公开值接收单元、散列值计算用信息接收单元)

41 散列值计算部(第二散列值计算单元)

42 散列值判定部(散列值判定单元)

43 提取部(提取单元)

44 密钥生成部(密钥信息生成单元)

45 加密处理部(加密处理单元)

51 处理部(第一秘密值生成单元、第一公开值生成单元、质数选择单元、散列值计算用信息生成单元、更新处理单元)

52 存储部(第一散列值存储部)

52a 复写数据

52b 散列值

53 CAN通信部(第一部分发送单元、第二部分接收单元、第一公开值发送单元、第二公开值接收单元、散列值计算用信息发送单元)

61 散列值计算部(第一散列值计算单元)

62 提取部(提取单元)

63 散列值判定部(散列值判定单元)

64 密钥生成部(密钥信息生成单元)

65 加密处理部。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1