信息安全第3章網(wǎng)絡(luò)安全技術(shù)課件_第1頁
信息安全第3章網(wǎng)絡(luò)安全技術(shù)課件_第2頁
信息安全第3章網(wǎng)絡(luò)安全技術(shù)課件_第3頁
信息安全第3章網(wǎng)絡(luò)安全技術(shù)課件_第4頁
信息安全第3章網(wǎng)絡(luò)安全技術(shù)課件_第5頁
已閱讀5頁,還剩280頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第章 網(wǎng)絡(luò)安全技術(shù)3.1密鑰管理 3.2身份認證 3.3訪問控制 3.4公鑰基礎(chǔ)設(shè)施 3.5授權(quán)管理基礎(chǔ)設(shè)施 3.6IP安全技術(shù) 3.7傳輸層安全 3.1密 鑰 管 理3.1.1概論密鑰的管理是整個加密系統(tǒng)中最薄弱的環(huán)節(jié),密鑰的泄露將直接導(dǎo)致明文內(nèi)容的泄露。例如曾經(jīng)有一種計算機使用了DES算法來實現(xiàn)一個文件加密工具,它將密鑰與密文保存在一起,用戶可以選擇用密文或明文形式保存文件,而且加密/解密過程是透明的,使用很方便。但是,對于了解密文格式的攻擊者而言,他可以很容易地發(fā)現(xiàn)密文的密鑰,從而發(fā)現(xiàn)明文。顯然從密鑰管理的途徑竊取機密比用破譯的方法花費的代價要小得多,所以對密鑰的管理和保護格外重要。網(wǎng)絡(luò)

2、安全所依賴的基礎(chǔ)之一就是對傳送數(shù)據(jù)的加密。無論是鏈路加密還是端到端加密,其核心都是密鑰技術(shù)的應(yīng)用。密鑰管理是數(shù)據(jù)加密技術(shù)中的重要內(nèi)容,密鑰管理的目的是確保密鑰的安全性(包括真實性和有效性)。密鑰管理涉及密鑰的生成、驗證、傳遞、保管、使用及銷毀等多個方面,涵蓋了密鑰的整個生存周期,另外還涉及密鑰的行政管理制度和管理人員的素質(zhì)。其中,密鑰管理最主要的過程是密鑰生成、保護和分發(fā)。3.1.2密鑰的組織結(jié)構(gòu)從信息安全的角度看,密鑰的生存期越短,破譯者的可乘之機就越少。在實際使用中,尤其是在網(wǎng)絡(luò)環(huán)境下,多采用層次化的密鑰管理結(jié)構(gòu)。用于數(shù)據(jù)加密的工作密鑰平時不在加密設(shè)備中,需要時動態(tài)產(chǎn)生,并由其上層的密鑰加

3、密密鑰進行加密保護;密鑰加密密鑰可根據(jù)需要由其上一級的加密密鑰進行保護,依此類推。層次的劃分根據(jù)實際的使用環(huán)境確定,與環(huán)境的規(guī)模有關(guān),規(guī)模越大,層次越多。最高層的密鑰稱為主密鑰,它構(gòu)成整個密鑰管理系統(tǒng)的核心。在分層密鑰管理系統(tǒng)中,通常低一層的密鑰由高一層按照某種密鑰協(xié)議生成,所以,掌握了主密鑰,就有可能找出下層的各個密鑰。工作密鑰常稱為會話密鑰,建立會話密鑰的必要性在于:重復(fù)使用密鑰容易導(dǎo)致泄露,所以應(yīng)經(jīng)常更換;如果使用相同的密鑰,攻擊者可將以前截獲的信息插入當前的會話,而通信雙方不一定能發(fā)現(xiàn);密鑰一旦被破解,則使用這一密鑰加密的信息都會失密,若使用會話密鑰,則只有當前會話的信息失密;如果對方

4、不可靠,則更換會話密鑰可防止對方以后繼續(xù)竊取信息。多層密鑰體制大大增強了密碼系統(tǒng)的安全性。因為使用得最多的會話密鑰經(jīng)常更換,而高層密鑰則用得較少,使得破譯者可用的信息變得很少,增加了攻擊的難度。另外,多層密鑰體制為自動化管理帶來了方便,因為下層密鑰可由計算機系統(tǒng)自動產(chǎn)生和維護,并通過網(wǎng)絡(luò)自動分配和更換,減少了接觸密鑰的人數(shù),也減輕了用戶的負擔。在層次結(jié)構(gòu)框架下,可以對密鑰進行連通和分割定義。密鑰的連通是指在用戶之間共享密鑰的范圍;而密鑰的分割是指對這個范圍的限制(細化)。按空間分割密鑰,可區(qū)分不同的用戶群,例如: 不同密級的數(shù)據(jù)之間的密鑰分割; 不同業(yè)務(wù)部門、業(yè)務(wù)系統(tǒng)之間的密鑰分割; 上下級機

5、關(guān)之間的密鑰分割; 應(yīng)用系統(tǒng)和管理系統(tǒng)之間的密鑰分割,等等。按時間分割密鑰可實現(xiàn)讓各個用戶在不同的時期使用不同的密鑰,使用戶的使用權(quán)具有時間限制。分割的實現(xiàn)有兩種方式: 靜態(tài)分割:在給用戶的加密設(shè)備注入密鑰時就給定了用戶的密碼連通范圍,即用戶只能使用注入的密鑰; 動態(tài)分割:密鑰分配中心定期向規(guī)定范圍內(nèi)的用戶加密傳送一個用于控制分割范圍的通播密鑰(向指定用戶廣播的密鑰),即收到什么,使用什么。3.1.3密鑰管理的基本內(nèi)容密鑰管理所涉及的工作內(nèi)容如圖3-1所示。用戶經(jīng)注冊后獲得在系統(tǒng)中合法使用密鑰的權(quán)力,并經(jīng)初始化后正式成為使用者。系統(tǒng)為用戶生成其所使用的密鑰,若非初次使用,可以在以前的基礎(chǔ)上進行

6、密鑰更新。用戶可以自行保管自己的密鑰或委托系統(tǒng)代為保管,如果是后者,則每次進入系統(tǒng)后需要從系統(tǒng)中將密鑰恢復(fù)處理。用戶獲得密鑰后需要安裝在自己的環(huán)境中,以實現(xiàn)與相應(yīng)應(yīng)用的銜接。為保證安全性,用戶還可以將密鑰備份在系統(tǒng)中。如果使用非對稱密鑰,則用戶的密鑰需要首先在CA中進行注冊,然后才可使用。如果密鑰丟失(但未泄露),則用戶可以重新恢復(fù)密鑰;如果密鑰已泄露或不再需要,則要將其撤銷。由于被密鑰作用的數(shù)據(jù)可能仍然存在,因此被撤銷的密鑰不能立即丟棄,要保存在密鑰檔案庫中,以備使用這些數(shù)據(jù)時需要。如果確信相關(guān)數(shù)據(jù)也結(jié)束生命周期,則對應(yīng)的密鑰可以銷毀。圖3-1密鑰管理的總體結(jié)構(gòu) 3.2身 份 認 證3.2.

