數字簽名及身份認證課件_第1頁
數字簽名及身份認證課件_第2頁
數字簽名及身份認證課件_第3頁
數字簽名及身份認證課件_第4頁
數字簽名及身份認證課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章數字簽名和認證技術3.1報文鑒別3.2散列函數3.3數字簽名體制3.4身份認證技術3.5身份認證的實現第3章數字簽名和認證技術3.1報文鑒別13.1報文鑒別信息網絡安全的威脅來自兩個方面:一方面是被動攻擊,對手通過偵聽和截取等手段獲取數據;另一方面是主動攻擊,對手通過偽造、重放、篡改、亂序等手段改變數據。報文鑒別的方式主要有:1)報文加密函數。加密整個報文,以報文的密文作為鑒別。2)報文鑒別碼。依賴公開的函數對報文處理,生成定長的鑒別標簽。3)散列函數。將任意長度的報文變換為定長的報文摘要,并加以鑒別。3.1報文鑒別信息網絡安全的威脅來自兩個方面23.1.1報文鑒別概述鑒別是驗證通信對象是原定的發(fā)送者而不是冒名頂替者的技術。既,通信的接收方能夠鑒別驗證所收到的報文的真?zhèn)巍?、報文源的鑒別接收方使用約定的密鑰(由發(fā)方決定)對收到的密文進行解密,并且檢驗還原的明文是否正確,根據檢驗結果就可以驗證對方的身份。2、報文宿的鑒別只要將報文源的鑒別方法稍作修改,便可使報文的收方(報文宿)能夠認證自己是否是指定的收方。既在將接收方的某種標識(如標識符、通行字等),加入到報文中。3.1.1報文鑒別概述鑒別是驗證通信對象是33、報文時間性的鑒別報文的時間性即指報文的順序性。報文時間性的鑒別是指收方在收到一份報文后,需要確認是否保持正確的順序,有無斷漏和重復。4、報文內容的鑒別對報文內容進行鑒別是十分重要的。報文內容的鑒別使收方能夠確認報文內容是否真實。3、報文時間性的鑒別4在1992年[RFC1321]公布了MD報文摘要算法的細節(jié)。這是Rivest(即RSA中的第一個人“R”)提出的第5個版本的MD。此算法可對任意長的報文進行運算,然后得出128bit的MD代碼。

在1992年[RFC1321]公布了MD報文摘53.2散列函數散列函數(Hash)又稱哈希函數,是把任意長度的報文(消息)M通過函數H變換為一個固定長度的散列碼h,散列函數表示為h=H(M),它生成報文所獨有的“指紋”。散列函數是一種算法,算法輸出的內容稱為散列碼(值)或稱報文摘要(也稱數字摘要)。報文摘要就像該報文的數字指紋,唯一地對應原始報文,如果原始報文改變并且再次通過散列函數,它將生成不同的報文摘要,因此,散列函數能用來檢測報文的完整性,保證報文從建立開始到收到始終3.2散列函數6沒有被改變和破壞。運行相同算法的接收者應該收到相同的報文摘要,否則報文是不可信的。散列函數是公開的,一般不涉及保密密鑰。少量的密鑰的散列函數可以作為計算報文的認證碼等其他用途,因其有密鑰而具有一定的身份鑒別功能。3.2.1單向散列函數對于單列函數h=H(M),函數H是單向函數,即為單向散列函數。單向函數:設函數y=f(x)

如果不存在這樣一個函數F(y)=F(f(x))=x

那么f就是一個單項函數沒有被改變和破壞。運行相同算法的接收者應該收到相同的報文摘要7單向函數是進行數據加密/編碼的一種算法

單向函數一般用于產生消息摘要,密鑰加密等,常見的有:

MD5(MessageDigestAlgorithm5):是RSA數據安全公司開發(fā)的一種單向散列算法,MD5被廣泛使用,可以用來把不同長度的數據塊進行暗碼運算成一個128位的數值;

SHA(SecureHashAlgorithm)這是一種較新的散列算法,可以對任意長度的數據運算生成一個160位的數值;

MAC(MessageAuthenticationCode):消息認證代碼,是一種使用密鑰的單向函數,可以用它們在系統(tǒng)上或用戶之間認證文件或消息。HMAC(用于消息認證的密鑰散列法)就是這種函數的一個例子。

單向函數是進行數據加密/編碼的一種算法

單向函數一般用于產8CRC(CyclicRedundancyCheck):循環(huán)冗余校驗碼,CRC校驗由于實現簡單,檢錯能力強,被廣泛使用在各種數據校驗應用中。占用系統(tǒng)資源少,用軟硬件均能實現,是進行數據傳輸差錯檢測的一種很好的手段(CRC并不是嚴格意義上的散列算法,但它的作用與散列算法大致相同,所以歸于此類)。單向散列函數性質:1)廣泛適用性。函數H適用于任何大小的數據分組。2)碼長固定性。函數H產生定長輸出,一個短報文的散列與百科全書報文的散列將產生相同長度的散列碼。3)易計算性。對于任何數據M,計算H(M)是容易的。4)單向不可逆性。無法根據散列碼倒推報文,這就是單向函數的性質。CRC(CyclicRedundancyCheck):循95)弱單向性。對于任意給定的數據X,要計算出另一個數據Y,使H(X)=H(Y),這在計算上是不可行的。6)強單向性。要尋找任何一對數據(X,Y),使得H(X)=H(Y),這在計算上是不可行的。5)弱單向性。對于任意給定的數據X,要計算出另一個數據Y,使103.3數字簽名體制數字簽名是通信雙方在網上交換信息用公鑰密碼防止偽造和欺騙的一種身份認證。數字簽名(或稱電子加密)是公開密鑰加密技術的一種應用。其使用方式是:報文的發(fā)送方從報文文本中生成一個128位的散列值(即哈希函數,根據報文文本而產生的固定長度的單向哈希值。有時這個單向值也叫做報文摘要,與報文的數字指紋或標準校驗相似)。發(fā)送方用自己的專用密鑰對這個散列值進行加密來形成發(fā)送方的數字簽名。然后,這個數字簽名將作為報文的附件和報文一起發(fā)送給報文的接收方。報文的接收方首先從接收3.3數字簽名體制11到的原始報文中計算出128位的散列值(或報文摘要),接著再用發(fā)送方的公用密鑰來對報文附加的數字簽名進行解密。如果兩個散列值相同,那么接收方就能確認該數字簽名是發(fā)送方的。通過數字簽名能夠實現對原始報文的鑒別。到的原始報文中計算出128位的散列值(或報文摘要),接著再用12數字簽名機制提供了一種鑒別方法,通常用于銀行、電子貿易方面等,以解決如下問題:(1)偽造:接收者偽造一份文件,聲稱是對方發(fā)送的;(2)抵賴:發(fā)送者或接收者事后不承認自己發(fā)送或接收過文件;(3)冒充:網上的某個用戶冒充另一個用戶發(fā)送或接收文件;(4)篡改:接收者對收到的文件進行局部的篡改。數字簽名不同于手寫簽名。數字簽名隨文本的變化而變化,手寫簽名反映某個人個性特征,是不變的;數字簽名與文本信息是不可分割的,而手寫簽名是附加在文本之后的,與文本信息是分離的。數字簽名機制提供了一種鑒別方法,通常用于銀13數字簽名技術應滿足的要求消息認證的作用是保護通信雙方以防第三方的攻擊,但是卻不能保護通信雙方的一方以防另一方的欺騙或偽造。通信雙方之間也可能有多種形式的欺騙,有可能發(fā)生以下欺騙:數字簽名技術應滿足的要求14(1)B偽造一個消息并使用與A共享的密鑰產生該消息的認證碼,然后聲稱該消息來自于A。(2)由于B有可能偽造A發(fā)來的消息,因此A就可以對自己發(fā)過的消息予以否認。這兩種欺騙在實際的網絡安全中都有可能發(fā)生,例如在電子資金傳輸中,收方增加收到的資金數,并聲稱這一數目來自發(fā)方。又如用戶通過電子郵件向證券經紀人發(fā)送對某筆業(yè)務的指令,以后這筆業(yè)務賠錢了,用戶就可否認曾發(fā)過相應的指令。因此在收發(fā)雙方未建立起安全的信任關系且存在利害沖突的情況下,單純的消息認證就顯得不夠。數字簽名技術則可有效地解決這一問題。(1)B偽造一個消息并使用與A共享的密鑰產生151.數字簽名應具有的性質

(1)能夠驗證簽名產生者的身份,以及產生簽名的日期和時間;(2)能用于證實被簽消息的內容;(3)數字簽名可由第三方驗證,從而能夠解決通信雙方的爭議。1.數字簽名應具有的性質16

2.數字簽名應滿足的要求(1)簽名的產生必須使用發(fā)方獨有的一些信息以防偽造和否認;(2)簽名的產生應較為容易;(3)簽名的識別和驗證應較為容易;(4)對已知的數字簽名構造一新的消息或對已知的消息構造一假冒的數字簽名在計算上都是不可行的。目前已有多種數字簽名體制,所有這些體制可歸結為兩類:直接方式的數字簽名和具有仲裁方式的數字簽名。2.數字簽名應滿足的要求17直接方式的數字簽名技術直接方式的數字簽名只有通信雙方參與,并假定接收一方知道發(fā)方的公開密鑰。數字簽名的形成方式可以用發(fā)方的秘鑰加密整個消息或加密消息的雜湊值。如果發(fā)方用收方的公開密鑰(公鑰加密體制)或收發(fā)雙方共享的會話密鑰(單鑰加密體制)對整個消息及其簽名進一步加密,那么對消息及其簽名更加提供了保密性。而此時的外部保密方式(即數字簽名是直接對需要簽名的消息生成而不是對已加密的消息生成,否則稱為內部保密方式),則對解決爭議十分重要,因為在第三方處理爭議時,需要得到明文消息及其簽名才行。但如果采用內部保密方式,那么,第三方必須在得到消息的解密密鑰后才能得到明文消息。如果采用外部保密方式,那么,接收方就可將明文消息及其數字簽名存儲下來以備以后萬一出現爭議時使用。直接方式的數字簽名技術18直接方式的數字簽名有一弱點,即方案的有效性取決于發(fā)方秘鑰的安全性。如果發(fā)方想對自己已發(fā)出的消息予以否認,就可聲稱自己的秘鑰已丟失或被盜,認為自己的簽名是他人偽造的。對這一弱點可采取某些行政手段,在某種程度上可減弱這種威脅,例如,要求每一被簽的消息都包含有一個時間戳(日期和時間),并要求密鑰丟失后立即向管理機構報告。這種方式的數字簽名還存在發(fā)方的秘鑰真的被偷的危險,例如敵方在時刻T偷得發(fā)方的秘鑰,然后可偽造一消息,用偷得的秘鑰為其簽名并加上T以前的時刻作為時戳。直接方式的數字簽名有一弱點,即方案的有效性取19具有仲裁方式的數字簽名技術

上述直接方式的數字簽名所具有的威脅都可通過使用仲裁者得以解決。和直接方式的數字簽名一樣,具有仲裁方式的數字簽名也有很多實現方案,這些方案都按以下方式運行:發(fā)方X對發(fā)往收方Y的消息簽名后,將消息及其簽名先發(fā)給仲裁者A,A對消息及其簽名驗證完后,再連同一個表示已通過驗證的指令一起發(fā)往收方Y。此時由于A的存在,X無法對自己發(fā)出的消息予以否認。在這種方式中,仲裁者起著重要的作用并應取得所有用戶的信任。

具有仲裁方式的數字簽名技術20

3.數字證書

