【PPT】-.NET安全体系结构

上传人:jiups****uk12 文档编号:45558709 上传时间:2018-06-17 格式:PPT 页数:58 大小:1.63MB
返回 下载 相关 举报
【PPT】-.NET安全体系结构_第1页
第1页 / 共58页
【PPT】-.NET安全体系结构_第2页
第2页 / 共58页
【PPT】-.NET安全体系结构_第3页
第3页 / 共58页
【PPT】-.NET安全体系结构_第4页
第4页 / 共58页
【PPT】-.NET安全体系结构_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《【PPT】-.NET安全体系结构》由会员分享,可在线阅读,更多相关《【PPT】-.NET安全体系结构(58页珍藏版)》请在金锄头文库上搜索。

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

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

3、ERNEL32.DLLUSER32.DLLUSER32.DLLGDI32.DLLGDI32.DLL代码访问安全 组件化应用程序AliceAliceAPP.EXEAPP.EXEKERNEL32.DLLKERNEL32.DLLUSER32.DLLUSER32.DLLGDI32.DLLGDI32.DLLFOO.DLLFOO.DLLBAR.DLLBAR.DLLBAZ.DLLBAZ.DLLACME.DLLACME.DLL代码访问安全l安全策略( Security Policy )l代码证据( Code Evidence )l权限( Permission )代码访问安全l控制代码访问资源的机制定义权限安全

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

5、义CodeAccessPermissionDBDataPermissionPrintingPermissionDnsPermissionWebPermissionEnvironmentPermissionFileIOPermissionRegistryPermissionUIPermissionl自定义安全权限代码访问安全 安全权限lIPermission interfacenamespace System.Security interface IPermission bool IsSubsetOf( IPermisssion target ); / 比较void Demand(); / 请求

6、void DemandImmediate();IPermission Copy(); IPermission Intersect( IPermission target ); IPermission Union( IPermission target ); 代码访问安全 安全权限lISecurityEncodable interfacenamespace System.Security interface ISecurityEncodable void FromXml( SecurityElement elem ); SecurityElement ToXml(); 代码访问安全 安全权限lI

7、StackWalk interfacenamespace System.Security public interface IStackWalk void Assert();void Demand();void DemandImmediate();void Deny();void PermitOnly(); 代码访问安全 安全权限代码访问安全证据组件 3 DLL程序域程序域( App Domain )( App Domain )已信任宿主代码权限 请求安全策略+最大授予=组件 1组件 2G1G2策略管理G3组件 3InheritanceDeman d, LinkDemand?JIT/验证类型安

8、全?代码访问安全l代码实例静态安全权限请求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

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

10、全功能常见情形验证(Authentication)授权(Authorization)模拟(Impersonation)ASP.NET 代码访问安全角色安全检查l基于角色的预定义类GenericPrincipalGenericIdentityWindowsPrincipalWindowsIdentity自定义类PrincipalPermission角色安全检查lIPrincipal interfacenamespace System.Security.Principal public interface IPrincipal IIdentity Identity get; bool IsInRo

11、le( String role ); lIIdentity interfacenamespace System.Security.Principal public interface IIdentity String AuthenticationType get; bool IsAuthenticated get; String Name get; 角色安全检查l静态安全检查 PrincipalPermissionAttribute( SecurityAction.Demand, Name = “MyUser”, Role = “User” ) public static void Priva

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

13、 = new PrincipalPermission(id2, role2);(PrincipalPerm1.Union(PrincipalPerm2).Demand(); 日程l.NET 安全体系结构代码访问安全角色安全检查lASP.NET 安全功能常见情形验证(Authentication)授权(Authorization)模拟(Impersonation)ASP.NET 代码访问安全ASP.NET 体系结构Web Web 客户客户ASP.NET ASP.NET 应用程序应用程序.NET .NET 架构架构Windows NT/2000Windows NT/2000 操作系统操作系统IIS

14、IIS日程l.NET 安全体系结构代码访问安全角色安全检查lASP.NET 安全功能常见情形验证(Authentication)授权(Authorization)模拟(Impersonation)ASP.NET 代码访问安全常见情形 当前面临的问题lASP 验证Basic, Windows缺乏一个简单的应用程序接口来决定用户 和组信息窗体式验证没有直接支持,须通过复杂编程实现,或 购买另一种支持表格化验证的产品不同于 Basic 或 Windows 用户验证的编 程模型常见情形 当前面临的问题lASP 授权没有一个给代码授权的接口lASP 沙箱(Sandboxing)不能把一个 ASP 应用程

15、序限制在有限的运 行环境中运行ISPs 很难在不危及其他客户代码可及性和 安全性的情况下允许客户某些特权常见情形 ASP.NET 的解决办法l支持多种验证模式不论什么样的验证方式, 简单的应用程序接口决定 用户和角色l授权统一的代码授权接口l模拟以一个固定用户的名义运行, 或者模拟登录用户通过一个简单的文本配置文件设定lASP.NET 代码安全访问基于信任级别来限制 web 应用程序的运行建立自己的信任级别日程l.NET 安全体系结构代码访问安全角色安全检查lASP.NET 安全功能常见情形验证(Authentication)授权(Authorization)模拟(Impersonation)ASP.NET 代码访问安全验证 (Authentication) 验证方式lASP.NET 是一个 ISAPI 扩展模块lWindows 验证 (通过 Internet Information Se

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号