Novel Methods of Passive and Active Side-Channel Attacks
Total Page:16
File Type:pdf, Size:1020Kb
NOVEL METHODS OF PASSIVE AND ACTIVE SIDE-CHANNEL ATTACKS DISSERTATION zur Erlangung des Grades eines Doktor-Ingenieurs der Fakultat¨ fur¨ Elektrotechnik und Informationstechnik an der Ruhr-Universitat¨ Bochum by Falk Schellenberg Bochum, October 2018 Copyright © 2018 by Falk Schellenberg. All rights reserved. Printed in Germany. Falk Schellenberg Place of birth: Gera, Germany Author’s contact information: [email protected] https://www.emsec.rub.de/chair/_staff/Falk_Schellenberg/ Thesis Advisor: Prof. Dr.-Ing. Christof Paar Ruhr-Universit¨atBochum, Germany Secondary Referee: Prof. Dr. Daniel Holcomb University of Massachusetts Amherst, USA Thesis submitted: October 30, 2018 Thesis defense: November 30, 2018 Last revision: December 3, 2018 iii Abstract Large mainframes herald the start of the Digital Revolution which soon permeated almost all facets of our daily life. Starting in the mid-70s, shrinking sizes of integrated circuits enabled the “one computer per user” paradigm. In its recent evolution, numerous interconnected devices and sensors form the Internet of Things. The information stored or transferred within these heterogeneous networks needs protection, e.g., to guarantee its authenticity or to assure its con- fidentiality. Such security features are realized through cryptographic protocols and algorithms. Although sometimes hidden by multiple layers of abstraction, every cryptographic operation is executed on some form of hardware. While webservers etc. might only be remotely accessi- ble, cryptographic hardware in the hand of a potential attacker opens an entirely new attack surface: Implementation attacks target the physical realization of algorithms and are mostly independent of the mathematical security of the employed scheme. Passive side-channel attacks try to gain some insight into the cryptographic operation by unintentional information channels such as the execution time or power consumption. Active fault injection attacks enforce some computational error during the target’s operation and thereby reveal internals of the operation by the faulty output. This thesis’s research contribution covers these two main classes of implementation attacks, i.e., novel passive and active attacks. In the first part, we demonstrate that a voltage sensor built in the user-available fabric of a Field Programmable Gate Array (FPGA) can be used for side-channel attacks on circuits nearby. Even if the targeted circuit is logically isolated, its activity will cause fluctuations on the Power Distribution Network (PDN) that might spread far enough to be picked up by the sensor. We demonstrate the capabilities of the sensor through three scenarios: First, we successfully attack a cryptographic algorithm residing on the same FPGA as the voltage sensor. For multi-tenant FPGAs, this could allow one user to spy at the other. As there is no direct connection to the target required, the sensor could also be deployed as malicious IP-core. Second, many Systems on Chip (SoCs) today come with additional FPGA fabric as hardware accelerator. We show that a sensor implemented in the fabric can pick up side-channel leakage of software running on the CPU-core. In the third scenario, we reach even further and target cryptographic implementations running on a separate chip on the same circuit board. The only connection between attacker and victim is the shared PDN. Besides FPGAs, our sensor can be implemented in Application Specific Integrated Circuits (ASICs). Both poses a large threat to board-level integration. Our contribution indicates that power side-channel countermeasures should be considered for such scenarios, even though there is no physical access for an attacker. In the second part of our research contribution, we describe novel methods to aid in laser fault injection. Whether a useful fault is injected heavily depends on the used parameters and the location on the die. Iterating over the whole parameter space for every potential point-of- interest is infeasible. Instead, we propose measuring the Optical Beam Induced Current (OBIC) as imaging technique using a setup intended for laser fault injection. We demonstrate that in v the image captured through laser scanning, we can easily identify the locations of flip-flops as primary target for the desired single-bit faults. We stress that in contrast to a fault injection from coarse to fine granularity, the chip is not powered during imaging. Thus, the identification of flip-flops is independent of other parameters such as pulse length, energy etc. Further, potential reactive countermeasures such as deleting the key cannot deploy. In an additional work, we combine Fault Sensitivity Analysis (FSA) and laser fault injection, resulting in relaxed requirements for the fault precision, especially relating to the required spot size. The motivation here is that the minimal laser spot size is physically bounded. There are numerous research articles pushing the boundary by investigating down to which feature size single bit faults can be injected. In contrast, by precisely timing the laser fault injection, only the longest critical path(s) will affect the target, similar to a timing fault. For shorter paths, it is irrelevant if they are affected by the laser or not, as a potential faulty value will be overwritten anyway. Thus, we can compensate the required laser spot size by proper timing. Keywords. Implementation Attacks, Side-Channel Analysis, Field Programmable Gate Arrays, Laser Fault Attacks vi Kurzfassung Neuartige Methoden passiver und aktiver Seitenkanalangriffe Die Digitale Revolution ging aus Großrechnern hervor, die von mehreren Benutzern gleichzei- tig verwendet wurden. Dies ¨anderte sich Mitte der 1970er Jahre durch kompaktere integrierte Schaltkreise mit dem Einzug des neuen Paradigmas ein Computer pro Benutzer“. Die neueste ” Evolutionsstufe vernetzt eine Vielzahl kleiner Ger¨ate und Sensoren—die Geburt des Internet der Dinge. Die Informationen und Daten, die in solchen heterogenen Netzwerken gespeichert oder transportiert werden, ben¨otigen kryptografischen Schutz, um z. B. die Authentizit¨at oder die Vertraulichkeit der Nachricht zu gew¨ahrleisten. Oftmals versteckt hinter vielen Abstraktions- ebenen wird jedes kryptografische Verfahren auf irgendeiner Art Hardware ausgefuhrt.¨ Im Ge- gensatz zu beispielsweise Webservern, auf die ublicherweise¨ kein physikalischer Zugriff m¨oglich ist, kann ein eingebettetes Ger¨at in der Hand eines Angreifers v¨ollig neue Angriffswege ¨offnen: Sogenannte Implementierungsangriffe zielen auf die physikalische Realisierung einer Sicherheits- funktion ab und sind weitestgehend unabh¨angig von deren mathematischen Sicherheit. Passive Seitenkanalangriffe verwenden unbeabsichtigte Informationskan¨ale wie die ben¨otigte Rechen- zeit oder den Stromverbrauch, um Ruckschl¨ usse¨ auf Zwischenwerte w¨ahrend der Berechnung zu ziehen. Aktive Fehlerangriffe versuchen einen Fehler w¨ahrend der kryptografischen Berechnung zu erzeugen. Eine Analyse der fehlerhaften Ausgabe l¨asst m¨oglicherweise ebenfalls Ruckschl¨ usse¨ auf Zwischenwerte zu. Die Forschungsbeitr¨age dieser Dissertation erstrecken sich uber¨ diese beiden Hauptgebiete der Implementierungsangriffe: neuartige aktive und passive Angriffe. Im ersten Teil demonstrie- ren wir wie ein selbstentwickelter Spannungssensor innerhalb eines Field Programmable Gate Arrays (FPGAs) fur¨ Seitenkanalangriffe auf benachbarte Schaltungen verwendet werden kann. Selbst wenn die Opferschaltung auf der Logikebene vom Sensor isoliert ist, erzeugt diese Span- nungsschwankungen auf dem Power Distribution Netzwerk, die vom Sensor detektiert werden k¨onnen. Die M¨oglichkeiten des Sensors werden durch drei verschiedene Szenarien demonstriert: Zun¨achst wird eine benachbarte Schaltung innerhalb desselben FPGAs angegriffen. In Anwen- dungsf¨allen, bei denen sich mehrere Benutzer einen FPGA teilen, k¨onnte ein Benutzer einen anderen aussp¨ahen. Weiterhin wird keine direkte Logikverbindung zum Sensor ben¨otigt. Daher k¨onnte der Sensor auch durch einen pr¨aparierten IP-Kern eingeschleust werden. Im zweiten Szenario befindet sich der Sensor in der FPGA-Logik eines System-on-Chip und sp¨aht erfolg- reich Software auf der CPU aus. Im dritten Szenario k¨onnen wir Seitenkanalinformation eines Chips aufnehmen, der sich lediglich auf der gleichen Platine befindet. Die einzige Verbindung ist wieder die gemeinsame Spannungsversorgung. Unser Beitrag zeigt auf, dass Seitenkanalge- genmaßnahmen unter Umst¨anden auch ben¨otigt werden, selbst dann, wenn ein Angreifer keinen physikalischen Zugang hat. Der zweite Teil unseres Forschungsbeitrags behandelt neuartige Methoden der Laserfehler- injektion. Ob ein fur¨ den Angreifer nutzlicher¨ Fehler injiziert werden kann, h¨angt von vielen vii Parametern ab. Den kompletten Parameterraum vollst¨andig zu testen ist zeitlich unm¨oglich. Wir schlagen stattdessen vor, den mittels Laser injizierten Strom zu messen und daraus ein Bild zu erzeugen (Optical Beam Induced Current). Wir zeigen, dass damit Flip-Flops leicht identifiziert werden k¨onnen, um dort sp¨ater die h¨aufig angestrebten Ein-Bit“-Fehler zu erzeu- ” gen. Da der Chip w¨ahrend der Bildaufnahme ausgeschaltet ist, sind wichtige Parameter fur¨ die Fehlerinjektion hier unwichtig und außerdem k¨onnen reaktive Gegenmaßnahmen nicht ausl¨ost werden. In einer weiteren Arbeit kombinieren wir Fault Sensitivity Analysis“ mit Laserfehlerinjektion. ” Daraus ergibt sich ein sehr angenehmes Fehlermodell, besonders in Bezug auf die ben¨otigte Spotgr¨oße. Da die minimal erreichbare