7、1認證的基本原理1認證的概念身份認證是在計算機網(wǎng)絡(luò)中確認操作者身份的過程。在現(xiàn)實生活中,人們的身份主要是通過各種證件來確定的。計算機網(wǎng)絡(luò)信息系統(tǒng)中,各種計算資源(如文件、數(shù)據(jù)庫、應(yīng)用系統(tǒng))也需要認證機制的保護,確保這些資源被應(yīng)該使用的人使用。在計算機網(wǎng)絡(luò)世界中,一切信息包括用戶的身份信息都是用一組特定的數(shù)據(jù)來表示的,計算機只能識別用戶的數(shù)字身份,所有對用戶的授權(quán)也是針對用戶數(shù)字身份的授權(quán)。為了保護網(wǎng)絡(luò)資源及落實安全政策,需要提供可追究責任的機制。這里涉及3個概念:認證、授權(quán)和審計。 認證(Authentication):對用戶身份或用戶訪問對象的資格的驗證。認證能防止攻擊者假冒合法用戶獲取訪問

8、權(quán)限。 授權(quán)(Authorization):授權(quán)是指當用戶身份被確認合法后,賦予該用戶進行文件和數(shù)據(jù)等操作的權(quán)限。這種權(quán)限包括讀、寫、執(zhí)行及從屬權(quán)等。 審計(Auditing):每一個人都應(yīng)該為自己所做的操作負責,所以在做完事情之后都要留下記錄,以便核查責任。用戶對資源的訪問過程如圖3-2所示。圖3-2用戶對資源的訪問過程 身份認證分為單向認證和雙向認證。如果通信的雙方只需要一方被另一方認證身份,這樣的認證過程就是單向認證。在雙向認證過程中,通信雙方需要相互認證對方的身份。2身份認證的方法在真實世界中,對用戶的身份認證基本方法可以分為三種: 根據(jù)你所知道的信息來證明你的身份(what you

9、know,你知道什么); 根據(jù)你所擁有的東西來證明你的身份(what you have,你有什么); 直接根據(jù)獨一無二的身體特征來證明你的身份(who you are,你是誰),比如指紋、面貌等。在網(wǎng)絡(luò)世界中,身份認證的手段與真實世界中的一致,為了達到更高的身份認證安全性,某些場景中,會從上面三種方法中挑選其中的兩種混合使用,即所謂的雙因素認證。表3-1幾種身份認證技術(shù)特點的比較 3.2.2認證協(xié)議1. 基于口令的認證1) 靜態(tài)口令認證技術(shù)(1) 靜態(tài)口令基本原理。靜態(tài)口令是使用最早、最廣泛的認證手段。因其實現(xiàn)簡單、使用方便,得到了廣泛的應(yīng)用。它的基本原理是:用戶在注冊階段生成用戶名和初始口令

10、,系統(tǒng)在其數(shù)據(jù)庫中保存用戶的信息列表(用戶名ID+口令PW)。當用戶登錄認證時,將自己的用戶名和口令上傳給服務(wù)器,服務(wù)器通過查詢用戶信息數(shù)據(jù)庫來驗證用戶上傳的認證信息是否和數(shù)據(jù)庫中保存的用戶列表信息相匹配。如果匹配,則認為用戶是合法用戶;否則拒絕服務(wù),并將認證結(jié)果回傳給客戶端。用戶定期改變口令,以保證安全性。具體的認證過程見圖3-3。圖3-3靜態(tài)口令認證過程 (2) 靜態(tài)口令認證機制的安全性分析??诹钚孤妒强诹钫J證系統(tǒng)面臨的最大威脅。用戶口令通常是一組字符串,長度不會太長。為了記憶方便常選擇有規(guī)律或有意義的字符串,如生日、人名、電話號碼等。另外,口令明文傳輸和不加密存放使得靜態(tài)口令認證系統(tǒng)的安

11、全性很差。主要存在以下問題: 網(wǎng)絡(luò)竊聽。很多網(wǎng)絡(luò)服務(wù)在詢問和驗證遠程用戶認證信息時,認證信息都是以明文形式進行傳輸?shù)?,如大量的通信協(xié)議(如Telnet、FTP、HTTP等)都使用明文傳輸。這意味著網(wǎng)絡(luò)中的竊聽者只需使用協(xié)議分析器就能查看到認證信息,從而分析出用戶的口令。 截取/重放。有的系統(tǒng)會將服務(wù)器中用戶信息加密后存放,用戶在傳輸認證信息時也先進行加密。這樣雖然能防止竊聽者直接獲得口令,但使用截取/重放攻擊,攻擊者只要在新的登錄請求中將截獲的信息提交給服務(wù)器,就可以冒充登錄。 字典攻擊。某些攻擊者利用用戶口令使用生日、人名等有意義的單詞或數(shù)字的特點,使用字典的單詞來嘗試用戶的口令,這就是所謂

12、的字典攻擊。因此,許多系統(tǒng)都建議用戶在口令中加入特殊字符,以增加口令的安全性。 窮舉攻擊。如果用戶口令較短,攻擊者就會使用字符串的全集作為字典,來對用戶口令進行猜測。它是字典攻擊的一種特殊形式。 偽造服務(wù)器攻擊。最常見的是網(wǎng)絡(luò)釣魚,即攻擊者通過偽造服務(wù)器來騙取用戶認證信息,然后冒充用戶進行正常登錄。 口令泄露。攻擊者通過窺探、社交工程、垃圾搜索、植入木馬等手段,竊得用戶口令;或用戶自己不慎將口令告訴別人或?qū)⒖诹顚懺谄渌胤奖粍e人看到,造成口令的泄露。由于靜態(tài)口令存在的缺陷,基于靜態(tài)口令的身份認證正逐漸退出歷史舞臺。近年來,許多專家提出了其他的身份認證方式,如:生物認證、智能卡認證、動態(tài)口令認證

13、等。動態(tài)口令認證因其具有高安全性、可靠、簡單、容易實現(xiàn)、成本低、投資規(guī)模小等特點,而得到廣泛的應(yīng)用。2) 動態(tài)口令認證技術(shù)1981年,美國科學家Lamport首次提出了利用散列函數(shù)產(chǎn)生一次性口令的思想。1991年貝爾通信研究中心(Bell Core)用DES加密算法首次研制出基于挑戰(zhàn)/應(yīng)答式動態(tài)口令身份認證系統(tǒng)S/KEY口令序列認證系統(tǒng),后改用MD5算法作為散列函數(shù)產(chǎn)生動態(tài)口令。1997年著名的RSA Security公司成功研制出基于時間同步的動態(tài)口令認證系統(tǒng)RSA Secure ID。從上世紀90年代開始,動態(tài)口令認證系統(tǒng)在網(wǎng)銀、電子商務(wù)。政府等領(lǐng)域大量成功地應(yīng)用,其中金融行業(yè)特別是銀行業(yè)

14、占有將近1/3的市場份額。(1) 動態(tài)口令基本原理。動態(tài)口令也叫一次性口令。它的基本原理是:在用戶登錄過程中,基于用戶口令加入不確定因子,對用戶口令和不確定因子進行單向散列函數(shù)變換,所得的結(jié)果作為認證數(shù)據(jù)提交給認證服務(wù)器。認證服務(wù)器接收到用戶的認證數(shù)據(jù)后,把用戶的認證數(shù)據(jù)和自己用同樣的散列算法計算出的數(shù)值進行比對,從而實現(xiàn)對用戶身份的認證。散列函數(shù)在認證過程中起著至關(guān)重要的作用,它把可變輸入長度串(預(yù)映射)轉(zhuǎn)換成固定長度輸出串(散列值)且單方向運行,即從預(yù)映射的值很容易計算散列值,但要從散列值推出預(yù)映射值非常困難,使得攻擊者通過網(wǎng)絡(luò)竊聽截取登錄信息卻無法反推出用戶口令。在認證過程中,用戶口令不

15、在網(wǎng)絡(luò)上傳輸,不直接用于驗證用戶的身份,用戶口令和不確定因子使用散列算法生成的數(shù)據(jù)才是直接用于用戶身份認證的數(shù)據(jù),且每次都采用不同的不確定因子來生成認證數(shù)據(jù),從而每次提交的認證數(shù)據(jù)都不相同,提高了登錄過程的安全性。(2) 動態(tài)口令認證機制的分類。根據(jù)加入不確定因子的選擇方式不同,常用動態(tài)口令認證機制有時間同步機制、事件同步機制和挑戰(zhàn)/應(yīng)答機制三種。 時間同步機制。時間同步機制就是以時間作為不確定因子。它的原理是:每個用戶都持有相應(yīng)的時間同步令牌,令牌內(nèi)置時鐘、種子密鑰和加密算法。時間同步令牌根據(jù)當前時間和種子密鑰每60秒動態(tài)生成一個動態(tài)口令。用戶需要訪問系統(tǒng)時,將令牌生成的動態(tài)口令傳送到認證服

16、務(wù)器,服務(wù)器通過其種子密鑰副本和當前時間計算出所期望的驗證值,對用戶進行驗證。它的優(yōu)點是操作簡單、易于管理,缺點是需要認證服務(wù)器和用戶令牌的時鐘嚴格保持同步,否則因網(wǎng)絡(luò)延遲很容易造成正常認證失敗,在分布式環(huán)境下很難管理。 事件同步機制。事件同步機制又稱為Lamport方式。事件同步機制是以事件(次數(shù)N作為變量。在初始化階段選取口令PW、迭代數(shù)N及一個單向數(shù)列函數(shù)H0,計算Y=Hn(PW)(Hn()表示進行n次散列運算),把Y和N的值存放到服務(wù)器上。在登錄階段,用戶端計算Y=Hn-1(PW)的值,將其提交給服務(wù)器,服務(wù)器端計算Z=H(Y),將Z值同服務(wù)器上保存的Y值進行比較。如果Z=Y,則驗證成

17、功。然后用Y的值代替服務(wù)器上Y的值作為下次的驗證值,同時將N的值遞減1。這種認證方式的優(yōu)點是容易實現(xiàn),不需要特殊硬件,可以在批次運作環(huán)境下使用;缺點是安全性依賴于單向散列函數(shù),不宜在分布式網(wǎng)絡(luò)環(huán)境下使用,由于N是有限的,用戶登錄N次后必須重新初始化口令序列,且很難抵擋小數(shù)攻擊。 挑戰(zhàn)/應(yīng)答異步認證機制。該機制就是以挑戰(zhàn)數(shù)作為變量。每個用戶同樣需要持有相應(yīng)的挑戰(zhàn)/應(yīng)答令牌。令牌內(nèi)置種子密鑰和加密算法。用戶在訪問系統(tǒng)時,服務(wù)器隨機生成一個挑戰(zhàn)數(shù)并將其發(fā)送給用戶,用戶將收到的挑戰(zhàn)數(shù)用手工輸入到挑戰(zhàn)/應(yīng)答令牌中,挑戰(zhàn)/應(yīng)答令牌利用內(nèi)置的種子密鑰和加密算法計算出相應(yīng)的應(yīng)答數(shù),將應(yīng)答數(shù)上傳給服務(wù)器,服務(wù)器

18、根據(jù)存儲的種子密鑰副本和加密算法計算出相應(yīng)的驗證數(shù),和用戶上傳的應(yīng)答數(shù)進行比較來實施認證。認證過程見圖3-4。該方式的優(yōu)點是沒有同步的問題,可以保證很高的安全性,是目前最安全可靠的認證方式;缺點是需要特殊硬件支持,用戶需多次手工輸入數(shù)據(jù),易造成較多的輸入失誤,操作過程繁瑣,易被偽造服務(wù)器攻擊,服務(wù)器端每次都要產(chǎn)生隨機數(shù),增加了系統(tǒng)開銷。圖3-4挑戰(zhàn)/應(yīng)答式動態(tài)口令認證過程 (3) 動態(tài)口令認證機制安全性分析。動態(tài)口令采用的是一次一密機制,它在原理上是不可破的。下面針對常用的攻擊手段對動態(tài)口令認證系統(tǒng)的安全性進行分析。 網(wǎng)絡(luò)竊聽:因為在網(wǎng)絡(luò)上傳輸?shù)牡卿浛诹钍墙?jīng)過單向散列變換后的數(shù)據(jù),用戶口令并不

19、在網(wǎng)上傳輸,所以網(wǎng)路即使被竊聽,攻擊者也無法從得到的信息推出用戶口令。 截取/重放:因為加入了不確定因子,用戶每次提交的認證數(shù)據(jù)都不相同,攻擊者截取的認證數(shù)據(jù)在下次認證中沒有任何意義。 字典/窮舉攻擊:因為使用了雙因子(用戶口令和不確定因子)進行散列變換生成動態(tài)口令,使攻擊者利用字典/窮舉攻擊變得困難,但如果用戶口令太短,則也容易被攻擊者攻破。 偽造服務(wù)器攻擊:大多數(shù)模式只實現(xiàn)了服務(wù)器對用戶的認證,并沒有對服務(wù)器進行認證,尤其是基于事件的認證機制不能抵御小數(shù)攻擊。但現(xiàn)在有許多改進算法結(jié)合證書、密碼技術(shù)很好地克服了這一缺點。 口令泄露:只能有效抵御。因為用戶如果不妥善保管口令,口令還是易被攻擊者

20、通過窺探、垃圾搜索等手段獲取的,但動態(tài)口令認證機制能抵御社交工程攻擊。動態(tài)口令技術(shù)能抵御大部分針對靜態(tài)口令認證的網(wǎng)絡(luò)攻擊,提高了安全性,特別是能有效抵御網(wǎng)絡(luò)竊聽、截取/重放、社交工程等攻擊,但不能有效抵御偽造服務(wù)器攻擊和來自內(nèi)部的攻擊?,F(xiàn)在有許多的改進方案,彌補了動態(tài)口令無法實現(xiàn)雙向認證和無法克服來自內(nèi)部攻擊的缺點,并正在逐步取代傳統(tǒng)的靜態(tài)口令認證方式。隨著認證市場的巨大需求,改進的先進的的動態(tài)口令認證機制將越來越應(yīng)用廣泛。2. 基于對稱密碼的認證協(xié)議1) Needham-Schroeder認證協(xié)議著名的Needham-Schroeder認證協(xié)議出現(xiàn)于1978年。首先需建立被稱為鑒別服務(wù)器的可

21、信權(quán)威機構(gòu)(密鑰分發(fā)中心KDC),該機構(gòu)擁有每個用戶的秘密密鑰。若用戶A欲與用戶B通信,則用戶A向鑒別服務(wù)器申請會話密鑰。在會話密鑰的分配過程中,雙方身份得以鑒別。(1) A KDC:A | B | Ra(2) KDC A:EKa Ra | B | Ks | EKb Ks |A (3) A B:EKb Ks | A(4) B A:EKs Rb(5) A B:EKs Rb-1具體認證過程見圖3-5,其中KDC是密鑰分發(fā)中心,Ra、Rb是一次性隨機數(shù),保密密鑰Ka和Kb分別是A和KDC、B和KDC之間共享的密鑰,Ks是由KDC分發(fā)的A與B的會話密鑰,EX表示使用密鑰X加密。Needham-Schr

22、oeder認證協(xié)議使用了多次挑戰(zhàn)/響應(yīng)協(xié)議。(1) A告訴KDC,A想與B通信,明文消息中包含一個大的隨機數(shù)Ra。(2) KDC發(fā)送一個使用A和KDC之間共享的密鑰Ka加密的消息,消息包括由KDC分發(fā)的A與B的會話密鑰Ks,A的隨機數(shù)Ra,B的名字,一個只有B能看懂的許可證。A的隨機數(shù)Ra保證了該消息是新的而不是攻擊者重放的,B的名字保證了第一條明文消息中的B未被更改,許可證EKbKs | A使用B和KDC之間共享的密鑰Kb加密。圖3-5Needham-Schroeder認證過程(3) A將許可證EKbKs | A發(fā)給B。(4) B解密許可證EKbKs | A,獲得會話密鑰Ks,然后產(chǎn)生隨機數(shù)

23、Rb,B向A發(fā)送消息EKsRb。(5) A向B發(fā)送消息EKsRb-1,以證明是真正的A與B通信。以上完成了雙向認證,并同時實現(xiàn)了秘密通信。假定攻擊方已經(jīng)掌握A和B之間通信的一個老的會話密鑰(如經(jīng)過蠻力攻擊等),則入侵者I可以在第3步冒充A利用老的會話密鑰欺騙B。除非B記住所有以前使用的與A通信的會話密鑰,否則B無法判斷這是一個重放攻擊。i3 I(A) B:EKb Ks | Ai4 B I(A):EKs Rbi5 I(A) B:EKs Rb-1這里I(A)表示I假冒A。Needham和Schroeder于1987年發(fā)表了一個協(xié)議修正了這個漏洞。Denning-Sacco協(xié)議使用時間戳修正這個漏洞

24、。這里介紹Gavin Lowe在1997年給出的基于Denning-Sacco協(xié)議的改進版本:(1) A KDC:A | B(2) KDC A:EKa B | Ks | T | EKb Ks | A | T(3) A B:EKb Ks | A | T(4) B A:EKs Rb(5) A B:EKs Rb-1其中T表示時間戳。T記錄了KDC發(fā)送消息(2)時的時間,A、B根據(jù)時間戳驗證消息的“新鮮性”,從而避免了重放攻擊。2) Otway-Rees認證協(xié)議Otway-Rees認證協(xié)議也是基于對稱密碼的,它只含四條消息。具體認證過程見圖3-6。圖3-6Otway-Rees認證過程 (1) A B:

25、A | B | R | EKa A | B | R |Ra(2) B KDC:R | A | B | EKa A | B | R |Ra | EKb A | B | R | Rb(3) KDC B:R | EKb Rb | Ks | EKa Ra | Ks(4) B A:R | EKa Ra | Ks其中:(1) A產(chǎn)生一消息,包括用和KDC共享的密鑰Ka加密的一個索引號R、A的名字、B的名字和一隨機數(shù)Ra。(2) B用A消息中的加密部分構(gòu)造一條新消息。包括用和KDC共享的密鑰Kb加密的一個索引號R、A的名字、B的名字和一新隨機數(shù)Rb。(3) KDC檢查兩個加密部分中的索引號R是否相同;如果相

26、同,就認為從B來的消息是有效的。KDC產(chǎn)生一個會話密鑰Ks用Kb和Ka分別加密后傳送給B,每條消息都包含KDC接收到的隨機數(shù)。(4) B把用A的密鑰加密的消息連同索引號R一起傳給A。3. 基于公鑰密碼的認證協(xié)議首先假定雙方已經(jīng)知道對方的公開密鑰,如通過交換證書。下面介紹幾種常見的基于公鑰密碼的認證協(xié)議。1) ISO認證協(xié)議ISO認證協(xié)議的基本步驟如下:(1) A B:Ra(2) B A:Certb | Rb | Sb(Ra | Rb | B)其中,Ra、Rb是大的隨機數(shù);Certb是B的證書;Sb()表示使用B的私有密鑰進行數(shù)字簽名。如果需要雙向認證,需要第三步:(3) A B:Certa |

27、 Sa(Ra | Rb | A)這里,Sa()表示使用A的的私有密鑰進行數(shù)字簽名。2) Diffie-Hellman密鑰交換協(xié)議Diffie-Hellman算法發(fā)明于1976年,是第一個公開密鑰算法。Diffie-Hellman算法不能用于加密與解密,但可用于密鑰分配。密鑰交換協(xié)議(Key Exchange Protocol)是指兩人或多人之間通過一個協(xié)議取得密鑰并用于通信加密。在實際的密碼應(yīng)用中密鑰交換是很重要的一個環(huán)節(jié)。比如說,利用對稱加密算法進行秘密通信,雙方首先需要建立一個共享密鑰。如果雙方?jīng)]有約定好密鑰,就必須進行密鑰交換。如何使得密鑰到達接收者和發(fā)送者手里是件很復(fù)雜的事情,最早利用

28、公鑰密碼思想提出一種允許陌生人建立共享秘密密鑰的協(xié)議,叫Diffle-Hellman密鑰交換。Diffie-Hellman密鑰交換算法是基于有限域中計算離散對數(shù)的困難性問題之上的。離散對數(shù)問題是指對任意正整數(shù)x,計算gx mod P是容易的;但是一般地已知g、Y和P求x使Y=gx (mod P)在計算上幾乎不可能的。當Alice和Bob要進行秘密通信時,他們可以按如下步驟建立共享密鑰:(1) Alice選取大的隨機數(shù)x,并計算X=gx (mod P),Alice將g、P、X傳送給Bob。(2) Bob選取大的隨機數(shù)y,并計算Y=gy (mod P),Bob將Y傳送給Alice。(3) Alic

29、e計算K=Yx (mod P);Bob計算K=Xy (mod P),易見,K=K=gxy (mod P)。Alice和Bob獲得了相同的秘密值K。雙方以K作為加解密鑰,以對稱密鑰算法進行保密通信。監(jiān)聽者可以獲得g、P、X、Y,但由于算不出x、y,所以得不到共享密鑰K。雖然Diffie-Hellman密鑰交換算法十分巧妙,但由于沒有認證功能,存在中間人攻擊,如圖3-7所示。當Alice和Bob交換數(shù)據(jù)時,Trudy攔截通信信息,并冒充Alice欺騙Bob,冒充Bob欺騙Alice。圖3-7中間人攻擊 其過程如下:(1) Alice選取大的隨機數(shù)x,并計算X=gx (mod P),Alice將g、

30、P、X傳送給Bob,但被Trudy攔截。(2) Trudy冒充Alice選取大的隨機數(shù)z,并計算Z=gz (mod P),Trudy將Z傳送給Bob。(3) Trudy冒充Bob選取大的隨機數(shù)z,并計算Z=gz (mod P),Trudy將Z傳送給Alice。(4) Bob選取大的隨機數(shù)y,并計算Y=gy (mod P),Bob將Y傳送給Alice,但被Trudy攔截。由(1)、(3),Alice與Trudy共享了一個秘密密鑰gxy;由(2)、(4),Trudy與Bob共享了一個秘密密鑰gyz。站間協(xié)議(Station-To-Station Protocol)是一個密鑰協(xié)商協(xié)議,它能夠挫敗這種

31、中間人攻擊,其方法是讓A、B分別對消息簽名。(1) A B :gx(2) B A :gy | Ek(Sb(gy | gx)(3) A B :Ek(Sa(gx | gy)其中,建立的會話密鑰是k=gxy。站間協(xié)議的一個改進版本沒有使用加密,建立的會話密鑰仍然是k=gxy。(1) A B:gx(2) B A:gy | Sb(gy | gx)(3) A B:Sa(gx | gy)站間協(xié)議具有前向保密性(Forward Secret)。前向保密性是指長期密鑰被攻破后,利用長期密鑰建立的會話密鑰仍具有保密性。站間協(xié)議中A、B的私鑰泄露不影響會話密鑰的安全。4. 零知識身份證明零知識證明(Zero-Kno

32、wledge Proof)的思想是:證明者Peggy擁有某些知識(如某些長期沒有解決的難問題的解決方法),零知識證明就是在不將該知識的內(nèi)容泄露給驗證者Victor的前提下,Peggy向Victor證明自己擁有該知識??梢允褂枚囱ɡ觼斫忉屃阒R,如圖3-8所示,C和D之間存在一個密門,并且只有知道咒語的人才能打開。Peggy知道咒語并想對Victor證明,但證明過程中不想泄露咒語。圖3-8零知識洞穴 步驟如下:(1) Victor站在A點;(2) Peggy一直走進洞穴,到達C點或者D點;(3) 在Peggy消失在洞穴中之后,Victor走到B點;(4) Victor隨機選擇左通道或者右通道,

33、要求Peggy從該通道出來;(5) Peggy從Victor要求的通道出來,如果有必要就用咒語打開密門;(6) Peggy和Victor重復(fù)步驟(1)至(5)n次。如果Peggy不知道這個咒語,那么只能從進去的路出來;如果在協(xié)議的每一輪中Peggy都能按Victor要求的通道出來,那么Peggy所有n次都猜中的概率是1/2n。經(jīng)過16輪后,Peggy只有1/65 536的機會猜中。于是Victor可以假定,如果所有16次Peggy的證明都是有效的,那么她一定知道開啟C點和D點間的密門的咒語。這里介紹著名的Feige-Fiat-shamir零知識身份認證協(xié)議的一個簡化方案??尚刨囍俨眠x定一個隨機

34、模數(shù)n,n為兩個大素數(shù)乘積,實際中至少為512位或長達1024位。仲裁方產(chǎn)生隨機數(shù)v,使x2=v mod n,即v為模n的平方剩余,且有x-1 mod n存在。以v作為Peggy的公鑰,而后計算最小的整數(shù)s:s=sqrt(v-1) mod n作為Peggy的私鑰。實施身份證明的協(xié)議如下:(1) 用戶Peggy取隨機數(shù)r(rSCU,系統(tǒng)根據(jù)主體和客體的敏感標記來決定訪問模式。訪問模式包括:下讀(Read Down):用戶級別大于文件級別的讀操作;上寫(Write Up):用戶級別小于文件級別的寫操作;下寫(Write Down):用戶級別等于文件級別的寫操作;上讀(Read Up):用戶級別小于

35、文件級別的讀操作。Bell-Lapadula安全模型所制定的原則是利用不上讀/不下寫來保證數(shù)據(jù)的保密性,見圖3-14。即不允許低信任級別的用戶讀高敏感度的信息,也不允許高敏感度的信息寫入低敏感度區(qū)域,禁止信息從高級別流向低級別。強制訪問控制通過這種梯度安全標簽實現(xiàn)信息的單向流通。Biba安全模型所制定的原則是利用不下讀/不上寫來保證數(shù)據(jù)的完整性,見圖3-15。在實際應(yīng)用中,完整性保護主要是為了避免應(yīng)用程序修改某些重要的系統(tǒng)程序或系統(tǒng)數(shù)據(jù)庫。MAC通常用于多級安全軍事系統(tǒng)。強制訪問控制對專用的或簡單的系統(tǒng)是有效的,但對通用、大型系統(tǒng)并不那么有效。圖3-14Bell-Lapadula安全模型 圖3

36、-15Biba安全模型 3.3.4基于角色的訪問控制1基于角色的訪問控制的基本思想1) 用戶、角色、許可基于角色的訪問控制(RBAC)的要素包括用戶、角色、許可等基本定義。在RBAC中,用戶就是一個可以獨立訪問計算機系統(tǒng)中的數(shù)據(jù)或者用數(shù)據(jù)表示的其他資源的主體。角色是指一個組織或任務(wù)中的工作或者位置,它代表了一種權(quán)利、資格和責任。許可(特權(quán))就是允許對一個或多個客體執(zhí)行的操作。一個用戶可經(jīng)授權(quán)而擁有多個角色,一個角色可由多個用戶構(gòu)成;每個角色可擁有多種許可,每個許可也可授權(quán)給多個不同的角色。每個操作可施加于多個客體(受控對象),每個客體也可以接受多個操作。用戶、角色、許可間的關(guān)系如圖3-16所示

37、。圖3-16用戶、角色、許可的關(guān)系 RBAC的基本思想是:授權(quán)給用戶的訪問權(quán)限,通常由用戶在一個組織中擔當?shù)慕巧珌泶_定。RBAC中許可被授權(quán)給角色,角色被授權(quán)給用戶,用戶不直接與許可關(guān)聯(lián)。RBAC對訪問權(quán)限的授權(quán)由管理員唯一管理。RBAC根據(jù)用戶在組織內(nèi)所處的角色作出訪問授權(quán)與控制。授權(quán)規(guī)定是強加給用戶的,用戶不能自主地將訪問權(quán)限傳給他人。這是一種非自主型集中式訪問控制方式。例如,在醫(yī)院里,醫(yī)生這個角色可以開處方,但他無權(quán)將開處方的權(quán)力傳給護士。2) 角色繼承為了提高效率,避免相同權(quán)限的重復(fù)設(shè)置,RBAC采用了“角色繼承”的概念,其定義了一些角色,它們有自己的屬性,但可能還繼承其他角色的許可。

38、角色繼承把角色組織起來,能夠很自然地反映組織內(nèi)部人員之間的職權(quán)、責任關(guān)系。角色繼承可以用祖先關(guān)系來表示。如圖3-17所示,角色2是角色1的“父親”,它包含角色1的許可。在角色繼承關(guān)系圖中,處于最上面的角色擁有最大的訪問權(quán)限,越下端的角色擁有的權(quán)限越小。角色層次表包括上一級角色標識、下一級角色標識。上一級角色能夠繼承下一級角色的許可。圖3-17角色繼承的實例 3) 角色分配與授權(quán)用戶/角色分配表包括用戶標識、角色標識。系統(tǒng)管理員通過為用戶分配角色、取消用戶的某個角色等操作管理用戶/角色分配表。用戶/角色授權(quán)表包括用戶標識、角色標識、可用性。我們稱一個角色r授權(quán)給一個用戶u,要么是角色r分配給用戶