數字簽名很重要的機制是數字證書(DigitalCertificate,或DigitalID),數字證書又稱為數字憑證,是用電子手段來證實一個用戶的身份和對網絡資源訪問的權限。在網上的電子交易中,如雙方出示了各自的數字憑證,并用它來進行交易操作,那么雙方都可不必為對方身份的真?zhèn)螕?。數字憑證可用于電子郵件、電子商務、群件、電子基金轉移等各種用途。數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的數字證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。一般情況下,數字證書中還包括密鑰的有效時間、發(fā)證機關(證書授權中心)的名稱、證書的序列號等信息,證書的格式遵循ITUTX.509國際標準。3.數字證書211)X.509數字證書包含的內容(1)證書的版本信息;(2)證書的序列號,每個證書都有一個惟一的證書序列號;(3)證書所使用的簽名算法;(4)證書的發(fā)行機構名稱,命名規(guī)則一般采用X.509格式;(5)證書的有效期,現在通用的證書一般采用UTC時間格式,它的計時范圍為1950~2049;(6)證書所有人的名稱,命名規(guī)則一般采用X.509格式;(7)證書所有人的公開密鑰;(8)證書發(fā)行者對證書的簽名。1)X.509數字證書包含的內容222)數字證書的三種類型(1)個人憑證(PersonalDigitalID)它僅僅為某一個用戶提供憑證,以幫助其個人在網上進行安全交易操作。個人身份的數字憑證通常是安裝在客戶端的瀏覽器內的,并通過安全的電子郵件(S/MIME)來進行交易操作。(2)企業(yè)(服務器)憑證(ServerID)它通常為網上的某個Web服務器提供憑證,擁有Web服務器的企業(yè)就可以用具有憑證的Web站點(WebSite)來進行安全電子交易。有憑證的Web服務器會自動地將其與客戶端Web瀏覽器通信的信息加密。2)數字證書的三種類型23(3)軟件(開發(fā)者)憑證(DeveloperID)它通常為因特網中被下載的軟件提供憑證,該憑證用于微軟公司的Authenticode技術(合法化軟件)中,以使用戶在下載軟件時能獲得所需的信息。上述三類憑證中前兩類是常用的憑證,第三類則用于比較特殊的場合。大部分認證中心提供前兩類憑證,能提供各類憑證的認證中心并不普遍。(3)軟件(開發(fā)者)憑證(Develope243.3.5數字簽名的發(fā)展方向數字簽名作為電子商務的應用技術,越來越得到人們的重視,它涉及的關鍵技術也很多,并且很多新的協(xié)議(如網上交易安全協(xié)議SSL、SET協(xié)議)都會設計數字簽名。究竟使用哪種算法、哪種Hash函數,以及數字簽名管理、在通信實體與可能有的第三方之間使用協(xié)議等等問題都可以作為新的課題。3.3.5數字簽名的發(fā)展方向253.4身份認證技術認證(Authentication)又稱為鑒別、確認,它是證實某人或某物是否名副其實或有效的過程。認證是防止主動攻擊的重要技術。實際上,網絡中的通信除需要進行消息的認證外,還需要建立一些規(guī)范的協(xié)議對數據來源的可靠性、通信實體的真實性加以認證,以防止欺騙、偽裝等攻擊。身份認證是通信雙方在實質性數據傳輸之前進行審查和證實對方身份的操作。3.4身份認證技術認證(Authentication)26認證中心(CA,CertificateAuthority)在網絡通信認證技術中具有特殊的地位。例如,電子商務,認證中心是為了從根本上保障電子商務交易活動順利進行而設立的,主要是解決電子商務活動中參與各方的身份、資信的認定,維護交易活動的安全。CA是提供身份驗證的第三方機構,通常由一個或多個用戶信任的組織實體組成。例如,持卡人(客戶)要與商家通信,持卡人從公開媒體上獲得了商家的公開密鑰,但無法確定商家不是冒充的(有信譽),于是請求CA對商家認證。此時,CA對商家進行調查、驗證和鑒別后,將包含商家公鑰的證書傳給持卡人。同樣,商家也可對持卡人進行驗證,其過程為持卡人→商家;持卡人→CA;CA→商家。證書一般包含擁有者的標識名稱和公鑰,并且由CA進行數字簽名。認證中心(CA,CertificateA27CA的功能主要有:接收注冊申請、處理、批準/拒絕請求、頒發(fā)證書。在實際運作中,CA也可由大家都信任的一方擔當,例如,在客戶、商家、銀行三角關系中,客戶使用的是由某個銀行發(fā)的卡,而商家又與此銀行有業(yè)務關系(有帳號)。在此情況下,客戶和商家都信任該銀行,可由該銀行擔當CA角色,接收和處理客戶證書和商家證書的驗證請求。又例如,對商家自己發(fā)行的購物卡,則可由商家自己擔當CA角色。CA的功能主要有:接收注冊申請、處理、283.2.1相互認證技術

A、B兩個用戶在建立共享密鑰時需要考慮的核心問題是保密性和實時性,為了防止會話密鑰的偽造或泄露,會話密鑰在通信雙方之間交換時應以密文形式出現,所以通信雙方事先就應有密鑰或公開密鑰。第二個問題實時性則對防止消息的重放攻擊極為重要,實現實時性的一種方法是對交換的每一條消息都加上一個序列號,一個新消息僅當它有正確的序列號時才被接收。但這種方法的困難性是要求每個用戶分別記錄與其他每一用戶交換的消息的序列號,這樣做,增加了用戶的負擔,所以序列號方法一般不用于認證和密鑰交換。保證信息的實時性常用以下兩種方法:3.2.1相互認證技術29(1)時間戳如果A收到的消息包括一時間戳,且在A看來這一時間戳充分接近自己的當前時刻,A才認為收到的消息是新的并接收之。這種方案要求所有各方的時鐘是同步的。(1)時間戳如果A收到的消息包括一時間戳30(2)詢問—應答用戶A向B發(fā)出一個一次性隨機數作為詢問,如果收到B發(fā)來的消息(應答)也包含一正確的一次性隨機數,A就認為B發(fā)來的消息是新的并接收之。其中時間戳法不能用于面向連接的應用過程,這是由于時間戳法在實現時有它的困難性。首先是需要在不同的處理器時鐘之間保持同步,那么所用的協(xié)議必須是容錯的以處理網絡錯誤,并且是安全的以對付惡意攻擊。第二,如果協(xié)議中任一方的時鐘出現錯誤而暫時地失去了同步,則將使敵方攻擊成功的可能性增加。最后還由于網絡本身存在著延遲,因此不能期望協(xié)議的各方能保持精確的同步。所以任何基于時間戳的處理過程,協(xié)議等都必須允許同步有一個誤差范圍??紤]到網絡本身的延遲,誤差范圍應足夠大,考慮到可能存在的攻擊,誤差范圍又應足夠小。(2)詢問—應答用戶A向B發(fā)出一個一次性隨31而詢問—應答方式則不適合于無連接的應用過程,這是因為在無連接傳輸以前需經詢問—應答這一額外的握手過程,與無連接應用過程的本質特性不符。對無連接的應用程序來說,利用某種安全的時間服務器保持各方時鐘同步是防止重放攻擊的最好的方法。通信雙方建立共享密鑰時可采用單鑰加密體制和公鑰加密體制。而詢問—應答方式則不適合于無連接的應用過程,323.4.2單向認證技術電子郵件等網絡應用有一個最大的優(yōu)點就是不要求收發(fā)雙方同時在線,發(fā)方將郵件發(fā)往收方的信箱,郵件在信箱中存著,直到收方閱讀時才打開。郵件消息的報頭必須是明文形式以使簡單郵件傳輸協(xié)議(SMTP,SimpleMailTransferProtocol)或X.400等存儲—轉發(fā)協(xié)議能夠處理。然而通常都不希望郵件處理協(xié)議要求郵件的消息本身是明文形式,否則就要求用戶對郵件處理機制的信任。所以用戶在進行保密通信時,需對郵件消息進行加密以使包括郵件處理系統(tǒng)在內的任何第三者都不能讀取郵件的內容。再者郵件接收者還希望對郵件的來源即發(fā)方的身份進行認證,以防他人的假冒。3.4.2單向認證技術333.4.3身份驗證技術1.身份驗證概念身份識別(Identification)是指用戶向系統(tǒng)出示自己的身份證明過程。身份認證(Authentication)是系統(tǒng)核查用戶的身份證明的過程,實質上是查明用戶是否具有他所請求資源的存儲和使用權。人們常把身份識別和身份認證這兩項工作統(tǒng)稱為身份驗證(或身份鑒別),它是判明和確認通信雙方真實身份的兩個重要環(huán)節(jié)。身份認證必須做到準確無二義地將對方辨認出來,同時還應該提供雙向的認證,即相互證明自己的身份。3.4.3身份驗證技術342.單機狀態(tài)下的身份認證1)根據人的生理特征進行身份認證這是較早使用的一種方法,它根據人的生理特征,如指紋、視網膜、聲音等來判別身份。目前同時采用幾種生理特征來驗證身份。當然,這種方法實現起來難度很大。2)根據約定的口令等進行身份認證雙方共同享有某個秘密,如聯(lián)絡暗號、UserID和Password等,根據對方是否知道這個秘密來判斷對方的身份。這種方法最常用且簡單,但安全性不高,因為秘密一旦泄漏,任何人都可以冒充。此外,目前的操作系統(tǒng)在身份認證方面還存在另一個弊端,被稱為“有志者事‘盡’成”系統(tǒng),操作者可以反復地試猜。2.單機狀態(tài)下的身份認證353)用硬件設備進行身份認證服務器方通過采用硬件設備如編碼器,隨機產生一些數據并要求客戶輸入這些數據,經過編碼發(fā)生器變換后產生的結果,與服務器擁有的編碼發(fā)生器產生的結果比較,判斷是否正確。這種方法也成為一次性口令/密碼,只有對方獲得該硬件才可能進行假冒。目前使用較多的“智能加密卡”是制造商為用戶提供的數字證明卡,它顯示的號碼是由時日、密碼、加密算法3項確定,作為用戶向系統(tǒng)出示的身份證明。這種方法可以持續(xù)較長的時間,具有使用靈活、存儲信息多等特點。智能加密卡簡稱智能卡,是一種嵌有CPU處理器如信用卡大小的塑料卡,它與通信網絡結合,可執(zhí)行多種功能。實際上,3)用硬件設備進行身份認證36它是密鑰的一種載體,由授權用戶持有,用戶賦予它一個口令或密碼。該密碼與網絡服務器上注冊的密碼相同。綜上,目前,在計算機及網絡系統(tǒng)中常用的身份認證方式主要有:口令核對IC卡認證動態(tài)口令生物特征認證USBKey認證身份的零知識證明它是密鑰的一種載體,由授權用戶持有,用戶賦予它一個口令或密碼37

3.網絡環(huán)境下的身份認證網絡環(huán)境下的身份認證較為復雜,主要是考慮靠驗證身份的雙方一般都是通過網絡而非直接交互,想根據指紋等手段就無法實現。同時,大量的黑客隨時隨地都可以嘗試向網絡滲透,截獲合法用戶口令冒名頂替以合法身份入網。所以,目前一般采用的是基于對稱密鑰加密或公開密鑰加密的方法,采用高強度的密碼技術來進行身份認證。對TCP/IP網絡計算機系統(tǒng)的攻擊常常是監(jiān)聽網絡信息,獲得登陸用的帳號和口令。被俘獲的帳號和口令用于以后對系統(tǒng)的攻擊。S/Key是一個一次性口令系統(tǒng),用來對付這種攻擊。使用S/Key系統(tǒng)時,傳送的口令只使用一次后即無效。用戶使用的源口令不會在網絡上傳輸,包括登陸或其他需要口令(如SU等)的時候。3.網絡環(huán)境下的身份認證38在使用S/Key系統(tǒng)時有兩方面的操作。在客戶方,必須有手段產生正確的一次性口令。在服務主機方,必須能夠驗證該一次性口令的有效性,并能夠讓用戶安全地修改源口令。一般的S/Key系統(tǒng)是基于一些不可逆算法的(如MD4和MD5),也就是說這一類算法如果擁有源數據,正向計算出結果速度很快。但如果沒有源數據而試圖反向計算出源數據,目前來看則基本上是不可能的。在使用S/Key系統(tǒng)時有兩方面的操作。在客戶393.2.4身份認證系統(tǒng)實例——Kerberos系統(tǒng)

1.Kerberos系統(tǒng)介紹

Kerberos系統(tǒng)是美國麻省理工學院為Athena工程而設計的,為分布式計算環(huán)境提供一種對用戶雙方進行驗證的認證方法,它是基于對稱密鑰的身份認證系統(tǒng)。在該環(huán)境中,機器屬于不同的組織,用戶對機器擁有完全的控制權。因此,用戶對于每一個他所希望的服務,必須提供身份證明。同時,服務器也必須證明自己的身份,故網絡上其它的機器可以偽裝成服務器而騙取用戶信息。3.2.4身份認證系統(tǒng)實例——Kerberos系統(tǒng)40

2.Kerberos系統(tǒng)組成Kerberos系統(tǒng)提供的認證服務由三個重要部件組成:中心數據庫、安全服務器和Ticket分配器(TGS)。這三個部件都安裝在網絡中相對安全的主機上。其中,中心數據庫是安全服務的關鍵部分,在庫中存有安全系統(tǒng)的安全信息,包括用戶注冊名及相關口令、網上所有工作站和服務器的網絡地址、服務器密鑰及存取控制表等。2.Kerberos系統(tǒng)組成411)中心數據庫中心數據庫由KDC(密鑰分發(fā)中心)進行維護。該數據庫中包括有內部網絡系統(tǒng)中每個用戶的帳戶信息。這一信息是由企業(yè)的安全管理員錄入到數據庫中的,它包括用戶的帳號(即登錄帳號)和密碼。所有內部網絡中的服務器和用戶在安全數據庫中均有帳戶。1)中心數據庫422)安全服務器即認證服務器當一個用戶登錄到企業(yè)內部網絡中并且請求訪問內部網絡服務器時,認證服務器根據中心數據庫中存儲的用戶密碼生成一個DES加密密鑰來對一個Ticket(憑證或入場券)進行加密。這個Ticket包含有用戶將要對傳送給應用服務器的信息進行加密所使用的新的DES加密密鑰。Ticket中同時也包括了基于應用服務器產生的階段性加密密鑰,客戶方使用這個Ticket來向應用服務器證實自己的身份。2)安全服務器即認證服務器433)Ticket分配服務器(TGS)當用戶進程欲訪問某個服務器時,TGS通過查找數據庫中的存取表,來確認該用戶已被授權使用該服務器,這時TGS將會把與該服務器相連的密鑰和加密后的Ticket分給該用戶和服務器。用戶若要訪問采用Kerberos身份認證服務的內部網絡中的應用服務器,則必須在KDC中進行登記;一旦用戶進行了登記,KDC可以為用戶向整個企業(yè)網絡中的任何應用服務器提供身份驗證服務。用戶只需要登錄一次就可以安全地訪問網絡中所有安全信息。這種登錄的過程提供了在用戶和應用服務之間相互認證,雙方都可能確認對方的身份。3)Ticket分配服務器(TGS)44

