Настройка движка правил

Движок правил — весь смысл TeslaKee. Официальный ключ отвечает машине всегда, когда она спрашивает, — именно поэтому угонщик может встать рядом с вашей машиной, сообщник — рядом с вами, и автомобиль уедет. Ключ TeslaKee отвечает только тогда, когда ваши собственные правила говорят, что ситуация похожа на вас, действительно подходящего к своей машине.

Эта страница объясняет, как правила складываются, что каждое из них на самом деле измеряет и какие сочетания выдерживают повседневность. Всё это — экран Правила в приложении для Android.

Как принимается решение

Каждый раз, когда машина запрашивает авторизацию, движок оценивает ваши правила и выдаёт один ответ: разрешено или заблокировано.

Пассивный доступ разрешается, когда:

выполнены все ОБЯЗАТЕЛЬНЫЕ правила и выполнено не менее N НЕОБЯЗАТЕЛЬНЫХ правил, где N — заданный вами кворум.

Если необязательных правил нет, кворум не учитывается. Если не настроено ни одного правила, движок блокирует — пустая политика не означает открытую дверь.

Несколько вещей стоят вне этой проверки и рассматриваются первыми, в таком порядке:

  1. Аварийный выключатель — блокирует всё и всегда. См. Аварийный выключатель.
  2. Льгота на переподключение — уже авторизованная связь, кратко пропавшая, остаётся авторизованной. См. Удержание соединения.
  3. Удержание соединения — однажды разрешённый доступ действует до конца этого соединения.
  4. Ручное послабление — на несколько минут разрешает всё. См. Ручное послабление.
  5. Always-On — разрешает всё постоянно. См. Always-On.

Правила проверяются от дешёвых к дорогим, а правило, результат которого уже не изменит исход, пропускается. Это только экономия батареи: ответ «разрешить/заблокировать» тот же самый.

ОБЯЗАТЕЛЬНОЕ, НЕОБЯЗАТЕЛЬНОЕ и ВЫКЛ

У каждого правила один из трёх уровней. Это и есть механизм, который стоит понять: именно здесь безопасность взвешивается против удобства.

УровеньСмыслЧто если не выполнено
ОБЯЗАТЕЛЬНОЕЖёсткое условие.Машина остаётся закрытой, что бы ни выполнялось ещё.
НЕОБЯЗАТЕЛЬНОЕПризнак, идущий в зачёт кворума.Само по себе ничего — другие необязательные компенсируют.
ВЫКЛНе проверяется вовсе.

Коротко: обязательные правила — это И, необязательные — это голосование.

  • ОБЯЗАТЕЛЬНОЕ для условий, которые всегда истинны, когда вы действительно идёте к своей машине, — и никогда для злоумышленника. Движение — классика: телефон в руке или кармане и недавно перемещался.
  • НЕОБЯЗАТЕЛЬНОЕ для хороших признаков, которые иногда недоступны: GPS в помещении, дрейфующий барометр, переключающаяся сота. Отказ одного не должен запирать вас снаружи.
  • ВЫКЛ для всего, что к вам не относится.

ОБЯЗАТЕЛЬНОЕ правило, которое невозможно проверить (нет датчика, нет разрешения, нет опорной точки), считается невыполненным и блокирует. Так задумано: неизмеримое условие — не выполненное условие. И это же причина номер один жалоб «приложение не открывает машину» — см. Поиск неисправностей.

Кворум

Кворум — количество необязательных правил, которые должны выполниться: «хотя бы 2 из этих 4».

  • Низкий кворум (1): достаточно одного признака. Удобно, слабо.
  • Высокий кворум (равный числу необязательных правил) фактически делает их все обязательными. Надёжно, но хрупко.
  • Полезная настройка — обычно 2 из 3 или 2 из 4: злоумышленнику приходится подделать сразу несколько независимых вещей, а один капризный датчик никогда не запрёт вас снаружи.

Кворум относится только к НЕОБЯЗАТЕЛЬНЫМ правилам. Кворум выше числа имеющихся необязательных правил заблокировал бы всё, поэтому приложение ограничивает его автоматически.

