2017-03-07 14 views
0

マルチテナントプラットフォームがあり、ユーザーは所属する組織が所有するすべてのリソースを表示でき、ほかの組織のリソースは表示できないことを考慮してください。すべてのリソースUUIDが、所有者組織のUUIDを名前空間として持つ確定的なUUIDを使用して生成されている場合は、組織のUUID、リソースのUUID、および確定的なUUIDメソッドだけですべてのリソースの所有者組織を判断できますか?決定的なUUIDをアクセス制御に使用することは可能で安全ですか?

私は、最初の秘密鍵を使用してウォレット内のすべての後続の秘密鍵を生成する(おそらく間違った言い換えをします)ので、常に同じ秘密鍵を生成することができます元のものだけから

答えて

1

通常、マルチテナント環境では、所有者組織のUUIDよりもテナントの分離が強力です。一般に、UUIDの値は非決定論的な要素を持っています。確定的なUUIDで作業している場合、誰かが別の所有者の組織の価値を推測することができます。その時点では、決定論的なUUID = intアイデンティティのように見えます。攻撃者がUUIDの値を指定することができれば、脆弱になります。

あなたが出すかもしれない質問は、目立たないことが保護を提供するかどうかです。目立つことはあなたの背中に大きなターゲットを置くかもしれませんが、ランダムな目立たない人々は常にアイデンティティを盗まれます。実際のセキュリティは、アルゴリズムではなくキーによるものです。

+0

私は重要な細部を省いたと思います。会社UUIDは秘密のようには使用されませんが、会社が他のリソースを所有しているかどうかを特定するために使用されます。認証されたユーザは、認証トークン(例えばOAuth2など)を提供し、そのトークンから、ユーザの情報が企業UUIDを含む認証システムから要求される。会社のUUIDはすべてのリソースに格納され、その方法で比較されます。元の会社のUUIDに基づいてUUIDが確定的である場合、すべてのリソースに会社のUUIDを保存する必要はありません。 – rgrwkmn

+0

別々のDBテーブルや別々のDBを各会社に使用するようなマルチテナント環境のセキュリティメソッドに入るかもしれませんが、私の質問は確定的なUUIDの機能に関するものです。 – rgrwkmn

+0

通常のuuidと非確定的なuuidを検討していますか?ユースケースに魅力的な理由は明らかではありませんが、ユースケースを使用することについてのいくつかの留保があります。なぜあなたはちょうど64ビットintを使用しないのですか? – user3112728

関連する問題