說明性實施例總體上涉及一種用于通過使用輔助數(shù)據(jù)信道增強遠程信息處理安全性的設(shè)備和方法。
背景技術(shù):
遠程信息處理系統(tǒng)提供通信媒介,因此車輛計算系統(tǒng)能夠與遠程的實體和網(wǎng)絡(luò)進行通信,以發(fā)送和接收數(shù)據(jù)。這些系統(tǒng)可用于接收命令以遠程配置或控制車輛的某些方面。關(guān)于接收到的控制命令的安全特征試圖確保惡意實體不會發(fā)送未許可的命令以對車輛或車輛系統(tǒng)進行重配置或控制。當(dāng)前的安全特征包括數(shù)據(jù)內(nèi)容的驗證。然而,老練的黑客可能偽造(spoof)數(shù)據(jù)內(nèi)容。
技術(shù)實現(xiàn)要素:
在第一說明性實施例中,一種系統(tǒng)包括處理器,所述處理器被配置為:通過第一通信信道從遠程源無線接收車輛系統(tǒng)命令。所述處理器還被配置為:響應(yīng)于接收到所述車輛系統(tǒng)命令,打開與貌似(apparent)發(fā)起命令的源之間的第二通信信道。所述處理器還被配置為:通過第二通信信道請求驗證所述車輛系統(tǒng)命令是否源于貌似發(fā)起命令的源,并且響應(yīng)于命令起源的驗證指示所述車輛系統(tǒng)命令源于貌似發(fā)起命令的源而執(zhí)行所述車輛系統(tǒng)命令。
在第二說明性實施例中,一種系統(tǒng)包括處理器,所述處理器被配置為:響應(yīng)于接收到通過第一信道無線接收到控制命令而通過第二信道請求對通過第一信道無線接收的控制命令進行驗證;根據(jù)通過第二信道對所述控制命令的驗證來執(zhí)行所述控制命令。
在第三說明性實施例中,一種計算機實現(xiàn)的方法包括:通過新建立的無線通信信道,在遠程命令發(fā)起源處接收命令驗證請求。所述方法還包括:接收與由車輛無線接收的命令相關(guān)的命令識別數(shù)據(jù)。所述方法還包括:確定所述命令是否發(fā)送自遠程命令發(fā)起源;基于確定操作,向車輛提供命令驗證。
根據(jù)本發(fā)明,提供一種包括處理器的系統(tǒng),處理器被配置為:通過響應(yīng)于接收到通過第一信道無線接收的控制命令而與貌似的起源建立的第二信道,請求對所述控制命令的起源驗證;根據(jù)來自貌似的起源的驗證來執(zhí)行所述控制命令。
根據(jù)本發(fā)明,提供一種計算機實現(xiàn)的方法,所述方法包括:通過無線通信信道,在遠程命令發(fā)起源處接收命令起源驗證請求;接收與由車輛無線接收的命令相關(guān)的命令識別數(shù)據(jù);確定所述命令是否發(fā)送自遠程命令發(fā)起源;根據(jù)確定操作,驗證命令起源為遠程命令發(fā)起源。
根據(jù)本發(fā)明的一個實施例,命令識別數(shù)據(jù)包括時間戳。
根據(jù)本發(fā)明的一個實施例,命令識別數(shù)據(jù)包括識別車輛的數(shù)據(jù)。
根據(jù)本發(fā)明的一個實施例,命令識別數(shù)據(jù)包括命令內(nèi)容。
根據(jù)本發(fā)明的一個實施例,確定操作包括:檢查發(fā)送的命令的歷史,以確定所述命令是否被包含在所述歷史中以及是否已被發(fā)送到車輛。
根據(jù)本發(fā)明的一個實施例,確定操作包括:檢查通信歷史,以確定通信是否在與包括在命令識別數(shù)據(jù)中的時間戳對應(yīng)的時間被發(fā)送。
附圖說明
圖1示出了說明性的車輛計算系統(tǒng);
圖2示出了用于命令源驗證的說明性處理;
圖3示出了用于命令源驗證請求的說明性響應(yīng)處理。
具體實施方式
根據(jù)需要,在此公開詳細(xì)的實施例;然而,應(yīng)該理解的是,所公開的實施例僅是說明性的,并且可以以各種可替代形式實現(xiàn)。附圖無需按比例繪制;可夸大或縮小一些特征以示出特定組件的細(xì)節(jié)。因此,在此公開的具體結(jié)構(gòu)和功能細(xì)節(jié)不應(yīng)被解釋為具有限制性,而僅僅作為用于教導(dǎo)本領(lǐng)域技術(shù)人員以多種方式利用要求保護的主題的代表性基礎(chǔ)。
圖1示出用于車輛31的基于車輛的計算系統(tǒng)(vcs)1的示例框式拓?fù)鋱D。這種基于車輛的計算系統(tǒng)1的示例為由福特汽車公司制造的sync系統(tǒng)。設(shè)置有基于車輛的計算系統(tǒng)的車輛可包含位于車輛中的可視前端界面4。如果所述界面設(shè)置有例如觸摸敏感屏幕,則用戶還能夠與所述界面進行交互。在另一說明性實施例中,通過按鈕按壓和/或具有自動語音識別和語音合成的口語對話系統(tǒng)來進行交互。
在圖1中所示的說明性實施例1中,處理器3控制基于車輛的計算系統(tǒng)的至少某部分操作。設(shè)置在車輛內(nèi)的處理器允許對命令和例程進行車載處理。另外,所述處理器連接到非持久性存儲器5和持久性存儲器7兩者。在此說明性實施例中,非持久性存儲器是隨機存取存儲器(ram),持久性存儲器是硬盤驅(qū)動器(hdd)或閃存。一般說來,持久性(非暫時性)存儲器可包括當(dāng)計算機或其它裝置掉電時保持?jǐn)?shù)據(jù)的所有形式的存儲器。這些存儲器包括但不限于:hdd、cd、dvd、磁帶、固態(tài)驅(qū)動器、便攜式usb驅(qū)動器和任何其它適當(dāng)形式的持久性存儲器。
所述處理器還設(shè)置有允許用戶與處理器進行交互的若干個不同的輸入。在此說明性實施例中,麥克風(fēng)29、輔助輸入25(用于輸入33)、usb輸入23、gps輸入24、屏幕4(可為觸摸屏顯示器)和藍牙輸入15均被設(shè)置。還設(shè)置有輸入選擇器51,以允許用戶在各種輸入之間進行切換。在對麥克風(fēng)和輔助連接器兩者的輸入被傳送到處理器之前,由轉(zhuǎn)換器27對所述輸入進行模數(shù)轉(zhuǎn)換。盡管未示出,但是與vcs1進行通信的多個車輛組件和輔助組件可使用車輛網(wǎng)絡(luò)(諸如但不限于can總線)向vcs1(或其組件)傳送數(shù)據(jù)并傳送來自vcs1(或其組件)的數(shù)據(jù)。
系統(tǒng)的輸出可包括但不限于視覺顯示器4以及揚聲器13或立體聲系統(tǒng)輸出。所述揚聲器連接到放大器11并通過數(shù)模轉(zhuǎn)換器9從處理器3接收信號。還可分別沿19和21所示的雙向數(shù)據(jù)流進行到遠程藍牙裝置(諸如,個人導(dǎo)航裝置(pnd)54)或usb裝置(諸如車輛導(dǎo)航裝置60)的輸出。
在一說明性實施例中,系統(tǒng)1使用藍牙收發(fā)器15與用戶的移動裝置53(例如,蜂窩電話、智能電話、pda或具有無線遠程網(wǎng)絡(luò)連接能力的任何其它裝置)進行通信(17)。移動裝置53隨后可被用于通過例如與蜂窩塔57的通信(55)來與車輛31外部的網(wǎng)絡(luò)61進行通信(59)。在一些實施例中,蜂窩塔57可以是wi-fi接入點。
移動裝置53與藍牙收發(fā)器15之間的示例性通信由信號14表示。可通過按鈕52或類似的輸入來指示將移動裝置53與藍牙收發(fā)器15進行配對。相應(yīng)地,cpu被指示車載藍牙收發(fā)器將與移動裝置中的藍牙收發(fā)器進行配對。
可利用例如與移動裝置53關(guān)聯(lián)的數(shù)據(jù)計劃、話上數(shù)據(jù)或dtmf音在cpu3與網(wǎng)絡(luò)61之間傳送數(shù)據(jù)??蛇x地,可期望包括具有天線18的車載調(diào)制解調(diào)器63以在cpu3與網(wǎng)絡(luò)61之間通過語音頻帶來傳送數(shù)據(jù)(16)。移動裝置53隨后可被用于通過例如與蜂窩塔57的通信(55)來與車輛31外部的網(wǎng)絡(luò)61進行通信(59)。在一些實施例中,調(diào)制解調(diào)器63可與蜂窩塔57建立通信(20),以用于與網(wǎng)絡(luò)61進行通信。作為非限制性示例,調(diào)制解調(diào)器63可以是usb蜂窩調(diào)制解調(diào)器,并且通信20可以是蜂窩通信。
在一說明性實施例中,所述處理器設(shè)置有包括用于與調(diào)制解調(diào)器應(yīng)用軟件進行通信的應(yīng)用程序接口(api)的操作系統(tǒng)。調(diào)制解調(diào)器應(yīng)用軟件可訪問藍牙收發(fā)器上的嵌入式模塊或固件,以完成與(諸如在移動裝置中發(fā)現(xiàn)的)遠程藍牙收發(fā)器的無線通信。藍牙是ieee802pan(個域網(wǎng))協(xié)議的子集。ieee802lan(局域網(wǎng))協(xié)議包括wi-fi并與ieee802pan具有相當(dāng)多的交叉功能。兩者都適合于車輛內(nèi)的無線通信??稍谶@一范圍使用的其它通信方式是自由空間光通信(諸如irda)和非標(biāo)準(zhǔn)化消費者紅外(ir)協(xié)議。
在另一實施例中,移動裝置53包括用于語音頻帶通信或?qū)拵?shù)據(jù)通信的調(diào)制解調(diào)器。在話上數(shù)據(jù)的實施例中,當(dāng)該移動裝置的所有者可在數(shù)據(jù)正被傳送的同時通過裝置說話時,可實施已知為頻分復(fù)用的技術(shù)。在其它時間,當(dāng)所有者沒有在使用裝置時,數(shù)據(jù)傳送可使用整個帶寬(在一示例中是300hz至3.4khz)。盡管頻分復(fù)用對于車輛與互聯(lián)網(wǎng)之間的模擬蜂窩通信而言可能是常見的并仍在被使用,但其已經(jīng)很大程度上被用于數(shù)字蜂窩通信的碼域多址(cdma)、時域多址(tdma)和空域多址(sdma)的混合體所替代。在另一實施例中,移動裝置53被安裝至車輛31的蜂窩通信裝置(未示出)所替代。在另一實施例中,移動裝置53可以是能夠通過例如(而非限制)802.11g網(wǎng)絡(luò)(即wifi)或wimax網(wǎng)絡(luò)進行通信的無線局域網(wǎng)(lan)裝置。
在一實施例中,傳入數(shù)據(jù)可經(jīng)由話上數(shù)據(jù)或數(shù)據(jù)計劃通過移動裝置,通過車載藍牙收發(fā)器,進入車輛的內(nèi)部處理器3。例如,在某些臨時數(shù)據(jù)的情況下,數(shù)據(jù)可被存儲在hdd或其它存儲介質(zhì)7上,直至不再需要所述數(shù)據(jù)時為止。
可與車輛進行接口連接的其它源包括:具有例如usb連接56和/或天線58的個人導(dǎo)航裝置54、具有usb62或其它連接的車輛導(dǎo)航裝置60、車載gps裝置24或具有與網(wǎng)絡(luò)61連接的能力的遠程導(dǎo)航系統(tǒng)(未示出)。usb是一類串行聯(lián)網(wǎng)協(xié)議中的一種。ieee1394(火線tm(蘋果)、i.linktm(索尼)和lynxtm(德州儀器))、eia(電子工業(yè)協(xié)會)串行協(xié)議、ieee1284(centronics端口)、s/pdif(索尼/飛利浦?jǐn)?shù)字互連格式)和usb-if(usb開發(fā)者論壇)形成了裝置-裝置串行標(biāo)準(zhǔn)的骨干。多數(shù)所述協(xié)議可被實施為用于電通信或光通信。
此外,cpu3可與各種其它的輔助裝置65進行通信。這些裝置可通過無線連接67或有線連接69來連接。輔助裝置65可包括但不限于個人媒體播放器、無線保健裝置、便攜式計算機等。
此外或可選地,可使用例如wifi(ieee803.11)收發(fā)器71將cpu3連接到基于車輛的無線路由器73。這可允許cpu3連接到在本地路由器73的范圍內(nèi)的遠程網(wǎng)絡(luò)。
除了由位于車輛中的車輛計算系統(tǒng)執(zhí)行代表性處理之外,在某些實施例中,還可由與車輛計算系統(tǒng)通信的計算系統(tǒng)執(zhí)行代表性處理。這樣的系統(tǒng)可包括但不限于:無線裝置(例如但不限于移動電話)或通過無線裝置連接的遠程計算系統(tǒng)(例如但不限于服務(wù)器)。這樣的系統(tǒng)可被統(tǒng)稱為與車輛關(guān)聯(lián)的計算系統(tǒng)(vacs)。在某些實施例中,vacs的特定組件可根據(jù)系統(tǒng)的特定實施方式執(zhí)行處理的特定部分。通過示例而并非限制的方式,如果處理含有與配對的無線裝置進行信息發(fā)送或者接收的步驟,則很可能該無線裝置不執(zhí)行該處理部分,這是因為無線裝置不會與自身進行信息的“發(fā)送和接收”。本領(lǐng)域的普通技術(shù)人員將理解何時不適于將特定的計算系統(tǒng)應(yīng)用于給定解決方案。
在這里論述的每個說明性實施例中,示出了可由計算系統(tǒng)執(zhí)行的處理的典型而非限制性示例。關(guān)于每個處理,出于執(zhí)行處理的有限目的,執(zhí)行處理的計算系統(tǒng)變成被配置為用于執(zhí)行處理的專用處理器是可行的。所有處理無需被全部執(zhí)行,而應(yīng)被理解為可被執(zhí)行以實現(xiàn)各種特征和功能的處理類型的示例。根據(jù)需要,可在示出的處理中添加額外步驟或去除額外步驟。
在用于確保或試圖確保對車輛的惡意攻擊不成功的當(dāng)前安全范例的情形下,進行了數(shù)據(jù)內(nèi)容驗證處理。然而,這種處理的潛在問題是,黑客可以“偽造”(仿造)可驗證的數(shù)據(jù),并且系統(tǒng)可以潛在地將某些內(nèi)容錯誤地驗證為合法的或授權(quán)的。此外,在發(fā)送實體和車輛系統(tǒng)之間通過現(xiàn)有信道進行驗證的程度上,黑客可以攔截驗證命令并偽造響應(yīng),或者就是完全偽造成遠程實體(充當(dāng)許可的遠程實體)。
例如,如果針對車輛的命令需要從許可的呼叫中心發(fā)起,則黑客可以(以數(shù)字方式)假裝成呼叫中心,攔截響應(yīng)于控制車輛的某方面的請求而發(fā)出的驗證請求并對該驗證請求作出應(yīng)答。在說明性實施例中,車輛確定發(fā)起命令的實體(有意地在命令中包含標(biāo)識符,等等),并利用與貌似(apparent)發(fā)起命令的實體之間的新通信信道和會話。這種策略確保合法實體確實發(fā)起了命令以及接收到的命令不是由黑客或其它未授權(quán)的第三方偽造的。
在一些應(yīng)用中,命令可包括源識別。取代簡單地使用相同的通信信道響應(yīng)于接收的命令而對源做出應(yīng)答,系統(tǒng)將打開與在命令中識別的先前確立的合法源之間的新通信信道,以驗證命令確實源于這個源。如果黑客或其它未授權(quán)的第三方在發(fā)送命令時假裝成所述源,則與合法源之間的新通信信道/會話應(yīng)揭示出實際上命令不源于在該命令中指示的源。黑客更加難以攔截從車輛通過新信道發(fā)送到已知的合法源的驗證通信并對所述驗證通信做出應(yīng)答(如果不是不可能的話)。
在另一示例中,只有來自特定源的命令可被允許。此外,源識別可被使用,或者,如果單個源或有限數(shù)量的源被允許,則用于每個被允許的源的信道可被建立,以確定哪個已知源(如果有已知源)發(fā)起了命令。在這個模型中,黑客更加難以攔截新通信并保持充當(dāng)“源”的偽裝。
為了提高安全性,打開與命令/請求的已知源或識別的源之間的輔助數(shù)據(jù)信道。該信道不同于命令/請求最初被接收所通過的信道,并與命令/請求最初被接收所通過的信道分開。信道可采用任何適當(dāng)?shù)耐ㄐ偶夹g(shù),所述通信技術(shù)包括但不限于tcp/ip、sms、非結(jié)構(gòu)化補充數(shù)據(jù)業(yè)務(wù)(ussd)、會話初始協(xié)議(sip)等等。在識別的源或已知源證實命令實際上確實源于所述源之后,命令可由車輛處理。
圖2示出了用于命令源驗證的說明性處理。關(guān)于在這個附圖中描述的說明性實施例,應(yīng)注意,通用處理器可被臨時用作用于執(zhí)行在此示出的示例性方法中的部分或全部的專用處理器。在執(zhí)行提供執(zhí)行所述方法的部分步驟或全部步驟的指令的代碼時,處理器可被臨時改為用作專用處理器,直到所述方法完成為止。在另一示例中,在適當(dāng)程度上,根據(jù)預(yù)配置的處理器運行的固件可使處理器充當(dāng)用于執(zhí)行所述方法或所述方法的一些合理變型的專用處理器。
在這個說明性示例中,處理首先接收命令(操作201),以控制、配置、改變車輛模塊、系統(tǒng)、子系統(tǒng)、數(shù)據(jù)、計算單元等,或以其它方式與車輛模塊、系統(tǒng)、子系統(tǒng)、數(shù)據(jù)、計算單元等進行交互。在打開針對命令源的第二信道之前,系統(tǒng)可首先試圖驗證命令的內(nèi)容(操作203)。例如,這可包括安全證書驗證、ip源地址驗證、sms源地址驗證、呼叫方id驗證等等。遺憾的是,這種驗證可能不能揭示命令合法性,原因在于黑客可以偽造驗證后的數(shù)據(jù)內(nèi)容或重放命令。
如果內(nèi)容不能被驗證(操作205),則系統(tǒng)可根據(jù)需要忽略該命令(操作207)并阻止這個源(操作209)。如果內(nèi)容被驗證,則處理繼續(xù)驗證以保證最初的內(nèi)容驗證沒有錯誤。在這個說明性示例中,處理與命令的識別的源或已知源建立新數(shù)據(jù)信道(操作211)。這個新信道與用于接收命令的信道是分開的,從而防止攔截在與接收信道相同的信道上發(fā)送的驗證請求。新驗證請求可通過新信道被發(fā)送(操作213),例如,新驗證請求可包括時間戳、命令信息、命令內(nèi)容等。
一旦遠程源(諸如但不限于呼叫中心或者其它服務(wù)器或類似系統(tǒng))驗證了命令源于該源(操作215),則處理可確認(rèn)該源是已驗證的(操作217)。驗證可包括檢查發(fā)送的命令的歷史、確認(rèn)與命令關(guān)聯(lián)的密鑰、確認(rèn)與車輛的通信(例如,確認(rèn)通信已被發(fā)送、確認(rèn)通信在確定的時間被發(fā)送(可以通過時間戳驗證)等)等等。如果源是已驗證的,則命令可被執(zhí)行(操作221),否則,命令可被忽略(操作219)。
圖3示出了用于命令源驗證請求的說明性響應(yīng)處理。關(guān)于在這個附圖中描述的說明性實施例,應(yīng)注意,通用處理器可被臨時用作用于執(zhí)行在此示出的示例性方法中的部分或全部的專用處理器。在執(zhí)行提供執(zhí)行所述方法的部分步驟或全部步驟的指令的代碼時,處理器可被臨時改為用作專用處理器,直到所述方法完成為止。在另一示例中,在適當(dāng)程度上,根據(jù)預(yù)配置的處理器運行的固件可使處理器充當(dāng)用于執(zhí)行所述方法或所述方法的一些合理變型的專用處理器。
在這個說明性示例中,已知源(例如,被車輛已知為源、可能的源或識別的源)執(zhí)行用于驗證已知源是特定命令的起源的處理。響應(yīng)于命令已經(jīng)被發(fā)送到車輛遠程信息處理系統(tǒng),車輛打開連接到假定發(fā)起的源的新通信信道,并且新信道請求在源處被接收(操作301)。與請求被接收所通過的信道不同的新通信信道被打開(操作303)。然后,在這個示例中,命令、命令的參數(shù)和/或驗證源所需的任何識別信息被源接收(操作305)。在一些示例中,可以在發(fā)送任何附加信息之前簡單地詢問源“你向這個特定(識別的)車輛發(fā)送了命令嗎?”,如果答案是“否”,則詢問可結(jié)束。在另一些示例中,命令、命令參數(shù)、車輛標(biāo)識符和/或其它數(shù)據(jù)可被發(fā)送和接收(操作305),以用于驗證的目的。
如果源可以確認(rèn)源是命令的起點(或者至少是源于其它地方的許可命令的中繼點)(操作307),則處理可確認(rèn)命令的有效性(操作309)。否則,處理可報告命令不是從聲稱的源發(fā)起的(操作311)。
雖然以上描述了示例性實施例,但這些實施例并不意在本發(fā)明的所有可能形式。更確切地,說明書中使用的詞語是描述性詞語而非限制性詞語,并且應(yīng)理解的是,可在不脫離本發(fā)明的精神和范圍的情況下做出各種改變??蓪⒏鞣N實現(xiàn)的實施例的特征進行組合以形成本發(fā)明的進一步的實施例。