
1.本公开的实施例总体上涉及信息处理和信息安全的技术领域,并且更具体地涉及信息处理方法、信息处理设备和计算机可读介质。
背景技术:2.为了满足车辆的乘员在不同场景中的应用服务、车联网服务和娱乐需求等,车辆的车载电子设备(例如,车机系统)上可以安装由车辆的生产者或所有者之外的第三方所开发的应用程序。然而,在车载电子设备上运行来自第三方的应用安装程序或其他可执行文件也对车载电子设备的系统安全提出了挑战。
技术实现要素:3.本公开的实施例提出了一种基于车辆数字证书来校验用于在车辆的电子设备上执行的可执行文件的技术方案。更具体地,本公开的实施例提供了信息处理方法、信息处理设备和计算机可读介质。
4.在本公开的第一方面,提供了一种信息处理方法。该方法包括:在车辆的电子设备处,从可执行文件管理设备接收可执行文件,可执行文件基于车辆的车辆数字证书被签名。该方法还包括:基于车辆数字证书来校验可执行文件,以确定可执行文件的安全性。该方法进一步包括:如果确定可执行文件是安全的,在电子设备上执行可执行文件。
5.在本公开的第二方面,提供了一种信息处理方法。该方法包括:在证书管理设备处,基于车辆的信息来生成车辆的车辆数字证书。该方法还包括:从可执行文件管理设备接收将在车辆的电子设备上执行的原始可执行文件。该方法还包括:基于车辆数字证书对原始可执行文件进行签名,以生成用于发送给电子设备的可执行文件。该方法进一步包括:将可执行文件发送给可执行文件管理设备。
6.在本公开的第三方面,提供了一种信息处理方法。该方法包括:在可执行文件管理设备处,如果确定原始可执行文件将提供给车辆的电子设备,将原始可执行文件发送给证书管理设备。该方法还包括:从证书管理设备接收用于发送给电子设备的可执行文件,可执行文件基于车辆的车辆数字证书被签名。该方法进一步包括:将可执行文件发送给电子设备。
7.在本公开的第四方面,提供了一种信息处理设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行动作。动作包括:在车辆的电子设备处,从可执行文件管理设备接收可执行文件,可执行文件基于车辆的车辆数字证书被签名。动作还包括:基于车辆数字证书来校验可执行文件,以确定可执行文件的安全性。动作进一步包括:如果确定可执行文件是安全的,在电子设备上执行可执行文件。
8.在本公开的第五方面,提供了一种信息处理设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个
处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行动作。动作包括:在证书管理设备处,基于车辆的信息来生成车辆的车辆数字证书。动作还包括:从可执行文件管理设备接收将在车辆的电子设备上执行的原始可执行文件。动作还包括:基于车辆数字证书对原始可执行文件进行签名,以生成用于发送给电子设备的可执行文件。动作进一步包括:将可执行文件发送给可执行文件管理设备。
9.在本公开的第六方面,提供了一种信息处理设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行动作。动作包括:在可执行文件管理设备处,如果确定原始可执行文件将提供给车辆的电子设备,将原始可执行文件发送给证书管理设备。动作还包括:从证书管理设备接收用于发送给电子设备的可执行文件,可执行文件基于车辆的车辆数字证书被签名。动作进一步包括:将可执行文件发送给电子设备。
10.在本公开的第七方面,提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序在由设备执行时使得设备执行根据第一方面的方法。
11.在本公开的第八方面,提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序在由设备执行时使得设备执行根据第二方面的方法。
12.在本公开的第九方面,提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序在由设备执行时使得设备执行根据第三方面的方法。
13.应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的描述而变得容易理解。
附图说明
14.通过参考附图来阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例。
15.图1示出了本公开的实施例可以在其中实现的示例环境的示意图。
16.图2示出了根据本公开的实施例的在车辆的电子设备、证书管理设备和可执行文件管理设备之间的示例交互过程。
17.图3示出了根据本公开的实施例的在车辆的电子设备、电子设备的安全存储区域、证书管理设备、可执行文件管理设备和应用开发者设备之间的示例交互过程。
18.图4示出了根据本公开的实施例的在车辆的电子设备处执行的信息处理方法的示例过程的流程图。
19.图5示出了根据本公开的实施例的在证书管理设备处执行的信息处理方法的示例过程的流程图。
20.图6示出了根据本公开的实施例的在可执行文件管理设备处执行的信息处理方法的示例过程的流程图。
21.图7示出了可以被用来实现本公开的实施例的示例设备的框图。
22.贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
23.下文将参考附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。确切地说,提供这些实施例是为了使读者更加透彻和完整地理解本公开。因此,应当明白的是,本公开的附图和实施例仅用于示例性作用,并非用于限制本公开的保护范围。
24.如上文提到的,在车载电子设备上运行来自第三方的应用安装程序或其他可执行文件对车载电子设备的系统安全提出了挑战。这样的挑战从安全方面给车载电子设备的系统开发者提出了更高的要求。更具体地,在保障车载电子设备的系统安全的各方面中,重要的步骤可能是针对应用安装程序(或其他可执行文件)的系统校验过程。在车载电子设备对第三方开发的可执行文件的校验过程中,如果车载电子设备可以实现安全等级更高的校验过程,那么对于确保可执行文件的安全性可能是有利的。例如,假设车载电子设备可以使用特定于车辆的安全验证手段来校验用于安装在车辆上的可执行文件,那么车载电子设备可以更好地确定可执行文件是否为安全的。
25.然而,在针对应用安装程序或应用安装文件的常规验证方式中,第三方应用开发者一般使用自己签发的数字证书来对所开发的应用安装文件签名,签名后的安装文件可以被提供给车载电子设备。在运行安装文件之前,车载电子设备可以使用应用开发者提供的数字证书来校验安装文件的数字签名。如果校验通过,则车载电子设备将会运行应用程序安装文件。
26.从上述常规验证方式可见,应用安装程序或应用安装文件是由第三方开发者使用自己的数字证书来签名的,由此车载电子设备可以验证安装文件的完整性,防止安装文件在传输过程中被篡改或替换。另一方面,在应用程序的后续升级或替换时,第三方开发者的数字证书可以作为身份校验的标识。例如,如果车载电子设备验证出提供更新版或替换版的应用安装文件的开发者的数字证书,与提供应用安装文件的之前版本的开发者的数字证书是匹配的,则车载电子设备可以确定提供这两个版本的安装文件的开发者是同一个开发者,之后车载电子设备可以进行应用程序的升级或替换。
27.但是,本技术的发明人通过研究和分析发现,上述常规验证方式无法确保应用开发者所开发的应用安装文件是安全的。另外,常规验证方式也无法对应用开发者进行统一管理,并且还可能存在应用开发者可以非法获取车辆私密信息的漏洞。例如,在车载电子设备第一次执行来自第三方应用开发者所开发的应用安装文件时,车载电子设备无法对第三方开发者的数字证书或身份进行校验,而只能完全信任第三方开发者的数字证书。又例如,由于应用开发者的数字证书是由应用开发者自己提供的,车辆的生产者或所有者无法针对特定的车辆来有效地管理各种应用安装文件和各个应用开发者,从而造成安全隐患。在极端的情况下,这样的安全隐患可能导致应用开发者非法获取车辆私密信息。
28.鉴于传统方案中存在的上述问题以及潜在的其他问题,本公开的实施例提出了一种基于车辆数字证书来校验用于在车辆的电子设备上执行的可执行文件的技术方案。具体地,在一方面,在车辆的电子设备处,从可执行文件管理设备接收可执行文件,可执行文件基于车辆的车辆数字证书被签名。另外,车辆的电子设备基于车辆数字证书来校验可执行文件,以确定可执行文件的安全性。接着,如果车辆的电子设备确定可执行文件是安全的,
则在电子设备上执行可执行文件。
29.在另一方面,在证书管理设备处,基于车辆的信息来生成车辆的车辆数字证书。另外,证书管理设备从可执行文件管理设备接收将在车辆的电子设备上执行的原始可执行文件。然后,证书管理设备基于车辆数字证书对原始可执行文件进行签名,以生成用于发送给车辆的电子设备的可执行文件。接着,证书管理设备将可执行文件发送给可执行文件管理设备。
30.在又一方面,在可执行文件管理设备处,如果确定原始可执行文件将提供给车辆的电子设备,将原始可执行文件发送给证书管理设备。然后,可执行文件管理设备从证书管理设备接收用于发送给车辆的电子设备的可执行文件,可执行文件基于车辆的车辆数字证书被签名。接着,可执行文件管理设备将可执行文件发送给车辆的电子设备。
31.通过本公开的实施例,证书管理设备可以基于每个车辆的车辆数字证书(例如,其可以包含车辆的相关信息)来对可执行文件签名,由此可以在应用开发者使用的开发者数字签名的基础上,增加对可执行文件的车辆数字证书的合法性校验,从而可以防止未知开发者的可执行文件在车辆的电子设备上执行。例如,由于车辆具有车辆数字证书,所以可执行文件只能通过基于车辆数字证书的校验,或者与车辆数字证书有关的证书链(或信任链)的校验后才能在车辆电子设备执行。如果可执行文件不能通过这样的校验,则可以被认为是非法的可执行文件,由此可以避免未知的可执行文件在车辆电子设备上执行,从而可以通过车辆数字证书来加强可执行文件的安全性。
32.相比之下,按照常规的验证方式,除非不允许第三方开发者来开发用于车载电子设备的应用安装文件,也即车机系统完全闭源开发而不接入第三方的应用服务,才有可能不用考虑应用安装程序的安全性问题。另一方面,与关于车辆的常规通信加密过程相比,本公开的实施例通过车辆的信息来生成车辆数字证书,而车辆数字证书对应于不对称的加密算法,而不是一般车辆通信加密过程中采用的对称算法。此外,本公开的实施例可以利用车辆数字证书作为根证书的签发机制,从而保证车辆数字证书的合法性。因此,本公开的实施例在车辆数字证书合法性的基础上,保证安装到车辆电子设备的可执行文件(例如,二进制程序)的合法性和安全性。
33.更具体地说,通过本公开的实施例,在车载电子设备第一次执行来自第三方应用开发者所开发的应用安装文件时,由于应用安装文件是经过车辆数字证书签名的,所以车载电子设备通过校验可以确定应用安装文件是否经过基于车辆数字证书的签名并且未被篡改,从而确定应用安装文件的安全性,而无需依赖于对第三方开发者自己的数字证书进行校验。又例如,证书管理设备可以对车辆数字证书和/或应用开发者数字证书进行统一签发和管理,所以车辆的生产者或所有者可以针对特定的车辆来有效地管理各种应用安装文件和各个应用开发者,从而消除了潜在的安全隐患,也消除了由此导致的应用开发者非法获取车辆私密信息的可能性。总之,本公开的实施例改进了在车辆的电子设备上执行可执行文件的安全性。
34.图1示出了本公开的实施例可以在其中实现的示例环境100的示意图。在示例环境100中,车辆105可以包括被固定地或者非固定地设置在车辆105内的车载电子设备110。在本公开的上下文中,车载电子设备110也可以称为车辆105的电子设备110。在一些实施例中,车载电子设备110内可以包括处理器或控制器,以用于处理与车载电子设备110有关的
各种信息和数据,并且可以控制车载电子设备110的各种操作和功能,等等。在一些实施例中,车载电子设备110可以是专用于设置在车辆105上并且在车辆105中使用的电子设备,诸如车辆105的车机(head unit)或车载平板计算机等。在其他实施例中,车载电子设备110也可以是由车辆105的乘员携带到车辆105中并且在车辆105中临时使用的电子设备,诸如乘员的移动电话、平板计算机等。在另外的实施例中,车载电子设备110也可以是与车辆105相关联的任何其他电子设备。
35.在处理器或控制器的控制下,车载电子设备110可以执行各种各样的功能或操作。例如,车载电子设备110的功能或操作可以包括,但不限于,浏览网页、语音交互、播放多媒体内容、播放电台内容、提供兴趣点(poi)搜索功能、提供导航信息、拨打电话、运行车载游戏、以及已知的和未来开发的任何其他功能或操作。在一些实施例中,车载电子设备110可以具有或者可以访问安全存储区域115。如本文中使用的,安全存储区域115可以是指比通常的存储区域具有更高安全性或更高安全保护等级的存储区域,其可以用于存储与车辆105有关的敏感信息、隐私信息、其他重要信息,等等。例如,这样的信息可以包括车辆105的车辆数字证书125、与车辆数字证书125有关的证书链信息、车辆105的任何其他重要信息,等等。在一些实施例中,电子设备110在访问或获取安全存储区域115中存储的数据或内容时可能需要提供密码或者需要具有高访问权限,等等。
36.需要说明的是,尽管图1中将安全存储区域115示出为在电子设备110的外部,但是这仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,安全存储区域115也可以设置在电子设备110的内部。还需要说明的是,在图1描绘的示例场景中,如果车辆105或电子设备110包括安全存储区域115并且用于存放车辆数字证书125,则图1描绘了电子设备110已经从安全存储区域115中获取了车辆数字证书125,例如用于后续的针对可执行文件的135的校验。在一些实施例中,车辆105或电子设备110也可以不包括安全存储区域115。在这样的情况下,图1描绘了电子设备110本身具有车辆数字证书125。
37.如图1中示出的,示例环境100还包括证书管理设备120。如本文中使用的,证书管理设备120可以一般性地指代对数字证书(诸如车辆数字证书、应用开发者数字证书,等等)进行管理的任何设备,例如用于管理各种数字证书的计算机或服务器。在一些实施例中,证书管理设备120可以是证书颁发机构(也称为数字证书机构、证书颁发者,等等)的证书管理设备。例如,证书管理设备120可以是由车辆105的生产者作为证书颁发机构所拥有的证书管理设备。在本公开的上下文中,证书管理设备120也可以称为证书中心或原始设备制造商(oem)证书中心,等等。
38.如本文中使用的,“签名”或“数字签名”(也称为公钥数字签名、电子签章等)是一种使用公钥加密领域的技术来实现的用于鉴别数字信息的方法。一般而言,一套数字签名通常可以定义两种互补的加密和解密运算,其中加密运算用于签名而解密运算用于验证。通常,数字签名是只有信息的发送者才能产生的其他人无法伪造的一段数字串或代码串。这段数字串同时也是对信息的发送者发送信息真实性的有效证明。例如,数字签名是非对称密钥加密技术与数字摘要技术的应用。
39.如本文中使用的,“数字证书”一般是在通信(例如,互联网通信)中用于标识通信各方的身份信息的一串数字或代码。数字证书可以由数字证书机构颁发。数字证书可以包含证书颁发者公钥、公钥拥有者名称(证书颁发者名称)、数字证书机构的数字签名、有效
期、授权中心名称、证书序列号、证书所使用的签名算法等信息。通常,数字证书可以通俗地理解为是个人或企业在网络上的身份证。也就是说,数字证书是由可信的第三方发出的,用来证明信息或数据的所有人的身份和证明所有人的公钥签名的电子文件。
40.因此,在使用数字证书的过程中应用加密技术,能够实现信息或数据的身份认证、保密性、完整性和防抵赖等。身份认证是指在网络中传递信息的双方互相不能见面,利用数字证书可确认双方身份,而不是他人冒充的。保密性是指通过使用数字证书对信息加密,只有接收方才能阅读加密的信息,从而保证信息不会被他人窃取。完整性是指利用数字证书可以校验传送的信息在传递的过程中是否被篡改过或丢失。防抵赖是指利用数字证书进行数字签名,可准确标示签名人身份及验证签名内容,因此签名人对签名及签名内容具有不可否认性,其作用类似于手写签名并且具有同样的效力。
41.在图1描绘的示例中,证书管理设备120可以基于车辆105的信息来生成并且管理车辆105的车辆数字证书125。具体地,证书管理设备120可以生成和管理包括公钥的车辆数字证书125,并且生成和管理与车辆数字证书125对应或匹配的私钥。一般地,与车辆数字证书125对应的私钥可以用于对提供给车辆105的数据或信息进行签名,例如用于对来自可执行文件管理设备130的原始可执行文件签名,以生成可执行文件135。另一方面,包括公钥的车辆数字证书125可以被提供给车辆105的电子设备110或其他设备,以便用于校验基于车辆数字证书125(例如,其对应的私钥)被签名的任何数据或信息,例如用于校验使用私钥签名的可执行文件135,从而验证可执行文件135的安全性。
42.在一些实施例中,用于生成车辆数字证书125的车辆105的信息可以包括车辆105的唯一标识符。以此方式,基于车辆105的唯一标识符所生成的车辆数字证书125对于车辆105是唯一的且独有的,从而进一步提高基于车辆数字证书125被签名的数据或信息的安全性。因此,在这样的实施例中,除了具有数字证书通常所具有的功能和作用以外,车辆数字证书125与通常的数字证书的不同之处在于,车辆数字证书125是专用于车辆105的,或者是车辆105所独有的。换句话说,针对每个不同的车辆,证书管理设备120可以生成并管理唯一的车辆数字证书。例如,在一些实施例中,用于生成车辆数字证书125的车辆105的唯一标识符可以是车辆105唯一的车辆识别号码vin或者车辆标识符vid。
43.如图1中示出的,示例环境100还包括可执行文件管理设备130。如本文中使用的,可执行文件管理设备130可以一般性地指代对可执行文件进行管理的任何设备,例如用于管理可执行文件的计算机或服务器。如本文中使用的,可执行文件是指可以由设备的操作系统进行加载和执行的文件。在不同的操作系统环境下,可执行文件的呈现方式可以不一样。在一些实施例中,可执行文件可以包括应用程序的安装文件,例如安卓系统中的apk格式的文件。在可执行文件是应用程序安装文件的情况下,可执行文件管理设备130也可以称为应用程序中心、应用程序商店、oem应用商店、oem应用中心,等等。在图1描绘的示例中,可执行文件管理设备130可以管理可执行文件135。例如,车辆105的电子设备110可以从可执行文件管理设备130获取可执行文件135,以便于在电子设备110上安装对应的应用程序。
44.在一些实施例中,可执行文件135可以是基于车辆105的车辆数字证书125(例如,其对应的私钥)被签名的。例如,可执行文件管理设备130可以将原始可执行文件提供给证书管理设备120。证书管理设备120可以基于车辆数字证书125(例如,其对应的私钥)对原始可执行文件签名,以得到可执行文件135。然后,证书管理设备120可以将可执行文件135返
回给可执行文件管理设备130。如上文提到的,在一些实施例中,针对每台不同的车辆,证书管理设备120可以生成并管理唯一的车辆数字证书。也就是说,不同的车辆可以具有不同的车辆数字证书,所以基于不同的车辆数字证书来对可执行文件签名可以生成不同的(经过签名的)可执行文件。相比之下,常规的可执行文件针对不同的车辆是相同的。因此,在一些实施例中,不同于常规的可执行文件,基于车辆105的车辆数字证书125签名后的可执行文件135可以确保仅能安装在车辆105的电子设备110上,从而提高了可执行文件135的数据安全性。
45.如图1中示出的,在一些实施例中,示例环境100还可以包括应用开发者设备140。如本文中使用的,应用开发者设备140可以一般性地指代应用开发者(例如,车机应用开发者)的任何设备,例如用于开发或管理应用安装程序的计算机或服务器。在一些实施例中,应用开发者设备140可以向可执行文件管理设备130提供原始可执行文件(例如,应用程序安装文件),以便最终将基于车辆数字证书125签名后的可执行文件135提供给车辆105的电子设备110用于在校验后执行。在一些实施例中,应用开发者设备140可以向证书管理设备120申请颁发开发者数字证书。在获得开发者数字证书之后,应用开发者设备140可以基于开发者数字证书对所开发的应用安装文件签名,以表明应用开发者设备140所对应的应用开发者是经过证书管理设备120确认的合法且安全的应用开发者。
46.在一些实施例中,车辆105的电子设备110可以由车辆105的所有者来控制和管理,证书管理设备120和可执行文件管理设备130可以由相同的运营者(例如,车辆105的生产者)来控制和管理,而应用开发者设备140可以由第三方的应用开发者来控制和管理。当然,在其他实施例中,应用开发者设备140也可能与证书管理设备120和可执行文件管理设备130属于相同的运营者,例如车辆105的生产者。在另外的实施例中,车辆105的电子设备110也可以由证书管理设备120和可执行文件管理设备130运营者(例如,车辆105的生产者)来控制或管理。例如,这可能是在车辆105的生产过程中,由车辆105的生产者在车辆105的电子设备110上执行可执行文件(例如,安装应用程序)的情况。
47.在一些实施例中,由于证书管理设备120可以是由车辆105的生产者来控制和管理的,所以车辆105的电子设备110可以完全信任证书管理设备120生成的车辆数字证书125,从而从根源上解决了车辆数字证书125的可信度问题。另外,由于证书管理设备120可以属于车辆105的生产者,所以证书管理设备120可以便利地获得或知晓车辆105的唯一标识符,例如车辆105的vin码或vid码。在一些实施例中,如果证书管理设备120和可执行文件管理设备130是由相同的运营者控制和管理的,则证书管理设备120和可执行文件管理设备130可以实现为同一计算机或服务器上的两个不同服务,以替代将证书管理设备120和可执行文件管理设备130分别实现为两个单独的计算机或服务器。
48.在一些实施例中,电子设备110、证书管理设备120、可执行文件管理设备130和应用开发者设备140可以包括任何能够实现计算功能和/或控制功能的设备,其可以是任何类型的固定计算设备、移动计算设备或便携式计算设备,包括但不限于,专用计算机、通用计算机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、多媒体计算机、移动电话、通用处理器、微处理器、微控制器、或状态机。电子设备110、证书管理设备120、可执行文件管理设备130和应用开发者设备140可以实施为个体计算设备或计算设备的组合,例如,数字信号处理器(dsp)和微处理器的组合、多个微处理器、一个或多个微处理
器结合dsp核心、或者任何其他这样的配置。
49.尽管车辆105在图1中被描绘为小汽车,但是本公开的实施例不限于此,而是等同地适用于可以设置有车载电子设备的任何车辆。例如,车辆105可以是任何适当的机动车辆或非机动车辆,其示例包括但不限于小汽车、轿车、卡车、公交车、电动车、摩托车、自行车,等等。更一般地,本公开的实施例也可以适用于设置了机载电子设备的任何交通工具。例如,交通工具可以是指能够承载人和/或物并且可移动的任何类型的运载工具,诸如车辆、船只、火车、飞机,等等。
50.此外,应当理解,图1仅示意性地示出了与本公开的实施例相关的设备、对象、单元、元素、或组件。在实践中,示例环境100还可以包括其他设备、对象、单元、元素、或组件,等等。另外,图1中示出的设备、对象、单元、元素、或组件的特定数目仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,示例环境100可以包括任何适当数目的设备、对象、单元、元素、或组件,等等。再者,图1中描绘的电子设备110在车辆105内的具体位置仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,电子设备110可以设置在或放置在车辆105中的任何适当位置。因此,本公开的实施例不限于图1所描绘的具体场景,而是一般性地适用于运载工具承载有电子设备的任何技术环境。
51.图2示出了根据本公开的实施例的在车辆105的电子设备110、证书管理设备120和可执行文件管理设备130之间的示例交互过程200。为了论述的目的,下文将参考图1来描述示例交互过程200。然而,应当明白的是,示例交互过程200也可以适用于基于车辆数字证书来确保可执行文件的安全性,以便在车载电子设备上运行的任何其他场景中。
52.如图2所示,证书管理设备120可以基于车辆105的信息来生成(202)车辆105的车辆数字证书125。例如,在生成车辆数字证书125时,除了数字证书一般需要包括的各种信息以外,证书管理设备120还可以将车辆105的相关信息包括在车辆数字证书125中,从而使得车辆数字证书125是与车辆105相关联的,或者是针对车辆105被生成的。一般而言,用于生成车辆数字证书125的车辆105的信息可以包括与车辆105有关的任何信息。例如,这样的信息可以包括但不限于车辆105的原产国或地区代码、制造商代码、车辆型号代码、发动机类型代码、车身及底盘系列代码、车型年代、总装工厂代码、出厂顺序号等信息中的一项或多项信息。在一些实施例中,为了进一步提高车辆数字证书125的安全性,证书管理设备120可以基于车辆105的唯一标识符来生成车辆数字证书125。也就是说,车辆105的唯一标识符对于车辆105是唯一的且独有的,从而基于唯一标识符生成的车辆数字证书125对于车辆105也是唯一的且独有的。以此方式,基于车辆数字证书125被签名的数据或信息(例如,可执行文件)的安全性可以进一步被改进。在一些实施例中,针对需要在证书管理设备120处生成车辆数字证书的每个不同的车辆,证书管理设备120可以专门生成或分配用于标识该车辆的唯一标识符。以此方式,证书管理设备120可以灵活地由它自己为车辆设置唯一的标识符,而无需再从其他设备或信息源处获取车辆105的唯一标识符。
53.在另一些实施例中,车辆105的唯一标识符可以包括车辆105的车辆识别号码vin。车辆识别号码也可以称为车辆识别代号、“车架号”、“大架子号”等,其可以相当于汽车或车辆的“身份证号”。简单来说,车辆识别号码vin是为了识别某一辆车,由车辆制造厂为该车辆指定的代码。一般地,车辆识别号码vin可以由17位字母或数字组成。通过车辆识别号码vin,人们能够了解到一辆汽车的生产厂家、品牌、车辆特征等信息。通过使用车辆105的车
辆识别号码vin作为唯一标识符来生成车辆数字证书125,由于车辆识别号码vin对于每辆车是唯一的,所以可以确保用于生成车辆数字证书125的车辆标识符是“唯一”的标识符。另一方面,由于车辆105已有的车辆识别号码vin被用于生成车辆数字证书125的用途,所以避免了证书管理设备120针对不同的车辆专门生成和管理不同唯一标识符以用于生成车辆数字证书的负担。在其他实施例中,用于生成车辆数字证书125的车辆105的唯一标识符也可以包括车辆105的车辆标识符码vid。通常,相对于车辆识别号码vin而言,车辆标识符码vid可以是相对开放的或公开的一种车辆唯一标识符,而车辆识别号码vin由于包含许多车辆信息,相对而言是比较隐私或敏感的。
54.在可执行文件管理设备130处,如果可执行文件管理设备130确定(204)所管理的某个原始可执行文件207将要被提供给车辆105的电子设备110(例如,用于安装到电子设备110上),则可执行文件管理设备130可以将原始可执行文件207发送(206)给证书管理设备120,以便证书管理设备120基于车辆数字证书125对原始可执行文件207进行签名。在一些实施例中,可执行文件管理设备130可以将所管理的所有可执行文件依次地或一起地发送给证书管理设备120,以便由证书管理设备120基于车辆数字证书125对所有可执行文件进行签名。以此方式,在电子设备110从可执行文件管理设备130处请求某个可执行文件时,可执行文件管理设备130可以直接将签名后的可执行文件发送给电子设备110,而无需临时将被请求的原始可执行文件发送给证书管理设备120进行签名,由此缩短了电子设备110获得可执行文件135的时延。
55.在另一些实施例中,可执行文件管理设备130可以基于电子设备110对可执行文件的请求,而将被请求的可执行文件发送给证书管理设备120进行签名。也就是说,如果可执行文件管理设备130确定从电子设备110接收到针对原始可执行文件207的请求,则可执行文件管理设备130可以确定原始可执行文件207将提供给电子设备110,从而将原始可执行文件207发送给(206)证书管理设备120。以此方式,可执行文件管理设备130无需将所管理的大量可执行文件都发送给证书管理设备120进行签名,而是有选择地将电子设备110需要执行的可执行文件发送给证书管理设备120进行签名,从而简化了证书管理设备120和可执行文件管理设备130的相关操作,并且节省了两者之间的传输资源。
56.需要说明的是,可执行文件管理设备130可以通过任何适当的方式来获得原始可执行文件207。例如,原始可执行文件207(例如,应用程序安装文件)可以是由可执行文件管理设备130的管理者创建或开发的。因此,可执行文件管理设备130的管理者可以将所创建或开发的原始可执行文件207存放在可执行文件管理设备130处,以便于管理。在其他实施例中,可执行文件管理设备130可以从应用开发者设备140获得原始可执行文件207。换言之,原始可执行文件207可以是由另一方来创建或开发的,也即应用开发者设备140的管理者,其不同于可执行文件管理设备130的管理者。在这样的情况下,应用开发者设备140的管理者可以通过应用开发者设备140,将原始可执行文件207提供给可执行文件管理设备130,以便于统一管理。
57.在一些实施例中,为了加强应用开发者设备140的身份验证,以提高原始可执行文件207的数据安全性,证书管理设备120可以向应用开发者颁发开发者数字证书。应用开发者设备140可以基于开发者数字证书对所开发的可执行文件签名,而可执行文件管理设备130可以基于开发者数字证书来验证应用开发者140所对应的应用开发者的身份。具体地,
如果证书管理设备120确定从应用开发者设备140接收到针对开发者数字证书的请求,证书管理设备120可以基于应用开发者的信息来生成开发者数字证书。换言之,所生成的开发者数字证书是针对该应用开发者的,用于验证该应用开发者的身份。然后,证书管理设备120可以将开发者数字证书发送给应用开发者设备140,以便用于对所开发的可执行文件签名。以此方式,除了车辆105的车辆数字证书125以外,证书管理设备120还可以针对应用开发者设备140对应的应用开发者来生成开发者数字证书,用于验证应用开发者的身份,从而进一步提高原始可执行文件207和可执行文件135的数据安全性。
58.在使用开发者数字证书的情况下,应用开发者设备140对应的应用开发者可以使用开发者数字证书对应的私钥对所开发的可执行文件签名,从而生成原始可执行文件207,然后再将原始可执行文件207发送给可执行文件管理设备130。因此,可执行文件管理设备130可以从应用开发者设备140接收原始可执行文件207,并且原始可执行文件207是基于应用开发者的开发者数字证书被签名的。接着,可执行文件管理设备130可以基于开发者数字证书(例如,公钥)来校验原始可执行文件207,以确定应用开发者设备140对应的应用开发者是否为证书管理设备120认证的合法且安全的开发者。以此方式,在将可执行文件最终发送给车辆105的电子设备110之前,可执行文件管理设备130可以首先基于开发者数字证书,来验证提供原始可执行文件207的应用开发者的合法身份,从而提高原始可执行文件207的信息安全性。
59.在证书管理设备120处,证书管理设备120可以从可执行文件管理设备130接收(208)将在车辆105的电子设备110上执行的原始可执行文件207。然后,证书管理设备120可以基于车辆数字证书125对原始可执行文件207签名(210),以生成用于发送给电子设备110的可执行文件135。例如,证书管理设备120可以使用与车辆数字证书125匹配的私钥对原始可执行文件207进行签名,从而生成可执行文件135。在一些实施例中,可执行文件135可以包括应用程序安装文件,诸如安卓系统中的apk格式的文件等。以此方式,基于车辆105的信息生成的车辆数字证书125可以被应用到校验应用安装文件,从而确保应用安装文件的安全性,由此使得车辆105的电子设备110可以安全地安装各种应用安装文件,从而使得电子设备110在获得各种应用程序提供的便利功能和服务的同时,消除了安装恶意或非法应用安装文件的风险。
60.在一些实施例中,为了减少直接将车辆数字证书125作为根证书进行签名所引发的潜在风险,证书管理设备120可以不直接使用车辆数字证书125作为根证书对可执行文件135签名,而是替代地使用基于车辆数字证书125的中间证书来对可执行文件135签名。在这样的情况下,在基于车辆数字证书125对原始可执行文件207进行签名时,证书管理设备120可以首先基于车辆数字证书125来生成中间证书。例如,所生成的中间证书可以基于作为根证书的车辆数字证书125以及一个或多个层级的中间证书,从而形成“证书链”。然后,证书管理设备120可以使用中间证书来对原始可执行文件207进行签名。在这样的情况下,车辆105的电子设备110可以基于以车辆数字证书125为根证书的“证书链”来校验可执行文件207。以此方式,证书管理设备120可以通过中间证书的签名来确保可执行文件135的信息安全性,同时也避免了直接将车辆数字证书125作为根证书来对原始可执行文件207签名所引发的潜在风险。
61.接着,证书管理设备120可以将可执行文件135发送(212)给可执行文件管理设备
130。对应地,可执行文件管理设备130可以从证书管理设备120接收(214)用于发送给电子设备110的可执行文件135。需要注意的是,这里的可执行文件135是基于车辆105的车辆数字证书125被签名的。在接收到(214)可执行文件135之后,可执行文件管理设备130可以将可执行文件135发送(216)给车辆105的电子设备110。对应地,车辆105的电子设备110可以从可执行文件管理设备130接收(218)可执行文件135。
62.在接收到(218)可执行文件135之后,电子设备110可以基于车辆数字证书125来校验(220)可执行文件135,以确定可执行文件135的安全性。如上文描述的,在一些实施例中,原始可执行文件207可以直接使用车辆数字证书125作为根证书被签名,例如直接使用与车辆数字证书125相匹配的私钥被签名。在这样的情况下,电子设备110可以直接使用车辆数字证书125(例如,公钥)来校验可执行文件135。以此方式,证书管理设备120对原始可执行文件207的签名操作以及电子设备110对可执行文件135的校验操作均可以被简化。
63.如上文提到的,在另外的一些实施例中,证书管理设备120可以使用基于车辆数字证书125作为根证书的中间证书对原始可执行文件207签名,而不是直接使用车辆数字证书125作为根证书来对原始可执行文件207签名。例如,证书管理设备120可以使用与中间证书对应的私钥来对原始可执行文件207签名。在这样的情况下,在基于车辆数字证书125来校验(220)可执行文件135时,电子设备110可以基于以车辆数字证书125作为根证书的证书信任链来校验可执行文件135。如本文中使用的,证书信任链也可以简称为“证书链”或“信任链”,等等。
64.一般而言,证书信任链是指包括根证书和一个或多个中间证书层级的证书链式结构。在基于证书链来校验可执行文件135时,电子设备110可以依次使用不同层级中的中间证书(例如,公钥)逐层往下进行校验,直至校验到底层的作为根证书的车辆数字证书125。通过使用证书信任链的方式,证书管理设备120无需使用车辆数字证书125作为根证书直接对原始可执行文件207进行签名,而是可以替代地使用基于根证书的中间证书来对原始可执行文件207进行签名,从而避免对根证书的直接使用所带来的暴露风险或其他使根证书失效的风险,由此提高了根证书的信息安全性。
65.需要说明的是,电子设备110可以通过任何适当的方式来获得用于校验可执行文件135的车辆数字证书125。例如,在一些实施例中,车辆数字证书125可以在电子设备110被生产时预先设置在电子设备110中。这样,电子设备110无需在后续的操作中另外地获得车辆数字证书125,从而简化了电子设备110的操作。在另一些实施例中,电子设备110可以在任何适当的第三方设备处获得由证书管理设备120基于车辆105的信息生成的车辆数字证书125。以此方式,由于可以从各种各样的第三方处获得车辆数字证书125,电子设备110对车辆数字证书125的可获得性可以被提高。
66.在其他实施例中,电子设备110可以从证书管理设备120接收车辆数字证书125。也就是说,在基于车辆105的相关信息生成车辆数字证书125之后,证书管理设备120可以将车辆数字证书125(例如,公钥)发送给电子设备110。以此方式,电子设备110可以按照直接和便利的方式从生成车辆数字证书125的证书管理设备120处获得车辆数字证书125,由此避免了从其他中间设备来获得车辆数字证书125,提高了电子设备110获得车辆数字证书125的信息安全性,并且简化了电子设备110用于获得车辆数字证书125的操作。
67.在一些实施例中,如果电子设备110确定从证书管理设备120接收到车辆数字证书
125,电子设备110可以将车辆数字证书125存储在电子设备110的安全存储区域115中。通过这样的方式,由于安全存储区域115是具有更高安全等级和更高存储安全性的存储区域,因此提高了车辆数字证书125在电子设备110处的信息安全性。当然,在其他实施例中,电子设备110也可以将车辆数字证书125存储在普通存储区域或其他类型的存储区域中,从而可以提高电子设备110存储和访问车辆数字证书125的便捷性。
68.在电子设备110将车辆数字证书125存储在安全存储区域115的情况下,如果电子设备110确定从可执行文件管理设备130接收到(218)可执行文件135,电子设备110可以从电子设备110的安全存储区域115中取回车辆数字证书125,以便用于校验可执行文件135。以此方式,由于电子设备110从本地的安全存储区域115获得车辆数字证书125,而无需临时从证书管理设备120处请求获得车辆数字证书125,从而加快了对可执行文件135的校验过程,提高了校验效率。另一方面,由于车辆数字证书125存放在安全存储区域115,车辆数字证书125的信息安全性也得到提高。
69.通过对可执行文件135的校验(220),如果电子设备110确定可执行文件135是安全的,则电子设备110可以执行(222)可执行文件135。例如,电子设备110可以运行通过校验的应用安装程序,从而在电子设备110上安装对应的应用,以向车辆105的乘员提供对应的应用服务或功能。另一方面,如果电子设备110确定可执行文件135是不安全的,则电子设备110可以放弃执行可执行文件135,而替代地将可执行文件135删除,或者可以采用任何其他安全的方式来处理可执行文件135。
70.通过示例交互过程200,证书管理设备120可以基于车辆(例如,车辆105)的车辆数字证书(例如,车辆数字证书125)来对可执行文件135签名,由此可以对可执行文件135的车辆数字证书125的合法性进行校验,从而可以防止未知开发者的可执行文件在车辆105的电子设备110上运行。例如,在一些实施例中,由于每个车辆(例如,车辆105)可以具有唯一的且独有的车辆数字证书,所以可执行文件135只能通过基于车辆数字证书125的校验,或者与车辆数字证书125有关的证书链(或信任链)的校验后才能在车辆105的电子设备110上执行。如果可执行文件135不能通过这样的校验,则可以被认为是非法的可执行文件,由此可以避免未知的可执行文件被安装到车辆105电子设备110上,从而可以通过车辆数字证书125来加强可执行文件的安全性。
71.图3示出了根据本公开的实施例的在车辆105的电子设备110、电子设备110的安全存储区域115、证书管理设备120、可执行文件管理设备130和应用开发者设备140之间的示例交互过程300。为了论述的目的,下文将参考图1来描述示例交互过程300。然而,应当明白,示例交互过程300也可以适用于基于车辆数字证书来确保可执行文件的安全性,以便在车载电子设备上运行的任何其他场景中。需要说明的是,示例交互过程300可以认为是上文参考图2描述的示例交互过程200的一种示例实现方式。还需要说明的是,在示例交互过程300中,电子设备110与安全存储区域115之间的交互可以理解为是电子设备110的操作系统内的流程,例如不同进程之间的交互。
72.如图3所示,证书管理设备120可以使用车辆105的信息来生成(302)车辆105的车辆数字证书125。在一些实施例中,用于生成车辆数字证书125的车辆105的信息可以是车辆105的唯一标识符。例如,车辆105的唯一标识符可以是车辆105的车辆识别号码vin或车辆标识符vid。然后,证书管理设备120可以将车辆数字证书125(例如,公钥)发送给(304)电子
设备110。在一些实施例中,证书管理设备120还可以向电子设备110提供以车辆数字证书125作为根证书的证书信任链。例如,证书信任链可以包括根证书和一个或多个层级的中间证书。在从证书管理设备120接收(306)到车辆数字证书125之后,电子设备110可以将车辆数字证书125写入到(308)安全存储区域115,并且安全存储区域115可以存储(310)车辆数字证书125。
73.另一方面,应用开发者设备140可以向证书管理设备120发送(312)开发者数字证书申请313,以申请用于证明应用开发者身份的开发者证书,也即为了开发应用程序的目的所使用的证书。在一些实施例中,开发者证书的所有者公钥和证书发行者可以是证书管理设备120所对应的证书中心。在从应用开发者设备140接收到(314)开发者数字证书申请313之后,证书管理设备120可以向应用开发者设备140返回(316)开发者数字证书317。需要说明的是,应用开发者设备140可能仅是在首次针对车辆105开发应用安装程序时,才需要向证书管理设备120申请开发者数字证书317。在从证书管理设备120获得开发者数字证书317之后,应用开发者设备140在后续开发应用安装程序之前,可以无需再次向证书管理设备120申请开发者数字证书317,而是可以继续使用申请开发者数字证书317,直到开发者数字证书317的有效期到期。
74.在从证书管理设备120接收到(318)开发者数字证书317之后,应用开发者设备140可以基于开发者数字证书317(例如,使用与证书对应的私钥)对所开发的应用安装程序签名(320),从而生成原始应用安装程序323。然后,应用开发者设备140可以将原始应用安装程序323提交到(322)可执行文件管理设备130。在从应用开发者设备140接收到(324)原始应用安装程序323之后,可执行文件管理设备130可以基于开发者数字证书317(例如,公钥)来校验(326)原始应用安装程序323,以确定原始应用安装程序323是否基于证书管理设备120颁发的开发者证书被签名。
75.接着,可执行文件管理设备130可以向应用开发者设备140返回(328)提交结果329,并且应用开发者设备140可以从可执行文件管理设备130接收(330)提交结果329。例如,如果可执行文件管理设备130对原始应用安装程序323的校验通过,则可执行文件管理设备130可以向应用开发者设备140发送“提交成功”或其他类似的肯定提交结果。反之,如果可执行文件管理设备130对原始应用安装程序323的校验未通过,则可执行文件管理设备130可以向应用开发者设备140发送“提交不成功”或其他类似的否定提交结果。
76.在原始应用安装程序323提交成功的情况下,可执行文件管理设备130可以将原始应用安装程序323发送给(332)证书管理设备120,以便针对单个车辆105申请基于车辆数字证书125签名的应用安装程序。在从可执行文件管理设备130接收到(334)原始应用安装程序323之后,证书管理设备120可以基于车辆数字证书125对原始应用安装程序323签名(336)。然后,证书管理设备120可以将签名后的应用安装程序339返回(338)可执行文件管理设备130。
77.在车辆105的电子设备110处,为了验证签名后的应用安装程序339,电子设备110可以向安全存储区域115提供(342)用于获取车辆数字证书125和证书链347的消息343。在接收到(344)消息343之后,安全存储区域115可以向电子设备110返回(346)车辆数字证书125和证书链347,因此电子设备110可以从安全存储区域115获取(348)车辆数字证书125和证书链347。需要说明的是,尽管在图3中,电子设备110从安全存储区域115获取车辆数字证
书125和证书链347的过程,被示出在电子设备110从可执行文件管理设备130获得签名后的应用安装程序339之前,但是这仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,电子设备110可以在从可执行文件管理设备130获得签名后的应用安装程序339之后,再从安全存储区域115获取车辆数字证书125和证书链347。
78.在可执行文件管理设备130处,在从证书管理设备120接收到(340)签名后的应用安装程序339之后,可执行文件管理设备130可以将签名后的应用安装程序339发送给(350)电子设备110。在从可执行文件管理设备130接收到(352)签名后的应用安装程序339之后,电子设备110可以基于车辆数字证书125和/或证书链347来校验(354)签名后的应用安装程序339。经过校验,如果电子设备110确认签名后的应用安装程序339是安全的,则电子设备110可以安装(356)签名后的应用安装程序339。相反,经过校验,如果电子设备110确认签名后的应用安装程序339是不安全的,则电子设备110可以避免安装签名后的应用安装程序339。然后,电子设备110可以向可执行文件管理设备130返回(358)应用安装结果359,并且可执行文件管理设备130可以从电子设备110接收(360)应用安装结果359。例如,应用安装结果359可以向可执行文件管理设备130指示应用安装程序339是否安装成功等。
79.通过示例交互过程300,本公开的实施例提供了一种基于车辆自身信息(例如,唯一标识符)的车辆数字证书的可执行文件的签名机制,进而提供了一种用于车辆电子设备的可执行文件的管理机制。本公开的实施例使用自主签发的车辆数字证书作为根证书对可执行文件进行签名,从而在原有的可执行文件的打包签名机制的基础上,增加基于车辆数字证书的安全管理机制。此外,在一些实施例中,在车辆电子设备的可执行文件的验证流程中,签名的可执行文件可以基于车辆数字证书的信任链而被校验。在车辆数字证书的信任链确认后,车辆电子设备可以再使用车辆数字证书对可执行文件的完整性和完全性进行校验,从而加强可执行文件对于车辆电子设备的安全性。
80.在一些实施例中,不同于在示例交互过程300中由证书管理设备对原始可执行文件签名,证书管理设备可以使用车辆自身的安全基础证书(也即,车辆数字证书)生成中间证书,然后将中间证书提供给应用程序开发者,或者向应用程序开发者签发中间证书。应用程序开发者可以使用该签发的中间证书为所开发的可执行文件进行签名。在运行可执行文件之前,车辆电子设备可以先使用基于车辆数字证书的信任链对可执行文件的签名证书进行校验,从而保证可执行文件的签名证书的合法性。此外,还需要说明的是,本公开的实施例提供的是一种通用的可执行文件的私有签名机制,其应用场景可以不限于车载电子设备,而是可以等同地适用于所有可执行文件(例如,二进制程序文件)的数字签名。这样的可执行文件可以包括但不限于linux系统的可执行文件、安卓系统的可执行文件、以及ios系统的可执行文件,等等。
81.图4示出了根据本公开的实施例的在车辆的电子设备处执行的信息处理方法的示例过程400的流程图。在一些实施例中,示例过程400可以由示例环境100中的车辆105的电子设备110来实现,例如可以由电子设备110的处理器或处理单元来实现。在其他实施例中,示例过程400也可以由独立于示例环境100的其他设备来实现,或者可以由示例环境100中的其他设备来实现。为了便于说明,下文将参考图1来论述示例过程400。
82.在框410处,车辆105的电子设备110从可执行文件管理设备130接收可执行文件135,可执行文件135基于车辆105的车辆数字证书125被签名。在框420处,基于车辆数字证
书125来校验可执行文件135,以确定可执行文件135的安全性。在框430处,电子设备110确定可执行文件135是否为安全的。在框440处,如果电子设备110确定可执行文件135是安全的,则电子设备110在电子设备110上执行可执行文件135。
83.在一些实施例中,电子设备110从证书管理设备120接收车辆数字证书125,车辆数字证书125由证书管理设备120基于车辆105的唯一标识符生成。在一些实施例中,如果确定从证书管理设备120接收到车辆数字证书125,电子设备110将车辆数字证书125存储在电子设备110的安全存储区域115中。在一些实施例中,在基于车辆数字证书125来校验可执行文件135时,电子设备110基于以车辆数字证书125作为根证书的证书信任链来校验可执行文件135。在一些实施例中,如果确定从可执行文件135管理设备130接收到可执行文件135,电子设备110从电子设备110的安全存储区域115中取回车辆数字证书125。在一些实施例中,唯一标识符包括车辆105的车辆识别号码(vin)。在一些实施例中,可执行文件135包括应用程序安装文件。
84.图5示出了根据本公开的实施例的在证书管理设备处执行的信息处理方法的示例过程500的流程图。在一些实施例中,示例过程500可以由示例环境100中的证书管理设备120来实现,例如可以由证书管理设备120的处理器或处理单元来实现。在其他实施例中,示例过程500也可以由独立于示例环境100的其他设备来实现,或者可以由示例环境100中的其他设备来实现。为了便于说明,下文将参考图1来论述示例过程500。
85.在框510处,证书管理设备120基于车辆105的信息来生成车辆105的车辆数字证书125。在框520处,证书管理设备120从可执行文件管理设备130接收将在车辆105的电子设备110上执行的原始可执行文件。在框530处,证书管理设备120基于车辆数字证书125对原始可执行文件进行签名,以生成用于发送给电子设备110的可执行文件135。在框540处,证书管理设备120将可执行文件135发送给可执行文件管理设备130。
86.在一些实施例中,证书管理设备120将车辆数字证书125发送给电子设备110。在一些实施例中,在基于车辆数字证书125对原始可执行文件进行签名时,证书管理设备120基于车辆数字证书125来生成中间证书,并且证书管理设备120使用中间证书来对原始可执行文件进行签名。在一些实施例中,如果确定从应用开发者的设备接收到针对开发者数字证书的请求,证书管理设备120基于应用开发者的信息来生成开发者数字证书,并且证书管理设备120将开发者数字证书发送给应用开发者的设备。在一些实施例中,用于生成车辆数字证书125的车辆105的信息包括车辆105的唯一标识符。在一些实施例中,唯一标识符包括车辆105的车辆识别号码(vin)。在一些实施例中,可执行文件135包括应用程序安装文件。
87.图6示出了根据本公开的实施例的在可执行文件管理设备处执行的信息处理方法的示例过程600的流程图。在一些实施例中,示例过程600可以由示例环境100中的可执行文件管理设备130来实现,例如可以由可执行文件管理设备130的处理器或处理单元来实现。在其他实施例中,示例过程600也可以由独立于示例环境100的其他设备来实现,或者可以由示例环境100中的其他设备来实现。为了便于说明,下文将参考图1来论述示例过程600。
88.在框610处,可执行文件管理设备130确定原始可执行文件是否将提供给车辆105的电子设备110。在框620处,如果确定原始可执行文件将提供给车辆105的电子设备110,可执行文件管理设备130将原始可执行文件发送给证书管理设备120。在框640处,从证书管理设备120接收用于发送给电子设备110的可执行文件135,可执行文件135基于车辆105的车
辆数字证书125被签名。在框640处,将可执行文件135发送给电子设备110。
89.在一些实施例中,如果确定从电子设备110接收到针对原始可执行文件的请求,可执行文件管理设备130确定原始可执行文件将提供给电子设备110。在一些实施例中,可执行文件管理设备130从应用开发者的设备接收原始可执行文件,原始可执行文件使用应用开发者的开发者数字证书被签名。然后,可执行文件管理设备130基于开发者数字证书来校验原始可执行文件。在一些实施例中,车辆数字证书125基于车辆105的唯一标识符被生成。在一些实施例中,唯一标识符包括车辆105的车辆识别号码(vin)。在一些实施例中,可执行文件135包括应用程序安装文件。
90.图7示出了可以被用来实现本公开的实施例的示例设备700的框图。在一些实施例中,示例设备700可以是电子设备,其可以用于实施图1中的计算设备125。如图7所示,示例设备700包括中央处理单元(cpu)701,其可以根据存储在只读存储设备(rom)702中的计算机程序指令或者从存储单元708加载到随机访问存储设备(ram)703中的计算机程序指令,来执行各种适当的动作和处理。在ram 703中,还可存储示例设备700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
91.示例设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许示例设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
92.上文所描述的各个过程和处理,例如示例方法或示例过程可由处理单元701来执行。例如,在一些实施例中,各种示例方法或示例过程可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到示例设备700上。当计算机程序被加载到ram 703并由cpu 701执行时,可以执行上文描述的示例方法或示例过程的一个或多个步骤。备选地,在其他实施例中,cpu 701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本文描述的示例方法。
93.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
94.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
95.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
96.如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
97.应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
98.此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。