ECU security icon

UDS SecurityAccess: як seed-key challenge захищає ECU і чому "хакнути" не так просто

Що таке UDS SecurityAccess ($27), як працює seed-key challenge, чому одні операції (read PID) відкриті, а інші (write, flash) вимагають авторизації, і що дозволено законно.

ШІ-згенеровано 3 хв читання

Прочитати Coolant Temp через OBD-II — може будь-який ELM327 без пароля. А ось написати новий VIN, скинути adaptation, зробити калібровку ADAS — не вийде. Різницю забезпечує UDS SecurityAccess ($27) — механізм seed-key challenge. У пості — коротко як він працює і чому легально «зламати» його не завжди правильно.

Що таке SecurityAccess

UDS (ISO 14229) визначає service $27 SecurityAccess — механізм авторизації клієнта перед виконанням потенційно небезпечних операцій. Логіка:

  1. Клієнт (сканер): «Дай мені seed для level X»
  2. ECU: генерує 16-32-byte random seed, відправляє
  3. Клієнт: обчислює key = f(seed, secret) де f і secret — секретний алгоритм виробника
  4. Клієнт: «Ось мій key»
  5. ECU: перевіряє (сам обчислює той самий key з того самого seed), якщо співпадає — надає доступ

Секрет — у виробнику, зашитий у диагностичне ПЗ (VW ODIS, BMW ISTA, Mercedes Xentry).

Що вимагає SecurityAccess

Не вимагає (default access):

  • Read Data ($22) — стандартні PID
  • Read DTC ($19)
  • Clear DTC ($14) — у більшості випадків open
  • Live monitoring

Вимагає SecurityAccess:

  • Write Data ($2E) — прописування VIN, coding, IMA-код форсунок
  • Routine Control ($31) — калібровка ADAS, DPF forced regen, ABS bleed
  • ECU Reset ($11)
  • Upload/Download ($34-$37) — перепрошивка ECU
  • Communication Control ($28) — вимкнення CAN-повідомлень

Рівні SecurityAccess

Виробники визначають кілька рівнів:

  • Level 0 — default (Read-only)
  • Level 1 — Basic Service (Reset, clear adaptations)
  • Level 3 — Programming (flash ECU)
  • Level 5 — Development (calibration parameters)

Кожен рівень — свій seed-key алгоритм. Vice-versa: Level 3 не дає Level 5 (навіть якщо ECU відповідає на seed level 3, це не значить що ти можеш flash-переpisати calibration tables).

Реверс-інжиніринг seed-key

Легально можна:

  • Дослідити свою власну машину для DIY-модифікацій
  • Публікувати research (Bosch, Chris Valasek — well-known researchers)

НЕ можна:

  • Продавати «скидання пробігу» через SecurityAccess bypass — odometer fraud незаконно
  • Обхід SecurityAccess для disabling anti-theft (стаття у законодавстві багатьох країн)
  • Публікувати конкретні seed-key алгоритми виробників (може бути DMCA takedown, hardware maker sues)

Приклади seed-key алгоритмів

Публічно відомі (leaked / reverse-engineered):

  • VW / Audi Level 3 — старі MED17: XOR-shift на 5 байт (взломано в 2009)
  • BMW E9x DDE (дизель ECU): CRC-16 based (взломано ~2015)
  • Mercedes W204 EIS — HMAC-SHA1 з фіксованим секретом (частково взломано)
  • Modern (2020+): AES-128 з rotating key — практично не зламуємо

Що OBD-II дає без SecurityAccess

Все, що вам зазвичай потрібно як власнику авто:

  • Читання DTC + Freeze Frame (див. Freeze Frame пост)
  • Live parameters — LTFT, MAP, MAF, O2 (див. Best PIDs пост)
  • Mode 06 — self-monitoring test results (див. Mode 06 пост)
  • Read Coding info (без запису)
  • Clear codes (в межах Mode $14)

Це ~95% диагностичного обсягу.

Що потребує SecurityAccess (тільки офіційні сервіси)

  • Прошивка ECU
  • Прописування VIN (наприклад, після заміни ECU)
  • IMA-код форсунок (див. injector coding)
  • Калібровка ADAS (див. ADAS пост)
  • Активна регенерація DPF (принаймні на VAG)

Що робить Car Diagnostics

Ми не робимо SecurityAccess bypass — це:

  • Може бути незаконним
  • Не підтримується стандартним ELM327
  • Ризик закирпичити ECU

Наш підхід — максимум того, що доступно без SecurityAccess: 95% диагностики користувача покрито. Coding, flash, ADAS calibration — тільки в спеціалізованих сервісах з ODIS / ISTA / Xentry.

Спробуйте на безкоштовному тарифіпідключіть ELM327-адаптер. Все без SecurityAccess — доступно одразу. Deep дигностика через Mode 22 (теж без Security) — на платному тарифі.