陸超
(上汽大眾汽車有限公司,上海201805)
智能網聯化是目前汽車開發一個亮點,需要在控制整車成本同時,提供用戶豐富生態服務。基于低成本收放機平臺,采用手機車機互聯技術方案,同時支持有線及無線連接方式,手機端傳輸移動在線服務數據,車機進行投屏,支持智能語音識別、多輪對話、微信語音聊天,通過微信群進行群組導航等功能是一個可行的解決辦法,APP 可快速響應新功能需求進行更新。本文提出相關應用場景下的車機、手機APP、后臺服務器三者間通信及數據存儲的一種安全機制方案及應用說明。
整個網絡中的參與節點包括車機端、云端和移動端,三者在系統中是獨立的個體,進行數據鏈接之前的雙方要建立可靠、安全的信任關系認證?;跀底肿C書的認證是目前公認的認證方式最佳實踐,該認證方式既能識別個體身份,也能靈活控制使用范圍和使用期限,并且基于數字證書也是目前最為成熟的[1],所以本方案中會為車端、移動端和云端的設備及個人簽發相應的數字證書,以此作為身份認證的憑據,用以驗證對方的數字簽名。
網絡通信屬于基礎設施范疇,是一切服務的基礎條件,必須保證其高可靠性、高可用性、高保密性。需要著重防范以下風險:a. 數據泄露,采用明文發送數據的HTTP 業務造成數據篡改、泄露、流量劫持等安全問題。通過網絡嗅探設備等技術手段能還原HTTP 報文內容。b.弱算法和協議,隨著時間的推移,過時的加密算法和存在安全漏洞的加密協議均可導致用戶敏感信息泄露。眾所周知,截至目前,DES 對稱算法已經不安全,MD5摘要算法可被碰撞,密鑰長度在1024 位以下的RSA 非對稱算法已不安全,SSL 2.0 協議也已不安全[2]。國家密碼管理局要求金融機構、黨政機關、重點企業,必須使用國密算法和國密協議。c.DNS 劫持,也稱為釣魚攻擊,以危害巨大且不容易被用戶感知著稱。用戶只要接入黑客掌握的公共WiFi,或者瀏覽一下黑客所掌控的特殊構建的WEB 頁面,DNS 就會被黑客篡改,并可以成功躲過常規安全軟件檢測。可導致用戶遭受DNS 詐騙或者敏感數據被竊取和篡改。d.通信過程未/弱加密,存在被破解風險。
主要包括服務器大數據存儲,業務信息存儲;手機端用戶數據臨時緩存;車機端車輛數據、用戶信息存儲;明文保存敏感信息數據在本地,存在被竊取風險。
智能手機作為當今人手必備的隨身設備,安裝有各種應用,而且屬于開放網絡。
手機APP 可以通過USB 和Wifi 和車機進行連接,同時需要和云端連接獲取相應數據。在手機端會保存相應的用戶信息、鑒權信息等,需要進行加密保護。
低成本收放機開發定義可以連接WiFi 熱點,但是車機本身無法上網,收放機通過車身CAN 總線,獲取車輛數據、車況數據等,同時通過車機終端可以進行車輛的設置,是車輛智能化控制不可或缺的核心部分。所以對車機終端安全防護是整車安全以及車聯網安全核心。
在本項目中車機與手機連接,手機只是車機CAN 總線數據的接收端,因此由車機對需要傳遞給手機的數據進行加密保護,車機端CAN 總線數據的安全性由車機端的安全機制來確保。
手機端和車機端采用TCP 的通訊鏈路,基于TLS1.2 協議,證書采用自簽名方式實現。手機端與后臺采集HTTPS 的通訊鏈路,基于TLS1.2 的協議,證書購買CA 數據簽名機構Wosign 的簽名的證書。車機端的安全隔離與權限控制由車機端系統進行控制及授權[3]。手機端既需要和車機端通訊,同時也需要與后臺通訊,手機端Link APP 的內部數據存儲為加密存儲。整體架構圖如下:

圖1 整體架構圖
Link 手機APP 和WeCloud 云端通過HTTPS 進行請求,HTTPS 請求是目前互聯網公認的加密傳輸協議,基于TLS 協議之上的應用層協議,采用專業的CA 機構- 沃通Wosign 的證書。一般需要加密傳輸的主要是用戶信息、鑒權信息、涉及車輛相關的信息,以上這些訪問均采集HTTPS 加密傳輸的方式。
手機終端Link APP 在整體架構中,既需要跟TSP 服務進行交互,也跟車機終端通過USB 或者Wifi 進行數據交互。手機App 和WeCloud 云端通過HTTPS 進行請求,這些請求均采用HTTPS 加密傳輸的方式來確保數據安全。手機App 和車機終端之間通過USB 或者WIFI 構建數據傳輸局域網通道。
手機端主要存貯兩個文件:“私鑰,和加密簽名證書”,目前的手機系統都會分配App 目錄以供存貯相應的文件,安全性由系統來負責。但考慮到這種機制容易被人破解,因此將這些文件以動態申請目錄的方法,存貯在其它系統級目錄,從命名上無法猜測到是證書和私鑰文件,增加破解的難度。
由于操作系統都是可以Root 的,所以不存在絕對的安全,但是對于Link 這樣的一款產品來說,主要功能都存在于手機端,并沒有可以操控車機的功能接口,統計數據也是以加密SDK 的方式直接提交后臺,并沒有特別需要提升安全等級的敏感數據和內容[4]。
3.3.1 方案一
AES 對稱密碼在出車機出廠時預置到車機里,每個項目生成一個。由車機端產生私鑰,并進行公鑰證書生成。首次連接時,通過AES 加密方式傳遞相應的公鑰證書(自簽)及數字簽名(自簽)信息。手機端做為TLS 客戶端,車機端做為TLS 服務端,建立TLS 加密傳輸通道。TLS 使用1.2 版本,加密套件:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
優點:a.車機端生成私鑰及證書,私鑰由車機保存,由于車機不能聯網,定制系統相對安全。b.首次獲取證書使用對稱密鑰,相對安全。
缺點:a.手機存儲的對稱密碼、證書存在被破譯風險。b.車機存儲證書,存在更新問題。
3.3.2 方案二
車機端與手機端建立TLS 單向認證安全鏈接。WeCloud 作為自簽名CA,手機端作為TLS 服務端,車機端作為TLS 客戶端 。 TLS 使 用 1.2 版 本 , 加 密 套 件 :TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
優點:a.整個鏈路相對安全。b.手機APP 非唯一私鑰,確保ID 不同。c.簽名證書由云端生成。
缺點:a.手機不聯網,無法獲取簽名證書,車機與手機無法互聯。b.網絡波動影響連接成功率。c.車機存儲證書,存在更新問題。d.私鑰存儲安全存在風險。e.使用TLS 建立的連接,發現WIFI 方案下,已知三星部分手機,華為部分手機存在TLS 握手時間過長,大概20~40S,導致連接超時,存在適配性問題。f.使用手機驗證碼作為連接前提,增加了用戶使用的復雜度,降低了用戶使用產品的意愿。
車機端防護主要體現在兩個方面:a. 對CA 證書的安全存儲,以防止被人為篡改并連接偽造的惡意手機APP。b.對進程的權限控制,以防止進程與手機APP 的通信已經被劫持的情況下,也只能訪問有限的系統資源。
提前釋放CA 證書存儲到車機,證書通過混淆算法處理成加密字符串的形式。將該證書做進只讀文件系統(rootfs),由于文件系統是只讀的,所以該證書不會被人為篡改。該證書將只屬于相關進程的用戶組,其他進程無法訪問它,這樣就保證了機密性。

圖2 認證流程
采取權限管理機制,對各個應用進程制定DAC 規則并限制其能力。各個應用進程都只屬于各自的用戶,這樣相關進程就只能訪問自己必須訪問的資源,而不能訪問屬于其他進程的資源。相關進程如必須訪問某些系統級資源,則給它賦予特定的能力,這樣它就可以像root 用戶那樣訪問那些必須的系統資源,但它依然不能訪問超出該能力之外的資源。車機各個進程之間的通信,會基于已有的事件ID,超出定義范圍外的事件ID 會被對方拒絕;這樣相關進程將無法獲取未定義的車身數據。