Leistungsanalyse

Ein Diagramm der Differentialleistungsanalyse.
Beobachtung RSA Schlüsselbits mit Leistungsanalyse: Der linke Peak zeigt den Stromverbrauch während der quadriert nur Schritt, der rechte (breitere) Peak zeigt den Multiplikationsschritt und ermöglicht die Unterscheidung von Exponentenbits 0 und 1.

Leistungsanalyse ist eine Form von Nebenkanalangriff in dem der Angreifer den Stromverbrauch eines kryptografischen Hardware -Geräts untersucht. Diese Angriffe beruhen auf grundlegenden physikalischen Eigenschaften des Geräts: Halbleitergeräte werden den Gesetzen der Physik geregelt, die vorweisen, dass Änderungen der Spannungen innerhalb des Geräts sehr kleine Bewegungen von elektrischen Ladungen (Ströme) erfordern. Durch die Messung dieser Ströme ist es möglich, eine kleine Menge an Informationen über die manipulierten Daten zu lernen.

Einfache Leistungsanalyse (SPA) beinhaltet visuell interpretierende Kraft Spuren, oder Grafiken der elektrischen Aktivität im Laufe der Zeit. Differentialleistungsanalyse (DPA) ist eine fortgeschrittenere Form der Leistungsanalyse, die es einem Angreifer ermöglichen kann, die Zwischenwerte innerhalb kryptografischer Berechnungen durch statistische Analyse von Daten zu berechnen, die aus mehreren kryptografischen Operationen gesammelt wurden. SPA und DPA wurden 1998 in die Open Cryptography Community von eingeführt Paul Kocher, Joshua Jaffe und Benjamin Jun.[1]

Hintergrund

Im Kryptographie, a Nebenkanalangriff wird verwendet, um geheime Daten von einem sicheren Gerät zu extrahieren (wie z. Chipkarte, manipulationssicher "Black Box", oder Integrierter Schaltkreis). Die Seitenkanalanalyse versucht normalerweise, kryptografische Schlüssel und andere geheime Informationen aus dem Gerät nicht invasiv zu extrahieren. Ein einfaches Beispiel hierfür ist das Deutsches Panzerproblem: Die serielle Anzahl von Tanks enthält Einzelheiten zu den Produktionsdaten für Panzer. In der physischen Sicherheit wäre ein nicht-invasiver Angriff ähnlich wie Schlösserknacken, wo ein erfolgreicher Angriff keine Spur des Angreifers vorliegt.

Einfache Leistungsanalyse

Einfache Leistungsanalyse (SPA) ist ein Seitenkanalangriff Dies beinhaltet eine visuelle Untersuchung der Grafiken der aktuell verwendet von einem Gerät im Laufe der Zeit. Variationen des Stromverbrauchs treten auf, wenn das Gerät unterschiedliche Vorgänge ausführt. Beispielsweise haben unterschiedliche Anweisungen, die von einem Mikroprozessor ausgeführt werden, unterschiedliche Stromverbrauchsprofile.

Der Codeflow, der von einem geheimen Wert abhängt, wird den Codefluss über die Überwachung des Stromverbrauchs (und somit auch den geheimen Wert lecken). Betrachten Sie als einfaches Beispiel eine Passwortprüfung wie folgt:

bool check_password(Const verkohlen Eingang[]) {   Const verkohlen Correct_password[] = "Hunter2";   wenn (Strlen(Eingang) ! = Strlen(Correct_password)) Rückkehr FALSCH;   zum (int i = 0; i < Strlen(Correct_password); i++) {   wenn (Eingang[i] ! = Correct_password[i])) {   Rückkehr FALSCH;   }   }   Rückkehr Stimmt; } 

Diese Passwortprüfung enthält möglicherweise a Timing -AngriffDa die Ausführungszeit nicht konstant ist. Die Funktion kann dem Benutzer möglicherweise nicht ein Ausbeutungsergebnis ausgeben, da beispielsweise eine Ausgleichsverzögerung vor der Rückgabe der Antwort auftreten kann. Durch die Beobachtung des Stromverbrauchs wird die Anzahl der ausgeführten Schleifen klargestellt.

