台灣車聯網產業協會
 
 
 
 
 
分類選單
TTIA10周年專刊電子書

TTIA 社群平台
電子報/友會
新訊公告
瀏覽人次統計
當日人次:16060
累計人次:50436014

《轉貼文章》防範聯網車輛個資遭竊 信任錨強化汽車電子系統安全

2014/1  Dirk Besenbruch
車內互聯技術蓬勃發展,使得聯網汽車的安全問題日益受到市場重視,因此汽車電子系統設計人員開始在電子控制單元(ECU)中整合信任錨(Trust Anchor),以建立一個必須授權才能進行讀寫操作的安全儲存區,防止網路駭客侵入。
隨著車內互聯技術蓬勃發展,意味著汽車產業必須找到新的安全技術,以防止網路駭客侵入。本文簡述由「信任錨(Trust Anchor)」和安全處理器構成的新型架構。用戶藉由安全錨可實現獨立操作,並保護網路與個人資料免受未經授權的存取或操縱。  

提高聯網汽車安全性 汽車匯流排舉足輕重 

汽車產業開發並引入控制器區域網路匯流排(CAN Bus)至今已有近25年的歷史。在此期間,汽車的電子電氣架構因電子控制單元(ECU)數量不斷增加,而逐漸成形。由於彼此互聯的ECU在運轉時,須要持續交換資料,所以從一開始,網路可靠性即為開發CAN的重點。此外,車用網路還須具備高度靈活性、能使用語音通訊標準及安全的互通性的特性,如此可讓汽車製造商推出更多新款車型和可選配備,並同時為不同車型提供跨平台的個別模組和ECU(將重複使用率最大化)。  

除CAN匯流排之外,近幾十年來,業界還開發出其他多種匯流排系統用於現代車輛,根據不同應用領域,這些系統可在頻寬和即時能力上提供競爭優勢。毫無疑問,可靠性和高可用性仍是基本要求,但問題在於,這些系統很少在開發階段考慮如何防範潛在的非法操控。  

隨著電子控制裝置類別的不斷擴大(目前一輛汽車中的控制裝置和處理器模組早已突破七十個),以及不同匯流排系統的混合使用,我們將最終組建的系統架構分為多個子匯流排系統,並全部通過一個充當閘道的中央ECU實現連接。圖1顯示典型的網路拓撲架構。  

 

圖1 典型的網路拓撲架構

另一值得注意的趨勢是,當前汽車具有多種介面,用以連接外部服務和消費性電子設備,如透過無線區域網路(WLAN)連結網路服務,或以藍牙實現手機互聯。一些可從網際網路下載的車輛相關應用正在進行開發,或已經可供使用。同時,車載資通訊(Telematics)和緊急呼叫模組也向車用網絡提供額外的外部介面。  

直到現在,保護車用網路免於未經授權的操控仍未受到重視。同時,與相容性和可靠性相關的措施使制定和實施適當的安全架構變得日趨複雜。因此,在開發階段初期,安全要素就應當被整合至車用網路的架構定義之中。  

車用網路駭客攻擊無孔不入 

過去2年,媒體公布多起針對車用網路架構漏洞的駭客攻擊。這些案例說明,借助外部介面,汽車內部某些功能是可以被啟用或關閉的。舉例來說,我們得知的攻擊和非法操控類型包括修改車輛的行駛里程和保養資料、利用胎壓監測系統(TPMS)模組非法獲取特定車輛的地理位置、竊聽透過藍牙進行的電話通訊、通過非法入侵操控電子控制單元軟體來修改晶片參數,以及利用感染病毒的光碟,在資訊娛樂系統中安裝木馬程式。  

以下是常見的一些攻擊方法:  

‧竊聽 

監聽車輛內部通訊,以找出系統中的潛在漏洞。  

‧中繼攻擊 

截取資料匯流排發出的資訊,隨後再將這些資訊發回系統,令ECU執行錯誤功能。  

‧中間人攻擊 

此例中,先截取原始資訊,更改之後再傳送出去。  

‧修改單個ECU和更改非揮發性記憶體 

ECU軟體被人為操縱,並透過聯合測試工作群組(JTAG)診斷介面重新安裝。  

在許多案例中,車載診斷系統(On-Board Diagnostics, OBD)介面被用於對汽車中,以纜線為基礎的實體層進行接入。  

提高車電系統安全刻不容緩 

