管理系统、密钥生成装置、车载计算机、管理方法以及计算机程序与流程

文档序号:16810815发布日期:2019-02-10 13:37阅读:390来源:国知局
管理系统、密钥生成装置、车载计算机、管理方法以及计算机程序与流程

本发明涉及管理系统、密钥生成装置、车载计算机、管理方法以及计算机程序。

本申请要求2016年8月9日在日本申请的日本特愿2016-156573号的优先权,并在此引用其内容。



背景技术:

当前,汽车具有ecu(electroniccontrolunit:电子控制单元),通过ecu实现发动机控制等功能。ecu是一种计算机,通过计算机程序实现所希望的功能。例如,非专利文献1中记载了与将多个ecu与can(controllerareanetwork;控制器区域网络)连接构成的车载控制系统相关的安全性技术。

现有技术文献

非专利文献

非专利文献1:竹森敬祐,“基于安全元件的车载控制系统保护-要素技术的整理以及考察-”,电子信息通信学会,学术报,vol.114,no.508,pp.73-78,2015年3月

非专利文献2:日本工业规格,jisd4901,“车辆识别编号(vin)”

非专利文献3:stmicroelectronics,“an4240applicationnote”,“平成28年6月28日检索”,网址:<url:http://www.st.com/web/en/resource/technical/document/application_note/dm00075575.pdf>



技术实现要素:

发明所要解决的问题

提高应用于汽车的车载控制系统的ecu的可靠性是一个课题。

本发明就是鉴于这种情况而提出的,其目的在于提供能够提高搭载于汽车等车辆的ecu等车载计算机的可靠性的管理系统、密钥生成装置、车载计算机、管理方法以及计算机程序。

解决问题的技术方案

(1)作为本发明的一个方式,提供管理系统,其中,具备密钥生成装置以及搭载于车辆的车载计算机,所述密钥生成装置具备:车辆接口,与所述车辆进行数据的收发;密钥生成部,生成所述车载计算机中保存的第一密钥以及第二密钥;加密处理部,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据;预期值计算部,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值;以及验证部,基于所述预期值验证通过所述车辆接口从所述车辆接收到的测量值,所述密钥生成装置通过所述车辆接口将所述第一加密数据以及所述第二加密数据发送给所述车辆,所述车载计算机具备:接口部,与所述车载计算机的外部装置进行数据的收发;加密处理部,通过所述车载计算机预先保存的所述初始密钥对通过所述接口部从所述密钥生成装置接收到的所述第一加密数据进行解密从而获取所述第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第二加密数据进行解密从而获取所述第二密钥;以及测量值计算部,使用该获取的所述第二密钥计算所述车载计算机预先保存的所述保存数据的所述测量值,所述车载计算机将该测量值通过所述接口部发送给所述密钥生成装置。

(2)作为本发明的一个方式,在上述(1)的管理系统中,所述车辆中搭载有多个所述车载计算机,所述多个车载计算机中的第一车载计算机向所述多个车载计算机中的第二车载计算机中继从所述密钥生成装置发送的所述第一加密数据以及所述第二加密数据。

(3)作为本发明的一个方式,提供管理系统,其中,具备密钥生成装置以及搭载于车辆的车载计算机,所述密钥生成装置具备:车辆接口,与所述车辆进行数据的收发;密钥生成部,生成所述车载计算机中保存的第一密钥以及第二密钥;预期值计算部,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值;以及加密处理部,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,所述密钥生成装置通过所述车辆接口将所述第一加密数据、所述第二加密数据以及所述第四加密数据发送给所述车辆,所述车载计算机具备:接口部,与所述车载计算机的外部装置进行数据的收发;加密处理部,通过所述车载计算机预先保存的所述初始密钥对通过所述接口部从所述密钥生成装置接收到的所述第一加密数据进行解密从而获取所述第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第二加密数据进行解密从而获取所述第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第四加密数据进行解密从而获取所述预期值;以及测量部,使用该获取的所述第二密钥计算所述车载计算机预先保存的所述保存数据的测量值,基于该获取的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送。

(4)作为本发明的一个方式,在上述(3)的管理系统中,所述车辆中搭载有多个所述车载计算机,所述多个车载计算机中的第一车载计算机向所述多个车载计算机中的第二车载计算机中继从所述密钥生成装置发送的所述第一加密数据、所述第二加密数据以及所述第四加密数据。

(5)作为本发明的一个方式,提供管理系统,其中,具备密钥生成装置以及搭载于车辆的车载计算机,所述密钥生成装置具备:车辆接口,与所述车辆进行数据的收发;密钥生成部,生成所述车载计算机中保存的第一密钥以及第二密钥;预期值计算部,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值;加密处理部,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,所述密钥生成装置通过所述车辆接口将验证值、所述第一加密数据、所述第二加密数据以及所述第四加密数据发送给所述车辆,所述车载计算机具备:接口部,与所述车载计算机的外部装置进行数据的收发;加密处理部,通过所述车载计算机预先保存的所述初始密钥对通过所述接口部从所述密钥生成装置接收到的所述第一加密数据进行解密从而获取所述第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第二加密数据进行解密从而获取所述第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第四加密数据进行解密从而获取所述预期值;测量部,使用该获取的所述第二密钥计算所述车载计算机预先保存的所述保存数据的测量值,基于该获取的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送,所述车载计算机在该测量值的验证合格的情况下,发送包含通过所述接口部从所述密钥生成装置接收到的所述验证值的所述验证结果,在该测量值的验证不合格的情况下,发送不包含通过所述接口部从所述密钥生成装置接收到的所述验证值的所述验证结果,所述密钥生成装置还具备验证部,所述验证部基于供给至所述车辆的所述验证值验证通过所述车辆接口从所述车辆接收到的所述验证结果中包含的验证值。

(6)作为本发明的一个方式,在上述(5)的管理系统中,所述车辆中搭载有多个所述车载计算机,所述多个车载计算机中的第一车载计算机向所述多个车载计算机中的第二车载计算机中继从所述密钥生成装置发送的所述第一加密数据、所述第二加密数据以及所述第四加密数据。

(7)作为本发明的一个方式,提供密钥生成装置,其中,具备:车辆接口,与车辆进行数据的收发;密钥生成部,生成搭载于所述车辆的车载计算机中保存的第一密钥以及第二密钥;加密处理部,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据;预期值计算部,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值;以及验证部,基于所述预期值验证通过所述车辆接口从所述车辆接收到的测量值,所述密钥生成装置通过所述车辆接口将所述第一加密数据以及所述第二加密数据发送给所述车辆。

(8)作为本发明的一个方式,提供车载计算机,搭载于车辆,其中,具备:接口部,与所述车载计算机的外部装置进行数据的收发;加密处理部,通过所述车载计算机预先保存的初始密钥对通过所述接口部从密钥生成装置接收到的第一加密数据进行解密从而获取第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第二加密数据进行解密从而获取第二密钥;以及测量值计算部,使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,所述车载计算机将该测量值通过所述接口部发送给所述密钥生成装置。

(9)作为本发明的一个方式,提供密钥生成装置,其中,具备:车辆接口,与车辆进行数据的收发;密钥生成部,生成搭载于所述车辆的车载计算机中保存的第一密钥以及第二密钥;预期值计算部,使用所述第二密钥计算所述车载计算机预先保存的所述数据的预期值;以及加密处理部,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,所述密钥生成装置通过所述车辆接口将所述第一加密数据、所述第二加密数据以及所述第四加密数据发送给所述车辆。

(10)作为本发明的一个方式,提供车载计算机,搭载于车辆,其中,具备:接口部,与所述车载计算机的外部装置进行数据的收发;加密处理部,通过所述车载计算机预先保存的初始密钥对通过所述接口部从密钥生成装置接收到的第一加密数据进行解密从而获取第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第二加密数据进行解密从而获取第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第四加密数据进行解密从而获取预期值;以及,测量部,使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,基于该获取的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送。

(11)作为本发明的一个方式,提供密钥生成装置,其中,具备:车辆接口,与车辆进行数据的收发;密钥生成部,生成搭载于所述车辆的车载计算机中保存的第一密钥以及第二密钥;预期值计算部,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值;以及加密处理部,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,所述密钥生成装置通过所述车辆接口将验证值、所述第一加密数据、所述第二加密数据以及所述第四加密数据发送给所述车辆,所述密钥生成装置还具备验证部,所述验证部基于供给至所述车辆的所述验证值验证通过所述车辆接口从所述车辆接收到的验证值。

(12)作为本发明的一个方式,提供搭载于车辆的车载计算机,其中,具备:接口部,与所述车载计算机的外部装置进行数据的收发;加密处理部,通过所述车载计算机预先保存的初始密钥对通过所述接口部从密钥生成装置接收到的第一加密数据进行解密从而获取第一密钥,通过该获取的第一密钥对通过所述接口部从所述密钥生成装置接收到的第二加密数据进行解密从而获取第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第四加密数据进行解密从而获取预期值;以及测量部,使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,基于该获取的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送,所述车载计算机在该测量值的验证合格的情况下,发送包含通过所述接口部从所述密钥生成装置接收到的验证值的所述验证结果,在该测量值的验证不合格的情况下,发送不包含通过所述接口部从所述密钥生成装置接收到的所述验证值的所述验证结果。

(13)作为本发明的一个方式,提供管理方法,用于具备密钥生成装置以及搭载于车辆的车载计算机的管理系统,其中,所述密钥生成装置生成所述车载计算机中保存的第一密钥以及第二密钥,所述密钥生成装置通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,所述车载计算机通过所述车载计算机预先保存的所述初始密钥,对通过与所述车载计算机的外部装置进行数据的收发的接口部从所述密钥生成装置接收到的所述第一加密数据进行解密从而获取所述第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第二加密数据进行解密从而获取所述第二密钥,所述车载计算机使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,所述车载计算机将该测量值通过所述接口部发送给所述密钥生成装置,所述密钥生成装置使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值,所述密钥生成装置基于所述预期值,验证通过与所述车辆进行数据的收发的车辆接口从所述车辆接收到的所述测量值。

(14)作为本发明的一个方式,提供管理方法,用于具备密钥生成装置以及搭载于车辆的车载计算机的管理系统,其中,所述密钥生成装置生成所述车载计算机中保存的第一密钥以及第二密钥,所述密钥生成装置使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值,所述密钥生成装置通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,所述车载计算机通过所述车载计算机预先保存的所述初始密钥,对通过与所述车载计算机的外部装置进行数据的收发的接口部从所述密钥生成装置接收到的所述第一加密数据进行解密从而获取所述第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第二加密数据进行解密从而获取所述第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第四加密数据进行解密从而获取所述预期值,所述车载计算机使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,基于该获取的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送。

(15)作为本发明的一个方式,提供管理方法,用于具备密钥生成装置以及搭载于车辆的车载计算机的管理系统,其中,所述密钥生成装置生成所述车载计算机中保存的第一密钥以及第二密钥,所述密钥生成装置使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值,所述密钥生成装置通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,所述车载计算机通过所述车载计算机预先保存的所述初始密钥,对通过与所述车载计算机的外部装置进行数据的收发的接口部从所述密钥生成装置接收到的所述第一加密数据进行解密从而获取所述第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第二加密数据进行解密从而获取所述第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的所述第四加密数据进行解密从而获取所述预期值,所述车载计算机使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,基于该获取的所述预期值验证该测量值,所述车载计算机在该测量值的验证合格的情况下,生成包含通过所述接口部从所述密钥生成装置接收到的验证值的所述测量值的验证结果,在该测量值的验证不合格的情况下,生成不包含通过所述接口部从所述密钥生成装置接收到的所述验证值的所述验证结果,所述车载计算机通过所述接口部发送所述验证结果,所述密钥生成装置基于供给至所述车辆的所述验证值验证通过车辆接口从所述车辆接收到的所述验证结果中包含的验证值。

(16)作为本发明的一个方式,提供计算机程序,其中,使具备与车辆进行数据的收发的车辆接口的密钥生成装置的计算机执行下述处理:生成搭载于所述车辆的车载计算机中保存的第一密钥以及第二密钥,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值,基于所述预期值验证通过所述车辆接口从所述车辆接收到的测量值,通过所述车辆接口将所述第一加密数据以及所述第二加密数据发送给所述车辆。

(17)作为本发明的一个方式,提供计算机程序,使搭载于车辆的车载计算机执行下述处理:通过所述车载计算机预先保存的初始密钥,对通过与所述车载计算机的外部装置进行数据的收发的接口部从密钥生成装置接收到的第一加密数据进行解密从而获取第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第二加密数据进行解密从而获取第二密钥,使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,将该测量值通过所述接口部发送给所述密钥生成装置。

(18)作为本发明的一个方式,提供计算机程序,使具备与车辆进行数据的收发的车辆接口的密钥生成装置的计算机执行下述处理:生成搭载于所述车辆的车载计算机中保存的第一密钥以及第二密钥,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,通过所述车辆接口将所述第一加密数据、所述第二加密数据以及所述第四加密数据发送给所述车辆。

(19)作为本发明的一个方式,提供计算机程序,使搭载于车辆的车载计算机执行下述处理:通过所述车载计算机预先保存的初始密钥,对通过与所述车载计算机的外部装置进行数据的收发的接口部从密钥生成装置接收到的第一加密数据进行解密从而获取第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第二加密数据进行解密从而获取第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第四加密数据进行解密从而获取预期值,使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,基于该获取的所述预期值验证该测量值,将该测量值的验证结果通过所述接口部发送。

(20)作为本发明的一个方式,提供计算机程序,使具备与车辆进行数据的收发的车辆接口的密钥生成装置的计算机执行下述处理:生成搭载于所述车辆的车载计算机中保存的第一密钥以及第二密钥,使用所述第二密钥计算所述车载计算机预先保存的保存数据的预期值,通过所述车载计算机预先保存的初始密钥对所述第一密钥进行加密从而生成第一加密数据,通过所述第一密钥对所述第二密钥进行加密从而生成第二加密数据,通过所述第一密钥对所述预期值进行加密从而生成第四加密数据,通过所述车辆接口将验证值、所述第一加密数据、所述第二加密数据以及所述第四加密数据发送给所述车辆,

基于供给至所述车辆的所述验证值验证通过所述车辆接口从所述车辆接收到的验证值。

(21)作为本发明的一个方式,提供计算机程序,使搭载于车辆的车载计算机执行下述处理:通过所述车载计算机预先保存的初始密钥对通过与所述车载计算机的外部装置进行数据的收发的接口部从密钥生成装置接收到的第一加密数据进行解密从而获取第一密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第二加密数据进行解密从而获取第二密钥,通过该获取的所述第一密钥对通过所述接口部从所述密钥生成装置接收到的第四加密数据进行解密从而获取预期值,使用该获取的所述第二密钥计算所述车载计算机预先保存的保存数据的测量值,基于该获取的所述预期值验证该测量值,将该测量值的验证结果通过所述接口部发送,在进行所述发送时,在该测量值的验证合格的情况下,发送包含通过所述接口部从所述密钥生成装置接收到的验证值的所述验证结果,在该测量值的验证不合格的情况下,发送不包含通过所述接口部从所述密钥生成装置接收到的所述验证值的所述验证结果。

(22)作为本发明的一个方式,提供管理系统,其中,具备数据提供装置以及搭载于车辆的车载计算机,所述数据提供装置具备:车辆接口,与所述车辆进行数据的收发;以及预期值计算部,计算应用于所述车载计算机的应用数据的预期值,所述数据提供装置通过所述车辆接口将所述应用数据以及所述预期值发送给所述车辆,所述车载计算机具备:接口部,与所述车载计算机的外部装置进行数据的收发;以及测量部,计算通过所述接口部从所述数据提供装置接收到的所述应用数据的测量值,基于通过所述接口部从所述数据提供装置接收到的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送给所述数据提供装置。

(23)作为本发明的一个方式,提供管理方法,用于具备数据提供装置以及搭载于车辆的车载计算机的管理系统,其中,所述数据提供装置计算应用于所述车载计算机的应用数据的预期值,所述数据提供装置通过与所述车辆进行数据的收发的车辆接口,将所述应用数据以及所述预期值发送给所述车辆,所述车载计算机计算通过与所述车载计算机的外部装置进行数据的收发的接口部从所述数据提供装置接收到的所述应用数据的测量值,基于通过所述接口部从所述数据提供装置接收到的所述预期值验证该测量值,所述车载计算机将该测量值的验证结果通过所述接口部发送给所述数据提供装置。

(24)作为本发明的一个方式,提供计算机程序,使具备与车辆进行数据的收发的车辆接口的数据提供装置的计算机执行下述处理:计算搭载于所述车辆的车载计算机中应用的应用数据的预期值,通过所述车辆接口将所述应用数据以及所述预期值发送给所述车辆,通过所述车辆接口从所述车辆接收所述应用数据的测量值的验证结果。

(25)作为本发明的一个方式,提供计算机程序,使搭载于车辆的车载计算机执行下述处理:计算通过与所述车载计算机的外部装置进行数据的收发的接口部从数据提供装置接收到的应用数据的测量值,基于通过所述接口部从所述数据提供装置接收到的预期值验证该测量值,将该测量值的验证结果通过所述接口部发送给所述数据提供装置。

发明效果

根据本发明,能够实现提高搭载于汽车等车辆的ecu等车载计算机的可靠性的效果。

附图说明

图1是表示一个实施方式所涉及的管理系统以及汽车1001的结构例的图。

图2是表示一个实施方式所涉及的密钥生成装置1300的结构例的图。

图3是表示一个实施方式所涉及的第一ecu1010的结构例的图。

图4是表示一个实施方式所涉及的第二ecu1020的结构例的图。

图5是表示一个实施方式所涉及的管理方法的例1的序列图。

图6是表示一个实施方式所涉及的管理方法的例2的序列图。

图7是表示一个实施方式所涉及的管理方法的例3的序列图。

图8是表示一个实施方式所涉及的管理方法的例4的序列图。

图9是表示一个实施方式所涉及的管理方法的例5的序列图。

图10是表示一个实施方式所涉及的管理方法的例6的序列图。

图11是表示一个实施方式所涉及的管理系统以及汽车1001的其他结构例的图。

图12是表示一个实施方式所涉及的管理系统的其他结构例的图。

图13是表示一个实施方式所涉及的服务器装置2000的结构例的图。

图14是表示一个实施方式所涉及的ecu码的提供流程的例子的序列图。

具体实施方式

下面,参照附图对本发明的实施方式进行说明。此外,在下面的实施方式中,作为车辆,以汽车为例进行说明。

图1是表示本实施方式所涉及的管理系统以及汽车1001的结构例的图。在本实施方式中,作为车载计算机的一个例子,举例说明搭载于汽车1001的ecu(电子控制单元)。

图1中,汽车1001具备第一ecu1010以及多个第二ecu1020。第一ecu1010以及第二ecu1020是汽车1001具备的车载计算机。第一ecu1010是搭载于汽车1001的ecu中的具有网关功能的ecu。第二ecu1020是搭载于汽车1001的ecu中的具有发动机控制等功能的ecu。作为第二ecu1020,例如,可以是具有发动机控制功能的ecu、具有方向盘控制功能的ecu、具有刹车控制功能的ecu等。

第一ecu1010以及多个第二ecu1020与汽车1001具备的can(controllerareanetwork;控制器区域网络)1030连接。can1030是通信网络。已知can是一种搭载于车辆的通信网络。

第一ecu1010经由can1030与各第二ecu1020之间交换数据。第二ecu1020经由can1030与其他第二ecu1020之间交换数据。

此外,作为搭载于车辆的通信网络,汽车1001也可以具备can以外的通信网络,经由can以外的通信网络,第一ecu1010与第二ecu1020之间交换数据以及第二ecu1020彼此间交换数据。汽车1001也可以具备例如lin(localinterconnectnetwork;本地互连网络)。另外,汽车1001也可以同时具备can以及lin。另外,汽车1001也可以具备与lin连接的第二ecu1020。另外,第一ecu1010也可以与can以及lin连接。另外,第一ecu1010可以经由can与连接于该can的第二ecu1020之间交换数据,也可以经由lin与连接于该lin的第二ecu1020之间交换数据。另外,第二ecu1020彼此间也可以经由lin交换数据。

汽车1001具备诊断端口1060。作为诊断端口1060,例如可以使用obd(on-boarddiagnostics;车载诊断)接口。诊断端口1060能够与汽车1001的外部装置连接。作为能够与诊断端口1060连接的汽车1001的外部装置,例如,可以是诊断终端、图1所示的密钥生成装置1300等。诊断端口1060与第一ecu1010连接。第一ecu1010以及与诊断端口1060连接的装置例如密钥生成装置1300经由诊断端口1060交换数据。

汽车1001具备信息娱乐(infotainment)设备1040。作为信息娱乐设备1040,例如,可以列举具有导航功能、位置信息业务功能、音乐、动画等多媒体播放功能、声音通信功能、数据通信功能、网络连接功能等的设备。信息娱乐设备1040与第一ecu1010连接。第一ecu1010将从信息娱乐设备1040输入的信息发送给第二ecu1020。

汽车1001具备tcu(telecommunicationunit;通信单元)1050。tcu1050是通信装置。tcu1050具备通信模块1051。通信模块1051经由无线通信网络进行无线通信。通信模块1051具备sim(subscriberidentitymodule;订户身份模块)1052。sim1052是写入有用于使用无线通信网络的信息的sim。通信模块1051能够使用sim1052与该无线通信网络连接从而进行无线通信。此外,作为sim1052,也可以使用esim(embeddedsubscriberidentitymodule;嵌入式订户身份模块)。

tcu1050与第一ecu1010连接。第一ecu1010与tcu1050的通信模块1051交换数据。

此外,图1的结构中,通过将第一ecu1010与tcu1050直接连接从而在第一ecu1010与通信模块1051之间交换数据,但不限于此。例如,也可以将tcu1050与信息娱乐设备1040连接,第一ecu1010经由信息娱乐设备1040与tcu1050的通信模块1051交换数据。或者,将tcu1050与诊断端口1060连接,第一ecu1010经由诊断端口1060与连接于该诊断端口1060的tcu1050的通信模块1051交换数据。或者,第一ecu1010可以具备包含sim1052的通信模块1051。在第一ecu1010具备包含sim1052的通信模块1051的情况下,汽车1001可不具备tcu1050。

第一ecu1010具备主运算器1011以及hsm(hardwaresecuritymodule;硬件安全模块)1012。主运算器1011执行用于实现第一ecu1010的功能的计算机程序。hsm1012具有加密处理功能等。hsm1012具有防篡改性(tamperresistant)。hsm1012是安全元件(secureelement:se)的例子。hsm1012具备存储密钥等数据的存储部1013。主运算器1011使用hsm1012。

第二ecu1020具备主运算器1021以及she(securehardwareextension;安全硬件扩展)1022。主运算器1021执行用于实现第二ecu1020的功能的计算机程序。she1022具有加密处理功能等。she1022具有防篡改性。she1022是安全元件的例子。she1022具备存储密钥等数据的存储部1023。主运算器1021使用she1022。

汽车1001具备的车载计算机系统1002构成为第一ecu1010以及多个第二ecu1020与can1030连接。第一ecu1010具有网关功能,监视车载计算机系统1002的内部与外部之间的通信。在本实施方式中,车载计算机系统1002作为汽车1001的车载控制系统发挥作用。此外,第一ecu1010也可以不具有网关功能。

在以下的说明中,无需特别区分第一ecu1010以及第二ecu1020时,将它们简称为ecu。

图2是表示密钥生成装置1300的结构例的图。图2中,密钥生成装置1300具备车辆接口11、存储部12、预期值计算部13、验证部14、密钥生成部15以及加密处理部16。

车辆接口11是用于与汽车1001进行数据的收发的接口。在本实施方式中,车辆接口11与诊断端口1060连接,经由诊断端口1060收发数据。此外,作为车辆接口11,可以具备诊断端口1060以外的接口。例如,作为车辆接口11,可以具备通信模块,与汽车1001的通信模块1051进行无线通信。另外,例如,作为车辆接口11,可以具备can接口,与汽车1001的can1030连接,经由can1030收发数据。

存储部12存储密钥等数据。预期值计算部13计算ecu预先保存的数据的预期值。作为ecu预先保存的数据,例如,可以列举ecu码(ecucode)。ecu码是应用于ecu的数据的例子。ecu码可以是预先安装于ecu的初始程序等计算机程序,也可以是预先设定在ecu中的初始参数设定值等设定数据。

验证部14进行ecu的测量值的验证处理。例如,验证部14基于预期值计算部13计算出的预期值,验证ecu的测量值。密钥生成部15生成ecu的密钥。加密处理部16进行数据的加密以及加密数据的解密。

通过该密钥生成装置1300具备的cpu(centralprocessingunit:中央处理器)执行计算机程序从而实现密钥生成装置1300的功能。此外,作为密钥生成装置1300,可以使用通用的计算机装置,也可以使用专用的硬件装置。

图3是表示第一ecu1010的结构例的图。图3中,第一ecu1010具备主运算器1011、hsm1012以及接口部20。主运算器1011具备控制部21以及存储部22。hsm1012具备存储部1013、测量值计算部31、加密处理部32、测量部33以及密钥生成部34。

接口部20与自身的第一ecu1010的外部装置进行数据的收发。接口部20具备经由can1030收发数据的接口、与信息娱乐设备1040收发数据的接口、与tcu1050收发数据的接口以及经由诊断端口1060收发数据的接口。主运算器1011经由接口部20与第一ecu1010以外的其他装置进行数据的收发。

控制部21对第一ecu1010进行控制。存储部22存储数据。存储部1013存储密钥等数据。测量值计算部31计算ecu码等数据的测量值。加密处理部32进行数据的加密以及加密数据的解密。测量部33计算ecu码等数据的测量值,基于预期值验证该测量值。密钥生成部34生成汽车1001内部使用的密钥(下面,称为车内密钥)。

图4是表示第二ecu1020的结构例的图。图4中,第二ecu1020具备主运算器1021、she1022以及接口部40。主运算器1021具备控制部41以及存储部42。she1022具备存储部1023、测量值计算部51、加密处理部52以及测量部53。

接口部40与自身的第二ecu1020的外部装置进行数据的收发。接口部40具备经由can1030收发数据的接口。主运算器1021经由接口部40与自身的第二ecu1020以外的其他装置进行数据的收发。

控制部41对第二ecu1020进行控制。存储部42存储数据。存储部1023存储密钥等数据。测量值计算部51计算ecu码等数据的测量值。加密处理部52进行数据的加密以及加密数据的解密。测量部53计算ecu码等数据的测量值,基于预期值验证该测量值。

此外,在本实施方式中,第一ecu1010使用了hsm,但是,第一ecu1010也可以使用she来取代hsm。此外,she如非专利文献3所述。

[ecu标识符的结构例]

说明本实施方式所涉及的ecu标识符的结构例1。ecu标识符是用于识别ecu的信息。

<ecu标识符的结构例1>

在ecu标识符的结构例1中,ecu标识符的比特长度为64比特以内。该ecu标识符的比特的内部结构的例子如下所示。

·ecu供应商标识符:16比特

·ecu机型标识符:16比特

·序列号:32比特

<ecu标识符的结构例2>

在ecu标识符的结构例2中,ecu标识符的比特长度为128比特以内。该ecu标识符的比特的内部结构的例1、例2、例3如下所示。

(例1)

·车辆识别号码(vin:vehicleidentificationnumber):102比特(17位的英文数字,1个字符为6比特)

·can标识符:11比特

