密碼學(xué)應(yīng)用(計算機網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用)課件_第1頁
密碼學(xué)應(yīng)用(計算機網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用)課件_第2頁
密碼學(xué)應(yīng)用(計算機網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用)課件_第3頁
密碼學(xué)應(yīng)用(計算機網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用)課件_第4頁
密碼學(xué)應(yīng)用(計算機網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用)課件_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四章 密碼學(xué)應(yīng)用l 密鑰的生命周期及密鑰管理的概念l對稱密鑰體制、公鑰體制的密鑰管理方法l 消息認(rèn)證的原理和方法l PKI的原理l 數(shù)字證書的應(yīng)用l PGP的原理及使用4.1 密鑰管理4.1.1密鑰產(chǎn)生及管理概述 一個密鑰在生存期內(nèi)一般要經(jīng)歷以下幾個階段:l 密鑰的產(chǎn)生l 密鑰的分配l 啟用密鑰/停有密鑰l 替換密鑰或更新密鑰l 撤銷密鑰 銷毀密鑰 4.1.2 對稱密碼體制的密鑰管理(1)密鑰分配中心KDCKDC與每一個用戶之間共享一個不同的永久密鑰,當(dāng)兩個用戶A和B要進(jìn)行通信時,由KDC產(chǎn)生一個雙方會話使用的密鑰K,并分別用兩個用戶的永久密鑰KA、KB來加密會話密鑰發(fā)給他們,即將KA(K)

2、發(fā)給A,KB(K)發(fā)給B;A、B接收到加密的會話密鑰后,將之解密得到K,然后用K來加密通信數(shù)據(jù)。 (2)基于公鑰體制的密鑰分配假設(shè)通信雙方為A和B。使用么鑰體制交換對稱密鑰的過程是這樣的:首先A通過一定的途徑獲得B的公鑰;然后A隨機產(chǎn)生一個對稱密鑰K,并用B的公鑰加密對稱密鑰K發(fā)送給B;B接收到加密的密鑰后,用自己的私鑰解密得到密鑰K。在這個對稱密鑰的分配過程中,不再需要在線的密鑰分配中心,也節(jié)省了大量的通信開銷。 4.1.3 公開密鑰體制的密鑰管理 主要有兩種公鑰管理模式,一種采用證書的方式,另一種是PGP采用的分布式密鑰管理模式。(1)公鑰證書公鑰證書是由一個可信的人或機構(gòu)簽發(fā)的,它包括證

3、書持有人的身份標(biāo)識、公鑰等信息,并由證書頒發(fā)者對證書簽字。 (2)分布式密鑰管理在某些情況下,集中的密鑰管理方式是不可能的,比如:沒有通信雙方都信任的CA。用于PGP的分布式密鑰管理,采用了通過介紹人(introducer)的密鑰轉(zhuǎn)介方式 (1)使用對稱密鑰體制產(chǎn)生消息認(rèn)證碼發(fā)送者把消息m分成若干個分組(m1,m2.mi),利用分組密密碼算法來產(chǎn)生MAC,其過程如圖4-3所示。圖4-3 利用分組密碼產(chǎn)生MAC的過程4.2.2 單向散列函數(shù)單向散列函數(shù)(one-way hash function),也叫壓縮函數(shù)、收縮函數(shù),它是現(xiàn)代密碼學(xué)的中心,是許多協(xié)議的另一個結(jié)構(gòu)模塊。散列函數(shù)長期以來一直在計

4、算機科學(xué)中使用,散列函數(shù)是把可變長度的輸入串(叫做預(yù)映射,pre-image)轉(zhuǎn)換成固定長度的輸出串(叫做散列值)的一種函數(shù)單向散列函數(shù)是在一個方向上工作的散列函數(shù),即從預(yù)映射的值很容易計算出散列值,但要從一個特定的散列值得出預(yù)映射的值則非常難。 4.2.3 消息摘要算法MD5 MD5以512bit的分組來處理輸入文本,每一分組又劃分為16個32bit的子分組。算法的輸出由4個32bit分組組成,將它們級聯(lián)形成一個128bit的散列值。首先填充消息使用其長度恰好為一個比512的倍數(shù)僅小64bit的數(shù)。填充方法是在消息后面附一個1,然后填充上所需要的位數(shù)的0,然后在最后的64位上附上填充前消息的

