Cara Kerja Keamanan Grup
Grup serekan mengharuskan setiap anggota memiliki sertifikat tertentu, yang disebut Sertifikat Anggota Grup (GMC). Sertifikat GMC memastikan bahwa semua rekaman yang dipertukarkan antara serekan ditandatangani secara digital. Kunci publik serekan terkandung dalam struktur yang diteruskan sebagai bagian dari komunikasi antara serekan—termasuk PEER_CREDENTIAL_INFO.
GMC dapat dikeluarkan dalam rantai. Misalnya, pembuat dapat mengeluarkan GMC kepada administrator A, yang dapat mengeluarkan GMC kepada administrator B, yang dapat mengeluarkan GMC kepada anggota M. Rantai GMC yang dihasilkan adalah: creator-A-B-M>>>, yang memiliki panjang 4. Panjang rantai penting, karena tidak boleh lebih panjang dari 24. Jika administrator ke-24 dalam rantai mencoba mengeluarkan GMC kepada anggota, PeerGroupIssueCredentials atau PeerGroupCreateInvitation mengembalikan PEER_E_CHAIN_TOO_LONG.
GMC juga dapat dikeluarkan dengan memanggil PeerGroupIssueCredentials. GMC menyiratkan keanggotaan pengguna dalam grup tempat GMC dikeluarkan, dan dapat memiliki masa pakai terbatas atau tak terbatas. Aktivitas anggota grup tidak boleh lebih lama dari masa pakai yang ditentukan dalam GMC.
Catatan
Masa pakai GMC tak terbatas saat ini ditetapkan pada 1000 tahun.
Aktivitas anggota grup dibatasi oleh masa pakai GMC dan mencakup hal-hal berikut:
- Operasi rekaman - Serekan tidak dapat menerbitkan informasi dalam grup setelah keanggotaan grup kedaluwarsa, atau menerbitkan rekaman yang memiliki masa pakai lebih lama dari masa pakai keanggotaan grup serekan.
- Operasi keanggotaan - Administrator grup tidak dapat mengeluarkan keanggotaan yang memiliki masa pakai melebihi tanggal yang ditentukan dalam keanggotaan administrator grup. Misalnya, jika administrator memiliki sisa 500 jam pada masa pakai GMC-nya, semua keanggotaan yang dikeluarkan harus kurang dari 500 jam.
Karena anggota grup tidak boleh memiliki masa pakai yang lebih lama daripada administrator yang mengundang anggota grup tersebut, disarankan agar Anda menetapkan masa pakai GMC administrator sebagai tak terbatas, atau untuk masa pakai yang sangat lama. Pembuat grup memiliki masa pakai tak terbatas secara default.
Memperbarui Keanggotaan Grup
Untuk memperbarui kredensial administrator atau anggota yang masa pakai GMC-nya siap kedaluwarsa, Anda memiliki dua opsi berikut:
Panggil PeerGroupIssueCredentials dan berikan identitas anggota yang masa pakainya siap kedaluwarsa. Jika kredensial ditentukan sebagai NULL dan informasi keanggotaan serekan tersedia untuk grup, waktu perpanjangan diatur ke durasi yang sama yang ditentukan dalam kredensial anggota yang diterbitkan sebelumnya. Jika periode durasi yang berbeda harus ditentukan, struktur PEER_CREDENTIAL_INFO baru harus disediakan yang berisi durasi masa pakai baru, lalu GMC baru diterbitkan untuk anggota.
Fungsi PeerGroupIssueCredentials secara opsional mengambil bendera PEER_GROUP_STORE_CREDENTIALS, yang secara otomatis menerbitkan kredensial baru anggota dalam database grup. Saat anggota tersambung ke grup lain kali, untuk pertama kalinya atau setelah offline, anggota mendapatkan GMC yang diperbarui dari database.
Panggil PeerGroupCreateInvitation untuk meneruskan identitas anggota yang masa pakai GMC-nya siap kedaluwarsa. Jika kedaluwarsa yang ditentukan dalam undangan adalah NULL, durasi masa pakai GMC sama dengan GMC administrator yang mengeluarkan keanggotaan. Jika pembuat menentukan kedaluwarsa sebagai NULL, GMC dengan masa pakai tak terbatas dikeluarkan.
Jika serekan dikeluarkan GMC yang kedaluwarsa sebelum nilai masa pakai kehadiran, alamat serekan tidak tersedia dalam struktur PEER_MEMBER yang dikembalikan dalam enumerasi yang dimulai oleh panggilan ke PeerGroupEnumMembers. Ini terjadi karena informasi kehadiran tidak diterbitkan dalam kasus ini, bahkan jika bendera PEER_DISABLE_PRESENCE tidak diatur.