我正在开发一个其余的WCF Web服务,我的客户端将使用HTTP调用该服务。将使用用户名和密码(基本身份验证)对用户进行身份验证 我脑子里有以下问题。
1。如何保护用户名和密码? 在互联网上搜索时,许多人建议使用HTTPS / OAUTH / OPENID。我觉得以下是使用任何此类
的冲突。
答案 0 :(得分:0)
避免中间人攻击的最佳方法是使用带HTTPS的服务器并在客户端验证证书。如果您使用浏览器作为客户端,则会自动为您完成此操作。
无论您是否通过用户名和密码或持有令牌,您都需要使用HTTPS来防止他们被同一网络上的任何人窃取。
由于我已经描述过here的多种原因,在每个请求中发送密码都是一个坏主意。如果您使用的是SOAP服务,我建议您考虑使用承载令牌,以防您的服务是WCF REST服务或SAML保护绑定。
您没有提及您的客户端是Web应用程序还是本机客户端,或者该服务是在Internet上还是在企业防火墙内公开。所有这些因素都会影响安全方面的决策。
OAuth不是唯一基于令牌的身份验证机制。对于企业应用程序,您可以查看WS-Federation / WS-Trust和ADFS。 此外,OAuth授权服务器不必是外部参与方,您可以将授权服务器部署为应用程序的一部分。