实施Web服务/API的最安全方式是什么?

5
我有一个网站,其中包含用户及其相关数据。
实现网页服务/ API 的最安全方式是什么?即使在其他网络应用程序中不一定会使用oAuth,但它也不是一个选项。
我的担忧是,将用户名和密码作为输入明文传输是危险的,而令牌也可能被窃取并恶意重复使用。
我需要自己想出加密解密数据的方法吗?还是已经存在常见做法?
整个问题的关键在于尽可能地对世界上任何人开放使用,但仍然具有安全性。文档将提供给所有人使用。
5个回答

4

3
使用SSL连接如何呢?

3
不要自己编写加密算法。
使用一些SSL协议有什么问题?在“常规”的WSDL/SOAP客户端(asmx)中,使用SOAP标头来实现这一点并不罕见(通过SSL)。通过WCF,这被正式规范为TransportWithMessageCredential(只需搜索即可)。当然,您也可以使用证书、联邦、Kerberos等。除了传输安全(SSL)之外,WCF还支持基于消息的安全性 - 增加了一个特性,您可以仅加密安全标头。就我个人而言,我喜欢使用TransportWithMessageCredential(即SSL),让它保持简单。

0

为什么不使用标准的WS-Security呢?

编辑:只是想补充Justin的答案,它也被实现在WCF中。


0

任何与第三方共享的身份验证方法都容易被利用,你必须在某个地方划定界限。使用HTTP/S和WS-*服务来保护连接可能是最好的方法。如果该服务只能由已知系统通过固定IP地址访问,则可以使用防火墙进一步保护您的系统免受外部干扰。


带有支持文档的开放源代码。 - Theofanis Pantelides

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接