认证系统和认证方法

文档序号:3864293阅读:253来源:国知局
认证系统和认证方法
【专利摘要】在车载控制装置(100A~100D)设置有赋予部(130),所述赋予部(130)将在通信数据的发送源的合法性验证中使用的消息代码赋予给相应的通信数据。车载控制装置(100A~100D)具有更新部(120),每当通信数据的通信完成时,所述更新部(120)更新密钥代码及消息代码。认证部(140)基于通过消息代码的复原而得到的随机代码和合法的车载控制装置(100A~100D)保有的随机代码的比较结果来验证通信数据和/或其发送源。
【专利说明】认证系统和认证方法

【技术领域】
[0001]本发明涉及适用于例如由搭载于车辆的车载控制装置进行的认证的有益的认证系统及认证方法。

【背景技术】
[0002]在近年来的汽车等车辆中,搭载有以构成导航系统的车载控制装置为首的对发动机和/或制动器等各种车载设备进行电子控制的车载控制装置。另外,在车辆搭载有控制显示车辆的各种状态的仪表等设备的车载控制装置等的大量车载控制装置。并且,各车载控制装置通过通信线而电连接,由此形成车辆网络,经由该车辆网络在各车载控制装置间进行各种车辆数据的收发。
[0003]另一方面,在近年来的高度电子化的汽车等车辆中,为了判断利用车辆本身和/或搭载于该车辆的各种车载设备的用户是否为合法用户,进行如下认证:对车辆和/或车载设备进行私有代码(个人识别码)的授受的基于认证密钥的认证,或者使用了预定的密码的用户认证。
[0004]另外,在这样的认证中使用的认证密钥通过仅由具有合法权限的用户和/或装置所有,能维持首次认证的安全性。因而,例如如专利文献I所示,也研究了如下系统等:对在认证中使用的秘密密钥使用在该秘密密钥的分发目的地预先保有的密钥进行加密,将该加密后的秘密密钥向分发目的地分发。
[0005]如图14所示,在该系统中,通过写入器18向成为在认证中使用的秘密密钥16的分发目的地的车辆I预先写入作为该车辆I固有的密钥的车载器中心密钥22。另外,也通过写入器18向成为该秘密密钥16的分发目的地的电子钥匙2预先写入该电子钥匙2固有的电子钥匙中心密钥23。
[0006]在生成、分发秘密密钥16的中心20预先保有车辆I及电子钥匙2所保有的车载器中心密钥22及电子钥匙中心密钥23。并且,中心20在秘密密钥16的分发时,使用与车辆I保有的密钥共同的密钥即车载器中心密钥22,对向车辆I分发的秘密密钥16进行加密。另外,中心20使用与电子钥匙2保有的密钥共同的密钥即电子钥匙中心密钥23,对向电子钥匙2分发的秘密密钥16进行加密。并且,中心20将各个加密后的秘密密钥16向车辆I和电子钥匙2分发。在车辆I及电子钥匙2中,通过自身保有的车载器中心密钥22及电子钥匙中心密钥23,对加密后的秘密密钥16进行解密。然后,使用该解密后的秘密密钥16,进行中心20与车辆I及电子钥匙2之间的加密通信。这样,在专利文献I所记载的系统中,通过车辆I及电子钥匙2保有的车载器中心密钥22及电子钥匙中心密钥23对秘密密钥16进行加密,因此,即使秘密密钥16在分发中途被非法取得,也能抑制非法取得的秘密密钥16被滥用。
[0007]现有技术文献
[0008]专利文献1:日本特开2011-020475号公报


【发明内容】