can标识符的11比特是can的标准格式的数据帧中的11比特长度的id字段中保存的can标识符。或者,can标识符的11比特是can的扩展格式的数据帧中的11比特长度的基本id(baseid)字段中保存的can标识符。此外,车辆识别号码(vin)如非专利文献2所述。

(例2)

·车辆识别号码(vin)的制造商识别码(wmi:worldmanufactureridentifier)以外的剩余部分:84比特(14位的英文数字,1个字符为6比特)

·can标识符:29比特

can标识符的29比特是can的扩展格式的数据帧中的11比特长度的基本id字段中保存的can标识符部分“11比特”与18比特长度的扩展id(extendid)字段中保存的can标识符部分“18比特”的合计。

(例3)

·she的标识符(uid):120比特

在该例3中,ecu具备的she的uid用于该ecu的ecu标识符。

例如,在汽车1001的制造工场中预先获取车辆识别号码(vin)、can标识符以及she的uid。

[管理方法的例子]

下面,说明本实施方式所涉及的管理方法的例子。

<管理方法的例1>

图5是本实施方式所涉及的管理方法的例1的序列图。参照图5说明本实施方式所涉及的管理方法的例1。例如,在汽车1001的制造工场中设置有密钥生成装置1300。密钥生成装置1300的车辆接口11在该制造工场与制造中的汽车1001的诊断端口1060连接。

图5中,为了便于说明,仅示出了搭载于汽车1001的第二ecu(n)1020中的一个第二ecu(1)1020。其中,n是1到n的整数。n是搭载于汽车1001的第二ecu1020中的作为密钥分发对象的第二ecu1020的个数。

密钥生成装置1300将主密钥master_secret、ecu的ecu码、初始root密钥kri预先保存在存储部12。ecu的ecu码包含ecu的初始ecu码。

第一ecu1010的hsm1012将初始root密钥kri以及初始签名密钥kbi预先保存在存储部1013。初始root密钥kri以及初始签名密钥kbi例如在制造第一ecu1010时写入hsm1012。第二ecu1020的she1022将初始root密钥kri以及初始签名密钥kbi预先保存在存储部1023。初始root密钥kri以及初始签名密钥kbi例如在制造第二ecu1020时写入she1022。初始root密钥kri以及初始签名密钥kbi是新品ecu中保存的密钥。

第一ecu1010的主运算器1011将初始ecu码eci预先保存在存储部22。初始ecu码eci例如在制造第一ecu1010时写入主运算器1011。初始ecu码eci是新品第一ecu1010中保存的ecu码。第二ecu(n)1020的主运算器1021将初始ecu码eni预先保存在存储部42。初始ecu码en例如在制造第二ecu(n)1020时写入主运算器1021。初始ecu码eni是新品第二ecu(n)1020中保存的ecu码。

下面,密钥生成装置1300的车辆接口11与汽车1001的诊断端口1060连接。

密钥生成装置1300中,密钥生成部15生成搭载于汽车1001的ecu的root密钥以及签名密钥(步骤s1)。在本实施方式中,密钥生成部15生成第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn。存储部12保存第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn。root密钥krc以及krn对应第一密钥。签名密钥kbc以及kbn对应第二密钥。

密钥生成部15根据密钥生成装置1300的存储部12中保存的主密钥master_secret以及第一ecu1010的ecu标识符ecu_id计算出第一摘要值。第一摘要值是第一ecu1010的root密钥krc。密钥生成部15根据密钥生成装置1300的存储部12中保存的主密钥master_secret以及第一ecu1010的ecu标识符ecu_id计算出第二摘要值。第二摘要值是第一ecu1010的签名密钥kbc。第一摘要值的计算方法与第二摘要值的计算方法不同。由此,第一摘要值(第一ecu1010的root密钥krc)与第二摘要值(第一ecu1010的签名密钥kbc)不同。

密钥生成部15根据密钥生成装置1300的存储部12中保存的主密钥master_secret以及第二ecu(n)1020的ecu标识符ecu_id计算第一摘要值。第一摘要值是第二ecu(n)1020的root密钥krn。密钥生成部15根据密钥生成装置1300的存储部12中保存的主密钥master_secret以及第二ecu(n)1020的ecu标识符ecu_id计算第二摘要值。第二摘要值是第二ecu(n)1020的签名密钥kbn。第一摘要值的计算方法与第二摘要值的计算方法不同。因此,第一摘要值(第二ecu(n)1020的root密钥krn)与第二摘要值(第二ecu(n)1020的签名密钥kbn)不同。

根据上述的ecu标识符的任意一个结构例生成汽车1001的ecu的ecu标识符ecu_id。可以是密钥生成装置1300生成汽车1001的ecu的ecu标识符ecu_id,也可以将汽车1001的ecu的ecu标识符ecu_id输入密钥生成装置1300。

作为摘要值,例如,可以列举通过哈希(hash)函数计算出的值、通过异或运算计算出的值等。

通过下面式子表示本实施方式所涉及的密钥(公共密钥)的生成方法的一个例子。

公共密钥=摘要(master_secret,ecu_id,nk)

其中,nk是变量。摘要(master_secret,ecu_id,nk)是根据主密钥master_secret、ecu标识符ecu_id以及变量nk生成的摘要值。例如,公共密钥是将主密钥master_secret、ecu标识符ecu_id以及变量nk用于输入值计算出的哈希函数值。如果变量nk的值不同,则摘要值的计算方法不同。可以通过改变变量nk的值,以相同的主密钥master_secret以及ecu标识符ecu_id来生成不同的公共密钥。例如,将root密钥用变量nk的值设为nk_1,将签名密钥用变量nk的值设为nk_2。在该情况下,使用相同的主密钥master_secret以及ecu标识符ecu_id,通过下述公式

root密钥=摘要(master_secret,ecu_id,nk_1),

签名密钥=摘要(master_secret,ecu_id,nk_2),

能够作为不同的密钥来生成root密钥以及签名密钥。

作为本实施方式所涉及的密钥(公共密钥)的生成方法的其他例子,可以将ecu的root密钥设置为通过哈希函数计算出的值,将签名密钥设置为通过异或运算计算出的值。或者相反,即,将ecu的root密钥设置为通过异或运算计算出的值,将签名密钥设置为通过哈希函数计算出的值。

密钥生成装置1300的加密处理部16通过初始root密钥kri对第一ecu1010的root密钥krc进行加密从而生成第一加密数据kri(krc)(步骤s2)。密钥生成装置1300通过车辆接口11将第一加密数据kri(krc)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收第一加密数据kri(krc)。

第一ecu1010的控制部21将第一加密数据kri(krc)传递给hsm1012(步骤s3)。hsm1012的加密处理部32通过存储部1013中保存的初始root密钥kri对第一加密数据kri(krc)进行解密从而获取root密钥krc。hsm1012将该获取的root密钥krc保存到存储部1013。hsm1012也可以在存储部1013中以取代初始root密钥kri的方式保存该获取的root密钥krc。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc对第一ecu1010的签名密钥kbc进行加密从而生成第二加密数据krc(kbc)(步骤s4)。密钥生成装置1300通过车辆接口11将第二加密数据krc(kbc)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收第二加密数据krc(kbc)。

第一ecu1010的控制部21将第二加密数据krc(kbc)传递给hsm1012(步骤s5)。hsm1012的加密处理部32通过存储部1013中保存的root密钥krc对第二加密数据krc(kbc)进行解密从而获取签名密钥kbc。hsm1012将该获取的签名密钥kbc保存在存储部1013。hsm1012也可以在存储部1013中以取代初始签名密钥kbi的方式保存该获取的签名密钥kbc。

第一ecu1010的控制部21将存储部22中保存的初始ecu码eci传递给hsm1012,以执行安全启动处理。在安全启动处理中,hsm1012的测量值计算部31通过存储部1013中保存的签名密钥kbc计算初始ecu码eci的测量值(步骤s6)。在本实施方式中,作为测量值的一个例子,使用cmac(cipher-basedmessageauthenticationcode;基于密码的消息认证码)。由此,测量值计算部31通过存储部1013中保存的签名密钥kbc计算初始ecu码eci的cmac。将该计算结果的cmac称为测量值ecn_a。hsm1012将测量值ecn_a设定为在安全启动处理中使用的预期值。该预期值“测量值ecn_a”保存在存储部1013中。

第一ecu1010的hsm1012的加密处理部32通过存储部1013中保存的root密钥krc对测量值ecn_a进行加密从而生成第三加密数据krc(ecn_a)(步骤s7)。hsm1012将第三加密数据krc(ecn_a)传递给控制部21。控制部21通过接口部20将第三加密数据krc(ecn_a)经由诊断端口1060发送给密钥生成装置1300。密钥生成装置1300通过车辆接口11从汽车1001的第一ecu1010经由诊断端口1060接收第三加密数据krc(ecn_a)。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc对第三加密数据krc(ecn_a)进行解密从而获取测量值ecn_a(步骤s8)。预期值计算部13通过第一ecu1010的签名密钥kbc计算第一ecu1010的初始ecu码eci的cmac。将该计算结果的cmac称为预期值ecn_b。

此外,第一ecu1010也可以不对测量值ecn_a进行加密而以原样的数据直接发送给密钥生成装置1300。

验证部14将测量值ecn_a与预期值ecn_b进行比较,判断两者是否一致。在判断的结果为两者一致的情况下,测量值ecn_a的验证合格。在测量值ecn_a的验证合格的情况下,处理行进至步骤s9。另一方面,在两者不一致的情况下,测量值ecn_a的验证不合格。在测量值ecn_a的验证不合格的情况下,结束图5的处理。另外,在测量值ecn_a的验证不合格的情况下,密钥生成装置1300也可以执行规定的错误处理。

第一ecu1010的hsm1012的密钥生成部34生成车内密钥kv。存储部1013保存车内密钥kv(步骤s9)。

密钥生成装置1300的加密处理部16通过初始root密钥kri对第二ecu(1)1020的root密钥kr1进行加密从而生成第一加密数据kri(kr1)(步骤s10)。密钥生成装置1300通过车辆接口11将第一加密数据kri(kr1)经由汽车1001的第一ecu1010发送给第二ecu(1)1020。汽车1001的第一ecu1010在通过接口部20从密钥生成装置1300经由诊断端口1060接收到第一加密数据kri(kr1)时,将该第一加密数据kri(kr1)通过接口部20经由can1030转发给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第一加密数据kri(kr1)。

第二ecu(1)1020的控制部41将第一加密数据kri(kr1)传递给she1022(步骤s11)。she1022的加密处理部52通过存储部1023中保存的初始root密钥kri对第一加密数据kri(kr1)进行解密从而获取root密钥kr1。she1022将该获取的root密钥kr1保存到存储部1023。she1022也可以在存储部1023中以取代初始root密钥kri的方式保存该获取的root密钥kr1。

密钥生成装置1300的加密处理部16通过第二ecu(1)1020的root密钥kr1对第二ecu(1)1020的签名密钥kb1进行加密从而生成第二加密数据kr1(kb1)(步骤s12)。密钥生成装置1300通过车辆接口11将第二加密数据kr1(kb1)经由汽车1001的第一ecu1010发送给第二ecu(1)1020。汽车1001的第一ecu1010在通过接口部20从密钥生成装置1300经由诊断端口1060接收到第二加密数据kr1(kb1)时,将该第二加密数据kr1(kb1)通过接口部20经由can1030转发给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第二加密数据kr1(kb1)。

第二ecu(1)1020的控制部41将第二加密数据kr1(kb1)传递给she1022(步骤s13)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1对第二加密数据kr1(kb1)进行解密从而获取签名密钥kb1。she1022将该获取的签名密钥kb1保存到存储部1023。she1022也可以在存储部1023中以取代初始签名密钥kbi的方式保存该获取的签名密钥kb1。

第二ecu(1)1020的控制部41将存储部42中保存的初始ecu码e1i传递给she1022,以执行安全启动处理(步骤s14)。在安全启动处理中,she1022的测量值计算部51通过存储部1023中保存的签名密钥kb1计算初始ecu码e1i的测量值。在本实施方式中,作为测量值的一个例子,使用cmac。由此,测量值计算部51通过存储部1023中保存的签名密钥kb1计算初始ecu码e1i的cmac。将该计算结果的cmac称为测量值e1n_a。she1022将测量值e1n_a设定为在安全启动处理中使用的预期值。该预期值“测量值e1n_a”保存在存储部1023。

第二ecu(1)1020的she1022的加密处理部52通过存储部1023中保存的root密钥kr1对测量值e1n_a进行加密从而生成第三加密数据kr1(e1n_a)(步骤s15)。she1022将第三加密数据kr1(e1n_a)传递给控制部41。控制部41通过接口部40将第三加密数据kr1(e1n_a)经由can1030以及第一ecu1010发送给密钥生成装置1300。第一ecu1010在通过接口部20从第二ecu(1)1020经由can1030接收到第三加密数据kr1(e1n_a)时,将该第三加密数据kr1(e1n_a)通过接口部20经由诊断端口1060转发给密钥生成装置1300。密钥生成装置1300通过车辆接口11从汽车1001的第一ecu1010经由诊断端口1060接收第三加密数据kr1(e1n_a)。

密钥生成装置1300的加密处理部16通过第二ecu(1)1020的root密钥kr1对第三加密数据kr1(e1n_a)进行解密从而获取测量值e1n_a(步骤s16)。预期值计算部13通过第二ecu(1)1020的签名密钥kb1计算第二ecu(1)1020的初始ecu码e1i的cmac。将该计算结果的cmac称为预期值e1n_b。

此外,第二ecu(1)1020也可以不对测量值e1n_a进行加密而以原样的数据直接发送给密钥生成装置1300。

验证部14将测量值e1n_a与预期值e1n_b进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,测量值e1n_a的验证合格。在测量值e1n_a的验证合格的情况下,处理行进至步骤s17。另一方面,在两者不一致的情况下,测量值e1n_a的验证不合格。在测量值e1n_a的验证不合格的情况下,针对第二ecu(1)1020结束图5的处理。由此,在测量值e1n_a的验证不合格的情况下,不会对第二ecu(1)1020执行步骤s17。另外,在测量值e1n_a的验证不合格的情况下,密钥生成装置1300也可以执行规定的错误处理。

密钥生成装置1300通过车辆接口11将车内密钥发送请求消息发送给汽车1001的第一ecu1010(步骤s17)。该车内密钥发送请求消息是请求向测量值e1n_a验证合格的第二ecu(1)1020发送车内密钥的消息。该车内密钥发送请求消息包含第二ecu(1)1020的root密钥kr1。该root密钥kr1优选通过第一ecu1010的root密钥krc进行加密后保存在该车内密钥发送请求消息中。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收车内密钥发送请求消息。

第一ecu1010的控制部21将车内密钥发送请求消息中包含的第二ecu(1)1020的root密钥kr1传递给hsm1012,以执行车内密钥kv的加密(步骤s18)。此外,在车内密钥发送请求消息中包含的第二ecu(1)1020的root密钥kr1被加密的情况下,控制部21将该root密钥kr1的加密数据krc(kr1)传递给hsm1012,通过root密钥krc进行解密。由此,控制部21获取第二ecu(1)1020的root密钥kr1。

hsm1012的加密处理部32通过第二ecu(1)1020的root密钥kr1对车内密钥kv进行加密从而生成加密数据kr1(kv)。hsm1012将加密数据kr1(kv)传递给控制部21。控制部21通过接口部20将加密数据kr1(kv)经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收加密数据kr1(kv)。

第二ecu(1)1020的控制部41将加密数据kr1(kv)传递给she1022(步骤s19)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1对加密数据kr1(kv)进行解密从而获取车内密钥kv。she1022将该获取的车内密钥kv保存到存储部1023。

对搭载于汽车1001的所有第二ecu(n)1020同样执行上述步骤s10至步骤s19。

根据上述的管理方法的例1,密钥生成装置1300基于预期值来验证搭载于汽车1001的ecu计算出的ecu码的测量值。由此,可以对搭载于汽车1001的ecu进行真伪判定。由此,可提高搭载于汽车1001的ecu的可靠性。

<管理方法的例2>

管理方法的例2是上述的管理方法的例1的变形例。图6是表示本实施方式所涉及的管理方法的例2的序列图。图6中,对与图5的各个部分相对应的部分标注相同的符号,并省略说明。下面,参照图6,主要说明与上述的管理方法的例1的不同点。

密钥生成装置1300的车辆接口11与汽车1001的诊断端口1060连接。执行步骤s1至步骤s8的工序。步骤s1至步骤s8的工序与上述的图5所涉及的管理方法的例1相同。在步骤s8,在测量值ecn_a的验证合格的情况下,处理行进至步骤s21。另一方面,在步骤s8,在测量值ecn_a的验证不合格的情况下,结束图6的处理。另外,在测量值ecn_a的验证不合格的情况下,密钥生成装置1300可以执行规定的错误处理。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc分别对n个第二ecu(n)1020的各个root密钥krn以及签名密钥kbn进行加密(步骤s21)。通过进行该加密,生成n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)以及n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)。

密钥生成装置1300通过车辆接口11将n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)以及n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)以及n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)。

第一ecu1010的控制部21将n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)以及n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)传递给hsm1012(步骤s22)。hsm1012的加密处理部32通过存储部1013中保存的root密钥krc对n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)以及n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)分别进行解密。通过进行该解密,获取n个root密钥kr1、kr2、…、krn以及n个签名密钥kb1、kb2、…、kbn。hsm1012将该获取的n个root密钥kr1、kr2、…、krn以及n个签名密钥kb1、kb2、…、kbn保存到存储部1013。

第一ecu1010的hsm1012的密钥生成部34生成车内密钥kv。存储部1013保存车内密钥kv(步骤s23)。

第一ecu1010的hsm1012的加密处理部32通过初始root密钥kri对第二ecu(1)1020的root密钥kr1进行加密从而生成第一加密数据kri(kr1)。hsm1012将第一加密数据kri(kr1)传递给控制部21(步骤s24)。控制部21通过接口部20将第一加密数据kri(kr1)经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第一加密数据kri(kr1)。

第二ecu(1)1020的控制部41将第一加密数据kri(kr1)传递给she1022(步骤s25)。she1022的加密处理部52通过存储部1023中保存的初始root密钥kri对第一加密数据kri(kr1)进行解密从而获取root密钥kr1。she1022将该获取的root密钥kr1保存到存储部1023。she1022也可以在存储部1023中以取代初始root密钥kri的方式保存该获取的root密钥kr1。

第一ecu1010的hsm1012的加密处理部32通过第二ecu(1)1020的root密钥kr1对第二ecu(1)1020的签名密钥kb1进行加密从而生成第二加密数据kr1(kb1)(步骤s26)。hsm1012将第二加密数据kr1(kb1)传递给控制部21。控制部21通过接口部20将第二加密数据kr1(kb1)经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第二加密数据kr1(kb1)。

第二ecu(1)1020的控制部41将第二加密数据kr1(kb1)传递给she1022(步骤s27)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1对第二加密数据kr1(kb1)进行解密从而获取签名密钥kb1。she1022将该获取的签名密钥kb1保存到存储部1023。she1022也可以在存储部1023中以取代初始签名密钥kbi的方式保存该获取的签名密钥kb1。

然后,执行步骤s14至步骤s19的工序。步骤s14至步骤s19的工序与上述的图5所涉及的管理方法的例1相同。

对搭载于汽车1001的所有第二ecu(n)1020同样执行上述步骤s24至步骤s27以及步骤s14至步骤s19的工序。

此外,上述步骤s22至步骤s27的工序是在汽车1001内进行的处理。因此,在执行步骤s22至步骤s27的工序时,密钥生成装置1300的车辆接口11可以与汽车1001的诊断端口1060不连接。

根据上述的管理方法的例2,与管理方法的例1同样,密钥生成装置1300基于预期值验证搭载于汽车1001的ecu计算出的ecu码的测量值,从而对搭载于汽车1001的ecu进行真伪判定。由此,可提高搭载于汽车1001的ecu的可靠性。

另外,根据管理方法的例2,第一ecu1010具有向第二ecu(n)1020中继从密钥生成装置1300发送的n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)以及n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)的功能(步骤s22、s24以及s26所对应的功能)。由此,与管理方法的例1相比,能够缩短密钥生成装置1300与汽车1001连接的时间。

<管理方法的例3>

图7是本实施方式所涉及的管理方法的例3的序列图。参照图7说明本实施方式所涉及的管理方法的例3。密钥生成装置1300例如设置在汽车1001的制造工场中。密钥生成装置1300的车辆接口11在该制造工场与制造中的汽车1001的诊断端口1060连接。

图7中,为了便于说明,仅示出了搭载于汽车1001的第二ecu(n)1020中的一个第二ecu(1)1020。其中,n是1至n的整数。n是搭载于汽车1001的第二ecu1020中的作为密钥鍵分发对象的第二ecu1020的个数。

与图5所涉及的管理方法的例1同样地,密钥生成装置1300将主密钥master_secret、ecu的ecu码以及初始root密钥kri预先保存在存储部12中。ecu的ecu码包含ecu的初始ecu码。

与图5所涉及的管理方法的例1同样地,第一ecu1010的hsm1012将初始root密钥kri以及初始签名密钥kbi预先保存在存储部1013中。与图5所涉及的管理方法的例1同样地,第二ecu1020的she1022将初始root密钥kri以及初始签名密钥kbi预先保存在存储部1023中。

与图5所涉及的管理方法的例子同样地,第一ecu1010的主运算器1011将初始ecu码eci预先保存在存储部22中。与图5所涉及的管理方法的例子同样地,第二ecu(n)1020的主运算器1021将初始ecu码eni预先保存在存储部42中。

下面,密钥生成装置1300的车辆接口11与汽车1001的诊断端口1060连接。

在密钥生成装置1300中,密钥生成部15生成搭载于汽车1001的ecu的root密钥以及签名密钥。在本实施方式中,密钥生成部15生成第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn(步骤s31)。存储部12保存第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn。root密钥krc以及krn对应第一密钥。签名密钥kbc以及kbn对应第二密钥。root密钥krc以及krn、签名密钥kbc以及kbn的生成方法与图5所涉及的管理方法的例1的步骤s1相同。

预期值计算部13通过第一ecu1010的签名密钥kbc计算第一ecu1010的初始ecu码eci(cgw码)的cmac。将该计算结果的cmac称为预期值ecn。预期值计算部13通过第二ecu(n)1020的签名密钥kbn计算第二ecu(n)1020的初始ecu码eni(ecun码)的cmac。将该计算结果的cmac称为预期值enn。由此,通过预期值计算部13生成第一ecu1010的初始ecu码eci(cgw码)的预期值ecn以及n个第二ecu(n)1020的初始ecu码eni(ecun码)各自的预期值e1n、e2n、…、enn。存储部12保存第一ecu1010的初始ecu码eci(cgw码)的预期值ecn以及n个第二ecu(n)1020的初始ecu码eni(ecun码)各自的预期值e1n、e2n、…、enn。

然后,执行步骤s32以及步骤s33。步骤s32与图5所涉及的管理方法的例1的步骤s2相同。步骤s33与图5所涉及的管理方法的例1的步骤s3相同。然后,执行步骤s34。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc分别对第一ecu1010的签名密钥kbc以及预期值ecn进行加密从而生成第二加密数据krc(kbc)以及第四加密数据krc(ecn)(步骤s34)。密钥生成装置1300通过车辆接口11将第二加密数据krc(kbc)以及第四加密数据krc(ecn)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收第二加密数据krc(kbc)以及第四加密数据krc(ecn)。

第一ecu1010的控制部21将第二加密数据krc(kbc)以及第四加密数据krc(ecn)传递给hsm1012(步骤s35)。hsm1012的加密处理部32通过存储部1013中保存的root密钥krc分别对第二加密数据krc(kbc)以及第四加密数据krc(ecn)进行解密从而获取签名密钥kbc以及预期值ecn。hsm1012将该获取的签名密钥kbc保存到存储部1013。hsm1012也可以在存储部1013中以取代初始签名密钥kbi的方式保存该获取的签名密钥kbc。另外,hsm1012将该获取的预期值ecn设定为在安全启动处理中使用的预期值。

第一ecu1010的控制部21将存储部22中保存的初始ecu码eci传递给hsm1012,以执行安全启动处理。在安全启动处理中,hsm1012的测量部33通过存储部1013中保存的签名密钥kbc计算初始ecu码eci的测量值。在本实施方式中,作为测量值的一个例子,使用cmac(步骤s36)。由此,测量部33通过存储部1013中保存的签名密钥kbc计算初始ecu码eci的cmac。将该计算结果的cmac称为测量值ecn_x。

测量部33将测量值ecn_x与预期值ecn进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,测量值ecn_x的验证合格。另一方面,在两者不一致的情况下,测量值ecn_x的验证不合格。hsm1012将测量值ecn_x的验证结果“合格或者不合格”传递给控制部21。

控制部21通过接口部20将作为安全启动结果的测量值ecn_x的验证结果“合格或者不合格”经由诊断端口1060发送给密钥生成装置1300(步骤s37)。密钥生成装置1300通过车辆接口11从汽车1001的第一ecu1010经由诊断端口1060接收安全启动结果“合格或者不合格”。

此外,第一ecu1010可以将作为安全启动结果的测量值ecn_x的验证结果“合格或者不合格”通过root密钥krc进行加密后发送给密钥生成装置1300。在该情况下,密钥生成装置1300接收该加密的安全启动结果“合格或者不合格”并通过第一ecu1010的root密钥krc进行解密。

在密钥生成装置1300从汽车1001的第一ecu1010接收到的安全启动结果“合格或者不合格”为“合格”的情况下,处理行进至步骤s38。另一方面,在该安全启动结果“合格或者不合格”为“不合格”的情况下,结束图7的处理。另外,在该安全启动结果“合格或者不合格”为“不合格”的情况下,密钥生成装置1300可以进行规定的错误处理。

第一ecu1010的hsm1012的密钥生成部34生成车内密钥kv(步骤s38)。存储部1013保存车内密钥kv。

然后,执行步骤s39以及步骤s40。步骤s39与图5所涉及的管理方法的例1的步骤s10相同。步骤s40与图5所涉及的管理方法的例1的步骤s11相同。然后,执行步骤s41。

密钥生成装置1300的加密处理部16通过第二ecu(1)1020的root密钥kr1分别对第二ecu(1)1020的签名密钥kb1以及预期值e1n进行加密从而生成第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)(步骤s41)。密钥生成装置1300通过车辆接口11将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)经由汽车1001的第一ecu1010发送给第二ecu(1)1020。汽车1001的第一ecu1010在通过接口部20从密钥生成装置1300经由诊断端口1060接收到第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)时,将该第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)通过接口部20经由can1030转发给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)。

第二ecu(1)1020的控制部41将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)传递给she1022(步骤s42)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1分别对第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)进行解密从而获取签名密钥kb1以及预期值e1n。she1022将该获取的签名密钥kb1保存到存储部1023。she1022也可以在存储部1023中以取代初始签名密钥kbi的方式保存该获取的签名密钥kb1。另外,she1022将该获取的预期值e1n设定为在安全启动处理中使用的预期值。

第二ecu(1)1020的控制部41将存储部42中保存的初始ecu码e1i传递给she1022,以执行安全启动处理(步骤s43)。在安全启动处理中,she1022的测量部53通过存储部1023中保存的签名密钥kb1计算初始ecu码e1i的测量值。在本实施方式中,作为测量值的一个例子,使用cmac。由此,测量部53通过存储部1023中保存的签名密钥kb1计算初始ecu码e1i的cmac。将该计算结果的cmac称为测量值e1n_x。

