欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于更新安全機(jī)制的uefi系統(tǒng)更新方法

文檔序號(hào):8259397閱讀:255來(lái)源:國(guó)知局
一種基于更新安全機(jī)制的uefi系統(tǒng)更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)軟件系統(tǒng)領(lǐng)域,具體涉及一種基于更新安全機(jī)制的UEFI系統(tǒng)更新方法。
【背景技術(shù)】
[0002]UEFI (Unified Extensible Firmware Interface)中文譯為統(tǒng)一的可擴(kuò)展固件接口,是Intel提出的用來(lái)取代傳統(tǒng)B1S的新一代固件系統(tǒng)。UEFI B1S具有很多上代B1S所沒(méi)有的優(yōu)勢(shì),例如包括強(qiáng)大的跨平臺(tái)兼容性、支持鼠標(biāo)的圖形操作界面、基于模塊化的可擴(kuò)展性以及開(kāi)發(fā)難度的降低等。UEFI具有的這些優(yōu)勢(shì)使得UEFIB10S得到快速發(fā)展,已經(jīng)被越來(lái)越多的廠商作為下一代B1S,預(yù)裝入出廠設(shè)備中。同時(shí)UEFI B1S的快速發(fā)展,也帶來(lái)了一些迫切需要解決的問(wèn)題,特別是安全方面的問(wèn)題。UEFI的文件系統(tǒng)需要更大的存儲(chǔ)空間,所以并不是存儲(chǔ)于主板的ROM中,而是在硬盤中隔離出一個(gè)小分區(qū)作為存儲(chǔ)空間。UEFI B1S這種將文件系統(tǒng)保存在硬盤中的方式,雖然提高了性能,但也面臨風(fēng)險(xiǎn)。保存在硬盤上的數(shù)據(jù)極易受到攻擊和篡改,尤其是UEFI更新時(shí),由于可以直接從移動(dòng)存儲(chǔ)設(shè)備中獲取更新文件,對(duì)更新文件缺少完整性和可信性的檢測(cè)機(jī)制,更無(wú)法保證更新時(shí)的安全性。
[0003]本方法利用更新安全機(jī)制來(lái)解決問(wèn)題。在分發(fā)方法中,通過(guò)在更新文件之上封裝一層可驗(yàn)證其安全性的外層數(shù)據(jù),來(lái)保證更新文件的完整性、保密性,同時(shí)攜帶與硬件兼容的相關(guān)信息;在驗(yàn)證方法中,通過(guò)分離外層數(shù)據(jù)來(lái)驗(yàn)證更新文件是否受到篡改、是否為非法使用以及是否與硬件兼容。
[0004]為實(shí)現(xiàn)上述目地,本發(fā)明主要采用以下技術(shù)方案。
[0005]在分發(fā)方法中,通過(guò)給更新文件添加數(shù)字簽名以保證更新文件不被篡改,添加描述信息以保證更新文件不會(huì)被用戶錯(cuò)誤地使用。在驗(yàn)證方法中,通過(guò)編寫的DXE驗(yàn)證驅(qū)動(dòng)程序,先從更新文件中提取出數(shù)字簽名驗(yàn)證完整性,然后提取描述信息用來(lái)確認(rèn)適用性。

【發(fā)明內(nèi)容】