39、u,要么是角色r通過一個分配給用戶u的角色繼承而來。用戶/角色授權(quán)表記錄了用戶通過用戶/角色分配表以及角色繼承而取得的所有角色??捎眯詾檎鏁r,用戶才真正可以使用該角色賦予的許可。4) 角色限制角色限制包括角色互斥與角色基數(shù)限制。對于某些特定的操作集,某一個用戶不可能同時獨立地完成所有這些操作。角色互斥可以有靜態(tài)和動態(tài)兩種實現(xiàn)方式。(1) 靜態(tài)角色互斥:只有當一個角色與用戶所屬的其他角色彼此不互斥時,這個角色才能授權(quán)給該用戶。(2) 動態(tài)角色互斥:只有當一個角色與一主體的任何一個當前活躍角色都不互斥時,該角色才能成為該主體的另一個活躍角色。靜態(tài)互斥角色表包括角色標識1、角色標識2。系統(tǒng)管理員為用

40、戶添加角色時參考。動態(tài)互斥角色表包括角色標識1、角色標識2。在用戶創(chuàng)建會話選擇活躍角色集時參考。角色基數(shù)限制是指在創(chuàng)建角色時,要指定角色的基數(shù)。在一個特定的時間段內(nèi),有一些角色只能由一定人數(shù)的用戶占用。5) 角色激活用戶是一個靜態(tài)的概念,會話則是一個動態(tài)的概念。一次會話是用戶的一個活躍進程,它代表用戶與系統(tǒng)交互。用戶與會話是一對多關(guān)系,一個用戶可同時打開多個會話。一個會話構(gòu)成一個用戶到多個角色的映射,即會話激活了用戶授權(quán)角色集的某個子集,這個子集稱為活躍角色集。活躍角色集決定了本次會話的許可集。安全策略實質(zhì)上表明的是所討論的那個系統(tǒng)在進行一般操作時,在安全范圍內(nèi)什么是允許的,什么是不允許的。不

41、像ACL只支持低級的用戶/許可關(guān)系,RBAC支持角色/許可、角色/角色的關(guān)系,由于RBAC的訪問控制是在更高的抽象級別上進行的,系統(tǒng)管理員可以通過角色定義、角色分配、角色設(shè)置、角色分層、角色限制來實現(xiàn)組織的安全策略。2RBAC系統(tǒng)結(jié)構(gòu)1) RBAC系統(tǒng)結(jié)構(gòu)RBAC系統(tǒng)結(jié)構(gòu)由RBAC數(shù)據(jù)庫、身份認證模塊、系統(tǒng)管理模塊、會話管理模塊組成。RBAC數(shù)據(jù)庫與各模塊的對應(yīng)關(guān)系見圖3-18。圖3-18RBAC數(shù)據(jù)庫與各模塊的對應(yīng)關(guān)系圖 身份認證模塊通過用戶標識、用戶口令來確認用戶身份。此模塊僅使用RBAC數(shù)據(jù)庫的USERS表。系統(tǒng)管理模塊主要完成用戶/角色的增減(使用USERS表、ROLES表)、用戶/角

42、色的分配(使用USERS表、ROLES表、用戶/角色分配表、用戶/角色授權(quán)表)、角色/許可的分配(使用ROLES表、PERMISSIONS表、角色/許可授權(quán)表)、定義角色間的關(guān)系(使用ROLES表、角色層次表、靜態(tài)互斥角色表、動態(tài)互斥角色表)。其中,每個操作都帶有參數(shù),每個操作都有一定的前提條件,操作使RBAC數(shù)據(jù)庫發(fā)生動態(tài)變化。系統(tǒng)管理員使用該模塊初始化RBAC數(shù)據(jù)庫并維護RBAC數(shù)據(jù)庫。系統(tǒng)管理員的操作包括添加用戶、刪除用戶、添加角色、刪除角色、設(shè)置角色可用性、為角色增加許可、取消角色的某個許可、為用戶分配角色、取消用戶的某個角色、設(shè)置用戶授權(quán)角色的可用性、添加角色繼承關(guān)系、取消角色繼承、

43、添加一個靜態(tài)角色互斥關(guān)系、刪除一個靜態(tài)角色互斥關(guān)系、添加一個動態(tài)角色互斥關(guān)系、刪除一個動態(tài)角色互斥關(guān)系和設(shè)置角色基數(shù)等。會話管理模塊結(jié)合RBAC數(shù)據(jù)庫管理會話。包括會話的創(chuàng)建與取消以及對活躍角色的管理。此模塊使用USERS表、ROLES表、動態(tài)互斥角色表、會話表和活躍角色表。2) RBAC系統(tǒng)的運行步驟(1) 用戶登錄時向身份認證模塊發(fā)送用戶標識、用戶口令,確認用戶身份。(2) 會話管理模塊從RBAC數(shù)據(jù)庫檢索該用戶的授權(quán)角色集并送回用戶。(3) 用戶從中選擇本次會話的活躍角色集,在此過程中會話管理模塊維持動態(tài)角色互斥。(4) 會話創(chuàng)建成功,本次會話的授權(quán)許可體現(xiàn)在菜單與按鈕上,如不可用顯示為

44、灰色。(5) 在此會話過程中,系統(tǒng)管理員若要更改角色或許可,則可在此會話結(jié)束后進行更改或立即終止此會話后再進行更改。3.4公鑰基礎(chǔ)設(shè)施3.4.1需要解決的問題首先看下例。Alice和Bob準備進行如下的秘密通信:Alice Bob:我叫Alice,我的公開密鑰是Ka,你選擇一個會話密鑰K,用Ka加密后傳送給我。Bob Alice:使用Ka加密會話密鑰K;Alice Bob:使用K加密傳輸信息;Bob Alice:使用K加密傳輸信息。如果Mallory是Alice和Bob通信線路上的一個攻擊者,并且能夠截獲傳輸?shù)乃行畔ⅲ琈allory將會截取Alice的公開密鑰Ka并將自己的公開密鑰Km傳送給

45、Bob。當Bob用“Alice”的公開密鑰(實際上是Mallory的公開密鑰)加密會話密鑰K傳送給Alice時,Mallory截取它,并用他的私鑰解密獲取會話密鑰K,然后再用Alice的公開密鑰重新加密會話密鑰K,并將它傳送給Alice。由于Mallory截獲了Alice與Bob會話密鑰K,從而可以獲取他們的通信內(nèi)容并且不被發(fā)現(xiàn)。Mallory的這種攻擊稱為中間人攻擊。上述攻擊的成功本質(zhì)上在于Bob收到的Alice的公開密鑰可能是攻擊者假冒的,即無法確定獲取的公開密鑰的真實身份,從而無法保證信息傳輸?shù)谋C苄浴⒉豢煞裾J性、數(shù)據(jù)交換的完整性。為了解決這些安全問題,目前初步形成了一套完整的Inter

46、net安全解決方案,即廣泛采用的公鑰基礎(chǔ)設(shè)施(Pubic Key Infrastructure,PKI)。從字面上去理解,PKI就是利用公共密鑰理論和技術(shù)建立的提供安全服務(wù)的基礎(chǔ)設(shè)施。所謂基礎(chǔ)設(shè)施,就是在某個大環(huán)境下普遍適用的系統(tǒng)和準則。在現(xiàn)實生活中,如電力系統(tǒng),它提供電能,我們可以把電燈、電視、電吹風機等看成是電力系統(tǒng)這個基礎(chǔ)設(shè)施的一些應(yīng)用。公共密鑰基礎(chǔ)設(shè)施則是希望從技術(shù)上解決網(wǎng)上身份認證、信息的保密性、信息的完整性和不可抵賴性等安全問題,為網(wǎng)絡(luò)應(yīng)用提供可靠的安全服務(wù)。CA機構(gòu),又稱為證書授證(Certificate Authority)中心,是PKI的核心。CA是受一個或多個用戶信任,提供

47、用戶身份驗證的第三方機構(gòu),承擔公鑰體系中公鑰的合法性檢驗的責任。目前,我國一些單位和部門都已建成了自己的一套CA體系。其中較有影響的如中國電信CA安全認證體系(CTCA)、上海電子商務(wù)CA認證中心(SHECA)和中國金融認證中心(CFCA)等。國外的一些大的網(wǎng)絡(luò)安全公司也紛紛推出一系列基于PKI的網(wǎng)絡(luò)安全產(chǎn)品,如美國的Verisign、IBM、SUN,加拿大的Entrust等安全產(chǎn)品供應(yīng)商,為用戶提供了一系列的客戶端和服務(wù)器端的安全產(chǎn)品,為電子商務(wù)的發(fā)展以及政府辦公網(wǎng)、EDI等提供了安全保證。3.4.2信任模型與PKI體系結(jié)構(gòu)1直接信任與第三方信任在ITU-T推薦標準X.509規(guī)范中給出了信任

48、定義:實體A認定實體B將嚴格地按A所期望的那樣行動,則A信任B。這里稱A是信任者,B是被信任者。從定義可以看出,信任涉及對某種事件、情況的預(yù)測、期望和行為。信任是信任者對被信任者的一種態(tài)度,是對被信任者的一種預(yù)期,相信被信任者的行為能夠符合自己的愿望。按照有無第三方可信機構(gòu)參與,信任可劃分為直接信任和第三方推薦信任。1) 直接信任直接信任是最簡單的信任形式。兩個實體之間無須第三方介紹而直接建立起來的信任關(guān)系稱為直接信任,如圖3-19所示。2) 第三方信任第三方信任是指兩個實體以前沒有建立起信任關(guān)系,但雙方與共同的第三方有信任關(guān)系,第三方為兩者的可信任性進行了擔保,由此建立起來的信任關(guān)系。第三方

49、信任的實質(zhì)是第三方的推薦信任,如圖3-20所示,是目前網(wǎng)絡(luò)安全中普遍采用的信任模式。圖3-19直接信任 第三方的認證代理就是稱謂的“認證中心”(CA)。一個認證中心是一個可信任的實體,通常是國家認定的權(quán)威機構(gòu),它的核心職責就是審查認證某實體的身份,證明該實體是不是他所聲稱的實體,然后由CA發(fā)放給實體數(shù)字證書,作為CA信任他的一種證明。這樣,通過第三方信任,任何信任第三方的人便可以信任這個實體。證書將用戶公鑰和名字等其他信息綁定起來,CA使用它的簽名私鑰對證書信息進行數(shù)字簽名。CA機構(gòu)的數(shù)字簽名使得攻擊者不能偽造和篡改證書,CA的數(shù)字簽名對證書提供了安全和信任的兩個元素:第一,證書上的有效的數(shù)字

50、簽名是證書完整性的保證。第二,由于CA是唯一有權(quán)使用它的簽名私鑰的實體,保證了只有CA能做那樣的簽名,CA不能否認它簽名的證書(抗抵賴性)。如果兩個CA交換密鑰信息,這樣每個CA都可以有效地驗證另一方CA密鑰的可信任性,我們稱這樣的過程為交叉認證。交叉認證是第三方信任的擴展,即一個CA的用戶信任其他所有自己CA交叉認證的CA用戶,如圖3-21所示。圖3-21擴展的第三方信任模型 在第三方信任中,也可由普通用戶通過擔當CA并使其公鑰被其他人所認證來建立自己的信任網(wǎng)絡(luò)。一個典型的例子是:在PGP中當用戶簽署另一個人的密鑰時,他就成為了這個密鑰的介紹人。當這個過程進行下去時,就建立了一個信任網(wǎng)絡(luò)。例

51、如,A收到一個據(jù)稱屬于B的證書,這個證書是由A不認識的C簽署的,但是C的證書是由A認識并且信任的D簽署的。在這種情況下,A可以決定信任B的密鑰(即信任從D到C再到B的密鑰鏈),也可以決定不信任B的密鑰(認為“未知的”B與“已知的”D之間的距離太遠)。這種模型一般不適合用在貿(mào)易、金融或政府環(huán)境中,因為在這些環(huán)境下,通常希望或需要對用戶的信任實行某種控制。在可信任的第三方(公證人)的概念之上也可建立公證機制,以確保在兩個實體間交換的信息的某些性質(zhì)不致變化,例如,它的來源、完整性或者它被發(fā)出或收到的時間。2PKI的體系結(jié)構(gòu)CA是PKI的核心。根據(jù)CA間的關(guān)系,PKI的體系結(jié)構(gòu)可以有三種情況:單個CA

52、的結(jié)構(gòu)、分級(層次)結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。1) 單個CA的結(jié)構(gòu)單個CA的結(jié)構(gòu)是最基本的PKI結(jié)構(gòu),PKI中的所有用戶對此單個CA給予信任,它是PKI系統(tǒng)內(nèi)單一的用戶信任點,它為PKI中的所有用戶提供PKI服務(wù)。這種結(jié)構(gòu)只需建立一個根CA,所有的用戶都能通過該CA實現(xiàn)相互認證。但單個CA的結(jié)構(gòu)不易擴展到支持大量的或者不同的群體的用戶。2) 分級(層次)結(jié)構(gòu)在現(xiàn)實生活中,一個證書機構(gòu)很難得到所有用戶的信賴并接受它所發(fā)行的所有用戶證書,而且這個證書機構(gòu)也很難對所有潛在注冊用戶有足夠全面的了解,這就需要多個CA。可以使用主從關(guān)系或者使用對等關(guān)系將單個獨立的CA擴展成支持不同群體的更大的、更為多樣化的PKI。

53、一個以主從CA關(guān)系建立的PKI稱做分級(層次)結(jié)構(gòu)的PKI。在這種結(jié)構(gòu)下,所有的用戶都信任最高層的根CA,上一層CA向下一層CA發(fā)放公鑰證書。若一個持有由特定CA發(fā)證的公鑰用戶要與由另一個CA發(fā)放公鑰證書的用戶進行安全通信,則需要解決跨域的認證,這一認證過程在于建立一個從根出發(fā)的可信賴的證書鏈。分級結(jié)構(gòu)的PKI系統(tǒng)易于升級和增加新的認證域用戶,因為只需要根CA與該認證域的CA建立信任關(guān)系。證書路徑由于其單向性,可生成從用戶證書到可信任點的簡單的、相對較短的路徑。用戶基于分級結(jié)構(gòu)中的CA的位置可隱含地知道一個證書用于哪種應(yīng)用。分級結(jié)構(gòu)的PKI依賴于一個單一的可信任點即根CA。根CA安全性的削弱,

