CN104917606A - 用于控制对电子控制单元进行访问的密码加密 - Google Patents
用于控制对电子控制单元进行访问的密码加密 Download PDFInfo
- Publication number
- CN104917606A CN104917606A CN201510105578.8A CN201510105578A CN104917606A CN 104917606 A CN104917606 A CN 104917606A CN 201510105578 A CN201510105578 A CN 201510105578A CN 104917606 A CN104917606 A CN 104917606A
- Authority
- CN
- China
- Prior art keywords
- password
- ecu
- sequence number
- vehicle
- main
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及用于控制对电子控制单元进行访问的密码加密,具体地,一种使用加密提供对密码保护的电子控制单元(ECU)进行访问的方法包括:使用主密码、所述ECU的序列号和基于密码的密钥衍生函数生成用于所述ECU的加密密钥;将生成的加密密钥转换成ECU密码;以及使用所述ECU密码访问来自所述ECU的数据。
Description
技术领域
本发明涉及用于控制对车辆或其它机器或设备内的电子控制单元(ECU)进行电子访问的加密技术。
背景技术
许多车辆和其它设备包括管理多个任务的电子控制单元(ECU)。ECU可以被编程为执行计算机可读指令并基于这些指令控制机械设备和/或电设备。例如,动力系控制模块(PCM)可以用作用于车辆的动力系的中央决策机构并采取ECU的形式来执行此目的。PCM可以控制大量车辆发动机参数,仅举几例,比如内燃发动机(ICE)的点火正时或废气再循环(EGR)阀。
车辆或设备的制造商可能希望调节对ECU的指令或其它操作方面的访问。使用上面的示例,车辆制造商可能希望将对ECU的指令和其它特征的访问限定为被授权的个体。在过去,使用密码来准许或拒绝对ECU的访问。然而,大量的ECU通常使用一个密码,并且如果针对一个ECU的密码被发现,则这样的发现也能够致使使用该密码的所有其它ECU不受保护。
发明内容
根据实施例,提供一种使用加密提供对密码保护的电子控制单元(ECU)进行访问的方法。所述方法包括:使用主密码、所述ECU的序列号和基于密码的密钥衍生函数生成用于所述ECU的加密密钥;将生成的加密密钥转换成ECU密码;以及使用所述ECU密码访问来自所述ECU的数据。
根据另一实施例,提供一种使用加密来调节对电子控制单元(ECU)的访问的方法。所述方法包括:从中央设施电接收主密码;检测所述ECU的序列号;将所述主密码和所述序列号提供给基于密码的密钥衍生函数;基于所述主密码和所述序列号输出加密密钥;以及将所述加密密钥转换成ECU密码。
根据又一实施例,提供一种使用对多个电子控制单元(ECU)共同的主密码来提供用于所述ECU的独特密码的方法。所述方法包括:生产用于车辆的多个车辆系统模块,其中,所述车辆系统模块具有共同的车辆部件编号和对于每个车辆系统模块独特的序列号;使用对每个车辆系统模块独特的所述序列号和与共同的车辆部件编号关联的主密码来生成用于该车辆系统模块的ECU密码;以及将生成的ECU密码存储在每个车辆系统模块中。
本发明还提供如下方案:
1、一种使用加密提供对密码保护的电子控制单元(ECU)进行访问的方法,包括步骤:
(a)使用主密码、所述ECU的序列号和基于密码的密钥衍生函数生成用于所述ECU的加密密钥;
(b)将生成的加密密钥转换成ECU密码;以及
(c)使用所述ECU密码访问来自所述ECU的数据。
2、根据方案1所述的方法,其特征在于,所述主密码的长度基于字符组尺寸来选择。
3、根据方案1所述的方法,其特征在于,还包括使车辆部件编号与所述主密码关联的步骤。
4、根据方案1所述的方法,其特征在于,所述基于密码的密钥衍生函数被定义在由因特网工程任务组公布的请求注解(RFC)2898中。
5、根据方案1所述的方法,其特征在于,还包括在大于1000的值时启动所述基于密码的密钥衍生函数的计数器。
6、根据方案1所述的方法,其特征在于,所述主密码大于或等于64位。
7、根据方案1所述的方法,其特征在于,还包括使用模运算符将生成的加密密钥转换成所述ECU密码。
8、根据方案1所述的方法,其特征在于,还包括分析所述加密密钥的偏差的步骤。
9、根据方案1所述的方法,其特征在于,还包括通过使用从所述基于密码的密钥衍生函数输出的密钥素材的一个或多个附加字节来减小模偏差的可能性。
10、根据方案1所述的方法,还包括步骤:
从用户接收所述序列号;
在远离所述用户的位置处根据接收的序列号和所述主密码来生成所述ECU密码;以及
将所述ECU密码传输给所述用户。
11、一种使用加密来调节对电子控制单元(ECU)的访问的方法,包括步骤:
(a)从中央设施电接收主密码;
(b)检测所述ECU的序列号;
(c)将所述主密码和所述序列号提供给基于密码的密钥衍生函数;
(d)基于所述主密码和所述序列号输出加密密钥;以及
(e)将所述加密密钥转换成ECU密码。
12、根据方案11所述的方法,其特征在于,所述主密码的长度基于字符组尺寸来选择。
13、根据方案11所述的方法,其特征在于,还包括使车辆部件编号与所述主密码关联的步骤。
14、根据方案11所述的方法,其特征在于,所述基于密码的密钥衍生函数被定义在由因特网工程任务组公布的请求注解(RFC)2898中。
15、根据方案11所述的方法,其特征在于,还包括在大于1000的值时启动所述基于密码的密钥衍生函数的计数器。
16、根据方案11所述的方法,其特征在于,所述主密码大于或等于64位。
17、根据方案11所述的方法,其特征在于,还包括分析所述加密密钥的偏差的步骤。
18、根据方案11所述的方法,其特征在于,还包括步骤:
从用户接收所述序列号;
在远离所述用户的位置处根据接收的序列号和所述主密码来生成所述ECU密码;以及
将所述ECU密码传输给所述用户。
19、根据方案11所述的方法,其特征在于,还包括将所述ECU密码写入到所述ECU的存储器的步骤。
20、一种使用对多个电子控制单元(ECU)共同的主密码来提供用于所述ECU的独特密码的方法,包括步骤:
(a)生产用于车辆的多个车辆系统模块,其中,所述车辆系统模块具有共同的车辆部件编号和对于每个车辆系统模块独特的序列号;
(b)使用对每个车辆系统模块独特的所述序列号和与所述共同的车辆部件编号关联的主密码来生成用于该车辆系统模块的ECU密码;以及
(c)将生成的ECU密码存储在每个车辆系统模块中。
附图说明
下面将结合附图描述本发明的一个或多个实施例,其中,相同的标号指示相同的部件,其中:
图1是描绘出能够利用在此公开的方法的通信系统的实施例的框图;以及
图2是描绘出使用加密来调节对ECU的访问的方法的实施例的流程图;
图3是描绘出加密密钥阵列和ECU密码阵列的实施例的图;以及
图4是将从基于密码的密钥衍生函数输出的密钥素材组合成阵列的方法的实施例的描绘。
具体实施方式
下面描述的系统和方法包括可使用主密码和特定电子控制单元(ECU)的序列号进行加密的ECU。主密码与序列号(用作附加值(salt))一起可以输入到基于密码的密钥衍生函数(PBKDF),其基于主密码和序列号输出加密密钥。然后,加密密钥可以转换成能够输入到ECU中的ECU密码。可以以各种方式例如使用下面将更详细讨论的查询表来执行转换。一旦创建,则ECU密码极可能对每个ECU将是独特的,因为已经使用不同的序列号创建了每个ECU密码。
随后,当技术人员或其他被授权人员设法获得对ECU的访问时,他们可以通过查找ECU的序列号并将其与主密码一起输入到PBKDF中来重新创建ECU密码。在一个实施方案中,主密码可以在中央位置处受到保护,从而被授权用户将序列号传输到中央位置,其在此可以与主密码组合到PBKDF中,从而输出用于特定ECU的ECU密码。然后,ECU密码可以提供到被授权用户,以获得对特定ECU的访问。在此布置中,主密码可以被严格地持有,并且相对于以往系统是高度安全的,以往系统保持用于许多装置的共同或单个主密码,从而单个主密码的发现导致访问所有ECU。使用PBKDF生成ECU密码限制对特定ECU的访问。
此外,相对于在过去对于大量ECU所使用的且实际上由ECU接收的共同主密码,可以极大地增强输入到PBKDF中并用于最终生成ECU密码的主密码。ECU通常受到可用于密码存储的存储空间的量限制。有限的存储空间继而限制能够由ECU接收的密码的尺寸,并因此限制其强度。在一个普通实施方案中,ECU能够接收不大于8字节/64位的密码。当共同主密码与ECU一起使用并实现为8字节(byte)时,与较长的或较大的密码相比,可更容易地猜测或以其他方式发现。然而,本系统和方法可以实现用于最终生成ECU密码的与通常将被ECU自身直接接受的相比更长且更强的主密码。在一个实施方案中,主密码可以为64位或更大。尽管在此公开的系统和方法是相对于车辆和使用ECU的车辆描述的,但应当明白的是,所述系统和方法还可以同样应用于在其他设置中使用的ECU。如这里使用的,ECU可以是具有序列号的电子设备并可以是下述中至少之一:微控制器/微处理器、收发机、模拟传感器、模拟电路、功率调节电路或控制柜。
参照图1,示出了包括移动车辆通信系统10且可以用于实现在此公开的方法的操作环境。通信系统10大体包括车辆12、一个或多个无线载波系统14、地面通信网络16、计算机18和呼叫中心20。应该理解,公开的方法可以与任何数量的不同系统一起使用,并且不被具体地限制到在此示出的操作环境。另外,系统10的架构、结构、设置和操作以及其各个组件在本领域通常是已知的。因此,下面的段落仅提供一种这样的通信系统10的简要概述;然而,在此没有示出的其他系统也可以采用所公开的方法。
在示出的实施例中将车辆12描述为客车,但是应该理解,也可以使用任何其他交通工具,包括摩托车、卡车、运动型多功能车(SUV)、休闲车(RV)、船只、航空器等。图1中大体示出一些车辆电子设备28,其包括远程信息处理单元30、麦克风32、一个或多个按钮或其他控制输入34、音频系统36、可视显示器38和GPS模块40以及多个车辆系统模块(VSM)42。这些设备的一些可以直接连接到远程信息处理单元,例如,麦克风32和(多个)按钮34,而其他使用一个或多个网络连接诸如通信总线44或娱乐总线46被间接连接。适当的网络连接的示例包括控制器区域网络(CAN)、媒体导向系统传输(MOST)、本地互连网络(LIN)、局域网(LAN)和其他适当连接,诸如以太网或符合已知ISO、SAE和IEEE标准和规范的其他连接,仅列出一些。
远程信息处理单元30可以是OEM安装(嵌入)的或后继市场的设备,其安装在车辆中并且赋予在无线载波系统14上和通过无线联网的无线语音和/或数据通信。这使得车辆能够与呼叫中心20、其他远程信息处理使能的车辆或一些其他实体或设备进行通信。远程信息处理单元优选地使用无线电传输来建立与无线载波系统14的通信信道(语音信道和/或数据信道),使得能够通过信道发送和接收语音和/或数据传输。通过提供语音和数据通信,远程信息处理单元30使得车辆能够提供多种不同服务,包括与导航、电话、紧急援助、诊断、信息娱乐等相关的服务。可以使用本领域中已知的技术通过数据连接诸如通过数据信道的分组数据传输或者通过语音信道发送数据。对于包括语音通信(例如,在呼叫中心20使用在线指导者或语音响应单元)和数据通信(例如,以向呼叫中心20提供GPS位置数据或车辆诊断数据)的组合服务,系统可以使用通过语音信道的单独呼叫以及按照需要在语音信道上在语音和数据传输之间切换,并且这可以使用本领域技术人员已知的技术来实施。
根据一个实施例,远程信息处理单元30使用根据GSM或CDMA标准的蜂窝通信,因此包括用于语音通信(例如,免提呼叫)的标准蜂窝芯片组50、用于数据传输的无线调制解调器、电子处理设备52、一个或多个数字存储设备54和双天线56。应该理解,调制解调器可以通过存储在远程信息处理单元中且由处理器52执行的软件实现,或者调制解调器可以是位于远程信息处理单元30内部或外部的分立硬件组件。调制解调器可以使用任何数量的不同标准或协议诸如EVDO、CDMA、GPRS和EDGE来运行。也可以使用远程信息处理单元30实施车辆与其他联网的设备之间的无线联网。为此,远程信息处理单元30可以被配置为根据一个或多个无线协议诸如IEEE 802.11协议、WiMAX或蓝牙中的任一个进行无线通信。当用于诸如TCP/IP的分组交换数据通信时,远程信息处理单元可以配置有静态IP地址或者能够设置为自动接收来自网络上的另一设备诸如路由器或者来自网络地址服务器的所分配的IP地址。
处理器52可以是能够处理电子指令的任何类型的设备,包括微处理器、微控制器、主处理器、控制器、车辆通信处理器和专用集成电路(ASIC)。其可以是仅用于远程信息处理单元30的专用处理器,或者可以与其他车辆系统共享。处理器52执行各种类型的数字存储指令,诸如存储器54中存储的软件或固件程序,其使远程信息处理单元能够提供多种类型的服务。例如,处理器52能够执行程序或处理数据,以实施在此讨论的方法的至少一部分。
远程信息处理单元30可以用于提供多元化的车辆服务,其包括外来车辆的无线通信。这些服务包括:结合基于GPS的车辆导航模块40提供的转向和其他导航相关服务;结合一个或多个碰撞传感器接口模块诸如车身控制模块(未示出)提供的安全气囊展开通知和其他紧急或路边援助相关的服务;使用一个或多个诊断模块的诊断报告;以及信息娱乐相关服务,其中,音乐、网页、电影、电视节目、视频游戏和/或其他信息通过信息娱乐模块(未示出)下载且存储用于当前或以后播放。上面列出的服务不是远程信息处理单元30的所有能力的详尽列表,而是仅是远程信息处理单元能够提供的一些服务的列举。此外,应该理解,上述模块的至少一部分可以按照所存储的内部于或外部于远程信息处理单元30的软件指令的形式来实施,它们可以是位于远程信息处理单元30内部或外部的硬件组件,或者它们可以彼此之间或者与车辆内的其他系统集成和/或共享,仅阐述了一些可能性。在将模块实施为位于远程信息处理单元30外部的VSM 42的情况下,它们可以使用车辆总线44以与远程信息处理单元交换数据和指令。
GPS模块40从GPS卫星的星座(constellation)60接收无线电信号。根据这些信号,模块40可以确定车辆位置,其用于向车辆驾驶员提供导航和其他位置相关服务。导航信息可以在显示器38(或者车辆内的其他显示器)上呈现,或者可以口头表示,诸如当提供转向导航时这样做。可以使用专用的车辆中的导航模块(其可以是GPS模块40的一部分)提供导航服务,或者可以通过远程信息处理单元30完成部分或全部导航服务,其中,为了给车辆提供导航地图、地图标注(感兴趣的点、餐馆等)、路线计算等,向远程位置发送位置信息。为了其他目的,诸如车队管理,位置信息可以提供给呼叫中心20或其他远程计算机系统,诸如计算机18。另外,可以通过远程信息处理单元30将新的或更新的地图数据从呼叫中心20下载到GPS模块40。
除了音频系统36和GPS模块40之外,车辆12可以包括电子硬件组件形式的其他车辆系统模块(VSM)42,其位于车辆内且通常从一个或多个传感器接收输入且使用感测的输入执行诊断、监控、控制、报告和/或其他功能。优选地,每个VSM 42通过通信总线44连接到其他VSM以及连接到远程信息处理单元30,并且可以被编程以运行车辆系统和子系统诊断测试。作为示例,一个VSM 42可以是发动机控制模块(ECM),其控制发动机操作的各个方面,诸如燃料点火和点火正时,另一VSM 42可以是动力系控制模块,其调整车辆动力系的一个或多个组件的操作,而另一VSM 42可以是车身控制模块,其管理位于车辆内的各个电子组件,例如,车辆的电动门锁和前灯。根据一个实施例,发动机控制模块配备有车载诊断(OBD)特征,其提供诸如从包括车辆排放传感器的各种传感器接收到的各种实时数据,并且提供标准化的一系列诊断故障码(DTC),其允许技术人员快速识别和修理车辆内的故障。如本领域的技术人员所知,上述VSM仅是可以在车辆12中使用的一些模块的示例,因为许多其他模块也是可行的。
车辆电子设备28还包括多个车辆用户接口,其向车辆占用者提供用于提供和/或接收信息的装置,包括麦克风32、(多个)按钮34、音频系统36和可视显示器38。如在此使用,术语“车辆用户接口”广泛地包括任何适当形式的电子设备,包括硬件和软件组件,其位于车辆上且使车辆用户能够与车辆的组件通信或者通过车辆的组件进行通信。麦克风32向远程信息处理单元提供音频输入,以使驾驶员或其他占用者能够通过无线载波系统14提供语音指令和实施免提呼叫。为此,其可以利用本领域中已知的人机接口(HMI)技术连接到车载自动语音处理单元。(多个)按钮34允许到远程信息处理单元30的手动用户输入,以启动无线电话呼叫和提供其他数据、响应或控制输入。分立的按钮可以使用以便向呼叫中心20发起紧急呼叫和常规服务援助呼叫。音频系统36向车辆占用者提供音频输出,并且可以是专用独立系统或者是主车辆音频系统的一部分。根据这里示出的具体实施例,音频系统36操作地联接到车辆总线44和娱乐总线46,并能够提供AM、FM和卫星无线电、CD、DVD和其他多媒体功能。此功能可以结合或者独立于上述信息娱乐模块来提供。可视显示器38优选地是图形显示器,诸如仪表板上的触摸屏或者挡风玻璃反射的抬头显示器,并且可以用于提供多种输入和输出功能。也可以使用各种其他车辆用户接口,因为图1的接口仅是一种具体实施方案的示例。
无线载波系统14优选地是蜂窝电话系统,其包括多个蜂窝塔(cell tower)70(仅示出一个),一个或多个移动交换中心(MSC)72以及将无线载波系统14与地面网络16连接所需的任何其他联网组件。每个蜂窝塔70包括发送和接收天线以及基站,其中,来自不同蜂窝塔的基站直接地连接到MSC 72或者通过诸如基站控制器的中间设备连接到MSC72。蜂窝系统14可以实施任何适当的通信技术,例如,包括诸如AMPS的模拟技术,或者诸如CDMA(例如,CDMA2000)或GSM/GPRS的较新的数字技术。如本领域的技术人员所理解,各种蜂窝塔/基站/MSC布置是可行的,并且可以与无线系统14一起使用。例如,基站和蜂窝塔可以共同位于相同站点,或者它们可以彼此远离,每个基站可以负责单个蜂窝塔或者单个基站可以服务于各个蜂窝塔,以及各个基站可以联接到单个MSC,仅列出一些可行布置。
除了使用无线载波系统14之外,可以使用卫星通信形式的不同的无线载波系统,以向车辆提供单向或双向通信。这可以使用一个或多个通信卫星62和上行链路发射站64来实施。例如,单向通信可以是卫星无线电服务,其中,节目内容(新闻、音乐等)由发射站64接收、被打包用于上载、然后发送到卫星62,卫星62向用户广播节目。例如,双向通信可以是使用卫星62的卫星电话服务,以在车辆12与站64之间中继电话通信。如果使用,则额外于无线载波系统14或者代替无线载波系统14,可以使用这种卫星电话。
地面网络16可以是常规的基于地面的电信网络,其连接到一个或多个有线电话并且将无线载波系统14连接到呼叫中心20。例如,地面网络16可以包括公共交换电话网(PSTN),诸如用于提供硬线电话、分组交换数据通信和因特网基础设施。可以通过使用标准有线网络、光纤或其他光学网络、电缆网络、电源线、诸如无线局域网(WLAN)的其他无线网络或者提供宽带无线接入(BWA)的网络或者其任意组合来实施一段或多段地面网络16。此外,呼叫中心20不需要通过地面网络16连接,而是可以包括无线电话设备,从而它可以与无线网络诸如无线载波系统14直接通信。
计算机18可以是通过私有或公共网络诸如因特网可访问的多个计算机之一。每个这种计算机18可以用于一种或多种目的,诸如通过远程信息处理单元30和无线载波14可由车辆访问的web服务器。例如,其他这种可访问的计算机18可以是:服务中心计算机,其中,可以通过远程信息处理单元30从车辆上载诊断信息和其他车辆数据;客户机计算机,其可由车辆拥有者或其他用户使用以便如访问或接收车辆数据或者设置或配置用户喜好或控制车辆功能的目的;或者第三方存储器,无论通过与车辆12或呼叫中心20或这两者通信,车辆数据或其他信息被提供到所述第三方存储器或从所述第三方存储器提供。计算机18还可以实现为对多个ECU或者具有或使用ECU的VSM 42进行编程。这种编程可以在装配VSM 42或车辆12自身的制造设施处实现。计算机18还可以用于提供因特网连接,诸如DNS服务或者作为网络地址服务器,其使用DHCP或其他适当协议以向车辆12分配IP地址。
呼叫中心20被设计成向车辆电子设备28提供多个不同系统后端功能,并且根据在此示出的示例性实施例,大体包括一个或多个交换机80、服务器82、数据库84、在线指导者86以及自动语音响应系统(VRS)88,所有这些都是本领域已知的。这些各种呼叫中心组件优选地通过有线或无线局域网90彼此联接。交换机80,其可以是专用交换(PBX)交换机,路由进入信号,使得语音传输通常通过常规电话发送到在线指导者86或者使用VoIP发送到自动语音响应系统88。在线指导者电话也可以使用VoIP,如图1的虚线所指示。通过交换机80的VoIP和其他数据通信通过在交换机80与网络90之间连接的调制解调器(未示出)来实施。数据传输经由调制解调器传到服务器82和/或数据库84。数据库84可以存储账户信息,诸如用户认证信息、车辆标识、个人资料记录、行为模式和其他相关用户信息。还可以通过无线系统,诸如802.11x、GPRS等进行数据传输。尽管所示实施例被描述为它通过利用在线指导者86结合人工呼叫中心20而使用,但是将明白,呼叫中心可以使用VRS 88作为自动指导者,或者可以使用VRS 88与在线指导者86的组合。
现在转向图2,示出了使用加密来调节对电子控制单元(ECU)的访问的方法200。方法200通过从中央设施电接收主密码而在步骤210开始。如上指出的,在各种电子设备中使用ECU。相对于VSM 42描述方法200,但应当明白,方法200的方面可以应用于除了VSM 42之外的电子设备。尽管VSM 42被制造或安装在车辆12中,但VSM 42的ECU可以最初利用计算机可读指令例如固件或其他软件进行编程,并且还用ECU密码进行编码。ECU大体包括计算机处理能力,其包括时钟、存储设备和控制柜内的输入/输出(I/O)。ECU的一个示例是由Motorola制造的MPC 555微处理器。ECU密码对于每个VSM 42或包括在VSM 42内的ECU可以是独特的。下面将更详细地对此进行讨论。为了创建ECU密码,可以使用分配给多个VSM的主密码。例如,VSM 42可以被分配车辆部件编号,其标识VSM 42和具有相同车辆部件编号的其它模块。车辆部件编号可以包括多个序列号,每个序列号独特地表示具有一个车辆部件编号的不同VSM。换言之,使用PCM作为示例,两个不同的PCM可以具有单个车辆部件编号,但可以通过具有不同的序列号来区分。
可以不仅基于主密码所包括的字符的数量,而且还基于字符所选自的字符组和这些字符被编码的方式来认真地选择主密码。字符组可以被描述为构成主密码的符号的集合。例如,用于数字密码的字符组是从0到9的阿拉伯数字。字符编码可以以各种方法来实现,因为不同的方案可用于将字符编码成二进制数据。这些方案包括ASCII、UTF-8、UTF-16、UTF-32、ISO 8859以及其他。在此实施方案中,字符可以使用UTF-8进行编码,UTF-8与(传统编码的)ASCII向后兼容。在UTF-8中,字符被编码成8位代码:每个字节一个字符。
字符查询表(CLT)可以提供根据索引待被访问的UTF-8字符编码。下面提供了表,其被构成为使得“0”索引值指示字符组中的最低有效的UTF-8字符代码,其次更高的UTF-8字符代码占据向上的表索引。在下面的CLT表中示出了字符组{a, b, c, A, B, C, 1, 2, 3}的示例。表中的行数等于字符组中的字符的数量,对表进行寻址所需的字节数是L index = [log256 N charset ],其中,[ ]指示取整为最接近的整数的值。使用字符组的9个字符,将需要0.396字节对表进行寻址,其取整为1。
索引 | 字符 | UTF-8代码(十六进制) |
0 | 1 | 0x31 |
1 | 2 | 0x32 |
2 | 3 | 0x33 |
3 | A | 0x41 |
4 | B | 0x42 |
5 | C | 0x43 |
6 | a | 0x61 |
7 | b | 0x62 |
8 | c | 0x63 |
主密码的强度可以被定义为表示可组成主密码的所有可能的值将需要的最少数量的二进位。例如,3数位(digit)的PIN具有1,000个不同组合(000至999),密码强度(strength)可以被计算为:strength = log 2 1000。因此,3数位的PIN具有大约10位(9.96)的强度。然而,值得注意的是,密码强度可显著地小于对密码自身的值进行编码所需的位数。例如,当使用UTF-8编码时,对每个字符使用8位,这意味着密码中的每个字符可以是28 = 256值中的一个。在一些实施方案中,字符组会受限于可用键盘键入的字符。密码中的每个字符通常比256个可能的值少;对于数字而言仅有10个,对于数字和大小写字母而言有62个。上面使用3数位的PIN示例,其具有1,000个可能的组合。当使用利用8位对每个字符进行编码的UTF-8标准来对PIN进行编码时,将需要总计24位来对该信息进行编码。用于对PIN进行编码的位数不同于密码强度,其为10位。
在此实施方案中,主密码使用64位的强度。具有64位安全的密码的最小密码长度L PW 取决于密码的字符组的尺寸。具体地, 可以表示主密码的长度,其中,N charset 是主密码的字符组中的字符的数量。主密码的这里描述的64位测量是密码强度而非缓冲器长度的测量。下面的表示出了用于满足给定的不同字符组的64位密码需求的字符中的最小主密码长度的示例。
组名称 | Ncharset | LPW |
数字 | 10 | 20 |
小写或大写字母 | 26 | 14 |
小写或大写字母,及数字 | 36 | 13 |
小写和大写字母,及数字 | 62 | 11 |
所有可打印的ASCII字符 | 95 | 10 |
不管其形式如何,主密码可以被分配给每个车辆部件编号,并且主密码可以存储在中央位置处。举几个示例,中央位置可以是呼叫中心20或一些其他远程后台服务器。在将VSM 42安装在车辆12中之前,主密码可以从中央设施电传送到制造或安装的地方。在一个示例中,中央设施可以由位于呼叫中心20处的服务器82来实现。如果将由计算机18执行编程,则主密码可以从服务器82通过地面网络16电传送到计算机18。但应当理解,主密码还可以以其他方式例如通过计算机可读介质(例如,闪存驱动器)或经由无线载波系统14无线地进行传送。方法200前进至步骤220。
在步骤220处,检测使用ECU的VSM 42的序列号。作为创建ECU密码的一部分,计算机18可以检测VSM 42的序列号。例如,计算机18可以与光学扫描器(未示出)电连接或通信连接,光学扫描器从VSM 42的外表面读取序列号,并将序列号转换成表示包括该序列号的数字、字母或其它字符的数据。在另一示例中,计算机18可以与VSM 42电连接或通信连接并通过使用计算机指令可以访问已经存储在VSM 42处的存储设备中的序列号。在一个实施方案中,存储设备可以由ECU自身携带。一旦计算机18已经获得用于VSM 42的主密码和VSM 42的序列号,方法200前进至步骤230。
在步骤230处,将主密码和序列号提供到基于密码的密钥衍生函数(PBKDF),并基于主密码和序列号输出加密密钥。PBKDF是可以输入许多变量并输出从这些变量衍生的密钥的密钥衍生函数。输入变量包括密码、附加值、迭代次数和用于衍生密钥(DK)的输出长度。这里,主密码用于密码变量,而VSM 42的序列号用于附加值。主密码通常是人能够解释并理解的一些信息量,由PBKDF输出的加密密钥可以是由加密原语例如块暗号(例如,AES)采用的一些信息量。主密码和由PBKDF输出的DK之间的一个差异在于密码通常不适合于直接用作加密原语例如块暗号的密钥。例如,考虑选自于数字以及大小写字母-总计62个字符并用于AES-128块暗号的主密码。AES-128的强度为128位,因此,应当使用具有相同强度的主密码。在62元素的字符组的情况下,可以计算出:当使用PBKDF来输出用于AES-128块暗号的密钥时,主密码可包括总计log62(2128) ≈ 22个字符。如果利用UTF-8对主密码进行编码,则其将为22×8=176位长。然而,AES-128需要在长度上精确地为128位的密钥,因此基于字的主密码不同于DK。
在一个实施方案中,可以使用如在Internet Engineering Task Force(因特网工程任务组)(IETF)公布的第5.2 [1]章节RFC2898中定义的基于密码的密钥衍生函数2(PBKDF2)来实施PBKDF,从而当被赋予主密码和ECU序列号时生成密钥。可以使用伪随机函数(PRF)HMAC-SHA256,并可以从变量获得迭代计数i count ,其可以被初始化为10,000。衍生密钥的输出长度dkLen可以被定义为主密码长度(在这种情况下,在长度上为64位)与对CLT进行寻址所需的最少字节数(L index )加上1的乘积:
在以上等式中,“+1”可以用于减小PBKDF函数的输出产生模偏差的可能性。从PBKDF输出的密钥可以置于长度dkLen字节的阵列(DK)中。方法200前进至步骤240。
在步骤240处,可以随后将加密密钥转换成ECU密码。在此之前,可以分析输出或衍生的加密密钥,以识别密钥的任何偏差。在一个示例中,转换可以使用将加密密钥翻译成字符组的字符的模运算符来执行。模运算符可以以与时钟的操作类似的方式将加密密钥输出转换成字符组。随着时钟从一小时移至下一小时,这种移动是线性的且周期性的。在一个示例性示例中,如果自一点钟开始经过长时间段记录小时值,则不论经过多少时间,时钟上的小时指针将总是1和12之间的某一值。相反,当随机时间量的最大值不是12的整数倍时,会发生偏差。在这些情况下,一些数字比其他数字具有更高的发生可能性。因此,在一些实施方案中,在转换成ECU密码之前,可以分析加密密钥的偏差。与上面的时钟示例类似,可以检查加密密钥,以查看对于输出密钥是否存在一些偏差。如果是,则可以丢弃密钥,可以增加迭代数(i count ),并可以重新生成密钥且再次检查偏差。
在另一实施例中,可以通过选择字符组来简化ECU密码的创建,所述字符组的长度均匀地划分可由LPW字节表示的不同值的数量。具体地,可以完全地去除模(modulo)偏差检查。该实施方案可以消除将被加入到Lindex长度的“1”字节的需要,以及消除将衍生密钥素材串DK重新格式化的需要;取而代之的是,通过简单地计算下述值逐字节地将DK直接转换为PW out:
一旦加密密钥已通过其偏差检查,可以将DK串解析成用i CTL 标记的整数阵列。i CTL 阵列可以具有长度LPW,并且阵列中的每一项可以使用来自DK串的Lindex+1个字节。在图3中用图示出了这种布置。图3中示出的示例描绘出64位主密码,其使用62的Ncharset(其对应于大小写字母以及数字)、1的Lindex和等于11的LPW。注意的是,阵列是Big-Endian格式,其中,最有效的字节存储在最小的地址中。然而,应当明白,此种格式不是必需的,其他格式也是可行的。
iCTL阵列的值模(N charset )与CTL一起使用,以获得衍生密码串中的以Big Endian次序的字符PWout:
。
为了将在这种情况下包括在DK阵列中的加密密钥转换成由iCTL阵列表示的ECU密码,可以使用管理字符组的模运算符来将字符组的元素分配给DK阵列中的每个值。然后,可以将ECU密码写入到VSM 42的存储部分和/或由VSM 42携带的ECU中。
一旦已经创建ECU密码,其不需要被存储在中央数据库中。而是,当需要时,可以使用主密码,以使用PBKDF创建用于具有共同车辆部件编号的任何VSM的ECU密码。在如何可将此实现的一个示例中,技术人员可能想要访问VSM 42。他或她可以读取VSM 42上的序列号,并将该序列号提供到网站入口或呼叫中心20处的指导者中。然后,可以在远离技术人员的位置处使用主密码和PBKDF生成用于特定VSM 42的ECU密码。一旦生成ECU密码,它可以经由无线载波系统14和/或地面网络16电传输到技术人员。这样,对主密码的访问极大地受到限制。并且,用于VSM 42的ECU密码对于具有相同车辆部件编号的其他VSM是无效的。然后,方法200结束。
转向图4,示出了使用加密来调节对VSM 42的ECU 402的访问的系统400。在系统400中,计算机18可以通过地面网络16从远程设置的中央设施接收主密码。然后,计算机18可以在此示例中使用线404通信地连接到VSM 42。计算机18可以获取用于VSM 42的序列号,并生成ECU密码,如上面关于图2-3所描述。在此之后,计算机18可以将ECU密码写入到ECU 402的存储ECU密码的存储部分。在一些实施方案中,将ECU密码写入到ECU的存储部分可破坏熔丝连接,由此防止存储ECU密码的改变。
应理解,上面是本发明的一个或多个实施例的描述。本发明不限于在此公开的(多个)具体实施例,而是仅由下面的权利要求限定。此外,上述描述中包含的陈述涉及具体实施例,并且不被解释为限制本发明的范围或者限制权利要求中使用的术语的定义,除非其中上面明确限定术语或短语。各种其它实施例以及对所公开的(多个)实施例的各种改变和修改对于本领域的技术人员将是明显的。所有这些其它实施例、改变和修改意在落入所附权利要求的范围内。
如在此说明书和权利要求中所使用,当结合一个或多个组件或其它项的列表使用时,术语“例如”,“举例”,“比如”,“诸如”,和“类似物”以及动词“包括”,“具有”,“包含”以及它们的其它动词形式,每个被解释为开放式,意味着所述列表不被认为是排除其它的、额外的组件或项。其它术语被解释为使用它们的最广泛的合理含义,除非它们使用在需要不同的解释的背景中。
Claims (10)
1.一种使用加密提供对密码保护的电子控制单元(ECU)进行访问的方法,包括步骤:
(a)使用主密码、所述ECU的序列号和基于密码的密钥衍生函数生成用于所述ECU的加密密钥;
(b)将生成的加密密钥转换成ECU密码;以及
(c)使用所述ECU密码访问来自所述ECU的数据。
2.根据权利要求1所述的方法,其特征在于,所述主密码的长度基于字符组尺寸来选择。
3.根据权利要求1所述的方法,其特征在于,还包括使车辆部件编号与所述主密码关联的步骤。
4.根据权利要求1所述的方法,其特征在于,所述基于密码的密钥衍生函数被定义在由因特网工程任务组公布的请求注解(RFC)2898中。
5.根据权利要求1所述的方法,其特征在于,还包括在大于1000的值时启动所述基于密码的密钥衍生函数的计数器。
6.根据权利要求1所述的方法,其特征在于,所述主密码大于或等于64位。
7.根据权利要求1所述的方法,其特征在于,还包括使用模运算符将生成的加密密钥转换成所述ECU密码。
8.根据权利要求1所述的方法,其特征在于,还包括分析所述加密密钥的偏差的步骤。
9.一种使用加密来调节对电子控制单元(ECU)的访问的方法,包括步骤:
(a)从中央设施电接收主密码;
(b)检测所述ECU的序列号;
(c)将所述主密码和所述序列号提供给基于密码的密钥衍生函数;
(d)基于所述主密码和所述序列号输出加密密钥;以及
(e)将所述加密密钥转换成ECU密码。
10.一种使用对多个电子控制单元(ECU)共同的主密码来提供用于所述ECU的独特密码的方法,包括步骤:
(a)生产用于车辆的多个车辆系统模块,其中,所述车辆系统模块具有共同的车辆部件编号和对于每个车辆系统模块独特的序列号;
(b)使用对每个车辆系统模块独特的所述序列号和与所述共同的车辆部件编号关联的主密码来生成用于该车辆系统模块的ECU密码;以及
(c)将生成的ECU密码存储在每个车辆系统模块中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/204178 | 2014-03-11 | ||
US14/204,178 US9281942B2 (en) | 2014-03-11 | 2014-03-11 | Password encryption for controlling access to electronic control units |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104917606A true CN104917606A (zh) | 2015-09-16 |
CN104917606B CN104917606B (zh) | 2019-05-28 |
Family
ID=54010300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510105578.8A Active CN104917606B (zh) | 2014-03-11 | 2015-03-11 | 用于控制对电子控制单元进行访问的密码加密 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9281942B2 (zh) |
CN (1) | CN104917606B (zh) |
DE (1) | DE102015102826B4 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107422717A (zh) * | 2016-04-26 | 2017-12-01 | 霍尼韦尔国际公司 | 运载工具安全模块系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160099806A1 (en) * | 2014-10-07 | 2016-04-07 | GM Global Technology Operations LLC | Distributing secret keys for managing access to ecus |
US10277597B2 (en) * | 2015-11-09 | 2019-04-30 | Silvercar, Inc. | Vehicle access systems and methods |
US11018855B2 (en) | 2016-08-17 | 2021-05-25 | Mine Zero Gmbh | Multi-factor-protected private key distribution |
US10055589B2 (en) | 2016-08-31 | 2018-08-21 | Honeywell International Inc. | Systems and methods for validating auxiliary power unit or components by secure pin one time password |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10638313B2 (en) | 2017-10-26 | 2020-04-28 | Robert Bosch Gmbh | Systems and methods for confirming a cryptographic key |
CN108171523B (zh) * | 2017-12-28 | 2021-03-23 | 杭州和利时自动化有限公司 | 一种硬件追踪方法 |
DE102019212959B3 (de) | 2019-08-28 | 2021-03-04 | Volkswagen Aktiengesellschaft | Verfahren zur geschützten Kommunikation eines Fahrzeugs mit einem externen Server, Vorrichtung zur Durchführung der Schlüsselableitung bei dem Verfahren sowie Fahrzeug |
CN112740212B (zh) * | 2020-12-24 | 2022-08-09 | 华为技术有限公司 | 密钥写入方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141760A (en) * | 1997-10-31 | 2000-10-31 | Compaq Computer Corporation | System and method for generating unique passwords |
US20060059109A1 (en) * | 2004-09-14 | 2006-03-16 | Grimes Ronald P | Password protected keyless entry |
CN101120351A (zh) * | 2005-02-18 | 2008-02-06 | Rsa安全公司 | 派生种子 |
CN101135905A (zh) * | 2006-09-01 | 2008-03-05 | 株式会社电装 | 车辆信息重写系统 |
CN101827076A (zh) * | 2009-03-02 | 2010-09-08 | 株式会社东海理化电机制作所 | 注册密钥的系统和方法 |
CN103404112A (zh) * | 2011-03-04 | 2013-11-20 | 丰田自动车株式会社 | 车辆网络系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10139888A1 (de) | 2001-08-20 | 2003-03-20 | Bayerische Motoren Werke Ag | Verfahren zum automatischen Login einer insbesondere in einem Kraftfahrzeug befindlichen Teilnehmerstation in einem externen Informationssystem |
-
2014
- 2014-03-11 US US14/204,178 patent/US9281942B2/en active Active
-
2015
- 2015-02-27 DE DE102015102826.3A patent/DE102015102826B4/de active Active
- 2015-03-11 CN CN201510105578.8A patent/CN104917606B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141760A (en) * | 1997-10-31 | 2000-10-31 | Compaq Computer Corporation | System and method for generating unique passwords |
US20060059109A1 (en) * | 2004-09-14 | 2006-03-16 | Grimes Ronald P | Password protected keyless entry |
CN101120351A (zh) * | 2005-02-18 | 2008-02-06 | Rsa安全公司 | 派生种子 |
CN101135905A (zh) * | 2006-09-01 | 2008-03-05 | 株式会社电装 | 车辆信息重写系统 |
CN101827076A (zh) * | 2009-03-02 | 2010-09-08 | 株式会社东海理化电机制作所 | 注册密钥的系统和方法 |
CN103404112A (zh) * | 2011-03-04 | 2013-11-20 | 丰田自动车株式会社 | 车辆网络系统 |
Non-Patent Citations (1)
Title |
---|
B.KALISKI: "《RFC2898》", 30 September 2000, NETWORK WORKING GROUP * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107422717A (zh) * | 2016-04-26 | 2017-12-01 | 霍尼韦尔国际公司 | 运载工具安全模块系统 |
CN107422717B (zh) * | 2016-04-26 | 2021-10-19 | 盖瑞特交通一公司 | 运载工具安全模块系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102015102826A1 (de) | 2015-09-17 |
US20150263856A1 (en) | 2015-09-17 |
DE102015102826B4 (de) | 2022-01-27 |
US9281942B2 (en) | 2016-03-08 |
CN104917606B (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104917606B (zh) | 用于控制对电子控制单元进行访问的密码加密 | |
CN105490803B (zh) | 控制对电子控制单元的访问的方法 | |
CN104935434B (zh) | 使用消息验证码保护电子控制单元 | |
US8761390B2 (en) | Production of cryptographic keys for an embedded processing device | |
US9313661B2 (en) | Method of establishing communication between devices in a vehicle | |
CN108306940B (zh) | 用于电器激活传输的信息的远程修改的方法和系统 | |
CN101098560B (zh) | 向装备有信息通讯业务的交通工具的个人化消息的自动传送 | |
US9179311B2 (en) | Securing vehicle service tool data communications | |
CN104796924B (zh) | 使用无线设备管理传统wi-fi和wi-fi直接连接 | |
US8731155B2 (en) | Method for remotely controlling vehicle features | |
CN107085870A (zh) | 使用加密方法调节车辆访问 | |
CN103379170B (zh) | 处理在车辆上接收到的消息 | |
US8682364B2 (en) | Vehicle telematics communication using text encoding of binary data | |
CN105005539B (zh) | 使用消息鉴别码在微控制器处鉴别数据 | |
CN102056239B (zh) | 利用无线通信系统的语音信道使用话语分量的调制解调器信号发送 | |
US8630619B2 (en) | Method of communicating between a vehicle and a telematics subscription service | |
CN103826322A (zh) | 移动终端分组连接 | |
US9706372B2 (en) | Secure SMS messaging | |
CN107872510A (zh) | 动态车辆请求策略 | |
CN101883337A (zh) | 使用短消息系统消息来传送车辆消息的方法 | |
US8660538B2 (en) | Method of communicating business contact information to a wireless user | |
CN110062350A (zh) | 对所连接的车辆外围设备的安全访问 | |
CN107451921A (zh) | 用于授权保险和注册保险单的车辆计算机系统 | |
US20160035144A1 (en) | Supplementing compact in-vehicle information displays | |
CN106600746A (zh) | 车辆任务推荐系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |