第4章 數(shù)據(jù)加密與認證技術(shù)_第1頁
第4章 數(shù)據(jù)加密與認證技術(shù)_第2頁
第4章 數(shù)據(jù)加密與認證技術(shù)_第3頁
第4章 數(shù)據(jù)加密與認證技術(shù)_第4頁
第4章 數(shù)據(jù)加密與認證技術(shù)_第5頁
已閱讀5頁,還剩192頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章

數(shù)據(jù)加密與認證技術(shù)1本章主要內(nèi)容:密碼學及數(shù)據(jù)加密的基本概念傳統(tǒng)密碼技術(shù)對稱密鑰密碼和公開密鑰密碼體制密鑰管理網(wǎng)絡(luò)保密通信數(shù)據(jù)鑒別與身份認證技術(shù)加密軟件PGP的應(yīng)用數(shù)據(jù)加密和鑒別算法的應(yīng)用2本章要求:了解密碼學及數(shù)據(jù)加密的基本概念;了解傳統(tǒng)密碼技術(shù)和密碼的分類;了解對稱密鑰密碼和公開密鑰密碼體制的概念、特點和典型密碼算法;了解密鑰管理的過程及作用;了解網(wǎng)絡(luò)通信加密的方式及特點;3了解加密軟件PGP的功能及其應(yīng)用;了解鑒別、數(shù)字簽名的概念和作用;了解CA認證的概念、過程和作用;了解電子商務(wù)涉及的安全技術(shù)及相應(yīng)的應(yīng)用協(xié)議。4本章分為八小節(jié):4.1數(shù)據(jù)加密概述4.2傳統(tǒng)密碼技術(shù)4.3對稱密鑰密碼體制

4.4公開密鑰密碼體制

4.5密鑰管理4.6網(wǎng)絡(luò)保密通信4.7鑒別與認證4.8加密軟件PGP及其應(yīng)用5前述的安全立法、加強行政人事管理、訪問控制、系統(tǒng)軟硬件保護等是保護網(wǎng)絡(luò)系統(tǒng)安全的有效措施,但它們都不能從根本上解決數(shù)據(jù)安全問題,都存在一些不易解決的問題。采用密碼技術(shù)保護網(wǎng)絡(luò)中數(shù)據(jù)的安全是一種非常實用、經(jīng)濟、有效的方法。6對信息進行加密可以防止攻擊者竊取網(wǎng)絡(luò)機密信息,可以使系統(tǒng)信息不被無關(guān)者識別,也可以檢測出非法用戶對數(shù)據(jù)的插入、刪除、修改及濫用有效數(shù)據(jù)的各種行為?;跀?shù)據(jù)加密的數(shù)字簽名和鑒別技術(shù)除具有保密功能外,還可以進行用戶的身份驗證和數(shù)據(jù)源及其內(nèi)容的鑒別。4.1數(shù)據(jù)加密概述74.1.1

密碼學的發(fā)展密碼學(Cryptology)是一門古老的學科。早在幾千年前,人類就已經(jīng)有了保密通信的思想和方法,但這些保密方法都是非常樸素、原始和低級的,而且大多數(shù)是無規(guī)律的。近現(xiàn)代一些著名的戰(zhàn)爭中都使用了密碼技術(shù)。近年來,密碼學研究之所以十分活躍,主要原因是它與計算機科學的蓬勃發(fā)展密切相連。8此外,還有電信、金融領(lǐng)域和防止日益廣泛的計算機犯罪的需要。密碼技術(shù)應(yīng)用于計算機網(wǎng)絡(luò)中的實例越來越多。密碼學從其發(fā)展來看,可分為兩大階段:傳統(tǒng)密碼學和計算機密碼學。第一階段:傳統(tǒng)密碼學。主要是靠人工進行信息加密、傳輸和破譯9第二階段:計算機密碼學。利用計算機進行自動或半自動地加密、解密和傳輸1.傳統(tǒng)方式計算機密碼學2.現(xiàn)代方式計算機密碼學對稱密鑰密碼體制公開密鑰密碼體制10密碼學包括密碼編碼學和密碼分析學兩部分,這兩部分相互對立,但也相互促進,相輔相成。密碼編碼學研究的是通過編碼技術(shù)來改變被保護信息的形式,使得編碼后的信息除指定接收者之外的其他人都不可理解密碼分析學研究的是如何攻破一個密碼系統(tǒng),恢復被隱藏起來的信息的本來面目114.1.2

密碼學的基本概念加密在網(wǎng)絡(luò)上的作用就是防止有價值的信息在網(wǎng)上被竊取并識別;基于加密技術(shù)的鑒別的作用是用來確定用戶身份的真實性和數(shù)據(jù)的真實性。12加密

:把信息從一個可理解的明文形式變換成一個錯亂的、不可理解的密文形式的過程明文(PlainText):原來的信息(報文)、消息,就是網(wǎng)絡(luò)中所說的報文(Message)密文(CipherText):經(jīng)過加密后得到的信息解密:將密文還原為明文的過程13密鑰(Key):加密和解密時所使用的一種專門信息(工具)密碼算法(Algorithm):加密和解密變換的規(guī)則(數(shù)學函數(shù)),有加密算法和解密算法加密系統(tǒng):加密和解密的信息處理系統(tǒng)加密過程是通過某種算法并使用密鑰來完成的信息變換14明文P解密密鑰Kd解密(D)加密密鑰Ke加密(E)明文P密文C攻擊者簡單的密碼系統(tǒng)示意圖15加密實際上是要完成某種函數(shù)運算C=?(P,K),對于一個確定的加密密鑰Ke,加密過程可看作是只有一個自變量的函數(shù),記作Ek

,加密變換為:

C=Ek

(P)(加密變換作用于明文P后得到密文C)同樣,解密也完成某種函數(shù)的運算P=g(C,K)對于確定的解密密鑰Kd,解密過程為:

P=Dk

(C)(解密變換作用于密文C后得到明文P)16由此可見,密文C經(jīng)解密后還原成原來的明文,必須有

P=Dk(Ek(P))=Dk

Ek(P)

此處“”是復合運算,因此要求

Dk

Ek=II為恒等變換,即Dk與Ek是互逆變換174.1.3

密碼的分類按密碼的歷史發(fā)展階段和應(yīng)用技術(shù)分:手工密碼、機械密碼、電子機內(nèi)亂密碼和計算機密碼按密碼轉(zhuǎn)換的操作類型分:替代密碼和移位密碼18按保密程度劃分,有理論上保密的密碼、實際上保密的密碼和不保密的密碼

