用户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.

IMIDC彩虹数据:日本站群多ip服务器促销;30Mbps带宽直连不限流量,$88/月

imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...

CloudCone:KVM月付1.99美元起,洛杉矶机房,支持PayPal/支付宝

CloudCone的[2021 Flash Sale]活动仍在继续,针对独立服务器、VPS或者Hosted email,其中VPS主机基于KVM架构,最低每月1.99美元,支持7天退款到账户,可使用PayPal或者支付宝付款,先充值后下单的方式。这是一家成立于2017年的国外VPS主机商,提供独立服务器租用和VPS主机,其中VPS基于KVM架构,多个不同系列,也经常提供一些促销套餐,数据中心在洛杉...

LOCVPS洛杉矶CN2线路KVM上线,洛杉矶/香港云地/香港邦联7折

LOCVPS发来了新的洛杉矶CN2线路主机上线通知,基于KVM架构,目前可与香港云地、香港邦联机房XEN架构主机一起适用7折优惠码,优惠后最低美国洛杉矶CN2线路KVM架构2GB内存套餐月付38.5元起。LOCPVS是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。...

asp net空间为你推荐
唐人社美国10次啦急!我和我老公都是第一次.我们有十次左右性生活;为什么我每次都没什么感觉;也没高潮(他有高潮)而且感觉好像没进去;怎么办?燃气热水器和电热水器哪个好电热水器和燃气热水器哪一个更安全,且更节省能源?手动挡和自动挡哪个好自动挡手动挡哪个好?朱祁钰和朱祁镇哪个好大家怎么看明英宗和明代宗音乐播放器哪个好音乐播放器哪个好用浮动利率和固定利率哪个好贷款选择浮动利率还是固定利率车险哪个好买汽车保险,买哪几种比较好雅思和托福哪个好考雅思和托福哪个好考?视频软件哪个好什么看视频的软件好qq空间登录界面怎样进入自己qq空间
什么是二级域名 免费申请网页 香港vps99idc idc评测网 远程登陆工具 商务主机 微信收钱 hostker 合租空间 怎样建立邮箱 网站cdn加速 adroit 中国电信网络测速 腾讯网盘 netvigator 湖南铁通 空间排行榜 中美互联网论坛 卡巴斯基官方下载 域名商城 更多