In ähnlicher Weise können häufig Quadrat- und Multiplikationsoperationen in RSA -Implementierungen unterschieden werden, sodass ein Gegner den geheimen Schlüssel berechnet kann. Auch wenn das Ausmaß der Variationen des Stromverbrauchs klein ist, Standard digital Oszilloskope kann die dateninduzierten Variationen leicht anzeigen. Frequenzfilter und Mittelungsfunktionen (z.

Differentialleistungsanalyse

Differentialleistungsanalyse (DPA) ist ein Seitenkanalangriff Dies beinhaltet die statistische Analyse von Stromverbrauchsmessungen von a Cryptosystem. Der Angriff nutzt Verzerrungen, die den Stromverbrauch von Mikroprozessoren oder anderen Hardware unter Verwendung von geheimen Schlüssel unterscheiden. DPA -Angriffe haben Signalverarbeitung und fehler Korrektur Eigenschaften, die Geheimnisse aus Messungen extrahieren können, die zu viel Rauschen enthalten, um mit einer einfachen Leistungsanalyse analysiert zu werden. Mit DPA kann ein Gegner geheime Schlüssel erhalten, indem sie Stromverbrauchsmessungen aus mehreren kryptografischen Operationen analysieren, die von einer gefährdeten Smartcard oder einem anderen Gerät ausgeführt werden.

Differentialleistungsanalyse mit hoher Ordnung

Differentialleistungsanalyse mit hoher Ordnung (HO-DPA) ist eine fortgeschrittene Form des DPA -Angriffs. Mit HO-DPA können mehrere Datenquellen und verschiedene Zeitversuche in die Analyse aufgenommen werden. HO-DPA ist weniger weit verbreitet als Spa und DPA, da die Analyse komplex ist und die am stärksten gefährdeten Geräte mit SPA oder DPA leichter gebrochen werden können.[2]

Leistungsanalyse und algorithmische Sicherheit

Die Leistungsanalyse bietet eine Möglichkeit, innen "ansonsten" manipulationssicher "Hardware zu" siehe. Zum Beispiel Des's Schlüsselplan beinhaltet das Drehen von 28-Bit-Schlüsselregistern. Viele Implementierungen überprüfen das am wenigsten signifikante Bit, um festzustellen, ob es sich um 1 handelt. Wenn ja, verschiebt das Gerät das Register nach rechts und stellt die 1 am linken Ende vor. Wenn das Bit Null ist, wird das Register richtig verschoben, ohne eine 1. Leistungsanalyse zwischen diesen Prozessen zu unterscheiden, sodass ein Gegner die Bits des geheimen Schlüssels bestimmen kann.

Implementierungen von Algorithmen wie z. AES und Triple Des Es wird angenommen, dass angenommen wird, dass mathematisch stark ist, kann durch Leistungsanalyseangriffe trivial zerbrechlich sein. Infolgedessen kombinieren Power -Analyse -Angriffe Elemente der algorithmischen Kryptanalyse und Implementierungssicherheit.

Standards und praktische Sicherheitsbedenken

Bei Anwendungen, bei denen Geräte in den physischen Besitz eines Gegners fallen können, ist der Schutz gegen Leistungsanalysen im Allgemeinen eine wichtige Entwurfsanforderung. Berichten zufolge wurden auch Stromanalysen gegen bedingte Zugriffsmodule verwendet, die in Pay -Fernsehsystemen verwendet werden.[3]

Die für die Durchführung von Leistungsanalysen erforderlichen Geräte ist weit verbreitet. Beispielsweise liefern die meisten digitalen Speicheroszilloskope die erforderliche Datenerfassungsfunktionalität, und die Datenanalyse wird typischerweise mit herkömmlichen PCs durchgeführt. Gewerbliche Produkte für Testlabors sind ebenfalls erhältlich.[4] Das Open-Source-Chipwhisperer-Projekt war die erste vollständige Toolchain von Open-Source-Hardware und Software für Leistungsanalyse-Experimente.[5]

Verhinderung einfacher und unterschiedlicher Leistungsanalyseangriffe

Leistungsanalyseangriffe können im Allgemeinen nicht von einem Gerät erkannt werden, da die Überwachung des Gegners normalerweise passiv ist. Darüber hinaus ist der Angriff nicht invasiv. Infolgedessen sind physische Gehäuse, Prüfungsfähigkeiten und Angriffsdetektoren unwirksam. Stattdessen müssen Kryptosystemingenieure sicherstellen, dass Geräte -Leistungsschwankungen keine von den Gegnern verwendeten Informationen enthüllen.

Eine einfache Leistungsanalyse kann das Ergebnis bedingter Zweige bei der Ausführung von kryptografischer Software leicht unterscheiden, da ein Gerät unterschiedliche Dinge (unterschiedliche Leistung) ausführt, je nachdem, ob der bedingte Zweig genommen wird. Aus diesem Grund sollte darauf geachtet werden, dass es keine geheimen Werte gibt, die sich auf die bedingten Zweige in kryptografischen Software -Implementierungen auswirken. Andere Variationsquellen wie Mikrocode -Unterschiede, Zweige, die von Compilern eingeführt wurden, und Leistungsverbrauchsschwankungen bei Multiplikatoren führen häufig zu Spa -Schwachstellen.

Die Differentialleistungsanalyse ist schwieriger zu verhindern, da selbst kleine Verzerrungen des Stromverbrauchs zu nutzbaren Schwächen führen können. Einige Gegenmaßnahmenstrategien umfassen algorithmische Modifikationen, so dass die kryptografischen Operationen auf Daten auftreten, die mit dem tatsächlichen Wert durch eine mathematische Beziehung zusammenhängen, die den kryptografischen Betrieb überlebt. Ein Ansatz beinhaltet Blendung Parameter, um ihren Wert zu randomisieren. Andere Strategien zur Gegenmaßnahme zur Verringerung der Wirksamkeit von DPA -Angriffen beinhalten Hardware -Modifikationen: Die Variation der internen Taktfrequenz von Chips wurde in Betracht gezogen, um elektrische Signale zu desynchronisieren, die als Gegenleistung zu algorithmischen Verbesserungen herkömmlicher DPA führen.[6][7]

Patente

In der akademischen Literatur wurden viele Techniken zur Verhinderung von Spa- und DPA -Angriffen vorgeschlagen. Während öffentliche Schlüsselsysteme wie RSA typischerweise durch Ausnutzung von Eigenschaften der zugrunde liegenden algebraischen Strukturen (im Fall von RSA seine multiplikativ homorphe Eigenschaft) ausnutzen, erfordern symmetrisch geküsste Primitive wie Blockciphers unterschiedliche Methoden, z. B. "Maskieren".

Einige Unternehmen, wie Rambus, beanspruchen geistiges Eigentum auf DPA -Abwehrmechanismen.[8]

Verweise

  1. ^ P. Kocher, J. Jaffe, B. Jun, Differentialleistungsanalyse, Technischer Bericht, 1998; Später veröffentlicht in Advances in Cryptology - Crypto 99 Proceedings, Vorlesungen in Informatik Vol. 1666, M. Wiener, Hrsg., Springer-Verlag, 1999.
  2. ^ Paul Kocher, Joshua Jaffe, Benjamin Jun, "Einführung in die Differentialleistungsanalyse und verwandte Angriffe (1998)"
  3. ^ "Homepage - Cyber ​​-Piraterie: Die Wahrheit". Archiviert von das Original Am 2002-11-13.
  4. ^ "DPA Workstation Analysis Platform". Rambus.
  5. ^ Chipwhisperer: Eine Open-Source-Plattform für Hardware-eingebettete Sicherheitsforschung
  6. ^ Xavier Charvet, Herve Pelletier, "Verbesserung des DPA -Angriffs mit Wavelet Transform (2005) Archiviert 2016-03-04 bei der Wayback -Maschine"
  7. ^ Jasper Van Woudenberg, Marc Witteman, Bram Bakker "Verbesserung der Differentialleistungsanalyse durch Elasticalignment (2011)"
  8. ^ "Lizenzierte Gegenmaßnahmen". Rambus.