Search

DE-102024210603-A1 - Gesicherte Hardware-Verarbeitungsvorrichtung

DE102024210603A1DE 102024210603 A1DE102024210603 A1DE 102024210603A1DE-102024210603-A1

Abstract

Eine Hardware-Verarbeitungsvorrichtung wird bereitgestellt, umfassend (i) mehrere MAC-Einheiten, die so angeordnet sind, dass sie in einem sicheren Modus betrieben werden können, der mindestens eine Addition eines ersten Werts und eines zweiten Werts durchführt, wobei der erste Wert durch eine Anzahl von Shares (Anteilen, Repräsentanten) dargestellt wird und der zweite Wert durch die gleiche Anzahl von Shares dargestellt wird; und mindestens eine Multiplikation des ersten Werts und des zweiten Werts basierend auf ihren Shares und einer Zufallszahl; (ii) einen Multiplexer zum Umschalten zwischen dem sicheren Modus und einem normalen Modus, wobei die mehreren MAC-Einheiten so angeordnet sind, dass sie im normalen Modus auf dem ersten Wert und dem zweiten Wert anstelle der Shares des ersten Werts und der Shares des zweiten Werts arbeiten.

Inventors

  • Florian Mendel
  • Bernd Meyer

Assignees

  • INFINEON TECHNOLOGIES AG

Dates

Publication Date
20260507
Application Date
20241105

Claims (4)

  1. Hardware-Verarbeitungsvorrichtung, umfassend - mehrere Multiply-Accumulate-Einheiten, MAC-Einheiten, die so angeordnet sind, dass sie in einem sicheren Modus betrieben werden können, der - mindestens eine Addition eines ersten Werts und eines zweiten Werts umfasst, wobei der erste Wert durch eine Anzahl von Shares dargestellt wird und der zweite Wert durch die gleiche Anzahl von Shares dargestellt wird; - mindestens eine Multiplikation des ersten Werts und des zweiten Werts basierend auf ihren Shares und einer Zufallszahl; - einen Multiplexer zum Umschalten zwischen dem sicheren Modus und einem normalen Modus, wobei die mehreren MAC-Einheiten so angeordnet sind, dass sie im normalen Modus auf dem ersten Wert und dem zweiten Wert anstelle der Shares des ersten Werts und der Shares des zweiten Werts arbeiten.
  2. Hardware-Verarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, - wobei die Anzahl von Shares zwei beträgt; - wobei der erste Wert x mit einer Länge n ist, dargestellt durch die Shares x 0 und x 1 , so dass x = x 0 + x 1 mod 2 n ; - wobei der zweite Wert y mit der Länge n ist, dargestellt durch die Shares y 0 und y 1 , so dass y = y 0 + y 1 mod 2 n ; - wobei die Addition gemäß ( x 0 , x 1 ) + ( y 0 , y 1 ) = ( x 0 + y 0 mod 2 n , x 1 + y 1 mod 2 n ) - wobei die Multiplikation gemäß ( x 0 , x 1 ) ⋅ ( y 0 , y 1 ) = ( r + x 0 ⋅ y 0 + x 0 ⋅ y 1 mod 2 n , − r + x 1 ⋅ y 1 + x 1 ⋅ y 0 mod 2 n ) , durchgeführt wird, wobei r die Zufallszahl ist.
  3. Hardware-Verarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, umfassend einen Zufallsgenerator, der die Zufallszahl bestimmt.
  4. Hardware-Verarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei die Hardware-Verarbeitungsvorrichtung ein Hardware-Beschleuniger für neuronale Netze ist.

Description

