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