




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科畢業(yè)論文賬戶密碼模塊設(shè)計的分析與研究學(xué) 院:貴州大學(xué)明德學(xué)院專 業(yè):計算機科學(xué)與技術(shù)(信息安全方向)班 級:信安xxxxxxx學(xué) 號:Xxxxxxxxxxx學(xué)生姓名:吳 文 藝指導(dǎo)教師:余 畢 新2016年05 月23日貴州大學(xué)本科畢業(yè)論文(設(shè)計)誠信責(zé)任書本人鄭重聲明:本人所呈交的畢業(yè)論文(設(shè)計),是在導(dǎo)師的指導(dǎo)下獨立進(jìn)行研究所完成。畢業(yè)論文(設(shè)計)中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點等,均已明確注明出處。特此聲明。論文(設(shè)計)作者簽名: 日 期: 貴州大學(xué)畢業(yè)論文(設(shè)計) 第 IV 頁目錄摘 要IIIAbstractIV第一章 緒論11.1研究背景及意義11.2國內(nèi)外研究現(xiàn)狀
2、21.3本論文研究內(nèi)容2第二章 賬戶安全及密碼技術(shù)42.1賬戶數(shù)據(jù)動態(tài)分析42.2網(wǎng)絡(luò)安全42.2.1賬戶登錄頁面的安全分析42.2.2數(shù)據(jù)網(wǎng)絡(luò)端傳輸安全分析52.2.3數(shù)據(jù)服務(wù)器端安全分析52.3密碼技術(shù)62.3.1密碼學(xué)的發(fā)展62.3.2 DES對稱加密技術(shù)72.3.4RSA非對稱加密技術(shù)72.4公開密鑰與對稱密鑰的優(yōu)劣10第三章 賬戶密碼模塊總體設(shè)計113.1加密模塊的分析113.1.1用戶登錄過程113.1.2用戶登錄過程中加密選擇133.1.3數(shù)據(jù)在數(shù)據(jù)庫進(jìn)行保存143.2密鑰管理153.4整體框架163.4.1賬戶模塊16第四章 賬戶密碼模塊技術(shù)詳細(xì)設(shè)計及案例分析174.1用戶注冊
3、模塊實現(xiàn)174.2用戶登錄模塊實現(xiàn)214.3超級用戶模塊實現(xiàn)23結(jié)束語26參考文獻(xiàn)27致 謝28賬戶密碼模塊設(shè)計的分析與研究摘 要步入信息時代的今天,每天都有上億,上千億甚至更多的用戶登錄網(wǎng)絡(luò)世界,訪問各大網(wǎng)站,進(jìn)行著無窮無盡的數(shù)據(jù)傳輸,增加了數(shù)據(jù)訪問量。在同時我們要保護(hù)的數(shù)據(jù)會被攻擊的可能性也開始變得更大。為了安全起見,我們在網(wǎng)絡(luò)上的交易或行為必須要受到一定的約束,想要得到網(wǎng)絡(luò)的服務(wù),我們就要遵守網(wǎng)絡(luò)的規(guī)則。這樣就有了網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)協(xié)議是人為訂的一套方案,但方案只能放在大的層面。而對于個人私人信息,能保護(hù)好我們數(shù)據(jù),就要我們自己把自己的賬戶保管好,然后設(shè)置自己的一個密碼(口令),這樣,只有在
4、知道我們的賬號和相應(yīng)的密碼之后,我才可以進(jìn)入我們自己的私有空間,去訪問自己的數(shù)據(jù)。在此基礎(chǔ)上,用戶還可能有一些錯誤的操作,失誤操作,都會對個人數(shù)據(jù)產(chǎn)生影響。本文將從賬戶密碼模塊出發(fā),對用戶登錄的環(huán)境,密碼自身的標(biāo)準(zhǔn)(自定義)進(jìn)行研究和討論,最后完成用戶從注冊,登錄到驗證都經(jīng)過賬戶信息初步檢測,信息加密傳送,信息驗證的實例,以此來加強賬戶信息的安全性。關(guān)鍵詞 :賬戶密碼模塊,網(wǎng)絡(luò)安全,密鑰管理,web技術(shù)Analysis and Research on the design of account password moduleAbstractInto the information age of
5、 today, every day hundreds of billions, hundreds of billions or more users to log into the network world, to visit the major sites, the endless data transmission, increased the amount of data access. At the same time we want to protect the data will be attacked the possibility of becoming bigger.For
6、 security reasons, we must be in the network transactions or acts of a certain constraint, want to get the network services, we must comply with the rules of the network. In this way, there is a network protocol, network protocol is an artificial set of programs, but the program can only be placed o
7、n a large level. And for personal information to protect our data, it is necessary to us to take good care of their own account, and then set himself a password (password) so that only know the account number and password after, I can enter our own private space, access to their own data.On this bas
8、is, the user may also have some errors in the operation, the fault operation, will have an impact on personal data. This article from the account password module, of the logged on user environment and their own password standard (custom) for study and discussion, the final completion of the user fro
9、m the registration, login verification are after the initial detection of account information, information encryption transmission, information verification examples, to this to strengthen account information security.Key words: account password module, network security, key management, web technolo
10、g貴州大學(xué)畢業(yè)論文(設(shè)計) 第30 頁 第一章 緒論1.1研究背景及意義步入信息時代的今天,每天都有上億,上千億甚至更多的用戶登錄網(wǎng)絡(luò)世界,訪問各大網(wǎng)站,進(jìn)行著無窮無盡的數(shù)據(jù)傳輸,在這中間,可能數(shù)據(jù)在不經(jīng)意或惡意情況下被人揭取和破壞。在獲得網(wǎng)絡(luò)帶來的便捷時,比如可以在網(wǎng)站上進(jìn)行廣告宣傳,進(jìn)行著商品交易,各大企業(yè)事業(yè)單位也逐漸開始利用網(wǎng)絡(luò)來進(jìn)行信息交換,將有價值的數(shù)據(jù)存儲在數(shù)據(jù)庫中,增加了數(shù)據(jù)訪問量,是我們的數(shù)據(jù)被攻擊的目標(biāo)更大。網(wǎng)絡(luò)給我?guī)砹藷o限的資源時,同時也在給我?guī)頌?zāi)難。為了安全起見,我們在網(wǎng)絡(luò)上的交易或行為必須要受到一定的約束,你要得到網(wǎng)絡(luò)的服務(wù),我們就要遵守網(wǎng)絡(luò)的規(guī)則。這樣就有了網(wǎng)絡(luò)
11、協(xié)議,網(wǎng)絡(luò)協(xié)議是人為制定的一套方案,但方案只能放在大的層面。而對于個人私人信息,個人賬戶信息,個人數(shù)據(jù)都用這些協(xié)議去保護(hù)顯然是不可能的了。為了能保護(hù)好我們數(shù)據(jù),就要我們自己把自己的賬戶保管好,然后設(shè)置自己的一個密碼(口令),這樣,只有在知道我們的賬號和相應(yīng)的密碼之后,我才可以進(jìn)入我們自己的空間,去訪問自己的數(shù)據(jù)。然而,事情遠(yuǎn)沒有我們想想的簡單,用戶賬戶一般都是公開,只有密碼是自己知道的,不要認(rèn)為自己不說,別人是無法得知相應(yīng)賬戶密碼的。如果你這樣說就不對了,如果你的密碼是123,在窮舉的情況下,你這個密碼就會輕易的被猜中。況且我們現(xiàn)在的計算機計算速度是幾十萬億次每秒,你的密碼在幾十萬億分之一秒就
12、會被攻破(猜中)。還有我們在網(wǎng)絡(luò)上訪問和傳輸數(shù)據(jù)時,我們還可能受到隱藏于網(wǎng)絡(luò)鏈路中的不明攻擊者的網(wǎng)絡(luò)監(jiān)聽,數(shù)據(jù)攔截,數(shù)據(jù)串改等。到了數(shù)據(jù)庫也會受到賬戶密碼的暴力破解等等都會對我們的賬戶口令進(jìn)行威脅。數(shù)據(jù)庫的目標(biāo)大,攻擊對象也就越多,我們的數(shù)據(jù)如果明文放入也是及不安全的,如果數(shù)據(jù)庫受到攻擊,那我們的信息就會裸露在別人的眼前。這樣,我們只有在自己設(shè)置復(fù)雜口令的基礎(chǔ)上,再由我們的賬戶密碼模塊對輸入的口令進(jìn)行再一次的加固,打包傳送,最后再一次加密加固送如數(shù)據(jù)庫中進(jìn)行密文保存,讓攻擊者無從下手。1.2國內(nèi)外研究現(xiàn)狀目前,我國正處在互聯(lián)網(wǎng)快速發(fā)展的最佳時期,過大企業(yè)事業(yè)單位也在紛紛的使用網(wǎng)絡(luò)這個無窮的資源
13、在給自己的產(chǎn)業(yè)輸入新鮮的血液,不是有這樣的說法嗎!如果你現(xiàn)在搞創(chuàng)業(yè),如果不搞互聯(lián)網(wǎng)這塊,你就落后了,最起碼你不做這塊是很難占有優(yōu)勢的。這樣以來,我們在網(wǎng)絡(luò)世界里,每天都有著大量的數(shù)據(jù)在傳送,添加,更改。這樣,這樣我們的網(wǎng)絡(luò)安全是至關(guān)重要的。前面已經(jīng)說了,現(xiàn)目前,我國正處于互聯(lián)網(wǎng)發(fā)展的高峰期,各種硬件設(shè)施,網(wǎng)絡(luò)協(xié)議,都還不太完善。比如有些網(wǎng)站為了節(jié)約成本,只使用路由器,不安裝防火墻。為了開發(fā)成本盡可能降低,少了很多安全需求分析,草率的進(jìn)行網(wǎng)站開發(fā)等等。還有最大的問題在于,我國在互聯(lián)網(wǎng)這塊相對于美國這樣的西方國家起步得較晚,使得我們的技術(shù)差不多都是從國外引進(jìn)的,這樣我們的技術(shù)總是在別人的后面,使得
14、我們的系統(tǒng)相對于外國是比較弱的。這樣,我覺得我國的過大商家,企業(yè)事業(yè)不要只見到眼前美好的風(fēng)景,我們應(yīng)該在引進(jìn)別人的技術(shù)時,我們要懂得創(chuàng)新,會懂得使用,我們要從一些根本解決問題。 加強網(wǎng)絡(luò)安全教育:凡事都要從小事做起,有些事看是小事,他可能關(guān)系到整體??紤]事情要周到:從2014年鐵路12306網(wǎng)站用戶信息被泄密事件得到教訓(xùn),對于容易被攻擊的對象,我們特別要對安全作好充分的準(zhǔn)備。發(fā)展網(wǎng)絡(luò)安全產(chǎn)業(yè):發(fā)展全面愛思考的興趣,有自己刻苦難關(guān)的精神,不要一味的想到抄襲,想到引進(jìn),我們要有自己的思想,我們要自己發(fā)展掌控我們的網(wǎng)絡(luò)安全技術(shù)。 1.3本論文研究內(nèi)容本論文首先從網(wǎng)絡(luò)用戶量和賬戶信息在互聯(lián)網(wǎng)中的膨脹趨
15、勢所產(chǎn)生的一系列問題,比如賬戶信息的生成,傳送,保存所經(jīng)過的網(wǎng)絡(luò)環(huán)境是否安全等等,再對這些問題進(jìn)一步討論研究,最后將對賬戶信息進(jìn)行加密,加密傳輸,加密保存過程等系列應(yīng)對措施。論文總體結(jié)構(gòu)如下:第一章:知道我們?yōu)槭裁匆O(shè)置個人賬號和密碼。經(jīng)過賬戶及密碼在網(wǎng)絡(luò)傳輸過程中環(huán)境的網(wǎng)絡(luò)段進(jìn)行安全分析,我們考慮到在瀏覽器端主要的攻擊有病毒和木馬;而在網(wǎng)絡(luò)傳輸過程中會受到半路攔截,網(wǎng)絡(luò)監(jiān)聽;而在數(shù)據(jù)庫端,受到的有數(shù)據(jù)庫密碼破解攻擊等。從上面的推導(dǎo)我們得到一個結(jié)論,密碼加密檢測,加密傳輸,加密保存等對我們的賬戶及密碼起著的安全保障意識。第一章將對加密技術(shù)的發(fā)展作簡要介紹,對加密技術(shù)的應(yīng)用領(lǐng)域、傳統(tǒng)的加密技術(shù)以
16、及現(xiàn)代加密技術(shù)做簡約介紹。同時,也分析了加密對賬戶密碼模塊產(chǎn)生的影響和數(shù)據(jù)庫加密要實現(xiàn)的目標(biāo)。第二章:在第一章所提到的問題上作進(jìn)一步的研究,提到的在網(wǎng)絡(luò)中賬戶信息可能受到的攻擊進(jìn)一步分析,為我們的賬戶密碼模塊打好鋪墊。第三章:在第二章我們已經(jīng)做好賬戶密碼模塊的需求,在這張將開始著手上寫一個賬戶密碼模塊的準(zhǔn)備,劃分好模塊。第四章:在這章完成賬戶加密模塊,完成賬戶在線注冊,登錄,訪問中的賬戶密碼的加密,加密傳輸,加密保存過程,將有可展示在我們眼前的模塊,看到賬戶在賬戶加密模塊下的運行過程,和帶給我們的震撼,來證實加密模塊的重要性,這些用簡單一個web工程實現(xiàn)。第二章 賬戶安全及密碼技術(shù)2.1賬戶數(shù)
17、據(jù)動態(tài)分析目前,賬戶登錄模式主要為兩種結(jié)構(gòu),B/S與C/S結(jié)構(gòu)。C/S結(jié)構(gòu),即Client/Server(客戶機/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設(shè)計標(biāo)準(zhǔn)。 B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn) ,但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn)。從以上兩種模式的不同點,我們可以看出,對于賬戶加密模塊的
18、設(shè)計我們可以比較有針對性一些。如果在開發(fā)成本上考慮,我們的C/S架構(gòu)的登錄模式加密模塊可以做簡單一些,可以采用經(jīng)典的DES,RSA加密均可。而B/S模式就不是可以想當(dāng)然的做一個模塊了,B/S模式登錄時是向服務(wù)器端發(fā)送請求,再由服務(wù)器端傳回頁面,這樣,如果用DES(對稱加密)加密技術(shù)就行不通了,因為在傳送的過程中,數(shù)據(jù)就有可能被第三方獲取,這樣就輕易拿到我們的加密密鑰,這樣要考慮安全就復(fù)雜了許多。在考慮現(xiàn)發(fā)展趨勢以及賬戶登錄過程中容易受到攻擊等,本文就選擇B/S模式進(jìn)行研究設(shè)計,首先對B/S復(fù)雜環(huán)境分析,然后對賬戶密碼模塊進(jìn)行一個加強設(shè)計。2.2網(wǎng)絡(luò)安全我們對賬戶所面臨的威脅做簡要分析。2.2.
19、1賬戶登錄頁面的安全分析在網(wǎng)頁用戶登錄模塊中,受到的威脅主要是環(huán)境的安全性,在登陸的pc端,我們的動作是否被人監(jiān)聽,我們的環(huán)境是否自身就很安全,包括我們訪問的網(wǎng)站是否安全等。在賬戶登錄頁面牽系到的病毒主要有木馬病毒和釣魚網(wǎng)站。木馬病毒又叫特洛伊木馬,特洛伊木馬是一個程序,它駐留在目標(biāo)計算機中,在目標(biāo)計算機啟動時,或啟動后的某一時間出發(fā)時,木馬程序會自啟動,然后執(zhí)行一些特定的動作,比如,監(jiān)聽端口,如果受到數(shù)據(jù),則對數(shù)據(jù)進(jìn)行識別。或直接監(jiān)聽你的鍵盤屏幕,然后通過網(wǎng)絡(luò)傳輸?shù)椒?wù)器端,這里的服務(wù)器端就是控制木馬程序的中樞。釣魚網(wǎng)站是是一些誘導(dǎo)網(wǎng)站,它是一些經(jīng)過偽裝的網(wǎng)站,但它本身就是一個網(wǎng)站,但這里的
20、偽裝是他特別像知名網(wǎng)站或熟悉的網(wǎng)站模樣那樣,有相同的界面,不同點就是你訪問網(wǎng)站后,不再是訪問原來的網(wǎng)站,他會接收你訪問提交的有用信息,得到有用信息后,你的隱私或財產(chǎn)會遭到不同程度的損失。對于釣魚網(wǎng)站我們只要不連接不明網(wǎng)絡(luò),請求某一網(wǎng)站時要確認(rèn)網(wǎng)絡(luò)地址,就可以基本上不會出現(xiàn)問題。對于木馬病毒,由于查殺病毒時,木馬病毒主要靠的是病毒庫查殺。對于我們的賬戶登錄模塊,那顯然是遠(yuǎn)水解不了近渴,我們?yōu)榱颂岣邤?shù)據(jù)安全,可以對賬戶進(jìn)行加密后再傳送。2.2.2數(shù)據(jù)網(wǎng)絡(luò)端傳輸安全分析數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時,網(wǎng)絡(luò)是一個龐大而雜亂的系統(tǒng),誰能確定我們傳輸信息的過程中,我們的信息沒有被監(jiān)聽,劫取。誰又能確定我們傳輸?shù)男畔]
21、有被劫取后又被串改。網(wǎng)絡(luò)中已經(jīng)有了許多的通信協(xié)議,但要防止監(jiān)聽這類物理方面的威脅,也會是防不勝防。所以對于賬戶信息的重要性,對于它的安全性,我們是有必要對賬戶信息進(jìn)行加密再傳送的,這樣及是我們的信息受到攻擊劫取,也是有安全保障的。2.2.3數(shù)據(jù)服務(wù)器端安全分析21世紀(jì)是信息爆炸的時代,作為信息系統(tǒng)的核心和基礎(chǔ),數(shù)據(jù)庫技術(shù)己經(jīng)成為計算機、網(wǎng)絡(luò)領(lǐng)域中最重要的技術(shù)之一。隨著網(wǎng)絡(luò)的快速發(fā)展,各大企業(yè)事業(yè)單位也逐漸開始利用網(wǎng)絡(luò)來進(jìn)行信息交換,將有價值的數(shù)據(jù)存儲在數(shù)據(jù)庫中,當(dāng)然我們訪問網(wǎng)站時用戶先訪問數(shù)據(jù)庫里面的賬戶信息,驗證成功后再進(jìn)行別的數(shù)據(jù)訪問。因此,獲得數(shù)據(jù)庫里面賬戶信息也成為了黑客攻擊的主要目標(biāo)
22、。目前,大多數(shù)企業(yè)所釆用的一些傳統(tǒng)的防護(hù)措施如防火墻技術(shù)、訪問控制、入侵檢測等并不能很好的解決數(shù)據(jù)庫安全問題,尤其對于一些重要部門如政府、金融、銀行等。一旦這些數(shù)據(jù)庫遭到黑客入侵,使數(shù)據(jù)竊取,將對個人榮辱、企業(yè)興衰及國家安危造成不可估量的損害。所以,保護(hù)數(shù)據(jù)庫的安全已成為一個迫切需要解決的問題。數(shù)據(jù)庫自身存在的一些漏洞如:默認(rèn)的用戶名和口令、未打補丁、注入、竊取未加密的備份磁帶等。這些都是數(shù)據(jù)庫系統(tǒng)本身的缺點,也是目前黑客攻擊數(shù)據(jù)庫的主要目標(biāo)。去年,一些主流網(wǎng)站的數(shù)據(jù)庫泄露事件,給廣大用戶帶來了眾多的不便,引起了很大反響。因此,數(shù)據(jù)庫系統(tǒng)的安全問題將不只是企事業(yè)單位所關(guān)注的問題,也引起了廣大民
23、眾的關(guān)注。因此,即使在已有防護(hù)措施的基礎(chǔ)上,要保證數(shù)據(jù)庫中數(shù)據(jù)的安全性,也必要對數(shù)據(jù)庫中的敏感數(shù)據(jù)進(jìn)行加密處理來加強其安全。數(shù)據(jù)加密包括兩層含義,一是數(shù)據(jù)傳輸中的加密,二是數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)存儲的加密。加密就是利用一些規(guī)則使得數(shù)據(jù)庫中的數(shù)據(jù)以一些亂碼或者不被外人所知道的的形式存儲在數(shù)據(jù)庫中。這樣,即使數(shù)據(jù)庫中的數(shù)據(jù)遭遇黑客攻擊,在沒有解密的情況下,黑客也沒辦法。這在很大程度上提高了數(shù)據(jù)庫的安全性。2.3密碼技術(shù)2.3.1密碼學(xué)的發(fā)展密碼學(xué)的起源可以追溯到公園前405年,在雅典與斯巴達(dá)的伯羅奔尼撒戰(zhàn)爭中,就出現(xiàn)了用腰帶呈螺旋狀纏繞在劍扁上,寫上信息,這樣只拿腰帶傳送信息的故事。用腰帶來傳送加密信息
24、,可以把劍扁看著是加密密鑰,而纏繞寫上的信息就是明文,至于腰帶就是傳輸媒介,密文的載體。這就是典型的密碼算法,這種加密就是古代手工機密,是密碼學(xué)發(fā)展的第一個階段。古典密碼的加密方法一般是文字置換,通過手工或機械交換方式實現(xiàn)。公園前1世紀(jì),著名的凱撒(Caesar)密碼被用于高盧戰(zhàn)爭中,這是一種簡單易行的單字母代換密碼。從公元前1世紀(jì)到二戰(zhàn)結(jié)束,所用的都是古典密碼加密方法及密碼學(xué)發(fā)展的第二個階段。盡管這些密碼比較簡單,但它在今天也有一定的參考價值。1949年香農(nóng)在貝爾系統(tǒng)技術(shù)雜志上發(fā)表了一篇論文“保密系統(tǒng)的通信理論”,該文首先將信息論引入了密碼,從而把已有數(shù)千年歷史的密碼學(xué)推向了科學(xué)的軌道,奠定
25、了密碼學(xué)的基礎(chǔ),從而密碼成為一門科學(xué)促進(jìn)了現(xiàn)代密碼學(xué)的發(fā)展。2.3.2 DES對稱加密技術(shù)對稱加密(也叫私鑰加密)指加密和解密使用相同密鑰的加密算法。有時又叫傳統(tǒng)密碼算法,就是加密密鑰和解密密鑰是同一密鑰,如圖2-1所示。圖2-1在大多數(shù)的對稱算法中,加密密鑰和解密密鑰是相同的,它要求發(fā)送方和接收方在安全通信之前,商定一個密鑰。對稱算法的安全性依賴于密鑰的安全性,泄漏密鑰就意味著任何人都可以對他們發(fā)送或接收的消息解密,所以密鑰的保密性對通信的安全性至關(guān)重要。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保障。此外,每對用戶每次使
26、用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發(fā)收信雙方所擁有的鑰匙數(shù)量呈幾何級數(shù)增長,密鑰管理成為用戶的負(fù)擔(dān)。對稱加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難,主要是因為密鑰管理困難,使用成本較高。而與公開密鑰加密算法比起來,對稱加密算法能夠提供加密和認(rèn)證卻缺乏了簽名功能,使得使用范圍有所縮小。2.3.4RSA非對稱加密技術(shù)非對稱加密算法有兩個密鑰:公開密鑰和私有密鑰。這兩個密鑰是一對,通常用公開密鑰對數(shù)據(jù)進(jìn)行加密,再用對應(yīng)的私有密鑰才能解密;所以這種算法叫作非對稱加密算法,如圖2-2所示。圖2-2非對稱密碼體制的特點:算法強度復(fù)雜、安全性依賴于算法與私鑰安全,但是由于其算法復(fù)雜,而
27、使得加密解密速度沒有對稱加密解密的速度快。1公鑰的生成算法RSA的生成公鑰,密鑰算法十分簡單,可以分為一下四步走: (1)先選擇任意兩個素數(shù)x,y; (2)令n=x×y和m=(x-1)×(y-1); (3)任意選擇一個與m互質(zhì)的數(shù)z; (4)推出一個e,使得e×z mod m =1。我們就可以得到公開密鑰是(e,n),保密密鑰是(z,n)。2加密算法過程加密操作如下: (1)得到對方的公
28、鑰(e,n); (2)明文經(jīng)過亂碼處理為C,方便運算; (3)經(jīng)過A=Cemod n算法,得到密文A (4)將密文A發(fā)送給對方。3解密算法過程 接收到密文A,使用自己的私鑰(z,n)計算出明文C=Aemod n。 在本論文中為了演示方便,我們選擇兩個小素數(shù)p=3, q=11來進(jìn)行非對稱密鑰加密。又由于本文是設(shè)計賬戶密碼模塊,考慮到密碼的復(fù)雜性,我們先把密碼進(jìn)行ascll碼轉(zhuǎn)化,同時考慮到算法會溢出,我們把得到相應(yīng)的ascll按單位數(shù)來進(jìn)行加密解
29、密實現(xiàn)。這樣由上面的推理我們可以得到n=33,z=(p-1)×(q-1)=2×10=20。由于7和20互質(zhì),故設(shè)d=7。對于所選的d=7,解方程7e=1(mod 20),可以得到e=3,這樣我們的公鑰是(3,33),私鑰是(7,33)。比如我們選擇12ABab進(jìn)行加密,加密過程如表2-1。表2-1把明文12ABaw進(jìn)行加密運算加密明文得到相應(yīng)ascll分解得到三位數(shù)的ascll值進(jìn)行加密C=me (mod n)得到密文149000409003103003103250000500002600002600A65000605001826001826B660006060018180
30、01818a97000907000313000313w119010109010103010103進(jìn)行解密運算得到密文進(jìn)行分解進(jìn)行運算C=me (mod n)得到相應(yīng)ascll對照ascll得00310300310300040949100260000260000050050200182600182600060565A00181800181800060666B00031300031300090797a010103010103010109119w從表2-1可以看出,對這樣的加密是很容易破解的,對于這樣的問題,上面已經(jīng)說過了,在本文是為了方便演示,不過多的去考慮算法溢出問題等。當(dāng)我們選擇了兩個大素數(shù),
31、在用這種算法,同時保證加密過程不發(fā)生算法溢出,這樣的加密技術(shù)就強幾百倍甚至更對。2.4公開密鑰與對稱密鑰的優(yōu)劣公開密鑰算法與對稱密鑰算法比較起來,公開密鑰算法的運算速度遠(yuǎn)遠(yuǎn)快與公開密鑰算法,在安全上公開密鑰要比對稱密鑰安全強度要大得多(密鑰長度合理和目前計算機CPU處理的情況下),所以在網(wǎng)絡(luò)上方便傳輸,我們都使用公開密鑰算法來進(jìn)行機密數(shù)據(jù)傳輸。在數(shù)據(jù)加密送如數(shù)據(jù)庫保存的過程中使用對稱密鑰算法,是比較簡單可靠且長時的加密算法。公開密鑰算法和對稱密鉅算法的區(qū)別如表2-2所示:表2-2對稱密鑰算法公開密鑰算法密明個數(shù)1個2個算法速度較快較慢算法對稱性加密密鑰與解密密鑰是同一個加密密鑰與解密密鑰不一樣
32、,但配對使用一般要求收發(fā)雙方必須共享密鑰公鑰可以隨便公開,而私鑰則需保護(hù)好安全性安全強度受網(wǎng)絡(luò)環(huán)境影響安全強度相對較高第三章 賬戶密碼模塊總體設(shè)計3.1加密模塊的分析3.1.1用戶登錄過程我們已經(jīng)知道用戶登錄是用戶從客服端輸入用戶帳戶和口令,然后發(fā)送至服務(wù)器端,再由服務(wù)器端對賬戶及密碼進(jìn)行數(shù)據(jù)庫驗證(也有數(shù)據(jù)庫放在遠(yuǎn)程供服務(wù)器端訪問而單獨存在),如圖3-1所示。圖3-1圖3-2從圖3-2我們可以看出,我們提交數(shù)據(jù)時,就是經(jīng)過這樣的傳輸?shù)?。你可以發(fā)現(xiàn),這樣是違背常理的,我們的用戶密碼一般是要保密的,如果在傳輸過程中密碼被劫取,那就等于沒有保密,就等于沒有帳戶驗證。這樣的請求就是最原始的請求,特別
33、容易受到各方面的攻擊,在第二章我們已經(jīng)分析了,用戶在瀏覽器端登錄網(wǎng)站易受到瀏覽木馬攻擊,操作系統(tǒng)木馬攻擊;賬戶信息在傳輸過程中易受到網(wǎng)絡(luò)監(jiān)聽,數(shù)據(jù)流量分析,半路攔截攻擊;而在用戶保存到數(shù)據(jù)庫時易受到賬戶口令強力破解,也有可能半路攔截攻擊如圖3-3所示。圖3-3所以,我們得在上面的基礎(chǔ)上作進(jìn)一步的加工。我們的賬戶登錄的過程中會遇到的安全問題就有在客戶端,網(wǎng)絡(luò)傳輸,數(shù)據(jù)庫驗證。在這之間不但要考慮到口令本身的復(fù)雜性,還考慮到發(fā)送請求等諸多問題,為了確保整個過程的安全,我們要對用戶用戶輸入的賬號和口令進(jìn)行初步檢測,再加密傳送,如圖3-4所示。圖3-43.1.2用戶登錄過程中加密選擇在前一章我們已經(jīng)初步
34、對賬戶信息登錄的安全問題作了詳細(xì)的分析,又對兩種經(jīng)典數(shù)據(jù)加密模式DES與RSA進(jìn)行了介紹,這樣我們可以得到初步的判斷,在瀏覽器端,我們首先要保證我們登錄環(huán)境自身的安全性。其次是對我們的賬戶信息進(jìn)行加密傳送。瀏覽器端向服務(wù)器端發(fā)送消息,中間要經(jīng)過復(fù)雜的網(wǎng)絡(luò)環(huán)境,這樣,在表2-2我們可以看出,我們?yōu)榱嗣荑€的管理和密鑰分配方便,在瀏覽器端我們選擇非對稱加密技術(shù)對賬戶信息進(jìn)行初步加密。非對稱的好處是,密鑰是在服務(wù)器端分配,把私鑰留給自己用來解密用,不透露給任何人,同時也不用再網(wǎng)絡(luò)線路上進(jìn)行傳輸,這樣私鑰的安全度就高很多了。公鑰發(fā)給相應(yīng)的瀏覽器端,瀏覽器端進(jìn)行加密后把密文提交給服務(wù)器端,在這期間,外部攻
35、擊者拿到公鑰和密文是破解不了密文的,因為經(jīng)過公鑰加密的密文,要用唯一的私鑰才能解密,如圖2-2所示。圖3-53.1.3數(shù)據(jù)在數(shù)據(jù)庫進(jìn)行保存數(shù)據(jù)庫受到的威脅其實與用戶在web瀏覽器端登陸到服務(wù)器端大體相同,如圖3-5所示。區(qū)別有:服務(wù)器端操作系統(tǒng)環(huán)境要比web瀏覽器端安全得多,少了環(huán)境因素的負(fù)面影響。但服務(wù)器端面臨著成千上萬的請求、訪問,此時我們得優(yōu)先考慮算法問題,從表2-2我們可以看出,此時選擇對稱加密算法是比較合理的。對稱加密算法的加密密鑰和解密密鑰是同一密鑰,在我們對數(shù)據(jù)進(jìn)行加密后送往數(shù)據(jù)庫,我們不再需要對數(shù)據(jù)再作任何處理,當(dāng)要用到某一數(shù)據(jù)時,我們只需將其取出直接用或進(jìn)行解密后再使用,這都
36、是比較方便和解密快速的。圖3-63.2密鑰管理從上文分析可以看出,本文使用加密算法牽系到的模塊大體為兩大模塊,用戶登錄模塊和數(shù)據(jù)庫保存模塊。用戶登錄模塊使用的非對稱加密算法,而數(shù)據(jù)庫保存用的是對稱加密算法。在用戶登錄模塊,我們用的非對稱加密算法,為了讓加密更加保密,我們使用隨機分配密鑰方式(為了演示方便,本文使用固定密鑰加解密),就是在服務(wù)器端隨機生成密鑰,發(fā)送公鑰給客戶器端,返回密碼解密驗證。驗證成功后,則密鑰就會失去他的作用,就相當(dāng)于生成密鑰是一個臨時需要的驗證工具。此算法不用考慮密鑰的管理辦法。而數(shù)據(jù)經(jīng)過加密后送往數(shù)據(jù)庫進(jìn)行加密時,考慮到環(huán)境安全級別要比在瀏覽器端安全多,由加密算法的優(yōu)劣
37、以及數(shù)據(jù)可以批量修改問題,如果這時使用非對稱加密算法,是不合適的,如果使用非對稱加密,一是算法量大,二是不支持批量更改。這時我們選擇對稱加密加密算法比較合理一些,在對稱加密中,對稱加密密鑰使用同一個,密鑰要在其他的數(shù)據(jù)上要共享使用,此時我們得將密鑰較長時保存。當(dāng)我們的密鑰長時保存使用同一加密密鑰時,安全級別就會大大降低,我們解決這個問題的方法可以定時的修改密鑰,把密鑰保存在超級用戶的名下,只有超級用戶登錄時才能修改,我們同時還可以設(shè)置防火墻,只有超級用戶在內(nèi)網(wǎng)條件下才容許登錄被修改。這樣我們再增加一個模塊,超級用戶模塊,超級用戶模塊主要任務(wù)是保護(hù)密鑰的安全,使賬戶模塊安全級別進(jìn)一步增強。3.4
38、整體框架3.4.1賬戶模塊由上文可以清晰的看到,本文把賬戶模塊分有用戶登錄模塊,賬戶注冊模塊,超級用戶登錄及超級用戶修改加解密密鑰模塊共三大模塊,模塊分布如圖3-7所示(在這里對加密不細(xì)說)。圖3-7第四章 賬戶密碼模塊技術(shù)詳細(xì)設(shè)計及案例分析經(jīng)過上面一章的總體設(shè)計,我們已經(jīng)對我們的需求很明確了,下面我們將對相應(yīng)的模塊作詳細(xì)設(shè)計。本文使用java web技術(shù),在tomcat服務(wù)下展示效果。必要的開發(fā)工具有1. 裝有win7系統(tǒng)的pc機一臺自備;所需參考文獻(xiàn)及資料自備。2. 開發(fā)工具Eclipse用來編程,開發(fā)賬戶登錄模塊及后臺3. 使用服務(wù)器apache-tomcat-7.0.63對用戶網(wǎng)頁登陸
39、模塊提供服務(wù)器支柱4. 使用數(shù)據(jù)庫sql server management studio 2008 r2對用戶信息、數(shù)據(jù)進(jìn)行存儲5. 開發(fā)程序用到的語言有java html css javascript jsp語言。使用開發(fā)模型選擇敏捷開發(fā),這樣就少了較多文字描述,注重與精簡開發(fā)和功能的實現(xiàn)。4.1用戶注冊模塊實現(xiàn)注冊頁面是獲取賬戶信息的關(guān)鍵,同時要考慮到用戶信息的安全級別問題,首先就應(yīng)該考慮到用戶注冊時密碼的強度問題,界面考慮到的有:賬戶填寫密碼時用密碼框顯示,同時考慮用戶填寫信息是否完整(必要信息必須填寫)和是否有效,最后得到的密碼必須經(jīng)過加密后再傳輸。如圖4-1所示(為了方便演示,做了
40、用于檢測密碼的顯示密碼提示)。1. 用密碼框顯示是一種表層的保護(hù),防止別人肉眼偷窺。如圖4-2所示。2. 用戶填寫信息是否完整可以考慮到密碼長度,規(guī)格是否符合要求,兩次輸入的密碼是否一致等,如圖4-2所示。3. 加密傳輸是防止數(shù)據(jù)在傳輸過程中受到竊取等攻擊。圖4-1圖4-2這些都可以用腳本語言js完成,大體代碼如下if(str="name") if(x.value="") y.hidden = false; else y.hidden = true; else if(str="age") if(isNaN(x.value) | x.v
41、alue < 17) y.hidden = false; else y.hidden = true; else if(str="password") x = x.value.length; if(x < 8) y.hidden = false; /alert("check!"); else y.hidden = true; else if(str="cpassword") var z = document.getElementById("password").value; x = x.value; if
42、(x != z) y.hidden = false; else y.hidden = true; else if(str="email") x = x.value.indexOf("") if(x = -1) y.hidden = false; else y.hidden = true; return y.hidden;這樣,在這里我們要考慮到賬戶信息在后期過程中的使用,注冊信息應(yīng)該完整,設(shè)計用戶信息表如下。(也可以把普通用戶和超級用戶使用同一張表,判斷用戶權(quán)限高低來進(jìn)行區(qū)分,本文由于數(shù)據(jù)量下,不考慮存儲算法,使用的是兩張表)表4-1UrseLogin
43、表屬性類型主鍵是否可以為空備注Namevarchar(50)是On null姓名AgeIntNull年齡Passwordvarchar(50)On null初始密碼Mailvarchar(30)On null郵件TELIntNull電話QQIntNull騰訊QQ用戶注冊過程流程圖如圖4-3所示。圖4-3在瀏覽器端得到公鑰可以使用用戶請求頁面時,帶回公鑰,再用js進(jìn)行加密后傳輸,關(guān)鍵代碼如下request.setAttribute("publickeye", e);request.setAttribute("publickeyn", n);4.2用戶登錄模
44、塊實現(xiàn)登錄界面考慮到的有:賬戶填寫密碼時用密碼框顯示,同時考慮用戶首次填寫信息是否完整和是否有效。如圖4-4所示(為了代碼的簡潔,本文把普通賬戶登錄與超級用戶登錄頁面寫在同一頁面上,再提交到不同的servlet)圖4-4用戶登錄過程流程大體與用戶注冊流程相同,在這里與用戶注冊頁面不同的是,這里提交的數(shù)據(jù)時是選擇提交到不同的servlet進(jìn)行驗證(普通用戶和超級用戶的servlet),驗證時只需要進(jìn)行解密加密驗證,不需要把解密加密的數(shù)據(jù)存放到數(shù)據(jù)庫。而是要從數(shù)據(jù)庫取出數(shù)據(jù)來進(jìn)行驗證就可以了,如圖4-5所示。圖4-5在用戶登錄頁面關(guān)鍵代碼如下1. jsp的超鏈接<ul><li&g
45、t;<a id="user" onclick="validate()" ><img alt="提交按鈕" src="image/login.png"></a><a id="register" href="register.jsp" ><img alt="注冊鏈接" src="image/register.png"></a><a id="AdimLog
46、in" class="AdimUL" onclick="Manager()"><img alt="超級用戶登錄" src="image/manager.png"></a></li></ul>2. 數(shù)據(jù)庫驗證代碼rt=st.executeQuery("select * from adim2 where Name='"+name+"'");if(rt.next()if(rt.getString(1).
47、equals(pass)temp=true;4.3超級用戶模塊實現(xiàn)4.3.1超級用戶賬戶密碼模塊只考慮到數(shù)據(jù)的正確性檢測,加密保護(hù)是不夠的,就簡單的說前面的加密密鑰保存存在問題,如果密鑰保存在一般用戶名下,那取密鑰更改密鑰就特別的簡單,這樣,我們的加密過程只是一個障眼法,沒有達(dá)到真是的母的,我們的數(shù)據(jù)就相當(dāng)于沒有被加密。這樣以來我們?nèi)谌肓顺売脩簦艽_保密鑰的安全,只有最高權(quán)限,在特定的環(huán)境中才能被訪問,這樣,密鑰保護(hù)的強度就突增了幾十倍,甚至更多。超級用戶登錄驗證過程大體與普通用戶登錄一樣(在這就不再寫超級用戶登錄模塊,直接寫超級用戶的管理模塊),不同之處前文已經(jīng)提到,為了讓超級用戶登錄過
48、程更加安全,應(yīng)該考慮到超級用戶登錄環(huán)境的問題,登錄界面與普通用戶在同一頁面,提交到不同的servlet,這樣,就可以通過配置防火墻來進(jìn)行約束了。超級用戶管理界面如圖4-6所示圖4-6密鑰是保存在數(shù)據(jù)庫的,密鑰的數(shù)據(jù)表如表4-2。表4-2PrivateKye表屬性類型主鍵是否可以為空備注KeyBaty 是On null密鑰datatodatadataOn null 修改日期PeopleVarchar(20)On null修改人在超級用戶管理模塊,我們更新的密鑰是共享密鑰,這樣,當(dāng)我們改變了密鑰后,會對所有的數(shù)據(jù)會產(chǎn)生影響,由圖4-3我們都可以看出,我們都用到公鑰來加密再進(jìn)行數(shù)據(jù)驗證,如果我們的只
49、更新了密鑰而沒有把所用數(shù)據(jù)更新的話,那我們用新密鑰加密后的數(shù)據(jù)就不再是先前放在數(shù)據(jù)庫里面的數(shù)據(jù)了,這樣就會驗證失敗,保存的數(shù)據(jù)就會失效。所以,我們在更新數(shù)據(jù)時,我們的所有數(shù)據(jù)也要跟著更新,這樣,在更新時,防止發(fā)生異常錯誤,我們可以配置防火墻,在此時普通的用戶暫停訪問,就可以解決問題了,這樣,超級用戶更新密鑰流程圖如圖4-7所示。圖4-74.4案例分析在前面我們的分析,為了安全起見,我們將完成賬戶在線注冊,登錄,訪問中的賬戶密碼的加密,加密傳輸,加密保存過程。經(jīng)過前面的案例設(shè)計,我們可以看到,經(jīng)過賬戶密碼模塊的加密技術(shù)我們已經(jīng)完成了基本的模塊,加強了賬戶信息保護(hù)。實現(xiàn)原理是:先請求頁面,返回請求相應(yīng)頁面(包括加密密鑰),我們在瀏覽器端先對注冊的的賬戶,登錄填寫的賬戶信息進(jìn)行粗略的檢測
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人與醫(yī)院合同范本
- 我國體育非遺保護(hù)與傳承的有效路徑
- 辦公樓員工合同范本
- 前期土地出租合同范本
- 2025年江蘇省建筑安全員-A證考試題庫及答案
- 勞動技術(shù)合同范例
- 產(chǎn)業(yè)園管護(hù)合同范本
- 個人銷售紅酒合同范本
- 個人造價合同范本
- 占用土地承包合同范例
- 2025年行業(yè)協(xié)會年度工作計劃
- DB3502T 160-2024 工業(yè)產(chǎn)品質(zhì)量技術(shù)幫扶和質(zhì)量安全監(jiān)管聯(lián)動工作規(guī)范
- 2025年學(xué)校教師政治理論學(xué)習(xí)計劃
- 集團(tuán)專利管理制度內(nèi)容
- 燃?xì)廪r(nóng)村協(xié)管員培訓(xùn)
- 春節(jié)后復(fù)工安全教育培訓(xùn)
- 提高發(fā)票額度的合同6篇
- 小散工程施工安全培訓(xùn)
- 車站信號自動控制(第二版) 課件 -3-6502部分
- TPO防水卷材在商業(yè)建筑屋面施工方案
- 商會2025年工作計劃
評論
0/150
提交評論