按明文加密時的處理方法分:分組密碼和序列密碼按密鑰的類型分:對稱密鑰密碼和非對稱密鑰密碼191.手工密碼、機械密碼、電子機內(nèi)亂密碼和計算機密碼手工密碼是以手工完成,或以簡單器具輔助完成加密和解密過程的密碼。這是第一次世界大戰(zhàn)以前使用的主要密碼形式。機械密碼是以機械密碼機或電動密碼機來實現(xiàn)加密和解密過程的密碼。這種密碼是從第一次世界大戰(zhàn)出現(xiàn)到第二次世界大戰(zhàn)中得到普遍應(yīng)用。通過電子電路,以嚴格的程序進行邏輯運算,以少量制亂元素生產(chǎn)大量的加密亂數(shù),因其制亂是在加密、解密過程中完成的而不需預先制作,所以稱為電子機內(nèi)亂密碼。計算機密碼是以計算機軟件程序完成加密和解密過程的密碼,它適用于計算機數(shù)據(jù)保護和網(wǎng)絡(luò)保密通信場合。202.替代密碼和移位密碼替代密碼也叫置換密碼。替代密碼就是在加密時將明文中的每個或每組字符由另一個或另一組字符所替換,原字符被隱藏起來,即形成密文。移位密碼也叫換位密碼。移位密碼是在加密時只對明文字母(字符、符號)重新排序,每個字母位置變化了,但沒被隱藏起來。移位密碼是一種打亂原文順序的加密方法。替代密碼加密過程是明文的字母位置不變而字母形式變化了,移位密碼加密是字母的形式不變而位置變化了。21分組密碼分組密碼的加密方式是:首先將明文序列以固定長度進行分組,每組明文用相同的密鑰和算法進行變換,得到一組密文。分組密碼是以塊為單位,在密鑰的控制下進行一系列線性和非線性變換而得到密文的。3.分組密碼和序列密碼22分組密碼的加/解密運算是:輸出塊中的每一位是由輸入塊的每一位和密鑰的每一位共同決定。加密算法中重復地使用替代和移位兩種基本的加密變換,此即Shannon1949年發(fā)現(xiàn)的隱藏信息的兩種技術(shù):打亂和擴散。23打亂:就是改變數(shù)據(jù)塊,使輸出位與輸入位之間沒有明顯的統(tǒng)計關(guān)系(替代);擴散:就是通過密鑰位轉(zhuǎn)移到密文的其它位上(移位)。分組密碼的特點:良好的擴散性;對插入信息的敏感性,較強的適應(yīng)性;加/解密速度慢;差錯的擴散和傳播。24加密/解密輸出塊輸入塊加/解密鑰塊發(fā)/收信端分組密碼25序列密碼序列密碼加密過程是:把報文、語音、圖像等原始信息轉(zhuǎn)換為明文數(shù)據(jù)序列,再將其與密鑰序列進行“異或”運算,生成密文序列發(fā)送給接收者。接收者用相同的密鑰序列與密文序列再進行逐位解密(異或),恢復明文序列。26序列密碼加/解密的密鑰,是采用一個比特流發(fā)生器隨機產(chǎn)生二進制比特流而得到的。它與明文結(jié)合產(chǎn)生密文,與密文結(jié)合產(chǎn)生明文。序列密碼的安全性主要依賴于隨機密鑰序列。27序列密碼比特流發(fā)生器密/明文輸出明/密文輸入發(fā)/收信端異或28加密和解密過程都要使用密鑰。如果加密密鑰和解密密鑰相同或相近,由其中一個很容易地得出另一個,這樣的系統(tǒng)稱為對稱密鑰系統(tǒng),加密和解密密鑰都是保密的;如果加密密鑰與解密密鑰不同,且由其中一個不容易得到另一個,則這種密碼系統(tǒng)是非對稱密鑰系統(tǒng),往往其中一個密鑰是公開的,另一個是保密的。4.對稱密鑰密碼和非對稱密鑰密碼29前者也稱為傳統(tǒng)密鑰密碼體制,后者稱為公開密鑰密碼體制。相應(yīng)地,這兩種密碼體制各有一些典型算法。對稱密鑰密碼體制的主要算法有DES、IDEA、TDEA(3DES)、MD5、RC5等,也叫單密鑰算法;公開密鑰密碼體制的主要算法有RSA、Elgamal、背包算法、Rabin、DH等。304.2傳統(tǒng)密碼技術(shù)1.替代密碼2.移位密碼3.一次一密鑰密碼311.替代密碼替代也叫置換。替代密碼就是明文中的每個或每組字符由另一個或另一組字符所替換,即形成密文。在經(jīng)典密碼學中,有簡單替代、多名碼替代、多字母替代和多表替代加密法。32(1)簡單替代密碼簡單替代的就是明文的一個字母,用相應(yīng)的密文字母代替。規(guī)律是根據(jù)密鑰形成一個新的字母表,與原明文字母表有相應(yīng)的對應(yīng)關(guān)系。33典型的一種替代密碼是凱撒密碼,又叫循環(huán)移位密碼。其加密方法就是將明文中的每個字母都用其右邊固定步長的字母代替,構(gòu)成密文。例如:步長為4,則明文A、B、C、…、Y、Z可分別由E、F、G、…、C、D代替。如果明文是“about”,則變?yōu)槊芪摹癳fsyx”,其密鑰k=+4。兩個循環(huán)的字母表對應(yīng)。34ABCD…………WXYZEFGH…………ABCD(a)ABCD…………WXYZZYXW…………BCBA(b)ABCD…………WXYZCFIL…………QTWZ(c)圖5.2替代加密(a)移位映射(b)倒映射(c)步長映射(步長為3)35(2)多字母替代密碼

多字母替代密碼的加密和解密都是將字母以塊為單位進行的,比如,ABA對應(yīng)于OST,ABB對應(yīng)于STL,等等。多字母替代密碼是在19世紀中期發(fā)明的,在第一次世界大戰(zhàn)中,英國人就采用了這種對成組字母加密的密碼。36(3)多表替代密碼一種常用的多表替代密碼叫Vigenere密碼。它是循環(huán)使用有限個字母實現(xiàn)替代。Vigenere密碼就是把26個字母循環(huán)移位,排列在一起,形成26×26的方陣表。加密和解密時的明文、密鑰、密文就是表中的行、列及交點的內(nèi)容。372.移位密碼移位密碼變換:只對明文字母重新排序,位置變化了,而不隱藏它們。是一種打亂原文順序的替代法。把明文按行寫出,讀出時按列進行,得到的即為密文。38如明文為“thisisabookmark”,將其分為三行五列,則為以下形式:

thisisabookmark按列從左至右讀,可得到密文:

tskhamibasoriok39如果把明文字母按一定順序排列成矩陣形式,用另一種順序選擇相應(yīng)的列輸出得到密文。如用“china”為密鑰,對“thisisabookmark”排列成矩陣如下:

thisisabookmark按“china”各字母排序“23451”順序,輸出得到密文ioktskhamibasor40再如:對于句子“移位密碼加密時只對明文字母重新排序字母位置變化但它們沒被隱藏”,可選擇密鑰“362415”,并循環(huán)使用該密鑰對上句進行移位加密。密鑰的數(shù)字序列代表明文字符(漢字)在密文中的排列順序。41按照該密鑰加密可得到一個不可理解的新句子(密文)“密密位碼移加對字只明時文新字重排母序置但位變母化沒藏們被它隱”。解密時只需按密鑰362415的數(shù)字從小到大順序?qū)?yīng)的密文字符排列,即可得到明文。

423.一次一密鑰密碼

一次一密鑰密碼是一種理想的加密方案。就是一個隨機密碼字母集,包括多個隨機密碼,這些密碼就好象一個本本,其中每頁上記錄一條密碼。類似日歷的使用過程,每使用一個密碼加密一條信息后,就將該頁撕掉作廢,下次加密時再使用下一頁的密碼。43一次一密鑰密碼可推廣到二進制數(shù)據(jù)的加密。用二進制數(shù)據(jù)組成一次密碼本,用異或代替加法,對二進制密碼和明文進行操作;解密時用同樣的密碼和密文進行異或,得到明文。一次一密鑰密碼必須是隨機產(chǎn)生的,這樣才可做到最好效果的保密。44發(fā)送者使用密鑰本中每個密鑰字母串去加密一條明文字母串,加密過程就是將明文字母串和密鑰本中的密鑰字母串進行模26加法運算。接收者有一個同樣的密鑰本,并依次使用密鑰本上的每個密鑰去解密密文的每個字母串。接收者在解密信息后也銷毀密鑰本中用過的一頁密鑰。45例如,如果消息是:ONETIMEPAD密鑰本中的一頁密鑰是:GINTBDEYWX則可得到密文:VWSNKQJOXB這是因為:O+G=V(mod26)N+I=W(mod26)E+N=S(mod26)…………46一次一密的密鑰字母必須是隨機產(chǎn)生的。對這種方案的攻擊實際上是依賴于產(chǎn)生密鑰序列的方法。不要使用偽隨機序列發(fā)生器產(chǎn)生密鑰,因為它們通常有非隨機性。如果采用真隨機序列發(fā)生器產(chǎn)生密鑰,這種方案就是安全的。47一次一密密碼在今天仍有應(yīng)用場合,主要用于高度機密的低帶寬信道。美國與前蘇聯(lián)之間的熱線電話據(jù)說就是用一次一密密鑰本加密的,許多前蘇聯(lián)間諜傳遞的信息也是用一次一密鑰密碼加密的。至今這些信息仍是保密的,并將一直保密下去。484.3對稱密鑰密碼體制1.對稱密鑰密碼的概念也叫傳統(tǒng)密鑰密碼體制,其基本思想就是“加密密鑰和解密密鑰相同或相近”,由其中一個可推導出另一個。使用時兩個密鑰均需保密。傳統(tǒng)密鑰密碼算法有:DES、IDEA、TDEA(3DES)、MD5、RC5等,典型的算法是DES算法。49密文C明文輸出

