Manuel Barbosa, Bernardo Ferreira, João Marques, Bernardo Portela, and Nuno Preguiça. 2021. Secure Conflict-free Replicated Data Types. International Conference on Distributed Computing and Networking 2021
Novelty: new cryptographically secure CRDT protocols for Registers, Sets, Counters, and Bounded Counters
Method: add encryption over standard CRDT protocols, or partial homomorphic encryption for counters which assume to perform arithmetics as part of the protocol
Constraint/Need: CRDTs should be computable server-side, by servers that do not possess the decryption key
Principals:
Supported operations:
*establishement of it is out of the scope of this paper
Honest-But-Curious adversaries: SERVERS
Malicious adversaries: NONE
Trusted parties: USERS
Done via regular encryption
Done via homomorphic encryption, limited to addition thanks to the addition of a plaintext Lamport Clock
Done via regular encryption, plus enventual leakage of the operation and a label for each stored/checked value
Similar to counter, with a delegated invariant check to the client upon updates
lower is better ; more to the right is better
Secure CRDT
CRDT
graphs taken from Secure Conflict-free Replicated Data Types. International Conference on Distributed Computing and Networking 2021, Manuel Barbosa, Bernardo Ferreira, João Marques, Bernardo Portela, and Nuno Preguiça. 2021.
Average lantency increase of 20 to 38% on their demonstrator
No major outlier in latency, even for create-heavy test cases
Throughput reduction of 5%
The system leaks some information to keep operations reasonably costly
Clients are tasked with invariant checking for bounded counters ; similarly constrained structures derived from set/registers would also rely heavily on client verification a posteriori
Users have to be trusted: how to audit operations ; how to enforce authorization/rights on invariants on later synchronization?