開源大數(shù)據(jù)衛(wèi)士Kerberos面臨挑戰(zhàn) 英特爾HAS系統(tǒng)架構提升安全性
在古希臘神話中,Kerberos是住在冥河岸邊的三頭犬,負責看守冥界的入口。而在信息技術界,Kerberos是一種被廣泛采用的網絡認證協(xié)議,通過對稱加密的技術,保護網絡系統(tǒng)的安全。特別是在Hadoop開源大數(shù)據(jù)平臺,Kerberos是唯一內置支持的安全的用戶認證方式。它可以獨立于各服務組件,保證只有通過身份認證的節(jié)點才可以訪問對應的服務,進而維護開源大數(shù)據(jù)的系統(tǒng)安全。
作為開源大數(shù)據(jù)衛(wèi)士的Kerberos,其安全性可靠性毋庸置疑,但是在運營維護和部署成本等方面,卻會為規(guī)模較大的企業(yè)用戶帶來一筆不小的負擔。通常,企業(yè)在接入Kerberos之前,已經在多個場景下配置了對應的身份認證系統(tǒng)。而Hadoop開源大數(shù)據(jù)平臺所使用的Kerberos,并不能支持除Kerberos內置的用戶名密碼認證以外的其它認證機制,無法和企業(yè)已經部署的用戶認證方式進行無縫對接。更讓人煩惱的是,Java也沒有一個完整的Kerberos庫,很難對它進行更改。因此,要把已有的身份認證系統(tǒng)接入Kerberos的認證流程中,其開發(fā)難度和工作量都將會是非常龐大的。
Kerberos 在現(xiàn)實中遇到的問題
Kerberos的這些問題,對騰訊AI Lab這樣的企業(yè)級用戶,造成了不小的困擾:騰訊AI Lab此前的大數(shù)據(jù)集群并沒有啟用身份認證,無法實現(xiàn)用戶存儲隔離,任意用戶都可通過更改客戶端的配置,偽造成超級用戶訪問所有內容。所以,必須把分散在不同服務上的認證方式都合并在一起,基于已有的大數(shù)據(jù)集群進行身份認證的二次開發(fā)。這要求開發(fā)者保證現(xiàn)有的服務不受影響,讓用戶可以沿用過去熟悉的認證方式,不能做太多的更改。同時,還不能用把所有用戶賬號信息都同步到新數(shù)據(jù)庫的方式,因為這會增加大量的部署和運維成本。
為了幫助騰訊AI Lab應對這些挑戰(zhàn),在安全認證領域積累了豐富經驗的英特爾大數(shù)據(jù)部門,基于英特爾?的數(shù)據(jù)中心平臺,英特爾開發(fā)了可插拔的身份認證框架Hadoop Authentication Service (HAS)。它可以與現(xiàn)有的認證和授權體系對接,無需在已有的用戶賬號系統(tǒng)和Kerberos數(shù)據(jù)庫之間遷移和同步用戶賬號信息,也不影響現(xiàn)有服務的連續(xù)性。同時,這種架構不需要獨立維護自己的身份信息,減少了中間環(huán)節(jié),大大降低了企業(yè)身份信息管理的復雜性和風險。
HAS系統(tǒng)架構示意圖
與傳統(tǒng)的Kerberos不同,HAS在功能上包括了一個Token Authority和一個Apache Kerby 提供的Kerby KDC。Token Authority將其他已有認證系統(tǒng)的信息轉換成HAS Token,再使用HAS Token向Kerby KDC換取Kerberos Ticket。拿到Kerberos Ticket后,就可以通過標準的Kerberos協(xié)議流程訪問Hadoop集群的服務。
基于這樣的技術手段,用戶可以繼續(xù)使用原先的Kerberos認證機制,也可以繼續(xù)使用以前熟悉的認證方式登錄。所有分散的服務都統(tǒng)一在一套認證系統(tǒng)中,無需再分別重新設置。與此同時,因為避免了用戶賬戶信息的拷貝和同步,HAS降低了運營維護的復雜度和成本,和信息泄露的風險。
HAS不僅可以作為在Hadoop集群上通用集成的用戶認證解決方案,更可以定制成插件與企業(yè)特有認證系統(tǒng)結合。針對騰訊AI Lab的需求,英特爾還定制了MySQL插件。當用戶選擇使用MySQL插件認證方式后,只需要在自己的環(huán)境中配置好賬號信息,客戶端就會自動完成用戶身份認證。此外,英特爾還實現(xiàn)了自動化部署工具,一鍵部署Keytab與SSL證書,極大簡化了部署與優(yōu)化工作。
HAS能夠幫助各種不同的云計算、大數(shù)據(jù)相關的行業(yè)用戶,更便捷地以低成本部署身份認證系統(tǒng)。對英特爾的工程師而言:技術是為了服務用戶,而不是為了展現(xiàn)自己的技術能力。開發(fā)HAS的初衷,就是為了方便用戶的使用,將復雜的問題變得簡單。
HAS還在不斷地完善中,借助Intel? SGX技術,英特爾未來會進一步提高HAS的安全性。在Intel的下一代Xeon SP處理器上,將有機會運用SGX技術來隔離處理和存儲HAS認證過程中產生和使用的敏感數(shù)據(jù),讓身份認證更加安全。