Security 使用确定性UUID进行访问控制是否可能且安全?

Security 使用确定性UUID进行访问控制是否可能且安全?,security,database-design,uuid,uniqueidentifier,Security,Database Design,Uuid,Uniqueidentifier,考虑到存在一个多租户平台,用户可以查看他们所属组织拥有的所有资源,而不能查看任何其他组织的资源。如果所有资源UUID都是使用确定性UUID生成的,并且其所有者组织的UUID作为名称空间,那么是否可以仅使用组织UUID、资源的UUID和确定性UUID方法来确定任何资源的所有者组织 我是从具有高度确定性的比特币钱包中得到这个想法的,在钱包中使用初始私钥生成所有后续私钥(可能是不正确的解释),因此,您可以始终仅从原始密钥重新生成相同的私钥。通常,多租户环境比所有者组织UUID具有更强的租户隔离。通常,

考虑到存在一个多租户平台,用户可以查看他们所属组织拥有的所有资源,而不能查看任何其他组织的资源。如果所有资源UUID都是使用确定性UUID生成的,并且其所有者组织的UUID作为名称空间,那么是否可以仅使用组织UUID、资源的UUID和确定性UUID方法来确定任何资源的所有者组织


我是从具有高度确定性的比特币钱包中得到这个想法的,在钱包中使用初始私钥生成所有后续私钥(可能是不正确的解释),因此,您可以始终仅从原始密钥重新生成相同的私钥。

通常,多租户环境比所有者组织UUID具有更强的租户隔离。通常,UUID值具有非确定性组件。如果您使用的是确定性UUID,则有人可能会推断出另一个所有者组织的值。在这一点上,似乎是确定性UUID=int标识。如果攻击者可以指定UUID值,那么他们将易受攻击


你可能会提出的问题是,不引人注目是否能提供保护。虽然引人注目可能会让你背上一个更大的目标,但随机的不显眼的人一直都有自己的身份被盗。真正的安全性在于密钥而不是算法。

我想我遗漏了一个重要的细节。公司UUID不会被当作秘密使用,它只会被用来识别公司是否拥有其他资源。经过身份验证的用户将提供他们的身份验证令牌(例如OAuth2),并且从该令牌将从身份验证系统(包括公司UUID)请求用户的信息。公司UUID可以与每个资源一起存储并进行比较,或者如果UUID可以基于原始公司UUID确定,您甚至不需要在每个资源上存储公司UUID。我们可以为多租户环境提供安全方法,例如为每个公司使用单独的数据库表或单独的数据库,但我的问题是关于确定性uuid的能力。您是否考虑普通uuid与非确定性uuid?不清楚为什么它们会吸引您的用例,很明显您对使用它们有所保留。为什么不使用64位int呢?