P明文輸入

P加密算法解密算對稱密鑰對稱加密體制模型502.DES算法(1)DES算法概要

DES(數(shù)據(jù)加密標準)算法能對64位二進制數(shù)碼組成的數(shù)據(jù)組在64位密鑰的控制下進行加密和解密變換。64位密鑰中有8位作為校驗位(第8、16、24、32、40、48、56和64位),因此真正成為密鑰的只有56位。51在70年代初,DES已推出并廣泛應(yīng)用,1977年被NBS公布為數(shù)據(jù)加密標準。DES最先用于軍事系統(tǒng),后又推廣到民用,應(yīng)用最多的是在銀行和商業(yè)系統(tǒng)。但由于其保密性能受到質(zhì)疑,曾有很多專家希望用其它方法取代之。52(2)DES算法的主要過程①初始置換:②子密鑰生成:③乘積變換:④末置換:初始置換(IP)乘積變換子密鑰生成輸入64位明文(密文)64位密鑰組末置換(IP-1)輸出64位密文(明文)53(3)初始置換IP

初始置換(permutation)按照固定的矩陣進行(移位),此部分與密鑰無關(guān),如下表。

585042342618102 605244362820124 625446383022146645648403224168 57494133251791595143352719113 615345372921135 63554739312315754(4)子密鑰生成外部輸入的56位密鑰(64位中去掉8個校驗位)通過置換和移位操作生成加密和解密需要的16個48位的子密鑰。 具體步驟如下:55第一步:56位密鑰通過置換選擇PC-1(見表5.4)置換,然后分為左右各28位;第二步:兩個28位按其輪數(shù)進行不同位數(shù)的左移(見表5.5);第三步:將左右兩部分合成56位后,再經(jīng)過置換選擇PC-2(見表5.6)置換(壓縮置換)為48位的子密鑰。56K156位密鑰PC-1C0(28位)LS1LS16C0(28位)LS1LS16PC-2C1(28位)C1(28位)C16(28位)C16(28位)K16PC-2子密鑰的生成57(5)乘積變換此過程與密鑰有關(guān),且非常復雜,是加密/解密過程的關(guān)鍵。該過程包括線性變換和非線性變換。DES采用的是分組加密。該過程通過多次重復的替代和置換方法,打亂原輸入數(shù)據(jù)組,加大非規(guī)律性,增加系統(tǒng)分析的難度。58該過程包括如下步驟:第一步:經(jīng)過IP置換后的64位明文分為左右各32位兩部分Li-1和Ri-1

;第二步:將Ri-1的32位進行擴展置換(E盒子變換,見表5.7)成48位后,與第一組子密鑰Ki進行異或運算;59KiLi-1Ri-1RiP盒轉(zhuǎn)換Li擴展變換S盒轉(zhuǎn)換一輪DES變換60第二步的置換過程改變了位的次序,重復了某些位,使32位變換為48位。在擴展置換中,對于每個輸入的4位分組,第1和第4位分別表示輸出分組中的2位,第2和第3位分別表示輸出分組中的1位。如處于輸入分組的第3位移到了輸出分組的第4位,輸入分組的第4位移到了輸出分組的第5位和第7位。盡管輸出分組大于輸入分組,但每個輸入分組產(chǎn)生唯一的輸出分組。61第三步:異或結(jié)果經(jīng)過8個S盒子壓縮變換(選擇變換,見表5.8),得到32位輸出(每個盒子有6位輸入,輸出是4位);第四步:8個盒的32位輸出再經(jīng)過一個線性變換(P置換,見表5.9),得到32位輸出;第五步:P置換的32位輸出與Li-1異或,得到新的32位輸出,此即Ri;第六步:Li=Ri-1,與Ri

作為下一輪回的輸入6248位輸入32位輸出S盒1S盒2S盒3S盒4S盒5S盒8S盒6S盒7

S盒變換63第三步的S盒變換是將每個S盒的6位輸入變換為4位輸出,因此,48位輸入經(jīng)過8個S盒變換,得到32位輸出,該過程也叫壓縮變換。見表5.8中每個S盒是一個4行16列的表,盒中的每一項都是一個4位二進制數(shù)對應(yīng)的十進制數(shù)。S盒的6位輸入決定了其對應(yīng)的輸出在哪一行哪一列。64如6位輸入的第1和第6位組合構(gòu)成了2位二進制數(shù),可表示十進制數(shù)0~3,它對應(yīng)著表中的一行;6位輸入的第2到第5位組合構(gòu)成了4位二進制數(shù),可表示十進制數(shù)0~15,它對應(yīng)著表中的一列。假設(shè)S1盒的6位輸入是110100,其第1位和第6位組合為10,它對應(yīng)S1盒的第2行;中間4位組合為1010,它對應(yīng)S1盒的第10列。S1盒的第2行第10列的數(shù)是9,其二進制數(shù)為1001(行和列的計數(shù)均從0開始而非從1開始)。1001即為輸出,則1001就代替了110100。65(6)末置換末置換是DES算法的最后一步,是一次簡單的數(shù)碼移位,也與密鑰無關(guān)。它是把乘積變換輸出的64位碼,按表5.10所示進行重新排列,其結(jié)果即為64位密文。該組密文與其它各組明文加密得到的密文合在一起,即為原報文的加密結(jié)果。66(7)DES解密DES的解密算法與加密算法相同,解密密鑰也與加密密鑰相同。只是解密時逆向取用加密時用的密鑰順序。即加密時第1-16輪回迭代使用的子密鑰順序是k1,…,k16

,而解密時使用的子密鑰順序是k16,…,k1

,產(chǎn)生子密鑰時的循環(huán)移位是向右的。67(8)DES加密過程的數(shù)學模型

L0R0=IP(M64)(M64為64位輸入明文)

Ki=ks(i,key)i=1,2,…,16

(ks表示密鑰運算函數(shù),產(chǎn)生48位的子密鑰)Li=Ri-1/Ri=Li-1f(Ri-1,Ki)

?(Ri-1,Ki)中涉及到E變換、S盒代替、P盒變換和異或運算等步驟

C64=IP-1(L16,R16)68(9)DES解密過程的數(shù)學模型

L16R16=IP(C64)

Ki=ks(i,key)i=16,15,…,1Ri-1=

LiLi-1=Ri

?(Ri,Ki)M64=IP-1(L0,R0)69(10)DES的特點及應(yīng)用DES算法具有算法容易實現(xiàn)、速度快、通用性強等優(yōu)點,但也存在密鑰位數(shù)少,保密強度較差和密鑰管理復雜的缺點。DES主要的應(yīng)用范圍有:計算機網(wǎng)絡(luò)通信電子資金傳送系統(tǒng)保護用戶文件用戶識別703.對稱密碼體制的其它算法簡介(1)TDEA算法(三重DES算法):三重DES算法需要執(zhí)行三次DES的加密。一般三重DES算法使用兩個DES密鑰。其算法步驟為:發(fā)送端用密鑰K1進行DES加密;發(fā)送端用密鑰K2對上一結(jié)果進行DES解密;發(fā)送端用密鑰K1對上一結(jié)果進行DES加密;接收方則相應(yīng)地使用K1解密,K2加密,再使用K1解密。71K1EMK2DK3EK3DCK2EK1DMC三重DES的加密解密過程72(2)國際數(shù)據(jù)加密算法(IDEA)IDEA是分組密碼算法,分組長度為64位,但密鑰長度128位。該算法是用128位密鑰對64位二進制碼組成的數(shù)據(jù)組進行加密的,也可用同樣的密鑰對64位密文進行解密變換。IDEA的密鑰比DES的多一倍,增加了破譯難度,被認為是多年后都有效的算法。73IDEA算法也是通過一系列的加密輪回操作的,每輪中也使用壓縮函數(shù)進行變換,只是不使用移位置換。IDEA中使用的運算有:異或模216加法模216+1乘法這三種運算彼此混合可產(chǎn)生很好的效果。運算時IDEA把數(shù)據(jù)分為四個子分組,每個16位。744.4

公開密鑰密碼體制5.4.1

公鑰體制概述1.公鑰體制的概念加密密鑰與解密密鑰不同,且由其中一個不容易得到另一個,則這種密碼系統(tǒng)是非對稱密鑰系統(tǒng)。往往其中一個密鑰是公開的,另一個是保密的。因此,相應(yīng)的密碼體制叫公開密鑰密碼體制。75W.Diffie和M.Hellman1976年在IEEETrans.onInformation刊物上發(fā)表了“NewDirectioninCryptography”文章,提出了“公開密鑰密碼體制”的概念,開創(chuàng)了密碼學研究的新方向。76在公開密鑰密碼體制中,加密密鑰是公開的,解密密鑰是保密的,加/解密算法都是公開的。公開密鑰密碼體制的主要算法有RSA、背包算法、

Elgamal、Rabin、DH等。77公鑰體制加/解密模型加密(E)解密(D)發(fā)送M接收MKeKd密文C=E(M,Ke)782.公鑰體制的特點用Ke對明文加密后,再用Kd解密,即可恢復出明文,即

M=DKd{E

Ke(M)}加密和解密運算可以對調(diào),即

M=DKd{E

Ke(M)}=EKe{DKd(M)}79但加密密鑰不能用來解密,即

M≠DKe{E

Kd(M)}在計算上很容易產(chǎn)生密鑰對Ke和Kd

已知Ke是不能推導出Kd的,或者說從Ke得到Kd是“計算上不可能的”。804.4.2

數(shù)論基礎(chǔ)(1)模運算若a=b+kn對某些整數(shù)k成立則ab(modn)稱b為a模n的余數(shù),或a與b是模n的同余81(2)素數(shù)一個只能被1和它本身整除的正整數(shù)。如以下各數(shù)為素數(shù):2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,…,2521,2365347734339,2756839-1等都是素數(shù)。82(3)兩數(shù)互素兩個數(shù)的最大公因子為1,則兩數(shù)互素。

gcd(a,n)=1a和n互素15與28互素,13與500互素,而15與27不是互素一個素數(shù)與它的倍數(shù)以外的任何其它數(shù)都是互素的83(4)求模逆元什么是逆元呢?對于算術(shù)加法來說,5和-5互為逆元,因為5+(-5)=0;對于乘法來說,4的逆元是1/4,因為41/4=1。所謂的逆元,相對不同的運算,其含義是不同的。在模運算領(lǐng)域,該問題更復雜。如果ab≡1(modn),也可寫成b≡a-1(modn)可以說,a與b對于模n的乘法是互為逆元的。解決逆元的問題很復雜,有時有結(jié)果,有時沒有結(jié)果。比如5模14的逆元是3,因為53=15≡1(mod14)而2模12則沒有逆元。一般,如果a和n是互素的,那么a-1≡b(modn)有惟一解,即存在惟一的逆元;如果a和n不是互素的,那么a-1≡b(modn)沒有解,即沒有逆元;如果n是一個素數(shù),則從1到n-1的每一個數(shù)與n都是互素的,且在這個范圍內(nèi)各有一個逆元。計算逆元有一系列方法,歐幾里德算法就是其中之一。在公開密鑰密碼體制的RSA算法中,就是用歐幾里德算法求逆元的。84(5)歐拉函數(shù)和費爾馬小定理模n的余數(shù)化簡集是余數(shù)完全集合的子集,該子集中的數(shù)與n互素。例如:模12的余數(shù)化簡集是{1,5,7,11},如果n是素數(shù),那么模n的余數(shù)化簡集是從1到n-1的所有整數(shù)集合。對n不等于1的數(shù),數(shù)0不是余數(shù)化簡集的元素。歐拉函數(shù)(記為ф(n)),表示模n的余數(shù)化簡集中元素的數(shù)目,即ф(n)表示與n互素的小于n的正整數(shù)的數(shù)目(n>1)。如果n是素數(shù),那么

(n)=n-1;如果n=pq,且p和q互素,那么

(n)=(p-1)(q-1)。如果n是一個素數(shù),且a不是n的倍數(shù),則有:an-1≡1(modn)。這就是費爾馬小定理。因此,可以利用b=aф(n)-1(modn)來計算a模n。例如,計算5模7的逆元。7是素數(shù),

(7)=7-1=6。因此模7的逆元是56-1=55=3mod7計算逆元的兩種方法都可以推廣到一般性的問題中求解b(如果gcd(a,n)=1):(ab)=x(modn)用歐拉函數(shù)求解逆元:b=(xaф(n)-1)modn用歐幾里德算法求解逆元:b=(x(a-1modn))modn通常歐幾里德算法在計算逆元方面比歐拉函數(shù)更快,特別是對于500位范圍內(nèi)的數(shù)。如果gcd(a,n)≠1,也并非一切都無用。在這種情況下,(ab)=x(modn),可能有多個解或無解。85(6)因子分解

對于一個數(shù)進行因子分解,就是找出其各個素數(shù)因子,如:15=35,80=22225,252601=4161101等。在數(shù)論中,因子分解是一個古老的問題。分解一個數(shù)很簡單,但其過程很費時。目前最好的因子分解算法有:86數(shù)域篩選法:對大于110位字長的數(shù),數(shù)域篩選法是已知的最快的因子分解算法。當它最初被提出時,還不算實用,但隨著后來的一系列改進,成為新的一種因子分解實用算法。二次篩選法:對于低于110位的十進制數(shù),二次篩選法是已知的最快算法,且已得到廣泛應(yīng)用。該算法最快的版本叫多重多項式二次篩選的雙重大素數(shù)算法。

87橢圓曲線法:該算法曾用于尋找43位長數(shù)字的因子,對于更大的數(shù)是無用的。此外,還有蒙特卡羅算法、連分式算法、試除法等因子分解算法。884.4.3RSA算法簡介1.RSA算法RSA算法是1978年由三名美國MIT科學家Rivest,shamir和Adelman提出的一種著名的公開密鑰密碼算法(以該三位姓氏的第一個字母命名)。89經(jīng)過多年的分析研究,在眾多的公鑰體制中,RSA倍受推崇,已被ISO/TC97的數(shù)據(jù)加密技術(shù)分委員會SC20推薦為公鑰數(shù)據(jù)加密標準。RSA算法是建立在素數(shù)理論(Euler函數(shù)和歐幾里德定理)基礎(chǔ)上的算法。90由數(shù)論知識可知,將一個具有大素數(shù)因子的合數(shù)進行分解是很困難的,或者說這個計算量是令人望而生畏的。RSA正是建立在這個理論基礎(chǔ)之上的。RSA算法的加密密鑰Ke是公開的,而解密密鑰Kd是保密的。91在此不介紹RSA的理論基礎(chǔ)(復雜的數(shù)學分析和理論推導),只簡單介紹密鑰的選取和加、解密的實現(xiàn)過程。假設(shè)用戶A要對發(fā)送給B的數(shù)據(jù)加密,則可根據(jù)以下步驟選擇密鑰和進行密碼變換:92(1)隨機地選取兩個不同的大素數(shù)p和q(一般為100位以上的十進制數(shù))予以保密;(2)計算n=p·q,作為A的公開模數(shù);(3)計算Euler函數(shù)

(n)=(p-1)·(q-1)(modn)(4)隨機地選取一個與(p-1)·(q-1)互素的整數(shù)e,作為A的公開密鑰;93(5)用歐幾里德算法,計算滿足同余方程

E?D1(mod(n))

的解d,作為A用戶的保密密鑰;(6)任何向A發(fā)送明文的用戶,均可用A的公開密鑰e和公開模數(shù)n,根據(jù)式

C=Me(modn)

得到密文C94(7)用戶A收到C后,可利用自己的保密密鑰d,根據(jù)

M=Cd

(modn)

得到明文M952.

RSA算法舉例對“HI”進行加密:(1)選密鑰

設(shè)p=5,q=11,

則n=55,(n)=40

取e=3(公鑰),則d=27(mod40)(私鑰)96(2)加密設(shè)明文編碼為:空格=00,A=01,B=02,…,Z=26則明文HI=0809C1=(08)3=51217(mod55)C2=(09)3=72914(mod55)N=14,Q=17所以,密文為QN97(3)恢復明文M1=Cd=(17)27

08(mod55)M2=Cd=(14)27

09(mod55)因此明文為“HI”。98DES和RSA算法的特點和比較(1)DES的特點可靠性較高(16輪變化,增大了混亂性和擴散性,輸出不殘存統(tǒng)計信息);加密/解密速度快;算法容易實現(xiàn)(可由軟件和硬件實現(xiàn),硬件實現(xiàn)速度快),通用性強;99算法具有對稱性,密鑰位數(shù)少,存在弱密鑰和半弱密鑰,便于窮盡攻擊;密鑰管理復雜。100(2)RSA算法的特點密鑰管理簡單(網(wǎng)上每個用戶僅保密一個密鑰,且不需密鑰配送);便于數(shù)字簽名;可靠性較高(取決于分解大素數(shù)的難易程度);算法復雜,加密/解密速度慢,難于實現(xiàn)。1014.4.4

混合加密方法對稱密鑰密碼算法的特點是算法簡單,加/解密運算速度快;但其密鑰管理復雜,不便于數(shù)字簽名。而公開密鑰密碼算法的特點是密鑰管理簡單,便于數(shù)字簽名;但算法的理論復雜,加/解密運算速度慢。兩者的優(yōu)缺點互補。102因此,在實際應(yīng)用中,公開密鑰密碼系統(tǒng)并沒有完全取代對稱密鑰密碼系統(tǒng)。而是采用對稱密鑰加密方法與公開密鑰加密方法相結(jié)合(混合)的方式,如下圖所示。103加密后的對稱密鑰明文明文對稱密鑰加密(對稱算法)加密(公鑰算法)對稱密鑰加密(對稱算法)加密(公鑰算法)B的公鑰B的私鑰密文兩種密碼體制的混合應(yīng)用104這種混合加密方式的原理是:在發(fā)送端先使用DES或IDEA對稱算法加密數(shù)據(jù),然后使用公開算法RSA加密前者的對稱密鑰;到接收端,先使用RSA算法解密出對稱密鑰,再用對稱密鑰解密被加密的數(shù)據(jù)。要加密的數(shù)據(jù)量通常很大,但因?qū)ΨQ算法對每個分組的處理僅需很短的時間就可完成,因此對大量數(shù)據(jù)的加密/解密不會影響效率(若使用DES加密芯片,則速度會更快);105用RSA算法將對稱密鑰加密后就可公開了,而RSA的加密密鑰也可以公開,整個系統(tǒng)需保密的只有少量RSA算法的解密密鑰,因此這些密鑰在網(wǎng)絡(luò)中就很容易被分配和傳輸了;又因為對稱密鑰的數(shù)據(jù)量很少(64/128位),RSA只需對其做1~2個分組的加密/解密即可,也不會影響系統(tǒng)效率的。因此,使用這種混合加密方式既可以體現(xiàn)對稱算法速度快的優(yōu)勢,也可發(fā)揮公鑰算法密鑰管理方便的優(yōu)勢,二者各取其優(yōu),揚長避短。1064.5密鑰管理當合理的密碼算法確定后,密碼系統(tǒng)的保密強度完全取決于密鑰的保密程度。因此,密鑰管理在整個保密系統(tǒng)中占有重要地位,若密鑰得不到合理的保護和管理,即使算法再復雜,保密系統(tǒng)也是脆弱的。密鑰管理的目的就是要保證數(shù)據(jù)保密系統(tǒng)安全性。107密鑰管理包括密鑰的產(chǎn)生、密鑰的存儲和保護、密鑰的更新、密鑰的分發(fā)和傳輸、密鑰的驗證、密鑰的使用、密鑰的銷毀等。這些問題的本質(zhì)就是要正確地解決密鑰從產(chǎn)生到使用全過程的安全性和實用性。密鑰管理最主要的過程是密鑰的產(chǎn)生、保護、分發(fā)和使用。1084.5.1

密鑰的產(chǎn)生密鑰的產(chǎn)生是密鑰管理中的基本問題。首先要保證所產(chǎn)生的密鑰具有良好的隨機性,避免產(chǎn)生簡單、明顯的密鑰或一串容易記憶的字符或數(shù)字?,F(xiàn)在代網(wǎng)絡(luò)的信息量越來越大,需要密鑰量也大,密鑰的產(chǎn)生要能自動大量地進行。109密鑰的產(chǎn)生主要利用噪聲源技術(shù),該技術(shù)就是產(chǎn)生二進制的隨機序列或與之對應(yīng)的隨機數(shù)。其主要理論基礎(chǔ)是混沌理論。使用隨機系列發(fā)生器可以自動地產(chǎn)生大量隨機的密鑰。1104.5.2

密鑰的保護和分發(fā)1.密鑰的分層保護密鑰的分層保護也叫主密鑰管理體制。它是以對稱密鑰為基礎(chǔ)的管理體制。把密鑰分為幾層,高一層密鑰保護低一層密鑰。一般把密鑰分為主密鑰、輔助主密鑰和會話密鑰三個層次。主密鑰對輔助主密鑰進行加密保護,輔助主密鑰對會話密鑰進行加密保護。再用會話密鑰對傳輸?shù)木唧w信息進行加密保護。111該思想就是把網(wǎng)絡(luò)中大量使用的會話密鑰置于輔助主密鑰的保護之下,通過網(wǎng)絡(luò)送到各通信點。再由極少量的主密鑰保護輔助主密鑰。也可根據(jù)網(wǎng)絡(luò)的大小分為一級密鑰、二級密鑰和三級密鑰等。整個網(wǎng)絡(luò)的密鑰的保護與傳輸,都由計算機控制,實現(xiàn)密鑰管理的自動化。1122.會話密鑰的分發(fā)和保護在用戶A與B的通信系統(tǒng)中,可采用如下步驟分發(fā)和保護會話密鑰。(1)用戶A產(chǎn)生自己的公鑰Ke和私鑰Kd;(2)用戶A將Ke傳輸給用戶B;(3)用戶B用A的公鑰Ke加密自己產(chǎn)生的一個會話密鑰Ks,并傳輸給A;(4)用戶A用自己的私鑰Kd解密后得到Ks;(5)用戶A用Ks加密要發(fā)給B的數(shù)據(jù);通信結(jié)束后,Ks被清除。1134.5.3

網(wǎng)絡(luò)環(huán)境下的密鑰管理算法

----KerberosKerberos的主要功能是解決保密密鑰管理與分發(fā)問題。Kerberos建立在一個安全的、可信賴的密鑰分配中心(KDC)的概念上。建有KDC的系統(tǒng)用戶只需保管與KDC之間使用的密鑰加密密鑰—與KDC通信的密鑰即可。114KDC的工作過程:假設(shè)A要與B通信,A先向KDC提出申請與B的聯(lián)系和通信會話密鑰;KDC為A和B選擇一個會話密鑰Ks,分別用A和B知道的密鑰進行加密,然后分送給A和B;115A和B得到KDC加密過的信息后,分別解密之,得到會話密鑰Ks

;至此,A與B即可用進行通信了。通信結(jié)束后,Ks隨即被銷毀。KDC可以看作一個密鑰源,它可以與DES一起使用,也可以是一個公開密鑰源。1164.6網(wǎng)絡(luò)保密通信5.6.1通信安全要保證系統(tǒng)的通信安全,就要充分認識到網(wǎng)絡(luò)系統(tǒng)的脆弱性,特別是網(wǎng)絡(luò)通信系統(tǒng)和通信協(xié)議的弱點,估計到系統(tǒng)可能遭受的各種威脅,采取相應(yīng)的安全策略,盡可能地減少系統(tǒng)面臨的各種風險,保證計算機網(wǎng)絡(luò)系統(tǒng)具有高度的可靠性、信息的完整性和保密性。

117網(wǎng)絡(luò)通信系統(tǒng)可能面臨各種各樣的威脅,如來自各種自然災(zāi)害、惡劣的系統(tǒng)環(huán)境、人為破壞和誤操作等。所以,要保護網(wǎng)絡(luò)通信安全,不僅必須要克服各種自然和環(huán)境的影響,更重要的是要防止人為因素造成的威脅。

118線路安全:通信過程中,通過在通信線路上搭線可以竊取(竊聽)傳輸信息,還可以使用相應(yīng)設(shè)施接收線路上輻射的信息,這些就是通信中的線路安全問題??梢圆扇∠鄳?yīng)的措施保護通信線路安全。采用電纜加壓技術(shù)可保護通信電纜安全。

119TCP/IP服務(wù)的脆弱性:基于TCP/IP協(xié)議的服務(wù)很多,常用的有Web服務(wù)、FTP服務(wù)、電子郵件服務(wù)等;人們不太熟悉的有TFTP服務(wù)、NFS服務(wù)、Finger服務(wù)等。這些服務(wù)都在不同程度上存在安全缺陷。1204.6.2

通信加密

(1)硬件加密和軟件加密

網(wǎng)絡(luò)中的數(shù)據(jù)加密可分為兩個途徑,一種是通過硬件實現(xiàn)數(shù)據(jù)加密,一種是通過軟件實現(xiàn)數(shù)據(jù)加密。通過硬件實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)加密有三種方式:鏈路加密、節(jié)點加密和端--端加密;軟件數(shù)據(jù)加密就是指使用前述的加密算法進行的加密。

121硬件加密:所有加密產(chǎn)品都有特定的硬件形式。這些加、解密硬件被嵌入到通信線路中,然后對所有通過的數(shù)據(jù)進行加密。雖然軟件加密在今天正變得很流行,但硬件加密仍是商業(yè)和軍事等領(lǐng)域應(yīng)用的主要選擇。選用硬件加密的原因有:

122快速。加密算法中含有許多復雜運算,采用硬件措施將提高速度,而用軟件實現(xiàn)這些復雜運算將影響速度;安全。使用硬件加密設(shè)備可將加密算法封裝保護,以防被修改。易于安裝。將專用加密硬件放在電話、傳真機中比設(shè)置在微處理器中更方便。安裝一個加密設(shè)備比修改配置計算機系統(tǒng)軟件更容易。123軟件加密:任何加密算法都可用軟件實現(xiàn)。軟件實現(xiàn)的劣勢是速度、開銷和易于改動,而優(yōu)勢是靈活性和可移植性,易使用,易升級。軟件加密程序很大眾化,并可用于大多數(shù)操作系統(tǒng)。這些加密程序可用于保護個人文件,用戶通常用手工加/解密文件。軟件加密的密鑰管理很重要,密鑰不應(yīng)該存儲在磁盤中,密鑰和未加密文件在加密后應(yīng)刪除。

124(2)通信加密方式

鏈路加密:是傳輸數(shù)據(jù)僅在數(shù)據(jù)鏈路層上進行加密。鏈路加密是為保護兩相鄰節(jié)點之間鏈路上傳輸?shù)臄?shù)據(jù)而設(shè)立的。只要把兩個密碼設(shè)備安裝在兩個節(jié)點間的線路上,并裝有同樣的密鑰即可。被加密的鏈路可以是微波、衛(wèi)星和有線介質(zhì)。125在鏈路上傳輸?shù)男畔⑹敲芪?包括信息正文、路由及檢驗碼等控制信息),而鏈路間節(jié)點上必須是明文。因為在各節(jié)點上都要進行路徑選擇,而路由信息必須是明文,否則就無法進行選擇了。126這樣,信息在中間節(jié)點上要先進行解密,以獲得路由信息和檢驗碼,進行路由選擇、差錯檢測,然后再被加密,送至下一鏈路。同一節(jié)點上的解密和加密密鑰是不同的。127PP節(jié)點1節(jié)點2節(jié)點3節(jié)點nL2Ln-1L1E1DnPPD1E2D2E3C1C2Cn-1鏈路加密128端--端加密:是傳輸數(shù)據(jù)在應(yīng)用層上完成加密的。端--端加密是對兩個用戶之間傳輸?shù)臄?shù)據(jù)提供連續(xù)的安全保護。數(shù)據(jù)在初始節(jié)點上被加密,直到目的節(jié)點時才能被解密,在中間節(jié)點和鏈路上數(shù)據(jù)均以密文形式傳輸。129只有在發(fā)送端和接收端才有加密和解密設(shè)備,中間各節(jié)點不需要有密碼設(shè)備。因為信息的報頭為路徑選擇信息,各中間節(jié)點雖不進行解密,但必須檢查報頭信息,所以路徑選則信息不能被加密,必須是明文。所以,端--端加密只能對信息的正文(報文)進行加密,而不能對報頭加密。130PPL1L2Ln-1節(jié)點2節(jié)點3節(jié)點n節(jié)點1EDCCC端-端加密131幾種通信加密方式的比較:常用的通信加密方式是鏈路加密和端—端加密。鏈路加密是對整個鏈路的通信采取保護措施,而端—端加密則是對整個網(wǎng)絡(luò)系統(tǒng)采取保護措施。132鏈路加密:方式比較簡單,實現(xiàn)也較容易,只要把兩個密碼設(shè)備安裝在兩個節(jié)點間的線路上,并裝有同樣的密鑰即可;鏈路加密時由于報頭在鏈路上均被加密,因此可防止報文流量的分析攻擊。鏈路加密可屏蔽掉報文的頻率、長度等特征,從而使攻擊者得不到這些特征值;133一個鏈路被攻破,而不影響其它鏈路上的信息;一個中間節(jié)點被攻破時,通過該節(jié)點的所有信息將被泄露;加密和維護費用大,用戶費用很難合理分配。134端—端加密:可提供靈活的保密手段,如主機到主機、主機到終端、主機到進程的保護;并非所有用戶發(fā)送的所有信息都需要加密。只有需要保護的信息的發(fā)收方才需設(shè)置加密,個人用戶可選擇安裝所需設(shè)備,因此加密費用低,加密費用能準確分攤;135加密在網(wǎng)絡(luò)應(yīng)用層實現(xiàn),可提高網(wǎng)絡(luò)加密功能的靈活性;因為不能對路由信息進行加密,所以容易受到信息流量分析攻擊;整個通信過程中各分支相互關(guān)聯(lián),任何局部受到破壞時將影響整個通信過程。136通信加密方式的選擇在需要保護的鏈路數(shù)較多,或在文件保護、郵件保護、支持端—端加密的遠程調(diào)用等通信場合,宜采用端—端加密方式,以利于降低成本,又能支持高靈活性、高保密性通信;在多個網(wǎng)絡(luò)互連的環(huán)境中,宜采用端—端加密方式;137在需要保護的鏈路數(shù)少,且要求實時通信、不支持端—端加密遠程調(diào)用等場合,宜采用鏈路加密方式;在需要抵御信息流量分析場合,可考慮采用鏈路加密和端—端加密相結(jié)合的加密方式。鏈路加密是對路由信息進行的,端—端加密是對端—端傳輸?shù)膱笪倪M行的??偟膩碚f,與鏈路加密相比,端—端加密具有成本低、保密性強、靈活性好等優(yōu)點,應(yīng)用場合較多。1384.7鑒別與認證5.7.1鑒別技術(shù)概述1.鑒別的概念網(wǎng)絡(luò)安全系統(tǒng)的一個重要方面是防止非法用戶對系統(tǒng)的主動攻擊,如偽造信息、篡改信息等。鑒別(Authentication也叫驗證)是防止主動攻擊的重要技術(shù)。鑒別的目的就是驗證一個用戶身份的合法性和用戶間傳輸信息的完整性與真實性。139鑒別包括報文鑒別和身份驗證。報文鑒別是為了確保數(shù)據(jù)的完整性和真實性,對報文的來源、時間性及目的地進行驗證。身份驗證是驗證進入網(wǎng)絡(luò)系統(tǒng)者是否是合法用戶,以防非法用戶訪問系統(tǒng)報文鑒別和身份驗證可采用數(shù)字簽名技術(shù)及其他技術(shù)來實現(xiàn)。140(1)報文鑒別報文鑒別是一個過程,它使得通信的接收方能夠驗證所收到的報文(發(fā)送者和報文內(nèi)容、發(fā)送時間、序列等)的真?zhèn)巍笪蔫b別又稱完整性校驗,在銀行業(yè)稱為消息認證,在OSI安全模型中稱為封裝。報文鑒別過程必須確定以下三個內(nèi)容:報文是由指定的發(fā)送方產(chǎn)生的;報文內(nèi)容沒有被修改過;報文是按已傳送的相同順序收到的。這些確定可由數(shù)字簽名、信息摘要或散列函數(shù)來完成。141(2)身份驗證身份驗證一般涉及兩個過程,一個是識別,一個是驗證。識別是指要明確訪問者是誰,即要對網(wǎng)絡(luò)中的每個合法用戶都有識別能力。要保證識別的有效性,必須保證代表用戶身份的識別符的惟一性。驗證就是指在訪問者聲明自己的身份后,系統(tǒng)要對他所申明的身份進行驗證,以防假冒。識別信息一般是非秘密的,如用戶信用卡的號碼、用戶名、身份證號碼等;而驗證信息一般是秘密的,如用戶信用卡的密碼。身份驗證的方法有口令驗證、個人持證驗證和個人特征驗證三類。口令驗證法最簡單,系統(tǒng)開銷也小,但其安全性最差。持證為個人持有物,如鑰匙、磁卡、智能卡等。持證法比口令法安全性好,但驗證系統(tǒng)比較復雜。磁卡常和PIN一起使用。以個人特征進行驗證時,可有多種技術(shù)為驗證機制提供支持,如指紋識別、聲音識別、血型識別、視網(wǎng)膜識別等。個人特征方法驗證的安全性最好,但驗證系統(tǒng)也最復雜。1422.數(shù)字簽名數(shù)字簽名(DigitalSignature)可解決手寫簽名中的簽字人否認簽字或其他人偽造簽字等問題。因此,被廣泛用于銀行的信用卡系統(tǒng)、電子商務(wù)系統(tǒng)、電子郵件以及其他需要驗證、核對信息真?zhèn)蔚南到y(tǒng)中。手工簽名是模擬的,因人而異,而數(shù)字簽名是數(shù)字式的(0、1數(shù)字串),因信息而異。數(shù)字簽名具有以下功能:收方能夠確認發(fā)方的簽名,但不能偽造。發(fā)方發(fā)出簽過名的信息后,不能再否認。收方對收到的簽名信息也不能否認。一旦收發(fā)方出現(xiàn)爭執(zhí),仲裁者可有充足的證據(jù)進行評判。1433.單向散列函數(shù)

在現(xiàn)階段,一般存在兩個方向的加密方式,即雙向加密和單向加密。Hash函數(shù)就是一類單向加密數(shù)據(jù)的函數(shù),也叫單向散列函數(shù)。在開放式網(wǎng)絡(luò)系統(tǒng)中使用的可靠的Hash函數(shù)有:基于分組密碼算法的Hash函數(shù)。系列Hash函數(shù)MD2、MD4和MD5等。這些函數(shù)都產(chǎn)生128位的輸出,MD5(信息摘要算法)就是一種優(yōu)秀的單向加密算法。美國政府的安全Hash標準(SHA-1)。SHA-1是MD4的一個變形,產(chǎn)生160位的輸出,與DSA(數(shù)字簽名算法)匹配使用。1444.7.2

數(shù)字簽名數(shù)字簽名(DigitalSignature)可解決手寫簽名中的簽字人否認簽字或其他人偽造簽字等問題。因此,被廣泛用于銀行的信用卡系統(tǒng)、電子商務(wù)系統(tǒng)、電子郵件以及其他需要驗證、核對信息真?zhèn)蔚南到y(tǒng)中。145手工簽名是模擬的,因人而異,而數(shù)字簽名數(shù)字式的(0、1數(shù)字串),因信息而異。數(shù)字簽名的功能:收方能夠確認發(fā)方的簽名,但不能偽造;發(fā)方發(fā)出簽過名的信息后,不能再否認;收方對收到的簽名信息也不能否認;一旦收發(fā)方出現(xiàn)爭執(zhí),仲裁者可有充足的證據(jù)進行評判。146(1)密碼算法與數(shù)字簽名

一個由公開密鑰密碼體制實現(xiàn)的數(shù)字簽名過程如下圖KAdKAe簽名驗證ABMSSM147一個典型的由公開密鑰密碼體制實現(xiàn)的、帶有加密功能的數(shù)字簽名過程如下圖KBd加密(E)KBe解密(D)C信道簽名驗證KAdKAeABMSSM148數(shù)字簽名的主要方式是:報文的發(fā)送方利用單向散列函數(shù)從報文文本中生成一個128位的散列值(或信息摘要)。發(fā)送方用自己的私人密鑰對這個散列值進行加密來形成發(fā)送方的數(shù)字簽名。然后,該數(shù)字簽名將作為報文的附件和報文一起發(fā)送給報文的接收方。149報文的接收方首先從接收到的原始報文中計算出128位的散列值(或信息摘要),接著再用發(fā)送方的公開密鑰來對報文附加的數(shù)字簽名進行解密得到原散列值。如果這兩個散列值相同,則接收方就能確認該數(shù)字簽名是發(fā)送方的。通過數(shù)字簽名能夠?qū)崿F(xiàn)對原始報文的鑒別。150(2)數(shù)字簽名過程只有加入數(shù)字簽名及驗證才能真正實現(xiàn)信息在公開網(wǎng)絡(luò)上的安全傳輸。加入數(shù)字簽名和驗證的文件傳輸過程如下(見下圖)發(fā)送方首先用Hash函數(shù)從原報文中得到數(shù)字簽名,然后采用公開密鑰算法用自己的私有密鑰對數(shù)字簽名進行加密,并把加密后的數(shù)字簽名附加在要發(fā)送的報文后面;151單向函數(shù)明文信息摘要簽名后的信息摘要密文簽名后的信息摘要用A的私鑰簽名發(fā)送方A明文信息摘要簽名后的信息摘要密文簽名后的信息摘要用A的公鑰驗證接收方B信息摘要單向函數(shù)比較數(shù)字簽名和驗證過程152發(fā)送方選擇一個會話密鑰對原報文進行加密,并把加密后的文件通過網(wǎng)絡(luò)傳輸?shù)浇邮辗剑辉儆媒邮辗降墓_密鑰對會話密鑰進行加密,并通過網(wǎng)絡(luò)把加密后會話密鑰傳輸?shù)浇邮辗?;接受方使用自己的私有密鑰對會話密鑰信息進行解密,得到會話密鑰的明文;接收方再用會話密鑰對加密了的報文進行解密,得到原報文;153接收方用發(fā)送方的公開密鑰對加密的數(shù)字簽名進行解密,得到數(shù)字簽名的明文;接收方再用得到的原報文和Hash函數(shù)重新計算數(shù)字簽名,并與解密后的數(shù)字簽名進行對比。如果兩個數(shù)字簽名是相同的,說明文件在傳輸過程中沒有被破壞,信息完整。154(3)數(shù)字簽名算法和技術(shù)目前,廣泛應(yīng)用的數(shù)字簽名算法主要有三種:RSA簽名、DSS(數(shù)字簽名系統(tǒng))簽名和Hash簽名。這三種算法可單獨使用,也可綜合在一起使用。數(shù)字簽名是通過密碼算法對數(shù)據(jù)進行加、解密變換實現(xiàn)的,用DES算法、RSA算法都可實現(xiàn)數(shù)字簽名。155(4)數(shù)字簽名與信息加密的區(qū)別數(shù)字簽名的加密/解密過程和信息(報文)的加密/解密過程雖然都可使用公開密鑰算法,但實現(xiàn)過程正好相反,使用的密鑰對也不同。數(shù)字簽名使用的是發(fā)送方的密鑰對,發(fā)送方用自己的私有密鑰進行加密(簽名),接收方用發(fā)送方的公開密鑰進行解密(驗證)。這是一個一對多的關(guān)系:任何擁有發(fā)送方公開密鑰的人都可以驗證數(shù)字簽名的正確性。156而信息(報文)的加密/解密則使用的是接收方的密鑰對,這是多對一的關(guān)系:任何知道接收方公開密鑰的人都可以向接收方發(fā)送加密信息,只有唯一擁有接收方私有密鑰的人才能對信息解密。在實用過程中,通常一個用戶擁有兩個密鑰對,一個密鑰對用來對數(shù)字簽名進行加密/解密,一個密鑰對用來對信息(報文)進行加密/解密。這種方式提供了更高的安全性。157數(shù)字簽名大多采用非對稱密鑰加密算法,它能保證發(fā)送信息的完整性、身份的真實性和不可否認性,而數(shù)字加密采用了對稱密鑰加密算法和非對稱密鑰加密算法相結(jié)合的方法,它能保證發(fā)送信息的保密性。數(shù)字簽名和信息加密過程的區(qū)別比較明顯(如下圖所示)。158接收者加密發(fā)送者使用發(fā)送者的私鑰加密使用接收者的公鑰數(shù)字簽名解密使用發(fā)送者的公鑰解密使用接收者的私鑰驗證數(shù)字簽名與數(shù)據(jù)加密的區(qū)別數(shù)據(jù)加密數(shù)據(jù)解密1594.7.3CA認證1.CA認證中心驗證通信中使用的密鑰對是否就是用戶的密鑰對,要使用證書驗證。證書(Certification)或憑證是一種特殊的簽名信息。它包含用戶特異名字、公鑰和有效期。它是由CA(CertificateAuthority驗證中心)進行簽名得到的(發(fā)放的)。160CA的英文全稱是CertificateAuthority,即證書授權(quán)中心,也叫認證中心。CA作為權(quán)威的、可信賴的第三方,是發(fā)放、管理、廢除數(shù)字證書的機構(gòu)。其作用是檢查證書持有者身份的合法性,并簽發(fā)證書,以防證書被偽造或篡改,以及對證書和密鑰進行管理,承擔公鑰體系中公鑰合法性檢驗的責任。161CA認證中心的主要功能證書的頒發(fā)證書的更新證書的查詢證書的歸檔證書的作廢162CA的簽名過程用戶產(chǎn)生密鑰對,并將公鑰部分及其它識別信息提交給CA。當CA一旦對用戶的身份表示滿意,就取下用戶的公鑰,并對它制作信息摘要;信息摘要用CA的專用密鑰進行加密,制作用戶公鑰的CA簽名;163用戶的公鑰和驗證用戶公鑰的CA簽名組合在一起制作數(shù)字證書。數(shù)字證書164CA簽發(fā)并管理正式使用的公鑰和與用戶相關(guān)聯(lián)的證書。證書只在某一時間內(nèi)有效,因而CA保存一份有效證書及其有效期清單。有時證書或許要及早廢除,因而CA保存一份廢除的證書及有效證書的清單。CA的有效證書、廢除證書或過期證書的清單可提供給任何一個要獲得這種清單的人。165數(shù)字證書:是一個經(jīng)證書授權(quán)中心數(shù)字簽名的、包含公開密鑰擁有者信息及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及CA中心的數(shù)字簽名。一般情況下證書中還包括密鑰的有效時間,發(fā)證機關(guān)(證書授權(quán)中心)的名稱,該證書的序列號等信息。166以數(shù)字證書為核心的加密技術(shù)可以對網(wǎng)絡(luò)上傳輸?shù)男畔⑦M行加密和解密、數(shù)字簽名和驗證,確保網(wǎng)上傳遞信息的保密性、完整性,以及交易實體身份的真實性,簽名信息的不可否認性,從而保障網(wǎng)絡(luò)應(yīng)用的安全性。167數(shù)字證書主要有以下四大功能

(1)保證信息的保密性

(2)保證信息的完整性

(3)保證交易者身份的真實性

(4)保證不可否認性168數(shù)字證書通常有以下類型個人證書:包括個人安全電子郵件證書和個人身份證書。企業(yè)證書:包括企業(yè)安全電子郵件證書和企業(yè)身份證書。服務(wù)器證書:包括Web服務(wù)器證書和服務(wù)器身份證書。信用卡身份證書:包括消費者證書、商家證書和支付網(wǎng)關(guān)證書。169數(shù)字證書的應(yīng)用:網(wǎng)絡(luò)上的行政作業(yè)和商務(wù)活動,如發(fā)送安全電子郵件、訪問安全站點、網(wǎng)上證券、網(wǎng)上招投標、網(wǎng)上簽約、網(wǎng)上辦公、網(wǎng)上繳費、網(wǎng)上納稅等網(wǎng)上安全電子事務(wù)處理和安全電子交易活動。其應(yīng)用范圍涉及需要身份認證及數(shù)據(jù)安全的各個行業(yè)。

1704.7.4

安全套接層(SSL)協(xié)議1.SSL協(xié)議概述SSL安全協(xié)議最初是由NetscapeCommunication公司為了保證Web通信協(xié)議的安全設(shè)計開發(fā)的,又叫“安全套接層(SecureSocketsLayer)協(xié)議”,主要用于提高應(yīng)用程序之間數(shù)據(jù)的安全系數(shù)。171SSL協(xié)議可以被概括為:一個保證任何安裝了安全套接字的客戶機和服務(wù)器間事務(wù)安全的協(xié)議,它涉及所有的TCP/IP應(yīng)用程序。SSL協(xié)議所采用的加密算法和認證算法使它具有較高的安全性,因此它很快成為事實上的工業(yè)標準。SSL協(xié)議被廣泛用于Internet上的安全傳輸、身份驗證等。172SSL采用TCP作為傳輸協(xié)議提供數(shù)據(jù)的可靠性傳輸。SSL工作在傳輸層之上,獨立于更高層應(yīng)用,可為更高層協(xié)議(如HTTP、FTP等)提供安全服務(wù)。SSL協(xié)議在應(yīng)用層協(xié)議通信之前就已完成了加密算法、通信密鑰的協(xié)商和服務(wù)器認證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會被加密,從而保證通信的保密性。

173SSL不是一個單獨的協(xié)議,而是由多個協(xié)議構(gòu)成兩個層次,其中主要協(xié)議是記錄協(xié)議和握手協(xié)議。SSL記錄協(xié)議:提供的信息的分段、壓縮、數(shù)據(jù)認證和加密;SSL握手協(xié)議。SSL握手協(xié)議用來交換版本號、加密算法、(相互)身份認證并交換密鑰。

1742.SSL協(xié)議的功能SSL安全協(xié)議提供三方面的服務(wù)功能:用戶和服務(wù)器的合法性認證;

加密數(shù)據(jù)以便隱藏被傳送的數(shù)據(jù);

保護數(shù)據(jù)的完整性。

SSL協(xié)議是一個保證計算機通信安全的協(xié)議,對通信對話過程進行安全保護。1753.SSL協(xié)議的實現(xiàn)過程SSL協(xié)議對通信對話過程進行安全保護。實現(xiàn)過程主要有如下幾個階段:(1)接通階段客戶機通過網(wǎng)絡(luò)向服務(wù)器打招呼,服務(wù)器回應(yīng);(2)密碼交換階段客戶機與服務(wù)器之間交換雙方認可的密碼,一般選用RSA密碼算法,也有的選用Diffie-Hellmanf密碼算法;(3)會話密碼階段客戶機與服務(wù)器間產(chǎn)生彼此交流的會話密碼;(4)檢驗階段客戶機檢驗服務(wù)器取得的密碼;(5)客戶認證階段服務(wù)器驗證客戶機的可信度;(6)結(jié)束階段客戶機與服務(wù)器之間相互交換結(jié)束信息。

1764.SSL協(xié)議的應(yīng)用SSL安全

溫馨提示

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

評論

0/150

提交評論