For the experiments, three test platforms containing the three motion sensors (magnetometer, accelerometer and gyroscope) from different manufacturers were used. We chose to do this for several reasons. Firstly, we showed that the proposed entropy source can be made with sensors from different manufacturers. Secondly, we were able to analyze the level of entropy in the case of several types of movements. Thirdly, we were able to analyze the influence of the acquisition board on the entropy value, which is impossible to achieve with onboard sensors. Finally, we were able to analyze the influence of bandwidth and measurement range settings for different types of sensors.
5.2. Experiment Description
- ○
Experiment 1: Influence of motion on entropy value
In this experiment, we analyzed the influence of the physical phenomenon (in this case the motion applied to the sensors), on the entropy value. We performed experiments on five use cases: car-driving, rotation, running, walking and no moving. In order to highlight the influence of the motion on the entropy value, we performed experiments on all acquisition platforms with the sensors set, as much as possible, with the same parameters. The tests for car-driving motion were performed with all platforms. The data was acquired as much as possible when the car was moving, avoiding routes that would not involve waiting times at traffic lights or pedestrian crossings. The test for walking and running were performed only with platform 3, mobile phone, due to the mobility that this platform offers. For walking use case, the phone was held in the pocket and, for running use case, it was held in hand to simulate the use of sensors in a bracelet. Rotation use case was performed using sensor from platform 2. In this case, the sensors were mounted on a servomotor that had a semi-circular rotational motion at an angle of 180 degrees. The no-motion case tests were performed with platforms 1 and 2. For the third platform, no entropy was gained, because of the sensor settings.
The results are presented in
Figure 4,
Figure 5 and
Figure 6. The highest values were obtained for rotation followed by car driving and running. Entropy was also obtained for no-moving case, but lower values than other use cases. Of the three sensors used for experiments, the magnetometer is the least affected by the type of movement. In the case of MPU9250 and mobile phone platforms, no entropy was obtained because the measurement range is very high. For the STM32 platform, the difference between the entropy values obtained in the two use cases is relatively small compared to the other two sensors.
- ○
Experiment 2: Influence of bandwidth and measurement range on entropy value
In this experiment, we analyzed the influence of measurement range and bandwidth on entropy value. The experiments were performed with the sensors from platform 1 in no-motion case. Entropy was estimated for different values of measurement range and bandwidth. Different values of bandwidth cannot be set for the magnetometer, so we analyzed the influence of this parameter only for the accelerometer and gyroscope.
The results are presented in
Table 2. Analyzing the data from the table, it can be observed that the entropy decreases directly proportional to the bandwidth and inversely proportional to the measurement range. This may be the explanation for the fact that, in different papers [
27,
28], that did not take this into account, diverging results for entropy were obtained.
- ○
Experiment 3: Influence of sampling frequency on entropy value
In this experiment, we analyzed the influence of sampling frequency on entropy value. The experiments were performed with the sensors from platform 1 in no-motion case. Entropy was estimated for cases where sensors were set for different values of sampling frequency. In most cases, the sampling frequency is closely related to the bandwidth, so we performed the experiments to have the same bandwidth but different sampling frequency. Observing the results from
Table 3, it can be seen that the entropy value is not influenced by the sampling frequency.
- ○
Experiment 4: Influence of sensors board and acquisition board on entropy value
In this experiment, we analyzed the influence of acquisition board on entropy value. For the experiments, we used two sensors of the same type and different acquisition boards: three boards of the same type, Arduino Uno, and one of another type, Atmega256 equipped with another type of microcontroller. From the results presented in
Table 4, it can be seen that the acquisition boards do not influence the entropy value.
- ○
Experiment 5: Stability of noise source
In this experiment, we studied the stability of noise source by entropy analysis over a long period. For this purpose, we collected data from the sensors on the STM 32 platform for 100 sequences for no-motion use case, 10 sequences for car-driving use case. In addition, from the sensors on the MPU9250 platform, we collected data for 30 sequences in no-motion use case.
Table 5 shows the minimum and maximum values obtained, as well as the standard deviation. From
Table 5, it can be seen that the entropy values are stable, and standard deviations have very small values of order 10
−2.
- ○
Experiment 6: Influence of temperature on entropy value
In this experiment, we analyzed the stability of noise source in case of operation at extreme temperatures. The tests were performed for minimum temperatures around −18 °C and maximum temperatures around +82 °C. From the results presented in
Table 6, it can be seen that, for low temperatures, the entropy values are not different from those estimated in the case of operation at usual temperatures (approximately 23 °C) and, in case of high temperatures, the values are much higher, due to the noise induced by the electronic circuits on the acquisition platform. This theory is validated by the study made in paper [
43], in which a direct relationship between temperature and MEMs sensors noise is presented.
- ○
Experiment 7: Resistance to side channel of attacks
In this experiment, we analyzed the possibility to reconstruct the stream generated by entropy source, using side channel attacks. The experiments were performed with two identical platforms of type 1 in no-motion case. The data were collected at the same time from the two identical platforms, set with the same parameters, placed next to each other. In this way, we tried to create, as much as possible, similar data acquisition conditions. To obtain a better correlation between the two sequences, we introduced a one-second sleep between two consecutive output values. The results were analyzed using two mathematical tools: Pearson correlation coefficient and Hamming distance. For details, see
Appendix B.
In
Table 7, the Pearson coefficient values for different entropy values are presented. As can be seen from the results, there is no correlation between streams generated by the two identical noise sources.
In
Table 8 are presented the Hamming distance values and an average of the deviations (see Formula (3) from
Appendix B) for different entropy values. From the results, it can be seen that as the entropy value decreases, the probability of guessing the original bitstring increases using this method of attack. On the other hand, using the sensors set with parameters adapted to the detected signal amplitude, the average deviation is very small and, consequently, the probability of guessing the original string is very small too.
- ○
Experiment 8: Restart tests
In this experiment, we analyzed the entropy source behavior at restart. To perform the test, the acquisition board was restarted 1000 times by interrupting the power supply for 15 min to allow the electronic circuits to enter the power-off mode. For the collected data, the sanity test-most common value in the rows and columns-was applied. After that, the entropy was re-estimated. Sanity test was performed according to NIST recommendation in [
20]. Entropy was estimated for row and column datasets
After performing the experiment, it was found that the sanity check test was passed for each sensor analyzed. As can be seen in
Table 9, the re-estimated values of entropy for line and row datasets are higher than those of the initial entropy estimation. We can conclude that this entropy source model does not behave differently at restart.
- ○
Experiment 9: Health tests
In this experiment, we estimated the number of entropy source failures when health tests are applied. This type of test is important in order to determine if the solution is suitable for implementation in real applications. A large number of failures will decrease the output speed, putting the source in impossibility to generate the necessary random output material.
In
Table 10 the numbers of failures for the two health tests are presented. The calculations were made to a very large number of collected data (100,000,000 samples). The results are calculated for different false positive probability values (α). The C values are calculated using NIST recommendations, using Formula (5). In the case of repetition count test for α = 2
−20, only in the case of the accelerometer, a number of 10 errors were reported. This means that the entropy source will generate an error at an interval of 785 days. By imposing higher values for false positive probability, health tests will generate errors more often, but not at an alarming rate that could significantly affect the operation of the entropy source. In the case of adaptive count test, no failures are obtained, and it can be seen that, even for small values of false positive probability, the source of entropy does not fall into error.
- ○
Experiment 10: Performance and power consumption
In this experiment, we calculated the performance and power consumption for the solution proposed. We calculated the performance in Kb/s and the number of bits that can be generated using a 1000 mAh battery. The method of estimating the consumed power was based on the data acquisition scheme, which includes the consumption of the sensor and the consumption of the microcontroller used for the acquisition and for the calculation of the SHA256 conditioning function. Sensor power consumption was estimated using the formulas presented in
Appendix A.
Table 11 shows the measurements made for the currents and execution times of the various operations and, finally, the throughput and an estimate of the number of bits generated using a 1000 mAh battery. The current consumed by the sensors is the one estimated by the manufacturer in the datasheet. The MCU current was measured using an ammeter connected to the JP5 pin of the acquisition board. Execution times were measured with the internal timer of the acquisition board.
As can be seen from
Table 11, the highest speed and the highest number of bits generated with a 1000 mAh battery was obtained for the magnetometer, even if it did not have the highest entropy value. MCUs consume much more current than sensors, therefore this aspect should be taken into account for optimization. Another important observation is that the conditional function consumes less current than extracting data from sensors, because it has much shorter execution time.
5.3. Results Analysis
The experiments performed in this study had the following purposes: to identify the factors that influence the noise source entropy, to analyze entropy source stability, to determine entropy source resistance to side-channel attack and to analyze the performance and power consumption for the entropy source under analysis.
The first four experiments were performed to identify how motion, parameters settings (bandwidth and measurement range), sampling frequency and acquisition board influence the raw data level of entropy. The influence of the movement on the entropy was also realized in most of the similar studies. From the results obtained in experiment 1, presented in
Figure 4,
Figure 5 and
Figure 6, it can be seen that the intensity of the movement is directly proportional to the entropy. For example, repetitive rotational motion obtains the highest entropy and the state in which the sensors are not moved the lowest values. Compared to other papers in our study we used three different platforms to highlight this aspect.
From the results presented in
Table 2, it can be seen that the value of entropy decreases proportionally to bandwidth and increases with measurement range in no-motion use case. The influence of these factors is more important as they differ depending on the use case. For example, to detect the rotation of the mobile phone, certain filters are activated, reducing the bandwidth, while for the detection of wider movements a larger measurement range is set. In comparison with similar studies analyzed in
Section 2, this is the first study that uses this approach. This may also explain why large differences in entropy values have been reported in different studies [
27,
28].
In experiment 3, we analyzed the influence of sampling frequencies on entropy. The results showed that there is no influence on the value of entropy. In this test case the challenge was to obtain a different sampling frequency for the same bandwidth. Usually, they are correlated and not all sensors allow their differentiated setting.
In experiment 4, we analyzed the influence of the acquisition platform and the sensors on the entropy value. This issue has been addressed only in [
28] but at a theoretical level. In the experiment, we used two types of Arduino Uno and Atmega256 boards, equipped with different microcontrollers. In the case of the Arduino Uno model, we used three different boards. With all these boards we extracted data using two sensors but of the same type of MPU9250 sensor. From the results presented in
Table 4 it can be seen that the constructive differences of the sensors or the type of acquisition platforms do not influence the entropy value.
In experiment 5, we performed a long-term analysis on the entropy source values. The data were collected for two use cases: car driving and no-motion. As we know, this is the first long term analysis of this kind of entropy source. At the same time, we demonstrate that the proposed entropy source generates the same amount of entropy over time. This aspect is also strengthened by the analysis of the effect of temperature on the entropy value.
In experiment 6 we collected data at extreme temperatures between −18 °C and +82 °C. In addition, the stability of the source was demonstrated in experiments 8 and 9. From the analysis of the restart tests presented in
Table 9, it can be seen that, after restarting the source, the value of entropy does not decrease. Originally interpreting the health tests, we found that the probability that the proposed source of entropy would go into error is extremely low, once every 784 days, and only in the case of the accelerometer.
In experiment 7, we analyzed the resistance of the proposed solution to the easiest and most likely to conduct side channel attack. We collect data from an identical acquisition platform at the same time. The data were compared using Hamming distance and Pearson coefficient. Although this attack was mentioned in [
28], this is the first time it was experimentally conducted.
In experiment 10, we analyzed the performance and power consumption of the proposed solution. This kind of analyze was performed before in several papers [
28,
30,
32]. A comparison with the results presented in these studies is difficult to achieve because both the throughput and power consumption are calculated relatively to full entropy bits generated and none of the studies presented use our entropy estimation methodology. In studies that use min-entropy for entropy estimation, a smaller number of estimators were used: four estimators in [
27], three estimators in [
28], and one estimator in [
29].
To demonstrate the differences that may occur in entropy estimation, inspired by the methods proposed in [
44,
45,
46], in
Table 12 we present the results of statistical tests obtained by the 10 estimators used in our work. As can be seen, the estimator used in the most researches, i.e., most common value, always shows much higher values than the assessed entropy values. On the other hand, it is necessary to use all 10 estimators because different estimators give the assessed entropy value. These aspects may rise doubts on the accuracy of the results obtained using other types of entropy estimation methodologies.
In other papers [
30,
31,
32,
33], the authors chose to evaluate entropy after processing the raw data with different algorithms. By doing this, they can obtain overestimated values for entropy, depending on the statistical properties of the used algorithms.
In the following section, we synthetically clarify the value of the entropy estimation methodology we used in our experiments.