密碼學應用(計算機網絡基礎與應用)_第1頁
密碼學應用(計算機網絡基礎與應用)_第2頁
密碼學應用(計算機網絡基礎與應用)_第3頁
密碼學應用(計算機網絡基礎與應用)_第4頁
密碼學應用(計算機網絡基礎與應用)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第四章密碼學應用l

密鑰的生命周期及密鑰管理的概念l

對稱密鑰體制、公鑰體制的密鑰管理方法l

消息認證的原理和方法l

PKI的原理l

數字證書的應用l

PGP的原理及使用4.1密鑰管理4.1.1密鑰產生及管理概述

一個密鑰在生存期內一般要經歷以下幾個階段:l

密鑰的產生l

密鑰的分配l

啟用密鑰/停有密鑰l

替換密鑰或更新密鑰l

撤銷密鑰銷毀密鑰

4.1.2對稱密碼體制的密鑰管理(1)密鑰分配中心KDCKDC與每一個用戶之間共享一個不同的永久密鑰,當兩個用戶A和B要進行通信時,由KDC產生一個雙方會話使用的密鑰K,并分別用兩個用戶的永久密鑰KA、KB來加密會話密鑰發(fā)給他們,即將KA(K)發(fā)給A,KB(K)發(fā)給B;A、B接收到加密的會話密鑰后,將之解密得到K,然后用K來加密通信數據。

(2)基于公鑰體制的密鑰分配假設通信雙方為A和B。使用么鑰體制交換對稱密鑰的過程是這樣的:首先A通過一定的途徑獲得B的公鑰;然后A隨機產生一個對稱密鑰K,并用B的公鑰加密對稱密鑰K發(fā)送給B;B接收到加密的密鑰后,用自己的私鑰解密得到密鑰K。在這個對稱密鑰的分配過程中,不再需要在線的密鑰分配中心,也節(jié)省了大量的通信開銷。

4.1.3公開密鑰體制的密鑰管理

主要有兩種公鑰管理模式,一種采用證書的方式,另一種是PGP采用的分布式密鑰管理模式。(1)公鑰證書公鑰證書是由一個可信的人或機構簽發(fā)的,它包括證書持有人的身份標識、公鑰等信息,并由證書頒發(fā)者對證書簽字。

(2)分布式密鑰管理在某些情況下,集中的密鑰管理方式是不可能的,比如:沒有通信雙方都信任的CA。用于PGP的分布式密鑰管理,采用了通過介紹人(introducer)的密鑰轉介方式

4.2消息認證4.2.1數據完整性驗證

消息的發(fā)送者用要發(fā)送的消息和一定的算法生成一個附件,并將附件與消息一起發(fā)送出去;消息的接收者收到消息和附件后,用同樣的算法與接收到的消息生成一個新的附件;把新的附件與接收到的附件相比較,如果相同,則說明收到的消息是正確的,否則說明消息在傳送中出現了錯誤。

(1)使用對稱密鑰體制產生消息認證碼發(fā)送者把消息m分成若干個分組(m1,m2…..mi),利用分組密密碼算法來產生MAC,其過程如圖4-3所示。

圖4-3利用分組密碼產生MAC的過程(2)使用散列函數來產生消息認證碼散列函數可以將任意長度的輸入串轉化成固定長度的輸出串,將定長的輸出串來做消息的認證碼。

4.2.2單向散列函數單向散列函數(one-wayhashfunction),也叫壓縮函數、收縮函數,它是現代密碼學的中心,是許多協議的另一個結構模塊。散列函數長期以來一直在計算機科學中使用,散列函數是把可變長度的輸入串(叫做預映射,pre-image)轉換成固定長度的輸出串(叫做散列值)的一種函數單向散列函數是在一個方向上工作的散列函數,即從預映射的值很容易計算出散列值,但要從一個特定的散列值得出預映射的值則非常難。

4.2.3消息摘要算法MD5

MD5以512bit的分組來處理輸入文本,每一分組又劃分為16個32bit的子分組。算法的輸出由4個32bit分組組成,將它們級聯形成一個128bit的散列值。首先填充消息使用其長度恰好為一個比512的倍數僅小64bit的數。填充方法是在消息后面附一個1,然后填充上所需要的位數的0,然后在最后的64位上附上填充前消息的長度值。這樣填充后,可使消息的長度恰好為512的整數倍,且保證不同消息在填充后不相同。首先要對四個32bit的變量進行初始化,這四個變量稱為鏈接變量(chainingvariable)。A=0x01234567B=0x89abcdefC=0xfedcba98D=0x76543210MD5一次循環(huán)過程

