Abstract
Variabilities in the execution time of integrated circuits enable side-channel attacks that expose secret embedded information of deployed computer systems and circuits. Typical countermeasures rely on analysis and modification of the explicit timing behavior in lower level hardware description languages, which is time consuming and error-prone. In this chapter we investigate the integration of timing attack resilience into the high-level synthesis (HLS) of integrated circuits. HLS translates programs expressed in higher-level programming languages, such as C, to synthesizable hardware. Our approach applies timing annotations of basic blocks in C to add scheduling constraints that balance the execution time of security-related execution branches during the synthesis process. We formally validate the timing invariance of the integrated circuit by encoding the resulting schedule as a bounded model checking satisfiability problem. We integrate our approach to the scheduling of the open source LegUp HLS tool and apply the proposed method for the asymmetric cryptography algorithms RSA and ECC. The results proof the resistance against timing attacks, with a negligible overhead in synthesis efforts, area, and run-time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Kocher, P.C.: Timing attacks on implementations of diffie-hellman, RSA, DSS, and other systems. In: Koblitz, N. (ed.) Advances in Cryptology—CRYPTO ’96, pp. 104–113. Springer, Berlin (1996)
Mao, B., Hu, W., Althoff, A., Matai, J., Oberg, J., Mu, D., Sherwood, T., Kastner, R.: Quantifying timing-based information flow in cryptographic hardware. In: 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 552–559 (2015). https://doi.org/10.1109/ICCAD.2015.7372618
Fan, X., Peter, S., Krstic, M.: GALS design of ECC against side-channel attacks—A comparative study. In: 2014 24th International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS), pp. 1–6 (2014). https://doi.org/10.1109/PATMOS.2014.6951905
Chakraborty, R.S., Bhunia, S.: HARPOON: An obfuscation-based SoC design methodology for hardware protection. Trans. Comp.-Aided Des. Integ. Cir. Sys. 28(10), 1493–1502 (2009). https://doi.org/10.1109/TCAD.2009.2028166
Todman, T., Stilkerich, S., Luk, W.: In-circuit temporal monitors for runtime verification of reconfigurable designs. In: 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC), pp. 1–6 (2015). https://doi.org/10.1145/2744769.2744856
Tiri, K., Verbauwhede, I.: A digital design flow for secure integrated circuits. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 25(7), 1197–1208 (2006). https://doi.org/10.1109/TCAD.2005.855939
López, J., Dahab, R.: High-speed software multiplication in F2m. In: Roy, B., Okamoto, E. (eds.) Progress in Cryptology —INDOCRYPT 2000, pp. 203–212. Springer, Berlin (2000)
Rostami, M., Koushanfar, F., Karri, R.: A primer on hardware security: models, methods, and metrics. Proc. IEEE 102(8), 1283–1295 (2014). https://doi.org/10.1109/JPROC.2014.2335155
Gajski, D.D., Abdi, S., Gerstlauer, A., Schirner, G.: Embedded System Design: Modeling, Synthesis, Verification. Springer Science & Business Media, Berlin (2009)
Canis, A., Choi, J., Aldham, M., Zhang, V., Kammoona, A., Czajkowski, T., Brown, S.D., Anderson, J.H.: LegUp: an open-source high-level synthesis tool for FPGA-based processor/accelerator systems. ACM Trans. Embed. Comput. Syst. 13(2) (2013). https://doi.org/10.1145/2514740
Meeus, W., Beeck, K.V., Goedemé, T., Meel, J., Stroobandt, D.: An overview of today’s high-level synthesis tools. Des. Autom. Embedd. Syst. 16(3), 31–51 (2012). https://doi.org/10.1007/s10617-012-9096-8
Peter, S., Givargis, T.: Towards a timing attack aware high-level synthesis of integrated circuits . In: 2016 IEEE 34th International Conference on Computer Design (ICCD), pp. 452–455 (2016). https://doi.org/10.1109/ICCD.2016.7753326
Cong, J., Zhang, Z.: An efficient and versatile scheduling algorithm based on SDC formulation. In: 2006 43rd ACM/IEEE Design Automation Conference, pp. 433–438 (2006). https://doi.org/10.1145/1146909.1147025
Standaert, F.X.: Introduction to Side-Channel Attacks Secure Integrated Circuits and Systems. In: Secure Integrated Circuits and Systems, pp. 27–42. Springer, Boston (2010)
Kulikowski, K., Smirnov, A., Taubin, A.: Automated design of cryptographic devices resistant to multiple side-channel attacks. In: Goubin, L., Matsui, M. (eds.) Cryptographic Hardware and Embedded Systems—CHES 2006, pp. 399–413. Springer, Berlin (2006)
Huang, Q., Lian, R., Canis, A., Choi, J., Xi, R., Brown, S., Anderson, J.: The effect of compiler optimizations on high-level synthesis for FPGAs. In: 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines, pp. 89–96 (2013). https://doi.org/10.1109/FCCM.2013.50
Chen, L., Ebrahimi, M., Tahoori, M.B.: Reliability-aware operation chaining in high level synthesis. In: 2015 20th IEEE European Test Symposium (ETS), pp. 1–6 (2015). https://doi.org/10.1109/ETS.2015.7138739
Gajski, D.D., Zhu, J., Dömer, R., Gerstlauer, A., Zhao, S.: SpecC Specification Language and Methodology. Springer Science & Business Media, Berlin (2012)
Harrath, N., Monsuez, B.: SystemC waiting state automata. Int. J. Crit. Comput.-Based Syst. 3(1/2), 60–95 (2012). https://doi.org/10.1504/IJCCBS.2012.045077
Genkin, D., Shamir, A., Tromer, E.: RSA key extraction via low-bandwidth acoustic cryptanalysis. In: Annual Cryptology Conference, pp. 444–461. Springer, Berlin (2014)
Cordeiro, L., Fischer, B., Marques-Silva, J.: SMT-based bounded model checking for embedded ANSI-C software. In: 2009 IEEE/ACM International Conference on Automated Software Engineering, pp. 137–148 (2009). https://doi.org/10.1109/ASE.2009.63
Henry, J., Asavoae, M., Monniaux, D., Maïza, C.: How to compute worst-case execution time by optimization modulo theory and a clever encoding of program semantics. SIGPLAN Not. 49(5), 43–52 (2014). https://doi.org/10.1145/2666357.2597817
Bjørner, N., Phan, A.D., Fleckenstein, L.: νZ - an optimizing SMT solver. In: Baier, C., Tinelli, C. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, pp. 194–199. Springer, Berlin (2015)
Peter, S., Givargis, T.: Component-based synthesis of embedded systems using satisfiability modulo theories. ACM Trans. Des. Autom. Electron. Syst. 20(4) (2015). https://doi.org/10.1145/2746235
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Peter, S., Givargis, T. (2022). Generation and Verification of Timing Attack Resilient Schedules During the High-Level Synthesis of Integrated Circuits. In: Katkoori, S., Islam, S.A. (eds) Behavioral Synthesis for Hardware Security. Springer, Cham. https://doi.org/10.1007/978-3-030-78841-4_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-78841-4_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-78840-7
Online ISBN: 978-3-030-78841-4
eBook Packages: Computer ScienceComputer Science (R0)