據(jù)方案18所述的車輛,其中所述更新模塊被聯(lián)接到外部通信網(wǎng)絡(luò)以便經(jīng)由所述外部通信網(wǎng)絡(luò)從所述遠程裝置接收所述編程更新。
[0028]方案20.根據(jù)方案18所述的車輛,還包括聯(lián)接到所述更新模塊的輸入接口,其中所述更新模塊被設(shè)置成當所述遠程裝置被插入所述輸入接口時從所述遠程裝置獲得編程更新。
【附圖說明】
[0029]下文將結(jié)合附圖描述示例性實施例,其中同樣的附圖標記指代同樣的元件,并且附圖中:
圖1是根據(jù)一種或更多實施例的示例性車輛通信系統(tǒng)的框圖;
圖2是根據(jù)一種或更多實施例的適于在圖1的車輛通信系統(tǒng)中使用的示例性電子裝置的框圖;
圖3是示出根據(jù)一種或更多實施例的適于被圖1的車輛通信系統(tǒng)實施的示例性編程過程的流程圖;以及
圖4是示出根據(jù)圖3的編程過程的一種示例性實施例的圖1的車輛通信系統(tǒng)內(nèi)的通信序列的圖不。
【具體實施方式】
[0030]下述【具體實施方式】實質(zhì)上僅僅是說明性的并且不旨在限制本主題或本申請的實施例和這些實施例的使用。如本文所用,詞語“示例性”意味著“用作示例、例子或例證”。本文被描述為示例性的任何實施方式不必被理解成相對其他實施方式是優(yōu)選的或有利的。此夕卜,不旨在受到前述技術(shù)領(lǐng)域、【背景技術(shù)】、
【發(fā)明內(nèi)容】
或下文的【具體實施方式】中存在的任意明示或暗含的理論的約束。
[0031]本文描述的主題的實施例涉及使用從遠程裝置獲得的編程信息來編程諸如汽車的車輛中的模塊。如下文更具體描述的,用于待編程的車輛模塊上的應(yīng)用(本文中替代性地被稱為目標模塊上的目標應(yīng)用)的編程更新包括編程數(shù)據(jù)部分和認證部分。編程數(shù)據(jù)部分是文件或另一邏輯數(shù)據(jù)段,其包括一組可執(zhí)行指令(例如代碼、腳本等),其能夠被目標模塊讀取和執(zhí)行以便改變、修改、更新或者以其他方式影響其上執(zhí)行的目標應(yīng)用。換言之,響應(yīng)于來自由目標模塊執(zhí)行的編程數(shù)據(jù)的指令組,至少部分地基于編程數(shù)據(jù)來更新目標應(yīng)用。認證部分是另一文件或邏輯數(shù)據(jù)段,其包括用于將編程數(shù)據(jù)源認證為信任源的一個或更多個密鑰。車輛中除目標模塊之外的模塊從遠程裝置獲得用于目標模塊上的應(yīng)用的編程更新,并且經(jīng)由車輛通信網(wǎng)絡(luò)發(fā)送或以其他方式提供認證部分至車輛內(nèi)的認證模塊。為了解釋而非限制的目的,編程數(shù)據(jù)部分可以在本文中替代性地被稱為編程數(shù)據(jù)文件,認證部分可以在本文中替代性地被稱為認證文件,并且獲得編程更新的模塊可以在本文中替代性地被稱為更新模塊。
[0032]在示例性實施例中,認證模塊存儲或以其他方式保持與車輛相關(guān)聯(lián)的一個或更多個密鑰,并且將從認證部分獲得的所述一個或更多個密鑰與所述一個或更多個存儲密鑰相比較以便驗證或以其他方式確認認證部分中的密鑰匹配與車輛相關(guān)聯(lián)的存儲密鑰。當認證部分中的密鑰匹配與車輛相關(guān)聯(lián)的存儲密鑰時,認證模塊將認證部分提供給目標模塊。更新模塊也經(jīng)由車輛通信網(wǎng)絡(luò)直接地或經(jīng)由認證模塊間接地將編程數(shù)據(jù)部分提供給目標模塊。在示例性實施例中,在接收到編程數(shù)據(jù)部分和經(jīng)驗證的認證部分二者之后,目標模塊進入編程模式,并且目標模塊執(zhí)行編程數(shù)據(jù)部分中的指令組以便更新目標模塊上的目標應(yīng)用。在此方面,在一些實施例中,在沒有接收經(jīng)驗證的認證部分時,目標模塊不能進入編程模式和/或不能執(zhí)行編程數(shù)據(jù)部分中的指令,從而防止目標模塊和/或目標應(yīng)用被不是從信任源接收的指令所改變、修改或以其他方式影響。
[0033]在替代性實施例中,即使沒有接收到經(jīng)驗證的認證部分,目標模塊也可以進入編程模式和/或執(zhí)行編程數(shù)據(jù)部分中的指令,然而,經(jīng)驗證的認證部分被設(shè)置成使得其不存在性防止目標模塊和/或目標應(yīng)用以預(yù)期方式被編程數(shù)據(jù)部分中的指令所改變、修改或以其他方式影響。例如,認證部分可以被實現(xiàn)為用于編程數(shù)據(jù)部分的解密密鑰,使得在沒有接收到認證部分時,目標模塊執(zhí)行編程數(shù)據(jù)部分中的加密(或被不正確解密的)指令,這防止編程數(shù)據(jù)部分中的指令實現(xiàn)其期望效果和/或者導(dǎo)致目標模塊進入其操作被限制或以其他方式被禁用的操作模式(例如故障模式)。在另一實施例中,認證部分可以包括指令組的一部分,其是正確地執(zhí)行編程數(shù)據(jù)部分中的剩余指令所需要的,使得當目標模塊執(zhí)行(或試圖執(zhí)行)編程數(shù)據(jù)部分中的指令時,那些指令的預(yù)期效果未被實現(xiàn)并且所述執(zhí)行可以導(dǎo)致目標模塊進入其操作被限制或以其他方式被禁用的操作模式中。因此,防止不是從信任源接收的指令以其預(yù)期方式改變、修改或以其他方式影響目標模塊和/或目標應(yīng)用的操作。
[0034]現(xiàn)在參考圖1,在一種或更多種示例性實施例中,車輛通信系統(tǒng)100包括車輛102,其能夠經(jīng)由通信網(wǎng)絡(luò)106與遠程裝置104通信,該通常網(wǎng)絡(luò)106處于車輛102外部,例如是蜂窩網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、廣域網(wǎng)等等。在所示實施例中,車輛102包括更新模塊110,其被設(shè)置成經(jīng)由網(wǎng)絡(luò)106通信并且經(jīng)由網(wǎng)絡(luò)106從遠程裝置104下載或以其他方式接收編程更新,該編程更新隨后被用于編程或以其他方式更新車輛102中的一個或更多個附加模塊114、116。在示例性實施例中,車輛102包括認證模塊112,其通信地聯(lián)接到更新模塊110和并且經(jīng)認證則試圖編程車輛102內(nèi)的目標模塊114、116。在此方面,當認證模塊112不能認證具體目標模塊114、116的編程時,認證模塊112防止或以其他方式約束該目標模塊114、116的編程,如下文更具體描述的。
[0035]在一種或更多種示例性實施例中,車輛102被實現(xiàn)為汽車,并且取決于實施例,車輛102可以是多種不同類型汽車中的任何一種,例如轎車、貨車、卡車或者運動型多功能車(SUV),并且可以是二輪驅(qū)動(2WD) (BP,后輪驅(qū)動或者前輪驅(qū)動)、四輪驅(qū)動(4WD)或者全輪驅(qū)動(AWD)。車輛102也可以包括多種不同類型發(fā)動機中的任意一種或組合,例如汽油或柴油供料的燃燒發(fā)動機、“靈活燃料車輛”(FFV)發(fā)動機(B卩,使用汽油和乙醇的混合物)、氣體混合物(例如,氫和天然氣)供料的發(fā)動機、燃燒/電動馬達混合動力發(fā)動機以及電動馬達。在替代性實施例中,車輛102可以是插電式混合動力車輛、純電動車輛、燃料電池車輛(FCV)或者其他合適的代用燃料車輛。
[0036]遠程裝置104通常代表被聯(lián)接到網(wǎng)絡(luò)106的計算系統(tǒng)或處理邏輯、電路、硬件和/或其他部件的另一組合,并且其能夠?qū)⒕幊谈聜鬟_給車輛102并且支持本文描述的過程、任務(wù)、操作和/或功能。例如,在圖1的所示實施例中,遠程裝置104可以被實現(xiàn)成計算機服務(wù)器,其包括處理系統(tǒng)和能夠存儲編程指令的數(shù)據(jù)存儲元件(或者存儲器),當被處理系統(tǒng)讀取和執(zhí)行時所述編程指令導(dǎo)致服務(wù)器產(chǎn)生用于車輛102內(nèi)的目標模塊114、116的編程更新并且將該編程更新發(fā)送到更新模塊110。因此,為了解釋的目的,遠程裝置104可以在本文中替代性地被稱為服務(wù)器。在一些實施例中,服務(wù)器104可以被聯(lián)接到數(shù)據(jù)庫105,該數(shù)據(jù)庫105存儲或以其他方式保持對應(yīng)于能夠由服務(wù)器104產(chǎn)生的各種編程更新的可執(zhí)行代碼或指令以及被用于支持編程過程的認證信息,如在下文中在圖3-4的背景下更具體描述的。
[0037]仍然參考圖1,更新模塊110通常代表車輛102內(nèi)的裝置或部件,其被通信地聯(lián)接到外部通信網(wǎng)絡(luò)106并且被設(shè)置成支持與服務(wù)器104的通信以便獲得用于車輛102內(nèi)的一個或更多個目標模塊114、116的編程更新。根據(jù)一種或更多種實施例,更新模塊110被實現(xiàn)為前端單元(head unit),其可以被集成在儀表盤、儀器面板、中央控制臺或車輛102內(nèi)的其他適當部位內(nèi)。在所示實施例中,更新引擎(update engine)120通常代表由更新模塊110產(chǎn)生、執(zhí)行或以其他方式實施以有助于本文描述的編程過程的軟件模塊或其他部件。
[0038]在示例性實施例中,更新模塊110被聯(lián)接到至少一個車輛通信網(wǎng)絡(luò)111,并且提供外部通信網(wǎng)絡(luò)106和車輛通信網(wǎng)絡(luò)111之間的接口。根據(jù)實施例,車輛通信網(wǎng)絡(luò)111可以被實現(xiàn)為局域網(wǎng)(LAN)或以太網(wǎng)網(wǎng)絡(luò)、無線網(wǎng)絡(luò)(例如,藍牙網(wǎng)絡(luò)、IEEE 802.11網(wǎng)絡(luò)等等)、控制器局域網(wǎng)(CAN)等等。認證模塊112通常代表車輛102內(nèi)的裝置或部件,其經(jīng)由第一車輛通信網(wǎng)絡(luò)111被通信地聯(lián)接到更新模塊110并且被設(shè)置成通過驗證或以其他方式認證編程更新來調(diào)節(jié)或以其他方式控制車輛102內(nèi)的目標模塊114、116的編程。認證引擎(authenticat1n engine) 122通常代表軟件模塊或其他部件,其由認證模塊112產(chǎn)生、執(zhí)行或以其他方式實施以便經(jīng)由網(wǎng)絡(luò)111從更新引擎120接收與編程更新相關(guān)聯(lián)的認證文件,驗證認證文件內(nèi)包含的認證信息是否匹配由認證模塊112存儲的認證信息,并且僅在驗證了認證文件內(nèi)包含的認證信息匹配存儲的認證信息之后允許在具體目標模塊114、116處執(zhí)行編程更新,如下文更具體描述的。
[0039]根據(jù)一種或更多種實施例,認證模塊112也用作第一車輛通信網(wǎng)絡(luò)111(更新模塊110在其上通信)和第二車輛通信網(wǎng)絡(luò)113 (其具有與其通信聯(lián)接的一個或更多個目標模塊116)之間的網(wǎng)關(guān)。例如,在一種實施例中,第一車輛通信網(wǎng)絡(luò)111被實現(xiàn)為以太網(wǎng),并且第二車輛通信網(wǎng)絡(luò)113被實現(xiàn)為CAN,其中認證模塊112