999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

非交互式全盤加密系統設計與實現*

2020-03-26 08:26:40楊景賀
通信技術 2020年2期
關鍵詞:設備系統

黃 沾,楊景賀

(中國電子科技網絡信息安全有限公司,四川 成都 610041)

0 引 言

隨著計算機和網絡的飛速發展,海量的數據存儲在各種設備中。其中,塊設備是最主要的存儲設備,攜帶著大量涉密文檔。倘若系統存在漏洞被未授權使用或者塊設備被盜、丟失,都會引起政府、企業或個人的重大經濟和精神損失。如何有效地保護涉密文檔的安全性,尤其在計算機丟失或失竊后,防止機密信息非法泄露,對目前普遍存在的存儲安全提出了新的挑戰。在通用消費者領域,Android智能手機操作系統在其3.0版本中提供了存儲加密功能[1],而微軟的Windows也推出了BitLocker功能[2],可以對整個磁盤進行加密。但式,這些解決方案需要大量的用戶響應(如輸入密碼),無疑不適應于工業環境中運行的設備,因為這些設備要求7×24 h運行,無人工干預。因此,本文設計并實現了一個適用于工業環境的非交互式全盤加密系統,下面將從設計目標、方案和實現3個方面分別進行描述。

1 全盤加密系統設計目標

本系統的設計目標是一個盡量利用現有硬件設施,在不增加硬件成本的基礎上,使用軟件方來提高設備存儲私密性,同時對現有應用做到無縫銜接。

(1)兼容性:設計方案必須保持對現有設備的兼容性,如ARM平臺、X86平臺和龍芯平臺等。

(2)密鑰隨機:每臺設備的密鑰都可以隨機設置,避免一臺主機被破解后所有主機都告破,形成事實上的“后門”。

(3)硬件綁定:每個存儲的訪問都與該存儲所在設備綁定,將存儲通過物理方法取出直接訪問,或者放置到其他任何設備無法直接訪問存儲。

(4)易用性:方案應盡量減少對現有應用的干擾,即現有應用可以不做任何更改。

(5)非交互式:由于設備運行要求7×24 h無人值守運行,必須要求系統必須是非交互式的,與現有的加密系統有根本區別。

2 全盤加密系統設計方案

2.1 概述

將系統分為MBR鏡像、Bootloader(這里為GRUB2)、內核與文件系統和其他分區等,位置如圖1所示。

圖1 存儲分區

MBR鏡像位于是磁盤第一個扇區(512 Bytes),包含了分區表與GRUB2的stage1加載代碼。GRUB2鏡像位于MBR與實際分區間的空隙,由于設備本身沒有加解密設施,所以GRUB2這里未被加密。而內核與文件系統及后面的分區都已被加密處理(圖1中陰影部分)。GRUB2會在啟動過程中自動獲取密鑰并將內核與文件系統解密,然后再啟動解密后的內核。

基于設計目標,需要將密鑰存放于設備的硬件中,以達到與設備綁定的目的,同時存儲的信息必須保留。同時,為了安全性,密鑰至少需要保留16 Bytes以上,以防止暴力破解。基于以上考慮,選擇網卡ROM存放密鑰。

2.2 系統初始化及加密

在設備未加密前,需要進行系統初始化工作。在進入系統后:

(1)隨機生成密鑰并將密鑰寫入網卡ROM中;

(2)調用cryptsetup工具,將未加密分區轉換為加密分區。

2.3 GRUB2解密

在GRUB2中,需要應對分區加密與未加密兩種情況。最重要的是獲取密鑰并解密,因為網卡一般采用PCI接口與設備相連,而GRUB2提供了完善的PCI訪問接口,可以較容易地進行PCI設備寄存器訪問。

2.4 文件系統解密

在設備運行過渡到內核并切換到文件系統后,為了讓其他應用程序能訪問存儲分區,需要再次將存儲解密。這里比較簡單,獲取ROM以及解密都有現成的工具可用。

3 全盤加密系統的實現

為了實現上述系統,需要整合多個現有技術。下面從關鍵技術及其用法出發,闡述功能實現的方法。

3.1 關鍵技術

3.1.1 GRUB2

GRUB2(GRand Unified Bootloader 2) 是 原GRUB的升級版本,支持多個體系平臺和多種部署方式,同時內置了對多個加密方法的支持,包括LUKS、geli等。此外,GRUB2支持密碼鎖定等常見安全措施。

