用户ASP_NET中认证安全特征评述_中文

asp net空间  时间:2021-01-21  阅读:()

ASP.NET中认证安全特征评述

Narcisio Tumushabe,谭冠正(音译)

(中南大学计算机科学与信息技术学院,湖南长沙)

摘 要:讨论了服务应用时支持安全的ASP.NET认证特征,微软的互联网信息服务( IIS)和ASP.NET提供了安全模式,使Web开发者恰当地认证其使用者,并在应用过程中获得正确的安全之本.三个层次的认证是基于表单的,身份证书和视窗认证.综述文献仅限于上述三个领域.

关 键 词:表单;身份证书;视窗认证

中图分类号: TP 文献标识码:A 文章编号: 1000 - 1646 (2003) 03 -0250-05

安全是开发人员和应用程序架构师首要关注的问题。由于不同类型的网站有不同的安全需要开发人员需要知道需要什么程度的安全运行并为他们的程序选择适当的安全模式。有些网站发布的信息不来自用户而是通过搜索引擎等广泛渠道来收集。另外一些网站可能要收集用户的敏感信息 比如信用卡号码这些网站需要非常严格的安全措施 以避免来自外部的恶意攻击。

1 asp.net安全的基本操作

在ASP.NET应用程序的环境中安全的基本操作涉及三步即验证授权和模拟。验证的过程中认证用户身份,允许或拒绝请求。这涉及到接受用户凭据如用户名和密码和凭证核对。经过身份验证合法用户对资源的请求将得到满足。接下来一段时间用户请求资源无需再进行身份验证直到用户退出这个WEB应用程序。授权是给予用户访问特定资源的资格。模拟的过程是使应用程序确认用户的身份从而获得要求的其他资源。基于模拟的身份请求资源将被授予或者拒绝。

2 ASP.NET的验证

验证是Web应用程序的安全一个重要的特征。在ASP.NET中验证表现在两个层次上 [2]首先 Internet信息服务 I IS 将执行必要的验证然后把用户请求发送到ASP.NET中如图1所描述的。ASP.NET应用程序的Web服务器基本是IIS 。因此每个ASP.NET应用程序可以继续利用IIS所提供的的安全

性选项。当用户请求特定资源时这一要求将发送到IIS 。 IIS验证用户的请求然后把认证用户发送给ASP.NET工作进程。 ASP.NET工作进程将决定是否模拟验证IIS所提供的用户。如果Web.config文件中的模仿配置是启用的 ASP.NET工作进程将模拟验证使用者。否则 ASP.NET将自行验证用户身份。毕竟ASP.NET决定用户是否有权访问这些资源。如果他们被允许 ASP. NET提供请求的服务;否者他将一个“拒绝登入”的错误讯息传回给用户。

图1 IIS和ASP.NET的安全流程

ASP.NET通过几种认证机制提供了内置的用户身份验证 [14]它们是基于表单的身份验证应用程序使用自定义身份验证模式的Cookie支持来确保安全身份证书应用程序使用微软的身份证书来身份验证身份证书是微软开发的一个Web单点登录技术还有视窗验证Web应用程序使用从集成视窗身份验证中获得的用户名单来验证用户。

也有些应用程序不使用身份验证或自行开发验证机制。在这种情况下 可以把ASP.NET中身份验证模式设置为关闭。本文将简要地涉及基于表单的,身份证书和视窗认证。

2.1基于表单的认证

基于表单的认证验证是用定制逻辑执行来验证用户运用了Cookie而无需担心Session管理。这使开发人员获得更多的权限去指定哪些文件在网站上可获取和由何人获取并可以识别的登录页。 [3]这一机制将自动重定向未验证用户到登录页并请他们提供适当的凭据例如用户名/密码组合。如果登录成功ASP.NET分配cookie给用户并重定向到他们原先请求的特定资源。此Cookie允许用户反复访问特定资源而不必重新执行登录机制。显示如下

图 2表单认证流程

在上图中首先用户请求资源。这一请求将先到达IIS 由IIS进行用户身份验证的。如果IIS启用匿名访问或者用户已成功通过验证 IIS会将把请求转到ASP.NET应用程序。ASP.NET中查看是否有有效的身份验证cookie附加请求中。如果有它意味着用户先前已通过验证。 AS P.NET将执行授权检查。如果用户有访问这些资源的权限将被允许访问。否则返回登入失败的信息。如果提出的请求没有附带任何Cookie ASP.NET将重定向用户登录页面并要求用户进行身份验证。应用程序代码检查身份证书。如果身份验证通过 ASP.NET

将以附加验证的形式返回Cookie。如果失败了用户可以被重定向到登录页并告诉用户该用户名/密码无效。

