BIOS控制 從底層保障計算機安全

2021-09-03 08:04:20 字數 2054 閱讀 6244

縱觀市場上的安全產品,從網路防火牆到各種網路加密、個人數字簽證以及早期硬碟鎖,均未能對個人計算機本身進行實質性的保護。這些安全機制大都基於這樣一種原理:利用乙個軟體,輸入乙個特定的密碼,經過驗證後即可獲得合法身份,從而實現各種操作,如購物、收發公文、瀏覽甚至修改機密資料。眾所周知,這種基於純密碼的機制是很脆弱的,所以,許多關鍵行業和部門都採用了軟、硬結合的方式,如設立各種smart卡認證機制。在銀行工作的職工,每人都有一張代表自己電子身份的ic卡,每天上班,必須先刷卡才能進入銀行的業務系統。這種機制的安全性大大提高了,但對於個人或普通企業用計算機,這種機制成本太高。本文從bios工作原理出發,提出一種安全性高、全新的計算機安全保護機制。

一、原理

bios是計算機架構中最為底層的軟體。在pc一加電時,首先執行的就是它,它負責對計算機進行自檢和初始化,在檢查pc各部件都正常後再由它引導作業系統,如dos、windows等。如果一台pc沒有bios,即無法開機,成了廢鐵一堆。而且bios一般是不可以相互替代的,只有同乙個廠家同一型號的主機板,其bios才可以互換。本機制的基本原理就是將pc中的bios從主機中抽出,存到乙個帶加密的外部裝置中,如usb鑰匙盤等,沒有該盤就不能開啟計算機;又由於外部裝置是加密的,即使有含bios的usb鑰匙盤,但不知道密碼也不能開機,從而實現計算機的保護。這種帶加密的鑰匙盤由於各自密碼或加密演算法不同,也避免了使用同型號bios進行開機的可能。

二、實現

bios儲存在計算機主機板的一種ic晶元(通常是flash)中,它有兩個主要的組成部分,即bootblock段和主體bios。bootblock段是不壓縮的且存放於固定的位址空間,它是計算機開機時首先執行的部分。它主要負責對計算機硬體做最基本、最簡單的初始化,而後解壓縮主體bios的其他模組,並一一執行,其流程如圖1所示。由於bootblock的這一特點,無需將bootblock段抽出至外部裝置中,反而要利用它的初始化能力以啟動與外部裝置如usb盤的通訊。但必須對bootblock段加以修改,以實現對usb鑰匙盤的解密、主體bios的讀入過程,即在檢查bios校驗和之前,從鍵盤讀取使用者的密碼,並將該密碼通過一定的運算方法加密,併發往usb介面,在usb鑰匙盤收到該密碼後,允許記憶體的bios資料可讀。修改後的bootblock段流程如圖所示。

這樣經過修改後,原主機板中儲存bios的flash只儲存修改過的bootblock段**,不再有主體bios。同時不再採用flash晶元,直接使用一次性寫入的prom,避免其他軟體或病毒對該區域**的修改。對於具體的加密演算法和密碼認證機制,不同的製造商可以選擇不同的方式,如可以將主機板上具有惟一性的引數加入演算法中,以實現乙個主機板只有一套usb鑰匙盤相對應,等等。

usb鑰匙盤的實現,和市面上通常所說的軟體狗,其原理是一樣的,只是這裡說的usb鑰匙盤的儲存容量要求相對大一些,至少要256kb以上。當然也可以不使用usb鑰匙盤,而利用一些ic封裝的cpu卡或sim卡,做成lpt或com介面的裝置,如北京握奇公司就提供序列的sim ic,只需要稍加點簡單的電路就可以實現與com口的通訊。其原理和usb鑰匙盤一樣,只是使用的通訊介面不同而已。

三、擴充套件

前面所說的機制已經可以實現計算機安全保護了,但為了增加實用性,還需要做一些簡單的擴充套件,以提高破譯的代價。

擴充套件一是使用ide的安全特性。現代計算機bios都已經支援ide加密(ami和award bios都有此功能),在實際使用過程中可結合該功能。該功能是對ide硬碟進行加密,在bios開機階段要求輸入正確的密碼,否則該硬碟不可以使用。在沒有通過密碼驗證的情況下,bios根本不能正確識別硬碟的裝置型別,os更不知道該硬碟的存在,也就無法使用或破壞硬碟中原有的資料。

擴充套件二是修改系統bios,在bios中將硬碟引數,如分割槽表等備份到usb鑰匙盤。做過bios開發的工程師知道,系統開機時首先執行的是bios,系統關機時最後執行的也是bios(意外斷電除外,無論是作業系統關機還是按power button關機,都有對應的smi處理程式)。利用bios的這個特性,在每次開機時,bios負責從usb鑰匙盤中讀取硬碟引數並恢復到硬碟中,在關機前,bios將硬碟引數備份到usb鑰匙盤,同時破壞掉硬碟中該區域的資料。這樣,即使將該硬碟安裝到別的系統中,沒有對應的鑰匙盤也不能使用。

這樣就從底層保障計算機安全,從而實現禁止非法使用。

BIOS控制 從底層保障計算機安全

縱觀市場上的安全產品,從網路防火牆到各種網路加密 個人數字簽證以及早期硬碟鎖,均未能對個人計算機本身進行實質性的保護。這些安全機制大都基於這樣一種原理 利用乙個軟體,輸入乙個特定的密碼,經過驗證後即可獲得合法身份,從而實現各種操作,如購物 收發公文 瀏覽甚至修改機密資料。眾所周知,這種基於純密碼的機...

BIOS控制 從底層保障計算機安全

縱觀市場上的安全產品,從網路防火牆到各種網路加密 個人數字簽證以及早期硬碟鎖,均未能對個人計算機本身進行實質性的保護。這些安全機制大都基於這樣一種原理 利用乙個軟體,輸入乙個特定的密碼,經過驗證後即可獲得合法身份,從而實現各種操作,如購物 收發公文 瀏覽甚至修改機密資料。眾所周知,這種基於純密碼的機...

計算機底層04 計算機儲存層次架構

上接 計算機底層03 cpu工作原理 按照儲存介質分類 有磁芯,磁碟,光碟,半導體儲存 按照儲存性質分類 易失性儲存 非易失性儲存 也叫做非持久化儲存 持久化儲存 易失性儲存通常指斷電即丟失 按照效能層次分類 主存 外存進行分類 而快取為了彌補速度的差異性 儲存分為主存,輔存和快取 而主存裡有ram...