Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)qqpublished in(发表于) 2014/7/9 1:35:54 ASP.NET Remoting体系结构(六)
远程处理中的安全性通常,使用.NET Framework远程处理的应用程序比本地应用程序有着一系列更为复杂的安全问题。要在信道上通信,就使得其他人可以注册服务器的信道并调用远程对象,也使得信道中的信息在通信过程中被截取,从而造成巨大的安全隐患。1.信道通信的安全问题加强分布式应用程序的安全性会使程序性能降低。例如,如果通信的一端正在侦听调用,任何了解侦听终结点的未经授权的客户端都可以传递一些序列化的信息,这样,可以在另一终结点反序列化和调用该信息。只有通过相互验证身份并将内容加密,才能合理地确保通信是在信任的组件之间进行的。因此,应该首先评估远程处理应用程序的安全要求,然后评估性能要求。用户应该根据应用程序所需的数据完整性的程度,通过身份验证和加密来公开数据和终结点。2.远程处理委托的安全问题远程处理委托也会造成安全问题。因为委托可以包装静态方法(静态方法不会远程执行)的类型信息,因此服务器应用程序必须始终声明采用自定义参数的自定义委托类型,这些参数在一起不会匹配可以在服务器计算机上调用的静态方法,一定不要允许客户端定义服务器会反序列化的任何类型,并将其传递给应用程序,否则就会留下安全隐患。3.代码访问权限造成的安全问题代码访问安全性基于计算机管理员设置的安全策略控制可执行代码对资源和操作的访问。但是,由于代码访问安全性不审核跨越远程连接的堆栈,因此,远程处理应用程序的开发人员应清楚地知道,远程处理基础结构需要完全信任才能在客户端或服务器上执行。当设计采用.NET Framework远程处理基础结构的安全分布式应用程序时,一个非常重要的环节是确保用户知道所需要的安全级别以及在哪里需要它。
赞