| | | | | | | [文章信息] | | | 作者: | 陶刚编译 | | 时间: | 2003-08-19 | | 出处: | yesky | | 责任编辑: | 方舟 | |
| [文章导读] | | | .NET框架组件为在代码中使用介绍很多有趣的安全结构,代码访问安全性就是一个例子 | |
| |
|
| | | |
|
|
|
|
|
.NET框架组件与安全性
.NET框架组件为在代码中使用介绍很多有趣的安全结构。代码访问安全性(Code Access Security)就是一个例子。安全结构的另一部分是可管理组件的强化名字绑定。为了安全地从服务器向客户端传递代码更新,我使用该特性。问题是自动更新应用程序通过Internet与服务器和下载的文件(包括将安装到客户端的代码)与一个服务器有关联。这些新文件不能在客户端和服务器之间被网络上怀有恶意的人控制。
这个问题的解决方法之一是整个数据交换通过HTTPS连接。BITS服务能够通过HTTPS协议定位目标资源。HTTPS仅仅是使用了加密的SSL/TLS通道的HTTP通讯。但是该方案有几个缺点。
首先是降低了性能。Web服务器优于发送静态内容(例如HTML文档或者EXE文件)。当微软Internet信息服务(IIS)接收到一个静态文件的请求时,它对TransmitFile Win32 API作一个调用。TransmitFile在驱动层将位逐个地从文件系统复制到网络流,提供了极佳的性能。当你通过HTTPS加密时,性能大幅度的减低了,因为文件的每一位都要加密,这将增加与更新相关服务器的代价。使用HTTPS的另一个问题它使Web服务器成为安全结构中易于损坏的节点。如果Web服务器被损坏了,客户端将盲目地下载并安装服务器上带有恶意的内容。
使用.NET框架组件的一个相当简单的特性,可以在没有这些缺点时获得更新文件传递的更高安全性。首先,加密的SSL/TLS通道是不必要的(这样Web服务器的输出不会受影响),其次使用这个方案,来自损坏服务器的大的安全威胁将被服务器和客户端拒绝,服务器将被禁止在客户端上运行恶意代码。.NET框架组件的该特性就是强化名字绑定,它是组件载入程序的一部分。
|
|
|
|
|
|
|
|