5、長度值。這樣填充后,可使消息的長度恰好為512的整數(shù)倍,且保證不同消息在填充后不相同。首先要對四個32bit的變量進(jìn)行初始化,這四個變量稱為鏈接變量(chaining variable)。A=0 x01234567B=0 x89abcdefC=0 xfedcba98D=0 x76543210MD5一次循環(huán)過程 2、 數(shù)字簽名的實現(xiàn)方法 (1)使用對稱加密和仲裁者實現(xiàn)數(shù)字簽名 (2)使用公開密鑰體制進(jìn)行數(shù)字簽名公開密鑰體制的發(fā)明,使數(shù)字簽名變得更簡單,它不再需要第三方去簽名和驗證。簽名的實現(xiàn)過程如下:A用他的私人密鑰加密消息,從而對文件簽名;A將簽名的消息發(fā)送給B;B用A的公開密鑰解消息,從而驗

6、證簽名; (4)加入時間標(biāo)記的簽名(5)多重簽名(6)盲簽名 4.3 Kerberos認(rèn)證交換協(xié)議4.3.1 Kerberos模型的工作原理和步驟 (1)客戶請求Kerberos認(rèn)證服務(wù)器AS發(fā)給接入TGS的門票。ClientAS的消息:c,tgs(2)Kerberos在其數(shù)據(jù)庫中查找客戶實體,產(chǎn)生會話密鑰Kc,tgs,使用Kc對之加密,生成允許客戶使用的TGS的票據(jù)Tc,tgs(Tc,tgs中包括:客戶實體名、地址、TGS名、時間印記、時限、會話密鑰Kc,tgs等),并用Kerberos與TGS之間的秘密密鑰加密,然后把兩個加密消息發(fā)給客戶。ASClient的消息:Kc,tgsKc,Tc,t

7、gsKtgs(3)客戶用自己的秘密密鑰解密消息得到會話密鑰Kc,tgs,然后生成一個認(rèn)證單Ac,s(Ac,s中包括客戶實體名、地址、時間標(biāo)記),并使用Kc,tgs加密,然后向TGS發(fā)出請求,申請接入應(yīng)用服務(wù)器的門票。ClientTGS的消息:Ac,sKc,tgs,Tc,tgsKtgs(4)TGS對Tc,tgs消息解密獲得Kc,tgs,用Kc,tgs對加密的認(rèn)證單解密獲得Ac,s,并與Tc,tgs中的數(shù)據(jù)進(jìn)行比較,然后由TGS產(chǎn)生客戶和服務(wù)器之間使用的會話密鑰Kc,s,并將Kc,s加入到客戶向該服務(wù)器提交的Ac,s中,生成門票Tc,s,然后用目標(biāo)服務(wù)器的秘密密鑰Ks將此門票加密。TGSClien

8、t的消息:Kc,sKc,tgs,Tc,sKs(5)客戶對消息解密獲得Kc,s,客戶制作一個新的認(rèn)證單Ac,s,并用Kc,s加密與Tc,sKs一起發(fā)給目標(biāo)服務(wù)器;服務(wù)器對Tc,sKs解密獲得Kc,s,利用Kc,s對Ac,sKc,s解密獲得Ac,s,將Ac,s與Tc,s的內(nèi)容比較,如果無誤,則服務(wù)器知道客戶真實的身份,決定是否與之進(jìn)行通信。ClientServer的消息:Ac,sKc,s,Tc,sKs如果客戶需要對服務(wù)器的身份進(jìn)行確認(rèn),也可以使用同樣的方法。4.3.2 Kerberos的優(yōu)勢與缺陷Kerberos為網(wǎng)絡(luò)中的所有實體提供了一個集中的、統(tǒng)一的認(rèn)證管理機制,而一般的認(rèn)證協(xié)議(如SSL)僅

9、局限于客戶與服務(wù)器兩者之間的交換過程;運用Kerbeross票據(jù)的概念,使一次性簽放的機制得以實現(xiàn),每張票據(jù)中都有一個時限,典型的為8小時,在時限到來之前,用戶可以使用該票據(jù)多次連接使用應(yīng)用服務(wù)器;Kerberos認(rèn)證服務(wù)器與TGS產(chǎn)生的會話密鑰Kc,tgs和Kcs保證了客戶與TGS和Server之間消息傳輸?shù)陌踩?;支持分布環(huán)境下的認(rèn)證服務(wù);支持雙向的身份認(rèn)證服務(wù)。Kerberos仍存在著幾個潛在的安全弱點。舊的鑒別碼可能被存儲和重用,盡管時間標(biāo)記可以防止這種攻擊,但在票據(jù)有效期內(nèi)仍可能發(fā)生重用,并且鑒別碼是基于網(wǎng)絡(luò)中所有時鐘同步的事實,如果能欺騙主機,使之時間發(fā)生錯誤,那么舊的鑒別碼就會很