[0009]发明要解决的问题
[0010]但是,在上述文献I记载的系统中,在秘密密钥16的加密中使用的车载器中心密钥22和/或电子钥匙中心密钥23作为车辆I和/或电子钥匙2固有的密钥而使用。因而,从中心20分发的秘密密钥16始终通过车载器中心密钥22和/或电子钥匙中心密钥23这样的固有的密钥进行加密。因此,只要能够破译车载器中心密钥22和/或电子钥匙中心密钥23,则将加密后的秘密密钥16解密也会变得容易。
[0011]另外,若要定期地更新车载器中心密钥22和/或电子钥匙中心密钥23,则必须同时更新中心20、车辆I及电子钥匙2分别所有的密钥,使该更新后的密钥由中心20、车辆I及电子钥匙2共有。因而,一旦中心20、车辆I及电子钥匙2所保有的车载器中心密钥22和/或电子钥匙中心密钥23难以更新,则因长时间的运用,加密算法的安全性降低的所谓泄露(compromise)在所难免。
[0012]此外,这样的问题不限于中心、车辆及电子钥匙间的数据通信,在利用了通信数据的验证、认证等所使用的密钥、由这样的密钥生成的认证代码的系统中通常成为共同的问题。
[0013]本发明鉴于这样的实际情况而提出,其目的在于,提供一种通过提高数据通信所使用的通信用认证代码的管理性,能够维持使用了认证代码的认证的高可靠性的认证系统及认证方法。
[0014]用于解决问题的手段
[0015]以下,针对用于解决上述问题的手段及其作用效果进行说明。
[0016]为了实现上述目的,本发明的认证系统,是与网络连接且在收发通信数据的多个节点的认证中使用的认证系统,具备:赋予部,将在所述通信数据的发送源的合法性的验证中使用的认证代码赋予给相应的通信数据;和更新部,每当所述通信数据的通信完成时,基于所规定的认证代码的更新规定来更新所述认证代码。
[0017]为了实现上述目的,本发明的认证方法,是与网络连接且在收发通信数据的多个节点的认证中使用的认证方法,包括:赋予步骤,将在所述通信数据的发送源的合法性的验证中使用的认证代码赋予给相应的通信数据;和更新步骤,每当所述通信数据的通信完成时,基于所规定的认证代码的更新规定来更新所述认证代码。
[0018]根据上述结构或者方法,在与网络连接的节点间发送通信数据时,向该通信数据赋予认证用的认证代码。并且,每当通信数据的通信完成时,该认证用的认证代码基于预先规定的更新规定而更新。因而,在接下来发送通信数据时,要赋予给通信数据的认证代码被更新为其他认证代码。因此,例如,即使已赋予给通信数据的认证代码被非法取得,非法取得的认证代码也不同于从节点接下来发送的要赋予给通信数据的认证代码。因此,能抑制在通信数据的有无篡改的验证中使用的认证代码被非法利用。由此,能够以更高的可靠性地进行使用了认证代码的通信数据的合法性的验证,进而,能够维持使用了认证代码的认证的高可靠性。
[0019]在本发明的一个技术方案中,所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码,作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定,所述更新部通过基于所述密钥代码及变更代码的预定的运算来更新所述认证代码。
[0020]在本发明的一个技术方案中,使所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码,作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定,在所述更新步骤中,通过基于所述密钥代码及变更代码的预定的运算来更新所述认证代码。
[0021]根据上述结构或者方法,通过执行基于密钥代码及变更代码这2个代码的预定的运算,更新认证代码。即,每当通信数据的通信完成时,执行基于密钥代码及变更代码的预定的运算,更新从该运算结果获得的认证代码。因而,只要能担保这样的密钥代码及变更代码和/或运算方法的保密性,则能够基于密钥代码及变更代码维持所更新的认证代码的高保S性。
[0022]另外,根据上述结构或者方法,通过基于密钥代码及变更代码这2个代码来更新认证代码,即使更新前的认证代码被非法取得,也难以使用该认证代码来推测更新后的认证代码。因此,能够维持随时更新的认证代码的高保密性。
[0023]在本发明的一个技术方案中,所述更新部选定由预定的随机数组成的翻译代码作为所述变更代码,并通过对所述密钥代码执行使用了该选定的翻译代码的递归运算来随时更新该密钥代码,使用该随时更新的密钥代码来递归地生成所述认证代码。
[0024]本发明的一个技术方案中,在所述更新步骤中,选定由预定的随机数组成的翻译代码作为所述变更代码,并通过对所述密钥代码执行使用了该选定的翻译代码的递归运算来随时更新该密钥代码,通过该随时更新的密钥代码来递归地生成所述认证代码。
[0025]根据上述结构或者方法,通过进行使用由随机数组成的翻译代码的递归运算,随时更新在认证代码的生成中使用的密钥代码。并且,通过执行使用了该随时更新的密钥代码的预定的运算,也随时更新基于该密钥代码而生成的认证代码。即,在上述结构或者方法中,通过密钥代码的随时更新来随时更新认证代码使。因而,也能在认证代码的生成中使用的密钥代码的高保密性。由此,也能维持认证代码的生成源的保密性。
[0026]在本发明的一个技术方案中,所述密钥代码包括:所述多个节点预先保有并在所述认证代码的初次生成时使用的初始密钥;和每当通过所述初始密钥和所述翻译代码的运算来进行所述通信数据的通信时随时生成的更新密钥,所述更新部通过所述初始密钥和所述多个节点所预先保有的由预定的随机数组成的随机代码的运算来生成在通信数据的初次通信时所使用的认证代码,使用随时生成的更新密钥来更新该生成的认证代码。
[0027]在本发明的一个技术方案的认证方法中,作为所述密钥代码,选定所述多个节点所预先保有并在所述认证代码的初次生成时所使用的初始密钥;和每当通过所述初始密钥和所述翻译代码的运算来进行所述通信数据的通信时随时生成的更新密钥,所述更新步骤包括:通过所述初始密钥和所述随机代码的运算来生成在通信数据的初次通信时所使用的认证代码的步骤;和使用随时生成的更新密钥来更新该生成的认证代码的步骤。
[0028]根据上述结构或者方法,在通信数据的初次通信时,作为密钥代码,使用与网络连接的合法的节点所预先保有的初始密钥。另外,在初次通信完成后,作为密钥代码,使用通过这样的初始密钥和翻译代码的运算而随时生成的更新密钥。并且,在节点间的初次通信时,首先,基于合法的节点所预先保有的随机代码及初始密钥来生成认证代码。另外,在以后的通信时,通过执行基于随时生成的更新密钥和例如随机代码的运算来更新认证代码。
[0029]这样在上述结构或者方法中,使用仅合法的节点所预先保有的初始密钥和随机代码来生成认证代码,并且,一旦生成的认证代码被随时更新。因而,只要能够担保初始密钥和/或随机代码的保密性,则能够维持基于这些初始密钥和/或随机代码而生成并向网络发送的认证代码的高保密性。
[0030]另外,在上述结构或者方法中,认证代码基于初始密钥、翻译代码及随机代码这些多种代码而生成、更新。因此,认证代码的生成源和/或更新源更加难以确定。由此,与通信数据一起在网络中发送的认证代码的非法利用得以抑制。
[0031]在本发明的一个技术方案中,认证系统还具备:认证部,在收发所述通信数据时对成为通信对象的节点进行认证,所述认证部在对成为通信对象的节点进行认证时,从通信对象取得被赋予了消息代码的通信数据,通过对通过该取得的消息代码和该认证部保有的密钥代码的运算而复原的随机代码、和从所述通信对象接收到通信数据的节点预先保有的随机代码进行比较,来验证被赋予了所述消息代码的通信数据的合法性,所述消息代码是通过所述多个节点所预先保有的由预定的随机数组成的随机代码和所述密钥代码的运算而生成的代码,所述更新部更新所述消息代码来作为所述认证代码。
[0032]在本发明的一个技术方案中,认证方法还包括:认证步骤,在对成为通信对象的节点进行认证时,从通信对象取得被赋予了消息代码的通信数据,通过对通过该取得的消息代码和预先保有的密钥代码的运算而复原的随机代码、和从所述通信对象接收到通信数据的节点预先保有的随机代码进行比较,来验证被赋予了所述消息代码的通信数据的合法性,基于该验证结果,对在所述通信数据收发时成为通信对象的节点进行验证,所述消息代码是通过所述多个节点所预先保有的由预定的随机数组成的随机代码和所述密钥代码的运算而生成的代码,在所述更新步骤中,更新所述消息代码来作为所述认证代码。
[0033]根据上述结构或者方法,在发送通信数据时,合法的多个节点共同保有的随机代码通过密钥代码变换为消息代码。接着,将该变换后的消息代码赋予给通信数据。并且,在接收到通信数据的节点中,通过使用了该节点保有的密钥代码的运算,将消息代码复原为随机代码。其结果,当复原后的随机代码和接收到通信数据的节点预先保有的随机代码一致时,判断为通信数据及消息代码未被篡改等。通过这样的验证,在判断为通信数据及消息代码未被篡改等时,认证为通信数据及消息代码从合法的节点被适当地发送。并且,被判断为从合法节点适当地发送的通信数据被接收到该通信数据的节点所利用。
[0034]另一方面,在复原后的随机代码与接收到通信数据的节点预先保有的随机代码不同时,判断为对通信数据及消息代码进行了篡改等,或者这些通信数据及消息代码的发送源为非法节点。并且,被判断为发送源非法的通信数据作为非法通信数据而被废弃。同样,被判断为进行了篡改等的通信数据也作为非法通信数据而被废弃。
[0035]另外,在上述结构或者方法中,在通信数据的发送时被赋予并在通信数据和/或其发送源的验证中使用的消息代码作为上述认证代码而被更新。因而,即使在通信数据和/或其发送源的验证中使用的消息代码被非法取得,在接下来的通信数据的发送时,也能将其他消息代码用于通信数据的验证中。由此,通信数据和/或其发送源的验证中使用的消息代码的泄露得以抑制。
[0036]在本发明的一个技术方案中,所述认证部在对成为所述通信对象的节点进行认证之前,使用该认证部预先保有的密钥代码将通过所述密钥代码和随机代码的运算而生成的消息代码复原为随机代码,由此取得在所述通信数据的合法性的验证中使用的随机代码。
[0037]根据上述结构,在通信数据和/或其发送源的验证中使用的随机代码以通过密钥代码而变换为消息代码的状态向各节点分发。并且,在各节点中,所分发的消息代码通过预先保有的密钥代码,从消息代码复原为随机代码。另一方面,即使与网络连接的非法节点非法取得了消息代码,该非法节点也因没能保有密钥代码而无法将非法取得的消息代码复原为随机代码。即,非法节点无法非法取得随机代码,在通信数据和/或其发送源的验证中使用的随机代码的非法利用得以抑制。由此,在通信数据的通信之前分发的随机代码基于高保密性而被合法的节点所保有。
[0038]另外,根据上述结构,只要使与网络连接的合法节点预先保有密钥代码,则能够在事后使合法的节点保有随机代码。即,合法的节点在通信数据和/或其发送源的验证及随机代码的取得之前,只要保有密钥代码即可。由此,使用随机代码及随机代码的通信数据和/或其发送源的验证能基于更高的自由度进行。
[0039]在本发明的一个技术方案中,发送所述通信数据的节点将赋予给所述通信数据的认证代码以及所述变更代码分发到作为发送对象的节点,所述更新部以被赋予了所述认证代码及所述变更代码的通信数据的发送处理的完成为条件,进行使用了该变更代码的密钥代码的更新。
[0040]根据上述结构,向被发送通信数据的接收节点分发通信数据、该通信数据和/或其发送源的验证用的认证代码及用于更新密钥代码的变更代码。并且,在通信数据的发送处理完成时,更新部使用与通信数据一起向接收节点分发的变更代码来更新密钥代码。并且,使用该更新后的密钥代码来更新认证代码,该更新后的认证代码被用于接下来的通信数据的发送时。
[0041]因而,被发送通信数据的节点每当进行数据通信时,能够与通信数据一起取得所发送的用于更新认证代码的变更代码。并且,使用该变更代码来更新认证代码,该更新后的认证代码被赋予给接下来应发送的通信数据并被发送。由此,通信数据的发送处理的完成和认证代码的更新得以顺利进行。
[0042]在本发明的一个技术方案中,所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码,作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定,每当所述通信数据的通信完成时,所述更新部通过变更使用了所述变更代码的所述认证代码的运算种类来更新所述认证代码。
[0043]根据上述结构,通过执行基于密钥代码及变更代码这2个代码的运算来生成认证代码。并且,在上述结构中,每当通信数据的通信完成时,通过变更基于密钥代码及变更代码的运算种类来更新从该运算结果获得的认证代码。因而,只要能够担保这样的密钥代码及变更代码和/或运算种类的保密性,则能够维持基于密钥代码及变更代码而更新的认证代码的高保密性。
[0044]另外,根据上述结构或者方法,通过基于密钥代码及变更代码这2个代码来更新认证代码,即使例如更新前的认证代码被非法取得,也难以根据该认证代码来推测更新后的认证代码。因此,能够维持随时更新的认证代码的高保密性。
[0045]在本发明的一个技术方案中,所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码,作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定,所述更新部对在所述多个节点间发送的通信数据的通信次数计数,并使用与该计数得到的通信次数相应的个数的密钥代码来生成所述认证代码,由此更新所述认证代码。
[0046]根据上述结构,通过执行基于密钥代码及变更代码这2个代码的运算来生成认证代码。并且,在上述结构中,通过使用与通信数据的通信次数相应的个数的密钥代码来生成认证代码。即,所生成的认证代码根据通信数据的通信次数而变化为不同的代码。因而,只要能够担保这样的密钥代码及变更代码和/或加密次数的保密性,则能够维持基于密钥代码及变更代码而更新的认证代码的高保密性。
[0047]另外,根据上述结构,通过基于密钥代码及变更代码这2个代码来更新认证代码,即使例如更新前的认证代码被非法取得,也难以根据该认证代码来推测更新后的认证代码。因此,能够维持随时更新的认证代码的高保密性。
[0048]在本发明的一个技术方案中,所述多个节点包括设置于车辆并构成车辆用网络的多个车载控制装置,所述赋予部及更新部分别设置于所述多个车载控制装置,并且,每当进行经由所述车辆用网络的通信数据的收发时,设置于所述多个车载控制装置的更新部分别同步进行所述认证代码的更新。
[0049]在搭载于汽车等的车辆的车辆用网络中,例如,表示车辆的行驶速度的车速数据和/或各种控制系统的控制数据等由车载控制装置进行处理。并且,由这样的车载控制装置处理的通信数据在车辆的控制等中使用,因此,验证通信数据和/或其合法性的必要性非常高。另外,车载控制装置在车辆中大量设置,因此,车载控制装置的运算处理能力自然受到制约,难以由车载控制装置进行高度的认证处理。
[0050]在这方面,根据上述结构,作为多个节点,选定构成车辆用网络的多个车载控制装置。并且,向在这样的车载控制装置间收发的通信数据赋予随时更新的认证代码。因而,即使由车载控制装置等生成的认证代码并不是极其复杂的代码,也因该认证代码被随时更新而能够维持其高保密性。由此,即使在运算处理能力受限的车载控制装置中,也能够基于高可靠性进行使用了认证代码的通信数据和/或其发送源的验证。因此,能够维持要求高安全性的车辆用网络的高可靠性。

