Diesmal haben wir die Latte ordentlich hoch gelegt. Mit Michael Kasper und Markus Bechtold vom Fraunhofer Institut geben wir euch einen kleinen aber ordentlichen Einblick in das Feld der Seitenkanal-Analysen und Attacken. Als kleines Experiment veröffentlichen wir diesmal unsere Shownotes gleich mit.
Shownotes:
- Block 1: Einführung
- Angriffsziele
- Schlüssel (Masterkey, Sessionkey), kryptographisches Geheimnis
- Schwächere Angriffsziele: Entschlüsselung einzelner Chiffrate, Fälschen von Signaturen, Aushebelung : Anonymität/Pseudonymität, Privacy, ...
- Angriffsvoraussetzungen (allgemein)
- Algorithmus bekannt, Known-Cipher/Plaintext, Chosen-Cipher/Plaintext, Adaptive Verfahren, Zugriff auf Hardware/Implementierungen (1..n), Angreifer kann HW zerstören / kann nicht zerstören, ..
- SCA: in der Regel bei Whitebox (Kerkhoff) (gegenteil zur Blackbox)
- Angriffsklassen + Seitenkanalangriffe / Begriffsbestimmung
- „Klassische“ Angriffe -> Kryptanalyse, Hardware (z.B. Mikroprobing), Protokollangriffe, OS, Schwachstellen in SW (Overflows, ...), Trojaner, Viren, ...
- Seitenkanalangriffe: ? Seitenkanalangriffe nutzen ”Nebeninformationen” des IT-Systems während dessen ordnungsgemäßer Nutzung. Im Allgemeinen findet keine Beeinflussung des IT-Systems statt! SCA -> passiver Angriff (non-invasive, semi-invasiv). -> Beobachten des IT-Systems
- Klassen von Seitenkanalangriffen / Abgrenzung Fault-Attacken
- Laufzeitanalysen / Timing-Attacken, Power Analysen, Abstrahlangriffe (Tempest, EM-Analysen), Akustische + Optische SCA, Cache-Angriffe / Mikroarchitekturelle Angriffe (Cache-Angriffe, Instruktions-Cache-Angriffe (I-Cache-Attacken), Branch-Prediction-Angriffe (BPA)
- jeweils kurze Beispiele
- Real World: im Allgemeinen sind es kombinierte Angriffe;
- Beispiel: RevEng + SCA (Power + Timing) + Gitterverfahren
- Angriffsziele
- Block 2: Laufzeitangriffe / Timing Attacks
- „Attacks based on measuring how much time various computations take to perform“
- Grundidee einer Timingattacke
- Effiziente Implementierung (kurzer Exkurs)
- Exkurs: Basisoperationen/algorithmen in Krypto: Addition/Substraktion/Multiplikaton (Karatsuba oder Schoolbook) /Quadrierung/Division/GCD/ CRT/Exponentation->Square&Multiply (left-to-right/right-to-left binary)
- Advanced Methods: Montgomery Reduction/Montgomery Multiplikation/Barret Reduction/Garner; Montgomery Ladder; Tabellierungsmethoden (Fixed Windows/Sliding Windows, wNAF, ...)
- Gutes Buch (online verfügbar): Handbook of Applied Cryptography
- Beispiel: RSA + Square & Multiply
- Grundlagen RSA (relevante Eigenschaften)
- Praktische Messung der Laufzeit -> TSC + RDTSC / x86
- Beispiel:
- Kocher, 1996 (RSA -> Square+Multiply)
- D. Brumley & Boneh, 2003 (RSA -> Montgomery Multipliation / Extrareduktion) + Exkurs JavaVM
- B. Brumley & Tuervi, 2011 -> ECC, Montgomery Ladder + Lattice-Reduction)
- relativ einfach; aber wirkungsvoll ;-)
- Gegenmaßnahmen und Schutztechniken
- Block 3: Power-Analysis
- Einführung / Hintergrund
- Begriffsbestimmung: „Power monitoring analysis — attacks which make use of varying power consumption by the hardware during computation.“
- Angriffsursache: CMOS Technik -> Schaltvorgänge verursachen Kurzschlussstrom -> ... kann für Angriffe genutzt werden
- In CMOS (Complementary Metal-Oxide Semiconductor) Technologie werden sowohl N- als auch P-Kanal Transistoren benutzt, um logische Funktionen zu realisieren.
- CMOS Technologie die dominante Halbleitertechnologie für Mikroprozessoren, Speicher (SRAM und DRAM) und anwenderspezifische integrierte Schaltungen (ASICs).
- Hauptvorteil von CMOS gegenüber NMOS oder bipolarer Technologie ist der viel kleinere Energieverbrauch
- statische CMOS Gatter haben (fast) keinen statischen Energieverbrauch.
- Die Gatter verbrauchen nur Strom, wenn die Gatter wirklich umschalten.
- Aber: der Kurzschlussstrom bei diesen Umschaltvorgängen führt zu Seitenkanalinformationen
- --> z.B. Bittransitionen in Register
- Notwendiges Know-How: Interdisziplinäres Forschungs- und Arbeitsfeld (Mathematik, Elektrotechnik, Informatik, HW/SW Designer, ...)
- Typische Angriffsziele / Angriffsobjekte: mC / Embedded, FPGA, ASICs
- Typische Anwendungsfelder / Produkte mit notwedniger Seitenkanalresistenz
- Typischer Messaufbau
- Wie sehen typische „SCA“ Labore aus? Ausstattung.
- Wer betreibt sowas?
- Geht es auch zu Hause? Wenn ja, wie sieht die Minimalausrüstung aus? Was braucht man für den Heimgebrauch?
- Analyseverfahren:
- SPA (Simple Power Analysis)
- Grundidee
- Beipiel: Kocher RSA + Square & Multiply
- Differential Power Analysis (DPA) / Correlation Power Analysis (CPA)
- Grundidee bei Blockchiffren
- Leakage-Modelle:
- Hamming Gewicht / Hamming Distanz / Bit-Modelle /...
- Schlüssel-Hypothesenberechung
- Korrelation: Power / Hypothesen
- Beispiel: AES
- AES in a Nutshell
- Beipsiel Leakage-Analyse
- ASIC/FPGA: Hamming-Distanz Modell / Bitübergänge letzte Runde
- mC: Hamming-Gewicht-Modell
- Angriffseffizienz:
- Wieviele Traces braucht man so?
- Profiling-basierte Verfahren (mit Trainingsphase an typgleichen Device)
- Szenario: Trainingsdevice vorhanden; möglichst wenig Messungen in der Angriffsphase
- Template-Attacken, Stochastischer Ansatz
- Gegenmaßnahmen und Schutztechniken
- Kombinierte Verfahren: z.B. Algebraische Seitenkanalanalyse
- SPA (Simple Power Analysis)
- Einführung / Hintergrund
- Block 4: Abstrahlangriffe
- Tempest, RF Fingerprinting (nur kurz da zu umfangreich)
- Elektromagnetische Analysen (EM)
- ähnlich Power Analysen
- Leakage-Lokalisierung auf dem Chip möglich
- Sonden Nahfeldsonden:
- Einfache sonde: RF-U 5 - 2 / Hersteller Langer EMV
- Kosten für Satz: >1k Eur; kann auch selbst hergestellt werden
- RF-U 5 - 2: Die Nahfeldsonde hat die Funktion einer Stromzange. Sie erfasst über das um einen Leiter oder Leiterstrang wirbelnde Magnetfeld den das Feld erzeugenden Strom.
- Vorverstaerker meistens notwendig
- Hohe Aufloesung zur lokalisierung:
- ICR HV100-27 / 100 µm, 1,5 MHz - 6 GHz, 60 µm
- ICR E 150, E-Feldsonde; Abmessungen der Elektrode: 150 x 35 µm
- Messbereich: 7 MHz - 3 GHz
- Auflösung: 65 µm
- Messsetup + XYZ-Alpha Tisch
- auch: Spektralanalyse
- Block 5: SCALAB / SCA@Home
- Welche Tools und Analyseframeworks gibt es ?
- OpenSCA -> Matlab Analyseframework
- SCALAB:
- Evaluationsboard wird von uns OpenSource gestellt
- Messreihen sowohl für ungeschützte Designs als auch geschützte Designs werden bald bei uns bereitstehen ... stay tuned ;-)
- Alternativ: DPA Contest v2 / DPA Contest v3
- Vorlesung und Weiterbildungsabgebote
- Weiterführende Literatur zu SCA
- Welche Tools und Analyseframeworks gibt es ?
- Block 6: Exkurs: Fault Attacken / HW Reverse Engineering
- Fault Attacken
- Beispiel: RSA CRT
- Wie provoziert man Fehler:
- Beispiel: Laserattacken
- Burst, Glitches, EMP
- Microprobing
- HW Reverse Engineering
- Beispiel: Mifare/Dect
- Tools/Projecte: Degate, Depcb
- Beispiel: iButtons
- Beispiel: Mifare/Dect
- Welche Gegenmaßnahmen existieren: Sensoren, Scrambling
- Sind diese ausreichend?
- Fault Attacken
- Block 7: Vorbereitung / Präparierung (optional)
- Depackaging: Wie öffne ich einen mC?
- Laborbedingungen
- Kolophonium for the Masses ;-)
- rauchende Salpetersäure
- W. Schindler, M. Kasper: Seitenkanalangriffe gegen IT-Systeme - Vorlesungsskript, SS2011, TU Darmstadt http://cascade.cased.de/files/ss2011_sidechannel_skript_stand_23062011.pdf
- COSADE Workshop
Externe Links / Web:
- Side Channel Attacks Database, Reliable Computing Laboratory, Boston University
- Side Channel Cryptanalysis Lounge, ECRYPT
- DPABook.org, Stefan Mangard, Elisabeth Oswald, Thomas Popp
- OpenSCA, An open source toolbox for Matlab, Elisabeth Oswald, University of Bristol,
- DPA Contest 2010, VLSI research group, TELECOM ParisTech
- Side-channel Attack Standard Evaluation Board (SASEBO), Research Center for Information Security (RCIS), Tokyo, Japan
- P. Kocher: Timing Attacks on Implementations of Di?e-Hellman RSA, DSS and other Systems. In: N. Koblitz (Hrsg.): Advances in Cryptology — Crypto ’96, Springer Lecture Notes in Computer Science 1109, Berlin 1996, 104–11 http://www.cryptography.com/public/pdf/TimingAttacks.pdf
- W.-F. Dhem, F. Koeune, P.-A. Leroux, P. Mestr´e, J.-J. Quisquater, J.-W.Willems: A Practical Implementation of the Timing Attack. In: J.-J. Quisquater, B. Schneier (Hrsg.): Smart Card — Research and Applications, Springer, Lecture, Notes in Computer Science 1820, Berlin 2000, 175–191
- W. Schindler: On the Optimization of Side-Channel Attacks by Advanced Stochastic Methods. In: S. Vaudenay (Hrsg.): Public Key Cryptography — PKC 2005, Springer, Lecture Notes in Computer Science 3386, Berlin 2005, 85–103
- D. Boneh, D. Brumley: Remote Timing Attacks are Practical. In: Proceedings of the 12th Usenix Security Symposium, 2003
- B. Brumley, N. Tuveri: Remote Timing Attacks are Still Practical. http://eprint.iacr.org/2011/232
- D. J. Bernstein: Cache-timing attacks on AES. April, 2005. http://cr.yp.to/antiforgery/cachetiming-20050414.pdf
- O. Acicmez, C¸ . K. Koc: Trace-Driven Cache Attacks on AES. http://eprint.iacr.org/2006/138
- E. Bangerter, D. Gullasch, S. Krenn: Cache Games - Bringing Access Based Cache Attacks on AES to Practice. Cryptology ePrint Archive, Report 2010/594, http://eprint.iacr.org/2010/594
- M. Neve: Cache-based Vulnerabilities and SPAM Analysis. Ph.D. Thesis, Applied Science, UCL, July 2006.
- J. Daemen, V. Rijmen. ”The Design of Rijndael”. Springer, Berlin 2001
- [FI197] NIST: FIPS PUB 197: Advanced Encryption Standard (AES): November 26, 2001. http://crsc.nist.gov/publications/?ps/?ps197/?ps-197.pdf
- S. Mangard, E. Oswald, T. Popp: Power Analysis Attacks - Revealing the Secrets of Smart Cards.Springer, Berlin 2007.
- A.J. Menezes, P.C. van Oorschot, S.C. Vanstone: Handbook of Applied Cryptography. CRC Press,Boca Raton 1997.
- [KoJJ99] P. Kocher, J. Ja?e, B. Jub: Di?erential Power Analysis. In: M. Wiener (Hrsg.): Advances in Cryptology - Crypto ’99. Springer, Lecture Notes in Computer Science 1666, Berlin 1999, 388-397
- M. Aigner, E. Oswald: Power Analysis Tutorial, TU Graz 2008, http://www.iaik.tugraz.ac.at/aboutus/pople/oswald/papersdpa tutorial.pd
- F.-X. Standaert, F. Koeune, W. Schindler: How to Compare Pro?led Side-Channel Attacks. In: M. Abdalla, D. Pointcheval, P.-A. Fouque, D. Vergnaud (Hrsg.): Applied Cryptography and Network Security — ACNS 2009, Springer, Lecture Notes in Computer Science 5536, Berlin 2009, 485–498.
- S. Chari, J.R. Rao, P. Rohatgi: Template Attacks. In: B.S. Kaliski Jr., C¸ .K. Ko¸c, C. Paar (Hrsg.): Cryptographic Hardware and Embedded Systems — CHES 2002, Springer, Lecture Notes in Computer Science 2523, Berlin 2003, 13–28
- M. Kasper,W. Schindler, M. Stöttinger: A Stochastic Method for Security Evaluation of Cryptographic FPGA Implementations. In: 2010 International Conference on FieldProgrammable Technology — FPT 2010, IEEE Press, CFP10528?CDR, 2010, 146–153.
- S. Tillich, C. Herbst: Attacking State-of-the-Art Software Countermeasures — A Case Study. In: E.Oswald, P. Rohatgi (Hrsg.): Cryptographic Hardware and Embedded Systems — CHES 2008, Springer, Lecture Notes in Computer Science 5154, Berlin 2008, 228–243
- http://www.degate.org/
- http://www.siliconzoo.org/
- Friedrich Beck. Präparationstechniken für die Fehleranalyse an integrierten Halbleiterschaltungen. VCH Verlagsgesellschaft mbH, 1988. ISBN: 3- 527-26879-9.
- Datenschleuder #094, Artikel: „Unter die Haut“ http://ds.ccc.de/pdfs/ds094.pdf
- CCCB, IC-Entkapselung mit Kolophonium: https://berlin.ccc.de/wiki/Experiment:_IC-Entkapselung_mit_Kolophonium