Diss. ETH No. 16351 GALS System Design: Side Channel Attack Secure Cryptographic Accelerators A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Technical Sciences presented by FRANK KAĞAN GÜRKAYNAK M.Sc., Istanbul Technical University born 27.04.1971 citizen of Germany accepted on the recommendation of Prof. Dr. Wolfgang Fichtner, examiner Prof. Dr. Yusuf Leblebici, co-examiner 2006
Abstract The integrated circuit manufacturing technology improves almost daily, and enables designers to construct circuits that are both smaller and are able to work faster. While this increases the performance and allows more functions to be integrated on to micro-chips, it also poses significant challenges to designers. Conventional digital circuits rely on a global clock signal to function. These circuits are called synchronous, as the timing of all operations of the circuit are derived from the global clock signal. As a result of the technological improvements with each new generation of integrated circuits, both the clock rate, and the number of clock connections within the micro-chip continue to increase. Reliably distributing the clock signal over the micro-chip has become one of the leading challenges of modern digital system design. The Globally-Asynchronous Locally-Synchronous (GALS) system design has been developed to address this problem. A GALS system consists of several sub-designs, called GALS modules, that have their own local clock generators. Each module by itself is synchronous and can be designed using a conventional design methodology. What is required is a reliable method to exchange data between these independent GALS modules. Instead of a global clock signal, GALS systems use an asynchronous handshaking protocol between GALS modules. Each GALS module contains additional control circuitry that briefly pauses the local clock to ensure data integrity during these transfers. The feasibility of the GALS design methodology, and an extension of the methodology to support multi-point connections between GALS modules has been investigated in two previous Ph. D. theses by J. Muttersbach and T. ix
x ABSTRACT Villiger. In this thesis, the GALS methodology has been applied to improve the security of cryptographic systems. Cryptographic systems are an integral part of modern digital society providing solutions to secure information from unauthorized access. In its most basic form, a cryptographic algorithm uses a secret key (a series of 0 s and 1 s) to transform information so that it can only be deciphered by others who have the same secret key. There are several well established algorithms, like the Advanced Encryption Standard (AES), that provide a very high level of security. However, once this algorithm is implemented, in either hardware or software, it acquires several physical properties (heat, power consumption etc) that can be monitored during operation. Starting in 1999, it was shown that it is possible to extract the secret key of a cryptographic system by only monitoring the power consumption. This is a very serious problem, and immediately a number of countermeasures were developed against these so-called side channel attacks. In this thesis, the design of a GALS-based AES implementation is presented. The design consists of three independent GALS modules which have a local clock generator that is able to change its period randomly. By combining this architecture with several well-known countermeasures against side channel attacks, the security of the AES implementation has been improved considerably. This work represents the first application of GALS to improve the sidechannel security of a cryptographic system. A mature GALS design flow, which is mainly based on industry standard electronic design automation tools, has been used to fabricate the circuit. Measurement results showed that the performance metrics (throughput, area, power consumption) of the GALS integration are comparable to circuits that were designed using conventional synchronous methods.
Zusammenfassung Die Herstellungsverfahren für Mikrochips werden unaufhörlich verbessert und ermöglichen somit den Entwurf von immer schneller und kleiner werdenden Schaltungen. Einerseits verbessert das die Leistung der integrierten Schaltungen, anderseits bringt diese Entwicklung aber auch diverse Probleme mit sich. Die meisten digitalen Schaltungen benützen einen einzigen globalen Takt welcher alle Funktionsblöcke bedient. Sie werden synchrone Schaltungen genannt. Infolge der technologischen Entwicklung erhöht sich mit jeder neuen Generation sowohl die maximal mögliche Taktrate als auch die Anzahl der Elemente auf welche der Takt verteilt werden muss erheblich. Eine zuverlässige Taktverteilung gehört inzwischen zu den Hauptproblemen der Entwicklung von integrierten Schaltungen. Die global-asynchrone lokal-synchrone (GALS) Methode für den Entwurf von integrierten Systemen wurde entwickelt um diesen Problemen entgegenzutreten. Ein GALS System besteht aus mehreren unabhängigen GALS Modulen, die alle ihren eigenen Taktgenerator besitzen. Jedes einzelne GALS Modul ist in sich eine synchrone Schaltung und kann deshalb mit Hilfe bewährter Entwicklungsmethoden entworfen werden. Das ursprüngliche Taktungsproblem verlagert sich nun auf den Datenaustausch zwischen solchen GALS Modulen. Anstelle eines globalen synchronisierenden Taktsignals verwendet man in einem GALS System ein asynchrones Handshake Protokoll. Jedes GALS Modul besitzt zusätzliche Steuerschaltungen welche den zuverlässigen Datenaustausch ermöglichen indem das lokale Taktsignal kurz unterbrochen werden kann. J. Muttersbach hat in seiner Doktorarbeit die erste praktische GALS Anwenxi
xii ZUSAMMENFASSUNG dung realisiert und somit die allgemeine Machbarkeit von GALS erfolgreich bewiesen. In einer Folgearbeit hat T. Villiger die GALS Methodik derart erweitert, dass man sich nicht auf Punkt-zu-Punkt Verbindungen beschränken muss, sondern auch mehrere Module netzwerkartig zusammenhängen kann. In dieser Arbeit wird das GALS Prinzip angewandt um die Sicherheit von kryptographischen Systemen zu verbessern. Moderne Informationssysteme sind auf kryptographische Algorithmen angewiesen, vor allem um Daten vor nicht zugriffsberichtigten Personen zu schützen. In seiner einfachsten Form wandelt ein kryptographischer Algorithmus den Klartext mithilfe eines geheimen Schlüssels in ein unlesbares Chiffrat. Nur diejenigen, die diesen geheimen Schlüssel kennen, sind danach imstande diese Daten wieder zu entschlüsseln. Es gibt eine Reihe von zuverlässigen kryptographischen Algorithmen wie z.b. der Advanced Encryption Standard (AES). Aber sobald ein solcher Algorithmus in Hardware oder Software umgesetzt wird, erhält er gleichzeitig physikalische Eigenschaften wie z.b. Temperatur, Stromverbrauch usw., welche man beobachten kann. 1999 wurde bewiesen, dass man den geheimen Schlüssel eines kryptographischen Systems mit sogenannten Side-Channel Attacks erraten kann, welche darauf beruhen, den Stromverbrauch des Systems über längere Zeit zu beobachten. Das ist ein sehr ernst zu nehmendes Problem, das seither viele Wissenschaftler beschäftigt hat. In dieser Arbeit wird die Entwicklung eines auf GALS basierenden AES Datenchiffriersystems präsentiert. Die Schaltung besteht aus drei unabhängigen GALS Modulen mit eigenen lokalen Taktgeneratoren, welche imstande sind, die Länge ihres eigenen Taktzyklus zufällig zu verändern. Die Sicherheit des AES Systems wurde damit erheblich erhöht, indem diese Eigenschaft mit gut bekannten Sicherheitsmassnahmen kombiniert wurde. Dieses Projekt präsentiert somit die erste Anwendung des GALS Prinzips zur Steigerung der Sicherheit von kryptographischen Systemen auf integrierten Schaltungen gegen Side-Channel Attacken. Es wird ausserdem bewiesen, dass man mittels in der Industrie üblichen, auf CAD Werkzeugen basierenden Methoden GALS Schaltungen erfolgreich entwerfen kann. Messresultate zeigen, dass die Leistungsfahigkeit von GALS Systemen bezüglich Durchsatz, Chipfläche und Energieverbrauch vergleichbar ist mit Schaltungen welche mittels konventionellen Entwurfsmethoden für synchrone Schaltungen realisiert wurden.