通信装置、通信系统、通信方法以及计算机可读记录介质与流程

文档序号:14504506阅读:208来源:国知局

本发明涉及通信装置、通信系统、通信方法以及计算机可读记录介质。



背景技术:

以往,已知一种进行通信装置的认证的通信系统。在这样的通信系统中,存在进行利用了挑战码和基于该挑战码而生成的响应码的认证处理的通信系统。例如,第1通信装置对第2通信装置发送请求信号。第2通信装置基于请求信号发送挑战码。第1通信装置基于上述的挑战码来生成响应码,并将上述的响应码发送给第2通信装置。第2通信装置根据该挑战码和基于该挑战码而生成的响应码,进行针对发送了上述的请求信号的第1通信装置(被认证装置)的认证处理。

在第1通信装置和第2通信装置进行通信的网络中,已知如下的行为,即,与第1通信装置和第2通信装置的双方的装置不同的伪装通信装置向上述的网络反复发送伪装的请求信号,并等待挑战码,来获取挑战码的规则性等。(例如,参照jp特开2015-063875号)



技术实现要素:

但是,伪装通信装置通过反复发送请求信号,能够获取挑战码的规则性。或者,在伪装通信装置具有针对特定的挑战码的响应码的情况下,通过反复进行请求信号的发送直到接收特定的挑战码为止,能够进行与特定的挑战码对应的响应码的发送。在上述那样的情况下,有时认证的可靠性下降。

本发明所涉及的方式考虑这样的情况而作出,其目的在于,提供一种能够进一步提高通信所涉及的认证的可靠性的通信装置、通信系统、通信方法以及程序。

为了解决上述的课题,本发明采用了以下的方式。

(1)本发明的一方式所涉及的通信装置基于所接收到的请求信号来发送挑战码,并根据该挑战码和基于该挑战码而生成的响应码来实施对发送所述请求信号的被认证装置的认证,所述通信装置具备:控制部,其在所述挑战码的发送后且所述认证的完成前从所述被认证装置接收到规定次数以上的请求信号的情况下,进行给定的故障安全处理。

(2)也可以在上述(1)的方式中,所述认证的完成是指所述响应码的接收,所述控制部在接收到所述响应码之前从所述被认证装置接收到所述规定次数以上的请求信号的情况下,执行所述给定的故障安全处理。

(3)也可以在上述(1)或(2)的方式中,所述控制部作为所述给定的故障安全处理,进行不发送针对从所述被认证装置接收到的所述请求信号的所述挑战码的挑战码发送禁止处理。

(4)也可以在上述(1)至(3)中任一方式中,所述控制部通过执行所述给定的故障安全处理,将所述挑战码的值设为直到执行所述给定的故障安全处理为止已发送的挑战码的值。

(5)也可以在上述(1)至(4)中任一方式中,所述控制部将与紧挨在执行所述给定的故障安全处理之前已发送的挑战码的值相同的值设为所述挑战码的值。

(6)也可以在上述(1)至(5)中任一方式中,所述控制部根据通信状态来变更所述规定次数的值。

(7)也可以在上述(6)的方式中,具备:无线通信部,其通过无线与所述被认证装置进行通信,所述控制部在所述无线通信的接收信号强度比给定值弱的情况下,将所述规定次数的值设为比所述接收信号强度强于所述给定值的情况下的值大的值。

(8)也可以在上述(6)或(7)的方式中,所述控制部在与所述被认证装置进行通信的通信线路中每单位时间的通信量比给定值多的情况下,将所述规定次数的值设为比所述通信量少于所述给定值的情况下的值大的值。

(9)本发明的一方式所涉及的通信系统具备:上述(1)至(8)中任一方式的第1通信装置;和第2通信装置,其发送所述请求信号,在发送了所述请求信号之后,接收挑战码,基于所述挑战码来生成响应码,并将所生成的所述响应码发送给所述第1通信装置。

(10)本发明的一方式所涉及的通信装置的通信方法是以下通信方法,所述通信装置基于所接收到的请求信号来发送挑战码,并根据该挑战码和基于该挑战码而生成的响应码来实施对发送所述请求信号的被认证装置的认证,所述通信方法包括:在所述挑战码的发送后且所述认证的完成前,对接收到来自所述被认证装置的请求信号的次数进行计数的步骤;和在所述计数的结果是所接收到的所述次数为规定次数以上的情况下,实施给定的故障安全处理的步骤。