【专利附图】

【附图说明】
[0051]图1是表示对于本发明涉及的认证系统及认证方法的第I实施方式,适用认证系统及认证方法的车辆用网络的概略结构的框图。
[0052]图2是表示搭载有更新部及赋予部的车载控制装置的概略结构的框图。
[0053]图3(a)?(d)是表示由更新部进行的密钥代码及消息代码的更新方式的一个例子的图。
[0054]图4是表示由更新部进行的密钥代码及消息代码的更新步骤及由认证部进行的认证步骤的一个例子的时序图。
[0055]图5是表示由通信数据的发送主体进行的通信数据的发送步骤以及密钥代码及消息代码的更新步骤的一个例子的流程图。
[0056]图6是表示由通信数据的接收主体进行的通信数据的认证步骤以及密钥代码及消息代码的更新步骤的一个例子的流程图。
[0057]图7是对于本发明涉及的认证系统及认证方法的第2实施方式,表示搭载有更新部及赋予部的车载控制装置的概略结构的框图。
[0058]图8是表示由更新部进行的密钥代码及消息代码的更新步骤以及由认证部进行的认证步骤的一个例子的时序图。
[0059]图9是对于本发明涉及的认证系统及认证方法的第3实施方式,表示搭载有更新部及赋予部的车载控制装置的概略结构的框图。
[0060]图10是表示由更新部进行的密钥代码及消息代码的更新步骤以及由认证部进行的认证步骤的一个例子的时序图。
[0061]图11是对于本发明涉及的认证系统及认证方法的第4实施方式,表示搭载有更新部及赋予部的车载控制装置的概略结构的框图。
[0062]图12是表示由更新部进行的密钥代码及消息代码的更新步骤以及由认证部进行的认证步骤的一个例子的时序图。
[0063]图13(a)是对于本发明涉及的认证系统及认证方法的第5实施方式,表示搭载有更新部及赋予部的车载控制装置的概略结构的框图。图13(b)是表示作为比较例,未赋予用于更新密钥代码的翻译代码的通信数据的一个例子的图。图13(c)是表示赋予了用于更新密钥代码的翻译代码的通信数据的一个例子的图。
[0064]图14是表示现有的认证系统的概略结构的框图。

