ScCGKA: Continuous Group Key Agreement With Smart Contract
Abstract
Continuous Group Key Agreement (CGKA) is the core of a new generation of End-to-End secure (E2E) cryptographic multi-party applications. CGKA allows the members in a dynamic group to agree on the current state for continuous communicating. The first CGKA protocol deployed in practical E2E applications is Inside-Secure TreeKEM (ITK), in which members use flood broadcasting to transition to the same new state for subsequent communications. However, flood broadcasting requires spread of a large amount of messages, while only a small part of the messages is needed for one specific member. This would incur substantial communication costs. To reduce the communication costs, Server-Aided ITK (SAIK) was proposed. SAIK employs a server to split the whole uploaded messages into multiple pieces, and deliver each piece to a specific member, thereby saving bandwidth of members. However, SAIK relies on a central server and hence is vulnerable to the single-point-of-failure problem. The problem is that if the server is unavailable, it will cause a sharp reduction in efficiency and increasing cost. In this work, we first formalize CGKA with smart contract (ScCGKA), which replaces the central server with smart contracts to solve the single-point-of-failure problem. We give a concrete construction of ScCGKA, dubbed the improved ITK with smart contract (ScITK). ScITK is constructed on ITK and can be deployed in real-world E2E applications. In ScITK, participants collaboratively negotiate and deploy a smart contract on the Ethereum blockchain to perform the splitting-delivering procedure. We give a formal security model to capture security properties that CGKA needs to achieve and a correctness property. The comparison between our ScITK and existing approaches shows that ScITK not only reduces communication cost, but also removes the serverās costs.
Community
0 commentsNo discussion yet
Be the first to share a question or observation.