版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、身份認(rèn)證及其應(yīng)用 1 引言 2 身份認(rèn)證的方法 3 第三方認(rèn)證 4 X.509 5 數(shù)字證書 6 驗(yàn)證證書 7 CA系統(tǒng)結(jié)構(gòu)第1頁(yè),共136頁(yè)。1 引 言 從對(duì)計(jì)算機(jī)系統(tǒng)或網(wǎng)絡(luò)的一般訪問(wèn)過(guò)程來(lái)看,身份認(rèn)證是用戶獲得訪問(wèn)權(quán)限的第一步。如果用戶身份得不到系統(tǒng)的認(rèn)可,即授權(quán),他就無(wú)法進(jìn)入該系統(tǒng)并進(jìn)而訪問(wèn)系統(tǒng)資源。從這個(gè)意義來(lái)講,身份認(rèn)證是安全防御的第一道防線,它是防止非授權(quán)用戶或進(jìn)程進(jìn)入計(jì)算機(jī)系統(tǒng)的有效安全保障措施。第2頁(yè),共136頁(yè)。 身份認(rèn)證即身份識(shí)別與驗(yàn)證(Identification and Authentication,簡(jiǎn)稱I&A),是計(jì)算機(jī)安全的重要組成部分,它是大多數(shù)訪問(wèn)控制的基礎(chǔ),也
2、是建立用戶審計(jì)能力的基礎(chǔ)。訪問(wèn)控制通常要求計(jì)算機(jī)系統(tǒng)能夠識(shí)別和區(qū)分用戶,而且通常是基于最小特權(quán)原理(Least Privilege Theorem)(系統(tǒng)中的每個(gè)主體執(zhí)行授權(quán)任務(wù)時(shí),僅被授予完成任務(wù)所必需的最小訪問(wèn)權(quán)限)。用戶審計(jì)要求計(jì)算機(jī)系統(tǒng)上的各種活動(dòng)與特定的個(gè)人相關(guān)聯(lián),以便系統(tǒng)識(shí)別出各用戶。第3頁(yè),共136頁(yè)。2 身份認(rèn)證的方法 識(shí)別是用戶向系統(tǒng)提供聲明身份的方法;驗(yàn)證則是建立這種聲明有效性的手段。計(jì)算機(jī)系統(tǒng)識(shí)別用戶依賴的是系統(tǒng)接收到的驗(yàn)證數(shù)據(jù)。這樣驗(yàn)證就面臨著這些考驗(yàn):收集驗(yàn)證數(shù)據(jù)問(wèn)題、安全地傳輸數(shù)據(jù)問(wèn)題以及怎樣知道使用計(jì)算機(jī)系統(tǒng)的用戶就是當(dāng)初驗(yàn)證通過(guò)的用戶問(wèn)題。目前用來(lái)驗(yàn)證用戶身份的
3、方法有: 第4頁(yè),共136頁(yè)。 用戶知道什么(Something the User Knows)(秘密,如口令、個(gè)人身份號(hào)碼(PIN)、密鑰等) 用戶擁有什么(Something the User Possesses)(令牌,如ATM卡或智能卡等) 用戶是誰(shuí)(Something the User is)(生物特征,如聲音識(shí)別、手寫識(shí)別或指紋識(shí)別等)第5頁(yè),共136頁(yè)。 2.1 基于用戶知道什么的身份認(rèn)證 最普通的身份認(rèn)證形式是用戶標(biāo)識(shí)(ID)和口令(Password)的組合,如圖1所示。這種技術(shù)僅僅依賴于用戶知道什么的事實(shí)。通常采用的是基于知識(shí)的傳統(tǒng)口令技術(shù),但也有其它技術(shù),如密鑰。第6頁(yè),共
4、136頁(yè)。圖1 基于用戶名和口令的身份認(rèn)證第7頁(yè),共136頁(yè)。 通常,口令系統(tǒng)的運(yùn)作需要用戶輸入用戶標(biāo)識(shí)和口令(或PIN碼)。系統(tǒng)對(duì)輸入的口令與此前為該用戶標(biāo)識(shí)存儲(chǔ)的口令進(jìn)行比較。如果匹配,該用戶就可得到授權(quán)并獲得訪問(wèn)權(quán)。 口令的優(yōu)點(diǎn):口令作為安全措施已經(jīng)很長(zhǎng)時(shí)間并成功地為計(jì)算機(jī)系統(tǒng)提供了安全保護(hù)。它已經(jīng)集成到很多操作系統(tǒng)中,用戶和系統(tǒng)管理員對(duì)它非常熟悉。在可控環(huán)境下管理適當(dāng)?shù)脑挘诹钕到y(tǒng)可提供有效的安全保護(hù)。第8頁(yè),共136頁(yè)。 口令存在的問(wèn)題:口令系統(tǒng)的安全依賴于口令的保密性, 而用戶為了方便記憶而在設(shè)置口令時(shí)常使用姓名拼音、生日、電話號(hào)碼等,這樣口令就會(huì)很容易地被猜出。另外只要用戶訪問(wèn)一
5、個(gè)新的服務(wù)器,都必須提供新口令。第9頁(yè),共136頁(yè)。 2.2 基于用戶擁有什么的身份認(rèn)證 盡管某些身份認(rèn)證技術(shù)是完全基于用戶擁有什么,但是它在一定程度上還是和基于用戶知道什么的技術(shù)結(jié)合在一起的,這種結(jié)合比單一地采用一種技術(shù)的安全性大大提高了(見圖2)。通常,基于用戶擁有什么的身份認(rèn)證技術(shù)使用的是令牌,這里介紹兩種令牌:記憶令牌和智能卡。第10頁(yè),共136頁(yè)。圖2 基于數(shù)字證書的身份認(rèn)證第11頁(yè),共136頁(yè)。 記憶令牌只存儲(chǔ)信息,不對(duì)信息進(jìn)行處理,令牌上信息的讀取和寫入是用專門的讀/寫設(shè)備來(lái)完成的。記憶令牌的最通用形式是磁卡(就像信用卡背面一樣有一條磁條)。通常,用于計(jì)算機(jī)認(rèn)證的記憶令牌是ATM
6、卡,它是采用用戶擁有什么(卡)和用戶知道什么(身份識(shí)別碼)的組合。 記憶令牌的優(yōu)點(diǎn)在于:當(dāng)它和身份識(shí)別碼一起使用時(shí)比單獨(dú)使用口令的機(jī)制更安全,因?yàn)楣粽吆茈y獲得這樣的令牌以進(jìn)入計(jì)算機(jī)系統(tǒng)。但是它也面臨一些問(wèn)題:需要專門的讀取器;令牌的丟失問(wèn)題等等。第12頁(yè),共136頁(yè)。 智能卡通過(guò)在令牌中采用集成電路以增加其功能。同樣智能卡還需要用戶提供身份識(shí)別碼或口令等基于用戶知道的知識(shí)的認(rèn)證手段。智能卡一般因其采用的物理特性、接口、協(xié)議的不同而不同。根據(jù)物理特性不同,智能卡分為信用卡型智能卡(內(nèi)嵌微處理器)和類似計(jì)算器、鑰匙、便攜式物體的智能卡。對(duì)于接口來(lái)說(shuō),一般有人工接口和電子接口兩種,人工接口多采用顯
7、示器或鍵盤式,而電子接口多采用專門的讀寫器。智能卡所采用的認(rèn)證協(xié)議有靜態(tài)的口令交換協(xié)議、動(dòng)態(tài)口令生成協(xié)議、提問(wèn)應(yīng)答式協(xié)議等。第13頁(yè),共136頁(yè)。 2.3 基于用戶是誰(shuí)的身份認(rèn)證 這種機(jī)制采用的是生物特征識(shí)別技術(shù),它采用的是用戶獨(dú)特的生理特征來(lái)認(rèn)證用戶的身份。這些生理特征包括生理屬性(如指紋、視網(wǎng)膜識(shí)別等)和行為屬性(如聲音識(shí)別、手寫簽名識(shí)別等)。這些技術(shù)已經(jīng)應(yīng)用到了計(jì)算機(jī)的登錄程序中。 雖然這種技術(shù)比前兩種認(rèn)證技術(shù)有著更好的安全性,但是這種技術(shù)還不是很成熟,而且實(shí)際使用過(guò)程中的穩(wěn)定性不是很好,并且費(fèi)用很高,有待于進(jìn)一步的研究和開發(fā),以便能廣泛地應(yīng)用于身份認(rèn)證中。第14頁(yè),共136頁(yè)。3 第三
8、方認(rèn)證 所謂第三方認(rèn)證就是在相互不認(rèn)識(shí)的實(shí)體之間提供安全通信。最早實(shí)現(xiàn)第三方認(rèn)證的是Kerberos認(rèn)證系統(tǒng),它的誕生為分布式系統(tǒng)的I&A提供了一種第三方認(rèn)證機(jī)制。另一個(gè)第三方認(rèn)證系統(tǒng)是基于X.509數(shù)字證書的。第15頁(yè),共136頁(yè)。 Kerberos的缺點(diǎn)是它在實(shí)體之間的I&A僅依靠密鑰技術(shù),或?qū)ΨQ密碼系統(tǒng)。近年來(lái),Kerberos的擴(kuò)充也支持了X.509認(rèn)證。X.509標(biāo)準(zhǔn)是由國(guó)際標(biāo)準(zhǔn)化組織(International Standards Organization, ISO)開發(fā)的許多標(biāo)準(zhǔn)中的一部分,其目標(biāo)就是要解決分布式計(jì)算的安全問(wèn)題。X.509認(rèn)證是基于公開密鑰,或者非對(duì)稱密碼系統(tǒng)的,
9、它克服了Kerberos存在的問(wèn)題。第16頁(yè),共136頁(yè)。 3.1 Kerberos概述 Kerberos是為TCP/IP網(wǎng)絡(luò)設(shè)計(jì)的可信第三方認(rèn)證協(xié)議。網(wǎng)絡(luò)上的Kerberos服務(wù)器起著可信仲裁者的作用。Kerberos可提供安全的網(wǎng)絡(luò)鑒別,允許個(gè)人訪問(wèn)網(wǎng)絡(luò)中不同的機(jī)器。Kerberos基于對(duì)稱密碼學(xué)(采用的是DES,但也可用其它算法替代),它與網(wǎng)絡(luò)上的每個(gè)實(shí)體分別共享一個(gè)不同的秘密密鑰,是否知道該秘密密鑰便是身份的證明。第17頁(yè),共136頁(yè)。 Kerberos最初是在麻省理工學(xué)院(MIT)為Athena項(xiàng)目而開發(fā)的,Kerberos模型是基于Needham和Schroeder1提議的可信第三
10、方協(xié)議。Kerberos的設(shè)計(jì)目標(biāo)2就是提供一種安全、可靠、透明、可伸縮的認(rèn)證服務(wù)。在Kerberos模型中,主要包括以下幾個(gè)部分:客戶機(jī)、服務(wù)器、認(rèn)證服務(wù)器(Authentication Server)和票據(jù)授予服務(wù)器(Ticket-Granting Server)。其組成如圖3所示。第18頁(yè),共136頁(yè)。圖3 Kerberos組成第19頁(yè),共136頁(yè)。 Kerberos有一個(gè)所有客戶和自己安全通信所需的秘密密鑰數(shù)據(jù)庫(kù)(KDC),也就是說(shuō),Kerberos知道每個(gè)人的秘密密鑰,故而它能產(chǎn)生消息,向每個(gè)實(shí)體證實(shí)另一個(gè)實(shí)體的身份。Kerberos還能產(chǎn)生會(huì)話密鑰,只供一個(gè)客戶機(jī)和一個(gè)服務(wù)器(或兩
11、個(gè)客戶機(jī)之間)使用,會(huì)話密鑰用來(lái)加密雙方的通信消息,通信完畢,會(huì)話密鑰即被銷毀。 Kerberos使用DES加密。Kerberos第4版提供非標(biāo)準(zhǔn)的鑒別模型,該模型的弱點(diǎn)是它無(wú)法檢測(cè)密文的某些改變。Kerberos第5版使用CBC模式。第20頁(yè),共136頁(yè)。 3.2 Kerberos V4認(rèn)證消息對(duì)話 Kerberos身份認(rèn)證進(jìn)程的處理過(guò)程。 (1) 在客戶登錄到本地工作站以后,客戶向認(rèn)證服務(wù)器(AS)發(fā)送一個(gè)服務(wù)請(qǐng)求,請(qǐng)求獲得指定應(yīng)用服務(wù)器的“憑證”(Credentials)(如圖4所示的消息),所獲憑證可直接用于應(yīng)用服務(wù)器或票據(jù)授予服務(wù)器(TGS)。 C AS : IDc | IDtgs
12、| TS1 該消息包含客戶ID以及票據(jù)授予服務(wù)器的ID和時(shí)間戳。 第21頁(yè),共136頁(yè)。 (2) 認(rèn)證服務(wù)器(AS)以憑證作為響應(yīng),并用客戶的密鑰加密(如圖4所示的消息)憑證。憑證由下面幾部分組成:票據(jù)授予服務(wù)器“票據(jù)”(Ticket);臨時(shí)加密密鑰Kc,tgs(稱為會(huì)話密鑰)。AS C : EKcKc,tgs|IDtgs|TS2|Lifetime2|TickettgsTickettgsEKtgsKc,tgs|IDv|ADc|IDtgs|TS2|Lifetime2第22頁(yè),共136頁(yè)。 其中,票據(jù)Tickettgs用AS和TGS之間的共享密鑰EKtgs加密,從而確保客戶和其它對(duì)手無(wú)法修改其內(nèi)容
13、。為了防止對(duì)手以后再次使用票據(jù)來(lái)欺騙TGS,票據(jù)還包含了時(shí)間戳以及生命周期(票據(jù)的合法時(shí)間段)。EKc是指用客戶同AS共享的口令來(lái)加密該憑證,確保只有正確的客戶才能恢復(fù)憑證。Lifetime2是該憑證的生命周期。 (3) 擁有了票據(jù)和會(huì)話密鑰,客戶C就做好了向TGS服務(wù)器靠近的準(zhǔn)備??蛻粝騎GS服務(wù)器發(fā)送消息請(qǐng)求獲得訪問(wèn)某個(gè)特定應(yīng)用服務(wù)器的票據(jù)Ticketv(如圖4所示的消息)。第23頁(yè),共136頁(yè)。圖4 Kerberos認(rèn)證消息交換過(guò)程 第24頁(yè),共136頁(yè)。C TGS: IDv|Tickettgs|AuthenticatorcAuthenticatorcEKc,tgsIDc|ADc|TS3
14、TickettgsEKtgsKc,tgs|IDv|ADc|IDtgs|TS2|Lifetime2 該消息包含了身份驗(yàn)證器(Authenticatorc),它包括了C用戶的ID和地址以及時(shí)間戳。與票據(jù)不同的是,票據(jù)可以重復(fù)使用,而身份驗(yàn)證器只能使用一次,而且生命周期很短。TGS可以用與AS共享的密鑰解密票據(jù)。這個(gè)票據(jù)指出已經(jīng)向用戶C提供了會(huì)話密鑰Kc,tgs。然后TGS可以檢查身份驗(yàn)證器來(lái)證明客戶的名稱和地址是否與票據(jù)中的名稱和接受消息的地址相同。如果都相同,TGS可以確保票據(jù)的發(fā)送方是票據(jù)的真正擁有者。 第25頁(yè),共136頁(yè)。 (4) TGS服務(wù)器返回應(yīng)用服務(wù)器票據(jù)以應(yīng)答(如圖4所示的消息)客
15、戶請(qǐng)求。 TGS C : EKc,tgsKc,v|IDv|TS4|Ticketv Ticketv = EKvKc,v|IDc|ADc|IDv|TS4|Lifetime4 此消息已經(jīng)用TGS和C共享的會(huì)話密鑰進(jìn)行了加密,它包含了C和服務(wù)器V共享的會(huì)話密鑰Kc,v,V的ID和票據(jù)的時(shí)間戳。票據(jù)本身也包含了同樣的會(huì)話密鑰。 現(xiàn)在C就擁有了V可重用的票據(jù)授予的票據(jù)。當(dāng)C出具此票據(jù)時(shí),如消息5所示,它就發(fā)出了身份驗(yàn)證碼。應(yīng)用服務(wù)器可以解密票據(jù),恢復(fù)會(huì)話密鑰并解密身份驗(yàn)證碼。第26頁(yè),共136頁(yè)。 (5) 客戶將該Ticket(包含了客戶的身份證明和會(huì)話密鑰的拷貝,這些都以服務(wù)器的密鑰加密)傳送給應(yīng)用服務(wù)
16、器(如圖4所示的消息)。C V : Ticketv | AuthenticatorcTicketv = EKvKc,v|IDc|ADc|IDv|TS4|Lifetime4AuthenticatorcEKc,vIDc|ADc|TS5第27頁(yè),共136頁(yè)。 (6) 現(xiàn)在客戶和應(yīng)用服務(wù)器已經(jīng)共享會(huì)話密鑰,如果需要互相驗(yàn)證身份,服務(wù)器可以發(fā)送消息進(jìn)行響應(yīng),以證明自己的身份。服務(wù)器返回身份驗(yàn)證碼中的時(shí)間戳值加1,再用會(huì)話密鑰進(jìn)行加密,C可以將消息解密,恢復(fù)增加1后的時(shí)間戳。因?yàn)橄⑹怯蓵?huì)話密鑰加密的,所以,C能夠保證只有V才能創(chuàng)建它。消息的內(nèi)容向C保證它不是以前的應(yīng)答。 V C: EKc,vTS5+1
17、共享的會(huì)話密鑰還可用于加密雙方進(jìn)一步的通信或交換加密下一步通信用的單獨(dú)子會(huì)話密鑰。第28頁(yè),共136頁(yè)。 在上述六個(gè)消息當(dāng)中,消息和只在用戶首次登錄系 統(tǒng)時(shí)使用。消息和在用戶每次申請(qǐng)某個(gè)特定應(yīng)用服務(wù)器的服務(wù)時(shí)使用。消息則用于每個(gè)服務(wù)的認(rèn)證。消息可選,只用于互相認(rèn)證。第29頁(yè),共136頁(yè)。 3.3 Kerberos基礎(chǔ)結(jié)構(gòu)和交叉領(lǐng)域認(rèn)證 當(dāng)一個(gè)系統(tǒng)跨越多個(gè)組織時(shí),就不可能用單個(gè)認(rèn)證服務(wù)器實(shí)現(xiàn)所有的用戶注冊(cè),相反,需要多個(gè)認(rèn)證服務(wù)器,各自負(fù)責(zé)系統(tǒng)中部分用戶和服務(wù)器的認(rèn)證。我們稱某個(gè)特定認(rèn)證服務(wù)器所注冊(cè)的用戶和服務(wù)器的全體為一個(gè)領(lǐng)域(Realm)。交叉域認(rèn)證允許一個(gè)委托人(Principal)向注冊(cè)
18、在另外一個(gè)域的服務(wù)器驗(yàn)明自己的身份。第30頁(yè),共136頁(yè)。 要支持交叉領(lǐng)域認(rèn)證,Kerberos必須滿足以下三個(gè)條件: (1) Kerberos服務(wù)器在數(shù)據(jù)庫(kù)中必須擁有所有用戶ID和所有參與用戶口令哈希后的密鑰。所有用戶都已經(jīng)注冊(cè)到Kerberos服務(wù)器。 (2) Kerberos服務(wù)器必須與每個(gè)服務(wù)器共享保密密鑰。所有的服務(wù)器已經(jīng)注冊(cè)到Kerberos服務(wù)器。 (3) 不同領(lǐng)域的Kerberos服務(wù)器之間共享一個(gè)保密密鑰。這兩個(gè)Kerberos服務(wù)器要互相注冊(cè)。第31頁(yè),共136頁(yè)。 一個(gè)Kerberos客戶(委托人)為了向遠(yuǎn)程領(lǐng)域驗(yàn)證自己的身份,首先需要從本地認(rèn)證服務(wù)器(AS)獲得一張遠(yuǎn)程
19、領(lǐng)域的票據(jù)授予票(Ticket Granting Ticket)。這就要求委托人所在的本地認(rèn)證服務(wù)器同驗(yàn)證人所在的遠(yuǎn)程領(lǐng)域認(rèn)證服務(wù)器共享一個(gè)保密密鑰(條件(3)。然后委托人使用該票據(jù)授予票據(jù)從遠(yuǎn)程認(rèn)證服務(wù)器交換票據(jù)信息。遠(yuǎn)程認(rèn)證服務(wù)器利用共享的交叉域保密密鑰來(lái)驗(yàn)證來(lái)自外來(lái)領(lǐng)域的票據(jù)授予票據(jù)的有效性。如果有效,向委托人發(fā)放新票據(jù)和會(huì)話密鑰。交叉領(lǐng)域之間的認(rèn)證流程如圖5所示。第32頁(yè),共136頁(yè)。圖5 交叉領(lǐng)域認(rèn)證第33頁(yè),共136頁(yè)。 3.4 Kerberos 版本5 Kerberos V5在RFC1510中定義。下面只對(duì)版本5所做的改進(jìn)進(jìn)行簡(jiǎn)單描述。版本5在兩個(gè)方面解決了版本4的局限性:環(huán)境缺
20、陷和技術(shù)缺陷。因?yàn)榘姹?在設(shè)計(jì)之初是在雅典娜項(xiàng)目背景下的,并沒(méi)有考慮通用環(huán)境下的身份認(rèn)證問(wèn)題,從而導(dǎo)致了環(huán)境缺陷。 (1) 加密系統(tǒng)的相關(guān)性:版本4需要使用DES,DES的出口管制和DES的強(qiáng)度都成了問(wèn)題所在,在版本5中,可以用加密類型標(biāo)識(shí)符進(jìn)行標(biāo)記,所以可以使用任何一種加密技術(shù)。第34頁(yè),共136頁(yè)。 (2) Internet協(xié)議相關(guān)性:版本4中只能使用IP地址,而版本5中網(wǎng)絡(luò)地址可以使用類型和長(zhǎng)度進(jìn)行標(biāo)記,允許使用任何類型的網(wǎng)絡(luò)地址。 (3) 消息字節(jié)順序:版本4中發(fā)送字節(jié)順序由發(fā)送方自定,版本5中所有的消息結(jié)構(gòu)都用抽象語(yǔ)法標(biāo)記1號(hào)(Abstract Syntax Notation No
21、1)和基本編碼規(guī)則(Basic Encoding Rules)進(jìn)行定義。 (4) 票據(jù)的生命周期:版本4中生命周期的數(shù)值編碼為8位數(shù)(以5分鐘為單位),所以其最大生命周期為285=1280分鐘。這對(duì)某些應(yīng)用來(lái)說(shuō)太短。在版本5中,票據(jù)包括顯式的開始時(shí)間和結(jié)束時(shí)間,允許票據(jù)具有任意生命周期。第35頁(yè),共136頁(yè)。 (5) 身份驗(yàn)證轉(zhuǎn)發(fā):版本5支持多跳(multi-hop)交叉領(lǐng)域認(rèn)證,允許密鑰的層次共享。也就是說(shuō),每個(gè)領(lǐng)域同其子女和父母共享一個(gè)密鑰。例如,領(lǐng)域同edu領(lǐng)域共享一把密鑰,同時(shí),edu領(lǐng)域還和, , 等領(lǐng)域共享一把密鑰。如果同之間沒(méi)有共享密鑰可用,來(lái)自的客戶hu要向域進(jìn)行身份認(rèn)證,可以
22、首先通過(guò)領(lǐng)域獲得一張來(lái)自edu領(lǐng)域的票據(jù)授予票據(jù), 第36頁(yè),共136頁(yè)。然后利用該票據(jù)授予票據(jù)從edu認(rèn)證服務(wù)器獲得領(lǐng)域的票據(jù)授予票據(jù),最終獲得注冊(cè)到認(rèn)證服務(wù)器的某應(yīng)用服務(wù)器票據(jù)。最后的票據(jù)內(nèi)記錄了所有經(jīng)過(guò)的中間領(lǐng)域,最末尾的服務(wù)器決定是否信任這些領(lǐng)域。第37頁(yè),共136頁(yè)。 除了環(huán)境缺陷外,版本4自身還存在一些技術(shù)缺陷。這些缺陷主要有: (1) 雙重加密:前面的消息和消息中,提供給客戶的票據(jù)加密了兩次,第一次用目標(biāo)服務(wù)器的密鑰,第二次用客戶機(jī)知道的保密密鑰。實(shí)際上,第二次的加密是浪費(fèi)計(jì)算資源,完全沒(méi)有必要。 (2) PCBC加密:版本4中的加密利用了非標(biāo)準(zhǔn)的DES模式。這種模式已經(jīng)證明對(duì)涉
23、及到密文塊互相交換的攻擊是薄弱的。版本5提供了顯式的完整性機(jī)制,允許用標(biāo)準(zhǔn)的CBC方式進(jìn)行加密。第38頁(yè),共136頁(yè)。 (3) 會(huì)話密鑰:每個(gè)票據(jù)都包括一個(gè)會(huì)話密鑰,客戶機(jī)用它來(lái)加密要發(fā)送給票據(jù)相關(guān)服務(wù)的身份驗(yàn)證碼,而且,客戶機(jī)和服務(wù)器還可以用會(huì)話密鑰來(lái)保護(hù)會(huì)話中傳送的消息。但是,因?yàn)榭梢灾貜?fù)使用同樣的票據(jù)來(lái)獲得特定的服務(wù),所以要冒一定的風(fēng)險(xiǎn):對(duì)手可能重放發(fā)送給客戶機(jī)和服務(wù)器的老會(huì)話中的消息。在版本5種,客戶機(jī)和服務(wù)器可以協(xié)商出一個(gè)子會(huì)話密鑰,只在一次連接中使用,每次客戶機(jī)的新訪問(wèn)都需要一個(gè)新的子會(huì)話密鑰。第39頁(yè),共136頁(yè)。 (4) 口令攻擊:兩種版本對(duì)密鑰攻擊來(lái)說(shuō)都很脆弱。AS對(duì)發(fā)送給客
24、戶機(jī)的消息都用密鑰進(jìn)行加密,而該密鑰都是以用戶共享的口令為基礎(chǔ)的。對(duì)手可以捕獲該消息,然后采用口令窮舉法進(jìn)行攻擊。第40頁(yè),共136頁(yè)。4 X.509 認(rèn)證即證明、確認(rèn)個(gè)體的身份。傳統(tǒng)的認(rèn)證方式多采用面對(duì)面的方式,或者以一些如筆跡、習(xí)慣動(dòng)作及面貌等生理特征來(lái)辨識(shí)對(duì)方,而在互聯(lián)網(wǎng)逐漸深入每個(gè)人生活之中的今天,每一位網(wǎng)絡(luò)用戶都可以運(yùn)用網(wǎng)絡(luò)來(lái)進(jìn)行各種活動(dòng),對(duì)于認(rèn)證的需求也更是大大地提高。為了在開放網(wǎng)絡(luò)上實(shí)現(xiàn)遠(yuǎn)程的網(wǎng)絡(luò)用戶身份認(rèn)證,ITU于1988年制定了認(rèn)證體系標(biāo)準(zhǔn):“開放性系統(tǒng)互連目錄服務(wù):認(rèn)證體系X.509”。 第41頁(yè),共136頁(yè)。 X.509作為定義目錄業(yè)務(wù)的X.500系列的一個(gè)組成部分,是
25、由ITUT建議的,這里所說(shuō)的目錄實(shí)際上是維護(hù)用戶信息數(shù)據(jù)庫(kù)的服務(wù)器或分布式服務(wù)器集合,用戶信息包括用戶名到網(wǎng)絡(luò)地址的映射和用戶的其它屬性。X.509定義了X.500目錄向用戶提供認(rèn)證業(yè)務(wù)的一個(gè)框架,目錄的作用是存放用戶的公鑰證書。X.509還定義了基于公鑰證書的認(rèn)證協(xié)議。由于X.509中定義的證書結(jié)構(gòu)和認(rèn)證協(xié)議已被廣泛應(yīng)用于S/MIME、IPSec、SSL/TLS以及SET等諸多應(yīng)用過(guò)程,因此X.509已成為一個(gè)重要的標(biāo)準(zhǔn)。第42頁(yè),共136頁(yè)。 X.509的最初發(fā)布日期是1988年,1993年對(duì)初稿進(jìn)行了修訂,1995年發(fā)布了第三版。 X.509的基礎(chǔ)是公鑰密碼體制和數(shù)字簽名,但其中未特別指
26、明使用哪種密碼體制(建議使用RSA),也未特別指明數(shù)字簽名中使用哪種哈希函數(shù)。1988年公布的第一版中描述了一個(gè)建議的哈希,但由于其安全性問(wèn)題而在第二版中去掉了。第43頁(yè),共136頁(yè)。 在X.509中,對(duì)于認(rèn)證推出了“簡(jiǎn)單認(rèn)證”及“強(qiáng)認(rèn)證”兩種不同安全度的認(rèn)證等級(jí),并且描述了公開密鑰證書格式、證書管理、證書路徑處理、目錄數(shù)據(jù)樹結(jié)構(gòu)及密鑰產(chǎn)生,并提到如何將認(rèn)證中心之間交叉認(rèn)證的證書儲(chǔ)存于目錄中,以減少證書驗(yàn)證時(shí)必須從目錄服務(wù)中獲得的證書信息的量。第44頁(yè),共136頁(yè)。 X.509主要內(nèi)容包括: 簡(jiǎn)單認(rèn)證(Simple Authentication)程序:在此部分,X.509建議了安全度較低的身份
27、認(rèn)證程序,此部分所定義的驗(yàn)證程序使用最常見的口令(Password)認(rèn)證的技術(shù)來(lái)識(shí)別通信雙方。只要用戶可以提供正確的口令,就認(rèn)為他/她是合法用戶。該認(rèn)證體系僅能提供較簡(jiǎn)單、有限的保護(hù),以防止未授權(quán)的存取訪問(wèn)。第45頁(yè),共136頁(yè)。 強(qiáng)認(rèn)證(Strong Authentication)程序:該程序提出了一個(gè)高安全度的身份認(rèn)證機(jī)制。其驗(yàn)證程序是使用公開密鑰密碼學(xué)的技術(shù)來(lái)識(shí)別通信雙方。強(qiáng)認(rèn)證可分為“單向的”、“雙向的”及“三向的”三種認(rèn)證方式,分別提供不同安全層次的安全認(rèn)證。對(duì)于公開密鑰證書的使用有詳細(xì)的定義,以強(qiáng)化其認(rèn)證能力。 密鑰及證書管理:因?yàn)閺?qiáng)認(rèn)證程序中需要公開密鑰密碼系統(tǒng)的支持來(lái)實(shí)現(xiàn)其認(rèn)證
28、目的,這部分內(nèi)容就是針對(duì)密鑰以及證明密鑰正確性的證書管理。第46頁(yè),共136頁(yè)。 證書擴(kuò)充及證書吊銷列表擴(kuò)充(Certificate and CRL Extensions):由于1988年版的X.509中對(duì)于證書及證書吊銷列表的定義并不是很完善,所以在1995年,針對(duì)這些問(wèn)題,提出X.509修正案,對(duì)這兩部分作了一些修正與補(bǔ)充,以彌補(bǔ)舊版X.509的不足,最終于1997年6月將這兩部分合二為一,為最新版的X.509文件。第47頁(yè),共136頁(yè)。 4.1 認(rèn)證協(xié)議簡(jiǎn)單認(rèn)證過(guò)程 X.509所提出的簡(jiǎn)單認(rèn)證方式,與一般常見的UNIX系統(tǒng)基于口令的認(rèn)證方式類似。它是根據(jù)每位用戶所提供的用戶名以及一個(gè)只有
29、收、發(fā)雙方知道的用戶密碼來(lái)實(shí)現(xiàn)安全程度較低的認(rèn)證程序的。 X.509提供的簡(jiǎn)單認(rèn)證有下列三種運(yùn)行方式: (1) 用戶將其口令及用戶ID未做任何加密保護(hù),直接以明文方式傳送給接收端。 (2) 用戶將其個(gè)人口令、用戶ID、一個(gè)隨機(jī)數(shù)和/或時(shí)間戳在經(jīng)過(guò)一單向函數(shù)保護(hù)后,傳送至接收瑞。 第48頁(yè),共136頁(yè)。 (3) 用戶用上面第(2)種方式所述的方法,先經(jīng)一次單向函數(shù)保護(hù)所有數(shù)據(jù),然后再連同另一組隨機(jī)數(shù)和/或時(shí)間戳,再經(jīng)過(guò)第二次的單向函數(shù)保護(hù)后,傳送至接收端。 簡(jiǎn)單驗(yàn)證中的認(rèn)證方式并未以加密的方式保護(hù)口令及用戶ID,最多只使用單向函數(shù)的保護(hù),非常容易實(shí)現(xiàn),可以提供安全需求較低的封閉區(qū)域的認(rèn)證。以下內(nèi)
30、容將描述這三種認(rèn)證方式。第49頁(yè),共136頁(yè)。其中,方法一認(rèn)證程序的執(zhí)行步驟如圖6所示,詳細(xì)的執(zhí)行步驟如下所述:(1) 由用戶A將其用戶代號(hào)及口令送至接收端B。(2) 接收端B將A送來(lái)的口令及用戶代號(hào)送至目錄服務(wù)器,目錄服務(wù)器比對(duì)先前A儲(chǔ)存在此的口令。(3) 目錄服務(wù)器響應(yīng)B是否接受A為合法的用戶。(4) B回復(fù)A是否為合法的用戶。第50頁(yè),共136頁(yè)。 圖6 口令及用戶代號(hào)認(rèn)證 第51頁(yè),共136頁(yè)。 這種認(rèn)證方式的主要缺陷在于明文傳輸用戶代號(hào)和口令。在第二及第三兩種認(rèn)證方式中,發(fā)方A送至收方B的信息內(nèi)容都經(jīng)過(guò)單向函數(shù)運(yùn)算的雜湊值,將此雜湊值經(jīng)網(wǎng)絡(luò)傳給對(duì)方,密碼的明文不會(huì)出現(xiàn)在網(wǎng)絡(luò)上,如圖7
31、所示。第52頁(yè),共136頁(yè)。圖7 第二種認(rèn)證方法第53頁(yè),共136頁(yè)。 第二種方法所描述的認(rèn)證方式如圖7中的“受保護(hù)數(shù)據(jù)l”所示的雜湊運(yùn)算(其中,f1及f2為單向函數(shù)),可以表示為受保護(hù)數(shù)據(jù)1=f1(t1A,q1A,A,A的口令)發(fā)送方A所送出的數(shù)據(jù)=(t1A,q1A,A,受保護(hù)數(shù)據(jù)1)第54頁(yè),共136頁(yè)。 此方法將用戶的口令以單向函數(shù)保護(hù)起來(lái),不會(huì)在傳輸時(shí)直接暴露在網(wǎng)絡(luò)上,且包含時(shí)間戳、隨機(jī)數(shù)等數(shù)據(jù),每次傳輸?shù)恼J(rèn)證信息都不相同,可以降低遭受重放攻擊的風(fēng)險(xiǎn)。其實(shí)施程序如圖8所示,詳細(xì)描述如下:第55頁(yè),共136頁(yè)。 (1) 當(dāng)A要獲得B的認(rèn)證時(shí),先產(chǎn)生“發(fā)送方A所送出的數(shù)據(jù)”,然后通過(guò)網(wǎng)絡(luò)傳
32、送至收方B。在B收到“發(fā)送方A所送出的數(shù)據(jù)”時(shí),根據(jù)此組數(shù)據(jù)可以找出A先前存于此的口令,再將收到的t1A, q1A執(zhí)行與A相同的動(dòng)作(即f1(t1A, q1A, A, A的口令),比較其運(yùn)算的結(jié)果是否與“受保護(hù)數(shù)據(jù)1”一樣,若兩值相同則承認(rèn)A是合法的用戶。 (2) B回復(fù)A是否為合法的用戶。第56頁(yè),共136頁(yè)。圖8 實(shí)施步驟第57頁(yè),共136頁(yè)。 對(duì)于第三種方法所描述的認(rèn)證方式而言,其對(duì)于密碼保護(hù)的方式如圖7中的受保護(hù)數(shù)據(jù)2所示,用數(shù)學(xué)式寫為受保護(hù)數(shù)據(jù)1=f1(t1A, q1A, A, A的口令)受保護(hù)數(shù)據(jù)2=f2(t2A, q2A, 受保護(hù)數(shù)據(jù)1)發(fā)方A所送出的數(shù)據(jù)=(t1A, q1A,
33、t2A, q2A, 受保護(hù)數(shù)據(jù)2)第58頁(yè),共136頁(yè)。 其實(shí)施程序如圖8所示,詳細(xì)描述如下: (1) 當(dāng)A要獲得B的認(rèn)證時(shí),先產(chǎn)生“發(fā)方A所送出的數(shù)據(jù)”后,通過(guò)網(wǎng)絡(luò)傳送至收方B。在B收到“發(fā)方A所送出的數(shù)據(jù)”時(shí),根據(jù)此組數(shù)據(jù)可以找出A先前存于此的口令,然后利用收到的tlA、q1A、t2A、q2A,執(zhí)行與A相同的動(dòng)作,比較其運(yùn)算結(jié)果是否與“受保護(hù)數(shù)據(jù)2”一樣,若兩值相同則承認(rèn)A是合法的用戶。第59頁(yè),共136頁(yè)。 (2) B回復(fù)A是否為合法的用戶。 在第二及第三兩種認(rèn)證方法中,因?yàn)橛脩舻目诹畈⒉恢苯铀偷骄W(wǎng)絡(luò)上,而是經(jīng)單向函數(shù)f1及f2的運(yùn)算后,再送到網(wǎng)絡(luò),所以即使在網(wǎng)絡(luò)上被攻擊者攔截到,因?yàn)橛?/p>
34、單向函數(shù)的保護(hù),仍然很難反推出用戶口令。且在以單向函數(shù)保護(hù)的運(yùn)算過(guò)程中,又加入了時(shí)間戳和隨機(jī)數(shù)一起運(yùn)算,所以攻擊者若將信息重發(fā),雖然可以通過(guò)驗(yàn)證,但因“時(shí)間戳”是記錄送方送出的時(shí)間,若是與收方收到的時(shí)間相差得太多,可以確定是攻擊者的重發(fā),欲假冒合法用戶,應(yīng)該予以拒絕,如此可以防止重放攻擊。第60頁(yè),共136頁(yè)。 第二種方法與第三種方法對(duì)于口令的保護(hù)所使用的概念完全一樣,都是用單向函數(shù)保護(hù)用戶口令,而第三種方法中使用兩次單向函數(shù)運(yùn)算,是用以增加秘密信息的隱蔽度和增加攻擊者破解的困難度的。 另外,在X.509中有說(shuō)明,第三種方法中的兩次單向函數(shù)的算法,不一定要不同,這并沒(méi)有強(qiáng)制規(guī)定,可以隨應(yīng)用系統(tǒng)
35、的需要自由使用。 第61頁(yè),共136頁(yè)。 簡(jiǎn)單認(rèn)證程序在安全性的考慮上比較簡(jiǎn)單,只可以讓收方B認(rèn)證發(fā)方A為合法用戶,無(wú)法讓發(fā)方A也可以認(rèn)證收方B,達(dá)到收發(fā)雙方相互認(rèn)證的安全程度。所以簡(jiǎn)單認(rèn)證程序比較適合在較封閉的區(qū)域內(nèi)使用。若是在一般的開放性系統(tǒng)中,面對(duì)廣域網(wǎng)絡(luò),“簡(jiǎn)單認(rèn)證”在安全的需求上就嫌不足了,應(yīng)該有更強(qiáng)的認(rèn)證方式,以保證遠(yuǎn)程認(rèn)證的正確性。在X.509中定義的“強(qiáng)認(rèn)證”即可以達(dá)到更強(qiáng)的認(rèn)證目的。第62頁(yè),共136頁(yè)。 4.2 認(rèn)證協(xié)議強(qiáng)認(rèn)證程序 X.509以公開密鑰密碼的技術(shù)能夠讓通信雙方容易共享密鑰的特點(diǎn),并利用公鑰密碼系統(tǒng)中數(shù)字簽名的功能,強(qiáng)化網(wǎng)絡(luò)上遠(yuǎn)程認(rèn)證的能力,定義出強(qiáng)認(rèn)證程序,
36、以達(dá)到所謂“強(qiáng)認(rèn)證”的目的。第63頁(yè),共136頁(yè)。 當(dāng)網(wǎng)絡(luò)用戶面對(duì)因特網(wǎng)時(shí),若想在網(wǎng)絡(luò)上做秘密的通信,以傳統(tǒng)密碼學(xué)而言,通信雙方必須先共享一把密鑰,這種先決條件在目前互聯(lián)網(wǎng)環(huán)境上要實(shí)現(xiàn)并不容易。1976年,由Diffie及Hellman兩位密碼學(xué)者所提出的公開密鑰概念很有效的解決了傳統(tǒng)密碼學(xué)上網(wǎng)絡(luò)共享密鑰的問(wèn)題,從而讓網(wǎng)絡(luò)上的通信雙方可以很容易地實(shí)現(xiàn)秘密通信。在此之后,隨著Knapsack、RSA及ELGamal等公開密鑰密碼系統(tǒng)的提出,更增加了公開密鑰系統(tǒng)的實(shí)用性,但相對(duì)的也衍生出另一問(wèn)題,就是網(wǎng)絡(luò)上密鑰的確認(rèn)問(wèn)題。第64頁(yè),共136頁(yè)。 試想,在圖9中,當(dāng)網(wǎng)絡(luò)用戶Bob自網(wǎng)絡(luò)上獲得一把宣稱
37、是另一用戶Alice的公開密鑰時(shí),Bob如何相信這把公開密鑰是屬于Alice的?在網(wǎng)絡(luò)環(huán)境下,無(wú)法真正看到對(duì)方,直接拿到對(duì)方的公鑰,任意一個(gè)用戶(如圖9的Cherry)都可能仿冒Alice傳送假的公開密鑰給Bob,讓Bob誤以為他所通信的對(duì)方就是A,而實(shí)際上Bob是與另一不知名的攻擊者通信。此種攻擊法之所以能夠成功,究其原因在于用戶的公鑰并未與用戶的身份緊密相結(jié)合。公鑰必須讓他人可以辨別、驗(yàn)證且無(wú)法偽造,同時(shí)又與個(gè)人的身份相結(jié)合,這樣才可以有效防止此類攻擊的發(fā)生。第65頁(yè),共136頁(yè)。圖9 公鑰的偽造第66頁(yè),共136頁(yè)。 目前最常使用來(lái)防止上述攻擊法的機(jī)制是所謂的認(rèn)證中心(Certifica
38、te Authority,CA)技術(shù),它是通過(guò)為每位網(wǎng)絡(luò)用戶簽發(fā)電子證書來(lái)防止這類攻擊的。 此方法如圖10所示,以類似傳統(tǒng)大使館頒發(fā)、登記公民簽證的方式,由大家所相信的公正第三者或認(rèn)證機(jī)構(gòu)(CA)以數(shù)字簽名的技術(shù),將每一個(gè)用戶的公鑰與個(gè)人的身份數(shù)據(jù)簽署成電子證書(以下簡(jiǎn)稱證書)。 第67頁(yè),共136頁(yè)。當(dāng)用戶收到他人的證書之后,可以經(jīng)過(guò)一定的驗(yàn)證程序,確定所收到的證書無(wú)誤,確信此證書內(nèi)所含的公開密鑰、身份數(shù)據(jù)及其它相關(guān)內(nèi)容確實(shí)是證書上聲稱的主體(Subject)的,而不是其它主體用戶的。如此可將用戶身份與用戶的公鑰緊密地結(jié)合在一起,讓攻擊者無(wú)法偽冒他人,傳送假的公鑰欺騙其它網(wǎng)絡(luò)用戶。第68頁(yè),
39、共136頁(yè)。圖10 證書和公鑰第69頁(yè),共136頁(yè)。 這種利用公正的第三者幫我們認(rèn)證用戶公鑰的方式,可以將用戶必須認(rèn)證網(wǎng)絡(luò)上每一個(gè)用戶公鑰的問(wèn)題,縮減到只需認(rèn)證用戶所信任的公正第三方的公鑰正確性的問(wèn)題,大大增加了公開密鑰的實(shí)用性。 在X.509中提到的證書必須符合下列兩個(gè)特點(diǎn): (1) 所有可取得認(rèn)證中心公鑰的用戶,可以認(rèn)證任何由該認(rèn)證中心簽發(fā)的證書。 (2) 除認(rèn)證中心本身以外,其它任何人修改證書的動(dòng)作都會(huì)被察覺(jué)、檢測(cè)出來(lái)。第70頁(yè),共136頁(yè)。 由于證書有上述的兩個(gè)特點(diǎn),我們可以直接把證書放到證書目錄服務(wù)中,讓用戶自由訪問(wèn)存取,不需再使用其它額外的措施保護(hù)它,而數(shù)字簽名的技術(shù)恰好合乎上述兩
40、種特性。認(rèn)證中心會(huì)以自己的私鑰為用戶簽發(fā)證書,而當(dāng)用戶拿到證書之后,可以使用認(rèn)證中心的公鑰驗(yàn)證所獲得的證書的正確性,進(jìn)而相信證書中所含的信息是正確的,進(jìn)而相信證書所含的公鑰是正確的。第71頁(yè),共136頁(yè)。 在X.509中,認(rèn)證中心對(duì)一些用戶的相關(guān)數(shù)據(jù),例如,用戶姓名、用戶識(shí)別碼、公鑰的內(nèi)容、簽發(fā)者的身份數(shù)據(jù)以及其它用戶的相關(guān)數(shù)據(jù),以認(rèn)證中心的密鑰,運(yùn)用數(shù)字簽名技術(shù)生成一個(gè)數(shù)字簽名,之后將用戶的有關(guān)數(shù)據(jù)、認(rèn)證中心的簽名算法與數(shù)字簽名,合成一個(gè)電子文件,就是所謂的數(shù)字證書。第72頁(yè),共136頁(yè)。5 數(shù) 字 證 書 數(shù)字證書包含用戶身份信息、用戶公鑰信息以及證書發(fā)行機(jī)構(gòu)對(duì)該證書的數(shù)字簽名信息。證書發(fā)
41、行機(jī)構(gòu)的數(shù)字簽名可以確保證書信息的真實(shí)性,用戶公鑰信息可以保證數(shù)字信息傳輸?shù)耐暾?,用戶的?shù)字簽名可以保證數(shù)字信息的不可抵賴性。第73頁(yè),共136頁(yè)。 數(shù)字證書是各類終端實(shí)體和最終用戶在網(wǎng)上進(jìn)行信息交流及商務(wù)活動(dòng)的身份證明,在電子交易的各個(gè)環(huán)節(jié),交易的各方都需驗(yàn)證對(duì)方數(shù)字證書的有效性,從而解決相互間的信任問(wèn)題。 用戶的數(shù)字證書是X.509的核心,證書由某個(gè)可信的證書發(fā)放機(jī)構(gòu)CA建立,并由CA或用戶自己將其放入公共目錄中,以供其它用戶訪問(wèn)。目錄服務(wù)器本身并不負(fù)責(zé)為用戶創(chuàng)建公鑰證書,其作用僅僅是為用戶訪問(wèn)公鑰證書提供方便。第74頁(yè),共136頁(yè)。 X.509中,數(shù)字證書的一般格式如圖11所示,本章附
42、錄給出了數(shù)字證書的樣例,證書中的數(shù)據(jù)域有: (1) 版本號(hào):若默認(rèn),則為第一版。如果證書中需有發(fā)行者惟一識(shí)別符(Initiator Unique Identifier)或主體惟一識(shí)別符(Subject Unique Identifier),則版本號(hào)為2,如果有一個(gè)或多個(gè)擴(kuò)充項(xiàng),則版本號(hào)為3。第75頁(yè),共136頁(yè)。 (2) 序列號(hào):為一整數(shù)值,由同一CA發(fā)放的每個(gè)證書的序列號(hào)是惟一的。 (3) 簽名算法識(shí)別符:簽署證書所用的算法及相應(yīng)的參數(shù)。 (4) 發(fā)行者名稱:指建立和簽署證書的CA名稱。 (5) 有效期:包括證書有效期的起始時(shí)間和終止時(shí)間。 第76頁(yè),共136頁(yè)。圖11 X.509的證書和證
43、書吊銷列表格式 第77頁(yè),共136頁(yè)。 (6) 主體名稱:指證書所屬用戶的名稱,即這一證書用來(lái)證明私鑰用戶所對(duì)應(yīng)的公開密鑰。 (7) 主體的公開密鑰信息:包括主體的公開密鑰、使用這一公開密鑰的算法的標(biāo)識(shí)符及相應(yīng)的參數(shù)。 (8) 發(fā)行者惟一識(shí)別符:這一數(shù)據(jù)項(xiàng)是可選的,當(dāng)發(fā)行者(CA)名稱被重新用于其它實(shí)體時(shí),則用這一識(shí)別符來(lái)惟一標(biāo)識(shí)發(fā)行者。第78頁(yè),共136頁(yè)。 (9) 主體惟一識(shí)別符:這一數(shù)據(jù)項(xiàng)也是可選的,當(dāng)主體的名稱被重新用于其它實(shí)體時(shí),則用這一識(shí)別符來(lái)惟一地識(shí)別主體。 (10) 擴(kuò)充域:其中包括一個(gè)或多個(gè)擴(kuò)充的數(shù)據(jù)項(xiàng),僅在第三版中使用。 (11) 簽名:CA用自己的秘密密鑰對(duì)上述域的哈希值
44、進(jìn)行數(shù)字簽名的結(jié)果。 此外,這個(gè)域還包括簽名算法標(biāo)識(shí)符。第79頁(yè),共136頁(yè)。 X.509中使用以下表示法來(lái)定義證書:CAA= CA V, SN, AI, CA, TA, A, AP 其中,YX表示證書發(fā)放機(jī)構(gòu)Y向用戶X發(fā)放的證書,YI表示Y對(duì)I的哈希值簽名,它由I和附加的加密哈希碼構(gòu)成。第80頁(yè),共136頁(yè)。 5.1 證書的獲取 CA為用戶產(chǎn)生的證書應(yīng)有以下特性: (1) 其他任一用戶只要得到CA的公開密鑰,就能由此得到CA為該用戶簽署的公開密鑰。 (2) 除CA以外,任何其它人都不能以不被察覺(jué)的方式修改證書的內(nèi)容。 因?yàn)樽C書是不可偽造的,因此無(wú)需對(duì)存放證書的目錄施加特別的保護(hù)。第81頁(yè),共
45、136頁(yè)。 如果所有用戶都由同一CA為其簽署證書,則這一CA就必須取得所有用戶的信任。用戶證書除了能放在目錄中供他人訪問(wèn)外,還可以由用戶直接把證書發(fā)給其它用戶。用戶B得到A的證書后,可相信用A的公開密鑰加密的消息不會(huì)被他人獲悉,還相信用A的秘密密鑰簽署的消息是不可偽造的。第82頁(yè),共136頁(yè)。 如果用戶數(shù)量極多,則僅一個(gè)CA負(fù)責(zé)為用戶簽署證書就有點(diǎn)不現(xiàn)實(shí),通常應(yīng)有多個(gè)CA,每個(gè)CA為一部分用戶發(fā)行、簽署證書。 設(shè)用戶A已從證書發(fā)放機(jī)構(gòu)X1處獲取了公開密鑰證書,用戶B已從X2處獲取了證書。如果A不知X2的公開密鑰,則他雖然能讀取B的證書,但卻無(wú)法驗(yàn)證用戶B證書中X2的簽名,因此B的證書對(duì)A來(lái)說(shuō)是
46、沒(méi)有用處的。然而,如果兩個(gè)CA:X1和CA:X2彼此間已經(jīng)安全地交換了公開密鑰,則A可通過(guò)以下過(guò)程獲取B的公開密鑰:第83頁(yè),共136頁(yè)。 (1) A從目錄中獲取由X1簽署的X2的證書X1X2,因A知道X1的公開密鑰,所以能驗(yàn)證X2的證書,并從中得到X2的公開密鑰。 (2) A再?gòu)哪夸浿蝎@取由X2簽署的B的證書X2B,并由X2的公開密鑰對(duì)此加以驗(yàn)證,然后從中得到B的公開密鑰。 以上過(guò)程中,A是通過(guò)一個(gè)證書鏈來(lái)獲取B的公開密鑰的,證書鏈可表示為X1X2X2B第84頁(yè),共136頁(yè)。 類似地,B能通過(guò)相反的證書鏈獲取A的公開密鑰,表示為X2X1X1A以上證書鏈中只涉及兩個(gè)證書,同樣有N個(gè)證書的證書鏈
47、可表示為X1X2X2X3 XNB第85頁(yè),共136頁(yè)。 此時(shí),任意兩個(gè)相鄰的CA Xi和Xi+1已彼此間為對(duì)方建立了證書,對(duì)每一CA來(lái)說(shuō),由其它CA為這一CA建立的所有證書都應(yīng)存放于目錄中,并使用戶知道所有證書相互之間的連接關(guān)系,從而可獲取另一用戶的公鑰證書。X.509建議將所有CA以層次結(jié)構(gòu)組織起來(lái),如圖12所示。用戶A可從目錄中得到相應(yīng)的證書以建立到B的以下證書鏈: XWWVVUUYYZZB 并通過(guò)該證書鏈獲取B的公開密鑰。 類似地,B可建立以下證書鏈以獲取A的公開密鑰:ZYYUUVVWWXXA第86頁(yè),共136頁(yè)。圖12 X.509的層次結(jié)構(gòu)第87頁(yè),共136頁(yè)。 5.2 證書的吊銷 從
48、證書的格式上我們可以看到,每一證書都有一個(gè)有效期,然而有些證書還未到截止日期就會(huì)被發(fā)放該證書的CA吊銷,這可能是由于用戶的秘密密鑰已被泄漏,或者該用戶不再由該CA來(lái)認(rèn)證,或者CA為該用戶簽署證書的秘密密鑰已經(jīng)泄露。為此,每一CA還必須維護(hù)一個(gè)證書吊銷列表CRL(Certificate Revocation List),如圖11所示,其中存放所有未到期而被提前吊銷的證書,包括該CA發(fā)放給用戶和發(fā)放給其它CA的證書。CRL還必須由該CA簽字,然后存放于目錄中以供他人查詢。 第88頁(yè),共136頁(yè)。 CRL中的數(shù)據(jù)域包括發(fā)行者CA的名稱、建立CRL的日期、計(jì)劃公布下一CRL的日期以及每一被吊銷的證書數(shù)
49、據(jù)域。被吊銷的證書數(shù)據(jù)域包括該證書的序列號(hào)和被吊銷的日期。對(duì)一個(gè)CA來(lái)說(shuō),它發(fā)放的每一證書的序列號(hào)是惟一的,所以可用序列號(hào)來(lái)識(shí)別每一證書。 所以每一用戶收到他人消息中的證書時(shí),都必須通過(guò)目錄檢查這一證書是否已被吊銷,為避免搜索目錄引起的延遲以及因此而增加的費(fèi)用,用戶自己也可維護(hù)一個(gè)有效證書和被吊銷證書的局部緩存區(qū)。第89頁(yè),共136頁(yè)。6 驗(yàn) 證 證 書 當(dāng)持證人甲想與持證人乙通信時(shí),他首先查找證書數(shù)據(jù)庫(kù)并得到一個(gè)從甲到乙的證書路徑(Certification Path)和乙的公開密鑰。在X.509中強(qiáng)認(rèn)證的實(shí)現(xiàn)是借助用戶所擁有的密鑰,來(lái)證明他的身份,其先決條件就是前述的認(rèn)證中心體系已建設(shè)完成
50、,將用戶的公鑰與個(gè)人身份緊密關(guān)聯(lián)在一起,讓公開密鑰密碼系統(tǒng)能夠順利運(yùn)作。在X.509中的強(qiáng)認(rèn)證就是基于公開密鑰密碼系統(tǒng)的,達(dá)到三種不同信賴程度的認(rèn)證。第90頁(yè),共136頁(yè)。 在X.509中定義的“強(qiáng)認(rèn)證”程序包含了三種不同信賴程度的認(rèn)證,分別是“單向認(rèn)證”(One-way Authentication)、“雙向認(rèn)證”(Two-way Authentication)以及“三向認(rèn)證”(Three-way Authentication)。以下簡(jiǎn)述三種認(rèn)證的運(yùn)作方式(以下程序都是假設(shè)收方可以正確的驗(yàn)證對(duì)方的證書,但沒(méi)有限定是以何種方法驗(yàn)證證書)。第91頁(yè),共136頁(yè)。 6.1 單向認(rèn)證 單向認(rèn)證,只包
51、含一條信息,可達(dá)到下列認(rèn)證的功能: (1) 由發(fā)送方送出的身份識(shí)別數(shù)據(jù),可以確認(rèn)發(fā)送方的身份。 (2) 由發(fā)送方送出的身份識(shí)別數(shù)據(jù),確實(shí)是要送給接收方的。 (3) 可以確保發(fā)送方送出的身份識(shí)別數(shù)據(jù)的完整性,且可確認(rèn)數(shù)據(jù)是發(fā)送方所送出的。 第92頁(yè),共136頁(yè)。 其認(rèn)證程序如圖13所描述,詳細(xì)工作方式如下: 發(fā)送方A先產(chǎn)生一不重復(fù)的數(shù)字rA用以抵御重放攻擊、防止偽造。 發(fā)送方A將下列信息送至接收方B: B, AtA, rA, BXI表示X(在此為A)對(duì)數(shù)據(jù)I(此即為tA, rA, B)的簽名。第93頁(yè),共136頁(yè)。 tA可以包含一個(gè)或兩個(gè)時(shí)間,一為識(shí)別數(shù)據(jù)產(chǎn)生的時(shí)間,另一為該識(shí)別數(shù)據(jù)逾期的時(shí)間。
52、 若要以此簽名證明某數(shù)據(jù)(SgnData)的來(lái)源,則應(yīng)表示為AtA,rA,B,SgnData 若要傳送機(jī)密數(shù)據(jù)(EncData)給收方B,例如認(rèn)證程序之后的通信用的秘密密鑰,則可將機(jī)密數(shù)據(jù)加入簽名中,信息變成:A(tA,rA , B , sgnData,BPencData) XPI表示用X(在此為B)的公開密鑰加密數(shù)據(jù)I。第94頁(yè),共136頁(yè)。圖13 單向認(rèn)證 第95頁(yè),共136頁(yè)。 收方B收到后,執(zhí)行下列動(dòng)作: B以事先定義的方法,即前面所述的方法從認(rèn)證中心取得證書,獲得發(fā)送方A的公鑰,并檢查A的證書是否逾期或被注銷。 驗(yàn)證簽名,以確定數(shù)據(jù)的完整性。 檢查此文件的識(shí)別數(shù)據(jù),B是否是此文件的收
53、方。 檢查時(shí)間戳tA是否在有效期限之內(nèi)。 檢查rA是否重復(fù)出現(xiàn)過(guò)。第96頁(yè),共136頁(yè)。 (在X.509中建議數(shù)字rA可以包含兩部分:一部分是順序累加的部分,另一部分是真正隨機(jī)選取的部分。可以檢查順序累加的部分是否重復(fù)出現(xiàn)過(guò)。) rA在tA有效期限之內(nèi)是有效的。也就是說(shuō),對(duì)rA順序累加的部分,在tA有效期限之內(nèi)A不會(huì)再使用。第97頁(yè),共136頁(yè)。 6.2 雙向認(rèn)證 “雙向認(rèn)證”包含有兩道信息,除了前述“單向認(rèn)證”的發(fā)送方送出的信息之外,收方還需產(chǎn)生一道回復(fù)信息給發(fā)方。而其在安全上達(dá)到的功能,除了前面所介紹的“單向認(rèn)證”所能達(dá)到的三項(xiàng)認(rèn)證功能外,還可達(dá)到下列認(rèn)證功能: 由收方送回給發(fā)方的身份識(shí)別
54、數(shù)據(jù),且可確認(rèn)數(shù)據(jù)是收方所產(chǎn)生的,信息的接收端確實(shí)是發(fā)方。第98頁(yè),共136頁(yè)。 可以保證由收方送回給發(fā)方的身份識(shí)別數(shù)據(jù)的完整性。 雙方可以共享身份識(shí)別數(shù)據(jù)中的秘密部分。(可選)其認(rèn)證程序如圖14所描述,詳細(xì)工作方式的前三步與“單向認(rèn)證”相同,自第步執(zhí)行方式如下: 收方B產(chǎn)生一不重復(fù)的數(shù)字rB,用以抵御重放攻擊,防止偽造。 收方B將下列信息送至發(fā)方A:BtB, rB, A, rA第99頁(yè),共136頁(yè)。 tB可以包含一或兩個(gè)時(shí)間,一為識(shí)別數(shù)據(jù)產(chǎn)生時(shí)間,另一為該識(shí)別數(shù)據(jù)逾期時(shí)間。若要以此簽名證明其數(shù)據(jù)(sgnData)的來(lái)源,可將數(shù)據(jù)加入簽名中,信息變成:BtB,rB,A,rA,sgnData 若
55、要順便傳送機(jī)密數(shù)據(jù)encData給收方B,如認(rèn)證程序之后的通信用的秘密密鑰,則可將機(jī)密數(shù)據(jù)加入簽名中,信息變成:BtB, rB, A, rA, sgnData, APencData第100頁(yè),共136頁(yè)。 圖14 雙向認(rèn)證 第101頁(yè),共136頁(yè)。 發(fā)方A收到后,執(zhí)行下列動(dòng)作: 以B的公鑰驗(yàn)證簽名,以確定數(shù)據(jù)的完整性。 檢查此文件的識(shí)別數(shù)據(jù),A是否此文件的收方。 檢查時(shí)間戳tB是否在有效期限之內(nèi)。 檢查rB是否重復(fù)出現(xiàn)過(guò)(與單向認(rèn)證一樣,此項(xiàng)根據(jù)需要選擇是否檢查)。第102頁(yè),共136頁(yè)。 6.3 三向認(rèn)證 “三向認(rèn)證”除了前述“雙向認(rèn)證”的信息之外,發(fā)方還需要再發(fā)送一道應(yīng)答信息給發(fā)方。其功能
56、可達(dá)到前面雙向識(shí)別的功能,但是不需要檢查時(shí)間戳,只需檢查不重復(fù)隨機(jī)數(shù)是否正確即可。(前兩個(gè)認(rèn)證程序中收、發(fā)雙方必須要有一個(gè)所謂的“同步時(shí)鐘”,才可以順利執(zhí)行??紤]網(wǎng)絡(luò)的延遲及雙方的計(jì)算機(jī)系統(tǒng)時(shí)間的誤差,要求兩方的時(shí)間同步,在技術(shù)上比較難實(shí)現(xiàn),若只需檢查隨機(jī)數(shù),雖然是較“雙向認(rèn)證”多一道信息的驗(yàn)證,但是技術(shù)上較容易實(shí)現(xiàn))。第103頁(yè),共136頁(yè)。 其認(rèn)證程序如圖15所描述,詳細(xì)工作方式如下: 前六個(gè)步驟與“雙向認(rèn)證”類似,但步驟與步驟所送出的時(shí)間戳tB及tA可以為0,步驟與步驟不用檢查時(shí)間戳,自第步驟執(zhí)行方式如下: 送方A檢查收到的不重復(fù)數(shù)字rA與步驟所產(chǎn)生的不重復(fù)數(shù)字是否相同。 送方A將識(shí)別數(shù)
57、據(jù)ArB, B回傳給B。 收方B收到后,執(zhí)行下列動(dòng)作:第104頁(yè),共136頁(yè)。 以A的公鑰驗(yàn)證簽名,以確定數(shù)據(jù)的完整性。 收方B檢查收到的不重復(fù)數(shù)字rB與步驟所產(chǎn)生的不重復(fù)數(shù)字是否相同。 圖15 三向認(rèn)證 第105頁(yè),共136頁(yè)。7 CA系統(tǒng)結(jié)構(gòu) 公開密鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)是一個(gè)用公鑰密碼學(xué)技術(shù)來(lái)實(shí)施和提供安全服務(wù)的、具有普適性(Pervasive)的安全基礎(chǔ)設(shè)施。所謂的普適性基礎(chǔ),就是一個(gè)大環(huán)境的基本框架,一個(gè)基礎(chǔ)設(shè)施可視為一個(gè)普適性基礎(chǔ)。整個(gè)PKI的基礎(chǔ)框架由ITU-T X.509建議標(biāo)準(zhǔn)定義?;ヂ?lián)網(wǎng)工程任務(wù)組(IETF)的公鑰基礎(chǔ)設(shè)施X
58、.509小組以它為基礎(chǔ)開發(fā)了適合于互聯(lián)網(wǎng)環(huán)境下的、基于數(shù)字證書的形式化模型(PKIX)。第106頁(yè),共136頁(yè)。 認(rèn)證機(jī)構(gòu)(Certification Authority,CA)是PKIX的核心,是信任的發(fā)源地。CA負(fù)責(zé)產(chǎn)生數(shù)字證書和發(fā)布證書撤銷列表,以及管理各種證書的相關(guān)事宜。通常為了減輕CA的處理負(fù)擔(dān),專門用另外一個(gè)單獨(dú)機(jī)構(gòu),即注冊(cè)機(jī)構(gòu)(Registration Authority,RA)來(lái)實(shí)現(xiàn)用戶的注冊(cè)、申請(qǐng)以及部分其它管理功能。 下面我們以O(shè)penCA認(rèn)證系統(tǒng)為例說(shuō)明CA的工作流程。整個(gè)CA采用圖16所示的體系結(jié)構(gòu)模型。第107頁(yè),共136頁(yè)。圖16 CA系統(tǒng)結(jié)構(gòu)第108頁(yè),共136頁(yè)
59、。 在OpenCA身份認(rèn)證系統(tǒng)當(dāng)中,整個(gè)CA由注冊(cè)機(jī)構(gòu)(RA)、認(rèn)證中心(CA)、CA管理員平臺(tái)、訪問(wèn)控制系統(tǒng)以及目錄服務(wù)器組成。RA和CA以及CA和數(shù)據(jù)庫(kù)之間的通信都是基于SSL協(xié)議的加密傳輸。第109頁(yè),共136頁(yè)。 7.1 CA服務(wù)器 CA是整個(gè)認(rèn)證機(jī)構(gòu)的核心,它保存了根CA的私鑰,對(duì)其安全等級(jí)要求最高。CA服務(wù)器具有產(chǎn)生證書、實(shí)現(xiàn)密鑰備份等功能。這些功能應(yīng)盡量獨(dú)立實(shí)施。CA服務(wù)器通過(guò)安全連接同RA和LDAP服務(wù)器實(shí)現(xiàn)安全通信。 CA的主要功能如表1所示。第110頁(yè),共136頁(yè)。表1 CA的主要功能CA初始化和CA管理處理證書申請(qǐng)證書管理交叉認(rèn)證生成新的CA密鑰對(duì)新的證書申請(qǐng)進(jìn)行CA簽名
60、輸出CA證書申請(qǐng)生成自簽名CA證書輸出CA證書輸入來(lái)自RA的簽名請(qǐng)求中斷申請(qǐng)掛起申請(qǐng)刪除申請(qǐng)輸出CRLLDAP,數(shù)據(jù)庫(kù)更新及管理產(chǎn)生證書鏈利用固定證書鏈實(shí)現(xiàn)交叉認(rèn)證第111頁(yè),共136頁(yè)。 7.2 RA服務(wù)器 RA服務(wù)器相對(duì)復(fù)雜一些。它運(yùn)行于安全(實(shí)現(xiàn)雙向認(rèn)證)的apache服務(wù)器上??紤]安全性起見,我們把RA分成兩部分:RA操作員和RA服務(wù)器??蛻糁荒茉L問(wèn)到RA操作員,不能直接和RA服務(wù)器通信,所以RA操作員是因特網(wǎng)用戶進(jìn)入CA的訪問(wèn)點(diǎn)??蛻敉ㄟ^(guò)RA操作員實(shí)現(xiàn)證書申請(qǐng)、撤銷、查詢等功能。RA服務(wù)器也配有LDAP服務(wù)器。RA服務(wù)器由RA管理員管理。 RA服務(wù)器的功能如表2所示。第112頁(yè),共1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國(guó)地質(zhì)科學(xué)院地質(zhì)研究所公開招聘應(yīng)屆畢業(yè)生2人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)儲(chǔ)備糧管理集團(tuán)限公司招聘800人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中化學(xué)交通建設(shè)集團(tuán)限公司校園招聘60人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年黑龍江東北農(nóng)業(yè)大學(xué)人才招聘擬聘用高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年貴州省關(guān)嶺自治縣事業(yè)單位招聘28人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年江蘇無(wú)錫市梁溪區(qū)事業(yè)單位招聘36人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年安徽池州市市直事業(yè)單位招聘(四)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川綿陽(yáng)涪城區(qū)事業(yè)單位招聘66人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年事業(yè)單位聯(lián)考青海招聘歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上海交通學(xué)校事業(yè)單位招聘4人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 教學(xué)能力大賽決賽獲獎(jiǎng)-教學(xué)實(shí)施報(bào)告-(完整圖文版)
- 安置幫教業(yè)務(wù)培訓(xùn)
- 天津市部分重點(diǎn)中學(xué)高一上學(xué)期期末考試數(shù)學(xué)試卷及答案(共四套)
- 鎮(zhèn)江市2023-2024學(xué)年九年級(jí)上學(xué)期期末英語(yǔ)試卷(含答案解析)
- 醫(yī)院禁毒行動(dòng)方案
- 學(xué)生公寓物業(yè)服務(wù)方案投標(biāo)方案(技術(shù)方案)
- 水上交通安全生產(chǎn)培訓(xùn)
- 加強(qiáng)老舊小區(qū)物業(yè)管理的思考
- 超聲影像學(xué)基礎(chǔ)
- 倉(cāng)庫(kù)溫濕度分布驗(yàn)證報(bào)告
- 【A科技公司員工招聘問(wèn)題調(diào)查研究及優(yōu)化策略13000字(論文)】
評(píng)論
0/150
提交評(píng)論