Diciamo che ho il seguente schema di sicurezza:
Master entity
|
|
v
Group entity-----> Child entity 1
| |-----> Child entity 2
| \-----> Child entity 3
|
v
Data vault
L'entità master contiene la chiave master. Ogni volta che viene creata una nuova entità Group
, una nuova chiave derivata dalla chiave master deve essere creata e assegnata a quel gruppo (fornita una password per Group
). E ogni volta che viene creata una nuova entità Child
, deve essere creata una nuova chiave derivata da Group
(fornita una password per Child
).
-
Alcuni dati devono essere archiviati in modo che tutte le
Child
di% diGroup
possano accedervi (senza conoscere laGroup
password) -
Deve essere possibile modificare / recuperare una qualsiasi delle
Child
password diGroup
oMaster
(senzaChild
di perdere l'accesso aData vault
una volta generata la nuova chiave ) -
Deve essere possibile modificare / recuperare la
Group
password diMaster
(senza perdere l'accesso aData vault
una volta generata la nuova chiave).
È effettivamente possibile con la derivazione della chiave, e in tal caso:
- ci sono dei difetti di sicurezza (a parte quello ovvio, ovvero le chiavi master / gruppo trapelate)
- come esattamente sarebbe fatto (una breve spiegazione sarebbe più che sufficiente)