亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        無校驗值比對的可信鏈建立方法

        2016-12-28 01:22:54劉濤董亞楠
        現(xiàn)代計算機 2016年33期
        關鍵詞:內(nèi)核解密校驗

        劉濤,董亞楠

        (四川大學計算機學院,成都 610000)

        無校驗值比對的可信鏈建立方法

        劉濤,董亞楠

        (四川大學計算機學院,成都 610000)

        可信平臺模塊(TPM)具有對度量校驗值進行硬件級保護等特點,在可信引導過程中起到至關重要的作用,進而有力保障用戶計算環(huán)境的安全性。然而目前尚有大量不具備TPM硬件的計算機,如何實現(xiàn)其可信引導從而建立安全的計算環(huán)境仍然亟待解決。針對在沒有TPM硬件的環(huán)境中度量校驗值安全性難以保證的問題,提出一種無校驗值比對的可信鏈建立方法。這種方法采用在操作系統(tǒng)引導時輸入密鑰來動態(tài)解碼二進制指令流的模式,充分利用在操作系統(tǒng)引導這一特殊時期軟硬件環(huán)境尚不完整,嘗試破解密鑰代價高昂的特點。通過實驗驗證這種方法的有效性。

        可信鏈;可信度量;可信引導

        0 引言

        隨著信息產(chǎn)業(yè)的高速發(fā)展,個人電腦、手機、智能終端等電子設備越來越普及。然而普及的背后隱藏著越來越巨大的信息安全危機。電腦病毒、手機病毒、木馬后門等不安全的因素層出不窮,給廣大用戶帶來了嚴重威脅。病毒常常篡改操作系統(tǒng)運行所必須的關鍵部分,并偷偷在用戶不知情的情況下運行,從而達到監(jiān)視用戶行為,盜取破壞用戶敏感數(shù)據(jù)之目的。

        保障系統(tǒng)啟動過程的安全性對于建立安全的計算環(huán)境至關重要。為了保證系統(tǒng)的啟動過程是安全可信的,文獻[1]和[5]采用了可信鏈機制:即先確立一個可信任的根,從這個根出發(fā),對下一個啟動步驟進行可信度量,如果度量成功,則將其納入可信鏈,并將系統(tǒng)控制權交給它;反之則認為該步驟被篡改,不可信而啟動失敗。不斷重復這一過程,可信鏈不斷延長,直至系統(tǒng)啟動完畢。那么就可以認為,系統(tǒng)的啟動過程是可信的,安全的??尚鸥强尚沛湹钠瘘c;可信度量則決定了可信鏈延展性。這兩項在可信鏈的建立過程中相輔相成,缺一不可。

        正是由于可信根和可信度量在可信鏈建立過程中的重要性,工業(yè)界和學術界普遍采用將二者結(jié)合的辦法,即構(gòu)建一個專門的安全芯片TPM(Trusted Platform Module)[1,4-5],它既作為整個系統(tǒng)的可信根,又作為可信度量的場所,它內(nèi)部有專門的硬件電路負責密鑰存儲,加解密計算等。即使在沒有內(nèi)置TPM硬件的環(huán)境中,為了實現(xiàn)可信引導,很多人也采用外置類似TPM功能硬件的方法,如文獻[2]中提出的USB-key等等。

        由于TPM硬件(以及類似TPM功能的硬件)目前的普及率和大眾認知度不高(在淘寶網(wǎng)上搜索TPM硬件條目數(shù)便可窺一二),這導致很多計算機難以實現(xiàn)可信引導而長期處于安全風險中。因此從實用的角度出發(fā),如何在沒有TPM硬件的條件下建立可信鏈,進而提供一個便捷、安全的計算環(huán)境是眼下的當務之急。文獻[3]實現(xiàn)了一種無需TPM硬件實現(xiàn)可信引導的方法,其基本思想是在引導系統(tǒng)時引入一個精簡Linux環(huán)境,對目標系統(tǒng)進行可信度量,然后與保存在精簡Linux環(huán)境中的度量校驗值進行比對,從而判定目標系統(tǒng)的可信與否。這種方法的不足之處在于存儲在軟件環(huán)境中的度量校驗值安全可靠性難以得到保證。本文將介紹一種在沒有TPM情況下不依靠校驗值比對實現(xiàn)可信引導的解決辦法。

        1 系統(tǒng)設計

        1.1 可信根

        計算機系統(tǒng)的啟動需要經(jīng)歷如下過程,以PC啟動位于硬盤上的Linux為例[1]:計算機上電后,首先完成硬件自檢,接著執(zhí)行BIOS中的代碼完成硬件初始化,然后讀入并執(zhí)行MBR中的代碼,MBR其實包含了grub引導程序的stage1,接著執(zhí)行grub的stage1_5,stage2,最后將控制權交給Linux內(nèi)核vmlinuz完成Linux操作系統(tǒng)的啟動,如圖1所示。

        圖1 無TPM的Linux啟動過程

        在引入了TPM的計算機系統(tǒng)中,Linux操作系統(tǒng)的啟動過程與之前相比增加了TPM的可信度量環(huán)節(jié):計算機上電完成硬件自檢,TPM度量BIOS中代碼;BIOS初始化硬件,TPM度量MBR代碼;執(zhí)行MBR中grub引導程序的stage1,TPM度量stage1_5;執(zhí)行stage1_5,TPM度量stage2;執(zhí)行stage2,TPM度量vmlinuz;執(zhí)行vmlinuz,至此Linux操作系統(tǒng)啟動完成,如圖2所示。

        可信根應該有度量下一步可執(zhí)行代碼正確性的能力,否則就不能實現(xiàn)可信鏈的傳遞和延展。計算機上電、硬件自檢、BIOS初始化硬件這三步的可執(zhí)行代碼常常位于主板的ROM中,對普通用戶而言難以修改,通常由硬件生產(chǎn)廠家直接提供,幾乎不具備度量的能力,因此不適宜作為可信根。對于普通用戶而言,唯有位于磁盤上的代碼是易于修改的,因此MBR或bootloader等作為在BIOS初始化硬件完畢后執(zhí)行的第一步外部代碼則可以經(jīng)過修改而具備度量功能(比如修改grub或Linux中有關bootsector的代碼)。既然這些代碼位于磁盤上,對于普通用戶是易于修改的,對于惡意程序或惡意用戶來說也是易于修改的,那么如何保證這些代碼的安全性?本文將在第二部分可信度量中做進一步分析和探討。

        圖2 有TPM的Linux啟動過程

        1.2 可信度量

        常見可信度量方法[1,3-5]可以簡單總結(jié)為下面四步:(1)輸入度量目標;(2)按照一定度量算法計算;(3)將度量結(jié)果與存儲在某處的度量校驗值進行比對;(4)根據(jù)比對的結(jié)果判斷度量目標是否可信。如圖3所示。前人的研究工作主要集中在第二步和第三步上,如在第二步中采用復雜的加解密算法,在第三步采用將校驗值存儲在TPM等特殊軟硬件環(huán)境等方式來確保校驗值的正確性和安全性。

        圖3 可信鏈建立過程中的常見度量步驟

        這種依賴校驗值比對的方式有一定弊端:惡意用戶或程序可能通過某種途徑獲得或修改這個校驗值,繞過復雜的度量算法,從而控制系統(tǒng)。如文獻[7]提出利用LiveCD修改Linux登錄密鑰的方法就是一種變相修改校驗值的方法。

        一個更好的辦法是在可信鏈的建立過程中移除校驗值比對這一薄弱的環(huán)節(jié),即不保存所謂的校驗值,從而消除校驗值比對帶來的潛在威脅。這種方法的流程如圖4所示:度量目標事先被一定的可逆加密算法加密(如位運算、DES加密等,由于加解密算法不在本文研究范圍內(nèi),所以不再詳述),到需要度量該目標時,提示用戶輸入密鑰,然后將這個密鑰不加驗證地用于解密算法中進行運算。此時無論是真密鑰還是假密鑰,無論被度量目標被篡改與否,都可以運算得到一個二進制流的結(jié)果,然后系統(tǒng)跳轉(zhuǎn)到該結(jié)果處繼續(xù)執(zhí)行。只有真密鑰和未篡改的度量目標解碼出來的結(jié)果才是有效的二進制指令流從而被正確執(zhí)行。這樣只能通過系統(tǒng)的運行行為(如正常開機、正常啟動)而非存儲在某處的校驗值比對來判斷密鑰和度量目標的真?zhèn)巍?/p>

        圖4 無校驗值比對的度量步驟

        利用上述無校驗值比對的可信度量方式,可按如下過程建立可信鏈:假如操作系統(tǒng)啟動需要經(jīng)過5個步驟:s1,s2,s3,s4,s5,其中前一步包含了對后一步的解密算法,如s1的代碼中包含了對s2的解密算法。寫在磁盤上的操作系統(tǒng)代碼已經(jīng)按照上面5個步驟劃分成了5塊,并已經(jīng)分別按照相應的加密算法進行了加密。當然s1不需要加密,因為它的上一步是BIOS,而BIOS中的代碼不具備解密功能。當啟動計算機時,上電、硬件自檢、BIOS初始化硬件這三步不變,接著BIOS把控制權交給s1,s1完成自身特定功能后提示用戶輸入用于解密s2的密鑰,如果密鑰正確且s2沒有被篡改,s2將得以正確解密而完成自身特定功能并提示輸入解密s3的密鑰;反之不能得到正確的s2代碼而永遠不能進行后續(xù)步驟,s3,s4,s5與此類似,不再贅述。

        惡意程序不能破壞、增刪s1-s5中任意一個環(huán)節(jié),否則都將使得后續(xù)步驟的解密失敗,因為這樣會破壞數(shù)據(jù)的完整性從而導致解密運算得到的二進制流與原始可執(zhí)行的二進制指令流不一致,使得啟動不能繼續(xù)進行。對于惡意程序來說,有可乘之機的地方在BIOS與s1處,即在BIOS與s1間增加一個環(huán)節(jié)。如引導區(qū)病毒(Boot sector viruses),它可以先于正常引導程序運行,待完成自身任務后將控制權交給正常引導程序。如何防范引導區(qū)病毒不在本文的討論范圍之列,文獻[6]給出了一些常見的防范辦法,本文不再贅述。但是近幾年引導區(qū)病毒破壞力有限,在dos、win95時代猖狂一時,但在Linux和windowsNT時代的破壞卻鮮有耳聞,現(xiàn)代操作系統(tǒng)已經(jīng)具備有成熟的虛擬內(nèi)存保護和管理機制,使得引導區(qū)病毒無機可乘。由此s1,s2,s3,s4,s5構(gòu)成了一條可信鏈。

        2 實驗驗證

        筆者在Linux-0.12基礎上開發(fā)了一個小型的操作系統(tǒng)內(nèi)核,它由兩部分組成:引導程序和內(nèi)核。它的啟動將依次進行下面的步驟:上電,硬件自檢,BIOS初始化硬件,BIOS將控制權交給引導程序,引導程序度量內(nèi)核并將控制權交給內(nèi)核,運行內(nèi)核完成系統(tǒng)啟動。

        BIOS中可設置的啟動引導設備有軟盤、硬盤、光盤、U盤等等。理論上說這些設備都可以作為實驗對象,但軟盤由于其結(jié)構(gòu)簡單,設置方便,因此我們選用軟盤作為引導介質(zhì)。實驗環(huán)境為:debian-7.0.0作為宿主操作系統(tǒng),版本號為1.1.2的qemu虛擬機。

        2.1 模擬度量目標沒有被篡改條件下的運行情況

        (1)實驗步驟

        ①編譯并制作正常可以啟動的操作系統(tǒng)內(nèi)核system。

        ②編寫以位運算作為加密手段的加密程序encrypt.c,設置好加密參數(shù),將system加密為e_system。

        ③編寫帶解密算法的引導程序boot.s,并編譯成boot.bin。

        ④將引導程序boot.bin和加密后的內(nèi)核e_system一并寫入軟盤鏡像fakedisk.img中。

        ⑤用這個軟盤鏡像啟動qemu虛擬機,運行參數(shù)為:qemu-system-i386-m 8-fda fakedisk.img。

        (2)實驗結(jié)果(如圖5、圖6)

        2.2 模擬度量目標被篡改條件下的運行情況

        (1)實驗步驟

        ①編譯并制作正??梢詥拥牟僮飨到y(tǒng)內(nèi)核system。

        ②編寫以位運算作為加密手段的加密程序encrypt.c,設置好加密參數(shù),將system加密為e_system。

        ③模擬篡改行為,隨機修改e_system中的幾位,得到f_system。

        ④編寫帶解密算法的引導程序boot.s,并編譯成boot.bin。

        ⑤將引導程序boot.bin和篡改后的內(nèi)核f_system一并寫入軟盤鏡像fakedisk.img中。

        圖5 輸入正確密鑰,正常運行打印出標識

        圖7 輸入正確密鑰,不能正常運行打印出標識

        ⑥用這個軟盤鏡像啟動qemu虛擬機,運行參數(shù)為:qemu-system-i386-m 8-fda fakedisk.img。

        (2)實驗結(jié)果(如圖7、圖8)

        2.3 實驗結(jié)果說明

        實驗發(fā)現(xiàn)當輸入正確密鑰且度量目標沒有被篡改時,度量目標被還原成正確可執(zhí)行的二進制指令流,正常運行并打印出標識;當輸入錯誤密鑰或度量目標被篡改時,度量目標被計算成無意義的二進制流,當跳轉(zhuǎn)到該結(jié)果處執(zhí)行后,虛擬電腦由于執(zhí)行錯誤指令而出現(xiàn)“死機”的狀態(tài)。

        3 可信鏈建立方式的有效性

        上述可信鏈建立過程中沒有任何校驗值比對,杜絕了惡意程序和用戶修改或竊取度量校驗值從而繞過可信度量的隱患。如果采用暴力破解密鑰的辦法,那么每嘗試一次密鑰就需要重啟電腦一次;如果是在VirtualBox、qemu類的虛擬機中破解,每次嘗試也需要重啟虛擬機。這也是操作系統(tǒng)啟動引導過程的特殊性,因為此時系統(tǒng)沒有完全運轉(zhuǎn)起來,不能提供完整的軟硬件環(huán)境。相比于其他暴力破解方式(系統(tǒng)完全運轉(zhuǎn)起來,使用破解軟件,開啟上百個線程,每秒嘗試上萬個密鑰),這種暴力破解的代價是相當大的。

        圖6 輸入錯誤密鑰,不能正常運行打印出標識

        圖8 輸入錯誤密鑰,不能正常運行打印標識

        4 結(jié)語

        按照文中設計的無校驗值比對的可信鏈建立方式,構(gòu)建具有可信度量功能的操作系統(tǒng)引導程序。實驗結(jié)果表明,這種不依賴校驗值比對的可信鏈建立方式是可行的。這為廣大沒有TPM硬件的用戶提供了一種保障自身計算環(huán)境安全的新思路。

        [1]吳剛.面向Xen安全計算機中可信鏈的可信引導及可信設備虛擬化[D].華南理工大學,2011.

        [2]張帆,張聰,陳偉,等.一種無需操作系統(tǒng)的硬件級可信度量方法[J].華中科技大學學報:自然科學版,2014(11):6-10.

        [3]姚金魁,張濤,王金雙,陳融,施祖清.一種不依賴TPM的安全引導方式的設計與實現(xiàn)[期刊論文].計算機技術與發(fā)展,2012(6)

        [4]譚良,周明天.基于可信計算平臺的可信引導過程研究[J].計算機應用研究,2008,25(1):232-234.

        [5]赫芳,劉毅,莊祿.面向云計算平臺的可信度量研究[J].信息網(wǎng)絡安全,2013(1):5-7.

        [6]Boot sector.https://en.wikipedia.org/wiki/Boot_sector

        [7]利用LiveCD修改root密鑰.http://luyx30.blog.51cto.com/1029851/1092928/

        A Way of Building Trusted Chain Without Checksum Validation

        LIU Tao,DONG Ya-nan

        (College of Computer Science,Sichuan University,Chengdu 610000)

        The trusted platform module(TPM)is capable of protecting validation checksum from hardware level perspective,and plays a vital role in guaranteeing the safety of computing environment.However there are a lot of computers running without TPM,how to guarantee their safety is still unsolved.For that reason,proposes a way of building trusted chain without checksum validation.This method dynamically decodes binary instructions at boot time,taking full advantage of the characteristics that cracking key at initialization moment will be costly.Finally the effectiveness of the proposed method is verified by experiment.

        Trusted Chain;Trusted Measurement;Trusted Startup

        1007-1423(2016)33-0009-05

        10.3969/j.issn.1007-1423.2016.33.002

        2016-10-08

        2016-11-15

        劉濤(1990-),四川資陽人,在讀碩士研究生,研究方向為嵌入式操作系統(tǒng)

        董亞楠(1990-),女,河北保定人,在讀碩士研究生,研究方向為嵌入式操作系統(tǒng)

        猜你喜歡
        內(nèi)核解密校驗
        解密“熱脹冷縮”
        萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
        強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        解密“一包三改”
        少先隊活動(2020年9期)2020-12-17 06:17:31
        炫詞解密
        基于嵌入式Linux內(nèi)核的自恢復設計
        Linux內(nèi)核mmap保護機制研究
        爐溫均勻性校驗在鑄鍛企業(yè)的應用
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        漂亮人妻被中出中文字幕久久| av在线一区二区精品| 中文字幕漂亮人妻在线| 人妻中文字幕无码系列| 人人妻人人玩人人澡人人爽| 一区在线播放| 亚洲综合一区二区三区在线观看| 欧美伦费免费全部午夜最新| 免费观看黄网站在线播放| 无码不卡免费一级毛片视频 | 中文字幕日韩精品永久在线| 国产一精品一av一免费爽爽| 丰满人妻被中出中文字幕| 久久久久亚洲AV片无码乐播 | 亚洲阿v天堂2018在线观看| 日本一区二区偷拍视频| 国产日产亚洲系列最新| 精品福利视频一区二区三区| 国产一区二区三区免费在线视频| 色婷婷亚洲一区二区三区在线| 国产大片黄在线观看| 少妇高潮惨叫久久久久久| 女人被躁到高潮嗷嗷叫免费软| 精品一区二区三区婷婷| 国产在线观看无码免费视频| 久久亚洲国产中v天仙www| 国产自产在线视频一区| 久久一本日韩精品中文字幕屁孩| 日本无码人妻波多野结衣| 毛片无遮挡高清免费久久| 宅男天堂亚洲一区二区三区| 成人在线免费电影| 国产成人无码aⅴ片在线观看| 国产高清精品在线二区| 肥老熟女性强欲五十路| 久久国产精品-国产精品| 91久久国产自产拍夜夜嗨| 精品亚洲一区二区三洲| 国产啪亚洲国产精品无码 | 又大又紧又粉嫩18p少妇| 日韩欧美中文字幕公布|