DE102016207051A1 - Verfahren und Vorrichtung zum Steuern eines Busses - Google Patents

Verfahren und Vorrichtung zum Steuern eines Busses Download PDF

Info

Publication number
DE102016207051A1
DE102016207051A1 DE102016207051.7A DE102016207051A DE102016207051A1 DE 102016207051 A1 DE102016207051 A1 DE 102016207051A1 DE 102016207051 A DE102016207051 A DE 102016207051A DE 102016207051 A1 DE102016207051 A1 DE 102016207051A1
Authority
DE
Germany
Prior art keywords
message
procedure
bus
following features
identifier
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
Application number
DE102016207051.7A
Other languages
English (en)
Inventor
Robert Szerwinski
Harald Weiler
Paulius Duplys
Christian Horst
Clemens Schroff
Herve Seudie
Arthur Mutter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016207051.7A priority Critical patent/DE102016207051A1/de
Priority to KR1020170051488A priority patent/KR102265721B1/ko
Priority to CN201710275840.2A priority patent/CN107315949A/zh
Publication of DE102016207051A1 publication Critical patent/DE102016207051A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/005Countermeasures against attacks on cryptographic mechanisms for timing attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren (30) zum Steuern eines Busses (10), gekennzeichnet durch folgende Merkmale: – eine zu versendende Botschaft (23) mit einer Kennung wird von einem Kommunikationskontroller (14) entgegengenommen (31), – abhängig von der Kennung wird die Botschaft (23) fallweise zurückgestellt (32) und – die ggf. verzögerte Botschaft (24) wird über den Bus (10) versendet (25).

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Steuern eines Busses. Die vorliegende Erfindung betrifft darüber hinaus einen entsprechenden Kommunikationskontroller für einen Bus, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
  • Stand der Technik
  • 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.
  • 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.
  • DE 10 2013 205542 A1 betrifft eine Vorrichtung zur Verarbeitung von Daten, wobei die Vorrichtung eine Eingangsschnittstelle zum Empfang von Eingangsdaten, eine Verarbeitungseinheit zur Verarbeitung von Daten und eine Kodiereinheit aufweist, die dazu ausgebildet ist, an der Eingangsschnittstelle als Eingangsdaten erhaltene Datenworte zu kodieren, um kodierte Datenworte zu erhalten, wobei für kodierte Datenworte die kodierten Datenworte und/oder ihre Verarbeitung durch die Vorrichtung charakterisierende Messwerte in Abhängigkeit mindestens einer physikalischen Größe der Vorrichtung ermittelbar sind, wobei die Kodiereinheit dazu ausgebildet ist, die Datenworte so zu kodieren, dass ein vorgebbarer Anteil aller Messwerte, vorzugsweise mindestens etwa 50 % aller Messwerte, einen Unterschied zu einem Vorgabewert aufweist, der kleiner oder gleich einem vorgebbaren Schwellwert ist, und die Verarbeitungseinheit dazu ausgebildet ist, die kodierten Datenworte zu verarbeiten.
  • Offenbarung der Erfindung
  • Die Erfindung stellt ein Verfahren zum Steuern eines Busses, einen entsprechenden Kommunikationskontroller für einen Bus, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
  • Dem erfindungsgemäßen Ansatz liegt dabei die Erkenntnis zugrunde, dass das in 1 gezeigte Angriffsszenario vorstellbar ist. Ein Angreifer (18) kann demnach über einen CAN-Bus (10) Botschaften mit einer Aufforderung (11) zur Entschlüsselung, Verschlüsselung oder Signatur einer Nachricht, Überprüfung einer persönlichen Kennzahl (personal identification number, PIN) o. ä. an die Sicherheitssoftware (12) eines legitimen Steuergerätes (19) schicken, welches mittels eines Kommunikationskontrollers (14) und Sendeempfängers (transceiver, (15)) an den Bus (10) angeschlossen ist, somit die entsprechende Berechnung auf dem angegriffenen Steuergerät (19) auslösen und die Antwortzeit messen (16). Beliebige Funktionen können über verschiedene physikalische Steuergeräte (17) verteilt werden, welche dann gleichsam nach einem Client-Server-Modell aufgerufen werden können.
  • Ein Vorzug der vorgeschlagenen Lösung liegt im Vergleich zu solch einer ungeschützten Implementierung darin, dass Rechenzeitangriffe durch eine Ausführungsform der Erfindung verhindert oder wenigstens signifikant erschwert werden. Folglich muss die von einem derartigen Angriff 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.
  • 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 in einer alternativen oder ergänzenden Realisierung vorgesehen sein, dass in einem Konfigurationsregister (20) mehrere Kennungen gespeichert werden. Falls diese gespeicherten Kennungen die Kennung einer zu versendenden Botschaft umfassen, wird die Botschaft zurückgestellt, bis eine gewisse Anzahl nachrangiger Botschaften versendet sind.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
  • 1 einen Rechenzeitangriff in einem Fahrzeug über dessen CAN-Bus.
  • 2 schematisch das Grundprinzip einer Ausführungsform der vorliegenden Erfindung.
  • 3 das Flussdiagramm eines Verfahrens gemäß einer Ausführungsform.
  • Ausführungsformen der Erfindung
  • 2 zeigt schematisch eine Realisierung der Erfindung. Ein Grundprinzip dieser Ausführungsform besteht darin, den Sendezeitpunkt für ausgewählte CAN-Botschaften in einem Kommunikationskontroller (14) zu randomisieren. In einer beispielhaften Realisierung der Idee kann dazu in einem zusätzlichen Konfigurationsregister (20) im Kommunikationskontroller (14) die Kennung (identification, ID) der Botschaften, für welche der Sendezeitpunkt zu randomisieren ist, gespeichert werden. Zusätzlich können in einem weiteren Konfigurationsregister (29) die Randbedingungen für die Randomisierung gespeichert werden. Zu den Randbedingungen zählt beispielsweise – vergleichbar der aus der Netzwerktechnik bekannten Varianz der Laufzeit von Datenpaketen (jitter) –, wie lange die betreffende Botschaft maximal verzögert werden darf. Ein solches Höchstmaß für die Zeitspanne, über welche die Botschaft zurückzustellen ist, könnte bezüglich einer vorgegebenen Zeiteinheit – z. B. µs –, als Vielfaches einer Taktperiode des Mikrocontrollers (13) oder eines Bitintervalls des Busses (10) repräsentiert werden.
  • Erhält der Kommunikationskontroller (14) von dem Host (13) nun eine durch Software ausgelöste Aufforderung (21) zur Übertragung einer Botschaft (23) mit einer im Konfigurationsregister (20) gespeicherten Kennung, wird mittels eines Zufallszahlengenerators (22) einer Random-Delay-Einheit (27) – die angegebenen Randbedingungen erfüllende – zufällige Zeitspanne (28) bestimmt. Das Senden der Botschaft (23) wird dann um diese Zeitspanne (28) verzögert. Erst nach Ablauf der Zeitspanne (28) beginnt die Übertragung (25) der verzögerten Botschaft (24), sobald der Bus (10) verfügbar ist. 3 zeigt das Flussdiagramm eines entsprechenden Verfahrens (30).
  • Eine alternative Realisierung sieht vor, die Botschaften (24), für welche der Sendezeitpunkt zu randomisieren ist, innerhalb des Kommunikationskontrollers (14) neu zu priorisieren. Dadurch wird erreicht, dass der Sendezeitpunkt dieser Botschaften (24) durch das zufällig bevorzugte Senden nachrangiger Botschaften verzögert wird, sofern genügend Nachrichten niederer Priorität vorhanden sind. Deshalb empfiehlt sich eine Berücksichtigung dieser Ausgestaltung bereits bei der Erstellung der sogenannten Kommunikationsmatrix (K-Matrix), welche zur Festlegung verwendeter Kennungen sowie deren Zuordnung an bestimmte Sender und Empfänger dient.
  • Denkbar ist es auch, beide Varianten in einem einzigen Kommunikationskontroller (14) zu implementieren. In diesem Fall wäre es möglich, durch geeignete Konfiguration wahlweise nur eine oder beide Realisierungen zur Verschleierung der tatsächlichen Verarbeitungszeit zu verwenden.
  • Ist die Verzögerung stets größer als die eingabeabhängige Varianz der Ausführungszeit des angegriffenen Algorithmus, so liefert die Zeitmessung der CAN-Kommunikation beim Einsatz eines erfindungsgemäßen Kommunikationskontrollers (14) idealerweise keine Informationen mehr über die intern verarbeiteten Daten.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • 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.
  • Zitierte Patentliteratur
    • DE 102013205542 A1 [0004]