3.Kerberos系統(tǒng)的認證過程有人曾把Kerberos的工作過程形象地比喻為到售票處購買入場券以及到電影院看電影的過程。作為一個觀眾,如果希望看某一場電影,則先要到售票處購買入場券,在購買入場券時,觀眾需要說明所希望的場次。在得到希望的入場券后,觀眾需要到檢票口檢票。檢票口人員在證實入場券合法后,觀眾就可以入場欣賞電影了。Kerberos系統(tǒng)和看電影的過程不一樣的地方是,只是事先在Kerberos系統(tǒng)中登錄的客戶才可以申請服務,并且Kerberos要求申請到入場券的客戶就是到TGS去要求得到最終服務的客戶。另外,在客戶和服務器間通信時,需要進行數據的加密,從而需要為客戶和服務器的對話產生一個臨時的密鑰。3.Kerberos系統(tǒng)的認證過程453.5數字簽名標準及數字簽名算法3.5.1數字簽名算法DSS首先將DSS與RSA的簽名方式作一比較。RSA算法既能用于加密和簽名,又能用于密鑰交換。與此不同,DSS使用的算法只能提供數字簽名功能。采用RSA簽名時,將消息輸入到一個散列函數以產生一個固定長度的安全散列值,再用發(fā)方的秘鑰加密散列值就形成了對消息的簽名。消息及其簽名被一起發(fā)給收方,收方得到消息后再產生出消息的散列值,且使用發(fā)方的公鑰對收到的簽名解密。這樣收方就得到了兩個散列值,如果兩個散列值是一樣的,則認為收到的簽名是有效的。3.5數字簽名標準及數字簽名算法3.5.1數字簽名算46DSS簽名也利用一散列函數產生消息的一個散列值,散列值連同一隨機數k一起作為簽名函數(Sig)的輸入,簽名函數還需使用發(fā)方的秘鑰SkA和供所有用戶使用的一族參數,稱這一族參數為全局公鑰PkG。簽名函數的兩個輸出s和r就構成了消息的簽名(s,r)。接收方收到消息后再產生出消息的散列值,將散列值與收到的簽名一起輸入到驗證函數(Ver),驗證函數還需輸入全局公鑰PkG和發(fā)方的公鑰PkA。驗證函數的輸出結果與收到的簽名成分r相等,則驗證了簽名是有效的。DSS簽名也利用一散列函數產生消息的一個散列473.5.2數字簽名算法DSADSA是在EIGamal和Schnorr兩個簽名方案的基礎上設計的,其安全性基于求離散對數的困難性。算法描述如下:(1)全局公鑰。

