提供由车辆控制设备所使用的软件的方法 本发明涉及一种提供由车辆控制设备所使用的软件的方法,特别是用于机动车和摩托车中的控制设备,如权利要求1的前序部分所述。
车辆的控制设备中通常具有以软件进行控制的运行控制功能,该软件由控制设备制造商在控制设备制造好之后或由车辆制造商在控制设备安装好之后存储在控制设备中。
缺点是此方式不利于软件的更换和变更。
本发明的任务在于改善软件/硬件组合,特别是在机动车和私人轿车的情况下。
该任务通过独立权利要求中所述的措施来解决。本发明的具有优点的实施例在从属权利要求中给出。
本发明中一个重要地方面在于,在使用公钥方法(Public-Key-Verfahren)时,为了用于车辆控制设备,特别是机动车和摩托车中的控制设备而提供的软件,使用软件签名站的密钥或私钥进行防伪签名。公钥方法的特征在于使用特殊的钥匙对,即使用密钥、私钥和作为它们补充的公钥。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用软件签名站的公钥时, 以及使用控制实例(Kontrollinstanz)以及所谓的信任中心(Trust Center)的密钥时,生成一个软件签名证书。
作为替换或补充,在本发明的另一个实施例中规定,在使用控制实例的密钥时,生成一个控制实例证书或信任中心证书。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用释放码(Freischaltcode)站的密钥对释放码数据进行签名。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用控制实例以及信任中心的密钥时,生成一个释放码站签名证书。
作为替换或补充,在本发明的另一个实施例中规定,将信任中心证书以防伪和/或防更换的方式,例如以存储在一个被保护的存储器中的方式,存储在控制设备的存储区域内或类似区域内。
作为替换或补充,在本发明的另一个实施例中规定,在控制设备中存储释放码站证书、软件签名证书、释放码数据和它的签名以及该软件。
作为替换或补充,在本发明的另一个实施例中规定,软件签名证书具有一个或多个有效性限制,特别是对于一个或多个控制设备类型的限制。
作为替换或补充,在本发明的另一个实施例中规定,释放码站证书具有一个或多个有效性限制,特别是对一个特定控制设备的限制,例如根据一个存储在控制设备中的没有变更的数字、标识或此类等进行个别化(individualisiern),或对车辆的底盘号进行限制。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用信任中心的公钥对软件签名证书的防伪性进行检验。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用包含在软件签名证书中的软件签名站的公钥对签名后的软件的防伪性进行检验。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用信任中心的公钥对释放码签名证书的防伪性进行检验。
作为替换或补充,在本发明的另一个实施例中规定,在公钥方法的范围内,使用释放码签名证书中包含的释放码站的公钥对签名后的释放码数据进行检验。
作为替换或补充,在本发明的另一个实施例中规定,控制设备内设有运行被控制的微处理器,它使用公钥方法的范围来执行上述方法之一。
以下结合附图对本发明进行详细说明,附图中对同样的方法或具有同样作用的装置给出同样的附图标记,如图所示:
图1:本发明所述方法的图形显示,通过该方法提供由车辆控制设备所使用的软件。
在图1中所示的流程图100中使用已知的公钥方法,将用于对一个控制设备115进行运行控制的程序代码,即控制设备软件113,发送到一个所谓的软件签名站105处,以进行签名。控制设备115可以是一个程控数据处理装置,最好具有一个程控存储器和一个微处理器。根据签名可以得知在签名后程序代码是否被变更或修改过。如果确被变更或修改过,则下文将给出详细解释。
控制设备特别可被理解为车辆中用于控制和/或调节执行器的常规控制设备,以及车辆中的其他程控装置,例如通信系统,音频系统或导航系统。虽然目前有大量的控制设备用于车辆中的不同功能或执行器,但是根据本发明的控制设备也可以是一个或多个程控数据处理装置,它承担对多个控制装置的控制和调节任务。
软件签名站105从车辆制造商的所谓信任中心101处请求一个软件签名证书120,为制造商的车辆确定控制设备11,或者在制造商的车辆中安装控制设备115。软件签名105最好是软件113的制造商113,其中具有优点的是控制设备115的制造商。
在使用软件签名站103的非公开的私钥103以及公钥108时,信任中心101生成一个软件签名证书120。该证书特别具有软件签名站105的公钥108,最好具有一个或多个有效性限制,该有效性限制不能显式描述,以及是一个由信任中心101生成的签名121。该签名可用于检验证书在签名之后是否变更或修改过。
软件签名证书120中的由控制设备115检验其是否满足的有效性限制特别可以是关于工作小时数、行驶功率或公里功率的限制,地点限制的有效性(与到停车地点有关),时间指示或时间段,一个或多个车辆类型,一个或多个控制设备或控制设备类型,车辆底盘号或控制设备号。软件签名证书最好具有对一个或多个控制设备类型的该软件的使用性限制。另一种限制可以是,当软件的制造商同时也是控制设备的制造商时,软件的制造商仅将软件写入控制设备中并使之在控制设备中存储和运行。对一个或多个有效性限制的检验最好通过设置在控制设备115内的、运行受控的微处理器(未绘出)来执行,其中它的运行控制或软件被相应地设计。
信任中心101在使用它的密钥103时进一步生成一个信任中心签名证书116,该证书特别具有它的公钥101,并且在使用信任中心101的密钥103的情况下具有所生成的签名117。
软件签名站105在使用它的私钥或密钥109或使用软件113时,生成一个签名114,根据该签名,控制设备,特别如程控的微处理器,可以检验是否软件113在用签名114进行签名后发生过变更。
证书116和120以及软件113及其签名114被传送到控制设备115中并在此存储。在一个被保护的存储器或存储区域122中存储信任中心签名证书116,这可以防止对信任中心签名证书116的改变或更换。
当软件的制造商和控制设备的制造商相同时,上述过程全部或部分地在将控制设备供货给车辆制造商之前完成。
为了更新存储在控制设备中的软件或准备控制设备115中的附加的或替换的软件,可以根据发明以多种方式将软件使用到车辆中。例如可以前往车间,通过一个诊断插头或一个车辆的通信接口,或通过一个交付给车主的数据载体,例如CD-ROM,DVD或芯片卡来实现。然后如果需要,可通过一个设置在车内的针对所涉及的数据载体的读取设备对软件进行调整。
当控制设备115执行传到控制设备115上的软件113之前,第一步基于公钥方法,使用软件签名证书120,该签名证书具有软件签名站105的公钥108以及信任中心101的签名121,并使用保存在被保护的存储器或存储区域122内的信任中心101的公钥102,控制设备115检验软件签名证书120是否被变更或修改过。
如果不是这种情况,则在第二步基于公钥方法,使用软件签名站105的公钥108,而该软件签名站在第一步中在使用信任中心101的公钥102的情况下已经检验过是否被变更,并使用软件113以及签名114,控制设备检验软件113是否被变更或修改过。
在以下详细介绍的实施例中,在第一步和第二步中进行的主动检验(最好由控制设备的一个微处理器(未绘出)进行只是软件113能在控制设备115上运行的必要条件,但不是充分条件。
具有优点的是例如由控制设备115或一个在控制设备中运行的被控制的微处理器(未绘出)进行检验,一个或多个在信任中心101的软件签名证书120中存储的有效性限制或有效限性条件,尤其是如使用证书120的工作小时数限制是否得到满足。如果需要,对有效性限制或有效性条件的满足构成软件113可在控制设备115上执行的另一个前提条件。
在另一个没有进一步论及到的实施例中,涉及了软件能在控制设备上运行的唯一或充分的条件。
对于已经签名过的、具有控制设备软件113和软件签名114的软件,和带有公钥108的软件签名证书120,以及可能的其它软件,如果这些软件没有存储在控制设备115上或没有存储在车辆上,则可以将数据载体(未绘出),例如CD-ROM或DVD等供车辆使用者使用。可以例如通过相应的数据处理设备(未绘出)得到数据载体中的数据内容,而数据处理设备至少与一辆车中的一个控制设备相连接。
以下假定使用者使用由数据载体提供的软件或由其提供的附加功能,并且软件相应地载入到一个或多个控制设备中并在控制设备上运行。
此处论及的具有优点的实施例除上述的步骤外还必须满足附加的步骤或条件。在此处描述的实施例中,车主通过电话或者互联网的方式从车内与外部建立与一个所谓的释放码站104的联系。在说明支付方式后,车主选择相关的自由开机软件,通知车辆底盘号和/或相关的控制设备的标识号等(其中也可以以电子的方式从一个或多个相关的控制设备中读取和转发),当使用费用与时间相关时,车主给出希望使用软件的时间段长度。基于用附图标记110表示的使用说明,可以生成所谓的释放码数据111。
释放码站104从信任中心101处请求一个所谓的释放码站签名证书118。当使用释放码站104的公钥106和信任中心101的密钥103时,信任中心101基于公钥方法生成一个释放码站签名证书118。
另外还可以规定,将软件113、签名114和/或由其导出的信息或软件号或此类信息存储在释放码站104上,和/或将其全部或一部分送到释放码签名证书118上。特别是释放码站签名证书118具有释放码站104的公钥106和由信任中心101生成的签名119,据此可以检验证书118在签名之后是否被变更或修改过。
具有优点的是,由信任中心101生成的释放码站签名证书118另外还带有一个或多个有效性限制,该有效性限制不能显式描述。
释放码站签名证书118中的一个由控制设备115检验其是否满足的有效性限制,特别可以是一个关于工作小时数、运行功率或公里功率的限制、地点受限的有效性(与到停车地点有关)、时间指示明或时间段、一个或多个车辆类型、一个或多个控制设备或控制设备类型、或者车辆底盘号或控制设备号。具有优点的是,释放码站签名证书具有一个对特定的、对于控制设备个别化的控制设备号或车辆底盘号的可使用性的限制。对一个或多个有效性限制或有效性条件的检验最好可以由设置在控制设备115中的,运行受到控制的微处理器(未绘出)来实现,其中对微处理器的运行控制或软件进行相应的设计。
释放码最好具有下列控制设备115检验并与参考说明进行比较的信息组全部或一部分:软件识别,车辆底盘号和/或控制设备号,有效性限制,特别如一个绝对时间指示,工作小时数,对释放码查询者的识别,例如车辆经销商或车主,对生成自由转化码的释放码站的识别,生产日期和签名日期。
例如所述限制也可以在于,释放码站可以给出由车内设置的导航系统,特别是地图数据或此类数据所使用的软件和/或数据,但不能给出用于改变发动机控制和/或运行控制的(特别)与安全有关的控制设备的软件和/或数据。
由信任中心101生成的释放码站签名证书118和释放码数据111以及它的签名112被传输并存储到车辆(未绘出)中相应的控制设备115上。传输可具有优点地以无线的方式进行,例如特别是可通过移动网络或互联网的方式进行。
在控制设备115执行传输到控制设备115上的软件113之前,在第三步中基于公钥方法,使用释放码站签名证书118,该证书中带有释放码站104的公钥106和信任中心101的签名119,并使用存储在被保护的存储器或存储区域122内的信任中心101的公钥102,控制设备115检验释放码签名证书118是否被变更或修改过。
如果没有发生变更或修改,则在第四步中基于公钥方法,使用释放码站104的公钥106,在控制设备115第三步中使用信任中心101的公钥102,对其是否变更进行过检验,以及使用释放码111及其签名112,控制设备115检验释放码数据111是否被变更或修改过。
最好在第五步中例如由控制设备115或一个设置在其内部的、运行受到控制的微处理器(未绘出)附带地进行检验,一个或多个最好由信任中心101存储在释放码站签名证书118中的有限性限制或有效性条件是否得到满足。否则不给出软件或停止软件的运行,例如通过微处理器进行。
第三步和第四步中进行的主动检验,以及需要时第五步中进行的主动检验,最好由控制设备的微处理器(未绘出)进行,在本发明所述的具有优点的实施例中,上述检验步骤是软件113可以在控制设备115上运行的充分条件。