(11)本发明的一方式所涉及的程序用于使通信装置的计算机执行步骤,所述通信装置基于所接收到的请求信号来发送挑战码,并根据该挑战码和基于该挑战码而生成的响应码来实施对发送所述请求信号的被认证装置的认证,所述步骤包括:在所述挑战码的发送后且所述认证的完成前,对接收到来自所述被认证装置的请求信号的次数进行计数的步骤;和在所述计数的结果是所接收到的所述次数为规定次数以上的情况下,实施给定的故障安全处理的步骤。

根据本发明所涉及的方式,通过在基于所接收到的请求信号来发送挑战码,并根据该挑战码和基于该挑战码而生成的响应码来实施对发送所述请求信号的被认证装置的认证的通信装置中具备控制部,该控制部在所述挑战码的发送后且所述认证的完成前从所述被认证装置接收到规定次数以上的请求信号的情况下,进行给定的故障安全处理,从而能够提供一种能够进一步提高通信所涉及的认证的可靠性的通信装置、通信系统、通信方法以及程序。

附图说明

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

图2a是示出本实施方式的ecu10的硬件结构的图。

图2b是示出本实施方式的ecu10的功能结构的图。

图3是示出本实施方式的典型的通信过程的图。

图4是本实施方式的ecu10中的认证处理的状态转变图。

图5是示出本实施方式的ecu10中的种子的生成处理的过程的流程图。

图6是示出关于本实施方式的图4所示的认证处理的序列的更详细的一例的图。

图7是示出外部装置50s针对ecu等的攻击的一例的图。

图8a是示出本实施方式的密钥待机状态下的处理的过程的流程图。

图8b是示出在本实施方式的变形例中在密钥待机状态下的处理中追加的处理的过程的流程图。

图9a是本实施方式的ecu10中的认证处理的状态转变图。

图9b是本实施方式的变形例的ecu10中的认证处理的状态转变图。

图10是示出第2密钥待机状态下的处理的过程的流程图。

图11是本实施方式的ecu10中的认证处理的状态转变图。

图12是示出第3实施方式中的第2事例的密钥待机状态下的处理的过程的流程图。

图13是本实施方式的ecu10中的认证处理的状态转变图。

图14是示出第4实施方式中的阈值m的调整处理的过程的流程图。

图15是示出第5实施方式中的阈值m的调整处理的过程的流程图。

具体实施方式

以下,参照附图对本发明的通信装置、通信系统、通信方法以及程序的实施方式进行说明。

(第1实施方式)

图1是示出本实施方式的通信系统1的结构的图。通信系统1例如搭载于车辆。通信系统1至少在车辆内构成网络nw。在网络nw中,例如,经由总线2进行基于can(controllerareanetwork,控制器区域网络)、ieee802.3等通信方式的通信。

通信系统1具备连接于总线2的ecu10-1~ecu10-3。

以下,在对ecu10-1~ecu10-3不加以区分的情况下,简记为ecu10。ecu10-1~ecu10-3等装置作为连接于共同的总线2的装置来进行说明,但也可以连接于通过未图示的中继装置等彼此可通信地连接的不同的总线。

ecu10例如是控制发动机的发动机ecu、控制安全带的安全带ecu等。ecu10接收发送到本装置所属的网络nw的帧。以下,将发送到网络nw的各帧称为帧f。帧f通过各自所附加的标识符(以下称为id。)来识别。ecu10将对本ecu10所涉及的帧f进行识别的id(以下称为登记id)保存在存储部12(图2b)中。ecu10在接收帧f时,参照在接收到的帧f所附加的id(以下称为接收id),提取附加有与登记id相同的值的接收id的帧f来获取。ecu10在进行通信时实施通信对象的认证处理。

在网络nw中,设置有通信装置3,该通信装置3设置了作为连接验证装置等外部装置50的端子的dlc。在车辆的检查时等与通信装置3连接的验证装置等是外部装置50的一例。验证装置与连接于总线2的ecu10进行通信,检查/验证通信系统1的状态。除了车辆的检查时等以外,能够不将验证装置等与通信装置3进行连接,使通信系统1发挥功能。

图2a是示出本实施方式的ecu10的硬件结构的图。ecu10是计算机,其包含:cpu10a、rom(readonlymemory,只读存储器)、eeprom(electricallyerasableandprogrammablereadonlymemory,电可擦除可编程只读存储器)、hdd(harddiskdrive,硬盘驱动器)的非易失性存储装置10c、ram(randomaccessmemory,随机存取存储器)、寄存器等的易失性存储装置10b、无线通信接口10d、输入输出装置10e和通信接口10f等。另外,ecu10根据其种类或用途,存在不包含无线通信接口10d和输入输出装置10e中的任意一方或双方的情况。

图2b是示出本实施方式的ecu10的功能结构的图。ecu10包含控制部11、存储部12、通信控制部13和代码生成部14。例如,控制部11、通信控制部13和代码生成部14通过cpu10a等处理器执行程序来实现。

