《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 云計算身份認(rèn)證模型研究
云計算身份認(rèn)證模型研究
2015年電子技術(shù)應(yīng)用第2期
王 群1,2,,李馥娟1,,錢煥延2
1.江蘇警官學(xué)院 計算機信息與網(wǎng)絡(luò)安全系,江蘇 南京210031,; 2.南京理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京210094
摘要: 云計算是在繼承和融合眾多技術(shù)基礎(chǔ)上的一個突破性創(chuàng)新,,已成為當(dāng)前應(yīng)用和研究的重點與熱點,。其中,云用戶與云服務(wù)之間以及云平臺中不同系統(tǒng)之間的身份認(rèn)證與資源授權(quán)是確保云計算安全性的前提,。在簡要介紹云計算信息基礎(chǔ)架構(gòu)的基礎(chǔ)上,,針對云計算統(tǒng)一身份認(rèn)證的特點和要求,綜合分析了SAML2.0,、OAuth2.0和OpenID2.0等技術(shù)規(guī)范的功能特點,,提出了一種開放標(biāo)準(zhǔn)的云計算身份認(rèn)證模型,為云計算中邏輯安全域的形成與管理提供了參考,。
中圖分類號: TP393
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)02-0135-04
An identity authentication model for cloud computing
Wang Qun1,,2,Li Fujuan1,,Qian Huanyan2
1.Department of Computer Information and Cyber Security,,Jiangsu Police Institute,Nanjing 210031,,China,; 2.School of Computer Science and Technology,Nanjing University of Science and Technology,,Nanjing 210094,,China
Abstract: Cloud computing is a groundbreaking applications on the basis of a number of technologies, which has become the focus of the current application and research. Among them, the authentication and authorization between cloud users and cloud services, and between different systems of cloud computing platform are a precondition for ensuring security of cloud computing. This paper briefly introduces information infrastructure on the basis of authentication and authorization for cloud computing, comprehensive analysis of the SAML2.0, OAuth2.0 and OpenID2.0 technical specifications and other features. On this basis, this paper presents an identity authentication model of cloud computing with open standard. This model provides a reference for the formation and management of cloud computing logical security domain.
Key words : cloud computing;authentication,;authorization,;single sign on(SSO);security domain

  

0 引言

  任何一個授權(quán)系統(tǒng)至少需要同時解決認(rèn)證和授權(quán)兩方面的問題,,認(rèn)證決定用戶是否具有對某一系統(tǒng)或資源的訪問權(quán)限,,而授權(quán)則決定用戶能夠訪問特定系統(tǒng)或資源的具體內(nèi)容。由于云計算服務(wù)構(gòu)建在具有極高擴展能力的信息基礎(chǔ)架構(gòu)上,,而且服務(wù)通過動態(tài),、靈活的可配置資源按需提供,所以身份認(rèn)證和授權(quán)訪問在云計算中將顯得更為重要,。本文在分析云計算信息基礎(chǔ)架構(gòu)的基礎(chǔ)上,,立足當(dāng)前技術(shù)現(xiàn)狀和應(yīng)用實踐,,綜合傳統(tǒng)網(wǎng)絡(luò)中的SAML2.0、OAuth2.0和OpenID2.0等技術(shù),、標(biāo)準(zhǔn)與規(guī)范,,提出了一種開放標(biāo)準(zhǔn)的云計算身份認(rèn)證模型,為云計算中信息資源的整合提供了一種組織管理架構(gòu),。

