畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)1引言隨著計算機信息技術(shù)的蓬勃發(fā)展,作為信息采集、存儲、處理和傳輸?shù)拿襟w,計算機及網(wǎng)絡(luò)應(yīng)用逐步延伸到社會生活的方方面面。當(dāng)人類越來越感受到計算機系統(tǒng)功能的強大,不得不感嘆于信息技術(shù)帶來的方便快捷的同時,各種憂慮也漸漸產(chǎn)生:已經(jīng)習(xí)慣性依賴于計算機的人們離開它還能生存嗎?信息戰(zhàn)將對國防安全、軍事領(lǐng)域產(chǎn)生什么影響?信息詐騙和其他信息犯罪將如何改變?nèi)藗兊娜粘I?這些問題都屬于計算機信息安全的范疇。起初,計算機系統(tǒng)的安全主要是指硬件的安全保護(hù)。隨著信息所發(fā)揮的價值日益為人們所了解,人們的目光轉(zhuǎn)移到在計算機系統(tǒng)中存儲、傳輸?shù)男畔⒌陌踩ǚ乐剐畔⑿孤┖头欠礁牡取?shù)據(jù)庫集中存放和管理大量信息,其安全性對于整個計算機信息系統(tǒng)至關(guān)重要。為了保證數(shù)據(jù)安全,人們在不同層面運用了各種安全措施,這些防范措施分別可以在一定程度上防止某種安全威脅。但是,在操作系統(tǒng)、數(shù)據(jù)庫和網(wǎng)絡(luò)的層層防護(hù)之下,仍然無法保證數(shù)據(jù)庫數(shù)據(jù)的安全。因為通常數(shù)據(jù)庫中的數(shù)據(jù)最終是以文件形式存儲在計算機上的,這些文件大部分是多個用戶可讀可寫的,一旦網(wǎng)上黑客通過某種途徑進(jìn)入系統(tǒng)就可以直接讀取數(shù)據(jù)文件或存儲介質(zhì),從中竊取數(shù)據(jù)或利用非法軟件篡改數(shù)據(jù)庫文件內(nèi)容。近幾年,類似案件在世界范圍內(nèi)頻繁出現(xiàn)。因此計算機信息安全人員和數(shù)據(jù)庫開發(fā)商們不得不求助于另外一種安全措施一一加密技術(shù)。1.1課題現(xiàn)狀密碼學(xué)是一門古老而深奧的學(xué)科,對一般人來說是非常陌生的。長期以來,只在很小的范圍內(nèi)使用,如軍事、外交、情報等部門。計算機密碼學(xué)是研究計算機信息加密、解密及其變換的科學(xué),是數(shù)學(xué)和計算機的交叉學(xué)科,也是一門新興的學(xué)科。隨著計算機網(wǎng)絡(luò)和計算機通訊技術(shù)的發(fā)展,計算機密碼學(xué)得到前所未有的重視并迅速普及和發(fā)展起來。在國外,它已成為計算機安全主要的研究方向。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第1頁。數(shù)據(jù)庫系統(tǒng)的安全問題是信息系統(tǒng)安全的一個大問題。由于數(shù)據(jù)庫系統(tǒng)中集中存儲了大量的信息,而且數(shù)據(jù)庫的最大特點是實現(xiàn)數(shù)據(jù)的共享,其中必然帶來數(shù)據(jù)庫的安全性問題。數(shù)據(jù)庫中放置了組織、企業(yè)、個人的大量數(shù)據(jù),其中許多數(shù)據(jù)可能是非常關(guān)鍵的、機密的或者涉及隱私的。例如軍事秘密、國家機密、科研數(shù)據(jù)、市場分析、營銷策略、銷售計劃、客戶檔案、醫(yī)療檔案、銀行儲蓄數(shù)據(jù)等。數(shù)據(jù)擁有者往往只容許一部分人訪問這些數(shù)據(jù),如果數(shù)據(jù)庫管理系統(tǒng)不能嚴(yán)格的保護(hù)數(shù)據(jù)庫中的數(shù)據(jù)的數(shù)據(jù)安全性,就會嚴(yán)重制約數(shù)據(jù)庫的應(yīng)用。數(shù)據(jù)庫系統(tǒng)的安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標(biāo)之一。同時在許多用戶之間也因為信息共享而增加了發(fā)生錯誤的機會。因此,如何才能確保和加強數(shù)據(jù)庫的安全保密性已經(jīng)成為目前必須要解決的問題。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第1頁。目前,在信息化發(fā)展程度較高的國家和地區(qū),很多資源都可以實現(xiàn)共享,有些數(shù)據(jù)庫中的數(shù)據(jù)是全部公開的(如圖書館的數(shù)據(jù)庫),但是大多數(shù)數(shù)據(jù)庫是無法全部公開的,有些數(shù)據(jù)庫甚至是完全保密的。例如,就商業(yè)部門而言,一般信息可以共享,但是一些敏感信息或者數(shù)據(jù)(如商業(yè)情報、職工工資等)則是保密的。而對軍隊等特殊部門的數(shù)據(jù)庫而言,因其存儲的全部都是一些機要數(shù)據(jù),所以就要求完全保密。對于這些需要保密的或保密要求較高的數(shù)據(jù)庫及其所存儲的數(shù)據(jù),如果還僅僅采用一般性的安全措施,那么仍會有一些用戶,尤其是一些內(nèi)部用戶仍可能非法獲取用戶名、口令字,或是利用其他方法越權(quán)使用數(shù)據(jù)庫,甚至可以間接打開數(shù)據(jù)庫文件來竊取或篡改信息。因此,有必要對數(shù)據(jù)庫中存儲的重要數(shù)據(jù)進(jìn)行加密處理,以強化數(shù)據(jù)存儲的安全保護(hù)。但是很遺憾,現(xiàn)在絕大部分的數(shù)據(jù)庫系統(tǒng)沒有較為專業(yè)的加密保護(hù)。在現(xiàn)今互聯(lián)網(wǎng)高度發(fā)達(dá)的時代,一旦黑客入侵,數(shù)據(jù)庫全部暴露在黑客面前,數(shù)據(jù)庫的信息安全堪憂。1.2課題作用隨著現(xiàn)代計算機的發(fā)展,信息化日趨完善,人們的生活逐步向數(shù)字化方向發(fā)展。數(shù)據(jù)庫技術(shù)從誕生到現(xiàn)在,在不到半個世紀(jì)的時間里,形成了堅實的理論基礎(chǔ)、成熟的商業(yè)產(chǎn)品和廣泛的應(yīng)用領(lǐng)域吸引越來越多的研究者加入。數(shù)據(jù)庫的誕生和發(fā)展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內(nèi)外已經(jīng)開發(fā)建設(shè)了成千上萬個數(shù)據(jù)庫,它已經(jīng)成為企業(yè)、部門乃至個人日常工作、生產(chǎn)和生活的基礎(chǔ)設(shè)施。同時,隨著應(yīng)用的擴(kuò)展與深入,數(shù)據(jù)庫的數(shù)量和規(guī)模越來越大,數(shù)據(jù)庫的研究領(lǐng)域也大大地拓廣和深化。我們?nèi)粘I睢⒐ぷ髦兴a(chǎn)生的數(shù)據(jù)更加依附數(shù)據(jù)庫系統(tǒng)這一媒體。采用具有一定安全性質(zhì)的軟件來實現(xiàn)對于數(shù)據(jù)庫及其所含數(shù)據(jù)或信息的安全保護(hù),能夠在整個數(shù)據(jù)庫系統(tǒng)中,在一定的程度甚至完全可以保證系統(tǒng)在無意或者惡意的軟、硬件攻擊下仍然能夠使得系統(tǒng)內(nèi)的數(shù)據(jù)或者信息不增加、丟失、泄漏、不被修改。往往通過數(shù)據(jù)加密技術(shù)等實現(xiàn),本課題的作用就體現(xiàn)在此。1.3課題意義畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第2頁。信息是一種資源,也是一種財富。在現(xiàn)代社會中,信息處理和通信技術(shù)日益發(fā)展,保護(hù)信息的安全,特別是保護(hù)重要信息的安全,已成為國際社會普遍關(guān)注的重大問題。但前由于信息保護(hù)措施的不力或失誤,世界各國所遭受的損失是巨大的,在商業(yè),交通,工業(yè),科學(xué)技術(shù),國防,外交等部門的大量事例已充分說明了這一點。因此,對于信息的加密保護(hù)就顯的尤其重要。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第2頁。數(shù)據(jù)加密技術(shù)已隨著計算機技術(shù)的迅猛發(fā)展,由早期的軍事和外交領(lǐng)域,逐步伸展到交通、工業(yè)經(jīng)濟(jì)、科學(xué)技術(shù)、社會安全和公共生活的各個領(lǐng)域,成為現(xiàn)代社會中保護(hù)信息的重要手段和工具。信息保護(hù)的現(xiàn)實需要,使得數(shù)據(jù)加密算法和技術(shù)迅速進(jìn)入了現(xiàn)代社會,了解并有效使用數(shù)據(jù)加密算法技術(shù)已成為計算機技術(shù)和通信領(lǐng)域的專業(yè)技術(shù)人員和廣大用戶的迫切需求,這是信息化社會發(fā)展階段的重要標(biāo)志,數(shù)據(jù)庫加密也是信息安全必不可少的安全手段。從六十年代數(shù)據(jù)庫技術(shù)的產(chǎn)生到廣泛的應(yīng)用,人類對數(shù)據(jù)庫安全的研究歷經(jīng)了三十多年,已經(jīng)研究出很多的數(shù)據(jù)庫安全及保密技術(shù),數(shù)據(jù)庫安全及其數(shù)據(jù)安全日益被重視。可是又一個問題顯現(xiàn)出來,對于數(shù)據(jù)及信息本身來講自然是安全級別越高越好,但是過高的安全級別勢必會給數(shù)據(jù)及信息資源的共享和使用帶來不便。這是人們在今后的研究和實際應(yīng)用中所必須注意和協(xié)調(diào)的問題。2系統(tǒng)分析和總體設(shè)計2.1需求分析現(xiàn)有較多的題庫和組卷系統(tǒng)的數(shù)據(jù)庫均不同程度的存在著安全方面的漏洞和隱患,需要對該系統(tǒng)的數(shù)據(jù)庫的安全性進(jìn)行設(shè)計,來滿足有關(guān)人員的安全要求:按照不同的部門或者身份劃分不同的用戶名和密碼,比如說管理員、教師、學(xué)生等;不同的用戶配置相應(yīng)的操作數(shù)據(jù)庫的權(quán)限;對于關(guān)鍵的數(shù)據(jù)必須加密,只有通過相應(yīng)的身份驗證后才能通過應(yīng)用程序調(diào)用,不能直接通過打開數(shù)據(jù)庫來查看關(guān)鍵數(shù)據(jù);在數(shù)據(jù)庫中的數(shù)據(jù)被破壞后,能及時通過備份數(shù)據(jù)庫進(jìn)行恢復(fù)。2.2設(shè)計思想本課題以MicrosoftVisualC++6.0為主要語言基礎(chǔ)、密碼學(xué)知識和數(shù)據(jù)庫知識相結(jié)合,對該系統(tǒng)數(shù)據(jù)庫進(jìn)行保護(hù),防止重要甚至機密的的信息數(shù)據(jù)被惡意盜竊和篡改。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第3頁。首先要設(shè)計好Access數(shù)據(jù)庫,然后利用VC設(shè)計整個應(yīng)用系統(tǒng),分別設(shè)計系統(tǒng)的功能塊,包括系統(tǒng)用戶管理、教師功能模塊以及學(xué)生功能模塊。在系統(tǒng)中,直接對數(shù)據(jù)庫記錄中的各個數(shù)據(jù)項加密,即字段加密的方法。為了更加的安全,也對系統(tǒng)用戶的口令字進(jìn)行了加密。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第3頁。2.3總體設(shè)計關(guān)于數(shù)據(jù)庫安全,美國從七十年代就開始從事安全數(shù)據(jù)庫管理系統(tǒng)的理論研究,到了八十年代,為了適應(yīng)計算機安全技術(shù)飛速發(fā)展的需要,美國于1983年發(fā)布了“可信任計算機系統(tǒng)評估標(biāo)準(zhǔn)”,1985年又發(fā)布了其修訂版,桔皮書中對安全系統(tǒng)的評價按照四大類共七個等級劃分不同的安全級別。即分為D、C1、C2、B1、B2、B3、A1七個等級,如下表2.1所示。其中A1為最高級別,每一級別都必須包含低一級的功能。表2.1可信任計算機安全評估標(biāo)準(zhǔn)級別定義A1設(shè)計的形式化驗證B3安全域B2結(jié)構(gòu)化保護(hù)B1標(biāo)記安全保護(hù)C2受控制的存放保護(hù)C1自主安全保護(hù)D最小保護(hù)根據(jù)數(shù)據(jù)庫安全的有關(guān)規(guī)范進(jìn)行題庫和組卷系統(tǒng)數(shù)據(jù)庫安全的設(shè)計。良好的信息安全系統(tǒng)必然是分為不同等級的,包括對信息保密程度分級,對用戶操作權(quán)限分級,對網(wǎng)絡(luò)安全程度分級(安全子網(wǎng)和安全區(qū)域),對系統(tǒng)實現(xiàn)結(jié)構(gòu)的分級(應(yīng)用層、網(wǎng)絡(luò)層、鏈路層等),從而針對不同級別的安全對象,提供全面、可選的安全算法和安全體制,以滿足網(wǎng)絡(luò)中不同層次的各種實際需求。2.4功能模塊設(shè)計本系統(tǒng)要完成以下幾個功能:(1):用戶管理:本模塊需要實現(xiàn)增加、刪除用戶以及管理用戶信息等功能;(2):教師功能:本模塊需要實現(xiàn)編輯、添加以及刪除數(shù)據(jù)庫中試題等功能;畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第4頁。(3):學(xué)生功能:本模塊需要實現(xiàn)自行生成試卷后,學(xué)生能夠自由答題的功能。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第4頁。如圖2.1,為整個系統(tǒng)模塊結(jié)構(gòu)圖:學(xué)學(xué)生功能教師功能用戶管理管理退出系統(tǒng)系統(tǒng)身份驗證系統(tǒng)主界面添加刪除編輯試卷添加試題刪除試題生成試卷答題圖2.1系統(tǒng)的功能模塊圖2.5開發(fā)環(huán)境及技術(shù)(1)VisualC++6.0簡介MicrosoftVisualC++(以下簡稱VC++)是微軟公司開發(fā)的一個IDE(集成開發(fā)環(huán)境)。換句話說,就是使用C++的一個開發(fā)平臺。但是,VC++是Windows平臺上的C++編程環(huán)境,學(xué)習(xí)VC要了解很多Windows平臺的特性并且還要掌握MFC(MicrosoftFoundationClasses,以下簡稱MFC)、ATL、COM等的知識,難度比較大。Windows下編程需要了解Windows的消息機制以及回調(diào)(callback)函數(shù)的原理;微軟基礎(chǔ)類MFC是Win32API(ApplicationProgrammingInterface,應(yīng)用程序編程接口,以下簡稱API)的包裝類,需要理解文檔視圖類的結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等;COM是代碼共享的二進(jìn)制標(biāo)準(zhǔn),需要掌握其基本原理等等。(2)Access數(shù)據(jù)庫簡介畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第5頁。數(shù)據(jù)庫選用Microsoft公司的Access產(chǎn)品作為數(shù)據(jù)庫應(yīng)用程序。目前的Access2003是Microsoft強大的桌面數(shù)據(jù)庫平臺的第六代產(chǎn)品,是32位Access的第三個版本。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第5頁。(3)ADO訪問數(shù)據(jù)庫ADO是Microsoft公司提供給Web數(shù)據(jù)庫開發(fā)者最有效的開發(fā)方案,包含Connection、Command、Recordset三個對象。它幾乎兼容所有的數(shù)據(jù)庫系統(tǒng),能跨越多種不同的程序語言開發(fā)環(huán)境,幾乎可以在任何支持COM(ComponentObjectModel,組件對象模型)和OLE(對象鏈接和嵌入)的服務(wù)器端操作系統(tǒng)上使用,將原本煩雜的數(shù)據(jù)庫程序開發(fā)變成輕松容易的工作,除了具有傳統(tǒng)數(shù)據(jù)庫開發(fā)環(huán)境的優(yōu)點外,還增加了對數(shù)據(jù)庫修改和維護(hù)的功能。3加密算法分析數(shù)據(jù)的加密就是將明文數(shù)據(jù)經(jīng)過一定的交換(一般為變換和代替)變成密文數(shù)據(jù)。數(shù)據(jù)脫密是加密的逆過程,即將密文數(shù)據(jù)變成可見的明文數(shù)據(jù)。一個密碼系統(tǒng)包含明文集合、密文集合、密鑰集合和算法,其中密鑰和算法構(gòu)成了密碼系統(tǒng)的基本單元。算法是一些公式、法則或程序,規(guī)定明文與密文之間的變換方法,密鑰可以看作算法中的參數(shù)。數(shù)據(jù)庫加密系統(tǒng)要求將明文數(shù)據(jù)加密成密文數(shù)據(jù),數(shù)據(jù)庫中存儲密文數(shù)據(jù),查詢時將密文數(shù)據(jù)取出脫密得到明文信息。3.1目前常用的加密算法現(xiàn)在成熟的加密體制有對稱密鑰體制(包括流密鑰和組密鑰)和非對稱密鑰密碼體制兩大類。他們是兩種不同的密碼體制,有各自的優(yōu)點和缺點,用于解決不同的問題。3.1.1對稱加密算法對稱算法,又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。在大多數(shù)對稱算法中,加解密密鑰是相同的。這些算法也叫秘密密鑰算法或單鑰算法,它要求發(fā)送方和接受方在安全通信之前商定一個密鑰。對稱算法的安全性完全依賴于密鑰,泄露密鑰就意味著任何人都能對消息進(jìn)行解密。只要通信需要保密,密鑰就必須保密。對稱算法又可分為兩類:一次只對明文中的單個位(或字節(jié))運算的算法稱為流密碼。另一類算法是對明文的一組位進(jìn)行運算,叫分組密碼,如IBM的DES算法。3.1.2非對稱加密算法畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第6頁。非對稱加密算法又稱公開密鑰算法,是1976年由Diff和Hellman在其“密碼學(xué)新方向”一文中提出的。在公鑰密碼系統(tǒng)中,加密和解密使用的是不同的密鑰,這兩個密鑰之間存在著相互依存的關(guān)系:即用其中任一個密鑰加密的信息只能用另一個密鑰進(jìn)行解密。非對稱加密算法的主要優(yōu)點是可以適合網(wǎng)絡(luò)開發(fā)性的使用環(huán)境,密鑰管理問題相對簡單。但是非對稱加密算法是基于尖端的數(shù)學(xué)難題,算法非常復(fù)雜,加密解密速度和效率較低。目前最著名的公開密鑰算法是RAS算法和橢圓曲線密碼。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第6頁。3.2系統(tǒng)使用的加密算法64比特明文64比特明文初始置換第1輪第2輪第16輪左右交換逆初始置換64比特密文56比特密鑰置換選擇1K1置換選擇2左循環(huán)移位置換選擇2左循環(huán)移位K2K3置換選擇2左循環(huán)移位圖3.1DES加密算法框圖在進(jìn)行加解密算法的選擇上,一方面要考慮保密的強度,另一方面還必須考慮加解密的執(zhí)行速度。在系統(tǒng)中,不應(yīng)因加解密功能的加入而明顯降低系統(tǒng)的執(zhí)行速率。數(shù)據(jù)庫中的數(shù)據(jù)必須以字段為單位進(jìn)行加密,否則數(shù)據(jù)庫將無法進(jìn)行操作。因此,數(shù)據(jù)庫加解密的密鑰應(yīng)該相同,采用對稱密碼體制是比較合適的,而且對稱密碼體制在執(zhí)行速度上一般較非對稱密碼體制快許多倍。在本系統(tǒng)的具體應(yīng)用中,根據(jù)數(shù)據(jù)庫加密對密碼算法的要求和實際情況,采用DES和MD5分別對數(shù)據(jù)庫中的關(guān)鍵數(shù)據(jù)和用戶登陸時的口令字進(jìn)行加密。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第7頁。數(shù)據(jù)加密算法DES(DataEncrpytionStandard,以下簡稱DES),是由IBM公司在70年代提出的一種分組密碼體制,并經(jīng)政府的加密標(biāo)準(zhǔn)篩選后,于1976年11月被美國政府采用。DES算法加密速度快,適合大數(shù)據(jù)量數(shù)據(jù)加密。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第7頁。圖3.1是DES加密算法的框圖,DES加密時把明文以64比特為單位分塊,采用美國國家安全局精心設(shè)計的8個S盒和P置換,經(jīng)過16輪迭代,最終產(chǎn)生64比特密文,每輪迭代使用的48比特子密鑰由原始的56比特產(chǎn)生。DES的加密與解密的密鑰和流程完全相同,區(qū)別僅僅是加密與解密使用的子密鑰序列的施加順序正好相反。MD5(Message-DigestAlgorithm5,信息摘要),它的典型應(yīng)用是對一段信息產(chǎn)生信息摘要,以防止被篡改,通過其不可逆的字符串變換算法,產(chǎn)生了這個唯一的MD5信息摘要。對MD5算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個32位分組組成,將這四個32位分組級聯(lián)后將生成一個128位散列值。在MD5算法中,首先需要對信息進(jìn)行填充,使其字節(jié)長度對512求余的結(jié)果等于448。因此,信息的字節(jié)長度(bitslength)將被擴(kuò)展至n*512+448,即n*64+56個字節(jié)(bytes),n為一個正整數(shù)。填充的方法如下,在信息的后面填充一個1和無數(shù)個0,直到滿足上面的條件時才停止用0對信息的填充。然后,在在這個結(jié)果后面附加一個以64位二進(jìn)制表示的填充前信息長度。經(jīng)過這兩步的處理,現(xiàn)在的信息字節(jié)長度=n*512+448+64=(n+1)*512,即長度恰好是512的整數(shù)倍。這樣做的原因是為滿足后面處理中對信息長度的要求。MD5中有四個32位被稱作鏈接變量(chainingvariable)的整數(shù)參數(shù),他們分別為:a=0x01234567,b=0x89abcdef,c=0xfedcba98,d=0x76543210。當(dāng)設(shè)置好這四個鏈接變量后,就開始進(jìn)入算法的四輪循環(huán)運算。循環(huán)的次數(shù)是信息中512位信息分組的數(shù)目。將上面四個鏈接變量復(fù)制到另外四個變量中:a到a,b到b,c到c,d到d。主循環(huán)有四輪(md4只有三輪),每輪循環(huán)都很相似。第一輪進(jìn)行16次操作。每次操作對a、b、c和d中的其中三個作一次非線性函數(shù)運算,然后將所得結(jié)果加上第四個變量,文本的一個子分組和一個常數(shù)。再將所得結(jié)果向右環(huán)移一個不定的數(shù),并加上a、b、c或d中之一。最后用該結(jié)果取代a、b、c或d中之一。以一下是每次操作中用到的四個非線性函數(shù)(每輪一個)。f(x,y,z)=(x&y)|((~x)&z)g(x,y,z)=(x&z)|(y&(~z))畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第8頁。h(x,y,z)=x^y^z畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第8頁。i(x,y,z)=y^(x|(~z))(&是與,|是或,~是非,^是異或)這四個函數(shù)的說明:如果x、y和z的對應(yīng)位是獨立和均勻的,那么結(jié)果的每一位也應(yīng)是獨立和均勻的。f是一個逐位運算的函數(shù)。即,如果x,那么y,否則z。函數(shù)h是逐位奇偶操作符。假設(shè)mj表示消息的第j個子分組(從0到15),<<ff(a,b,c,d,mj,s,ti)表示a=b+((a+(f(b,c,d)+mj+ti)<<gg(a,b,c,d,mj,s,ti)表示a=b+((a+(g(b,c,d)+mj+ti)<<hh(a,b,c,d,mj,s,ti)表示a=b+((a+(h(b,c,d)+mj+ti)<<ii(a,b,c,d,mj,s,ti)表示a=b+((a+(i(b,c,d)+mj+ti)<<這四輪(64步)是:第一輪ff(a,b,c,d,m0,7,0xd76aa478)ff(d,a,b,c,m1,12,0xe8c7b756)ff(c,d,a,b,m2,17,0x242070db)ff(b,c,d,a,m3,22,0xc1bdceee)ff(a,b,c,d,m4,7,0xf57c0faf)ff(d,a,b,c,m5,12,0x4787c62a)ff(c,d,a,b,m6,17,0xa8304613)ff(b,c,d,a,m7,22,0xfd469501)ff(a,b,c,d,m8,7,0x698098d8)ff(d,a,b,c,m9,12,0x8b44f7af)ff(c,d,a,b,m10,17,0xffff5bb1)ff(b,c,d,a,m11,22,0x895cd7be)ff(a,b,c,d,m12,7,0x6b901122)ff(d,a,b,c,m13,12,0xfd987193)ff(c,d,a,b,m14,17,0xa679438e)ff(b,c,d,a,m15,22,0x49b40821)第二輪畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第9頁。gg(a,b,c,d,m1,5,0xf61e2562)畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第9頁。gg(d,a,b,c,m6,9,0xc040b340)gg(c,d,a,b,m11,14,0x265e5a51)gg(b,c,d,a,m0,20,0xe9b6c7aa)gg(a,b,c,d,m5,5,0xd62f105d)gg(d,a,b,c,m10,9,0x02441453)gg(c,d,a,b,m15,14,0xd8a1e681)gg(b,c,d,a,m4,20,0xe7d3fbc8)gg(a,b,c,d,m9,5,0x21e1cde6)gg(d,a,b,c,m14,9,0xc33707d6)gg(c,d,a,b,m3,14,0xf4d50d87)gg(b,c,d,a,m8,20,0x455a14ed)gg(a,b,c,d,m13,5,0xa9e3e905)gg(d,a,b,c,m2,9,0xfcefa3f8)gg(c,d,a,b,m7,14,0x676f02d9)gg(b,c,d,a,m12,20,0x8d2a4c8a)第三輪hh(a,b,c,d,m5,4,0xfffa3942)hh(d,a,b,c,m8,11,0x8771f681)hh(c,d,a,b,m11,16,0x6d9d6122)hh(b,c,d,a,m14,23,0xfde5380c)hh(a,b,c,d,m1,4,0xa4beea44)hh(d,a,b,c,m4,11,0x4bdecfa9)hh(c,d,a,b,m7,16,0xf6bb4b60)hh(b,c,d,a,m10,23,0xbebfbc70)hh(a,b,c,d,m13,4,0x289b7ec6)hh(d,a,b,c,m0,11,0xeaa127fa)hh(c,d,a,b,m3,16,0xd4ef3085)hh(b,c,d,a,m6,23,0x04881d05)hh(a,b,c,d,m9,4,0xd9d4d039)畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第10頁。hh(d,a,b,c,m12,11,0xe6db99e5)畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第10頁。hh(c,d,a,b,m15,16,0x1fa27cf8)hh(b,c,d,a,m2,23,0xc4ac5665)第四輪ii(a,b,c,d,m0,6,0xf4292244)ii(d,a,b,c,m7,10,0x432aff97)ii(c,d,a,b,m14,15,0xab9423a7)ii(b,c,d,a,m5,21,0xfc93a039)ii(a,b,c,d,m12,6,0x655b59c3)ii(d,a,b,c,m3,10,0x8f0ccc92)ii(c,d,a,b,m10,15,0xffeff47d)ii(b,c,d,a,m1,21,0x85845dd1)ii(a,b,c,d,m8,6,0x6fa87e4f)ii(d,a,b,c,m15,10,0xfe2ce6e0)ii(c,d,a,b,m6,15,0xa3014314)ii(b,c,d,a,m13,21,0x4e0811a1)ii(a,b,c,d,m4,6,0xf7537e82)ii(d,a,b,c,m11,10,0xbd3af235)ii(c,d,a,b,m2,15,0x2ad7d2bb)ii(b,c,d,a,m9,21,0xeb86d391)常數(shù)ti可以如下選擇:在第i步中,ti是4294967296*abs(sin(i))的整數(shù)部分,i的單位是弧度。(4294967296等于2的32次方)所有這些完成之后,將a、b、c、d分別加上a、b、c、d。然后用下一分組數(shù)據(jù)繼續(xù)運行算法,最后的輸出是a、b、c和d的級聯(lián)。MD5的安全性MD5相對md4所作的改進(jìn):(1)增加了第四輪;(2)每一步均有唯一的加法常數(shù);(3)為減弱第二輪中函數(shù)g的對稱性從(x&y)|(x&z)|(y&z)變?yōu)?x&z)|(y&(~z));畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第11頁。(4)第一步加上了上一步的結(jié)果,這將引起更快的雪崩效應(yīng);畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第11頁。(5)改變了第二輪和第三輪中訪問消息子分組的次序,使其更不相似;(6)近似優(yōu)化了每一輪中的循環(huán)左移位移量以實現(xiàn)更快的雪崩效應(yīng),各輪的位移量互不相同。[color=red]簡單的說:MD5叫信息-摘要算法,是一種密碼的算法,它可以對任何文件產(chǎn)生一個唯一的MD5驗證碼,每個文件的MD5碼就如同每個人的指紋一樣,都是不同的,這樣,一旦這個文件在傳輸過程中,其內(nèi)容被損壞或者被修改的話,那么這個文件的MD5碼就會發(fā)生變化,通過對文件MD5的驗證,可以得知獲得的文件是否完整。MD5算法算法總體流程圖如下圖3.2所示。512位L*512位Message100……..0初始消息BlocknBlock0Block1BlockL-1HMD5HMD5HMD5HMD5512位MDBuffer0MDBuffer1MDBuffernMDBufferL-1··················128位128位摘要512位L*512位Message100……..0初始消息BlocknBlock0Block1BlockL-1HMD5HMD5HMD5HMD5512位MDBuffer0MDBuffer1MDBuffernMDBufferL-1··················128位128位摘要圖3.2MD5算法算法總體流程圖3.3密鑰管理在對數(shù)據(jù)加密時,一個至關(guān)重要的問題是密鑰的管理。密鑰管理是對密鑰在其整個生命周期的管理活動,包括密鑰的產(chǎn)生、存儲、分發(fā)、使用、更新、消亡等內(nèi)容。設(shè)計安全的加密算法雖然不容易,但是可以依據(jù)大量的學(xué)術(shù)研究。相對來說,對密鑰進(jìn)行保密則更加困難。由于數(shù)據(jù)庫加密系統(tǒng)的安全依賴于密鑰,所以采用一個弱的密鑰產(chǎn)生方法,那么整個系統(tǒng)都將是弱的。如果采用密鑰由用戶指定的方式,他們通常會指定一個弱密鑰。所以好的密鑰通常都是那些自動處理設(shè)備產(chǎn)生的隨機位串。密鑰串要么從可靠的隨機源中產(chǎn)生,要么從安全的偽隨機位發(fā)生器產(chǎn)生。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第12頁。在傳統(tǒng)的通信網(wǎng)絡(luò)加密和文件系統(tǒng)中,加密密鑰通常采用直接分發(fā)給用戶的方式。但因為數(shù)據(jù)庫中的數(shù)據(jù)具有高度結(jié)構(gòu)化、共享化、數(shù)據(jù)量大等特點,對于同一個加密數(shù)據(jù),可能會有多個用戶權(quán)限訪問。如果直接采用分發(fā)密鑰給用戶的方式,很容易造成密鑰的泄漏。所以在進(jìn)行數(shù)據(jù)庫加密時,難以使用直接分發(fā)密鑰給用戶的方式,必須采用安全高效的替代方式。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第12頁。在傳統(tǒng)的通信網(wǎng)絡(luò)加密和文件加密系統(tǒng)中,因為加密密鑰通常直接分發(fā)給用戶,所以不需要進(jìn)行密鑰的存儲。但是在數(shù)據(jù)庫加密中,需要一種安全高效的方式來存儲和維護(hù)密鑰。而且,由于存在大量的加密數(shù)據(jù),相應(yīng)的有大量的加密密鑰,如果密鑰不存儲,一旦用戶丟失密鑰,數(shù)據(jù)將無法恢復(fù)。4系統(tǒng)詳細(xì)設(shè)計4.1數(shù)據(jù)庫設(shè)計因為本課題的重點是對數(shù)據(jù)庫加密方面的研究,為了便于系統(tǒng)成果的演示,所以簡單的設(shè)計了這個數(shù)據(jù)庫系統(tǒng)。4.1.1需求分析數(shù)據(jù)庫設(shè)計是在既定的數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)之上建立數(shù)據(jù)庫的過程。其過程是將現(xiàn)實存在的數(shù)據(jù)及其應(yīng)用處理關(guān)系進(jìn)行抽象,從而形成數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用程序的核心。數(shù)據(jù)庫設(shè)計是建立一個應(yīng)用程序最重要的一步。一個好的數(shù)據(jù)庫結(jié)構(gòu)和文件設(shè)計可以使系統(tǒng)在已有的條件下具有處理速度快,占用存儲空間少,操作處理過程簡單,查找容易,系統(tǒng)開銷和費用低等特點。具體實現(xiàn)時,應(yīng)首先明確用戶對數(shù)據(jù)的需求,在此基礎(chǔ)上,建立數(shù)據(jù)庫的概念模型,概念模型主要是用來反映用戶的現(xiàn)實環(huán)境和需求,它獨立于具體的數(shù)據(jù)庫管理系統(tǒng),并且與數(shù)據(jù)庫怎樣實現(xiàn)無關(guān),建立概念模型的主要工具為實體關(guān)系(E-R)圖。在建立數(shù)據(jù)庫概念模型之后,要真正實現(xiàn)與數(shù)據(jù)庫管理系統(tǒng)的結(jié)合,即能夠由既定的數(shù)據(jù)庫管理系統(tǒng)所支持,還必須進(jìn)行邏輯結(jié)構(gòu)的設(shè)計,在邏輯設(shè)計階段,主要完成建立數(shù)據(jù)庫的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問題;最后一個階段是數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計,其任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲結(jié)構(gòu)、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫物理結(jié)構(gòu)。4.1.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第13頁。數(shù)據(jù)庫概念設(shè)計過程即是用用戶可以理解的形式來表達(dá)信息的流程。概念設(shè)計所得到的概念模型,是對現(xiàn)實世界的抽象和概括,能真實、充分反映現(xiàn)實世界中事物與事物之間的聯(lián)系,即實體與實體之間的聯(lián)系。概念設(shè)計在進(jìn)行數(shù)據(jù)庫設(shè)計時是非常重要的一步。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第13頁。根據(jù)本系統(tǒng)的調(diào)研分析和需求得出實體E-R圖如圖4.1所示。教師教師出題試卷生成學(xué)生姓名答題M修改刪除NNNNNMMMM判斷填空選擇帳號姓名管理員管理NM班級圖4.1本系統(tǒng)的實體E-R圖4.1.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)就是根據(jù)數(shù)據(jù)庫管理系統(tǒng)的特征把概念結(jié)構(gòu)轉(zhuǎn)換為相應(yīng)的邏輯結(jié)構(gòu)。概念設(shè)計所得到的E-R模型,是獨立于數(shù)據(jù)庫管理系統(tǒng)的,這里的轉(zhuǎn)換就是把表示概念結(jié)構(gòu)的E-R圖轉(zhuǎn)換為層次模型或網(wǎng)絡(luò)模型或關(guān)系模型的邏輯結(jié)構(gòu)。本系統(tǒng)選擇的數(shù)據(jù)庫管理系統(tǒng)是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。因此只需將E-R圖中的每一個實體和聯(lián)系都轉(zhuǎn)換成關(guān)系模式中的關(guān)系即可,將關(guān)系模式進(jìn)行規(guī)范化。系統(tǒng)的E-R圖對應(yīng)的關(guān)系數(shù)據(jù)模型為:(1)教師信息表(帳號、姓名、出卷日期、系別)(2)管理員信息表(帳號、用戶權(quán)限)(3)學(xué)生信息表(帳號、學(xué)號、答卷日期、成績)(4)試卷信息表(編號、類別、生成日期、試卷成績)4.1.4數(shù)據(jù)流圖設(shè)計數(shù)據(jù)流圖是目標(biāo)軟件系統(tǒng)中各個處理子功能以及他們之間的數(shù)據(jù)流動的圖形表示。下圖4.2所示的是登錄系統(tǒng)的數(shù)據(jù)流圖。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第14頁。管理員畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第14頁。管理員身份驗證教師學(xué)生身份正確信息身份錯誤信息D1D2圖4.2登錄系統(tǒng)數(shù)據(jù)流圖身份正確身份錯誤 學(xué)生、教師、管理員用自己的用戶名和密碼登錄系統(tǒng),如果正確則進(jìn)入系統(tǒng),顯示當(dāng)前用戶信息,如果錯誤則彈出錯誤對話框,不能進(jìn)入系統(tǒng),返回重新登錄。教師教師出卷數(shù)據(jù)庫顯示器保存試卷查詢試卷圖4.3教師出卷模塊數(shù)據(jù)流圖出卷模塊是教師特有的模塊,教師通過系統(tǒng)發(fā)布新的試題,以便學(xué)生檢測自己所學(xué)的文化知識。4.2系統(tǒng)功能實現(xiàn)加密功能是本系統(tǒng)功能實現(xiàn)的重點,所以在此著重介紹兩個加密功能的實現(xiàn)。4.2.1DES加密功能的實現(xiàn)4.2.2MD5加密功能的實現(xiàn)4.3系統(tǒng)界面實現(xiàn)本系統(tǒng)有三個權(quán)限,分別是管理員、教師和學(xué)生三個部分組成。分別用自己的帳號登錄系統(tǒng)實現(xiàn)操作。管理員對系統(tǒng)有添加帳號和修改用戶的權(quán)限;教師有對試卷進(jìn)行添加、修改和刪除等操作;學(xué)生可以生成試卷并答卷。系統(tǒng)著重于對試卷的加密。具體實現(xiàn)由下面幾小節(jié)說明。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第15頁。運行MicrosoftVisualC++6.0,打開該工程。運行該系統(tǒng)后,得到如下圖4.4所示。在用戶名選項中分別為:admin、teacher和student。選擇用戶權(quán)限,輸入密碼登錄。經(jīng)過MD5加密算法核對,核對無異常,允許登錄。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第15頁。圖4.4系統(tǒng)登錄界面圖4.5為賬戶MD5加密結(jié)果,輸入密碼后,經(jīng)過賬戶管理表的核對信息,核對正確才允許登錄,提高了題庫的安全性。圖4.5賬戶MD5加密結(jié)果畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第16頁。選擇用戶“teacher”,輸入該用戶密碼:teacher。進(jìn)入教師權(quán)限的系統(tǒng),進(jìn)行試題的編寫。分別鍵入新信息,具體操作如下圖所示。圖4.6畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第16頁。圖4.6判斷題編寫進(jìn)入選擇題編寫界面,同樣鍵入新的題目,具體操作如下圖4.7所示。圖4.7選擇題編輯畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第17頁。進(jìn)入填空題的編輯界面,鍵入新的題目,增加到題庫,實際的操作過程如下圖4.8所示。分別鍵入題目和答案,備份到數(shù)據(jù)庫中。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第17頁。圖4.8填空題編輯界面在編輯完試卷后,我們?nèi)?shù)據(jù)庫看看試卷的加密情況。判斷題、選擇題和填空題的加密情況分別如下三圖4.9、圖4.10和圖4.11所示。經(jīng)過DES加密算法的加密,我們可以看到,試卷保存在數(shù)據(jù)庫中都是以密文形式保存,這就大大提高了試題的保密性和安全性。可以防止試題的惡意外泄或竊取。每幅圖的最后一行即為我們剛剛添加的新試題,同樣在數(shù)據(jù)庫中以密文保存。圖4.9判斷題的密文形式畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第18頁。我們可以從這些圖中可以看到,在存放試題的數(shù)據(jù)庫中,不管是何種權(quán)限,都是看不到試題的明文形式的,相對的提高了試題的保密性。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第18頁。圖4.10經(jīng)DES加密過的填空題密文圖4.11經(jīng)DES加密后的選擇題密文畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第19頁。退出教師權(quán)限,我們下面以學(xué)生的身份進(jìn)入到該系統(tǒng)中,輸入用戶名和密碼,進(jìn)行MD5身份核對。學(xué)生界面主要是用于生成試卷和答卷所用。隨機生成一套試題后,系統(tǒng)提示“以生成試卷”,考生可以開始答卷。如圖4.12所示界面。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第19頁。圖4.12學(xué)生答題界面退出學(xué)生權(quán)限,以管理員的身份登錄到該系統(tǒng),在管理員界面中,能對系統(tǒng)作三種操作:修改賬戶權(quán)限、添加新賬戶以及密碼修改,。下圖4.13所展示的是對“admin”,進(jìn)行修改密碼的操作。圖4.13管理員管理賬戶界面如果想添加新的賬戶,鍵入新的用戶名稱,選擇權(quán)限設(shè)置,輸入新的密碼,點擊“添加”按鈕,則系統(tǒng)提示成功添加了新用戶,具體操作過程如圖4.14所示。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第20頁。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第20頁。圖4.14管理員添加新帳戶為了方便數(shù)據(jù)庫系統(tǒng)的操作和考慮到數(shù)據(jù)的安全,還添加了數(shù)據(jù)庫備份和數(shù)據(jù)庫還原兩項功能,如圖4.15、4.16所示。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第21頁。圖4.15數(shù)據(jù)庫備份畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第21頁。圖4.16數(shù)據(jù)庫還原5系統(tǒng)測試5.1測試目的軟件測試環(huán)節(jié)是每一個軟件產(chǎn)品從設(shè)計到成品的最后一道工序,優(yōu)秀的軟件產(chǎn)品通常都經(jīng)過許多嚴(yán)格的測試,最后才提交用戶使用。軟件測試包括功能代碼的測試、系統(tǒng)功能的完整性測試、性能測試、安全性測試、數(shù)據(jù)庫的一致性測試等。測試的目的,第一,是盡可能多的發(fā)現(xiàn)軟件制作過程中的錯誤及運行時錯誤,通過測試使軟件的錯誤減少,使系統(tǒng)的可靠性進(jìn)一步提高;第二,提供信息,比如提供給開發(fā)人員或用戶的反饋信息;第三,軟件測試不僅是在測試軟件產(chǎn)品的本身,而且還包括軟件開發(fā)的過程,如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的,因此軟件測試的第三個目的是保證整個軟件開發(fā)過程是高質(zhì)量的。5.2測試內(nèi)容根據(jù)需求分析劃定系統(tǒng)測試的功能范圍,即需求分析中的功能在系統(tǒng)中得到充分體現(xiàn)。分模塊測試軟件的功能,包括軟件的界面要求、功能體現(xiàn)、性能要求、穩(wěn)定性要求、是否達(dá)到操作便捷、靈活性要求、安全性要求;各模塊之間的關(guān)系是否與需求分析中的一致等。綜合測試,在分塊測試之后,將所有模塊作為一個整體進(jìn)行測試,測試整個系統(tǒng)的功能和性能,檢驗其是否滿足用戶的需求。測試案例:畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第22頁。(1)在編輯試題這一功能模塊中,選擇選擇題標(biāo)簽,在出題欄中鍵入“南京是哪個省的省會?”,選擇項欄中保持空白,然后點擊“添加/刪除”按鍵,彈出對話框“題目或答案不能為空!”。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第22頁。(2)選中填空題編輯欄,在出題欄中復(fù)制一副圖片進(jìn)去,系統(tǒng)提示“錯誤操作”。5.3測試結(jié)果測試結(jié)果總體上來說還是較好的,測試結(jié)果表明系統(tǒng)實現(xiàn)的功能均能達(dá)到需求分析的基本要求,系統(tǒng)的運行速度和穩(wěn)定性較好,具有較高的實用性,安全性良好。在系統(tǒng)集成測試中,測試結(jié)果是系統(tǒng)各模塊的連接情況連好,做到了高內(nèi)聚低耦合,系統(tǒng)整體運行良好,安全性方面未發(fā)現(xiàn)異常。畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第23頁。

畢業(yè)設(shè)計(論文)-數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn)全文共26頁,當(dāng)前為第23頁。結(jié)論本文研究的課題是數(shù)據(jù)庫加密系統(tǒng)的設(shè)計與實現(xiàn),因為現(xiàn)今的題庫與組卷系統(tǒng)數(shù)據(jù)庫均不同程度的存在著安全方面的漏洞和隱患,不能滿足相關(guān)人員的安全要求。所以設(shè)計了本系統(tǒng)。本系統(tǒng)針對有關(guān)的數(shù)據(jù)庫安全漏洞和隱患進(jìn)行研究探討,并且取得了良好結(jié)果。在應(yīng)用程序訪問連接數(shù)據(jù)庫的連接方案的設(shè)計中,本系統(tǒng)進(jìn)行分析比較后,采用了ADO這一數(shù)據(jù)庫連接技術(shù);將用戶的口令進(jìn)行加密處理后再存儲到數(shù)據(jù)庫中,保證了數(shù)據(jù)庫中用戶及其口令的安全;在對目前常用的數(shù)據(jù)加密算法的深入研究和分析比較后,根據(jù)數(shù)據(jù)庫加密對密碼系統(tǒng)的要求,在對用戶登陸時,采用了MD5加密算法保護(hù)用戶的口令,用DES加密算法對數(shù)據(jù)庫中的關(guān)鍵數(shù)據(jù)進(jìn)行加密;在密鑰管理方面,本系統(tǒng)實行二級密鑰管理,一級密鑰為主密鑰,二級密鑰為工作密鑰,主密鑰的作用是對二級密鑰信息加密生成工作密鑰,工作密鑰用于對用戶口令、數(shù)據(jù)庫數(shù)據(jù)加密解密;在數(shù)據(jù)庫的備份方面,本系統(tǒng)采取自動備份以及數(shù)據(jù)庫復(fù)制相結(jié)合的方法來對數(shù)據(jù)庫進(jìn)行備份,保證被破壞后能進(jìn)行良好的恢復(fù)。目前,采用本論文設(shè)計的大部分功能模塊已經(jīng)完成,并且能夠順利運行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論