# CAN-Bus (Controller Area Network)

> CAN (Controller Area Network) ist der serielle Bus aus ISO 11898, der die meisten Steuergeräte im Fahrzeug verbindet. Jeder Knoten sieht jeden Frame, Frames tragen statt einer Absenderadresse einen 11- oder 29-Bit-Identifier, und der niedrigste Identifier gewinnt die Arbitrierung. Klassisches CAN trägt bis zu 8 Datenbytes pro Frame. Das Protokoll hat weder Authentifizierung noch Verschlüsselung, jeder Knoten kann also jeden Identifier senden. Deshalb zählen Gateways, SecOC und Zugriffsschutz in der Diagnose.

CAN (ISO 11898) ist der Broadcast-Bus, den sich die meisten Steuergeräte teilen: Identifier, Arbitrierung, Fehlerbehandlung. Was das für Security-Tests bedeutet.

Source: https://auto-st.com/de/glossar/can-bus · Updated: 2026-10-07

## Was ist CAN?

CAN ist ein Multi-Master-Broadcast-Bus. Jeder Frame trägt einen Identifier, einen Data Length Code (DLC), bei klassischem CAN bis zu 8 Datenbytes, einen 15-Bit-CRC und einen Acknowledge-Slot. Der Identifier benennt den Inhalt und legt die Priorität fest, nicht den Absender: Fangen zwei Knoten gleichzeitig an, gewinnt der mit dem niedrigeren Identifier die Arbitrierung, weil ein dominantes `0`-Bit ein rezessives `1`-Bit überschreibt.

In candump-Notation sieht ein UDS-Request an ein Motorsteuergerät so aus: `7E0#0322F19055555555`, also Identifier `0x7E0` und acht Bytes, davon ist `03 22 F1 90` der ISO-TP-Single-Frame mit ReadDataByIdentifier für die VIN.

## Wo ist es definiert?

ISO 11898-1 definiert die Sicherungsschicht und die physikalische Signalisierung, also Frame-Formate, Arbitrierung, Bit-Timing und Fault Confinement; ISO 11898-2 definiert die High-Speed-Bitübertragungsschicht. Die aktuelle ISO 11898-1:2015 deckt auch CAN FD ab. Diagnose auf CAN nutzt ISO 15765-2 (ISO-TP) als Transport und ISO 14229 (UDS) als Anwendungsschicht.

## Was es in der Praxis bedeutet

Wer am Bus hängt, kann alles senden. Ein Gerät am OBD-Port, eine kompromittierte Telematikeinheit oder ein Tester am Prüfstand kann Frames mit jedem Identifier senden, und die Empfänger können nicht erkennen, von wem sie kommen. Dazu kommt Fault Confinement: Ein Knoten, der zu viele Sendefehler sieht, geht in den Zustand Error Passive und schließlich Bus-Off, und das kann ein Angreifer gezielt auslösen, um einen Knoten stummzuschalten.

Am Prüfstand zeigt sich das so: Steuergeräte reagieren auf jeden Frame mit dem richtigen Identifier, Diagnose-Identifier antworten aus jedem Bussegment, weil das Gateway sie weiterleitet, und Steuergeräte verhalten sich falsch, wenn eine Nachricht mit unerwartetem DLC oder Signalwerten außerhalb des Bereichs kommt. Eine falsche Bitrate oder ein falscher Sample Point ist der häufigste Aufbaufehler: Der Prüfstand füllt sich mit Error Frames, und das Steuergerät antwortet nie.

## Wie AutoST es testet

AutoST spricht CAN über SocketCAN-Adapter unter Linux, zum Beispiel PEAK oder Kvaser, und Vector-Hardware unter Windows über die XL Driver Library, mit einstellbarer Bitrate und einstellbarem Sample Point. UDS läuft über ISO-TP auf CAN. Die CAN-Fuzzing-Engine schickt zufällige klassische und FD-Frames auf Arbitration-IDs aus deiner DBC, mit einem Seed für exakte Wiederholung, und meldet ein Steuergerät, das nicht mehr auf TesterPresent antwortet oder seine DTC-Anzahl ändert.

## Häufige Missverständnisse

Ein CAN-Identifier ist keine Absenderadresse und beweist nichts über die Herkunft. Gateways verringern die Angriffsfläche, sind aber keine Authentifizierung. Und CAN ist nicht veraltet: CAN FD erweitert es, und der meiste Diagnosezugang zu Steuergeräten beginnt immer noch an einem CAN-Bus.

## FAQ

**Hat CAN eingebaute Sicherheit?**

Nein. CAN-Frames tragen keine Absenderidentität, keine Authentifizierung und keine Verschlüsselung. Schutz kommt von außerhalb des Protokolls: Gateways, die Bussegmente trennen, SecOC-Nachrichtenauthentifizierung auf ausgewählten Frames und Zugriffsschutz in der Diagnoseschicht.

**Was ist der Unterschied zwischen 11-Bit- und 29-Bit-Identifiern?**

Das Base Frame Format nutzt einen 11-Bit-Identifier (0x000 bis 0x7FF), das Extended Format einen 29-Bit-Identifier. Beide können sich einen Bus teilen. Diagnose nutzt beides; OBD auf 11 Bit verwendet 0x7DF für funktionale und 0x7E0 bis 0x7E7 für physische Requests.

**Welche Bitraten sind üblich?**

Antriebs- und Fahrwerksbusse laufen oft mit 500 kbit/s, Karosseriebusse oft mit 125 oder 250 kbit/s, klassisches CAN erlaubt bis 1 Mbit/s. Prüf immer den Bus, an dem du hängst: eine falsche Bitrate oder ein falscher Sample Point erzeugt Error Frames und kann andere Knoten stören.

## Sources

- [ISO 11898-1:2015 Straßenfahrzeuge, Controller Area Network (CAN), Teil 1: Sicherungsschicht und physikalische Signalisierung](https://www.iso.org/standard/63648.html)
- [ISO 15765-2:2024 Straßenfahrzeuge, Diagnosekommunikation über CAN (DoCAN), Teil 2: Transportprotokoll und Netzwerkschichtdienste](https://www.iso.org/standard/84211.html)

## Related

- [CAN FD (CAN with Flexible Data Rate)](https://auto-st.com/de/glossar/can-fd)
- [ISO-TP (ISO 15765-2)](https://auto-st.com/de/glossar/iso-tp)
- [SecOC (Secure Onboard Communication)](https://auto-st.com/de/glossar/secoc)
- [Gateway-Steuergerät (Central Gateway)](https://auto-st.com/de/glossar/gateway-steuergeraet)
- [CAN-Interface für ECU-Security-Tests wählen](https://auto-st.com/de/insights/can-interface-fuer-security-tests-waehlen)
- [Spricht die Busse, die deine ECUs sprechen.](https://auto-st.com/de/protokolle-hardware)

---
AutoST by Zyberum. Canonical page: https://auto-st.com/de/glossar/can-bus