Claims (10)

  1. Verfahren (30) zum Steuern eines Busses (10), gekennzeichnet durch folgende Merkmale: – eine zu versendende Botschaft (23) mit einer Kennung wird von einem Kommunikationskontroller (14) entgegengenommen (31), – abhängig von der Kennung wird die Botschaft (23) fallweise zurückgestellt (32) und – die zurückgestellte Botschaft (24) wird von einer mit dem Kommunikationskontroller (14) verbundenen Sendeeinheit (33) über den Bus (10) versendet (25).
  2. Verfahren (30) nach Anspruch 1, gekennzeichnet durch folgende Merkmale: – in einem Konfigurationsregister (20) werden mehrere Kennungen gespeichert und – die Botschaft (23) wird zurückgestellt (32), falls die gespeicherten Kennungen die Kennung der Botschaft (23) umfassen.
  3. Verfahren (30) nach Anspruch 2, gekennzeichnet durch folgende Merkmale: – falls die gespeicherten Kennungen die Kennung der Botschaft (23) umfassen, wird eine zufällige Zeitspanne t (28) bestimmt und – die Botschaft (23) wird über die Zeitspanne t (28) zurückgestellt (32).
  4. Verfahren (30) nach Anspruch 3, gekennzeichnet durch folgende Merkmale: – in einem weiteren Konfigurationsregister (29) werden Randbedingungen für die Zeitspanne gespeichert und – die Zeitspanne wird derart bestimmt, dass die Zeitspanne die Randbedingungen erfüllt.
  5. Verfahren (30) nach Anspruch 4, gekennzeichnet durch folgende Merkmale: – die Randbedingungen umfassen ein Höchstmaß für die Zeitspanne und – die Zeitspanne wird derart bestimmt, dass die Zeitspanne das Höchstmaß nicht überschreitet.
  6. Verfahren (30) nach Anspruch 5, gekennzeichnet durch mindestens eines der folgenden Merkmale: – das Höchstmaß wird in dem weiteren Konfigurationsregister (29) bezüglich einer vorgegebenen Zeiteinheit oder einer Taktperiode des Hosts (13) oder eines Bitintervalls des Busses (10) repräsentiert.
  7. Verfahren (30) nach einem der Ansprüche 2 bis 6, gekennzeichnet durch folgende Merkmale: – falls die gespeicherten Kennungen die Kennung der Botschaft (23) umfassen, werden bezüglich der Botschaft (23) nachrangige Botschaften über den Bus (10) versendet und – die Botschaft (23) wird zurückgestellt (32), bis die nachrangigen Botschaften versendet sind.
  8. Computerprogramm, welches eingerichtet ist, das Verfahren (30) nach einem der Ansprüche 1 bis 7 auszuführen.
  9. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
  10. Kommunikationskontroller (14) für einen Bus (10), der eingerichtet ist, das Verfahren (30) nach einem der Ansprüche 1 bis 7 auszuführen.