1 云計算環(huán)境中的身份認(rèn)證特點

  云計算[1-2]是基于分布式計算,、網(wǎng)格計算和虛擬化等技術(shù),在信息基礎(chǔ)設(shè)施和網(wǎng)絡(luò)應(yīng)用共同發(fā)展到一定階段時出現(xiàn)的一種新型信息服務(wù)方式,,它使效用計算逐步變成了現(xiàn)實,。與其他相關(guān)的主要技術(shù)相比,云計算中的認(rèn)證和授權(quán)具有以下特點:(1)用戶管理采用集中式或委托第三方負(fù)責(zé),;(2)資源管理采用集中式和分布式相結(jié)合的模式,,當(dāng)采用分布式管理模式時,系統(tǒng)之間一般采用內(nèi)部高速網(wǎng)絡(luò),、高性能專網(wǎng)或虛擬專用網(wǎng)(Virtual Private Network,,VPN)安全通道等方式互聯(lián);(3)加強對用戶隱私的保護(hù),,實現(xiàn)對身份信息的安全管理,;(4)計算任務(wù)調(diào)度采用集中式或分布式;(5)云計算中為每個用戶按需提供資源,,資源分布既分散又集中,;(6)通過虛擬化技術(shù)屏蔽掉了不同操作系統(tǒng)之間的異構(gòu)性。

  云計算統(tǒng)一身份認(rèn)證又稱為聯(lián)邦身份認(rèn)證(Federal Identity),,它是一個端到端、可擴展及前瞻性的實現(xiàn)身份驗證與資源配置的信息基礎(chǔ)設(shè)施,,是解決組織內(nèi)部以及組織之間身份認(rèn)證互信的基礎(chǔ),。云計算統(tǒng)一身份認(rèn)證是一個完整的、電信級的基于邏輯安全域的身份驗證解決方案,,在同一邏輯安全域中終端之間的信息交換不限使用哪一種協(xié)議,,云計算統(tǒng)一身份認(rèn)證系統(tǒng)可分為身份提供者(Identity Provider,IdP)和服務(wù)提供者(Service Provider,,SP)兩部分來部署,,如面1所示。其中,,IdP負(fù)責(zé)對云終端創(chuàng)建身份,、進(jìn)行屬性過濾、管理認(rèn)證憑證和維護(hù)當(dāng)前會話,,SP實現(xiàn)與IdP之間的屬性映射,、身份關(guān)聯(lián)與屬性傳遞,。

001.jpg

  云計算統(tǒng)一身份認(rèn)證主要涉及認(rèn)證(authentication)、授權(quán)(authorization)和單點登錄(Single Sign On,,SSO)3個方面,。其中,認(rèn)證用于判定“訪問者是誰”,,授權(quán)用于決定“訪問者能做什么”,,而SSO實現(xiàn)了用戶在一個邏輯安全區(qū)域內(nèi)的一次登錄、多次訪問能力,,即用戶只要正常登錄了邏輯安全域中的某一應(yīng)用系統(tǒng),,就可以自由訪問該域中其他應(yīng)用系統(tǒng)中的授權(quán)資源,SSO同時包含著認(rèn)證和授權(quán)兩個過程,。

2 云計算中的身份認(rèn)證技術(shù)

  2.1 基于SAML2.0的身份認(rèn)證

  SAML(Security Assertion Markup Language,,安全斷言標(biāo)記語言)[3-4]是身份認(rèn)證領(lǐng)域出現(xiàn)較早的基于XML語言的信息架構(gòu),其主要功能是實現(xiàn)邏輯安全域中IdP與SP之間的認(rèn)證和授權(quán)信息傳輸以及斷言形式表達(dá),。SAML提供了基于Web方式的SSO解決方案,,是云計算尤其是私有云服務(wù)中整合不同應(yīng)用系統(tǒng)的首選方案。

  SAML規(guī)范定義了基于XML的4種組件[4]:斷言(assertion),、協(xié)議(protocol),、綁定(binding)和配置(profile)。其中,,SAML斷言分為認(rèn)證,、屬性和授權(quán)3種類型,認(rèn)證斷言確認(rèn)用戶的身份,,屬性斷言包含用戶的特定信息,,授權(quán)斷言確認(rèn)用戶獲得授權(quán)。協(xié)議定義了SAML如何請求和接收斷言,,主要涉及請求(request)和響應(yīng)(respond)兩種信息類型,。綁定定義了如何將SAML請求和響應(yīng)信息映射到標(biāo)準(zhǔn)的報文和協(xié)議上,。簡單對象訪問協(xié)議(SOAP)是SAML中一個重要的綁定,另外SAML可以與HTTP、SMTP,、FTP等主要協(xié)議實現(xiàn)綁定,。如圖2所示,,SAML斷言可以直接嵌入SOAP信息頭部,,SOAP再嵌入到標(biāo)準(zhǔn)的HTTP報文后進(jìn)行傳輸。配置是對已定義的特定應(yīng)用實例的具體表現(xiàn),,它由斷言,、協(xié)議和綁定組合而成。