Профили безопасности

Три профиля вверху экрана одним касанием настраивают все правила и пороги ниже. Это отправная точка, а не клетка: измените что-то потом — и профиль просто покажется как пользовательский.

СвободныйСбалансированныйСтрогий
Движениенеобязательноеобязательноеобязательное
Сигнал BLEвыклнеобязательноеобязательное
Телефон разблокированвыклнеобязательноеобязательное
Место парковкивыклнеобязательноенеобязательное
Шагивыклвыклнеобязательное
Высотавыклвыклнеобязательное
Кворум123
Окно движения15 мин5 мин2 мин
Порог сигнала−90 дБм−80 дБм−70 дБм
Шаги5 за 15 мин10 за 5 мин25 за 2 мин
Допуск по высоте30 м15 м5 м
Разблокирован не позже10 мин2 мин1 мин

Сбалансированный — правильный выбор для большинства. Строгий исходит из того, что телефон вы недавно разблокировали и стоите близко к машине; защита отличная, изредка придётся дёрнуть ручку дважды. Свободный едва отличается от штатного ключа — только там, где парковку вы считаете безопасной.

Проверка настройки

Панель Проверка правил на том же экране оценивает каждое правило вживую — включая отключённые — и показывает, что оно сообщает прямо сейчас. Она же перечисляет, какие датчики движения на самом деле есть в вашем телефоне и срабатывают ли они.

Пользуйтесь так: встаньте там, где обычно паркуетесь, откройте панель и прочтите правила, которые рассматриваете. Правило, которое уже не выполняется, пока вы стоите у собственной машины, — это правило, которое запрёт вас снаружи: сделайте его НЕОБЯЗАТЕЛЬНЫМ или оставьте ВЫКЛ.


Правила

Движение

Выполняется, если телефон движется или двигался в пределах окна (2 / 5 / 15 минут, настройка 1–60).

Это рабочая лошадка против ретрансляции и единственное правило, обязательное по умолчанию. Relay-атака происходит, пока ваш телефон лежит на столе, в прихожей, на тумбочке — неподвижно. Телефон, не шевелившийся десять минут, не идёт сейчас к машине.

  • Короче окно — сильнее защита. 2 минуты означают «вы двигались буквально только что».
  • Длиннее окно — удобнее, если вы сидите в кафе рядом с припаркованной машиной.
  • Нужен акселерометр, а на GrapheneOS/CalyxOS — разрешение Датчики. Без него правило не выполняется никогда и блокирует всё.

Геозона

Выполняется, если телефон находится в одной из зон, нарисованных вами на карте. (Premium)

Так вы говорите: «пускать только рядом с домом, работой и спортзалом». Правилу нужна позиция GPS, поэтому оно одно из двух «дорогих» по батарее и в подземных паркингах работает медленно или никак. Отлично как НЕОБЯЗАТЕЛЬНОЕ, рискованно как ОБЯЗАТЕЛЬНОЕ — именно под землёй GPS хуже всего, и именно там дверь всё равно должна открыться.

Место парковки

Выполняется, если телефон находится в радиусе (по умолчанию 50 м) от места, где машину закрыли в последний раз. (Premium)

Самое точное из «местных» правил, и оно не требует настройки: TeslaKee запоминает, где вы припарковались, и открывает только рядом. Злоумышленник у вашей машины, пока вы дома, проваливается сразу — как и вор, увёзший машину эвакуатором.

Как и геозона, зависит от GPS и наследует его слабости в помещениях. Для большинства правильный уровень — НЕОБЯЗАТЕЛЬНОЕ.

Доверенный Wi-Fi

Выполняется, если телефон подключён к одной из ваших доверенных сетей.

Дёшево, мгновенно и надёжно — но доказывает лишь, что вы дома или в офисе, а не что вы у машины. Хороший голос в кворуме: «телефон в домашней сети и недавно двигался» гораздо сильнее, чем каждое по отдельности. Делайте ОБЯЗАТЕЛЬНЫМ, только если машина всегда стоит в зоне Wi-Fi.