控制部11控制包含通信控制部13和代码生成部14在内的各部。例如,控制部11受理来自外部装置50等的通信请求,并且根据来自外部装置50等的通信请求来实施该外部装置50等的认证处理。以下,以控制部11所执行的认证处理为中心进行说明。

存储部12通过非易失性存储装置10c和易失性存储装置10b来实现。存储部12保存应用程序、通信控制程序等程序和通过上述程序的执行而参照的各种信息。在各种信息中,包含由代码生成部14生成且值被决定的挑战码(以下称为“种子(seed)”。)、基于上述的种子的响应码(以下称为密钥1。)等。上述的种子被追加到代码db中,并作为代码db而保存在存储部12中。上述的密钥1作为能够将种子的值参照为密钥的密钥db而保存在存储部12中。

通信控制部13控制经由通信接口10f的与外部装置的通信。通信接口10f是将ecu10连接于总线2的接口。

通过通信控制部13控制通信接口10f,从而能够进行与控制部11请求的其他装置的通信。通信控制部13接受来自通信接口10f的通知,将来自其他装置的通信请求通知给控制部11。通过控制部11中的认证处理等,从而判断针对来自其他装置的通信请求的允许/禁止。

代码生成部14生成种子。例如,代码生成部14生成作为每次认证处理时随机生成的随机数的种子。或者,代码生成部14也可以生成与实施了认证处理的次数对应的值的种子。此时,代码生成部14既可以作为基于实施了认证处理的次数的运算处理的结果而决定并生成种子的值,也可以将实施了认证处理的次数作为关键字,参照预先决定了值的表来决定并生成。

图3是示出本实施方式的典型的通信过程的图。ecu10通过实施通信对象的认证处理,来限制通信对象。该图所示的通信过程示出通信对象的认证处理所涉及的典型的一例。

例如,外部装置50(被认证装置)发送种子请求。ecu10接收种子请求(m31)。

ecu10(控制部11)接收所接收到的种子请求,由代码生成部14生成种子,并进行发送(m32)。例如,ecu10(控制部11)从存储部12的密钥db获取与该种子对应的密钥1。另外,控制部11也可以取代上述而基于给定的运算式来计算密钥1。

外部装置50接收种子,基于该种子生成响应码(以下称为密钥2。),并进行发送。ecu10(控制部11)接收外部装置50发送的密钥2(m33)。

ecu10(控制部11)基于与该种子对应的密钥1和所接收到的密钥2来实施认证处理,并通知其结果(m34)。

以上是通信对象的认证处理的典型的一例。另外,在以下的说明中,在对密钥1与密钥2不加以区分而总体地表示的情况下,有时简称为密钥(key)。

图4是本实施方式的ecu10中的认证处理的状态转变图。

控制部11在处于未进行通信的待机状态(st0:待机)时,通过接收种子请求(请求接收),从而使控制状态转变为执行决定种子的值的处理的状态(以下称为种子决定处理状态。)(st1:种子决定)。

控制部11在处于种子决定处理状态(st1)时,通过发送所生成的种子,从而使控制状态转变为密钥2的接收待机状态(st2:密钥2等待)。

控制部11在处于密钥2的接收待机状态(st2:密钥2等待)时,通过接收密钥2(密钥接收),从而转变为实施认证处理的控制状态(st3:认证)。

控制部11通过认证处理完成(处理完成),从而使控制状态转变为待机状态(st0)。

另外,控制部11在处于密钥2的接收待机状态(st2:密钥2等待)时,通过接收种子请求(请求接收),从而使控制状态转变为种子决定处理状态(st1:种子决定)。

图5是示出本实施方式的ecu10中的种子的生成处理的过程的流程图。另外,在以下的例子中,设为种子是由代码生成部14根据与认证处理相关的反复次数而决定的值来进行说明,但种子也可以不基于与认证处理相关的反复次数而是随机生成的随机数。控制部11以种子请求的接收为契机,实施下述的处理。控制部11将与认证处理相关的反复次数k相应的种子的值决定为由代码生成部14决定的值(s11)。控制部11发送所决定的种子(s12),并且追加到代码db中。控制部11基于存储在存储部12中的运算式来计算与所决定的种子对应的密钥1(s13)。例如,通过上述的过程,控制部11获取种子以及与种子对应的密钥1。

图6是示出关于图4所示的认证处理的状态遷移的更详细的一例的图。以与图4的不同点为中心进行说明。

控制部11不持续发送与所发送的种子相同值的种子。例如,控制部11即使在从密钥2的接收待机状态(st2)返回至种子决定处理状态(st1)的情况下,也不发送与之前刚刚发送过的种子相同值的种子。

例如,如图6所示,作为密钥2的接收待机状态(st2),定义从st21到st2n的n个(n表示自然数。)的状态。控制部11在st11至st1n的各状态下决定的种子的值全都不同。

控制部11在处于st11的种子决定处理状态时,通过发送种子(例如种子#1),从而使其控制状态转变为密钥2的接收待机状态(st21:密钥2等待)。

接着,控制部11在处于st21时,通过接收种子请求(请求接收),从而使其控制状态转变为种子决定处理状态(st12:种子决定)。

控制部11在处于st12的种子决定处理状态时,发送种子(例如种子#2)。以下相同。

另外,控制部11在处于st2n时,通过接收种子请求(请求接收),从而使其控制状态转变为种子决定处理状态(st11:种子决定)。另外,在将种子作为随机数生成的情况下,无需伴随上述的转变调整种子的值,可以与到达st2n为止同样地继续随机数的生成。

另外,控制部11在处于st21~st2n的密钥2的接收待机状态时,通过接收密钥2(密钥接收),从而转变为基于从各状态下的种子而被建立对应的密钥1以及与种子对应的密钥2来实施认证处理的控制状态(st3:认证)。

然而,有时伪装成外部装置50的装置(以下称为外部装置50s。)等出于以不正当的方法通过(clear)ecu10中的认证处理(从ecu10得到其为正规的装置的认证)为目的,企图获取与种子对应的密钥的信息。例如,作为外部装置50的一例,可以列举ecu10的诊断机。

在上述的外部装置50s中,包括对ecu10的诊断机进行非法改造而得到的设备、伪装成诊断机的装置等。

图7是示出外部装置50s针对ecu等的攻击的一例的图。外部装置50s为了获取与种子和密钥的规则性相关的信息,有时会对ecu10等实施图示那样的攻击。

外部装置50s反复发送种子请求。比较例的ecu接收种子请求,每次均计算种子,并送回给外部装置50s。比较例的ecu不能识别是正当的种子请求还是基于攻击性的过程的种子请求,根据接收种子请求,依次发送所决定的种子。

例如,像种子#1,种子#2,…,种子#k那样发送值不同的种子。外部装置50s根据这些种子的值发现比较例的ecu的种子的值的规则性等,积累用于清除该ecu中的认证处理的见解。

在该情况下,存在通过基于上述的见解的分析,外部装置50s可能会根据从比较例的ecu接收的任意的种子来计算出密钥的担心。

此外,外部装置50s即使不能根据所接收到的任意的种子来计算出密钥,有时通过窃取正规的诊断机的通信,也会拥有能够获得认证的特定的种子与密钥的组合。在该情况下,担心外部装置50s在反复进行种子请求的发送并能够接收到拥有自信的特定的组合所涉及的种子的情况下,会实施通过向ecu等发送与该种子对应的密钥而获得认证这样的不正当的处理。

在比较例的ecu等中,即使如前述的图6所示种子的值形成为到循环一轮为止的次数增多,在外部装置50s机械地实施图7所示的处理的情况下,其有效性有时也会降低。此外,种子的值即使生成为不依赖于认证处理的次数的完全的随机数,也如上所述,设想如下情况,即,在能够接收到特定的组合所涉及的种子的情况下,由于通过回复与该种子对应的密钥而获得认证这样的不正当的处理,认证的有效性降低。

因此,本实施方式的ecu10在认证处理的一部分实施下述的处理。图8a是示出本实施方式的密钥(key)待机状态下的处理的过程的流程图。

以下所示的处理在从接收到第1次的种子请求起到认证完成为止的期间,通过接收到包含密钥的消息、包含第k次的种子请求的消息等消息而执行。另外,k是n以下的自然数。

首先,控制部11判定是否接收到包含密钥2的消息(s21)。

接着,在接收到包含密钥2的消息的情况下(s21:“是”),控制部11将存储部12的代码db初始化。接着,控制部11实施基于所接收到的密钥2的认证处理(s22),并通知其结果。控制部11将表示反复次数的变量k的值设为0(s23),并且使控制状态转变为待机状态st0,结束图示的一系列的处理。

在未接收到包含密钥2的消息的情况下(s21:“否”),控制部11判定所接收到的消息是否包含种子请求(s24)。

在接收了包含种子请求的消息的情况下(s24:“是”),控制部11使表示反复次数的变量k的值加1来进行更新(s25)。接着,控制部11获取阈值m(s26),并判定变量k的值是否已超过阈值m(s27)。另外,阈值m是小于n的自然数。本实施方式中的阈值m也可以是给定的值。

在变量k的值小于阈值m的情况下(s27:“否”),控制部11实施对与变量k对应的次数的种子请求相应的种子的值进行决定的种子决定处理(s28),并结束图示的一系列的处理。

在未接收到包含种子请求的消息的情况下(s24:“否”)、或变量k的值为阈值m以上的情况下(s27:“是”),结束图示的一系列的处理,并对接下来接收的消息进行待机。

另外,在以上的例子中,设为种子是根据与认证处理相关的反复次数(k)而决定的值来进行了说明,但种子也可以不基于与认证处理相关的反复次数而是随机生成的随机数。

图9a是本实施方式的ecu10中的认证处理的状态转变图。以与图6的不同点为中心进行说明。图9a示出将阈值m设为3(给定的次数)的情况。

例如,若在st21中发送了种子之后并未完成认证,而是接受2次的种子请求,则达到st13的种子决定处理状态。在处于st13的情况下,控制部11通过发送种子,从而使控制状态转变为密钥2的接收待机状态(st23:密钥2等待)。

接着,控制部11在处于st23时,通过接收第3次的种子请求(请求接收),从而执行图8a所示的处理。结果,控制部11通过图8a的s27中的判定,判定为变量k的值(2+1)为阈值m的值(3)以上(s27:“是”)。即,控制部11虽然结束图8a所示的一系列的处理,但是其控制状态不从st23变化。即,控制部11在如上述那样接受到反复请求的情况下,实施不发送种子这样的故障安全(failsafe)处理。

根据上述的实施方式,ecu10基于所接收到的种子请求(请求信号)来发送种子(挑战码)。ecu10根据该种子和基于该种子而生成的密钥2(响应码),来实施对发送种子请求的外部装置50等被认证装置的认证。ecu10的控制部11在种子的发送后且对所发送的种子的认证的完成前,从被认证装置接收了规定次数以上的种子请求的情况下,实施给定的故障安全处理,抑制不正当的认证处理的清除,由此能够进一步提高通信所涉及的认证的可靠性。

另外,通过“认证的完成前”是接收到密钥2为止的时间点,即使涉及到非法装置为了避免被做出认证不合格的判定,并不发送密钥2而只是反复发送种子请求这样的行为,ecu10也能够对此进行应对。即,ecu10在接收密钥2之前从被认证装置接收到规定次数(阈值)以上的种子请求的情况下,会执行给定的故障安全处理,因而能够采取针对不正当地反复发送的种子请求的对策。

另外,本实施方式的控制部11作为上述的给定的故障安全处理,而实施不发送针对从被认证装置接收到的种子请求的种子这样的对种子的发送进行限制的处理(挑战码发送禁止处理)。

(第1实施方式的变形例)

接下来,对第1实施方式的变形例进行说明。在第1实施方式中,关于对是否实施故障安全处理进行判定的期间,针对在种子的发送后且针对所发送的种子的“认证的完成前”比接收到密钥2为止的时间点靠前的事例进行了说明。取而代之,在本变形例中,针对该“认证的完成前”比通过与种子对应的密钥1和所接收到的密钥2是否一致的判定来判定被认证装置是否为正规的装置的时间点靠前的情况进行说明。以与第1实施方式的不同点为中心进行说明。

图9b是本变形例的ecu10中的认证处理的状态转变图。以与图9a的不同点为中心进行说明。在图9b中,将在转变为st3后且st3中的“认证的完成前”进一步接收到请求处理的情况下的转变追加到了前述的图9a所示的状态转变图中。

在st3中的“认证的完成前”,即,在比通过与种子对应的密钥1和所接收到的密钥2是否一致的判定来判定被认证装置是否为正规的装置的时间点更靠前,接收到种子请求(请求接收)的情况下,ecu10对接收到种子请求的次数(k)进行计数。ecu10在接收到种子请求的次数(k)小于给定的次数(m’)的情况下,不使状态转变而继续认证处理。ecu10在接收到种子请求的次数(k)为给定的次数(m’)以上的情况下,中断认证处理,并且使状态转变为待机状态(st0)。另外,作为上述的给定的次数而决定的阈值m’的值可以与前述的阈值m的值相同,也可以是不同的值。

对用于实现上述的状态转变的处理的一例进行说明。ecu10除了前述的图8a所示的密钥待机状态下的处理之外,还实施图8b所示的处理。图8b是示出在本实施方式的变形例中在密钥待机状态下的处理中追加的处理的过程的流程图。控制部11通过图8a的s21的判定,判定为接收到包含密钥2的消息(s21:“是”),实施基于所接收到的密钥2的认证处理,并且将图8b所示的处理作为中断处理来实施(s22)。

图8b所示的es24~es26的处理相当于图8a所示的s24~s26的处理。另外,将s26中的阈值m重读为阈值m’。即,控制部11在s22的认证处理的执行过程中并行地检测种子请求的接收,通过检测到该接收,从而实施基于检测次数的下述的处理。

在es27的判定中,变量k的值为阈值m’以上的情况下(es27:“是”),控制部11实施故障安全处理,并中断认证处理(es28)。控制部11将表示反复次数的变量k的值设为0(s23),并使控制状态转变为待机状态st0。

在es27判定中,变量k的值小于阈值m’的情况下(es27:“否”),控制部11维持原样继续认证处理。

根据本变形例,通过“认证的完成前”的期间是比通过与种子对应的密钥1和所接收到的密钥2是否一致的判定来判定被认证装置是否为正规的装置的时间点靠前的期间,从而包含认证处理完成为止的期间。此外,在“认证的完成前”的期间中,还包含接收到密钥2之前的期间。控制部11通过在例如包含接收到密钥2之前的期间的认证的完成前的期间中从被认证装置接收到规定次数以上的种子请求的情况下,实施给定的故障安全处理,来抑制不正当的认证的获取,从而能够采取针对不正当地反复发送的种子请求的对策,能够进一步提高通信所涉及的认证的可靠性。

(第2实施方式)

接下来,对第2实施方式进行说明。在第1实施方式中,对在超过给定的次数接受到反复请求的情况下不发送种子的事例进行了说明。取而代之,在本实施方式中,对发送在执行故障安全处理以前曾发送过的种子的第1事例进行说明。

图10是示出密钥待机状态下的处理的过程的流程图。以与图8a的不同点为中心进行说明。s21~s27参照前述的图8a的说明。

在变量k的值为阈值m以上的情况下(s27:“是”),控制部11将变量k的值设为m(s29)。控制部11基于在s29中设定的变量k的值(m)执行种子决定处理,即,使针对第m次以后的种子请求的种子的值成为第m次的种子请求的种子的值(s28),并结束图示的一系列的处理。

在未接收到包含种子请求的消息的情况下(s24:“否”),结束图示的一系列的处理,对接下来接收的消息进行待机。

图11是本实施方式的ecu10中的认证处理的状态转变图。以与图6的不同点为中心进行说明。图11示出将阈值m设为3(给定的次数)的情况。

例如,若在st21中发送了种子之后并未完成认证而接受2次的种子请求,则转变为st13的种子决定处理状态。在处于st13的情况下,控制部11通过发送种子,从而使控制状态转变为密钥2的接收待机状态(st23:密钥2等待)。

接着,控制部11在处于st23时,通过接收种子请求(请求接收),从而执行图10所示的处理。上述的种子请求是从在st21中发送种子之后进行计数第3次的种子请求。结果,控制部11通过图10的s27中的判定,判定为变量k的值(2+1)为阈值m的值(3)以上(s27:“是”)。即,控制部11在与上次的种子请求相应的处理中,基于在图10的s29中设定的变量k的值,使控制状态转变为种子决定处理状态st13,从而发送与第3次(第m次)的种子请求相应的种子的值。以后,控制部11通过与上述同样的判定的结果,在st13与st23之间使控制状态转变,直到用于转变为st31的条件成立。控制部11即使以后接收到种子请求,也发送与在st13的状态下发送了的种子的值相同的值作为种子的值。

即,控制部11在如上述那样反复接受到种子请求的情况下,实施发送从已经发送过的种子中选择的种子这样的故障安全处理。

根据上述的实施方式,除了取得与第1实施方式同样的效果之外,控制部11通过执行给定的故障安全处理,将代码生成部14决定的种子的值设为在执行上述的给定的故障安全处理之前发送了的种子的值,从而限制发送新的种子的值,由此能够进一步提高通信所涉及的认证的可靠性。

此外,控制部11通过将与在执行故障安全处理以前发送了的种子的值相同的值设为种子的值,从而能够限制与以前发送过的种子的值不同的值的送出,进一步提高通信所涉及的认证的可靠性。

(第3实施方式)

接下来,对第3实施方式进行说明。在第1实施方式中,对在超过给定的次数接受到反复请求的情况下不发送种子的事例进行了说明,取而代之,在本实施方式中,对发送在执行故障安全处理以前发送了的种子的第2事例进行说明。

图12是示出本实施方式中的密钥待机状态下的处理的过程的流程图。以与图8a的不同点为中心进行说明。s21~s27参照前述的图8a的说明。

在通过变量k的值是否为阈值m以上的判定(s27),该变量k的值为阈值m以上的情况下(s27:“是”),控制部11将变量k的值设为1(s29),并使请求受理限制标志有效(s30)。请求受理限制标志在其被有效的情况下,表示处于限制种子请求的受理的状态。

在变量k的值小于阈值m的情况下(s27:“否”)或结束s30的处理之后,控制部11实施基于规定的种子决定处理(s28),并结束图示的一系列的处理。

另外,在送出种子之后,变量k的值小于阈值m的情况下,处于请求受理限制标志被无效的状态。在该情况下,在上述的基于规定的种子决定处理中,控制部11实施下述的处理。在该情况下,控制部11对代码生成部14进行控制,决定与变量k对应的次数的种子请求相应的种子的值。

另一方面,在送出种子之后,一旦变量k的值成为阈值m以上的情况下,处于请求受理限制标志有效的状态。在该情况下,在基于上述的规定的种子决定处理中,控制部11实施下述的处理。在该情况下,控制部11参照存储部12的代码db,从过去已发送的种子的值中,决定本次发送的种子的值。例如,控制部11选择在与变量k的值对应的次数时生成的种子的值作为所发送的种子的值。

在未接收到种子请求的情况下(s24:“否”),结束图示的一系列的处理,对接下来接收的消息进行待机。

另外,在本实施方式中,控制部11在结束了s23的处理的阶段,实施使请求受理限制标志无效的处理。

图13是本实施方式的ecu10中的认证处理的状态转变图。以与图6的不同点为中心进行说明。图13示出将阈值m设为3(给定的次数)的情况。

例如,若在st21中发送了种子之后并未完成认证而接受2次的种子请求,则达到st13的种子决定处理状态。在处于st13时,控制部11通过发送种子,从而使控制状态转变为密钥2的接收待机状态(st23:密钥2等待)。

接着,控制部11在处于st23时,通过接收第3次的种子请求(请求接收),从而执行图12所示的处理。结果,控制部11通过图12的s27中的判定,从而判定为变量k的值(2+1)为阈值m的值(3)以上(s27:“是”)。即,控制部11基于在图12的s29中设定的变量k的值(k=1),使控制状态转变为种子决定处理状态st11,发送与根据第1次的种子请求而发送的种子的值相同的种子的值。以后,控制部11与图6的情况同样地,使控制状态进行转变。在该过程中,控制部11重新发送在st11、st12、st13的各状态下发送了的种子的值作为各个状态的种子的值。

即,控制部11在如上述那样接受到反复请求的情况下,实施发送从已经发送过的种子中选择的种子这样的故障安全处理。

根据上述的实施方式,取得与第1实施方式以及第2实施方式共同的效果。

(第4实施方式)

接下来,对第4实施方式进行说明。在第1~第3实施方式中,对将反复接受种子请求的次数设为固定的事例进行了说明,取而代之,在本实施方式中,对根据状态对反复接受种子请求的次数进行调整的事例进行说明。

如前述的图2b所示,通信控制部13利用通信接口10f来检测经由总线2的通信的通信量。

控制部11从通信控制部13获取经由总线2的通信的通信量。所谓通信量,例如,是每单位时间的分组数、帧数、数据量、总线2的占有率等的一部分或全部。控制部11基于从通信控制部13获取的通信量,对阈值m进行调整。

在利用总线2的分组通信中,通信量依赖于每单位时间的分组数、该分组的分组大小等。通信量变多,则分组的发送所需要的时间(总线的占有时间)相对于总时间的比率变高。若通信量超过给定值,则会发生拥塞,出现不一定能够在所请求的定时发送分组的状况。若成为上述的状况,则在两个装置间建立通信为止的序列所涉及的时间会延长,或者产生直到分发为止的时间超时而被丢弃的分组。

因此,本实施方式的控制部11在与外部装置50(被认证装置)通信的总线2(通信线路)中每单位时间的通信量多于给定值的情况下,将反复接受种子请求的次数(规定次数)的值设为比通信量少于给定值的情况下的值大的值。

图14是示出本实施方式中的阈值m的调整处理的过程的流程图。

例如,用分组通信的总线2的占用时间与整体时间的比率来表示通信量,将未进行通信的状态下的占有率设为0%,将实际上未发生但占有着总线2的状态下的占有率设为100%。

例如,通信控制部13利用通信接口10f来检测经由总线2的通信的通信量(s41)。控制部11基于所检测出的通信量,计算表示通信量的占有率μ(s42)。控制部11判定占有率μ是否为阈值th(例如,50%)以上(s43)。在表示通信量的占有率小于阈值th的情况下(s43:“是”),将阈值m的值决定为m1(s44)。例如,设m1为3。

在表示通信量的占有率为阈值th以上的情况下(s43:“否”),将阈值m的值设为m2(s45)。例如,设m2为10。另外,m1的值比m2的值小。

根据上述的实施方式,除了取得与第1实施方式同样的效果之外,控制部11还根据通信状态,变更反复接受种子请求的次数(规定次数)的值。例如,控制部11通过在与外部装置50(被认证装置)通信的通信线路(总线2)中每单位时间的通信量多于给定值的情况下,将反复接受种子请求的次数的值设为比该通信量少于给定值的情况下的值大的值,从而能够成为与通信量的大小相应的最佳的认证处理。

(第5实施方式)

接下来,对第5实施方式进行说明。在第1~第4实施方式中,对利用总线2作为通信线路的有线通信的事例进行了说明,取而代之,在本实施方式中,对无线通信的事例进行说明。以与前述的实施方式的不同点为中心进行说明。

图1所示的通信系统1例如搭载于车辆,在车辆内形成具有能够通过无线进行通信的区域的网络nw。例如,该通信方式是ieee802.11、bluetooth(注册商标)等。

在通信系统1具有的ecu中,至少具有无线通信接口10d,包含能够进行无线通信的ecu10-1。能够进行无线通信的ecu10-1也可以还与其他的ecu10一起连接于共同的总线2。

终端装置60是智能手机等便携式终端。终端装置60包含计算机,通过使计算机执行应用软件、os等程序,来实现与ecu10-1的无线通信功能。终端装置60若执行具有恶意的程序等,则存在以不正当的通信过程发送种子请求的情况。

对此,ecu10-1可以构成为通过前述的第1~第4实施方式所示的方式,从而针对以不正当的通信过程发送的种子请求,实施给定的故障安全处理。

进而,取而代之,ecu10-1也可以组合下述的处理来实施给定的故障安全处理。

例如,ecu10-1中的通信控制部13利用无线通信接口10d,检测接收信号强度。

控制部11从通信控制部13获取所检测出的接收信号强度。控制部11基于从通信控制部13获取的接收信号强度,对阈值m进行调整。

在无线通信中,若接收信号强度下降,则受到串扰、多路径、噪声等的影响,不能正常地接收分组的概率增加。即,若接收信号强度下降,则需要重新发送的概率变高。

因此,本实施方式的控制部11在利用无线通信接口10d检测出的接收信号强度比给定值弱的情况下,将反复接受种子请求的次数(规定次数)的值调整为比接收信号强度强于给定值的情况下的值大的值。

图15是示出本实施方式中的阈值m的调整处理的过程的流程图。

例如,通信控制部13利用无线通信接口10d,来检测接收信号强度rsi(s51)。控制部11判定接收信号强度rsi是否为阈值th(例如,50%)以上(s53)。在接收信号强度rsi小于阈值th的情况下(s53:“是”),控制部11将阈值m的值决定为m1(s54)。例如,设m1为3。

在表示通信量的接收信号强度rsi为阈值th以上的情况下(s53:“否”),控制部11将阈值m的值设为m2(s55)。例如,设m2为10。另外,m2的值比m1的值大。

根据上述的实施方式,除了取得与第1实施方式同样的效果之外,控制部11还根据通信状态,变更反复接受种子请求的次数(规定次数)的值。例如,控制部11在无线通信的接收信号强度rsi比阈值th弱的情况下,将反复接受种子请求的次数的值m1设为比接收信号强度rsi强于阈值th的情况下的值大的值m2,由此能够成为与通信状态的好坏(无线通信强度)相应的最佳的认证处理。

根据以上说明的至少一个实施方式,ecu10基于所接收到的请求信号来发送挑战码,并根据该挑战码和基于该挑战码而生成的响应码来实施对发送请求信号的被认证装置的认证。ecu10的控制部11在挑战码的发送后且认证的完成前从被认证装置接收到规定次数以上的请求信号的情况下,进行给定的故障安全处理。由此,在反复接收到仅请求挑战码的指令的情况下,ecu10可以判定为正从其他装置等在受到攻击。进而,在进行了这样的判定的情况下,ecu10对于上述的针对挑战码的请求,执行如下等故障安全处理:(1)不进行按照所决定的过程的响应;(2)无响应(不发送种子);(3)进行与真正的过程不同的响应。

以上,关于用于实施本发明的方式,使用实施方式来进行了说明,然而本发明并不受这样的实施方式的任何限定,在不脱离本发明的主旨的范围内中能够施加各种变形以及置换。

例如,也可以将上述的各实施方式所示的技术适当进行组合来实施。

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