專利名稱:數(shù)據(jù)處理設(shè)備的制作方法
技術(shù)領(lǐng)域:
本公開內(nèi)容涉及用在車載遠(yuǎn)程信息通信系統(tǒng)(vehicle telematics system)或智能計(jì)量系統(tǒng)(smart metering system)中的數(shù)據(jù)處理設(shè)備,并涉及例如用于在公路定價(jià)中操作這種設(shè)備的方法。
背景技術(shù):
圖I以示意性形式說(shuō)明與遙測(cè)技術(shù)相關(guān)的一般概念,其中用戶實(shí)體I可以訪問(wèn)遠(yuǎn)程裝置2,裝置2包括主控制器3和本地?cái)?shù)據(jù)庫(kù)4。在這種一般情況中,用戶或外部實(shí)體I能夠經(jīng)由雙向通信鏈路5使用裝置2,以將某些輸入數(shù)據(jù)轉(zhuǎn)換成輸出數(shù)據(jù)。與遙測(cè)技術(shù)一祥,這種系統(tǒng)可以應(yīng)用在其它情況中,如智能計(jì)量,包括能量使用的遠(yuǎn)程監(jiān)控。這種情況中所關(guān)心的ー個(gè)問(wèn)題是外部用戶實(shí)體I如何可以確信裝置I確實(shí)針對(duì)給定的輸入產(chǎn)生了正確的輸出。換句話說(shuō),問(wèn)題是如何保護(hù)在該裝置中運(yùn)行的進(jìn)程(process)的完整性(integrity),特別是防止篡改攻擊。考慮到上述問(wèn)題,存在可能遭受攻擊者20篡改的三種不同的資源,如圖2所述。這些攻擊為I.企圖修改I/O數(shù)據(jù)本身的攻擊(箭頭21),無(wú)論是提交(summit)給裝置2之前的輸入數(shù)據(jù)還是由裝置2產(chǎn)生之后的輸出數(shù)據(jù)6 ;2.企圖修改在主控制器3上運(yùn)行的進(jìn)程的攻擊(箭頭22);以及3.企圖修改在數(shù)據(jù)庫(kù)4中本地存儲(chǔ)的主數(shù)據(jù)(箭頭23)??梢岳胓在保護(hù)上文列出的資源的完整性的多種解決方法,其示例包括以下幾種(I)對(duì)于I/O數(shù)據(jù)6,典型的解決的方案是使用簽名算法,其中數(shù)據(jù)在輸入處由用戶實(shí)體I簽名,并且在裝置2的輸出處由主進(jìn)程3回簽名(sign back),因此通過(guò)允許檢測(cè)任何修改而保護(hù)數(shù)據(jù)6的完整性,已知為篡改證據(jù)。(2)使用可信任平臺(tái)模塊(TPM),安全加密處理器可以用來(lái)主要通過(guò)兩種機(jī)制保護(hù)主進(jìn)程遠(yuǎn)程證明和封閉存儲(chǔ)。遠(yuǎn)程證明形成主進(jìn)程狀態(tài)的加密簽名以向遠(yuǎn)程實(shí)體證明主控制器處于給定狀態(tài)。封閉存儲(chǔ)以它僅可以由處于正確狀態(tài)時(shí)的主進(jìn)程解密的方式加密數(shù)據(jù)。TPM主要用在個(gè)人計(jì)算機(jī)中,例如用于向遠(yuǎn)程支付服務(wù)器證明在將進(jìn)行支付的計(jì)算機(jī)中不存在任何特洛伊木馬、病毒、密鑰記錄器等。TPM還可以用于數(shù)字版權(quán)保護(hù)(DRM)應(yīng)用。(3)'智能卡'的使用是另ー種已知的解決方案。安全智能卡包括嵌入塑料卡中的高度安全芯片。嵌入的芯片被設(shè)計(jì)為不易受任何篡改攻擊,使得非常難以改變或探究芯片中存儲(chǔ)的進(jìn)程和數(shù)據(jù)。智能卡用于安全支付應(yīng)用,其中金錢電子數(shù)值存儲(chǔ)在卡中('電 子錢包'),或者用于安全訪問(wèn)控制應(yīng)用,其中允許訪問(wèn)設(shè)備或網(wǎng)絡(luò)的安全密鑰存儲(chǔ)在卡中(如,SIM卡),或者用于身份識(shí)別應(yīng)用,其中簽名密鑰存儲(chǔ)在卡中(如,電子護(hù)照)。TPM的缺點(diǎn)是這基本上是靜態(tài)保護(hù),僅證明控制器在某個(gè)時(shí)間處于某種核實(shí)狀態(tài),并且準(zhǔn)備處理安全敏感數(shù)據(jù)。TPM不提供針對(duì)已經(jīng)達(dá)到核實(shí)狀態(tài)之后的攻擊或硬件篡改攻擊的防護(hù)。TPM方案還需要來(lái)自操作系統(tǒng)和主控制器的深度支持。另ー方面,智能卡提供動(dòng)態(tài)保護(hù),S卩,不僅保護(hù)進(jìn)程的狀態(tài),而且保護(hù)這種狀態(tài)如何隨著時(shí)間的過(guò)去而發(fā)展,但由于需要特定的設(shè)計(jì)和制造エ藝而是不便利的。智能卡通常還具有非常有限的處理能力,并且因此不適合所有應(yīng)用。本發(fā)明的目標(biāo)是解決上述問(wèn)題中的ー個(gè)或多個(gè)。WO 2009/090515公開了ー種道路收費(fèi)系統(tǒng),包括具有執(zhí)行位置跟蹤功能的衛(wèi)星導(dǎo)航接收器的車載單元。車輛行進(jìn)的路線基于位置跟蹤信息和用于獨(dú)立于衛(wèi)星導(dǎo)航信號(hào)檢測(cè)本地車輛狀態(tài)的傳感器。采用傳感器信息證實(shí)位置跟蹤信息有效
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了ー種數(shù)據(jù)處理設(shè)備,如由隨附權(quán)利要求所限定的那樣。該設(shè)備可以形成車載遠(yuǎn)程信息通信系統(tǒng)的一部分,其中感測(cè)單元為位置感測(cè)單元,并且本地?cái)?shù)據(jù)源包括地圖數(shù)據(jù)源且可選地包括費(fèi)用數(shù)據(jù)源,其中第一控制器被配置為控制和從位置感測(cè)單元和地圖源(和可選地費(fèi)用數(shù)據(jù)源)接收數(shù)據(jù);基于從位置感測(cè)單元接收到的數(shù)據(jù)計(jì)算車輛的位置;以及可選地基于計(jì)算出的位置以及從費(fèi)用數(shù)據(jù)源和地圖數(shù)據(jù)源接收到的數(shù)據(jù)計(jì)算費(fèi)用。感測(cè)單元可以為例如經(jīng)由通信接ロ連接至第一控制器的外部裝置。通過(guò)僅驗(yàn)證由控制器進(jìn)行的操作的選定子集的完整性,該系統(tǒng)能夠有效地和快速地運(yùn)行,而不犧牲安全性。第二控制器可選地被提供為可移除卡,該可移除卡包括用于識(shí)別該系統(tǒng)的用戶的數(shù)據(jù)。第二控制器被配置為隨機(jī)地或偽隨機(jī)地選擇操作子集。在優(yōu)選實(shí)施例中,第二控制器從由第一控制器進(jìn)行的一系列位置和費(fèi)用計(jì)算中隨機(jī)地選出ー個(gè)用于驗(yàn)證,但對(duì)已經(jīng)選定哪ー個(gè)操作進(jìn)行保密。第二控制器可選地被配置為在位置計(jì)算操作和費(fèi)用計(jì)算操作之一或二者期間驗(yàn)證由第一控制器進(jìn)行的操作的選定子集的完整性。第一控制器被配置為記錄從ー個(gè)或多個(gè)操作的開始和結(jié)束狀態(tài)導(dǎo)出的歷史數(shù)據(jù)并將歷史數(shù)據(jù)傳送至第二控制器。第二控制器被配置為采用所述歷史數(shù)據(jù)驗(yàn)證所述ー個(gè)或多個(gè)操作。第二控制器可以被配置為存儲(chǔ)僅用于將被驗(yàn)證的ー個(gè)選定操作的歷史數(shù)據(jù)。第一控制器可以被配置為在進(jìn)行每個(gè)操作時(shí)傳送歷史數(shù)據(jù),并且第二控制器可以被配置為根據(jù)將被驗(yàn)證的那個(gè)操作的選擇決定是存儲(chǔ)還是舍棄所傳送的歷史數(shù)據(jù)。歷史數(shù)據(jù)可以是從所述ー個(gè)或多個(gè)操作的開始和結(jié)束狀態(tài)的哈希(hash)導(dǎo)出的。第二控制器可以被配置為在第一控制器已經(jīng)發(fā)送由第一控制器進(jìn)行的操作的哈希結(jié)果之后指示第一控制器傳送哪些歷史數(shù)據(jù)。該數(shù)據(jù)處理設(shè)備可以包含在計(jì)量系統(tǒng)中,其中感測(cè)單元為能量計(jì),并且第一控制器被配置為基于從感測(cè)単元和本地?cái)?shù)據(jù)源接收的數(shù)據(jù)產(chǎn)生能量定價(jià)。根據(jù)本發(fā)明的第二方面,提供了操作數(shù)據(jù)處理系統(tǒng)的方法,并且根據(jù)本發(fā)明的第三方面,提供了操作車載遠(yuǎn)程信息通信系統(tǒng)的方法,同樣由隨附權(quán)利要求限定。第二控制器可選地將簽名的總數(shù)提供至第一控制器作為正確驗(yàn)證的指示。第二控制器隨機(jī)地或偽隨機(jī)地選擇操作子集。通過(guò)隨機(jī)地或偽隨機(jī)地選擇將被驗(yàn)證的特定操作子集,維持了安全性,因?yàn)椴荒艽_定由(非安全)第一控制器執(zhí)行的哪個(gè)操作將是由(安全)第二控制器檢查的操作。將不能提前確定哪個(gè)操作將進(jìn)行驗(yàn)證。由于在典型的行程中將由第一控制器進(jìn)行數(shù)百或數(shù)千 操作,第二控制器僅需要隨機(jī)地選擇小的比例,以確保所述實(shí)際意圖的完整性,或者至少能夠可靠地檢測(cè)任何篡改。本發(fā)明提供了 TPM和智能卡二者解決方案的優(yōu)勢(shì),但是以更加成本有效或靈活的方式提供這種優(yōu)勢(shì)。本發(fā)明通過(guò)不僅保護(hù)進(jìn)程的狀態(tài)而且保護(hù)該狀態(tài)如何隨時(shí)間更新而允許動(dòng)態(tài)地保護(hù)在裝置中運(yùn)行的進(jìn)程,并且可以應(yīng)用于通用主控制器,而不需要對(duì)控制器進(jìn)行硬件修改。本發(fā)明還僅需要添加如在智能卡中發(fā)現(xiàn)的便宜的安全控制器,并且因此具有針對(duì)每種特定應(yīng)用不必需要特定智能卡的優(yōu)點(diǎn)。
現(xiàn)在將以舉例的方式并參照附圖描述本發(fā)明的實(shí)施例,在附圖中圖I為說(shuō)明遙測(cè)系統(tǒng)(telemetry system)的示意圖;圖2為說(shuō)明對(duì)圖I的系統(tǒng)的可能的攻擊的示意圖;圖3a和3b為在主控制器和安全控制器中執(zhí)行的示例性操作序列的示意圖;圖4為包括連接至主控制器的安全控制器的遙測(cè)系統(tǒng)的示意圖;圖5為說(shuō)明將受到保護(hù)的主控制器板載軟件的一部分的示意圖;圖6為具有審查過(guò)程步驟的遙測(cè)系統(tǒng)的示意圖;圖7為根據(jù)順序模式運(yùn)行的裝置的示意圖;圖8為處于主控制器的RUN狀態(tài)的操作序列的示意圖;圖9為處于安全控制器的VERIFY狀態(tài)的操作序列的示意圖;圖10為根據(jù)并行模式運(yùn)行的裝置的示意圖;圖11為處于并行模式中的RUN狀態(tài)和STORE狀態(tài)的操作序列的示意圖;圖12為根據(jù)包含哈希操作的順序模式運(yùn)行的裝置中的操作序列的示意圖;圖13a為說(shuō)明簡(jiǎn)單的哈希方案的示意圖;圖13b為說(shuō)明替代哈希方案的示意圖;圖14為安全控制器和主控制器中的包含哈希操作的操作序列的示意圖;圖15為根據(jù)包含哈希操作的并行模式運(yùn)行的裝置中的操作序列的示意圖;圖16為用于根據(jù)包含哈希操作的并行模式運(yùn)行的裝置的RUN狀態(tài)和STORE狀態(tài)的操作序列的示意圖;圖17為包含采用數(shù)據(jù)鑒別的數(shù)據(jù)完整性保護(hù)的遙測(cè)系統(tǒng)的示意圖;圖18為說(shuō)明公路收費(fèi)方案系統(tǒng)的示意圖;以及圖19為說(shuō)明安全公路收費(fèi)應(yīng)用中涉及的操作序列的概略的示意圖。
具體實(shí)施例方式本發(fā)明的多個(gè)方面依賴于兩個(gè)主要原理,概述如下(I)對(duì)篡改的防護(hù)極大地依賴于篡改證據(jù)或檢測(cè),而不是依賴于整個(gè)進(jìn)程的防篡改性。在一般方面中,這通過(guò)在裝置中主控制器之后添加安全防篡改控制器,并由這個(gè)附加的安全控制器檢驗(yàn)在主控制器中運(yùn)行的進(jìn)程還未被篡改的規(guī)則基礎(chǔ)而實(shí)現(xiàn)。(2)為了降低附加安全控制器上的負(fù)擔(dān),該安全控制器不進(jìn)行所有操作的完整驗(yàn)證,而是例如可以隨機(jī)選擇目標(biāo)進(jìn)程中正在進(jìn)行的部分進(jìn)行 驗(yàn)證。如圖3a和3b所示,包括根據(jù)本發(fā)明運(yùn)行的第一(主機(jī))控制器31和第二(安全)控制器32的裝置30可以被視為在三個(gè)不同階段中運(yùn)行(I)RUN階段33,其中執(zhí)行審查進(jìn)程;(2) COMMIT階段34,其中主控制器提交審查進(jìn)程和中間步驟的結(jié)果;和(3) VERIFY階段35,基于質(zhì)詢-響應(yīng)協(xié)議,其中由安全控制器驗(yàn)證審查進(jìn)程的選定部分,優(yōu)選地作為安全控制器的隨機(jī)選擇結(jié)果。根據(jù)上述原理運(yùn)行的系統(tǒng)在圖4中說(shuō)明,類似于圖I的系統(tǒng)但添加了安全的、防篡改的控制器32。安全控制器32可以為在智能卡中發(fā)現(xiàn)的類型的控制器。如圖5所示,主控制器31包含將被保護(hù)將由安全控制器32驗(yàn)證的軟件51。在大多數(shù)情況中,不需要對(duì)整個(gè)主機(jī)軟件進(jìn)行驗(yàn)證,而是僅對(duì)特定的敏感部分進(jìn)行驗(yàn)證。例如,低級(jí)別驅(qū)動(dòng)器通常被忽略,而軟件的處理金融業(yè)務(wù)的部分必須被認(rèn)真地防護(hù)免受任何可能的篡改的影響。在大多數(shù)情況中,這將導(dǎo)致彼此獨(dú)立的幾個(gè)部分的識(shí)別,并且因此被獨(dú)立地保護(hù)。隨后足以將每個(gè)部分視為獨(dú)立的進(jìn)程,并單獨(dú)地對(duì)每個(gè)進(jìn)程進(jìn)行驗(yàn)證過(guò)程。進(jìn)行驗(yàn)證的進(jìn)程在此稱為審查進(jìn)程。為了應(yīng)用本發(fā)明,每個(gè)審查進(jìn)程61可以分成幾個(gè)審查步驟61I_N,如圖6所示。隨機(jī)選擇這些步驟中的ー個(gè)或多個(gè),用于由安全控制器驗(yàn)證。選定審查進(jìn)程在中間步驟中分開的方式和這些步驟的數(shù)量取決于將被審查的進(jìn)程的類型。ー種方式是以使得每個(gè)步驟僅松散地依賴于在前的步驟和接下來(lái)的步驟以及使得輸入狀態(tài)和輸出狀態(tài)的尺寸(szie)最小的方式裁剪進(jìn)程。每個(gè)步驟理想地應(yīng)當(dāng)具有相同或相似的復(fù)雜性,使得安全控制器上的驗(yàn)證或多或少地花費(fèi)相同的時(shí)間,從而在執(zhí)行并行操作時(shí)提高效率。最后,將進(jìn)程分成多個(gè)并且因此較小的步驟通常將降低驗(yàn)證單個(gè)步驟所需要的時(shí)間,并且還將降低在主控制器上執(zhí)行進(jìn)程期間檢測(cè)到已經(jīng)出現(xiàn)篡改的可能性。因此將進(jìn)程分成中間步驟是性能和檢測(cè)速率之間的折中。在接下來(lái)的部分中,以舉例的方式說(shuō)明不同的執(zhí)行模式。在圖7中說(shuō)明的順序模式示例中,三個(gè)階段71,72,73順序地運(yùn)行中間COMMIT階段72在RUN階段71完成之后開始,VERIFY階段73在COMMIT階段72完成時(shí)開始。在圖8中進(jìn)ー步詳細(xì)說(shuō)明的RUN階段71中,主控制器31簡(jiǎn)單地、正常地執(zhí)行審查進(jìn)程,但維持存儲(chǔ)的進(jìn)程執(zhí)行歷史日志82,審查進(jìn)程的所有中間步驟71ぃ..71n的輸入狀態(tài)和輸出狀態(tài)81Q_N存儲(chǔ)在進(jìn)程執(zhí)行歷史日志82中。歷史日志82允許在不必從開始重現(xiàn)整個(gè)進(jìn)程的情況下重現(xiàn)每個(gè)步驟71ぃ..71n。在COMMIT階段72期間,主控制器31開始(步驟74)對(duì)安全控制器32的審查進(jìn)程。安全控制器32隨后選擇(步驟75)驗(yàn)證審查進(jìn)程的哪個(gè)步驟,在此稱為步驟ID。處于安全原因,重要的是步驟ID由安全控制器32保密且優(yōu)選地被隨機(jī)(或至少以非確定的方式)選擇,以便不容易提前確定安全控制器32正在選擇哪個(gè)步驟主控制器31隨后提交審查進(jìn)程的完整執(zhí)行歷史。這可以通過(guò)將歷史日志82的全部?jī)?nèi)容(圖8)發(fā)送(步驟76)至本地存儲(chǔ)(步驟77)歷史日志的安全控制器32而實(shí)現(xiàn)。這在歷史日志82小的情況中可以是簡(jiǎn)單且有效的方案。對(duì)于較大的歷史日志,可能優(yōu)選的是采用下文進(jìn)ー步詳細(xì)描述的并行模式,可能是的采用一個(gè)或多個(gè)哈希操作。VERIFY階段73 g在驗(yàn)證如由主控制器31執(zhí)行的審查進(jìn)程的完整性。一旦主控制器31開始審查進(jìn)程(步驟78),則安全控制器32驗(yàn)證(步驟79)已經(jīng)正確地執(zhí)行COMMIT階段72期間選擇的審查步驟。安全控制器32可以在內(nèi)部重現(xiàn)選定步驟,并通過(guò)對(duì)照歷史日志82的相關(guān)部分檢查結(jié)果而驗(yàn)證獲得與由主控制器31發(fā)送的輸出相同的輸出。這在圖9中示出,圖9示出了簡(jiǎn)化的示例,其中安全控制器在將被審查的兩個(gè)可能的步驟中的ー個(gè)之間進(jìn)行選擇。假設(shè)之前產(chǎn)生的步驟ID,驗(yàn)證操作79繼續(xù)進(jìn)行以采用來(lái)自歷史日志82的相關(guān)輸入狀態(tài)審查選定的步驟,并針對(duì)相關(guān)的情況確定該結(jié)果是否與來(lái)自歷史日志的對(duì)應(yīng)的輸出狀態(tài)對(duì)應(yīng)。在失敗情況中,安全控制器32通知內(nèi)部欺詐管理器(步驟91)。欺詐管理器的主要作用是維持所有驗(yàn)證失敗的列表。系統(tǒng)優(yōu)選被配置為使得總是將到達(dá)欺詐管理器的任何通知無(wú)論是立即地還是以規(guī)則或隨機(jī)間隔以安全的方式轉(zhuǎn)送至外部實(shí)體1(圖4),使得外部實(shí)體隨后可以采取適當(dāng)?shù)男袆?dòng)。例如,安全控制器32可以包含被編碼為標(biāo)志寄存器的安全狀態(tài)。該標(biāo)志寄存器的一位或多位可以用來(lái)對(duì)驗(yàn)證進(jìn)程的狀態(tài)進(jìn)行編碼。如果該寄存器總是被包括在由安全控制器產(chǎn)生的所有簽名中,則總是向外部實(shí)體或服務(wù)器通知安全控制器的狀態(tài)。在成功的情況中,安全控制器32將成功審查通知發(fā)送至主控制器31。成功審查通知可以通過(guò)簽名的確認(rèn)99發(fā)送至主控制器31。這種確認(rèn)可以由主控制器用來(lái)向外部實(shí)體I證明已經(jīng)成功地審查進(jìn)程,并且外部實(shí)體隨后可以信任該結(jié)果。存在多種方法用于計(jì)算這種確認(rèn)。作為示例,安全控制器32可以對(duì)最后ー個(gè)安全步驟(如在VERIFY步驟79期間接收到的)的輸出狀態(tài)進(jìn)行哈希操作,隨后采用諸如AES (高級(jí)加密標(biāo)準(zhǔn))之類的對(duì)稱加密簽名方案對(duì)該結(jié)果進(jìn)行簽名。成功的審查還可以導(dǎo)致準(zhǔn)許對(duì)安全控制器上的要求較高的特權(quán)的某些服務(wù)或資源的臨時(shí)訪問(wèn),如對(duì)安全存儲(chǔ)中的受限制的信息的訪問(wèn),對(duì)支付應(yīng)用或鑒別憑證的產(chǎn)生的訪問(wèn)。主控制器31隨后可能需要被規(guī)則地審查,以維持受限制的服務(wù)/資源的可用性。在一些情況中,可能更容易驗(yàn)證給定的輸入狀態(tài)和輸出狀態(tài)非常好地滿足已限定的前提和后置條件,而不是向上述示例中那樣執(zhí)行步驟本身。例如,如果進(jìn)程計(jì)算數(shù)的平方根,則實(shí)際上更容易驗(yàn)證平方根結(jié)果確實(shí)等于輸入,而不是進(jìn)行平方根開方。圖10和11 一起說(shuō)明其中主控制器31和安全控制器32中的某些操作被并行執(zhí)行的實(shí)施例。這通過(guò)同時(shí)運(yùn)行RUN和COMMIT階段101而改善了整體速度性能。在初始化審查進(jìn)程(步驟74)之后,使安全控制器32選定步驟ID (步驟75),主控制器31將COMMIT數(shù)據(jù)發(fā)送至安全控制器同時(shí)仍然執(zhí)行審查進(jìn)程(步驟102),安全控制器32存儲(chǔ)歷史日志的所接收到的相關(guān)部分(步驟103),舍棄涉及非選定步驟ID的部分。其結(jié)果是,如果主控制器31裝配有允許沒有干預(yù)地將數(shù)據(jù)從主CPU發(fā)送至外部裝置的DMA(直接存儲(chǔ)器訪問(wèn))子控制器或類似裝置,則可以幾乎沒有系統(tǒng)開銷地執(zhí)行該部分驗(yàn)證進(jìn)程。這樣,可以幾乎與未被審查的方案一祥快地運(yùn)行審查進(jìn)程。同樣,通過(guò)并行運(yùn)行,RUN階段之后的系統(tǒng)開銷延遲下降得相當(dāng)多,因?yàn)槿魏窝舆t現(xiàn)在僅是由可以與已經(jīng)描述的VERIFY階段相同的后續(xù)VERIFY階段73的執(zhí)行引起。在圖10中說(shuō)明了上述并行模式實(shí)施例的變型。這類似于圖7的順序模式實(shí)施例,具有兩個(gè)主要的差異。首先,主控制器31在執(zhí)行審查進(jìn)程緊之前在安全控制器32上初始化審查機(jī)制(步驟74),使安全控制器32隨機(jī)地且秘密地選定步驟ID (步驟75)。其次,在審查進(jìn)程的執(zhí)行期間獲得初始、中間和最終狀態(tài)(步驟121)未被主控制器31記錄,而是立即被發(fā)送至安全控制器32。如果主控制器31具有DMA控制器或類似裝置,則可以與審查進(jìn)程的執(zhí)行并行地執(zhí)行這種通信,因此對(duì)該進(jìn)程的執(zhí)行速度幾乎沒有影響。如果該狀態(tài)是安全控制器選擇驗(yàn)證的步驟的輸入狀態(tài)或輸出狀態(tài),則安全控制器 32保持該數(shù)據(jù)。如果不是,則簡(jiǎn)單地舍棄該數(shù)據(jù)。然而,這必須以主控制器不能告知該數(shù)據(jù)是否已經(jīng)被保持或舍棄的方式進(jìn)行,以便主控制器31看不到步驟ID值。為了維持進(jìn)程執(zhí)行鏈的內(nèi)聚性(cohesion),重要的是不將中間狀態(tài)分成2個(gè)部分將包含之前的步驟的輸出的部分,將包含下一個(gè)步驟的輸入的另ー個(gè)部分。否則攻擊者將在沒有檢測(cè)的情況下能夠容易地改變?nèi)魏尾襟E的輸入。在該實(shí)施例中,象在上述圖7的順序模式實(shí)施例中一樣執(zhí)行驗(yàn)證進(jìn)程。在該情況中唯一的差別是安全控制器不必選擇哪個(gè)狀態(tài)數(shù)據(jù)用于驗(yàn)證進(jìn)程,因?yàn)檫@已經(jīng)在COMMIT階段期間完成。當(dāng)審查進(jìn)程中的中間狀態(tài)的尺寸非常大時(shí),出于性能原因,變得有利的是限制在主控制器和安全控制器之間傳送的數(shù)據(jù)的量。一種解決方案包括修改COMMIT階段以不發(fā)送完整的歷史日志,而且僅發(fā)送安全控制器需要的2個(gè)狀態(tài)。采用對(duì)整個(gè)歷史日志的加密哈希實(shí)現(xiàn)提交部分。這種哈希允許主控制器提交整個(gè)歷史日志,而不是實(shí)際上完整地發(fā)送它。這種解決方法可以應(yīng)用順序和并行模式實(shí)施例二者。在順序模式實(shí)施例(圖12)中,與圖7的標(biāo)準(zhǔn)順序模式實(shí)施例相比,僅改變COMMIT階段。RUN和VERIFY階段相同。在COMMIT階段中,添加額外的交換,以便安全控制器32可以告知主控制器31正在驗(yàn)證哪個(gè)步驟。但是在傳送選定步驟ID之前,主控制器31首先必須通過(guò)對(duì)內(nèi)容進(jìn)行哈希操作并將哈希結(jié)果發(fā)送至安全控制器32 (步驟122,123)而提交完整的執(zhí)行歷史。這樣,如果出現(xiàn)安全控制器想要驗(yàn)證審查進(jìn)程中在RUN階段已經(jīng)被入侵的(hacked)部分的情況,則被入侵的主控制器31件不可能改變歷史日志內(nèi)容。同樣,計(jì)算該哈希,使得在未由安全控制器32檢測(cè)到對(duì)應(yīng)于不同步驟ID的輸入狀態(tài)和輸出狀態(tài)數(shù)據(jù)吋,主控制器31不能傳送對(duì)應(yīng)于不同步驟ID的輸入狀態(tài)和輸出狀態(tài)數(shù)據(jù)。可以使用在現(xiàn)有技術(shù)中描述的幾種哈希方案。在下文描述并在圖13a中說(shuō)明了一種簡(jiǎn)單且仍然有效的哈希方案。這種簡(jiǎn)單的哈希方案包括単獨(dú)地對(duì)每種狀態(tài)(狀態(tài)0...狀態(tài)N)進(jìn)行哈希操作,并將每種狀態(tài)的哈希結(jié)果(HO... HN)發(fā)送至安全控制器。在這種方案中,如果審查進(jìn)程由N個(gè)步驟組成,則N+1個(gè)哈希被發(fā)送至安全控制器。出于安全原因,彼此采諸如SHA-l、SHA-256等之類的強(qiáng)加密算法進(jìn)算所述哈希。如果Hlm是哈希結(jié)果中的字節(jié)的大小,則采用這種簡(jiǎn)單的方案將(N+1) Hlm個(gè)字節(jié)發(fā)送至安全控制器32。例如,對(duì)于由10個(gè)中間步驟組成的審查進(jìn)程,采用SHA-I哈希算法導(dǎo)致220個(gè)字節(jié)的系統(tǒng)開銷。安全控制器存儲(chǔ)對(duì)應(yīng)于正在驗(yàn)證的步驟的輸入狀態(tài)和輸出狀態(tài)的哈希(圖12 :步驟124),舍棄其它的哈希,并以選定步驟的步驟ID作為回應(yīng)??傊@必須以主控制器不能猜到選定步驟ID的值的方式進(jìn)行。在接收到步驟ID (125)時(shí),主控制器發(fā)送對(duì)應(yīng)于選定步驟的輸入狀態(tài)和輸出狀態(tài)的數(shù)據(jù)(步驟126,127),選定步驟的輸入狀態(tài)和輸出狀態(tài)隨后由安全控制器存儲(chǔ)。最后,安全控制器驗(yàn)證接收到的數(shù)據(jù)的完整性(步驟128)。安全控制器對(duì)接收到的狀態(tài)的數(shù)據(jù)進(jìn)行哈希操作,將每個(gè)結(jié)果與之前由主控制器發(fā)送的對(duì)應(yīng)的哈希結(jié)果進(jìn)行比較(在步驟123中)。如果哈希驗(yàn)證失敗,則通知內(nèi)部欺詐管理器(如在上述圖9中說(shuō)明的 實(shí)施例的VERIFY階段中描述的那樣)。如果驗(yàn)證成功,則存儲(chǔ)相關(guān)歷史(步驟129),并且可以完全舍棄狀態(tài)哈希。隨后如之前一祥,繼續(xù)執(zhí)行VERIFY階段。在上述哈希方案的替代哈希方案中,發(fā)送至安全控制器的哈希結(jié)果的數(shù)量可以減少至僅為3,與審查進(jìn)程中的步驟的數(shù)量無(wú)關(guān)。在圖13b和圖14中說(shuō)明了這種原理,圖13b示出了產(chǎn)生全局哈希結(jié)果H的附加哈希步驟,圖14示出了主控制器和安全控制器之間的通信操作的示例性順序。在COMMIT階段141中,主控制器在所有狀態(tài)哈希(HO. . . HN)的聯(lián)接形成的字節(jié)字符串上計(jì)算附加哈希H。在COMMIT階段141開始時(shí),主控制器將總哈希的值發(fā)送至安全控制器(步驟142),安全控制器以將被驗(yàn)證的步驟ID對(duì)此進(jìn)行回應(yīng)(步驟143)。主控制器通過(guò)發(fā)送對(duì)應(yīng)于將被驗(yàn)證的步驟的輸入狀態(tài)和輸出狀態(tài)的中間哈希Hiih和Hid而完成COMMIT階段(步驟144)。在VERIFY階段145a,145b中,為了保護(hù)COMMIT階段期間發(fā)送的中間哈希Hiih和Hid的完整性,安全控制器首先必須驗(yàn)證已經(jīng)由主控制器正確地計(jì)算總哈希。然而,代替系統(tǒng)性地這么做(這將要求主控制器發(fā)送所有的中間哈希結(jié)果HO. . . HN),安全控制器將全局哈希H的計(jì)算視為審查進(jìn)程的可以隨機(jī)地驗(yàn)證的附加虛擬步驟。因此在驗(yàn)證階段開始時(shí),安全控制器隨機(jī)地選擇是否正常地進(jìn)行選定步驟的驗(yàn)證(驗(yàn)證序列145b),或者是否驗(yàn)證全局哈希計(jì)算步驟的完整性(驗(yàn)證序列145a),并相應(yīng)地通知主控制器。在第一種情況145b中,主控制器發(fā)送對(duì)應(yīng)于選定步驟的輸入狀態(tài)和輸出狀態(tài)的數(shù)據(jù)(步驟146b),并且VERIFY階段照常進(jìn)行,主控制器返回相關(guān)狀態(tài)(步驟147b)。在第二種情況145a中,安全控制器請(qǐng)求所有的哈希結(jié)果(步驟146a)且主控制器返回所有的中間哈希結(jié)果HO…HN(除了之前發(fā)送的Hiih和Hid),并且安全控制器驗(yàn)證主控制器發(fā)送的全局哈希是否正確。以與上文描述的方式類似的方式處理成功或失敗。采用上述方案,不需要將所有狀態(tài)哈希發(fā)送至狀態(tài)控制器,從而在不明顯地?fù)p害安全性的情況下明顯地降低整體通信開銷。在采用哈希操作的并行模式實(shí)施例中,主要差別是與審查進(jìn)程的執(zhí)行同時(shí)地進(jìn)行哈希提交部分。之后仍然進(jìn)行狀態(tài)數(shù)據(jù)的實(shí)際傳送。這在圖15和16中說(shuō)明。所涉及的操作類似于圖12和13中說(shuō)明的順序哈希實(shí)施例的操作,在執(zhí)行每個(gè)步驟的同時(shí)執(zhí)行該步驟的哈希操作并將其傳送至安全控制器。這種并行模式實(shí)施例的主要優(yōu)點(diǎn)是不需要更復(fù)雜的哈希方案,因?yàn)楣魉褪桥c進(jìn)程執(zhí)行并行地進(jìn)行的。然而,它要求安全控制器是能夠由主控制器永久訪問(wèn)的。上述機(jī)制保護(hù)裝置內(nèi)運(yùn)行的進(jìn)程免受篡改攻擊。這些進(jìn)程既沒有必要保護(hù)從外部實(shí)體I接收的或發(fā)送至外部實(shí)體I (圖4)的數(shù)據(jù)的完整,也沒有必要保護(hù)主數(shù)據(jù)的完整性。因此在ー些實(shí)施例中數(shù)據(jù)鑒別可能是必要的,以確保正確的進(jìn)程已經(jīng)應(yīng)用于正確的數(shù)據(jù)。這么做的ー種方式是通過(guò)在裝置30和外部實(shí)體I之間增加安全信道,并將本發(fā)明的應(yīng)用擴(kuò)展至管理這種安全信道的子進(jìn)程。此外,主機(jī)中存儲(chǔ)的任何數(shù)據(jù)庫(kù)可以采用允許驗(yàn)證數(shù)據(jù)庫(kù)中的數(shù)據(jù)是否已經(jīng)被篡改的鑒別數(shù)據(jù)擴(kuò)充(augment)。這在圖17中說(shuō)明。從裝置30到外部實(shí)體I的傳送信道171由對(duì)將發(fā)送至裝置30的任何數(shù)據(jù)進(jìn)行簽名的外部實(shí)體保護(hù),從裝置30到外部實(shí)體I的傳送信道172由對(duì)發(fā)送至外部實(shí)體I的任何數(shù)據(jù)進(jìn)行簽名的裝置30保護(hù)。當(dāng)使用數(shù)據(jù)鑒別時(shí),發(fā)送至裝置30中的安全控制器的所有輸入數(shù)據(jù)或主數(shù)據(jù)由數(shù)據(jù)鑒別信息擴(kuò)充,以允許安全控制器驗(yàn)證未由進(jìn)程導(dǎo)出以進(jìn)行驗(yàn)證的數(shù)據(jù)的完整性。
同樣,當(dāng)VERIFY階段成功地完成吋,安全控制器對(duì)由主進(jìn)程產(chǎn)生的數(shù)據(jù)進(jìn)行簽名,以便通知外部實(shí)體I主進(jìn)程已經(jīng)成功地由安全控制器審查。該實(shí)施例具有關(guān)于如何處理由外部實(shí)體I發(fā)送至裝置30的輸入數(shù)據(jù)的兩種主要變型。在第一種變型中,總是由安全控制器驗(yàn)證輸入數(shù)據(jù)的完整性。安全控制器因此通知主控制器輸入數(shù)據(jù)是否已經(jīng)被篡改。為了避免兩次傳送數(shù)據(jù)的需求,可以在進(jìn)行這種完整性檢查之前初始化審查進(jìn)程,因?yàn)榘踩刂破骺赡芤呀?jīng)存儲(chǔ)了將由審查步驟使用的輸入數(shù)據(jù)。在第二種變型中,驗(yàn)證數(shù)據(jù)步驟可以通過(guò)安全控制器進(jìn)行隨機(jī)驗(yàn)證。照常執(zhí)行COMMIT階段,并且無(wú)論何時(shí)VERIFY階段需要從外部實(shí)體發(fā)送輸入數(shù)據(jù)的全部或一部分,都一起發(fā)送輸入鑒別數(shù)據(jù)。下述簡(jiǎn)單的計(jì)算示例希望說(shuō)明如何應(yīng)用本發(fā)明以保護(hù)包括諸如多個(gè)項(xiàng)的相加之類的簡(jiǎn)單計(jì)算鏈的進(jìn)程。這可以看作是從GNSS信號(hào)導(dǎo)出位置所必需的計(jì)算步驟或從一系列記錄位置導(dǎo)出費(fèi)用的步驟的簡(jiǎn)化形式??紤]下述4個(gè)項(xiàng)的相加R = A+B+C+D根據(jù)本發(fā)明,外部實(shí)體I向裝置30提供4個(gè)變量A、B、C和D的值,并預(yù)期該裝置返回為這個(gè)4值的和的正確值R。為了保護(hù)這4個(gè)輸入值和結(jié)果的完整性,外部實(shí)體和該裝置內(nèi)的安全控制器共用公共簽名方案S。求和計(jì)算由主控制器在3個(gè)后續(xù)步驟中進(jìn)行首先計(jì)算和Rab = A+B,隨后計(jì)算和Rabc = Rab+C,取后計(jì)算結(jié)果 R = RABC+D。在接下來(lái)的示例中,應(yīng)用并行模式,即其中主控制器在每個(gè)階段將狀態(tài)傳送至安全控制器。外部實(shí)體首先對(duì)輸入數(shù)據(jù)進(jìn)行簽名以保護(hù)它們的完整性,并將輸入數(shù)據(jù)和簽名發(fā)送至主控制器,如下表中所示。
權(quán)利要求
1.ー種數(shù)據(jù)處理設(shè)備(30),包括 本地?cái)?shù)據(jù)源(4); 第一控制器(31);和 防篡改第二控制器(32),防篡改第二控制器被配置為與第一控制器(31)進(jìn)行通信以及驗(yàn)證由第一控制器(31)進(jìn)行的一系列操作的完整性, 第一控制器(31)被配置為控制并且從本地?cái)?shù)據(jù)源(4)和經(jīng)由通信接ロ連接至第一控制器的感測(cè)單元接收數(shù)據(jù),以及對(duì)所述數(shù)據(jù)進(jìn)行一系列計(jì)算操作, 其特征在于,第一控制器被配置為記錄從該系列計(jì)算操作的開始和結(jié)束狀態(tài)導(dǎo)出的歷史數(shù)據(jù)并將歷史數(shù)據(jù)傳送至第二控制器,第二控制器(32)被配置為隨機(jī)地或偽隨機(jī)地選擇和驗(yàn)證所述操作中的ー個(gè),以采用所述歷史數(shù)據(jù)驗(yàn)證該系列操作的完整性。
2.一種車載遠(yuǎn)程信息通信系統(tǒng)(180),包括權(quán)利要求I所述的數(shù)據(jù)處理設(shè)備,其中感測(cè)單元為位置感測(cè)單元,并且本地?cái)?shù)據(jù)源包括地圖數(shù)據(jù)源,第一控制器(31)被配置為基于從位置感測(cè)單元接收到的數(shù)據(jù)計(jì)算車輛的位置。
3.根據(jù)權(quán)利要求2所述的車載遠(yuǎn)程信息通信系統(tǒng)(180),其中本地?cái)?shù)據(jù)源包括費(fèi)用數(shù)據(jù)源,第一控制器被配置為基于計(jì)算出的位置和從費(fèi)用數(shù)據(jù)源和地圖數(shù)據(jù)源接收的數(shù)據(jù)計(jì)算費(fèi)用。
4.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其中第二控制器被提供為可移除卡,可移除卡包括用于識(shí)別該車載遠(yuǎn)程信息通信系統(tǒng)的用戶的數(shù)據(jù)。
5.根據(jù)前述權(quán)利要求中任一項(xiàng)所述的系統(tǒng),其中第二控制器(32)被配置為隨機(jī)地或偽隨機(jī)地選擇操作子集。
6.根據(jù)權(quán)利要求2-5中任一項(xiàng)所述的系統(tǒng),其中第二控制器(32)被配置為在位置計(jì)算操作和費(fèi)用計(jì)算操作之一或二者期間驗(yàn)證由第一控制器進(jìn)行的操作的選定子集的完整性。
7.根據(jù)權(quán)利要求I所述的系統(tǒng),其中第二控制器被配置為存儲(chǔ)僅用于將被驗(yàn)證的ー個(gè)選定操作的歷史數(shù)據(jù)。
8.根據(jù)權(quán)利要求I或7所述的系統(tǒng),其中第一控制器被配置為在進(jìn)行每個(gè)操作時(shí)傳送歷史數(shù)據(jù),第二控制器被配置為根據(jù)將被驗(yàn)證的那個(gè)操作的選擇決定是存儲(chǔ)還是舍棄所傳送的歷史數(shù)據(jù)。
9.根據(jù)權(quán)利要求1、7和8中任一項(xiàng)所述的系統(tǒng),其中歷史數(shù)據(jù)是從該系列計(jì)算操作的開始和結(jié)束狀態(tài)的哈希導(dǎo)出的。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中第二控制器被配置為在第一控制器已經(jīng)發(fā)送由第一控制器進(jìn)行的操作的哈希結(jié)果之后指示第一控制器傳送哪些歷史數(shù)據(jù)。
11.ー種計(jì)量系統(tǒng),包括權(quán)利要求I所述的數(shù)據(jù)處理設(shè)備,其中感測(cè)單元為能量計(jì),并且第一控制器被配置為基于從感測(cè)単元和本地?cái)?shù)據(jù)源接收的數(shù)據(jù)產(chǎn)生能量定價(jià)。
12.—種操作權(quán)利要求I所述的數(shù)據(jù)處理系統(tǒng)的方法,該方法包括下述步驟 第一控制器從感測(cè)単元和本地?cái)?shù)據(jù)源接收數(shù)據(jù); 第一控制器基于接收到的數(shù)據(jù)進(jìn)行一系列操作; 第一控制器記錄從該系列計(jì)算操作的開始和結(jié)束狀態(tài)導(dǎo)出的歷史數(shù)據(jù)并將歷史數(shù)據(jù)傳送至第二控制器;以及 第二控制器隨機(jī)地或偽隨機(jī)地選擇和驗(yàn)證由第一控制器進(jìn)行的操作中的ー個(gè),采用所述歷史數(shù)據(jù)驗(yàn)證選定操作的完整性,以及提供正確或不正確驗(yàn)證的指示。
13.ー種操作根據(jù)權(quán)利要求2-10中任一項(xiàng)所述的車載遠(yuǎn)程信息通信系統(tǒng)的方法,該方法包括下述步驟 第一控制器從位置感測(cè)單元以及地圖數(shù)據(jù)源和費(fèi)用數(shù)據(jù)源接收數(shù)據(jù)(184); 第一控制器基于從位置感測(cè)單元接收到的數(shù)據(jù)計(jì)算車輛的位置; 第一控制器基于計(jì)算出的位置和從地圖數(shù)據(jù)源和費(fèi)用數(shù)據(jù)源接收到的數(shù)據(jù)計(jì)算費(fèi)用; 第一控制器記錄從一系列計(jì)算操作的開始和結(jié)束狀態(tài)導(dǎo)出的歷史數(shù)據(jù)并將歷史數(shù)據(jù)傳送至第二控制器;以及 第二控制器(32)隨機(jī)地或偽隨機(jī)地選擇和驗(yàn)證該系列操作中的ー個(gè),采用所述歷史數(shù)據(jù)驗(yàn)證進(jìn)行的操作的選定子集的完整性,以及提供正確或不正確驗(yàn)證的指示。
全文摘要
一種數(shù)據(jù)處理設(shè)備(30),包括本地?cái)?shù)據(jù)源(4);第一控制器(31);和防篡改第二控制器(32),防篡改第二控制器被配置為與第一控制器進(jìn)行通信,第一控制器被配置為控制并且從本地?cái)?shù)據(jù)源和經(jīng)由通信接口連接至第一控制器的感測(cè)單元接收數(shù)據(jù),以及對(duì)所述數(shù)據(jù)進(jìn)行一系列計(jì)算操作,其中第二控制器被配置為驗(yàn)證由第一控制器進(jìn)行的操作的選定子集的完整性。
文檔編號(hào)G07B15/02GK102656590SQ201080057000
公開日2012年9月5日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2009年12月16日
發(fā)明者克勞德·德巴, 邁克爾·M·P·皮特斯, 韋茨斯拉夫·尼科夫 申請(qǐng)人:Nxp股份有限公司