10、容易地實現(xiàn)重放。另外Kerberos基于對稱密碼體系,因而在認(rèn)證服務(wù)器AS和門票分配服務(wù)器TGS上都要存放大量的秘密密鑰,而密鑰的管理一直是對稱密碼學(xué)中一個比較棘手的問題,如果密鑰管理不善,攻擊者獲得一個客戶的秘密密鑰后就可以假冒該客戶的身份申請票據(jù),從而導(dǎo)致整個認(rèn)證的無效。并且使用對稱加密算法,僅能保證數(shù)據(jù)的安全性,而無法保證數(shù)據(jù)的完整性,這是該協(xié)議一個主要的弱點。認(rèn)證機關(guān)(CA):CA是一個基于服務(wù)器的應(yīng)用,是PKI的核心組成部分,是數(shù)字證書的申請及簽發(fā)機關(guān)。CA從一個目錄(directory)獲取證書和公鑰并將之發(fā)給認(rèn)證過身份的申請者。在PKI框架中,CA扮演著一個可信的證書頒發(fā)者的角色

11、,CA必須具備權(quán)威性;用戶相信CA的行為和能力對于保障整個系統(tǒng)的安全性和可靠性是值行信賴的。數(shù)字證書庫:用于存儲已簽發(fā)的數(shù)字證書及公鑰,用戶可由此獲得所需的其他用戶的證書及公鑰。PKI系統(tǒng)對密鑰、證書及廢止證書列表的存儲和管理,使用了一個基于LDAP協(xié)議的目錄服務(wù)。與已注冊證書的人進(jìn)行安全通信,任何人都可以從該目錄服務(wù)器獲取注冊者的公鑰。密鑰備份及恢復(fù)系統(tǒng):如果用戶丟失了用于解密數(shù)據(jù)的密鑰,則數(shù)據(jù)將無法被解密,這將造成合法數(shù)據(jù)丟失。為避免這種情況的,PKI提供備份與恢復(fù)密鑰的機制。但須注意,密鑰的備份與恢復(fù)必須由可信的機構(gòu)來完成。并且,密鑰備份與恢復(fù)只能針對解密密鑰,簽名私鑰為確保其唯一性而不

12、能夠作備份。證書作廢系統(tǒng):證書作廢處理系統(tǒng)是PKI的一個必備的組件。與日常生活中的各種身份證件一樣,證書有效期以內(nèi)也可能需要作廢,原因可能是密鑰介質(zhì)丟失或用戶身份變更等。為實現(xiàn)這一點,PKI必須提供作廢證書的一系列機制。應(yīng)用接口:PKI的價值在于使用戶能夠方便地使用加密、數(shù)字簽名等安全服務(wù),因此一個完整的PKI必須提供良好的應(yīng)用接口系統(tǒng),使得各種各樣的應(yīng)用能夠以安全、一致、可信的方式與PKI交互,確保安全網(wǎng)絡(luò)環(huán)境的完整性和易用性。(3)證書撤銷證書持有者可以向CA申請撤銷證書。CA通過認(rèn)證核實,即可履行撤銷證書職責(zé),通知有關(guān)組織和個人,并寫入CRL。有些人(如證書持有者的上級)也可申請撤銷證書

13、持有者的證書。(4)證書和CRL的公布CA通過LDAP(Lightweight Directory Access Protocol)服務(wù)器維護(hù)用戶證書和證書撤銷列表(CRL)。它向用戶提供目錄瀏覽服務(wù),負(fù)責(zé)將新簽發(fā)的證書或廢止的證書加入到LDAP服務(wù)器上。這樣用戶通過訪問LDAP服務(wù)器就能夠得到他人的數(shù)字證書或能夠訪問CRL。(5)證書狀態(tài)的在線查詢通常CRL發(fā)布為一日一次,CRL的狀態(tài)同當(dāng)前證書狀態(tài)有一定的滯后。證書狀態(tài)的在線查詢通過向OCSP(Online Certificate Status Protocol)服務(wù)器發(fā)送OCSP查詢包實現(xiàn),包中含有待驗證證書的序列號、驗證時間戳。OCSP

14、服務(wù)器返回證書的當(dāng)前狀態(tài)并對返回結(jié)果加以簽名。在線證書狀態(tài)查詢比CRL更具有時效性。CA對證書進(jìn)行有效性和真實性的認(rèn)證,在多個CA的系統(tǒng)中,由特定CA發(fā)放證書的所有用戶組成一個域。 同一域中的用戶可以直接進(jìn)行證書交換和認(rèn)證,不同域的用戶的公鑰安全認(rèn)證和遞送。需要通過建立一個可信賴的證書鏈或證書通路實現(xiàn)。如圖4-8為一個簡單的證書鏈。若用戶U1與用戶U2進(jìn)行安全通信,只需要涉及三個證書(U1、U2、CA1的證書),若U1與U3進(jìn)行安全通信,則需要涉及五個證書(U1、CA1、PCA、CA3、U3)。(6)證書認(rèn)證(7)制定政策CA私鑰的保護(hù):CA簽發(fā)證書所用的私鑰要受到嚴(yán)格的保護(hù),不能被毀壞,也不

15、能非法使用。 CRL的更新頻率:CA的管理員可以設(shè)定一個時間間隔,系統(tǒng)會按時更新CRL。通知服務(wù):對于用戶的申請和證書過期、廢除等有關(guān)事宜的回復(fù)。保護(hù)CA服務(wù)器:必須采取必要的措施以保證CA服務(wù)器的安全。您必須保證該主機不被任何人直接訪問,當(dāng)然CA使用的http服務(wù)端口除外。審計與日志檢查:為了安全起見,CA對一些重要的操作應(yīng)記入系統(tǒng)日志。 4.4.3 PKI的體系結(jié)構(gòu)、1、 單個CA的PKI結(jié)構(gòu)單個CA的PKI結(jié)構(gòu)中,只有一個CA,它是PKI中的所有用戶的信任點,為所有用戶提供PKI服務(wù)。在這個結(jié)構(gòu)中,所有用戶都能通過該CA實現(xiàn)相互之間的認(rèn)證。單個CA的PKI結(jié)構(gòu)簡單,容易實現(xiàn);但對于具有大

16、量的、不同群體用戶的組織不太適應(yīng),其擴展性較差。2、分層結(jié)構(gòu)的PKI一個以主從CA關(guān)系建立的PKI稱為分層結(jié)構(gòu)的PKI。在這種結(jié)構(gòu)中,所有的用戶都信任最高層的要CA,上一層CA向下一層CA發(fā)放公鑰證書。若一個持有由特定CA發(fā)證的公鑰用戶要與由另一個CA發(fā)放公鑰證書的用戶進(jìn)行安全通信,需解決跨域的認(rèn)證問題,這一認(rèn)證過程在于建立一個從根出發(fā)的可信賴的證書鏈。 3、網(wǎng)絡(luò)結(jié)構(gòu)的PKI系統(tǒng)以對等的CA關(guān)系建立的交叉認(rèn)證擴展了CA域之間的第三方信任關(guān)系,這樣的PKI系統(tǒng)稱為網(wǎng)狀結(jié)構(gòu)的PKI。交叉認(rèn)證包括兩個操作:一個操作是兩個域之間信任關(guān)系的建立,這通常是一個一次性操作。在雙邊交叉認(rèn)證的情況下,每個CA簽

17、發(fā)一張“交叉證書”;第二個操作由客戶端軟件來完成,這個操作就是驗證由已經(jīng)交叉認(rèn)證的CA簽發(fā)的用戶證書的可信賴性,是一個經(jīng)常性執(zhí)行的操作。 CA1和CA2通過互相頒發(fā)證書,來實現(xiàn)兩個信任域內(nèi)網(wǎng)絡(luò)用戶的相互認(rèn)證。如果User1要驗證User2證書的合法性,則首先要驗證CA2對User2證書的簽名,那它就要取得CA2的證書以獲得CA2的公鑰,因為User1信任CA1,則它信任由CA1給CA2頒發(fā)的證書,通過該證書,User1信任User2的證書。即形成一條信任路徑:User1CA1CA2User2.4.5 數(shù)字證書4.5.1 數(shù)字證書的類型及格式人證書中包含證書持有者的個人身份信息、公鑰及CA的簽名

