编程实现基于二维易位置换机制进行信息加解密_基于TEE的TBOX安全技术
TBOX面臨的安全威脅
車載終端TBOX(Telematics BOX),是具備數(shù)據(jù)輸入輸出、數(shù)據(jù)存儲、計算處理以及通信等功能的車聯(lián)網(wǎng)控制單元。TBOX與主機通過CAN總線通信,實現(xiàn)對車輛狀態(tài)信息、控制指令、遠程診斷和按鍵狀態(tài)信息等的傳遞;以數(shù)據(jù)鏈路的方式通過后臺TSP系統(tǒng)與PC端網(wǎng)頁或移動端App實現(xiàn)雙向通信。車機要聯(lián)網(wǎng)必須有TBOX設(shè)備才能實現(xiàn)。
TBOX在車聯(lián)網(wǎng)的位置:
TBOX通常采用MCU芯片上跑一個Android操作系統(tǒng),搭配通信模塊、GPS天線、4G天線、數(shù)據(jù)接口等外設(shè)、以及相關(guān)的應(yīng)用軟件。從TBOX的構(gòu)成和作用,我們不難分析出其安全威脅主要來自于以下幾個方面:
操作系統(tǒng)安全威脅
類似Android這類操作系統(tǒng)被稱為REE(富執(zhí)行環(huán)境),由于本身的開放性,不具備secure boot和信任鏈條,注定其是非安全的操作系統(tǒng)。對于REE系統(tǒng)的文件和系統(tǒng)數(shù)據(jù)被竊取或篡改,用戶敏感數(shù)據(jù)被竊取或篡改,操作系統(tǒng)的運行被非授權(quán)干擾或中斷,各種攻擊方式屢見不鮮。
軟件安全威脅
基于REE實現(xiàn)的App應(yīng)用軟件,不具有隔離性。應(yīng)用軟件源碼或敏感數(shù)據(jù)極易被非授權(quán)訪問,組件因為暴漏在開放環(huán)境,很容易被攻擊調(diào)用。應(yīng)用軟件的啟動、升級和退出過程也都非常容易收到非授權(quán)干擾或中斷。
數(shù)據(jù)安全威脅
開放OS中,收集的數(shù)據(jù)沒有基于硬件的防護,極易被攔截或篡改。數(shù)據(jù)在傳輸過程中被竊取或篡改,惡意數(shù)據(jù)在傳輸環(huán)節(jié)中被注入,在數(shù)據(jù)被用戶刪除后未徹底清除或未設(shè)置防回滾保護,導(dǎo)致數(shù)據(jù)被竊取作為攻擊樣本。
通信安全威脅
數(shù)據(jù)通信沒有信任鏈,總線數(shù)據(jù)和私有協(xié)議被非授權(quán)的攻擊者讀取,車載TBOX與TSP間通信被嗅探或攻擊,使通信數(shù)據(jù)被竊取或篡改。
TEE是什么
TEE(Trusted Execution Environment 可信執(zhí)行環(huán)境)最早出自于OMTP規(guī)范,ARM是TEE技術(shù)的主導(dǎo)者之一,其TrustZone即為是ARM公司的TEE的實現(xiàn)。TEE的目的增強移動設(shè)備的安全特性,從而研發(fā)的包括軟件編程接口、硬件IP在內(nèi)的一整套方案。芯片在軟件和硬件上,有REE和TEE兩個區(qū)域,分別對應(yīng)富執(zhí)行環(huán)境和可信執(zhí)行環(huán)境。其主要思想就是在同一個CPU芯片上,通過硬件配置方式實現(xiàn)不同IP組件的訪問控制,從而提供一個完全隔離的運行空間。
ARM在芯片IP設(shè)計中已經(jīng)全面支持了TEE,包括高通、聯(lián)發(fā)科、三星、海思、NXP等芯片廠商都紛紛采用該架構(gòu),已經(jīng)成為基于硬件安全的主流方案。
GlobalPlatform TEE 架構(gòu)圖:
關(guān)于TEE的安全技術(shù)和實現(xiàn),我們將會在后續(xù)有專門的章節(jié)說明,此處我們簡單介紹一下TEE具備的特性。
受硬件機制保護:TEE隔離于REE、只能通過特定的入口與TEE通信、并不規(guī)定某一種硬件實現(xiàn)方法,隔離更徹底。
使用Trustzone硬件機制對外設(shè)、存儲進行安全保護,且該機制僅能受控于TEE
高性能:TEE運行時使用CPU的全部性能(獨占),算力足(支持國密)。
快速通信機制:TEE可以訪問REE的內(nèi)存、REE無法訪問受硬件保護的TEE內(nèi)存,TEE的RAM充足。
TEE具有更高的特權(quán)等級
TEE作為開放技術(shù),適合標準化。目前已有GlobalPlatform(GP)標準化,可在多種平臺上移植
TEE擅長節(jié)點邏輯保護、外設(shè)保護、存儲保護
TEE中的可執(zhí)行代碼在執(zhí)行前先要被驗證(validate)
對于密鑰使用安全存儲機制:認證性、完整性和機密性
基于TEE的TBOX安全方案
既然芯片上已經(jīng)有了Trustzone安全設(shè)計,那么利用Trustzone上的TEE安全系統(tǒng)來保護TBOX,當然就會成為必然。實際上,基于TEE的TBOX安全方案已經(jīng)被越來越多的OEM采用,一些TBOX相關(guān)的安全規(guī)范也正在制定中。相信隨著車聯(lián)網(wǎng)信息安全越來越受到關(guān)注,基于硬件隔離的TEE安全技術(shù),將成為剛需。
我們以豆莢科技公司基于TEE的TBOX安全方案為例,分析為什么有了TEE的TBOX更加安全。
我們可以看到,在方案中,基于TEE的安全操作系統(tǒng)的系統(tǒng)防御形成了一條安全信任鏈條。每一步處理都是基于這個信任鏈進行認證和校驗,保證了系統(tǒng)、應(yīng)用、業(yè)務(wù)、數(shù)據(jù)、通信的安全。
系統(tǒng)安全啟動
TEE的secure boot(安全啟動)功能旨在保證設(shè)備軟件(從硬件信任根直到系統(tǒng)分區(qū))的完整性。在啟動過程中,無論是在哪個階段,都會在進入下一個階段之前先驗證下一個階段的完整性和真實性。此過程需要綁定的信任根,也就是ROOT OF TRUST。確保BOOT ROM -> Preloader -> LK -> TEE ->BOOT啟動流程安全可靠。只有具備了安全啟動,安全的OTA才成為可能。
應(yīng)用安全
在TEE上運行的應(yīng)用叫做可信應(yīng)用TA(Trusted Application),TA之間實現(xiàn)完全的隔離,兩個TA之間無法訪問對方資源。而且TA的裝載和調(diào)用都必須通過簽名校驗的過程,從而達到防篡改,防釣魚、防重放攻擊的目的。對于不同的應(yīng)用來說,可以將需要安全處理的部分放在TA中執(zhí)行,以此來保證應(yīng)用的安全。
實際上在手機上的高安全應(yīng)用如支付類應(yīng)用(支付寶、微信)、生物識別應(yīng)用以及DRM應(yīng)用都是需要TEE的安全保護的,這在手機應(yīng)用中已經(jīng)成為標準。同理,在車聯(lián)網(wǎng)的環(huán)境下,隨著生物識別、支付、控車等應(yīng)用場景的出現(xiàn),TEE的保護無疑將成為高安全應(yīng)用的最佳選擇。
硬件加解密功能
重要數(shù)據(jù)、敏感數(shù)據(jù)的保存需要加密,服務(wù)器和設(shè)備終端的信息傳遞需要驗簽名,安全應(yīng)用(TA)鏡像需要驗證完整性和機密性。TEE基于芯片硬件的加解密算法,支持各類對稱加密、非對稱加密、國密算法、簽名認證、HASH計算、MAC算法等,可利用芯片內(nèi)置安全密鑰,對數(shù)據(jù)做加解密處理。
安全存儲功能
重要數(shù)據(jù)(包括配置信息)保存需要加密安全存儲,對于密鑰等小型敏感數(shù)據(jù),可通過TEE的安全存儲功能保存在TEE安全端,確保密鑰不出安全模塊,REE側(cè)無法訪問,提高系統(tǒng)安全性。
對于較大的文件按可先經(jīng)過TEE側(cè)加密后,然后通過REE側(cè)的文件系統(tǒng),以文件形式保存,由于加密的密鑰不出TEE,其安全級別大大提高。
雙向認證
云與端之間信息通信的安全,最重要的是服務(wù)器和終端設(shè)備之間的雙向認證機制。如果終端密鑰管理放在REE側(cè),那么是非常容易泄露的,端的安全就是無源之本。而TEE的出現(xiàn),可以將端的唯一標識和相關(guān)密鑰管理放在TEE側(cè)作為安全存儲,密鑰不出TEE,確保整個驗證流程安全可靠。
從車載終端設(shè)備安全考慮,TEE很好的解決了安全啟動、安全更新、數(shù)據(jù)保護、密鑰存儲、身份識別、安全通訊等車載安全的主要問題。當然,汽車正在往電動化、智能化、網(wǎng)聯(lián)化、共享化的方向快速發(fā)展,同時也面臨著嚴峻的信息安全挑戰(zhàn)。汽車系統(tǒng)安全問題無法通過單一技術(shù)方案解決,必須實施多位一體的安全方案,下一回我們將分析一下車載APP的安全,敬請關(guān)注。
推薦閱讀:
談車聯(lián)網(wǎng)信息安全
更多精彩文章請參照本公眾號的菜單
第一季技術(shù)文章合集下載,請聯(lián)絡(luò)yanghuanyu_thomas@163.com進行索取
總結(jié)
以上是生活随笔為你收集整理的编程实现基于二维易位置换机制进行信息加解密_基于TEE的TBOX安全技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ asc chr 函数_15万怎么
- 下一篇: 如何加减单元格指定数字_Word如何做加