在半私有数据的URL中使用UUID是否安全?

问题描述 投票:0回答:2

我经营一家园林绿化公司,有多个工作人员。我想为每个人提供一个自定义URL(如mysite.com/xxxx-xxxx-xxxx),以显示他们的日程安排。转到该页面将列出当天5-10位客户的姓名,地址和电话号码。

在半私有数据的URL中使用UUID是安全/明智的吗?

security uuid websecurity
2个回答
1
投票

取决于你想要它的安全性。

UUID是否用于其他任何事情?如果没有,它们可以用于创建随机URL。

但是,浏览器历史记录将允许使用同一台计算机的任何人查找URL。此外,除非使用https,否则网络嗅探器可以轻松查看请求的URL并转到同一页面。

另一个问题是蜘蛛机器人。确保没有链接到这些页面,使用robots.txt来防止索引网站,但您仍然可能会发现某些页面显示在搜索引擎上。将UUID设置在cookie中可能会更好,并检查确定它是哪个员工,以免您的半私人页面开始显示在谷歌上。


0
投票

该模式是否适合您,取决于您的威胁模型(以及一些实现细节)。如果没有具体的威胁模型,就无法对您的问题给出明确的答案。

但是,我可以就解决方案的潜在问题向您提供一些想法,以便您确定它们是否与您的应用程序相关。这不是一个完整的列表。

在实施方面:

  • 并非所有UUID生成器都是相同的。理想情况下,您希望使用基于加密安全RNG的生成器,提供UUID,其中每个字节都是随机选择的。
  • 使用UUID进行数据库查找或类似操作不一定是恒定时间操作(因此可能存在旁路攻击,除非您自己实现查找)
  • 确保您的URI不会通过referrer泄漏
  • 某些工具会尝试检测“秘密”URL,以保护它们免受历史记录同步或其他自动功能的影响。您的架构很可能不会被检测为“秘密”。最好人为地延长URI并将UUID移动到查询参数中。
  • 您可以使用常规方法(速率限制,服务器强化等)进一步减少攻击面

在概念方面:

  • 识别和身份验证的单一标识符不一定是坏事。但是,在大多数情况下,需要一个仅识别标识符 - 在这些情况下,您不能使用“秘密”UUID
  • 如果“船员”由多人组成:您不能撤销单个机组成员的访问权限
  • 某些软件(防病毒软件,浏览器等)将URL中的信息视为公共信息,并且可能在没有用户交互的情况下上传它们
© www.soinside.com 2019 - 2024. All rights reserved.