Einleitung Theorie Praxis Demo Gegenmaßnahmen Zusammenfassung. Faulty Hardware. Seminar on Mathematical Weaknesses of Cryptographic Systems



Ähnliche Dokumente
Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

11. Das RSA Verfahren und andere Verfahren

Digitale Signaturen. Sven Tabbert

Sicherheit von hybrider Verschlüsselung

Erste Vorlesung Kryptographie

"Practical Cryptography" Kapitel 8, 9, 15, 16 und 22 (Ferguson/Schneider)

Eine Praxis-orientierte Einführung in die Kryptographie

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Lenstras Algorithmus für Faktorisierung

Informatik für Ökonomen II HS 09

Kryptographie in der Moderne

Grundlagen der Verschlüsselung und Authentifizierung (2)

Algorithmische Kryptographie

Authentikation und digitale Signatur

10. Kryptographie. Was ist Kryptographie?

Rechneranmeldung mit Smartcard oder USB-Token

Modul Diskrete Mathematik WiSe 2011/12

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Einführung in PGP/GPG Mailverschlüsselung

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Betriebssysteme und Sicherheit Sicherheit. Signaturen, Zertifikate, Sichere

Ein Scan basierter Seitenangriff auf DES

RSA Verfahren. Kapitel 7 p. 103

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Inhalt. Seminar: Codes und Kryptographie

10. Public-Key Kryptographie

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Vorlesung Sicherheit

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Grundlagen des Datenschutzes

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

3: Zahlentheorie / Primzahlen

Drahtlose Kommunikation in sicherheitskritischen Systemen

Pretty Good Privacy (PGP)

Methoden der Kryptographie

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP

A.u.S. Spielgeräte GmbH A-1210 Wien Scheydgasse 48 Tel.+43-(0) Fax. +43-(0)

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Dokumentenkontrolle Matthias Wohlgemuth Telefon Erstellt am

Public-Key-Algorithmen WS2015/2016

Verteilte Systeme Unsicherheit in Verteilten Systemen

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Verteilte Systeme. Übung 10. Jens Müller-Iden

E-Government in der Praxis Jan Tobias Mühlberg. OpenPGP. Brandenburg an der Havel, den 23.

SEMINAR Sicherheit von Funk- und RFID-Systemen

Einzelplatz - USB-Lizenz

Freie Zertifikate für Schulen und Hochschulen

Implementierung einer Software für datenschutzfreundliche Ad-hoc-Abstimmungen

IT-Sicherheit Kapitel 13. Sicherheit

Sicherheit von PDF-Dateien

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

Inhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5

Über das Hüten von Geheimnissen

Session Management und Cookies

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

Computeralgebra in der Lehre am Beispiel Kryptografie

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

PKI Was soll das? LugBE. Public Key Infrastructures - PKI

IT-Sicherheit Kapitel 11 SSL/TLS

Mail encryption Gateway

Quanton Manual (de) Datum: URL: )

E-Tests mit dem Safe Exam Browser

Kurzanleitung zur Erlangung eines Software-Zertifikats (*.pfx Datei) und zur Verwendung in PA32 und DBH32 v2

Verschlüsselte s: Wie sicher ist sicher?

Benutzer- und Datensicherheit. Ralf Abramowitsch Vector Informatik GmbH

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)

Kryptographische Algorithmen

Kryptographie oder Verschlüsselungstechniken

Sicherheit von Smartphone-Betriebssystemen im Vergleich. Andreas Jansche Gerhard Klostermeier

Möglichkeiten der verschlüsselten -Kommunikation mit der AUDI AG Stand: 11/2015

Installation und Konfiguration des SQL-Server. Beispiel: SQL-Server 2008 Express. Seite 1 von 20

Basisanwendung für sichere elektronische Kommunikation in der Bayerischen Verwaltung - 2. Bayerisches Anwenderforum egovernment

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Kryptographie. = verborgen + schreiben

T.I.S.P. Community Meeting 2013 Berlin, Integritätsschutz durch Security by design