Ein Beschleuniger für künstliche Intelligenz (KI), ein Deep-Learning-Prozessor oder eine neuronale Verarbeitungseinheit (englisch neural processing unit - NPU) ist eine Klasse von spezialisierten Hardware-Beschleunigern oder Computersystemen, die dazu ausgelegt sind, Anwendungen für künstliche Intelligenz und maschinelles Lernen zu beschleunigen, einschließlich künstlicher neuronaler Netze und Computer Vision. Ein beispielhafter KI-IC-Chip enthält mehrere zehn Milliarden MOSFETs (siehe z. B. https://en.wikipedia.org/wiki/AI_accelerator). Diese Art von dedizierter Hardware ist ein besonderes Beispiel für eine Hardware-Verarbeitungsvorrichtung, die hierin auch als Beschleuniger bezeichnet wird. Ein solcher Beschleuniger wird typischerweise verwendet, um die Berechnung eines neuronalen Netzes während des Trainings oder der Inferenz zu beschleunigen. Der Beschleuniger kann Angriffen unterliegen, z. B. einer Seitenkanalanalyse (englisch side channel analysis - SCA). Beispielsweise können eine Rechenzeitanalyse (englisch timing analysis - TA) und eine einfache Leistungsanalyse (englisch simple power analysis - SPA) mindestens einen Teil der Topologie des neuronalen Netzes aufdecken. Eine differentielle Leistungsanalyse (englisch differential power analysis - DPA) oder eine differentielle Fehleranalyse (englisch differential fault analysis - DFA) können Gewichtungen, Bias-Konstanten und/oder Aktivierungsfunktionen des neuronalen Netzes verraten. Darüber hinaus kann die SCA auch verwendet werden, um Daten zu extrahieren oder zu modifizieren, die von dem Beschleuniger während des Trainings oder der Inferenz verarbeitet werden. Bestehende Ansätze bieten keinen oder unzureichenden Schutz vor irgendwelchen auf SCA, TA, SPA, DPA oder DFA basierenden Angriffen. Solche Angriffe können auch als Seitenkanalangriffe bezeichnet werden. Es ist daher eine Aufgabe, eine Hardware-Verarbeitungsvorrichtung, insbesondere den Beschleuniger, auf kosteneffiziente Weise gegen einen solchen Angriff zu sichern oder zu härten. Dies wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Weitere Ausführungsformen ergeben sich aus den abhängigen Ansprüchen. Die hier vorgeschlagenen Beispiele können auf mindestens einer der folgenden Lösungen basieren. Insbesondere könnten Kombinationen der folgenden Merkmale genutzt werden, um ein gewünschtes Ergebnis zu erzielen. Es wird eine Hardware-Verarbeitungsvorrichtung vorgeschlagen, umfassend:- mehrere MAC-Einheiten, die so angeordnet sind, dass sie in einem sicheren Modus betrieben werden können, der- mindestens eine Addition eines ersten Werts und eines zweiten Werts umfasst, wobei der erste Wert durch eine Anzahl von Shares (Anteilen, Repräsentanten) dargestellt wird und der zweite Wert durch die gleiche Anzahl von Shares dargestellt wird;- mindestens eine Multiplikation des ersten Werts und des zweiten Werts basierend auf ihren Shares und einer Zufallszahl;- einen Multiplexer zum Umschalten zwischen dem sicheren Modus und einem normalen Modus, wobei die mehreren MAC-Einheiten so angeordnet sind, dass sie im normalen Modus mit dem ersten Wert und dem zweiten Wert anstelle der Shares des ersten Werts und der Shares des zweiten Werts arbeiten. Es wird angemerkt, dass sich „zufällig“ oder „randomisiert“, die im Kontext dieser Anwendung verwendet werden, insbesondere auf echte Zufälligkeit, Pseudozufälligkeit oder sogar auf einen deterministischen Ansatz beziehen können, der ein ausreichendes Niveau an Entropie einführen kann. Das Umschalten zwischen dem sicheren Modus und dem normalen Modus führt eine Flexibilität ein, um nur diejenigen Operationen im sicheren Modus durchzuführen, die aufgrund potenzieller Seitenkanalangriffe verschleiert werden müssen. Dies ermöglicht das Einstellen der Effizienz der Hardware-Verarbeitungsvorrichtung gemäß einem vordefinierten Bedarf oder einer vordefinierten Nachfrage. Gemäß einer Ausführungsform - ist die Anzahl von Shares zwei;- ist der erste Wert x mit einer Länge n, dargestellt durch die Shares x0 und x1, so dassx=x0+x1 mod 2n;- ist der zweite Wert y mit der Länge n, dargestellt durch die Shares y0 und y1, so dassy=y0+y1 mod 2n;- die Addition gemäß(x0,x1)+(y0,y1)=(x0+y0 mod 2n,x1+y1 mod 2n)- die Multiplikation gemäß(x0⋅x1)⋅(y0,y1)=(r+x0⋅y0+x0⋅y1 mod 2n, −r+x1⋅y1+x1⋅y0 mod 2n),durchgeführt wird, wobei r die Zufallszahl ist. Gemäß einer Ausführungsform umfasst die Hardware-Verarbeitungsvorrichtung ferner einen Zufallsgenerator, der die Zufallszahl bestimmt. Der hierin erwähnte Zufallsgenerator kann insbesondere ein vordefiniertes Niveau an Entropie bereitstellen. Gemäß einer Ausführungsform ist die Hardware-Verarbeitungsvorrichtung ein Hardware-Beschleuniger für neuronale Netze. Ausführungsformen werden unter Bezugnahme auf die Zeichnungen gezeigt und veranschaulicht. Die Zeichnungen dienen dazu, das Grundprinzip zu veranschaulichen, sodass nur Aspekte veranschaulicht werden, die zum Verständnis des Grundprinzips notwendig sind. Die Zeichnungen sind nicht ma