Время суток

Выполняется, если текущее время попадает в заданное вами активное окно.

Полезнее всего наоборот: перекрыть ночные часы, когда происходит большинство relay-угонов и вы точно не за рулём. При нерегулярных сменах — НЕОБЯЗАТЕЛЬНОЕ или ВЫКЛ.

Уровень сигнала BLE

Выполняется, если радиосигнал автомобиля достигает заданного порога (−70 / −80 / −90 дБм, настройка −100…−40).

Ретранслированные сигналы излучаются заново и часто приходят слабее настоящих, а настоящее приближение на последних метрах становится всё сильнее. Порог превращает «машина меня слышит» в «машина слышит меня вблизи».

  • −70 дБм ≈ вплотную к машине. Строго, иногда настолько, что с телефоном в заднем кармане нужна вторая попытка.
  • −80 дБм ≈ в паре метров. Значение по умолчанию и хороший компромисс.
  • −90 дБм ≈ где угодно на парковке.

Как только правило выполнилось, сигнал должен просесть на целых 8 дБ ниже порога, прежде чем оно снова перестанет выполняться. Этот гистерезис не даёт решению «дребезжать», пока вы подходите.

Шаги

Выполняется, если шагомер насчитал не менее N шагов за последние M минут (пресеты 5/15, 10/5, 25/2).

Сильнее простого движения: телефон в едущем поезде или на вибрирующем столе фиксирует движение, но не шаги. Это по-настоящему «человек принёс сюда этот телефон». Нужен датчик шагов и на Android разрешение Физическая активность. Проверьте в Проверке правил, прежде чем делать ОБЯЗАТЕЛЬНЫМ: некоторые телефоны сообщают о шагах с задержкой больше минуты.

Высота

Выполняется, если барометрическая высота укладывается в допуск (5 / 15 / 30 м) от высоты, записанной при последнем закрытии.

Правило, разоблачающее атаку через этажи: машина в подземном паркинге, вы на 14-м этаже, и все прочие сигналы — сота, Wi-Fi, даже GPS — говорят «дома». Атмосферное давление с этим не согласно.

Нужен барометр (у многих аппаратов среднего класса его нет; приложение об этом сообщит) и опорная точка парковки. Погода меняет давление за часы, поэтому очень узкий допуск может «уплыть» за ночь. 15 м — хороший компромисс; держите правило НЕОБЯЗАТЕЛЬНЫМ.

Телефон разблокирован

Выполняется, если экран разблокировали прямо сейчас или в последние N минут (1 / 2 / 10; 0 = «должен быть разблокирован сейчас»).

Очень сильный признак: relay-атака работает с телефоном в кармане, а вор не заставит вас его разблокировать. Плата — прикоснуться к телефону раньше, чем к ручке двери; многие и так это делают.

Ставьте 0, только если готовы доставать телефон каждый раз.

Сотовые вышки

Выполняется, если телефон сейчас видит одну из сот, добавленных вами в список.

Правило «в том ли я районе» — без аппетита GPS к батарее и с куда лучшим покрытием внутри зданий. Список собирается кнопкой Добавить текущие, пока вы стоите там, где паркуетесь. По природе грубое — сота накрывает большую площадь, — поэтому это вспомогательный голос, а не доказательство близости.

Соты у места парковки

Выполняется, если хотя бы одна из видимых сейчас сот была видна и при последнем закрытии.

Та же идея, что и место парковки, но через сотовую сеть, а не GPS: работает под землёй, не требует настройки и заново калибруется при каждой парковке. Снимок обычно содержит несколько обслуживающих и соседних сот, поэтому переживает хэндовер. Очень хорошее НЕОБЯЗАТЕЛЬНОЕ правило — пожалуй, самое полезное из всех для тех, кто паркуется в подземных гаражах.


Послабления и предохранители

Ручное послабление

Даёт доступ на заданное число минут (по умолчанию 5, до 120), невзирая на правила. Оно для случаев, когда политика в целом верна, а сейчас мешает: передаёте машину, грузите багажник, оставив телефон внутри, датчик явно сошёл с ума.

