我知道这个问题有点偏向意见/讨论,但我认为有一个可证明的答案。
我认为“通过默默无闻的安全性”的普遍观点是,只要攻击者无法猜测进入的方式,安全性就会持续存在。
在已知大规模攻击或常见攻击向量的环境中,这通常比许多人认为的要简单得多。
但是,我认为很多人不会将需要用户名/密码组合的要求归类为“通过默默无闻的安全性”的版本
我的问题是这样的:
以下两个 url 在安全方面有什么(安全)差异(如果有)(请注意下面列出的警告):
原型 URL:
- [加密方案/协议 SSL]://[用户]:[密码]@[域]
- [加密方案/协议 SSL]://[域]/[用户][密码]
例子:
- https://a93010d0-cc6c-11e2-8b8b:0800200c9a66@www.example.com
- https://www.example.com/a93010d0-cc6c11e28b8b0800200c9a66
注意事项:
- 假设这些 url 由低级 HTTP 客户端访问,而不是 Web 浏览器。(即客户端没有记录请求,并且是受信任的——我知道低级别的!=“受信任”,但我想将我们的浏览器缓存作为这个问题的一个区别)。
- 我知道如果您对 guid 的源机器和时间(可能还有其他因素)有足够的了解,那么有已知的方法可以“预测”可能已经生成的 GUID。我不知道您是否可以从示例 guid 中提取此信息。假设 Guid 通常是不可预测的。
- 尽管我已经尝试用 1 来解决这个问题,但让我明确一点:人类永远不会直接与这些 URL 交互(或者甚至在没有深入编译的应用程序的情况下看到它们)
第二个 URL 是通过默默无闻实现安全的示例吗?还是因为客户端提供的保护较少而导致安全性降低?