002.jpg

  SAML規(guī)范中定義了3種不同的角色(role):用戶代理(通常為Web瀏覽器),、身份提供者(IdP)和服務(wù)提供者(SP),。用戶代理訪問SP,,當(dāng)SP接收到該訪問請求后便向IdP發(fā)送身份認(rèn)證請求。此時IdP將要求該用戶提供類似于用戶名,、密碼等能夠證明其身份的信息,,并以此作為其合法性的斷言。當(dāng)SP從IdP獲取該身份斷言后,,便可以決定是否為該用戶提供服務(wù),。在此過程中,因為一個IdP可以同時為多個SP提供SAML斷言,,在IdP緩存機制的支持下,,實現(xiàn)了用戶在邏輯安全域中的SSO。

  SAML使用SSL/TLS實現(xiàn)點到點的安全性,,使用安全令牌來避免重放攻擊,。僅從協(xié)議角度來看,SAML的工作原理類似于CAS和Kerberos,,CAS協(xié)議依賴于CAS Server,,Kerberos依賴于KDC,而SAML則依賴于IdP,。

       2.2 基于OAuth2.0的授權(quán)管理

  OAuth(Open Authorization,,開放授權(quán))[5]是一個開放標(biāo)準(zhǔn)的聯(lián)合協(xié)議,旨在幫助用戶將受保護(hù)的資源授權(quán)給第三方使用,,且支持細(xì)粒度的權(quán)限控制,。在授權(quán)過程中,OAuth不需要將用戶名和密碼以及其他認(rèn)證憑證提供給第三方,,增強了授權(quán)過程的安全性,。OAuth標(biāo)準(zhǔn)主要針對個人用戶對資源的開放授權(quán),也在組織內(nèi)部私有云服務(wù)網(wǎng)絡(luò)中發(fā)揮了其功能優(yōu)勢,,可以與OpenID,、SAML等認(rèn)證技術(shù)配合實現(xiàn)開放標(biāo)準(zhǔn)的基于SSO的授權(quán)服務(wù)。

  OAuth2.0定義了4種不同的角色:RO(Resource Owner,,資源擁有者)、RS(Resource Server,,資源服務(wù)器),、Client(客戶端)和AS (Authorization Server,授權(quán)服務(wù)器),。其中,,RO是指能夠?qū)κ鼙Wo(hù)資源進(jìn)行授權(quán)的實體,一般是指一個具體的進(jìn)行授權(quán)操作的人或系統(tǒng)進(jìn)程,。根據(jù)授權(quán)管理需要,,授權(quán)操作既可以通過“在線授權(quán)”方式手動執(zhí)行,,也可以通過系統(tǒng)默認(rèn)設(shè)置自動進(jìn)行“離線授權(quán)”。RS用于存放受保護(hù)資源,,并處理對資源的訪問請求,。Client指第三方應(yīng)用(這里的Client作為“客戶端”理解時是針對RS而言的),它在獲得RO的授權(quán)許可后便可以去訪問由RO管理的在RS上的資源,。Client可能是一個Web站點,、一段JavaScript代碼或安裝在本地的一個應(yīng)用程序。不同的Client類型可使用不同的授權(quán)類型進(jìn)行授權(quán),,如授權(quán)碼許可(Authorization Code Grant)授權(quán),、Client憑證許可(Client Credentials Grant)授權(quán)等。AS用于對RO的身份進(jìn)行驗證和資源授權(quán)管理,,并頒發(fā)訪問令牌(Access Token),。在具體應(yīng)用中,AS和RS一般由同一個服務(wù)器來提供服務(wù),。如圖3所示,,OAuth2.0協(xié)議的基本工作流程如下:

003.jpg

  (1)Client向RO發(fā)送“授權(quán)請求”(authorization request),請求報文中一般包含要訪問的資源路徑,、操作類型,、Client的身份等信息。

  (2)RO同意Client的授權(quán)請求,,并將“授權(quán)許可”(Authorization Grant)發(fā)送給Client,。一般情況下,在AS上會提供權(quán)限分配操作界面,,讓RO進(jìn)行細(xì)粒度的在線授權(quán),,或由系統(tǒng)自動完成離線授權(quán)操作。

  (3)Client向AS請求“訪問令牌”(Access Token),。此時,,AS需要驗證Client提交給自己的“授權(quán)許可”,并要求Client提供用于驗證其身份的信息(多為用戶名和密碼),。

  (4)AS在通過對Client的身份驗證后,,便向它返回一個“訪問令牌”,只有持有訪問令牌的Client才能訪問資源,。

  (5)Client向RS提交“訪問令牌”,。

  (6)RS驗證“訪問令牌”的有效性,具體由令牌的頒發(fā)機構(gòu),、令牌頒發(fā)日期,、時間戳等屬性決定。當(dāng)驗證通過后,才允許Client訪問受保護(hù)的資源,。其中,,在令牌的有效期內(nèi),Client可以多次攜帶同一個“訪問令牌”去訪問受保護(hù)的資源,。

  在OAuth協(xié)議的整個授權(quán)過程中沒有直接用到第三方(Client)的私有信息,,而是使用“訪問令牌”和數(shù)字簽名方式,提高了協(xié)議的安全性,。同時,,任何第三方都可以使用OAuth AS,任何服務(wù)提供者都可以組建自己的OAuth授權(quán)服務(wù)系統(tǒng),,所以O(shè)Auth是一個開放的標(biāo)準(zhǔn),。目前,OAuth2.0已經(jīng)成為開放平臺認(rèn)證授權(quán)的事實上的標(biāo)準(zhǔn),。

  2.3 基于OpenID的身份認(rèn)證

  OpenID[6]技術(shù)的出現(xiàn)適應(yīng)了互聯(lián)網(wǎng)中分布式應(yīng)用與分散式控制的認(rèn)證特點,,由于它的開放、分散,、自由以及以用戶為中心的特征,,成為云計算中重要的數(shù)字身份認(rèn)證基本架構(gòu)。正如OpenID在其官方網(wǎng)站的介紹:OpenID以免費,、簡捷方式實現(xiàn)在Internet中單一數(shù)字身份認(rèn)證,,通過OpenID服務(wù),用戶可以登錄所有喜歡的Web站點,。在云計算中,,用戶需要以SSO方式同時登錄多個應(yīng)用系統(tǒng),實現(xiàn)以統(tǒng)一身份認(rèn)證為核心的開放應(yīng)用,,無論是公有云還是私有云環(huán)境,,OpenID都發(fā)揮了其功能優(yōu)勢。

  與SAML不同的是,,OpenID是一個以Internet框架為基礎(chǔ)的數(shù)字身份認(rèn)證規(guī)范,,在Internet空間中,以URI(Uuniform Resource Identifier,,統(tǒng)一資源標(biāo)識符)來命名,、定位和標(biāo)識信息資源,OpenID采用了類似的方式,,也以URI來標(biāo)識用戶身份的唯一性,,而放棄了目前大部分系統(tǒng)基于用戶名和密碼驗證的身份認(rèn)證方式,逐步實現(xiàn)用戶身份標(biāo)識與信息空間中資源標(biāo)識的統(tǒng)一,。在OpenID認(rèn)證過程中,請求/應(yīng)答信息通過https協(xié)議在公共網(wǎng)絡(luò)中傳輸,OpenID認(rèn)證服務(wù)器成為整個認(rèn)證的中心,,可以采取冗余方式提供服務(wù)保障,,用戶身份信息全部集中在OpenID認(rèn)證服務(wù)器上,避免了分散存儲帶來的不安全因素,。

  OpenID主要由標(biāo)識符(identifier),、依賴方(relying party,RP)和OpenID提供者(OpenID Provider,,OP)組成,。其中,標(biāo)識符為http/https形式的URI(目前在互聯(lián)網(wǎng)中多使用URL)或XRI(eXtensible Resource Identifier,,可擴展的資源標(biāo)識符)[7-8],,XRI是一套與URI兼容的抽象標(biāo)識符體系;RP是需要對訪問者的身份進(jìn)行驗證的Web系統(tǒng)或受保護(hù)的在線資源,,依賴OP的身份認(rèn)證服務(wù),;OP即OpenID認(rèn)證服務(wù)器,在為用戶提供和管理標(biāo)識符的同時,,還為用戶提供在線身份認(rèn)證服務(wù),,是整個OpenID系統(tǒng)的核心。

  在采用OpenID的網(wǎng)絡(luò)中,,用戶首先需要向OP申請一個標(biāo)識符,,之后當(dāng)訪問受OpenID保護(hù)的RP時,RP會將該訪問重定向到OP,。OP通過標(biāo)識符對訪問者的身份進(jìn)行驗證,,無誤后將用戶訪問返回到RP(同時,OP也將驗證結(jié)果告知RP),。