测量部53将测量值e1n_x与预期值e1n进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,测量值e1n_x的验证合格。另一方面,在两者不一致的情况下,测量值e1n_x的验证不合格。she1022将测量值e1n_x的验证结果“合格或者不合格”传递给控制部41。

控制部41通过接口部40将安全启动结果的测量值e1n_x的验证结果“合格或者不合格”通过can1030经由第一ecu1010发送给密钥生成装置1300(步骤s44)。第一ecu1010在通过接口部20从第二ecu(1)1020经由can1030接收到安全启动结果“合格或者不合格”时,将该安全启动结果“合格或者不合格”通过接口部20经由诊断端口1060转发给密钥生成装置1300。密钥生成装置1300通过车辆接口11从汽车1001的第一ecu1010经由诊断端口1060接收第二ecu(1)1020的安全启动结果“合格或者不合格”。

此外,第二ecu(1)1020可以将作为安全启动结果的测量值e1n_x的验证结果“合格或者不合格”通过root密钥kr1进行加密后发送给密钥生成装置1300。在该情况下,密钥生成装置1300接收该加密的安全启动结果“合格或者不合格”并通过第二ecu(1)1020的root密钥kr1进行解密。

在密钥生成装置1300从汽车1001的第二ecu(1)1020接收到的安全启动结果“合格或者不合格”为“合格”的情况下,处理行进至步骤s45。

另一方面,在该安全启动结果“合格或者不合格”为不合格的情况下,针对第二ecu(1)1020结束图7的处理。由此,在来自第二ecu(1)1020的安全启动结果“合格或者不合格”为不合格的情况下,不会对第二ecu(1)1020执行步骤s45。另外,在来自第二ecu(1)1020的安全启动结果“合格或者不合格”为不合格的情况下,密钥生成装置1300可以执行规定的错误处理。

然后,执行步骤s45至步骤s47的工序。步骤s45与图5所涉及的管理方法的例1的步骤s17相同。步骤s46与图5所涉及的管理方法的例1的步骤s18相同。步骤s47与图5所涉及的管理方法的例1的步骤s19相同。

对搭载于汽车1001的所有第二ecu(n)1020同样执行上述步骤s39至步骤s47的工序。

根据上述的管理方法的例3,密钥生成装置1300生成搭载于汽车1001的ecu的ecu码的预期值并供给至ecu。然后,ecu基于从密钥生成装置1300供给的预期值来验证自身的ecu码的测量值,并将该验证结果通知密钥生成装置1300。由此,能够对搭载于汽车1001的ecu进行真伪判定。由此,可提高搭载于汽车1001的ecu的可靠性。

<管理方法的例4>

管理方法的例4是上述管理方法的例3的变形例。图8是本实施方式所涉及的管理方法的例4的序列图。图8中,对与图7的各个部分对应的部分标注相同的符号,并省略说明。下面,参照图8,主要说明与上述的管理方法的例3的不同点。

密钥生成装置1300的车辆接口11与汽车1001的诊断端口1060连接。执行步骤s31至步骤s38的工序。步骤s31至步骤s38的工序与上述图7所涉及的管理方法的例3相同。在密钥生成装置1300从汽车1001的第一ecu1010接收到的安全启动结果“合格或者不合格”为“合格”的情况下,在步骤s38之后执行步骤s51。另一方面,在该安全启动结果“合格或者不合格”为“不合格”的情况下,结束图8的处理。另外,在该安全启动结果“合格或者不合格”为“不合格”的情况下,密钥生成装置1300可以执行规定的错误处理。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc分别对n个第二ecu(n)1020的各个root密钥krn、签名密钥kbn以及预期值enn进行加密(步骤s51)。通过进行该加密,生成n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)、n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)以及n个第四加密数据krc(e1n)、krc(e2n)、…、krc(enn)。

密钥生成装置1300通过车辆接口11将n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)、n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)以及n个第四加密数据krc(e1n)、krc(e2n)、…、krc(enn)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)、n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)以及n个第四加密数据krc(e1n)、krc(e2n)、…、krc(enn)。

第一ecu1010的控制部21将n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)、n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)以及n个第四加密数据krc(e1n)、krc(e2n)、…、krc(enn)传递给hsm1012(步骤s52)。hsm1012的加密处理部32通过存储部1013中保存的root密钥krc分别对n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)、n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)以及n个第四加密数据krc(e1n)、krc(e2n)、…、krc(enn)进行解密。通过进行该解密,获取n个root密钥kr1、kr2、…、krn、n个签名密钥kb1、kb2、…、kbn以及n个预期值e1n、e2n、…、enn。hsm1012将该获取的n个root密钥kr1、kr2、…、krn、n个签名密钥kb1、kb2、…、kbn以及n个预期值e1n、e2n、…、enn保存到存储部1013。

然后,执行步骤s53以及步骤s54。步骤s53与图6所涉及的管理方法的例2的步骤s24相同。步骤s54与图6所涉及的管理方法的例2的步骤s25相同。然后,执行步骤s55。

第一ecu1010的hsm1012的加密处理部32通过第二ecu(1)1020的root密钥kr1分别对第二ecu(1)1020的签名密钥kb1以及预期值e1n进行加密从而生成第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)(步骤s55)。hsm1012将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)传递给控制部21。控制部21通过接口部20将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)。

第二ecu(1)1020的控制部41将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)传递给she1022(步骤s56)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1分别对第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)进行解密从而获取签名密钥kb1以及预期值e1n。she1022将该获取的签名密钥kb1保存到存储部1023。she1022也可以在存储部1023中以取代初始签名密钥kb的方式保存该获取的签名密钥kb1。另外,she1022将该获取的预期值e1n设定为在安全启动处理中使用的预期值。

然后,执行步骤s57。步骤s57与图7所涉及的管理方法的例3的步骤s43相同。然后,执行步骤s58。

第二ecu(1)1020的控制部41通过接口部40将作为安全启动结果的测量值e1n_x的验证结果“合格或者不合格”经由can1030发送给第一ecu1010(步骤s58)。第一ecu1010通过接口部20从第二ecu(1)1020经由can1030接收安全启动结果“合格或者不合格”。

在第一ecu1010从第二ecu(1)1020接收到的安全启动结果“合格或者不合格”为“合格”的情况下,处理行进至步骤s59。另一方面,在该安全启动结果“合格或者不合格”为“不合格”的情况下,针对第二ecu(1)1020结束图8的处理。由此,在来自第二ecu(1)1020的安全启动结果“合格或者不合格”为不合格的情况下,不会对第二ecu(1)1020执行步骤s59。另外,在来自第二ecu(1)1020的安全启动结果“合格或者不合格”为不合格的情况下,第一ecu1010可以执行规定的错误处理。

第一ecu1010的hsm1012的加密处理部32通过第二ecu(1)1020的root密钥kr1对车内密钥kv进行加密从而生成加密数据kr1(kv)(步骤s59)。hsm1012将加密数据kr1(kv)传递给控制部21。控制部21通过接口部20将加密数据kr1(kv)经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收加密数据kr1(kv)。

第二ecu(1)1020的控制部41将加密数据kr1(kv)传递给she1022(步骤s60)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1对加密数据kr1(kv)进行解密从而获取车内密钥kv。she1022将该获取的车内密钥kv保存到存储部1023。

对搭载于汽车1001的所有第二ecu(n)1020同样执行上述步骤s53至步骤s60的工序。

此外,上述步骤s53至步骤s60的工序是在汽车1001内进行的处理。因此,在执行步骤s53至步骤s60的工序时,密钥生成装置1300的车辆接口11可以与汽车1001的诊断端口1060不连接。

根据上述管理方法的例4,与管理方法的例3同样,密钥生成装置1300生成搭载于汽车1001的ecu的ecu码的预期值供给至ecu。然后,ecu基于从密钥生成装置1300供给的预期值来验证自身的ecu码的测量值。因此,根据本管理方法的例4,将第一ecu1010的验证结果通知密钥生成装置1300,从而可以对搭载于汽车1001的第一ecu1010进行真伪判定。另外,将第二ecu(n)1020的验证结果通知第一ecu1010,可以对搭载于汽车1001的第二ecu(n)1020进行真伪判定。由此,可提高搭载于汽车1001的ecu的可靠性。另外,通过第一ecu1010对n个第二ecu(n)1020进行真伪判定,与管理方法的例3相比,能够缩短密钥生成装置1300与汽车1001连接的时间。

另外,根据管理方法的例4,第一ecu1010具有向第二ecu(n)1020中继从密钥生成装置1300发送的n个第一加密数据krc(kr1)、krc(kr2)、…、krc(krn)、n个第二加密数据krc(kb1)、krc(kb2)、…、krc(kbn)以及n个第四加密数据krc(e1n)、krc(e2n)、…、krc(enn)的功能(步骤s52、s53以及s55所对应的功能)。由此,与管理方法的例3相比,能够缩短密钥生成装置1300与汽车1001连接的时间。

<管理方法的例5>

图9是本实施方式所涉及的管理方法的例5的序列图。参照图9说明本实施方式所涉及的管理方法的例5。密钥生成装置1300例如设置在汽车1001的制造工场中。密钥生成装置1300的车辆接口11在该制造工场与制造中的汽车1001的诊断端口1060连接。

图9中,为了便于说明,仅示出了搭载于汽车1001的第二ecu(n)1020中的一个第二ecu(1)1020。其中,n是1至n的整数。n是搭载于汽车1001的第二ecu1020中的作为密钥分发对象的第二ecu1020的个数。

与图5所涉及的管理方法的例1同样地,密钥生成装置1300将主密钥master_secret、ecu的ecu码以及初始root密钥kri预先保存在存储部12。ecu的ecu码包含ecu的初始ecu码。

与图5所涉及的管理方法的例1同样地,第一ecu1010的hsm1012将初始root密钥kri以及初始签名密钥kbi预先保存在存储部1013。本管理方法的例5中,第一ecu1010的hsm1012还将初始加密密钥keci预先保存在存储部1013。与图5所涉及的管理方法的例1同样地,第二ecu1020的she1022将初始root密钥kri以及初始签名密钥kbi预先保存在存储部1023中。本管理方法的例5中,第二ecu1020的she1022还将初始加密密钥keei预先保存在存储部1023。

与图5所涉及的管理方法的例1同样地,第一ecu1010的主运算器1011将初始ecu码eci预先保存在存储部22。与图5所涉及的管理方法的例1同样地,第二ecu(n)1020的主运算器1021将初始ecu码eni预先保存在存储部42。

下面,密钥生成装置1300的车辆接口11与汽车1001的诊断端口1060连接。

在密钥生成装置1300,密钥生成部15生成搭载于汽车1001的ecu的root密钥以及签名密钥(步骤s71)。在本实施方式中,密钥生成部15生成第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020,各自的root密钥krn以及签名密钥kbn。存储部12保存第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn。root密钥krc以及krn对应第一密钥。签名密钥kbc以及kbn对应第二密钥。root密钥krc以及krn和签名密钥kbc以及kbn的生成方法与图5所涉及的管理方法的例1的步骤s1相同。

在本管理方法的例5中,密钥生成部15还生成搭载于汽车1001的ecu的加密密钥。加密密钥以与root密钥以及签名密钥不同的方式生成。例如,将root密钥用变量nk的值设置为nk_1,将签名密钥用变量nk的值设置为nk_2,将加密密钥用变量nk的值设置为nk_3。密钥生成部15使用主密钥master_secret以及ecu的ecu标识符ecu_id,通过下述公式

root密钥=摘要(master_secret,ecu_id,nk_1),

签名密钥=摘要(master_secret,ecu_id,nk_2),

加密密钥=摘要(master_secret,ecu_id,nk_3),

作为不同的密钥生成root密钥、签名密钥以及加密密钥。密钥生成部15在上述第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn的基础上,还生成第一ecu1010的加密密钥kec以及n个第二ecu(n)1020各自的加密密钥ken。存储部12除了保存上述的第一ecu1010的root密钥krc以及签名密钥kbc、n个第二ecu(n)1020各自的root密钥krn以及签名密钥kbn以外,还保存第一ecu1010的加密密钥kec以及n个第二ecu(n)1020各自的加密密钥ken。加密密钥kec以及ken对应第三密钥。

预期值计算部13通过第一ecu1010的签名密钥kbc计算第一ecu1010的初始ecu码eci(cgw码)的cmac。将该计算结果的cmac称为预期值ecn。预期值计算部13通过第二ecu(n)1020的签名密钥kbn计算第二ecu(n)1020的初始ecu码eni(ecun码)的cmac。将该计算结果的cmac称为预期值enn。由此,通过预期值计算部13生成第一ecu1010的初始ecu码eci(cgw码)的预期值ecn以及n个第二ecu(n)1020的初始ecu码eni(ecun码)各自的预期值e1n、e2n、…、enn。存储部12保存第一ecu1010的初始ecu码eci(cgw码)的预期值ecn以及n个第二ecu(n)1020的初始ecu码eni(ecun码)各自的预期值e1n、e2n、…、enn。

然后,执行步骤s72以及步骤s73。步骤s72与图5所涉及的管理方法的例1的步骤s2相同。步骤s73与图5所涉及的管理方法的例1的步骤s3相同。然后,执行步骤s74。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc对第一ecu1010的加密密钥kec进行加密从而生成第五加密数据krc(kec)(步骤s74)。验证部14产生随机数nonce。存储部12保存该随机数nonce。密钥生成装置1300通过车辆接口11将第五加密数据krc(kec)以及随机数nonce发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收第五加密数据krc(kec)以及随机数nonce。