顯而易見地,設計人員須要提高車用網路的安全性,防範人為操縱,進而保證資料完整性。與此同時,設計人員亦須確保網路的可靠性與性能不受影響,如使用加密技術不能影響任何與安全有關的系統(制動裝置或氣囊等);車內不同設備所具備的靈活性不會因此被削弱。  

合理的解決方案應當可與現有架構和系統實現相容,當前的硬體平台和軟體元件應當盡可能不予修改。  

解決方案:整合信任錨 

確保現有和未來系統安全的可行方法之一為:整合一個必須憑藉授權才能進行讀寫操作的安全儲存區。藉由在與安全相關的ECU中整合可靠的元件--信任錨,即可提高資料安全性。  

信任錨其實是一種安全微控制器(MCU),在很多與安全相關的系統中得到廣泛應用,包括信用卡和手機用戶身份模組(SIM)卡等。這種額外增加的微控制器與整體系統的各個方面有著千絲萬縷的聯繫(圖2)。  

 

圖2 安全設計的各個面向

安全元件襄助 信任錨升級車電系統安全 

信任錨可以安全元件的方式達成。安全元件可將相關安全功能強化到特定裝置中,為ECU提供安全處理器,實現對稱和非對稱通訊加密輔助處理器、安全證明和個人金鑰管理、生成公共金鑰和校驗碼,以及僅供系統內部授權方使用,可進行讀寫操作的安全儲存區功能。  

[@B]整合/獨立型安全元件應運而生[@C] 整合/獨立型安全元件應運而生 

在汽車領域,半導體業者已開始開發此類安全元件,如恩智浦(NXP)車輛遠端訊息處理車用單元平台(Automotive Telematics On-Board Unit Platform, ATOP)中,對資料和遠端資訊模組存取權限進行保護。獨立安全元件在汽車領域的另一個使用案例則是「支付鑰匙」,也就是以信用卡做為車輛鑰匙,該功能需要安全元件符合通用標準認證等級(Common Criteria Level)5+級的標準。  

安全元件確保ECU安全 

防範駭客攻擊的功能和應用一旦確定後,就必須從網路架構中找出相應的ECU,為其配備以安全元件形式出現的信任錨(圖3)。這可能涉及到需要現地保護的功能,例如「保存」、「調用」或者「驗證」ECU主微控制器所使用的資料,或者確保能安全連結到其他ECU。無論在何種情況下,都需要一種可防止軟體遭操縱的安全啟動演算法。  

 

圖3 ECU架構中的安全元件

安全元件可透過串列周邊介面(SPI)或內部整合電路(I2C)介面連結至ECU的微控制器。高達80KB的非揮發性儲存容量可用於創建獨立應用程式,並安全地儲存證明和個人金鑰。基於應用的安全功能得透過安全元件中的嵌入式80C51內核實施並執行,案例包括安全啟動微控制器;生成公共金鑰、工作階段金鑰或安全證明,用於驗證車用網路通訊;以及確保儲存微控制器參數和運算結果或車用網路資訊,如確保車速記錄儀資料或特殊參數。  

除安全元件內部的可編程式安全中央處理器(CPU)外,用戶還可以使用加密輔助處理器。公共金鑰加密輔助處理器支援多種加密技術,包括RSA(最高達2,048位元)、Diffie-Hellman密碼交換系統,以及橢圓曲線加密系統(金鑰長度可達320位元)。對於AES輔助處理器對稱加密,電子編碼本(Electronic Cypher Codebook, ECB)模式支援最高128位元的資料封包,而密碼區塊鏈結(CBC)模式則支援更大的資料量。此外,形成散列碼(Hash Sums)並檢查儲存區是否遭到操縱,輔助處理器則可以執行SHA1演算法、SHA224演算法和SHA256演算法,同時支援SEED演算法和MD5校驗。另外,通過驗證,符合AIS-31標準的真亂數產生器(TRNG)也包括在內。  

硬體同樣獲得高安全等級的保護,以抵禦物理攻擊。旁道(Side-channel)和反向工程(Reverse Engineering)攻擊均可藉由有效對策進行防範。因此,對於支付功能等封閉系統,可依照通用標準(Common Criteria)或聯邦資訊處理標準(FIPS)進行驗證。  

JCOP作業系統介紹 

JCOP(Java Card OpenPlatform)作業系統為一個帶有符合Java Card規範的安全元件,以Java為基礎的獨立作業系統,藉由運用加密程式和輔助處理器為使用者提供各類程式及執行函數。其可以管理各個單獨的應用程式,並提供通用型之輸入輸出(GPIO)介面控制。用戶可以借助基於Java的開發環境(如Eclipse)開發自己的應用程式,然後寫入安全記憶體中。  

