Skip to main content

EVSE Infrastructure Attack Surfaces

Updated 4 min readMarkdown
Part of seriesEVSE Security
EVSE Infrastructure Attack Surfaces

EV charging infrastructure has quietly become one of the more interesting attack surfaces in automotive security — it sits at the intersection of embedded systems, cloud backends, payment processing, and physical public access, often all owned by different vendors who never quite agreed on a shared threat model.

This post is a map of where the interesting seams are, not a how-to. Think of it as the outline I'd want before diving into any one piece in depth.

The actors in an EVSE deployment

A charging session typically touches:

  • The vehicle — battery management system, onboard charger, communication controller

  • The EVSE (charge point) — the physical charger, usually running embedded Linux or an RTOS

  • The Charge Point Operator (CPO) backend — the cloud system managing the fleet of chargers

  • The e-Mobility Service Provider (eMSP) — handles billing, roaming, apps

  • The driver's app/RFID card — the authentication token

Each boundary between these is a potential attack surface, and each is usually built by a different vendor.

Surface 1: OCPP (charger ↔ backend)

OCPP is the dominant protocol between charge points and CPO backends. Versions matter a lot here:

  • OCPP 1.6J (WebSocket/JSON) is still extremely common in the field, and its security depends almost entirely on how the implementer layered TLS and authentication on top — the spec itself doesn't mandate much.

  • OCPP 2.0.1 improves on this with better security profiles, but adoption lags because rip-and-replace of deployed hardware is expensive.

Interesting angles: weak or absent mutual TLS, predictable charge point identifiers, backend APIs that trust whatever a charger claims about itself (meter values, transaction IDs) without independent verification.

Surface 2: ISO 15118 (vehicle ↔ charger)

This is the protocol for Plug & Charge — the vehicle authenticates to the charger (and vice versa) using certificates, without the driver tapping an app or card. It's elegant when it works, but it introduces a whole PKI trust chain:

  • Root CAs, sub-CAs, provisioning certificates, contract certificates

  • Certificate revocation handling (or the lack of it) in constrained embedded environments

  • The physical layer underneath it (PLC over the charging cable) has its own history of implementation quirks

A compromised or misissued certificate anywhere in that chain has outsized consequences because Plug & Charge is designed to require no other authentication step.

Surface 3: The physical charger itself

Public chargers are, by definition, physically accessible to anyone. That means:

  • Exposed debug ports (UART, JTAG) on units that weren't hardened for field deployment

  • Firmware update mechanisms — how is a new firmware image authenticated before a charger accepts it?

  • Local diagnostic interfaces meant for technicians, sometimes left reachable

This is the surface that most resembles classic embedded/IoT hardware hacking, and it's often the least mature from a security-engineering standpoint because chargers were historically treated as "dumb" appliances.

Surface 4: The backend and app layer

This is standard web/API security territory, but with automotive-specific consequences:

  • BOLA/IDOR in fleet management APIs (start/stop someone else's charging session, pull their session history)

  • Billing logic — can meter values or session duration be manipulated to under-report usage?

  • Roaming — CPOs interconnect through the Open Charge Point Interface (OCPI) or similar; trust between operators who've never security-reviewed each other's systems is its own can of worms

Surface 5: Grid-facing and smart-charging features

Newer deployments add demand-response and V2G (vehicle-to-grid) features, where the charger can throttle or schedule charging based on grid signals. This is early-stage but worth watching — it's a new remote-control surface with real physical-world consequences (load manipulation at scale) if backend trust boundaries aren't solid.

Where I'd focus first

If I were prioritizing based on impact-per-effort, in rough order:

  1. OCPP backend trust assumptions (surface 1) — most deployments, least mature TLS/auth hygiene

  2. Physical charger debug/firmware surface (surface 3) — highest "someone will find this eventually" risk given public accessibility

  3. ISO 15118 PKI (surface 2) — lower current prevalence (Plug & Charge adoption is still growing) but highest blast radius when it matters

Future posts will probably go deep on one of these at a time — likely starting with OCPP backend assumptions, since that's the one my pocket-charger build is already poking at.

17 views

About the author

  • I'm a penetration tester working in automotive and EV charging security. This blog is where I document what I learn while assessing connected vehicles, EV chargers, embedded devices and the technologies that power modern mobility. You'll find practical notes, architecture breakdowns, protocol deep dives, original diagrams and security research focused on OCPP, ISO 15118, firmware, wireless interfaces and real-world attack surfaces. My goal is simple: make complex automotive security topics easier to understand through hands-on engineering rather than marketing buzzwords.

No comments yet. Be the first to comment.

More from this blog