Date of Submission
Master of Science in Computer Science (MSCS)
Group Key Agreement (GKA) mechanism plays a crucial role in the realization of various secure applications in various networks such as, but not limited to, sensor networks, Internet of Things (IoT), vehicular networks, social networks, and so on. To be suitable for IoT, GKA must satisfy several critical requirements. First, a GKA mechanism must be robust against a compromised device attack and satisfy essential secrecy definitions without the existence of a Trusted Third Party (TTP). TTP is often used by IoT devices in the establishment of ad hoc networks and usually, these devices are resource-constrained. Second, the GKA mechanism must be capable of distributing session keys successfully even with offline devices. Third, GKA must reduce the burden of heavy cryptographic computations for IoT devices. Based on these observations, in this paper, we propose a new GKA scheme that satisfies all the aforementioned requirements. The proposed scheme leverages smart contracts to alleviate the computational and storage overheads on the IoT devices induced by cryptographic functions. It also brings the advantage of asynchronism such that offline devices will be able to compute the group key once they are online since the essential information for obtaining the group key is stored inside the blockchain. We implement and test the proposed scheme on an Ethereum test network. The obtained results show that it consumes 5,264,150 gas to create a group, 994,178 gas to add a new member, and 798,431 gas to update a group key when the group has 20 members.