GALS System Design: Side Channel Attack Secure Cryptographic Accelerators



Ähnliche Dokumente
Group and Session Management for Collaborative Applications

Efficient Design Space Exploration for Embedded Systems

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Einkommensaufbau mit FFI:

10. Elektrische Logiksysteme mit

All-Digital Standard-Cell Based Audio Clock Synthesis

11. Das RSA Verfahren und andere Verfahren

Listening Comprehension: Talking about language learning

Mail encryption Gateway

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Preisliste für The Unscrambler X

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

MobiDM-App Handbuch für Windows Mobile

UWC 8801 / 8802 / 8803

miditech 4merge 4-fach MIDI Merger mit :

Algorithms & Datastructures Midterm Test 1

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Tube Analyzer LogViewer 2.3

Wenn Russland kein Gas mehr liefert

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

Communications & Networking Accessories

Was ist LDAP. Aufbau einer LDAP-Injection. Sicherheitsmaßnahmen. Agenda. LDAP-Injection. ITSB2006 WS 09/10 Netzwerkkonfiguration und Security

Large-Scale Mining and Retrieval of Visual Data in a Multimodal Context

Ein- und Zweifamilienhäuser Family homes

Grundlagen der Theoretischen Informatik, SoSe 2008

Kulturelle Evolution 12

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Daten haben wir reichlich! The unbelievable Machine Company 1

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up

Transport Layer Security Nachtrag Angriffe

Alle Informationen zu Windows Server 2003 Übersicht der Produkte

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

ANALYSIS AND SIMULATION OF DISTRIBUTION GRIDS WITH PHOTOVOLTAICS

Professionelle Seminare im Bereich MS-Office

Elektrische Logigsystem mit Rückführung

Zeichen bei Zahlen entschlüsseln

9 Schlüsseleinigung, Schlüsselaustausch

Franke & Bornberg award AachenMünchener private annuity insurance schemes top grades

Primzahlen und RSA-Verschlüsselung

Einfache kryptographische Verfahren

Bedienungsanleitung User Manual

VPN / IPSec Verbindung mit dem DI 804 HV und dem SSH Sentinel


Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Cloud Architektur Workshop

Das neue Volume-Flag S (Scannen erforderlich)

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

WAS IST DER KOMPARATIV: = The comparative

Therefore the respective option of the password-protected menu ("UPDATE TUBE DATA BASE") has to be selected:

The B Method. B ist eine Methode zur Spezifikation zum Entwurf zur Implementierung von Software Systemen. Bücher zur B-Methode

Version/Datum: Dezember-2006

Zulassung nach MID (Measurement Instruments Directive)

SMART Newsletter Education Solutions April 2015

-> Dringende Empfehlung: Das Upgrade direkt am TelevisGo vorort vornehmen!

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

creative Factory GmbH

Cisco Security Monitoring, Analysis & Response System (MARS)

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Nachrichten- Verschlüsselung Mit S/MIME

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

Klausur BWL V Investition und Finanzierung (70172)

Virtual Private Network. David Greber und Michael Wäger

Info zum Zusammenhang von Auflösung und Genauigkeit

Informatik für Ökonomen II HS 09

Objektorientierte Programmierung für Anfänger am Beispiel PHP

SSH Authentifizierung über Public Key

Integer Convex Minimization in Low Dimensions

ClickShare. Das One-Click-Wonder

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Visuelle Kryptographie

Workflow, Business Process Management, 4.Teil

FTP Tutorial. Das File Transfer Protocol dient dem Webmaster dazu eigene Dateien wie z.b. die geschriebene Webseite auf den Webserver zu laden.

Kryptographie in der Moderne

Produzierendes Gewerbe Industrial production

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

EMV und Medizinprodukte

Sicherer Datenaustausch mit EurOwiG AG

ehealth Rezept App Summary Einleitung Vorgehensweise Ergebnisse

Data Mining: Einige Grundlagen aus der Stochastik

Was ist Sozial-Raum-Orientierung?

Ein neues Outlook Konto können Sie im Control Panel über den Eintrag Mail erstellen.

FAQ Verwendung. 1. Wie kann ich eine Verbindung zu meinem virtuellen SeeZam-Tresor herstellen?

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Die Invaliden-Versicherung ändert sich

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

IT-Forum Darmstadt 16. Mai 2008

Einführung in. Logische Schaltungen

Zum Download von ArcGIS 10, 10.1 oder 10.2 die folgende Webseite aufrufen (Serviceportal der TU):

Konzentration auf das. Wesentliche.

On the List Update Problem

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Gefahren aus dem Internet 1 Grundwissen April 2010

Transkript:

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.