Запускается с главного экрана. Истекает само — в этом и смысл.

Always-On

Отключает весь движок правил. Ваш ключ ведёт себя как официальный, а значит relay-атаки снова работают. Приложение просит подтверждение и всё время держит на экране красное предупреждение.

Есть одно законное применение: выяснить, вызвана ли проблема вообще политикой. Включить, убедиться, что машина открывается, выключить обратно.

Аварийный выключатель

Противоположная крайность, и она сильнее всего — включая послабление и Always-On. При активном выключателе TeslaKee не сканирует, не отвечает машине и с точки зрения автомобиля неотличим от удалённого приложения. Пригодится, когда вы отдаёте телефон или паркуетесь надолго и не хотите на этом телефоне никакого BLE-ключа. Отменяется мгновенно.

Удержание соединения и льгота на переподключение

Если пассивный доступ был разрешён во время Bluetooth-соединения, он остаётся разрешённым до конца этого соединения. Иначе кратковременный провал — просадка сигнала, пропущенное чтение датчика — мог бы отозвать авторизацию, пока вы сидите в машине.

Льгота на переподключение (по умолчанию 60 с, в настройках 0–600 с) распространяет ту же идею на короткий обрыв: если уже авторизованная связь пропала и вернулась в пределах окна, доступ остаётся авторизованным, а не проходит все правила заново. Поставьте 0, если каждое переподключение должно заново пройти полную политику.


Наборы, которые работают

Каждый день, гараж дома — Движение ОБЯЗАТЕЛЬНО · кворум 2 из: соты у места парковки, телефон разблокирован, сигнал BLE. Работает под землёй, переживает отсутствие барометра и не отвечает, пока телефон лежит на кухонном столе.

Уличная парковка в городе — Движение ОБЯЗАТЕЛЬНО, сигнал BLE ОБЯЗАТЕЛЕН (−80) · кворум 2 из: шаги, телефон разблокирован, место парковки. Близость должна быть настоящей, и что-то должно подтверждать, что двигался человек.

Максимальная защита — Движение, сигнал BLE (−70) и разблокированный телефон — все ОБЯЗАТЕЛЬНЫЕ · кворум 3 из: шаги, место парковки, высота, соты у места. Готовьтесь иногда дёргать ручку дважды. В сочетании с PIN-кодом для движения в машине.

Многоэтажка с подземным паркингом — Движение ОБЯЗАТЕЛЬНО · кворум 2 из: высота, соты у места, телефон разблокирован. Основную работу здесь делает высота: она отличает «в гараже рядом с машиной» от «спит на 14-м этаже».

Если машина не открывается

Сначала откройте Проверку правил — она назовёт невыполненное правило, и это почти всегда и есть ответ. Обычные подозреваемые:

  • ОБЯЗАТЕЛЬНОЕ правило невозможно измерить. Нет барометра, нет датчика шагов, отклонено разрешение «Датчики», ещё нет опорной точки парковки, нет GPS под землёй. Неизмеримое считается невыполненным. Переведите правило в НЕОБЯЗАТЕЛЬНОЕ.
  • Кворум выше, чем доказательства, доступные вам в помещении. Снизьте на единицу или добавьте одно дешёвое необязательное правило (доверенный Wi-Fi, соты у места).
  • Слишком высокий порог BLE. −70 дБм с телефоном в заднем кармане и кузовом, полным металла, — действительно впритык. Попробуйте −80.
  • Слишком короткое окно движения. После часа в ресторане окно в 2 минуты не увидит движения, пока вы не встанете.
  • Официальное приложение Tesla всё ещё Bluetooth-ключ. Тогда машина, возможно, говорит с ним, а не с TeslaKee — и никакая политика не действует. См. руководство по приложению Tesla.
  • Не происходит вообще ничего. Проверьте, выключен ли аварийный выключатель, и загляните в Настройки → Надёжность в фоне.

Всё равно не выходит? Напишите на contact@toothr.com со скриншотом панели «Проверка правил» — обычно он отвечает на вопрос с первого взгляда.