第一ecu1010的控制部21将第五加密数据krc(kec)传递给hsm1012(步骤s75)。hsm1012的加密处理部32通过存储部1013中保存的root密钥krc对第五加密数据krc(kec)进行解密从而获取加密密钥kec。hsm1012将该获取的加密密钥kec保存到存储部1013。hsm1012也可以在存储部1013中以取代初始加密密钥keci的方式保存该获取的加密密钥kec。在本实施方式中,将加密密钥kec设定为在hsm1012执行的安全启动处理中测量值的验证合格时能够使用的加密密钥。由此,加密密钥kec不会用于在hsm1012执行的安全启动处理中测量值的验证不合格的情况。

存储部22保存随机数nonce。随机数nonce的保存位置是存储部22的存储区域中的安全启动的测量对象以外的非易失性存储区域。

密钥生成装置1300的加密处理部16通过第一ecu1010的root密钥krc分别对第一ecu1010的签名密钥kbc以及预期值ecn进行加密从而生成第二加密数据krc(kbc)以及第四加密数据krc(ecn)(步骤s76)。密钥生成装置1300通过车辆接口11将第二加密数据krc(kbc)以及第四加密数据krc(ecn)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收第二加密数据krc(kbc)以及第四加密数据krc(ecn)。

第一ecu1010的控制部21将第二加密数据krc(kbc)以及第四加密数据krc(ecn)传递给hsm1012(步骤s77)。hsm1012的加密处理部32通过存储部1013中保存的root密钥krc分别对第二加密数据krc(kbc)以及第四加密数据krc(ecn)进行解密从而获取签名密钥kbc以及预期值ecn。hsm1012将该获取的签名密钥kbc保存到存储部1013。hsm1012也可以在存储部1013中以取代初始签名密钥kbi的方式保存该获取的签名密钥kbc。另外,hsm1012将该获取的预期值ecn设定为在安全启动处理中使用的预期值。

第一ecu1010的控制部21将存储部22中保存的初始ecu码eci传递给hsm1012,以执行安全启动处理。在安全启动处理中,hsm1012的测量部33通过存储部1013中保存的签名密钥kbc计算初始ecu码eci的测量值。在本实施方式中,作为测量值的一个例子,使用cmac。由此,测量部33通过存储部1013中保存的签名密钥kbc计算初始ecu码eci的cmac。将该计算结果的cmac称为测量值ecn_x。

测量部33将测量值ecn_x与预期值ecn进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,测量值ecn_x的验证合格。在测量值ecn_x的验证合格的情况下,能够使用加密密钥kec。另一方面,在两者不一致的情况下,测量值ecn_x的验证不合格。在测量值ecn_x的验证不合格的情况下,不使用加密密钥kec。hsm1012将测量值ecn_x的验证结果“合格或者不合格”传递给控制部21。

控制部21在从hsm1012接收到的测量值ecn_x的验证结果为“合格”的情况下,将存储部22中保存的随机数nonce传递给hsm1012,通过加密密钥kec执行加密(步骤s79)。hsm1012的加密处理部32通过存储部1013中保存的加密密钥kec对随机数nonce进行加密从而生成第六加密数据kec(nonce)。hsm1012将第六加密数据kec(nonce)传递给控制部21。另一方面,控制部21在从hsm1012接收到的测量值ecn_x的验证结果为“不合格”的情况下,不进行随机数nonce的加密。

控制部21通过接口部20将作为安全启动结果的测量值ecn_x的验证结果“合格或者不合格”经由诊断端口1060发送给密钥生成装置1300。此时,控制部21在测量值ecn_x的验证结果为“合格”的情况下,在安全启动结果“合格(ok)”中包含第六加密数据kec(nonce)。密钥生成装置1300通过车辆接口11从汽车1001的第一ecu1010经由诊断端口1060接收第一ecu1010的安全启动结果“合格或者不合格”。

此外,控制部21也可以在安全启动结果“合格(ok)”中直接包含随机数nonce而不进行加密。另外,控制部21也可以在安全启动结果“合格(ok)”中包含随机数nonce以及随机数nonce的cmac。随机数nonce的cmac可以通过加密密钥kec计算。在安全启动结果“合格(ok)”中包含随机数nonce以及随机数nonce的cmac的情况下,可以对随机数nonce或者随机数nonce的cmac中的任意一个、或者随机数nonce以及随机数nonce的cmac两者进行加密。

密钥生成装置1300的加密处理部16将第一ecu1010的安全启动结果“合格(ok)”中包含的第六加密数据kec(nonce)通过第一ecu1010的加密密钥kec进行解密从而获取解密数据nonce(步骤s80)。验证部14将解密数据nonce与存储部12中保存的随机数nonce进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,判定第一ecu1010的安全启动结果“合格”为正确。在判定安全启动结果“合格”为正确的情况下,处理行进至步骤s81。另一方面,在两者不一致的情况下,判定第一ecu1010的安全启动结果“合格”为不正确。在判定安全启动结果“合格”为不正确的情况下,结束图9的处理。另外,在判定安全启动结果“合格”为不正确的情况下,密钥生成装置1300可以执行规定的错误处理。

另外,在密钥生成装置1300接收到汽车1001的第一ecu1010的安全启动结果“不合格”的情况下,结束图9的处理。另外,在接收到安全启动结果“不合格”的情况下,密钥生成装置1300可以执行规定的错误处理。

第一ecu1010的hsm1012的密钥生成部34生成车内密钥kv。存储部1013保存车内密钥kv(步骤s81)。

然后,执行步骤s82以及步骤s83。步骤s82与图5所涉及的管理方法的例1的步骤s10相同。步骤s83与图5所涉及的管理方法的例1的步骤s11相同。然后,执行步骤s84。

密钥生成装置1300的加密处理部16通过第二ecu(1)1020的root密钥kr1对第二ecu(1)1020的加密密钥ke1进行加密从而生成第五加密数据kr1(ke1)(步骤s84)。验证部14产生随机数nonce1。存储部12保存该随机数nonce1。密钥生成装置1300通过车辆接口11将第五加密数据kr1(ke1)以及随机数nonce1经由汽车1001的第一ecu1010发送给第二ecu(1)1020。汽车1001的第一ecu1010在通过接口部20从密钥生成装置1300经由诊断端口1060接收到第五加密数据kr1(ke1)以及随机数nonce1时,将该第五加密数据kr1(ke1)以及随机数nonce1通过接口部20经由can1030转发给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第五加密数据kr1(ke1)以及随机数nonce1。

第二ecu(1)1020的控制部41将第五加密数据kr1(ke1)传递给she1022(步骤s85)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1对第五加密数据kr1(ke1)进行解密从而获取加密密钥ke1。she1022将该获取的加密密钥ke1保存到存储部1023。she1022也可以在存储部1023中以取代初始加密密钥keei的方式保存该获取的加密密钥ke1。在本实施方式中,将加密密钥ke1设定为在she1022执行的安全启动处理中测量值的验证合格时能够使用的加密密钥。由此,加密密钥ke1不会用于在she1022执行的安全启动处理中测量值的验证不合格的情况。

存储部42保存随机数nonce1。随机数nonce1的保存位置是存储部42的存储区域中的安全启动的测量对象以外的非易失性存储区域。

密钥生成装置1300的加密处理部16通过第二ecu(1)1020的root密钥kr1分别对第二ecu(1)1020的签名密钥kb1以及预期值e1n进行加密从而生成第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)(步骤s86)。密钥生成装置1300通过车辆接口11将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)经由汽车1001的第一ecu1010发送给第二ecu(1)1020。汽车1001的第一ecu1010在通过接口部20从密钥生成装置1300经由诊断端口1060接收到第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)时,将该第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)通过接口部20经由can1030转发给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)。

第二ecu(1)1020的控制部41将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)传递给she1022(步骤s87)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1分别对第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)进行解密从而获取签名密钥kb1以及预期值e1n。she1022将该获取的签名密钥kb1保存到存储部1023。she1022也可以在存储部1023中以取代初始签名密钥kbi的方式保存获取的签名密钥kb1。另外,she1022将该获取的预期值e1n设定为在安全启动处理中使用的预期值。

第二ecu(1)1020的控制部41将存储部42中保存的初始ecu码e1i传递给she1022,以执行安全启动处理(步骤s88)。在安全启动处理中,she1022的测量部53通过存储部1023中保存的签名密钥kb1计算初始ecu码e1i的测量值。在本实施方式中,作为测量值的一个例子,使用cmac。由此,测量部53通过存储部1023中保存的签名密钥kb1计算初始ecu码e1i的cmac。将该计算结果的cmac称为测量值e1n_x。

测量部53将测量值e1n_x与预期值e1n进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,测量值e1n_x的验证合格。在测量值e1n_x的验证合格的情况下,可以使用加密密钥ke1。另一方面,在两者不一致的情况下,测量值e1n_x的验证不合格。在测量值e1n_x的验证不合格的情况下,不使用加密密钥ke1。she1022将测量值e1n_x的验证结果“合格或者不合格”传递给控制部41。

控制部41在从she1022接收到的测量值e1n_x的验证结果为“合格”的情况下,将存储部42中保存的随机数nonce1传递给she1022,通过加密密钥ke1执行加密(步骤s89)。she1022的加密处理部52通过存储部1023中保存的加密密钥ke1对随机数nonce1进行加密从而生成第六加密数据ke1(nonce1)。she1022将第六加密数据ke1(nonce1)传递给控制部41。另一方面,控制部41在从she1022接收到的测量值e1n_x的验证结果为“不合格”的情况下,不进行随机数nonce1的加密。

控制部41通过接口部40将作为安全启动结果的测量值e1n_x的验证结果“合格或者不合格”通过can1030经由第一ecu1010发送给密钥生成装置1300。此时,控制部41在测量值e1n_x的验证结果为“合格”的情况下,在安全启动结果“合格(ok)”中包含第六加密数据ke1(nonce1)。第一ecu1010在通过接口部20从第二ecu(1)1020经由can1030接收到安全启动结果“合格或者不合格”时,将该安全启动结果“合格或者不合格”通过接口部20经由诊断端口1060转发给密钥生成装置1300。密钥生成装置1300通过车辆接口11从汽车1001的第一ecu1010经由诊断端口1060接收第二ecu(1)1020的安全启动结果“合格或者不合格”。

此外,控制部41也可以在安全启动结果“合格(ok)”中直接包含随机数nonce1而不进行加密。另外,控制部41也可以在安全启动结果“合格(ok)”中包含随机数nonce1以及随机数nonce1的cmac。随机数nonce1的cmac可以通过加密密钥ke1计算。在安全启动结果“合格(ok)”中包含随机数nonce1以及随机数nonce1的cmac的情况下,可以对随机数nonce1或者随机数nonce1的cmac中的任意一个、或者随机数nonce1以及随机数nonce1的cmac两者进行加密。

密钥生成装置1300的加密处理部16将第二ecu(1)1020的安全启动结果“合格(ok)”中包含的第六加密数据ke1(nonce1)通过第二ecu(1)1020的加密密钥ke1进行解密从而获取解密数据nonce1(步骤s90)。验证部14将解密数据nonce1与存储部12中保存的随机数nonce1进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,判定第二ecu(1)1020的安全启动结果“合格”为正确。在判定安全启动结果“合格”为正确的情况下,处理行进至步骤s91。另一方面,在两者不一致的情况下,判定第二ecu(1)1020的安全启动结果“合格”为不正确。在判定第二ecu(1)1020的安全启动结果“合格”为不正确的情况下,针对第二ecu(1)1020结束图9的处理。由此,在判定为第二ecu(1)1020的安全启动结果“合格”为不正确的情况下,不会对第二ecu(1)1020执行步骤s91。另外,在判定安全启动结果“合格”为不正确的情况下,密钥生成装置1300可以执行规定的错误处理。

另外,密钥生成装置1300在接收到汽车1001的第二ecu(1)1020的安全启动结果“不合格”的情况下,针对第二ecu(1)1020结束图9的处理。由此,在接收到第二ecu(1)1020的安全启动结果“不合格”的情况下,不会对第二ecu(1)1020执行步骤s91。另外,在接收到安全启动结果“不合格”的情况下,密钥生成装置1300可以执行规定的错误处理。

然后,执行步骤s91至步骤s93的工序。步骤s91与图5所涉及的管理方法的例1的步骤s17相同。步骤s92与图5所涉及的管理方法的例1的步骤s18相同。步骤s93与图5所涉及的管理方法的例1的步骤s19相同。

对搭载于汽车1001的所有第二ecu(n)1020同样执行上述步骤s82至步骤s93的工序。

根据上述的管理方法的例5,密钥生成装置1300生成搭载于汽车1001的ecu的ecu码的预期值并供给至ecu。然后,ecu基于从密钥生成装置1300供给的预期值来验证自身的ecu码的测量值,将该验证结果通知密钥生成装置1300。由此,能够对搭载于汽车1001的ecu进行真伪判定。由此,可提高搭载于汽车1001的ecu的可靠性。

并且,根据上述的管理方法的例5,在ecu将自身的ecu码的测量值的验证结果通知密钥生成装置1300时,通过测量值的验证合格时能够使用的加密密钥对从密钥生成装置1300供给的验证值(上述例子中的随机数nonce、nonce1)进行加密从而生成第六加密数据,并将该第六加密数据发送给密钥生成装置1300。该加密密钥可与密钥生成装置1300之间共享。密钥生成装置1300对该第六加密数据进行解密,判断该解密数据与供给至ecu的原始的验证值是否一致,从而能够确认ecu的ecu码的测量值的验证结果的正确性。

<管理方法的例6>

管理方法的例6是上述的管理方法的例5的变形例。图10是本实施方式所涉及的管理方法的例6的序列图。图10中,对与图9的各个部分对应的部分标注相同的符号,并省略说明。下面,参照图10,主要说明与上述的管理方法的例5的不同点。

