我们有 100 多个在通用代码库上运行的客户站点,而且这些都是唯一的域。我们想引入利用敏感用户信息的高级功能。这会带来业务问题:
- 联系每个客户并要求我们需要付款以确保他们域的证书
- 承担所有证书和 future 证书的费用
- 承担当前域名的成本并提高 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/