DE102012219079A1 - Method for implementing strict monotonic numerator to securely transfer e.g. critical messages from transmitter to receiver in motor car, involves incrementing counter value until counter value is equal to or larger than stored value - Google Patents
Method for implementing strict monotonic numerator to securely transfer e.g. critical messages from transmitter to receiver in motor car, involves incrementing counter value until counter value is equal to or larger than stored value Download PDFInfo
- Publication number
- DE102012219079A1 DE102012219079A1 DE201210219079 DE102012219079A DE102012219079A1 DE 102012219079 A1 DE102012219079 A1 DE 102012219079A1 DE 201210219079 DE201210219079 DE 201210219079 DE 102012219079 A DE102012219079 A DE 102012219079A DE 102012219079 A1 DE102012219079 A1 DE 102012219079A1
- Authority
- DE
- Germany
- Prior art keywords
- value
- counter value
- counter
- stored
- message
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
- H03K21/38—Starting, stopping or resetting the counter
Landscapes
- Small-Scale Networks (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Implementieren eines streng monotonen Zählers und eine Anordnung zum Bereitstellen eines solchen Zählers. Streng monotone Zähler werden u. a. zum sicheren Übertragen von Nachrichten und Informationen von einem Sender zu einem Empfänger. Nachrichten und Informationen werden dabei durch Daten repräsentiert, die zwischen einem Sender und einem Empfänger ausgetauscht werden.The invention relates to a method for implementing a strictly monotonic counter and to an arrangement for providing such a counter. Strictly monotonous counters become u. a. for securely transmitting messages and information from a sender to a recipient. Messages and information are represented by data exchanged between a sender and a receiver.
Insbesondere betrifft die Erfindung ein Verfahren, einen solchen streng monoton steigenden Zähler bereitzustellen, ohne dass der Wert des Zählers nach jeder Nachrichtenübertragung gespeichert werden muss.In particular, the invention relates to a method of providing such a strictly monotonically increasing counter, without having to store the value of the counter after each message transmission.
Stand der TechnikState of the art
Zähler bzw. Counter sind Einheiten zum Zählen von nacheinander auftretenden Ereignissen, wobei der Wert des Zählers nach Eintritt des Ereignisses um einen vorab vereinbarten Betrag erhöht wird. Man spricht von einem streng monotonen Zähler, wenn dessen Wert nur größer bzw. kleiner wird und nie konstant ist. Solche Zähler werden vielseitig eingesetzt. Ein Einsatzgebiet ist bspw., wie nachfolgend ausgeführt wird, bei der Bereitstellung von Sicherheitsdiensten gegeben.Counters are units for counting successive events, the value of the counter being increased by a pre-agreed amount after occurrence of the event. One speaks of a strictly monotonous counter, if its value only becomes larger or smaller and is never constant. Such counters are used in many ways. An application is, for example, as given below, given in the provision of security services.
Die Authentizität und/oder Integrität von Nachrichten und Daten ist bei Sicherheitsdiensten für eine Vielzahl von Anwendungen gefordert. Dies dient der Informationssicherheit, um die Vertraulichkeit, Verfügbarkeit und Integrität der Daten, die zwischen Sendern und Empfängern ausgetauscht werden, sicherzustellen. Hierzu sind eine Reihe von Schutzverfahren bekannt, mit denen ein Schutz vor Gefahren und eine Vermeidung von Schäden und Risiken sichergestellt werden sollen. Diese Schutzverfahren sind jedoch Angriffen ausgesetzt.The authenticity and / or integrity of messages and data is required in security services for a variety of applications. This is for information security to ensure the confidentiality, availability and integrity of data exchanged between senders and recipients. For this purpose, a number of protection methods are known, with which a protection against dangers and avoidance of damages and risks are to be ensured. However, these protection methods are subject to attack.
Ein verbreiteter Angriff auf entsprechende Schutzverfahren ist das Wiedereinspielen von "alten" vorher aufgezeichneten Daten, ein sogenannter Replay-Angriff, auf die Frische bzw. Freshness der Daten. Um dies zu verhindern, müssen die Nachrichten als frisch erkannt werden können. Dazu gibt es zwei Standard-Ansätze:
So ist die Integration von Zeitstempeln oder von fortschreitenden Zählern bekannt. Die Verwendung von Zeitstempeln setzt jedoch synchrone Uhren auf Sender- und Empfängerseite voraus, was insbesondere bei eingebetteten Systemen in vielen Fällen nicht gegeben ist. Die Verwendung von Zählern erfordert zuverlässige streng monotone Zähler auf Senderseite, die speziell im Bereich eingebetteter Systeme über einen Stromverlust oder Reboot hinweg Bestand haben müssen. Der Einsatz soll anhand eines konkreten Beispiels verdeutlicht werden:
Für die Bereitstellung von Sicherheitsdiensten gibt es Standardverfahren zum Schutz der Integrität von Nachrichten. Dies dient dazu, auch böswillige Verfälschungen von Nachrichten beim Empfänger feststellen zu können. Eine Möglichkeit dazu besteht in der Verwendung von Nachricht-Authentifizierungs-Codes, sogenannten Message Authentication Codes (MAC). Der MAC wird über den Inhalt einer Nachricht berechnet und der Nachricht beigefügt bzw. mit dieser verknüpft. Zur Berechnung des MACs benötigt man ein Geheimnis, bspw. einen Schlüssel, der nur dem Sender und dem Empfänger bekannt ist. Der Sender kann also den MAC berechnen und übertragen. Der Empfänger berechnet ebenfalls den MAC und vergleicht ihn mit dem übertragenen MAC. Stimmen beide überein, ist die Nachricht unverfälscht, wenn das Verschlüsselungsverfahren sicher ist und nur Sender und Empfänger den Schlüssel kennen. A widespread attack on such protection methods is the re-importing of "old" pre-recorded data, a so-called replay attack, on the freshness or freshness of the data. To prevent this, the messages must be recognized as fresh. There are two standard approaches:
So the integration of time stamps or progressive counters is known. However, the use of time stamps requires synchronous clock and receiver clocks, which is often not the case in embedded systems. The use of counters requires reliable, strictly monotone, transmitter-side counters, which must endure especially in embedded systems over a power loss or reboot. The mission will be illustrated by a concrete example:
The provision of security services has standard procedures for protecting the integrity of messages. This is to be able to detect even malicious falsifications of messages to the recipient. One way to do this is to use Message Authentication Codes (MACs). The MAC is calculated on the content of a message and attached to or linked to the message. To compute the MAC you need a secret, for example, a key that is known only to the sender and the receiver. The sender can therefore calculate and transfer the MAC. The receiver also calculates the MAC and compares it to the transmitted MAC. If both agree, the message is unadulterated if the encryption process is secure and only the sender and recipient know the key.
Allerdings kann ein Angreifer eine Replay-Attacke durchführen, d. h. er nimmt eine Nachricht auf und spielt sie zu einem späteren Zeitpunkt wieder ab. Damit ist der MAC immer noch korrekt und der Empfänger wird die Nachricht fälschlicherweise akzeptieren. Dies ist insbesondere bei häufig wiederkehrenden Nachrichten- bzw. Botschaftsinhalten problematisch.However, an attacker can perform a replay attack, i. H. He picks up a message and plays it back later. Thus, the MAC is still correct and the recipient will erroneously accept the message. This is particularly problematic for frequently recurring message or message content.
Um eine Replay-Attacke zu verhindern, kann der MAC zusätzlich zum Nachrichteninhalt über einen Zähler berechnet werden. Der Zähler wird nach jeder Nachricht inkrementiert, so dass sich immer unterschiedliche MACs ergeben. Dazu müssen jedoch Sender und Empfänger über einen synchronisierten Zähler verfügen. Die einfachste Möglichkeit besteht darin, den Zähler-Stand bzw. -Wert zu Beginn der Kommunikation zwischen Sender und Empfänger auszutauschen. Da ein Angreifer dies jedoch abhören kann, gelingt auch in diesem Fall eine Replay-Attacke, wenn sich die Stände des Zählers wiederholen. To prevent a replay attack, the MAC can be calculated in addition to the message content via a counter. The counter is incremented after each message, resulting in different MACs. However, the transmitter and receiver must have a synchronized counter. The simplest way is to replace the counter reading or value at the beginning of communication between transmitter and receiver. However, since an attacker can hear this, a replay attack will succeed in this case as well, if the levels of the counter repeats itself.
Aus diesem Grund werden streng monotone Zähler, die auch als Monotonic Counter bezeichnet werden, verwendet. Diese laufen über die Lebensdauer des Systems nie über und werden streng monoton inkrementiert. Mit Hilfe dieser Eigenschaft kann der Startwert des Zählers dann zwischen Sender und Empfänger ausgetauscht werden. Selbst für den Fall, dass ein Angreifer diese Übertragung abhört, wird die Sicherheit des Systems nicht beeinträchtigt. Würde der Angreifer die abgehörte Nachricht zu einem späteren Zeitpunkt erneut versenden, wäre die Vorgabe verletzt, dass der Zähler in der Nachricht mit jeder Übertragung inkrementiert wird, und der Empfänger könnte dadurch den (Replay-)Angriff detektieren.For this reason, strictly monotonic counters, also called monotonic counters, are used. These never overflow the life of the system and are incremented in a strictly monotonic manner. With the aid of this property, the starting value of the counter can then be exchanged between transmitter and receiver. Even in the event that an attacker listens to this transmission, the security of the system is not compromised. If the attacker sent the intercepted message again at a later time, the default would be violated that the counter in the message would be incremented with each transmission, and the receiver could thereby detect the (replay) attack.
Dazu muss jedoch sichergestellt werden, dass das System zu jedem Zeitpunkt den letzten Zähler-Wert kennt und speichert, so dass auch nach einem Rücksetzen bzw. Reset des Systems der Zähler streng monoton steigend ist. Hierzu muss der Zähler-Wert sehr oft, im Idealfall nach jeder Nachricht, in einem nicht-flüchtigen Speicher abgelegt werden. For this purpose, however, it must be ensured that the system knows and stores the last counter value at all times, so that even after a reset or reset of the system, the counter is strictly monotonically increasing. For this, the counter value must be stored very often, ideally after each message, in a non-volatile memory.
Offenbarung der ErfindungDisclosure of the invention
Vor diesem Hintergrund werden ein Verfahren gemäß Anspruch 1 und eine Anordnung mit den Merkmalen des Anspruchs 6 vorgestellt. Ausführungen ergeben sich aus den abhängigen Ansprüchen und der Beschreibung.Against this background, a method according to claim 1 and an arrangement with the features of claim 6 are presented. Embodiments result from the dependent claims and the description.
Mit dem vorgestellten Verfahren ist es somit möglich, einen streng monoton steigenden Zähler bereitzustellen, ohne dass der Wert des Zählers nach jeder Nachrichtenübertragung gespeichert werden muss.With the presented method, it is thus possible to provide a strictly monotonically increasing counter, without having to store the value of the counter after each message transmission.
Um ein häufiges Speichern des aktuellen Zähler-Werts zu umgehen, wird zu Beginn der Kommunikation, nachdem der Zähler-Wert zwischen Sender und Empfänger ausgetauscht wurde, die Summe aus Zähler-Wert und einem festgelegten Wert, dem sogenannten "Pre-Step", gespeichert, bspw. Zähler-Wert +1000. In diesem Beispiel ist der "Pre-Step" also 1000. Nun können Sender und Empfänger 1000 Nachrichten austauschen. Nach der 1000sten Nachricht wird erneut die Summe aus dem aktuellen Zählerstand und dem Pre-Step, nämlich Zähler-Wert +1000, gespeichert. Sollte zwischen zwei Speichervorgängen ein Reset erfolgen, wird beim nächsten Start der gespeicherte Wert als Startwert des Zählers verwendet. Dadurch werden zwar einige Zähler-Werte übersprungen. Der Zähler ist jedoch streng monoton steigend und die Anzahl der Speichervorgänge wird im vorgestellten Beispiel um Faktor 1000 reduziert.In order to avoid frequent saving of the current counter value, the sum of the counter value and a defined value, the so-called "pre-step", is stored at the beginning of the communication after the counter value has been exchanged between transmitter and receiver , eg counter value +1000. In this example, the "Pre-Step" is 1000. Now sender and receiver can exchange 1000 messages. After the 1000th message, the sum of the current counter reading and the pre-step, namely counter value +1000, is stored again. If a reset occurs between two memory operations, the stored value will be used as the start value of the counter at the next start. This will skip some counter values. However, the counter is strictly monotonically increasing and the number of memory operations is reduced by a factor of 1000 in the example presented.
Es wird somit nicht der aktuelle Zähler-Wert, sondern ein zukünftiger Zähler-Wert gespeichert. Beim Erreichen dieses Zähler-Werts wird erneut ein zukünftiger Zähler-Wert gespeichert. Nach jedem Neustart ist also immer ein zukünftiger Zähler-Wert als Anfangswert gespeichert und der Zähler ist streng monoton steigend.It is thus not the current counter value, but a future counter value stored. When this counter value is reached, a future counter value is again stored. After each restart, therefore, a future counter value is always stored as an initial value and the counter is strictly monotonically increasing.
Das vorgestellte Verfahren hat, zumindest in einigen der Ausführungen, erhebliche Vorteile. So kann die Speicherhäufigkeit des aktuellen Zähler-Werts reduziert werden. Dies bedeutet, dass die Anzahl der Schreibzyklen auf den typischerweise nicht-flüchtigen Speicher gesenkt werden kann. Dadurch wird die Leistungsfähigkeit des Systems erhöht, da weniger Schreibvorgänge auf den Speicher erfolgen. Zudem werden die Lebensdaueranforderungen an den nicht-flüchtigen Speicher verringert, da weniger Schreibzyklen durchgeführt werden.The presented method has, at least in some of the embodiments, considerable advantages. This can reduce the storage frequency of the current counter value. This means that the number of write cycles to the typically non-volatile memory can be reduced. This increases the performance of the system as there are fewer writes to memory. In addition, non-volatile memory life requirements are reduced because fewer write cycles are performed.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Ausführungsformen der ErfindungEmbodiments of the invention
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.The invention is schematically illustrated by means of embodiments in the drawings and will be described in detail below with reference to the drawings.
In einem ersten Schritt
Anschließend wird in einem Schritt
In einem anschließenden Schritt
Darüber hinaus ist in dem Sender
Zu beachten ist, dass voranstehend das vorgestellte Verfahren in Zusammenhang mit der Verwendung eines Zählers für einen MAC, um die Frische von Nachrichten sicherzustellen, beschrieben wurde. Die Anwendung des Verfahrens geht aber darüber hinaus. Dieses betrifft eine Implementierung eines über den gesamten Lebenszyklus streng monotonen Zählers mit Hilfe eines regelmäßig nicht-flüchtigen Speichers, der in Bezug auf das Leistungsvermögen und die Anzahl der möglichen Schreibzyklen limitiert ist. Die zugrunde liegende Anforderung ist die strenge Monotonie eines Zählers, d. h. die Zähler-Werte wiederholen sich nicht, unabhängig vom konkreten Anwendungsfall.It should be noted that the above method has been described above in connection with the use of a counter for a MAC to ensure the freshness of messages. The application of the method goes beyond that. This relates to an implementation of a lifecycle strictly monotonic counter using a non-volatile memory, which is limited in terms of performance and the number of possible write cycles. The underlying requirement is the strict monotony of a counter, i. H. the counter values are not repeated, regardless of the specific application.
Für jeden Anwendungsfall kann der konstante Wert, der Pre-Step, individuell festgelegt werden. Dies ist abhängig von der gewünschten Speicherhäufigkeit und der durchschnittlichen Dauer der Kommunikationssitzung.For each application, the constant value, the pre-step, can be set individually. This depends on the desired storage frequency and the average duration of the communication session.
Zu beachten ist weiterhin, dass der Zähler-Wert bei jedem Neustart einige Werte überspringt und der Anfangswert immer um ein Vielfaches des Pre-Step größer als der Anfangswert beim vorhergehenden Neustart ist.It should also be noted that the counter value skips some values each time it is restarted, and that the initial value is always greater than the initial value of the previous restart by a multiple of the pre-step.
Das vorgestellte Verfahren kann bei der Verwendung von MACs zur Absicherung von kritischen Botschaften auf einem Fahrzeug internen Bussystem, wie bspw. CAN oder FlexRay, eingesetzt werden. Weiterhin kann ein Einsatz in Steuergeräten, bspw. in Kraftfahrzeugen, erfolgen, bei denen die Begrenzung der Schreibzyklen auf den nicht-flüchtigen Speicher, bspw. den nicht-flüchtigen Daten-Flash, bei der sogenannten EEPROM-Emulation, eine wichtige Herausforderung ist.The presented method can be used in the use of MACs to secure critical messages on a vehicle internal bus system, such as CAN or FlexRay. Furthermore, an application in control devices, for example in motor vehicles, take place, in which the limitation of the writing cycles to the non-volatile memory, for example the non-volatile data flash, in the so-called EEPROM emulation, is an important challenge.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210219079 DE102012219079A1 (en) | 2012-10-19 | 2012-10-19 | Method for implementing strict monotonic numerator to securely transfer e.g. critical messages from transmitter to receiver in motor car, involves incrementing counter value until counter value is equal to or larger than stored value |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201210219079 DE102012219079A1 (en) | 2012-10-19 | 2012-10-19 | Method for implementing strict monotonic numerator to securely transfer e.g. critical messages from transmitter to receiver in motor car, involves incrementing counter value until counter value is equal to or larger than stored value |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102012219079A1 true DE102012219079A1 (en) | 2014-04-24 |
Family
ID=50436992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201210219079 Pending DE102012219079A1 (en) | 2012-10-19 | 2012-10-19 | Method for implementing strict monotonic numerator to securely transfer e.g. critical messages from transmitter to receiver in motor car, involves incrementing counter value until counter value is equal to or larger than stored value |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102012219079A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10326453B2 (en) | 2016-12-14 | 2019-06-18 | Nxp B.V. | Monotonic counter and method of operating a monotonic counter |
US10547452B2 (en) | 2017-01-30 | 2020-01-28 | Nxp B.V. | Apparatus and method for verifying secret keys |
US10700860B2 (en) | 2016-12-13 | 2020-06-30 | Nxp B.V. | Legitimacy verification of a node in a distributed network |
US10715333B2 (en) | 2016-12-14 | 2020-07-14 | Nxp B.V. | Network message authentication and verification |
-
2012
- 2012-10-19 DE DE201210219079 patent/DE102012219079A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10700860B2 (en) | 2016-12-13 | 2020-06-30 | Nxp B.V. | Legitimacy verification of a node in a distributed network |
US10742409B2 (en) | 2016-12-13 | 2020-08-11 | Nxp B.V. | Legitimacy verification of a node in a distributed network |
US10764046B2 (en) | 2016-12-13 | 2020-09-01 | Nxp B.V. | Updating and distributing secret keys in a distributed network |
US10326453B2 (en) | 2016-12-14 | 2019-06-18 | Nxp B.V. | Monotonic counter and method of operating a monotonic counter |
US10715333B2 (en) | 2016-12-14 | 2020-07-14 | Nxp B.V. | Network message authentication and verification |
US10547452B2 (en) | 2017-01-30 | 2020-01-28 | Nxp B.V. | Apparatus and method for verifying secret keys |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1326469B1 (en) | Method and device for checking the authenticity of a service provider in a communications network | |
EP3610605B1 (en) | Method and device for generating a cryptographic timestamp for a digital document on a majority basis | |
DE69737083T2 (en) | Method and device for checking data | |
DE602005002652T2 (en) | System and method for renewing keys used in public-key cryptography | |
EP3110101A1 (en) | Method for tamper protection of payload data packets to be transmitted over a bus system | |
DE102012217743A1 (en) | Checking an integrity of property data of a device by a tester | |
DE102013218212A1 (en) | Method for secure transmission of data | |
DE102012219079A1 (en) | Method for implementing strict monotonic numerator to securely transfer e.g. critical messages from transmitter to receiver in motor car, involves incrementing counter value until counter value is equal to or larger than stored value | |
DE102014203497A1 (en) | Masked nonlinear feedback shift register | |
EP2102720B1 (en) | Method for receiving a confidential time information | |
WO2011107319A2 (en) | Method for verifying a memory block of a nonvolatile memory | |
DE102020212451A1 (en) | Method of digitally signing a message | |
DE102014214823A1 (en) | Determination of a delay | |
EP2695324B1 (en) | Method for sending messages with integrity protection | |
EP2730050B1 (en) | Method for generating and verifying an electronic pseudonymous signature | |
DE102021001095A1 (en) | Counter-based method for recognizing lost and re-imported messages | |
DE102021202075A1 (en) | Procedures for validating messages | |
DE102012008519A1 (en) | Securing an energy quantity counter against unauthorized access | |
DE102014001270A1 (en) | Method and system for calculating codewords for protected data transmissions | |
DE102014213454A1 (en) | Method and system for detecting a manipulation of data records | |
DE102014217993A1 (en) | Transmitter, receiver, intermediate node and method for synchronizing at least one clock of at least one receiver with a clock of a transmitter | |
DE102018203143A1 (en) | A method of sending and method for checking at least two data blocks authenticated using a key | |
DE102010044858A1 (en) | A method for processing messages in a communication network from a plurality of network nodes | |
EP1857981A2 (en) | Assembly and method for generating a printed stamp | |
DE102014202431A1 (en) | Identification system for electrochemical energy storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |