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

基于MD5算法的文件完整性檢測系統分析及設計

2019-11-12 02:13:52◆靳
網絡安全技術與應用 2019年11期
關鍵詞:用戶檢測

◆靳 燕

(山西大學商務學院信息學院 山西 030031)

隨著互聯網技術的快速發展,人們已經逐漸進入了全面信息化時代,信息技術已滲透在社會生產和生活的方方面面,人們的生活和工作方式也因此發生了巨大的變化。信息技術是一把雙刃劍,可以成為網絡作案的工具。非法竊取隱私信息、破壞網絡服務系統等,保護重要信息不被泄露和破壞,是極為重要的。密碼學綜合了數學科學,電子通信技術以及計算機科學等多個領域的學科知識,在提供數據的安全性、保密性、完整性上發揮著重要的作用。本文詳細分析了MD5算法的原理,設計文件完整性檢測模型,并在QT環境中編程實現。使用測試文件進行系統功能測試,以驗證模型設計的有效性。

1 MD5算法

1.1 算法簡介

美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)在MD4算法的基礎上,于1992年設計出更為趨于成熟的MD5算法[1-2]。使用該算法可以將任意長度的文本轉換為一個固定長度的字符串。由于同一文件產生出相同字符串的概率極小,可將該字符串視為該文件的摘要信息。文件的完整性檢測是比較文件前后兩次的摘要值是否相同,如果被篡改,摘要值將發生變化,因此可以有效檢測出文件是否完整。

1.2 算法執行過程

MD5算法以任意長度的消息作為輸入,進行比特填充和補足長度后,按512比特為單位進行處理,輸出一個長度為128比特的字符串,稱該字符串為消息摘要。

(1)比特填充

MD5算法先要對輸入的消息進行比特填充,使其比特長度模512為448。如果輸入的消息長度正好是模512為448,則填充512個二進制數[3],顯然,需要填充的二進制數的個數范圍為:1~512。填充方法為:第一個二進制位為1,其余全部為0。示意圖見圖1所示。

圖1 MD5算法的比特填充示意圖

(2)填加長度信息

在填充數據的后面附加一個以64位二進制表示的原始消息的長度值。如果消息長度值超出了64位二進制數所能表示的范圍,只保留低位的64位,超出部分截去。最終,處理后得到的消息是512比特的整數倍,字節長度表示為N*512+448+64=(N+1)*512。示意圖見圖2所示。

圖2 MD5算法的填加長度信息示意圖

(3)主處理過程

將上述處理后的消息,按512比特大小進行分塊,每個數據塊再按每組32比特進行分組,分得16組。

步驟1:輸入第一個數據塊(512比特),按每32比特為單位,依次存入M[k]中,k=0,1,2,..,15。

步驟2:使用四個緩沖器(A,B,C,D)來計算消息摘要,每個緩沖器都是4個字節共32位的寄存器,空間大小與每個單位組M[k]一致。使用下列初值對A、B、C、D進行初始化。

A=0X01234567 B=0X89abcdef

C=0Xfedcba98 D=0X76543210

步驟3:該部分主要完成壓縮處理,是主處理過程的核心。壓縮處理有四層運算(每層16次迭代),四層運算結構相同。每次運算的輸入都是當前要處理的512比特的數據塊(已分為16組的M[k])和四個緩存器(A、B、C、D)。每層都對緩存器的內容進行更新,而且每層使用的邏輯函數不同,分別表示為:F、G、H、I;第四層的輸出與第一層的輸入相加得到壓縮函數的輸出。每層處理描述如下:

第一層運算,執行16次:

a=FF(a,b,c,d,M[k],s,T[i])=b+((a+F(b,c,d)+M[k]+T[i])<<

第二層運算,執行16次:

a=GG(a,b,c,d,M[k],s,T[i])=b+((a+G(b,c,d)+M[k]+T[i])<<

第三層運算,執行16次:

a=HH(a,b,c,d,M[k],s,T[i])=b+((a+H(b,c,d)+M[k]+T[i])<<

第四層運算,執行16次:

a=II(a,b,c,d,M[k],s,T[i])=b+((a+I(b,c,d)+M[k]+T[i])<<

在上述運算過程描述中,<<

&是按位與運算,|是按位或運算,~是按位取反運算,^是按位異或運算。以第二層運算為例,示意圖見圖3所示。

圖3 MD5算法的第二層壓縮處理示意圖

按上述步驟將所有數據塊處理完成。

(4)結果輸出

所有的512位的數據塊都處理完后,最后一個數據塊的輸出便是128位的消息摘要值。

1.3 算法分析

(1)算法特性分析

算法的輸入為任意長度的消息[4],記為M,經算法處理后得到消息的摘要值,記為h,這一處理過程記為:h=MD5(M)。MD5算法具有哈希函數的相應性質,主要體現在:①可以接受任意長度的消息M,經處理產生一個固定長度的輸出h。②任意給定消息M,計算M的摘要值h很容易。③任意給定摘要值h,找到滿足MD5(M)=h的M很難,計算上不可行,稱為算法的單向性。④任意給定消息M,找到不等于M的M’,使MD5(M)=MD5(M’),計算上不可行,稱為弱抗沖突性。⑤找到任意消息對(M,N),滿足MD5(M)=MD5(N),這在計算上是不可行的,稱為強抗沖突性。

(2)算法安全性分析

兩個不同的消息M和M’,如果具有相同的摘要值,就稱之為碰撞,MD5的安全性分析需要從碰撞入手。在MD5算法的特性分析中,抗沖突性強調了尋找具有相同摘要值的消息在計算上是不可行的,但這在理論上卻是成立的。MD5算法的輸入是任意長度的消息,通過處理映射到固定長度的128位二進制數上,顯然這種映射無法做到一一對應,因此,碰撞是無法避免的。

分析MD5算法的安全性,是分析其在抗碰撞性上的強弱,或稱為抗沖突性的強弱。MD5算法具有單向性,在碰撞測試中,無法由摘要值推導出消息,只能嘗試選取一個消息,計算摘要值是否發生了碰撞。MD5算法的輸出為128比特,若采用強力攻擊法,找到一個消息M,使其具有和給定h相同的摘要值,計算難度為2128。

研究如何破譯MD5算法,就是構建理論模型來加速構造碰撞對。若采用生日攻擊法[5],尋找有相同摘要值的兩個消息,需要嘗試264次,按2.6GHz的計算頻率推算時間大約為225年。2004年,王小云教授將碰撞嘗試減少至242次。2009年,馮登國和謝濤利用差分攻擊,將碰撞嘗試次數進一步降低到221,按2.6GHZ的計算頻率,大約為8秒。

為進一步提高MD5算法的安全性,在實際應用中,對MD5算法進行了改良,如:MD5加鹽、SHA-1等。

2 文件完整性檢測模型

2.1 文件完整性定義

網絡安全的五大目標為:保密性、完整性、不可否認性、可控性和可用性。完整性強調了信息在存儲或傳輸過程中流向不能變,內容不能變。認證技術是保證信息完整性和有效性的重要手段。認證技術包括實體認證和消息認證。消息認證就是驗證消息的完整性,即驗證消息在傳輸或存儲過程中未被竄改、重放或延遲等。這些消息可以是存儲在主機系統上的重要數據和重要文件,也可以是即時通信的會話信息等。消息認證也稱文件完整性檢測[6]。

2.2 文件完整性面臨的常見威脅

各類網絡安全事件都可能對文件完整性造成威脅,如:計算機病毒、木馬、消息偽造、會話劫持等人為破壞。設備硬件故障、網絡故障等非人為因素。

2.3 文件完整性檢測模型

根據MD5算法特點,當消息發生改變時,摘要值也會發生變化,且其單向性保證了計算的不可逆。在接受MD5算法的安全性能的前提下,可以將其用于文件完整性檢測,檢測模型見圖4所示。

圖4 文件完整性檢測模型

3 系統功能分析

為了進行文件完整性檢測,同時保證系統的廣大用戶群,系統需要提供默認檢測功能和檢測建議。文件包括:系統重要文件集、用戶自定義文件集、已下載文件集。對于本地重要文件,為防止篡改,應當事先計算文件摘要值,并妥善保存;對于待傳輸的文件,為防止傳輸過程中被篡改,可在傳輸前計算摘要值。

系統的主要模塊包括:(1)文件選定模塊:關于系統重要文件或文件夾的選定,用戶可以使用默認選項,由程序決定,也可自行選擇。關于用戶重要文件或文件夾的選定,由用戶通過界面操作來完成。(2)文件摘要計算模塊:程序計算選定文件的摘要值并保存。(3)文件完整性檢測模塊:用戶根據需要對選定的文件進行完整性檢測。對于系統的重要文件,推薦在新程序安裝后或每天的固定時間進行完整性檢測。用戶的重要文件,推薦在每天的固定時間進行完整性檢測。程序設計時,將推薦做為選項提供給用戶。該模塊的檢測結果一方面顯示給用戶,另一方面要存儲到日志文件中。(4)更新文件摘要值:當被保護的文件被合法操作后,需要重新計算文件摘要值,在此模塊計算完成后進行更新。(5)日志查看模塊:用戶可以按時間查閱日志情況,包括檢測的文件名、文件格式、存儲路徑、檢測時間和檢測結果等。

4 系統設計與功能測試

4.1 開發技術簡介

選用C++作為系統開發語言,使用QT框架設計系統界面。QT是一個跨平臺的C++GUI應用框架,主要提供窗口部件集,具有面向對象、便于擴展等優點,利于系統功能設計與開發。

4.2 數據庫設計

MySQL是一款關系型數據庫,具有開發成本低,占用空間小,處理速度快等優點。根據系統功能,設計出四個實體:用戶實體(用戶id、用戶名、密碼、權限)、目錄實體(目錄名、目錄路徑、文件數)、文件實體(用戶id、文件名、MD5摘要值,更新時間)和日志實體(日志id、用戶id、日志路徑、創建時間、文件名)。

4.3 系統功能測試

系統提供用戶注冊和登錄界面,只有注冊用戶才可使用系統功能,用戶登錄成功后,進入系統主界面,提供五個操作選項:文件選定、文件摘要計算、文件完整性檢測、更新文件摘要值、日志查看。

在文件選定操作中,提供了選定文件夾進行文件保護的功能,用戶只需給出待保護的文件夾,由程序決定對哪些文件進行檢測保護。考慮文件夾的文件數量情況,在用戶沒有做特定文件的保護要求的情況下,文件夾中的.jpg,.png,.mov,.avi等圖片和視頻文件默認不做保護檢測,因此,在文件摘要計算模塊,掃描選定的文件夾時,這些文件會跳過。

本文選擇三個文件依次進行摘要值計算,并通過修改文件內容進行完整性檢測,前后兩次摘要值見表1~表3所示,由于摘要值較原始摘要值發生變化,成功給出檢測結果。

表1 test.doc文件摘要信息

表2 index.html文件摘要信息

表3 myprog.cpp文件摘要信息

5 結束語

本文設計的文件完整性檢測系統,提供了默認選定功能,用戶無須具備安全知識即可輕松保護重要文件。日志功能利于后期查看文件破壞的規律,進一步找出極易受攻擊破壞的重要文件,對進一步的文件保護提供指導。

MD5算法除了可進行文件完整性檢測外,還可廣泛應用于數字簽名、密碼保護等領域,從密碼分析的角度來看,MD5算法易受攻擊,但其較強的綜合性能使得依舊有很多優勢。在MD5算法的多年應用中,對其進行的攻擊并不總是有效的,整體來講,MD5算法仍然是比較安全的。

猜你喜歡
用戶檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
小波變換在PCB缺陷檢測中的應用
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 欧美成人免费| 久久久久亚洲精品成人网 | 免费一级全黄少妇性色生活片| 欧美黄网站免费观看| 91精品网站| 国内黄色精品| 国产精品v欧美| 曰AV在线无码| 91麻豆精品视频| 国产福利免费视频| 亚洲最猛黑人xxxx黑人猛交| 热思思久久免费视频| 亚洲欧美日韩动漫| 国产精品19p| 国产18在线播放| 天堂网亚洲系列亚洲系列| 伊人色在线视频| 九九久久精品免费观看| 97在线公开视频| av在线5g无码天天| 欧美日本激情| 91伊人国产| 久久香蕉国产线看观看精品蕉| 色婷婷天天综合在线| 国产在线视频导航| 久久网综合| 日韩视频福利| 天天摸夜夜操| 国产91丝袜在线播放动漫| 欧美成人免费一区在线播放| 国产成人综合久久精品下载| 国产成人1024精品| 亚洲精品卡2卡3卡4卡5卡区| 亚洲综合极品香蕉久久网| 亚洲中文字幕23页在线| 99视频在线免费看| 国产成熟女人性满足视频| 人妻丰满熟妇AV无码区| 欧美成人手机在线观看网址| 精品久久久久久久久久久| 国产爽爽视频| 久久77777| 日本在线免费网站| 国产精品9| 91激情视频| 青青国产视频| 波多野结衣无码视频在线观看| 亚洲国产精品不卡在线| 亚洲人成网7777777国产| 澳门av无码| 国产成人高精品免费视频| 尤物亚洲最大AV无码网站| 国产精品无码AV中文| 精品99在线观看| 国产在线观看精品| 久久精品这里只有精99品| 青青草综合网| 国产一区二区三区在线观看视频| 热99精品视频| 亚洲VA中文字幕| 国产亚洲精品97AA片在线播放| 国产福利不卡视频| 在线国产三级| 男女男免费视频网站国产| 91外围女在线观看| 青青草原国产一区二区| 国产成人免费| 国产va视频| 久久亚洲黄色视频| 国产农村精品一级毛片视频| 四虎综合网| 91精品国产自产在线老师啪l| 91福利免费视频| 亚洲av无码牛牛影视在线二区| 国产精品人人做人人爽人人添| 精品一区二区三区波多野结衣| 国产成人高清在线精品| 不卡午夜视频| 日韩在线视频网| 欧美午夜视频在线| 亚洲天堂色色人体| 亚洲国产看片基地久久1024|