3 云計算身份認(rèn)證模型

  根據(jù)當(dāng)前云計算的技術(shù)和應(yīng)用現(xiàn)狀,,結(jié)合具體實踐項目,提出了融合SAML2.0,、OAuth2.0和OpenID2.0接入標(biāo)準(zhǔn)和開放接口的云計算身份認(rèn)證模型,,如圖4所示。該模型的建立,,在為當(dāng)前云計算統(tǒng)一身份認(rèn)證提供基本服務(wù)架構(gòu)的基礎(chǔ)上,,也為將來實現(xiàn)不同安全域(不同組織的資源系統(tǒng))之間的資源和管理整合提供了強有力的支持和適應(yīng)能力。例如,,當(dāng)不同的安全域之間需要進(jìn)行整合從而形成更大范圍的邏輯安全域時,,原來的安全域只需要通過各自的身份認(rèn)證平臺進(jìn)行基于身份互信的訪問,各安全域中原來的認(rèn)證方式還可以繼續(xù)使用,。

004.jpg

  在圖4所示的模型中,,OAuth是整個資源的授權(quán)管理中心,,無論是單個“安全域”中的私有云服務(wù),還是基于整個邏輯安全域的公有云環(huán)境,,OAuth都能夠滿足授權(quán)管理需要,。本模型中同時提供了可供選擇的SAML和OpenID兩種身份認(rèn)證方式,其主要原因有兩點:(1)考慮到SAML應(yīng)用的廣泛性和用戶的認(rèn)可度,,尤其在通過私有云整合原有資源時,,SAML發(fā)揮了其優(yōu)勢。同時,,SAML也可以為OAuth授權(quán)信息的交換與傳輸提供安全保護(hù),。(2)考慮到用戶對資源標(biāo)識方式的習(xí)慣和接受過程,Open-

  ID使用URI和XRI作為標(biāo)識符,,順應(yīng)了Internet信息空間中對資源的定位和標(biāo)識要求,,但考慮到云計算還處于起步階段,還需要考慮用戶和資源建設(shè)與管理者的已有習(xí)慣,,改變是必須的,,但需要一個過程。

  圖4所示的云計算統(tǒng)一身份認(rèn)證模型是一個開放的標(biāo)準(zhǔn),,其主要功能是將云資源服務(wù)以安全便捷的方式提供給眾多的用戶,,并通過開放的接入標(biāo)準(zhǔn)將更多的資源和用戶加入其中,不斷擴大邏輯安全域的范圍,,真正將云計算提出的SaaS,、PaaS和IaaS理念變成現(xiàn)實。該模型兼容早期主流的SSO方式,,可對原有系統(tǒng)進(jìn)行平穩(wěn)升級,,在最大限度地保護(hù)用戶原有投資和體驗的同時,擴大了可共享資源的類型,、數(shù)量和范圍,。該模型具有的開放性實現(xiàn)了更多“安全域”的無縫加入,具體體現(xiàn)在具體操作和技術(shù)細(xì)節(jié)兩個方面,。其中,,具體操作規(guī)定了IdP和SP加入邏輯安全域時需要滿足的條件,如怎樣建立信任關(guān)系,、約定身份信息和服務(wù)信息的共享規(guī)則,、規(guī)定互相之間彼此信任和保密等;技術(shù)細(xì)節(jié)主要規(guī)定了IdP和SP加入邏輯安全域時需要滿足的技術(shù)條件以及如何執(zhí)行接入工作的技術(shù)細(xì)節(jié),,如必備的標(biāo)準(zhǔn)類庫及二次開發(fā)接口等,。

  通過采用本文提出的模型,在不影響用戶對現(xiàn)有基于OpenSSO的統(tǒng)一身份認(rèn)證系統(tǒng)正常使用的同時,,減少了應(yīng)用開發(fā)的工作量,,并實現(xiàn)了原認(rèn)證系統(tǒng)與新建平臺的有機對接,,而且保留了原有的Agent、反向代理(Reverse Proxy),、API接入等應(yīng)用模式,。基于3種協(xié)議規(guī)范的認(rèn)證和授權(quán),,使得在邏輯安全域中本單位的“安全域”可同時提供IdP和SP雙重服務(wù)功能。

