Digamos que tengo el siguiente esquema de seguridad:
Master entity
|
|
v
Group entity-----> Child entity 1
| |-----> Child entity 2
| \-----> Child entity 3
|
v
Data vault
La entidad maestra contiene la clave maestra. Cada vez que se crea una nueva entidad Group
, se debe crear una nueva clave derivada de la clave maestra y asignarla a ese grupo (siempre que haya una contraseña para el Group
). Y cada vez que se crea una nueva entidad Child
, se debe crear una nueva clave derivada del Group
(siempre que se proporcione una contraseña para el Child
).
-
Hay algunos datos que deben almacenarse de tal manera que todas las entidades
Child
deGroup
puedan acceder a ella (sin saber la contraseñaGroup
) -
Debe ser posible cambiar / recuperar cualquiera de las contraseñas
Child
conGroup
oMaster
(sin queChild
pierda el acceso aData vault
una vez que se genere la nueva clave ) -
Debe ser posible cambiar / recuperar la contraseña
Group
con elMaster
(sin perder el acceso alData vault
una vez que se genera la nueva clave).
¿Es eso realmente posible con la derivación de claves, y si es así?
- hay fallas de seguridad (aparte de las obvias, también conocidas como claves maestras / de grupo filtradas)
- cómo se haría exactamente (una breve explicación sería más que suficiente)