54、將導(dǎo)致整個PKI系統(tǒng)安全性的削弱,根CA的故障對整個PKI系統(tǒng)是災(zāi)難性的。另外一個缺點是構(gòu)建一個全球共同的根CA可能在政治上是無法做到的。另外,由一組彼此分離的CA過渡到分級結(jié)構(gòu)的PKI,算法的多樣性更加深了互通操作的復(fù)雜程度。3) 網(wǎng)狀結(jié)構(gòu)以對等CA關(guān)系建立的交叉認證擴展了CA域之間的第三方信任關(guān)系,這樣的PKI系統(tǒng)稱為網(wǎng)狀結(jié)構(gòu)的PKI。交叉認證包含兩個操作,如圖3-22所示。圖3-22交叉認證 第一個操作是兩個域之間信任關(guān)系的建立,這通常是一次性操作。在雙邊交叉認證的情況下,每個CA簽發(fā)一張“交叉證書”。第二個操作由客戶端軟件來做。這個操作包含了驗證由已經(jīng)交叉認證的CA簽發(fā)的用戶證書的可信

55、賴性。這個操作需要經(jīng)常執(zhí)行。例如CA1、CA2通過相互頒發(fā)證書,來實現(xiàn)兩個信任域內(nèi)網(wǎng)絡(luò)用戶的相互信任。U如果要驗證U2證書的合法性,則首先需要驗證CA2對U2證書的簽名,然后驗證CA1對CA2證書的簽名,因為U1信任CA1,所以信任U2證書。U1通過這樣一個證書鏈來驗證U2證書的合法性。通常,用戶信任為他們發(fā)放證書的CA。CA之間相互發(fā)放證書,網(wǎng)狀PKI中的所有CA都可能是可信任點,證書對描述了他們雙向的信任關(guān)系。然而,正因為這種雙向的可信任模型,從用戶證書到可信任點建立證書的路徑是不確定的。因為存在多種選擇,使得路徑發(fā)現(xiàn)較為困難。3CTCA的體系結(jié)構(gòu)完整的PKI包括認證策略的制定(包括遵循的

56、技術(shù)標準、各CA之間的上下級或同級關(guān)系、安全策略、安全程度、服務(wù)對象、管理原則和框架等)、認證規(guī)則、運作制度的制定、所涉及的各方法律關(guān)系內(nèi)容以及技術(shù)的實現(xiàn)。從功能上來說,一個CA可以劃分為:接受用戶證書申請的證書受理者(RS)、證書發(fā)放的審核部門(Registration Authority,RA)、證書發(fā)放的操作部門(CP)一般稱這部分為CA,以及記錄證書作廢的證書作廢表(又叫黑名單CRL),如圖3-23所示。圖3-23CA構(gòu)成 RA即證書發(fā)放審核部門,它負責對證書申請者進行資格審查,并決定是否同意給該申請者發(fā)放證書。如果審核錯誤或為不滿足資格的人發(fā)放了證書,所引起的一切后果都由該部門承擔。

57、CP為證書發(fā)放的操作部門,負責為已授權(quán)的申請者制作、發(fā)放和管理證書,并承當因操作運營錯誤所造成的一切后果,包括失密和為沒有獲得授權(quán)者發(fā)放證書等。CP可以由審核授權(quán)部門自己擔任,也可以委托給第三方擔任。RS即證書受理者,它用于接受用戶的證書申請請求,轉(zhuǎn)發(fā)給CP和RA進行響應(yīng)的處理。CRL是證書作廢表,其中記錄尚未過期但已經(jīng)聲明作廢的用戶證書序列號,供證書使用者在認證與之通信的對方證書是否作廢時查詢。業(yè)務(wù)受理點作為CA 系統(tǒng)對外提供服務(wù)的一個窗口,為用戶提供面對面的證書申請和發(fā)放服務(wù);同時,業(yè)務(wù)受理點可以擔任用戶證書發(fā)放的審核部門,當面審核用戶提交的資料,決定是否為用戶發(fā)放證書。3.4.3證書1證

58、書的概念證書是公開密鑰體制的一種密鑰管理媒介。證書提供了一種在Internet上驗證身份的方式,其作用類似于司機的駕駛執(zhí)照或日常生活中的身份證。證書包含了能夠證明證書持有者身份的可靠信息,是持有者在網(wǎng)絡(luò)上證明自己身份的憑證。證書是由權(quán)威機構(gòu),又稱證書授權(quán)(Certificate Authority,CA)中心發(fā)行的。證書一方面可以用來向系統(tǒng)中的其他實體證明自己的身份,另一方面由于每份證書都攜帶著證書持有者的公鑰,所以證書也可以向接受者證實某人或某個機構(gòu)對公開密鑰的擁有,同時也起著公鑰分發(fā)的作用。數(shù)字證書可用于方便、快捷、安全地發(fā)送電子郵件、訪問安全站點、網(wǎng)上招標投標、網(wǎng)上簽約、網(wǎng)上訂購、安全網(wǎng)

59、上公文傳送、網(wǎng)上辦公、網(wǎng)上繳費、網(wǎng)上繳稅、網(wǎng)上購物等網(wǎng)上的安全電子事務(wù)處理和安全電子交易活動。從證書的最終使用者來看,數(shù)字證書可分為系統(tǒng)證書和用戶證書。系統(tǒng)證書指CA系統(tǒng)自身的證書,包括CA中心的證書、業(yè)務(wù)受理點的證書以及CA系統(tǒng)操作員的證書;用戶證書從應(yīng)用角度,可將其分為個人用戶證書、企業(yè)用戶證書和服務(wù)器證書。從證書的用途來看,數(shù)字證書可分為簽名證書和加密證書。簽名證書用于對用戶信息進行簽名,以保證信息的不可否認性。加密證書用于對用戶傳送的信息進行加密,以保證信息的真實性和完整性。在使用中必須為用戶配置兩對密鑰(簽名密鑰對、加密密鑰對)、兩張證書。簽名密鑰對由簽名私鑰和驗證公鑰組成。為保證其

60、唯一性,簽名私鑰絕對不能夠作備份和存檔,丟失后只需重新生成新的密鑰對,原來的簽名可以使用舊公鑰的備份來驗證。驗證公鑰需要存檔,用于驗證舊的數(shù)字簽名。用作數(shù)字簽名的這一對密鑰一般可以有較長的生命期。加密密鑰對由加密公鑰和脫密私鑰組成。為防止密鑰丟失時丟失數(shù)據(jù),脫密私鑰應(yīng)該進行備份, 同時還可能需要進行存檔,以便能在任何時候脫密歷史密文數(shù)據(jù)。加密公鑰無須備份和存檔,加密公鑰丟失時,只須重新產(chǎn)生密鑰對。加密密鑰對通常用于分發(fā)會話密鑰,這種密鑰應(yīng)該頻繁更換,故加密密鑰對的生命周期較短。CA系唯一般支持多種安全級別證書的發(fā)放。例如:一級證書(操作員證書),由CA中心受理審核和發(fā)放,一般應(yīng)用于系統(tǒng)內(nèi)部的服

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論