安全性话题是一个广泛的话题。很多研究都表明,早期的身份验证和授权设计可以消除绝大多数应用程序的安全弱点。所以越早考虑安全性的问题,安全度越高而且安全设计更容易规划。因此,安全性也就越来越受到软件开发管理人员的重视了。作为.NET
Framework的重要组成部分,ASP.NET是编写动态Web页的一种强大的新技术。其安全性问题也倍受关注的。
身份验证,授权以及安全通信方面是安全性最基本的3个重要概念。几乎所有安全性的设计都离不开这3个方面。而身份验证是3点当中最重要的一点,也是普遍很多软件开发人员都会采用的技术,它是一个标识应用程序客户端的过程。从服务器设计的不少例子就可以体会到ASP.NET的安全验证特点对支持安全性的作用。IIS和ASP.NET都提供了身份验证的安全模式允许用户适当的获得相应的权限处理相应的应用。ASP.NET支持三种身份验证提供程序:表单身份验证,Passport身份验证以及Windows身份验证。每个身份验证又可细分为更小更详细的身份验证。
.NET框架的安全性和web服务的安全性是一对很好的组合。框架安全性方面涉及到代码访问的安全性,主体和标识以及远程处理等方面。客户可以通过web访问ASP.NET系统。从安全角度看,它存在的问题与开发交互式网站的问题类似。需要使用与保护 ASP .NET 资源相同的机制来保护 Web
服务(如 IIS 和 ASP .NET
身份验证提供程序)。ASP.NET通常是与SQL Server结合来实现对数据库的操作与储存的,windows身份验证以及sql身份验证是数据访问的安全性问题上的两种身份验证。
系统要求安全级别越高,需要考虑的问题就越多,只有各个方面都处理到位了,系统的安全系数才能达到最高。
关键字:安全性,身份验证,授权。
The topic of security is
one of the most widely topics. Many researches indicate that setting
the authentication and the authorization the
………………….
摘要 I
Abstract II
目录 IV
第一章绪论 1
1.1身份验证. 1
1.2授权. 2
1.3安全通信. 2
第二章 .NET框架的安全性 4
2.1 代码访问安全性. 4
2.2 主体和标识. 6
2.3 WindowsPrincipal 和
WindowsIdentity 7
2.4 ASP.NET和HttpContext.User 8
2.5 远程处理和web服务. 9
第三章身份验证 10
3.1安全性考虑. 10
3.2 IIS和ASP.NET之间的关系. 11
3.2.1 ASP .NET 身份验证提供程序和 IIS
安全性. 12
3.2.2 使用 Windows
帐户进行身份验证. 13
3.2.3 使用非 Windows
帐户进行身份验证. 14
3.2.4 应用程序标识. 14
3.3身份验证方法. 15
3.3.1 匿名身份验证. 15
3.3.2 基本身份验证. 16
3.3.3 简要身份验证. 18
3.3.4 集成 Windows
身份验证. 19
3.3.5证书身份验证. 21
3.3.6 passport 身份验证. 23
3.3.7 表单身份验证. 24
第四章Web服务安全性 28
4.1 Web服务身份验证. 28
4.1.1使用 Windows
帐户和 IIS 身份验证. 29
4.1.2使用证书和证书映射. 29
4.1.3自定义身份验证. 29
4.2 Internet 协议安全性. 29
4.2.1在 Web
服务中使用 Passport 30
4.2.2授权. 30
4.2.3使用 Windows
ACL 30
4.2.4使用 URL
授权. 30
4.2.5 Windows Principal 对象. 31
4.2.6 Generic Principal 对象. 31
4.3 角色和方法级别安全性. 31
4.3.1代理. 32
4.3.2客户端访问. 32
第五章数据访问的安全性 33
5.1 Windows身份验证. 33
5.1.1 使用windows身份验证. 33
5.1.2 使用windows身份验证连接到SQL
Sever 33
5.1.3 使用ASP.NET中的固定标识. 34
5.1.4 使用原始调用者的标识. 35
5.1.5 使用匿名Internet用户帐户. 35
5.2 SQL身份验证. 35
5.2.1 连接字符串类型. 35
5.2.2 选择一个用于连接的SQL帐户. 37
第六章系统介绍 38
6.1选择专家的设计. 38
6.2为招标工程确定大项小项及设定标准:. 39
6.3专家评标. 40
6.4中标流程(选择公司). 41
6.5设定评分标准(根据具体情况添加新的大项和小项). 41
6.6其他的一些内容. 42
第七章安全性的应用 45
7.1身份认证安全性. 45
7.2数据库访问安全性. 48
7.3代码访问安全性. 49
7.4算法设计上的安全性. 51
7.5模式设计上的安全性. 51
第八章总结 53
致谢 54
参考文献 55
基于ASP.NET网上招投标系统的安全性策略
不论对应用程序设计者还是开发人员,安全性都是关注的主要问题。您需要保护存储敏感信息的应用程序,既要防止恶意攻击,又要防止竞争对手窃取信息或知识产权。在为您的应用程序设计安全模型时,您需要从业务角度了解安全要求,以及选定的安全模型在性能、可伸缩性和部署上所具有的含义。我这次毕业设计有幸与班里两位同学一起合作用ASP.NET开发一个招标系统。在开发过程中,对ASP.NET的安全性问题有些许的接触,因此以此为题作为毕业设计的论文,希望通过这次论文的完成能够对ASP.NET的安全性能更进一步的了解。
在进入正文之前,先介绍点关于安全性的相关安全基础知识。
任何成功的应用程序安全策略的基本都是稳固的身份验证和授权手段,以及提供机密数据的保密性和完整性的安全通信。在继续讨论之前,我们需要明白这些核心概念的定义,这点相当重要。
身份验证(authentication)是一个标识应用程序客户端的过程,这
里的客户端可能包括终端用户、服务、进程或计算机。在安全性用语中,通过了身份验证的客户端被称为主体(principal)。
身份验证可以跨分布式web应用程序的多个层发生。终端用户起初由web应用程序进行身份验证,通常是根据用户名和密码来进行的。随后,当终端用户的请求由中间层应用程序服务器(如果体系结构中存在这样一个服务器的话)和数据库服务器处理时,它们也将进行身份验证以便验证并处理这些请求。
在许多应用程序中,下游的服务器和组件不对终端用户进行身份验证。相反,它们对作为上游应用程序的实体进行身份验证,这样做的前提是,它们相信上游应用程序在将用户的请求转发给自己(下游)之前已经正确地进行了身份验证和授权。
这部分将来第三章以设计服务器应用程序展开详细的介绍。
授权(authorization)过程负责控制通过了身份验证的客户端可以访
问哪些资源,以及执行那些操作。这里的资源包括文件、数据库、表和行等,另外还包括系统级的资源,例如注册表键和配置数据。
许多web应用程序通过方法(method)来授权客户端所能够执行的操作,而不是直接授权客户访问底层的资源,这样做的主要原因是考虑到可缩放性和可管理性。所以,使用诸如Windows A
CL等平台级安全机制来保护系统级资源仍然是根本。在大多数应用程序级授权方案中,其中许多方案使用了角色(role)将具有相同权限的用户组分为一类。
许多应用程序在应用程序的各层之间传输机密数据:从数据库服务器
到浏览器,或者从浏览器到数据库服务器。机密数据的例子包括银行帐户的详细资料、信用卡号码和薪金数据等。另外,当登陆凭据在网络上传输时,应用程序必须保证凭据信息的安全。
安全通信提供了以后良种特征:
1
保密性(privacy):保密性用于确保数据的机密性,不能被那些可能安装有网络监视软件的窃听者看到。通常通过加密来提供保密性。
2
完整性(integrity):安全通信信道必须确保数据在传输过程中不会有意或者无意地被修改。通常通过消息验证码(MAC,Message Authentication
Code)来提供完整性。
最后简要介绍论文章节安排:
第一章:绪论。简要介绍安全性的基本知识以及论文大概的章节安排;
第二章:.NET框架的安全性:就.NET整体框架上从5个方面谈.NET框架的安全性
第三章:身份验证。身份验证是安全性3个基本概念中最重要的一个,所以本章节用独立的一个章节,以设计服务器为例重点谈身份验证的相关知识以及介绍身份验证的各种类型
第四章:web服务安全性:web服务跟分布式应用程序的表示层有直接的联系,本章节详细介绍web服务的安全性
第五章:数据库访问的安全性:数据库访问跟分布式应用程序的数据访问和存储层有直接联系,本章节从windows身份验证以及sql
server身份验证两方面谈数据访问的安全性
第六章:招标系统:招标系统的基本功能介绍
第七章:安全性的应用:结合招标系统介绍安全性的应用。
第八章:总结。
招标系统是由政府发布招标信息,需要竞标的公司参加投标,由管理人员为此招标工程选取若干个符合条件的专家,并为招标工程选择评分项目(分大项和小项)及评分标准(所有大项的和是100分,同一大项下的小项和是100分)。专家登入此系统后,可以看到他所要评分的招标工程,点击他所需要的工程并为每个参加投标的公司评分。当所有专家都评分之后,管理员将评分结果相加,根据评分结果的总和,在前三个综合成绩比较高的公司中选取一个最合适的公司作为中标公司,删除招标信息并发布中标结果。这是招标系统的基本主要作用。
下面介绍这些招标系统主要部分的设计。