【具体实施方式】
[0065](第I实施方式)
[0066]以下,参照图1?图6来说明将本发明涉及的认证系统及认证方法具体化后的第I实施方式。此外,本实施方式的认证系统及认证方法,管理经由搭载于车辆的车辆用网络而进行的通信。此外,在本实施方式中,作为上述更新规定,确定了使用包括初始密钥和/或更新密钥的密钥代码和包括随机代码及翻译代码的变更代码来更新消息代码的规定,所述随机代码及翻译代码均由预定的随机数构成。
[0067]如图1所示,在车辆设置有对搭载于该车辆的各种车载设备进行电子控制的多个节点即车载控制装置100A?100D。车载控制装置100A?100D控制以导航系统为首的信息系统的设备、发动机和/或制动器、转向器等各种车辆驱动系统的设备、空调和/或显示车辆的各种状态的仪表等车身系统的设备等。
[0068]这样的车载控制装置100A?100D例如与构成车辆网络的通信线10连接。各车载控制装置100A?100D经由通信线10,收发表示检测车辆状态的各种传感器的检测结果的传感器数据和/或各种车载设备的控制数据等通信数据。在本实施方式中,例如,作为车辆网络的通信协议,采用了控制区域网络(CAN)。车载控制装置100A?100D按照由CAN规定的通信规定来进行通信数据的收发。
[0069]此外,在本实施方式中,例如将车载控制装置100A规定为代表各车载控制装置100A?100D的车载控制装置。
[0070]另外,在车辆中,例如,连接有车辆的诊断设备等设备的DLC(数据链路连接器)200设置在车室内。DLC200与通信线10连接,能够使与该DLC200连接的设备和与车辆用网络连接的各车载控制装置100A?100D等设备相互通信。另外,除了诊断设备之外,本实施方式的DLC200还与例如智能手机等信息终端300连接。这样的诊断设备和/或信息终端300经由DLC200与车辆用网络连接,由此取得车载控制装置100A?100D发送的通信数据。另外,诊断设备和/或信息终端300向车辆用网络发送各种数据。
[0071]车载控制装置100A?100D分别具备进行用于生成各种车载设备的控制数据的运算等各种运算的中央处理装置101。另外,车载控制装置100A?100D分别具备包括管理通信数据的收发的CAN控制器等的通信部102。
[0072]各中央处理装置101具备生成通信数据的通信数据生成部110。另外,本实施方式的各中央处理装置101具备更新部120,所述更新部120进行用于验证通信数据生成部110生成的通信数据和/或其发送源的认证代码等的生成及更新。另外同样地,本实施方式的各中央处理装置101具备赋予部130,所述赋予部130将更新部120生成或者更新的代码赋予给通信数据生成部110生成的通信数据。进而,本实施方式的各中央处理装置101具备认证部140,所述认证部140对经由车辆用网络发送的通信数据及其发送源进行认证。
[0073]如图2详细示出车载控制装置100A?100D的结构那样,本实施方式的更新部120具备消息代码生成部121,所述生成部121生成用于验证通信数据及其发送源的认证代码即消息代码。另外,本实施方式的更新部120具备密钥代码更新部122,所述更新部122生成用于生成认证代码的密钥代码。
[0074]消息代码生成部121在车辆的点火开关接通后通过车辆用网络进行最初的通信的初次通信时,如该图2虚线箭头所示,取得保存于存储区域150的初始密钥。另外同样地,在初次通信时,消息代码生成部121取得保存于存储区域150的由预定的随机数组成的随机代码。并且,消息代码生成部121通过将分别取得的初始密钥及随机代码进行例如XOR运算,生成消息代码。由此,在本实施方式中,随机代码被变换为消息代码。
[0075]另一方面,更新部120在从车辆的点火开关接通起到进行第2次以后的通信时,如该图2虚线箭头所示,取代初始密钥,从存储区域150取得该初始密钥被更新后的更新密钥。并且,消息代码生成部121通过将该取得的更新密钥及随机代码进行例如XOR运算,生成消息代码。由此,在本实施方式中,通过基于更新后的更新密钥来生成消息代码,与更新密钥一起随时更新消息代码。
[0076]此外,保存于存储区域150的初始密钥例如在车辆出厂时,预先被分发给与车辆用网络连接的合法的车载控制装置100A?100D。另外,保存于存储区域150的随机代码从与车辆用网络连接的合法的车载控制装置100A预先分发给合法的车载控制装置100B?100D等。进而,在存储区域150保存有例如由翻译代码生成部123生成的由预定的随机数组成的翻译代码。
[0077]每当经由车辆用网络的通信数据的通信完成时,密钥代码更新部122更新用于生成消息代码的密钥代码。密钥代码更新部122通过对保存于存储区域150的翻译代码及初始密钥进行例如XOR运算,更新成为初始的密钥代码的初始密钥。由此,初始密钥被变换为更新密钥。另外,在第2次以后的通信时,通过对使用中的更新密钥和翻译代码进行例如XOR运算来随时更新更新密钥。
[0078]在本实施方式中,如此递归地执行基于用于生成认证代码的包括初始密钥或者更新密钥的密钥代码、和翻译代码的运算。此外,每当由车载控制装置100A?100D进行的通信数据的发送处理完成时,这样的运算通过车辆用网络与各车载控制装置100A?100D同步进行。由此,每当经由车辆用网络的通信数据的发送处理完成时,车载控制装置10A?100D分别保有的密钥代码被随时更新。
[0079]另外,翻译代码生成部123在通信数据的发送处理之前,生成由预定的随机数组成的翻译代码。并且,翻译代码生成部123将该生成的翻译代码保存在车载控制装置100A的存储区域150。此外,翻译代码生成部123在搭载有该翻译代码生成部123的车载控制装置成为通信数据的发送主体时,生成翻译代码。并且,由翻译代码生成部123生成的翻译代码例如与通信数据一起分发。并且,所分发的翻译代码例如保存在分别设置于各车载控制装置100A?100D的存储区域150,在密钥代码的更新中使用。
[0080]进而,设置于成为代表的车载控制装置100A的随机代码生成部124在通信数据的发送处理之前,生成由预定的随机数组成的随机代码。并且,随机代码生成部124将该生成的随机代码保存在车载控制装置100A的存储区域150。本实施方式的随机代码生成部124例如以车辆的点火开关从断开变为接通为条件来生成随机代码。随机代码生成部124在点火开关变为接通后,将所生成的随机代码向车载控制装置100B?100D分发。并且,分发到各车载控制装置100B?100D的随机代码例如保存在设置于各车载控制装置100B?100D的存储区域150。
[0081]赋予部130例如在经由通信部102发送通信数据时,向该通信数据赋予基于密钥代码(初始密钥、更新密钥)而变换得到的随机代码,即消息代码。并且,赋予部130向该通信数据赋予用于更新密钥代码(初始密钥、更新密钥)的翻译代码。
[0082]搭载于各车载控制装置100A?100D的通信部102将这样被赋予了消息代码及翻译代码的通信数据向车辆用网络发送。
[0083]另外,搭载于成为代表的车载控制装置100A的通信部102在这样的通信数据的发送之前,将随机代码生成部124生成的随机代码向成为通信对象的其他各车载控制装置100B?100D分发。此外,本实施方式的通信部102为了维持随机代码的保密性,将由消息代码生成部121基于随机代码和密钥代码而变换得到的消息代码向各车载控制装置100B?100D分发。
[0084]并且,由搭载于各车载控制装置100B?100D的认证部140执行保存于存储区域150的初始密钥或者更新密钥和分发到车载控制装置100B?100D的消息代码的XOR运算。由此,伴随车辆的点火开关的接通而分发的消息代码复原为随机代码。然后,该复原的随机代码保存在各车载控制装置100B?100D具有的存储区域150。
[0085]在被赋予了消息代码和翻译代码的通信数据由通信部102接收时,车载控制装置100B?100D的认证部140对该通信数据和/或其发送源的合法性进行验证。
[0086]认证部140使用在通信数据的收发之前从车载控制装置100A预先分发的随机代码来验证通信数据和/或其发送源的合法性。即,认证部140在取得与通信数据一起发送来的消息代码时,对该消息代码和保存于存储区域150的初始密钥或者更新密钥进行XOR运算。认证部140通过这样的运算,将消息代码复原为随机代码。并且,认证部140对该复原的随机代码和从成为代表的车载控制装置100A预先分发的随机代码进行比较。
[0087]在所比较的两个随机代码一致时,认证部140认证为与消息代码一起发送来的通信数据未被篡改,该通信数据及消息代码由合法的车载控制装置100A?100D的某一个发送。并且,接收到被赋予了这样的消息代码的通信数据的车载控制装置100A?100D基于合法性被确认的通信数据来执行各种控制。
[0088]另一方面,在比较的两个随机代码不同时,认证部140例如判断为由与车辆用网络非法连接的信息终端300等篡改了消息代码和/或通信数据。另外,例如,在比较的两个随机代码不同时,认证部140判断为接收到的通信数据是由与车辆用网络非法连接的信息终端300等非法发送的数据。并且,认证部140废弃判断为进行了篡改的通信数据或者判断为非法发送的通信数据。此外,在通信数据废弃后,认证部140例如对合法的车载控制装置100A?100D等发出合法的通信数据的发送请求。
[0089]以下,参照图3,详述由本实施方式的认证系统及认证方法进行的密钥代码及认证代码的更新方式。
[0090]首先,如图3(a)所示,在车辆的点火开关接通时,搭载于成为代表的车载控制装置100A的随机代码生成部124生成随机代码Y。并且,对该生成的随机代码和车载控制装置100A保有的初始的密钥代码即初始密钥X进行例如XOR运算。由此,基于初始密钥,随机代码变换为消息代码Z (模块Z01)。接着,将该生成的消息代码从车载控制装置100A向各车载控制装置100B?100D等分发。
[0091]此外,在这里的例子中,向初始密钥、随机代码、消息代码、翻译代码及更新密钥分配预定的比特数。作为该比特数,例如,设定为从基于CAN的通信规定的64比特的通信数据中减去用于控制的比特数得到的值的一半的值。
[0092]另外,在各车载控制装置100A?100D间进行数据通信时,搭载于成为通信数据的通信主体的车载控制装置的翻译代码生成部123执行预定的运算。由此,生成由随机数组成的翻译代码α (模块Ζ02)。
[0093]这样,如图3(b)所示,被赋予了这些生成的消息代码及翻译代码的通信数据向车辆用网络发送。并且,在这样的通信数据的发送处理完成时,在各车载控制装置100Α?100D中,对与通信数据一起发送来的翻译代码和各车载控制装置100Α?100D预先保有的初始密钥进行例如XOR运算。由此,密钥代码从初始的初始密钥X更新为更新密钥X’(模块Ζ03)。接着,通过对该更新的更新密钥和随机代码进行例如XOR运算,生成消息代码Ζ’(模块Ζ04)。由此,认证代码从初始的消息代码Z更新为新的消息代码Ζ’。另外,例如,车载控制装置100Α?100D的各翻译代码生成部123新生成翻译代码α ’ (模块Ζ05)。
[0094]接着,如图3(c)所示,在车辆的点火开关接通后,进行第2次数据通信时,向通信数据赋予更新后的消息代码及翻译代码。并且,将被赋予了这些消息代码及翻译代码的通信数据向车辆用网络发送。
[0095]接着,在这样的第2次通信数据的发送处理完成时,在各车载控制装置100Α?100D中,对与通信数据一起发送来的翻译代码和各车载控制装置100Α?100D预先保有的初始密钥再次进行XOR运算。由此,密钥代码从已经被使用的更新密钥X’更新为新的更新密钥X”(模块Ζ06)。接着,通过对该更新后的更新密钥和随机代码进行例如XOR运算,生成消息代码Ζ” (模块Ζ07)。由此,认证代码从已经被使用的消息代码V进一步更新为新的消息代码Ζ”。另外,例如,车载控制装置100Α?100D的各翻译代码生成部123新生成翻译代码(模块Ζ08)。
[0096]并且,如图3(d)所示,在车辆的点火开关接通后,进行第3次数据通信时,向通信数据赋予更新后的消息代码及翻译代码,将该通信数据向车辆用网络发送。然后,同样地,已经被使用的密钥代码从已经被使用的更新密钥X”更新为新的更新密钥V” (模块Z09)。另外,通过对该更新后的更新密钥和随机代码进行例如XOR运算,生成新的消息代码。
[0097]这样,在本实施方式中,每当各车载控制装置100A?100D发送通信数据时,用于生成消息代码的密钥代码即初始密钥及更新密钥被随时更新。并且,递归地执行基于该更新的初始密钥及更新密钥和随时算出的翻译代码的运算,由此,向通信数据赋予的用于验证的消息代码被随时更新。因此,向车辆用网络发送的消息代码在每次发送通信数据时变化。因而,即使在车辆用网络与通信数据一起发送的消息代码例如被与车辆用网络连接的信息终端300等非法取得,该消息代码在下一次通信时也成为无效。因此,能抑制因非法利用消息代码而导致的欺诈等,从而维持车辆用网络的安全性。
[0098]接着,参照图4,说明本实施方式的认证系统及认证方法的作用。
[0099]如图4所示,例如在车辆的点火开关从断开切换为接通时(SOl),由成为代表的车载控制装置100A执行随机代码的分发处理。在该分发处理中,首先,对车载控制装置100A保有的初始密钥和由随机代码生成部124生成的随机代码进行例如XOR运算(S02)。然后,从该运算结果生成消息代码(S03)。接着,该生成的消息代码从车载控制装置100A向与车辆用网络连接的车载控制装置100B?100D等分发。
[0100]在各车载控制装置100B?100D接收消息代码时,对该消息代码和该车载控制装置100B?100D预先保有的初始密钥进行例如XOR运算(ROl)。然后,通过这样的运算,将消息代码复原为随机代码(R02)。
[0101]接着,进行基于该复原的随机代码的认证处理。在执行该认证处理时,例如,由成为通信数据的发送主体的车载控制装置100A生成翻译代码(S04)。然后,将该翻译代码和消息代码赋予给应发送的通信数据(赋予步骤),将该通信数据向车辆用网络发送。
[0102]在各车载控制装置100B?100D接收被赋予了翻译代码及消息代码的通信数据时,对接收到的消息代码和该车载控制装置100B?100D预先保有的初始密钥进行例如XOR运算(R03)。然后,通过这样的运算,将消息代码复原为随机代码(R04)。
[0103]然后,各车载控制装置100B?100D比较从车载控制装置100A预先分发并复原的随机代码和与通信数据一起分发并复原的随机代码(R05)。各车载控制装置100B?100D基于该比较的各随机代码是否一致,验证通信数据和/或其发送源即车载控制装置100A的合法性(R06)。
[0104]在比较的两个随机代码一致时,各车载控制装置100B?100D判断为通信数据是从合法的车载控制装置100A发送的通信数据,并且是未被篡改的通信数据。然后,各车载控制装置100B?100D执行基于该通信数据的各种控制。另一方面,在比较的各随机代码不同时,各车载控制装置100B?100D将接收到的通信数据作为由非法装置向车辆用网络发送的数据,并废弃该通信数据。或者,在比较的各随机代码不同时,各车载控制装置100B?100D认为从车载控制装置100A发送来的通信数据被非法篡改,并废弃该通信数据。
[0105]这样,在点火开关接通后,初次的通信数据的发送处理完成时,执行用于生成消息代码的密钥代码的更新处理(更新步骤)。在该更新处理中,由各车载控制装置100A?100D对例如车载控制装置100A生成、发送的翻译代码和各车载控制装置100A?100D保有的初始密钥进行例如XOR运算(S05,R07)。然后,通过该XOR运算,用于消息代码的生成的初始密钥被更新为更新密钥(S06,R08)。
[0106]接着,参照图5及图6,概括由本实施方式的认证系统及认证方法进行的通信数据的认证步骤。
[0107]如图5所示,例如,在点火开关从断开切换到接通后(步骤SlOO:是),成为代表的车载控制装置100A生成消息代码,将该生成的消息代码向例如各车载控制装置100B?100D发送(步骤SlOl?S103)。
[0108]接着,成为通信数据的发送主体的车载控制装置100A向通信数据赋予翻译代码及消息代码(步骤S104,S105:赋予步骤)。然后,向例如各车载控制装置100B?100D发送该通信数据(步骤S105)。
[0109]在通信数据的发送完成时,车载控制装置100A更新密钥代码及消息代码直到点火开关断开为止(步骤S107?SllO:更新步骤)。由此,每当通信数据的发送处理完成时,密钥代码和向通信数据赋予的消息代码被更新。
[0110]另一方面,如图6所示,成为通信数据的接收主体的例如各车载控制装置100B?100D在点火开关从断开切换到接通后,取得从车载控制装置100A发送的消息代码(步骤S200:是,S201:是)。
[0111]接着,在点火开关接通后的初次通信时,各车载控制装置100B?100D基于该各车载控制装置100B?100D保有的初始密钥,将所取得的消息代码复原为随机代码(步骤S202,S203)。另外,在点火开关接通后的第2次以后的通信时,各车载控制装置100B?100D基于该车载控制装置100B?100D保有的更新后的更新密钥,将所取得的消息代码复原为随机代码。
[0112]然后,在各车载控制装置100B?100D接收例如车载控制装置100A发送的通信数据时(步骤S204:是),对该接收的通信数据进行验证(步骤S205?S207)。
[0113]该验证的结果是,在各车载控制装置100B?100D能够确认通信数据的合法性时,执行基于该通信数据的处理(步骤S208:是,S209)。另一方面,在各车载控制装置100B?100D无法确认通信数据的合法性时,废弃该通信数据(步骤S208:否,S213)。
[0114]各车载控制装置100B?100D在处理通信数据时,更新密钥代码(初始密钥、更新密钥)及消息代码直到点火开关断开为止(步骤S209?S212)。由此,每当处理通信数据,通信数据的发送处理完成时,向密钥代码及通信数据赋予的消息代码被更新。
[0115]如以上说明的那样,根据本实施方式涉及的认证系统及认证方法,可以获得以下的效果。
[0116](I)设置于车载控制装置100A?100D的赋予部130将通信数据的发送源的合法性验证所使用的认证代码赋予给相应的通信数据。另外,每当通信数据的通信完成时,设置于车载控制装置100A?100D的更新部120基于所规定的认证代码的更新规定来更新认证代码。由此,能够基于高可靠性地进行使用了认证代码的通信数据的合法性的验证,进而,能够维持使用了认证代码的认证的高可靠性。另外,在上述实施方式中,与通信数据一起向车辆用网络发送的消息代码在下一次通信时不会被利用。因而,即使消息代码被非法取得,也能够抑制其非法利用。由此,无需对向通信数据赋予的消息代码进行加密等,能减轻通信数据收发时的处理负载。
[0117](2)作为上述更新规定,确定了使用包括初始密钥和/或更新密钥的密钥代码和包括随机代码及翻译代码的变更代码来更新消息代码的规定。另外,更新部120通过基于密钥代码及变更代码的运算,更新了由消息代码组成的认证代码。由此,只要能够担保这样的密钥代码及变更代码和/或运算方法的保密性,则能够维持基于密钥代码及变更代码而更新的消息代码的高保密性。
[0118](3)更新部120通过对密钥代码(初始密钥、更新密钥)执行使用了作为变更代码而选定的翻译代码的递归运算来随时更新密钥代码。另外,更新部120使用随时更新的密钥代码来递归地生成消息代码。因而,通过密钥代码的随时更新来随时更新消息代码。由此,能维持消息代码的生成所使用的密钥代码的高保密性,从而维持消息代码的生成源的保S性。
[0119](4)作为密钥代码,采用了在多个节点预先保有并在认证代码的初次生成时使用的初始密钥和每当进行通信数据的通信时随时生成的更新密钥。另外,更新部120通过初始密钥和由预定的随机数组成的随机代码的运算,生成通信数据的初次通信时所使用的消息代码。并且,更新部120使用随时生成的更新密钥来更新所生成的认证代码。因而,使用仅合法的车载控制装置100A?100D所预先保有的初始密钥和随机代码来生成消息代码,并且,该消息代码在每当进行数据通信时生成(更新)。因而,只要能够担保初始密钥和/或随机代码的保密性,则能够维持基于这些初始密钥和/或随机代码而生成并在网络中发送的消息代码的高保密性。
[0120](5)认证部140在通信对象的认证时,从通信对象取得了被赋予了消息代码的通信数据。另外,认证部140通过该消息代码和车载控制装置100A?100D保有的密钥代码(初始密钥,更新密钥)的运算,将该取得的被赋予给通信数据的消息代码复原为随机代码。并且,认证部140通过进行复原的随机代码和由成为代表的车载控制装置100A预先分发的随机代码的比较,对被赋予了消息代码的通信数据的合法性进行了验证。由此,通过随机代码的复原及比较,能够验证通信数据的篡改的有无和/或通信数据的发送源的合法性。
[0121](6)设置于车载控制装置100B?100D的认证部140在通信对象的认证之前,取得了由成为代表的车载控制装置100A生成的消息代码。并且,认证部140使用设置有该认证部140的车载控制装置100B?100D预先保有的密钥代码(初始密钥、更新密钥)来复原为随机代码,由此取得了通信数据的合法性验证所使用的随机代码。由此,在通信数据的通信之前分发的随机代码基于高保密性,由车载控制装置100A?100D所保有。另外,由此,随机代码及使用随机代码的通信数据和/或其发送源的验证能基于更高的自由度进行。
[0122](7)发送通信数据的车载控制装置100A将构成变更代码的翻译代码与赋予给通信数据的消息代码一起向车载控制装置100B?100D分发。因而,被发送通信数据的车载控制装置100B?100D能够在每当进行数据通信时取得用于更新消息代码的翻译代码。因而,各车载控制装置100B?100D能够使用取得的翻译代码来更新密钥代码(初始密钥、更新密钥)。并且,各车载控制装置100B?100D能够基于所更新的密钥代码来生成消息代码。因而,各车载控制装置100B?100D仅将该生成的消息代码赋予给接下来发送的通信数据,就能够维持接下来的通信数据的保密性。由此,与通信数据的发送处理的完成相一致的消息代码的更新能顺利进行。
[0123](8)作为多个节点,选定了设置于车辆并构成车辆用网络的多个车载控制装置100A?100D。另外,更新部120及赋予部130分别设置在多个车载控制装置100A?100D中。并且,每当进行经由车辆用网络的通信数据的收发时,设置于各车载控制装置10A?100D的各更新部120分别同步进行认证代码的更新。由此,即使在运算处理能力受限的车载控制装置100A?100D中,也能够基于高可靠性来进行使用了消息代码的通信数据和/或其发送源的验证。因此,能够维持要求高安全性的车辆用网络的高可靠性。
[0124](9)作为密钥代码,采用了初始密钥及更新密钥。另外,作为用于变更密钥代码的代码即变更代码,采用了随机代码及翻译代码这2种代码。因而,基于这样的多种代码来生成消息代码,该消息代码的破译变得更加困难。
[0125](10)每当数据通信结束时,更新翻译代码。因而,通过该翻译代码和更新密钥的递归运算而生成的消息代码变得更难以确定。由此,即使非法取得了前次利用的消息代码,也更加难以从该消息代码预测接下来所利用的消息代码。
[0126](第2实施方式)
[0127]接着,以与第I实施方式的不同点为中心,参照与之前的图2及图4对应的图即图7及图8,说明本发明涉及的认证系统及认证方法的第2实施方式。此外,本实施方式涉及的认证系统及认证方法的基本构成也与第I实施方式相同,在图7中,对与第I实施方式实质相同的要素分别标注同一标号进行表示并省略重复的说明。
[0128]此外,在本实施方式中,作为上述更新规定,确定了使用由初始密钥组成的密钥代码和由随机代码组成的变更代码来更新消息代码的规定。
[0129]如图7所示,本实施方式的更新部120A成为不具备上述翻译代码生成部123的结构。另外,构成本实施方式的更新部120A的消息代码生成部121A具备运算选择部125,每当数据通信结束时,所述运算选择部125更新用于生成消息代码的运算方法。
[0130]以下,参照图8,说明本实施方式的认证系统及认证方法的作用。
[0131]如图8所示,例如当车辆的点火开关从断开切换到接通时(Sll),由成为通信数据的发送主体的车载控制装置100A执行随机代码的分发处理。在本实施的分发处理中,首先,例如车载控制装置100A选定用于生成消息代码的运算方法(S12)。车载控制装置100A例如通过随机方式等从XOR运算、AND运算及OR运算这三种运算方法中选择运算方法。另外,与此同步地,车载控制装置100B?100D选择与车载控制装置100A选择的运算方法相同的运算方法(R21)。此外,这样的运算方法的选择例如通过参照表示车载控制装置100A?100D间预先共有的运算方法的选择规则的数据而进行。
[0132]然后,在车载控制装置100A中,基于所选择的运算方法,使用初始密钥和随机代码进行运算(S13)。然后,从该运算结果生成消息代码(S14)。接着,该生成的消息代码从车载控制装置100A向与车辆用网络连接的车载控制装置100B?100D等分发。
[0133]各车载控制装置100B?100D在接收消息代码时,通过上述同步选择的运算方法运算该消息代码和该车载控制装置100B?100D预先保有的初始密钥(R12)。然后,通过这样的运算,将消息代码复原为随机代码(R13)。
[0134]这样,进行基于该复原的随机代码的认证,在初次的数据通信完成时,在各车载控制装置100A?100D中再次选择运算方法(S15,R17)。此外,此时,选择与上次所选择的运算方法不同的运算方法。
[0135]然后,例如,在点火开关设为接通时,进行第2次以后的通信时,基于再次选择的运算方法,使用初始密钥和随机代码进行运算(S16)。
[0136]此外,此时,虽然运算所使用的初始密钥及随机代码与上次运算时相同,但是运算方法与上次运算时不同。因此,根据初始密钥及随机代码的运算结果生成的消息代码不同于上次生成的消息代码。
[0137]将这样新生成的消息代码赋予给通信数据,将该通信数据向通信对象发送(S17)。然后,通过每当数据通信结束时进行这样的运算方法的再选择,使向通信数据赋予的消息代码动态地变化。
[0138]如以上说明的那样,根据本实施方式涉及的认证系统及认证方法,能获得上述(I)、⑶的效果,并且取代上述⑵?(7)、(9)、(10)而获得以下的效果。
[0139](2A)每当数据通信结束时,车载控制装置100A?100D选择用于生成消息代码的运算方法。因而,每当进行数据通信时,通过初始密钥和随机代码的运算而生成的消息代码动态地变化。由此,能抑制通信数据和/或其发送主体的验证用的消息代码的泄露,从而能适当地维持基于该消息代码的验证精度。另外,在本实施方式中,仅变更消息代码生成用的运算方法,就能使消息代码动态地变化。因而,能够更容易地进行消息代码的变更。
[0140](第3实施方式)
[0141]接着,以与第I实施方式的不同点为中心,参照与之前的图2及图4对应的图即图9及图10,说明本发明涉及的认证系统及认证方法的第3实施方式。此外,本实施方式涉及的认证系统及认证方法的基本构成也与第I实施方式相同,对在图9及图10中也与第I实施方式实质相同的要素分别标注同一标号进行表示且省略重复的说明。
[0142]此外,在本实施方式中,作为上述更新规定,确定了使用由初始密钥组成的密钥代码和由随机代码组成的变更代码来更新消息代码的规定。
[0143]如图9所示,本实施方式的更新部120B成为不具备上述翻译代码生成部123的结构。另外,构成本实施方式的更新部120B的消息代码生成部121B具备计数部126,所述计数部126基于从通信部102输入的通信数据的发送结束信息而对数据通信的次数进行计数。
[0144]另外,在本实施方式的车载控制装置100A?100D的存储区域150,例如,共同保存有多种初始密钥。
[0145]以下,参照图10来说明本实施方式的认证系统及认证方法的作用。
[0146]如图10所示,例如在车辆的点火开关从断开切换到接通时(S21),由成为通信数据的发送主体的车载控制装置100A执行随机代码的分发处理。在本实施的分发处理中,首先,例如车载控制装置100A从该车载控制装置100A保有的多种初始密钥中选定一个初始密钥(S22)。此外,与此同步地,车载控制装置100B?100D选择与车载控制装置100A选择的初始密钥相同的初始密钥(R21)。此外,这样的同步例如通过参照规定了车载控制装置100A?100D保有的初始密钥的选择规则的数据而进行。
[0147]然后,在车载控制装置100A中,对所选择的初始密钥和随机代码进行例如XOR运算(S23)。然后,从该运算结果生成消息代码(S24)。接着,将该生成的消息代码从车载控制装置100A向与车辆用网络连接的车载控制装置100B?100D等分发。
[0148]在各车载控制装置100B?100D接收消息代码时,对该消息代码和上述同步选择的初始密钥进行例如XOR运算(R22)。然后,通过这样的运算,将消息代码复原为随机代码(R23)。
[0149]这样,进行基于该复原的随机代码的认证(R24?R27),在初次的数据通信完成时,在各车载控制装置100A?100D中,例如对点火开关接通以后的通信次数进行计数(S25, R28)。
[0150]然后,在各车载控制装置100A?100D中,选择与计数得到的通信次数相应的个数的初始密钥(S26,R29)。在此,例如,在初次的数据通信完成时,从存储区域150再选择一个初始密钥。
[0151]然后,在点火开关设为接通后,进行第2次以后的通信时,例如,使用初次通信时所选择的初始密钥(S22,R22)、初次通信结束时新选择的至少一个初始密钥(S26,R29)以及随机代码进行运算(S27)。
[0152]此时,运算所使用的初始密钥的个数与上次运算时不同。因此,根据各初始密钥和随机代码的运算结果而生成的消息代码不同于上次生成的消息代码。
[0153]这样新生成的消息代码被赋予给通信数据(S28),该通信数据向通信对象发送。然后,这样的消息代码的生成所使用的初始密钥的个数根据通信次数而变更,由此赋予给通信数据的消息代码动态地变化。
[0154]此外,在通信次数例如达到初始密钥的保有数时,例如将消息代码的运算所使用的初始密钥的个数重置。然后,增加消息代码的运算所使用的初始密钥的个数,直到通信次数例如再次达到初始密钥的保有数为止。
[0155]如以上所说明,根据本实施方式涉及的认证系统及认证方法,能获得上述(I)、(8)的效果,并且,能取代上述(2)?(7)、(9)、(10)而获得以下的效果。
[0156](2B)车载控制装置100A?100D使用与通信次数相应的个数的初始密钥来生成消息代码。因而,每当进行数据通信时,基于一个或多个初始密钥而生成的消息代码动态地变化。由此,能抑制通信数据和/或其发送主体的验证用的消息代码的泄露,从而能适当地维持基于该消息代码的验证精度。另外,在本实施方式中,仅变更消息代码生成用的初始密钥的个数,就能使消息代码动态地变化。因而,能够更容易地进行消息代码的变更。
[0157](第4实施方式)
[0158]接着,以与第I实施方式的不同点为中心,参照与之前的图2及图4对应的图即图11及图12来说明本发明涉及的认证系统及认证方法的第4实施方式。此外,本实施方式涉及的认证系统及认证方法的基本构成也与第I实施方式相同,对在图11及图12中与第I实施方式实质相同的要素也分别标注同一标号且省略重复的说明。
[0159]此外,在本实施方式中,作为上述更新规定,确定了使用由初始密钥组成的密钥代码和由随机代码组成的变更代码来更新消息代码的规定。
[0160]如图11所示,本实施方式的更新部120C成为不具备上述翻译代码生成部123的结构。另外,构成本实施方式的更新部120C的消息代码生成部121C具备密钥选择部127,所述密钥选择部127从存储区域150所保存的多种初始密钥中选择用于生成消息代码的初始密钥。
[0161]以下,参照图12,说明本实施方式的认证系统及认证方法的作用。
[0162]如图12所示,例如在车辆的点火开关从断开切换到接通时(S31),由成为通信数据的发送主体的车载控制装置100A执行随机代码的分发处理。在本实施的分发处理中,首先,例如车载控制装置100A从该车载控制装置100A保有的多种初始密钥中选定一个初始密钥(S32)。另外使,与此同步地,车载控制装置10B?100D选择与车载控制装置100A选择的初始密钥相同的初始密钥(R31)。此外,这样的选择例如通过参照规定了车载控制装置100A?100D保有的初始密钥的选择规则的数据而进行。
[0163]然后,在车载控制装置100A中,对所选择的初始密钥和随机代码进行例如XOR运算(S33)。然后,根据该运算结果生成消息代码(S34)。接着,将该生成的消息代码从车载控制装置100A向与车辆用网络连接的车载控制装置100B?100D等分发。
[0164]在各车载控制装置100B?100D接收消息代码时,对该消息代码和上述同步选择的初始密钥进行例如XOR运算(R32)。然后,通过这样的运算,将消息代码复原为随机代码(R33)。
[0165]这样,进行基于该复原的随机代码的认证(R34?R37),在初次的数据通信完成时,在各车载控制装置100A?100D中,再选择接下来的初始密钥(S35,R38)。此外,此时,选择与上次选择的初始密钥不同的运算方法。
[0166]然后,例如,在点火开关设为接通后,在进行第2次以后的通信时,使用再选择的初始密钥和随机代码进行运算(S36)。
[0167]此外,此时,运算所使用的初始密钥与上次运算时不同。因此,根据再选择的初始密钥和随机代码的运算结果而生成的消息代码不同于上次生成的消息代码。
[0168]将这样新生成的消息代码赋予给通信数据(S37),将该通信数据向通信对象发送。然后,每当数据通信结束时进行这样的初始密钥的再选择,由此赋予给通信数据的消息代码动态地变化。
[0169]如以上说明的那样,根据本实施方式涉及的认证系统及认证方法,能获得上述(I)、⑶的效果,并且能取代上述⑵?(7)、(9)、(10)而获得以下的效果。
[0170](2C)车载控制装置100A?100D分别共同保有多种初始密钥。并且,每当数据通信结束时,车载控制装置100A?100D再选择用于生成消息代码的初始密钥。因而,每当进行数据通信时,基于初始密钥而生成的消息代码动态地变化。由此,能抑制通信数据和/或其发送主体的验证用的消息代码的泄露,从而能适当地维持基于该消息代码的验证精度。另外,在本实施方式中,仅变更消息代码生成用的初始密钥的种类,就能使消息代码动态地变化。因而,能够更容易地进行消息代码的变更。
[0171](第5实施方式)
[0172]接着,以与第I实施方式的不同点为中心,参照图13来说明本发明涉及的认证系统及认证方法的第5实施方式。此外,本实施方式涉及的认证系统及认证方法的基本构成也与第I实施方式相同,在图13中,对与第I实施方式实质相同的要素也分别标注同一标号且省略重复的说明。
[0173]此外,在本实施方式中,例如,如特愿2011-279859号(未公开文献)所记载的那样,对将存在与车辆用网络非法连接的装置报知给合法的车载控制装置等的通信数据赋予认证代码。
[0174]如图13(a)所示,车辆用网络与设置有更新部120及赋予部130的车载控制装置100A?1001连接。另外,在车辆用网络设置有监对该车辆用网络发送的通信数据进行监视的监视用的车载控制装置(监视E⑶)50。进而,车辆用网络例如与非法的控制装置400非法连接。
[0175]另外,合法的车载控制装置100A?1001以及监视用的车载控制装置50保有包括上述初始密钥及更新密钥的密钥代码和随机代码。而非法的控制装置400通过非法的手段事后安装到车辆,因此不保有密钥代码及随机代码。
[0176]监视用的车载控制装置50在检测到控制装置400发送的非法数据时,基于被赋予给该非法数据的数据帧的ID,确定该非法数据的发送源即非法的控制装置400。
[0177]接着,监视用的车载控制装置50制成使各车载控制装置100A?1001禁止利用该确定的非法的控制装置400发送的非法数据的内容的警告信息。
[0178]如图13(b)的比较例所示,在比较例中,将消息代码“X”制成为例如53比特的数据。消息代码“Z”在直到满足抑制处理的解除条件为止的期间成为使各车载控制装置100A?1001禁止利用非法的控制装置400发送的数据的内容。此外,作为抑制处理的解除条件,例如,规定了经过规定时间及点火开关设为接通。并且,在各解除条件中,以满足任一条件为条件,解除抑制处理。
[0179]监视用的车载控制装置50在生成消息代码时,将例如用11比特表示的确定的非法控制装置400的ID写入通信数据的数据字段。并且,监视用的车载控制装置50将向该数据帧赋予了自身ID的通信数据作为表示存在非法的控制装置400的警告信息向车辆用网络发送。
[0180]在此,在该图13(b)所示的比较例中,已被利用一次的消息代码被继续利用。因而,非法的控制装置400有可能非法取得消息代码并利用该非法取得的消息代码假装成合法的车载控制装置100A?1001。
[0181]而在本实施方式中,如图13(c)所示,对通信数据赋予翻译代码,基于该翻译代码,更新密钥代码及消息代码。因此,能抑制非法的控制装置400假装成合法的车载控制装置 100A ?1001。
[0182]如以上说明的那样,根据本实施方式涉及的认证系统及认证方法,能获得上述
(I)?(10)的效果,并且能获得以下的效果。
[0183](11)各车载控制装置100A?1001及监视用的车载控制装置50针对表示警告信息的通信数据进行赋予了消息代码的通信数据的收发。由此,能维持车辆用网络的安全,并能维持重要度高的通信数据的保密性。另外,由此,对表示警告信息的通信数据以外的通信数据不赋予消息代码,对于通常的通信数据的收发,能够省略消息代码的赋予处理和/或复原处理。
[0184](其他实施方式)
[0185]此外,上述各实施方式也可以通过以下的方式实施。
[0186].上述各实施方式中,以车辆的点火开关设为接通为条件,车载控制装置100A进行随机代码的生成及分发。但是不限于此,例如,车载控制装置100A也可以以经过预定期间为条件来进行随机代码的生成及分发。
[0187].上述各实施方式中,车载控制装置100A成为通信数据的发送主体。但是不限于此,例如,车载控制装置100B?100D也可以成为通信数据的发送主体。这样一来,车载控制装置100B?100D在进行通信数据的发送时,对该通信数据赋予消息代码及随机代码。并且,通过接收到该通信数据的装置进行通信数据和/或其发送主体的验证。
[0188].上述第1、第3、第4及第5的各实施方式中,通过初始密钥和随机代码的XOR运算来生成消息代码。但是不限于此,在消息代码的生成中可以使用例如OR运算和/或AND运算等各种运算。
[0189].上述第I实施中,成为代表的车载控制装置100A将作为变更代码而生成的翻译代码与通信数据一起向车载控制装置100B?100D发送。但是不限于此,车载控制装置100A也可以与通信数据分开独立地分发翻译代码。另外,车载控制装置100A例如也可以预先生成多种翻译代码,并将该生成的多种翻译代码向车载控制装置100B?100D分发。这样一来,每当数据通信完成时,各车载控制装置100A?100D从预先生成的多种翻译代码中生成用于生成消息代码的翻译代码。由此,成为代表的车载控制装置100A无需在每次数据通信完成时生成翻译代码,并分发所生成的翻译代码。
[0190].上述第I实施方式中,成为代表的车载控制装置100A生成翻译代码来作为变更代码。并且,车载控制装置100A基于该生成的翻译代码来更新初始密钥。另外,各车载控制装置100B?100D基于从车载控制装置100A分发的翻译代码来更新初始密钥。但是不限于此,初始密钥的生成和/或分发由车载控制装置100A?100D中的至少一个装置进行即可。另外,除此以外,各车载控制装置100A?100D也可以分别同步地生成共同的翻译代码。
[0191].上述各实施方式中,作为代表车载控制装置100A?100D的装置,规定了车载控制装置100A。并且,车载控制装置100A进行随机代码的生成及分发。但是不限于此,车载控制装置100B?100D的任一装置也可以进行随机代码的生成及分发。另外,例如,车载控制装置100A?100D也可以分别预先保有同种的随机代码。另外同样地,车载控制装置100A?100D也可以分别同步地生成并更新同种的随机代码。
[0192].上述第I的各实施方式中,每当数据通信结束时,更新构成变更代码的翻译代码。但是不限于此,翻译代码一旦生成,以后也可以继续利用该翻译代码。即使如此,通过对翻译代码和每次更新的更新密钥进行多重运算,更新密钥被随时更新。另外,变更代码并不限于由随机数组成的翻译代码,只要是用于更新消息代码的代码即可,也可以适当地变更。
[0193].上述各实施方式中,通信数据的发送主体将变换为作为认证代码的消息代码的随机代码赋予给通信数据,并将该通信数据向发送对象发送。并且,认证部140通过预先保有的随机代码和赋予给通信数据并变换为消息代码的随机代码的比较,进行通信数据和/或其发送源的验证。但是不限于此,通信数据的发送主体也可以将随机代码本身作为认证代码向通信对象发送。由此,认证部140比较从通信数据的发送主体取得的赋予给通信数据的随机代码和设置有该认证部140的车载控制装置100A?100D预先保有的随机代码。并且,认证部140基于该比较结果,进行通信数据和/或其发送源的验证。
[0194].上述各实施方式中,使用了一个随机代码。但是不限于此,通信数据的验证所使用的随机代码也可以是2个以上。另外,在上述第I实施方式中,在密钥代码的更新时使用了一个翻译代码。但是不限于此,更新部120也可以使用多个翻译代码来更新密钥代码。
[0195].上述各实施方式中,作为认证代码,采用了由预定的随机数组成的随机代码。另夕卜,认证部140通过2个随机代码的比较来进行通信数据和/或其发送源的验证。但是不限于此,认证代码也可以是向合法的车载控制装置等预先分发的密码等。
[0196]?上述第I?第4的各实施方式中,更新部120及赋予部130设置在车载控制装置100A?100D。另外,在上述第5实施方式中,更新部120及赋予部130设置在车载控制装置10A?1001以及监视用的车载控制装置50。但是不限于此,更新部120及赋予部130例如也可以设置在与车辆用网络连接的网关GW(参照图13)。另外,同样地,更新部120及赋予部130例如也可以作为专用的装置与车辆用网络连接。
[0197].上述各实施方式中,作为进行通信数据的收发的节点采用了与车辆用网络连接的车载控制装置。但是不限于此,例如,也可以采用个人电脑和/或智能手机等的各种信息终端和/或各种设备等来作为节点。由此,各信息终端和/或各设备在经由网络进行通信数据收发时,对该通信数据赋予认证代码。另外,各信息终端和/或各设备随时更新向通信数据赋予的认证代码。即使如此,也能够获得与上述(I)等类似的效果。
[0198]标号说明
[0199]100A-100I…车载控制装置,101…中央处理装置,102…通信部,110…通信数据生成部,120、120A-120C...更新部,121、121A-121C...消息代码生成部,122…密钥代码更新部,123…翻译代码生成部,124…随机代码生成部,125…运算选择部,126…计数部,127…密钥选择部,130…赋予部,140…认证部,150…存储区域,200...DLC, 300…信息终端,400…非法连接的控制装置。
【权利要求】
1.一种认证系统,是与网络连接且在收发通信数据的多个节点的认证中使用的认证系统,其特征在于,具备: 赋予部,将在所述通信数据的发送源的合法性的验证中使用的认证代码赋予给相应的通信数据;和 更新部,每当所述通信数据的通信完成时,基于所规定的认证代码的更新规定来更新所述认证代码。
2.根据权利要求1所述的认证系统, 所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码, 作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定, 所述更新部通过基于所述密钥代码以及变更代码的预定的运算来更新所述认证代码。
3.根据权利要求2所述的认证系统, 所述更新部选定由预定的随机数组成的翻译代码作为所述变更代码,并通过对所述密钥代码执行使用了该选定的翻译代码的递归运算来随时更新该密钥代码,使用该随时更新的密钥代码来递归地生成所述认证代码。
4.根据权利要求3所述的认证系统, 所述密钥代码包括:所述多个节点所预先保有并在所述认证代码的初次生成时使用的初始密钥;和每当通过所述初始密钥和所述翻译代码的运算来进行所述通信数据的通信时随时生成的更新密钥, 所述更新部通过所述初始密钥和所述多个节点所预先保有的由预定的随机数组成的随机代码的运算来生成在通信数据的初次通信时所使用的认证代码,使用随时生成的更新密钥来更新该生成的认证代码。
5.根据权利要求2?4中任一项所述的认证系统,其特征在于,还具备: 认证部,在收发所述通信数据时对成为通信对象的节点进行认证, 所述认证部,在对成为通信对象的节点进行认证时,从通信对象取得被赋予了消息代码的通信数据,通过对通过该取得的消息代码和该认证部保有的密钥代码的运算而复原的随机代码、和从所述通信对象接收到通信数据的节点预先保有的随机代码进行比较,来验证被赋予了所述消息代码的通信数据的合法性,所述消息代码是通过所述多个节点所预先保有的由预定的随机数组成的随机代码和所述密钥代码的运算而生成的代码, 所述更新部更新所述消息代码来作为所述认证代码。
6.根据权利要求5所述的认证系统, 所述认证部,在对成为所述通信对象的节点进行认证之前,使用该认证部预先保有的密钥代码将通过所述密钥代码和随机代码的运算而生成的消息代码复原为随机代码,由此取得在所述通信数据的合法性的验证中使用的随机代码。
7.根据权利要求2?6中任一项所述的认证系统, 发送所述通信数据的节点将赋予给所述通信数据的认证代码以及所述变更代码分发到作为发送对象的节点, 所述更新部以被赋予了所述认证代码以及所述变更代码的通信数据的发送处理完成为条件,进行使用了该变更代码的密钥代码的更新。
8.根据权利要求1?7中任一项所述的认证系统, 所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码, 作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定, 每当所述通信数据的通信完成时,所述更新部通过变更使用了所述变更代码的所述认证代码的运算种类来更新所述认证代码
9.根据权利要求1?8中任一项所述的认证系统, 所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码, 作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定, 所述更新部对在所述多个节点间发送的通信数据的通信次数进行计数,并使用与该计数得到的通信次数相应的个数的密钥代码来生成所述认证代码,由此更新所述认证代码。
10.根据权利要求1?9中任一项所述的认证系统, 所述多个节点包括设置于车辆并构成车辆用网络的多个车载控制装置, 所述赋予部以及更新部分别设置于所述多个车载控制装置,并且, 每当进行经由所述车辆用网络的通信数据的收发时,设置于所述多个车载控制装置的更新部分别同步进行所述认证代码的更新。
11.一种认证方法,是与网络连接并在收发通信数据的多个节点的认证中使用的认证方法,其特征在于,包括: 赋予步骤,将在所述通信数据的发送源的合法性的验证中使用的认证代码赋予给相应的通信数据;和 更新步骤,每当所述通信数据的通信完成时,基于所规定的认证代码的更新规定来更新所述认证代码。
12.根据权利要求11所述的认证方法, 使所述多个节点共同保有用于生成认证代码的密钥代码和用于变更该认证代码的变更代码, 作为所述更新规定,确定了使用所述密钥代码和所述变更代码来更新所述认证代码的规定, 在所述更新步骤中,通过基于所述密钥代码以及变更代码的预定的运算来更新所述认证代码。
13.根据权利要求12所述的认证方法, 在所述更新步骤中,选定由预定的随机数组成的翻译代码作为所述变更代码,并通过对所述密钥代码执行使用了该选定的翻译代码的递归运算来随时更新该密钥代码,通过该随时更新的密钥代码来递归地生成所述认证代码。
14.根据权利要求13所述的认证方法, 作为所述密钥代码,选定所述多个节点所预先保有并在所述认证代码的初次生成时所使用的初始密钥;和每当通过所述初始密钥和所述翻译代码的运算来进行所述通信数据的通信时随时生成的更新密钥, 所述更新步骤包括:通过所述初始密钥和所述随机代码的运算来生成在通信数据的初次通信时所使用的认证代码的步骤;和使用随时生成的更新密钥来更新该生成的认证代码的步骤。
15.根据权利要求12?14中任一项所述的认证方法,其特征在于,还包括: 认证步骤,在对成为通信对象的节点进行认证时,从通信对象取得被赋予了消息代码的通信数据,通过对通过该取得的消息代码和预先保有的密钥代码的运算而复原的随机代码、和从所述通信对象接收到通信数据的节点预先保有的随机代码进行比较,来验证被赋予了所述消息代码的通信数据的合法性,基于该验证结果,在所述通信数据的收发时对成为通信对象的节点进行验证,所述消息代码是通过所述多个节点所预先保有的由预定的随机数组成的随机代码和所述密钥代码的运算而生成的代码, 在所述更新步骤中,更新所述消息代码来作为所述认证代码。
【文档编号】B60R25/20GK104349947SQ201280073474
【公开日】2015年2月11日 申请日期:2012年5月29日 优先权日:2012年5月29日
【发明者】马渕充启 申请人:丰田自动车株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1