畢業(yè)設(shè)計(jì)(論文)-IP網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性分析與實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)-IP網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性分析與實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)-IP網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性分析與實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)-IP網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性分析與實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)-IP網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性分析與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

IP網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩苑治雠c實(shí)現(xiàn)53-IP網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性分析與實(shí)現(xiàn)摘要在電子商務(wù)和網(wǎng)絡(luò)技術(shù)蓬勃發(fā)展的今天,網(wǎng)絡(luò)安全也越來越受到技術(shù)人員的關(guān)注。本畢業(yè)設(shè)計(jì)中的目的就是在網(wǎng)絡(luò)上建立一個(gè)安全的應(yīng)用維護(hù)系統(tǒng),在這個(gè)系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)上的安全傳輸。加密和解密技術(shù)是這個(gè)系統(tǒng)的核心,在本系統(tǒng)中無處不在。本畢業(yè)設(shè)計(jì)中首先介紹了對稱和非對稱密鑰密碼機(jī)制,并分析了他們的優(yōu)缺點(diǎn),然后結(jié)合他們的優(yōu)勢,實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)上的快速、安全和秘密的傳輸,為進(jìn)一步增加系統(tǒng)的抵抗攻擊的能力,把敏感數(shù)據(jù)加密存儲到數(shù)據(jù)庫中。接下來講密鑰管理技術(shù),沒有安全的密鑰管理,則對數(shù)據(jù)的一切加密操作都變得毫無意義。相應(yīng)的密鑰管理技術(shù)在數(shù)據(jù)加密存儲和SSL中都得到了應(yīng)用和實(shí)現(xiàn)。緊接著簡單介紹了SSL技術(shù),它市數(shù)據(jù)在網(wǎng)絡(luò)中安全傳輸?shù)年P(guān)鍵技術(shù)。然后重點(diǎn)介紹了TCP/IP各層的安全策略。最后,綜合前面的各項(xiàng)技術(shù)組建了一個(gè)安全的應(yīng)用系統(tǒng),滿足了IP網(wǎng)絡(luò)數(shù)據(jù)的安全傳輸。關(guān)鍵詞:加密、DES、RSA、密鑰管理、SSL、網(wǎng)絡(luò)安全TheanalysisandactualizeofIPdatatransmissionsecurityABSTRACTWiththefastdevelopmentofnetwork’stechnology,moreandmorepeoplefocusonthesecurityofnetwork.Thisarticlewillguideustoestabilishasecuritysystem.Thesystemaccomplishthatthedatacanbesafetransmittedthroughthenetwork.Encryptionanddecryptionarecoretechnologyinoutsystem.Firstly,ashortinteoductionofencryptionanddecryption’salgorithmisgiven.Onthisbasis,thenIshowmyanalysis.AndthesealgorithmsareappliedtotheencryptionofdatabaseandSSLtechnology.Secondly,Ihaveintroducedsecret-key’stheory.Agoodsecuritysystemmusthavearightsystemofsecret-key’smanagement.Therelevantsecret-key’smanagementsystemisappliedtodataencryptionandSSL.WiththefollowingistheintroductionoftheSSLtechnologyindetail.ThenthesecurityanalysisofTCP/IPlayersisgiven.ATlast,Ihavedesignedandestabishedasafesystembyusingthesekeytechnologies.Keywords:Encryptionalgorithm、DES、RSA、Secret-keyManagement、SSL、NetworkSecurity文獻(xiàn)綜述隨著信息技術(shù)的發(fā)展與應(yīng)用,信息安全的內(nèi)涵在不斷的延伸,從最初的信息保密性發(fā)展到信息的完整性、可用性、可控性和不可否認(rèn)性,進(jìn)而又發(fā)展為"攻(攻擊)、防(防范)、測(檢測)、控(控制)、管(管理)、評(評估)"等多方面的基礎(chǔ)理論和實(shí)施技術(shù)。信息安全是一個(gè)綜合、交叉學(xué)科領(lǐng)域,它要綜合利用數(shù)學(xué)、物理、通信和計(jì)算機(jī)諸多學(xué)科的長期知識積累和最新發(fā)展成果,進(jìn)行自主創(chuàng)新研究,加強(qiáng)頂層設(shè)計(jì),提出系統(tǒng)的、完整的,協(xié)同的解決方案。與其他學(xué)科相比,信息安全的研究更強(qiáng)調(diào)自主性和創(chuàng)新性,自主性可以避免陷門",體現(xiàn)國家主權(quán);而創(chuàng)新性可以抵抗各種攻擊,適應(yīng)技術(shù)發(fā)展的需求??偟膩碚f,目前在信息安全領(lǐng)域人們所關(guān)注的焦點(diǎn)主要有以下幾方面:

1)密碼理論與技術(shù);

2)安全協(xié)議理論與技術(shù);

3)安全體系結(jié)構(gòu)理論與技術(shù);

4)信息對抗理論與技術(shù);

5)網(wǎng)絡(luò)安全與安全產(chǎn)品。一個(gè)穩(wěn)定、安全、可靠的存儲基礎(chǔ)架構(gòu)對企業(yè)來說是必不可少的。企業(yè)的信息系統(tǒng)不可避免地受到來自外界的安全危脅,包括自然災(zāi)害、網(wǎng)絡(luò)、硬件、軟件等方面,也包括人員的操作失誤。數(shù)據(jù)存儲的任何失誤都可能給企業(yè)帶來巨大的經(jīng)濟(jì)損失。為了避免或降低不可預(yù)測的災(zāi)難給企業(yè)帶來的損失,建立一套安全存儲策略是當(dāng)務(wù)之急。轉(zhuǎn)變存儲安全觀念目前,很多用戶還沒有形成存儲安全的意識。例如,公司的信息網(wǎng)絡(luò)只由一個(gè)人管理,萬一管理人員有事不在,或者出現(xiàn)誤操作,數(shù)據(jù)就可能面臨無法挽回的損失。隨著人們對數(shù)據(jù)安全性的認(rèn)識不斷提高,存儲安全的理念也逐漸為用戶所接受。存儲安全就像是買保險(xiǎn)。在沒有發(fā)生意外時(shí),人們可能意識不到它的重要性,而一旦遭遇意外,保險(xiǎn)的必要性就可以充分顯現(xiàn)了。面對無孔不入的病毒入侵,以及不可預(yù)測的災(zāi)難、人為操作失誤等,我們在技術(shù)上已經(jīng)完全有能力進(jìn)行相應(yīng)的預(yù)防,現(xiàn)在的關(guān)鍵是觀念的轉(zhuǎn)變。在建設(shè)信息系統(tǒng)的初期,用戶就應(yīng)該考慮到建立相應(yīng)的存儲安全機(jī)制,像金融、電信、電力等行業(yè),數(shù)據(jù)的安全性就更加重要。在進(jìn)行存儲安全投資時(shí),必須要謹(jǐn)慎,最貴最好的產(chǎn)品并不一定能帶來最好的效果,還要考慮到企業(yè)的實(shí)際情況。一個(gè)企業(yè)首先要分析危脅企業(yè)數(shù)據(jù)安全的主要因素有哪些,是機(jī)器故障,還是人為誤操作;然后,確定相應(yīng)的存儲安全策略,比如增添軟件,還是采用容災(zāi)備份等其它措施。用最少的投入最有效地防御最多的安全危脅,是建立存儲安全機(jī)制要把握的基本原則。適宜的存儲安全策略針對數(shù)據(jù)傳輸過程中的數(shù)據(jù)安全問題,HDS公司首席安全官ArthurB.Edmonds給出了五步法。第一步是Authentication(證明),即證明你符合你所聲明的身份,相關(guān)的工具包括DABIOS、LDAP、DH-CHAP、密匙與密碼等。不論何時(shí),當(dāng)你建立了一個(gè)數(shù)據(jù)傳輸通路時(shí),這是必須要做的第一件事。這就好像是一個(gè)護(hù)照,上面記錄你所有的信息。如果從主數(shù)據(jù)中心向次級數(shù)據(jù)中心備份數(shù)據(jù),就需要一個(gè)長時(shí)間的通路連接。此時(shí),次級數(shù)據(jù)中心就需要授權(quán),即表明能做什么?被允許做什么?”這就是第二步,即Authorization(授權(quán))。第三步稱為Audit/Accounting(稽核),即記錄用戶在登錄后執(zhí)行過的操作?;槿罩镜木葮O高,它可以捕捉到每一個(gè)按鍵的操作。因此,你的所有操作步驟都會被記錄在日志中。第四步是Integrity(一致性),即保證對方能夠收到所發(fā)送的信息,且發(fā)送與接收的數(shù)據(jù)保持一致,而這中間也不會被其他人竄改意思。保證一致性,就是要防止黑客或其他人竊取本不該他們看到的數(shù)據(jù)。對于數(shù)據(jù)的安全性來說,這一步驟是非常重要的。第五步是Confidentiality(保密性),即只有擁有相應(yīng)權(quán)限的人才能看到保密信息,這也是通常所說的加密(encryption)。加密有軟件加密和硬件加密。通過上述五步,就可以進(jìn)行安全數(shù)據(jù)傳輸,最后是關(guān)閉對話通路。在此,我們談?wù)摯鎯Π踩?,但不僅限于從存儲設(shè)備出發(fā)。安全應(yīng)該建立在應(yīng)用的基礎(chǔ)上,用戶需要的是一個(gè)完整的端到端的安全解決方案。我們不能只關(guān)心存儲陣列的安全,還必須保證連接的所有設(shè)備都運(yùn)行于安全協(xié)議之上。據(jù)悉,HDS正在努力進(jìn)行相關(guān)的研發(fā)工作。本課題旨在通過對對稱和非對稱密鑰密碼機(jī)制進(jìn)行分析,從各種不同的角度分析探討網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性的實(shí)現(xiàn)技術(shù)與方法。在此基礎(chǔ)上,綜合應(yīng)用各種技術(shù)組建一個(gè)滿足數(shù)據(jù)傳輸安全需求的應(yīng)用系統(tǒng),在這個(gè)系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)上的快速、安全和秘密的傳輸。本課題的關(guān)鍵在于從整體的角度綜合考慮數(shù)據(jù)的安全,即在各層上都要有相應(yīng)的策略保證數(shù)據(jù)的安全傳輸。難點(diǎn)一綜合對稱和非對稱密碼機(jī)制的優(yōu)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的快速、安全和秘密的傳輸,難點(diǎn)二在于從整體上對OSI模型安全的考慮。加密和解密技術(shù)是本課題的核心,首先分析各加密解密算法,然后通過密鑰管理技術(shù)的介紹引出對SSL的分析,最后綜合介紹當(dāng)今流行的OSI模型各層的安全策略。本課題最大的創(chuàng)新之處在于對OSI模型上各層的數(shù)據(jù)安全策略的整體把握,使整個(gè)系統(tǒng)從上到下都有不同的安全措施以保障網(wǎng)絡(luò)數(shù)據(jù)的快速和秘密傳輸。當(dāng)前網(wǎng)絡(luò)安全已成為各界關(guān)注的熱點(diǎn)和討論的焦點(diǎn);對ASP和DES等密碼體制的爭論仍將持續(xù),而對SSL技術(shù)的研究也仍將深入;防火墻技術(shù)等網(wǎng)羅防護(hù)技術(shù)也將成為各計(jì)算機(jī)公司的研發(fā)重點(diǎn),總而言之,網(wǎng)絡(luò)安全是有利于保證國家機(jī)關(guān)、企業(yè)、銀行、軍事機(jī)關(guān)的重要數(shù)據(jù)的安全,能有效打擊和減少網(wǎng)絡(luò)犯罪,對維護(hù)網(wǎng)絡(luò)的穩(wěn)定、節(jié)約網(wǎng)絡(luò)維護(hù)的費(fèi)用也有重要的意義。參考文獻(xiàn)[1].LarryL.Peterson,BruceS.Davie,葉新銘賈波譯,計(jì)算機(jī)網(wǎng)絡(luò)-系統(tǒng)方法(原書第3版),機(jī)械工業(yè)出版社,2005[2].WilliamStallings.密碼編碼學(xué)與網(wǎng)絡(luò)安全.北京:電子工業(yè)出版社.2001[3].郭棟,孫鋒,唐植明.加密與解密實(shí)戰(zhàn)攻略.北京:清華大學(xué)出版社.2003[4].ChristopherM.King,CurtisE.Dalton,T.ErtemOsmanoglu.安全體系結(jié)構(gòu)的設(shè)計(jì)、部署和操作.北京:清華大學(xué)出版社.2003[5].謝希仁.計(jì)算機(jī)網(wǎng)絡(luò).北京:電子工業(yè)出版社.2001[6].馮登國.計(jì)算機(jī)通信網(wǎng)絡(luò)安全.北京:清華大學(xué)出版社.2001[7].李海泉、李健.計(jì)算機(jī)網(wǎng)絡(luò)的安去與加密.計(jì)算機(jī)與通信.2000[8].黃志清.網(wǎng)絡(luò)安全中的數(shù)據(jù)加密技術(shù)研究.2000[9].存儲要考慮數(shù)據(jù)傳輸安全.郭濤.計(jì)算機(jī)學(xué)報(bào).[10].盧鐵城.信息加密技術(shù).成都:四川科學(xué)技術(shù)出版社.1989[11].劉少濤、凌捷,數(shù)據(jù)加密算法與大素?cái)?shù)的生成及運(yùn)算.廣東工業(yè)大學(xué)學(xué)報(bào).2001[12].馮登國中國科學(xué)院軟件所信息安全國家重點(diǎn)實(shí)驗(yàn)室[13].邪惡八進(jìn)制技術(shù)論壇緒論問題概述自IP網(wǎng)絡(luò)誕生以來,網(wǎng)絡(luò)數(shù)據(jù)的安全就是技術(shù)人員和廣大用戶關(guān)注的焦點(diǎn),網(wǎng)絡(luò)已經(jīng)成為新世紀(jì)抵御經(jīng)濟(jì)犯罪的主要戰(zhàn)場。問題的來源隨著網(wǎng)絡(luò)電子商務(wù)和網(wǎng)絡(luò)計(jì)算技術(shù)的發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)傳輸安全性越來越受到技術(shù)人員的關(guān)注。經(jīng)濟(jì)利益的驅(qū)使,使網(wǎng)絡(luò)攻擊者變的無孔不入,這就對網(wǎng)絡(luò)技術(shù)人員提出了更高的要求,促使他們采取更安全的傳輸策略,以保證數(shù)據(jù)的快速有效的傳輸。目的和意義實(shí)現(xiàn)IP網(wǎng)絡(luò)數(shù)據(jù)的安全傳輸,有利于保證國家機(jī)關(guān)、企業(yè)、銀行、軍事機(jī)關(guān)的重要數(shù)據(jù)的安全,能有效打擊和減少網(wǎng)絡(luò)犯罪,對維護(hù)網(wǎng)絡(luò)的穩(wěn)定、節(jié)約網(wǎng)絡(luò)維護(hù)的費(fèi)用也有重要的意義。國內(nèi)外研究現(xiàn)狀隨著信息技術(shù)的發(fā)展與應(yīng)用,信息安全的內(nèi)涵在不斷的延伸,從最初的信息保密性發(fā)展到信息的完整性、可用性、可控性和不可否認(rèn)性,進(jìn)而又發(fā)展為"攻(攻擊)、防(防范)、測(檢測)、控(控制)、管(管理)、評(評估)"等多方面的基礎(chǔ)理論和實(shí)施技術(shù)。信息安全是一個(gè)綜合、交叉學(xué)科領(lǐng)域,它要綜合利用數(shù)學(xué)、物理、通信和計(jì)算機(jī)諸多學(xué)科的長期知識積累和最新發(fā)展成果,進(jìn)行自主創(chuàng)新研究,加強(qiáng)頂層設(shè)計(jì),提出系統(tǒng)的、完整的,協(xié)同的解決方案。與其他學(xué)科相比,信息安全的研究更強(qiáng)調(diào)自主性和創(chuàng)新性,自主性可以避免陷門",體現(xiàn)國家主權(quán);而創(chuàng)新性可以抵抗各種攻擊,適應(yīng)技術(shù)發(fā)展的需求??偟膩碚f,目前在信息安全領(lǐng)域人們所關(guān)注的焦點(diǎn)主要有以下幾方面:

