紀(jì)健全 姚英英 常曉林
摘? ?要:隨著制造業(yè)與互聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算技術(shù)的融合,工業(yè)互聯(lián)網(wǎng)平臺(tái)正快速發(fā)展。平臺(tái)中新軟件程序不斷涌現(xiàn),以滿足工業(yè)應(yīng)用場(chǎng)景的多樣化需求,這導(dǎo)致用戶的身份認(rèn)證問題愈發(fā)嚴(yán)峻。為避免對(duì)用戶身份的重復(fù)鑒別,實(shí)現(xiàn)在確保云中資源數(shù)據(jù)安全性的前提下,提升用戶體驗(yàn)的目標(biāo)。文章提出了一種基于OpenID Connect的工業(yè)互聯(lián)網(wǎng)平臺(tái)認(rèn)證與授權(quán)方案。該方案采用基于名單的過濾方法,在認(rèn)證請(qǐng)求之前對(duì)第三方客戶端和用戶進(jìn)行信任篩查,攔截可疑請(qǐng)求;其次對(duì)OIDC認(rèn)證與授權(quán)協(xié)議進(jìn)行優(yōu)化,通過在OIDC協(xié)議上構(gòu)建SSL安全通信信道,確保在實(shí)現(xiàn)身份認(rèn)證與授權(quán)功能的同時(shí),保證數(shù)據(jù)傳輸?shù)陌踩浴7桨笍纳矸菡J(rèn)證與數(shù)據(jù)傳輸兩方面,對(duì)工業(yè)互聯(lián)網(wǎng)平臺(tái)進(jìn)行安全防護(hù),最終達(dá)到提升平臺(tái)安全性的目的。
關(guān)鍵詞:工業(yè)互聯(lián)網(wǎng)平臺(tái);身份認(rèn)證;授權(quán);OpenID Connect;數(shù)字證書
中圖分類號(hào): TP309? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: With the integration of manufacturing industry with internet, big data and cloud computing technology, industrial internet platform is developing rapidly. In order to satisfy the requirements of diversified industrial application scenarios, a large number of software programs have been developed in the platform. As a result, the issue of user identity authentication becomes even more complex and critical. In order to avoid the repeated identification of user identity and realize the goal of improving user experience on the premise of ensuring the security of resource data in the cloud, this paper pro-poses an industrial internet platform authentication and authorization scheme based on OpenID Connect. The scheme adopts the list-based filtering method to screen the trust of third-party clients and users before the authentication re-quest, and intercept the suspicious request. Secondly, the scheme optimizes the OIDC certification and authorization pro-tocol. By constructing SSL security communication channel on OIDC protocol, it ensures the security of data transmission while realizing the functions of identity authentication and authorization. This scheme protects the industrial internet platform from two aspects of identity authentication and data transmission, and finally improves the security of the plat-form.
Key words: industrial internet platform; identity authentication; authorization; OpenID Connect; digital certificate
1 引言
隨著工業(yè)互聯(lián)網(wǎng)[1]的快速發(fā)展,通過融合云計(jì)算[2]而構(gòu)建的工業(yè)互聯(lián)網(wǎng)平臺(tái),打破了傳統(tǒng)工業(yè)的封閉環(huán)境,實(shí)現(xiàn)物理設(shè)備、供應(yīng)商和客戶的緊密連接,使工業(yè)系統(tǒng)愈發(fā)趨向于智能化、數(shù)字化和網(wǎng)絡(luò)化[3]。與此同時(shí),依托于工業(yè)互聯(lián)網(wǎng)平臺(tái)的百億級(jí)物理設(shè)備在網(wǎng)絡(luò)中相互連接,大量的信息資源被部署在云端,為支撐工業(yè)互聯(lián)網(wǎng)平臺(tái)智能化的應(yīng)用,保證業(yè)務(wù)的平穩(wěn)運(yùn)行,工業(yè)APP、小程序被不斷開發(fā)與創(chuàng)新,滿足不同工業(yè)應(yīng)用場(chǎng)景的特定需求,實(shí)現(xiàn)了人與工業(yè)互聯(lián)網(wǎng)平臺(tái)的通信交互。
然而,這也意味著構(gòu)建安全高效的身份認(rèn)證機(jī)制,成為確保平臺(tái)中資源數(shù)據(jù)安全的必要前提。構(gòu)建于云環(huán)境下的工業(yè)互聯(lián)網(wǎng)平臺(tái),受虛擬化、分布式等特點(diǎn)影響,各個(gè)云服務(wù)器提供商屬于不同信任域,因此針對(duì)用戶的跨域認(rèn)證是實(shí)現(xiàn)多域系統(tǒng)間安全訪問的關(guān)鍵。與此同時(shí),云服務(wù)請(qǐng)求中,使用第三方應(yīng)用賬戶登錄已經(jīng)成為標(biāo)配,尤其是平臺(tái)中涉及生產(chǎn)、管理、服務(wù)的網(wǎng)站或APP,使用第三方授權(quán)登錄避免了傳統(tǒng)服務(wù)中繁瑣的注冊(cè)過程,減少因身份憑證遺忘和濫用所導(dǎo)致的安全問題,提升了用戶體驗(yàn)[4]。
因此,本文提出了一種基于OpenID Connect的工業(yè)互聯(lián)網(wǎng)平臺(tái)身份認(rèn)證與授權(quán)方案。首先通過名單過濾機(jī)制對(duì)認(rèn)證請(qǐng)求進(jìn)行前期限制,防止惡意軟件程序?qū)ζ脚_(tái)資源的非法竊取;之后利用OpenID Connect(以下簡(jiǎn)稱OIDC)協(xié)議實(shí)現(xiàn)為第三方客戶端提供用戶身份認(rèn)證,并解決授權(quán)第三方應(yīng)用訪問平臺(tái)中資源數(shù)據(jù)的問題;與此同時(shí),構(gòu)建SSL加密信道來提升OIDC協(xié)議通信的安全性。
2 相關(guān)身份認(rèn)證與授權(quán)協(xié)議
目前,隨著工業(yè)互聯(lián)網(wǎng)的快速發(fā)展,位于平臺(tái)工業(yè)SaaS層中的應(yīng)用系統(tǒng)逐漸增加,為確保服務(wù)提供商能夠?yàn)橛脩粜畔?shù)據(jù)提供安全防護(hù),同時(shí)避免重復(fù)的身份鑒別功能,統(tǒng)一身份認(rèn)證與授權(quán)方式正被廣泛應(yīng)用,通過這種方式,應(yīng)用系統(tǒng)可保證云服務(wù)的安全與便捷。本節(jié)將根據(jù)統(tǒng)一身份認(rèn)證的特點(diǎn),介紹當(dāng)前應(yīng)用于互聯(lián)網(wǎng)中的主流身份認(rèn)證與授權(quán)協(xié)議[5]:OAuth2.0和SAML。
(1)OAuth2.0
OAuth(Open Authorization,開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),它允許用戶通過第三方應(yīng)用來訪問該用戶在網(wǎng)站中的存儲(chǔ)數(shù)據(jù),而無需給第三方應(yīng)用平臺(tái)提供用戶名和密碼[6]。OAuth2.0則是OAuth協(xié)議的擴(kuò)展版本,圖1為目前應(yīng)用最廣泛的OAuth2.0協(xié)議授權(quán)碼模式,其具體流程為:
1)用戶請(qǐng)求訪問客戶端時(shí),客戶端會(huì)重定向到認(rèn)證服務(wù)器;
2)認(rèn)證服務(wù)器返回界面,詢問用戶是否同意給予客戶端授權(quán);
3)若用戶同意授權(quán),認(rèn)證服務(wù)器會(huì)將用戶重定向到客戶端事先指定的位置,并附上授權(quán)碼;
4)客戶端收到授權(quán)碼后,會(huì)通過授權(quán)碼向認(rèn)證服務(wù)器申請(qǐng)?jiān)L問令牌;
5)認(rèn)證服務(wù)器經(jīng)確認(rèn)無誤后,向客戶端發(fā)送訪問令牌;
6)客戶端使用訪問令牌請(qǐng)求訪問用戶資源。
從上述授權(quán)流程可知,OAuth2.0協(xié)議在身份認(rèn)證方面存在一定的不足[7]。因此,為完善這一功能,OIDC協(xié)議被提出。其在OAuth2.0基礎(chǔ)上構(gòu)建了一個(gè)身份層,從而達(dá)到認(rèn)證功能目的,對(duì)于OIDC協(xié)議的具體認(rèn)證流程將在下一節(jié)介紹。
(2)SAML
安全斷言標(biāo)記語言(SAML)是一種開放標(biāo)準(zhǔn),它使用XML數(shù)據(jù)格式為當(dāng)事方之間提供標(biāo)準(zhǔn)化的通信。該標(biāo)準(zhǔn)既能用于認(rèn)證也能用于授權(quán)[8]。在驗(yàn)證用戶身份時(shí),服務(wù)提供商會(huì)向身份認(rèn)證服務(wù)器發(fā)送一個(gè)以XML格式進(jìn)行傳輸?shù)腟AML認(rèn)證請(qǐng)求,請(qǐng)求中包含了服務(wù)提供商希望用于身份認(rèn)證的方式;身份認(rèn)證服務(wù)器驗(yàn)證通過后,返回包含有用戶信息和相關(guān)屬性的SAML響應(yīng),并確保對(duì)信息進(jìn)行數(shù)字簽名;服務(wù)提供商收到SAML斷言后,驗(yàn)證消息來源的可靠性,確認(rèn)無誤后解析認(rèn)證信息。
盡管SAML已經(jīng)是很成熟的登錄方案,但其主要應(yīng)用于瀏覽器。在目前廣泛使用移動(dòng)設(shè)備的大環(huán)境下,SAML本身略顯巨大和繁瑣,從而容易導(dǎo)致手機(jī)客戶端無法解析SAML流程下的令牌信息,因此本文選擇了輕量級(jí)的認(rèn)證協(xié)議,并考慮OAuth2.0認(rèn)證功能的缺陷,提出了基于OIDC的工業(yè)互聯(lián)網(wǎng)平臺(tái)身份認(rèn)證與授權(quán)方案。
3 工業(yè)互聯(lián)網(wǎng)平臺(tái)架構(gòu)與安全分析
工業(yè)互聯(lián)網(wǎng)平臺(tái)[9]可以看作工業(yè)云平臺(tái)的延伸擴(kuò)展,它將工業(yè)互聯(lián)網(wǎng)與云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)相結(jié)合,構(gòu)建出的具有存儲(chǔ)、集成、計(jì)算、分析、管理等一體化功能的新平臺(tái),最終以工業(yè)APP的形式來實(shí)現(xiàn)各類創(chuàng)新應(yīng)用。平臺(tái)作為工業(yè)互聯(lián)網(wǎng)的核心內(nèi)容,保證安全性是工業(yè)互聯(lián)網(wǎng)健康發(fā)展的重要前提[10]。
如圖2所示,工業(yè)互聯(lián)網(wǎng)平臺(tái)分為四層:邊緣層、工業(yè)IaaS層(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù))、工業(yè)PaaS層(Platform as a Service,平臺(tái)即服務(wù))、工業(yè)SaaS層(Software as a Service,軟件即服務(wù))。
2.1邊緣層
邊緣層首先通過各類通信手段完成底層物理設(shè)備的接入工作,從而完成海量數(shù)據(jù)的采集;之后利用邊緣計(jì)算設(shè)備實(shí)現(xiàn)對(duì)底層數(shù)據(jù)的集成處理。然而,由于智能傳感器等底層終端設(shè)備的計(jì)算資源有限,因此惡意攻擊者往往會(huì)利用設(shè)備自身漏洞實(shí)施對(duì)平臺(tái)網(wǎng)絡(luò)攻擊;同時(shí),會(huì)對(duì)數(shù)據(jù)采集進(jìn)行非法竊聽與攔截,從而造成數(shù)據(jù)泄露、丟失,威脅平臺(tái)安全。
2.2 工業(yè)IaaS層
工業(yè)IaaS層利用虛擬化、分布式存儲(chǔ)等技術(shù)對(duì)計(jì)算、存儲(chǔ)等物理資源進(jìn)行池化處理,從而對(duì)海量資源實(shí)施動(dòng)態(tài)調(diào)整、按需部署,為用戶提供云基礎(chǔ)設(shè)施服務(wù)[11]。IaaS采用共享技術(shù)來提供網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)等資源的共享服務(wù),這些共享技術(shù)可能存在漏洞,會(huì)帶來極大的安全隱患,例如跨虛擬機(jī)信道攻擊、鏡像篡改等新型攻擊。此外,目前越來越多的企業(yè)使用第三方提供商的云基礎(chǔ)設(shè)施服務(wù),這也導(dǎo)致了安全責(zé)任邊界的難以確定,從而帶來其他的安全問題。
2.3 工業(yè)PaaS層
工業(yè)PaaS層也被視為平臺(tái)層,它作為工業(yè)互聯(lián)網(wǎng)平臺(tái)的核心,在原有的IaaS基礎(chǔ)之上,構(gòu)建了一個(gè)可擴(kuò)展的操作系統(tǒng),提供了云服務(wù)所需要的各類中間組件,為之后應(yīng)用軟件的快速開發(fā)與部署搭建了一個(gè)基礎(chǔ)平臺(tái)。由于應(yīng)用開發(fā)工具所存在的自身漏洞,攻擊者的惡意入侵很可能導(dǎo)致敏感數(shù)據(jù)的泄露,從而帶來安全隱患。
2.4 工業(yè)SaaS層
工業(yè)SaaS層為平臺(tái)的應(yīng)用層,其主要是形成滿足不同應(yīng)用場(chǎng)景下的各類工業(yè)APP。工業(yè)SaaS層與各類消費(fèi)者和第三方開發(fā)者進(jìn)行通信交互,旨在為用戶提供安全可靠的應(yīng)用服務(wù),是工業(yè)互聯(lián)網(wǎng)平臺(tái)的最終價(jià)值體現(xiàn)。然而,其面臨的安全威脅也十分嚴(yán)重[12],登錄用戶的管理控制、工業(yè)APP存在的安全缺陷、第三方開發(fā)者的惡意代碼注入等諸多問題日益顯現(xiàn)。因此,為保證基于工業(yè)SaaS層的應(yīng)用服務(wù)安全可靠,身份認(rèn)證與授權(quán)技術(shù)尤為重要。
4 工業(yè)互聯(lián)網(wǎng)平臺(tái)下的身份認(rèn)證與授權(quán)方案
為滿足工業(yè)互聯(lián)網(wǎng)平臺(tái)應(yīng)用層上軟件程序?qū)τ脩羯矸菡J(rèn)證的需求,本文設(shè)計(jì)了一種基于OIDC協(xié)議的身份認(rèn)證與授權(quán)方案,為平臺(tái)提供安全、高效、靈活的認(rèn)證與授權(quán)服務(wù)。
4.1 方案內(nèi)容
工業(yè)互聯(lián)網(wǎng)平臺(tái)的應(yīng)用層實(shí)現(xiàn)了與用戶、企業(yè)間的直接信息交互,基于云的工業(yè)APP被廣泛開發(fā)使用。因此,為保證其應(yīng)用服務(wù)的安全性,避免用戶敏感信息的泄露,安全可靠的身份認(rèn)證技術(shù)必不可少。
(1)基于名單的過濾方法
在計(jì)算機(jī)安全中,很多應(yīng)用軟件都會(huì)使用黑白名單規(guī)則。黑名單用來防止已知的惡意程序或用戶,例如垃圾郵件過濾器往往依賴于黑名單技術(shù)[13]。但是由于黑名單策略只能用來防御已知的有害程序,因此需要服務(wù)器快速更新。而白名單恰好與之相反,它體現(xiàn)了已知信用良好的實(shí)體,從而不阻止特定程序的運(yùn)行。方案通過結(jié)合黑白名單策略,對(duì)平臺(tái)應(yīng)用層中的身份認(rèn)證請(qǐng)求實(shí)體進(jìn)行前期過濾,攔截惡意用戶,保護(hù)應(yīng)用服務(wù)的安全性,如圖3所示展示了基于名單的過濾流程。
(2)OIDC身份認(rèn)證與授權(quán)協(xié)議優(yōu)化
隨著工業(yè)互聯(lián)網(wǎng)平臺(tái)的快速發(fā)展,為滿足不同場(chǎng)景下特定的工業(yè)互聯(lián)網(wǎng)需求,位于SaaS層中的應(yīng)用軟件被大量開發(fā)。因此,在確保不泄露用戶名密碼的同時(shí),用戶授權(quán)第三方應(yīng)用及軟件服務(wù)提供商獲取資源數(shù)據(jù)的OAuth2.0協(xié)議被廣泛使用。同時(shí),出于對(duì)工業(yè)APP中基于第三方的應(yīng)用賬戶登錄考慮,結(jié)合單點(diǎn)登錄思想[14],實(shí)現(xiàn)允許用戶創(chuàng)建一個(gè)用戶名和密碼便可訪問多個(gè)應(yīng)用程序。這樣的設(shè)計(jì),對(duì)用戶而言在確保自身信息數(shù)據(jù)不被泄露的前提下,避免了申請(qǐng)多個(gè)用戶名和密碼的繁瑣過程;同時(shí)對(duì)于SaaS層中的服務(wù)提供商,可以避免管理大量的用戶信息,而只需依托大型軟件服務(wù)提供商的用戶資源數(shù)據(jù)。
因此本節(jié)將介紹基于OAuth2.0的擴(kuò)展協(xié)議OIDC[15],并將其應(yīng)用于平臺(tái)SaaS層,之后通過將數(shù)字證書與SSL結(jié)合構(gòu)建加密信道來保證用戶的信息和傳輸安全性。
(3)基于SaaS層的OIDC協(xié)議
由于OAuth2.0協(xié)議在身份認(rèn)證方面存在一定缺陷,因此OIDC作為OAuth2.0的擴(kuò)展協(xié)議被提出。OIDC協(xié)議在原有訪問令牌的基礎(chǔ)之上身份令牌用于認(rèn)證功能[16],身份令牌中包含有用戶、服務(wù)提供商等信息并加以簽名,從而完善了OAuth2.0協(xié)議在認(rèn)證方面的不足,圖4為基于授權(quán)碼的OIDC協(xié)議工作流程,具體過程為:
1)用戶訪問第三方應(yīng)用客戶端請(qǐng)求登錄時(shí),客戶端重定向到認(rèn)證服務(wù)器,并通過發(fā)送用戶身份標(biāo)識(shí)、響應(yīng)類型、重定向地址等相關(guān)必要參數(shù)向服務(wù)器發(fā)起認(rèn)證請(qǐng)求;
2)認(rèn)證服務(wù)器收到請(qǐng)求后對(duì)請(qǐng)求參數(shù)進(jìn)行驗(yàn)證鑒定終端用戶身份。驗(yàn)證通過后引導(dǎo)用戶進(jìn)行身份認(rèn)證并同意授權(quán);
3)若用戶同意授權(quán),認(rèn)證服務(wù)器將發(fā)送授權(quán)碼等相關(guān)參數(shù)到客戶端事先指定的回調(diào)地址;
4)客戶端使用上一步收到的授權(quán)碼向認(rèn)證服務(wù)器請(qǐng)求身份令牌;
5)認(rèn)證服務(wù)器返回已經(jīng)簽名和加密的身份令牌給客戶端,身份令牌包含有提供認(rèn)證信息者的唯一標(biāo)識(shí)、用戶標(biāo)識(shí)、令牌過期時(shí)間等相關(guān)信息,如有需要訪問令牌也會(huì)一并發(fā)送;
6)客戶端需要對(duì)令牌進(jìn)行驗(yàn)證并獲得該用戶的個(gè)人信息,之后可以使用收到的訪問令牌請(qǐng)求用戶資源。
由OIDC協(xié)議工作流程可知,認(rèn)證服務(wù)器在返回授權(quán)碼的過程中很容易遭到惡意竊取,導(dǎo)致授權(quán)碼丟失;同時(shí)這一過程也會(huì)阻塞用戶與服務(wù)器之間的通信交互,致使用戶二次申請(qǐng)授權(quán)碼。此外,使用OIDC協(xié)議還容易遭受針對(duì)令牌授權(quán)過程的惡意攻擊[17],攻擊者對(duì)服務(wù)器端進(jìn)行監(jiān)聽,從而竊取訪問令牌,造成用戶信息數(shù)據(jù)的泄露。
(4)SSL安全信道的構(gòu)建
為確保客戶端與云服務(wù)器之間信息交互的安全性和完整性,除了對(duì)授權(quán)碼、令牌的自身加密以外,使用SSL安全協(xié)議[18]建立可靠的通信信道也是關(guān)鍵所在。因此,為防止授權(quán)碼與令牌等關(guān)鍵信息被非法竊取,方案在使用簽名和加密技術(shù)的同時(shí),建立一條基于SSL協(xié)議的安全通道,實(shí)現(xiàn)用戶、客戶端與服務(wù)器之間的安全通信,此外利用數(shù)字證書與SSL相結(jié)合的方法驗(yàn)證雙方的真實(shí)身份,進(jìn)一步增強(qiáng)平臺(tái)應(yīng)用層的安全性。具體創(chuàng)建過程分為三步。
1)CA機(jī)構(gòu)頒發(fā)數(shù)字證書
證書頒發(fā)機(jī)構(gòu)CA利用自身私鑰對(duì)簽發(fā)者、客戶端/服務(wù)器的加密算法、公鑰、證書到期時(shí)間等信息進(jìn)行加密,從而生成數(shù)字證書分別發(fā)送給客戶端和服務(wù)器,如圖5所示。
2)協(xié)商加密算法
客戶端將選擇自身支持的SSL版本、加密算法、MAC算法等,同時(shí)附加一個(gè)客戶端隨機(jī)數(shù)發(fā)送給服務(wù)器;服務(wù)器確認(rèn)支持的加密算法,并將包含自身公鑰、頒發(fā)機(jī)構(gòu)等信息的數(shù)字證書與服務(wù)器隨機(jī)數(shù)一同發(fā)送給客戶端,如圖6所示。
3)生成會(huì)話密鑰
客戶端在確認(rèn)數(shù)字證書的可靠性之后,生成一串隨機(jī)數(shù)密碼,通過使用解密出服務(wù)器公鑰加密新生成的隨機(jī)數(shù)密碼并發(fā)送給服務(wù)器;之后服務(wù)器利用私鑰解密出密碼,客戶端與服務(wù)器利用協(xié)商的加密算法對(duì)之前各自生成的隨機(jī)數(shù)與新得到的密碼進(jìn)行計(jì)算,從而生成會(huì)話密鑰,以此來加密之后的通信內(nèi)容,生成一條安全的加密信道,如圖7所示。
4.2 優(yōu)勢(shì)分析
首先,本方案將OIDC協(xié)議應(yīng)用于工業(yè)互聯(lián)網(wǎng)云平臺(tái),實(shí)現(xiàn)在使用原有平臺(tái)應(yīng)用層的身份認(rèn)證機(jī)制下,增加新的授權(quán)模式,解決多系統(tǒng)之間的身份認(rèn)證問題,減少重復(fù)的注冊(cè)與鑒別過程,提升用戶體驗(yàn)。同時(shí),協(xié)議的開放性使得各企業(yè)機(jī)構(gòu)都可方便使用,尤其在針對(duì)不同工業(yè)應(yīng)用場(chǎng)景下大量開發(fā)的多種應(yīng)用軟件,方案提供了輕量級(jí)的身份認(rèn)證服務(wù),滿足當(dāng)前環(huán)境需求。
其次,針對(duì)工業(yè)互聯(lián)網(wǎng)平臺(tái)中的第三方應(yīng)用軟件,使用基于OIDC協(xié)議的認(rèn)證授權(quán)服務(wù)在不暴露用戶賬戶信息的前提下,通過用戶允許授權(quán)的方式,實(shí)現(xiàn)了對(duì)平臺(tái)中資源數(shù)據(jù)的獲取。同時(shí),利用SSL加密信道,確保認(rèn)證與授權(quán)通信過程的安全性。
此外,方案在認(rèn)證服務(wù)前,使用基于名單的過濾機(jī)制對(duì)認(rèn)證請(qǐng)求進(jìn)行限制,防止惡意用戶或應(yīng)用程序?qū)ζ脚_(tái)的攻擊,以便后續(xù)為信譽(yù)良好的實(shí)體提供認(rèn)證服務(wù)。
4.3 安全性分析
本方案指定了一些安全措施,包括建立基于名單的過濾方法、SSL加密通道,同時(shí)依賴于OIDC協(xié)議本身的安全機(jī)制,基于OIDC的工業(yè)互聯(lián)網(wǎng)平臺(tái)身份認(rèn)證與授權(quán)方案可以實(shí)現(xiàn)較強(qiáng)的安全性。下面文章將從機(jī)密性、完整性、請(qǐng)求限制三方面對(duì)方案整體安全性進(jìn)行分析。
(1)機(jī)密性
基于OIDC協(xié)議在認(rèn)證授權(quán)過程中,使用授權(quán)碼、令牌等關(guān)鍵信息來完成身份鑒別。因此,為保證通信數(shù)據(jù)的機(jī)密性[19],方案中利用在應(yīng)用客戶端與服務(wù)器之間構(gòu)建SSL加密信道,對(duì)OIDC協(xié)議進(jìn)行優(yōu)化。
SSL協(xié)議首先通過設(shè)置數(shù)字證書來驗(yàn)證客戶端與服務(wù)器身份的真實(shí)性;之后通信雙方采用非對(duì)稱加密體制協(xié)商加密算法與密鑰,根據(jù)應(yīng)用的不同尋找強(qiáng)度不同的加密算法;最后利用定義好的會(huì)話密鑰對(duì)通信數(shù)據(jù)進(jìn)行加密,保證數(shù)據(jù)的機(jī)密性。
(2)完整性
為防止用戶信息數(shù)據(jù)在傳輸中被惡意篡改,OIDC協(xié)議中包含有用戶、軟件提供商、認(rèn)證服務(wù)提供商等敏感信息的身份令牌,通過Base64編碼之后會(huì)進(jìn)行簽名操作,最后被發(fā)送給認(rèn)證服務(wù)的參與方,客戶端通過驗(yàn)證簽名來確保身份鑒別憑證的真實(shí)性和完整性。
同時(shí),在SSL信道的構(gòu)建過程中,客戶端與服務(wù)器的每一次交互都使用隨機(jī)數(shù)進(jìn)行標(biāo)示,從而防止重放攻擊。其本身也提供了完整性檢查,防止信息數(shù)據(jù)被惡意篡改。
(3)請(qǐng)求限制
由于工業(yè)互聯(lián)網(wǎng)平臺(tái)的快速發(fā)展,依托于平臺(tái)的應(yīng)用軟件被大量開發(fā),為分擔(dān)認(rèn)證請(qǐng)求壓力,防止惡意用戶或程序?qū)ζ脚_(tái)資源的非法竊取,使用基于名單的過濾方法對(duì)服務(wù)請(qǐng)求進(jìn)行初步限制。平臺(tái)為存在于白名單中的第三方應(yīng)用和用戶提供認(rèn)證服務(wù),而拒絕存在于黑名單中的應(yīng)用,同時(shí)針對(duì)不存在于名單中的應(yīng)用軟件發(fā)出預(yù)警信息,并在認(rèn)證服務(wù)后及時(shí)更新名單,降低平臺(tái)被惡意攻擊的危險(xiǎn)性。
4.4 性能分析
在基于OIDC協(xié)議的工業(yè)互聯(lián)網(wǎng)平臺(tái)認(rèn)證與授權(quán)方案中,當(dāng)客戶端發(fā)送令牌,請(qǐng)求資源訪問時(shí),資源服務(wù)器會(huì)通過調(diào)用認(rèn)證服務(wù)器的令牌解析功能最終判斷令牌信息的真實(shí)有效性。而存在于工業(yè)互聯(lián)網(wǎng)平臺(tái)中的客戶端訪問量十分龐大,當(dāng)服務(wù)器在面臨大量的令牌解析請(qǐng)求時(shí),性能負(fù)擔(dān)逐漸加重。因此,為減少對(duì)認(rèn)證服務(wù)器的消耗,方案中資源服務(wù)器可以通過緩存令牌有效性信息來提升整體性能,同時(shí)也應(yīng)對(duì)失效令牌信息進(jìn)行及時(shí)更新,確保方案安全性。
此外,方案通過建立SSL加密信道保證傳輸數(shù)據(jù)的安全,但運(yùn)行加密算法而帶來的昂貴開銷也將必不可少,尤其是非對(duì)稱密碼加密算法對(duì)CPU資源的大量消耗。因此,針對(duì)選擇合適的算法與密鑰,應(yīng)在保證安全性的前提下,盡可能地提高方案性能。例如,一般情況下RSA算法的驗(yàn)證過程往往比DSA快得多。所以,根據(jù)服務(wù)器硬件、網(wǎng)絡(luò)環(huán)境的不同,將構(gòu)建SSL加密信道所產(chǎn)生的性能影響降到最低,也是可以實(shí)現(xiàn)的。
5 結(jié)束語
隨著云計(jì)算、大數(shù)據(jù)等新型技術(shù)的快速發(fā)展,工業(yè)互聯(lián)網(wǎng)平臺(tái)將成為國家工業(yè)、制造業(yè)等領(lǐng)域發(fā)展的重要依托。作為工業(yè)互聯(lián)網(wǎng)平臺(tái)的最終價(jià)值實(shí)現(xiàn),基于SaaS層中的應(yīng)用服務(wù)被大力開發(fā)和創(chuàng)新,實(shí)現(xiàn)了用戶和平臺(tái)云服務(wù)之間的信息交互,為保證用戶資源被合法訪問利用,避免平臺(tái)中信息數(shù)據(jù)被惡意竊取,同時(shí)提升用戶體驗(yàn),本文提出了一種基于OIDC的工業(yè)互聯(lián)網(wǎng)平臺(tái)身份認(rèn)證與授權(quán)方案。文章首先介紹了目前應(yīng)用于統(tǒng)一身份認(rèn)證系統(tǒng)的主流認(rèn)證與授權(quán)技術(shù),并且對(duì)工業(yè)互聯(lián)網(wǎng)平臺(tái)架構(gòu)及其面臨的安全威脅進(jìn)行分析;之后提出了一種基于名單的過濾方法,防止惡意軟件或用戶的可疑入侵;同時(shí),針對(duì)平臺(tái)SaaS層中存在的大量應(yīng)用軟件,使用OIDC協(xié)議對(duì)用戶進(jìn)行身份認(rèn)證,并在此基礎(chǔ)之上構(gòu)建基于SSL加密的通信信道實(shí)現(xiàn)對(duì)協(xié)議的進(jìn)一步優(yōu)化,最終從身份認(rèn)證與授權(quán)技術(shù)和數(shù)據(jù)傳輸兩方面對(duì)SaaS層進(jìn)行安全防護(hù),達(dá)到提升工業(yè)互聯(lián)網(wǎng)平臺(tái)安全性的目的。
目前,我國的工業(yè)互聯(lián)網(wǎng)平臺(tái)尚不成熟,其面臨諸多安全挑戰(zhàn)。平臺(tái)中存在大量不同種類的安全機(jī)制且平臺(tái)有跨企業(yè)特點(diǎn),各個(gè)企業(yè)間接口不一,這也導(dǎo)致安全邊界難以確定,協(xié)議互通難度加大,安全漏洞日益顯現(xiàn)[20]。同時(shí)存儲(chǔ)于平臺(tái)上的數(shù)據(jù)繁雜,資源常常分布在多種設(shè)施之上,僅依托單點(diǎn)、離散的數(shù)據(jù)保護(hù)難以保證其安全性,一旦遭受惡意攻擊,不只對(duì)用戶、企業(yè)造成損害,對(duì)工業(yè)生產(chǎn)乃至國民經(jīng)濟(jì)都可能帶來巨大損失。因此,未來基于工業(yè)互聯(lián)網(wǎng)平臺(tái)的安全將會(huì)是研究的重點(diǎn)方向。
參考文獻(xiàn)
[1] Ma Y, Li Z, Liu Y, et al. Discussion on the Application of Industrial Internet[M]// Artificial Intelligence and Security. 2019.
[2] Tabassam S. Security and Privacy Issues in Cloud Computing Environment[J]. Journal of Information Technology and Software Engineering, vol. 7, no. 5, pp. 1-6, 2017.
[3] Jansen J, van der Merwe A. A Framework for Industrial Internet of Things[M]. In: Hattingh M., Matthee M., Smuts H., Pappas I., Dwivedi Y., M?ntym?ki M. (eds) Responsible Design, Implementation and Use of Information and Communication Technology. I3E 2020. Lecture Notes in Computer Science, vol 12066, pp 138-150.
[4] Ghazizadeh E, Manan J L A, Zamani M, et al. A survey on security issues of federated identity in the cloud computing[C]// IEEE International Conference on Cloud Computing Technology & Science. IEEE, 2012.
[5] Naik N and Jenkins P. Securing digital identities in the cloud by selecting an apposite Federated Identity Management from SAML, OAuth and OpenID Connect[C]. 2017 11th International Conference on Research Challenges in Information Science (RCIS), Brighton, 2017, pp. 163-174.
[6] Leiba B. OAuth Web Authorization Protocol[J]. Internet Computing, IEEE, 2012, 16(1): pp.74-77.
[7] Ferry E, O Raw J, Curran K. Security evaluation of the OAuth 2.0 framework[J]. Information and Computer Security, 2015, 23(1):73-101.
[8] Wilson Y, Hingnikar A. SAML 2.0[M]. In: Solving Identity Management in Modern Applications. Apress, Berkeley, CA, 2019: 99-111.
[9] Chai X, Hou B, Zou P, Zeng J and Zhou J. INDICS: An Industrial Internet Platform[C]. 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/ SCALCOM/ UIC/ ATC/CBDCom/IOP/SCI), Guangzhou, 2018, pp. 1824-1828.
[10] Wu Y and Hu X. Many Measures to Solve Industrial Internet Security Problems[C]. 2019 2nd International Conference on Safety Produce Informatization (IICSPI), Chongqing, China, 2019, pp. 6-11.
[11] W. Dawoud, I. Takouna, C. Meinel. Infrastructure as a Service Security: Challenges and Solutions[C]// International Conference on In-formatics & Systems. IEEE, 2010.
[12] G, Sahoo, and Mehfuz S. Securing Software as a Service Model of Cloud Computing: Issues and Solutions[J]. International Journal on Cloud Computing: Services and Architecture 3.4 (2013): 1–11. Crossref. Web.
[13] Agrawal N and Singh S. Origin (dynamic blacklisting) based spammer detection and spam mail filtering approach[C]. 2016 Third Interna-tional Conference on Digital Information Processing, Data Mining, and Wireless Communications (DIPDMWC), Moscow, 2016, pp. 99-104.
[14] Zakaria N H, Al-Ghushami A H, Katuk N, et al. Analysis of Single Sign-On Protocols from the Perspective of Architecture Deployment, Security and Usability[C]// 9th International Conference on IT in Asia 2015 (CITA'15). 2015.
[15] Navas J, Beltran M. Understanding and mitigating OpenID Connect threats[J]. Computers & Security, 2019, 84(JUL.):1-16.
[16] Wilson Y, Hingnikar A. OpenID Connect[M]. In: Solving Identity Management in Modern Applications. Apress, Berkeley, CA, 2019: 77-97.
[17] Li W, Mitchell C J. Analysing the Security of Google's Implementation of OpenID Connect[C]// International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer-Verlag New York, Inc. 2016.
[18] Rhodes B, Goerzen J. TLS/SSL[M]. In: Foundations of Python Network Programming. Apress, Berkeley, CA, pp 93-114, 2014.
[19] Li W, Mitchell C J, Chen T. OAuthGuard: Protecting User Security and Privacy with OAuth 2.0 and OpenID Connect[J]. 2019.
[20] Mentsiev A U, Guzueva E R, Magomaev T R. Security challenges of the Industry 4.0[J]. Journal of Physics Conference Series, 2020, 1515:032074.
作者簡(jiǎn)介:
紀(jì)健全(1998-),女,漢族,河北保定人,北京交通大學(xué),在讀碩士;主要研究方向和關(guān)注領(lǐng)域:工業(yè)互聯(lián)網(wǎng)安全、云計(jì)算。
姚英英(1994-),女,漢族,山東青島人,北京交通大學(xué),在讀博士;主要研究方向和關(guān)注領(lǐng)域:物聯(lián)網(wǎng)安全、區(qū)塊鏈。
常曉林(1971-),女,漢族,福建福清人,香港科技大學(xué),博士,北京交通大學(xué),教授;主要研究方向和關(guān)注領(lǐng)域:云計(jì)算安全、物聯(lián)網(wǎng)安全。