本发明的实施例涉及一种用于准许授权由交通工具的交通工具部件运行计算机程序的方法、交通工具部件和计算机程序,以及一种具有相应的交通工具部件的交通工具。
背景技术:
1、现代交通工具拥有大量不同的交通工具部件,其中,可以在一些交通工具部件上运行计算机程序。例如,交通工具具有信息娱乐系统和导航系统,其功能性通过软件提供。然而,其他交通工具部件、如电子呼叫系统(e-call system),也至少由如下处理器来实现,在该处理器上运行计算机程序。不过就行驶安全性而言,交通工具制造商的兴趣在于测试在交通工具上运行的计算机程序并由制造商开放使用。因此,交通工具制造商可以努力在交通工具的部件上确保软件的完整性和可信性。这通过密码学措施来实现。这方面的示例在文件de10140721a1和de10354107a1中给出。
2、在交通工具的开发过程中,由供应商提供许多交通工具部件。供应商一般也按照交通工具制造规格提供所属的软件。此外,软件也逐渐由第三方供应商提供、诸如用于访问在线音乐库的软件、用于关联交通工具和移动设备的软件、或者用于定位和查询充电桩的软件。这些供应商或第三方制造商需要能够在相应的交通工具部件上或直接在交通工具中——尽可能在相应的交通工具部件的量产版本上——测试由他们开发的软件。为了防止交通工具部件在没有密码学保护的情况下在灰色市场上交易,这些软件与量产交通工具中使用的软件一样,由交通工具制造商签名并且然后可以在交通工具中或交通工具部件上进行测试。这增加对交通工具制造商基于密码学的安全系统成本和要求,并且是开发过程中的瓶颈和错误源。
技术实现思路
1、因此存在如下需求:提供一种用于开发和测试用于交通工具的交通工具部件的计算机程序的改进的方案。
2、根据独立权利要求的方法、交通工具部件以及计算机程序满足这种需求。
3、本发明的不同方面基于以下认识:用于交通工具部件的计算机程序的开发和测试流程可以通过如下方式来改进:附加于为交通工具部件的量产运行而设置的加密措施,可以将识别信息和附加的验证密钥引入到交通工具部件中。在此,所述附加的验证密钥用于保护要测试的计算机程序的运行。此外,这种附加的验证密钥以加密的方式连接到识别信息上,从而该验证密钥只能在该交通工具部件中使用。现在,将要运行的计算机程序由开发者加密地签名。现在对该签名进行验证并宣布其有效,如果该签名一方面能够借助于所述附加的验证密钥来验证,并且另一方面该签名基于识别信息的话。因此,可以准许供应商或第三方制造商的开发者能够尽可能独立自主地在量产部件上测试软件,而不在此影响安装在其他交通工具上的量产部件的安全性。开发过程结束之后,将所述附加的验证密钥再次移除。
4、实施例给出了一种用于准许授权由交通工具的交通工具部件运行计算机程序的方法。所述方法包括在制造过程的范畴内将识别信息存储在交通工具部件上。所述识别信息专用于所述交通工具部件。所述方法还包括在开发过程期间将附加的验证密钥存储到交通工具部件中,所述附加的验证密钥通过加密签名耦联到识别信息上。所述方法还包括获取用于交通工具部件的计算机程序。所述计算机程序被加密地签名。所述方法还包括,如果计算机程序的加密签名在以所引入的验证密钥进行验证之后是有效的并且基于识别信息,则运行所述计算机程序。可选地,所述方法还包括在开发过程结束之后,移除所述附加的验证密钥。通过所提出的方法能准许供应商或第三方制造商能够尽可能独立自主地在量产部件上测试软件,而不在此影响安装在其他交通工具上的量产部件的安全性。
5、如之前所述,验证密钥用于在开发过程中不使交通工具制造商的加密基础设施承受过高费用。例如,所述附加的验证密钥可以设置用于附加于交通工具制造商的公钥基础设施(public-key-infrastruktur)实现计算机程序的运行。
6、识别信息与特定的交通工具部件相关联。现在这种特征可以用于将被签名的计算机程序的可用性限制到一个交通工具部件或少数几个交通工具部件上。因此,计算机程序的加密签名可以专用于唯一一个交通工具部件或唯一一个交通工具。备选地,计算机程序的加密签名可以专用于限定数量的交通工具部件或交通工具。
7、这可以通过在计算机程序的签名中包含一个或多个交通工具部件的相应识别信息来实现。例如,计算机程序可以与一个或多个交通工具部件或交通工具的一个或多个识别信息一起被签名。
8、所提出的方法的目的在于,为供应商和第三方制造商的软件开发工作提供便利。同时要注意的是,这种功能性不能扩展到任意数量的交通工具部件。因此,所述附加的验证密钥自身可以由交通工具制造商签名并由此与识别信息联系起来。换言之,可以由交通工具制造商生成加密签名,所述附加的验证密钥以所述加密签名耦联到识别信息上。
9、所述计算机程序的加密签名又可以基于交通工具部件或交通工具的识别信息由所述交通工具部件的制造商或由第三方生成,即,所述加密签名明确地不由交通工具制造商生成,从而当将新的测试版本传送到交通工具部件中时,不必占用交通工具制造商的加密基础设施。
10、各附加的方面被集成到交通工具部件的安全方案中。因此,所述计算机程序的加密签名、所述附加的验证密钥和所述识别信息能够通过交通工具部件的引导加载器来验证。因此可以防止例如所述附加的验证密钥也被用于其他的交通工具部件。
11、实施例还给出了一种具有程序代码的程序,用于当所述程序代码在计算机、处理器、控制模块或可编程的硬件组件上运行时,执行前面描述的方法。
12、实施例还给出了一种交通工具部件,其包括一个或多个处理器和一个或多个存储设备,其中,所述交通工具部件构造用于实施前面描述的方法。
13、实施例还给出了一种包括一个或多个所述交通工具部件的交通工具。
1.一种用于准许授权由交通工具的交通工具部件运行计算机程序的方法,所述方法包括:
2.根据权利要求1所述的方法,所述方法还包括在开发过程结束之后,移除(160)所述附加的验证密钥。
3.根据权利要求1或2所述的方法,其中,所述附加的验证密钥设置用于,附加于交通工具的制造商的公钥基础设施使得能够运行所述计算机程序。
4.根据权利要求1或2中任一项所述的方法,其中,所述计算机程序的加密签名专用于唯一一个交通工具部件或唯一一个交通工具,或者
5.根据权利要求1至4中任一项所述的方法,其中,所述计算机程序与一个或多个交通工具部件或交通工具的一个或多个识别信息一起被签名。
6.根据权利要求1至5中任一项所述的方法,其中,所述加密签名由交通工具的制造商生成,所述附加的验证密钥以所述加密签名耦联到识别信息上。
7.根据权利要求1至6中任一项所述的方法,其中,所述计算机程序的加密签名基于所述交通工具部件或所述交通工具的识别信息由所述交通工具部件的制造商或由第三方生成。
8.根据权利要求1至7中任一项所述的方法,其中,所述计算机程序的加密签名、所述附加的验证密钥和所述识别信息通过所述交通工具部件的引导加载器来验证(140)。
9.一种具有程序代码的程序,以用于当所述程序代码在计算机、处理器、控制模块或可编程的硬件组件上运行时,执行根据权利要求1至8中任一项所述的方法。
10.一种交通工具部件(20),所述交通工具部件包括一个或多个处理器(24)和一个或多个存储设备(26),其中,所述交通工具部件构造用于实施根据权利要求1至8中任一项所述的方法。