簡述:▌什么是證書/私鑰?在數(shù)字化的網(wǎng)絡(luò)世界中,證書是一個(gè)人或者一個(gè)實(shí)體的有效標(biāo)識(shí),就像日常生活中的身份證,可以唯一的標(biāo)識(shí)一個(gè)實(shí)體,比如網(wǎng)站。而與證書相對(duì)應(yīng)的“私鑰”則是證明該實(shí)體是證書持有者的關(guān)鍵。在目前廣泛部署的SSL
▌證書/私鑰是什么?
在數(shù)字網(wǎng)絡(luò)世界中,證書是一個(gè)人或?qū)嶓w的有效標(biāo)志,就像日常生活中的身份證一樣,它可以識(shí)別一個(gè)實(shí)體,如網(wǎng)站。對(duì)應(yīng)證書“私鑰”證明實(shí)體是證書持有人的關(guān)鍵。目前廣泛部署SSL/TLS在協(xié)議中,網(wǎng)站通過傳遞自己的證書和相應(yīng)的證書“私鑰”向網(wǎng)絡(luò)另一端的用戶證明簽名信息的真實(shí)性。因此,私鑰在網(wǎng)絡(luò)認(rèn)證中起著極其重要的作用。換句話說,任何形式的私鑰竊取或?yàn)E用都會(huì)導(dǎo)致網(wǎng)站克隆,惡意攻擊者可以訪問用戶“釣魚”。私鑰的保護(hù)在互聯(lián)網(wǎng)上非常重要,私鑰是提供互聯(lián)網(wǎng)服務(wù)的公司的核心資產(chǎn)。
▌如何保護(hù)私鑰?
為了保護(hù)私鑰,現(xiàn)有的Web服務(wù)器將提供私鑰加密服務(wù),即當(dāng)私鑰以文件的形式連續(xù)存儲(chǔ)在硬盤上時(shí),它被加密。在服務(wù)啟動(dòng)階段,通過輸入相應(yīng)的密碼解密并加載到服務(wù)器。這種初級(jí)保護(hù)措施的安全效果有限。在服務(wù)器過程中加載解密的私鑰后,私鑰將以明確的形式存在于系統(tǒng)內(nèi)存中,如2014年爆發(fā)的任何可能導(dǎo)致內(nèi)存信息檢測的軟件或系統(tǒng)漏洞OpenSSL心臟滴血漏洞可能導(dǎo)致私鑰內(nèi)容泄露。
特別是隨著互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,以往的單點(diǎn)服務(wù)模式已經(jīng)不能滿足大量互聯(lián)網(wǎng)用戶的要求。傳統(tǒng)的CDN或新的基礎(chǔ)Cloud的CDN為提供高質(zhì)量的互聯(lián)網(wǎng)內(nèi)容服務(wù),大規(guī)模部署使用。CDN它通常由第三方服務(wù)提供商或電信運(yùn)營商提供,這意味著對(duì)CDN上述內(nèi)容的安全控制遠(yuǎn)遠(yuǎn)超出了網(wǎng)站運(yùn)營商的控制,特別是需要提供HTTPS對(duì)于服務(wù)網(wǎng)站,如果你想使用它CDN緩存和分發(fā)其內(nèi)容必須是CDN在服務(wù)節(jié)點(diǎn)上部署相應(yīng)的私鑰,以滿足終端用戶的訪問HTTPS時(shí)間認(rèn)證需求。正如前面所述,私鑰部署在外部CDN網(wǎng)站運(yùn)營商一直擔(dān)心節(jié)點(diǎn)上的安全。
為了解決這個(gè)問題,各大安全策略都有所不同CDN提出服務(wù)提供商。CDN根據(jù)用戶的需要,服務(wù)提供商提供不同的私鑰管理解決方案。第一種是完全托管私鑰,即網(wǎng)站運(yùn)營商通過安全渠道將網(wǎng)站使用的私鑰發(fā)送給他們CDN服務(wù)商,由CDN服務(wù)提供商代其部署相應(yīng)的部署HTTPS節(jié)點(diǎn),當(dāng)然,這種做法根本無法消除之前的安全顧慮。因此,CDN服務(wù)提供商還將提供另一種策略,即共享證書,這實(shí)際上相當(dāng)于CDN服務(wù)提供商重新申請頒發(fā)一套新證書,可以認(rèn)證的實(shí)體包括CDN在服務(wù)提供商支持的網(wǎng)站上,私鑰是由服務(wù)提供商支持的CDN服務(wù)提供商持有。這種做法在一定程度上緩解了網(wǎng)站運(yùn)營商對(duì)私鑰安全的擔(dān)憂——因?yàn)橛玫氖荂DN服務(wù)提供商共享證書的私鑰而不是自己網(wǎng)站的私鑰,但另一方面,對(duì)CDN服務(wù)商而言,如何保證共享證書的私鑰的安全,同樣也是一個(gè)難題。同時(shí),這種共享證書的方式也增加了網(wǎng)站運(yùn)營的管理負(fù)擔(dān)和需要承擔(dān)的額外證書維護(hù)費(fèi)用。
▌KeylessSSL方案
2015年某CDN服務(wù)提供商提出”KeylessSSL”[1]方案。該方案在私鑰安全性和網(wǎng)絡(luò)性能之間進(jìn)行了妥協(xié),并引入了網(wǎng)站運(yùn)營商負(fù)責(zé)維護(hù)“密鑰中心”保存密鑰CDN每個(gè)節(jié)點(diǎn)都接受SSL請求,在CDN在節(jié)點(diǎn)和密鑰中心之間引入新的安全連接,以要求相應(yīng)的安全連接“私鑰服務(wù)”。盡管通過SSLsessionreuse與長鏈接的形式可以減少一定的費(fèi)用,但是CDN引入節(jié)點(diǎn)和密鑰中心的額外安全鏈接,不可避免地會(huì)增加網(wǎng)絡(luò)延遲和吞吐率。
圖1.KeylessSSL的建鏈流程(RSAwrapping密鑰交換)
圖1是KeylessSSL我們使用典型的工作流程TLS最典型的協(xié)議RSAwrapping以密鑰交換形式為例KeylessSSL如何工作。在這類密鑰交換套件中,如圖示第3步,客戶端在驗(yàn)證了服務(wù)端證書的有效性之后,使用證書中的公鑰對(duì)一個(gè)預(yù)主密鑰(后續(xù)導(dǎo)出鏈接會(huì)話密鑰的種子)進(jìn)行加密。根據(jù)RSA只有對(duì)應(yīng)的私鑰才能正確解密上述密文。當(dāng)加密的預(yù)主密鑰到達(dá)時(shí)CDN為了完成內(nèi)容的檢索和分發(fā)要求,CDN必須用正確的私鑰解密SSL握手,這就是為什么CDN該節(jié)點(diǎn)需要知道其托管網(wǎng)站的私鑰。
KeylessSSL步驟4和5介紹在這里CDN當(dāng)節(jié)點(diǎn)不知道私鑰時(shí),向后端密鑰中心(由真實(shí)網(wǎng)站運(yùn)營商管理)建立另一個(gè)安全連接,并將需要解密的報(bào)紙轉(zhuǎn)發(fā)給相應(yīng)網(wǎng)站的密鑰管理中心。在網(wǎng)站運(yùn)營商管理的密鑰中心,預(yù)主密鑰被相應(yīng)的私鑰正確解密并返回CDN節(jié)點(diǎn),CDN節(jié)點(diǎn)可以使用預(yù)主密鑰完成SSL建立鏈接。在整個(gè)過程中,網(wǎng)站私鑰始終由自己的密鑰中心管理,無需對(duì)外托管,CDN節(jié)點(diǎn)在不知道任何私鑰信息的情況下成功完成SSL在整個(gè)建鏈過程中,私鑰的安全得到了保證。
KeylessSSL在提高私鑰安全性的同時(shí),也引入了更多的限制。首先,很明顯,每個(gè)客戶端都會(huì)發(fā)起SSL每個(gè)請求都會(huì)增加一個(gè)CDN后端密鑰中心的交互增加了網(wǎng)絡(luò)延遲CDN就近訪問原則相悖。另一方面,通過分布在世界各地CDN節(jié)點(diǎn),任何網(wǎng)站都可以為不同地區(qū)的用戶提供高質(zhì)量的內(nèi)容服務(wù)。然而,后端密鑰中心的引入再次將中心節(jié)點(diǎn)引入分布式網(wǎng)絡(luò),使所有安全連接的建立都可以追溯到密鑰中心,增加了網(wǎng)絡(luò)瓶頸。
實(shí)際上,一些大型網(wǎng)站運(yùn)營商為了緩解大量的聚集SSL/TLS建鏈請求,即SSL握手中CDN硬件加速器通常用于節(jié)點(diǎn)傳輸?shù)乃借€服務(wù)請求,如Intel®QAT,來卸載高CPU消耗的私鑰操作。另一方面,用硬件加速器HTTPS優(yōu)秀的性能加速效果,越來越多的網(wǎng)站和服務(wù)CDN然而,服務(wù)提供商已經(jīng)開始標(biāo)準(zhǔn)化硬件加速器的部署KeylessSSL的方案中,CDN節(jié)點(diǎn)上部署的硬件加速器只能在數(shù)據(jù)傳輸階段提供幫助,但不能為客戶的密鑰中心分擔(dān)壓力,在一定程度上,資源的重復(fù)配置和浪費(fèi)。
▌基于Intel®SGX和Intel®QAT的CDN密鑰保護(hù)和HTTPS加速方案
為了徹底解決這個(gè)問題,Intel®QuickAssistTechnology(QAT)2017年,技術(shù)團(tuán)隊(duì)提出了一個(gè)針對(duì)性CDN安全密鑰管理及私鑰保護(hù)分發(fā)系統(tǒng)。該方案利用Intel®SoftwareGuardExtensions(SGX)[3]技術(shù)構(gòu)建了安全的密鑰分發(fā)和保護(hù)體系,使用了Intel®QAT硬件加速器在CDN節(jié)點(diǎn)上對(duì)SSL建鏈握手加速,擺脫SSL充分利用要求中對(duì)后端密鑰中心的依賴CDN分布式特性大大提高了網(wǎng)絡(luò)性能。具體內(nèi)容發(fā)表于2017年ACMSymposiumonCloudComputing會(huì)議上[4].
圖2.結(jié)合Intel®SGX和Intel®QAT的CDN密鑰保護(hù)和HTTPS加速方案
圖2顯示了該方案的系統(tǒng)框圖。CDN部署在節(jié)點(diǎn)上Intel®SGX和Intel®QAT加速器。在Phase密鑰分發(fā)中心一階段(KDC)通過相應(yīng)的私鑰SGX的RemoteAttestation將工藝安全部署到相應(yīng)的部署CDN節(jié)點(diǎn)的SGXenclave里面(圖中KSC中的KS)。Phase2階段KSC與Intel®QAT協(xié)商建立安全通道保護(hù)私鑰的會(huì)話密鑰,并將私鑰加密導(dǎo)出到CDN在服務(wù)器硬盤上。Phase三階段,相應(yīng)的Webservice啟動(dòng)后,將硬盤中加密的私鑰直接輸入內(nèi)存。在SSL在鏈建設(shè)階段,所有需要私鑰的操作都伴隨著內(nèi)存中加密的私鑰卸載到Intel®QAT加速器中,QAT解密和相應(yīng)成私鑰的解密和相應(yīng)操作,并將結(jié)果返回到上層Webservice以完成SSL握手。
整個(gè)過程中CDN私鑰的內(nèi)容是看不見的。當(dāng)涉嫌安全漏洞被發(fā)現(xiàn)時(shí),該計(jì)劃還包括撤銷機(jī)制CDN節(jié)點(diǎn)時(shí),KDC可撤銷相應(yīng)的SGXenclave,確保私鑰及時(shí)銷毀,不再部署密鑰。利用Intel®QAT公鑰算法具有良好的加速性能[5]CDN節(jié)點(diǎn)的SSL建鏈能力提高了好幾倍,不需要每次都去KDC請求私鑰服務(wù),消除KeylessSSL網(wǎng)絡(luò)中密鑰中心的瓶頸也增加了鏈接響應(yīng)時(shí)間。
▌總結(jié)
該方案是Intel®安全技術(shù)與加速技術(shù)的典型結(jié)合是CDN網(wǎng)絡(luò)提供安全保障,同時(shí)大幅提高HTTPS處理性能。在Intel®QAT下一代的產(chǎn)品中引入了KPT(KeyProtectionTechnology)技術(shù),進(jìn)一步提供了更加完善和便捷的密鑰保護(hù)和加速方案,將在后續(xù)文章中詳細(xì)介紹。
騰佑科技idc提供CDN、SSL協(xié)議服務(wù),詳查在線客服!
騰佑科技(www.mubashirfilms.com)成立于2009年,總部位于河南鄭州,是一家集互聯(lián)網(wǎng)基礎(chǔ)設(shè)施及軟硬件于一體化的高新技術(shù)企業(yè),具有IDC/ISP/ICP/云牌照、雙軟等資質(zhì),并擁有多個(gè)國家版權(quán)局認(rèn)證。公司自成立以來,一直致力于發(fā)展互聯(lián)網(wǎng)IDC數(shù)據(jù)中心DataCenter、云計(jì)算Cloud、大數(shù)據(jù)BigDate、人工智能AI、內(nèi)容加速CDN、互聯(lián)網(wǎng)安全、軟件定制開發(fā)等產(chǎn)品服務(wù)及行業(yè)客戶技術(shù)一體化智能解決方案;2018年成為百度智能云AI河南服務(wù)中心。
售前咨詢熱線:400-996-8756
備案提交:0371-89913068
售后客服:0371-89913000
搜索詞
熱門產(chǎn)品推薦