林森游夏


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