基于.NET的云授权安全技术解决方案研究与实现
2016-01-01刘引涛
刘引涛 刘 楠
(1.陕西工业职业技术学院信息工程学院 咸阳 712000)(2.陕西工业职业技术学院基础部 咸阳 712000)
基于.NET的云授权安全技术解决方案研究与实现
刘引涛1刘楠2
(1.陕西工业职业技术学院信息工程学院咸阳712000)(2.陕西工业职业技术学院基础部咸阳712000)
摘要从云授权安全角度出发,研究云授权安全关键技术,同时研究支持实施云授权安全的相关标准和规范。分析出基于函数的软件分模块授权、云应用程序的登录安全保护以及管理数据库的授权安全性解决方案,通过部署与配置基于.NET的云授权技术,包括使用URL授权、锁定.NET配置设置以及数据库的授权安全性实现,为云授权安全技术的进一步研究提供参考。
关键词云授权; 保护机制; 数据库授权; 解决方案
Class NumberP315.69
1引言
云授权是一种特殊形式的电子授权技术,是互联网技术与传统软件授权技术的结合,一般指将软件授权中所需的安全信息、数据、算法等内容存储在互联网服务器上的实现方案。应用程序通过网络通讯协议,与服务器进行通讯,使用服务器中存储的资源。整个过程都经过了安全保护,具有很高的保护强度。
云授权要求服务器端提供更多的服务和更好的性能,并与传统的使用方式如本地授权技术更好地结合。为了考虑部分客户端电脑的离线状态,云授权技术也支持本地的离线授权定期或在条件许可的时候与服务器进行连接、同步,实现“云验证”功能。
2基于.NET的云授权关键技术
云授权由担任网络服务的服务器端和与之实现安全会话功能的安全客户端组成。应用程序通过安全客户端提供的应用接口对服务器端数据进行间接调用。
云授权的技术实现既包含了传统的客户端安全技术——如防止静态分析和代码逆向工程的技术,也包含了服务器端Web Service,要求能够提供互联网上海量用户的授权请求。
云授权要求服务器端与客户端能够进行安全通讯,以防止通讯内容被监听、篡改或重用。一般来说,客户端服务器的通讯要采用以非对称密钥为基础的安全会话协议[6]。
3.NET保护机制的研究方案
3.1基于WUPI函数的软件分模块授权实现
通常部署在云中的应用程序为WEB应用程序,WEB应用程序可由.NET开发而成,但极易被反编译。为了保护云中的程序代码安全,基于WUPI函数可实现软件的分模块授权,实现中需在不同的方法或类中分配不同的授权,使用WUPI函数在软件代码中查询不同的授权,并设定软件在缺失授权的情况下做出相应的反应。软件商可选择隐藏菜单或显示用户出错信息框。如使用另一个授权(产品码)进行加密,可以实现最高安全强度;通过WUPI查询,可对软件行为预先设定。
加密程序启动时,首先执行代码,检测是否有有效授权,如果检测到授权,即自动分配并解密程序,同时运行完整性校验以验证程序是否遭受篡改攻击。通过采用高效复杂的反调试及防逆向工程的方法,持续不断的监测软件是否受到安全威胁。一旦检测到威胁,即刻终止程序[6]。
3.2云应用程序的登录安全保护
由于云应用程序处于企业网络和监测能力的范围之外,所以它们需要强有力的身份验证和授权控制[2]。客户端的授权也是软件授权方式的体现,另外账户盗用就是一种常见的云安全问题,所以软件开发者需要实施一种比内部应用程序更为严格的身份验证策略,可以充分利用.NET云身份认证功能。
用户登录时,服务器创建一个随机的challenge。用户使用私钥对challenge予以签名,并将其签名作为应答返回至服务器。服务器使用公钥,在服务器中对用户身份进行确认。将公钥存储在服务器,即使黑客获得了数据库中的公钥,因为私钥存储在用户PC,黑客也无法冒充用户进行非法登录。
3.3管理数据库的授权安全性
云产品的出现,基于云战略的云中数据库SQL Azure安全性至关重要,它可以在任何时间提供客户数据应用。SQL Azure为基于Transact-SQL的数据库访问提供了一个TDS接口,将逻辑上的管理与物理上的管理分离了出来,提供大规模的、多租户的数据库服务,以及提供企业级的可用性、可扩展性、安全性和自我修复能力。
4基于.NET的云授权部署与配置[3]
4.1使用URL授权
URLAuthorizationModule将用户和角色映射到URI名称空间中的元素。该模块同时实现肯定和否定的授权声明。也就是说,该模块可以根据用户的某种身份,选择性地允许或拒绝该用户访问URI名称空间中的任意元素。下面的例子为某些域用户授权,但拒绝其他用户[1]。
〈configuration〉
〈system.web〉
〈authentication mode="Windows" /〉
〈authorization〉
〈allow users="domain1user, domain2user2, domain1user3 /〉
〈deny users="*" /〉
〈/authorization〉
〈/system.web〉
〈/configuration〉
4.2锁定配置设置
.NET配置在本质上是层次化的,在计算机级别、应用程序级别和子应用程序级别具有可选的配置文件。子级别配置文件可用于替代更高级别的设置,或用于添加其他配置信息。尽管它提供了很高的灵活性,但有时候管理员希望加强配置设置,不允许他们被指定的应用程序替代。例如,宿主网站的管理员希望指定代码访问安全级别,不允许单个应用程序更改它。结合使用〈location〉元素和allowOverride属性可以实现这一目的[7~8]。
宿主网站的管理员希望确保所有应用程序都不能调用非托管代码。以下配置文件片段说明管理员如何锁定整个站点的代码访问配置设置,并限制高信任级别的应用程序(不允许调用非托管代码):
〈location path="somesitepath" allowOverride="false"〉
〈trust level="high" originUrl="http://somesite.com" /〉
〈/location〉
path属性可以指向站点或虚拟目录,它适用于指定目录及其所有子目录。在上面的示例中,如果将allowOverride设置为“假”,则能够保护站点内的所有应用程序不被〈location〉元素中指定的配置设置替代。锁定配置设置的功能适用于所有设置,而不仅限于信任级别这样的安全设置。
4.3Azure SQL数据库的授权安全性实现[9~10]
从授权角度看,Azure SQLDatabase实现方法更适合用在服务器层次上,在管理一个托管各个SQL Database的逻辑SQL Server(包括表示一个数据库管理单元的Azure平台结构)时,必须用到主数据库中预定义的loginmanager和dbmanager两个角色[3]。
细分访问权限,使用GRANT、REVOKE和DENY T-SQL语句控制每一个模式、对象实例或语句层次的权限。
创建登录帐号,需要创建一个主数据库连接会话,而创建用户帐号需要直接连接目标数据库。从授权角度看,这个登录帐号是唯一的,隐含分配了loginmanager和dbmanager角色所关联的权限,并可以用它连接同一个逻辑服务器的任何一个数据库。
使用CREATE LOGIN T-SQL语句创建更多的登录帐号。要想使用帐号信息连接任何一个数据库(包括主数据库),必须先在该数据库上创建一个相对应的用户帐号。如果要指定一个loginmanager或dbmanager角色的新成员,则需要先使用服务器级主登录帐号登录主数据库,创建一个新的登录帐号,然后再创建一个与此登录帐号相关联的用户(使用CREATEUSER (...) FROM LOGIN T-SQL语句),最后再执行sp_addrolemember存储过程。类似地,如果想让这些登录帐号可用于连接或管理任何一个用户数据库,则需要先连接该数据库,在该数据库上创建一个关联的用户帐号,最后再执行sp_addrolemember存储过程将新创建的用户分配给一个或多个数据库级角色[5]。
5结语
文中针对云授权安全技术,提出了基于.NET的云授权保护机制解决方案,并对云授权系统开发中的保护机制,从云授权安全的角度出发,研究云授权安全关键技术,同时研究支持实施云授权安全的相关标准和规范。分析出基于函数的软件分模块授权、云应用程序的登录安全保护以及管理数据库的授权安全性解决方案,通过部署与配置基于.NET的云授权技术,包括使用URL授权、锁定.NET配置设置以及数据库的授权安全性实现,该方案的提出与分析,为进一步提高网络安全技术提供参考依据。
参 考 文 献
[1] 侯晓欢,陈梅,李晖,等.基于医疗健康云平台的数据分析云服务研究究[J].计算机与数字工程,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].计算机与数字工程,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] 城田真琴.大数据的冲击[M].北京:人民邮电出版社,2013:3-9.Shirota Makoto. Impact of big data[M]. Beijing: People’s Posts and Telecommunications Press,2013:3-9.
[4] 周敏.GARBF在网络入侵检测中的应用研究[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] 王珊,王会举,覃雄派,等.架构大数据:挑战、现状与展望[J].计算机学报,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] 李建华,张爱新,薛质,等.网络安全协议的形式划分析与验证[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] 冯登国,张敏,张妍,等.云计算安全研究[J].软件学报,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] 张健,曹光.互联网中云计算技术研究[J].电信网技术,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日
基金项目:2013年陕西省高等职业教育和继续教育教学改革研究项目(编号:13Z17);陕西工业职业技术学院自选科研项目(编号:ZK13-38)资助。
作者简介:刘引涛,男,硕士,讲师,研究方向:软件技术。
中图分类号P315.69
DOI:10.3969/j.issn.1672-9722.2016.06.033