【文章內(nèi)容簡(jiǎn)介】
構(gòu) z 由兩個(gè)分組過(guò)濾路由器和一個(gè)應(yīng)用網(wǎng)關(guān)組成: y 分組過(guò)濾路由器:利用 IP頭及傳輸層報(bào)頭的某些域過(guò)濾分組。 y 應(yīng)用網(wǎng)關(guān):根據(jù)應(yīng)用層的信息(應(yīng)用層協(xié)議的域、報(bào)文內(nèi)容等)過(guò)濾分組。 y 兩個(gè)分組過(guò)濾路由器分別位于外網(wǎng)和內(nèi)網(wǎng)上并通過(guò)應(yīng)用網(wǎng)關(guān)相連,迫使每個(gè)分組必須通過(guò)應(yīng)用網(wǎng)關(guān)的檢查。 y 應(yīng)用網(wǎng)關(guān)通常運(yùn)行在一個(gè)獨(dú)立的計(jì)算機(jī)系統(tǒng)(稱堡壘主機(jī))上,堡壘主機(jī)必須是非常安全的。 防火墻典型結(jié)構(gòu) 攻 攻 攻 攻 攻 攻 攻攻 攻 攻 攻攻 攻 攻攻 攻 攻 攻 攻 攻 攻攻 攻 攻 攻 攻 攻 攻攻 攻 攻 攻 攻 攻 攻攻 攻 攻 攻攻 8 1 1 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻 攻防火墻的基本機(jī)制 z 分組過(guò)濾: y 分組過(guò)濾路由器按照配置的訪問(wèn)控制列表( ACL)轉(zhuǎn)發(fā)或丟棄分組。 y 分組過(guò)濾通?;诜纸M的以下域進(jìn)行:源 /目的 IP地址,源 /目的傳輸層端口,協(xié)議字段。 y 優(yōu)點(diǎn):運(yùn)行速度快。 y 缺點(diǎn): x 控制粒度粗,無(wú)法基于用戶的身份或消息的內(nèi)容進(jìn)行過(guò)濾。 x 內(nèi)部主機(jī)地址暴露。 防火墻的基本機(jī)制(續(xù)) z 應(yīng)用代理: y 代理是運(yùn)行在堡壘主機(jī)上的特定應(yīng)用程序或服務(wù)程序,其作用是在用戶與外部服務(wù)器之間中繼應(yīng)用層流量。 y 用戶并不與外部服務(wù)器建立直接的 TCP連接,用戶只與堡壘主機(jī)建立連接,而堡壘主機(jī)與外部服務(wù)器建立連接。 y 優(yōu)點(diǎn): x 外部服務(wù)器只能看到堡壘主機(jī),內(nèi)部網(wǎng)絡(luò)細(xì)節(jié)對(duì)外是完全屏蔽的。 x 能夠?qū)崿F(xiàn)基于用戶身份的流量過(guò)濾。 x 能夠?qū)崿F(xiàn)基于內(nèi)容的過(guò)濾。 x 內(nèi)部網(wǎng)絡(luò)可以使用私有地址,只要幾個(gè)公共可訪問(wèn)的服務(wù)器使用公共地址即可。 y 缺點(diǎn):必須為每一個(gè)支持的應(yīng)用安裝代理,每一個(gè)應(yīng)用會(huì)話都必須被代理,處理開(kāi)銷大,對(duì)網(wǎng)絡(luò)速度的影響較大。 防火墻的局限性 z 防火墻不能抵抗以下攻擊: y 偽造數(shù)據(jù)包的源地址,以逃過(guò)地址過(guò)濾。 y 對(duì)文件進(jìn)行加密或?qū)⑽募呙璩?JPEG文件,以逃過(guò)字符過(guò)濾器的檢查。 y 來(lái)自防火墻內(nèi)部的攻擊。 y 拒絕服務(wù)( DoS)攻擊 y …… 4. 鑒別服務(wù) z 鑒別:用來(lái)驗(yàn)證通信對(duì)方身份的一種技術(shù)。 z 鑒別協(xié)議:通過(guò)一系列的消息交換確認(rèn)通信雙方的身份,并建立起會(huì)話密鑰。 z 兩個(gè)重要的鑒別標(biāo)準(zhǔn): y Kerberos:基于對(duì)稱密碼技術(shù)的鑒別協(xié)議,目前已獲得廣泛支持并用于許多系統(tǒng)中; y :基于公鑰加密技術(shù)的鑒別服務(wù)。 Kerberos z Kerberos要解決的問(wèn)題: y 在一個(gè)開(kāi)放的分布式環(huán)境中,工作站用戶要訪問(wèn)分布在網(wǎng)絡(luò)中的應(yīng)用服務(wù)器,我們希望應(yīng)用服務(wù)器只被授權(quán)用戶訪問(wèn)。 z Kerberos的解決方案: y 為減輕應(yīng)用服務(wù)器的負(fù)擔(dān), Kerberos提供一種集中式的鑒別服務(wù),由網(wǎng)絡(luò)中的一臺(tái)或幾臺(tái)鑒別服務(wù)器專門(mén)為用戶和服務(wù)器提供雙向鑒別服務(wù)。 一個(gè)簡(jiǎn)單的鑒別方案 z 一個(gè)鑒別服務(wù)器(稱為 AS)知道網(wǎng)絡(luò)中所有用戶的口令,并將這些口令保存在一個(gè)集中式的數(shù)據(jù)庫(kù)中。 z AS與每個(gè)應(yīng)用服務(wù)器有一個(gè)不同的共享密鑰,這些密鑰已通過(guò)某種安全方式分發(fā)到每一個(gè)服務(wù)器上。 z 用戶在工作站上向服務(wù)器 V請(qǐng)求服務(wù),以下是一個(gè)簡(jiǎn)單的鑒別過(guò)程: (1) C→AS : IDC || PasswordC || IDV (2) AS→C : Ticket; Ticket = EKv [IDC || ADC || IDV] (3) C→V : IDC || Ticket z 以上鑒別方案的缺點(diǎn): y 每請(qǐng)求一次服務(wù)就要輸入一次口令,以獲得一個(gè)票據(jù) . y 用戶口令用明文發(fā)送,不安全。 一個(gè)更安全的鑒別方案 z 引入一個(gè)授予票據(jù)服務(wù)器 TGS,專為那些經(jīng)過(guò) AS鑒別的用戶簽發(fā)票據(jù)。 z 客戶進(jìn)程首先為用戶向 AS請(qǐng)求一個(gè)準(zhǔn)予票據(jù)的票據(jù)Tickettgs,并將得到的 Tickettgs保存在本地。 z 每當(dāng)用戶請(qǐng)求一個(gè)新的服務(wù)時(shí),客戶進(jìn)程為用戶向 TGS請(qǐng)求一個(gè)訪問(wèn)該服務(wù)的票據(jù), Tickettgs被客戶進(jìn)程用來(lái)向 TGS表明用戶的身份。 z TGS為用戶簽發(fā)一個(gè)訪問(wèn)特定服務(wù)器的票據(jù),客戶進(jìn)程將每個(gè)準(zhǔn)予服務(wù)票據(jù)保存在本地。 z 每當(dāng)用戶請(qǐng)求一個(gè)特定服務(wù)時(shí),客戶進(jìn)程用相應(yīng)的準(zhǔn)予服務(wù)票據(jù)向服務(wù)器發(fā)出請(qǐng)求。 一個(gè)更安全的鑒別方案(續(xù)) 用戶每次登錄時(shí)執(zhí)行( 1)和( 2) ( 1) C→AS : IDC || IDtgs ( 2) AS→C : EKc [Tickettgs]; Tickettgs = EKtgs [IDC || ADC || IDtgs|| TS1|| Lifetime1] 用戶每次請(qǐng)求一種新的服務(wù)時(shí)執(zhí)行( 3)和( 4) ( 3) C→TGS : IDC || IDV || Tickettgs ( 4) TGS→C : Ticketv; Ticketv = EKv [IDC || ADC || IDV || TS2|| Lifetime2] 用戶每次請(qǐng)求一個(gè)服務(wù)時(shí),執(zhí)行( 5) ( 5) C→V : IDC || Ticketv z 問(wèn)題: y Tickettgs及 Ticketv中的生存期設(shè)置多長(zhǎng)? y 用戶可能也需要鑒別服務(wù)器。 Kerberos V4的鑒別過(guò)程 鑒別服務(wù)交換:獲取 Tickettgs (1) C→AS : IDC || IDtgs || TS1 (2) AS→C : EKc [Kc,tgs || IDtgs || TS2 || Lifetime2 || Tickettgs] Tickettgs = EKtgs [Kc,tgs || IDC || ADC || IDtgs || TS2|| Lifetime2] 授予票據(jù)服務(wù)交換:獲取 TicketV (3) C→TGS : IDv || Tickettgs || AuthenticatorC Authenticatorc = EKc,tgs [IDC || ADC || TS3] (4) TGS→C : EKc,tgs [KC,V || IDv || TS4 || Ticketv] TicketV= EKv [KC,V || IDC || ADC || IDv || TS4|| Lifetime4] 客戶 /服務(wù)器鑒別交換:獲得服務(wù) (5) C→V : TicketV || Authenticatorc (6) V→C : EKc,v [TS5 + 1] (用于相互鑒別 ) Authenticatorc = EKc,v [IDc || ADC || TS5] Kerberos v4鑒別過(guò)程示意圖 A ST G S攻攻ticketgranting ticketTicket + session key攻攻servicegranting ticketTicket + session key攻攻攻攻攻攻攻攻攻攻攻攻 攻K e r b e r o s攻 8 1 2 K e r b e r o s 攻 攻 攻Kerberos域 z Kerberos域是由一個(gè) Kerberos服務(wù)器、許多應(yīng)用服務(wù)器和許多客戶組成的一個(gè)全服務(wù) Kerberos環(huán)境,且滿足以下兩個(gè)條件: y Kerberos服務(wù)器的數(shù)據(jù)庫(kù)中有所有用戶的 ID和(散列的)口令,所有用戶都向 Kerberos服務(wù)器注冊(cè); y Kerberos服務(wù)器與每個(gè)應(yīng)用服務(wù)器有一個(gè)共享的密鑰,所有應(yīng)用服務(wù)器都向 Kerberos服務(wù)器注冊(cè)。 z Kerberos提供了一種支持域之間鑒別的機(jī)制,兩個(gè)支持域間鑒別的域必須滿足第 3個(gè)條件: y 每個(gè)互操作域中的 Kerberos服務(wù)器必須與另一個(gè)域中的 Kerberos服務(wù)器共享一個(gè)密鑰;兩個(gè) Kerberos服務(wù)器相互注冊(cè)。 Kerberos域之間的鑒別過(guò)程 A ST G S1.攻攻攻攻TGS攻攻攻2.攻攻TGS攻攻攻3 . 攻 攻 攻 攻 T G S 攻 攻 攻4 . 攻 攻 T G S 攻 攻 攻攻 攻K e r b e r o sA ST G SK e r b e r o s5.攻攻攻攻攻攻攻攻攻攻6.攻攻攻攻攻攻攻攻7.攻攻攻攻攻攻A 攻B 攻攻 8 1 3 K e r b e r o s 攻 攻 攻 攻 攻 攻 攻 攻攻 攻攻 攻 攻 z 公開(kāi)密鑰體系避免了密鑰分發(fā)的問(wèn)題,但卻需要解決另一個(gè)困難的問(wèn)題,即如何可靠地發(fā)布公鑰。 z 證書(shū)被用來(lái)證明某個(gè)主體擁有某個(gè)公鑰,頒發(fā)證書(shū)的機(jī)構(gòu)稱為認(rèn)證權(quán)威 CA。 z ,它定義了證書(shū)的結(jié)構(gòu)和基于公鑰證書(shū)的鑒別協(xié)議。 z ,數(shù)字簽名方案要求先使用一個(gè)散列函數(shù)。 z 證書(shū)的主要作用是將一個(gè)公鑰綁定到一個(gè)主體的名字上。 z 證書(shū)包含主體的公鑰,并由一個(gè)可信任的 CA簽名,任何人無(wú)法篡改證書(shū)的內(nèi)容,因而可將證書(shū)放在任何可公開(kāi)訪問(wèn)的地方。 z 證書(shū)還可以將一個(gè)公鑰綁定到一個(gè)屬性上,在安全控制中常?;趯傩远皇菃蝹€(gè)的主體授予對(duì)資源的訪問(wèn)權(quán)限。 z 對(duì)證書(shū)持有者的鑒別: y 隨機(jī)選取一個(gè)大數(shù),用證書(shū)中的公鑰加密后發(fā)送給請(qǐng)求者。 y 請(qǐng)求者用私鑰解密后將這個(gè)隨機(jī)數(shù)返回。 y 檢查這兩個(gè)數(shù)是否相同,相同則說(shuō)明請(qǐng)求者擁有這個(gè)證書(shū)。 字段 含義 Version Serial number 證書(shū)序列號(hào),與 CA名字一起唯一標(biāo)識(shí)一個(gè)證書(shū) Signature algorithm 簽名該證書(shū)使用的算法及相關(guān)參數(shù)(與 Signature重復(fù)) Issuer 簽發(fā)該證書(shū)的 CA的 Valid period 證書(shū)有效期的起止時(shí)間 Subject name 主體名字,證書(shū)被頒給的對(duì)象 Public key 與主體綁定的公鑰、使用該公鑰的算法名字及相關(guān)參數(shù) Issuer ID 唯一標(biāo)識(shí) CA的一個(gè)可選的 ID Subject ID 唯一標(biāo)識(shí)主體的一個(gè)可選的 ID Extensions 一個(gè)或多個(gè)擴(kuò)展字段( ) Signature 簽名該證書(shū)使用的算法、相關(guān)參數(shù)及證書(shū)簽名。證書(shū)簽名 覆蓋證書(shū)的所有內(nèi)容 公鑰證書(shū)的驗(yàn)證 z 為驗(yàn)證公鑰證書(shū)的真實(shí)性: y 用 CA的公鑰解開(kāi)證書(shū)的簽名,得到證書(shū)內(nèi)容的消息摘要。 y 對(duì)收到的證書(shū)內(nèi)容計(jì)算消息摘要,并與解密得到的消息摘要進(jìn)行比較,兩者相同表明這是合法的公鑰證書(shū)。 公鑰基礎(chǔ)設(shè)施 PKI z PKI由用戶、 CA、證書(shū)和目錄等要素組成,提供了一種組織這些要素的方法,并為各種文檔和協(xié)議制訂標(biāo)準(zhǔn)。 z PKI的最簡(jiǎn)單形式是分級(jí) CA結(jié)構(gòu)。 R o o tC A 4R A 2C A 3C A 2R A 1C A 1 C A 5C A 5 i s a p p r o v e d .