4.2.4數字簽名數字簽名實際上是附加在數據單元上的一些數據或是對數據單元所作的密碼變換,這種數據或變換能使數據單元的接收者確認數據單元的來源和數據的完整性,并保護數據,防止被人(如接收者)偽造。簽名機制的本質特征是該簽名只有通過簽名者的私有信息才能產生,也就是說,一個簽名者的簽名只能唯一地由他自己產生。當收發(fā)雙方發(fā)生爭議時,第三方(仲裁機構)就能夠根據消息上的數字簽名來裁定這條消息是否確實由發(fā)送方發(fā)出,從而實現抗抵賴服務。另外,數字簽名應是所發(fā)送數據的函數,即簽名與消息相關,從而防止數字簽名的偽造和重用。2、

數字簽名的實現方法

(1)使用對稱加密和仲裁者實現數字簽名

(2)使用公開密鑰體制進行數字簽名公開密鑰體制的發(fā)明,使數字簽名變得更簡單,它不再需要第三方去簽名和驗證。簽名的實現過程如下:A用他的私人密鑰加密消息,從而對文件簽名;A將簽名的消息發(fā)送給B;B用A的公開密鑰解消息,從而驗證簽名;

(3)使用公開密鑰體制與單向散列函數進行數字簽名利用單向散列函數,產生消息的指紋,用公開密鑰算法對指紋加密,形成數字簽名。過程如圖4-6所示。過程描述如下:l

A使消息M通過單向散列函數H,產生散列值,即消息的指紋或稱消息驗證碼;l

A使用私人密鑰對散列值進行加密,形成數字簽名s;l

A把消息與數字簽名一起發(fā)送給B;l

B收到消息和簽名后,用A的公開密鑰解密數字簽名s;再用同樣的算法對消息運算生成散列值;l

B把自己生成的散列值與解密的數字簽名相比較,看是否匹配,從而驗證簽名。(4)加入時間標記的簽名(5)多重簽名(6)盲簽名

4.3Kerberos認證交換協議4.3.1Kerberos模型的工作原理和步驟

(1)客戶請求Kerberos認證服務器AS發(fā)給接入TGS的門票。Client

AS的消息:c,tgs(2)Kerberos在其數據庫中查找客戶實體,產生會話密鑰Kc,tgs,使用Kc對之加密,生成允許客戶使用的TGS的票據Tc,tgs(Tc,tgs中包括:客戶實體名、地址、TGS名、時間印記、時限、會話密鑰Kc,tgs等),并用Kerberos與TGS之間的秘密密鑰加密,然后把兩個加密消息發(fā)給客戶。AS

Client的消息:{Kc,tgs}Kc,{Tc,tgs}Ktgs(3)客戶用自己的秘密密鑰解密消息得到會話密鑰Kc,tgs,然后生成一個認證單Ac,s(Ac,s中包括客戶實體名、地址、時間標記),并使用Kc,tgs加密,然后向TGS發(fā)出請求,申請接入應用服務器的門票。Client

TGS的消息:{Ac,s}Kc,tgs,{Tc,tgs}Ktgs(4)TGS對Tc,tgs消息解密獲得Kc,tgs,用Kc,tgs對加密的認證單解密獲得Ac,s,并與Tc,tgs中的數據進行比較,然后由TGS產生客戶和服務器之間使用的會話密鑰Kc,s,并將Kc,s加入到客戶向該服務器提交的Ac,s中,生成門票Tc,s,然后用目標服務器的秘密密鑰Ks將此門票加密。TGS

Client的消息:{Kc,s}Kc,tgs,{Tc,s}Ks(5)客戶對消息解密獲得Kc,s,客戶制作一個新的認證單Ac,s,并用Kc,s加密與{Tc,s}Ks一起發(fā)給目標服務器;服務器對{Tc,s}Ks解密獲得Kc,s,利用Kc,s對{Ac,s}Kc,s解密獲得Ac,s,將Ac,s與Tc,s的內容比較,如果無誤,則服務器知道客戶真實的身份,決定是否與之進行通信。Client

Server的消息:{Ac,s}Kc,s,{Tc,s}Ks如果客戶需要對服務器的身份進行確認,也可以使用同樣的方法。4.3.2Kerberos的優(yōu)勢與缺陷Kerberos為網絡中的所有實體提供了一個集中的、統一的認證管理機制,而一般的認證協議(如SSL)僅局限于客戶與服務器兩者之間的交換過程;運用Kerbeross票據的概念,使一次性簽放的機制得以實現,每張票據中都有一個時限,典型的為8小時,在時限到來之前,用戶可以使用該票據多次連接使用應用服務器;Kerberos認證服務器與TGS產生的會話密鑰Kc,tgs和Kcs保證了客戶與TGS和Server之間消息傳輸的安全性;支持分布環(huán)境下的認證服務;支持雙向的身份認證服務。Kerberos仍存在著幾個潛在的安全弱點。舊的鑒別碼可能被存儲和重用,盡管時間標記可以防止這種攻擊,但在票據有效期內仍可能發(fā)生重用,并且鑒別碼是基于網絡中所有時鐘同步的事實,如果能欺騙主機,使之時間發(fā)生錯誤,那么舊的鑒別碼就會很容易地實現重放。另外Kerberos基于對稱密碼體系,因而在認證服務器AS和門票分配服務器TGS上都要存放大量的秘密密鑰,而密鑰的管理一直是對稱密碼學中一個比較棘手的問題,如果密鑰管理不善,攻擊者獲得一個客戶的秘密密鑰后就可以假冒該客戶的身份申請票據,從而導致整個認證的無效。并且使用對稱加密算法,僅能保證數據的安全性,而無法保證數據的完整性,這是該協議一個主要的弱點。4.4公鑰基礎設施——PKI

從廣義上講,PKI就是一個用公鑰概念和技術實現的、為網絡的數據和其它資源提供具有普適性安全服務的安全基礎設施。PKI概念和內容是動態(tài)的、不斷發(fā)展的。完整的PKI系統必須具有權威認證機關(CA)、數字證書庫、密鑰備份及恢復系統、證書作廢系統、應用接口等基本構成部分,構建PKI也將圍繞著這五大系統來著手構建。

