1、第十七章 网络安全,17.1 网络安全概述 17.2 .NET安全特性 17.3 Web应用程序的安全性 17.4 套接字权限 17.5 数据加密与传输,18.1 网络安全概述,从广义上讲,术语“网络安全性(network security)”和 “信息安全性(information security)”指确保网络上信息和服 务不会被未经授权的用户使用。安全性意味着安全,包括数据 的完整性,防止对计算资源的未经授权访问,防止随意窃听或 偷窥以及随便打断服务。为求信息的安全,对物理的资源(如各种存储设备、计 算机、网桥、电缆、路由器等)和抽象的资源都要加以保护。,信息安全包括许多防护措施: 数据
2、完整性(data integrity)。安全系统必须保证信息不被未经授权的用户改变。 数据可用性(data availability)。系统必须保证外来者不能阻挡别人的合法数据访问 保密性(privacy)或机密性(confidentiality)。系统必须防止外来者穿越网络时复制 数据,或在复制后了解其内容。 授权(authorization)。让用户只能知道他能够知道的内容。 鉴别(authentication)。系统必须允许通信双方互相鉴别对方身份。 避免重放(replay avoidance)。防止外来者截获分组后利用这些分组进行冒名攻击,系统必须防止接受重新发送的分组。,18.2 .
3、NET安全特性,1. 应用程序安全 .NET Framework提供了很好的安全模式处理应用程序的安全问题。所有在系统上运行的程序必须通过安全系统检查。 安全策略 在CLR中有四级安全策略(从高到低依次为): 企业级策略:级别最高,影响运行在企业域中的所有应用程序,由系统管理员定义。 计算机级策略:计算机种所有托管代码,针对单机设置,最常用。 用户级策略:与当前操作系统用户关联的代码可以限制某些用户访问某些资源。 应用域策略:对不同应用域中的应用程序定义安全规则。(有时用),安全组安全组控制一组应用程序的策略。可以根据应用程序的特性定义组,如应用程序的编写者(生成者)或者应用程序的位置。组成员
4、可以交错,一个应用程序可以是多个组的成员,各组的安全策略都将作用在该应用程序上。 安全权限可以让应用程序在访问受限资源之前请求相应的权限,CLR安全策略决定是否赋予权限或者拒绝请求。1. 权限类型.NET Framework提供三种类型的权限:代码访问权限验证权限角色权限2.权限集,17.3 Web应用程序的安全性,用户名与密码安全机制 用户名/密码安全机制有多个等级,最简单的验证机制是使用Windows本身所带的安全机制即集成的Windows安全验证。 使用ASP.NET表单验证ASP.NET表单将提供上述用户名、密码验证机制。操作顺序:当浏览器发送请求时,ASP.NET先检查授权Cooki
5、e,如果找不到,则使页面转到注册或登录界面,当用户登陆并成功验证之后,ASP.NET设置授权cookie并转向初始访问页面。,18.4 套接字权限,可以通过使用在System.Net名称空间中的SocketPermission和SocketPermissionAttribute类给C#网络应用程序添加这项功能。这些类提供了允许基于客户机网络地址控制访问C#网络程序的技术,这两个类可以实现Socket对象的声明性安全和强制性安全。1.声明性安全 2.声明性安全的实现 3.强制性安全 在应用程序中生成SocketPermission对象以控制访问。对于强制性安全,必须生成SocketPermiss
6、ion对象并且给它分配一组安全权限。可以使用强制性语法执行要求和重写,但不能执行请求。,18.5 数据加密与传输,1.数据加密 对称加密:这种加密算法加密与解密的密钥是相同的,通信双方同时拥有该密钥(又称私钥加密)。.NET提供了对称加密类 不对称加密:这种加密算法向其他用户提供加密密钥(公钥)进行数据加密,自己保留配套的私钥用于对经公钥加密的数据进行解密(又称公钥加密)。公钥只能用于加密使用,不能进行解密,只有私钥才可以解密。这种加密算法非常适合于接受多方数据的情况。.NEt提供了两个不对称加密类用于对数据进行加密。,2.使用数据加密类(使用对称加密类) 3.网络数据加密传输,至此,本课将C#.NET中涉及到的与网 络有关的常用知识就介绍完了,在掌握这些 知识的基础上,进一步研究更深的内容也就 比较容易了,祝同学们心情愉快!,