  Key generation is a promising technique to bootstrap secure communications
for the Internet of Things (IoT) devices that have no prior knowledge between
each other. In the past few years, a variety of key generation protocols and
systems have been proposed. In this survey, we review and categorise recent key
generation systems based on a novel taxonomy. Then, we provide both
quantitative and qualitative comparisons of existing approaches. We also
discuss the security vulnerabilities of key generation schemes and possible
countermeasures. Finally, we discuss the current challenges and point out
several potential research directions.