DE102016207051.7A 2016-04-26 2016-04-26 Verfahren und Vorrichtung zum Steuern eines Busses Pending DE102016207051A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102016207051.7A DE102016207051A1 (de) 2016-04-26 2016-04-26 Verfahren und Vorrichtung zum Steuern eines Busses
KR1020170051488A KR102265721B1 (ko) 2016-04-26 2017-04-21 버스를 제어하기 위한 방법 및 장치
CN201710275840.2A CN107315949A (zh) 2016-04-26 2017-04-25 用于控制总线的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016207051.7A DE102016207051A1 (de) 2016-04-26 2016-04-26 Verfahren und Vorrichtung zum Steuern eines Busses

Publications (1)

Publication Number Publication Date
DE102016207051A1 true DE102016207051A1 (de) 2017-10-26

Family

ID=60021068

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016207051.7A Pending DE102016207051A1 (de) 2016-04-26 2016-04-26 Verfahren und Vorrichtung zum Steuern eines Busses

Country Status (3)

Country Link
KR (1) KR102265721B1 (de)
CN (1) CN107315949A (de)
DE (1) DE102016207051A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013205542A1 (de) 2013-03-28 2014-10-02 Robert Bosch Gmbh Vorrichtung und Verfahren zur Verarbeitung von Daten

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101417097B1 (ko) * 2008-08-12 2014-07-09 현대자동차주식회사 차량 네트워크에서의 메시지 전송 상태 진단 장치
CN101729436B (zh) * 2008-10-21 2012-04-04 中兴通讯股份有限公司 消息的获取方法及融合消息业务系统
JP5488091B2 (ja) * 2010-03-19 2014-05-14 トヨタ自動車株式会社 通信制御装置、通信システム及び通信制御方法
DE102012200997A1 (de) * 2011-08-29 2013-02-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Prüfung der korrekten Funktion einer seriellen Datenübertragung
US9887833B2 (en) * 2012-03-07 2018-02-06 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channel attacks
US9407573B2 (en) * 2013-08-29 2016-08-02 Mentor Graphics Corporation Bandwidth control in a controller area network (CAN)
KR101498561B1 (ko) * 2014-03-10 2015-03-04 국방과학연구소 글로벌 동기화를 위한 tdma 기반의 can 통신시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013205542A1 (de) 2013-03-28 2014-10-02 Robert Bosch Gmbh Vorrichtung und Verfahren zur Verarbeitung von Daten

Also Published As

Publication number Publication date
KR20170122126A (ko) 2017-11-03
KR102265721B1 (ko) 2021-06-16
CN107315949A (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
DE102014208975A1 (de) Verfahren zur Generierung eines Schlüssels in einem Netzwerk sowie Teilnehmer an einem Netzwerk und Netzwerk
DE102013206185A1 (de) Verfahren zur Erkennung einer Manipulation eines Sensors und/oder von Sensordaten des Sensors
DE102008061483A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102017209961A1 (de) Verfahren und Vorrichtung zum Authentisieren eines Nutzers an einem Fahrzeug
DE102006060760A1 (de) Authentifikationsverfahren und Kommunikationssystem zur Authentifikation
EP2499774A1 (de) Verfahren und system zur beschleunigten entschlüsselung von kryptographisch geschützten nutzdateneinheiten
DE102014007820A1 (de) Datenrahmen für geschützte Datenübertragungen
EP3949263A1 (de) Vorrichtungen und verfahren zum erzeugen und zur authentisierungsprüfung mindestens eines in einem bus-system (bu) insbesondere eines kraftfahrzeugs zu übertragenden datenpakets
DE102015001847A1 (de) Einmalverschlüsselung von Zählerdaten
DE102014214823A1 (de) Bestimmung einer Verzögerung
DE102016205122A1 (de) Verfahren zum Austausch von Nachrichten zwischen sicherheitsrelevanten Vorrichtungen
DE102016207051A1 (de) Verfahren und Vorrichtung zum Steuern eines Busses
DE102006013515A1 (de) Kryptographisches Verfahren mit elliptischen Kurven
EP3616381A1 (de) Verfahren und vorrichtung zum übermitteln einer nachricht in einer sicherheitsrelevanten anlage
EP2618226B1 (de) Industrielles Automatisierungssystem und Verfahren zu dessen Absicherung
EP3363145B1 (de) Verfahren und vorrichtung zur erzeugung eines gemeinsamen geheimnisses
DE102016207855A1 (de) Verfahren und Vorrichtung zum Abwehren von Rechenzeitangriffen auf eine geheime Berechnung
DE102014213454A1 (de) Verfahren und System zur Erkennung einer Manipulation von Datensätzen
DE102018203143A1 (de) Verfahren zum Versenden und Verfahren zum Überprüfen von wenigstens zwei unter Verwendung eines Schlüssels authentifizierten Datenblöcken
EP2481183A1 (de) Verfahren zum aufbauen eines gesicherten kommunikationskanals
WO2020221678A1 (de) Verfahren zum synchronisieren einer zeitbasis eines slaves auf eine zeitbasis eines masters und anordnung
DE102020204055A1 (de) Verfahren zur Behandlung einer Anomalie von Daten, insbesondere bei einem Kraftfahrzeug
DE102019216203A1 (de) Auf Blockverschlüsselung basierender Proof-of-Work
DE102015015361A1 (de) Verfahren zur manipulationssicheren Synchronisation von Zählern zur Sicherung einer Aktualität einer Datenübertragung in einem Fahrzeug
DE202016103460U1 (de) Kommunikationsteilnehmer eines Feldbussystems und Feldbussystem

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012580000

Ipc: H04L0051000000

R012 Request for examination validly filed