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
Childdi% diGrouppossano accedervi (senza conoscere laGrouppassword) -  
Deve essere possibile modificare / recuperare una qualsiasi delle
Childpassword diGroupoMaster(senzaChilddi perdere l'accesso aData vaultuna volta generata la nuova chiave ) -  
Deve essere possibile modificare / recuperare la
Grouppassword diMaster(senza perdere l'accesso aData vaultuna 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)