CN117997523A - 认证密钥的传输 - Google Patents
认证密钥的传输 Download PDFInfo
- Publication number
- CN117997523A CN117997523A CN202311373179.0A CN202311373179A CN117997523A CN 117997523 A CN117997523 A CN 117997523A CN 202311373179 A CN202311373179 A CN 202311373179A CN 117997523 A CN117997523 A CN 117997523A
- Authority
- CN
- China
- Prior art keywords
- control module
- update command
- authentication key
- vehicle system
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 38
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000010200 validation analysis Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 101000641224 Homo sapiens Vimentin-type intermediate filament-associated coiled-coil protein Proteins 0.000 description 1
- 102100034331 Vimentin-type intermediate filament-associated coiled-coil protein Human genes 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- XEBWQGVWTUSTLN-UHFFFAOYSA-M phenylmercury acetate Chemical compound CC(=O)O[Hg]C1=CC=CC=C1 XEBWQGVWTUSTLN-UHFFFAOYSA-M 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/047—Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
- H04W12/0471—Key exchange
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供“认证密钥的传输”。一种车辆系统包括第一控制模块、多个第二控制模块和车辆网络。所述车辆网络通信地耦合所述第一控制模块和所述第二控制模块。所述第一控制模块被编程为生成包括多个认证密钥的更新命令,并且通过所述车辆网络传输所述更新命令。所述更新命令在功能上被寻址为可由所述第二控制模块接收。每个第二控制模块被编程为接收配置文件;响应于接收到所述更新命令,基于所述配置文件识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及用所识别的认证密钥进行更新。
Description
技术领域
本公开涉及用于以安全且快速的方式将认证密钥分发给控制模块的技术。
背景技术
对称密钥算法是使用相同的密钥来加密未加密数据和解密加密数据的加密算法。对称密钥算法可以使用流密码或分组密码。流密码逐个加密消息的字符。分组密码在填充明文的同时对位块进行加密。分组加密的示例是美国国家标准与技术研究所颁布的高级加密标准算法。
发明内容
现代车辆通常包括控制车辆的各种功能的若干控制模块。控制模块可以通过经由诸如控制器局域网(CAN)总线的车辆网络发送消息而彼此通信。控制模块之间的通信可以例如使用对称密钥算法进行加密。在控制模块中的一者为发送器并且控制模块中的一者为接收器的通信中,发送器和接收器都可存储有相同的认证密钥,发送器使用所述认证密钥来将通信加密并且接收器使用所述认证密钥来将通信解密。如果通信被拦截,则加密可以防止知道通信的内容。车辆上的控制模块可以使用若干认证密钥,例如用于车辆的相应功能或特征。可以将用于特定功能的认证密钥分发给负责该功能的控制模块,而不分发给其他控制模块。每个控制模块可以具有零个、一个或几个认证密钥,这取决于该控制模块负责的功能。
然而,如果第三方发现了认证密钥中的一个,则第三方可能能够了解所拦截的通信的内容。因此,必须以安全的方式分发认证密钥。可在制造车辆时执行认证密钥的初始分发。例如,如果维修或更换控制模块,则可能发生认证密钥的后续分发。
本文描述了用于以安全且快速的方式将认证密钥分发给控制模块的技术。控制模块中的一个(在本文中称为第一控制模块)可以负责将认证密钥分发给其他控制模块(在本文中称为第二控制模块)。第一控制模块被编程为生成包括认证密钥的更新命令,并且通过车辆网络(例如,CAN总线)传输更新命令。所述更新命令在功能上被寻址为可由所述第二控制模块接收。功能寻址允许一次将更新命令发送到所有第二控制模块,而不是像单独发送到第二控制模块的物理寻址命令一样逐个发送。每个第二控制模块被编程为接收配置文件;响应于接收到所述更新命令,基于所述配置文件识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及用所识别的认证密钥进行更新。由此更快地传输认证密钥,从而防止制造过程期间可能的延迟。配置文件向第二控制模块通知第二控制模块应使用哪些认证密钥来更新。
一种车辆系统包括第一控制模块、多个第二控制模块和车辆网络。所述车辆网络通信地耦合所述第一控制模块和所述第二控制模块。所述第一控制模块被编程为生成包括多个认证密钥的更新命令,并且通过所述车辆网络传输所述更新命令,并且所述更新命令在功能上被寻址为可由所述第二控制模块接收。每个第二控制模块被编程为接收相应的配置文件;响应于接收到所述更新命令,基于所述相应的配置文件识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及用所识别的认证密钥进行更新。
在一个示例中,所述配置文件可以指示与相应的第二控制模块相关联的认证密钥。在另一示例中,每个配置文件可以指示与所述相应的第二控制模块相关联的认证密钥,并且可以不指示与所述第二控制模块中的其他第二控制模块相关联的认证密钥。
在又一示例中,所述配置文件可以列出与所述相应的第二控制模块相关联的认证密钥的密钥标识符。
在一个示例中,所述更新命令可缺少所述认证密钥与所述第二控制模块之间的关联。
在一个示例中,所述第二控制模块中的多于一个可与所述认证密钥中的一个相关联。
在一个示例中,第一控制模块还可以被编程为接收传输命令,并且响应于接收到所述传输命令而传输所述更新命令。在另一示例中,所述第一控制模块还可以被编程为验证所述传输命令,并且禁止传输所述更新命令直到所述传输命令被验证为止。
在又一示例中,所述配置文件可以是第二配置文件,所述第一控制模块还可以被编程为接收第一配置文件,并且在接收到所述第一配置文件之后,接收所述传输命令。
在一个示例中,所述更新命令中的所述认证密钥可以被加密。在又一示例中,所述更新命令中的所述认证密钥可彼此不同地加密。
在一个示例中,所述更新命令可以由不与所述更新命令中的所述认证密钥中的任一者相关联的第三控制模块接收。
在一个示例中,所述第一控制模块还可以被编程为接收指示所述第二控制模块接收到所述更新命令的多个证实。在另一示例中,所述第一控制模块还可以被编程为在未能从所述第二控制模块中的至少一者接收到所述证实中的至少一者时,通过所述车辆网络重新传输所述更新命令。
在一个示例中,所述认证密钥可以是对称加密密钥。
在一个示例中,每个第二控制模块可以被编程为响应于接收到所述更新命令,向所述第一控制模块传输证实。
在一个示例中,所述第二控制模块可以被编程为用所述认证密钥对消息进行加密。在另一示例中,所述认证密钥中的第一密钥可以与所述第二控制模块的一个组相关联,并且所述组中的每个第二控制模块可以被编程为使用所述第一密钥对至该组中的所述第二控制模块中的其他第二控制模块的消息进行加密。
在一个示例中,每个配置文件可以指示所述相应的第二控制模块所属的至少一组第二控制模块,并且每个组中的所述第二控制模块可以与所述认证密钥中的一个相关联。
一种方法包括由第二控制模块接收配置文件;由第一控制模块生成包括多个认证密钥的更新命令;由所述第一控制模块通过车辆网络传输所述更新命令;响应于接收到所述更新命令,由所述第二控制模块基于所述配置文件来识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及由所述第二控制模块用所识别的认证密钥进行更新。所述更新命令在功能上被寻址为可由包括所述第二控制模块的多个控制模块接收。
附图说明
图1是示例性车辆的框图。
图2是用于将认证密钥分发给车辆的第二控制模块的示例性更新命令的图示。
图3是车辆的第一控制模块将认证密钥分发给第二控制模块的示例性过程的序列图。
图4是第一控制模块分发认证密钥的示例性过程的过程流程图。
图5是第二控制模块接收认证密钥的示例性过程的过程流程图。
具体实施方式
参考附图,其中贯穿若干视图相似的附图标记指示相似的零件,车辆100的车辆系统105包括第一控制模块110、多个第二控制模块115和车辆网络120。车辆网络120通信地耦合第一控制模块110和第二控制模块115。第一控制模块110被编程为生成包括多个认证密钥210的更新命令200,并且通过车辆网络120传输更新命令200。更新命令200在功能上被寻址为可由第二控制模块115接收。每个第二控制模块115被编程为接收第二配置文件;响应于接收到所述更新命令200,基于所述第二配置文件识别所述更新命令200中与所述第二控制模块115相关联的认证密钥210;以及用所识别的认证密钥210进行更新。
参考图1,车辆100可以是任何乘用或商用汽车,诸如轿车、卡车、运动型多功能车、跨界车、货车、小型货车、出租车、公共汽车等。
车辆系统105包括第一控制模块110。第一控制模块110是基于微处理器的计算装置,例如,通用计算装置(其包括处理器和存储器、电子控制器等)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、前述各者的组合等。通常,在电子设计自动化中使用诸如VHDL(VHSIC(超高速集成电路)硬件描述语言)的硬件描述语言来描述诸如FPGA和ASIC的数字和混合信号系统。例如,ASIC是基于制造前提供的VHDL编程而制造的,而FPGA内部的逻辑部件可基于例如存储在电连接到FPGA电路的存储器中的VHDL编程来配置。第一控制模块110因此可以包括处理器、存储器等。第一控制模块110的存储器可以包括介质,所述介质用于存储可由处理器执行的指令以及用于电子地存储数据和/或数据库,和/或第一控制模块110可以包括提供编程的结构,诸如前述结构。
车辆系统105包括车辆网络120。第一控制模块110可以通过车辆网络120传输和接收数据。车辆网络120可为或包括控制器局域网(CAN)总线、以太网、WiFi、局域互连网(LIN)、车载诊断连接器(OBD-II)和/或通过任何其他有线或无线通信网络。车辆网络120可以通信地耦合第一控制模块110、第二控制模块115、第三控制模块125、收发器130和车辆100的其他部件。
车辆系统105包括第二控制模块115。第二控制模块115是基于微处理器的计算装置,例如通用计算装置(包括相应处理器和存储器、电子控制器等)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、前述各者的组合等。通常,在电子设计自动化中使用诸如VHDL(VHSIC(超高速集成电路)硬件描述语言)等硬件描述语言来描述诸如FPGA和ASIC等数字和混合信号系统。例如,ASIC是基于制造前提供的VHDL编程而制造的,而FPGA内部的逻辑部件可基于例如存储在电连接到FPGA电路的存储器中的VHDL编程来配置。第二控制模块115因此可各自包括处理器、存储器等。第二控制模块115的存储器可包括介质,所述介质用于存储可由处理器执行的指令以及用于电子地存储数据和/或数据库,和/或第二控制模块115可包括提供编程的结构,诸如前述结构。
车辆系统105可包括第三控制模块125。术语“第三控制模块”在本文中用于指代不使用来自更新命令200的认证密钥210的控制模块。例如,去往和来自第三控制模块125的通信可以是未加密的。第三控制模块125是基于微处理器的计算装置,例如通用计算装置(包括相应处理器和存储器、电子控制器等)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、前述各者的组合等。通常,在电子设计自动化中使用诸如VHDL(VHSIC(超高速集成电路)硬件描述语言)等硬件描述语言来描述诸如FPGA和ASIC等数字和混合信号系统。例如,ASIC是基于制造前提供的VHDL编程而制造的,而FPGA内部的逻辑部件可基于例如存储在电连接到FPGA电路的存储器中的VHDL编程来配置。第三控制模块125因此可各自包括处理器、存储器等。第三控制模块125的存储器可包括介质,所述介质用于存储可由处理器执行的指令以及用于电子地存储数据和/或数据库,和/或第三控制模块125可包括提供编程的结构,诸如前述结构。
第二控制模块115和第三控制模块125被编程用于执行车辆100的不同功能。例如,第二控制模块115和第三控制模块125可包括发动机控制模块、车身控制模块、约束装置控制模块、附件控制模块、动力转向控制模块、防抱死制动控制模块等。车辆100可包含五十个到一百个控制模块110、115、125。
车辆系统105可以包括收发器130。收发器130可适用于通过任何合适的无线通信协议(诸如蜂窝、低功耗(BLE)、超宽带(UWB)、WiFi、IEEE802.11a/b/g/p、蜂窝-V2X(CV2X)、专用短程通信(DSRC)、其他RF(射频)通信等)无线地发射信号。收发器130可适用于与远程服务器135(即,与车辆100不同且间隔开的服务器)通信。收发器130可以是一个装置,或者可包括单独的发射器和接收器。
远程服务器135可以位于车辆100的外部。例如,远程服务器135可与车辆100的制造设施或服务中心相关联,与另一个车辆相关联(例如,V2V通信),与基础设施部件相关联(例如,V2I通信),与紧急响应者相关联,与和车辆100的所有者相关联的移动装置相关联,等等。
第二控制模块115被编程为利用认证密钥210对消息进行加密和解密。例如,认证密钥210可以是对称加密密钥。两个(至少)第二控制模块115可以存储相同的认证密钥210。两个第二控制模块115中的一者可以使用认证密钥210对消息进行加密并将该消息传输到两个第二控制模块115中的另一者,并且两个第二控制模块115中的另一者可以使用该相同认证密钥210来解密该消息。
第二控制模块115可以属于组140。每个组140中的第二控制模块115可以与认证密钥210中的一个相关联,例如,在组140与认证密钥210之间存在一一对应关系。组140中的一个组中的每个第二控制模块115可以被编程为利用与该组140相关联的认证密钥210对至该组140中的第二控制模块115中的其他第二控制模块的消息进行加密。第二控制模块115中的多于一个(即,组140中的一个)可以与每个认证密钥210相关联。每个组140可以对应于车辆100的功能或特征,例如制动、转向、传动系、乘客舱的气候控制、信息娱乐等。每个第二控制模块115可以属于一个或多个组140,例如,报告车辆100的速度的第二控制模块115可以属于用于制动的组140和用于传动系的组140。
参考图2,更新命令200包括认证密钥210的列表205。例如,列表205可以形成更新命令200的有效载荷。更新命令200可能缺少认证密钥210与第二控制模块115之间的关联。
认证密钥210的列表205可以包括与相应的密钥标识符215配对的认证密钥210。每个密钥标识符215可以是唯一地指定认证密钥210中的一个的字符串。认证密钥210和密钥标识符215可以具有一一对应关系。列表205可以包括级联在一起的成对的密钥标识符215和认证密钥210。
更新命令200中的认证密钥210可以被加密,即,可以对认证密钥210执行加密算法。例如,加密算法可以是任何合适的算法,例如高级加密标准(AES)。又例如,可以对认证密钥210执行哈希算法。哈希算法可能是加密哈希函数,例如密钥加密哈希函数,诸如BLAKE2、BLAKE3、HMAC、KMAC、MD6、一键MAC、PMAC、Poly1305-AES、SipHash、HighwayHash、UMAC、VMAC等,或者可能是诸如MD5等更简单的哈希函数。更新命令200中的认证密钥210可彼此不同地加密。例如,认证密钥210可以用每个第二控制模块115唯一的并且仅远程服务器135知道的加密密钥进行加密。又例如,认证密钥210可以用密钥加密哈希函数进行哈希,所述密钥加密哈希函数根据每个认证密钥210的不同值进行密钥化。独立加密可以防止第二控制模块115访问不相关联的认证密钥210。
图3是示出了车辆100的第一控制模块110将认证密钥210分发给第二控制模块115的示例性过程300的序列图。远程服务器135、第一控制模块110和/或第二控制模块115的存储器可存储用于执行过程300的步骤的可执行指令和/或可以以诸如上述的结构来实施编程。
过程300开始于步骤305,其中远程服务器135例如经由收发器130将第一配置文件传输到第一控制模块110,并且第一控制模块110接收第一配置文件。第一配置文件指示第二控制模块115的组140。组140可以通过例如相关联的密钥的密钥标识符215或通过某个其他唯一标识符来识别。第二控制模块115可以由模块标识符识别。第一配置文件可以包括认证密钥210,或者认证密钥210可能已经被加载到第一控制模块110上。
接下来,在步骤310中,远程服务器135例如经由收发器130将相应的第二配置文件传输到第二控制模块115,并且第二控制模块115接收相应的第二配置文件。每个第二控制模块115的第二配置文件指示该第二控制模块115所属的组140。每个第二控制模块115的第二配置文件可能缺少对其他第二控制模块115所属的组140的指示。每个第二配置文件还可以指示与相应的第二控制模块115相关联的认证密钥210,例如,通过列出与第二控制模块115相关联的认证密钥210的密钥标识符215。每个第二配置文件可以不指示与第二控制模块115中除了相应的第二控制模块115之外的其他第二控制模块相关联的认证密钥210,即,可缺少对与其他第二控制模块相关联的认证密钥的指示。
接下来,在步骤315中,远程服务器135向第一控制模块110传输传输命令,并且第一控制模块110接收传输命令。传输命令指示第一控制模块110将更新命令200传输到第二控制模块115。传输命令可以用数字签名进行签名,即,可以包括用私钥加密的签名数据。可以通过来自远程服务器135的操作员的输入或通过车辆100进入制造过程的特定部分来触发传输命令。
接下来,在步骤320中,第一控制模块110验证传输命令。例如,第一控制模块110可以使用与由远程服务器135用来对传输命令进行签名的私钥相对应的公钥来解密传输命令中的签名数据。第一控制模块110禁止传输更新命令200,直到传输命令被验证为止。
接下来,在步骤325中,第一控制模块110响应于接收到并验证了传输命令而生成更新命令200。
接下来,在步骤330中,第一控制模块110响应于接收到并验证了传输命令,例如在生成更新命令200后即刻,通过车辆网络120传输更新命令200,并且第二控制模块115接收该更新命令200。例如,更新命令200可在功能上被寻址为可由第二控制模块115接收。出于本公开的目的,“功能寻址”的消息被定义为基于操作代码或消息内容标记的消息。功能寻址不同于物理寻址,即,识别应接收消息的特定控制模块110、115、125。因此,更新命令200可以由车辆网络120上的任何实体(即,未在更新命令200中列出的第二控制模块115以及第三控制模块125)接收。
接下来,在步骤335中,每个第二控制模块115响应于接收到更新命令200而基于相应的第二配置文件来识别与该第二控制模块115相关联的认证密钥210。例如,第二控制模块115可以选择与发送到该第二控制模块115的第二配置文件中列出的密钥标识符215配对的认证密钥210。
接下来,在步骤340中,每个第二控制模块115用所识别的认证密钥210(例如,用来自相应的第二配置文件的密钥标识符215的认证密钥210)进行更新。例如,第二控制模块115可以将所识别的认证密钥210保存在与第二控制模块115所属的相应组140相关联的存储器中,以供稍后用于对那些组140内的消息进行加密和解密,如上所述。
接下来,在步骤345中,每个第二控制模块115响应于接收到更新命令200并用所识别的认证密钥210进行更新而将相应的证实传输到第一控制模块110,并且第一控制模块110接收多个证实。所述证实指示相应的第二控制模块115接收到更新命令200并用认证密钥210进行更新。
接下来,在步骤350中,第一控制模块110确认完成认证密钥210的分发。例如,第一控制模块110可以输出指示成功完成的消息。在步骤350之后,过程300结束。
图4是示出了第一控制模块110分发认证密钥210的示例性过程400的过程流程图。第一控制模块110的存储器存储用于执行过程400的步骤的可执行指令和/或可以以诸如上述的结构来实施编程。作为过程400的总体概述,第一控制模块110接收第一配置文件,接收传输命令,验证传输命令,生成更新命令200,传输更新命令200,并且等待预定时段。在从第二控制模块115接收到多个证实时,过程400作为成功分发结束。在未能从第二控制模块115中的至少一者接收到证实时,第一控制模块110再次生成更新命令200,传输更新命令200,并且等待预定时段。在再次未能从第二控制模块115中的至少一者接收到证实时,第一控制模块110输出错误消息。
过程400在框405中开始,其中第一控制模块110接收指示第二控制模块115的组140的第一配置文件,如上所述。
接下来,在框410中,第一控制模块110接收传输命令,如上所述。
接下来,在框415中,第一控制模块110验证传输命令,如上所述。
接下来,在框420中,第一控制模块110生成更新命令200,该更新命令包括认证密钥210,如上所述。
接下来,在框425中,第一控制模块110通过车辆网络120传输更新命令200,如上所述。
接下来,在框430中,第一控制模块110等待以接收指示第二控制模块115接收到更新命令200的证实。例如,第一控制模块110可以等待预定时段。可以选择预定时段以涵盖所有第二控制模块115在没有发生错误时传输证实的典型时间范围。
接下来,在决策框435中,第一控制模块110确定第一控制模块110是否例如在预定时段期间从所有第二控制模块115接收到证实。在接收到所有证实时,过程400结束。在未能从第二控制模块115中的至少一者接收到证实时,过程400前进到决策框440。
在决策框440中,第一控制模块110确定第一控制模块110是否已经通过车辆网络120重新传输更新命令200至少一次,即,是否已经至少第二次执行框425。如果否,则过程400返回到框420以重新生成更新命令200,重新传输更新命令200,并且重新等待预定时段。如果是,则过程400前进到框445。
在框445中,第一控制模块110输出错误消息。错误消息可以指示认证密钥210的分发不成功。错误消息可以包括第一控制模块110未能从其接收到证实的第二控制模块115的标识符。例如,第一控制模块110可以将错误消息传输到远程服务器135和/或利用车辆100的用户界面显示错误消息。在框445之后,过程400结束。
图5是示出了第二控制模块115中的一个接收认证密钥210的示例性过程500的过程流程图。第二控制模块115的存储器存储用于执行过程500的步骤的可执行指令和/或可以诸如上述的结构来实施编程。作为过程500的总体概述,第二控制模块115接收第二配置文件,接收更新命令200,识别与第二控制模块115相关联的认证密钥210,用所识别的认证密钥210进行更新,以及传输证实。
过程500在框505中开始,其中第二控制模块115从远程服务器135接收第二配置文件,如上所述。
接下来,在框510中,第二控制模块115从第一控制模块110接收更新命令200,如上所述。
接下来,在框515中,第二控制模块115基于第二配置文件来识别与该第二控制模块115相关联的认证密钥210,如上所述。
接下来,在框520中,第二控制模块115用所识别的认证密钥210进行更新,如上所述。
接下来,在框525中,第二控制模块115向第一控制模块110传输证实,如上所述。在框525之后,过程500结束。
一般来讲,所描述的计算系统和/或装置可采用多种计算机操作系统中的任一种,包括但决不限于以下版本和/或种类:Ford应用;AppLink/Smart Device Link中间件;Microsoft/>操作系统;Microsoft/>操作系统;Unix操作系统(例如,由加利福尼亚州红杉海岸的Oracle公司发布的/>操作系统);由纽约州阿蒙克市的国际商业机器公司发布的AIX UNIX操作系统;Linux操作系统;由加利福尼亚州库比蒂诺市的苹果公司发布的Mac OSX和iOS操作系统;由加拿大滑铁卢的黑莓有限公司发布的BlackBerry操作系统;以及由谷歌公司和开放手机联盟开发的安卓操作系统;或由QNX软件系统公司提供的/>CAR信息娱乐平台。计算装置的示例包括但不限于车载计算机、计算机工作站、服务器、台式机、笔记本、膝上型计算机或手持计算机、或某一其他计算系统和/或装置。
计算装置通常包括计算机可执行指令,其中所述指令可由诸如以上列出的那些的一个或多个计算装置执行。可以从使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于JavaTM、C、C++、Matlab、Simulink、Stateflow、Visual Basic、Java Script、Python、Perl、HTML等。这些应用中的一些可以在诸如Java虚拟机、Dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)接收来自例如存储器、计算机可读介质等的指令,并执行这些指令,从而执行一个或多个过程,包括本文所述过程中的一者或多者。此类指令和其他数据可使用各种计算机可读介质来存储和传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、电线、无线通信,包括构成联接到计算机的处理器的系统总线的内部件。共同形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
本文所述的数据库、数据存储库或其他数据存储可包括用于存储、存取/访问和检索各种数据的各种机制,包括分层数据库、文件系统中的文件集、专用格式的应用程序数据库、关系型数据库管理系统(RDBMS)、非关系数据库(NoSQL)、图形数据库(GDB)等。每个这样的数据存储通常被包括在采用诸如以上提及中的一种的计算机操作系统的计算装置内,并且以各种方式中的任何一种或多种来经由网络进行访问。文件系统可从计算机操作系统访问,并且可包括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(诸如上述PL/SQL语言)之外,RDBMS通常还采用结构化查询语言(SQL)。
在一些示例中,系统元件可以被实施为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读指令(例如,软件)。计算机程序产品可以包括存储在计算机可读介质上的用于实施本文描述的功能的此类指令。
在附图中,相同的附图标记指示相同的要素。此外,可以改变这些要素中的一些或全部。关于本文描述的介质、过程、系统、方法、启发等,应当理解,虽然此类过程等的步骤已被描述为按照某一有序的顺序发生,但是可以通过以与本文所述顺序不同的顺序执行所述步骤来实践此类过程。还应当理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文所述的某些步骤。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。形容词“第一”和“第二”贯穿本文档用作标识符,并且不意图表示重要性、次序或数量。“响应于”和“在确定……时”的使用指示因果关系,而不仅是时间关系。
已经以说明性方式描述了本公开,并且应理解,已经使用的术语意在是描述性的词语的性质,而不是限制性的。鉴于以上教导,本公开的许多修改和变化是可能的,并且本公开可以不同于具体描述的其他方式来实践。
根据本发明,提供了一种车辆系统,所述车辆系统具有:第一控制模块;多个第二控制模块;和车辆网络,所述车辆网络通信地耦合所述第一控制模块和所述第二控制模块;其中所述第一控制模块被编程为:生成包括多个认证密钥的更新命令;以及通过所述车辆网络传输所述更新命令,其中所述更新命令在功能上被寻址为可由所述第二控制模块接收;并且其中每个第二控制模块被编程为:接收相应的配置文件;响应于接收到所述更新命令,基于所述相应的配置文件来识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及用所识别的认证密钥进行更新。
根据实施例,所述配置文件可以指示与相应的第二控制模块相关联的认证密钥。
根据实施例,每个配置文件指示与所述相应的第二控制模块相关联的认证密钥,并且不指示与所述第二控制模块中的其他第二控制模块相关联的认证密钥。
根据实施例,所述配置文件列出与所述相应的第二控制模块相关联的认证密钥的密钥标识符。
根据实施例,所述更新命令缺少所述认证密钥与所述第二控制模块之间的关联。
根据实施例,所述第二控制模块中的多于一个与所述认证密钥中的一个相关联。
根据实施例,所述第一控制模块还被编程为接收传输命令,并且响应于接收到所述传输命令而传输所述更新命令。
根据实施例,所述第一控制模块还被编程为验证所述传输命令,并且禁止传输所述更新命令直到所述传输命令被验证为止。
根据实施例,所述配置文件是第二配置文件,所述第一控制模块还被编程为接收第一配置文件,并且在接收到所述第一配置文件之后,接收所述传输命令。
根据实施例,所述更新命令中的所述认证密钥被加密。
根据实施例,所述更新命令中的所述认证密钥彼此不同地加密。
根据实施例,所述更新命令可由不与所述更新命令中的所述认证密钥中的任一者相关联的第三控制模块接收。
根据实施例,所述第一控制模块还被编程为接收指示所述第二控制模块接收到所述更新命令的多个证实。
根据实施例,所述第一控制模块还被编程为在未能从所述第二控制模块中的至少一者接收到所述证实中的至少一者时,通过所述车辆网络重新传输所述更新命令。
根据实施例,所述认证密钥为对称加密密钥。
根据实施例,每个第二控制模块被编程为响应于接收到所述更新命令,向所述第一控制模块传输证实。
根据实施例,所述第二控制模块被编程为利用所述认证密钥对消息进行加密。
根据实施例,所述认证密钥中的第一密钥与所述第二控制模块的一个组相关联,并且所述组中的每个第二控制模块被编程为使用所述第一密钥对至该组中的所述第二控制模块中的其他第二控制模块的消息进行加密。
根据实施例,每个配置文件指示所述相应的第二控制模块所属的至少一组第二控制模块,并且每个组中的所述第二控制模块与所述认证密钥中的一个相关联。
根据本发明,一种方法包括:由第二控制模块接收配置文件;由第一控制模块生成包括多个认证密钥的更新命令;由所述第一控制模块通过车辆网络传输所述更新命令,其中所述更新命令在功能上被寻址为可由包括所述第二控制模块的多个控制模块接收;响应于接收到所述更新命令,由所述第二控制模块基于所述配置文件来识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及由所述第二控制模块用所识别的认证密钥进行更新。
Claims (15)
1.一种车辆系统,其包括:
第一控制模块;
多个第二控制模块;和
车辆网络,所述车辆网络通信地耦合所述第一控制模块和所述第二控制模块;
其中所述第一控制模块被编程为:
生成包括多个认证密钥的更新命令;以及
通过所述车辆网络传输所述更新命令,其中所述更新命令在功能上被寻址为能够由所述第二控制模块接收;并且
其中每个第二控制模块被编程为:
接收相应的配置文件;
响应于接收到所述更新命令,基于所述相应的配置文件识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及
用所识别的认证密钥进行更新。
2.如权利要求1所述的车辆系统,其中所述配置文件指示与相应的第二控制模块相关联的认证密钥。
3.如权利要求2所述的车辆系统,其中每个配置文件指示与所述相应的第二控制模块相关联的认证密钥,并且不指示与所述第二控制模块中的其他第二控制模块相关联的认证密钥。
4.如权利要求2所述的车辆系统,其中所述配置文件列出与所述相应的第二控制模块相关联的所述认证密钥的密钥标识符。
5.如权利要求1所述的车辆系统,其中所述更新命令缺少所述认证密钥与所述第二控制模块之间的关联。
6.如权利要求1所述的车辆系统,其中所述第二控制模块中的多于一个与所述认证密钥中的一个相关联。
7.如权利要求1所述的车辆系统,其中所述配置文件是第二配置文件,所述第一控制模块还被编程为接收第一配置文件;在接收到所述第一配置文件之后,接收传输命令;以及响应于接收到所述传输命令而传输所述更新命令。
8.如权利要求7所述的车辆系统,其中所述第一控制模块还被编程为验证所述传输命令,并且禁止传输所述更新命令直到所述传输命令被验证为止。
9.如权利要求1所述的车辆系统,其中所述更新命令中的所述认证密钥彼此不同地加密。
10.如权利要求1所述的车辆系统,其中所述更新命令能够由不与所述更新命令中的所述认证密钥中的任一者相关联的第三控制模块接收。
11.如权利要求1所述的车辆系统,其中所述第一控制模块还被编程为接收指示所述第二控制模块接收到所述更新命令的多个证实,并且在未能从所述第二控制模块中的至少一者接收到所述证实中的至少一者时,通过所述车辆网络重新传输所述更新命令。
12.如权利要求1所述的车辆系统,其中所述认证密钥是对称加密密钥。
13.如权利要求1所述的车辆系统,其中每个配置文件指示相应的第二控制模块所属的至少一组第二控制模块,并且每个组中的所述第二控制模块与所述认证密钥中的一个相关联。
14.如权利要求1至13中的一项所述的车辆系统,其中所述第二控制模块被编程为用所述认证密钥对消息进行加密。
15.一种方法,其包括:
由第二控制模块接收配置文件;
由第一控制模块生成包括多个认证密钥的更新命令;
由所述第一控制模块通过车辆网络传输所述更新命令,其中所述更新命令在功能上被寻址为能够由包括所述第二控制模块的多个控制模块接收;
响应于接收到所述更新命令,由所述第二控制模块基于所述配置文件识别所述更新命令中与所述第二控制模块相关联的认证密钥;以及
由所述第二控制模块用所识别的认证密钥进行更新。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/051,529 US20240147237A1 (en) | 2022-11-01 | 2022-11-01 | Transmission of authentication keys |
US18/051,529 | 2022-11-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117997523A true CN117997523A (zh) | 2024-05-07 |
Family
ID=90628938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311373179.0A Pending CN117997523A (zh) | 2022-11-01 | 2023-10-23 | 认证密钥的传输 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240147237A1 (zh) |
CN (1) | CN117997523A (zh) |
DE (1) | DE102023129117A1 (zh) |
-
2022
- 2022-11-01 US US18/051,529 patent/US20240147237A1/en active Pending
-
2023
- 2023-10-23 CN CN202311373179.0A patent/CN117997523A/zh active Pending
- 2023-10-23 DE DE102023129117.3A patent/DE102023129117A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102023129117A1 (de) | 2024-05-02 |
US20240147237A1 (en) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108419233B (zh) | 空中更新安全 | |
CN110351314B (zh) | 汽车控制器的远程升级方法及计算机可读存储介质 | |
CN112585905B (zh) | 一种设备升级方法及相关设备 | |
US20150264017A1 (en) | Secure vehicle data communications | |
US9464905B2 (en) | Over-the-air vehicle systems updating and associate security protocols | |
CN111356114B (zh) | 车内电子控制单元升级方法、装置、设备和车辆系统 | |
CN109413009B (zh) | 车辆固件空中升级的方法及计算机可读存储介质 | |
CN112543927B (zh) | 一种设备升级方法及相关设备 | |
US20170331795A1 (en) | Vehicle data encryption | |
CN102624515B (zh) | 一种数据传输的方法,系统及终端 | |
CN106685653B (zh) | 一种基于信息安全技术的车辆远程固件更新方法及装置 | |
US20150200804A1 (en) | In-vehicle apparatus for efficient reprogramming and control method thereof | |
KR20150074414A (ko) | 펌웨어 업그레이드 방법 및 그 시스템 | |
CN107483393B (zh) | 车联网的通信方法、服务器及通信系统 | |
CN105471874A (zh) | 数据传输方法及装置 | |
CN112153646B (zh) | 认证方法、设备及系统 | |
CN113439425B (zh) | 报文传输方法及装置 | |
US20210314151A1 (en) | In-Vehicle Key Generation Method, a Vehicle using the Method and a Computer-Readable Storage Medium | |
US11658828B2 (en) | Securely transmitting commands to vehicle during assembly | |
US20240147237A1 (en) | Transmission of authentication keys | |
US20240118880A1 (en) | Transmission of authentication keys | |
CN110708311A (zh) | 下载权限授权方法、装置和服务器 | |
CN116155579A (zh) | 一种安全通信方法、系统、存储介质及车辆 | |
US11743033B2 (en) | Transmission of authentication keys | |
WO2018100789A1 (ja) | 配信システム、鍵生成装置、車載コンピュータ、データ保安装置、配信方法、及びコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |