一種基于uefi的軟件分發(fā)和安裝系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及計算機系統(tǒng)領域,具體涉及一種基于UEFI固件,在操作系統(tǒng)運行的過程中,通過被固件守護的專用程序,進行軟件分發(fā)和安裝的系統(tǒng)。
【背景技術】
[0002]目前,在計算機安全領域中,軟件的分發(fā)和安裝的主要方法是在網(wǎng)絡中部署軟件分發(fā)服務器,在終端的操作系統(tǒng)中安裝特定的客戶端程序。當有軟件更新的需要時,由服務端推送軟件包到客戶端,或收到更新通知的客戶端將軟件包下載在本地進行安裝。
[0003]通過在終端操作系統(tǒng)中的客戶端程序接收軟件分發(fā)和安裝軟件有著以下的不足,主要包括:
[0004](I)在計算設備更換硬盤、Flash等存儲被保護程序的裝置后,將不能自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0005](2)在對硬盤、Flash等被保護程序的存儲空間進行重新分區(qū)后,計算設備將不能自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0006](3)在對硬盤、Flash等被保護程序的存儲空間進行格式化后,計算設備將不能自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0007](4)當被保護軟件不屬于操作系統(tǒng)自帶軟件的情況下,在計算設備重新安裝操作系統(tǒng)后,將不能自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0008](5)不能阻止合法的終端使用用戶非法地卸載本終端上運行的特定軟件分發(fā)客戶端程序。
[0009](6)當終端的操作系統(tǒng)中的軟件分發(fā)客戶端程序被病毒或木馬篡改和刪除后,將不能合法地啟動和運行。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的是為了克服已有技術的缺陷,為了解決在更換硬盤、重新分區(qū)時,無法自動進行軟件更新的問題,提出一種基于固件的軟件分發(fā)和安裝方法。
[0011]一種基于UEFI的軟件分發(fā)和安裝系統(tǒng),系統(tǒng)包括于固件層的軟件分發(fā)驅(qū)動模塊、位于操作系統(tǒng)層的軟件分發(fā)客戶端主程序和服務端;
[0012]所述軟件分發(fā)驅(qū)動模塊是符合UEFI規(guī)范的,駐守在固件層的驅(qū)動程序;該驅(qū)動程序的能夠提供對軟件分發(fā)客戶端主程序的實時保護;當運行于操作系統(tǒng)的客戶端主程序文件被篡改或刪除時,驅(qū)動模塊將對客戶端主程序進行自動恢復;
[0013]所述軟件分發(fā)客戶端主程序運行于操作系統(tǒng)中,通過接口與UEFI驅(qū)動模塊實現(xiàn)實時的守護,能夠保證客戶端主程序的正確運行;軟件分發(fā)客戶端主程序包括軟件安裝子模塊、軟件文件驗證子模塊、通信接口子模塊、加/解密子模塊;其中,軟件安裝子模塊用于安裝服務端分發(fā)的軟件;軟件文件驗證子模塊用于比對要分發(fā)軟件的完整性度量值;通信接口子模塊用于完成文件下載和上傳功能;加/解密子模塊用于完成對傳輸信息和文件的加/解密;
[0014]所述服務端的作用是提供被軟件推送、制定軟件安裝策略;服務端包括軟件倉庫服務、分發(fā)安裝策略服務、網(wǎng)絡通信服務三個部分;其中,軟件倉庫服務用于存儲需要推送的軟件,并可以提供版本管理功能;分發(fā)安裝策略管理服務用于制定軟件分發(fā)和安裝的策略,如是否提供軟件度量驗證、補丁更新等功能;網(wǎng)絡通信子模塊用于提供服務端與客戶端主程序建立安全網(wǎng)絡連接。
[0015]本發(fā)明實現(xiàn)的步驟如下:
[0016]步驟1.開機上電后,在UEFI引導階段中,加載相應的驅(qū)動;
[0017]步驟2.軟件分發(fā)驅(qū)動模塊軟件被加載后,將在固件層生成終端標識,用于對終端進行身份認證;
[0018]步驟3.軟件分發(fā)驅(qū)動模塊對硬盤中的軟件分發(fā)客戶端主程序文件進行檢測,查看是否被篡改和刪除,如果文件異常則進行恢復;
[0019]步驟4.操作系統(tǒng)啟動后,客戶端主程序隨操作系統(tǒng)自啟動;
[0020]步驟5.客戶端主程序與服務端進行通信,檢測是否需要對軟件進行更新;如果需要更新則轉(zhuǎn)入步驟六,如果不需要更新則流程結束;
[0021]步驟6.客戶端主程序?qū)⒔K端標識發(fā)送到服務端進行身份驗證;
[0022]步驟7.檢測身份認證信息是否通過;身份驗證通過后將轉(zhuǎn)入步驟八;如果未能通過驗證,則軟件更新流程結束;
[0023]步驟8.身份驗證通過后將接收軟件文件完整性度量值;如果未能通過驗證,則軟件更新流程結束;
[0024]步驟9.客戶端從服務器端下載軟件更新文件和軟件安裝腳本;可以在硬盤或Flash等存儲空間中,劃分一塊保護空間用于保存下載的安裝文件;
[0025]步驟10.客戶端根據(jù)下載的安裝腳本,對軟件進行自動安裝;
[0026]步驟11.軟件安裝流程結束。
[0027]有益效果:
[0028](I)本發(fā)明在計算設備更換硬盤、Flash等存儲被保護程序的裝置后,能夠自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0029](2)本發(fā)明在對硬盤、Flash等被保護程序的存儲空間進行重新分區(qū)后,計算設備將能夠自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0030](3)本發(fā)明在對硬盤、Flash等被保護程序的存儲空間進行格式化后,計算設備將能夠自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0031](4)當被保護軟件不屬于操作系統(tǒng)自帶軟件的情況下,在計算設備重新安裝操作系統(tǒng)后,能夠自動地重新安裝和恢復軟件分發(fā)客戶端程序。
[0032](5)本發(fā)明能夠阻止合法的終端使用用戶非法地卸載本終端上運行的特定軟件分發(fā)客戶端程序。
[0033](6)終端的操作系統(tǒng)中的軟件分發(fā)客戶端程序被病毒或木馬篡改和刪除后,能夠合法地啟動和運行。
【附圖說明】
[0034]圖1為本發(fā)明軟件分發(fā)和安裝系統(tǒng)總體框架圖;
[0035]圖2為本發(fā)明終端軟件安裝更新流程圖。
【具體實施方式】
[0036]下面結合附圖并舉實施例,對本發(fā)明進行詳細描述。
[0037]如圖1所示,本發(fā)明的一種基于UEFI的軟件分發(fā)和安裝系統(tǒng),系統(tǒng)包括于固件層的軟件分發(fā)驅(qū)動模塊、位于操作系統(tǒng)層的軟件分發(fā)客戶端主程序和服務端;
[0038]所述軟件分發(fā)驅(qū)動模塊是符合UEFI規(guī)范的,駐守在固件層的驅(qū)動程序;該驅(qū)動程序的能夠提供對軟件分發(fā)客戶端主程序的實時保護;當運行于操作系統(tǒng)的客戶端主程