使用安全元件的用戶亦可選擇開發專屬的客製化應用,實現特定ECU功能。這方面的案例包括外部微控制器的安全啟動,從而實現保護ECU參數,並管理安全資料記錄。  

必要時,應用程式可以生成臨時證明和公共金鑰。在這種情況下,無法從安全元件外部獲取所需金鑰,因而使駭客無從下手。應用程式則借助MCU相對應地在外部啟動。

另一個應用案例則是透過安全元件對匯流排通訊進行授權。此時,散列碼或校驗碼的運算金鑰,同樣保留在受保護的儲存區內;運算則在安全元件中進行,因此無法從外部探知。  

安全元件內對JCOP作業系統功能和應用程式的調用,均由奠基於ECU主控制器的應用程式介面(API)執行。API由兩個重要部分組成,即主驅動程式和驗證資料庫。微控制器的主編程會調用主驅動程式,並在安全元件中形成應用程式介面;驗證資料庫則用於安全元件對主控制器身分的驗證。  

安全元件確保生產和交付過程安全 

定義系統時必須考慮的另一個面向是,在模組製造過程中如何管理金鑰與機密資訊,並將這些資料傳輸至安裝好的ECU中。汽車製造商在整個價值鏈中必須指定,誰負責安裝安全元件、誰負責在ECU中安裝金鑰,以及在供應鏈的每個階段是如何進行管理分配的。  

汽車製造業可以借鑑已經在銀行和信用卡供應鏈中得到驗證的流程。以汽車製造商對進行ECU客製化的流程觀之(圖4),直至車輛的最終組裝階段,模組製造商(1級供應商)和半導體供應商均使用預先達成一致的傳輸金鑰。即便是替換零件,也會同樣安裝這些金鑰。  

 

圖4 信任獲取示意圖

在半導體元件生產過程中,傳輸金鑰在安全的環境中被寫入安全元件的儲存區,進而確保安裝的元件僅可用於指定的模組供應商。  

模組一旦被交付至1級供應商,汽車製造商就能使用專為每輛汽車設計的特定應用資料金鑰,去檢驗運輸金鑰,並將資料同步到該款汽車的後端資料庫。  

某些特定應用程式可事先預裝進安全元件中(由1級供應商或半導體供應商負責),再向後端系統提供連結資料(例如通過VPN),達成「端到端」加密。舉例來說,這一流程適用於實地ECU資訊交互。  

安全元件襄助 車電系統安全大躍進 

汽車電子系統安全的重要性與日俱增,涉及到三個主要原因,其一為車輛內部的電子控制裝置高度互聯,意味著必須確保這些裝置的安全,防止其功能遭受任何未經授權的更改和人為操縱(通常相當危險)。  

其二是車用(行動)設備介面數量以及與外部服務(應用程式商店/網際網路)連結的不斷增長,意味著採用安全解決方案刻不容緩。  

最後,Car-to-X通訊和緊急呼叫模組(eCall)使用的前提是必須保證安全,以便保護個人資料,防止對車輛進行惡意遠端操縱。  

安全元件為整個系統提供「信任的根源」。上文闡述的安全需求可以借助安全元件得到解決,同時,開發人員也必須考慮與特殊系統、生命週期及可靠性相關的指導原則。  

防止系統遭到未經授權的操縱,應當在定義和設計階段之初就予以考慮。在如此計畫時,功能性的安全絕對不能被削弱,儘管這些要求有可能在實際應用中產生衝突。  

除用於車用網絡外,安全元件還可用於確保獨立操作的安全,如車輛錯誤記錄、行駛里程及服務資料的防篡改系統。  

當面對eCall、車載資通訊和常規後端服務時,安全元件可做為信任錨,藉由利用VPN通道或HTTPS創建安全連結,以此接入汽車製造商的伺服器。同時,在車載資通訊應用中,也應該開啟有關使用者資料的安全保存功能。  

添入新功能 車電安全再升級 

保護汽車、阻止人為操控的需求正在大幅提升,汽車製造商須要評估整體系統的安全性,還要考慮檢查潛在的駭客攻擊情景,以及哪些資料需受保護。用以保護單獨功能和整體系統的靈活解決方案、評定系統安全等級的標準及針對整體系統進行測試的測試方式功能未來將會至關重要。歸根結底,安全的內部車用網路是未來實現Car-to-X通訊的前提。  

(本文作者任職於恩智浦)

轉貼來源: 

http://www.mem.com.tw/article_content.asp?sn=1312180005