建立基于表单的认证

一般来说建立基于表单的认证涉及4个步骤[2]  一启用匿名访问IIS二配置Web.config文件中的<authentication> 三设定Web.config文件中的<authorizatio n> 四创建登录页。

一启用匿名访问IIS

这有许多工作要做因为大多数的用户被认定为非视窗用户所以他们通过IIS进入ASP.N ET  ASP.NET将始终允许匿名访问登入页面。

二配置Web.c o nfig文件中的<authe ntic atio n>

Web.config文件包含了一个Web应用程序的等级和身份验证服务的类型等相关信息。该表单验证通过设置Web应用程序的身份验证模式属性为表单来激活[3] :

正如上面的代码 name属性为HTTP cookie的名称。 loginURL属性设置为登录页面。如需这是该网页所使用的身份验证的用户凭据。如果用户没有通过验证请求将重定向到特定网址lo ginURL。保护属性的有效值分为所有无加密和验证。Cookie保护设置为所有这导致ASP.NET运行时不仅加密Cookie的内容而且验证Cookie的内容。 [8]如果设置为无它不使用任何加密或验证。指定加密将使用DES或DES加密算法加密Cookie cookie中的数据验证不这样做指定验证cookie的数据未作改动的而不是加密Cookie的内容。超时设置为10 这意味着在10分钟后身份验证Cookie将过期。这样做的目的是减少通过验证Cookie偷窃别人的机会。通过减少时钟 cookie将被经常地再生。路径属性是指cookie被发送到用户端的路径。它被设置为“/”这意味着在Cookie路径是根目录。

三配置Web.co nfig文件中的<autho rizatio n>

为ASP.NET Web应用程序添加授权服务。要做到这一点添加Web.config文件中的<authorizatio n>

如上面所解释在用户提供了有效的证书后用户将被重定向到特定的网页。然而授权在此代码中将拒绝除“N arc is”外所有用户的访问。

四创建登录页

这是重定向未经验证用户的最后一步这样他们就可以提供其身份证书通常是某种形式的用户名和密码登录到受保护的资源的授权。在登录页必须通过对比数据库来验证递交的身份证书。有效的用户名和密码可以存储在web.config的凭据(credentials)节

然而 以明文形式存储密码是很不安全的。此外在Web.config文件中存储数千个用户名和密码也是不现实的。 [2 7]为解决这个问题用户名和密码都存储在数据库中这个办法使Web.config文件不再有<credentials>一节。同时Lo gin.Aspx页面也因为身份证书需比对用户名和密码存储在数据库中而发生一些改变。

2.2身份证书

如前所述这个验证机制提供了一个集中的认证服务可为会员提供特有的访问权。在下列情况下使用身份认证 [2] 一用户名/密码数据库或登入页不易

维护; 二希望提供个性化的内容; 三该网站将与其他认证网站结合; 四希望给用户特有的访问权。

创建身份证书

为了实施这一身份认证模式必须在服务器上安装身份证书SDK 软件开发套件和注册微软身份证书。 [1,2]下面的代码设置Web.config文件的身份认证模式(authenticatio n)设置为身份证书

该身份证书的重导向地址Redire ctURL属性设置为内部internal这意味着未经验证的请求能够得到相同的错误信息。 re d ire c tU RL的属性还可以是除interna l外的其他字符串一般是URL用来重定位未经验证的请求。

2.3视窗认证

这种类型的身份认证可能是最简单的一种。视窗认证可与IIS提供的除匿名身份验证外的几乎所有的验证方法结合如基本摘要式N TLM或Kerb e ro s身份验证 [2,4]这里无需写任何代码来验证用户的II S已经验证自己的Windows凭据。基本上视窗认证使用IIS的身份验证功能。 IIS将先完成它的验证功能然后由ASP.NET决定是否给予授权或拒绝服务。

这种机制通常是在用户是Windo ws域和通过身份验证的用户时使用代码执行在安全性与用户的Windo ws帐户相同的环境中。 [4]当用户请求具体的资源这一要求将前往IIS。 IIS中对用户进行身份验证和发放安全令牌给它。然后将通过认证的要求和安全令牌转发给ASP.NET中。如果模拟启用 ASP.NET模拟用户使用安全令牌重视并在Web.config文件的“授权<authorization>”一节中的查看使用者是否被授权访问的资源。如果获得批准 ASP.NET将通过IIS发送用户所要求的资源否则它发出的错误讯息给使用者。

设置视窗认证

视窗认证的唯一的步骤是在Web.config文件中设置身份验证模式为Windows和拒绝存取匿名用户如下所示

模拟只有在代码是在相同的安全环境中的用户帐户才能启用。同样这也要在做配置文件中完成。

