Abstract
True Random Number Generator (TRNG) circuits are important components of cryptographic systems. Lack of statistical randomness in the generated bitstreams from a TRNG can result in compromised keys, leading to serious security breaches. In this paper, we describe a Hardware Trojan Horse (HTH)-based attack on the TRNG of an FPGA-based cryptosystem, that results in reduced entropy and increased predictability of the generated keys. The proposed HTH does not cause any functional failure in the cryptosystem, and its impact is undetectable by analysis of the compromised bitstream using standard statistical randomness testing software suites (NIST, two enhanced versions of NIST Dieharder, and LIL-tests), and by a circuit-level HTH detection technique using Transition Effect Ring Oscillator (TERO). Finally, we show that the impact of the HTH can be detected by applying Wavelet Transform on the compromised bitstream.
Similar content being viewed by others
References
Fischer V (2012) A closer look at security in random number generators design. In: Schindler W, Huss SA (eds) Proceedings of the third international workshop on constructive side-channel analysis and secure design (COSADE 2012). Springer, Berlin, pp 167–182
Massey J (1969) Shift-register synthesis and BCH decoding. IEEE Trans Inf Theory 15(1):122–127
Von Neumann J (1951) Various techniques used in connection with random digits. Natl Bur Stand Appl Math Ser 12:36–38
Killmann W, Schindler W (2011) A proposal for: functionality classes for random number generators. Bundesamt für Sicherheit in der Informationstechnik (BSI) publication. Accessed: May 2017
Fischer V (2014) Random number generators for cryptography design and evaluation. Summer School on Design and Security of Cryptographic Algorithms and Devices, Šibenik, Croatia, June 2014. Accessed: May 2017
National Institute of Standards and Technology (2002) FIPS PUB 140-2. Security requirements for cryptographic modules. Federal Information Processing Standards (FIPS) publication. Accessed: May 2017
Rukhin A et al (2010) A statistical test suite for random and pseudorandom number generators for cryptographic applications. Accessed: May 2017
Brown RG, Eddelbuettel D, Bauer D (2017) Dieharder: a random number test suite (v 3.31.1). Accessed: December 2017
Marsaglia G (1995) Diehard battery of tests of randomness. Accessed: December 2017
Wang Y (2014) On the design of LIL tests for (pseudo) random generators and some experimental results. IACR Cryptology ePrint Archive. 2014:31
Kumagai J (2000) Chip detectives [reverse engineering]. IEEE Spectrum 37(11):43–48
DARPA (2007) TRUST in integrated circuits (TIC). [Online]. Available: http://www.darpa.mil/MTO/solicitations/baa07-24
Adee S (2008) The hunt for the kill switch. IEEE Spectrum 45(5):34–39
Bhunia S, Hsiao MS, Banga M, Narasimhan S (2014) Hardware Trojan attacks: threat analysis and countermeasures. Proc IEEE 102(8):1229–1247
Tehranipoor M, Koushanfar F (2010) A survey of hardware trojan taxonomy and detection. IEEE Des Test Comput 27(1):10–25
Xiao K, Forte D, Jin Y, Karri R, Bhunia S, Tehranipoor M (2016) Hardware trojans: lessons learned after one decade of research. ACM Trans Des Autom Electron Syst 22(1):6:1–6:23
Ali SS, Chakraborty RS, Mukhopadhyay D, Bhunia S (2011) Multi-level attacks: an emerging security concern for cryptographic hardware. In: Proceedings of design, automation & test in Europe conference & exhibition (DATE 2011), pp 1–4
Stinson D (2006) Cryptography: theory and practice, 3rd edn. CRC Press/Chapman and Hall, Boca Raton
Kitsos P, Stefanidis K, Voyiatzis AG (2016) Tero-based detection of hardware trojans on fpga implementation of the AES algorithm. In: 2016 Euromicro conference on digital system design (DSD), pp 678–681
Johnson AP, Patranabis S, Chakraborty RS, Mukhopadhyay D (2016) Remote dynamic clock reconfiguration based attacks on internet of things applications. In: Euromicro conference on digital system design (DSD 2016), pp 431–438
Martin H, Di Natale G, Entrena L (2017) Towards a dependable true random number generator with self-repair capabilities. IEEE Trans Circ Syst Regul Pap PP(99):1–10
Yang B, Rožić V, Mentens N, Dehaene W, Verbauwhede I (2015) Embedded HW/SW platform for on-the-fly testing of true random number generators. In: Proceedings of design, automation & test in europe conference & exhibition (DATE 2015), pp 345–350
Rao RM, Bopardikar AS (1998) Wavelet transforms: introduction to theory and applications. Prentice Hall/Chapman and Hall, Englewood Cliffs
Lampert B, Wahby RS, Leonard S, Levis P (2016) Robust, low-cost, auditable random number generation for embedded system security. In: Proceedings of the 14th ACM conference on embedded network sensor systems CD-ROM, SenSys ’16. ACM, New York, pp 16–27
Sunar B, Martin WJ, Stinson DR (2007) A provably secure true random number generator with built-in tolerance to active attacks. IEEE Trans Comput 56(1):109–119
Wold K, Tan CH (2008) Analysis and enhancement of random number generator in FPGA based on oscillator rings. In: Proceedings of the international conference on reconfigurable computing and FPGAs (ReConFig 2008), pp 385–390
Lao Y, Tang Q, Kim CH, Parhi KK (2016) Beat frequency detector–based high-speed true random number generators: statistical modeling and analysis. J Emerg Technol Comput Syst 13(1):9:1–9:25
Haddad P, Fischer V, Bernard F, Nicolai J (2015) A physical approach for stochastic modeling of tero-based trng. In: Workshop on cryptographic hardware and embedded systems, CHES 2015, St-Malo, France
Petura O, Mureddu U, Bochard N, Fischer V, Bossuet L (2016) A survey of ais-20/31 compliant trng cores suitable for FPGA devices. In: 2016 26th international conference on field programmable logic and applications (FPL), pp 1–10
Chari SN, Diluoffo VV, Karger PA, Palmer ER, Rabin T, Rao JR, Rohotgi P, Scherzer H, Steiner M, Toll DC (2010) Designing a side channel resistant random number generator. In: Smart card research and advanced application: 9th IFIP WG 8.8/11.2 international conference, CARDIS 2010, Passau, Germany, April 14–16, 2010. Proceedings. Springer, Berlin, pp 49–64
Zhu S, Ma Y, Lin J, Zhuang J, Jing J (2016) More powerful and reliable second-level statistical randomness tests for NIST SP 800-22. In: Proceedings of advances in cryptology—ASIACRYPT 2017. Springer, pp 307–329
Pareschi F, Rovatti R, Setti G (2007) Second-level NIST randomness tests for improving test reliability. In: Proceedings of IEEE international symposium on circuits and systems 2017, pp 1437–1440
Yutao F, Guiping S (2014) A new testing method of randomness for true random sequences. In: 2014 IEEE 5th international conference on software engineering and service science, pp 537– 540
Greenland S, Senn SJ, Rothman KJ, Carlin JB, Poole C, Goodman SN, Altman DG (2016) Statistical tests, p values, confidence intervals, and power: a guide to misinterpretations. Eur J Epidemiol 337–350
Varchola M, Drutarovsky M (2010) New high entropy element for fpga based true random number generators. In: Mangard S, Standaert F-X (eds) Cryptographic hardware and embedded systems, CHES 2010. Berlin, Heidelberg, pp 351–365
Haddad P, Fischer V, Bernard F, Nicolai J (2015) A physical approach for stochastic modeling of TERO-based TRNG. In: Workshop on cryptographic hardware and embedded systems, CHES 2015
(2018) Haar Wavelet. Wikipedia article on Haar Wavelet. https://en.wikipedia.org/wiki/Haar_wavelet. Accessed: May 2017
Bhunia S, Roy K, Segura J (2002) A novel wavelet transform based transient current analysis for fault detection and localization. In: Proceedings of the IEEE/ACM design automation conference (DAC’02), pp 361–366
Zynq Evaluation and Development Hardware User’s Guide (2017) Xilinx online documentation. Accessed: January 2018
Xilinx Zynq-2000 XADC UserGuide(UG480) (2017) Xilinx online documentation. Accessed: December 2017
Theodore MA, Moore SW (2009) The frequency injection attack on ring-oscillator-based true random number generators. In: Proceedings of the 11th international workshop on cryptographic hardware and embedded systems, CHES’09, pp 317–331
De Cannière C, Preneel B TRIVIUM Specifications, 2005. eSTREAM submitted papers. Accessed: May 2017
Roy DB, Bhasin S, Guilley S, Danger J-L, Mukhopadhyay D, Ngo XT, Najm Z (2015) Reconfigurable lut: a double edged sword for security-critical applications. In: Proceedings of the 5th international conference on security, privacy, and applied cryptography engineering, vol 9354, SPACE 2015, pp 248–268
Malladi S, Alves-Foss J, Heckendorn RB (2002) On preventing replay attacks on security protocols. DARPA technical report by University of Idaho Moscow. Accessed: May 2017
Yang B, Rožić V, Mentens N, Dehaene W, Verbauwhede I (2016) TOTAL: TRNG on-the-fly testing for attack detection using Lightweight hardware. In: Proceedings of the design, automation test in Europe conference exhibition, DATE’16, pp 127–132
Marsaglia G, Tsang WW (2002) Some difficult-to-pass tests of randomness. J Stat Softw 7(3):1–9
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Govindan, V., Chakraborty, R.S., Santikellur, P. et al. A Hardware Trojan Attack on FPGA-Based Cryptographic Key Generation: Impact and Detection. J Hardw Syst Secur 2, 225–239 (2018). https://doi.org/10.1007/s41635-018-0042-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41635-018-0042-5