skip to main content
research-article

Jitter-based Adaptive True Random Number Generation Circuits for FPGAs in the Cloud

Published:18 January 2023Publication History
Skip Abstract Section

Abstract

In this article, we present and evaluate a true random number generator (TRNG) design that is compatible with the restrictions imposed by cloud-based Field Programmable Gate Array (FPGA) providers such as Amazon Web Services (AWS) EC2 F1. Because cloud FPGA providers disallow the ring oscillator circuits that conventionally generate TRNG entropy, our design is oscillator-free and uses clock jitter as its entropy source. The clock jitter is harvested with a time-to-digital converter (TDC) and a controllable delay line that is continuously tuned to compensate for process, voltage, and temperature variations. After describing the design, we present and validate a stochastic model that conservatively quantifies its worst-case entropy. We deploy and model the design in the cloud on 60 EC2 F1 FPGA instances to ensure sufficient randomness is captured. TRNG entropy is further validated using NIST test suites, and experiments are performed to understand how the TRNG responds to on-die power attacks that disturb the FPGA supply voltage in the vicinity of the TRNG. After introducing and validating our basic TRNG design, we introduce and validate a new variant that uses four instances of a linkable sampling module to increase the entropy per sample and improve throughput. The new variant improves throughput by 250% at a modest 17% increase in CLB count.