p:滿足2L-1<p<2L的大素數,其中512≤L≤1024,且L是64的倍數;

q:p-1的素因子,滿足2159<q<2160,即q長為160bit。

g:g=h(p-1)/qmodp,其中h是滿足1<h<p-1,且使得h(p-1)/q

modp>1的任一整數。3.5.2數字簽名算法DSA48(2)用戶秘密x是滿足0<x<q的隨機數或偽隨機數。(3)用戶的公鑰y=gxmodp。(4)用戶為待簽消息選取的秘密數k是滿足0<k<q的隨機數或偽隨機數。(5)簽名過程。用戶對消息m的簽名為(r,s),其中r=(gkmodp)modq,s=[k-1(H(m+xr)]modq

H(m)是由SHA求出的散列值。(2)用戶秘密x是滿足0<x<q493.5.3數字簽名算法HASHHASH函數與加密函數類似。事實上有些HASH函數就是稍加修改的加密函數。大多數函數的做法是每次取一個數據塊,對數據塊的每一位用一個簡單的編碼函數進行編碼。HASH算法的工作方式類似通信協(xié)議中的校驗和(checksum),即發(fā)信方將一個數據包的所有字節(jié)加起來,將和添加在包上。收信方執(zhí)行同樣的運算并比較兩個和,以決定是否被正確地傳輸。3.5.3數字簽名算法HASH50校驗算法的主要作用是根據報文內容通過單向的HASH算法計算出一個校驗來,如果報文被改動或增減,則無法根據同樣的算法算出相同的校驗來。一般在實際應用中,對于只有數據完整性要求的數據只對其校驗進行加密就可以了,這樣能夠大大減少數據加密的工作量。

校驗算法的主要作用是根據報文內容通過單向的H513.5.4數字簽名算法RSARSA是最流行的一種加密標準,是由Rive

溫馨提示

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

最新文檔

評論

0/150

提交評論