版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、SingleSign-On單點(diǎn)登錄技術(shù)談金輝( HYPERLINK mailto:wavelanj wavelanj),研發(fā)總監(jiān),北京信威時代信息技術(shù)有限責(zé)任公司簡介:單點(diǎn)登錄簡單說,就是通過用戶的一次性鑒別登錄,即可獲得需訪問系統(tǒng)和應(yīng)用軟件的授權(quán),在此條件下,管理員無需修改或干涉用戶登錄就能方便的實施希望得到的安全控制。這是一個為了能夠在分布式計算機(jī)環(huán)境中,安全和方便的鑒別用戶而產(chǎn)生的課題。本文將討論單點(diǎn)登錄的不同模型,提出真實可行的方案,并且評估這些模型和方案。介紹1.1背景隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,各種應(yīng)用服務(wù)的不斷普及,用戶每天需要登錄到許多不同的信息系統(tǒng),如網(wǎng)絡(luò)、郵件、數(shù)據(jù)庫、各
2、種應(yīng)用服務(wù)器等。每個系統(tǒng)都要求用戶遵循一定的安全策略,比如要求輸入用戶ID和口令。隨著用戶需要登錄系統(tǒng)的增多,出錯的可能性就會增加,受到非法截獲和破壞的可能性也會增大,安全性就會相應(yīng)降低。而如果用戶忘記了口令,不能執(zhí)行任務(wù),就需要請求管理員的幫助,并只能在重新獲得口令之前等待,造成了系統(tǒng)和安全管理資源的開銷,降低了生產(chǎn)效率。為避免這種尷尬,牢記登錄信息,用戶一般會簡化密碼,或者在多個系統(tǒng)中使用相同的口令,或者創(chuàng)建一個口令列表-這些都是會危及公司信息保密性的幾種習(xí)慣性做法。當(dāng)這些安全風(fēng)險逐步反映出來,管理員增加一些新的安全措施的時候,這些措施卻在減少系統(tǒng)的可用性,并且會增大系統(tǒng)管理的復(fù)雜度。因此
3、,在市場上提出了這樣的需求:網(wǎng)絡(luò)用戶可以基于最初訪問網(wǎng)絡(luò)時的一次身份驗證,對所有被授權(quán)的網(wǎng)絡(luò)資源進(jìn)行無縫的訪問。從而提高網(wǎng)絡(luò)用戶的工作效率,降低網(wǎng)絡(luò)操作的費(fèi)用,并提高網(wǎng)絡(luò)的安全性。下圖,表現(xiàn)了安全市場中不斷出現(xiàn)的新需求及其市場空間。12研究對象本文將介紹和總結(jié)幾種不同類型的SingleSign-On的技術(shù)模型和方案。1.3范圍本文的內(nèi)容將限制于單點(diǎn)登錄的技術(shù)模型和實現(xiàn),涉及一些諸如加密,智能卡等技術(shù),但不作為重點(diǎn),而是希望讀者已經(jīng)有所了解?;仨撌桌硐氲膯吸c(diǎn)登錄在介紹實際的方案和模型前,我們先設(shè)想一個理想的系統(tǒng)。從用戶的視角看,雖然是在復(fù)雜的企業(yè)應(yīng)用環(huán)境中,單點(diǎn)登錄不會影響到諸如業(yè)務(wù)過程,響應(yīng)效
4、率,網(wǎng)絡(luò)吞吐量等事情,并將互操作性方面的問題減至最少,任何事情都在順利工作。當(dāng)一個單點(diǎn)登錄系統(tǒng)被加入使用,遷移應(yīng)該容易。所有的用戶能夠立即學(xué)會使用這個工具。從管理員的角度看,計算和網(wǎng)絡(luò)環(huán)境在各個方面必須能被管理,而管理應(yīng)該不引起額外的工作或安全漏洞。管理過程應(yīng)該適合組織的結(jié)構(gòu)和政策。這意味著權(quán)利和控制需要有一定的層次結(jié)構(gòu)。認(rèn)證和用法的方法應(yīng)能在分布式的組織環(huán)境中得到全部的貫徹而不用付出額外的努力。所有的應(yīng)用程序,無論新舊,可以不需要或只需很少的改動即可適應(yīng)新的認(rèn)證方式。冋頁首實現(xiàn)問題上一節(jié)里,描述的是一個理想的狀態(tài),而在實際應(yīng)用中,一些理論上不錯的方案卻在實際中無法實現(xiàn),這里總結(jié)三個主要的方面
5、:計算環(huán)境相關(guān)的問題;組織結(jié)構(gòu)的問題和電子身份認(rèn)證方法的問題。31與計算環(huán)境相關(guān)的問題當(dāng)前計算機(jī)環(huán)境的主要問題是,很少有系統(tǒng)在進(jìn)行安全設(shè)計的時候參考了那些普遍通用的認(rèn)證方法。所以當(dāng)新的系統(tǒng)實現(xiàn)了自己的認(rèn)證和訪問控制后,與舊有的認(rèn)證和訪問控制機(jī)制毫無什么互操作性可言。在所有的安全解決方案里信任是主要的元素。不幸地,當(dāng)前的計算機(jī)系統(tǒng)不能被信任。他們要么有嚴(yán)重的安全漏洞和錯誤,要么不能經(jīng)受惡意攻擊。在這些不可靠的部件上運(yùn)行安全軟件,構(gòu)筑安全的平臺,是一個挑戰(zhàn)。另外一個問題是,系統(tǒng)管理員往往缺乏對復(fù)雜的網(wǎng)絡(luò)環(huán)境中所有的服務(wù)和配置缺乏足夠的認(rèn)識。32與組織結(jié)構(gòu)相關(guān)的問題訪問授權(quán)的規(guī)則需要規(guī)定那些資源是個
6、體用戶可以或不能訪問。為簡化,用戶中類似的需要和權(quán)利被劃分成組。管理不同組的用戶是件費(fèi)力的事情,比如用戶轉(zhuǎn)移到別的部門,那么他的訪問控制的權(quán)限也應(yīng)得到及時的反映。尤其在一些基于小組進(jìn)行活動的組織中,工作上的頻繁變動時有發(fā)生,但是,部門中組與組間的界定,往往是模糊的。而當(dāng)有組織結(jié)構(gòu)上的模糊與計算機(jī)環(huán)境的繁復(fù)相結(jié)合時,結(jié)果是顯然的。系統(tǒng)安全主管必須應(yīng)付一個異常復(fù)雜的情況。33與電子身份相關(guān)的問題登錄到一個系統(tǒng)的基礎(chǔ)是電子身份的認(rèn)證?;旧厦糠N解決方案都有一些利弊存在。傳統(tǒng)的方式也是運(yùn)用最為廣泛的是基于口令的認(rèn)證,既passwordauthentication。而這種方式的弱點(diǎn)是被猜測和監(jiān)聽。甚至有
7、很多口令被記在筆記本上或就在計算機(jī)附近。對于口令認(rèn)證的改進(jìn)是一次性口令。顧名思義,僅使用一次性的口令,可以極大的降低監(jiān)聽帶來的危險。電子身份也可以基于智能卡,或加密算法如RSA??ê退借€將被口令加密保護(hù)。一旦實施了安全認(rèn)證,下一個挑戰(zhàn)是使每個系統(tǒng)接受一樣電子的身份。為用戶產(chǎn)生憑證并且自動地把它些傳遞給所有需要的服務(wù)。這是可能需要實現(xiàn)的最艱巨的部分。冋頁首單點(diǎn)登錄的模型和實現(xiàn)這里將介紹一些關(guān)于實現(xiàn)單點(diǎn)登錄的不同方法和可能。首先,是一些常規(guī)的標(biāo)準(zhǔn)解決方案,然后,介紹一些現(xiàn)實中的方案。41通用的標(biāo)準(zhǔn)解決方案4.1.1通用安全服務(wù)應(yīng)用程序接口(GSS-API)關(guān)于認(rèn)證和密鑰分配系統(tǒng)的一個經(jīng)常遇到的問題
8、是,由于它要求對應(yīng)用系統(tǒng)本身做出改動,所以經(jīng)常受到的冷遇。考慮到這一點(diǎn),對一個認(rèn)證和密鑰分配系統(tǒng)來說,提供一個標(biāo)準(zhǔn)化的安全API就顯得格外重要。能做到這一點(diǎn),開發(fā)人員就不必再為增加很少的安全功能而對整個應(yīng)用程序動大手術(shù)了。因此,認(rèn)證系統(tǒng)設(shè)計領(lǐng)域內(nèi)最主要的進(jìn)展之一就是制定了標(biāo)準(zhǔn)化的安全API,即通用安全服務(wù)API(GSS-API)。德州Austin大學(xué)的研究者們開發(fā)的安全網(wǎng)絡(luò)編程(SNP),對GSS-API接口進(jìn)行了進(jìn)一步的封裝,使同網(wǎng)絡(luò)安全性有關(guān)的編程更加方便。GenericSecurityServiceApplicationProgramInterface簡寫GSS-API,譯為通用安全服務(wù)
9、應(yīng)用程序接口,一個典型的GSS-API調(diào)用者是通訊協(xié)議本身,調(diào)用GSS-API,用可信性、完整性和機(jī)密性的安全服務(wù)來保護(hù)他的通訊。例如Kerberos。這就是GSS-API可以在不同的安全服務(wù)和應(yīng)用程序被使用的原因,包括SSO。GSS-API的目的是提供隱蔽特定的內(nèi)在安全機(jī)制的一個接口。這可以幫助不同應(yīng)用程序之間有更好的互操作性。GSS-API使用式例GSS-API的設(shè)計假定和強(qiáng)調(diào)以下幾個基本目標(biāo):機(jī)制獨(dú)立:GSS-API定義了一個接口來使用密碼技術(shù)實現(xiàn)強(qiáng)壯的認(rèn)證和其他安全服務(wù)-在獨(dú)立于特定的底層機(jī)制的通用層上。例如,GSS-API提供的服務(wù)可以用密鑰技術(shù)實現(xiàn)(例如,Kerberos)或者使用
10、公鑰技術(shù)實現(xiàn)(例如X.509)。協(xié)議環(huán)境獨(dú)立:GSS-API獨(dú)立于使用它的通訊協(xié)議組,允許在多種協(xié)議環(huán)境中使用。在進(jìn)行調(diào)用的協(xié)議和GSS-API的應(yīng)用中間,加入一個面向特定的通訊協(xié)議(如RPC)的中介,可以保持GSS-API功能的起用和協(xié)議通訊的起用之間的同步。協(xié)議聯(lián)合的獨(dú)立:GSS-API安全上下文構(gòu)造是獨(dú)立于通訊協(xié)議相關(guān)的構(gòu)造的。這個特點(diǎn)允許單獨(dú)的GSS-API實現(xiàn)可以被多種協(xié)議模塊使用,以利于調(diào)用這些模塊的應(yīng)用程序。同時GSS-API服務(wù)也可以被應(yīng)用程序直接調(diào)用,完全獨(dú)立于協(xié)議關(guān)聯(lián)。適應(yīng)多種實現(xiàn):GSS-API客戶不是被限制存在于實現(xiàn)GSS-API的系統(tǒng)定義的TCB(TrustedCom
11、putingBase)范圍內(nèi);安全服務(wù)被以一種既適應(yīng)intra-TCB調(diào)用,又適用extra-TCB調(diào)用的方式說明。關(guān)于GSS-API的更細(xì)節(jié)的定義,可以參看RFC2025和2078。4.1.2OSF開放軟件基金會分布式計算環(huán)境DCE開放軟件基金會(OSF)的分布式計算環(huán)境。DCE是一個被廣泛接受的解決方案,用于開發(fā)和部署安全的、企業(yè)級的分布式計算應(yīng)用,提供網(wǎng)絡(luò)安全、透明的服務(wù)分配和跨平臺通信的能力,允許在一個異構(gòu)的環(huán)境中快速設(shè)計基于主/從或?qū)Φ冉Y(jié)構(gòu)的應(yīng)用。它能方便地對網(wǎng)絡(luò)提供最佳的性能和可靠的保護(hù)。因為DCE是由主流操作系統(tǒng)廠商的行業(yè)協(xié)會所支持的,所以這個標(biāo)準(zhǔn)在很多計算平臺上都得到了廣泛的支
12、持。DCE核心功能現(xiàn)在已經(jīng)被幾乎所有的UNIX系統(tǒng)及其變種所支持,并且,在PC操作系統(tǒng)日益普及的今天,DCE核心服務(wù)也在PC機(jī)上變得越來越普遍。DCE的認(rèn)證管理服務(wù)是集成了基于DES私人密鑰加密技術(shù)和MIT開發(fā)的Kerberos技術(shù)的身份驗證。這是一種企業(yè)級的安全解決方案,它使企業(yè)能為網(wǎng)絡(luò)資源的使用提供安全。保管理護(hù)和通過企業(yè)Intranet的用戶和通過Internet的遠(yuǎn)程用戶都可以有控制地訪問這些資源。DCE對于安全涉及到4個方面:認(rèn)證(authentication),安全通訊(securecommunications),授權(quán)(authorization),和審計(auditing)。4.
13、1.3嵌入式認(rèn)證模塊,PAMPAM(PluggableAuthenticationModules)是由Sun提出的一種用于實現(xiàn)應(yīng)用程序的認(rèn)證機(jī)制。其核心是一套共享庫,目的是提供一個框架和一套編程接口,將認(rèn)證工作由程序員交給管理員,PAM允許管理員在多種認(rèn)證方法之間作出選擇,它能夠改變本地認(rèn)證方法而不需要重新編譯與認(rèn)證相關(guān)的應(yīng)用程序,同時也便于向系統(tǒng)中添加新的認(rèn)證手段。PAM最初是集成在Solaris中,目前已移植到其它系統(tǒng)中,如Linux、SunOS、HP-UX9.0等,并在Linux中得到廣泛的應(yīng)用。一、PAM的結(jié)構(gòu)PAM的整個框架結(jié)構(gòu)如下圖所示:PAM的設(shè)計目標(biāo)是:管理員可以選擇認(rèn)證方式,
14、從簡單的密碼到智能卡系統(tǒng)。可以為不同的程序配置不同的認(rèn)證機(jī)制。如使telnet使用S/Key認(rèn)證。而本機(jī)的login缺省使用一般的UNIXpasswordo支持程序的顯示方式的需求。如login需要基于終端的顯示,而dtlogin需要X顯示,而ftp和telnet需要透過網(wǎng)絡(luò)來認(rèn)證。支持為一個程序配置同時使用多種認(rèn)證機(jī)制??墒怯脩粼谑褂枚喾N認(rèn)證機(jī)制時,不必為同一個密碼敲入多次??墒怯脩粼谡J(rèn)真時需要輸入多個密碼。當(dāng)?shù)讓拥恼J(rèn)證機(jī)制改變時上層軟件不需要修改。結(jié)構(gòu)為systemauthentication提供一個pluggable_model。必須能滿足現(xiàn)有的服務(wù)需要。PAM的功能包括:加密口令(包括
15、DES以外的算法);對用戶進(jìn)行資源限制,防止DoS攻擊;允許隨意Shadow口令;限制特定用戶在指定時間從指定地點(diǎn)登錄;弓I入概念clientplug-inagents,使PAM支持C/S應(yīng)用中的機(jī)器-機(jī)器認(rèn)證成為可能。PAM為更有效的認(rèn)證方法的開發(fā)提供了便利,在此基礎(chǔ)上可以很容易地開發(fā)出替代常規(guī)的用戶名加口令的認(rèn)證方法,如智能卡、指紋識別等認(rèn)證方法。42Broker-BasedSSO的方案在一個基于經(jīng)紀(jì)人的SSO解決方案中,有一個集中的認(rèn)證和用戶帳號管理的服務(wù)器。經(jīng)紀(jì)人給能被用于進(jìn)一步請求的電子的身份存取。中央數(shù)據(jù)庫的使用減少了管理的代價,并為認(rèn)證提供一個公共和獨(dú)立的第三方。Kerberos
16、Kerberosv5是業(yè)界的標(biāo)準(zhǔn)網(wǎng)絡(luò)身份驗證協(xié)議,該協(xié)議是在麻省理工學(xué)院起草的,旨在給計算機(jī)網(wǎng)絡(luò)提供身份驗證。Kerberos協(xié)議的基礎(chǔ)是基于信任第三方,如同一個經(jīng)濟(jì)人(broker)集中的進(jìn)行用戶認(rèn)證和發(fā)放電子身份憑證,它提供了在開放型網(wǎng)絡(luò)中進(jìn)行身份認(rèn)證的方法,認(rèn)證實體可以是用戶或用戶服務(wù)。這種認(rèn)證不依賴宿主機(jī)的操作系統(tǒng)或主機(jī)的IP地址,不需要保證網(wǎng)絡(luò)上所有主機(jī)的物理安全性,并且假定數(shù)據(jù)包在傳輸中可被隨機(jī)竊取篡改。Kerberos協(xié)議具有以下的一些優(yōu)勢:與授權(quán)機(jī)制相結(jié)合;實現(xiàn)了一次性簽放的機(jī)制,并且簽放的票據(jù)都有一個有效期;支持雙向的身份認(rèn)證,既服務(wù)器可以通過身份認(rèn)證確認(rèn)客戶方的身份,而客戶
17、如果需要也可以反向認(rèn)證服務(wù)方的身份;支持分布式網(wǎng)絡(luò)環(huán)境下的認(rèn)證機(jī)制,通過交換跨域密鑰來實現(xiàn)。Kerberos機(jī)制的實現(xiàn)要求一個時鐘基本同步的環(huán)境,這樣需要引入時間同步機(jī)制,并且該機(jī)制也需要考慮安全性,否則攻擊者可以通過調(diào)節(jié)某主機(jī)的時間實施重放攻擊(ReplayAttack)。Kerberos的消息V5V4Kerberosv5票據(jù)的格式:Tc,s=s,c,a,v,Kc,sKsKerberosv5鑒別碼的格式:Ac,s=c,t,keyKc,sKerberos的縮寫c客戶(機(jī))s服務(wù)器a客戶的網(wǎng)絡(luò)地址v票據(jù)的有效起止時間t時間標(biāo)記Kxx的秘密密鑰Kx,yx與y的會話密鑰mKx以x的秘密密鑰加密的mT
18、x,y使用y的x的票據(jù)Ax,y從x到y(tǒng)的鑒別碼Client到Kerberosc,tgsc,tgsKerberos到ClientKc,tgsKc,Tc,tgsKtgsKc,tgs,Tc,tgsKtgsKcClient到TGSAc,sKc,tgs,Tc,tgsKtgsAc,sKc,tgs,Tc,tgsKtgsTGS到ClientKc,sKc,tgs,Tc,sKsKc,s,Tc,sKsKc,tgsClient到ServerAc,sKc,s,Tc,sKsAc,sKc,s,Tc,sKs消息1、3、5在兩個版本中是相同的。第5版刪除了v4中消息2、4的票據(jù)雙重加密;增加了多重地址;用開始可結(jié)束時間替代有效
19、時間;并在鑒別碼里增加了包括一個附加密鑰的選項;V4只支持DES(數(shù)據(jù)加密標(biāo)準(zhǔn))算法,V5采用獨(dú)立的加密模塊,可用其它加密算法替換;V4版里,為防止重放攻擊,nonce由時間戳實現(xiàn),這就帶來了時間同步問題。即使利用網(wǎng)絡(luò)時間協(xié)議(NetworkTimeProtocol)或國際標(biāo)準(zhǔn)時間(Coordinateduniversaltime)能在一定程度上解決時間同步問題,但網(wǎng)絡(luò)上關(guān)于時間的協(xié)議并不安全。V5版允許nonce可以是一個數(shù)字序列,但要求它唯一。由于服務(wù)器無法保證不同用戶的nonce不沖突,偶然的沖突可能將合法用戶的服務(wù)器申請當(dāng)作重放攻擊而拒之門外。SesameSesame,代表歐洲安全多環(huán)
20、境應(yīng)用系統(tǒng)(SecureEuropeanSystemforApplicationinMultivendorEnvironment)。是一個歐洲團(tuán)體安全項目,被認(rèn)為是一種歐洲版本的Kerberos。Sesame是建造在GSS-API上,提供單點(diǎn)登錄服務(wù)和的在分布式環(huán)境中的數(shù)據(jù)安全性。盡管Sesame與Kerberos基于同樣范例,但它們不是一對一的復(fù)制,而是在原有的設(shè)計中增加了一些新的特性。這些包括異種環(huán)境,訪問控制,可擴(kuò)展的公鑰系統(tǒng),更好的可管理性,審計,委托授權(quán)。在Kerberos中,用戶首先到一個認(rèn)證服務(wù)器認(rèn)證自己。從認(rèn)證服務(wù)器獲得標(biāo)識在呈現(xiàn)給其他服務(wù)器以獲得訪問最終應(yīng)用系統(tǒng)的授權(quán)。而在S
21、esame中,這些服務(wù)器被統(tǒng)稱為特權(quán)屬性服務(wù)器。從一個特權(quán)屬性服務(wù)器,用戶獲得特權(quán)屬性證書,最后把訪問權(quán)利給需要的服務(wù)。IBMKryptoKnightKryptoKnight是IBM公司的一種類似于Kerberos的鑒別和密鑰分配系統(tǒng)。它是一種秘密密鑰協(xié)議并使用DES-CBC模式或MD5增加版。支持四項保密功能:用戶鑒別雙方鑒別密鑰分配數(shù)據(jù)源和數(shù)據(jù)內(nèi)容的鑒別。它和Kerberos的區(qū)別在于采用單向散列函數(shù)鑒別和加密票據(jù)不依靠同步時鐘,而使用當(dāng)前時間如果甲試圖和乙通信,可以允許甲發(fā)一條消息給乙,然后乙初始化密鑰交換協(xié)議。KryptoKnight極大的優(yōu)化了消息數(shù)量,長度和加密的數(shù)量,而且不僅支持
22、IP協(xié)議也支持其他通信協(xié)議如NetBIOS協(xié)議。Agent-BasedSSO方案在一個基于代理人的解決方案中,有一個自動地為不同的應(yīng)用程序認(rèn)證用戶身份的代理程序。這個代理程序需要設(shè)計有不同的功能。比如,它可以使用口令表或加密密鑰來自動地將認(rèn)證的負(fù)擔(dān)從用戶移開。代理人能也被放在服務(wù)器上面,在服務(wù)器的認(rèn)證系統(tǒng)和客戶端認(rèn)證方法之間充當(dāng)一個翻譯。一個基于代理人的解決方案的一個例子是SSH。SSH的英文全稱是SecureShell。通過使用SSH,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣就能夠防止DNS和IP欺騙。這是一個為在網(wǎng)上進(jìn)行安全連接的客戶/服務(wù)器類型加密軟件,實現(xiàn)了一個密鑰交換協(xié)議,以及主機(jī)及客戶
23、端認(rèn)證協(xié)議。SSH的用戶可以使用包括RSA算法的不同認(rèn)證方法。當(dāng)使用RSA認(rèn)證時,代理程序可以被用于單點(diǎn)登錄。代理程序可以在PC,便攜機(jī),或終端上運(yùn)行,當(dāng)被認(rèn)證身份加入到代理程序中,如果該代理程序有新的子連結(jié)產(chǎn)生,則繼承原有連結(jié)的認(rèn)證。遠(yuǎn)程系統(tǒng)往往需要一個SSH服務(wù)器,用以與代理程序通信。SSH包括如下的層次結(jié)構(gòu):SSH-CONN連接協(xié)議SSH-USERAUTH用戶認(rèn)證協(xié)議SSH-TRANS傳輸層協(xié)議TCP/IPTCP/IPTCP/IP:為上層提供底層(不安全的)可靠的數(shù)據(jù)流;SSH-TRANS:提供服務(wù)器身份認(rèn)證和完整性;SSH-USERAUTH:為服務(wù)器鑒別客戶端用戶;SSH-CONN:把
24、加密通道分化成多個邏輯通道。TCP/IP在具體的SSH協(xié)議中,主機(jī)密碼是一個RSA私鑰,用于確認(rèn)主機(jī);服務(wù)器密碼也是一個RSA私鑰,每小時更新。主機(jī)可以擁有多個用不同算法產(chǎn)生的主機(jī)密碼。多個主機(jī)也可以共享同一主機(jī)密碼。每個主機(jī)必須至少用每個必須的公鑰算法產(chǎn)生一個私鑰。目前SSH使用的算法分為必需的、推薦使用的和可選用的,分別列在下面的表格中。算法(Algorithm)必需的(Required)推薦(Recommended)可選(Optional)加密(Encryption)3DES-CBCBlowfish-cbcTwofish-cbcArcfourIdea-cbcCast128-cbc信息摘要
25、(MAC)Hmac-SHA1Hmac-sha-96Hmac-md5Hmac-md5-96密鑰交換(KeyExchange)Diffie-Hellman公鑰(PublicKey)SSH-DSSX509-V3SPKIpgp利用個性化的安全代理來實現(xiàn)時,每個運(yùn)行SSH的主機(jī)(不管是服務(wù)器還是客戶端)必須有一個安全代理程序在上面運(yùn)行。例如,要獲得主機(jī)密碼和服務(wù)器密碼,個性化代理參與如下的兩部分:密鑰生成和存儲:當(dāng)服務(wù)器需要生成主機(jī)密碼和服務(wù)器密碼時,它會要求本地的安全代理來完成這一工作。本地安全代理或是自己生成密鑰對,或是要求另一個安全代理來生成。SSH協(xié)議并不區(qū)分這兩種情況。生成的密鑰由安全代理保管
26、,在需要時使用。身份認(rèn)證:當(dāng)客戶端得到主機(jī)密碼或服務(wù)器密碼,它要傳給自己的安全代理,由安全代理負(fù)責(zé)對密碼進(jìn)行認(rèn)證。作為認(rèn)證結(jié)果,安全代理會返回成功或失敗。SSH協(xié)議本身不關(guān)心有關(guān)密碼的細(xì)節(jié)。稍后,如果有新的公鑰算法引入SSH,只需要替換安全代理的部分。44Token-BasedSSO的方案現(xiàn)在被廣泛使用的口令認(rèn)證,比如FTP,郵件服務(wù)器的登陸認(rèn)證,都可被稱為single-factor口令的認(rèn)證。這是一種簡單易用的方式,同時也是一種會帶來很多安全隱患的方式。比如:易于猜測,很少進(jìn)行更換,一個口令在多種應(yīng)用當(dāng)中使用等等一會危及安全的習(xí)慣。再如,在明文傳輸?shù)木W(wǎng)絡(luò)環(huán)境里,經(jīng)常使用并很少更換的口令,更易
27、于被竊取和造成危害。RSA公司提出的一種稱為SecurlD的解決方案。與single-factor不同是是它被稱之為two-factor雙因素的認(rèn)證。構(gòu)成認(rèn)證的第一個因素是PersonnelIdentificationNumber(PIN),即用戶身份識別碼,這是一串保密的數(shù)字,可由系統(tǒng)管理員訂制。第二個要素是SecurIDtoken,一個小型的數(shù)字發(fā)生器,這個發(fā)生器的時鐘將與網(wǎng)絡(luò)環(huán)境中提供身份鑒別的服務(wù)器(ACE)保持同步,并且與ACE上的用戶數(shù)據(jù)庫保持映射。數(shù)字發(fā)生器每隔一段時間(比如一分鐘)產(chǎn)生新的數(shù)字,PIN+同步時鐘數(shù)字就是用戶的登錄代碼。解決方案中也有種被稱為WeblD的模塊。在W
28、eb服務(wù)器上安裝一個ACE服務(wù)器的代理程序,用來接受SecurID。當(dāng)訪問第一個需要認(rèn)證的URL時,WebID會軟件產(chǎn)生并加密一個標(biāo)識,這個標(biāo)識將在訪問其他資源的時候被用到。45AgentandBroker-BasedSSO解決方案當(dāng)Agent-Base的解決方案和Broker-Base的解決方案被相結(jié)合時,就結(jié)合前者的靈活性和后者的中央式管理兩方面的優(yōu)勢。Agent-Base的好處還在于是減少了改變網(wǎng)絡(luò)應(yīng)用程序的的代價。這樣,與Kerberos相比,就不需要kerberize化的應(yīng)用程序。這里演示一個圖例:46基于網(wǎng)關(guān)的SSO解決方案在broker-based的方案中,會在網(wǎng)絡(luò)中放置一個看門
29、狗的模型。而Gateway-Based則是另一種單點(diǎn)登錄的方法,具體的做法是提供類似象門一樣的網(wǎng)關(guān)用以安全的接入到可信的網(wǎng)絡(luò)服務(wù)。網(wǎng)關(guān)可以是防火墻,或者是專門用于通訊加密的服務(wù)器。下圖是解決方案的一個模型。TehetServerWWWServerClientG;atewayAcc&asCentralandDaisEncryptionFTPServer基于網(wǎng)關(guān)的訪問控制模型在這種方案,所有的響應(yīng)服務(wù)都需要放在被網(wǎng)關(guān)隔離的受信網(wǎng)段里。Client通過網(wǎng)關(guān)進(jìn)行認(rèn)證后獲得接受服務(wù)的受權(quán)。如果在網(wǎng)關(guān)后的服務(wù)能夠通過IP地址進(jìn)行識別,并在網(wǎng)關(guān)上建立一個基于IP的規(guī)則,而這個規(guī)則如果與在網(wǎng)關(guān)上的用戶數(shù)據(jù)庫相
30、結(jié)合,網(wǎng)關(guān)就可以被用于單點(diǎn)登錄。網(wǎng)關(guān)將記錄Client的身份不再需要冗余的認(rèn)證請求,便可授權(quán)所要求的服務(wù)。由于網(wǎng)關(guān)可以監(jiān)視并改變應(yīng)用服務(wù)的數(shù)據(jù)流,所以在不修改應(yīng)用服務(wù)的同時,改變認(rèn)證信息,并能提供合適的訪問控制?;仨撌自u估當(dāng)前的解決方案呈現(xiàn)出的解決方案能夠并且應(yīng)該從若干方面來評價。最重要的是可實施性,管理,安全,和易用性。可實施性是系統(tǒng)的復(fù)雜性的功能并且測量現(xiàn)有計算系統(tǒng)如何能夠方便的被修改成使用SSO解決方案。管理是系統(tǒng)在怎么容易上被使用的主管的看法。安全是估量系統(tǒng)是否易受攻擊。使用性是系統(tǒng)的最終用戶的觀點(diǎn)。51Broker-based(基于經(jīng)紀(jì)人)可實施性Broker-based解決方案的主
31、要的問題,例如Kerberos,是確定現(xiàn)有哪些應(yīng)用程序需要被修改的,或kerberized以接受票據(jù),而對于舊系統(tǒng)的改造,是項艱巨的工作。管理集中式的管理是在Broker-based解決方案的主要好處,一個中央數(shù)據(jù)庫易于進(jìn)行管理。安全性一個Broker-base的解決方案的設(shè)計實現(xiàn)安全的實際水平,取決于實施。Kerberos存在有若干安全上的爭論。舊的鑒別碼有可能被存儲和重用。盡管時間標(biāo)記可用于防止這種攻擊,但在票據(jù)有效時間內(nèi)仍有風(fēng)險。典型的票據(jù)有效時間是八小時。鑒別碼還基于一個假設(shè),即網(wǎng)絡(luò)中的所有時鐘基本是同步。如果能夠欺騙主機(jī),使它的正確時間發(fā)生錯誤,就的鑒別碼則能夠被重放。大多數(shù)網(wǎng)絡(luò)時間
32、協(xié)議是不安全的,因此將可能導(dǎo)致嚴(yán)重問題。在Kerberos中的認(rèn)證僅僅基于口令,這樣使系統(tǒng)在口令猜測面前顯得很脆弱。攻擊者收集到大量的票據(jù),則會有很大的可能性找到口令。最嚴(yán)重的是,Kerberos假設(shè)Client已被信任,而惡意的Kerberos軟件可以完成Kerberos協(xié)議并記錄口令來替代所有客戶的Kerberos應(yīng)用。任何一種安裝在不安全的計算機(jī)環(huán)境中的密碼軟件都會面臨這樣的問題。和Kerberos一樣,Sesame有一樣的脆弱,也就是口令猜測攻擊的危險。KryptoKnight在密碼技術(shù)上的改進(jìn)應(yīng)該使了它比Kerberos更安全。加強(qiáng)Kerberos的工作包括使用PKI技術(shù)和密鑰管理中
33、心的智能卡接口。使用性在集中式的模型管理中,容易受到批評的是如果認(rèn)證服務(wù)器宕掉,則所有的應(yīng)用,所有的用戶都會受到影響。52Agent-based(基于代理人)可實施性基于代理人的方式能夠使移植變得容易,但代理程序的軟件供應(yīng)商需要設(shè)計和實現(xiàn)與原有應(yīng)用程序協(xié)議的交互。管理單純的代理方式不能夠幫助管理,甚至使管理更難控制和分配代理軟件的權(quán)利。安全性有強(qiáng)密碼技術(shù)的保證,代理程序的通信應(yīng)該是安全的,但問題可能出在惡意軟件方面使用性也許象SSH樣的代理軟件學(xué)習(xí)身份加載是的一個困難的概念。也可能是公鑰密碼學(xué)的概念本身就難以掌握,而用戶往往并不具備這方面的知識更沒有耐心。53Token-based可實施性這種
34、方案比如WeblD,因為需要在系統(tǒng)上增加一些新的組件,增加了管理員管理的負(fù)擔(dān)。安全性增強(qiáng)了系統(tǒng)的安全性。54基于網(wǎng)關(guān)可實施性在確定的環(huán)境中,安裝和設(shè)置一道網(wǎng)關(guān)是方便的。作為一個分開的部件,需要注意它的網(wǎng)絡(luò)通信能力,而基本不會有太多的互操作性問題。唯一的問題可能是,應(yīng)用程序和網(wǎng)關(guān)客戶端軟件和需要安放在網(wǎng)關(guān)同一側(cè)的一臺計算機(jī)上。管理比較而言,網(wǎng)關(guān)的中央用戶數(shù)據(jù)庫比一個broker-based的解決方案更易于管理。帶來的問題是,如果若干網(wǎng)關(guān)被使用,那么用戶數(shù)據(jù)庫不能自動地被同步。安全性一個通訊加密服務(wù)器應(yīng)該是安全,但是也可能被攻擊,可能的攻擊點(diǎn)是其操作系統(tǒng),而當(dāng)網(wǎng)關(guān)放在防火墻上,則攻擊防火墻,如SYN-flooding。推薦的方式是
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年三峽大學(xué)輔導(dǎo)員招聘考試真題匯編附答案
- 信息安全管理員崗前時間管理考核試卷含答案
- 滑雪指導(dǎo)員持續(xù)改進(jìn)能力考核試卷含答案
- 電子競技員崗前環(huán)保及安全考核試卷含答案
- 鑄軋工崗前核心技能考核試卷含答案
- 信號設(shè)備制造鉗工安全規(guī)程水平考核試卷含答案
- 高爐煉鐵操作工崗前理論評估考核試卷含答案
- 玻璃熔化工崗前技術(shù)改進(jìn)考核試卷含答案
- 2024年海西州選調(diào)公務(wù)員筆試真題匯編附答案
- 2025年建筑行業(yè)施工質(zhì)量檢驗手冊
- 地鐵機(jī)電(風(fēng)水電)設(shè)備維保操作手冊
- 鄉(xiāng)鎮(zhèn)污泥處理應(yīng)急預(yù)案
- 海上導(dǎo)管架安裝監(jiān)理細(xì)則
- JBT 12530.3-2015 塑料焊縫無損檢測方法 第3部分:射線檢測
- 辦公家具投標(biāo)方案(技術(shù)方案)
- 小班數(shù)學(xué)《5以內(nèi)的點(diǎn)數(shù)》課件
- GB/T 10118-2023高純鎵
- 預(yù)制箱梁架設(shè)安全技術(shù)交底
- PDCA提高臥床患者踝泵運(yùn)動鍛煉的正確率
- YB/T 036.10-1992冶金設(shè)備制造通用技術(shù)條件鍛鋼件超聲波探傷方法
- GB/T 29890-2013糧油儲藏技術(shù)規(guī)范
評論
0/150
提交評論