REFERENCES

  1. [1] Soto Juan. 1999. Statistical testing of random number generators. In Proceedings of the 22nd National Information Systems Security Conference. NIST Gaithersburg, MD, 12.Google ScholarGoogle Scholar
  2. [2] Zheng Guanglou, Fang Gengfa, Shankaran Rajan, and Orgun Mehmet A.. 2015. Encryption for implantable medical devices using modified one-time pads. IEEE Access 3 (2015), 825836.Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Meijer Carlo and Gastel Bernard Van. 2019. Self-encrypting deception: Weaknesses in the encryption of solid state drives. In Proceedings of the 2019 IEEE Symposium on Security and Privacy. IEEE, 7287.Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Yang Bohan, Rožic Vladimir, Grujic Miloš, Mentens Nele, and Verbauwhede Ingrid. 2018. ES-TRNG: A high-throughput, low-area true random number generator based on edge sampling. IACR Transactions on Cryptographic Hardware and Embedded Systems 2018, 3 (2018), 267292.Google ScholarGoogle ScholarCross RefCross Ref
  5. [5] Yang Xian and Cheung Ray C. C.. 2014. A complementary architecture for high-speed true random number generator. In Proceedings of the 2014 International Conference on Field-Programmable Technology. IEEE, 248251.Google ScholarGoogle ScholarCross RefCross Ref
  6. [6] Majzoobi Mehrdad, Koushanfar Farinaz, and Devadas Srinivas. 2011. FPGA-based true random number generation using circuit metastability with adaptive feedback control. In Proceedings of the International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 1732.Google ScholarGoogle ScholarCross RefCross Ref
  7. [7] Peetermans Adriaan, Rozic Vladimir, and Verbauwhede Ingrid. 2019. A highly-portable true random number generator based on coherent sampling. In Proceedings of the 2019 29th International Conference on Field Programmable Logic and Applications. IEEE, 218224.Google ScholarGoogle ScholarCross RefCross Ref
  8. [8] Balasch Josep, Bernard Florent, Fischer Viktor, Grujić Miloš, Laban Marek, Petura Oto, Rožić Vladimir, Battum Gerard Van, Verbauwhede Ingrid, Wakker Marnix, and Bohan Yang. 2018. Design and testing methodologies for true random number generators towards industry certification. In Proceedings of the 2018 IEEE 23rd European Test Symposium. IEEE, 110.Google ScholarGoogle ScholarCross RefCross Ref
  9. [9] Gaspar Lubos, Fischer Viktor, Bossuet Lilian, and Fouquet Robert. 2011. Secure extensions of FPGA soft core processors for symmetric key cryptography. In Proceedings of the 6th International Workshop on Reconfigurable Communication-Centric Systems-on-Chip. IEEE, 18.Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Provelengios George, Holcomb Daniel, and Tessier Russell. 2019. Characterizing power distribution attacks in multi-user FPGA environments. In Proceedings of the 2019 29th International Conference on Field Programmable Logic and Applications. 194201.Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Giechaskiel Ilias, Rasmussen Kasper Bonne, and Szefer Jakub. 2019. Measuring long wire leakage with ring oscillators in cloud FPGAs. In Proceedings of the 2019 29th International Conference on Field Programmable Logic and Applications. IEEE, 4550.Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Li Xiang, Stanwicks Peter, Provelengios George, Tessier Russell, and Holcomb Daniel E.. 2020. Jitter-based adaptive true random number generation for FPGAs in the cloud. In Proceedings of the 2020 International Conference on Field-Programmable Technology. IEEE, 112119. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  13. [13] Zeitouni Shaza, Vliegen Jo, Frassetto Tommaso, Koch Dirk, Sadeghi Ahmad-Reza, and Mentens Nele. 2021. Trusted configuration in cloud FPGAs. In Proceedings of the 2021 IEEE 29th Annual International Symposium on Field-Programmable Custom Computing Machines. IEEE, 233241.Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Wolfe Pierre-Francois, Patel Rushi, Munafo Robert, Varia Mayank, and Herbordt Martin. 2020. Secret sharing MPC on FPGAs in the datacenter. In Proceedings of the 2020 30th International Conference on Field-Programmable Logic and Applications. IEEE, 236242.Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Kohlbrenner Paul and Gaj Kris. 2004. An embedded true random number generator for FPGAs. In Proceedings of the 2004 ACM/SIGDA 12th International Symposium on Field Programmable Gate Arrays. ACM, 7178.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Maiti Abhranil, Nagesh Raghunandan, Reddy Anand, and Schaumont Patrick. 2009. Physical unclonable function and true random number generator: A compact and scalable implementation. In Proceedings of the 19th ACM Great Lakes Symposium on VLSI. 425428.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Rozic Vladimir, Yang Bohan, Dehaene Wim, and Verbauwhede Ingrid. 2015. Highly efficient entropy extraction for true random number generators on FPGAs. In Proceedings of the 2015 52nd ACM/IEEE Design Automation Conference. IEEE, 16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Deák Norbert, Györfi Tamás, Márton Kinga, Vacariu Lucia, and Cret Octavian. 2015. Highly efficient true random number generator in FPGA devices using phase-locked loops. In Proceedings of the 2015 20th International Conference on Control Systems and Computer Science. IEEE, 453458.Google ScholarGoogle ScholarCross RefCross Ref
  19. [19] Danger J.-L., Guilley Sylvain, and Hoogvorst Philippe. 2009. High speed true random number generator based on open loop structures in FPGAs. Microelectronics Journal 40, 11 (2009), 16501656.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Yamaguchi Takahiro J., Ichiyama Kiyotaka, Hou Harry X., and Ishida Masahiro. 2009. A robust method for identifying a deterministic jitter model in a total jitter distribution. In Proceedings of the 2009 International Test Conference. IEEE, 110.Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] Xu Li, Duan Yan, and Chen Degang. 2015. A low cost jitter separation and characterization method. In Proceedings of the 2015 IEEE 33rd VLSI Test Symposium. IEEE, 15.Google ScholarGoogle ScholarCross RefCross Ref
  22. [22] Turan Meltem Sönmez, Barker Elaine, Kelsey John, McKay Kerry A., Baish Mary L., and Boyle Michael. 2018. Recommendation for the entropy sources used for random bit generation. NIST Special Publication 800, 90B (2018), 102.Google ScholarGoogle Scholar
  23. [23] Celi Chris. 2019. NIST SP800-90B Entropy Assessment. Retrieved from https://github.com/usnistgov/SP800-90B_EntropyAssessment. Accessed 29 November 2020.Google ScholarGoogle Scholar
  24. [24] Rukhin Andrew, Soto Juan, Nechvatal James, Smid Miles, and Barker Elaine. 2010. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. Technical Report. National Institute of Standards and Technology.Google ScholarGoogle Scholar
  25. [25] Provelengios George, Holcomb Daniel, and Tessier Russell. 2020. Power wasting circuits for cloud FPGA attacks. In Proceedings of the International Conference on Field Programmable Logic and Applications. 231235.Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] Choe Jun-Yeong and Shin Kyung-Wook. 2020. A self-timed ring based TRNG with feedback structure for FPGA implementation. In Proceedings of the 2020 International Conference on Electronics, Information, and Communication. IEEE, 14.Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] Hata Hisashi and Ichikawa Shuichi. 2012. FPGA implementation of metasability-based true random number generator. IEICE Transactions on Information and Systems 95, 2 (2012), 426436.Google ScholarGoogle ScholarCross RefCross Ref
  28. [28] Sala Riccardo Della, Bellizia Davide, and Scotti Giuseppe. 2022. A novel ultra-compact FPGA-compatible TRNG architecture exploiting latched ring oscillators. IEEE Transactions on Circuits and Systems II: Express Briefs 69, 3 (2022), 1672–1676.Google ScholarGoogle Scholar
  29. [29] Anandakumar N. Nalla, Sanadhya Somitra Kumar, and Hashmi Mohammad S.. 2019. FPGA-based true random number generation using programmable delays in oscillator-rings. IEEE Transactions on Circuits and Systems II: Express Briefs 67, 3 (2019), 570574.Google ScholarGoogle ScholarCross RefCross Ref
  30. [30] Luo Yukui, Wang Wenhao, Best Scott, Wang Yanzhi, and Xu Xiaolin. 2020. A high-performance and secure TRNG based on chaotic cellular automata topology. IEEE Transactions on Circuits and Systems I: Regular Papers 67, 12 (2020), 49704983.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Jitter-based Adaptive True Random Number Generation Circuits for FPGAs in the Cloud

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Reconfigurable Technology and Systems
        ACM Transactions on Reconfigurable Technology and Systems  Volume 16, Issue 1
        March 2023
        403 pages
        ISSN:1936-7406
        EISSN:1936-7414
        DOI:10.1145/35733111
        • Editor:
        • Deming Chen
        Issue’s Table of Contents

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 18 January 2023
        • Online AM: 5 September 2022
        • Accepted: 23 February 2022
        • Revised: 11 January 2022
        • Received: 8 September 2021
        Published in trets Volume 16, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!