Zur Sicherheit von RSA

Nachrichten- Verschlüsselung Mit S/MIME

Vortrag Keysigning Party

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

5. Signaturen und Zertifikate

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

TeleTrusT-Informationstag "IT-Sicherheit im Smart Grid"

Kryptographie II. Introduction to Modern Cryptography. Jonathan Katz & Yehuda Lindell

MAP CellSs Mapprakt3

Bedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden.

etoken unter Linux 13. Dezember 2010 etoken unter Linux Dominik Russenberger

Einführung Verschlüsselung Mag. Dr. Klaus Coufal

VIRTUAL PRIVATE NETWORKS

KabelKiosk NDS CI+ Modul Fehlercode-Liste

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Ziel SSL/TLS. XML Signature/Encryption

Programmiertechnik II

PKI-Outsourcing: Vertrauen ist gut, Kryptografie ist besser

Rechnergestützter VLSI-Entwurf

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Transkript:

Faulty Hardware Seminar on Mathematical Weaknesses of Cryptographic Systems Martin Heistermann July 17, 2013

Motivation: Beispielszenario Smartcard zur Authentifizierung Geheimnis darf nicht kopierbar sein Algorithmen und Protokolle sicher Korrekt implementiert Gegen Timing- und Sidechannel-Angriffe gesichert Selbstzerstörung beim Öffnen Ist das sicher?

Motivation: Beispielszenario Smartcard zur Authentifizierung Geheimnis darf nicht kopierbar sein Algorithmen und Protokolle sicher Korrekt implementiert Gegen Timing- und Sidechannel-Angriffe gesichert Selbstzerstörung beim Öffnen Ist das sicher? Nein! Smartcard kann sich verrechnen.

Idee Angriff auf Implementierung, nicht auf Algorithmus Kein Sidechannel-Angriff Fehlerhafte Ergebnisse durch Hardware-Fehler Fehler können geheime Daten verraten!

Fehlerquellen Natürliche Ursachen CPU-Bugs ( F00F -Bug) RAM: 2 5 Bitfehler / h bei 8 GB RAM (Google, 2009) Fault Injection Temperatur Spannungsversorgung (Über-, Unterspannung, Glitches) Takt (Übertaktung, Glitches) Laser Ionisierende Strahlung...

Angriffsszenarien Zertifizierungsstellen (z.b. SSL-CA) Smartcards (EC-Karten, Ausweise) Autos (Türschloss, Wegfahrsperre) TPM-Module Geldautomaten Spielekonsolen Software Reverse Engineering...

Beispiele verwundbarer Cryptosysteme RSA: Eine falsche RSA-CRT-Signatur Faktorisierung O(log 2 n) Paare (m, m d ): d berechenbar m e, mê m berechenbar ( 5 faults) Fiat-Shamir-Authentifizierung DES: 50-200 Ciphertexte Key berechenbar, bis auf 3 reduzierbar AES: 4kb Ciphertext RC4 (?) Unbekannte Algorithmen...

Beispiele verwundbarer Cryptosysteme RSA: Eine falsche RSA-CRT-Signatur Faktorisierung O(log 2 n) Paare (m, m d ): d berechenbar m e, mê m berechenbar ( 5 faults) Fiat-Shamir-Authentifizierung DES: 50-200 Ciphertexte Key berechenbar, bis auf 3 reduzierbar AES: 4kb Ciphertext RC4 (?) Unbekannte Algorithmen...

RSA-Cryptosystem RSA-Cryptosystem Öffentlich: n, e ( encrypt ) Geheim: p, q, d ( decrypt ) Verschlüsseln: m = x e mod n Entschlüsseln: x = m d mod n (auch signieren)

Theorie: Chinesischer Restsatz (CRT) Chinesischer Restsatz (CRT) n 1,..., n k paarweise teilerfremd a 1,..., a k ganze Zahlen = x : i : x a i mod n i Berechnung von x ist einfach

RSA-Signatur Theorie: RSA-CRT s = h d mod n RSA-Signatur mit CRT a 1 = h d a 2 = h d mod p mod q s = CRT(a 1, a 2, p, q, q 1 ) } {{ } secret CRT() : 3 Additionen, 2 Multiplikationen 4 schneller

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 )

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 ) Angriff: ŝ und s bekannt

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 ) Angriff: ŝ und s bekannt (s ŝ) = 0 mod p (s ŝ) 0 mod q p = gcd(n, s ŝ)

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 ) Angriff: ŝ und s bekannt (s ŝ) = 0 mod p (s ŝ) 0 mod q p = gcd(n, s ŝ) Eine einzige fehlerhafte Signatur reicht!

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 ) Angriff: ŝ und h bekannt

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 ) Angriff: ŝ und h bekannt ŝ e = h mod p ŝ e h mod q p = gcd(n, ŝ e h)

Angriff: Fehlerhafte RSA-CRT-Signatur (Boneh 97) Fehlerhafte Signatur a 1 = h d mod p â 2 h d mod q ŝ = CRT(a 1, â 2, p, q, q 1 ) Angriff: ŝ und h bekannt ŝ e = h mod p ŝ e h mod q p = gcd(n, ŝ e h) Eine einzige fehlerhafte Signatur reicht!

Fault-Injection-Methoden Zeitlich lokalisiert: Laser, Spannung Räumlich lokalisiert: Laser, mehrere Spannungsversorgungs-Anschlüsse Konstant: Temperatur Aufwand: Glühlampe vs. Synchrotron

Fault Injection in der Praxis Tatsächlich auftretende Fehler bei Unterspannung (ARM9-CPU, Barenghi 10): Fehlerhaftes Laden aus dem RAM: Flip-Down Auch bei Instruktionen! (z.b. bne beq)

Demo Angriffsziel: 3e-Board mit ATmega8A Angriffs-Hardware: ab 10e Code 1 bigint x, msg =..., signkey=...; 2 while (true) { 3 s = sign_rsa_crt(msg, signkey); 4 uart_send(s); 5 }

26.3 Speed Grades ATmega8A Datasheet Figure 26-1. Maximum Frequency vs. Vcc 16 MHz 8 MHz Safe Operating Area 2.7V 4.5V 5.5V ATmega8A [DATASHEET] 8159E AVR 02/2013 227

26.3 Speed Grades ATmega8A Datasheet Figure 26-1. Maximum Frequency vs. Vcc 16 MHz 8 MHz Safe Operating Area 2.7V 4.5V 5.5V ATmega8A [DATASHEET] 8159E AVR 02/2013 227

Einleitung Theorie Praxis Demo Prototyp Gegenmaßnahmen Zusammenfassung

Einleitung Theorie Praxis Demo Gegenmaßnahmen Zusammenfassung Demo-Aufbau Bus Pirate USB Vcc 5V ATmega8A Vcc ~2.1V UART ~2V UART 5V

Gegenmaßnahmen Hardware Tamper-Resistance Softwareware Ergebnis prüfen (nicht nur mehrfach berechnen) Blinding? x = (m r d ) e r 1 RSA-CRT: Shamir s Vorschlag

Gegenmaßnahmen: RSA-CRT Shamir s Vorschlag ( 97) a 1 = h d mod (p r) a 2 = h d mod (q r) a 1 mod r? = a 2 mod r s = CRT(a 1 mod p, a 2 mod q, p, q, q 1 ) } {{ } secret

Gegenmaßnahmen in der Praxis gnutls (libnettle): CRT, keine Überprüfung OpenSSL: CRT, Test auf Fehler bei Fehlschlag square-and-multiply kein erneuter Test! Seit 2010 bekannt, nie gepatcht

Zusammenfassung Fehlerhafte Ergebnisse können Crypto-Schlüssel verraten Eine falsche Signatur kann reichen Wichtig: Ergebnisse überprüfen