NET 安全体系结构.ppt_第1页
NET 安全体系结构.ppt_第2页
NET 安全体系结构.ppt_第3页
NET 安全体系结构.ppt_第4页
NET 安全体系结构.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NET 安全体系结构,姓名 软件开发工程师 微软,相关安全术语,验证( Authentication ) Kerberos, NTLM, Basic, Digest, Passport 授权( Authorization ) ACL, 特权( privileges ), 权限 ( permission ), 角色( role ) 模拟( Impersonation,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,

2、NET 架构,编程模式 Common Language Runtime 运行和管理执行代码 JIT 及时编译器 Class Libraries Base Class Data Class XML Class ASP.NET classes Windows Forms,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,代码访问安全单一应用程序,代码访问安全组件化应用程序,代码访问安全,安全策略( Security P

3、olicy ) 代码证据( Code Evidence ) 权限( Permission,代码访问安全,控制代码访问资源的机制 定义权限 安全策略管理 允许代码要求拥有权限 授予代码权限 允许代码请求其调用者具备特定权限 动态限制代码安全 ( Stackwalking,代码访问安全,安全策略,代码,加载,代码证据,权限授予,授权规则,代码从哪里来? 代码是谁签的名? 其他,代码访问安全安全策略,安全策略级别 企业范围 本机范围 用户范围 Application Domain 范围( 不可配置 ) 通过 caspol.exe 或 mscorcfg.msc 配置 有效的安全策略是所有级别的交集,代

4、码访问安全代码证据,预定义代码证据 Zone Site Url Publisher StrongName 代码证据是可扩展的,代码访问安全安全权限,NET 安全权限类定义 CodeAccessPermission DBDataPermission PrintingPermission DnsPermission WebPermission EnvironmentPermission FileIOPermission RegistryPermission UIPermission 自定义安全权限,代码访问安全安全权限,IPermission interface namespace System.

5、Security interface IPermission bool IsSubsetOf( IPermisssion target ); / 比较 void Demand(); / 请求 void DemandImmediate(); IPermission Copy(); IPermission Intersect( IPermission target ); IPermission Union( IPermission target );,代码访问安全安全权限,ISecurityEncodable interface namespace System.Security interfac

6、e ISecurityEncodable void FromXml( SecurityElement elem ); SecurityElement ToXml();,代码访问安全安全权限,IStackWalk interface namespace System.Security public interface IStackWalk void Assert(); void Demand(); void DemandImmediate(); void Deny(); void PermitOnly();,代码访问安全安全权限,代码访问安全,程序域( App Domain,已信任宿主代码,代码

7、访问安全,代码实例 静态安全权限请求 using System; using System.Security.Permissions; assembly: PermissionSetAttribute( SecurityAction.RequestMinimum, File = “min_perm.xml” ) assembly: PermissionSetAttribute( SecurityAction.RequestOptional, File = “opt_perm.xml” ) class ep static void Main() Console.WriteLine( “Hello

8、 World” );,代码访问安全,代码实例 动态安全权限请求 using System.Security.Permissions; class Test public void readSomeFile() / 描述你的请求 IPermission request = new FileIOPermission ( FileIOPermissionAccess.Read, ”c:foobarquux.txt” ); / 请求 request.Demand(); / 如果失败, 引发 SecurityException / 请求成功,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP

9、.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,角色安全检查,基于角色的预定义类 GenericPrincipal GenericIdentity WindowsPrincipal WindowsIdentity 自定义类 PrincipalPermission,角色安全检查,IPrincipal interface namespace System.Security.Principal public interface IPrincipal IIdentity Ident

10、ity get; bool IsInRole( String role ); IIdentity interface namespace System.Security.Principal public interface IIdentity String AuthenticationType get; bool IsAuthenticated get; String Name get;,角色安全检查,静态安全检查 PrincipalPermissionAttribute( SecurityAction.Demand, Name = “MyUser”, Role = “User” ) publ

11、ic static void PrivateInfo() / 打印保密数据 Console.WriteLine( “nnYou have access to the private data!” );,角色安全检查,动态安全检查 String id1 = Bob; String role1 = Manager; PrincipalPermission PrincipalPerm1 = new PrincipalPermission(id1, role1); String id2 = Louise; String role2 = Supervisor; PrincipalPermission P

12、rincipalPerm2 = new PrincipalPermission(id2, role2); (PrincipalPerm1.Union(PrincipalPerm2).Demand(,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,ASP.NET 体系结构,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Auth

13、orization) 模拟(Impersonation) ASP.NET 代码访问安全,常见情形当前面临的问题,ASP 验证 Basic, Windows 缺乏一个简单的应用程序接口来决定用户和组信息 窗体式验证 没有直接支持,须通过复杂编程实现,或购买另一种支持表格化验证的产品 不同于 Basic 或 Windows 用户验证的编程模型,常见情形当前面临的问题,ASP 授权 没有一个给代码授权的接口 ASP 沙箱(Sandboxing) 不能把一个 ASP 应用程序限制在有限的运行环境中运行 ISPs 很难在不危及其他客户代码可及性和安全性的情况下允许客户某些特权,常见情形ASP.NET 的

14、解决办法,支持多种验证模式 不论什么样的验证方式, 简单的应用程序接口决定用户和角色 授权 统一的代码授权接口 模拟 以一个固定用户的名义运行, 或者模拟登录用户 通过一个简单的文本配置文件设定 ASP.NET 代码安全访问 基于信任级别来限制 web 应用程序的运行 建立自己的信任级别,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,验证 (Authentication)验证方式,ASP.NET 是一个 ISA

15、PI 扩展模块 Windows 验证 (通过 Internet Information Server) Basic, Digest, NTLM, Kerberos, Internet Information Server Certificate 窗体式验证 应用程序的用户身份验证 Microsoft Passport 验证 自定义验证,验证(Authentication) 窗体式用户验证,容易实现 ASP.NET 提供重定向 自定义登录用户界面 ( 无需弹出式对话窗 ) 自定义用户身份验证 自定义应用程序角色,窗体式用户验证工作流程,Web 流览器,IIS/ ASP.NET,验证(Authen

16、tication) 窗体式用户验证,登录网页 用标准的 HTML 表格提示用户输入姓名和口令 能够用多种机制来验证用户 数据库查找 web.config 文件中的静态姓名和口令 Active Directory 其他,窗体式用户验证程序接口,FormsAuthentication Class RedirectFromLoginPage 用户验证后, 重定向到原来请求的 URL HashPasswordForStoringInConfigFile 密码加密,方便存在配置文件中 GetAuthCookie 获得用户验证 cookie SetAuthCookie 将用户验证 cookie 加入到回复

17、中,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,授权 (Authorization)基于用户,Web.config( ASP.NET ) Syntax:,授权 (Authorization)基于角色,Web.config( ASP.NET ),授权 (Authorization)分配角色,Windows 验证 Windows 组自动变成 ASP.NET 角色 窗体式验证 基于 web.config 文件的静态

18、分配 用编程的方法动态分配,表格验证和授权 演示 #1,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,模拟(Impersonation)Web 站点的身份 (Identity,NT AUTHORITYSYSTEM IUSR_MACHINENAME 基于 Web.Config 文件固定的身份 用户的身份,Windows 验证和模拟 演示 #2,日程,NET 安全体系结构 代码访问安全 角色安全检查 ASP.NET

19、 安全功能 常见情形 验证(Authentication) 授权(Authorization) 模拟(Impersonation) ASP.NET 代码访问安全,ASP.NET 代码访问安全信任级别,单个 web 应用程序能够被分配不同程度的信任级别 信任级别决定访问权限 例如 Full trust: 应用程序能够使用所有资源 (仅受限于操作系统) Low trust: 有限的资源访问, 应用程序目录中的只读文件访问, 有限的网络连接, 等等,ASP.NET 代码访问安全信任级别,4 预定义设置 Full: 无代码安全限制 High: 不允许 native 代码, 可读/写应用程序 目录, 可连接 SQL Server Low: 可读应用程序目录, DNS None: 可执行代码, IsolatedStorage 信任级别能够被自定义或扩展,ASP.NET 代码访问安全单一的安全机制,相同的存取控制被用在整个 .NET 体系中 沙

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论