1)密碼理論與技術(shù);

2)安全協(xié)議理論與技術(shù);

3)安全體系結(jié)構(gòu)理論與技術(shù);

4)信息對抗理論與技術(shù);

5)網(wǎng)絡(luò)安全與安全產(chǎn)品。問題剖析本課題的實(shí)質(zhì)就是要在OSI各層采取相應(yīng)的安全策略,用于保證企事業(yè)單位內(nèi)部數(shù)據(jù)的安全。攻擊者不只是在某一特定層展開攻擊,往往他們攻擊的地方就是整個(gè)安全體系中最薄弱、最容易忽視的,所以一定要采取全面的安全策略,對任何有安全隱患的地方都不能放松。主要問題1.分析和研究對稱和非對稱密鑰密碼機(jī)制及其優(yōu)缺點(diǎn)。2.分析和探討密鑰交換的主要實(shí)現(xiàn)技術(shù)及方法。3.組建一個(gè)應(yīng)用系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)上的快速、安全和秘密的傳輸。難點(diǎn)和關(guān)鍵本課題的關(guān)鍵在于從整體的角度綜合考慮數(shù)據(jù)的安全,即在各層上都要有相應(yīng)的策略保證數(shù)據(jù)的安全傳輸。難點(diǎn)一綜合對稱和非對稱密碼機(jī)制的優(yōu)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的快速、安全和秘密的傳輸,難點(diǎn)二在于從整體上對OSI模型安全的考慮。思路和方法加密和解密技術(shù)是本課題的核心,首先分析各加密解密算法,然后通過密鑰管理技術(shù)的介紹引出對SSL的分析,最后綜合介紹當(dāng)今流行的OSI模型各層的安全策略。本畢業(yè)設(shè)計(jì)中的結(jié)構(gòu)第一章:各種經(jīng)典加密解密算法的比較與實(shí)現(xiàn)第二章:密碼長度與密鑰管理第三章:SSL技術(shù)簡介第四章:OSI各層的數(shù)據(jù)安全策略第五章:結(jié)論與存在的問題第一章各種經(jīng)典算法的比較與實(shí)現(xiàn)1.1密碼技術(shù)的發(fā)展概述密碼是一種可防止信息泄露的技術(shù)。就其體制而言,一般分為兩類:秘密密碼體制(又稱對稱密鑰體制)和公鑰密碼體制(又稱非對稱密碼體制、雙鑰密碼體制),對稱密鑰密碼體制是指加/解密雙方采用相同的密鑰,通常用來加密有大量數(shù)據(jù)的報(bào)文和文電通信的信息,因?yàn)檫@兩種通信都可實(shí)現(xiàn)告訴的加密算法。秘密密碼體制的特點(diǎn)是:在秘密密碼體制中發(fā)送者和接收者之間的密鑰必須安全傳送,而雙方用戶通信所用的密鑰必須妥善的保管。秘密密碼體制的經(jīng)典實(shí)例是日本NTT公司的FEAL(快速數(shù)據(jù)加密的標(biāo)準(zhǔn))、瑞士的IDEA(國際數(shù)據(jù)加密算法)和美國的DES(數(shù)據(jù)加密標(biāo)準(zhǔn))。FEAL是一種含有高速加密軟件的秘密密碼體制算法,這種算法具有重復(fù)數(shù)據(jù)置亂的功能。通常FEAL重復(fù)的圈數(shù)用N表示,例如8圈FEAL表示為TEAL-8。IDEA是一種帶有128比特的秘密密碼體制算法,它已用與PGP(prettygoodprivacy)密碼軟件。DES是一種有IBM開發(fā)的并在1977年就已經(jīng)成為美國的秘密密碼體制算法。公鑰密碼體制的概念是在1976年有美國Standford大學(xué)的W.Diffie和N.E.Hellman首次提出的。它的特點(diǎn)是加密和解密使用不同的密鑰,加解密的速度較慢并隨密鑰長度的增長呈指數(shù)下降。這樣加密體制的出現(xiàn)較好的解釋了密鑰的管理難題。公鑰密碼體制的典型代表是1978年由R.Rivest、A.Shamir和L.Adlman三人發(fā)明的RSA和NTT的ESIGN。在實(shí)際保密通信中通常采用混合方案,即在數(shù)據(jù)量大的通信中采用高速的密碼加密體制,而在數(shù)據(jù)量較小的通信中則采用公鑰密碼體制加密。1.2密碼的特性1.2.1可證明的安全性密碼和依靠的密鑰信息交換或信息編碼的運(yùn)用有關(guān)。密碼函數(shù)的運(yùn)用叫做加密,經(jīng)加密后的數(shù)據(jù)叫做密文,但函數(shù)通常并非可逆的。逆變換的運(yùn)用叫做解密。密碼變換具有一下兩個(gè)基本特性:特性一、不知道密鑰就不可能從密文中恢復(fù)出原始信息,通過這樣一種函數(shù)進(jìn)行變換(加密)以提供安全業(yè)務(wù)。特性二、不知道密鑰就不可能從原始信息形成密文,通過這樣一種函數(shù)進(jìn)行的變換以提供鑒別安全業(yè)務(wù)。要完善這些定義,就應(yīng)當(dāng)現(xiàn)解釋一下所謂操作“不可能”含義是什么,事實(shí)上。這在很大程度上取決于所使用的變換的詳情。在有些情況下就意味著沒有足夠的可用于運(yùn)算的信息,以導(dǎo)致不管用什么手段都無法進(jìn)行計(jì)算??v觀整個(gè)密碼的發(fā)展史,自始至終都存在著維護(hù)其通信安全的密碼員同企圖破壞那種安全的密碼體制的密碼分析員之間的明爭暗斗。一般來說只要在密碼分析中投入足夠的資源,就一定能夠破解成功。能否設(shè)計(jì)出“不可破譯”的密碼體制的問題,早在香農(nóng)的信息論模型中就有了明確的答案。它證明了雖然安全保密性是可能的,但在多數(shù)場合下又是不切實(shí)際的。1.2.2對稱算法特性1.2.2.1分組密碼和序列密碼的特性研究密碼算法最方便的區(qū)別就是分組密碼和序列密碼,像平常所做的那樣,若要加密二進(jìn)制數(shù)據(jù)序列,則序列密碼將分別處理每個(gè)比特而分組秒則出來預(yù)定義大小的數(shù)據(jù)分組。但是,這種區(qū)別想到膚淺,因?yàn)閺倪壿嬌峡?,分組密碼的分組長度可以使一個(gè)比特。分組密碼和序列密碼之間正是的區(qū)別是序列密碼使按其在數(shù)據(jù)中的位置加密每個(gè)比特;而分組密碼則同等對待每個(gè)分組,它不考慮之前出現(xiàn)了什么。這種區(qū)別對實(shí)際通信有著重大的影響。如果差錯(cuò)發(fā)生在傳輸期間,則用二進(jìn)制序列密碼加密的數(shù)據(jù)會恰好在傳輸差錯(cuò)的脫密正文出現(xiàn)差錯(cuò)。然而。如果使用分組密碼,則傳輸中的一個(gè)單獨(dú)比特的差錯(cuò)就會釀成完全隨機(jī)的相應(yīng)脫密分組。分組密碼的這種差錯(cuò)擴(kuò)散特性是選擇使用密碼是需要慎重考慮的東西。實(shí)際上,一般并不采用分組密碼連續(xù)加密分離的數(shù)據(jù)分組,現(xiàn)已產(chǎn)生若干不同的操作方式,他們能根據(jù)應(yīng)用場合使用效率、差錯(cuò)擴(kuò)展個(gè)同步之類的特性達(dá)到最佳化。其中有一種模式還允許分組密碼作為序列密碼的二進(jìn)制密鑰序列產(chǎn)生器,這是在實(shí)際應(yīng)用中實(shí)現(xiàn)序列密碼的最常見的方式之一。數(shù)據(jù)加密標(biāo)準(zhǔn)特性毫無疑問,最重要的現(xiàn)代化對稱加密算法是DES所包含的加密算法。算法與標(biāo)準(zhǔn)之間的關(guān)系使標(biāo)準(zhǔn)實(shí)現(xiàn)算法,其中算法使部分標(biāo)準(zhǔn),美國NIST于1977年頒布的DES,以把它作為非秘密數(shù)據(jù)用于加密算法,DES算法已在國際范圍那廣泛使用。最主要的例子就是銀行系統(tǒng)把DES作為當(dāng)家算法用在資金匯兌安全上。最初被批準(zhǔn)使用時(shí)間為5年,但標(biāo)準(zhǔn)經(jīng)受住了時(shí)間的考驗(yàn),接連兩次被批準(zhǔn)使用兩個(gè)5年的時(shí)間,1994年1月第四次被批準(zhǔn)繼續(xù)使用至1998年。在DES公諸于世之初,曾對強(qiáng)度展開了公開的激烈的爭論,已提高過的一個(gè)就是關(guān)于密鑰的長度是否太短;而另一個(gè)問題則是算法的設(shè)計(jì)者是否在算法中加入了用不著知道密鑰就能破譯的“陷門”,雖然這種爭論不會、也永遠(yuǎn)不會又定論,但確實(shí)迄今還沒發(fā)現(xiàn)這種“陷門”。DES已成為受到過公眾嚴(yán)格審查的最富有回彈力的算法之一。最近發(fā)現(xiàn)的一種攻擊分組加密算法的新方法使這種爭論變得更加撲朔迷離。這種新方法叫做差分密碼分析。1990年,兩位密碼學(xué)家EliBiham和AdiShamir首次香公眾推出差分密碼分析的概念,他們利用這個(gè)新方法找到了針對DES的選擇明文攻擊,而且這種攻擊比強(qiáng)力攻擊有效的多。差分密碼分析依據(jù)所產(chǎn)生的密文對的差來檢查明文對的差,并利用這些差來計(jì)算出哪些密鑰比其他密鑰的可能性更大,最后求出正確的密鑰。差分密碼分析很快就被認(rèn)為使非常強(qiáng)的概念,EliBiham和AdiShamir曾用它輕而易舉的就破解了若干特定的分組算法。然而,當(dāng)用到DES上時(shí),情況就不相同了。對少于16輪迭代的縮短性算法,差分密碼分析技術(shù)已經(jīng)小于強(qiáng)力搜索的工作量即可破譯該體制:當(dāng)算法的迭代數(shù)為11輪時(shí),皮衣該體制的工作量就少多了。分析中出現(xiàn)了兩個(gè)值得注意的特征:第一,如果在每一輪迭代中使用的全部密鑰比特都是獨(dú)立的隨機(jī)密鑰,那么就不能提高算法的抗差分密碼的分析強(qiáng)度。第二,DES算法的核心部分S盒似乎已經(jīng)過專門的選擇以擊敗差分密碼分析。因?yàn)殡S機(jī)選擇S盒幾乎可以肯定使算法變得脆弱,后來有一位DES的設(shè)計(jì)者透露的情況證明也是如此。DES的設(shè)計(jì)者早在1974年就已經(jīng)知道差分密碼分析,他們正是按擊敗的方式來設(shè)計(jì)S盒的,而外界的研究人員卻花了差不多20年的時(shí)間才掌握這項(xiàng)技術(shù)。最新的說法使使用差分密碼分析攻擊DES算法比強(qiáng)力密鑰搜索更快,至少在理論上使如此。然而,差分密碼分析也不是非常實(shí)用的,因?yàn)樗枰獋€(gè)選擇明文的密文來進(jìn)行工作,而且還必須在使用基本操作模式條件下對這些密文進(jìn)行計(jì)算,這也并非實(shí)際運(yùn)用中的正常情況。因此,目前比較一致的意見是,除徹底搜索所有密鑰的可能性之外,恰當(dāng)實(shí)現(xiàn)的DES對所有的攻擊都是安全的。1.2.3非對稱算法的特性大多數(shù)非對稱算法都把他們的安全性建立在數(shù)論這一數(shù)學(xué)分支上。他們使用模數(shù)運(yùn)算而不是普通的無界整數(shù)。如加法和乘法這樣的算術(shù)運(yùn)算,在模數(shù)運(yùn)算中的運(yùn)作方式與在普通運(yùn)算中的運(yùn)算方式大體相同。然而結(jié)果表明,有些函數(shù),如取平方根,在普通整數(shù)中是恨平常的事情,但在足夠大例子的模數(shù)運(yùn)算中卻是可行的,這正是模數(shù)運(yùn)算適用于密碼算法的真諦。RSA算法特性如同對稱算法一樣,也有一種無疑為人民廣泛知曉且談?wù)摬恍莸姆菍ΨQ加密算法,就是美國MIT于1978年首次推出的RSA算法,RSA算法是所有公鑰算法中最容易理解和實(shí)現(xiàn)的算法,其全部加密過程可以用一個(gè)簡單的方程式來解釋。要產(chǎn)生一個(gè)公開密鑰,首先要選擇模數(shù)m,它是一個(gè)只有秘密密鑰持有者才知道的兩個(gè)大隨機(jī)素?cái)?shù)p和q的乘積。一旦選定m,則產(chǎn)生整數(shù)e和d使ed=1mod(p-1)(q-1)公開密鑰中包含e和m兩個(gè)數(shù)值,而d卻是保密的。要加密一份報(bào)文,發(fā)方首先用一種眾所周知的方式把它編碼成一個(gè)小于m的正整數(shù)x,然后發(fā)方利用方程計(jì)算出密文c.用基本的數(shù)論就可以證明所以,秘密密鑰持有者就可以把密文恢復(fù)出來。如不知道秘密密鑰d,則人都會束手無策。模數(shù)m一般有幾百個(gè)比特長,隨實(shí)現(xiàn)的不同在256比特到1024比特或者更多之間進(jìn)行改變。RSA經(jīng)受了不少年的廣泛的密碼分析破解,雖然未證明也未推翻RSA的安全性,但卻提出了一個(gè)算法理論基礎(chǔ)方面致信度的問題。RSA算法的安全性來自分解大數(shù)因子的困難性??梢宰C明,知道公開密鑰e,求秘密密鑰d同把模數(shù)m分解為素?cái)?shù)因子p和q一樣困難。既然認(rèn)為對足夠大的數(shù)值進(jìn)行整數(shù)因式分解不可行,那么就有足以說明依據(jù)公開密鑰而秋初秘密密鑰同樣也不可行。當(dāng)然,模數(shù)越大,分解因子就越困難,所以256比特模數(shù)遠(yuǎn)不及1024位比特的安全性搶,而1024比特的模數(shù)組足以實(shí)現(xiàn)長時(shí)間的、能滿足絕大多數(shù)應(yīng)用場所的安全性。RSA提供搞安去擦的障礙就是實(shí)現(xiàn)的復(fù)雜性。盡管基于簡單的運(yùn)算,但涉及數(shù)字的大小卻使RSA加密和解密成為計(jì)算量特大的過程。現(xiàn)已開發(fā)出穴道可以緩解這個(gè)問題的專用芯片,不過即使使用這些芯片也只能達(dá)到每秒數(shù)千比特的典型吞吐量。鑒于這個(gè)限制,一般不推薦使用RSA進(jìn)行整體數(shù)據(jù)的加密,而代之給經(jīng)常在傳輸開始時(shí)使用RSA傳送秘密會話密鑰,然后在DES這樣的對稱算法中使用這個(gè)會話密鑰。這樣,既保持了不學(xué)要初始共享密鑰的長處,又去掉了有限吞吐量的問題。RSA代替算法的特性RSA方案有很多變形,其安全性均依賴于因子分解問題的困難性。在計(jì)算復(fù)雜性理論范疇,存在著許多相信時(shí)不可求解的其他問題。公鑰密碼體制的唯一的重要競爭對手就是用離散對數(shù)(DLP)作為安全基礎(chǔ)的那些體制。DLP時(shí)已經(jīng),求x,其中p時(shí)一個(gè)素?cái)?shù),a是一個(gè)已知值。這看起來似乎與普通的對數(shù)差不多,但如果是在大整數(shù)范圍內(nèi)進(jìn)行,則它就變成了另一種無法求解的問題。DLP構(gòu)成了Diffe和Hellman首次描述公鑰密碼概念本畢業(yè)設(shè)計(jì)中所提出的公鑰交換機(jī)制的基礎(chǔ)。1985年EL.Gamal提出拉基于DLP的安全公開密鑰體制。Gamal方案的安全性來自計(jì)算離散對數(shù)的困難性。其算法可以用于加密和數(shù)字簽名。零知識識別協(xié)議零知識識別協(xié)議令不少人著迷,在很多情況下,我們并不需要鑒別特定的報(bào)文而是需要鑒別但是在物理上的存在的用戶的身份,人民所熟悉的例子有多用戶在計(jì)算機(jī)上的注冊時(shí)間等。比較有意思的情況包裹消費(fèi)電子資金會對期間使用電子護(hù)照和用戶驗(yàn)證的問題。在類似的情況下。用戶并沒有可用的強(qiáng)大的計(jì)算機(jī)而只是利用微型芯片或者智能卡。由于計(jì)算能力有限,所以是RSA算法的使用就成立問題。而零知識協(xié)議的計(jì)算量比完全公開密鑰體制小得多,所以對智能卡得使用就特別理想。而它們得局限性在于他們不能提供秘密性或基本形式得報(bào)文鑒別,而且由于互相作用的性質(zhì),其網(wǎng)絡(luò)痛惜的可用性還很有限。1.3數(shù)據(jù)加密標(biāo)準(zhǔn)算法DES1.3.1算法描述DES是一種分組密碼,每次加密64位數(shù)據(jù)。64位的明文從算法的一端輸入,從另一端輸出64位密文。密鑰的長度位56位(密鑰通常位64位的二進(jìn)制數(shù),但每個(gè)8的倍數(shù)位用于奇偶校驗(yàn),不算在密鑰長多之那)。密鑰可以使任意56位的數(shù),且隨時(shí)可更換。有一些密鑰使弱密鑰,但可以很容易的避免。所有的安全都依賴于密鑰。算法使用了兩種基本的機(jī)密技術(shù):混亂和擴(kuò)散。DES的最基本部分在密鑰的基礎(chǔ)上對文本聯(lián)合使用這些技術(shù),這稱為一圈。DES共有16圈,對明文族使用了16次相同的技術(shù)(如圖1.1)算法對最多64位的數(shù)只使用標(biāo)準(zhǔn)的算術(shù)和邏輯操作,所以在20世紀(jì)70年代末就可以很容體的用硬件技術(shù)實(shí)現(xiàn)。圖1.1DES算法框圖算法概述DES算法處理64位的明文組:在一個(gè)初始變換后,明文組被分成左右兩部分,每部分32位;然后使16圈的安全操作,稱為函數(shù)f,將數(shù)據(jù)與密鑰結(jié)合起來。第16圈以后,右半部分和左半部分再連接起來,經(jīng)過一個(gè)最后變化(初始變換的逆變換)得到密文,算法結(jié)束。在每一圈中,對密鑰進(jìn)行右移位,然后從密鑰的56位中選取48位,將數(shù)據(jù)的右半部分?jǐn)U到48位,與48位密鑰異或(XOR),再送入8個(gè)S盒中,產(chǎn)生32位,再進(jìn)行一位。這四個(gè)操作構(gòu)成函數(shù)f。F的數(shù)再與左邊部分異或,其結(jié)果成為新的右半部分,而原來右半部分作為新的左半部分。這些操作重復(fù)16次,構(gòu)成DES的16圈。圖1.2DES的一圈如果Bi位第i圈的結(jié)果,Li和Ri為Bi的左半部分和右半部分,Ki為48位的第i圈密鑰,f位進(jìn)行代替、移位和與密鑰做異或的函數(shù)。則一圈為初始變換初始變換在第一圈之前做。它對輸入的明文進(jìn)行移位(見表2.1)。本畢業(yè)設(shè)計(jì)中所有表都應(yīng)該從左到右,從上到下。表1.1初始變換初始變換和對應(yīng)的最后變換并不影響DES的安全性。由于這種按位操作用軟件實(shí)現(xiàn)較困難,所以DES的許多軟件都舍棄了初始變換和逆初始變換。這個(gè)新算法雖然安全性不比DES,但它不遵循DES的標(biāo)準(zhǔn),所以不應(yīng)該稱為DES。密鑰交換開始時(shí),將64位的密鑰去掉第8的倍數(shù)位,縮減到56位(見表1.2)。去掉的這些位可以作為奇偶校驗(yàn)位來確保密鑰的正確。取出56位后,還要為DES的16圈變換產(chǎn)生不同的48為子密鑰。表1.2密鑰交換這些子密鑰Ki由下面的過程來產(chǎn)生。首先,56位密鑰分成28位的兩部分。然后這兩部分分別循環(huán)左移一位或者兩位,由圈數(shù)決定。而循環(huán)的位數(shù)見表1.3。移位后再從56位中選出48位。由于這種變換既做移位,又從中選出位串的一個(gè)子集,因此叫壓縮變換(PC-2)。由于每次都移位,所以每次產(chǎn)生的密鑰都不同。表1.3每圈移位次數(shù)擴(kuò)展變換E該操作將數(shù)據(jù)的右半部分Ri從32位擴(kuò)展到48位。因?yàn)樵摬僮骷锤淖兏魑坏捻樞?,又重?fù)了某些位,因此稱為擴(kuò)展變換。這一步將右半部分變成要進(jìn)行異或的子密鑰相同大小,可以得到一個(gè)較長的位串;該位串可以再代替操作中被壓縮。然而,主要的保密目的是通過使一位影響兩次代替,使輸出位對輸入位的依賴性更強(qiáng)。DES被設(shè)計(jì)成能盡快的使密文的每一位都依賴于明文和密鑰的每一位。下表給出了輸出位置和輸入位置的對應(yīng)關(guān)系。輸入的第3位移到輸出的第四位,而輸入的第21位移到輸出的第30位和32位。盡管輸出比輸入塊大,但一個(gè)輸入塊只產(chǎn)生唯一的輸出塊。表1.4擴(kuò)展變化ES盒代替壓縮的子密鑰與擴(kuò)展后的數(shù)據(jù)塊異或后,要對得到的48位結(jié)果再做一次代替操作。代替由8個(gè)代替盒(S盒)來完成。每個(gè)S盒由6位輸入和4位輸出,一共有8個(gè)不同的S盒。48位輸入被分成8個(gè)6位,每6位輸入一個(gè)單獨(dú)的S盒。如圖2.3:圖1.3S盒替代每個(gè)S盒為一個(gè)4行16列的表,盒中的每個(gè)元素為4為的數(shù)字。有6位輸入來決定將盒的哪一行哪一列的元素作為輸出。將輸入的6位分別記為b1、b2、b3、b4、b5、b6,則b1和b6連接起來構(gòu)成一個(gè)2位的二進(jìn)制數(shù),為0到3,對應(yīng)于表中的行號。而中間的4位數(shù)連接起來構(gòu)成一個(gè)4位的二進(jìn)制數(shù),為0到15,對應(yīng)于表中的列號。舉例如下:設(shè)S盒的6位輸入位110011,第1位和最后1位為11,對應(yīng)于S盒中的第三行,中間4位為1001,對應(yīng)于同一S盒6的第三行第九列為14,則若為S6的輸入,則輸出為1110。S盒代替使DES中的關(guān)鍵一步。算法中的其他操作都使線性的,容易分析,而S盒是非線性的決定了DES的安全性。P變換S盒的32位輸出在經(jīng)過P變幻,將這32位做一次移位操作。然后,P變換的結(jié)果與上一圈的左半部分異或成為新的右半部分,開始下一圈。逆初始變換逆初始變換使初始變換IP的逆變換,在最后一圈后,左右兩部分沒有變換為止,因此逆初始變換的輸入為R16L16。因而算法既可以用于加密又可以用于解密。DES解密DES的加密過程可以描述為:由此可得解密的過程為:因此,DES算法的解密過程實(shí)際上就是加密的逆過程,而且算法與加密過程的算法也完全相同,只是子鑰的使用順序相反,即為1.3.2DES的安全性很長時(shí)間以來,人們都對DES的安全性有疑問,對于密鑰長度、循環(huán)次數(shù)和S盒,尤其使S盒,其中所有常數(shù)的選取沒有明顯理由。盡管IBM宣稱DES過程使有密碼編碼員經(jīng)過17年的工作完成的,有人還是擔(dān)心會有人在算法中嵌入了一個(gè)陷門,因而他們可以簡單的解密信息。弱密鑰初始密鑰被分為兩部分,每部分單獨(dú)作移位。如果每一部分的每一位都是0或者都是1,則每一圈的子鑰都相同,這樣的密鑰就是弱密鑰。弱密鑰總共有4個(gè)。此外,有些成對的密鑰會將明文加密成相同的密文,即一對密鑰中的一個(gè)能用來解密有另一個(gè)密鑰加密的消息。這是右DES產(chǎn)生子鑰的方式?jīng)Q定的。這些密鑰不是產(chǎn)生16個(gè)不同的子鑰,而是產(chǎn)生兩個(gè)不同的子鑰,每一種出現(xiàn)8次,這些密鑰稱為半弱密鑰。還有些密鑰只產(chǎn)生4種子密鑰,每種出現(xiàn)4次,這種密鑰稱為半半弱密鑰。弱密鑰、半弱密鑰、半半弱密鑰總共有4+12+48=64個(gè),而可能的密鑰總數(shù)為隨機(jī)選擇一個(gè)密鑰,落在這64個(gè)密鑰種的幾率非常小。因此,弱密鑰對DES算法的安全性沒有影響?;パa(bǔ)密鑰將密鑰的0換成1,1換成0,就得到該密鑰的補(bǔ)密鑰。如果用原密鑰加密一組明文,則用補(bǔ)密鑰可以將明文的補(bǔ)碼加密成密文的補(bǔ)碼。設(shè)X’表示X的補(bǔ)碼,則Ek(M)=CEk’(m’)=C’這表明,對DES的選擇明文的攻擊只需測試一半的可用密鑰:而不是個(gè)。密鑰長度IBM最初交給NBS的算法有112位密鑰。到DES成為一個(gè)標(biāo)準(zhǔn)時(shí),縮短為56位密鑰。許多密鑰學(xué)專家建議使用更長的密鑰,他們的討論集中在窮舉攻擊上。在1976年和1977年,Diffie和Hellman指出了一個(gè)專用的破譯DES的并行處理機(jī),可以在一星期之內(nèi)恢復(fù)密鑰,該機(jī)器的造價(jià)為2000萬美元。在1981年,Diffie將其提高到兩天。價(jià)值5000萬美元。然而,隨著硬件技術(shù)的發(fā)展,破譯DES的專用機(jī)器的成本會不斷下降,到1993年,MichaelWiener設(shè)計(jì)了一臺100萬美元的專用機(jī)器,用窮舉法破譯DES的平均時(shí)間為3.5小時(shí)。圈數(shù)為什么DES是16圈而不是32圈?在第5圈后,密文的每一位都已經(jīng)是明文和密鑰的每一位的函數(shù)了,而第8圈后密文基本上已經(jīng)是密文和密鑰的每一位的一個(gè)隨機(jī)數(shù),為什么不在第8圈以后就停止呢?在過去的幾十年中,減少圈數(shù)的DES的變體都被成功的破譯了。1982年很容易的破解了有3圈和4圈的DES,6圈的DES在幾年后被破譯。Biham和Shamir的差分分析法說明:任何少于16圈的DES都可以用已知明文的攻擊比窮舉法更有效的破譯。盒的設(shè)計(jì)除了密鑰長度外,NSA還被指責(zé)修改了S盒的內(nèi)容。NSA宣布算法設(shè)計(jì)的理由是敏感的,不能公開。許多密碼學(xué)家還是擔(dān)心NSA設(shè)計(jì)的S盒中隱藏著陷門。1.4公開密鑰算法——RSA算法1.4.1RSA算法的描述RSA的安全性是基于大整數(shù)的因數(shù)分解的困難性。公開密鑰和秘密密鑰是一對大素?cái)?shù)(100到200位十進(jìn)制,甚至更大)的函數(shù),人們推測從公開密鑰和密文恢復(fù)明文等價(jià)于對兩個(gè)大素?cái)?shù)的乘積進(jìn)行因式分解。產(chǎn)生兩個(gè)密鑰時(shí),先選擇兩個(gè)隨機(jī)的大素?cái)?shù)p和q,為了得到最大的安全性,應(yīng)選擇p和q是等長的。計(jì)算乘積n=pq,然后隨機(jī)選擇加密密鑰e,滿足e與(p-1)(q-1)互素,最后,用擴(kuò)展的歐幾里德算法計(jì)算解密密鑰d,使得ed=1(mod(p-1)(q-1))注意到d與(p-1)(q-1)是互素的。整數(shù)e和n位公開密鑰,d為秘密密鑰,兩個(gè)素?cái)?shù)p和q就不再需要了,但是不能暴露。加密一條消息m時(shí),首先將它分成小于n的數(shù)字塊。即如果p和q都是100位的十進(jìn)制素?cái)?shù),則n將少于200位,而每個(gè)消息塊都應(yīng)該小于200位。加密后的密文c是有同樣大小的消息塊Ci組成的。加密公式為解密時(shí),對每個(gè)密文消息Ci計(jì)算由于所以這個(gè)公式恢復(fù)可消息,消息可以用d加密,然后用e解密。1.4.2RSA的安全性RSA的安全性完全依賴于大整數(shù)的因數(shù)分解問題。實(shí)際上,人民推測RSA的安全性依賴于大整數(shù)因數(shù)分解問題,但誰有沒有在數(shù)學(xué)上陣名從c和e計(jì)算m需要對n進(jìn)行因數(shù)分解??梢韵胂罂赡苡型耆煌姆绞饺シ治鯮SA。然而,如果這種方法能讓密碼分析員退到出d,則它可以用作大數(shù)因數(shù)分解的新方法。也可能通過猜測(p-1)(q-1)的值來破譯RSA,但這種攻擊并不比分解n容易,最令人難以質(zhì)疑的是,有些RSA變體已經(jīng)被證明與因數(shù)分解同樣難,甚至從用RSA加密的密文中恢復(fù)特定的某些位也與解密整個(gè)信息同樣困難。分解n是最明顯的攻擊方法。對于擁有公開密鑰e和n,要找出解密密鑰d,只能對n進(jìn)行因數(shù)分解?,F(xiàn)在可以分解129位十進(jìn)制整數(shù),因此n應(yīng)該比129位整數(shù)大。密碼分析員當(dāng)然能測試每個(gè)肯可能的d,直到找到正確的。這種強(qiáng)力攻擊沒有分解n的效率搞。此外,還要記得p和q一定是素?cái)?shù)。1.5密碼算法分析和應(yīng)用1.5.1DES算法和RSA算法的比較一、在加密、解密的處理效率方面,DES算法優(yōu)于RSA算法。因?yàn)镈ES密鑰長度只有56位,可以利用軟件和硬件實(shí)現(xiàn)高速處理:RSA算法需要進(jìn)行諸如1024位整數(shù)的乘冪和求模等多倍字長的出來,速度明顯慢于DES算法。二、在密鑰管理方面,RSA算法比DES算法更加優(yōu)越。因?yàn)镽SA算法可以用公開形式分配加密密鑰,對加密密鑰的更新也很容易,并且對不同的通信對象,只需對自己的解密密鑰保密即可;DES算法要求對密鑰進(jìn)行秘密分配,密鑰的更換苦難,對不同的通信對象,DES需要產(chǎn)生和保管不同的密鑰。三、DES算法和RSA算法安全性都較好,目前還沒有在短時(shí)間那破譯他們的有效方法。四、DES算法從原理上不可能實(shí)現(xiàn)數(shù)字簽名和身份認(rèn)證,但RSA算法則容易進(jìn)行。1.5.2DES和RSA的結(jié)合應(yīng)用基于以上比較結(jié)果,DES和RSA各有長處,在系統(tǒng)中設(shè)計(jì)出一種綜合利用DES和RSA有點(diǎn),同時(shí)有避免了缺點(diǎn)的方案?;驹砭褪牵簲?shù)據(jù)通信之前,用DES方法對用戶信息進(jìn)行加密,同時(shí)用RSA方法對DES密鑰進(jìn)行加密。上述加密方案實(shí)現(xiàn)步驟如下:一、服務(wù)器先生成用于DES加密的密鑰K,為了提高安全性,每個(gè)K只用一次.DES密鑰長度只有56位,因此,處理效率會比較高。二、web服務(wù)器從密鑰服務(wù)器中獲取中間件的RSA公開加密密鑰Keb,并用Keb加密DES的密鑰K,形成密文Ck三、web服務(wù)器用K加密明文,然后連同Ck一起形成密文C發(fā)往中間件。四、中間件接受到C后,先用自己的解密密鑰Kdb解密出C中的DES密鑰K,再利用K解密出明文,并把他們存入到數(shù)據(jù)庫(見圖1.4)圖1.4結(jié)合原理圖對于數(shù)據(jù)庫中的敏感數(shù)據(jù),我們采用相同的原理進(jìn)行存儲。首先由中間件產(chǎn)生一個(gè)DES密鑰,用這個(gè)密鑰加密用戶的敏感數(shù)據(jù),然后使用RSA算法加密這個(gè)DES密鑰,加密的數(shù)據(jù)作為數(shù)據(jù)庫中的一個(gè)記錄,存儲到數(shù)據(jù)庫中。1.5.3結(jié)合后的安全性分析我們這樣操作后,從安全性能上來講就對系統(tǒng)起到了多重保護(hù)。一、如果web服務(wù)器被攻擊,那么攻擊者也無法從web服務(wù)器上獲得解密DES密鑰的秘密密鑰,因?yàn)樗揪蜎]有在web服務(wù)器上存在。二、如果數(shù)據(jù)庫服務(wù)器被攻擊,同樣的道理,攻擊者還是無法獲得他所需要的解密密鑰,同時(shí)數(shù)據(jù)庫存在的都是加密后的數(shù)據(jù),所以對他來講都是無用的數(shù)據(jù)。三、如果中間件服務(wù)器被攻擊,也有相應(yīng)的安全措施,就是使用口令的方式對存儲解密密鑰文件進(jìn)行加密。所以他在沒有口令的同時(shí)也無法獲得解密密鑰。下面我們分析下這個(gè)系統(tǒng)的抗暴力攻擊的能力。雖然用戶信息使用56位的DES加密,但由于用戶信息數(shù)據(jù)有限,而且采用一次一密的方式,所以它能夠在很大程度上抵御攻擊者的攻擊。而當(dāng)攻擊者獲得的密文有限時(shí),想靠窮舉法進(jìn)行破譯幾乎時(shí)不可能的、很顯然攻擊者可能轉(zhuǎn)而攻擊中間件的秘密密鑰,而由于使用RSA公鑰加密的DES密鑰是一種毫無規(guī)則的數(shù)據(jù),那么使用DES密鑰加密后的數(shù)據(jù)進(jìn)行破解更是難上加難(因?yàn)閷τ谄平?024位的RSA已經(jīng)是幾乎不可能的事情了)。第二章密碼長度和密鑰管理2.1密碼長度一、對稱密鑰體制的密鑰長度對稱密鑰是以DES為代表的,在這種體制中,加密、解密使用統(tǒng)一的密鑰,假設(shè)算法的保密強(qiáng)度是足夠的,就意味著除窮舉法外,沒有其他更好的攻擊方法。要實(shí)施窮舉法攻擊,攻擊者若有少量的密文和與之對于的明文,窮舉攻擊則是已經(jīng)明文攻擊。對于分組密碼,攻擊者需要一組密文和一組與之對于的明文。實(shí)際上得到部分明文并不困難,至少,攻擊者可以分析除一些明文的格式。窮舉攻擊的復(fù)雜性可以這樣計(jì)算:如果密鑰長度為n位,則有種可能的密鑰,因此,從理論上要找到正確的密鑰要進(jìn)行次計(jì)算。可見,當(dāng)密鑰足夠長時(shí),將使窮舉攻擊法因花費(fèi)時(shí)間過長而無法奏效。當(dāng)然如果攻擊者肯花大的代價(jià),提高機(jī)器的運(yùn)行速度,并用多個(gè)處理機(jī)并行工作,那么對密鑰的攻擊程度將會多大加強(qiáng)。對于攻擊者來講,他是否愿意花高代價(jià)去攻擊密鑰以獲得信息,也要看信息本身對攻擊者的價(jià)值。在計(jì)算機(jī)安全領(lǐng)域的一條規(guī)則是:如果破解系統(tǒng)的代價(jià)比系統(tǒng)本身內(nèi)容的價(jià)值高,則系統(tǒng)是安全的。所以,在確定密鑰長度時(shí),也應(yīng)根據(jù)所需加密的信息的價(jià)值來確定,二、公開密鑰體制的密鑰長度兩個(gè)大的素?cái)?shù)相乘實(shí)際上是一個(gè)單向函數(shù),即兩個(gè)大素?cái)?shù)相乘很容易得到其乘積,但要通過分解來得到原來的兩個(gè)素?cái)?shù)卻很困難。RSA就是應(yīng)用這個(gè)思想設(shè)計(jì)了陷門的單項(xiàng)函數(shù)。目前,大多數(shù)公開密鑰的密碼是基于大數(shù)因式分解的困難度上的,還有一些算法是基于離散對數(shù)問題上的,但其假設(shè)條件與大數(shù)因式分解問題實(shí)質(zhì)卻是相同的,這些算法同樣可以受到窮舉攻擊。破譯這類算法不必去測試每個(gè)可能的密鑰,而應(yīng)該努力去分解一個(gè)大數(shù),對于基于離散對數(shù)問題的保密算法,是在一個(gè)有限域中尋找離散對數(shù)。如果被分解的數(shù)太小,算法則毫無安全性可言,如果該數(shù)選的足夠大,系統(tǒng)就相對安全些?;谏鲜鏊枷?,密鑰長度的確定將取決于因數(shù)分解的時(shí)間。過去最快的因數(shù)分解算法是二次篩法,不久前,一種新的因數(shù)分解算法可能取代二次篩法。1989年,數(shù)學(xué)家還預(yù)言通用數(shù)域篩法不能應(yīng)用于實(shí)際,而在1992年,已有人證明該方法是可實(shí)用的,但僅在130-150位之間比二次篩法快,到了1994年,已證明對于小于116位的數(shù),通用數(shù)域篩法也比二次篩法快,因此可以認(rèn)為,通用數(shù)域篩法將會變的更快。在選擇公開密鑰密碼長度時(shí),既要看系統(tǒng)所需的保證的安全,又要看該密鑰的生存期,還要看當(dāng)前的分解因數(shù)的能力。在20世紀(jì)80年代,512位所能獲得的安全水平,今天1024位才能達(dá)到。三、密鑰長度的討論實(shí)際上,對于密鑰長度究竟應(yīng)該取多大,這個(gè)問題并沒有一個(gè)明確的答案,因?yàn)樗芏鄠€(gè)因素的影響。在確定密鑰長度時(shí),可以從以下幾個(gè)方面考慮:所保存信息的價(jià)值信息的保密時(shí)間信息的攻擊者及其使用的設(shè)備和資源情況。2.2密碼管理在早期使用的傳統(tǒng)加密方法中,算法和密鑰并沒有明顯的區(qū)別,但由于算法不易長期保密,需經(jīng)常變換,而經(jīng)得起攻擊的過硬的算法并不容易尋找和設(shè)計(jì),經(jīng)常更換算法時(shí)困難的,因此,密碼學(xué)發(fā)展到今天,已使保密算法和密鑰分離開來,將算法公布,而將密鑰或部分密鑰保密起來,并且經(jīng)常更換。攻擊者為找到正確的密鑰實(shí)施攻擊,攻擊者便會在攻擊密鑰上下功夫。而保密密鑰和更換密鑰比保密算法和更換算法容易得多。可以說密鑰管理和被加密的數(shù)據(jù)同樣重要?,F(xiàn)在,密碼體制甚至算法都是公開的,密文丟失可以重發(fā),但如果密鑰丟失的話,損失將不可估量。密鑰管理是一種綜合性技術(shù),它涉及到密鑰的生成、變換、校驗(yàn)、使用、修改、存儲、復(fù)制、調(diào)整和廢止等全過程,無論哪一個(gè)環(huán)節(jié)出了問題,都會給攻擊者可乘之機(jī),從密鑰管理的途徑竊取密鑰遠(yuǎn)比多年存的破譯容易的多。下面將介紹密鑰管理的各個(gè)環(huán)節(jié)。2.2.1密鑰生成一個(gè)算法的安全性完全依賴于密鑰,如果密鑰生成系統(tǒng)生成密鑰的過程是脆弱的,則整個(gè)密碼系統(tǒng)都是脆弱的,因?yàn)楣粽邿o需分析其保密算法,只要分析密鑰生成算法即可得到密鑰。攻擊者在分析密鑰生成過程時(shí)可以從密鑰空間、密鑰選擇方式的脆弱性和密鑰的隨機(jī)性等幾個(gè)方面進(jìn)行突破。2.2.2密鑰傳送假設(shè)通信雙方A與B要使用對稱密碼進(jìn)行通信,發(fā)方A使用隨機(jī)數(shù)發(fā)生器生成一個(gè)密鑰后,必須秘密的將它發(fā)送給B。當(dāng)然如果A能在一個(gè)安全的地方見到B這是最好的,否則,其他方式都不能保證密鑰在傳輸過程中的安全。公開密鑰密碼體制雖然解決了這個(gè)文日,但這種體制也又盡如人意的地方。這樣,如果A通過信道將密鑰發(fā)送給B,即使密鑰時(shí)經(jīng)過加密的,仍不能保證密鑰的安全。當(dāng)然,如果信道能不被竊聽,這種傳輸是安全的。不過,假如真的有這種信道,為什么不直接用它來傳送明文呢?很顯然,靠保證信道安全來保證密鑰在傳輸過程中安全的方式是不現(xiàn)實(shí)的,對于這種問題,解決的方法之一就是采用兩類密鑰。X9.17標(biāo)準(zhǔn)中提到的兩類密鑰:密鑰加密密鑰和數(shù)據(jù)加密密鑰。密鑰加密密鑰(Key-EncryptionKeys,KEK)是用來加密那些用于發(fā)送的密鑰的密鑰,數(shù)據(jù)加密密鑰(DataKeys,DK)是用來加密那些用于傳輸?shù)男畔⒌拿荑€,而KEK本身應(yīng)該由手工發(fā)送,比如象智能卡這樣的器件進(jìn)行保護(hù)。密鑰傳送的另一種解決方法是把密鑰分成幾個(gè)不同的部分,并通過不同的部分,并通過不同的信道發(fā)送密鑰的各部分。這樣攻擊者必須獲得所有部分才能組合成密鑰,而僅得到其中一部分是沒有意義的。2.2.3密鑰驗(yàn)證當(dāng)收方B收到一個(gè)密鑰是,他如何確認(rèn)該密鑰是來自A而不是冒充A的人呢?如果A當(dāng)面把密鑰交給B,這當(dāng)然沒有問題;如果A通過信道發(fā)送給B,那么B在確認(rèn)時(shí)只能依賴“該信道是絕對可靠的”這一假設(shè);如果A使用一個(gè)數(shù)字簽名協(xié)議給該密鑰簽字,B在驗(yàn)證時(shí)只能依賴于公鑰數(shù)據(jù)庫;如果密鑰時(shí)一個(gè)密鑰分配中心(KeyDistributionCenter,KDC)簽名的公鑰,B確認(rèn)時(shí)只能認(rèn)為它的KDC公鑰沒有被篡改。表面上看,A和B能驗(yàn)證密鑰的唯一可能方式就是會面,因此,公鑰密鑰體制并沒有比對稱密碼體制增加什么安全性,這個(gè)觀點(diǎn)雖然在理論上成立,但實(shí)際并非那么簡單,因?yàn)楫?dāng)公鑰密鑰體制用于數(shù)字簽名并委托給KDC時(shí),要想用一個(gè)人的密鑰取代另一個(gè)人的密鑰是很困難的。2.2.4密鑰的使用一般來說,軟件加密方式是不可取的。過去在彈道程序控制下的簡單計(jì)算機(jī)上實(shí)現(xiàn)軟件加密還是可以的,但在現(xiàn)代操作系統(tǒng)當(dāng)中,用戶是不能指揮具體的操作過程的,用戶不可能要求系統(tǒng)什么時(shí)候暫停加密什么時(shí)候把什么信息寫到磁盤上。用戶當(dāng)然不會把加密的應(yīng)用程序?qū)懙酱疟P上,更不會把密鑰寫到上面。但操作系統(tǒng)在執(zhí)行過程中可能會把他們寫到磁盤上,由于這個(gè)過程的不可控,所以就有被竊取篡改的可能。如果在一個(gè)具有優(yōu)先級的系統(tǒng)中,可以設(shè)置較高的優(yōu)先級來降低被竊取和篡改的危險(xiǎn)性。2.2.5密鑰更新有時(shí),機(jī)密數(shù)據(jù)需要每天更新密鑰,而每天分配一個(gè)新密鑰并非易事,更容易的辦法就是從舊密鑰中產(chǎn)生一個(gè)新密鑰,這叫做密鑰的更新。密鑰更新使用一個(gè)單向函數(shù),如果通信雙方A與B共用同一個(gè)單向函數(shù),他們將得到同樣結(jié)果,然后,從該結(jié)果中取出所需要的位數(shù)生成新密鑰。更新后的新密鑰應(yīng)同舊密鑰具有同樣的安全性,如果攻擊者設(shè)法獲得舊密鑰及更新方法,那么它也能自己取更新舊密鑰。當(dāng)然,無論怎樣,他都不可能通過傳輸過程獲得更新的密鑰。2.2.6密鑰存儲單用戶的新密鑰存儲問題是簡單的,因?yàn)樗拿荑€只涉及他一個(gè)人,因此對單用戶來說,最安全的存儲辦法就是將密鑰記憶在腦子中。用戶在每次加密解密時(shí)再輸入到系統(tǒng)中。系統(tǒng)應(yīng)設(shè)計(jì)成讓用戶既能夠直接輸入規(guī)定位數(shù)的隨機(jī)數(shù)密鑰又能輸入由長字符串構(gòu)成的密鑰,再使用密鑰變換技術(shù)從長字符串生成密鑰。密鑰存儲的另一個(gè)方案就是在磁卡上存儲密鑰,或制造一個(gè)存入ROM芯片的可塑性密鑰,或存在智能卡上,用戶使用行其插入到計(jì)算機(jī)中。有時(shí)密鑰可以用密文形式存儲。例如,一個(gè)RSA秘密密鑰可以用一個(gè)DES密鑰加密,并存在磁盤上,若恢復(fù)該RSA密鑰,用戶可以在解密DES密鑰。從理論上講,在加密設(shè)備以外,密鑰不以明文形式出現(xiàn),雖然這在很多情況下不大可能做到,但這是一個(gè)值得注意并為之而努力的目標(biāo)。2.2.7密鑰的生存期更換密鑰、分配新密鑰的過程有時(shí)很麻煩,在密鑰分配過程中存在著泄漏密鑰的危險(xiǎn),希望一個(gè)密鑰能無限期的使用下去。但是,長期使用一個(gè)密鑰也會帶來如下的幾個(gè)問題:問題1:密鑰使用的時(shí)間越長,泄漏的機(jī)會就越多。問題2:密鑰使用的時(shí)間越長,用該密鑰加密的信息就越多,因此,如果密鑰泄漏,失密的信息也就越多。問題3:使用密鑰的時(shí)間越長,對攻擊者的吸引力就越大,因?yàn)楣粽哂懈嗟臅r(shí)間對所得密文甚至明文進(jìn)行分析。所以,密鑰也需要一個(gè)生存期,到了一定的時(shí)間密鑰就自動廢棄,至于到底需要多長時(shí)間則需要根據(jù)它所加密數(shù)據(jù)的傳輸類型、傳輸頻率、數(shù)據(jù)本身類型和價(jià)值等因素綜合考慮。2.2.8密鑰的廢止密鑰必須定期更換,就密鑰用到一定時(shí)間就必須廢止,但就密鑰雖然不再使用,卻仍然有價(jià)值,至少,攻擊者可用舊密鑰過去的舊信息幫助她攻擊系統(tǒng),因此,必須安全的廢止密鑰。2.3公開密鑰密碼系統(tǒng)的密鑰管理比起對稱密碼體制,公開密鑰密碼體制的密鑰管理更容易一些,但這種體制的密鑰管理也有其特定的問題。不論網(wǎng)上有多少人,每人僅有一個(gè)公開密鑰,如果A想要發(fā)送信息給B,她必須取得B的公開密鑰。對于公開密鑰系統(tǒng)可能的攻擊,其中包括攻擊者取代B的密鑰的問題,即A想要給B發(fā)送信息,他從公開密鑰數(shù)據(jù)庫中得到B的密鑰。但攻擊者已偷偷的用自己的密鑰取代了B的密鑰,這樣,A實(shí)際上時(shí)用攻擊者的公開密鑰加密了信息發(fā)送給B,攻擊者截獲了該信息,用自己的私鑰解密讀取其中的明文,然后再用B的公開密鑰加密信息發(fā)送給B,當(dāng)然A和B就不會知道了。對于上面的問題,在公開密鑰密碼體制的密鑰管理中,采用以下方案:2.3.1公鑰證書公鑰證書是某個(gè)人有另一個(gè)值得信賴的人簽名后的公開密鑰。公鑰證書可以組織公開密鑰被非法取代的問題。B在公鑰數(shù)據(jù)庫中的公鑰證書,包含拉比公開密鑰本身更多的信息,如B的名字、地址等、A委托驗(yàn)證機(jī)構(gòu)對B公開密鑰簽名,驗(yàn)證機(jī)構(gòu)通過簽名于B的公開密鑰和B的其他信息,證明B的信息是正確的,該公開密鑰的確是B的,A檢查了驗(yàn)證機(jī)構(gòu)的簽名后再使用B的公開密鑰。使用公鑰證書來證明公開密鑰的方式在一些公開密鑰協(xié)議中是一條重要的規(guī)則,如協(xié)議PEM(9.7)和X.509(9.6),在實(shí)際應(yīng)用中為安全起見,采取“鏈?zhǔn)津?yàn)證”方式:受委托機(jī)構(gòu)驗(yàn)證委托人的代理人,受委托的代理人驗(yàn)證公司額委托人,公司的委托人驗(yàn)證公司的員工等。2.3.2分布式密鑰管理在一些系統(tǒng)中,并沒有采用上面那種公鑰數(shù)據(jù)庫的集中式關(guān)管理方式,也就是不存在A和B都委托的驗(yàn)證機(jī)構(gòu),或許A和B都委托他們各自的朋友,也可能A和B都不想穩(wěn)妥任何人。實(shí)施分布式密鑰管理時(shí),可采用“介紹人”的方式,介紹人是A和B所用系統(tǒng)的另一個(gè)用戶,他可為他朋友的公開密鑰簽名。例如,當(dāng)B生成公開密鑰時(shí),他把該公開密鑰復(fù)制給他的朋友C和D,C和D都認(rèn)識B,所以他們能給B的公開密鑰簽名并將這個(gè)簽名的拷貝交給B,這樣,當(dāng)B把他的簽名密鑰交給一個(gè)陌生人A時(shí),實(shí)際上他交的是由兩個(gè)介紹人簽名的密鑰。如果A人士并相信C,他可以認(rèn)為B的密鑰是有效的:如果A對C或D有所了解,他可以認(rèn)為B的密鑰是有效的,如果A不認(rèn)識C和D,他可以不相信B的密鑰。此外,B也應(yīng)尋找更多的介紹人,這樣A認(rèn)識B的介紹人的機(jī)會就可能更多一些,為防止非法的入侵者用自己的密鑰取代B的密鑰,介紹人在簽名時(shí)必須確信他將要為之簽名的密鑰的確是B的,為做到這已點(diǎn),有時(shí)需要介紹人與B會面或通話進(jìn)行驗(yàn)證。第三章SSL技術(shù)簡介3.1SSL介紹SecureSocketsLayer是用于對TCP/IP數(shù)據(jù)流進(jìn)行加密的協(xié)議,勇士還包括了身份和數(shù)據(jù)完整性校驗(yàn)等內(nèi)容。SSL運(yùn)行于TCP/IP之上,幾乎可以被應(yīng)用于任何類型的面向連接的通信。最普遍的情況是用來為HTTP提供安全保障。當(dāng)HTTP使用了SSL提供的保護(hù),就被稱為HTTPS?,F(xiàn)在幾乎所有的瀏覽器都支持HTTPS連接,可以與一個(gè)支持SSL的web服務(wù)器之間實(shí)現(xiàn)安全的通信。SSL的基礎(chǔ)是會話密鑰加密。并且還增加了一些額外的特性,包括基于X.509證書的身份認(rèn)證機(jī)制和使用消息認(rèn)證碼的安全性校驗(yàn)機(jī)制。SSL是套解字的一個(gè)擴(kuò)展,套解字可以在客戶端和服務(wù)器之間建立雙向的通信流。3.2SSL握手協(xié)議在握手過程中,客戶端和服務(wù)器產(chǎn)生一個(gè)共享的會話密鑰,并且可以驗(yàn)證彼此的身份,這個(gè)過程是通過交換一系統(tǒng)的消息完成的。具體步驟如下:步驟1:交換可是于客戶端發(fā)出的一條client_hello消息,消息的內(nèi)容包括●客戶端支持的SSL版本號●客戶端產(chǎn)生的32字節(jié)的隨機(jī)數(shù)●一個(gè)對應(yīng)的會話ID●一個(gè)支持的密碼算法的列表●一個(gè)支持的壓縮方法的列表步驟2:服務(wù)器發(fā)出消息server_hello進(jìn)行響應(yīng),內(nèi)容包括●服務(wù)器從客戶端列表中選定的SSL版本號●服務(wù)器產(chǎn)生的32字節(jié)的隨機(jī)數(shù)●會話ID●從客戶端列表中選擇的密碼算法●選定的壓縮方法接著,服務(wù)器發(fā)送一個(gè)又認(rèn)證中心簽發(fā)的X.509證書,證書包括了服務(wù)器所有者的信息和公鑰,所以現(xiàn)在客戶端就可以使用這個(gè)公鑰,想服務(wù)器發(fā)送加密信息了。在證書后面,服務(wù)器可以向客戶端請求證書,但是這個(gè)步驟在HTTPS中并不是必需的。最后,服務(wù)器發(fā)送的消息sever_hello_done,表示已經(jīng)完成了通信步驟,并且等待來自客戶端的應(yīng)答。步驟3:客戶端檢查服務(wù)器的證書和它發(fā)送的參數(shù)。如果服務(wù)器請求客戶端的證書,那么客戶端響應(yīng)一條證書消息。接下來客戶端發(fā)送client_key_exchange,這是一個(gè)48字節(jié)的隨機(jī)數(shù),客戶端和服務(wù)器各自使用它來就來會話密鑰。這個(gè)隨機(jī)數(shù)使用服務(wù)器的公鑰和RSA算法加密,服務(wù)器的公鑰可以從服務(wù)器發(fā)給客戶端的證書中取出來。如果客戶端提供了證書,那么將發(fā)送certificate_verify消息??蛻舳藢Πl(fā)送的所有消息進(jìn)行hash運(yùn)算,并且使用自己的私鑰簽名。然后,客戶端計(jì)算RC4算法使用的加密密鑰,另外還計(jì)算一個(gè)用于消息認(rèn)證碼的密鑰用來驗(yàn)證數(shù)據(jù)的完整性。隨后客戶端發(fā)送change_cipher_spec消息,表示將使用這些密碼算法和參數(shù)出來將來的通信,但客戶端不需要將密鑰高速服務(wù)器,因?yàn)榉?wù)器可以自己計(jì)算出這些密鑰。最后客戶端發(fā)送結(jié)束消息,使用會話密鑰進(jìn)行加密,并且包含校驗(yàn)完整性的MAC內(nèi)容。步驟4:服務(wù)器用它的change_cipher_spec消息作為響應(yīng),向客戶端顯示他也將用于客戶端相同的參數(shù)加密將來所有的通信內(nèi)容。服務(wù)器發(fā)送交換結(jié)束消息來結(jié)束握手過程。3.3SSL的密鑰交換密鑰管理包括密鑰交換、密鑰生成和分配等等。常用密鑰交換有基于離散對數(shù)難題的DiffieHellman、基于整數(shù)分解難題的RSA密鑰交換協(xié)議和基于橢圓曲線上點(diǎn)組成的加法群倍點(diǎn)難題的橢圓曲線密鑰分配協(xié)議。目前密鑰分配的主要方案為自動分配和人工分配,由于Internet信息的實(shí)時(shí)性、信息量的突發(fā)性和信息瀏覽的自由性,傳統(tǒng)的基于手工密鑰分配的密鑰交換難以滿足Internet的要求。所以,必須使通信實(shí)體雙方可利用非安全信道獲取對方的密鑰。安全的核心要求使無關(guān)的第三方在非安全信道上獲取密鑰交換信息而計(jì)算出共享密鑰使一個(gè)單向陷門問題。證書機(jī)構(gòu)CA使目前最常用的密鑰自動分配方案。在SSL協(xié)議中,客戶端和服務(wù)器之間的通信使用了一個(gè)會話密鑰加密。要建立這個(gè)會話密鑰,必須協(xié)商好一個(gè)共享的密鑰,在協(xié)商的過程中不能以明文形式發(fā)送秘密數(shù)據(jù),以免被攻擊者竊聽。下面是可以使用的幾種不同的加密算法:●RSA——RSA是SSL密鑰交換的標(biāo)準(zhǔn)方法,目前在瀏覽器和服務(wù)器中得到了最普遍的支持??蛻舳耸褂梅?wù)器的公鑰加密以系列的隨機(jī)數(shù),然戶雙方使用這些共享的秘密來產(chǎn)生一個(gè)統(tǒng)一的會話密鑰?!窆潭―iffieHellman——因?yàn)橐恢钡阶罱鼮橹?,RSA算法的使用都受到了美國的限制,所以在一些實(shí)現(xiàn)中都使用了DiffieHellman密鑰交換算法?!衲涿腄iffieHellman——客戶端和服務(wù)器都向?qū)Ψ桨l(fā)送DH公鑰。雙方在不進(jìn)行任何身份認(rèn)證的情況下使用對方的公鑰來產(chǎn)生一個(gè)共享的會話密鑰?!馞ortezza——Fortezza是SSL可以支持的一種專用的加密機(jī)制。Fortezza—非一般的保密程序要確認(rèn)使用者的身份,單靠輸入用戶名稱和密碼并不足夠,要是網(wǎng)上駭客肆意破壞也是易如反掌之事。跟SSL及PCT一樣,F(xiàn)ortezza亦有加密程序,但最少采用56位元編碼匙,較之SSL及PCT所用的40位元編碼匙安全得多。除此之外,F(xiàn)ortezza優(yōu)勝之處乃是加入了為驗(yàn)證過程而設(shè)的新功能—通行證(token)。以美國聯(lián)邦政府為例,每位使用網(wǎng)絡(luò)的官員均有一張獨(dú)特的“通行證”,所謂通行證其實(shí)是一張如信用卡般大小的微型處理器,內(nèi)藏著所儲存的資料數(shù)據(jù),要用這張通行證,首先要輸入密碼,核對無誤后才可使用。為加強(qiáng)保安,除了用戶擁有這張通行證外,網(wǎng)絡(luò)上每一項(xiàng)服務(wù)也同樣需要使用此通行證。既然有了通行證,當(dāng)然也需要閱讀器,因此每個(gè)Fortezza系統(tǒng)的使用者均需裝置一個(gè)類似信用卡閱讀器的硬件,閱讀通行證上的資料及數(shù)據(jù)。所以,要破解或盜用放置在Fortezza系統(tǒng)的資料相當(dāng)困難,也要添置不少精密的解破工具。3.4SSL的安全性SSL提供通道級別的安全,意思就是說連接的兩端所傳輸?shù)臄?shù)據(jù)是保密的,而且沒有被篡改。幾乎總是要對服務(wù)器進(jìn)行認(rèn)證,這樣客戶才能知道連接的另一端是誰。也可以要求客戶端使用其證書來對客戶端進(jìn)行認(rèn)證。SSL還提供了針對例外情況的安全通知功能,其中包括錯(cuò)誤警示和連接關(guān)閉。SSL協(xié)議幾乎所有安全都依賴于master_secret的保密,由于用戶保護(hù)數(shù)據(jù)的所有加密密鑰都是通過master_secret來產(chǎn)生的,所以了解master_secret的攻擊者可以實(shí)施大量的攻擊。3.4.1保護(hù)服務(wù)器的私用密鑰一種可以讓攻擊者獲得master_secret的顯而易見的方式就是取得服務(wù)器的私用密鑰。如果服務(wù)器使用的是普通靜態(tài)RSA模式,那么拿到服務(wù)器私鑰的攻擊者就能恢復(fù)master_secret讀取他所能捕獲的任何通信數(shù)據(jù)而不被檢測出來,而且還能冒充服務(wù)器。如果服務(wù)器用的是臨時(shí)模式的話,攻擊者就無法被動的讀取通信數(shù)據(jù),但卻能實(shí)施冒充服務(wù)器的主動攻擊。保護(hù)私鑰要求安全的傳輸私鑰,大多數(shù)實(shí)現(xiàn)磁盤上的私鑰進(jìn)行加密,而且要提供口令才能解密。這要求用戶產(chǎn)生并記住一條高強(qiáng)度的口令,而事實(shí)上要做到十分困難。3.4.2使用良好的隨機(jī)性幾乎所有的機(jī)密協(xié)議都要求使用高強(qiáng)度的隨機(jī)數(shù)才能安全運(yùn)轉(zhuǎn),SSL也不例外。SSL有很多地方使用隨機(jī)數(shù):首先,服務(wù)器的私鑰需要是隨機(jī)產(chǎn)生的;其次,客戶端需要產(chǎn)生隨機(jī)數(shù)據(jù)來完成密鑰交換;第三,如果使用RSA進(jìn)行簽名,那么就必須為每一個(gè)簽名產(chǎn)生一個(gè)隨機(jī)數(shù);最后,客戶端與服務(wù)器都需要產(chǎn)生握手隨機(jī)數(shù),但是實(shí)際上這些隨機(jī)數(shù)是無需安全產(chǎn)生的,因?yàn)樗麄兌际枪_的。因此,客戶端和服務(wù)器都要能夠產(chǎn)生高強(qiáng)度的隨機(jī)數(shù),入托服務(wù)器產(chǎn)生了弱的隨機(jī)數(shù),那么攻擊者就能猜出服務(wù)器私鑰,從而導(dǎo)致pre_master_secret泄漏;如果客戶端產(chǎn)生了弱強(qiáng)度的隨機(jī)數(shù),那么攻擊者要么能夠直接猜出pre_master_secret,要么就能夠猜測客戶端的臨時(shí)DH私鑰,繼而猜出pre_master_secret。3.4.3算法的選擇SSL支持各種各樣的加密套件,這些加密套件制定了一組連續(xù)使用的算法。這些算法的強(qiáng)度成非常弱的可出口型(如40為的RC4)到強(qiáng)度比較高的3DES。此外,非對稱密鑰對可以適用一定范圍長度的密鑰。SSL連接的安全自然而然就全部依賴于它所使用的加密算法的安全,因此,應(yīng)選擇與數(shù)據(jù)相當(dāng)?shù)募用芴准?。為做到這點(diǎn),就要根據(jù)你的應(yīng)用程序所能支持的加密套間的集合加以限制。由于客戶端和服務(wù)器必須就共同的加密套件達(dá)成一致才能通信,這樣將確保你能獲得相應(yīng)級別的安全。但是,一種可能的副作用就是服務(wù)器與客戶端沒有共同的算法集合,因而也就無法通信。因此,通常最好的策略是允許提供草果可以接受的最低安全級別的所有加密套件,而不只是專選支持最高強(qiáng)度的加密算法。3.5SSL性能分析3.5.1介紹根據(jù)所用協(xié)議、服務(wù)器硬件還有網(wǎng)路環(huán)境的不同,SSL連接可比普通的TCP連接慢上2到100倍。這種性能開銷直接轉(zhuǎn)變?yōu)槌杀镜脑黾印?.5.2性能法則●Amdahl定律性能調(diào)校最基本的法則就是Amdahl定律。粗略的說就是,優(yōu)化所到來的速度的提升就等于提速的改進(jìn)乘以提速代碼實(shí)踐耗費(fèi)的CPU所占的比例●90/10原則如果系統(tǒng)中的所有部分均耗費(fèi)等量的時(shí)間,Amdahl定律就沒有什么用處了。這時(shí)一條有用的法則——一個(gè)程序90%的執(zhí)行時(shí)間花在10%的代碼中。將90/10法則和Amdahl定律結(jié)合起來,我們就可以發(fā)現(xiàn),對系統(tǒng)的哪一部分內(nèi)內(nèi)容進(jìn)行優(yōu)化可以極大的提高系統(tǒng)的性能。而過多的關(guān)注其他的90%的代碼幾乎沒有多大的意義。3.5.3加密的昂貴開銷SSL之所以慢首要原因就是加密,尤其是公鑰加密所需的大數(shù)運(yùn)算極為消耗CPU資源??蛻舳伺c服務(wù)器的大多數(shù)時(shí)間都花費(fèi)在加密處理上,尤其是RSA加密上。3.5.4握手算法與密鑰選擇SSL連接的性能特性極大的依賴于所使用的算法。在握手階段,這極大的影響握手的開銷,同時(shí)也改變客戶端與服務(wù)器上的相對負(fù)載?!馬SA與DSA的比較RSA是由于DSS/DH的選擇,一般來講,在用于驗(yàn)證的時(shí)候,RSA要比DSA快得多,而在用于簽名的時(shí)候速度相當(dāng),見下表。然而這種開銷只要由客戶端承擔(dān),會對延遲而不是通信量造成影響?!袼俣扰c強(qiáng)度隨著密鑰尺寸的增大,公用密鑰的算法的性能急劇下降。1024為的RSA要比512為的慢4倍,而具有更長密鑰的DSA性能也類似的被削弱。因此,選擇私用密鑰的長度要在安全與握手性能加以權(quán)衡。3.5.5批量數(shù)據(jù)傳輸●算法的選擇在處理記錄時(shí),加密運(yùn)算耗費(fèi)大量時(shí)間,可以使用RC4來獲得最佳性能,使用3DES來獲得最好的安全性。RC4比3DES大約快10倍。隨著MD5逐漸停止使用,摘要選擇并沒有什么靈活性。在大多數(shù)現(xiàn)實(shí)情況下,SHA-1的速度足夠快了,所以它是一種很好的選擇。●最優(yōu)的記錄大小記錄計(jì)算中令人吃驚的計(jì)算量對傳輸數(shù)據(jù)大小不敏感。不管是加密還是向網(wǎng)絡(luò)上輸出都存在大量的固定開銷,因此采用小記錄來傳輸數(shù)據(jù)就會導(dǎo)致糟糕的性能,最優(yōu)尺寸大小大概是1024字節(jié)。3.5.6系統(tǒng)設(shè)計(jì)算法選擇非對稱加密算法,使用RSA;對稱算法的選擇DES。第四章OSI分層的數(shù)據(jù)安全策略4.1當(dāng)前對OSI各層的主要攻擊方式對OSI模型的物理層的攻擊:OSI模型的最底層是物理層。物理層的工作分為兩塊,一是硬件的正常工作,二是物理層的邏輯表示。除非黑客進(jìn)入了機(jī)房并接觸到硬件,否則很難直接去攻擊并破壞硬件。但物理層的邏輯表示是可以被攻擊的。以以太層為例,黑客很難接觸到用戶計(jì)算機(jī)上的以太卡,但黑客可能偽造用戶以太卡的MAC地址,從而攻擊物理層的邏輯表示,達(dá)到拒絕服務(wù)的目的。物理層的硬件是無法攻擊的,但邏輯表示是可以被攻擊的,因此網(wǎng)絡(luò)隔離必須中斷物理層的邏輯表示。對OSI模型的數(shù)據(jù)鏈路的攻擊:數(shù)據(jù)鏈路是一個(gè)通信協(xié)議的概念。確保在物理層上可以建立一個(gè)進(jìn)行數(shù)據(jù)通信的數(shù)據(jù)鏈路。每一種物理硬件都存在自己特有的通信協(xié)議,支持特有的數(shù)據(jù)鏈路方式。如X.25的Modem上支持的X.25協(xié)議,以太卡上支持以太協(xié)議等。對數(shù)據(jù)鏈路層是可以進(jìn)行入侵、拒絕服務(wù)和信息竊取如偵聽等攻擊的。事實(shí)上在互聯(lián)網(wǎng)沒有誕生之前,黑客這個(gè)名詞就存在。早期的電話公司如Bell的通信系統(tǒng)和電話網(wǎng)絡(luò)就飽受通信黑客攻擊之苦。早期的電話撥號BBS如FIDONET,也遭受到黑客大量的攻擊,盡管它采用的是Kermit協(xié)議而不是今天TCP/IPOverPPP協(xié)議。網(wǎng)絡(luò)隔離必須中斷通訊連接。對OSI模型的網(wǎng)絡(luò)層(IP)協(xié)議的攻擊:對IP協(xié)議的攻擊,是目前互聯(lián)網(wǎng)最主要的攻擊。IP協(xié)議存在的主要缺陷包括IP通信不需用進(jìn)行身份認(rèn)證,IP數(shù)據(jù)傳輸沒有加密,IP的分組和重組機(jī)制不完善,IP地址的表示不需要真實(shí)并確認(rèn)真假等。像我們熟知的IP碎片攻擊,源路由攻擊,IP欺騙,IP偽造,PingFlooding和PingofDeath等大量的攻擊,都是利用IP協(xié)議的缺陷對IP協(xié)議進(jìn)行攻擊的。因此網(wǎng)絡(luò)隔離必須剝離IP協(xié)議。對OSI模型的傳輸層(TCP/UDP)協(xié)議的攻擊:TCP/IP協(xié)議對應(yīng)其OSI模型中的傳輸層,主要是TCP和UDP協(xié)議。TCP協(xié)議被攻擊,主要是利用TCP的三次握手機(jī)制。像目前流行的SYNFlooding攻擊,ACKFlooding攻擊等都是利用TCP的三次握手機(jī)制。對UDP協(xié)議的攻擊,主要進(jìn)行流量攻擊,強(qiáng)化UDP通信的不可靠性,以達(dá)到拒絕服務(wù)的目的。因此網(wǎng)絡(luò)隔離必需剝離TCP/UDP協(xié)議。對OSI模型的會話層的攻擊:這是一種典型的應(yīng)用攻擊。攻擊者通過竊取合法用戶的會話信息,然后冒充該用戶,以達(dá)到非授權(quán)訪問的目的,或竊取合法用戶的權(quán)限和信息?;跁捁糇畹湫偷陌咐枪鬋ookies或Token。在一些應(yīng)用中,如電子商務(wù)、電子政務(wù)或BBS等,用戶進(jìn)行身份認(rèn)證登陸后,用戶有一套完整的權(quán)限控制機(jī)制,而這種機(jī)制很多是利用會話來實(shí)現(xiàn)的。一旦黑客成功地對會話進(jìn)行攻擊,就掌握了用戶的權(quán)限。網(wǎng)絡(luò)隔離必需剝離會話協(xié)議對OSI模型的表現(xiàn)層的攻擊:OSI的表現(xiàn)層是通過格式翻譯,數(shù)據(jù)的壓縮與解壓縮,數(shù)據(jù)的加密與解密,來提供標(biāo)準(zhǔn)的應(yīng)用接口,保證不同的系統(tǒng)可以進(jìn)行正常的應(yīng)用通信。實(shí)際上是解決開放平臺的問題,即多平臺的計(jì)算機(jī)如何通過相同的開放網(wǎng)絡(luò)來實(shí)現(xiàn)應(yīng)用通信。對表現(xiàn)層的攻擊,當(dāng)然是針對格式翻譯和數(shù)據(jù)處理來進(jìn)行攻擊的。典型的案例是Unicode攻擊,以及計(jì)算溢出攻擊。網(wǎng)絡(luò)隔離必需剝離應(yīng)用的表現(xiàn)層。對OSI模型應(yīng)用層的攻擊:對應(yīng)用層的攻擊是目前最為嚴(yán)重的攻擊。對應(yīng)用層的攻擊包括的面非常寬,如對應(yīng)用協(xié)議漏洞的攻擊,對應(yīng)用數(shù)據(jù)的攻擊,對應(yīng)用操作系統(tǒng)平臺的攻擊等。對應(yīng)用層攻擊方法包括:未經(jīng)審查的Web方式的信息錄入;應(yīng)用權(quán)限的訪問控制被攻破;身份認(rèn)證和會話管理被攻破;跨站點(diǎn)的執(zhí)行代碼的漏洞;緩存溢出漏洞;彈出漏洞;錯(cuò)誤處理不當(dāng);不安全存儲;拒絕服務(wù);不安全配置管理。網(wǎng)絡(luò)隔離必需剝離應(yīng)用協(xié)議。所有的網(wǎng)絡(luò)攻擊一定位于網(wǎng)絡(luò)OSI模型的某一層,否則就不是網(wǎng)絡(luò)攻擊。既然TCP/IP協(xié)議OSI模型的全部七層都存在被攻擊的風(fēng)險(xiǎn),因此必須斷開OSI模型的全部七層才能保證安全。4.2OSI安全知識簡介國際標(biāo)準(zhǔn)化組織(ISO)針對開放系統(tǒng)互聯(lián)(OSI)環(huán)境的網(wǎng)絡(luò)安全性提出了OSI體系結(jié)構(gòu),對應(yīng)于OSI參考模型的各個(gè)層次設(shè)置了七類安全服務(wù),并規(guī)定了實(shí)現(xiàn)安全服務(wù)的八種安全機(jī)制。一、安全服務(wù)對等實(shí)體認(rèn)證安全服務(wù):用來驗(yàn)證在某一關(guān)聯(lián)的實(shí)體中,對等實(shí)體的聲稱是一致的,它可以確認(rèn)對等實(shí)體沒有假冒身份。數(shù)據(jù)源點(diǎn)鑒別安全服務(wù):用于驗(yàn)證所收到的數(shù)據(jù)來源與所聲稱的來源是否一致,它不提供防止數(shù)據(jù)中途修改的功能。訪問控制安全服務(wù):提供對越權(quán)使用資源的防御措施。訪問控制可分為自主訪問控制和強(qiáng)制型訪問控制兩類。數(shù)據(jù)保密性安全服務(wù):它是針對信息泄漏而采取的防御措施??煞譃樾畔⒈C?、選擇段保密和業(yè)務(wù)流保密。數(shù)據(jù)完整性安全服務(wù):防止非法

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論