SKB Distribution
SKB can be distributed to one or to multiple Readers at the same time, requiring only a single DIDcomm message to be added to the bucket index. Readers must provide a public encryption key PKUser, typically via the keyAgreement section of their DID Documents.
Bucket Admin Prepares a DIDcomm Message:
SKB is the content of the message
Message Encryption as a DIDComm Encrypted message:
The message content is encrypted using a unique CEK, resulting in an opaque ciphertext value.
The CEK in turn is encrypted asymmetrically, once for (each) PKUser and once for PKB.
The ciphertext, the two encrypted CEK* as well as information on which algorithms and keys to use for decryption is combined into a DIDComm/JWE message.
The intended recipient can decrypt the CEK and hence the message content using their corresponding private key (SKUser).
Readers with access to SKB can also decrypt the message content to verify the message content, providing a record of key distribution to all with read access to the bucket.
Distribution:
The encrypted message is stored in the storage layer.
The Admin submits a transaction to add the message to the bucket index, choosing an appropriate tag for admin/system level messages.
Readers are notified via direct messages or by subscribing to pallet events and can decrypt the message with their SKUser
Last updated