本公開的各方面總體上涉及使用用于連接的應(yīng)用安全的安全隧道(securetunnel)。
背景技術(shù):
車輛可允許第三方移動應(yīng)用將語音命令集成到車輛的人機(jī)界面(hmi)中。通過這樣做,第三方應(yīng)用可經(jīng)由車輛的hmi來控制。然而,一些第三方應(yīng)用可能不適合在車輛運(yùn)動時使用,或者可能根據(jù)政府規(guī)定而被限制。
技術(shù)實(shí)現(xiàn)要素:
在第一說明性實(shí)施例中,一種系統(tǒng)包括:車輛的計(jì)算平臺,被配置為從執(zhí)行訪問安全功能的移動應(yīng)用的移動裝置接收用于創(chuàng)建計(jì)算平臺與移動裝置之間的安全隧道的請求;從移動應(yīng)用獲得應(yīng)用證書;使用應(yīng)用證書和存儲在計(jì)算平臺的本地策略表中的模塊證書來驗(yàn)證(validate)安全隧道的創(chuàng)建。
在第二說明性實(shí)施例中,一種系統(tǒng)包括:移動裝置,連接到車輛的計(jì)算平臺,并且被配置為:執(zhí)行請求安全功能的移動應(yīng)用;響應(yīng)于移動應(yīng)用對安全功能的訪問,發(fā)送用于創(chuàng)建與計(jì)算平臺的安全隧道的請求;將與移動應(yīng)用相應(yīng)的應(yīng)用證書發(fā)送到計(jì)算平臺以驗(yàn)證安全隧道的創(chuàng)建。
在第三說明性實(shí)施例中,一種方法包括:由連接到計(jì)算平臺的移動裝置發(fā)送用于創(chuàng)建與計(jì)算平臺的安全隧道的請求以執(zhí)行請求安全功能的移動應(yīng)用;接收使用存儲在移動裝置中的應(yīng)用證書和存儲在計(jì)算平臺的本地策略表中的模塊證書執(zhí)行的對與計(jì)算平臺的安全隧道的驗(yàn)證。
根據(jù)本發(fā)明的一個實(shí)施例,應(yīng)用證書與移動應(yīng)用的應(yīng)用標(biāo)識符對應(yīng),并且所述方法還包括:將應(yīng)用證書發(fā)送到計(jì)算平臺以驗(yàn)證所述應(yīng)用標(biāo)識符以及所述應(yīng)用標(biāo)識符尚未過期。
根據(jù)本發(fā)明的一個實(shí)施例,所述方法還包括:將針對應(yīng)用證書的證書請求發(fā)送到遠(yuǎn)程服務(wù)器,其中,所述請求包括移動應(yīng)用的應(yīng)用標(biāo)識符和移動應(yīng)用的名稱;從遠(yuǎn)程服務(wù)器接收證書響應(yīng),其中,所述證書響應(yīng)包括包含了應(yīng)用證書的加密的塊;利用移動裝置的解密庫來使用密鑰對應(yīng)用證書解密。
根據(jù)本發(fā)明的一個實(shí)施例,所述方法還包括:以加密的形式將應(yīng)用證書保存在移動裝置的存儲器中。
附圖說明
圖1示出被配置為將遠(yuǎn)程信息處理服務(wù)提供給車輛的系統(tǒng)的示例圖;
圖2示出應(yīng)用策略架構(gòu)的示例圖;
圖3示出由移動裝置執(zhí)行的移動應(yīng)用利用與車輛的計(jì)算平臺的安全隧道的示例圖;
圖4示出移動應(yīng)用請求應(yīng)用證書的示例圖;
圖5示出用于更新主策略表的示例處理;
圖6示出用于由應(yīng)用遠(yuǎn)程管理系統(tǒng)產(chǎn)生證書的示例處理;
圖7示出用于更新車輛的本地策略表的示例處理;
圖8示出用于移動裝置請求移動應(yīng)用的應(yīng)用證書的示例處理;
圖9示出用于使用本地策略表和移動應(yīng)用的許可控制的證書的示例處理。
具體實(shí)施方式
根據(jù)需要,這里公開了本發(fā)明的具體實(shí)施例。然而,將理解的是,公開的實(shí)施例僅是本發(fā)明的示例,其中,本發(fā)明可以以各種替代形式來實(shí)現(xiàn)。附圖不必按比例繪制;一些特征可被放大或最小化以示出特定組件的細(xì)節(jié)。因此,這里公開的特定結(jié)構(gòu)和功能細(xì)節(jié)不應(yīng)被解釋為具有限制性,而僅僅作為用于教導(dǎo)本領(lǐng)域技術(shù)人員以多種方式利用本發(fā)明的代表性基礎(chǔ)。
由連接到車輛的移動裝置執(zhí)行的移動應(yīng)用可使用車輛的功能。在示例中,用戶可執(zhí)行移動電話上的導(dǎo)航應(yīng)用,其中,在車輛hmi中將該應(yīng)用顯示給用戶。當(dāng)移動應(yīng)用訪問車輛功能時,車輛可使用一個或更多個安全機(jī)制來認(rèn)證應(yīng)用。例如,每個應(yīng)用可與應(yīng)用標(biāo)識符相關(guān)聯(lián),并且車輛可驗(yàn)證應(yīng)用標(biāo)識符被包括在允許與車輛通信的應(yīng)用的標(biāo)識符的列表上。作為另一可能的情況,每個應(yīng)用可與該應(yīng)用被授權(quán)的特定應(yīng)用編程接口(api)調(diào)用相關(guān)聯(lián),并且車輛可驗(yàn)證該應(yīng)用發(fā)送給車輛的命令,以確保該應(yīng)用正在進(jìn)行被指示為可允許的api調(diào)用。
當(dāng)應(yīng)用在車輛中向車輛計(jì)算系統(tǒng)注冊時,該應(yīng)用將應(yīng)用標(biāo)識符提供給車輛。車輛計(jì)算系統(tǒng)隨后可檢查從服務(wù)器下載到車輛計(jì)算平臺的策略表以識別與提供的應(yīng)用標(biāo)識符相關(guān)聯(lián)的應(yīng)用策略。應(yīng)用策略可指示該應(yīng)用是否被允許使用車輛hmi而運(yùn)行,如果允許,則車輛計(jì)算系統(tǒng)向應(yīng)用授權(quán)相應(yīng)的api許可。如果策略表文件不包含針對應(yīng)用標(biāo)識符的策略許可,則車輛計(jì)算系統(tǒng)可向服務(wù)器請求策略表文件更新。由服務(wù)器提供的更新的策略表文件可包括更新的策略許可以及其它應(yīng)用信息。
在一些情況下,移動應(yīng)用可請求對一個或更多個安全車輛功能的訪問。安全車輛功能的示例可包括訪問車輛的音頻或視頻的功能,諸如將信息顯示到車輛屏幕、通過車輛音頻系統(tǒng)提供音頻、使用來自車載麥克風(fēng)的數(shù)據(jù)或計(jì)算平臺的其它媒體功能。作為一些其它示例,安全車輛功能可包括對車輛診斷(諸如發(fā)動機(jī)數(shù)據(jù))的訪問、將信息寫入車輛或?qū)Π▊€人可識別信息(諸如車輛位置)的數(shù)據(jù)的訪問。作為更進(jìn)一步的示例,安全車輛功能可包括對于移動支付、自主駕駛、車輛解鎖、車輛啟動、駕乘共享(ridingsharing)、微出租(micro-rental)以及移動裝置的用戶的個性化設(shè)置的訪問中的一個或更多個的認(rèn)證。
車輛計(jì)算平臺還可通過提供雙向傳輸層安全以使用移動應(yīng)用認(rèn)證車輛計(jì)算平臺來保護(hù)安全車輛功能的使用。傳輸層安全可包括與由移動裝置執(zhí)行的應(yīng)用對應(yīng)的應(yīng)用證書以及與車輛計(jì)算平臺的計(jì)算模塊對應(yīng)的模塊證書。
應(yīng)用可向遠(yuǎn)程服務(wù)器請求應(yīng)用證書。在示例中,應(yīng)用可在對證書或令牌的請求中將其應(yīng)用標(biāo)識符和名稱發(fā)送到服務(wù)器。響應(yīng)于所述請求,服務(wù)器可發(fā)送應(yīng)用證書并且應(yīng)用可接收應(yīng)用證書。為了保護(hù)應(yīng)用證書的安全,服務(wù)器可使用存儲到移動應(yīng)用和服務(wù)器的對稱密鑰來對應(yīng)用證書進(jìn)行編碼,并且應(yīng)用可使用該密鑰對應(yīng)用證書進(jìn)行解密??砂搭A(yù)定義的時限時間(例如,每日、每月、每周等)產(chǎn)生應(yīng)用證書,在該時限時間之后,證書過期,應(yīng)用可被要求向服務(wù)器請求新的證書。在一些情況下,服務(wù)器可預(yù)先產(chǎn)生更新的證書,以允許在當(dāng)前應(yīng)用證書過期之前更新的證書可用于下載。
在策略表中,策略服務(wù)器還可包括與車輛計(jì)算系統(tǒng)的標(biāo)識符相關(guān)聯(lián)的模塊證書。在示例中,策略表可包括與計(jì)算模塊或遠(yuǎn)程信息處理控制單元的模塊序列號對應(yīng)的模塊證書。還可用預(yù)定義的時限時間(例如,每月、每周等)產(chǎn)生模塊證書,在該時限時間之后,車輛可被要求向服務(wù)器請求新的模塊證書。
當(dāng)應(yīng)用被執(zhí)行時,應(yīng)用可請求使用安全車輛功能。例如,應(yīng)用可請求使用車輛的音頻或視頻服務(wù)。如果是這樣,應(yīng)用請求創(chuàng)建車輛與移動裝置之間的安全隧道。當(dāng)應(yīng)用證書和模塊證書兩者都有效并且未過期時,安全隧道可由計(jì)算平臺來驗(yàn)證。一旦驗(yàn)證,則安全隧道可被用于以安全、加密的方式在移動裝置和車輛之間傳輸數(shù)據(jù)。安全隧道可相應(yīng)地向應(yīng)用與車輛之間的通信提供附加移動應(yīng)用認(rèn)證和安全。以下將詳細(xì)討論本公開的其它方面。
圖1示出被配置為向車輛102提供遠(yuǎn)程信息處理服務(wù)的系統(tǒng)100的示例圖。車輛102可包括各種類型的載客車輛,諸如跨界多功能車(cuv)、運(yùn)動多功能車(suv)、卡車、休旅車(rv)、船、飛機(jī)或用于運(yùn)送人或貨物的其它移動機(jī)器。作為一些非限制性可行方式,遠(yuǎn)程信息處理服務(wù)可包括導(dǎo)航、逐向?qū)Ш健④囕v健康報(bào)告、本地商務(wù)搜索、事故報(bào)告和免提通話。在示例中,系統(tǒng)100可包括由密歇根州的迪爾伯恩市的福特汽車公司制造的sync系統(tǒng)。應(yīng)當(dāng)注意,示出的系統(tǒng)100僅是示例,并且可使用更多、更少和/或不同位置的元件。
計(jì)算平臺104可包括被配置為執(zhí)行支持這里所描述的處理的指令、命令和其它例程的一個或更多個處理器106。例如,計(jì)算平臺104可被配置為執(zhí)行車輛應(yīng)用110的指令以提供諸如導(dǎo)航、事故報(bào)告、衛(wèi)星無線電解碼和免提通話的功能。可使用各種類型的計(jì)算機(jī)可讀存儲介質(zhì)112以非易失性方式來保存這樣的指令和其它數(shù)據(jù)。計(jì)算機(jī)可讀介質(zhì)112(也被稱為處理器可讀介質(zhì)或存儲器)包括參與提供可由計(jì)算平臺104的處理器106讀取的指令或其它數(shù)據(jù)的任何非暫時性介質(zhì)(例如,有形介質(zhì))。計(jì)算機(jī)可執(zhí)行指令可從計(jì)算機(jī)程序被編譯或解釋,其中,計(jì)算機(jī)程序是使用各種編程語言和/或技術(shù)(包括但不限于java、c、c++、c#、objectivec、fortran、pascal、javascript、python、perl和pl/sql中的一種或它們的組合)而創(chuàng)建的。
計(jì)算平臺104可設(shè)置有允許車輛乘員與計(jì)算平臺104交互的各種功能。例如,計(jì)算平臺104可包括被配置為通過連接的麥克風(fēng)116從車輛乘員接收語音命令的音頻輸入114以及被配置為從連接的裝置接收音頻信號的輔助音頻輸入118。輔助音頻輸入118可以是物理連接(諸如電線或光纖線纜)或無線輸入(諸如藍(lán)牙音頻連接)。在一些示例中,音頻輸入114可被配置為提供音頻處理能力(諸如低電平信號的前置放大)以及模擬輸入到數(shù)字?jǐn)?shù)據(jù)的轉(zhuǎn)換以供處理器106處理。
計(jì)算平臺104還可將一個或更多個音頻輸出120提供給具有音頻回放功能的音頻輸塊122的輸入。在其它示例中,計(jì)算平臺104可通過使用一個或更多個專用揚(yáng)聲器(未示出)將音頻輸出提供給乘員。音頻模塊122可包括被配置為將音頻內(nèi)容從選擇的音頻源126提供給音頻放大器128以通過車輛揚(yáng)聲器130或耳機(jī)(未示出)回放的輸入選擇器124。作為一些示例,音頻源126可包括解碼的調(diào)幅(am)或調(diào)頻(fm)無線電信號以及來自致密盤(cd)或數(shù)字通用盤(dvd)音頻回放的音頻信號。音頻源126還可包括從計(jì)算平臺104接收到的音頻,諸如由計(jì)算平臺104產(chǎn)生的音頻內(nèi)容、從與計(jì)算平臺104的通用串行總線(usb)子系統(tǒng)132連接的閃存驅(qū)動器解碼的音頻內(nèi)容以及來自輔助音頻輸入118的通過計(jì)算平臺104的音頻內(nèi)容。
計(jì)算平臺104可利用語音接口134將免提接口提供給計(jì)算平臺104。語音接口134可支持根據(jù)與可用命令相關(guān)的語法對經(jīng)由麥克風(fēng)116接收到的音頻進(jìn)行語音識別以及經(jīng)由音頻模塊122輸出的語音提示產(chǎn)生。相比于輸入的語音,語音接口134可利用使用該語法的概率語音識別技術(shù)。在許多情況下,語音接口134可包括供語音識別功能使用的標(biāo)準(zhǔn)用戶配置文件調(diào)整以使語音識別被調(diào)整為平均提供良好的結(jié)果,從而為最大數(shù)量的初始用戶產(chǎn)生積極的體驗(yàn)。在一些情況下,系統(tǒng)可被配置為在準(zhǔn)備好由計(jì)算平臺提供音頻提示并且另一音頻源126被選擇用于回放時暫時靜音或以其它方式超馳由輸入選擇器124指定的音頻源。
計(jì)算平臺104還可從被配置為提供與車輛102的乘員交互的人機(jī)界面(hmi)控制件136接收輸入。例如,計(jì)算平臺104可與被配置為調(diào)用計(jì)算平臺104上的功能的一個或更多個按鈕或其它hmi控制件(例如,方向盤音頻按鈕、即按即說按鈕、儀表板控制件)交互。計(jì)算平臺104還可通過視頻控制器140驅(qū)動一個或更多個顯示器138或與一個或更多個顯示器138通信,其中,一個或更多個顯示器138被配置為將可視輸出提供給車輛乘員。在一些情況下,顯示器138可以是進(jìn)一步被配置為經(jīng)由視頻控制器140接收用戶觸摸輸入的觸摸屏,而在其它情況下,顯示器138可以僅是不具有觸摸輸入能力的顯示器。
計(jì)算平臺104還可被配置為經(jīng)由一個或更多個車載網(wǎng)絡(luò)142與車輛102的其它組件通信。作為一些示例,車載網(wǎng)絡(luò)142可包括車輛控制器局域網(wǎng)(can)、以太網(wǎng)和媒體導(dǎo)向系統(tǒng)傳輸(most)中的一個或更多個。車載網(wǎng)絡(luò)142可允許計(jì)算平臺104與其它車輛102系統(tǒng)(諸如車輛調(diào)制解調(diào)器144(其在一些配置中可能不存在)、被配置為提供當(dāng)前車輛102位置和方向信息的全球定位系統(tǒng)(gps)模塊146以及被配置為與計(jì)算平臺104協(xié)作的各種車輛電子控制單元(ecu)148)通信。作為一些非限制性的可能的情況,車輛ecu148可包括:被配置為提供對發(fā)動機(jī)操作組件(例如,怠速控制組件、燃料輸送組件、排放控制組件等)的控制和對發(fā)動機(jī)操作組件的監(jiān)控(例如,發(fā)動機(jī)診斷代碼的狀態(tài))的動力傳動系統(tǒng)控制模塊、被配置為管理各種電力控制功能(諸如外部照明、內(nèi)部照明、無鑰匙進(jìn)入、遠(yuǎn)程啟動和進(jìn)入狀態(tài)點(diǎn)驗(yàn)證(例如,車輛102的發(fā)動機(jī)蓋、車門和/或行李廂的關(guān)閉狀態(tài))的車身控制模塊、被配置為與遙控鑰匙或其它本地車輛102裝置通信的無線電收發(fā)器模塊、被配置為提供對制熱和制冷系統(tǒng)組件(例如,壓縮機(jī)離合器和鼓風(fēng)機(jī)控制、溫度傳感器信息等)的控制和監(jiān)控的氣候控制管理模塊。
如示出的,音頻模塊122和hmi控制件136可通過第一車載網(wǎng)絡(luò)142a與計(jì)算平臺104通信,車輛調(diào)制解調(diào)器144、gps模塊146和車輛ecu148可通過第二車載網(wǎng)絡(luò)142b來與計(jì)算平臺104通信。在其它示例中,計(jì)算平臺104可與更多或更少的車載網(wǎng)絡(luò)142連接。另外地或可選地,一個或更多個hmi控制件136或其它組件可經(jīng)由與示出的車載網(wǎng)絡(luò)不同的車載網(wǎng)絡(luò)與計(jì)算平臺104連接,或者在不與車載網(wǎng)絡(luò)142連接的情況下直接與計(jì)算平臺104連接。
計(jì)算平臺104還可被配置為與車輛乘員的移動裝置152通信。移動裝置152可以是各種類型的便攜式計(jì)算裝置(諸如蜂窩電話、平板計(jì)算機(jī)、智能手表、膝上型計(jì)算機(jī)、便攜式音樂播放器)或能夠與計(jì)算平臺104通信的其它裝置中的任何裝置。在許多示例中,計(jì)算平臺104可包括被配置為與移動裝置152的可兼容無線收發(fā)器154通信的無線收器150(例如,藍(lán)牙模塊、zigbee收發(fā)器、wi-fi收發(fā)器、irda收發(fā)器、rfid收發(fā)器等)。另外地或可選地,計(jì)算平臺104可通過有線連接(諸如經(jīng)由移動裝置152和usb子系統(tǒng)132之間的usb連接)來與移動裝置152通信。在一些示例中,移動裝置152可由電池供電,而在其它情況下,移動裝置152可經(jīng)由有線連接從車輛102接收電池電力的至少一部分。
通信網(wǎng)絡(luò)156可將通信服務(wù)(諸如分組交換網(wǎng)絡(luò)服務(wù)(例如,互聯(lián)網(wǎng)接入、voip通信服務(wù)))提供給與通信網(wǎng)絡(luò)156連接的裝置。通信網(wǎng)絡(luò)156的示例可包括蜂窩式電話網(wǎng)絡(luò)。移動裝置152可經(jīng)由移動裝置152的裝置調(diào)制解調(diào)器158來將網(wǎng)絡(luò)連接提供給通信網(wǎng)絡(luò)156。為了便于通過通信網(wǎng)絡(luò)156進(jìn)行通信,移動裝置152可與唯一裝置標(biāo)識符(例如,移動裝置碼(mdn)、互聯(lián)網(wǎng)協(xié)議(ip)地址等)關(guān)聯(lián)以標(biāo)識移動裝置152通過通信網(wǎng)絡(luò)156的通信。在一些情況下,計(jì)算平臺104可根據(jù)保存在存儲介質(zhì)112中的配對的裝置數(shù)據(jù)160來識別車輛102的乘員或具有連接到計(jì)算平臺104的許可的裝置。配對的裝置數(shù)據(jù)160可指示:例如,先前與車輛102的計(jì)算平臺104配對的移動裝置152的唯一裝置標(biāo)識符、在配對的裝置和計(jì)算平臺104之間共享的秘密信息(諸如鏈路密鑰)、和/或個人識別碼(pin)以及最近使用的或裝置優(yōu)先級信息,使得計(jì)算平臺104可在沒有用戶介入的情況下自動地重新連接到與配對的裝置數(shù)據(jù)160中的數(shù)據(jù)匹配的移動裝置152。
當(dāng)支持網(wǎng)絡(luò)連接的移動裝置152與計(jì)算平臺104配對時,移動裝置152可允許計(jì)算平臺104使用裝置調(diào)制解調(diào)器158的網(wǎng)絡(luò)連接,以通過通信網(wǎng)絡(luò)156與遠(yuǎn)程信息處理服務(wù)器162或其它遠(yuǎn)程計(jì)算裝置通信。在一個示例中,計(jì)算平臺104可利用移動裝置152的話上數(shù)據(jù)計(jì)劃或數(shù)據(jù)計(jì)劃在計(jì)算平臺104和通信網(wǎng)絡(luò)156之間傳輸信息。另外地或可選地,計(jì)算平臺104可在不使用移動裝置152的通信設(shè)施的情況下,利用車輛調(diào)制解調(diào)器144在計(jì)算平臺104和通信網(wǎng)絡(luò)156之間傳輸信息。
與計(jì)算平臺104相似,移動裝置152可包括被配置為執(zhí)行從移動裝置152的存儲介質(zhì)168加載到移動裝置152的內(nèi)存166的移動應(yīng)用的指令的一個或更多個處理器164。在一些示例中,移動應(yīng)用可被配置為經(jīng)由無線收發(fā)器154與計(jì)算平臺104通信并經(jīng)由裝置調(diào)制解調(diào)器158與遠(yuǎn)程信息處理服務(wù)器162或其它網(wǎng)絡(luò)服務(wù)通信。計(jì)算平臺104還可包括用于便于將移動應(yīng)用的功能經(jīng)由語音接口134集成到可用的命令語法中的裝置鏈路接口172。裝置鏈路接口172還可經(jīng)由車載網(wǎng)絡(luò)142向移動應(yīng)用提供對車輛功能和可用于計(jì)算平臺104的信息的訪問。裝置鏈路接口172的示例可以是由密歇根州的迪爾伯恩市的福特汽車公司提供的sync系統(tǒng)的syncapplink組件。
圖2示出應(yīng)用策略架構(gòu)200的示例圖。如示出的,架構(gòu)200包括具有經(jīng)由通信網(wǎng)絡(luò)156與后端服務(wù)器218通信的策略管理器210的車輛102。策略管理器210可被配置為保存本地策略表206和記錄的應(yīng)用使用208。移動裝置152可執(zhí)行與應(yīng)用標(biāo)識符204關(guān)聯(lián)的并包括便于通過通信網(wǎng)絡(luò)156與后端服務(wù)器218通信的應(yīng)用代理212的移動應(yīng)用202。后端服務(wù)器218可被配置為提供對密鑰管理系統(tǒng)220和保存主策略表224的應(yīng)用遠(yuǎn)程管理系統(tǒng)222的訪問。如下面詳細(xì)解釋的,遠(yuǎn)程管理系統(tǒng)222可被配置為經(jīng)由移動裝置152的應(yīng)用代理212將策略表更新214提供給車輛102。
移動應(yīng)用202可以是安裝到移動裝置152以與車輛102的計(jì)算平臺104一起使用的應(yīng)用。在示例中,移動應(yīng)用202可通過將控制移動應(yīng)用202的功能的語音命令與計(jì)算平臺104的語音接口134集成來將功能添加到計(jì)算平臺104。移動應(yīng)用202還可被配置為利用計(jì)算平臺104的用戶接口功能(諸如顯示器138或車輛揚(yáng)聲器130)來將信息提供給車輛乘員。在示例中,移動應(yīng)用202可以是導(dǎo)航應(yīng)用或流媒體播放器應(yīng)用。作為一些其它的可能情況,移動應(yīng)用202還可通過將從車輛102獲得的信息傳送給遠(yuǎn)程服務(wù)器以進(jìn)行分析來提供診斷或車輛報(bào)告功能。
應(yīng)用標(biāo)識符204可以是分配給移動應(yīng)用202的唯一碼或字母數(shù)字串。在一些情況下,應(yīng)用標(biāo)識符204可以是隨機(jī)產(chǎn)生的值。在其它情況下,可由被配置為管理應(yīng)用標(biāo)識符204的授權(quán)機(jī)構(gòu)(authority)將應(yīng)用標(biāo)識符204分配給移動應(yīng)用202。應(yīng)用名稱205可以是應(yīng)用202的友好的用戶可讀名稱,該名稱可由應(yīng)用202用于在用戶界面中或在由應(yīng)用標(biāo)識符204標(biāo)識的應(yīng)用可能是不理想的其它情況下進(jìn)行標(biāo)識。
本地策略表206可被配置為存儲詳述車輛102中的應(yīng)用許可的密鑰信息。因此,本地策略表206可定義在計(jì)算平臺104和給定的移動應(yīng)用202之間允許的交互類型。在示例中,本地策略表206可包括根據(jù)分配給移動應(yīng)用202的應(yīng)用標(biāo)識符204對應(yīng)(keyed)的移動應(yīng)用的許可信息。
許可信息可包括例如被認(rèn)為允許由移動應(yīng)用202使用的api的列表和車輛102系統(tǒng)的列表。作為一些特定示例,本地策略表206可包括針對計(jì)算平臺104的允許由移動應(yīng)用202使用的遠(yuǎn)程程序調(diào)用(諸如使用音頻模塊122流傳輸音頻、使用顯示器138、從hmi控制件136接收輸入或搜索車輛102的當(dāng)前gps位置)的許可信息。作為一些其它示例,本地策略表206可包括針對移動應(yīng)用202是否具有執(zhí)行環(huán)境切換并從另一應(yīng)用獲取焦點(diǎn)(例如,中斷無線電以提供消息)的許可的許可信息。作為另一示例,本地策略表206可包括針對移動應(yīng)用202是否可執(zhí)行計(jì)算平臺104上的腳本的許可信息。作為另一示例,本地策略表206可包括針對哪個車輛102功能可在車輛102停車或靜止時被使用并且哪個車輛102功能可在車輛102處于運(yùn)動時被使用的許可信息。本地策略表206還可包括用于配置車輛102如何并且在何時請求對本地策略表206的更新以及關(guān)于如何聯(lián)系更新的本地策略表206的源(例如,后端服務(wù)器218的url或其它地址)的信息。
記錄的應(yīng)用使用208可包括記錄的api使用和記錄的車輛102系統(tǒng)使用或者記錄的針對移動應(yīng)用202控制許可的其它車輛102功能。因此,記錄的應(yīng)用使用208可包括收集的關(guān)于用戶在車輛102中如何使用移動應(yīng)用202的使用數(shù)據(jù)。與本地策略表206一樣,可根據(jù)分配給移動應(yīng)用202的應(yīng)用標(biāo)識符204來對應(yīng)所記錄的應(yīng)用使用208。在一些示例中,記錄的應(yīng)用使用208可被包括在本地策略表206內(nèi),而在其它示例中,記錄的應(yīng)用使用208可與本地策略表206分開地保存。作為記錄的信息的一些特定示例,記錄的應(yīng)用使用208可包括移動應(yīng)用202的運(yùn)行嘗試、由移動應(yīng)用202經(jīng)歷的錯誤(例如,許可拒絕錯誤、意外錯誤(諸如由于編程錯誤而導(dǎo)致的錯誤)等)、記錄的hmi使用信息(例如,方向盤控制使用、語音命令使用等)以及在移動應(yīng)用202通過車輛102hmi提供音頻期間的可聽時間。
策略管理器210可被配置為管理車輛102的計(jì)算平臺104的移動應(yīng)用202許可。在示例中,策略管理器210可保存本地策略表206。當(dāng)移動應(yīng)用202被啟動或激活時,策略管理器210可基于本地策略表206識別與移動應(yīng)用202相關(guān)聯(lián)的許可。此外,當(dāng)移動應(yīng)用202與計(jì)算平臺104交互時,策略管理器210可將移動應(yīng)用202對車輛api和車輛102系統(tǒng)的使用記錄在記錄的應(yīng)用使用208中。
計(jì)算平臺104的策略管理器210還可被配置為管理與后端服務(wù)器218的通信。根據(jù)策略管理器210和后端服務(wù)器218之間的請求和響應(yīng),策略管理器210可被配置為啟動與后端服務(wù)器218的通信。在示例中,策略管理器210可將消息提供給后端服務(wù)器218以向后端服務(wù)器218通知車輛102已啟動并在監(jiān)聽信息。在一些情況下,后端服務(wù)器218可將未請求的消息發(fā)送給特定車輛102并將其推送到云端。然而,該消息可能不發(fā)送給車輛102,直到計(jì)算平臺104連接后端服務(wù)器218并向后端服務(wù)器218請求該消息為止。
策略管理器210可被配置為請求后端服務(wù)器218向車輛102提供對本地策略表206的更新。例如,如果具有不在本地策略表206中的應(yīng)用標(biāo)識符204的移動應(yīng)用202嘗試與車輛102的計(jì)算平臺104集成,則策略管理器210可請求對本地策略表206的更新。
策略管理器210還可被配置為將記錄的應(yīng)用使用208提供給后端服務(wù)器218以用于遠(yuǎn)程查閱和處理。為此,策略管理器210可提供包括由車輛102存儲的記錄的應(yīng)用使用208信息的應(yīng)用使用更新216消息。這可以允許系統(tǒng)在考慮到移動應(yīng)用202的明顯的目的的情況下核實(shí)移動應(yīng)用202適當(dāng)?shù)乩胊pi和車輛102系統(tǒng)。例如,導(dǎo)航移動應(yīng)用202周期性地請求車輛102的速度信息可能是合理的,但是互聯(lián)網(wǎng)無線電移動應(yīng)用202這樣做可能是不合理的。
應(yīng)用代理212可被配置為便于策略管理器210與后端服務(wù)器218的通信。在示例中,應(yīng)用代理212可包括編譯到或鏈接到移動應(yīng)用202中并提供允許策略管理器210通過移動應(yīng)用202與后端服務(wù)器218通信的功能的庫模塊或其它代碼模塊。策略管理器210可相應(yīng)地利用應(yīng)用代理212經(jīng)由后端服務(wù)器218請求策略表更新214,將應(yīng)用使用更新216提供給后端服務(wù)器218,從后端服務(wù)器218接收策略表更新214,并協(xié)商在移動裝置152和計(jì)算平臺104之間創(chuàng)建安全隧道。策略表更新214可包括例如用于代替由策略管理器210當(dāng)前存儲的本地策略表206的新的本地策略表206,或者用于增加本地策略表206的當(dāng)前條目的對現(xiàn)有本地策略表206的更新。應(yīng)用代理212還可包括可用于與后端服務(wù)器218通信的其它功能,諸如在計(jì)算平臺104和后端服務(wù)器218之間傳遞加密的消息的能力。因此,在一些情況下,這里討論的與針對應(yīng)用策略的移動應(yīng)用202的功能相關(guān)的操作通??捎梢苿討?yīng)用202的應(yīng)用代理212代碼來實(shí)現(xiàn)。
車輛102的無線收發(fā)器150可連接到配對的移動裝置152(例如,經(jīng)由藍(lán)牙連接、經(jīng)由usb連接等),使得移動裝置152的通信功能可被用于允許計(jì)算平臺104經(jīng)由通信網(wǎng)絡(luò)156與后端服務(wù)器218通信。移動裝置152可相應(yīng)地經(jīng)由移動裝置152的蜂窩數(shù)據(jù)計(jì)劃來利用通信網(wǎng)絡(luò)156(例如,將基于tcp/ip的通信功能提供給計(jì)算平臺104)。另外地或可選地,計(jì)算平臺104可利用車輛調(diào)制解調(diào)器144來在處理器106和通信網(wǎng)絡(luò)156之間傳輸數(shù)據(jù)。經(jīng)由通信網(wǎng)絡(luò)156發(fā)送到車輛102的消息可在云端中排隊(duì),直到與車輛102的連接能夠被建立為止或者直到該消息過期為止。在示例中,排隊(duì)和消息過期功能可經(jīng)由后端服務(wù)器218來實(shí)現(xiàn)。通信網(wǎng)絡(luò)156消息排隊(duì)功能還可用作針對服務(wù)器拒絕服務(wù)攻擊的第一防御線。
后端服務(wù)器218可被配置為用作通信網(wǎng)絡(luò)156和內(nèi)部應(yīng)用管理基礎(chǔ)設(shè)施之間的網(wǎng)關(guān)。在示例中,可由車輛102的制造商管理內(nèi)部應(yīng)用管理基礎(chǔ)設(shè)施,而在另一示例中,可由另一方(諸如應(yīng)用認(rèn)證實(shí)體)管理內(nèi)部應(yīng)用管理基礎(chǔ)設(shè)施。后端服務(wù)器218可被配置為用作防火墻以在后端服務(wù)器218后方的系統(tǒng)(諸如密鑰管理系統(tǒng)220和應(yīng)用遠(yuǎn)程管理系統(tǒng)222)和在內(nèi)部應(yīng)用管理基礎(chǔ)設(shè)施之外的車輛102之間驗(yàn)證、變換和路由消息。
密鑰管理系統(tǒng)220可包括被配置為提供用于將消息發(fā)送到后端服務(wù)器218并從后端服務(wù)器218接收消息的安全消息服務(wù)的一個或更多個服務(wù)器或其它計(jì)算裝置。例如,密鑰管理系統(tǒng)220可認(rèn)證、解密、驗(yàn)證輸入消息,將解密并驗(yàn)證的消息轉(zhuǎn)發(fā)到適當(dāng)?shù)膬?nèi)部目的地,并提供輸出消息安全以對輸出數(shù)據(jù)加密和簽名,并確保當(dāng)輸出消息由預(yù)期的車輛102的計(jì)算平臺104接收到時輸出消息通過安全檢查。在示例中,密鑰管理系統(tǒng)220可通過將消息標(biāo)識符分配給輸出消息并核實(shí)適當(dāng)?shù)南?biāo)識符被包括在輸入消息中來驗(yàn)證消息以防重放攻擊。
當(dāng)后端服務(wù)器218接收到消息或請求時,后端服務(wù)器218將消息轉(zhuǎn)發(fā)到密鑰管理系統(tǒng)220,該消息在密鑰管理系統(tǒng)220中經(jīng)過認(rèn)證、解密和驗(yàn)證。如果這些操作是成功的,后端服務(wù)器218可從該消息獲得消息有效負(fù)載,并根據(jù)由該消息標(biāo)識的服務(wù)類型將該消息路由到適當(dāng)?shù)膽?yīng)用。在示例中,策略表消息(例如,對策略表更新214的請求或?qū)θ缦旅嬗懻摰淖C書的請求)可與指示消息將被路由到應(yīng)用遠(yuǎn)程管理系統(tǒng)222的服務(wù)類型相關(guān)聯(lián)。
應(yīng)用遠(yuǎn)程管理系統(tǒng)222可包括被配置為從車輛102接收應(yīng)用使用更新216以及將策略表更新214提供給車輛102的一個或更多個服務(wù)器或者其它計(jì)算裝置。在示例中,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可在應(yīng)用使用更新216消息中接收車輛102的本地策略表206的快照。本地策略表206可包括針對已與車輛102交互的移動應(yīng)用202的記錄的應(yīng)用使用208。應(yīng)用遠(yuǎn)程管理系統(tǒng)222可從接收到的本地策略表206將記錄的應(yīng)用使用208存檔,并可通過向車輛102提供策略表更新214來更新由車輛102存儲的應(yīng)用許可。策略表更新214可基于由應(yīng)用遠(yuǎn)程管理系統(tǒng)222保存在最新移動應(yīng)用202許可的主策略表224中的最新信息。在示例中,移動應(yīng)用202的每個版本(例如,版本2與版本2.1相比)可與主策略表224中的其自己的許可信息相關(guān)聯(lián)。特別地,在策略表更新214中提供給車輛102的主策略表224信息可能缺少任何記錄的應(yīng)用使用208數(shù)據(jù),但可包括針對根據(jù)接收到的應(yīng)用使用更新216的本地策略表206識別為由車輛102使用的任何移動應(yīng)用202的最新許可。
在傳輸層安全(tls)系統(tǒng)中,服務(wù)器可將公共密鑰發(fā)送到客戶端,并且客戶端可通過將其公共密鑰發(fā)送到服務(wù)器來進(jìn)行響應(yīng)。公共密鑰可被存儲在被稱為證書的數(shù)據(jù)元素中,而私人密鑰可被稱為密鑰。tls使用證書來描述使用的公共和私人密鑰對。在非限制性示例中,tls可使用由x.509標(biāo)準(zhǔn)定義的證書。公共和私人密鑰對可成對產(chǎn)生。如果公共密鑰被用于對數(shù)據(jù)加密,則僅該公共和私人密鑰對中的私人密鑰可對其解密;同樣地,如果私人密鑰被用于加密,則公共密鑰必須被用于解密。
tls可被用于提供對于由移動裝置152執(zhí)行的移動應(yīng)用202和車輛102的計(jì)算平臺104之間的通信的訪問控制和密碼安全。本地策略表206可包括與車輛計(jì)算平臺104對應(yīng)的模塊證書226。模塊證書226可包含用于移動應(yīng)用202和計(jì)算平臺104之間的tls通信的計(jì)算平臺104端的公共密鑰。類似地,安裝到移動裝置152的移動應(yīng)用202可利用與移動應(yīng)用202對應(yīng)的并包含用于tls通信的移動裝置152端的公共密鑰的應(yīng)用證書228。
圖3示出由移動裝置152執(zhí)行的移動應(yīng)用202利用與車輛102的計(jì)算平臺104的安全隧道302的示例圖300。安全隧道302可以是使用移動應(yīng)用202的應(yīng)用證書228和計(jì)算平臺104的模塊證書226創(chuàng)建的在移動應(yīng)用202和計(jì)算平臺104之間的安全連接。
在示例中,移動裝置152可操作為tls服務(wù)器,計(jì)算平臺104可操作為tls客戶端裝置。在這樣的示例,計(jì)算平臺104可連接到移動裝置152以請求安全連接。例如,當(dāng)在本地策略表206中所指示的移動應(yīng)用202請求使用計(jì)算平臺104的音頻/視頻或其它媒體功能時,計(jì)算平臺104可請求創(chuàng)建針對在本地策略表206中所指示的移動應(yīng)用202的安全隧道。
響應(yīng)于請求創(chuàng)建安全隧道302,移動裝置152可將移動應(yīng)用202的應(yīng)用證書228發(fā)送到計(jì)算平臺104。在示例中,計(jì)算平臺104可在繼續(xù)執(zhí)行之前連接應(yīng)用遠(yuǎn)程管理系統(tǒng)222以確認(rèn)應(yīng)用證書228的有效性。在其它示例中,計(jì)算平臺104可在不詢問提供應(yīng)用證書228的授權(quán)機(jī)構(gòu)進(jìn)行確認(rèn)的情況下,驗(yàn)證應(yīng)用證書228的有效期限或其它方面。
為了創(chuàng)建安全隧道302,移動裝置152和計(jì)算平臺104可執(zhí)行握手過程以產(chǎn)生用于隨后在會話期間對數(shù)據(jù)進(jìn)行加密和解密的會話密鑰。在示例中,可使用diffie-hellman密鑰交換來產(chǎn)生會話密鑰。在另一示例中,可通過使用應(yīng)用證書228的公共密鑰對隨機(jī)數(shù)進(jìn)行加密以供移動裝置52使用與應(yīng)用證書228相關(guān)聯(lián)的私人密鑰進(jìn)行解密來產(chǎn)生會話密鑰。一旦產(chǎn)生會話密鑰,可建立安全隧道302。安全密鑰可相應(yīng)地用于對數(shù)據(jù)的對稱加密和解密,直到安全隧道302關(guān)閉為止。
圖4示出移動應(yīng)用202請求應(yīng)用證書228的示例圖400??砂搭A(yù)定義時限時間(例如,每月、每周等)產(chǎn)生應(yīng)用證書228,在該時限時間之后,移動應(yīng)用202可被要求請求新的證書。例如,應(yīng)用證書228可指示時限時間,在時限時間之后,應(yīng)用證書228可不再被用于移動裝置152和車輛102之間的tls通信。
移動應(yīng)用202可向遠(yuǎn)程服務(wù)器請求應(yīng)用證書228。例如,如果當(dāng)前存儲的針對移動應(yīng)用202的應(yīng)用證書228過期,或者如果移動裝置152當(dāng)前沒有存儲針對移動應(yīng)用202的應(yīng)用證書228,則移動應(yīng)用202可請求新的應(yīng)用證書228。在示出的示例中,遠(yuǎn)程服務(wù)器可以是應(yīng)用遠(yuǎn)程管理系統(tǒng)222,但是其它示例也是可能的。
移動應(yīng)用202可將其應(yīng)用名稱205和應(yīng)用標(biāo)識符204編碼為證書請求404(例如,經(jīng)由應(yīng)用代理212),并可將證書請求404發(fā)送到應(yīng)用遠(yuǎn)程管理系統(tǒng)222以請求新的應(yīng)用證書228。在一些情況下,可由移動裝置152對證書請求404進(jìn)行加密以用于傳輸,并可由移動應(yīng)用202通過通信網(wǎng)絡(luò)156將證書請求404從移動裝置152發(fā)送到應(yīng)用遠(yuǎn)程管理系統(tǒng)222。
應(yīng)用遠(yuǎn)程管理系統(tǒng)222可接收證書請求404,并可對證書請求404進(jìn)行解密。在示例中,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可利用密鑰管理系統(tǒng)220的服務(wù)以對證書請求404進(jìn)行解密。應(yīng)用遠(yuǎn)程管理系統(tǒng)222可核實(shí)應(yīng)用名稱205是針對應(yīng)用標(biāo)識符204的正確的應(yīng)用名稱205,如果正確,則應(yīng)用遠(yuǎn)程管理系統(tǒng)222可產(chǎn)生新的應(yīng)用證書228。新的應(yīng)用證書228可被產(chǎn)生為包括與包括在與應(yīng)用標(biāo)識符204對應(yīng)的主策略表224中的當(dāng)前模塊證書226配對的密鑰。
為了確保應(yīng)用證書228在從應(yīng)用遠(yuǎn)程管理系統(tǒng)222傳送到移動裝置152期間的安全,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可對應(yīng)用證書228進(jìn)行加密。在示例中,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可實(shí)現(xiàn)塊(blob)加密器406,其中,塊加密器406被配置為將應(yīng)用證書228的內(nèi)容加密為加密的塊410以防止應(yīng)用證書228在傳送中被捕獲。在示例中,可使用由應(yīng)用遠(yuǎn)程管理系統(tǒng)222已知的對稱密鑰402執(zhí)行加密以與移動應(yīng)用202關(guān)聯(lián)(例如,根據(jù)應(yīng)用標(biāo)識符204進(jìn)行索引等)。密鑰402可在應(yīng)用202的應(yīng)用代理212內(nèi)被編碼,并可用于解密。例如,每個不同的移動應(yīng)用標(biāo)識符204可被提供給其自己特定的應(yīng)用代理212對象文件,其中,該對象文件包括專用于移動應(yīng)用標(biāo)識符204的對稱密鑰402。對象文件隨后可被編譯到移動應(yīng)用202中。響應(yīng)于證書請求404,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可在證書響應(yīng)408中將加密的塊410發(fā)送到移動裝置152。
移動應(yīng)用202可接收證書響應(yīng)408,并可使用應(yīng)用代理212的解密庫對加密的塊410進(jìn)行解密以獲得新的應(yīng)用證書228。在示例中,解密庫可使用密鑰402,密鑰402被硬編碼到移動應(yīng)用202并由塊加密器406用于創(chuàng)建加密的塊410。一旦被接收和解密,新的應(yīng)用證書228可被安裝到移動裝置152的存儲器168并可被移動應(yīng)用202用于創(chuàng)建與計(jì)算平臺104的安全隧道302。在許多示例中,應(yīng)用證書228可以以加密的形式保存在存儲器168中以確保應(yīng)用證書228在靜置時的安全。
圖5示出用于更新主策略表224的示例處理500。例如,可由應(yīng)用遠(yuǎn)程管理系統(tǒng)222執(zhí)行處理500。
在操作502,應(yīng)用遠(yuǎn)程管理系統(tǒng)222接收對于移動應(yīng)用202的應(yīng)用標(biāo)識符204的請求。該請求還可包括諸如由移動應(yīng)用202請求使用的許可、移動應(yīng)用202應(yīng)該被歸類的類型以及移動應(yīng)用202的供應(yīng)商的附加信息。
在操作504,應(yīng)用遠(yuǎn)程管理系統(tǒng)222響應(yīng)于所述請求產(chǎn)生主策略表224中的條目。產(chǎn)生的條目可指示請求的許可和其它信息,并還可指定與移動應(yīng)用202關(guān)聯(lián)的應(yīng)用標(biāo)識符204。在一些示例中,應(yīng)用標(biāo)識符204可以是隨機(jī)產(chǎn)生的值或遞增產(chǎn)生的值(例如,下一個可用號或序列標(biāo)識符)。
在操作506,應(yīng)用遠(yuǎn)程管理系統(tǒng)222將應(yīng)用標(biāo)識符204發(fā)送到請求者。例如,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可產(chǎn)生與在操作502接收到的信息相關(guān)聯(lián)的應(yīng)用標(biāo)識符204,并且可將產(chǎn)生的應(yīng)用標(biāo)識符204提供給應(yīng)用開發(fā)者用于與移動應(yīng)用202相關(guān)聯(lián)。在操作506之后,處理500結(jié)束。
圖6示出由應(yīng)用遠(yuǎn)程管理系統(tǒng)222產(chǎn)生證書的示例處理600。在操作602,應(yīng)用遠(yuǎn)程管理系統(tǒng)222產(chǎn)生針對車輛102的計(jì)算平臺104的模塊證書226。在示例中,可針對每個車輛102將模塊證書226單獨(dú)對應(yīng)到車輛102的唯一標(biāo)識符,諸如車輛102的vin和/或車輛102的計(jì)算平臺104的唯一標(biāo)識符(例如,sync模塊的序列號)。在示例中,模塊證書226包含用于移動應(yīng)用202和計(jì)算平臺104之間的tls通信的計(jì)算平臺104端的密鑰。
在操作604,應(yīng)用遠(yuǎn)程管理系統(tǒng)222確定模塊密鑰產(chǎn)生時限是否已過期。在示例中,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可被配置為周期性重新產(chǎn)生與車輛計(jì)算平臺104對應(yīng)的模塊證書226。例如,模塊證書226可按預(yù)定義的時限時間(例如,每月、每周等)發(fā)布,在該時限時間之后,車輛102可被要求向應(yīng)用遠(yuǎn)程管理系統(tǒng)222請求新的證書。因此,可由應(yīng)用遠(yuǎn)程管理系統(tǒng)222預(yù)先產(chǎn)生新的模塊證書226以在車輛102請求時可用。(在其它示例中,模塊證書226可響應(yīng)于車輛102的請求而按需產(chǎn)生。)如果模塊密鑰產(chǎn)生時限已過期,則控制進(jìn)行到操作602。否則,控制進(jìn)行到操作606。
在操作606,應(yīng)用遠(yuǎn)程管理系統(tǒng)222確定針對移動應(yīng)用202的任何應(yīng)用標(biāo)識符204是否已被撤銷。例如,如果應(yīng)用202被識別為具有不希望的特性,或者如果存在應(yīng)用202已被破解(compromise)的可能性,則應(yīng)用遠(yuǎn)程管理系統(tǒng)222可撤銷應(yīng)用202的應(yīng)用標(biāo)識符204。在這樣的情況下,新的應(yīng)用標(biāo)識符204可被分配給應(yīng)用202以允許請求應(yīng)用202的新版本。這樣,將不會針對撤銷的應(yīng)用標(biāo)識符204產(chǎn)生額外的應(yīng)用證書228,因此,一旦其當(dāng)前應(yīng)用證書228過期,則具有應(yīng)用標(biāo)識符204的移動應(yīng)用202將無法繼續(xù)利用計(jì)算平臺104。如果應(yīng)用標(biāo)識符204已被撤銷,則控制進(jìn)行到操作608。否則,控制進(jìn)行到操作610。
在操作608,應(yīng)用遠(yuǎn)程管理系統(tǒng)222產(chǎn)生新的應(yīng)用標(biāo)識符204。在示例中,應(yīng)用遠(yuǎn)程管理系統(tǒng)22可更新在主策略表224中的指示應(yīng)用202的應(yīng)用標(biāo)識符204的條目。因此,為了用戶在車輛102中繼續(xù)使用應(yīng)用202,用戶將下載具有新的應(yīng)用標(biāo)識符204的應(yīng)用202的新版本。
在操作610,應(yīng)用遠(yuǎn)程管理系統(tǒng)222確定應(yīng)用密鑰產(chǎn)生時限是否已過期。在示例中,應(yīng)用遠(yuǎn)程管理系統(tǒng)222可被配置為周期性地重新產(chǎn)生與應(yīng)用202對應(yīng)的應(yīng)用證書228。例如,針對添加到主策略表224的新的應(yīng)用202,針對在主策略表224中具有新的應(yīng)用標(biāo)識符204的應(yīng)用202,和/或針對在主策略表224中的現(xiàn)有應(yīng)用202條目,可執(zhí)行上述操作。應(yīng)該注意,應(yīng)用證書228的更新可以比應(yīng)用證書228的時限時間更頻繁地執(zhí)行。例如,應(yīng)用證書228可被設(shè)置為具有五天或七天的期限,但是應(yīng)用證書228可每晚重新產(chǎn)生。因此,移動裝置152能夠在應(yīng)用證書228過期之前請求更新的應(yīng)用證書228(例如,每天嘗試請求在幾天后過期的證書),但是還能夠在應(yīng)用證書228上具有額外的時間,以繼續(xù)使用超出針對應(yīng)用證書228的輪詢和重新產(chǎn)生頻率而被授權(quán)的應(yīng)用202。如果應(yīng)用密鑰產(chǎn)生時限已過期,則控制進(jìn)行到操作612。否則,控制進(jìn)行到操作604。
圖7示出用于更新車輛102的本地策略表206的示例處理700。例如,可由計(jì)算平臺104的策略管理器201來執(zhí)行處理700。
在操作702,計(jì)算平臺104確定是否指示對本地策略表206的更新。在示例中,由于計(jì)算平臺104識別出移動應(yīng)用202app的應(yīng)用標(biāo)識符204在本地策略表206中沒有被列出,因此計(jì)算平臺104可確定本地策略表206應(yīng)該被更新。在另一示例中,當(dāng)用戶啟動請求本地策略表206更新的移動應(yīng)用202并且策略管理器210在初始請求序列期間還未接收到更新的本地策略表206時,計(jì)算平臺104可確定本地策略表206應(yīng)該被更新。在另一示例中,在以下情況中的一個或更多個情況之后,計(jì)算平臺104可確定本地策略表206應(yīng)該被更新:“n”個點(diǎn)火周期(例如,其中的“n”在本地策略表206中被定義)、在在車輛102里程表上已記錄了“m”公里之后(例如,其中的“m”在本地策略表206中被定義)、在“o”運(yùn)行時間之后(例如,其中的“o”在本地策略表206中被定義)。
此外,可基于包括在本地策略表206中的模塊證書226的過期來指示對本地策略表206的更新。在示例中,當(dāng)使用過期的模塊證書226來嘗試創(chuàng)建安全隧道302時,模塊證書226的過期可觸發(fā)對本地策略表206的更新。
如果計(jì)算平臺104確定更新本地策略表206,則控制進(jìn)行到操作704。否則,控制保持在操作702。
在操作704,計(jì)算平臺104將應(yīng)用使用更新216消息發(fā)送到應(yīng)用遠(yuǎn)程管理系統(tǒng)222。應(yīng)用使用更新216可包括當(dāng)前本地策略表206,并可根據(jù)包括在本地策略表206中的地址信息(例如,更新服務(wù)器url)被發(fā)送到該地址。應(yīng)用使用更新216或當(dāng)前本地策略表206還可包括記錄的應(yīng)用使用208。應(yīng)用使用更新216可經(jīng)由后端服務(wù)器218被發(fā)送到應(yīng)用遠(yuǎn)程管理系統(tǒng)222,并可與指示消息將被路由到應(yīng)用遠(yuǎn)程管理系統(tǒng)222的服務(wù)類型相關(guān)聯(lián)。
在操作706,計(jì)算平臺104從后端服務(wù)器218接收策略表更新214消息。策略表更新214可包括用于增加或替換車輛102的當(dāng)前本地策略表206的新的本地策略表206。更新后的本地策略表206可包括針對包括在被發(fā)送到后端服務(wù)器的本地策略表206中的移動應(yīng)用202的最新應(yīng)用許可以及針對計(jì)算平臺104的最新模塊證書226。然而,新的本地策略表206可不包括任何記錄的應(yīng)用使用208。
在操作708,計(jì)算平臺104應(yīng)用更新后的本地策略表206。因此,更新后的應(yīng)用許可變?yōu)榭捎?。在操?08之后,處理700返回到操作702。
圖8示出用于移動裝置153請求移動應(yīng)用202的應(yīng)用證書228的示例處理800。在示例中,可由安裝了移動應(yīng)用202的移動裝置152執(zhí)行處理800。
在操作802,移動裝置152確定是否請求移動應(yīng)用202的應(yīng)用證書228。例如,如果當(dāng)前存儲的移動應(yīng)用202的應(yīng)用證書228過期,或者如果移動裝置152當(dāng)前未存儲與應(yīng)用標(biāo)識符204對應(yīng)的移動應(yīng)用202的應(yīng)用證書228,則移動應(yīng)用212的應(yīng)用代理212可請求新的應(yīng)用證書228。在另一示例中,移動應(yīng)用202的應(yīng)用代理212可周期性地(例如,每天)請求新的應(yīng)用證書228。如果移動裝置152確定請求應(yīng)用證書228,則控制進(jìn)行到操作804。否則,控制保持在操作802。
在操作804,移動裝置152發(fā)送證書請求404。在示例中,移動應(yīng)用202的應(yīng)用代理212可將移動應(yīng)用202的應(yīng)用標(biāo)識符204和應(yīng)用名稱205編碼為證書請求404。應(yīng)用代理212可對證書請求404加密以用于通過通信網(wǎng)絡(luò)156傳輸,并可通過通信網(wǎng)絡(luò)156將證書請求404從移動裝置152發(fā)送到應(yīng)用遠(yuǎn)程管理系統(tǒng)222。
在操作806,移動裝置152接收證書響應(yīng)408。在示例中,移動裝置152可從響應(yīng)于該請求的應(yīng)用遠(yuǎn)程管理系統(tǒng)222接收證書響應(yīng)408,并可使用在應(yīng)用代理212中編碼的密鑰412來對加密的塊410進(jìn)行解密以獲得新的應(yīng)用證書228。證書響應(yīng)408可包括新的應(yīng)用證書228。
在操作808,移動裝置152安裝應(yīng)用證書228。一旦接收到應(yīng)用證書228,移動裝置152可將應(yīng)用證書228安裝到移動裝置152的存儲器168,并且應(yīng)用證書228可被移動應(yīng)用202使用以用于創(chuàng)建與計(jì)算平臺104的安全隧道302。在許多示例中,應(yīng)用證書228可以以加密的形式被保存在存儲器168中以確保應(yīng)用證書228的安全。在操作808之后,處理800返回到操作802。
圖9示出用于使用本地策略表206和移動應(yīng)用202的許可控制的證書的示例處理900。與處理600一樣,例如,可由計(jì)算平臺104的策略管理器210執(zhí)行處理900。
在操作902,計(jì)算平臺104識別調(diào)用的移動應(yīng)用202。例如,計(jì)算平臺104可接收可在移動裝置152中使用的移動應(yīng)用202的應(yīng)用標(biāo)識符204的列表。作為另一示例,計(jì)算平臺104可接收移動裝置152上的移動應(yīng)用202的啟動的指示。
在操作904,計(jì)算平臺104從本地策略表206獲得針對移動應(yīng)用202的應(yīng)用許可。在示例中,計(jì)算平臺104可查詢本地策略表206以獲取與移動應(yīng)用202的應(yīng)用標(biāo)識符204相關(guān)聯(lián)的應(yīng)用許可。在另一示例中,計(jì)算平臺104可查詢本地策略表206以獲取與執(zhí)行移動應(yīng)用202的配對的移動裝置162相關(guān)聯(lián)的應(yīng)用許可以及與移動應(yīng)用202的應(yīng)用標(biāo)識符204相關(guān)聯(lián)的應(yīng)用許可。在一些情況下,如果對移動應(yīng)用202的使用尚未得到用戶同意,則計(jì)算平臺104可在車輛102hmi中顯示用戶界面,用戶可通過該用戶界面授予與計(jì)算平臺104一起使用移動應(yīng)用202的許可。
在操作906,移動應(yīng)用202確定移動應(yīng)用202是否請求安全隧道302。在示例中,如果移動應(yīng)用202嘗試訪問被標(biāo)記為需要加密的安全車輛功能服務(wù),則移動應(yīng)用202可請求創(chuàng)建安全隧道302。作為一些示例,移動應(yīng)用202可嘗試訪問安全車輛功能服務(wù)(諸如計(jì)算平臺104的音頻和/視頻功能或其它媒體功能)、車輛診斷(諸如發(fā)動機(jī)數(shù)據(jù))、將信息寫入車輛102、個人可識別的信息(諸如位置)或者訪問來自麥克風(fēng)116的音頻數(shù)據(jù)。作為更進(jìn)一步的示例,移動應(yīng)用202可嘗試訪問安全車輛功能服務(wù),所述安全車輛功能服務(wù)用于針對移動支付、自主駕駛、車輛解鎖、車輛啟動、駕乘共享、微出租以及移動裝置的用戶的個性化設(shè)置的訪問中的一個或更多個的認(rèn)證。如果移動應(yīng)用202需要安全隧道302,則控制進(jìn)行到操作908。否則,控制進(jìn)行到操作918以在沒有安全隧道302的情況下進(jìn)行。
在操作908,移動應(yīng)用202請求移動裝置152創(chuàng)建安全隧道302。在示例中,響應(yīng)于移動應(yīng)用202請求被標(biāo)記為需要加密的服務(wù),計(jì)算平臺104可作為tls客戶端與用作tls服務(wù)器的移動裝置152連接。計(jì)算平臺104還可請求移動應(yīng)用202的應(yīng)用證書228。
在操作910,計(jì)算平臺104接收應(yīng)用證書228。響應(yīng)于創(chuàng)建安全隧道302的請求,移動裝置152可將移動應(yīng)用202的應(yīng)用證書228發(fā)送到計(jì)算平臺104。
在操作912,計(jì)算平臺104確定應(yīng)用證書228是否有效。在示例中,計(jì)算平臺104可在示例中與應(yīng)用遠(yuǎn)程管理系統(tǒng)222連接以在繼續(xù)執(zhí)行之前確認(rèn)應(yīng)用證書228的有效性。在另一示例中,計(jì)算平臺104可在沒有查詢提供應(yīng)用證書228的授權(quán)機(jī)構(gòu)進(jìn)行確認(rèn)的情況下驗(yàn)證過期日期、應(yīng)用標(biāo)識符204、應(yīng)用名稱205或應(yīng)用證書228的其它方面。如果計(jì)算平臺104確定應(yīng)用證書228有效,則控制進(jìn)行到操作914。否則,控制進(jìn)行到操作916。
在操作914,計(jì)算平臺104創(chuàng)建安全隧道302。在示例中,移動裝置152和計(jì)算平臺104可執(zhí)行握手過程以產(chǎn)生用于后續(xù)在會話期間對數(shù)據(jù)的加密和解密的會話密鑰。例如,可使用diffie-hellman密鑰交換來產(chǎn)生會話密鑰,或者,可通過使用應(yīng)用證書228的公共密鑰對隨機(jī)數(shù)進(jìn)行加密以供移動裝置52使用與應(yīng)用證書228相關(guān)聯(lián)的私人密鑰進(jìn)行解密來產(chǎn)生會話密鑰。無論方式如何,安全密鑰可相應(yīng)地用于對數(shù)據(jù)的對稱加密和解密,直到安全隧道302關(guān)閉為止。在操作914之后,控制進(jìn)行到操作918以使用建立的安全隧道302繼續(xù)與移動應(yīng)用202的連接。
在操作916,計(jì)算平臺104拒絕移動應(yīng)用202與計(jì)算平臺104的連接。在一些情況下,計(jì)算平臺104可在車輛hmi中顯示指示移動應(yīng)用202未被授權(quán)使用計(jì)算平臺104的錯誤消息。在一些示例中,計(jì)算平臺104可向遠(yuǎn)程管理系統(tǒng)222或其它服務(wù)器通知失敗。在操作916之后,處理900結(jié)束。
在操作918,計(jì)算平臺104根據(jù)獲得的許可執(zhí)行移動應(yīng)用202。計(jì)算平臺104可根據(jù)與移動應(yīng)用202相關(guān)聯(lián)的應(yīng)用許可,在一些示例中,還可根據(jù)移動裝置152,相應(yīng)地向移動應(yīng)用202提供對車輛102系統(tǒng)(諸如可用的功能和hmi)的訪問。
在操作920,計(jì)算平臺104記錄移動應(yīng)用202的應(yīng)用使用。例如,計(jì)算平臺104可記錄包括由移動應(yīng)用202對車輛功能、api、rpc和車輛102系統(tǒng)的使用的應(yīng)用使用208。在操作920之后,處理900結(jié)束。
這里描述的計(jì)算裝置(諸如計(jì)算平臺104、移動裝置152和遠(yuǎn)離車輛102的服務(wù)器)通常包括計(jì)算機(jī)可執(zhí)行指令,其中,這些指令可由一個或更多個計(jì)算裝置(諸如上面列出的裝置)執(zhí)行。計(jì)算機(jī)可執(zhí)行指令可從計(jì)算機(jī)程序被編譯或解釋,其中,計(jì)算機(jī)程序是使用各種編程語言和/或技術(shù)(包括但不限于javatm、c、c++、c#、visualbasic、javascript、perl中的一種或它們的組合)而創(chuàng)建的。通常,處理器(例如,微處理器)例如從存儲器、計(jì)算機(jī)可讀介質(zhì)等接收指令,并執(zhí)行這些指令,從而執(zhí)行包括這里描述的處理中的一個或更多個的一個或更多個處理。這樣的指令和其它數(shù)據(jù)可使用各種計(jì)算機(jī)可讀介質(zhì)來存儲并發(fā)送。
關(guān)于這里描述的處理、系統(tǒng)、方法、啟示等,應(yīng)該理解,雖然這樣的處理等的步驟已被描述為根據(jù)特定順序序列發(fā)生,但是這樣的處理也可按照以與這里描述的順序不同的順序執(zhí)行的描述的步驟來實(shí)施。還應(yīng)該理解,特定步驟可被同時執(zhí)行,其它步驟可被添加,或者可省略這里描述的特定步驟。換句話說,這里對處理的描述是為了說明特定實(shí)施例的目的而提供的,并且不應(yīng)以任何方式被解釋為限制權(quán)利要求。
雖然以上描述了示例性實(shí)施例,但是這些實(shí)施例并不意在描述本發(fā)明的所有可能形式。更確切地,在說明書中使用的詞語是描述性詞語而不是限制性詞語,應(yīng)該理解,可在不脫離本發(fā)明的精神和范圍的情況下進(jìn)行各種改變。另外,各種實(shí)現(xiàn)實(shí)施例的特征可被組合以形成本發(fā)明的進(jìn)一步的實(shí)施例。