3.1.2 LUKS

LUKS(Linux Unified Key Setup)是 Linux硬盤加密標準,通過提供標準的磁盤格式,不僅可以促進發行版之間的兼容性,還可以提供對多個用戶密碼的安全管理。

對于本方案而言,使用LUKS有以下幾點考慮:

(1)實現相對容易,在GRUB2中已有基本的LUKS模塊,實現了基本的LUKS加密分區讀取,后續只要獲取密鑰傳遞給LUKS模塊即可。

(2)支持多個密碼:LUKS支持增加和刪除用戶密碼,后續在系統更新時可隨時更換密碼,提高了安全性。

(3)LUKS作為廣泛應用的加密標準,安全性得到了良好驗證,同時其對應的工具cryptsetup功能強大、穩定可靠。

3.2 密鑰的存放與獲取

密鑰的存放與獲取是本方案的關鍵,這里以網卡ROM作為密鑰存放點為例。實際使用中還可以將ROM中的信息做多重變換,如使用pbkdf2算法增加破解難度。

密鑰的設置是在文件系統啟動后進行,而密鑰的讀取同時存在于GRUB2與文件系統啟動后。

所以,設置一個可執行文件diskkey作為文件系統啟動后密鑰的寫入與讀取,而在GRUB2流程中將作為補丁打入GRUB2的LUKS模塊,替換原有的提示用戶輸入密碼部分。

3.2.1 diskkey實現

diskkey實現密鑰的讀取與寫入,實現必須保密,防止對外泄露。diskkey的實現與設備高度關聯,而且應該不定時變換。

示例:

ethtool -e eth0 raw on offset 0 length 32

ethtool讀取網卡ROM信息中前32位信息作為密鑰輸出。

3.2.2 GRUB2實現

以Intel網卡芯片82540為例,其開發手冊記錄了如何使用EEPROM Read register(EERD)寄存器來訪問網卡ROM。

示例:

regs是寄存器基地址,根據手冊EERD位于0x14h,即第5個雙字的位置。regs[0x5]=eerd將想要訪問的ROM地址賦予EERD寄存器,后續檢測EERD的DONE bit是否置位,置位表示網卡已經將ROM內容寫入EERD寄存器。需要注意,該函數每次能夠讀取兩字節(一個字)長度的ROM,需要按照密鑰存儲約定多次調用。而regs變量的獲得,可以通過調用grub2 pci接口相關API獲取。

3.3 GRUB2啟動流程

設備啟動后會加載GRUB2,而GRUB2必須判斷存儲是否已經加密。如果未加密,則走初始化流程;如果已經加密,則必須調用解密命令,再加載解密后的內核與文件系統。

一個GRUB2配置文件示例:

GRUB2一開始加載biosdisk和part_msdos兩個模塊,以便后續訪問設備上的存儲及其分區,然后加載LUKS模塊。LUKS模塊已經經過修改,不會再提示用戶輸入密碼,能自動加載磁盤密碼。

if linux (hd0,msdos1)/vmlinuz這行嘗試直接加載分區上的內核,如果成功,說明磁盤還沒有加密,繼續加載initramfs,然后啟動。如果加載失敗,系統嘗試使用cryptomount解密分區。解密后的分區用crypto0表示,如果linux指令依然無法訪問內核,則表示解密過程失敗,設備可能存在異常情況,系統進行關機處理。

3.4 文件系統啟動流程

系統啟動后,需要將原加密分區進行解密,這樣對其他應用不會造成干擾。解密過程主要使用cryptsetup工具[3],示例如下(DEVICE變量為LUKS所在分區設備名):

cryptsetup isLuks判斷分區是否經過LUKS加密。diskkey讀取加密密鑰,cryptsetup luksOpen完成解密過程,最后調用mount掛載加密分區,后續使用與普通分區相同。

3.5 系統防護

系統啟動后,必須確保系統訪問是授權情況。如果解密方式公開,意味著加密失效。所以,在現有Linux安全防護措施基礎上,對整個啟動流程進行了全方面的系統安全加固。

3.5.1 鎖定GRUB2

GRUB2是系統啟動的第一步,可以任意指定內核、文件系統、內核參數等。所以,為了系統的安全啟動,必須鎖定GRUB2。GRUB2提供了鎖定其運行配置文件的方法,使GRUB2只能按照指定的流程運行,包括固定的內核、內核參數等。

