Безопасность и доверие
Журнал, ключи, доступ
Как понять, что запись в журнале блока не подделана?
Каждая запись подписывается закрытым ключом ВНУТРИ блока, который физически никогда его не покидает и недоступен даже прошивке (аппаратно защищённое хранилище чипа). Записи связаны в цепочку - если кто-то попробует удалить или переставить запись, цепочка порвётся, и это будет видно. Раз в сутки итоговый "слепок" всех записей нотариально фиксируется во времени - подделать историю задним числом невозможно.
Журнал блока - это доказательство в суде?
Сам по себе - нет, не единственное. Журнал блока - это ранний сигнал и честный таймлайн: он даёт понять, что произошло и когда, и главное - успеть взять опломбированную пробу топлива, пока она ещё в баке. Основное юридическое доказательство - аккредитованный лабораторный анализ пробы против ГОСТ. Журнал не заменяет лабораторию, он делает так, чтобы проба была взята вовремя.
Может ли кто-то перехватить связь между телефоном и блоком по WiFi?
Нет. В рабочем режиме (SECURE) весь обмен между приложением и блоком зашифрован - и команды, и телеметрия. Даже если кто-то слушает WiFi рядом, он видит только шум, а не данные. До установления связи в эфире есть только один открытый сигнал - "маячок" с серийником блока ("я тут"), без единого рабочего параметра. Само содержимое сессии закрыто ключом, который вычисляется заново на каждое подключение.
Может ли чужой телефон подключиться и управлять моим блоком?
Нет. При первом подключении телефон и блок "спариваются" - как по Bluetooth: они запоминают ключи друг друга. Дальше блок принимает команды только от спаренного телефона, и каждая команда подписана - подделать подпись без ключа нельзя. Чужой телефон, который не проходил спаривание, получит отказ ("сессия не подтверждена") и не сможет отправить ни одной команды. Проверка взаимная: не только блок проверяет телефон, но и телефон - блок.
А если кто-то записал команду "по воздуху" и повторит её потом?
Не сработает. У каждой команды есть растущий номер (счётчик), и блок помнит последний принятый. Старую записанную команду с уже использованным номером блок отклонит ("повтор команды"). Счётчик переживает перезагрузку и телефона, и блока - подсунуть старую команду задним числом не выйдет.
В семье несколько водителей и телефонов - как они все подключатся к одному блоку?
Работает. iPhone или Android - без разницы, у каждого телефона свой ключ. Первый телефон становится «владельцем» и получает права добавлять/отзывать остальных. Добавление нового: владелец в приложении жмёт «Добавить телефон» → на экране QR-код и 4 цифры под ним (живёт 5 минут) → на новом телефоне «Присоединиться к блоку» → вводит код → готово, телефон в связке. Владелец в любой момент видит список привязанных телефонов ("Мои телефоны") и может отозвать любой одной кнопкой - отозванный телефон немедленно перестаёт управлять блоком, даже если у него было открытое соединение. Для автопарка добавление централизовано из штаба (отдельный облачный слой, пока не построен).
Продаю машину с блоком - что делать с доступом?
Работает как Activation Lock у iPhone: пока блок привязан к владельцу, чужой не сделает его своим. Продавец в приложении жмёт «Передать блок» → подтверждает → блок стирает ВСЮ связку (владельца и всех членов семьи) и становится «ничьим» → покупатель ставит приложение, подключается первым и становится новым владельцем. Всё старое доступа больше нет. Если продавец забыл передать - сбросить блок без подтверждения текущего владельца в v1 нельзя (защита от угона: вор не может тихо обнулить блок); сброс без владельца - через поддержку/облако, это отдельная будущая задача, не в этой версии.