[PAST EVENT] Kyle Wallace, Computer Science: Dissertation Proposal
Random Number Generators (RNG) and the values that they produce find use throughout all aspects of computing, from high level statistical modeling all the way down to essential security primitives. A significant amount of prior investigation has been directed toward this space, as a malfunctioning or poorly performing generator can have a significant impact on the algorithms that rely on it. However, recent explosive growth of low cost and low profile hardware with the Internet of Things has created a class of devices for which commonly used RNG algorithms may not provide the most optimal performance. Furthermore, new hardware opportunities exist with these devices that have not yet been fully explored. In this proposal, we revisit the topic of random number generation under the light of this new scope of devices, presenting solutions to help improve their access to high quality randomness.
First, we present an exploratory study into methods of generating random numbers on sensor-equipped mobile and IoT devices. We first perform a data collection study across 37 Android devices to determine two things - how much random data is consumed by modern devices, and which sensors are capable of producing sufficiently random data. We use the results of our analysis to create an experimental framework called SensoRNG, which serves as a prototype to test the efficacy of a sensor-based RNG. SensoRNG employs collection of data from on-board sensors and combines them via a light-weight mixing algorithm to produce random numbers. We evaluate SensoRNG with the National Institute of Standards and Technology (NIST) statistical testing suite and demonstrate that a sensor-based RNG can provide high quality random numbers with only little additional overhead.
Second, we propose our plan to investigate improving the accessibility of randomness testing to resource-constrained devices. Statistical tests for randomness are the state of practice for determining whether an RNG is performing as it should. However, the overhead required by these algorithms prevent their execution in resource-constrained environments. To that end, we plan to investigate the viability of applying techniques and tools in Machine Learning and Deep Learning to improve the performance of these algorithms. In doing so, we aim to improve the ability of low-end devices to evaluate quality of the random numbers that they produce.
Finally, we lay the foundation for a crowdsourced framework to provide entropy on demand, which aims to move random number generation from an individual task to a collaborative one. By treating entropy as a sharable resource, devices that are unable to meet their own needs can be aided by the devices in the network around them, facilitating improved performance for applications where randomness is required. We build and evaluate a proof-of-concept version of our protocol on a testbed of Raspberry Pi 3B single-board computers, which have been under clocked to simulate resource-constrained IoT devices. Through this, we demonstrate the viability of the protocol as well as pave the way for future research problems in this area.
Kyle Wallace has been with William & Mary since Spring 2013, pursuing his M.S. and Ph.D. He received a B.S. in both Computer Science and Applied Discrete Mathematics from Virginia Tech in December 2012, and a M.S. in Computer Science from William & Mary in May 2015. Kyle Wallace is currently co-advised by Dr. Gang Zhou and Dr. Kun Sun. His research interests include mobile computing, mobile security, random number generation, sensor data analysis, and algorithm design.