4 結(jié)論

  統(tǒng)一身份認(rèn)證與云計算的融合,,使得統(tǒng)一身份認(rèn)證技術(shù)成為云計算的助推器和催化劑,,同時統(tǒng)一身份認(rèn)證技術(shù)也在云計算中找到了新的位置和發(fā)展方向。本文在繼承和發(fā)展身份認(rèn)證與資源授權(quán)領(lǐng)域已有技術(shù),、標(biāo)準(zhǔn)和規(guī)范的同時,,針對云計算安全管理,并聯(lián)系云計算項目研究實際,,提出了云計算統(tǒng)一身份模型,,具有較好的應(yīng)用價值和一定的借鑒意義。從總體來看,,云計算尚處于快速發(fā)展階段,,云計算中與系統(tǒng)安全與用戶管理相關(guān)的大量關(guān)鍵問題還需要深入研究。

參考文獻(xiàn)

  [1] 羅軍舟,,金嘉暉,,宋愛波,等.云計算:體系架構(gòu)與關(guān)鍵技術(shù)[J].通信學(xué)報,,2011,,32(7):3-31.

  [2] 林闖,蘇文博,,孟坤,,等.云計算安全:架構(gòu)、機制與模型評價[J].計算機學(xué)報,,2013,,36(9):1765-1784.

  [3] OASIS.Security Assertion Markup Language(SAML) V2.0 echnical overview(committee draft 02)[EB/OL].(2008-03-25)[2014-09-24].https://www.oasis-open.org/committees/download.php/27819/sstc-saml-tech-overview-2.0-cd-02.pdf.

  [4] OASIS.Security Assertion Markup Language(SAML) v2.0(OASIS standard set)[EB/OL].(2005-03-15)[2014-09-24].http://docs.oasis-open.org/security/saml/v2.0/saml-2.0-os.zip.

  [5] Internet Engineering Task Force(IETF).The OAuth 2.0 authorization framework(RFC 6749)[EB/OL].(2012-10)[2014-09].http://www.rfc-editor.org/rfc/pdfrfc/rfc6749.txt.pdf.

  [6] OpenID authentication 2.0-final[EB/OL].(2007-12-05)[2014-09-24].http://openid.net/specs/openid-authentica-tion-2_0.html.

  [7] OASIS.Extensible Resource Identifier(XRI) resolution ver-sion 2.0(committee draft 02)[EB/OL].(2007-10-25)[2014-09-24].http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.pdf.

  [8] Joaquin Miller.Yadis specification 1.0[EB/OL].(2006-03-18)[2014-09-24].http://yadis.org/papers/yadis-v1.0.pdf.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。