- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络数据库安全设计和实现
网络数据库安全设计和实现
【摘 要】随着互联网飞速发展,网络环境日益开放,因此,网络数据库的安全问题显得越来越重要。本文论述了网络数据库的安全设计,从三个方面阐述了网络数据库安全的实现,为网络数据库安全建设提供参考。
【关键词】网络数据库;设计;实现;加密;权限
1.引言
近年来,随着计算机科学技术的发展与普及,Internet得到了飞速发展,使得网络不再是单纯的信使,而是一个开放性很强交互的平台,因此网络数据库的安全越来越重要。多用户、高可靠性、频繁的更新和大文件是数据库的特性,这必然使得数据库的建设和维护显得非常困难和繁琐,同时这也使攻击者有机可乘,利用数据库的一些不易觉察的漏洞,进行非法操作。为此,本文主要探讨了网络数据库的安全设计及实现,为网络数据库使用客户提供技术保障。
2.相关技术
2.1 基于角色的访问控制RBAC
RBAC的原理描述如下:用户对应的访问权限是经过授权而获得的,权限只能与角色相对应,角色与权限之间的关系是相互映射的。这样的访问控制方法可以有效简化授权,同时又使指定和执行个性化保护策略的过程更加灵活。用户可以根据实际情况定义角色,也可根据需要重新改变角色。
2.2 .NET Framework
.NET Framework是一个综合性的环境,涉及到用户创建、配置、运行网络服务及其它应用程序。它主要由通用语言运行库、Framework共享对象类别库以及ASP.NET三个部分所构成:.NET Framework类库的特色为:提供可继承的基类;包涵基于Web的应用模型;提供Web服务框架的组件以及相关服务等。
3.网络数据库安全的设计
3.1 系统的架构设计
本文研究的网络数据库安全访问系统主要分成三大部分,分别是:表示层、数据访问层以及数据层,架构设计如图1所示。
由上图可知,整个系统都是基于认证服务器器。系统架构中的几个层次分别承担不同的功能,而面向角色的数据库访问控制在每个层次中都有实现,并结合对应的安全策略及组件来满足数据库访问机制的控制需求。其中,表示层是用户与系统之间的交互接口;数据访问层则是用户与数据库之间的核心层,主要负责逻辑方面的功能控制,涉及到:认证以及数据加密等;数据层则是指数据存储、封装以及调用的功能层次。
图1 网络数据库安全访问系统的架构设计示意图
3.2 系统的访问策略设计
首先,针对用户端,系统必须提供友好的交互界面。本文研究的网络数据库安全访问系统是基于Windows环境的,借助于.NET实现用户端的认证,并提供规范化的用户输入验证。系统的服务器端会实时接受用户端的请求,并做出响应。此外,系统还对用户输入信息进行有效过滤,可以避免网络上的一些恶意代码进行SQL形式的注入。
其次,系统数据流不仅包括数据本身,还包含密码及连接字符串等信息,如果不进行相关处理而直接在网络上进行传输的话,容易造成信息的泄露,可见,对系统数据流进行加密还是非常有必要的。
另外,面向角色的安全访问机制也是系统安全策略的重要组成部分,可以借助于认证服务器完成。该认证服务器涉及到业务逻辑以及数据库认证授权等。只有被认证服务器认证通过,并授权的用户才可以进行数据库进行访问等操作。
4.网络数据库安全的实现
4.1 系统表示层
网络数据库安全访问系统的表示层是系统的第一屏障,负责用户信息的接收、过滤以及提交等。表示层主要是借助于窗体进行呈现,以树状列表显示用户名及其对应的角色,涉及到:用户登陆ID、用户名、登录时间以及相关权限等。系统表示层中窗体认证的设计如下描述:
(1)用户发出一个数据库连接请求,Internet信息服务允许该数据库连接请求,并由.NET对进行检查。当用户请求认证通过后,就可以被定向到登录界面,用户必须提供用户名及对应密码才可以提交登录窗体。
(2)系统针对用户提供的用户名及密码,根据数据库中相关信息进行匹配验证,如验证通过即分配对应角色。同时,创建Cookie并反馈给用户端。这个时候,可以先将角色暂存在对应的数据字段中,可以防止该用户后续发出的数据库连接请求时,重复获取该角色。
(3)当用户被重定向到最初界面的时候,事件处理程序就会创建对象Iprinicipal,并将该对象保存在Http Context中。最终,用户就根据角色分配登录不同的界面进行数据库的相关操作。
另外,系统表示层中涉及到了SQL注入式攻击的防范设计。本系统在进行SQL语句以及存储过程调用的时候,直接使用Parameters集合,这样可以有效实现不管用户输入何字符,都可以视为文本进行处理,且能够对字符进行类型以及长度方面的检查,有不合格字符值时还可以触发异常。但需要注
文档评论(0)