Безопасность BLE-платежей: безопасность, риски и оценки ч.1
Недавно наткнулся на достаточно интересную новость — https://appleinsider.ru/eto-interesno/v-rossii-nachali-testirovat-beskontaktnuyu-oplatu-po-bluetooth-na-iphone-kotoraya-zamenit-apple-pay.html
Первое, что испытал — скепсис. Поэтому решил проанализировать степень защищенности Bluetooth платежей (далее BLE) и дать оценку насколько это небезопасно, подсветив основные риски
Дистанция передачи сигнала
Из общих спецификаций технологии NFC, мы знаем что на расстоянии до 4 см все стабильно работает и это как раз-таки затрудняет какой-либо радио-частотный перехват.
С другой стороны давайте посмотри на технологию BLE: стабильная работа обеспечена на расстоянии до 50–100 м (в идеальных условиях), что увеличивает риск атак и перехвата информации
1. Passive Eavesdropping (пассивный перехват) — злоумышленник может фиксировать транзакции. 2. Relay Attack (атака ретрансляции) — злоумышленник может пересылать сигнал между устройством и терминалом, имитируя платеж.
Шифрование и аутентификация
Стандарт технологии Apple Pay (NFC) использует одноразовые токены и строгую аутентификацию через Secure Element. И этой догмы вполне себе достаточно в совокупности с радиусом действия технологии.
А вот в BLE-платежах все несколько хитрее:
1. Если используется простое BLE-соединение без дополнительного шифрования (как в некоторых реализациях), то возможен MITM (Man-in-the-Middle) — это как раз-таки краеугольный риск данного подхода «ВЕРНУТЬ NFC ПЛАТЕЖИ ДЛЯ APPLE» 2. В защищенных системах (например, с динамическими ключами) риск потенциально снижается, но тем не менее BLE изначально менее безопасен, чем NFC.
Уязвимости протокола BLE
1. Spoofing (подмена устройства) — терминал может быть обманут фейковым устройством. Такое может произойти, если не проверяется подлинность устройства (например, через цифровую подпись), производящего BLE-транзакцию. Более того при этом возможны в том числе и fraud-транзакции. 2. BlueBorne (старая, но критичная уязвимость) — в прошлом позволяла выполнять скомпилированный код на устройстве через BLE. Сложно и немного тянет на фантастику хакерских игр и фильмов (привет Watch Dogs и Mr. Robot) 3. Tracking (отслеживание) — MAC-адрес девайса, совершающего BLE транзакцию потенциально можно использовать в будущем (после перехвата) для слежки за пользователем.
Вывод
Итак, давайцте проведем промежуточные итоги — безопасность BLE-платежей ниже, чем у Apple Pay (NFC), из-за: 1. Большей дистанции работы (риск перехвата). 2. Менее строгой аутентификации (если не используются доп. механизмы). 3. Исторических уязвимостей в Bluetooth
Отрицаешь & Критикуешь — ПРЕДЛАГАЙ
Да, я понимаю, что общий разбор я построил на некоторой критике технологии BLE. Это как раз натолкнуло меня на мысль: а что если попробовать эту технологию улучшить, ЧТО ЛИЧНО Я МОГ БЫ ПРЕДЛОЖИТЬ?
Немного подумав, я пришел к следующему: 1. А что если набор токенов для BLE-транзакции передавать, используя ограниченную ортогональную последовательности — ведь так-то технология BLT передает сигнал As IS и дополнительно не кодирует его (то есть без использования ортогональных поднесущих частот - просто сигнал и ВСЕ!) 2. Если гипотеза выше верно, то тогда желательно как минимум кодировать радиообмен через ортогональные последовательность Уолша или Задова-Чу 3. Реализовав пп 2 мы делаем BLE-транзакцию более защищенной, получая
- динамический токен
- этот токен передается в радиотракте на поднесущей частоте, кодировку которой знает лишь ретранслятор 4. Если пп 1 - 3 мы реализовали, то соединение при BLE-транзакции само по себе надо изолировать в лучшем случае, но это физически невозможно — мы живем в шуме кучи частот, тогда имеет смысл персонализировать передачу точка-точка по первичному МАС идентификатору (это как раз будет аналогом MSIDN + sim/esim, если проводить аналогию с сотовой связью) 5. Вроде как почти все, но осталось малое — методом ортогонализации частотного BLE спектра вытаскивать нужные транзакции и персонализировать их
Звучит круто? ИМХО ДА! Если интересно продолжение, то буду рад лайкам и вопросам :)