劉引濤 劉 楠
(1.陜西工業(yè)職業(yè)技術(shù)學(xué)院信息工程學(xué)院 咸陽(yáng) 712000)(2.陜西工業(yè)職業(yè)技術(shù)學(xué)院基礎(chǔ)部 咸陽(yáng) 712000)
基于.NET的云授權(quán)安全技術(shù)解決方案研究與實(shí)現(xiàn)
劉引濤1劉楠2
(1.陜西工業(yè)職業(yè)技術(shù)學(xué)院信息工程學(xué)院咸陽(yáng)712000)(2.陜西工業(yè)職業(yè)技術(shù)學(xué)院基礎(chǔ)部咸陽(yáng)712000)
摘要從云授權(quán)安全角度出發(fā),研究云授權(quán)安全關(guān)鍵技術(shù),同時(shí)研究支持實(shí)施云授權(quán)安全的相關(guān)標(biāo)準(zhǔn)和規(guī)范。分析出基于函數(shù)的軟件分模塊授權(quán)、云應(yīng)用程序的登錄安全保護(hù)以及管理數(shù)據(jù)庫(kù)的授權(quán)安全性解決方案,通過部署與配置基于.NET的云授權(quán)技術(shù),包括使用URL授權(quán)、鎖定.NET配置設(shè)置以及數(shù)據(jù)庫(kù)的授權(quán)安全性實(shí)現(xiàn),為云授權(quán)安全技術(shù)的進(jìn)一步研究提供參考。
關(guān)鍵詞云授權(quán); 保護(hù)機(jī)制; 數(shù)據(jù)庫(kù)授權(quán); 解決方案
Class NumberP315.69
1引言
云授權(quán)是一種特殊形式的電子授權(quán)技術(shù),是互聯(lián)網(wǎng)技術(shù)與傳統(tǒng)軟件授權(quán)技術(shù)的結(jié)合,一般指將軟件授權(quán)中所需的安全信息、數(shù)據(jù)、算法等內(nèi)容存儲(chǔ)在互聯(lián)網(wǎng)服務(wù)器上的實(shí)現(xiàn)方案。應(yīng)用程序通過網(wǎng)絡(luò)通訊協(xié)議,與服務(wù)器進(jìn)行通訊,使用服務(wù)器中存儲(chǔ)的資源。整個(gè)過程都經(jīng)過了安全保護(hù),具有很高的保護(hù)強(qiáng)度。
云授權(quán)要求服務(wù)器端提供更多的服務(wù)和更好的性能,并與傳統(tǒng)的使用方式如本地授權(quán)技術(shù)更好地結(jié)合。為了考慮部分客戶端電腦的離線狀態(tài),云授權(quán)技術(shù)也支持本地的離線授權(quán)定期或在條件許可的時(shí)候與服務(wù)器進(jìn)行連接、同步,實(shí)現(xiàn)“云驗(yàn)證”功能。
2基于.NET的云授權(quán)關(guān)鍵技術(shù)
云授權(quán)由擔(dān)任網(wǎng)絡(luò)服務(wù)的服務(wù)器端和與之實(shí)現(xiàn)安全會(huì)話功能的安全客戶端組成。應(yīng)用程序通過安全客戶端提供的應(yīng)用接口對(duì)服務(wù)器端數(shù)據(jù)進(jìn)行間接調(diào)用。
云授權(quán)的技術(shù)實(shí)現(xiàn)既包含了傳統(tǒng)的客戶端安全技術(shù)——如防止靜態(tài)分析和代碼逆向工程的技術(shù),也包含了服務(wù)器端Web Service,要求能夠提供互聯(lián)網(wǎng)上海量用戶的授權(quán)請(qǐng)求。
云授權(quán)要求服務(wù)器端與客戶端能夠進(jìn)行安全通訊,以防止通訊內(nèi)容被監(jiān)聽、篡改或重用。一般來說,客戶端服務(wù)器的通訊要采用以非對(duì)稱密鑰為基礎(chǔ)的安全會(huì)話協(xié)議[6]。
3.NET保護(hù)機(jī)制的研究方案
3.1基于WUPI函數(shù)的軟件分模塊授權(quán)實(shí)現(xiàn)
通常部署在云中的應(yīng)用程序?yàn)閃EB應(yīng)用程序,WEB應(yīng)用程序可由.NET開發(fā)而成,但極易被反編譯。為了保護(hù)云中的程序代碼安全,基于WUPI函數(shù)可實(shí)現(xiàn)軟件的分模塊授權(quán),實(shí)現(xiàn)中需在不同的方法或類中分配不同的授權(quán),使用WUPI函數(shù)在軟件代碼中查詢不同的授權(quán),并設(shè)定軟件在缺失授權(quán)的情況下做出相應(yīng)的反應(yīng)。軟件商可選擇隱藏菜單或顯示用戶出錯(cuò)信息框。如使用另一個(gè)授權(quán)(產(chǎn)品碼)進(jìn)行加密,可以實(shí)現(xiàn)最高安全強(qiáng)度;通過WUPI查詢,可對(duì)軟件行為預(yù)先設(shè)定。
加密程序啟動(dòng)時(shí),首先執(zhí)行代碼,檢測(cè)是否有有效授權(quán),如果檢測(cè)到授權(quán),即自動(dòng)分配并解密程序,同時(shí)運(yùn)行完整性校驗(yàn)以驗(yàn)證程序是否遭受篡改攻擊。通過采用高效復(fù)雜的反調(diào)試及防逆向工程的方法,持續(xù)不斷的監(jiān)測(cè)軟件是否受到安全威脅。一旦檢測(cè)到威脅,即刻終止程序[6]。
3.2云應(yīng)用程序的登錄安全保護(hù)
由于云應(yīng)用程序處于企業(yè)網(wǎng)絡(luò)和監(jiān)測(cè)能力的范圍之外,所以它們需要強(qiáng)有力的身份驗(yàn)證和授權(quán)控制[2]??蛻舳说氖跈?quán)也是軟件授權(quán)方式的體現(xiàn),另外賬戶盜用就是一種常見的云安全問題,所以軟件開發(fā)者需要實(shí)施一種比內(nèi)部應(yīng)用程序更為嚴(yán)格的身份驗(yàn)證策略,可以充分利用.NET云身份認(rèn)證功能。
用戶登錄時(shí),服務(wù)器創(chuàng)建一個(gè)隨機(jī)的challenge。用戶使用私鑰對(duì)challenge予以簽名,并將其簽名作為應(yīng)答返回至服務(wù)器。服務(wù)器使用公鑰,在服務(wù)器中對(duì)用戶身份進(jìn)行確認(rèn)。將公鑰存儲(chǔ)在服務(wù)器,即使黑客獲得了數(shù)據(jù)庫(kù)中的公鑰,因?yàn)樗借€存儲(chǔ)在用戶PC,黑客也無法冒充用戶進(jìn)行非法登錄。
3.3管理數(shù)據(jù)庫(kù)的授權(quán)安全性
云產(chǎn)品的出現(xiàn),基于云戰(zhàn)略的云中數(shù)據(jù)庫(kù)SQL Azure安全性至關(guān)重要,它可以在任何時(shí)間提供客戶數(shù)據(jù)應(yīng)用。SQL Azure為基于Transact-SQL的數(shù)據(jù)庫(kù)訪問提供了一個(gè)TDS接口,將邏輯上的管理與物理上的管理分離了出來,提供大規(guī)模的、多租戶的數(shù)據(jù)庫(kù)服務(wù),以及提供企業(yè)級(jí)的可用性、可擴(kuò)展性、安全性和自我修復(fù)能力。
4基于.NET的云授權(quán)部署與配置[3]
4.1使用URL授權(quán)
URLAuthorizationModule將用戶和角色映射到URI名稱空間中的元素。該模塊同時(shí)實(shí)現(xiàn)肯定和否定的授權(quán)聲明。也就是說,該模塊可以根據(jù)用戶的某種身份,選擇性地允許或拒絕該用戶訪問URI名稱空間中的任意元素。下面的例子為某些域用戶授權(quán),但拒絕其他用戶[1]。
〈configuration〉
〈system.web〉
〈authentication mode="Windows" /〉
〈authorization〉
〈allow users="domain1user, domain2user2, domain1user3 /〉
〈deny users="*" /〉
〈/authorization〉
〈/system.web〉
〈/configuration〉
4.2鎖定配置設(shè)置
.NET配置在本質(zhì)上是層次化的,在計(jì)算機(jī)級(jí)別、應(yīng)用程序級(jí)別和子應(yīng)用程序級(jí)別具有可選的配置文件。子級(jí)別配置文件可用于替代更高級(jí)別的設(shè)置,或用于添加其他配置信息。盡管它提供了很高的靈活性,但有時(shí)候管理員希望加強(qiáng)配置設(shè)置,不允許他們被指定的應(yīng)用程序替代。例如,宿主網(wǎng)站的管理員希望指定代碼訪問安全級(jí)別,不允許單個(gè)應(yīng)用程序更改它。結(jié)合使用〈location〉元素和allowOverride屬性可以實(shí)現(xiàn)這一目的[7~8]。
宿主網(wǎng)站的管理員希望確保所有應(yīng)用程序都不能調(diào)用非托管代碼。以下配置文件片段說明管理員如何鎖定整個(gè)站點(diǎn)的代碼訪問配置設(shè)置,并限制高信任級(jí)別的應(yīng)用程序(不允許調(diào)用非托管代碼):
〈location path="somesitepath" allowOverride="false"〉
〈trust level="high" originUrl="http://somesite.com" /〉
〈/location〉
path屬性可以指向站點(diǎn)或虛擬目錄,它適用于指定目錄及其所有子目錄。在上面的示例中,如果將allowOverride設(shè)置為“假”,則能夠保護(hù)站點(diǎn)內(nèi)的所有應(yīng)用程序不被〈location〉元素中指定的配置設(shè)置替代。鎖定配置設(shè)置的功能適用于所有設(shè)置,而不僅限于信任級(jí)別這樣的安全設(shè)置。
4.3Azure SQL數(shù)據(jù)庫(kù)的授權(quán)安全性實(shí)現(xiàn)[9~10]
從授權(quán)角度看,Azure SQLDatabase實(shí)現(xiàn)方法更適合用在服務(wù)器層次上,在管理一個(gè)托管各個(gè)SQL Database的邏輯SQL Server(包括表示一個(gè)數(shù)據(jù)庫(kù)管理單元的Azure平臺(tái)結(jié)構(gòu))時(shí),必須用到主數(shù)據(jù)庫(kù)中預(yù)定義的loginmanager和dbmanager兩個(gè)角色[3]。
細(xì)分訪問權(quán)限,使用GRANT、REVOKE和DENY T-SQL語(yǔ)句控制每一個(gè)模式、對(duì)象實(shí)例或語(yǔ)句層次的權(quán)限。
創(chuàng)建登錄帳號(hào),需要?jiǎng)?chuàng)建一個(gè)主數(shù)據(jù)庫(kù)連接會(huì)話,而創(chuàng)建用戶帳號(hào)需要直接連接目標(biāo)數(shù)據(jù)庫(kù)。從授權(quán)角度看,這個(gè)登錄帳號(hào)是唯一的,隱含分配了loginmanager和dbmanager角色所關(guān)聯(lián)的權(quán)限,并可以用它連接同一個(gè)邏輯服務(wù)器的任何一個(gè)數(shù)據(jù)庫(kù)。
使用CREATE LOGIN T-SQL語(yǔ)句創(chuàng)建更多的登錄帳號(hào)。要想使用帳號(hào)信息連接任何一個(gè)數(shù)據(jù)庫(kù)(包括主數(shù)據(jù)庫(kù)),必須先在該數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)相對(duì)應(yīng)的用戶帳號(hào)。如果要指定一個(gè)loginmanager或dbmanager角色的新成員,則需要先使用服務(wù)器級(jí)主登錄帳號(hào)登錄主數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)新的登錄帳號(hào),然后再創(chuàng)建一個(gè)與此登錄帳號(hào)相關(guān)聯(lián)的用戶(使用CREATEUSER (...) FROM LOGIN T-SQL語(yǔ)句),最后再執(zhí)行sp_addrolemember存儲(chǔ)過程。類似地,如果想讓這些登錄帳號(hào)可用于連接或管理任何一個(gè)用戶數(shù)據(jù)庫(kù),則需要先連接該數(shù)據(jù)庫(kù),在該數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)關(guān)聯(lián)的用戶帳號(hào),最后再執(zhí)行sp_addrolemember存儲(chǔ)過程將新創(chuàng)建的用戶分配給一個(gè)或多個(gè)數(shù)據(jù)庫(kù)級(jí)角色[5]。
5結(jié)語(yǔ)
文中針對(duì)云授權(quán)安全技術(shù),提出了基于.NET的云授權(quán)保護(hù)機(jī)制解決方案,并對(duì)云授權(quán)系統(tǒng)開發(fā)中的保護(hù)機(jī)制,從云授權(quán)安全的角度出發(fā),研究云授權(quán)安全關(guān)鍵技術(shù),同時(shí)研究支持實(shí)施云授權(quán)安全的相關(guān)標(biāo)準(zhǔn)和規(guī)范。分析出基于函數(shù)的軟件分模塊授權(quán)、云應(yīng)用程序的登錄安全保護(hù)以及管理數(shù)據(jù)庫(kù)的授權(quán)安全性解決方案,通過部署與配置基于.NET的云授權(quán)技術(shù),包括使用URL授權(quán)、鎖定.NET配置設(shè)置以及數(shù)據(jù)庫(kù)的授權(quán)安全性實(shí)現(xiàn),該方案的提出與分析,為進(jìn)一步提高網(wǎng)絡(luò)安全技術(shù)提供參考依據(jù)。
參 考 文 獻(xiàn)
[1] 侯曉歡,陳梅,李暉,等.基于醫(yī)療健康云平臺(tái)的數(shù)據(jù)分析云服務(wù)研究究[J].計(jì)算機(jī)與數(shù)字工程,2015,43(4):656-657.
HOU Xiaohuan, CHEN Mei, LI Hui, et al. Data Analysis AS A Cloud Service Based on Healthcare Cloud[J]. Computer & Digital Engineering,2015,43(4):656-657.
[2] 劉伉伉,謝福,郭雪雪,等.基于BP神經(jīng)網(wǎng)絡(luò)的云計(jì)算入侵檢測(cè)技術(shù)研究[J].計(jì)算機(jī)與數(shù)字工程,2014,42(12):2357-2358.
LIU Kangkang, XIE Fu, GUO Xuexue, et al. Cloud Computing Environment Intrusion Detection Technology Based ON BP Neural Network[J]. Computer & Digital Engineering,2014,42(12):2357-2358.
[3] 城田真琴.大數(shù)據(jù)的沖擊[M].北京:人民郵電出版社,2013:3-9.Shirota Makoto. Impact of big data[M]. Beijing: People’s Posts and Telecommunications Press,2013:3-9.
[4] 周敏.GARBF在網(wǎng)絡(luò)入侵檢測(cè)中的應(yīng)用研究[J].計(jì)算機(jī)仿真,2011,28(6):165-168.
ZHOU Min. APPlication of Intrusion Detection Based on RBFNN AND Genetic Algorithm[J]. Computer Simulation,2011,28(6):165-168.
[5] 王珊,王會(huì)舉,覃雄派,等.架構(gòu)大數(shù)據(jù):挑戰(zhàn)、現(xiàn)狀與展望[J].計(jì)算機(jī)學(xué)報(bào),2011,34(10):1741-1752.
WANG Shan, WANG Huiju, QIN Xiongpai, et al. Architecting Big Data: Challenges, Studies and Forecasts[J]. Chinses Journal of Computers,2011,34(10):1741-1752.
[6] 李建華,張愛新,薛質(zhì),等.網(wǎng)絡(luò)安全協(xié)議的形式劃分析與驗(yàn)證[M].北京:喬宇,2010:7-8.
LI Jianhua, ZHANG Aixin, XUE Zhi, et al. Netword security protocol formal analysis and verification[M]. Beijing: Qiao Yu,2010:7-8.
[7] 馮登國(guó),張敏,張妍,等.云計(jì)算安全研究[J].軟件學(xué)報(bào),2011,22(1):71-83.
FENG Dengguo, ZHANG Min, XUE Zhen, et al. Study On Cloud computing Security[J]. Journal of Software,2011,22(1):71-83.
[8] 張健,曹光.互聯(lián)網(wǎng)中云計(jì)算技術(shù)研究[J].電信網(wǎng)技術(shù),2009,10(10):1-4.
ZHANG Jian, CAO Jiguang. Study On Cloud Computing Technology[J]. Telecommunications Netword Technology,2009,10(10):1-4.
[9] Jia Ru, Jacky Keung. An Empirical Investigation oa the Simulation of Priority and Shortest-job-First Sched-uling for Cloud-based Software Systems[C]//Austral-ian Conference on Software Engineering,2013.
[10] S. Selvarani, G. Sadhasivam. Improved cost-based al-gorithm for task scheduling in cloud computing[C]//Computational Intelligence and Computing Research(ICCIC), IEEE International Conference,2010.
Cloud Authorization Technology Solutions Based on .NET
LIU Yintao1LIU Nan2
(1. Department of Information Engineering, Shaanxi Polytechnic Institute, Xianyang712000)(2. Basic Department, Shaanxi Polytechnic Institute, Xianyang712000)
AbstractFrom the point of view of cloud security, cloud security key technologies and research support for the implementation of cloud security related standards and norms are studied. The functions of the software sub module authorization, cloud application login security protection and management of the database security solutions are analyzed, through the deployment and configuration of cloud based .NET technology, including the use of URL authorization, lock .NET configuration settings and authorization security of the database, a reference for the further research of cloud security technology is provided.
Key Wordscloud authorization, protection mechanism, database authorization, solution
收稿日期:2015年12月10日,修回日期:2016年1月19日
基金項(xiàng)目:2013年陜西省高等職業(yè)教育和繼續(xù)教育教學(xué)改革研究項(xiàng)目(編號(hào):13Z17);陜西工業(yè)職業(yè)技術(shù)學(xué)院自選科研項(xiàng)目(編號(hào):ZK13-38)資助。
作者簡(jiǎn)介:劉引濤,男,碩士,講師,研究方向:軟件技術(shù)。
中圖分類號(hào)P315.69
DOI:10.3969/j.issn.1672-9722.2016.06.033