認證機關(CA):CA是一個基于服務器的應用,是PKI的核心組成部分,是數字證書的申請及簽發(fā)機關。CA從一個目錄(directory)獲取證書和公鑰并將之發(fā)給認證過身份的申請者。在PKI框架中,CA扮演著一個可信的證書頒發(fā)者的角色,CA必須具備權威性;用戶相信CA的行為和能力對于保障整個系統的安全性和可靠性是值行信賴的。數字證書庫:用于存儲已簽發(fā)的數字證書及公鑰,用戶可由此獲得所需的其他用戶的證書及公鑰。PKI系統對密鑰、證書及廢止證書列表的存儲和管理,使用了一個基于LDAP協議的目錄服務。與已注冊證書的人進行安全通信,任何人都可以從該目錄服務器獲取注冊者的公鑰。密鑰備份及恢復系統:如果用戶丟失了用于解密數據的密鑰,則數據將無法被解密,這將造成合法數據丟失。為避免這種情況的,PKI提供備份與恢復密鑰的機制。但須注意,密鑰的備份與恢復必須由可信的機構來完成。并且,密鑰備份與恢復只能針對解密密鑰,簽名私鑰為確保其唯一性而不能夠作備份。證書作廢系統:證書作廢處理系統是PKI的一個必備的組件。與日常生活中的各種身份證件一樣,證書有效期以內也可能需要作廢,原因可能是密鑰介質丟失或用戶身份變更等。為實現這一點,PKI必須提供作廢證書的一系列機制。應用接口:PKI的價值在于使用戶能夠方便地使用加密、數字簽名等安全服務,因此一個完整的PKI必須提供良好的應用接口系統,使得各種各樣的應用能夠以安全、一致、可信的方式與PKI交互,確保安全網絡環(huán)境的完整性和易用性。4.4.2CA的功能(1)證書頒發(fā)申請者在CA的注冊機構(RA)進行注冊,申請證書。CA對申請者進行審核,審核通過則生成證書,頒發(fā)給申請者。證書的申請可采取在線申請和親自到RA申請兩種方式。證書的頒發(fā)也可采取兩種方式,一是在線直接從CA下載,一是CA將證書制作成介質(磁盤或IC卡)后,由申請者帶走。(2)證書更新當證書持有者的證書過期、證書被竊取、丟失時,通過更新證書方法,使其使用新的證書繼續(xù)參與網上認證。證書的更新包括證書的更換和證書的延期兩種情況。證書的更換實際上是重新頒發(fā)證書,因此證書的更換的過程和證書的申請流程基本情況一致。而證書的延期只是將證書有效期延長,其簽名和加密信息的公/私密鑰沒有改變。(3)證書撤銷證書持有者可以向CA申請撤銷證書。CA通過認證核實,即可履行撤銷證書職責,通知有關組織和個人,并寫入CRL。有些人(如證書持有者的上級)也可申請撤銷證書持有者的證書。(4)證書和CRL的公布CA通過LDAP(LightweightDirectoryAccessProtocol)服務器維護用戶證書和證書撤銷列表(CRL)。它向用戶提供目錄瀏覽服務,負責將新簽發(fā)的證書或廢止的證書加入到LDAP服務器上。這樣用戶通過訪問LDAP服務器就能夠得到他人的數字證書或能夠訪問CRL。(5)證書狀態(tài)的在線查詢通常CRL發(fā)布為一日一次,CRL的狀態(tài)同當前證書狀態(tài)有一定的滯后。證書狀態(tài)的在線查詢通過向OCSP(OnlineCertificateStatusProtocol)服務器發(fā)送OCSP查詢包實現,包中含有待驗證證書的序列號、驗證時間戳。OCSP服務器返回證書的當前狀態(tài)并對返回結果加以簽名。在線證書狀態(tài)查詢比CRL更具有時效性。CA對證書進行有效性和真實性的認證,在多個CA的系統中,由特定CA發(fā)放證書的所有用戶組成一個域。同一域中的用戶可以直接進行證書交換和認證,不同域的用戶的公鑰安全認證和遞送。需要通過建立一個可信賴的證書鏈或證書通路實現。如圖4-8為一個簡單的證書鏈。若用戶U1與用戶U2進行安全通信,只需要涉及三個證書(U1、U2、CA1的證書),若U1與U3進行安全通信,則需要涉及五個證書(U1、CA1、PCA、CA3、U3)。(6)證書認證(7)制定政策CA私鑰的保護:CA簽發(fā)證書所用的私鑰要受到嚴格的保護,不能被毀壞,也不能非法使用。

CRL的更新頻率:CA的管理員可以設定一個時間間隔,系統會按時更新CRL。通知服務:對于用戶的申請和證書過期、廢除等有關事宜的回復。保護CA服務器:必須采取必要的措施以保證CA服務器的安全。您必須保證該主機不被任何人直接訪問,當然CA使用的http服務端口除外。審計與日志檢查:為了安全起見,CA對一些重要的操作應記入系統日志。

4.4.3PKI的體系結構、

1、單個CA的PKI結構單個CA的PKI結構中,只有一個CA,它是PKI中的所有用戶的信任點,為所有用戶提供PKI服務。在這個結構中,所有用戶都能通過該CA實現相互之間的認證。單個CA的PKI結構簡單,容易實現;但對于具有大量的、不同群體用戶的組織不太適應,其擴展性較差。2、分層結構的PKI一個以主從CA關系建立的PKI稱為分層結構的PKI。在這種結構中,所有的用戶都信任最高層的要CA,上一層CA向下一層CA發(fā)放公鑰證書。若一個持有由特定CA發(fā)證的公鑰用戶要與由另一個CA發(fā)放公鑰證書的用戶進行安全通信,需解決跨域的認證問題,這一認證過程在于建立一個從根出發(fā)的可信賴的證書鏈。3、網絡結構的PKI系統以對等的CA關系建立的交叉認證擴展了CA域之間的第三方信任關系,這樣的PKI系統稱為網狀結構的PKI。交叉認證包括兩個操作:一個操作是兩個域之間信任關系的建立,這通常是一個一次性操作。在雙邊交叉認證的情況下,每個CA簽發(fā)一張“交叉證書”;第二個操作由客戶端軟件來完成,這個操作就是驗證由已經交叉認證的CA簽發(fā)的用戶證書的可信賴性,是一個經常性執(zhí)行的操作。

CA1和CA2通過互相頒發(fā)證書,來實現兩個

溫馨提示

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

評論

0/150

提交評論