Funzionamento della sicurezza del gruppo
I gruppi di peer richiedono che ogni membro disponga di un certificato specifico, denominato certificato membro del gruppo ( GMC). Il certificato GMC garantisce che tutti i record scambiati tra peer siano firmati digitalmente. La chiave pubblica di un peer è contenuta nelle strutture passate come parte della comunicazione tra peer, tra cui PEER_CREDENTIAL_INFO.
Un GMC può essere rilasciato in una catena. Ad esempio, un creatore può inviare un GMC all'amministratore A, che può rilasciare un GMC all'amministratore B, che può inviare un GMC al membro M. La catena GMC risultante è: creator-A-B-M>>>, che ha una lunghezza di 4. La lunghezza della catena è importante, perché non può essere più lunga di 24. Se l'amministratore 24° in una catena tenta di rilasciare un GMC a un membro, PeerGroupIssueCredentials o PeerGroupCreateInvitation restituisce PEER_E_CHAIN_TOO_LONG.
Un GMC può anche essere rilasciato chiamando PeerGroupIssueCredentials. Un GMC implica l'appartenenza dell'utente al gruppo per cui viene rilasciato il GMC e può avere una durata limitata o infinita. L'attività membro del gruppo non può essere più lunga della durata specificata in GMC.
Nota
La durata di GMC infinita è attualmente impostata su 1000 anni.
L'attività membro del gruppo è limitata dalla durata di GMC e include quanto segue:
- Operazioni di record : un peer non può pubblicare informazioni in un gruppo dopo la scadenza dell'appartenenza al gruppo o pubblicare i record che hanno una durata superiore alla durata dell'appartenenza al gruppo del peer.
- Operazioni di appartenenza : un amministratore del gruppo non può emettere un'appartenenza con durata superiore alla data specificata nell'appartenenza all'amministratore del gruppo. Ad esempio, se un amministratore ha 500 ore rimanenti per la durata di GMC, tutte le appartenenze rilasciate devono essere inferiori a 500 ore.
Poiché un membro del gruppo non può avere una durata più lunga rispetto all'amministratore che invita il membro del gruppo, è consigliabile impostare la durata GMC di un amministratore come infinito o per una durata molto lunga. Il creatore del gruppo ha una durata infinita per impostazione predefinita.
Rinnovo dell'appartenenza al gruppo
Per rinnovare le credenziali di un amministratore o membro la cui durata GMC è pronta per la scadenza, sono disponibili le due opzioni seguenti:
Chiamare PeerGroupIssueCredentials e passare l'identità del membro la cui durata è pronta per la scadenza. Se le credenziali vengono specificate come NULL e le informazioni di appartenenza del peer sono disponibili per il gruppo, il tempo di rinnovo viene impostato sulla stessa durata specificata nelle credenziali del membro pubblicato in precedenza. Se è necessario specificare un periodo di durata diverso, è necessario specificare una nuova struttura PEER_CREDENTIAL_INFO contenente la nuova durata e quindi viene pubblicata una nuova GMC per il membro.
La funzione PeerGroupIssueCredentials accetta facoltativamente il flag di PEER_GROUP_STORE_CREDENTIALS, che pubblica automaticamente le nuove credenziali del membro nel database del gruppo. Quando il membro si connette al gruppo la volta successiva, per la prima volta o dopo l'uscita offline, il membro ottiene la GMC aggiornata dal database.
Chiamare PeerGroupCreateInvitation per passare l'identità del membro la cui durata GMC è pronta per la scadenza. Se la scadenza specificata nell'invito è NULL, la durata del GMC corrisponde all'amministratore GMC che rilascia l'appartenenza. Se l'autore specifica la scadenza come NULL, viene emesso un GMC con una durata infinita.
Se un peer viene emesso un GMC che scade prima del valore di durata della presenza, gli indirizzi del peer non sono disponibili nelle strutture di PEER_MEMBER restituite nell'enumerazione avviata da una chiamata a PeerGroupEnumMembers. Ciò avviene perché le informazioni sulla presenza non vengono pubblicate in questo caso, anche se il flag di PEER_DISABLE_PRESENCE non è impostato.