密钥生成装置1300的车辆接口11与汽车1001的诊断端口1060连接。执行步骤s71至步骤s81的处理。步骤s71至步骤s81的工序与上述的图9所涉及的管理方法的例5相同。在判定密钥生成装置1300接收到的汽车1001的第一ecu1010的安全启动结果“合格”为正确的情况下,在步骤s81之后执行步骤s101。在该情况下,第一ecu1010的安全启动结果为“合格”,因此,能够在第一ecu1010的hsm1012中使用加密密钥kec。

另一方面,在判定该安全启动结果“合格”为不正确的情况下、以及在密钥生成装置1300接收到汽车1001的第一ecu1010的安全启动结果“不合格”的情况下,结束图10的处理。另外,在判定该安全启动结果“合格”为不正确的情况下、以及在密钥生成装置1300接收到汽车1001的第一ecu1010的安全启动结果“不合格”的情况下,密钥生成装置1300可以执行规定的错误处理。

密钥生成装置1300的加密处理部16通过第一ecu1010的加密密钥kec分别对n个第二ecu(n)1020各自的root密钥krn、签名密钥kbn、预期值enn以及加密密钥ken进行加密(步骤s101)。通过进行该加密,生成n个第一加密数据kec(kr1)、kec(kr2)、…、kec(krn)、n个第二加密数据kec(kb1)、kec(kb2)、…、kec(kbn)、n个第四加密数据kec(e1n)、kec(e2n)、…、kec(enn)以及n个第七加密数据kec(ke1)、kec(ke2)、…、kec(ken)。

密钥生成装置1300通过车辆接口11将n个第一加密数据kec(kr1)、kec(kr2)、…、kec(krn)、n个第二加密数据kec(kb1)、kec(kb2)、…、kec(kbn)、n个第四加密数据kec(e1n)、kec(e2n)、…、kec(enn)以及n个第七加密数据kec(ke1)、kec(ke2)、…、kec(ken)发送给汽车1001的第一ecu1010。汽车1001的第一ecu1010通过接口部20从密钥生成装置1300经由诊断端口1060接收n个第一加密数据kec(kr1)、kec(kr2)、…、kec(krn)、n个第二加密数据kec(kb1)、kec(kb2)、…、kec(kbn)、n个第四加密数据kec(e1n)、kec(e2n)、…、kec(enn)以及n个第七加密数据kec(ke1)、kec(ke2)、…、kec(ken)。

第一ecu1010的控制部21将n个第一加密数据kec(kr1)、kec(kr2)、…、kec(krn)、n个第二加密数据kec(kb1)、kec(kb2)、…、kec(kbn)、n个第四加密数据kec(e1n)、kec(e2n)、…、kec(enn)以及n个第七加密数据kec(ke1)、kec(ke2)、…、kec(ken)传递给hsm1012,以通过加密密钥kec执行解密(步骤s102)。hsm1012通过存储部1013中保存的加密密钥kec,分别对n个第一加密数据kec(kr1)、kec(kr2)、…、kec(krn)、n个第二加密数据kec(kb1)、kec(kb2)、…、kec(kbn)、n个第四加密数据kec(e1n)、kec(e2n)、…、kec(enn)以及n个第七加密数据kec(ke1)、kec(ke2)、…、kec(ken)进行解密。通过进行该解密,获取n个root密钥kr1、kr2、…、krn、n个签名密钥kb1、kb2、…、kbn、n个预期值e1n、e2n、…、enn以及n个加密密钥ke1、ke2、…、ken。hsm1012将该获取的n个root密钥kr1、kr2、…、krn、n个签名密钥kb1、kb2、…、kbn、n个预期值e1n、e2n、…、enn以及n个加密密钥ke1、ke2、…、ken保存到存储部1013。

然后,执行步骤s103以及步骤s104。步骤s103与图6所涉及的管理方法的例2的步骤s24相同。步骤s104与图6所涉及的管理方法的例2的步骤s25相同。然后,执行步骤s105。

第一ecu1010的hsm1012的加密处理部32通过第二ecu(1)1020的root密钥kr1对第二ecu(1)1020的加密密钥ke1进行加密从而生成第五加密数据kr1(ke1)(步骤s105)。hsm1012将第五加密数据kr1(ke1)传递给控制部21。控制部21产生随机数nonce1。存储部22保存该随机数nonce1。控制部21通过接口部20将第五加密数据kr1(ke1)以及随机数nonce1经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第五加密数据kr1(ke1)以及随机数nonce1。

第二ecu(1)1020的控制部41将第五加密数据kr1(ke1)传递给she1022(步骤s106)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1对第五加密数据kr1(ke1)进行解密从而获取加密密钥ke1。she1022将该获取的加密密钥ke1保存到存储部1023。she1022也可以在存储部1023中以取代初始加密密钥keei的方式保存该获取的加密密钥ke1。在本实施方式中,将加密密钥ke1设定为在she1022执行的安全启动处理中测量值验证合格时能够使用的加密密钥。由此,加密密钥ke1不会用于在she1022执行的安全启动处理中测量值验证不合格的情况。

存储部42保存随机数nonce1。随机数nonce1的保存位置是存储部42的存储区域中的安全启动的测量对象以外的非易失性存储区域。

第一ecu1010的hsm1012的加密处理部32通过第二ecu(1)1020的root密钥kr1分别对第二ecu(1)1020的签名密钥kb1以及预期值e1n进行加密从而生成第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)(步骤s107)。hsm1012将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)传递给控制部21。控制部21通过接口部20将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)经由can1030发送给第二ecu(1)1020。第二ecu(1)1020通过接口部40从第一ecu1010经由can1030接收第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)。

第二ecu(1)1020的控制部41将第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)传递给she1022(步骤s108)。she1022的加密处理部52通过存储部1023中保存的root密钥kr1分别对第二加密数据kr1(kb1)以及第四加密数据kr1(e1n)进行解密从而获取签名密钥kb1以及预期值e1n。she1022将该获取的签名密钥kb1保存到存储部1023。she1022也可以在存储部1023中以取代初始签名密钥kbi的方式保存该获取的签名密钥kb1。另外,she1022将该获取的预期值e1n设定为在安全启动处理中使用的预期值。

然后,执行步骤s109。步骤s109与图9所涉及的管理方法的例5的步骤s88相同。然后,执行步骤s110。

控制部41在从she1022接收到的测量值e1n_x的验证结果为“合格”的情况下,将存储部42中保存的随机数nonce1传递到she1022,通过加密密钥ke1执行加密(步骤s110)。she1022的加密处理部52通过存储部1023中保存的加密密钥ke1对随机数nonce1进行加密从而生成第六加密数据ke1(nonce1)。she1022将第六加密数据ke1(nonce1)传递给控制部41。另一方面,控制部41在从she1022接收到的测量值e1n_x的验证结果为“不合格”的情况下,不进行随机数nonce1的加密。

控制部41通过接口部40将作为安全启动结果的测量值e1n_x的验证结果“合格或者不合格”经由can1030发送给第一ecu1010。此时,控制部41在测量值e1n_x的验证结果为“合格”的情况下,在安全启动结果“合格(ok)”中包含第六加密数据ke1(nonce1)。第一ecu1010通过接口部20从第二ecu(1)1020经由can1030接收第二ecu(1)1020的安全启动结果“合格或者不合格”。

此外,控制部41也可以在安全启动结果“合格(ok)”中直接包含随机数nonce1而不进行加密。另外,控制部41也可以在安全启动结果“合格(ok)”中包含随机数nonce1以及随机数nonce1的cmac。随机数nonce1的cmac可以通过加密密钥ke1计算。在安全启动结果“合格(ok)”中包含随机数nonce1以及随机数nonce1的cmac的情况下,可以对随机数nonce1或者随机数nonce1的cmac中的任意一个、或者随机数nonce1以及随机数nonce1的cmac两者进行加密。

第一ecu1010的控制部21将第二ecu(1)1020的安全启动结果“合格(ok)”中包含的第六加密数据ke1(nonce1)传递给hsm1012,通过第二ecu(1)1020的加密密钥ke1执行解密(步骤s111)。hsm1012的加密处理部32通过存储部1013中保存的第二ecu(1)1020的加密密钥ke1对第六加密数据ke1(nonce1)进行解密从而获取解密数据nonce1。hsm1012将解密数据nonce1传递给控制部21。

控制部21将解密数据nonce1与存储部22中保存的随机数nonce1进行比较,判断两者是否一致。在该判断结果为两者一致的情况下,判定第二ecu(1)1020的安全启动结果“合格”为正确。

在判定安全启动结果“合格”为正确的情况下,处理行进至步骤s112。另一方面,在两者不一致的情况下,判定第二ecu(1)1020的安全启动结果“合格”为不正确。在判定第二ecu(1)1020的安全启动结果“合格”为不正确的情况下,针对第二ecu(1)1020结束图10的处理。由此,在判定第二ecu(1)1020的安全启动结果“合格”为不正确的情况下,不会对第二ecu(1)1020执行步骤s112。另外,在判定安全启动结果“合格”为不正确的情况下,密钥生成装置1300可以执行规定的错误处理。

另外,在第一ecu1010接收到第二ecu(1)1020的安全启动结果“不合格”的情况下,针对第二ecu(1)1020结束图10的处理。由此,在接收到第二ecu(1)1020的安全启动结果“不合格”的情况下,不对第二ecu(1)1020执行步骤s112。另外,在接收到安全启动结果“不合格”的情况下,第一ecu1010可以执行规定的错误处理。

然后,执行步骤s112以及步骤s113。步骤s112与图8所涉及的管理方法的例4的步骤s59相同。步骤s113与图8所涉及的管理方法的例4的步骤s60相同。

对搭载于汽车1001的所有第二ecu(n)1020同样执行上述步骤s103至步骤s113的工序。

此外,上述步骤s103至步骤s113的工序是在汽车1001内进行的处理。因此,在执行步骤s103至步骤s113的工序时,密钥生成装置1300的车辆接口11可以与汽车1001的诊断端口1060不连接。

根据上述的管理方法的例6,与管理方法的例5同样,密钥生成装置1300生成搭载于汽车1001的ecu的ecu码的预期值并供给至ecu。然后,ecu基于从密钥生成装置1300供给的预期值来验证自身的ecu码的测量值。因此,根据本管理方法的例6,将第一ecu1010的验证结果通知密钥生成装置1300,从而能够对搭载于汽车1001的第一ecu1010进行真伪判定。另外,将第二ecu(n)1020的验证结果通知第一ecu1010,由此,能够对搭载于汽车1001的第二ecu(n)1020进行真伪判定。由此,可提高搭载于汽车1001的ecu的可靠性。另外,通过使第一ecu1010对n个第二ecu(n)1020进行真伪判定,与管理方法的例5相比,能够缩短密钥生成装置1300与汽车1001连接的时间。

并且,根据上述的管理方法的例6,与管理方法的例5同样,在第一ecu1010将自身的ecu码的测量值的验证结果通知密钥生成装置1300时,通过测量值验证合格时能够使用的加密密钥对从密钥生成装置1300供给的验证值(上述例子中的随机数nonce)进行加密从而生成第六加密数据,将该第六加密数据发送给密钥生成装置1300。与密钥生成装置1300共享该加密密钥。密钥生成装置1300对该第六加密数据进行解密,判断该解密数据与供给至第一ecu1010的原始的验证值是否一致,从而能够确认第一ecu1010的ecu码的测量值的验证结果的正确性。

另外,根据上述的管理方法的例6,在第二ecu1020将自身的ecu码的测量值的验证结果通知第一ecu1010时,通过测量值验证合格时能够使用的加密密钥对从第一ecu1010供给的验证值(上述的例中的随机数nonce1)进行加密从而生成第六加密数据,将该第六加密数据发送给第一ecu1010。与第一ecu1010共享该该加密密钥。第一ecu1010对该第六加密数据进行解密,判断该解密数据与供给至第二ecu1020的原始的验证值是否一致,从而能够确认第二ecu1020的ecu码的测量值的验证结果的正确性。

此外,验证值(上述例子中的随机数nonce、随机数nonce1)也可以不加密而直接发送给密钥生成装置1300、第一ecu1010。另外,验证值以及验证值的cmac也可以发送给密钥生成装置1300、第一ecu1010。可以通过测量值的验证合格时能够使用的加密密钥计算验证值的cmac。在验证值以及验证值的cmac发送给密钥生成装置1300、第一ecu1010的情况下,可以对验证值或者验证值的cmac中的任意一个、或者验证值以及验证值的cmac两者进行加密。

[汽车的其他结构例]

图11是表示本实施方式所涉及的管理系统以及汽车1001的其他结构例的图。图11中,对与图1的各个部分对应的部分标注相同的符号,并省略说明。下面,参照图11,主要说明与图1所示的汽车1001的不同点。

图11中,与图1所示结构的不同点为:第一ecu1010不具有网关功能;作为独立于第一ecu1010的装置设置网关1070。网关1070与can1030连接。网关1070与信息娱乐设备1040、tcu1050以及诊断端口1060连接。图11所示的汽车1001具备的车载计算机系统1002a通过第一ecu1010以及多个第二ecu1020与can1030连接而成。第一ecu1010以及第二ecu1020经由网关1070与车载计算机系统1002a的外部装置进行通信。网关1070监视车载计算机系统1002a的内部与外部之间的通信。本实施方式中,车载计算机系统1002a作为汽车1001的车载控制系统发挥作用。

此外,作为can1030的结构,can1030具备多个总线(通信线),该多个总线可以与网关1070连接。在该情况下,一个总线上可连接一个ecu或者多个ecu。另外,可以在相同总线上连接第一ecu1010以及第二ecu1020,也可以使连接第一ecu1010的总线与连接第二ecu1020的总线不同。

[管理方法的其他例]

参照图12、图13以及图14说明管理方法的其他例。本管理方法的其他例是ecu码的管理方法的一个例子。图12是表示本实施方式所涉及的管理系统的其他结构例的图。图12中,汽车1001采用图11的结构。此外,也可以采用图1所示的汽车1001的结构。图12所示的管理系统具备服务器装置2000。

