






















谈到安全,首先应该想到的是三个基本的安全相关的动作,可以用AAA来概括,即Authentication, Authorization and Audit
WCF的运行是基于消息传输的。我们在谈及上述3个security要素的时候,通常假设应用程序通讯及消息传输是安全的。也就是说,WCF作为分布式应用程序的框架,一般情况下会涉及到程序各个节点之间的信息传输,如果这个传输都不安全的话,三A也就没有了构筑安全的应用程序的基石。所以除了AAA意外,WCF安全还要考虑到消息传输安全。
1. Authentication
WCF提供了一些基本的用户验证方式:
2. Authorization
WCF的授权一般来说根据凭证库的类型可分为,基于user/group的和基于user/role的,概念上2者应该一样,不过前者凭证库是AD或者是Windows local user,后者是数据库。当然WCF提供了扩展机制,上面说的2个是最常用的case。
3. Audit
这个没什么好说的,WCF提供了可配置的Audit机制,完全可以做到无编程的仅靠配置的安全审核。
4. 传输安全
传输安全涉及到三个要素:
完整性很容易理解,如果消息被篡改了,意味着客户端调用不再安全,服务必须拒绝客户端调用。那么server如何知道消息是否被篡改了呢?举个例子来说,在我自己的印象中数字签名是一种可以实现完整性的技术。首先要对你要发送的消息进行hash,不同的消息得到的hash肯定是不同的,而且不能通过hash值反推出消息。这样server可以通过相同的hash算法运用到得到的消息上面,把得到的hash值与客户端发送过来的hash值进行比较,如果二者一样,证明消息没有被篡改过。当然应该要对client端产生的hash值进行加密,确保hash值不会也被篡改。。。利用公钥私钥对进行加密解密操作可以减少hash值被获取的情况。
WCF提供了5种传输安全模式:
OK,Security是WCF中最复杂的feature之一,也是这本热带鱼书中我比较感兴趣的。后面会继续写些文章关于其他安全相关的学习。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。