2

我允许用户使用第三方凭据(我们称之为 SocialFoo)登录我的网站。用户通过 HTTPS 上的 POST 提交 SocialFoo 的用户名和密码。POST 完成后,在服务器端,我通过对 SocialFoo 的 API 调用来验证凭据。

通过 HTTPS 而不是 HTTP 对 SocialFoo 进行 API 调用有什么安全优势吗?由于这个请求理论上不会暴露给用户,除了数据中心的数据包嗅探器之外,是否存在安全风险?

4

4 回答 4

1

通常,在您的会话处于活动状态时的列表中,一些身份验证令牌会随您的每个请求一起传输到服务器。为防止此令牌在通过网络时被捕获和篡改,请确保您对所有需要经过身份验证访问的页面使用 SSL。

于 2012-10-27T06:57:49.543 回答
0

我会说你的具体问题的答案是否定的。SSL 加密用于保护在网络上传输的网络流量。如果两台服务器都在同一个本地网络上,并且该网络位于单个数据中心中,那么使用 ssl 的唯一原因是保护该数据中心内的该网络免受威胁。另一个问题是,不防范本地网络上的威胁是否是一种良好的安全实践。

于 2012-10-28T16:53:40.623 回答
0

是的

如果信息传输不安全,则始终存在信息被盗的风险。作为一般经验法则,任何和所有进出的敏感数据都应该加密。使用 HTTPS 不仅是“安全优势”,而且应该是一项要求。

于 2012-10-27T06:54:24.360 回答
0

除了嗅探您和远程主机之间的流量之外,没有任何风险。SSL 可以在正确使用时保护您免受这种情况的影响。加密可防止您的数据仅在观察时被理解,而身份验证可让您知道它很可能未被篡改。

您关于数据中心嗅探器的具体问题......如果两台主机都位于同一交换机下的数据中心,您可能没问题。如果不是,那么您需要询问两台交换机之间的 VLAN 桥接,假设您为两台主机租用两台交换机。

如果您的数据中心不允许您直接启动并桥接两者,那么您将需要使用 SSL 或任何其他使用良好的方案。如果您想看看查看交换机下的流量是多么容易(有时甚至更远),只需运行 tcpdump (Linux) 或 Wireshark (Windows)。

请注意安全,使用 SSL。这些天来,性能也没有真正的问题,除非您使用 16384 位密钥,运行自己的 CA 并进行实时 CRL 检查,并且需要超过 1,000 个连接/秒。或者,您使用的是旧硬件……在这种情况下,至少使用 2048 位密钥。

此外,根据您的业务或传输的内容,您所在国家/地区可能需要作为法规来保护数据或至少做出合理的尝试来维护某种机密性或身份验证。

补充说明:您提到由于请求未向用户公开,因此您可能不需要 SSL。SSL 保护用户的数据。它不会做任何事情来防止用户对您的协议进行逆向工程,在数据传输之前篡改数据,或类似的事情。我可能误解了你的观点,但我想我会把它扔在那里。

于 2012-10-28T17:20:21.297 回答