Защита диагностики автомобиля SFD
Кратко про SFD.
Для начала вспомним оригинальную SFD. Аббревиатура SFD расшифровывается как Schutz Fahrzeug Diagnose – «защита диагностики автомобиля». C 2020 года концерн Volkswagen AG начал внедрять эту систему безопасности на новые модели . Идея SFD заключалась в том, чтобы ограничить доступ к кодированию и настройкам блоков управления (ЭБУ) от неавторизованных лиц.
Раньше, до SFD, чтобы изменить некоторые скрытые параметры в автомобиле (скажем, добавить функцию, откалибровать датчик или поменять кодировку блока), достаточно было ввести известный 5-значный логин безопасного доступа – и вуаля, можно творить что угодно. Однако со временем такой подход перестал соответствовать требованиям безопасности.
Что сделала SFD1? Она ввела онлайн-проверку: теперь блок управления запрашивает у диагностического сканера специальный токен (ключ доступа). Чтобы получить токен, компьютер с диагностической программой должен связаться с сервером VW и подтвердить, что вы – тот, кому можно разрешить эту операцию. Токен выдается только через официальный аккаунт. То есть простой умелец без доступа к дилерским системам такой токен взять не мог. По сути, SFD1 добавила дополнительный уровень авторизации между машиной и человеком с ноутбуком.
SFD2: новый принцип работы
Если SFD1 можно представить как охранника, который спросит ваш пропуск перед входом в «комнату настроек» автомобиля, то SFD2 – это охранник, который вообще не даст вам ключ от комнаты. Вместо этого каждый раз, когда вы захотите переставить стул или повесить новую картину (изменить какой-то параметр), он потребует именное письмо-разрешение от главного офиса.
Более формально: в SFD2 токен превращается в разрешение на запись строго определённых данных, указанных внутри этого токена. То есть токен теперь привязан не просто к «сеансу» или блоку в целом, а к конкретному действию – например, изменению параметра X в блоке Y на значение Z. Если захотите изменить другой параметр – нужен новый токен, и так для каждой операции. Универсального «разблоченного режима» больше нет.
Как это реализовано технически? SFD2 использует принцип сквозной защиты данных (End-to-End Protection) между сервером VAG и блоком управления. Диагностический прибор при попытке изменить что-то в защищенном блоке отправляет на сервер запрос, содержащий все детали: какой блок, какой именно параметр/настройка, какое новое значение. Сервер проверяет, а имеете ли вы право на такую операцию, и если да – выдает цифровой подписанный токен, где зашиты все эти детали. Блок управления в машине получает этот токен, проверяет его подлинность и убедится, что разрешение действительно на ту операцию, которую вы пытаетесь выполнить. Только после этого блок вносит изменения. Если попытаться что-то изменить без токена или не то, что разрешено в токене – ничего не выйдет, доступа нет.
Получается, SFD2 – это не «ключ от комнаты», а разовая цифровая подпись на конкретное действие.
Стоит немного пояснить про цифровую подпись, раз уж она тут главный герой. Подпись в электронном виде работает примерно как печать и подпись ответственного лица на бумажном документе. Когда сервер VAG подписывает токен, он использует секретный криптографический ключ известный только ему. В результате получается некая зашифрованная «приписка», которую блок в авто может проверить с помощью соответствующего открытого ключа. Если кто-то попробует изменить хоть бит данных в токене или подделать подпись – проверка провалится, и блок сразу отвергнет такой “документ”. Вот и получается, что единственный способ получить валидный токен SFD2 – запросить его у самого Volkswagen.
Как вытекает из сказанного нет волшебного пароля или универсального кода, открывающего все настройки. Каждый токен привязан к конкретному VIN, конкретному параметру и даже значению, которое вы собираетесь записать.