如何保护JavaScript客户端可以使用的WCF服务?任何特定的安全模型?当客户端可以使用Javascript时客户端WCF服务的安全性客户端
我的理解是WCF支持通过使用传输和消息安全的有线数据加密。但是WCF仍然不安全,因为任何人都可以使用该服务(身份验证缺失)。只有数据移动“来回”在通道上加密。这是不够的。因此,我们引入了Mutual Authentication并选择了Certificate作为cridentials。客户需要做的事情是:除了所有的SOAP请求之外,他还应该发送一个有效的证书(客户端代码包含public和PRIVATE KEY,并由WCF管理员发布)由我的服务器信任的CA颁发。
我们使用basicHttpBinding是因为我们的客户端可以是Javascript/Ipad/.Net/DBL客户端。我们可以使用.Net/SOAPUI/JAVA客户端来使用这些服务。所以我们对这种方法很满意。
但今天在分析中,我们发现JavaScript客户端无法使用我们的服务,因为它不支持相互身份验证(如果我错了,请纠正我)。即使它支持相互身份验证并向服务器发布有效证书,我们也不能让所有客户端(Web浏览器)提供客户端证书,因为它还包含公共密钥和私有密钥(请注意私有密钥!)以及这是我的服务器盲目信任的。
现在我有点困惑。有人可以建议一些JavaScript支持的安全模型,而不会有任何安全隐患。像RESTful WCF一样。
据我所知,JavaScript不支持Message Security,它只支持传输安全。我不在乎数据如何通过电线加密。我关心的是客户端如何通过我的WCF服务进行身份验证。
非常感谢
你可以尝试使用HMAC算法进行身份验证,许多服务提供商如amazon等使用该算法... – Rajesh 2012-07-26 09:52:49