TU Darmstadt / ULB / TUprints

Efficient and Flexible Cryptographic Co-Processor Architecture for Server Application

Laue, Ralf (2009)
Efficient and Flexible Cryptographic Co-Processor Architecture for Server Application.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
Efficient and Flexible Cryptographic Co-Processor Architecture for Server Application - PDF
diss.pdf
Copyright Information: CC BY-NC-ND 2.5 Generic - Creative Commons, Attribution, NonCommercial, NoDerivs .

Download (2MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Efficient and Flexible Cryptographic Co-Processor Architecture for Server Application
Language: English
Referees: Huss, Prof. Dr.- Sorin A. ; Buchmann, Prof. Dr. Johannes
Date: 17 February 2009
Place of Publication: Darmstadt
Date of oral examination: 12 November 2008
Abstract:

In todays networks security is becoming more and more important. Public Key Cryptography, which is a necessary building block for this, places a high workload on the server in client-server networks. A co-processor can be used to shoulder some of this workload. However, as the networks become increasingly heterongenous, the server must also be able to communicate with clients utilizing different cryptographic schemes. Thus, the two main design goals for such a co-processor are efficiency and flexibility. In context of server application, efficiency is measured as high throughput instead of low latency. Flexibility aims for the support of different cryptographic schemes and an easy expandability. This work proposes a generic co-processor architecture for RSA, Elliptic Curve Cryptography, and Pairing-Based Cryptography, which utilizes a combined HW/SW-design allowing high flexibility without sacrificing efficiency. Based on a new classification of parallelization possibilities, it exploits parallelization on all abstraction levels as long as this furthers throughput. The feasibility and usefulness of the architecture is verified by means of a prototype implementation.

Alternative Abstract:
Alternative AbstractLanguage

Diese Arbeit präsentiert eine neue effiziente und flexible Architektur für kryptographische Co-Prozessoren für den Einsatz in Servern. Die neue Architektur ist SoC-basiert und nutzt HW/SW Co-Design. Ein mögliches Einsatzszenario ist die Entlastung eines Servers, der mit vielen verschiedenen Client-Geräten, die unterschiedliche kryptographische Protokolle benutzen, sicher kommunizieren muss. Da im Server-Einsatz ein hoher Durchsatz wichtiger ist als eine niedrige Latenz einer einzigen Operation, bezieht sich die Effizienz des Co-Prozessors auf einen möglichst hohen Durchsatz. Die Flexibilität gilt dabei bezüglich der unterstützten kryptographischen Verfahren und einer einfachen Erweiterbarkeit. Die beiden heute verbreitetsten Verfahren RSA und Elliptische Kurven Kryptographie (ECC) unterscheiden sich unter anderem durch die verschiedene Länge der verwendeten Zahlen. Zwar lassen sich Berechnungseinheiten, die für die langen RSA-Zahlen optimiert sind, auch für Berechnungen mit den kürzeren ECC-Zahlen nutzen. Allerdings bleiben dann große Teile der eingeplanten Ressourcen ungenutzt, was wiederum einen hohen Durchsatz behindert. Deshalb führen die beiden Design-Ziele hoher Durchsatz und Flexibilität zu einer Beschränkung des Parallelisierungsgrades auf der untersten Abstraktionsebene, d.h. innerhalb der modularen Multiplikation. Dies kann durch Parallelisierung auf höheren Ebenen ausgeglichen werden, z.B. durch die parallele Nutzung mehrerer modularer Multiplizierer. Die Verwendung von HW/SW Co-Design erlaubt die einfache Programmierung und Wartung der verschiedenen kryptographischen Verfahren ohne die Effizienz stark zu beschneiden. Dabei werden die zeitkritischen Operationen, die vorwiegend Datenfluss beinhalten, in spezieller Hardware umgesetzt. Kontrollflusslastige Operationen, die hauptsächlich die Reihenfolge der modularen Berechnungen bestimmen, werden in Software umgesetzt. Dies ist auch deshalb günstig, da letztere Operationen für verschiedene kryptographische Verfahren sehr unterschiedlich sind, wohingegen die modularen Operationen einander sehr ähnlich sind. Die resultierende Architektur besteht aus folgenden Cores, die die folgenden Aufgaben übernehmen: * Central Core: Hauptkontrolle und Kommunikation mit dem Host Server * Scheme Controller: Berechnung der eigentlichen kryptographischen Verfahren * ModArith Core: Berechnung der modularen Operationen auf der untersten Abstraktionsebene * AES Core: Berechnung von kryptographischen Hilfsfunktionen (z.B. Hash-Funktion, Zufallszahlerzeugung) Dabei erhält ein Scheme Controller vom Central Core einen Befehl zur Berechnung eines kryptographischen Verfahrens. Dieses berechnet er unter zu Hilfenahme eines ihm zugeordneten ModArith Cores. Weiterhin teilen sich alle Scheme Controller den AES Core, der die kryptographischen Hilfsfunktionen berechnet. Die Nützlichkeit der Architektur wird anhand einer prototypischen Implementierung demonstriert. Diese beherrscht RSA, ECC und Pairing-basierte Kryptographie (PBC). Die Durchsatzwerte sind vergleichbar oder besser zu solchen aus der Literatur, die aber meist keine vergleichbare Flexibilität zur Verfügung stellen können.

German
URN: urn:nbn:de:tuda-tuprints-13271
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Integrated Circuits and Systems
Date Deposited: 03 Mar 2009 10:22
Last Modified: 08 Jul 2020 23:18
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/1327
PPN: 209697490
Export:
Actions (login required)
View Item View Item