asp.net-mvc - 在没有 SSL 的情况下保护 API 调用的最佳方式?

标签 asp.net-mvc api security ssl

我们有 100 多个在通用代码库上运行的客户站点,而且这些都是唯一的域。我们想引入利用敏感用户信息的高级功能。这会带来业务问题:

  1. 联系每个客户并要求我们需要付款以确保他们域的证书
  2. 承担所有证书和 future 证书的费用
  3. 承担当前域名的成本并提高 future 的价格以支付每个新证书

现在,重要的是要意识到这里没有我的要求。我是一名工程师,而不是高级决策者,所以我想假设以上 3 种情况都不好(尽管我会展示它们)。

有没有我可以利用的身份验证方案来保护没有 SSL 的敏感 API,还是我运气不好?

我想出的一个解决方案是在我们的主站点上构建一个登录页面,它确实有 SSL,并监听 yay 或 nay 的回调。这遭到了冷淡的接待!因此,欢迎任何非 iframe 的回答!

最佳答案

Is there an authentication scheme I can leverage to secure sensitive APIs with no SSL, or am I out of luck?

真不走运,任何在没有 SSL 的情况下通过网络发送的内容都容易被渗透。您可能真的很难让某人利用他们提取的信息成功发起攻击,但是,总而言之,这可能会反噬您。

一般来说,对于 API,最好的方法是实现某种基于 token 的身份验证,但是,如果没有 SSL(并且除非您进行物理身份验证并移交这些 token ),则必须某种通过线路发送的敏感信息的数量,这才是真正的问题所在。

如果您已经为您的站点提供了 SSL 证书,那么我真的认为您在这里根本不需要客户端证书(除非这是业务要求)。我看不出为什么您不能仅通过 HTTPS 访问私有(private) API 调用并让用户随每个请求一起发送身份验证详细信息。

关于asp.net-mvc - 在没有 SSL 的情况下保护 API 调用的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21311585/

相关文章:

javascript - HtmlPage.Window.Navigate 在调试中有效,但在部署时无效

java - Apache Shiro 配置问题的 Web 应用程序安全性

php - 最佳实践 : safest method to store passwords in a table?

asp.net-mvc - MvcBuildViews true 导致 "'/temp' is not a valid IIS application"错误

asp.net-mvc - 如何根据kendo ui mvc网格中的条件格式化行

asp.net-mvc - 如何以安全的方式呈现单引号

javascript - 自动登录 facebook - FB.Event.subscribe auth.login 不起作用

python - 以下哪项是请求 API 的好方法?

php - 将 Laravel 应用程序连接到 Android

jsp - 从基于表单的身份验证中注销