示例:

set superusers="root"設置超級用戶為root,后面password_pbkdf2設置root密碼(即XXXX部分),root密碼調用grub-mkpasswd-pbkdf2命令生成。menuentry表示后面的啟動命令無需認證即可執行。

最后達到的效果是menuentry中的啟動流程可以無干擾執行,而要修改啟動項如修改內核參數,需要輸入root用戶密碼進行認證。

3.5.2 禁用init與rdinit內核參數

由于GRUB2是未加密的,雖然在上一步已做鎖定GRUB2,但是仍然要堤防GRUB2配置文件被修改。必須假定GRUB2傳給內核的參數已經被修改,而內核默認提供了init(rdinit)內核參數來自定義內核啟動的init進程執行文件路徑。通過修改init參數,如直接修改為/bin/sh,可以直接繞過登錄認證訪問文件系統,就直接暴露了diskkey的實現,導致加密系統告破。由于使用initramfs啟動,對應的是rdinit參數,只需要禁用rdinit參數即可。解決辦法比較簡單,將內核中rdinit參數處理函數注釋掉即可,對應的代碼位于init/main.c中,不做贅述。

3.5.3 系統固件加密

系統揭秘方法也在系統的升級固件中可以獲取,所以系統固件必須加密。由于各個系統實現不同,這部分不做展開。

4 結 語

本文提出的非交互式全盤加密系統解決了在現有硬件設備存儲安全的問題,同時系統還有很多需要改進的地方,包括對現有安全硬件技術的支持(如UEFI Secure Boot、TPM)等,將是下一步的研究內容。

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 国产三级a| 国产美女无遮挡免费视频| 欧美 亚洲 日韩 国产| 91无码网站| 亚洲天堂啪啪| 华人在线亚洲欧美精品| 亚洲无码高清一区二区| 98超碰在线观看| 国产人成在线视频| 青青青伊人色综合久久| 色哟哟精品无码网站在线播放视频| 国产成人精品一区二区| 色成人亚洲| 欧美a在线| 日本午夜三级| 狠狠色噜噜狠狠狠狠奇米777| 日本a∨在线观看| 国产高清在线精品一区二区三区 | 中文字幕啪啪| 日韩高清成人| 亚洲人成网站色7799在线播放 | 日韩欧美国产中文| 午夜日本永久乱码免费播放片| 四虎综合网| 国产精品亚洲精品爽爽| 亚洲AV无码不卡无码| 国产精品人莉莉成在线播放| 日本精品一在线观看视频| 国产免费羞羞视频| 久久久亚洲国产美女国产盗摄| 亚洲精品国产首次亮相| 国产欧美在线观看精品一区污| 免费高清自慰一区二区三区| 成人精品视频一区二区在线| a级毛片免费网站| 亚洲人成网站18禁动漫无码| 亚洲天堂视频网站| 99偷拍视频精品一区二区| 99热在线只有精品| 中文无码日韩精品| 中文字幕久久精品波多野结| 欧美在线中文字幕| 欧美成人免费午夜全| 人妻精品全国免费视频| 国产精品尤物铁牛tv| 日韩精品一区二区三区大桥未久| 国产精品尹人在线观看| 国产麻豆另类AV| 国产在线一二三区| P尤物久久99国产综合精品| 色天天综合| 72种姿势欧美久久久久大黄蕉| 国产乱子伦视频在线播放| 免费国产无遮挡又黄又爽| 国产香蕉一区二区在线网站| 国产精品吹潮在线观看中文| 91小视频版在线观看www| 久久久精品国产SM调教网站| 另类综合视频| 中文精品久久久久国产网址| 四虎永久免费地址在线网站| 久久人搡人人玩人妻精品| 亚洲欧美日韩动漫| 精品久久人人爽人人玩人人妻| 99久久精品免费观看国产| 欧美精品三级在线| 色综合国产| 狠狠色婷婷丁香综合久久韩国| 草逼视频国产| 亚洲乱码在线视频| 精品国产一区91在线| 91欧美在线| 日韩视频免费| 久久a级片| 亚洲精品色AV无码看| 99久视频| 欧美在线中文字幕| 亚洲免费人成影院| 午夜视频在线观看免费网站 | 欧美爱爱网| 久久精品嫩草研究院| 国产一区二区三区在线精品专区|