title: Automation Approaches for the Application of Side-Channel Analysis in Real-World Scenarios
title: Automatisierungsansätze für die Anwendung von Seitenkanalanalyse in realen Szenarien
Creators: name: Trautmann, Jens
Publisher: name: Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
Year: 2023
Subjects: subject: Side-Channel Analysis
subject: Hardware-Software-Co-Design
subject: DDC Classification::0 Informatik, Informationswissenschaft, allgemeine Werke :: 00 Informatik, Wissen, Systeme :: 000 Informatik, Informationswissenschaft, allgemeine Werke

description: While classical cryptanalysis assumes that the security of a cipher is theoretically based on the mathematical complexity of the problems posed by its cryptographic algorithm, the physical implementation of a cipher can severely compromise that security. Side-Channel Analysis (SCA) can be used as an attack that exploits the information indirectly leaked through the physical implementation of a system rather than attacking the cryptographic algorithm directly. By analyzing physical quantities such as power consumption or electromagnetic radiation, an attacker can gain information about secret keys or data processed by a computing device. With the introduction of Differential Power Analysis in 1999, the differences in the power consumption of the same cipher processing different data can be used to deduce the cryptographic key. Since then, many more powerful methods have been published that can break cryptographic schemes using side-channel information even more effectively. These methods can be used as attacks to threaten the security of many embedded devices by analyzing the power or electromagnetic emissions during the execution of Cryptographic Operations (COs). Many countermeasures can be implemented to thwart SCA for computing devices. It is, however, not trivial to assess whether a system is vulnerable to attacks and, likewise, to decide which of the countermeasures to implement. In fact, both attacks based on side-channel information and side-channel leakage assessment follow an empirical approach and have almost the same requirements regarding measurement setups and evaluation techniques. Many SCA methods, which include methods to attack a device and assess the severity of the leaked information, measure and compare the side-channel information of multiple executions of the same COs with different data to exploit or discover data dependencies. Therefore, knowing where the targeted operations are situated in a recorded side-channel trace is often required. For consumer-grade hardware without full control over the Device Under Test (DUT), it may not be possible to emit trigger signals indicating the exact location of the targeted operations. Therefore, retrieving side-channel recordings of the targeted operations selectively in a real-world setting is challenging. In such a setting, online waveform matching techniques can acquire side-channel traces of the targeted operations without external trigger signals. These techniques use a waveform template containing the targeted operation’s characteristic pattern to trigger a recording for each similar waveform pattern occurring in the side channel. The first focus of this thesis lies in assessing and solving the challenges when conducting SCA on consumer-grade devices using waveform matching techniques to record only targeted operations. These challenges are, first, locating the targeted operations in a side-channel trace without external triggers, and using this information to create a waveform template that captures the targeted operation’s pattern; second, using that template to record the targeted operations exclusively; third, using the recorded operations to perform an attack (e.g. retrieving a cryptographic key) or to assess the information leakage. Currently, these challenges can only be mastered at a considerable cost with state-of-the-art methods alone and also require a great deal of expertise. Therefore, the three-staged framework called CORSICA is presented in this thesis to provide a blueprint for applying SCA methods in realistic scenarios. CORSICA envisions using automation techniques wherever possible, which could improve the applicability of SCA methods in real-world scenarios. The second focus of this thesis is to automate the process of locating COs in side-channel traces required for calibrating waveform matching techniques, which is one of the challenges identified in CORSICA. Waveform matching techniques require one or more traces of the COs measured on the DUT to calibrate the waveform template so that it captures the characteristic pattern of an CO. This template can then be matched against the incoming data stream to detect the COs in it. However, locating a CO in a side-channel trace without a template can be tedious, even for unprotected implementations. The vast amount of data can be overwhelming and manual inspection can be timeconsuming. Therefore, this work presents a method called SAuLoC, which exploits meta-information about round-based COs to largely automate the process of finding these operations in a potentially very long side-channel trace. SAuLoC can be used offline for trace segmentation and generation of a template that can then be utilized online in real-time waveform matching systems. SAuLoC is accelerated by utilizing the parallel capabilities of a GPU. Furthermore, SAuLoC is evaluated in six scenarios involving microcontrollers. Two of these scenarios feature protocol-level use cases to demonstrate the real-world applicability of SAuLoC. Additionally, three different setups involving field-Programmable Gate Arrays (FPGAs) are used to evaluate the method’s robustness since the side-channel recordings of these setups contain more noise than those of the microcontrollers. The results highlight the usefulness of SAuLoC since it reliably and efficiently automates the task of locating COs in side-channel traces. The third focus of this thesis lies in calibrating and designing a waveform-matching system capable of capturing side-channel information at a very high sampling rate, which is one challenge identified in CORSICA. Currently proposed waveform-matching designs feature FPGA implementations that process the samples from Analog-to-Digital Converters (ADCs) sequentially and can only work with low sampling rates due to the limited clock speed of FPGAs. This work presents a parallel waveform-matching architecture capable of performing high-speed waveform matching. Moreover, the parallel architecture is implemented on a high-end FPGA-based digitizer. It allows for waveform matching at 10 GS/s, thus offering a speedup of 50× compared to the fastest state-of-the-art implementations known to us. Afterwards, a workﬂow that involves calibrating the waveform-matching system and reducing the size of the template is presented. Finally, the evaluation of the presented workﬂow includes two case studies where the parallel waveform matching implementation is calibrated to target two different operations executed on a device operating at 1 GHz. In summary, this thesis contributes to the applicability of SCA in real-world scenarios by introducing automated and generally applicable methods which can be used to enable precise recordings of side channels with waveform matching systems.
description: Die klassische Kryptoanalyse geht davon aus, dass die Sicherheit einer Verschlüsselung auf der mathematischen Komplexität des kryptografischen Algorithmus beruht. Allerdings kann die physische Implementierung einer Verschlüsselung die Sicherheit ernsthaft beeinträchtigen. Seitenkanalanalyse (engl. Side-Channel Analysis (SCA)) ist eine Angriffsform, bei der nicht der kryptografische Algorithmus direkt angegriffen wird, sondern Informationen genutzt werden, die indirekt durch die physische Implementierung eines Systems durchsickern. Durch die Analyse physikalischer Größen wie Stromverbrauch oder elektromagnetischer Strahlung kann ein Angreifer Informationen über geheime Schlüssel oder Daten gewinnen, die von einem Computer verarbeitet werden. Die differenzielle Leistungsanalyse (engl. Differential Power Analysis (DPA)), die im Jahr 1999 eingeführt wurde, nutzt die Unterschiede im Stromverbrauch bei der Ausführung derselben Verschlüsselungsroutine mit unterschiedlichen Eingangsdaten, um den kryptografischen Schlüssel abzuleiten. Seitdem wurden viele leistungsfähigere Methoden veröffentlicht, mit denen kryptografische Verfahren unter Verwendung von Seitenkanalinformationen noch effektiver gebrochen werden können. Diese Methoden bedrohen die Sicherheit vieler eingebetteter Geräte, indem der Strom oder die elektromagnetischen Emissionen während der Ausführung kryptografischer Operationen analysiert werden. Es können viele Gegenmaßnahmen implementiert werden, um Seitenkanalangriffe auf Computer zu vereiteln. Allerdings ist es schwierig zu beurteilen, ob ein System überhaupt anfällig für Seitenkanalangriffe ist und welche Gegenmaßnahmen ergriffen werden sollten. Sowohl Seitenkanalangriffe als auch die Suche und Bewertung von Seitenkanallecks folgen einem empirischen Ansatz und stellen nahezu identische Anforderungen an Messaufbauten und Auswertungstechniken. Viele Methoden für Seitenkanalangriffe und zur Bewertung von Seitenkanallecks messen und vergleichen die Seitenkanalinformationen mehrerer Ausführungen derselben (kryptografischen) Operationen mit unterschiedlichen Daten, um Datenabhängigkeiten auszunutzen oder zu entdecken. Daher ist es oft erforderlich zu wissen, wo sich die anzugreifenden Operationen in einem aufgezeichneten Seitenkanalsignal befinden. Bei endverbrauchergerechter Hardware ohne vollständige Kontrolle über das zu analysierende Gerät ist es unter Umständen nicht möglich, Triggersignale zu senden, die synchron zum Startzeitpunkt der anzugreifenden Operation aktiv werden. Daher ist es in der Praxis schwierig, Seitenkanalsignale der anzugreifenden Vorgänge selektiv aufzunehmen. In einer solchen Umgebung können Online-Wellenform-Matching-Techniken Seitenkanalaufzeichnungen der anzugreifenden Vorgänge ohne externe Triggersignale erfassen. Diese Verfahren verwenden dazu ein Wellenform-Template, die das charakteristische Muster der anzugreifenden Operation enthält. Online wird dann das Seitenkanalsignal mit dem Wellenform-Template verglichen, um im Falle einer hohen Übereinstimmung die Aufzeichnung auszulösen. Der erste Schwerpunkt dieser Arbeit liegt nun darin, die Herausforderungen zu bewerten und einzuordnen, die sich bei der Durchführung von SCA auf Endverbrauchergeräten unter Verwendung solcher Wellenform-Matching-Techniken ergeben. Diese Herausforderungen umfassen erstens die Lokalisierung der anzugreifenden Operationen in Seitenkanalsignalen ohne externe Trigger sowie die Erstellung eines Wellenform-Templates, die das Muster der anzugreifenden Operationen erfasst. Zweitens muss diese Vorlage verwendet werden, um ausschließlich die anzugreifenden Operationen aufzuzeichnen. Die dritte Herausforderung ist die Verwendung der aufgezeichneten Operationen, um letztendlich einen Angriff durchzuführen (z. B. Finden eines kryptografischen Schlüssels) oder um das Informationsleck zu bewerten. Diese Herausforderungen erfordern derzeit erheblichen manuellen Aufwand und Fachwissen von Experten. Daher wird in dieser Arbeit das dreistufige CORSICA-Framework vorgestellt, das eine Blaupause für die Anwendung von SCA-Methoden in realistischen Szenarien bietet. CORSICA sieht vor, wo immer möglich Automatisierungstechniken einzusetzen, die die Anwendbarkeit von SCA-Methoden in realen Szenarien verbessern könnten. Der zweite Schwerpunkt dieser Arbeit ist die Automatisierung des Prozesses der Lokalisierung von kryptografischer Operationen (engl. Cryptographic Operations (COs)) in Seitenkanalsignalen, die für die Kalibrierung von Wellenform-Matching-Techniken erforderlich sind, was eine der in CORSICA identifizierten Herausforderungen darstellt. Wellenform-Matching-Techniken benötigen ein oder mehrere Signale der COs, die auf dem anzugreifenden Gerät gemessen werden, um das Wellenform-Template so zu kalibrieren, dass es das charakteristische Muster einer CO erfasst. Dieses Template kann dann mit dem eingehenden Datenstrom abgeglichen werden, um die COs darin zu erkennen. Das Auffinden einer CO in einem Seitenkanalsignal ohne Vorlage kann jedoch selbst bei ungeschützten Implementierungen mühsam sein. Die riesige Datenmenge kann überwältigend und die manuelle Überprüfung zeitaufwändig sein. Daher wird in dieser Arbeit eine Methode namens SAuLoC vorgestellt, die Metainformationen über rundenbasierte COs ausnutzt, um das Auffinden dieser Operationen in einem potenziell sehr langen Seitenkanalsignal weitgehend zu automatisieren. SAuLoC kann offline zur Segmentierung von Signalen und zur Erstellung einer Vorlage verwendet werden, die dann online in Echtzeit-Wellenform-Matching-Systemen eingesetzt werden kann. SAuLoC lässt sich parallelisieren und damit auf einer Grafikkarte beschleunigen, wodurch die Auswertezeit signifikant reduziert werden kann. Darüber hinaus wird SAuLoC in sechs Szenarien mit Mikrocontrollern evaluiert. Zwei dieser Szenarien beinhalten Anwendungsfälle auf Protokollebene, um die Anwendbarkeit von SAuLoC in der realen Welt zu demonstrieren. Zusätzlich werden drei verschiedene Messaufbauten mit Field-Programmable Gate Arrays (FPGAs) verwendet, um die Robustheit der Methode zu bewerten, da die Seitenkanalaufzeichnungen dieser Messaufbauten mehr Rauschen enthalten als die der Mikrocontroller. Die Ergebnisse unterstreichen die Nützlichkeit von SAuLoC, da es die Lokalisierung von COs in Seitenkanalaufzeichnungen zuverlässig und effizient automatisiert. Der dritte Schwerpunkt dieser Arbeit liegt in der Kalibrierung und dem Entwurf eines Wellenform-Matching-Systems, das in der Lage ist, Seitenkanalinformationen bei einer sehr hohen Abtastrate zu erfassen, was eine der in CORSICA identifizierten Herausforderungen ist. Gegenwärtig vorgeschlagene Designs von Wellenform-Matching-Systemen nutzen FPGA-Implementierungen, die die Abtastwerte von Analog-Digital-Wandlern (engl. Analog-to-Digital Converters (ADCs)) sequentiell verarbeiten und aufgrund der begrenzten Taktrate von FPGAs nur mit niedrigen Abtastraten arbeiten können. In dieser Arbeit wird eine parallele Wellenform-Matching-Architektur vorgestellt, die Wellenform-Matching in sehr hoher Geschwindigkeit durchführen kann. Außerdem wird die parallele Architektur auf einem High-End-Digitizer auf FPGA-Basis implementiert. Diese Implementierung ermöglicht Wellenform-Matching mit 10 GS/s und bietet damit einen Geschwindigkeitszuwachs um das 50-fache im Vergleich zu den schnellsten uns bekannten Implementierungen. Anschließend wird ein Arbeitsablauf vorgestellt, der die Kalibrierung des Wellenform-Matching-Systems und die Verringerung der Größe des Wellenform-Templates beinhaltet. Die Evaluierung des vorgestellten Arbeitsablaufs umfasst zwei Fallstudien, bei denen das parallele Wellenform-Matching-System für zwei verschiedene Operationen kalibriert wird, die auf einem Gerät, das mit 1 GHz arbeitet, ausgeführt werden. Zusammenfassend trägt diese Arbeit zur Anwendbarkeit von SCA in realen Szenarien bei, indem sie automatisierte und allgemein anwendbare Methoden vorstellt, mit denen präzise Aufzeichnungen von Seitenkanälen mit Wellenform-Matching-Systemen möglich sind.