18、,在網(wǎng)絡(luò)通訊中標(biāo)識證書持有者的個人身份,可用于網(wǎng)上購物、網(wǎng)上證券、網(wǎng)上金融、網(wǎng)上拍賣、網(wǎng)上保險等多種應(yīng)用系統(tǒng)。目前,個人證書主要以軟盤為存儲介質(zhì)。 Web服務(wù)器證書是Web Server與用戶瀏覽器之間建立安全連接時所使用的數(shù)字證書。Web Server申請了證書并裝載成功,進(jìn)行相關(guān)的配置后,即可與用戶瀏覽器建立安全連接。可以要求瀏覽器客戶端擁有數(shù)字證書,建立通信時Web Server和瀏覽器交換證書,驗證對方身份后建立安全連接通道。代碼簽名證書是CA中心簽發(fā)給軟件開發(fā)者的數(shù)字證書,包含證書持有者的身份信息、公鑰及CA 的簽名。軟件開發(fā)者使用代碼簽名證書對軟件進(jìn)行簽名 .企業(yè)證書中包含企業(yè)身份

19、信息、公鑰及CA的簽名,在網(wǎng)絡(luò)通訊中標(biāo)識證書持有企業(yè)的身份,可用于網(wǎng)上稅務(wù)申報、網(wǎng)上辦公系統(tǒng)、網(wǎng)上招標(biāo)投標(biāo)、拍買拍賣、網(wǎng)上簽約等多種應(yīng)用系統(tǒng)。 2、證書的格式VersionSerial numberAlgorithm ID & ParametersIssuer nameValidity periodSubject nameSubject public key & algorithm4.5.3 證書的驗證證書的驗證,是驗證一個證書的有效性、完整性、可用性的過程。證書驗證主要包括以下幾方面的內(nèi)容:l驗證證書簽名的是否正確有效,這需要知道簽發(fā)證書的CA的真正公鑰,有時可能要涉及證書路徑的處理。l驗證

20、證書的完整性,即驗證CA簽名的證書散列值與單獨計算出的散列值是否一致。l驗證證書是否在有效期內(nèi)l查看證書撤銷列表,驗證證書沒有被撤銷。l l 驗證證書的使用方式與任何聲明的策略和使用限制一致。 4.6 PGPPGP最初是由菲利浦.齊默爾曼(Philip.Zimmermann)開始編寫的、用于保護(hù)電子通信隱私的加密軟件。PGP也使用了RSA公開密鑰加密算法,它的第一版在1991年完成。隨后Zimmermann把它送給了一位朋友。這位朋友把PGP在國際互聯(lián)網(wǎng)上公布出來。短短的幾天之內(nèi),PGP系統(tǒng)就被世界各地的文件傳輸服務(wù)器相繼拷貝,傳播開去。 PGP軟件有3個主要的功能:(1)使用強大的IDEA加

21、密算法對存儲在計算機上的文件加密。經(jīng)加密的文件只能由知道密鑰的人解密閱讀。(2)使用公開密鑰加密技術(shù)對電子郵件進(jìn)行加密。經(jīng)加密的電子郵件只有收件人本人才能解密閱讀。(3)使用公開密鑰加密技術(shù)對文件或電子郵件作數(shù)字簽名,鑒定人可以用起草人的公開密鑰鑒別真?zhèn)巍?.6.2 PGP的密鑰管理PGP使用了4種類型的密鑰:一次性會話對稱密鑰、公鑰、私鑰和基于口令短語的對稱密鑰 (1)產(chǎn)生會話密鑰使用CAST-128本身來產(chǎn)生隨機的128-bit數(shù)字。將128-bit的密鑰和兩個做為明文的64-bit塊作為輸入,CAST-128用密碼反饋模式加密這兩個64-bit塊,并將密文塊連接起來形成128-bit的會話密鑰。兩個做為明文輸入到隨機數(shù)發(fā)生器的64-bit塊來自于128-bit的隨機數(shù)據(jù)流。這個隨機數(shù)據(jù)流的產(chǎn)生是以用戶的擊鍵為基礎(chǔ)的,擊鍵時間和健值用于產(chǎn)生隨機數(shù)據(jù)流。 (2)密鑰標(biāo)識符在P

溫馨提示

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

評論

0/150

提交評論