我最近一直在做很多关于WCF,Web服务和分布式计算的学习和工作,但大多数安全概念都在我的脑海中.传输安全性,消息安全性,加密,证书等.我理解对称和非对称加密的基础知识,但我并不真正理解它们在SOAP对话中的实际应用.
我读过规格,但看起来有点密集.任何人都可以向我指出从基础开始并从那里开始工作的资源吗?我很想从大学的网络课程中剔除教科书,以便更好地了解最低级别的情况,但我不知道这是否是非常低效的.我不想阅读一个充满东西的小型图书馆 - 我只想坚定地理解这些概念,并能够将它们解释到桌面上的橡皮鸭上.
编辑:
自从我第一次写出答案以来,这已经有好几年了.已经广泛采用了支持Web的API和基于令牌的信任中继.
我还没看过,但是如果你正在寻找WCF特有的东西,Windows Communication Foundation Security将是一个很好的起点.
同时请关注Facebook,Google和Twitter等主要玩家正在做的事情.他们使用OpenID和OAuth等开放协议.起初,OAuth看起来很复杂,但您应该了解其机制.
在我看来,早期OAuth重新发明了SSL已经解决的许多轮子,并留下了一些安全漏洞.一个有趣的读物是妥协推特的OAuth安全系统.Facebook的OAuth 2.0实施和Google的OAuth 2.0实施通过在有意义的地方使用https来简化其中的许多问题.这些必须读.

围绕OAuth的基本概念是信任中继.您希望第三方开发人员针对您的API制作应用,但最终用户无法始终信任这些应用.给他们密码,就像把钥匙交给王国.因此,用户在您的UI中键入密码,并且您的UI会使用访问令牌重定向到第三方.
构建安全的ASP.NET应用程序:身份验证,授权和安全通信是对ASP.NET安全模型的一个很好的介绍.您可以跳过详细信息,因为现在大部分技术都已过时.
特定于Web服务的一个很好的概述是Web服务安全性:Web服务增强(WSE)3.0的方案,模式和实现指南.它说WSE,但基本概念仍然保持不变.
要获得有关WS-Security的更多详细信息,请阅读使用WS-Security保护Web服务:揭开WS-Security,WS-Policy,SAML,XML签名和XML加密的神秘面纱.
使用WS-Security保护Web服务http://ecx.images-amazon.com/images/I/51QPQ9QRZQL._SL500_AA240_.jpg
阅读上面的内容后,真正帮助我的是查看Amazon S3的身份验证等现有实现:
Amazon S3的身份验证http://docs.amazonwebservices.com/AmazonS3/2006-03-01/images/HMACAuthProcess_You.gif
每个身份验证frob特定于用户和应用程序的api密钥,并且只能与该密钥一起使用.
身份验证frobs从创建时起60分钟有效,或直到应用程序调用flickr.auth.getToken,以较早者为准.
每个用户每个应用程序只有一个身份验证frob在任何时候都有效.应用程序必须处理过期和无效的身份验证,并知道如何续订它们.
许多Twitter API方法都需要身份验证.所有响应都与身份验证用户的上下文相关.例如,尝试检索与请求用户不是朋友的受保护用户的信息将失败.
目前,HTTP基本身份验证是唯一受支持的身份验证方案.通过Basic Auth进行身份验证时,请使用您注册的用户名或电子邮件地址作为用户名组件.会话cookie和基于参数的登录已知有效,但尚未得到官方支持.
基于OAuth令牌的身份验证方案不久将作为实验性测试版提供.
所以很高兴知道复杂的证书和PKI的东西,但世界似乎没有它就好了.
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |