版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)1引言隨著計(jì)算機(jī)信息技術(shù)的蓬勃發(fā)展,作為信息采集、存儲(chǔ)、處理和傳輸?shù)拿襟w,計(jì)算機(jī)及網(wǎng)絡(luò)應(yīng)用逐步延伸到社會(huì)生活的方方面面。當(dāng)人類越來(lái)越感受到計(jì)算機(jī)系統(tǒng)功能的強(qiáng)大,不得不感嘆于信息技術(shù)帶來(lái)的方便快捷的同時(shí),各種憂慮也漸漸產(chǎn)生:已經(jīng)習(xí)慣性依賴于計(jì)算機(jī)的人們離開(kāi)它還能生存嗎?信息戰(zhàn)將對(duì)國(guó)防安全、軍事領(lǐng)域產(chǎn)生什么影響?信息詐騙和其他信息犯罪將如何改變?nèi)藗兊娜粘I?這些問(wèn)題都屬于計(jì)算機(jī)信息安全的范疇。起初,計(jì)算機(jī)系統(tǒng)的安全主要是指硬件的安全保護(hù)。隨著信息所發(fā)揮的價(jià)值日益為人們所了解,人們的目光轉(zhuǎn)移到在計(jì)算機(jī)系統(tǒng)中存儲(chǔ)、傳輸?shù)男畔⒌陌踩?,包括防止信息泄漏和非法慕改等。?shù)據(jù)庫(kù)集中存放和管理大量信息,其安全性對(duì)于整個(gè)計(jì)算機(jī)信息系統(tǒng)至關(guān)重要。為了保證數(shù)據(jù)安全,人們?cè)诓煌瑢用孢\(yùn)用了各種安全措施,這些防范措施分別可以在一定程度上防止某種安全威脅。但是,在操作系統(tǒng)、數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)的層層防護(hù)之下,仍然無(wú)法保證數(shù)據(jù)庫(kù)數(shù)據(jù)的安全。因?yàn)橥ǔ?shù)據(jù)庫(kù)中的數(shù)據(jù)最終是以文件形式存儲(chǔ)在計(jì)算機(jī)上的,這些文件大部分是多個(gè)用戶可讀可寫的,一旦網(wǎng)上黑客通過(guò)某種途徑進(jìn)入系統(tǒng)就可以直接讀取數(shù)據(jù)文件或存儲(chǔ)介質(zhì),從中竊取數(shù)據(jù)或利用非法軟件篡改數(shù)據(jù)庫(kù)文件內(nèi)容。近幾年,類似案件在世界范圍內(nèi)頻繁出現(xiàn)。因此計(jì)算機(jī)信息安全人員和數(shù)據(jù)庫(kù)開(kāi)發(fā)商們不得不求助于另外一種安全措施一一加密技術(shù)。1.1課題現(xiàn)狀密碼學(xué)是一門古老而深?yuàn)W的學(xué)科,對(duì)一般人來(lái)說(shuō)是非常陌生的。長(zhǎng)期以來(lái),只在很小的范圍內(nèi)使用,如軍事、外交、情報(bào)等部門。計(jì)算機(jī)密碼學(xué)是研究計(jì)算機(jī)信息加密、解密及其變換的科學(xué),是數(shù)學(xué)和計(jì)算機(jī)的交叉學(xué)科,也是一門新興的學(xué)科。隨著計(jì)算機(jī)網(wǎng)絡(luò)和計(jì)算機(jī)通訊技術(shù)的發(fā)展,計(jì)算機(jī)密碼學(xué)得到前所未有的重視并迅速普及和發(fā)展起來(lái)。在國(guó)外,它已成為計(jì)算機(jī)安全主要的研究方向。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第1頁(yè)。數(shù)據(jù)庫(kù)系統(tǒng)的安全問(wèn)題是信息系統(tǒng)安全的一個(gè)大問(wèn)題。由于數(shù)據(jù)庫(kù)系統(tǒng)中集中存儲(chǔ)了大量的信息,而且數(shù)據(jù)庫(kù)的最大特點(diǎn)是實(shí)現(xiàn)數(shù)據(jù)的共享,其中必然帶來(lái)數(shù)據(jù)庫(kù)的安全性問(wèn)題。數(shù)據(jù)庫(kù)中放置了組織、企業(yè)、個(gè)人的大量數(shù)據(jù),其中許多數(shù)據(jù)可能是非常關(guān)鍵的、機(jī)密的或者涉及隱私的。例如軍事秘密、國(guó)家機(jī)密、科研數(shù)據(jù)、市場(chǎng)分析、營(yíng)銷策略、銷售計(jì)劃、客戶檔案、醫(yī)療檔案、銀行儲(chǔ)蓄數(shù)據(jù)等。數(shù)據(jù)擁有者往往只容許一部分人訪問(wèn)這些數(shù)據(jù),如果數(shù)據(jù)庫(kù)管理系統(tǒng)不能嚴(yán)格的保護(hù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的數(shù)據(jù)安全性,就會(huì)嚴(yán)重制約數(shù)據(jù)庫(kù)的應(yīng)用。數(shù)據(jù)庫(kù)系統(tǒng)的安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)主要的性能指標(biāo)之一。同時(shí)在許多用戶之間也因?yàn)樾畔⒐蚕矶黾恿税l(fā)生錯(cuò)誤的機(jī)會(huì)。因此,如何才能確保和加強(qiáng)數(shù)據(jù)庫(kù)的安全保密性已經(jīng)成為目前必須要解決的問(wèn)題。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第1頁(yè)。目前,在信息化發(fā)展程度較高的國(guó)家和地區(qū),很多資源都可以實(shí)現(xiàn)共享,有些數(shù)據(jù)庫(kù)中的數(shù)據(jù)是全部公開(kāi)的(如圖書(shū)館的數(shù)據(jù)庫(kù)),但是大多數(shù)數(shù)據(jù)庫(kù)是無(wú)法全部公開(kāi)的,有些數(shù)據(jù)庫(kù)甚至是完全保密的。例如,就商業(yè)部門而言,一般信息可以共享,但是一些敏感信息或者數(shù)據(jù)(如商業(yè)情報(bào)、職工工資等)則是保密的。而對(duì)軍隊(duì)等特殊部門的數(shù)據(jù)庫(kù)而言,因其存儲(chǔ)的全部都是一些機(jī)要數(shù)據(jù),所以就要求完全保密。對(duì)于這些需要保密的或保密要求較高的數(shù)據(jù)庫(kù)及其所存儲(chǔ)的數(shù)據(jù),如果還僅僅采用一般性的安全措施,那么仍會(huì)有一些用戶,尤其是一些內(nèi)部用戶仍可能非法獲取用戶名、口令字,或是利用其他方法越權(quán)使用數(shù)據(jù)庫(kù),甚至可以間接打開(kāi)數(shù)據(jù)庫(kù)文件來(lái)竊取或篡改信息。因此,有必要對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的重要數(shù)據(jù)進(jìn)行加密處理,以強(qiáng)化數(shù)據(jù)存儲(chǔ)的安全保護(hù)。但是很遺憾,現(xiàn)在絕大部分的數(shù)據(jù)庫(kù)系統(tǒng)沒(méi)有較為專業(yè)的加密保護(hù)。在現(xiàn)今互聯(lián)網(wǎng)高度發(fā)達(dá)的時(shí)代,一旦黑客入侵,數(shù)據(jù)庫(kù)全部暴露在黑客面前,數(shù)據(jù)庫(kù)的信息安全堪憂。1.2課題作用隨著現(xiàn)代計(jì)算機(jī)的發(fā)展,信息化日趨完善,人們的生活逐步向數(shù)字化方向發(fā)展。數(shù)據(jù)庫(kù)技術(shù)從誕生到現(xiàn)在,在不到半個(gè)世紀(jì)的時(shí)間里,形成了堅(jiān)實(shí)的理論基礎(chǔ)、成熟的商業(yè)產(chǎn)品和廣泛的應(yīng)用領(lǐng)域吸引越來(lái)越多的研究者加入。數(shù)據(jù)庫(kù)的誕生和發(fā)展給計(jì)算機(jī)信息管理帶來(lái)了一場(chǎng)巨大的革命。三十多年來(lái),國(guó)內(nèi)外已經(jīng)開(kāi)發(fā)建設(shè)了成千上萬(wàn)個(gè)數(shù)據(jù)庫(kù),它已經(jīng)成為企業(yè)、部門乃至個(gè)人日常工作、生產(chǎn)和生活的基礎(chǔ)設(shè)施。同時(shí),隨著應(yīng)用的擴(kuò)展與深入,數(shù)據(jù)庫(kù)的數(shù)量和規(guī)模越來(lái)越大,數(shù)據(jù)庫(kù)的研究領(lǐng)域也大大地拓廣和深化。我們?nèi)粘I睢⒐ぷ髦兴a(chǎn)生的數(shù)據(jù)更加依附數(shù)據(jù)庫(kù)系統(tǒng)這一媒體。采用具有一定安全性質(zhì)的軟件來(lái)實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)及其所含數(shù)據(jù)或信息的安全保護(hù),能夠在整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)中,在一定的程度甚至完全可以保證系統(tǒng)在無(wú)意或者惡意的軟、硬件攻擊下仍然能夠使得系統(tǒng)內(nèi)的數(shù)據(jù)或者信息不增加、丟失、泄漏、不被修改。往往通過(guò)數(shù)據(jù)加密技術(shù)等實(shí)現(xiàn),本課題的作用就體現(xiàn)在此。1.3課題意義畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第2頁(yè)。信息是一種資源,也是一種財(cái)富。在現(xiàn)代社會(huì)中,信息處理和通信技術(shù)日益發(fā)展,保護(hù)信息的安全,特別是保護(hù)重要信息的安全,已成為國(guó)際社會(huì)普遍關(guān)注的重大問(wèn)題。但前由于信息保護(hù)措施的不力或失誤,世界各國(guó)所遭受的損失是巨大的,在商業(yè),交通,工業(yè),科學(xué)技術(shù),國(guó)防,外交等部門的大量事例已充分說(shuō)明了這一點(diǎn)。因此,對(duì)于信息的加密保護(hù)就顯的尤其重要。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第2頁(yè)。數(shù)據(jù)加密技術(shù)已隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,由早期的軍事和外交領(lǐng)域,逐步伸展到交通、工業(yè)經(jīng)濟(jì)、科學(xué)技術(shù)、社會(huì)安全和公共生活的各個(gè)領(lǐng)域,成為現(xiàn)代社會(huì)中保護(hù)信息的重要手段和工具。信息保護(hù)的現(xiàn)實(shí)需要,使得數(shù)據(jù)加密算法和技術(shù)迅速進(jìn)入了現(xiàn)代社會(huì),了解并有效使用數(shù)據(jù)加密算法技術(shù)已成為計(jì)算機(jī)技術(shù)和通信領(lǐng)域的專業(yè)技術(shù)人員和廣大用戶的迫切需求,這是信息化社會(huì)發(fā)展階段的重要標(biāo)志,數(shù)據(jù)庫(kù)加密也是信息安全必不可少的安全手段。從六十年代數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生到廣泛的應(yīng)用,人類對(duì)數(shù)據(jù)庫(kù)安全的研究歷經(jīng)了三十多年,已經(jīng)研究出很多的數(shù)據(jù)庫(kù)安全及保密技術(shù),數(shù)據(jù)庫(kù)安全及其數(shù)據(jù)安全日益被重視??墒怯忠粋€(gè)問(wèn)題顯現(xiàn)出來(lái),對(duì)于數(shù)據(jù)及信息本身來(lái)講自然是安全級(jí)別越高越好,但是過(guò)高的安全級(jí)別勢(shì)必會(huì)給數(shù)據(jù)及信息資源的共享和使用帶來(lái)不便。這是人們?cè)诮窈蟮难芯亢蛯?shí)際應(yīng)用中所必須注意和協(xié)調(diào)的問(wèn)題。2系統(tǒng)分析和總體設(shè)計(jì)2.1需求分析現(xiàn)有較多的題庫(kù)和組卷系統(tǒng)的數(shù)據(jù)庫(kù)均不同程度的存在著安全方面的漏洞和隱患,需要對(duì)該系統(tǒng)的數(shù)據(jù)庫(kù)的安全性進(jìn)行設(shè)計(jì),來(lái)滿足有關(guān)人員的安全要求:按照不同的部門或者身份劃分不同的用戶名和密碼,比如說(shuō)管理員、教師、學(xué)生等;不同的用戶配置相應(yīng)的操作數(shù)據(jù)庫(kù)的權(quán)限;對(duì)于關(guān)鍵的數(shù)據(jù)必須加密,只有通過(guò)相應(yīng)的身份驗(yàn)證后才能通過(guò)應(yīng)用程序調(diào)用,不能直接通過(guò)打開(kāi)數(shù)據(jù)庫(kù)來(lái)查看關(guān)鍵數(shù)據(jù);在數(shù)據(jù)庫(kù)中的數(shù)據(jù)被破壞后,能及時(shí)通過(guò)備份數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。2.2設(shè)計(jì)思想本課題以MicrosoftVisualC++6.0為主要語(yǔ)言基礎(chǔ)、密碼學(xué)知識(shí)和數(shù)據(jù)庫(kù)知識(shí)相結(jié)合,對(duì)該系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行保護(hù),防止重要甚至機(jī)密的的信息數(shù)據(jù)被惡意盜竊和篡改。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第3頁(yè)。首先要設(shè)計(jì)好Access數(shù)據(jù)庫(kù),然后利用VC設(shè)計(jì)整個(gè)應(yīng)用系統(tǒng),分別設(shè)計(jì)系統(tǒng)的功能塊,包括系統(tǒng)用戶管理、教師功能模塊以及學(xué)生功能模塊。在系統(tǒng)中,直接對(duì)數(shù)據(jù)庫(kù)記錄中的各個(gè)數(shù)據(jù)項(xiàng)加密,即字段加密的方法。為了更加的安全,也對(duì)系統(tǒng)用戶的口令字進(jìn)行了加密。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第3頁(yè)。2.3總體設(shè)計(jì)關(guān)于數(shù)據(jù)庫(kù)安全,美國(guó)從七十年代就開(kāi)始從事安全數(shù)據(jù)庫(kù)管理系統(tǒng)的理論研究,到了八十年代,為了適應(yīng)計(jì)算機(jī)安全技術(shù)飛速發(fā)展的需要,美國(guó)于1983年發(fā)布了“可信任計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)”,1985年又發(fā)布了其修訂版,桔皮書(shū)中對(duì)安全系統(tǒng)的評(píng)價(jià)按照四大類共七個(gè)等級(jí)劃分不同的安全級(jí)別。即分為D、C1、C2、B1、B2、B3、A1七個(gè)等級(jí),如下表2.1所示。其中A1為最高級(jí)別,每一級(jí)別都必須包含低一級(jí)的功能。表2.1可信任計(jì)算機(jī)安全評(píng)估標(biāo)準(zhǔn)級(jí)別定義A1設(shè)計(jì)的形式化驗(yàn)證B3安全域B2結(jié)構(gòu)化保護(hù)B1標(biāo)記安全保護(hù)C2受控制的存放保護(hù)C1自主安全保護(hù)D最小保護(hù)根據(jù)數(shù)據(jù)庫(kù)安全的有關(guān)規(guī)范進(jìn)行題庫(kù)和組卷系統(tǒng)數(shù)據(jù)庫(kù)安全的設(shè)計(jì)。良好的信息安全系統(tǒng)必然是分為不同等級(jí)的,包括對(duì)信息保密程度分級(jí),對(duì)用戶操作權(quán)限分級(jí),對(duì)網(wǎng)絡(luò)安全程度分級(jí)(安全子網(wǎng)和安全區(qū)域),對(duì)系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)的分級(jí)(應(yīng)用層、網(wǎng)絡(luò)層、鏈路層等),從而針對(duì)不同級(jí)別的安全對(duì)象,提供全面、可選的安全算法和安全體制,以滿足網(wǎng)絡(luò)中不同層次的各種實(shí)際需求。2.4功能模塊設(shè)計(jì)本系統(tǒng)要完成以下幾個(gè)功能:(1):用戶管理:本模塊需要實(shí)現(xiàn)增加、刪除用戶以及管理用戶信息等功能;(2):教師功能:本模塊需要實(shí)現(xiàn)編輯、添加以及刪除數(shù)據(jù)庫(kù)中試題等功能;畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第4頁(yè)。(3):學(xué)生功能:本模塊需要實(shí)現(xiàn)自行生成試卷后,學(xué)生能夠自由答題的功能。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第4頁(yè)。如圖2.1,為整個(gè)系統(tǒng)模塊結(jié)構(gòu)圖:學(xué)學(xué)生功能教師功能用戶管理管理退出系統(tǒng)系統(tǒng)身份驗(yàn)證系統(tǒng)主界面添加刪除編輯試卷添加試題刪除試題生成試卷答題圖2.1系統(tǒng)的功能模塊圖2.5開(kāi)發(fā)環(huán)境及技術(shù)(1)VisualC++6.0簡(jiǎn)介MicrosoftVisualC++(以下簡(jiǎn)稱VC++)是微軟公司開(kāi)發(fā)的一個(gè)IDE(集成開(kāi)發(fā)環(huán)境)。換句話說(shuō),就是使用C++的一個(gè)開(kāi)發(fā)平臺(tái)。但是,VC++是Windows平臺(tái)上的C++編程環(huán)境,學(xué)習(xí)VC要了解很多Windows平臺(tái)的特性并且還要掌握MFC(MicrosoftFoundationClasses,以下簡(jiǎn)稱MFC)、ATL、COM等的知識(shí),難度比較大。Windows下編程需要了解Windows的消息機(jī)制以及回調(diào)(callback)函數(shù)的原理;微軟基礎(chǔ)類MFC是Win32API(ApplicationProgrammingInterface,應(yīng)用程序編程接口,以下簡(jiǎn)稱API)的包裝類,需要理解文檔視圖類的結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等;COM是代碼共享的二進(jìn)制標(biāo)準(zhǔn),需要掌握其基本原理等等。(2)Access數(shù)據(jù)庫(kù)簡(jiǎn)介畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第5頁(yè)。數(shù)據(jù)庫(kù)選用Microsoft公司的Access產(chǎn)品作為數(shù)據(jù)庫(kù)應(yīng)用程序。目前的Access2003是Microsoft強(qiáng)大的桌面數(shù)據(jù)庫(kù)平臺(tái)的第六代產(chǎn)品,是32位Access的第三個(gè)版本。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第5頁(yè)。(3)ADO訪問(wèn)數(shù)據(jù)庫(kù)ADO是Microsoft公司提供給Web數(shù)據(jù)庫(kù)開(kāi)發(fā)者最有效的開(kāi)發(fā)方案,包含Connection、Command、Recordset三個(gè)對(duì)象。它幾乎兼容所有的數(shù)據(jù)庫(kù)系統(tǒng),能跨越多種不同的程序語(yǔ)言開(kāi)發(fā)環(huán)境,幾乎可以在任何支持COM(ComponentObjectModel,組件對(duì)象模型)和OLE(對(duì)象鏈接和嵌入)的服務(wù)器端操作系統(tǒng)上使用,將原本煩雜的數(shù)據(jù)庫(kù)程序開(kāi)發(fā)變成輕松容易的工作,除了具有傳統(tǒng)數(shù)據(jù)庫(kù)開(kāi)發(fā)環(huán)境的優(yōu)點(diǎn)外,還增加了對(duì)數(shù)據(jù)庫(kù)修改和維護(hù)的功能。3加密算法分析數(shù)據(jù)的加密就是將明文數(shù)據(jù)經(jīng)過(guò)一定的交換(一般為變換和代替)變成密文數(shù)據(jù)。數(shù)據(jù)脫密是加密的逆過(guò)程,即將密文數(shù)據(jù)變成可見(jiàn)的明文數(shù)據(jù)。一個(gè)密碼系統(tǒng)包含明文集合、密文集合、密鑰集合和算法,其中密鑰和算法構(gòu)成了密碼系統(tǒng)的基本單元。算法是一些公式、法則或程序,規(guī)定明文與密文之間的變換方法,密鑰可以看作算法中的參數(shù)。數(shù)據(jù)庫(kù)加密系統(tǒng)要求將明文數(shù)據(jù)加密成密文數(shù)據(jù),數(shù)據(jù)庫(kù)中存儲(chǔ)密文數(shù)據(jù),查詢時(shí)將密文數(shù)據(jù)取出脫密得到明文信息。3.1目前常用的加密算法現(xiàn)在成熟的加密體制有對(duì)稱密鑰體制(包括流密鑰和組密鑰)和非對(duì)稱密鑰密碼體制兩大類。他們是兩種不同的密碼體制,有各自的優(yōu)點(diǎn)和缺點(diǎn),用于解決不同的問(wèn)題。3.1.1對(duì)稱加密算法對(duì)稱算法,又叫傳統(tǒng)密碼算法,就是加密密鑰能夠從解密密鑰中推算出來(lái),反過(guò)來(lái)也成立。在大多數(shù)對(duì)稱算法中,加解密密鑰是相同的。這些算法也叫秘密密鑰算法或單鑰算法,它要求發(fā)送方和接受方在安全通信之前商定一個(gè)密鑰。對(duì)稱算法的安全性完全依賴于密鑰,泄露密鑰就意味著任何人都能對(duì)消息進(jìn)行解密。只要通信需要保密,密鑰就必須保密。對(duì)稱算法又可分為兩類:一次只對(duì)明文中的單個(gè)位(或字節(jié))運(yùn)算的算法稱為流密碼。另一類算法是對(duì)明文的一組位進(jìn)行運(yùn)算,叫分組密碼,如IBM的DES算法。3.1.2非對(duì)稱加密算法畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第6頁(yè)。非對(duì)稱加密算法又稱公開(kāi)密鑰算法,是1976年由Diff和Hellman在其“密碼學(xué)新方向”一文中提出的。在公鑰密碼系統(tǒng)中,加密和解密使用的是不同的密鑰,這兩個(gè)密鑰之間存在著相互依存的關(guān)系:即用其中任一個(gè)密鑰加密的信息只能用另一個(gè)密鑰進(jìn)行解密。非對(duì)稱加密算法的主要優(yōu)點(diǎn)是可以適合網(wǎng)絡(luò)開(kāi)發(fā)性的使用環(huán)境,密鑰管理問(wèn)題相對(duì)簡(jiǎn)單。但是非對(duì)稱加密算法是基于尖端的數(shù)學(xué)難題,算法非常復(fù)雜,加密解密速度和效率較低。目前最著名的公開(kāi)密鑰算法是RAS算法和橢圓曲線密碼。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第6頁(yè)。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)行加解密算法的選擇上,一方面要考慮保密的強(qiáng)度,另一方面還必須考慮加解密的執(zhí)行速度。在系統(tǒng)中,不應(yīng)因加解密功能的加入而明顯降低系統(tǒng)的執(zhí)行速率。數(shù)據(jù)庫(kù)中的數(shù)據(jù)必須以字段為單位進(jìn)行加密,否則數(shù)據(jù)庫(kù)將無(wú)法進(jìn)行操作。因此,數(shù)據(jù)庫(kù)加解密的密鑰應(yīng)該相同,采用對(duì)稱密碼體制是比較合適的,而且對(duì)稱密碼體制在執(zhí)行速度上一般較非對(duì)稱密碼體制快許多倍。在本系統(tǒng)的具體應(yīng)用中,根據(jù)數(shù)據(jù)庫(kù)加密對(duì)密碼算法的要求和實(shí)際情況,采用DES和MD5分別對(duì)數(shù)據(jù)庫(kù)中的關(guān)鍵數(shù)據(jù)和用戶登陸時(shí)的口令字進(jìn)行加密。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第7頁(yè)。數(shù)據(jù)加密算法DES(DataEncrpytionStandard,以下簡(jiǎn)稱DES),是由IBM公司在70年代提出的一種分組密碼體制,并經(jīng)政府的加密標(biāo)準(zhǔn)篩選后,于1976年11月被美國(guó)政府采用。DES算法加密速度快,適合大數(shù)據(jù)量數(shù)據(jù)加密。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第7頁(yè)。圖3.1是DES加密算法的框圖,DES加密時(shí)把明文以64比特為單位分塊,采用美國(guó)國(guó)家安全局精心設(shè)計(jì)的8個(gè)S盒和P置換,經(jīng)過(guò)16輪迭代,最終產(chǎn)生64比特密文,每輪迭代使用的48比特子密鑰由原始的56比特產(chǎn)生。DES的加密與解密的密鑰和流程完全相同,區(qū)別僅僅是加密與解密使用的子密鑰序列的施加順序正好相反。MD5(Message-DigestAlgorithm5,信息摘要),它的典型應(yīng)用是對(duì)一段信息產(chǎn)生信息摘要,以防止被篡改,通過(guò)其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的MD5信息摘要。對(duì)MD5算法簡(jiǎn)要的敘述可以為:MD5以512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成一個(gè)128位散列值。在MD5算法中,首先需要對(duì)信息進(jìn)行填充,使其字節(jié)長(zhǎng)度對(duì)512求余的結(jié)果等于448。因此,信息的字節(jié)長(zhǎng)度(bitslength)將被擴(kuò)展至n*512+448,即n*64+56個(gè)字節(jié)(bytes),n為一個(gè)正整數(shù)。填充的方法如下,在信息的后面填充一個(gè)1和無(wú)數(shù)個(gè)0,直到滿足上面的條件時(shí)才停止用0對(duì)信息的填充。然后,在在這個(gè)結(jié)果后面附加一個(gè)以64位二進(jìn)制表示的填充前信息長(zhǎng)度。經(jīng)過(guò)這兩步的處理,現(xiàn)在的信息字節(jié)長(zhǎng)度=n*512+448+64=(n+1)*512,即長(zhǎng)度恰好是512的整數(shù)倍。這樣做的原因是為滿足后面處理中對(duì)信息長(zhǎng)度的要求。MD5中有四個(gè)32位被稱作鏈接變量(chainingvariable)的整數(shù)參數(shù),他們分別為:a=0x01234567,b=0x89abcdef,c=0xfedcba98,d=0x76543210。當(dāng)設(shè)置好這四個(gè)鏈接變量后,就開(kāi)始進(jìn)入算法的四輪循環(huán)運(yùn)算。循環(huán)的次數(shù)是信息中512位信息分組的數(shù)目。將上面四個(gè)鏈接變量復(fù)制到另外四個(gè)變量中:a到a,b到b,c到c,d到d。主循環(huán)有四輪(md4只有三輪),每輪循環(huán)都很相似。第一輪進(jìn)行16次操作。每次操作對(duì)a、b、c和d中的其中三個(gè)作一次非線性函數(shù)運(yùn)算,然后將所得結(jié)果加上第四個(gè)變量,文本的一個(gè)子分組和一個(gè)常數(shù)。再將所得結(jié)果向右環(huán)移一個(gè)不定的數(shù),并加上a、b、c或d中之一。最后用該結(jié)果取代a、b、c或d中之一。以一下是每次操作中用到的四個(gè)非線性函數(shù)(每輪一個(gè))。f(x,y,z)=(x&y)|((~x)&z)g(x,y,z)=(x&z)|(y&(~z))畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第8頁(yè)。h(x,y,z)=x^y^z畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第8頁(yè)。i(x,y,z)=y^(x|(~z))(&是與,|是或,~是非,^是異或)這四個(gè)函數(shù)的說(shuō)明:如果x、y和z的對(duì)應(yīng)位是獨(dú)立和均勻的,那么結(jié)果的每一位也應(yīng)是獨(dú)立和均勻的。f是一個(gè)逐位運(yùn)算的函數(shù)。即,如果x,那么y,否則z。函數(shù)h是逐位奇偶操作符。假設(shè)mj表示消息的第j個(gè)子分組(從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è)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第9頁(yè)。gg(a,b,c,d,m1,5,0xf61e2562)畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第9頁(yè)。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è)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第10頁(yè)。hh(d,a,b,c,m12,11,0xe6db99e5)畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第10頁(yè)。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ù)運(yùn)行算法,最后的輸出是a、b、c和d的級(jí)聯(lián)。MD5的安全性MD5相對(duì)md4所作的改進(jìn):(1)增加了第四輪;(2)每一步均有唯一的加法常數(shù);(3)為減弱第二輪中函數(shù)g的對(duì)稱性從(x&y)|(x&z)|(y&z)變?yōu)?x&z)|(y&(~z));畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第11頁(yè)。(4)第一步加上了上一步的結(jié)果,這將引起更快的雪崩效應(yīng);畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第11頁(yè)。(5)改變了第二輪和第三輪中訪問(wèn)消息子分組的次序,使其更不相似;(6)近似優(yōu)化了每一輪中的循環(huán)左移位移量以實(shí)現(xiàn)更快的雪崩效應(yīng),各輪的位移量互不相同。[color=red]簡(jiǎn)單的說(shuō):MD5叫信息-摘要算法,是一種密碼的算法,它可以對(duì)任何文件產(chǎn)生一個(gè)唯一的MD5驗(yàn)證碼,每個(gè)文件的MD5碼就如同每個(gè)人的指紋一樣,都是不同的,這樣,一旦這個(gè)文件在傳輸過(guò)程中,其內(nèi)容被損壞或者被修改的話,那么這個(gè)文件的MD5碼就會(huì)發(fā)生變化,通過(guò)對(duì)文件MD5的驗(yàn)證,可以得知獲得的文件是否完整。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密鑰管理在對(duì)數(shù)據(jù)加密時(shí),一個(gè)至關(guān)重要的問(wèn)題是密鑰的管理。密鑰管理是對(duì)密鑰在其整個(gè)生命周期的管理活動(dòng),包括密鑰的產(chǎn)生、存儲(chǔ)、分發(fā)、使用、更新、消亡等內(nèi)容。設(shè)計(jì)安全的加密算法雖然不容易,但是可以依據(jù)大量的學(xué)術(shù)研究。相對(duì)來(lái)說(shuō),對(duì)密鑰進(jìn)行保密則更加困難。由于數(shù)據(jù)庫(kù)加密系統(tǒng)的安全依賴于密鑰,所以采用一個(gè)弱的密鑰產(chǎn)生方法,那么整個(gè)系統(tǒng)都將是弱的。如果采用密鑰由用戶指定的方式,他們通常會(huì)指定一個(gè)弱密鑰。所以好的密鑰通常都是那些自動(dòng)處理設(shè)備產(chǎn)生的隨機(jī)位串。密鑰串要么從可靠的隨機(jī)源中產(chǎn)生,要么從安全的偽隨機(jī)位發(fā)生器產(chǎn)生。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第12頁(yè)。在傳統(tǒng)的通信網(wǎng)絡(luò)加密和文件系統(tǒng)中,加密密鑰通常采用直接分發(fā)給用戶的方式。但因?yàn)閿?shù)據(jù)庫(kù)中的數(shù)據(jù)具有高度結(jié)構(gòu)化、共享化、數(shù)據(jù)量大等特點(diǎn),對(duì)于同一個(gè)加密數(shù)據(jù),可能會(huì)有多個(gè)用戶權(quán)限訪問(wèn)。如果直接采用分發(fā)密鑰給用戶的方式,很容易造成密鑰的泄漏。所以在進(jìn)行數(shù)據(jù)庫(kù)加密時(shí),難以使用直接分發(fā)密鑰給用戶的方式,必須采用安全高效的替代方式。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第12頁(yè)。在傳統(tǒng)的通信網(wǎng)絡(luò)加密和文件加密系統(tǒng)中,因?yàn)榧用苊荑€通常直接分發(fā)給用戶,所以不需要進(jìn)行密鑰的存儲(chǔ)。但是在數(shù)據(jù)庫(kù)加密中,需要一種安全高效的方式來(lái)存儲(chǔ)和維護(hù)密鑰。而且,由于存在大量的加密數(shù)據(jù),相應(yīng)的有大量的加密密鑰,如果密鑰不存儲(chǔ),一旦用戶丟失密鑰,數(shù)據(jù)將無(wú)法恢復(fù)。4系統(tǒng)詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)設(shè)計(jì)因?yàn)楸菊n題的重點(diǎn)是對(duì)數(shù)據(jù)庫(kù)加密方面的研究,為了便于系統(tǒng)成果的演示,所以簡(jiǎn)單的設(shè)計(jì)了這個(gè)數(shù)據(jù)庫(kù)系統(tǒng)。4.1.1需求分析數(shù)據(jù)庫(kù)設(shè)計(jì)是在既定的數(shù)據(jù)庫(kù)管理系統(tǒng)基礎(chǔ)之上建立數(shù)據(jù)庫(kù)的過(guò)程。其過(guò)程是將現(xiàn)實(shí)存在的數(shù)據(jù)及其應(yīng)用處理關(guān)系進(jìn)行抽象,從而形成數(shù)據(jù)庫(kù)結(jié)構(gòu)。數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)應(yīng)用程序的核心。數(shù)據(jù)庫(kù)設(shè)計(jì)是建立一個(gè)應(yīng)用程序最重要的一步。一個(gè)好的數(shù)據(jù)庫(kù)結(jié)構(gòu)和文件設(shè)計(jì)可以使系統(tǒng)在已有的條件下具有處理速度快,占用存儲(chǔ)空間少,操作處理過(guò)程簡(jiǎn)單,查找容易,系統(tǒng)開(kāi)銷和費(fèi)用低等特點(diǎn)。具體實(shí)現(xiàn)時(shí),應(yīng)首先明確用戶對(duì)數(shù)據(jù)的需求,在此基礎(chǔ)上,建立數(shù)據(jù)庫(kù)的概念模型,概念模型主要是用來(lái)反映用戶的現(xiàn)實(shí)環(huán)境和需求,它獨(dú)立于具體的數(shù)據(jù)庫(kù)管理系統(tǒng),并且與數(shù)據(jù)庫(kù)怎樣實(shí)現(xiàn)無(wú)關(guān),建立概念模型的主要工具為實(shí)體關(guān)系(E-R)圖。在建立數(shù)據(jù)庫(kù)概念模型之后,要真正實(shí)現(xiàn)與數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)合,即能夠由既定的數(shù)據(jù)庫(kù)管理系統(tǒng)所支持,還必須進(jìn)行邏輯結(jié)構(gòu)的設(shè)計(jì),在邏輯設(shè)計(jì)階段,主要完成建立數(shù)據(jù)庫(kù)的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性等問(wèn)題;最后一個(gè)階段是數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì),其任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲(chǔ)結(jié)構(gòu)、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲(chǔ)空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫(kù)物理結(jié)構(gòu)。4.1.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第13頁(yè)。數(shù)據(jù)庫(kù)概念設(shè)計(jì)過(guò)程即是用用戶可以理解的形式來(lái)表達(dá)信息的流程。概念設(shè)計(jì)所得到的概念模型,是對(duì)現(xiàn)實(shí)世界的抽象和概括,能真實(shí)、充分反映現(xiàn)實(shí)世界中事物與事物之間的聯(lián)系,即實(shí)體與實(shí)體之間的聯(lián)系。概念設(shè)計(jì)在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)是非常重要的一步。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第13頁(yè)。根據(jù)本系統(tǒng)的調(diào)研分析和需求得出實(shí)體E-R圖如圖4.1所示。教師教師出題試卷生成學(xué)生姓名答題M修改刪除NNNNNMMMM判斷填空選擇帳號(hào)姓名管理員管理NM班級(jí)圖4.1本系統(tǒng)的實(shí)體E-R圖4.1.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)就是根據(jù)數(shù)據(jù)庫(kù)管理系統(tǒng)的特征把概念結(jié)構(gòu)轉(zhuǎn)換為相應(yīng)的邏輯結(jié)構(gòu)。概念設(shè)計(jì)所得到的E-R模型,是獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)的,這里的轉(zhuǎn)換就是把表示概念結(jié)構(gòu)的E-R圖轉(zhuǎn)換為層次模型或網(wǎng)絡(luò)模型或關(guān)系模型的邏輯結(jié)構(gòu)。本系統(tǒng)選擇的數(shù)據(jù)庫(kù)管理系統(tǒng)是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。因此只需將E-R圖中的每一個(gè)實(shí)體和聯(lián)系都轉(zhuǎn)換成關(guān)系模式中的關(guān)系即可,將關(guān)系模式進(jìn)行規(guī)范化。系統(tǒng)的E-R圖對(duì)應(yīng)的關(guān)系數(shù)據(jù)模型為:(1)教師信息表(帳號(hào)、姓名、出卷日期、系別)(2)管理員信息表(帳號(hào)、用戶權(quán)限)(3)學(xué)生信息表(帳號(hào)、學(xué)號(hào)、答卷日期、成績(jī))(4)試卷信息表(編號(hào)、類別、生成日期、試卷成績(jī))4.1.4數(shù)據(jù)流圖設(shè)計(jì)數(shù)據(jù)流圖是目標(biāo)軟件系統(tǒng)中各個(gè)處理子功能以及他們之間的數(shù)據(jù)流動(dòng)的圖形表示。下圖4.2所示的是登錄系統(tǒng)的數(shù)據(jù)流圖。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第14頁(yè)。管理員畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第14頁(yè)。管理員身份驗(yàn)證教師學(xué)生身份正確信息身份錯(cuò)誤信息D1D2圖4.2登錄系統(tǒng)數(shù)據(jù)流圖身份正確身份錯(cuò)誤 學(xué)生、教師、管理員用自己的用戶名和密碼登錄系統(tǒng),如果正確則進(jìn)入系統(tǒng),顯示當(dāng)前用戶信息,如果錯(cuò)誤則彈出錯(cuò)誤對(duì)話框,不能進(jìn)入系統(tǒng),返回重新登錄。教師教師出卷數(shù)據(jù)庫(kù)顯示器保存試卷查詢?cè)嚲韴D4.3教師出卷模塊數(shù)據(jù)流圖出卷模塊是教師特有的模塊,教師通過(guò)系統(tǒng)發(fā)布新的試題,以便學(xué)生檢測(cè)自己所學(xué)的文化知識(shí)。4.2系統(tǒng)功能實(shí)現(xiàn)加密功能是本系統(tǒng)功能實(shí)現(xiàn)的重點(diǎn),所以在此著重介紹兩個(gè)加密功能的實(shí)現(xiàn)。4.2.1DES加密功能的實(shí)現(xiàn)4.2.2MD5加密功能的實(shí)現(xiàn)4.3系統(tǒng)界面實(shí)現(xiàn)本系統(tǒng)有三個(gè)權(quán)限,分別是管理員、教師和學(xué)生三個(gè)部分組成。分別用自己的帳號(hào)登錄系統(tǒng)實(shí)現(xiàn)操作。管理員對(duì)系統(tǒng)有添加帳號(hào)和修改用戶的權(quán)限;教師有對(duì)試卷進(jìn)行添加、修改和刪除等操作;學(xué)生可以生成試卷并答卷。系統(tǒng)著重于對(duì)試卷的加密。具體實(shí)現(xiàn)由下面幾小節(jié)說(shuō)明。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第15頁(yè)。運(yùn)行MicrosoftVisualC++6.0,打開(kāi)該工程。運(yùn)行該系統(tǒng)后,得到如下圖4.4所示。在用戶名選項(xiàng)中分別為:admin、teacher和student。選擇用戶權(quán)限,輸入密碼登錄。經(jīng)過(guò)MD5加密算法核對(duì),核對(duì)無(wú)異常,允許登錄。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第15頁(yè)。圖4.4系統(tǒng)登錄界面圖4.5為賬戶MD5加密結(jié)果,輸入密碼后,經(jīng)過(guò)賬戶管理表的核對(duì)信息,核對(duì)正確才允許登錄,提高了題庫(kù)的安全性。圖4.5賬戶MD5加密結(jié)果畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第16頁(yè)。選擇用戶“teacher”,輸入該用戶密碼:teacher。進(jìn)入教師權(quán)限的系統(tǒng),進(jìn)行試題的編寫。分別鍵入新信息,具體操作如下圖所示。圖4.6畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第16頁(yè)。圖4.6判斷題編寫進(jìn)入選擇題編寫界面,同樣鍵入新的題目,具體操作如下圖4.7所示。圖4.7選擇題編輯畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第17頁(yè)。進(jìn)入填空題的編輯界面,鍵入新的題目,增加到題庫(kù),實(shí)際的操作過(guò)程如下圖4.8所示。分別鍵入題目和答案,備份到數(shù)據(jù)庫(kù)中。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第17頁(yè)。圖4.8填空題編輯界面在編輯完試卷后,我們?nèi)?shù)據(jù)庫(kù)看看試卷的加密情況。判斷題、選擇題和填空題的加密情況分別如下三圖4.9、圖4.10和圖4.11所示。經(jīng)過(guò)DES加密算法的加密,我們可以看到,試卷保存在數(shù)據(jù)庫(kù)中都是以密文形式保存,這就大大提高了試題的保密性和安全性??梢苑乐乖囶}的惡意外泄或竊取。每幅圖的最后一行即為我們剛剛添加的新試題,同樣在數(shù)據(jù)庫(kù)中以密文保存。圖4.9判斷題的密文形式畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第18頁(yè)。我們可以從這些圖中可以看到,在存放試題的數(shù)據(jù)庫(kù)中,不管是何種權(quán)限,都是看不到試題的明文形式的,相對(duì)的提高了試題的保密性。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第18頁(yè)。圖4.10經(jīng)DES加密過(guò)的填空題密文圖4.11經(jīng)DES加密后的選擇題密文畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第19頁(yè)。退出教師權(quán)限,我們下面以學(xué)生的身份進(jìn)入到該系統(tǒng)中,輸入用戶名和密碼,進(jìn)行MD5身份核對(duì)。學(xué)生界面主要是用于生成試卷和答卷所用。隨機(jī)生成一套試題后,系統(tǒng)提示“以生成試卷”,考生可以開(kāi)始答卷。如圖4.12所示界面。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第19頁(yè)。圖4.12學(xué)生答題界面退出學(xué)生權(quán)限,以管理員的身份登錄到該系統(tǒng),在管理員界面中,能對(duì)系統(tǒng)作三種操作:修改賬戶權(quán)限、添加新賬戶以及密碼修改,。下圖4.13所展示的是對(duì)“admin”,進(jìn)行修改密碼的操作。圖4.13管理員管理賬戶界面如果想添加新的賬戶,鍵入新的用戶名稱,選擇權(quán)限設(shè)置,輸入新的密碼,點(diǎn)擊“添加”按鈕,則系統(tǒng)提示成功添加了新用戶,具體操作過(guò)程如圖4.14所示。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第20頁(yè)。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第20頁(yè)。圖4.14管理員添加新帳戶為了方便數(shù)據(jù)庫(kù)系統(tǒng)的操作和考慮到數(shù)據(jù)的安全,還添加了數(shù)據(jù)庫(kù)備份和數(shù)據(jù)庫(kù)還原兩項(xiàng)功能,如圖4.15、4.16所示。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第21頁(yè)。圖4.15數(shù)據(jù)庫(kù)備份畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第21頁(yè)。圖4.16數(shù)據(jù)庫(kù)還原5系統(tǒng)測(cè)試5.1測(cè)試目的軟件測(cè)試環(huán)節(jié)是每一個(gè)軟件產(chǎn)品從設(shè)計(jì)到成品的最后一道工序,優(yōu)秀的軟件產(chǎn)品通常都經(jīng)過(guò)許多嚴(yán)格的測(cè)試,最后才提交用戶使用。軟件測(cè)試包括功能代碼的測(cè)試、系統(tǒng)功能的完整性測(cè)試、性能測(cè)試、安全性測(cè)試、數(shù)據(jù)庫(kù)的一致性測(cè)試等。測(cè)試的目的,第一,是盡可能多的發(fā)現(xiàn)軟件制作過(guò)程中的錯(cuò)誤及運(yùn)行時(shí)錯(cuò)誤,通過(guò)測(cè)試使軟件的錯(cuò)誤減少,使系統(tǒng)的可靠性進(jìn)一步提高;第二,提供信息,比如提供給開(kāi)發(fā)人員或用戶的反饋信息;第三,軟件測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身,而且還包括軟件開(kāi)發(fā)的過(guò)程,如果一個(gè)軟件產(chǎn)品開(kāi)發(fā)完成之后發(fā)現(xiàn)了很多問(wèn)題,這說(shuō)明此軟件開(kāi)發(fā)過(guò)程很可能是有缺陷的,因此軟件測(cè)試的第三個(gè)目的是保證整個(gè)軟件開(kāi)發(fā)過(guò)程是高質(zhì)量的。5.2測(cè)試內(nèi)容根據(jù)需求分析劃定系統(tǒng)測(cè)試的功能范圍,即需求分析中的功能在系統(tǒng)中得到充分體現(xiàn)。分模塊測(cè)試軟件的功能,包括軟件的界面要求、功能體現(xiàn)、性能要求、穩(wěn)定性要求、是否達(dá)到操作便捷、靈活性要求、安全性要求;各模塊之間的關(guān)系是否與需求分析中的一致等。綜合測(cè)試,在分塊測(cè)試之后,將所有模塊作為一個(gè)整體進(jìn)行測(cè)試,測(cè)試整個(gè)系統(tǒng)的功能和性能,檢驗(yàn)其是否滿足用戶的需求。測(cè)試案例:畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第22頁(yè)。(1)在編輯試題這一功能模塊中,選擇選擇題標(biāo)簽,在出題欄中鍵入“南京是哪個(gè)省的省會(huì)?”,選擇項(xiàng)欄中保持空白,然后點(diǎn)擊“添加/刪除”按鍵,彈出對(duì)話框“題目或答案不能為空!”。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第22頁(yè)。(2)選中填空題編輯欄,在出題欄中復(fù)制一副圖片進(jìn)去,系統(tǒng)提示“錯(cuò)誤操作”。5.3測(cè)試結(jié)果測(cè)試結(jié)果總體上來(lái)說(shuō)還是較好的,測(cè)試結(jié)果表明系統(tǒng)實(shí)現(xiàn)的功能均能達(dá)到需求分析的基本要求,系統(tǒng)的運(yùn)行速度和穩(wěn)定性較好,具有較高的實(shí)用性,安全性良好。在系統(tǒng)集成測(cè)試中,測(cè)試結(jié)果是系統(tǒng)各模塊的連接情況連好,做到了高內(nèi)聚低耦合,系統(tǒng)整體運(yùn)行良好,安全性方面未發(fā)現(xiàn)異常。畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第23頁(yè)。
畢業(yè)設(shè)計(jì)(論文)-數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)全文共26頁(yè),當(dāng)前為第23頁(yè)。結(jié)論本文研究的課題是數(shù)據(jù)庫(kù)加密系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),因?yàn)楝F(xiàn)今的題庫(kù)與組卷系統(tǒng)數(shù)據(jù)庫(kù)均不同程度的存在著安全方面的漏洞和隱患,不能滿足相關(guān)人員的安全要求。所以設(shè)計(jì)了本系統(tǒng)。本系統(tǒng)針對(duì)有關(guān)的數(shù)據(jù)庫(kù)安全漏洞和隱患進(jìn)行研究探討,并且取得了良好結(jié)果。在應(yīng)用程序訪問(wèn)連接數(shù)據(jù)庫(kù)的連接方案的設(shè)計(jì)中,本系統(tǒng)進(jìn)行分析比較后,采用了ADO這一數(shù)據(jù)庫(kù)連接技術(shù);將用戶的口令進(jìn)行加密處理后再存儲(chǔ)到數(shù)據(jù)庫(kù)中,保證了數(shù)據(jù)庫(kù)中用戶及其口令的安全;在對(duì)目前常用的數(shù)據(jù)加密算法的深入研究和分析比較后,根據(jù)數(shù)據(jù)庫(kù)加密對(duì)密碼系統(tǒng)的要求,在對(duì)用戶登陸時(shí),采用了MD5加密算法保護(hù)用戶的口令,用DES加密算法對(duì)數(shù)據(jù)庫(kù)中的關(guān)鍵數(shù)據(jù)進(jìn)行加密;在密鑰管理方面,本系統(tǒng)實(shí)行二級(jí)密鑰管理,一級(jí)密鑰為主密鑰,二級(jí)密鑰為工作密鑰,主密鑰的作用是對(duì)二級(jí)密鑰信息加密生成工作密鑰,工作密鑰用于對(duì)用戶口令、數(shù)據(jù)庫(kù)數(shù)據(jù)加密解密;在數(shù)據(jù)庫(kù)的備份方面,本系統(tǒng)采取自動(dòng)備份以及數(shù)據(jù)庫(kù)復(fù)制相結(jié)合的方法來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,保證被破壞后能進(jìn)行良好的恢復(fù)。目前,采用本論文設(shè)計(jì)的大部分功能模塊已經(jīng)完成,并且能夠順利運(yùn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024遠(yuǎn)程教育資源共享平臺(tái)搭建合同
- 中學(xué)生健康知識(shí)競(jìng)賽
- 2024碼頭船舶污染物接收與處理環(huán)保服務(wù)合同3篇
- 2024碎石交易協(xié)議模板一
- 2024餐館油煙凈化設(shè)備采購(gòu)合同
- 2024石榴樹(shù)品種改良與繁育技術(shù)許可使用合同3篇
- 2025年城市更新項(xiàng)目委托物業(yè)管理合同范本2篇
- 2024融資租賃合同租賃標(biāo)的及租金
- 2025年度二人家族農(nóng)場(chǎng)合伙經(jīng)營(yíng)協(xié)議書(shū)3篇
- 2024甲乙雙方網(wǎng)絡(luò)游戲開(kāi)發(fā)與發(fā)行合同
- 平山水利樞紐設(shè)計(jì)說(shuō)明書(shū)
- 2024年國(guó)家開(kāi)放大學(xué)電大橋梁工程技術(shù)形考任務(wù)一、二、三、四答案
- 2024年小區(qū)地下車位租賃合同
- 2024年陜西省中考語(yǔ)文試卷附答案
- 抖音火花合同電子版獲取教程
- 2024年刑法知識(shí)考試題庫(kù)附參考答案(典型題)
- 第5課《弘揚(yáng)勞動(dòng)精神勞模精神工匠精神》第1框《理解勞動(dòng)精神勞模精神工匠精神》-【中職專用】《職業(yè)道德與法治》同步課堂課件
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 中醫(yī)藥養(yǎng)生保健服務(wù)方案設(shè)計(jì)
- 肺栓塞指南解讀
- 2024年廣西南寧金融投資集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論