MJ Bezuidenhout
[OPEN // ROLES]
[COORD: +51.36 // +05.46] 2017 → 2026

Matthys Bezuidenhout

I build and secure the software that diagnoses and updates vehicles: a diagnostic tool for production and workshop, seed-and-key for three ECUs, two-factor protected diagnostics, and a CAN gateway in production. Before that I built secure messaging for the military. Linux and security are what I know best, and I like teaching colleagues to work with both.

01 // SELECTED WORK 04 OF 05 CASES

Diagnostic tool for the Citea bus

2022 — PRESENT
Cimsolutions @ VDL Bus & Coach

ProblemProduction and workshop needed one tool to diagnose and update every ECU on the new Citea, and it could only connect with the ignition on. On one vehicle with a bad connector it worked only with a probe held in place, which caused delay and uncertainty on the line.

DecisionMade the tool connect on battery voltage alone, and wrote a script that reads its input signals so the failure could be seen rather than guessed at.

ResultFixed the same day and shipped; the signal script is still in use.

UDSOTXVue.jsCAN

Seed-and-key for three ECUs

2025 — 2026
Cimsolutions @ VDL Bus & Coach

ProblemSecurity-gated diagnostic functions on three ECUs—the battery management system (BMS), intelligent speed assist (ISA) and secure gateway (SGW)—were inaccessible through the diagnostic tool, preventing production flashing and maintenance operations that required them.

DecisionImplemented the seed-and-key algorithms for all three. For new ECUs I moved to keys rolled out at runtime with OpenSSL, rather than secrets baked into the software, and split the key-update flow so reading and uploading keys are separate steps behind an unlock.

ResultAll three ECUs are in production use, and production flashing runs without problems.

UDSOpenSSLCANC++

TOTP-protected diagnostics

2023
Cimsolutions @ VDL Bus & Coach

ProblemThe diagnostic tool exposed security-sensitive functions to anyone with access to it, despite vehicles being serviced by external workshops.

DecisionDesigned a time-based one-time password (TOTP) authentication flow in collaboration with a cybersecurity consultant, and implemented the client side myself.

ResultDeployed in production and continues to protect access to security-sensitive diagnostic functions.

TOTPUDSCybersecurity

Secure CAN gateway

2025 — PRESENT
Cimsolutions @ VDL Bus & Coach

ProblemThe vehicle needed a secure gateway capable of enforcing rules between CAN networks, rather than simply forwarding traffic.

DecisionEvaluated an NXP S32 platform running embedded Linux, configuring LLCE CAN drivers through debugFS and testing routing between networks with different baud rates. After the evaluation, integrated the selected alternative gateway, implementing key provisioning and the client side of an ECDSA handshake.

ResultIntegrated into production vehicles and under active monitoring, with further security features in development.

NXP S32YoctoU-BootISO-TPECDSA
All case studies → Curriculum vitae →