DE102016207855A1 - Method and device for averting computer time attacks on a secret calculation - Google Patents
Method and device for averting computer time attacks on a secret calculation Download PDFInfo
- Publication number
- DE102016207855A1 DE102016207855A1 DE102016207855.0A DE102016207855A DE102016207855A1 DE 102016207855 A1 DE102016207855 A1 DE 102016207855A1 DE 102016207855 A DE102016207855 A DE 102016207855A DE 102016207855 A1 DE102016207855 A1 DE 102016207855A1
- Authority
- DE
- Germany
- Prior art keywords
- random
- calculation
- waiting period
- time
- procedure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Verfahren (40) zum Abwehren von Rechenzeitangriffen auf eine geheime Berechnung, gekennzeichnet durch folgende Merkmale: – vor der Berechnung wird eine bestimmte Wartefrist (tzufall) ausgelöst, – die Berechnung wird angestellt, während die Wartefrist (tzufall) verstreicht, und – sobald die Berechnung abgeschlossen und die Wartefrist (tzufall) abgelaufen ist, wird ein Ergebnis der Berechnung zum Versand bereitgestellt (48).Method (40) for averting computer time attacks on a secret calculation, characterized by the following features: - before the calculation, a certain waiting period (accidental) is triggered, - the calculation is made while the waiting period (accidentally) elapses, and - as soon as the calculation and the waiting period (random) has expired, a result of the calculation for shipment is provided (48).
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Abwehren von Rechenzeitangriffen auf eine geheime Berechnung. Die vorliegende Erfindung betrifft darüber hinaus einen entsprechenden Kontroller für einen Bus, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.The present invention relates to a method for averting computational time attacks on a secret computation. The present invention also relates to a corresponding controller for a bus, a corresponding computer program and a corresponding storage medium.
Stand der TechnikState of the art
Eine kryptoanalytische Methode, welche die physische Implementierung eines Kryptosystems in einer Vorrichtung ausnutzt, wird in der Kryptologie als Seitenkanalangriff (side channel attack) bezeichnet. Eine verbreitete Variante des Seitenkanalangriffs ist dem Fachmann als Rechenzeitangriff (timing attack) bekannt.A cryptoanalytic method which exploits the physical implementation of a cryptosystem in a device is referred to in cryptology as a side channel attack. A widespread variant of the side channel attack is known to the person skilled in the art as a timing attack.
Zur Ausführung eines Rechenzeitangriffs misst der Angreifer die Rechenzeit des implementierten kryptographischen Verfahrens für verschiedene, in der Regel vom Angreifer selbst gewählte Eingaben. Hierbei macht sich der Angreifer den Umstand zunutze, dass bestimmte Kryptosysteme von Fall zu Fall leicht abweichende Rechenzeiten benötigen, die einerseits vom gewählten Schlüssel, andererseits von den Eingabedaten, also dem Klartext oder Chiffre abhängen können. Durch eine wiederholte Laufzeitanalyse kann der Schlüssel auf diese Weise schrittweise rekonstruiert werden. Bekannte Rechenzeitangriffe richten sich gegen unterschiedlichste Hardware und Software.To perform a computational time attack, the attacker measures the computational time of the implemented cryptographic method for various inputs, usually selected by the attacker himself. In this case, the attacker takes advantage of the fact that certain cryptosystems require slightly different computing times from case to case, which may depend on the one hand on the key chosen, on the other hand on the input data, ie the plain text or cipher. Through a repeated runtime analysis, the key can be reconstructed step by step in this way. Known computing time attacks are directed against a wide variety of hardware and software.
Offenbarung der ErfindungDisclosure of the invention
Die Erfindung stellt ein Verfahren zum Abwehren von Rechenzeitangriffen auf eine geheime Berechnung, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.The invention provides a method for repelling computing time attacks on a secret calculation, a corresponding device, a corresponding computer program and a corresponding storage medium according to the independent claims.
Dem erfindungsgemäßen Ansatz liegt dabei die Erkenntnis zugrunde, dass das in
Zur Verschleierung der internen Berechnungszeit wäre es insofern denkbar, eine zufällige Wartezeit (tzufall = P..Q) nach der Zeitspanne tsecure_algo einzufügen (
Ein Vorzug der vorgeschlagenen Lösung liegt im Vergleich zu solch einer – und erst recht einer vollkommen ungeschützten – Implementierung darin, dass Rechenzeitangriffe durch eine Ausführungsform der Erfindung gänzlich verhindert werden. Folglich muss die von einem Rechenzeitangriff ausgehende Gefahr nicht durch anderweitige softwaretechnische Maßnahmen ausgeschlossen werden. Eine Ausführungsform der Erfindung ist dabei – unter dem Gesichtspunkt der benötigten Hardwareressourcen – vergleichsweise einfach zu realisieren. Der Stand der Technik wird hierzu insofern erweitert, als die zufällige Wartezeit vor bzw. mit der zu schützenden Berechnungszeit (tsecure_algo = V..W) gestartet wird (
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann das erfindungsgemäße Unterbinden eines Rechenzeitangriffs im Falle des Kommunikationskontrollers (
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass die Konfiguration des Kommunikationskontrollers (
Gemäß einem weiteren Aspekt kann vorgesehen sein, dass die Konfiguration (
Diese Aufgabe ist erfindungsgemäß sehr einfach mittels angepasster Hardware oder Software lösbar. Der Vorteil einer möglichen Hardware-Lösung liegt darin, dass eine solche Lösung nur geringe Änderungen in der Software erfordert. Typischerweise genügt es, dass neue Register zum Konfigurieren und Bedienen gelesen und geschrieben werden.This object is achieved according to the invention very easily by means of adapted hardware or software. The advantage of a possible hardware solution is that such a solution requires only minor changes in the software. Typically, it is sufficient to read and write new registers for configuration and operation.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:Embodiments of the invention are illustrated in the drawings and explained in more detail in the following description. It shows:
Ausführungsformen der ErfindungEmbodiments of the invention
Damit das Verfahren funktioniert, ist folgende Ungleichung einzuhalten:
In obiger Formel bezeichnet δt alle sonstigen konstanten Zeitanteile zwischen Beginn (Start) der Berechnungszeit (tsecure_algo = V..W) und Zeitpunkt (Ende) des Ergebnisses. Mit „konstanter Zeitanteil” ist die minimale Zeit für eine Aktion gemeint; diesem Wortsinn entsprechend wäre im beispielhaften Fall einer stochastischen Zeitgröße t ∈ [a, b] die Untergrenze a als konstanter Anteil, die Intervalllänge b – a hingegen als variabler Anteil der Zufallsvariablen t zu erachten. „Rein variable” Zeiten und die variablen Anteile der Zeiten – konstante Anteile sind in der Ungleichung zuvor berücksichtigt worden – zwischen Start und Ende sind dabei als gewissermaßen natürliche Randbedingung anzusehen, vergleichbar etwa einer aus der Netzwerktechnik bekannten Varianz der Laufzeit von Datenpaketen (jitter).In the above formula δ t denotes all other constant time shares between the start (start) of the calculation time (t secure_algo = V..W) and the time (end) of the result. By "constant time share" is meant the minimum time for an action; According to this sense of the word, in the exemplary case of a stochastic time variable t ∈ [a, b], the lower limit a would be regarded as a constant component, while the interval length b - a would be considered as the variable component of the random variable t. "Purely variable" times and the variable parts of the times - constant parts have been considered in the inequality - between start and end are to be regarded as a kind of natural boundary condition, comparable to a known from the network technology variance of the duration of data packets (jitter).
Vorzugsweise ist die Zeit tzufall zufällig, jedoch zwischen P und Q zu wählen. Die Obergrenze Q ist hierbei beliebig, solange daraus resultierende Antwortzeiten tolerierbar sind; die Untergrenze, d. h. die minimale zufällige Wartezeit P wird abhängig von der geschätzten Rechenzeit (tsecure_algo = V..W) des zu schützenden Algorithmus festgelegt. Diese Festlegung kann nichtlinear, beliebig einfach oder kompliziert sein. Zum Beispiel mag, falls die Rechenzeit (tsecure_algo = V..W) des Algorithmus als sehr kurz eingeschätzt wird, ein sehr hoher Wert für Q gewählt werden; falls die Rechenzeit (tsecure_algo = V..W) des Algorithmus als kurz eingeschätzt wird, mag ein mittlerer Wert für Q gewählt werden; und falls die Rechenzeit (tsecure_algo = V..W) des Algorithmus als lang eingeschätzt wird, mag ein großer Wert für Q gewählt werden. In jedem Fall ist folgende Ungleichung zu erfüllen:
In Betracht kommt dabei eine dynamische Anpassung der Grenzen P und Q. Wird die Ungleichung einmal verletzt, so passt die Implementierung die Grenzen an. Wird beispielsweise der Wert tzufall – P – 1 gewählt und die Implementierung – sei es Hardware oder Software – stellt fest, dass ein die Sendeanfrage (transmission request) signalisierender Statusindikator (flag) für die Antwort-Botschaft erst nach Ablauf dieser Zeit von der Software gesetzt (set) wird, so nimmt die Implementierung folgende Zuweisungen vor:
Eine Umsetzung des erfindungsgemäßen Grundgedankens ist in Software und Hardware möglich. Hierbei erfordert eine Software-Realisierung eine Änderung in der Sicherheitssoftware (
In einer beispielhaften Hardware-Realisierung hingegen können in zusätzlichen Konfigurationsregistern in der „vorgeschalteten Einheit” (
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 102013205542 A1 [0004] DE 102013205542 A1 [0004]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016207855.0A DE102016207855A1 (en) | 2016-05-06 | 2016-05-06 | Method and device for averting computer time attacks on a secret calculation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016207855.0A DE102016207855A1 (en) | 2016-05-06 | 2016-05-06 | Method and device for averting computer time attacks on a secret calculation |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016207855A1 true DE102016207855A1 (en) | 2017-11-09 |
Family
ID=60119284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016207855.0A Pending DE102016207855A1 (en) | 2016-05-06 | 2016-05-06 | Method and device for averting computer time attacks on a secret calculation |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016207855A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115657A (en) * | 2020-10-14 | 2020-12-22 | 深圳安捷丽新技术有限公司 | Chip security simulation analysis method and device for preventing single time attack |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013205542A1 (en) | 2013-03-28 | 2014-10-02 | Robert Bosch Gmbh | Apparatus and method for processing data |
-
2016
- 2016-05-06 DE DE102016207855.0A patent/DE102016207855A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013205542A1 (en) | 2013-03-28 | 2014-10-02 | Robert Bosch Gmbh | Apparatus and method for processing data |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115657A (en) * | 2020-10-14 | 2020-12-22 | 深圳安捷丽新技术有限公司 | Chip security simulation analysis method and device for preventing single time attack |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112018004408B4 (en) | IDENTIFICATION OF ATTACK FLOWS IN A LAYERED NETWORK TOPOLOGY | |
EP3254227A1 (en) | Method for protecting security-relevant data in a cache memory | |
EP2235598B1 (en) | Field device and method of operation thereof | |
DE102020214099A1 (en) | Procedure for detecting unauthorized physical access to a bus system | |
EP3720039B1 (en) | Method for configuring a security module comprising at least one derived key | |
DE102016207855A1 (en) | Method and device for averting computer time attacks on a secret calculation | |
DE102016205122A1 (en) | Method for exchanging messages between security-relevant devices | |
DE112012000780B4 (en) | Processing Authorization Check Data | |
EP2618226B1 (en) | Industrial automation system and method for its protection | |
EP3134845A1 (en) | Method and system for identifying manipulation of data records | |
DE102013108073B4 (en) | DATA PROCESSING ARRANGEMENT AND DATA PROCESSING METHOD | |
WO2018234039A1 (en) | Method and device for transmitting a message in a safety-relevant facility | |
DE102013225755A1 (en) | A method for time-limited release of access of an external device to data in a vehicle, and device therefor | |
EP3376419A1 (en) | System and method for electronically signing a document | |
DE102018221349A1 (en) | Procedure for managing a store | |
DE102016207051A1 (en) | Method and device for controlling a bus | |
DE102018203143A1 (en) | A method of sending and method for checking at least two data blocks authenticated using a key | |
EP3703333B1 (en) | Method, apparatus and system for processing at least one information item in a safety system | |
DE102013209915A1 (en) | Method and apparatus for providing random bit sequences in a virtual execution environment of a computer system | |
DE10258323A1 (en) | Increasing security against determination of encryption key, by evaluating input data based on check of predetermined criteria and calculating cipher text accordingly | |
EP3066812B1 (en) | Method for securing telecommunications traffic data | |
DE102017205552A1 (en) | A method of controlling access of an electronic device to a system and security device | |
DE102016107673A1 (en) | Method for using a proxy server for data exchange | |
DE102021201443A1 (en) | Method and device for transmitting data in a network using a service-oriented protocol | |
DE102018221348A1 (en) | Procedure for managing a store |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |