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

LightNode(7.71美元),免认证高质量香港CN2 GIA

LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。新用户注册充值就送,最高可获得20美元的奖励金!成为LightNode的注册用户后,还可以获得属于自己的邀请链接。通过你的邀请链接带来的注册用户,你将直接获得该用户的消费的10%返佣,永久有效!平台目前...

hostodo:2021美国独立日7折优惠促销NVMe硬盘的VPS,低至$13/年,还送DirectAdmin授权

7月4日是美国独立日,大致就是国庆节的意思吧。hostodo今年提前搞了个VPS大促销活动,4款便宜VPS,相当于7折,续费不涨价,本次促销不定时,不知道有多少货,卖完为止。VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个IPv4+/64 IPv6,solusvm管理,送收费版DirectAdmin授权,VPS在用就有效! 官方网站:https://www.hostodo.com ...

提速啦(24元/月)河南BGP云服务器活动 买一年送一年4核 4G 5M

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

asp net空间为你推荐
马云将从软银董事会辞职马云在阿里巴巴是什么职位..首席执行官兼执行董事怎么是卫哲?难道单单是董事会主席法兰绒和珊瑚绒哪个好法兰绒和珊瑚绒哪个好被套好压缩软件哪个好安卓手机哪一款解压缩软件比较好用?谢谢!英语词典哪个好哪个英语词典好核芯显卡与独立显卡哪个好核心显卡和独立显卡哪个好oppo和vivo哪个好vivo和oppo建议买哪个51空间登录手机怎么登陆51空间啊空间登录器qq空间登录不了怎么办qq空间登录网址如何查询QQ空间登入地址?qq网盘在哪里QQ网盘在哪??????
a2hosting westhost 韩国俄罗斯 webhostingpad 国外服务器 正版win8.1升级win10 免费个人博客 cpanel空间 admit的用法 个人免费主页 免费ftp 主机管理系统 服务器论坛 重庆服务器 石家庄服务器 认证机构 asp简介 linuxvi命令 neicun qq部落24-5 更多