林森游夏
摘要:為解決嵌入式操作系統(tǒng)的安全問題,針對通信、存儲、訪問等安全要求,本文提出了可信鏈架構(gòu)技術(shù),通過實現(xiàn)安全網(wǎng)絡(luò)協(xié)議棧、安全文件系統(tǒng)、安全SHELL,構(gòu)建系統(tǒng)可信度量鏈,提供用戶身份授權(quán)驗證,使嵌入式操作系統(tǒng)具備安全訪問控制能力。
關(guān)鍵詞:可信鏈;安全網(wǎng)絡(luò)協(xié)議棧;安全文件系統(tǒng);安全SHELL
中圖分類號:TP368 文獻標識碼:A 文章編號:1007-9416(2019)04-0195-02
1 嵌入式系統(tǒng)安全需求
隨著“棱鏡門”等威脅我國信息安全事件的不斷出現(xiàn),信息安全問題越來越需要得到重視。黑客主要利用計算機操作系統(tǒng)的安全漏洞獲取系統(tǒng)特權(quán),然后為所欲為。嵌入式操作系統(tǒng)是嵌入式系統(tǒng)的核心,也是系統(tǒng)信息安全的重要保障,如果缺乏這個安全的根基,構(gòu)建在操作系統(tǒng)上的應(yīng)用系統(tǒng)以及整個嵌入式系統(tǒng)的安全性將得不到根本保障,因此提高嵌入式操作性系統(tǒng)的可靠性、安全性是非常有必要的[1]。傳統(tǒng)的嵌入式操作系統(tǒng)安全技術(shù)將操作系統(tǒng)所有安全相關(guān)功能集中在安全核心[2],但安全核心的開發(fā)使得操作系統(tǒng)內(nèi)核變得更加龐大,導致無法對內(nèi)核通過較高安全等級的安全評估和認證,也無法確保加密處理應(yīng)用的真實安全性。
本文中,國產(chǎn)嵌入式操作系統(tǒng)通過建立基于國產(chǎn)可信芯片的可信驗證鏈,并對系統(tǒng)的網(wǎng)絡(luò)通信能力、數(shù)據(jù)存儲能力、用戶訪問機制等進行安全增強,形成嵌入式操作系統(tǒng)安全能力。
2 操作系統(tǒng)安全設(shè)計
為滿足嵌入式操作系統(tǒng)在安全領(lǐng)域的特征需求[3],在現(xiàn)有國產(chǎn)嵌入式實時操作系統(tǒng)產(chǎn)品基礎(chǔ)之上對操作系統(tǒng)關(guān)鍵服務(wù)進行安全改造,增加基于可信芯片的安全增強組件,并對網(wǎng)絡(luò)、存儲、訪問接口等系統(tǒng)組件進行安全加固,形成國產(chǎn)嵌入式安全操作系統(tǒng)方案。
操作系統(tǒng)安全改造主要由可信芯片驅(qū)動、可信軟件棧、安全網(wǎng)絡(luò)協(xié)議棧、安全文件系統(tǒng)、安全SHELL等組件構(gòu)成。其中可信協(xié)議棧、可信芯片驅(qū)動構(gòu)成了操作系統(tǒng)的安全增強模塊,是整個操作系統(tǒng)安全設(shè)計所需的加解密服務(wù)的核心所在。嵌入式安全操作系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖1所示。
2.1 安全增強組件
針對嵌入式系統(tǒng)的安全引導和安全管控功能要求,嵌入式系統(tǒng)通過增加可信安全組件,具體由可信芯片驅(qū)動和可信軟件協(xié)議構(gòu)成??尚判酒?qū)動提供與可信芯片交互的通路,可信芯片以字符設(shè)備模式提供系統(tǒng)訪問接口,配套的上層可信軟件協(xié)議通過標準POSIX I/O接口訪問可信芯片,可信軟件協(xié)議可以提供授權(quán)、驗證、加解密等功能對外接口,也可提供軟件加解密服務(wù)。
基于可信芯片和可信軟件協(xié)議,可以實現(xiàn)嵌入式系統(tǒng)的可信引導功能。采用可信固件[4],從上電引導邏輯開始構(gòu)建和傳遞信任鏈。與普通固件不同,可信固件受到可信平臺控制模塊(Trust Platform Control Module,簡稱TPCM)[5]的保護,并通過TPCM完成軟硬件度量、身份認證、數(shù)據(jù)加密的功能。在上電開機后,TPCM將先于嵌入式CPU啟動,首先對可信固件進行驗證,確??尚殴碳旧淼陌踩浴T诖嘶A(chǔ)上可信固件將調(diào)用TPCM提供的安全功能接口,對用戶的身份、操作系統(tǒng)鏡像進行安全驗證,保證計算機的安全啟動運行環(huán)境,將信任鏈從上電過程延伸到安全嵌入式操作系統(tǒng)運行過程。
2.2 安全網(wǎng)絡(luò)協(xié)議棧
網(wǎng)絡(luò)的基礎(chǔ)核心是TCP/IP協(xié)議棧,是一切網(wǎng)絡(luò)通信的基礎(chǔ),是所有網(wǎng)絡(luò)攻擊的通道,它的安全是一切網(wǎng)絡(luò)安全防御的前提。嵌入式操作系統(tǒng)通過在現(xiàn)有以太網(wǎng)協(xié)議棧基礎(chǔ)上,擴展移植IPSec[6]實現(xiàn)TCP/IP安全網(wǎng)絡(luò)協(xié)議棧,形成一個自主可控嵌入式網(wǎng)絡(luò)安全協(xié)議棧軟件。在嵌入式安全應(yīng)用場景中,發(fā)送IP數(shù)據(jù)包之前,實現(xiàn)對IP包的一些重要部分進行加密和驗證計算,由接收端對這部分進行解密和驗證,為IP網(wǎng)絡(luò)通信提供透明的安全服務(wù),保護IP數(shù)據(jù)包安全,避免TCP/IP通信免遭竊聽和篡改,并為地域網(wǎng)絡(luò)攻擊提供防護措施,實現(xiàn)嵌入式網(wǎng)絡(luò)應(yīng)用的安全通信。安全網(wǎng)絡(luò)協(xié)議棧的實現(xiàn)如圖2所示。
IPSec安全協(xié)議棧在IP層對IP報文提供安全服務(wù),以數(shù)據(jù)包為處理對象,在IP數(shù)據(jù)包中增加字段來保證IP包的完整性、私有性和真實性,以及如何加密數(shù)據(jù)包,保障嵌入式系統(tǒng)數(shù)據(jù)就可以安全地在公網(wǎng)上傳輸。IPSec協(xié)議屬于兩個節(jié)點間網(wǎng)絡(luò)安全通信的標準架構(gòu),通過對每個IP報文進行加密和認證來實現(xiàn)。IPSec發(fā)送方在通過網(wǎng)絡(luò)傳輸包前對包進行加密保證數(shù)據(jù)機密性;IPSec接收方對發(fā)送方發(fā)送來的包進行認證,以確保數(shù)據(jù)在傳輸過程中沒有被篡改保證數(shù)據(jù)完整性;IPSec接收方對IPSec包的源地址進行認證提供數(shù)據(jù)來源認證;IPSec接收方可檢測并拒絕接收過時或重復(fù)的報文具備反重放能力。
2.3 安全文件系統(tǒng)
嵌入式操作系統(tǒng)的文件系統(tǒng)難以提供安全可靠的數(shù)據(jù)存儲服務(wù)。通過對文件系統(tǒng)進行安全加固,采用文件系統(tǒng)加密模式[7]進行文件讀寫訪問,并為了保持原有應(yīng)用的兼容性,在應(yīng)用層保持原有的文件訪問接口。安全文件系統(tǒng)對存儲設(shè)備的讀寫情況如圖3所示。
安全文件系統(tǒng)在讀寫文件過程中調(diào)用加解密服務(wù)。加解密服務(wù)采用的加密算法主要有對稱密鑰與非對稱密鑰兩種類型,根據(jù)兩種算法類型的特點的不同,其應(yīng)用場景也不盡相同。對稱加密算法主要應(yīng)用于文件系統(tǒng)的大數(shù)據(jù)塊的加密,因為一般的對稱數(shù)據(jù)加密算法的特點就是加密解密速度快,吞吐量大,而且易于硬件實現(xiàn)。而非對稱數(shù)據(jù)加密算法的特點是加密算法的安全性能高,但是加密解密算法計算量特別大,應(yīng)用在加解密算法所使用的密鑰本身的安全訪問。
2.4 安全SHELL
嵌入式操作系統(tǒng)通常提供普通SHELL作為系統(tǒng)訪問調(diào)度的接口,不具備用戶身份驗證和加載目標確認的能力。通過對現(xiàn)有SHELL進行安全改造,通過在網(wǎng)絡(luò)中創(chuàng)建安全隧道來實現(xiàn)安全SHELL(客戶端與服務(wù)器之間的連接,保障用戶對嵌入式系統(tǒng)的可信安全訪問。
嵌入式安全操作系統(tǒng)的不同用戶通過不同的安全SHELL(Security Shell,簡稱SSH)[8]隧道連入到系統(tǒng)中。訪問控制會根據(jù)不同的用戶實現(xiàn)不同的用戶。SSH客戶端和SSH服務(wù)端通過四步來完成用戶的登陸過程:首先客戶端初始化連接,其次服務(wù)器發(fā)送認證所用公鑰,等客戶端和服務(wù)端商議后建立安全通信隧道,最后客戶端登陸成功接入系統(tǒng)。用戶接入系統(tǒng)之后,訪問控制模塊會加載安全策略配置信息,根據(jù)用戶不同身份,開放系統(tǒng)和文件不同的訪問權(quán)限,以及提供相應(yīng)權(quán)限的系統(tǒng)服務(wù)。
3 嵌入式安全操作系統(tǒng)能力
通過安全增強,嵌入式安全操作系統(tǒng)具備了系統(tǒng)級信息安全防護能力,能夠安全可信啟動系統(tǒng),能提供與授權(quán)用戶的交互,能提供數(shù)據(jù)安全存儲訪問和遠程網(wǎng)絡(luò)安全通信能力。本文設(shè)計的嵌入式安全操作系統(tǒng)已經(jīng)在車載嵌入式終端、通信電臺終端得到應(yīng)用驗證。
參考文獻
[1] 劉智勇.嵌入式操作系統(tǒng)安全保障技術(shù)研究[J].農(nóng)村經(jīng)濟與科技,2018,29(8):271-273.
[2] 高洪濤.四級安全操作系統(tǒng)中審計系統(tǒng)的研究與設(shè)計[D].浙江大學,2005(3).
[3] 楊朋霖.物聯(lián)網(wǎng)環(huán)境下嵌入式操作系統(tǒng)的安全性設(shè)計[J].微電子學與計算機,2018,35(11):115-117.
[4] 高麗.嵌入式操作系統(tǒng)的安全構(gòu)建[J].電腦學習,2010(1):28-29.
[5] 黃堅會.TPCM可信平臺度量及控制設(shè)計[J].信息安全研究,2017,3(4):310-312.
[6] 阮俊杰.一種基于Linux內(nèi)核的IPsec協(xié)議棧設(shè)計[J].軟件,2019,40(1):33-35.
[7] 呂佳艷.Linux文件加密系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學,2015(5).
[8] 李延松.基于VxWorks的應(yīng)用層SSH安全協(xié)議研究與改進[D].南京航空航天大學,2013(3).