服务器装置2000经由通信线路与汽车1001的tcu1050的通信模块1051进行数据的收发。服务器装置2000经由汽车1001的tcu1050的通信模块1051所使用的无线通信网络与该通信模块1051进行数据的收发。或者,服务器装置2000也可以经由互联网等通信网络、该无线通信网络与该通信模块1051进行数据的收发。另外,例如,服务器装置2000与通信模块1051之间可以通过vpn(virtualprivatenetwork;虚拟专用网)线路等专用线路连接,通过该专用线路收发数据。例如,可以通过对应sim1052的无线通信网络提供vpn线路等专用线路。

服务器装置2000向汽车1001提供应用于ecu的ecu码。ecu码是应用于ecu的数据的例子。ecu码可以是安装于ecu的更新程序等计算机程序,也可以是ecu中设定的参数设定值等设定数据。

汽车1001的诊断端口1060可连接维护工具(maintenancetool)2100。与汽车1001的诊断端口1060连接的维护工具2100能够经由网关1070与连接于can1030的ecu进行通信。维护工具2100可以具有与obd接口连接的现有的诊断终端的功能。

图13是表示服务器装置2000的结构例的图。图13中,服务器装置2000具备通信部2011、存储部2012、预期值计算部2013、验证部2014、密钥生成部2015以及加密处理部2016。通信部2011经由通信线路与其他装置进行通信。存储部2012存储密钥等数据。预期值计算部2013针对ecu码计算预期值。验证部2014对ecu码进行验证。密钥生成部2015生成ecu的密钥。加密处理部2016进行数据的加密以及加密数据的解密。

该服务器装置2000具备的cpu执行计算机程序从而实现服务器装置2000的功能。此外,作为服务器装置2000,可以使用通用计算机装置构成,也可以使用专用的硬件装置构成。

下面,参照图14,说明管理方法的其他例的处理流程。图14是表示ecu码的提供流程的例子的序列图。此外,图14中,ecu是搭载于汽车1001的ecu,也可以是第一ecu1010或者第二ecu1020。

服务器装置2000将主密钥master_secret以及ecu的ecu码预先保存在存储部2012。ecu的ecu码包含应用于ecu的预定的ecu码。ecu预先保存root密钥kr、签名密钥kb、加密密钥ke以及ecu码ec。第一ecu1010中,hsm1012的存储部1013保存各密钥,主运算器1011的存储部22保存ecu码。第二ecu1020中,she1022的存储部1023保存各密钥,主运算器1021的存储部42保存ecu码。

然后,服务器装置2000通过通信部2011与汽车1001的tcu1050进行通信,经由tcu1050以及网关1070与连接于汽车1001的can1030的各ecu之间收发数据。另外,在以下的说明中,不特别区分第一ecu1010以及第二ecu1020,作为ecu进行说明。因此,为了便于说明,对于安全元件,在ecu为第一ecu1010的情况下是指hsm1012,在ecu为第二ecu1020的情况下是指she1022。另外,对于安全元件的存储部,在ecu为第一ecu1010的情况下是指hsm1012的存储部1013,在ecu为第二ecu1020的情况下是指she1022的存储部1023。另外,对于ecu的控制部,在ecu为第一ecu1010的情况下是指控制部21,在ecu为第二ecu1020的情况下是指控制部41。

服务器装置2000的密钥生成部2015生成搭载于汽车1001的ecu的root密钥kr、签名密钥kb以及加密密钥ke(步骤s201)。这些密钥的生成方法与图9所涉及的管理方法的例5的步骤s71中的root密钥、签名密钥以及加密密钥的生成方法相同。例如,将root密钥用变量nk的值设置为nk_1,将签名密钥用变量nk的值设置为nk_2,将加密密钥用变量nk的值设置为nk_3。

密钥生成部2015使用主密钥master_secret以及ecu的ecu标识符ecu_id,根据下述公式

root密钥=摘要(master_secret,ecu_id,nk_1),

签名密钥=摘要(master_secret,ecu_id,nk_2),

加密密钥=摘要(master_secret,ecu_id,nk_3),

作为不同的密钥生成root密钥kr、签名密钥kb以及加密密钥ke。存储部2012保存root密钥kr、签名密钥kb以及加密密钥ke。

另外,服务器装置2000的预期值计算部2013通过签名密钥kb计算搭载于汽车1001的ecu中应用的预定的ecu码(下面,称为ecnew码)的cmac。将该计算结果的cmac称为预期值ecn。存储部2012保存预期值ecn。

服务器装置2000通过通信部2011将预期值ecn发送给ecu(步骤s202)。ecu接收从服务器装置2000发送的预期值ecn。

ecu的安全元件将从服务器装置2000接收到的预期值ecn设定为在安全启动处理中使用的预期值(步骤s203)。

服务器装置2000通过通信部2011将ecnew码发送给ecu。ecu接收从服务器装置2000发送的ecnew码(步骤s204)。

ecu的控制部将从服务器装置2000接收到的ecnew码应用于自身(步骤s205)。

ecu的控制部在应用ecnew码后,执行安全启动(步骤s206)。在该安全启动中,ecu的安全元件通过安全元件的存储部中保存的签名密钥kb计算ecnew码的cmac,将该计算结果的cmac与预期值ecn进行比较。作为该比较的结果,在两者一致的情况下,安全启动结果合格,在两者不一致的情况下,安全启动结果不合格。ecu的安全元件将安全启动结果传递给ecu的控制部。ecu的控制部在安全启动结果合格的情况下继续执行ecnew码。另一方面,ecu在安全启动结果不合格的情况下停止执行ecnew码。

ecu将安全启动结果“合格或者不合格”发送给服务器装置2000(步骤s207)。服务器装置2000通过通信部2011接收从ecu发送的安全启动结果“合格或者不合格”。服务器装置2000根据从ecu接收到的安全启动结果“合格或者不合格”执行规定的处理。例如,在安全启动结果合格的情况下,记录相关内容。另一方面,在安全启动结果不合格的情况下,例如,服务器装置2000再次生成预期值ecn,服务器装置2000以及ecu再次执行上述的步骤s202至步骤s207。反复再次执行该预期值ecn的再生成以及步骤s202至步骤s207直至安全启动结果合格,或者反复执行规定次数。

下面,说明上述的图14的ecu码的提供流程的变形例。

<ecu码的提供流程的变形例1>

在步骤s202,服务器装置2000通过加密处理部2016对预期值ecn进行加密并发送给ecu。用于该加密的密钥可以是root密钥kr、签名密钥kb或者加密密钥ke中的任意一个。ecu的安全元件将从服务器装置2000接收到的加密数据通过自身的加密处理部使用安全元件的存储部中保存的对应的的密钥进行解密,从而获取预期值ecn。

<ecu码的提供流程的变形例2>

在步骤s204,服务器装置2000通过加密处理部2016对ecnew码进行加密并发送给ecu。用于该加密的密钥可以是root密钥kr、签名密钥kb或者加密密钥ke中的任意一个。ecu的安全元件将从服务器装置2000接收到的加密数据通过自身的加密处理部使用安全元件的存储部中保存的对应的的密钥进行解密,从而获取ecnew码。

<ecu码的提供流程的变形例3>

可同时应用上述的ecu码的提供流程的变形例1以及ecu码的提供流程的变形例2。即,将预期值ecn以及ecnew码两者进行加密并从服务器装置2000发送给ecu。

<ecu码的提供流程的变形例4>

在步骤s207,将从ecu发送给服务器装置2000的安全启动结果“合格或者不合格”设置为规定值。例如,合格为“1”,不合格为“0”。

<ecu码的提供流程的变形例5>

在步骤s207,从ecu发送给服务器装置2000的安全启动结果“合格或者不合格”作为步骤s206的安全启动中计算出的结果的ecnew码的cmac。服务器装置2000的验证部2014将从ecu接收到的安全启动结果的cmac与步骤s202中发送至ecu的预期值ecn进行比较。服务器装置2000的验证部2014在该比较结果为两者一致的情况下,判定ecu的安全启动结果合格,在两者不一致的情况下,判定ecu的安全启动结果不合格。

<ecu码的提供流程的变形例6>

服务器装置2000将验证值(例如,随机数nonce)预先供给至ecu。在步骤s207,ecu在安全启动结果合格的情况下,在安全启动结果“合格”中包含验证值,另一方面,在安全启动结果不合格的情况下,在安全启动结果“不合格”中不包含验证值。服务器装置2000的验证部2014将从ecu接收到的安全启动结果“合格”中包含的验证值与预先供给至ecu的原始的验证值进行比较。服务器装置2000的验证部2014在该比较结果为两者一致的情况下,判定ecu的安全启动结果合格,在两者不一致的情况下,判定ecu的安全启动结果不合格。

<ecu码的提供流程的变形例7>

使用上述的ecu码的提供流程的变形例4、5、6的任意组合。

<ecu码的提供流程的变形例8>

上述的ecu码的提供流程的变形例4、5、6、7中,ecu通过安全元件的加密处理部对安全启动结果进行加密并发送给服务器装置2000。用于该加密的密钥可以是root密钥kr或者签名密钥kb中的任意一个。服务器装置2000将从ecu接收到的加密数据通过加密处理部2016使用存储部2012中保存的对应的密钥进行解密,从而获取安全启动结果。此外,在安全启动结果合格的情况下能够使用加密密钥ke,因此,可以将安全启动结果“合格”通过加密密钥ke进行加密。

根据上述的管理方法的其他例子,服务器装置2000向ecu提供ecu中应用的ecu码的预期值。ecu基于从服务器装置2000提供的ecu码的预期值验证从服务器装置2000提供的ecu码。ecu将ecu码的验证结果发送给服务器装置2000。由此,能够提高应用于ecu的ecu码的可靠性。

上述的管理方法的其他例子中,服务器装置2000对应数据提供装置,通信部2011对应车辆接口。

此外,维护工具2100具备与服务器装置2000同样的功能,通过与服务器装置2000同样的ecu码的提供流程,可以构成为经由诊断端口1060向ecu提供ecu码。

另外,汽车1001的tcu1050也可以从服务器装置2000接收ecu码,针对接收到的ecu码生成预期值,将生成的ecu码的预期值提供给ecu。例如,tcu1050的通信模块1051的sim1052预先保存主密钥master_secret,使用主密钥master_secret以及ecu的ecu标识符ecu_id生成用于生成cmac的密钥,通过生成的密钥计算ecu码的cmac(预期值)。

另外,汽车1001的第一ecu1010也可以从服务器装置2000接收第二ecu1020的ecu码,针对接收到的第二ecu1020的ecu码生成预期值,将生成的第二ecu1020的ecu码的预期值提供给第二ecu1020。例如,第一ecu1010的hsm1012预先保存主密钥master_secret,使用主密钥master_secret以及第二ecu1020的ecu标识符ecu_id生成用于生成cmac的密钥,通过生成的密钥计算第二ecu1020的ecu码的cmac(预期值)。

以上,参照附图详细说明了本发明的实施方式,但是,具体的结构并不限于这些实施方式,可以在不脱离本发明的主旨的范围内进行设计变更等。

上述的实施方式中,ecu具备hsm或者she,但也可以使用hsm以及she以外的加密处理芯片。例如,可以对第一ecu1010使用称为“tpm(trustedplatformmodule)f”的加密处理芯片。tpmf具有防篡改性。tpmf是安全元件的例子。例如,可以对第二ecu1020使用称为“tpmt”的加密处理芯片。tpmt具有防篡改性。tpmt是安全元件的例子。

上述的实施方式可在汽车的制造工场中通过汽车制造工序应用在汽车搭载的新品ecu。另外,上述的实施方式也可以在汽车维修厂、销售店等中将汽车的ecu更换为新品时应用在汽车搭载的新品ecu中。

上述的实施方式中,作为车辆,以汽车作为例子,但是,同样可应用于电动自行车、铁路车辆等汽车以外的其他车辆。

另外,可以将用于实现上述的密钥生成装置或者ecu的功能的计算机程序存储在计算机可读取存储介质中,将该存储介质中存储的程序读入计算机系统并执行。此外,此处所说的“计算机系统”可以包含os、外围设备等硬件。

另外,“计算机可读取存储介质”是指软盘、磁光盘、rom、闪存等可写入的非易失性存储器、dvd(digitalversatiledisc)等可移动介质、内置于计算机系统的硬盘等存储装置。

并且,“计算机可读取存储介质”包含经由互联网等网络、电话线路等通信线路发送程序时作为服务器、客户端的计算机系统内部的易失性存储器(例如dram(dynamicrandomaccessmemory))这种以规定时间保存程序的存储介质。

另外,上述程序可从将该程序存储在存储装置等中的计算机系统经由传输介质或者传输介质的传送波向其他计算机系统传输。其中,传输程序的“传输介质”是指互联网等网络(通信网)、电话线路等通信线路(通信线)这种具有信息传输功能的介质。

另外,上述程序也可用于实现上述的功能的一部分。

并且,也可以是通过与已存储在计算机系统中的程序的组合来实现上述功能的所谓的差分文件(差分程序)。

工业实用性

根据本发明,可实现提高搭载于汽车等车辆的ecu等车载计算机的可靠性的效果。

附图标记说明

11…车辆接口、12、22、42、2012…存储部、13、2013…预期值计算部、14、2014…验证部、15、34、2015…密钥生成部、16、32、52、2016…加密处理部、20、40…接口部、21、41…控制部、31、51…测量值计算部、33、53…测量部、1001…汽车、1002、1002a…车载计算机系统、1010…第一ecu、1011、1021…主运算器、1012…hsm、1013、1023…存储部、1020…第二ecu、1022…she、1030…can、1040…信息娱乐设备、1050…tcu、1051…通信模块、1052…sim、1060…诊断端口、1070…网关、1300…密钥生成装置、2000…服务器装置、2011…通信部、2100…维护工具。

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