UNIVERSITY of CALIFORNIA SAN DIEGO Using Blinking to Mitigate
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITY OF CALIFORNIA SAN DIEGO Using Blinking to Mitigate Passive Side Channel Attacks and Fault Attacks A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Computer Science by Jeremy Blackstone Committee in charge: Professor Ryan Kastner, Chair Professor Sean Gao Professor Truong Nguyen Professor Lawrence Saul Professor Geoff Voelker 2021 Copyright Jeremy Blackstone, 2021 All rights reserved. The Dissertation of Jeremy Blackstone is approved, and it is acceptable in quality and form for publication on microfilm and electronically. University of California San Diego 2021 iii DEDICATION To my wife Abigail Blackstone for reading and giving feedback on research papers regarding topics she is unfamiliar with and being the inspiration to finish them. iv EPIGRAPH Failure is simply the opportunity to begin again, this time more intelligently. Henry Ford v TABLE OF CONTENTS Dissertation Approval Page . iii Dedication . iv Epigraph . v Table of Contents . vi List of Figures . ix List of Tables . xi Acknowledgements . xii Vita........................................................................ xiii Abstract of the Dissertation . xiv Chapter 1 Background . 1 1.1 Cryptographic Algorithms . 1 1.1.1 AES . 2 1.1.2 PRESENT . 4 1.2 Passive Side Channel Attacks. 6 1.2.1 Power Analysis . 6 1.2.2 Electromagnetic Analysis Attacks . 10 1.3 Fault Analysis Attacks . 12 1.3.1 Differential Fault Analysis . 12 1.3.2 Fault Sensitivity Analysis . 23 1.3.3 Biased Fault Analysis . 26 1.3.4 Combined Fault Analysis . 28 1.4 Threat Model . 29 1.5 Passive Side Channel Countermeasures . 30 1.6 Fault Analysis Countermeasures . 30 1.6.1 Masking . 30 1.6.2 Time Redundancy. 31 1.6.3 Error Detection Codes . 31 1.6.4 CAMFAS . 31 1.7 Contributions . 32 Chapter 2 Introduction . 34 Chapter 3 Power Analysis Mitigation . 37 3.1 Switched Capacitor . 39 3.2 Joint Mutual Information . 40 vi 3.3 Stalling . 42 3.3.1 Stalling Process . 44 3.3.2 Stalling Algorithm . 45 3.4 Stalling Parameters . 47 3.4.1 Blink and Recharge Time . 47 3.4.2 On-Chip Capacitance . 48 3.4.3 Clock Speed . 48 3.4.4 Multiple Blink Times . 49 3.5 Results . 49 3.5.1 Experimental Setup . 49 3.5.2 Blink/Recharge Time Calculations . 50 3.5.3 Design Exploration for Stalling . 51 3.6 Conclusion . 57 3.7 Acknowledgements . 57 Chapter 4 Fault Analysis Mitigation . 58 4.1 Fault Attacks . 60 4.2 Isolation . 62 4.2.1 Power Isolation . 62 4.2.2 Clock Isolation . 63 4.3 Results . 64 4.3.1 Blinking Performance Lower Bound . 64 4.3.2 Mitigation Technique Comparison . 67 4.4 Conclusions . 69 4.5 Acknowledgements . 70 Chapter 5 EM Analysis Mitigation . 71 5.1 STELLAR . 73 5.2 Motivation . 74 5.3 Security Evaluation . 75 5.3.1 Joint Mutual Information (JMI) . 75 5.3.2 Minimum Traces to Disclosure (MTD) . 78 5.4 iSTELLAR ........................................................... 80 5.4.1 Constraints . 80 5.4.2 iSTELLAR Lower Bound . 81 5.4.3 iSTELLAR Scheduling . 82 5.5 Results . ..