現(xiàn)今SSL安全協(xié)議廣泛地用在Internet和Intranet的服務(wù)器產(chǎn)品和客戶端產(chǎn)品中,用于安全地傳送數(shù)據(jù),集中到每個(gè)WEB服務(wù)器和瀏覽器中,從而來(lái)保證來(lái)用戶都可以與Web站點(diǎn)安全交流 。本文將詳細(xì)介紹SSL安全協(xié)議及在WEB服務(wù)器安全的應(yīng)用。 一、SSL安全協(xié)議在WEB服務(wù)器中的應(yīng)用 1、我們?yōu)樘峁┚哂姓嬲踩B接的高速安全套接層SSL)交易,可以將PCI卡形式的SSL卸載(offloading)設(shè)備直接安裝到Web服務(wù)器上,這種做法的好處是: (1)從客戶機(jī)到安全Web服務(wù)器的數(shù)據(jù)安全性; (2)由于卸載工具執(zhí)行所有SSL處理過(guò)程并完成TCP/IP協(xié)商,因此大大提高了吞吐量; (3)簡(jiǎn)化了密鑰的管理和維護(hù)。 安全性加大在實(shí)現(xiàn)向電子商務(wù)和其它安全Web站點(diǎn)的服務(wù)器增加SSL加速和卸載設(shè)備的結(jié)果是提高了交易處理速度。但是由于設(shè)備是作為應(yīng)用被安裝在網(wǎng)絡(luò)上的,因此設(shè)備與安全服務(wù)器之間的數(shù)據(jù)是未加密的。將SSL卸載設(shè)備作為PCI擴(kuò)展卡直接安裝在安全服務(wù)器上,保證了從瀏覽器到服務(wù)器的連接安全性。 SSL可以用于在線交易時(shí)保護(hù)象信用卡號(hào)以及股票交易明細(xì)這類敏感信息。受SSL保護(hù)的網(wǎng)頁(yè)具有"https"前綴,而非標(biāo)準(zhǔn)的"http"前綴。 2、新型專用網(wǎng)絡(luò)設(shè)備SSL加速器可以使Web站點(diǎn)通過(guò)在優(yōu)化的硬件和軟件中進(jìn)行所有的SSL處理來(lái)滿足性能和安全性的需要。 當(dāng)具有SSL功能的瀏覽器(Navigator、IE)與Web服務(wù)器(Apache、IIS)通信時(shí),它們利用數(shù)字證書確認(rèn)對(duì)方的身份。數(shù)字證書是由可信賴的第三方發(fā)放的,并被用于生成公共密鑰。 當(dāng)最初的認(rèn)證完成后,瀏覽器向服務(wù)器發(fā)送48字節(jié)利用服務(wù)器公共密鑰加密的主密鑰,然后Web服務(wù)器利用自己的私有密鑰解密這個(gè)主密鑰。最后,瀏覽器和服務(wù)器在會(huì)話過(guò)程中用來(lái)加解密的對(duì)稱密鑰集合就生成了。加密算法可以為每次會(huì)話顯式地配置或協(xié)商,最廣泛使用的加密標(biāo)準(zhǔn)為"數(shù)據(jù)加密標(biāo)準(zhǔn)"(DES)和RC4。 一旦完成上述啟動(dòng)過(guò)程,安全通道就建立了,保密的數(shù)據(jù)傳輸就可以開始了。盡管初始認(rèn)證和密鑰生成對(duì)于用戶是透明的,但對(duì)于Web服務(wù)器來(lái)說(shuō),它們遠(yuǎn)非透明。由于必須為每次用戶會(huì)話執(zhí)行啟動(dòng)過(guò)程,因而給服務(wù)器CPU造成了沉重負(fù)擔(dān)并產(chǎn)生了嚴(yán)重的性能瓶頸。據(jù)測(cè)試,當(dāng)處理安全的SSL會(huì)話時(shí),標(biāo)準(zhǔn)的Web服務(wù)器只能處理1%到10%的正常負(fù)載。 二、應(yīng)做的處理 密碼在加解密數(shù)據(jù)時(shí),使用兩種類型的密鑰。私有密鑰被發(fā)給各實(shí)體并且永遠(yuǎn)不向外透露,公共密鑰可以任意分發(fā)。這兩種密鑰對(duì)于認(rèn)證過(guò)程是必不可少的。使用公鑰加密的數(shù)據(jù)不能使用同一個(gè)密鑰進(jìn)行解密,必須使用私有密鑰進(jìn)行解密。 SSL使用復(fù)雜的數(shù)學(xué)公式進(jìn)行數(shù)據(jù)加密和解密,這些公式的復(fù)雜性根據(jù)密碼的強(qiáng)度不同而不同。高強(qiáng)度的計(jì)算會(huì)使多數(shù)服務(wù)器停頓,導(dǎo)致性能下降。多數(shù)Web服務(wù)器在執(zhí)行SSL相關(guān)任務(wù)時(shí),吞吐量會(huì)顯著下降,性能比在只執(zhí)行HTTP 1.0連接時(shí)的速度慢50多倍。而且由于SSL復(fù)雜的認(rèn)證方案和加/解密算法,SSL需要大量地消耗CPU資源,從而造成Web服務(wù)器性能很大的下降。它所造成的服務(wù)器瓶頸使Web站點(diǎn)的速度慢如蝸牛爬行,這無(wú)疑會(huì)失去在線客戶。 為解決這種性能上的損失,我們可以通過(guò)安裝SSL加速器和卸載器來(lái)減少SSL交易中的時(shí)延。加速器通過(guò)執(zhí)行一部分SSL處理任務(wù)來(lái)提高交易速度,同時(shí)依靠安全Web服務(wù)器軟件完成其余的任務(wù)。卸載器承擔(dān)所有SSL處理任務(wù)并且不需要安全Web服務(wù)器軟件,從而使Web服務(wù)器可以以同樣的高速度提供安全和非安全的服務(wù)。由于密鑰管理和維護(hù)過(guò)程不依靠對(duì)應(yīng)用軟件的手工配置,因此使用卸載器效率會(huì)更高一些。 多數(shù)這類設(shè)備作為網(wǎng)絡(luò)應(yīng)用被安裝在機(jī)架式或小底座網(wǎng)絡(luò)設(shè)備上,由于它們?yōu)檎麄€(gè)網(wǎng)絡(luò)提供加解密服務(wù),因此設(shè)備與Web服務(wù)器之間的數(shù)據(jù)是未加密的。 通過(guò)直接在服務(wù)器上安裝SSL卸載器,可以解決速度和安全性問(wèn)題。加密的數(shù)據(jù)由客戶機(jī)經(jīng)過(guò)Internet和網(wǎng)絡(luò)直接傳送到一臺(tái)服務(wù)器上。安裝在這臺(tái)服務(wù)器上的卸載器對(duì)數(shù)據(jù)進(jìn)行解密并將其沿PCI總線直接傳送到處理器。這樣做的結(jié)果是宿主服務(wù)器在保證客戶機(jī)與服務(wù)器之間傳輸時(shí)數(shù)據(jù)安全性的同時(shí),以非安全交易服務(wù)同樣的速度提供了安全交易服務(wù)。 SSL加速設(shè)備的出現(xiàn)就是為了解決對(duì)CPU資源過(guò)量需求的SSL協(xié)議所造成的性能問(wèn)題,這類設(shè)備是一些用以在不增加Web服務(wù)器負(fù)擔(dān)的條件下處理SSL任務(wù)的特殊的網(wǎng)絡(luò)部件。通過(guò)優(yōu)化硬件和軟件,專用SSL加速器處理SSL會(huì)話的速度為標(biāo)準(zhǔn)Web服務(wù)器的10到40倍。此外,SSL加速器解放了服務(wù)器資源,使這些資源可以真正用于處理應(yīng)用邏輯和數(shù)據(jù)庫(kù)查詢,從而加快了整個(gè)站點(diǎn)的速度。 將SSL設(shè)備集成到網(wǎng)絡(luò)中很簡(jiǎn)單,第4層到第7層交換機(jī)或負(fù)載均衡設(shè)備被配置為將所有的443端口(Https)請(qǐng)求改向傳送到SSL設(shè)備。 這時(shí),這臺(tái)設(shè)備承擔(dān)所有的SSL處理任務(wù),因而立即解脫了Web服務(wù)器的負(fù)載。隨著安全傳輸流容量的增加,在不增加不必要的管理負(fù)擔(dān)的條件下,可以再部署其他SSL設(shè)備。 最近,SSL加速器功能已經(jīng)被集成到象服務(wù)器端緩存(即所謂的"服務(wù)器加速器")這類Web內(nèi)容提交產(chǎn)品中了。這種作法的主要好處是,服務(wù)器加速器進(jìn)行SSL處理和對(duì)象提交。 配置SSL功能的服務(wù)器加速器使廣泛地將SSL用于Web基礎(chǔ)設(shè)施上的安全內(nèi)容交換成為可能,安全網(wǎng)頁(yè)將快速地得到提交,安全交易也將迅速地完成。 三、如何實(shí)現(xiàn)WEB和Internet安全 我們?cè)诎惭b好Certificate Server后,給自己的Web Server發(fā)一張證書,安全站點(diǎn)已經(jīng)建立起來(lái)了,在IIS管理器中打開安全通道(先不要接受客戶證書驗(yàn)證,如果沒(méi)有瀏覽器證書的話),把http改為https后訪問(wèn)的站點(diǎn),怎么系統(tǒng)提示服務(wù)器證書有問(wèn)題?記得在瀏覽器中安裝的根證書了?要不就是服務(wù)器證書過(guò)期了,如果沒(méi)有在瀏覽器中安裝根證書,就要安裝它,同時(shí)其他人通過(guò)Internet訪問(wèn)站點(diǎn)如果沒(méi)有安裝根證書,需要將根證書放在網(wǎng)上讓別人下載。 用IE安裝根證書很簡(jiǎn)單,瀏覽器提示用戶打開或保存時(shí)選擇打開,會(huì)看到根證書信息然后按安裝證書就可以了。但可能會(huì)發(fā)現(xiàn)Netscap無(wú)法安裝根證書,SSL協(xié)議是由Netscape首先提出并實(shí)現(xiàn)的,Netscape使用MIME類型application/x-x509-ca-cert來(lái)表示CA證書,IE3.1以后開始支持SSL,起初Windows系統(tǒng)的數(shù)字證書文件(.crt和.cer)也采用相同的MIME類型,IE5.0以后MIME類型被改為application/pkix-cert這就造成Netscape安裝根證書困難。不過(guò)這個(gè)問(wèn)題好解決,只要在IIS里新注冊(cè)application/x-x509-ca-cert的MIME類型就可以了。剛發(fā)的證書瀏覽器有時(shí)也會(huì)顯示證書過(guò)期,這是因?yàn)闉g覽器判斷證書有效是從證書有效起始時(shí)間的后一天開始,此外數(shù)字證書中的日期大都是GMT時(shí)間而不是本地時(shí)間,所以通常將本機(jī)時(shí)間向后調(diào)整一天這個(gè)問(wèn)題就能解決,所以證書過(guò)期不僅僅可能表示太晚也可能表示太早。 一切都已經(jīng)就緒,進(jìn)入安全網(wǎng)頁(yè)了,在IE的狀態(tài)欄里應(yīng)該有一個(gè)小鎖,雙擊這個(gè)小鎖能看到站點(diǎn)證書信息,同時(shí)也能看到整個(gè)證書鏈?,F(xiàn)在也許會(huì)問(wèn)"那么現(xiàn)在我怎么用SSL加密我的數(shù)據(jù)呢?",實(shí)際上現(xiàn)在瀏覽器和Web服務(wù)器之間交換的所有信息都已經(jīng)被加密,SSL是工作在網(wǎng)絡(luò)層與會(huì)話層之間的協(xié)議,它在TCP/IP和HTTP之間增加了一個(gè)加密層,所以對(duì)于工作在HTTP協(xié)議以上的用戶而言,加密是完全透明的,所以請(qǐng)忘記"用SSL加密"這句話,除非直接在Socket上開發(fā),比如寫個(gè)網(wǎng)絡(luò)螞蟻之類的。 現(xiàn)在想用SSL實(shí)現(xiàn)更多的東西,不僅僅是加密。是申請(qǐng)瀏覽器(客戶)證書的時(shí)候了,申請(qǐng)客戶證書過(guò)程也不復(fù)雜,除了相同的名稱,國(guó)家之類的還多一個(gè)EMail地址,如果用IE申請(qǐng)證書可能會(huì)有許多選項(xiàng),其中有兩個(gè)比較有意義,"允許私鑰被導(dǎo)出"對(duì)與不在固定機(jī)器上上網(wǎng)的人比較有用,如果在一臺(tái)機(jī)器上申請(qǐng)了證書,導(dǎo)出證書和私鑰并安裝到其他機(jī)器上就可以在其他機(jī)器上使用了。"用戶保護(hù)"會(huì)讓瀏覽器在使用的私鑰時(shí)提示,這通常發(fā)生在加密和簽名過(guò)程之前。證書安裝過(guò)程通常都是自動(dòng)的,安裝完成后可以欣賞一下,在IE中打開Internet選項(xiàng),選擇內(nèi)容一欄,按"證書"按鈕",在個(gè)人一欄內(nèi)應(yīng)該有客戶證書。 現(xiàn)在在IIS管理器中設(shè)置站點(diǎn)要求客戶證書,然后訪問(wèn)站點(diǎn),瀏覽器會(huì)彈出一個(gè)對(duì)話框,讓選擇要使用的客戶證書,然后就進(jìn)去了,也沒(méi)什么不同。那么怎么樣利用SSL實(shí)現(xiàn)身份認(rèn)證呢?首先可以在IIS管理器中啟用客戶證書映射,將客戶證書影射到NT賬號(hào),可以映射某張證書,也可以映射所有根證書所簽發(fā)的客戶證書,如果在簽發(fā)者列表中找不到根證書,需要運(yùn)行SSLCA.exe(IIS4.0以上),以后的事就屬于NT管理員的范疇了。如果不想用NT的安全機(jī)制,就需要獲取對(duì)方客戶證書的信息,然后進(jìn)行判斷。通??蛻糇C書的信息由HTTPS_開頭的服務(wù)器變量提供,如Apache Server,Domino等,可以查看文檔或者寫一個(gè)小的CGI程序列出所有的服務(wù)器變量。如果是IIS就更簡(jiǎn)單了: 用 Request.ClientCertificate( Key[SubField] )可以訪問(wèn)想要的內(nèi)容: 如可顯示客戶證書的國(guó)家代碼。具體參數(shù)請(qǐng)?jiān)贛SDN搜索ClientCertificate.。 |
|
來(lái)自: 網(wǎng)游盛世 > 《WEB服務(wù)器》