2.4结束语

AS P.NET安全认证是Web应用程序安全的最主要特征之一。它分为三个不同的内置服务基于表单的身份认证和视窗认证。基于表单的认证和身份认证不要求用户为Windo ws用户。在视窗认证是为Windo ws域用户设计的。基于表单的认证提供了未经认证的用户登录页面要求他们提供凭据并将对这些证书进行验证。如果用户无权访问特定的资源它将把拒绝存取信息返回到用户。在身份认证中身份的SDK只是在服务器上安装和注册微软身份证书提供了一个由Micro so ft提供登入凭证的访问会员网站的简单的机制。视窗是最方便使用的 因为它不需要写任何代码进行验证。

参考文献:

[1]Bell ,J. ,et al ,2001 ,ASP.NET Pro grammer’ s Reference,Wrox Pre ss Ltd. ,USA.

[2]Chilakala,V. ,2001 ,Microsoft ASP.NET Security,Microsoft Support WebCasts.

[3]Gonzales ,J. ,2002,15 Seconds :Using Forms Authentication in ASP.NET Part 1

[4] Kercher ,J . ,2001 ,Authentication in ASP. NET : . NET, SecurityGuidance,MSDN Magazine August 2001.

[5]Lassan,R. ,Smith,E. ,2002,ASP.NET Bible,Hungry,Minds Inc. ,USA.

[6]Leinecker,R. ,2002,Using ASP.NET,Que Corporation, Indiana.

[7]NET Framework Developer’ s Guide :ASP.NET Web.Application Security,Link.

[8]Kieley,J. ,2001 ,Migrating to ASP.NET:Key Consid2eration,MSDN MagazineNovember2001.

BuyVM新设立的迈阿密机房速度怎么样?简单的测评速度性能

BuyVM商家算是一家比较老牌的海外主机商,公司设立在加拿大,曾经是低价便宜VPS主机的代表,目前为止有提供纽约、拉斯维加斯、卢森堡机房,以及新增加的美国迈阿密机房。如果我们有需要选择BuyVM商家的机器需要注意的是注册信息的时候一定要规范,否则很容易出现欺诈订单,甚至你开通后都有可能被禁止账户,也是这个原因,曾经被很多人吐槽的。这里我们简单的对于BuyVM商家新增加的迈阿密机房进行简单的测评。如...

DMIT(季度$28.88)调整洛杉矶CN2 GIA优化端口

对于DMIT商家已经关注有一些时候,看到不少的隔壁朋友们都有分享到,但是这篇还是我第一次分享这个服务商。根据看介绍,DMIT是一家成立于2017年的美国商家,据说是由几位留美学生创立的,数据中心位于香港、伯力G-Core和洛杉矶,主打香港CN2直连云服务器、美国CN2直连云服务器产品。最近看到DMIT商家有对洛杉矶CN2 GIA VPS端口进行了升级,不过价格没有变化,依然是季付28.88美元起。...

腾讯云新用户省钱秘笈购买云服务器

目前国内云计算市场竞争异常激烈,尤其是国内的腾讯云、阿里云、景安等商家促销活动一波接一波的进行,对于有需要的用户确实得到不小的实惠。但是这样给予国内的主机商确实是比较大的打击,毕竟这些商家的背景和实例强劲,即便是贴本补贴优惠,也是不怕的。前两年阿里一家各种活动促销,确实在国内市场占据主要的市场地位,腾讯云开始两年没有较大的吸引用户,不过这两年的发展还是比较稳健的。我们很多网友在之前肯定也享受到一些...

asp net空间为你推荐
火影忍者644集火影忍者佩恩施放地爆天星的是哪几集 说出前后几集、集数、片名 谢谢了!电脑桌面背景图片如何选到电脑桌面壁纸高清风景图月付百万的女人们我们家的女人们110集优酷 我们家的女人们第110集中文字幕 韩剧我们家的...聚酯纤维和棉哪个好聚酯纤维和棉哪个好免费阅读小说app哪个好求一个看书比较好的APP帕萨特和迈腾哪个好迈腾和帕萨特哪个好三国游戏哪个好玩三国系列的游戏哪个好玩?dns服务器地址DNS服务地址dns服务器故障DNS服务解析故障 怎么办电信dns服务器地址电信光纤的dns地址怎么设置
网通vps ftp空间 站群服务器 哈喽图床 ixwebhosting 免费名片模板 申请空间 linux空间 cdn联盟 北京双线 网通服务器托管 常州联通宽带 安徽双线服务器 网站加速软件 万网注册 国外免费网盘 ncp 最新优惠 phpwind论坛 windowsserver2012 更多