[0006]為此本發(fā)明的目的是提供一種基于更新安全機(jī)制的UEFI系統(tǒng)更新方法,包括分發(fā)方法和驗(yàn)證方法兩部分,在分發(fā)方法中通過(guò)對(duì)更新文件加入描述信息和對(duì)更新文件進(jìn)行簽名保證更新文件的適用性、完整性。在驗(yàn)證方法中首先從更新文件中提取出數(shù)字簽名部分,然后驗(yàn)證簽名,最后提取描述信息確認(rèn)適用性。最后根據(jù)驗(yàn)證結(jié)果去選擇是執(zhí)行加載更新文件,還是拒絕加載更新文件。
[0007]所述的分發(fā)方法,其特征在于包括如下步驟:
[0008]步驟1.1:在更新文件的末尾加入描述信息,該描述信息用一個(gè)3500字節(jié)的結(jié)構(gòu)體來(lái)存儲(chǔ),該結(jié)構(gòu)體中的每個(gè)字段都是字符型數(shù)組,具體包含:101字節(jié)的公司名稱,101字節(jié)的發(fā)布日期,101字節(jié)的版本號(hào),3096字節(jié)的此版本改動(dòng)說(shuō)明信息,101字節(jié)的主板具體型號(hào);
[0009]步驟1.2:在更新文件的末尾添加簽名,用MD5算法計(jì)算更新文件的數(shù)字摘要,并采用RSA非對(duì)稱密鑰加密算法,用生成的私鑰對(duì)更新文件進(jìn)行簽名,生成可以驗(yàn)證文件完整性的數(shù)字簽名,B1S開(kāi)發(fā)商把包含公鑰的數(shù)字證書(shū)發(fā)布給用戶;
[0010]所述的驗(yàn)證方法,其功能在UEFI框架中是通過(guò)編寫一個(gè)驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)的,該驅(qū)動(dòng)程序類型為遵循UEFI驅(qū)動(dòng)模型的DXE驅(qū)動(dòng)程序,命名為安全性驗(yàn)證DXE驅(qū)動(dòng)程序。驗(yàn)證方法特征在于包括如下步驟:
[0011 ] 步驟2.1:安全性驗(yàn)證DXE驅(qū)動(dòng)程序調(diào)用UEFI的1協(xié)議掃描移動(dòng)存儲(chǔ)盤,讀取更新文件和數(shù)字證書(shū);
[0012]步驟2.2:從更新文件中提取出數(shù)字簽名,由于更新文件中的UEFI系統(tǒng)文件固定為2M字節(jié),并且描述信息的結(jié)構(gòu)體固定為3500字節(jié),所以可以通過(guò)獲取更新文件的首地址和兩個(gè)固定偏移量去提取出數(shù)字簽名;
[0013]步驟2.3:用簽名對(duì)更新文件進(jìn)行完整性驗(yàn)證,對(duì)更新文件中UEFI系統(tǒng)文件和描述信息部分進(jìn)行MD5計(jì)算得到一個(gè)數(shù)字摘要,然后用數(shù)字證書(shū)中提供的公鑰對(duì)簽名進(jìn)行解密,從而獲得另外一個(gè)數(shù)字摘要,最后比較這兩個(gè)數(shù)字摘要是否相同;
[0014]步驟2.4:用描述信息進(jìn)行適用性驗(yàn)證,安全性驗(yàn)證DXE驅(qū)動(dòng)程序讀取系統(tǒng)的主板型號(hào)和當(dāng)前UEFI系統(tǒng)的版本號(hào),然后從描述信息結(jié)構(gòu)體中獲取更新文件適應(yīng)的主板型號(hào)和更新文件版本號(hào),最后驗(yàn)證兩個(gè)主板型號(hào)是否匹配,以及更新文件版本號(hào)是否比當(dāng)前運(yùn)行的版本號(hào)高。
[0015]本發(fā)明與現(xiàn)有技術(shù)相比,具有以下明顯的優(yōu)勢(shì)和有益效果:
[0016]根據(jù)更新安全機(jī)制,在UEFI B1S文件末尾添加安全保護(hù)信息;在UEFI運(yùn)行階段,對(duì)更新文件進(jìn)行驗(yàn)證。通過(guò)這兩個(gè)環(huán)節(jié),保證了更新文件不受到篡改、不會(huì)被非法使用以及保證了與硬件的兼容性,從而填補(bǔ)了 UEFI缺少安全機(jī)制的空白。
【附圖說(shuō)明】
[0017]圖1更新文件結(jié)構(gòu)變化圖;
[0018]圖2將描述信息寫入更新文件;
[0019]圖3保存描述信息的結(jié)構(gòu)體圖;
[0020]圖4保存在更新文件中的簽名;
[0021]圖5更新安全機(jī)制驗(yàn)證方法執(zhí)行流程圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更加明顯易懂,下面將結(jié)合本發(fā)明的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行完整、詳細(xì)的描述。以下描述的實(shí)施例只是本發(fā)明的部分實(shí)施例,并不是全部的實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域中的普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下獲得的所有其他實(shí)施例,均在本發(fā)明的保護(hù)范圍中。
[0023]對(duì)于安全機(jī)制中的分發(fā)方法,其主要是為更新文件添加一些信息,這些信息在驗(yàn)證方法中被用來(lái)驗(yàn)證更新文件的安全性。在分發(fā)方法中,給更新文件添加信息的過(guò)程如圖1所示,具體步驟如下所示:
[0024]步驟1.1:需要對(duì)更新文件添加文件描述信息,如圖2所示,用戶通過(guò)DOS界面輸入描述信息,保存在一個(gè)大小為3500字節(jié)的結(jié)構(gòu)體Descrinfo中,該結(jié)構(gòu)體包含的5個(gè)字符串類型的成員變量,分別對(duì)應(yīng)保存5條關(guān)鍵描述信息,具體結(jié)構(gòu)圖如圖3所示。
[0025]步驟1.2:通過(guò)用戶輸入的文件路徑,導(dǎo)入需要簽名的更新文件,利用MD5算法計(jì)算出它的數(shù)字摘要,然后用RSA非對(duì)稱密鑰加密算法生成的私鑰對(duì)數(shù)字摘要簽名,從而生成數(shù)字簽名。最后將生成的數(shù)字簽名寫入更新文件的末尾,把包含公鑰的數(shù)字證書(shū)發(fā)布出去。圖4為用Edit Plus的十六進(jìn)制方式打開(kāi)的更新文件的尾部?jī)?nèi)容,被矩形選中部分正是增加的簽名部分。
[0026]對(duì)于安全機(jī)制中的驗(yàn)證方法,其運(yùn)行流程與分發(fā)方法互逆的,如圖1所示。在這里采用了遵循UEFI驅(qū)動(dòng)模型的DXE驅(qū)動(dòng)程序來(lái)設(shè)計(jì)驗(yàn)證部分。具體的驗(yàn)證流程如圖5,步驟如下所示:
[0027]步驟2.1:掃描移動(dòng)存儲(chǔ)盤,讀取其中的更新文件和數(shù)字證書(shū)。
[0028]步驟2.2:從更新文件中提取出UEFI系統(tǒng)文件、描述信息和摘要。對(duì)更新文件進(jìn)行提取的原理是UEFI系統(tǒng)文件和描述信息都是固定大小的,其中UEFI系統(tǒng)文件大小為2M字節(jié),描述信息結(jié)構(gòu)體Descrinfo的大小為3500字節(jié)。首先獲得更新文件的首地址,然后根據(jù)兩個(gè)固定的偏移量,即可提取出UEFI系統(tǒng)文件和描述信息,剩余的部分就是簽名。把獲得的三個(gè)部分分別存入按照各自大小申請(qǐng)的內(nèi)存空間contentBuffer、descrBuffer和sigBuffer 中。
[0029]步驟2.3:利用簽名進(jìn)行完整性驗(yàn)證。對(duì)更新文件中包含UEFI系統(tǒng)文件和描述信息的部分進(jìn)行MD5算法計(jì)算得到數(shù)字摘要M1,用數(shù)字證書(shū)中提供的公鑰對(duì)簽名進(jìn)行解密獲得數(shù)字摘要M2,比較Ml和M2是否相等。若不相等,則說(shuō)明完整性遭到破壞,不再進(jìn)行以下步驟,到此結(jié)束。
[0030]步驟2.4:利用描述信息進(jìn)行適用性驗(yàn)證。從descrBuffer中獲得描述信息結(jié)構(gòu)體Descrinfo中的此版本更新文件適用的主板型號(hào)BoardID和此版本更新文件的版本號(hào)B1sID。然后獲得計(jì)算機(jī)系統(tǒng)的主板型號(hào)BoardIDl和當(dāng)前運(yùn)行的UEFI系統(tǒng)的版本號(hào)B1sIDl。對(duì)獲得的兩對(duì)值進(jìn)行比較,如果BoardID不能匹配BoardIDl或者版本號(hào)B1sID比B1sIDl低,則不符合適用性,不再進(jìn)行更新,到此結(jié)束。
【主權(quán)項(xiàng)】
1.一種基于更新安全機(jī)制的UEFI系統(tǒng)更新方法,其特征在于包括分發(fā)和驗(yàn)證方法兩部分;在分發(fā)方法中通過(guò)對(duì)更新文件加入描述信息和對(duì)更新文件進(jìn)行簽名保證更新文件的適用性、完整性,在驗(yàn)證方法中首先從更新文件中提取出數(shù)字簽名部分,然后驗(yàn)證簽名,最后提取描述信息確認(rèn)適用性,最后根據(jù)驗(yàn)證結(jié)果去選擇是執(zhí)行加載更新文件,還是拒絕加載更新文件; 所述的分發(fā)方法,其特征在于包括如下步驟: 步驟1.1:在更新文件的末尾加入描述信息,該描述信息用一個(gè)3500字節(jié)的結(jié)構(gòu)體來(lái)存儲(chǔ),該結(jié)構(gòu)體中的每個(gè)字段都是字符型數(shù)組,具體包含:101字節(jié)的公司名稱,101字節(jié)的發(fā)布日期,101字節(jié)的版本號(hào),3096字節(jié)的此版本改動(dòng)說(shuō)明信息,101字節(jié)的主板具體型號(hào);步驟1.2:在更新文件的末尾添加簽名,用MD5算法計(jì)算更新文件的數(shù)字摘要,并采用RSA非對(duì)稱密鑰加密算法,用生成的私鑰對(duì)更新文件進(jìn)行簽名,生成可以驗(yàn)證文件完整性的數(shù)字簽名,B1S開(kāi)發(fā)商把包含公鑰的數(shù)字證書(shū)發(fā)布給用戶; 所述的驗(yàn)證方法,其功能在UEFI框架中是通過(guò)編寫一個(gè)驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)的,該驅(qū)動(dòng)程序類型為遵循UEFI驅(qū)動(dòng)模型的DXE驅(qū)動(dòng)程序,命名為安全性驗(yàn)證DXE驅(qū)動(dòng)程序,驗(yàn)證方法特征在于包括如下步驟: 步驟2.1:安全性驗(yàn)證DXE驅(qū)動(dòng)程序調(diào)用UEFI的1協(xié)議掃描移動(dòng)存儲(chǔ)盤,讀取更新文件和數(shù)字證書(shū); 步驟2.2:從更新文件中提取出數(shù)字簽名,由于更新文件中的UEFI系統(tǒng)文件固定為2M字節(jié),并且描述信息的結(jié)構(gòu)體固定為3500字節(jié),所以可以通過(guò)獲取更新文件的首地址和兩個(gè)固定偏移量去提取出數(shù)字簽名; 步驟2.3:用簽名對(duì)更新文件進(jìn)行完整性驗(yàn)證,對(duì)更新文件中UEFI系統(tǒng)文件和描述信息部分進(jìn)行MD5計(jì)算得到一個(gè)數(shù)字摘要,然后用數(shù)字證書(shū)中提供的公鑰對(duì)簽名進(jìn)行解密,從而獲得另外一個(gè)數(shù)字摘要,最后比較這兩個(gè)數(shù)字摘要是否相同; 步驟2.4:用描述信息進(jìn)行適用性驗(yàn)證,安全性驗(yàn)證DXE驅(qū)動(dòng)程序讀取系統(tǒng)的主板型號(hào)和當(dāng)前UEFI系統(tǒng)的版本號(hào),然后從描述信息結(jié)構(gòu)體中獲取更新文件適應(yīng)的主板型號(hào)和更新文件版本號(hào),最后驗(yàn)證兩個(gè)主板型號(hào)是否匹配,以及更新文件版本號(hào)是否比當(dāng)前運(yùn)行的版本號(hào)高。
【專利摘要】本發(fā)明公開(kāi)了一種基于更新安全機(jī)制的UEFI系統(tǒng)更新方法,屬于計(jì)算機(jī)軟件系統(tǒng)領(lǐng)域,具體涉及一種UEFI系統(tǒng)更新方法,UEFI更新安全機(jī)制由分發(fā)、驗(yàn)證兩個(gè)方法組成,用以確保加載至系統(tǒng)的更新文件不受篡改、不受非法訪問(wèn),并且與硬件兼容。通過(guò)利用數(shù)字簽名、加密技術(shù),在更新文件之外封裝一層可驗(yàn)證其安全性的外層數(shù)據(jù),然后在更新安全機(jī)制的驗(yàn)證方法中通過(guò)建立DXE驅(qū)動(dòng),對(duì)這一外層數(shù)據(jù)進(jìn)行檢測(cè),從而判斷更新文件是否完整,是否被篡改,是否為非法使用以及是否與硬件兼容。
【IPC分類】G06F21-57, G06F21-62, G06F9-445
【公開(kāi)號(hào)】CN104573527
【申請(qǐng)?zhí)枴緾N201410844498
【發(fā)明人】張建標(biāo), 孫璠, 李梓實(shí)
【申請(qǐng)人】北京工業(yè)大學(xué)
【公開(kāi)日】2015年4月29日
【申請(qǐng)日】2014年12月30日
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
衡南县| 塘沽区| 邢台市| 正镶白旗| 南岸区| 西盟| 宿松县| 灵山县| 丰镇市| 常山县| 高邮市| 关岭| 廉江市| 永川市| 沂南县| 锡林郭勒盟| 筠连县| 崇州市| 宜州市| 滦平县| 陕西省| 南投县| 平利县| 宜丰县| 乌兰察布市| 彩票| 怀安县| 鄱阳县| 隆尧县| 托克托县| 崇明县| 镇赉县| 方正县| 新沂市| 无锡市| 遂宁市| 偃师市| 迁西县| 常德市| 彭阳县| 化州市|