Безопасность BLE платежей: PROD реализация ч.2

Пару месяцев назад я писал пост про безопасность BLE платежей. На тот момент сама новость была сыровата, материалов по технической реализации почти не было. Поэтому я позволил себе порассуждать на тему безопасностей технологии и рисков. Сразу оговорюсь, что моей целью было сравнить «в лоб» NFC подход для бесконтактных платежей и предлагаемое решение. Long story short — я был не прав в своих гипотезах и сейчас расскажу почему

Тизер

Наверняка многим из вас попадались материалы от Сбербанка по рекламе бесконтактных платежей смартфоном — «Вжух». Возможно, кто-то даже докопал до информации, что технология изначально называлась «Волна» и разрабатывалась НСПК. Так вот кратко:

1. Технология бесконтактных платежей через BLE не является эксклюзивной — это открытый стандарт. 2. Сбербанк и Т-Банк реализовали собственную интеграцию протокола. Их системы работают параллельно.

Разбор собственных гипотез

Внимание ‼️ много текста далее :) Если кратко — я был не прав, пришлось углубиться в обновленные материалы. За техническими подробностями welcome ⬇️

Распространённый скепсис относительно платежей через Bluetooth Low Energy основан на отсутствии информации об архитектуры системы. Критика, как правило, фокусируется на теоретических уязвимостях базового протокола BLE, игнорируя реализованные механизмы защиты — собственно в это ловушку попал и я, когда рассуждал в ч.1

1. Дистанция взаимодействия: миф о дистанционном перехвате — фактический радиус установления платёжного соединения в промышленной эксплуатации не превышает 10-15 см благодаря проверке RSSI (Received Signal Strength Indicator). Терминал отклоняет попытки подключения с низким уровнем сигнала — пассивный перехват эфира бесполезен: весь обмен данными между вашим смартфоном и терминалом шифруется с использованием алгоритма AES-128 CCM с одноразовыми сеансовыми ключами — атаки ретрансляции (Relay Attacks) блокируются проверкой временны́х меток с миллисекундной гранулярностью. Задержка передачи, превышающая 7-10 мс, приводит к немедленному разрыву сеанса.

2. Криптографическая основа: сравнение с Apple Pay — BLE-платежи используют ту же модель безопасности, что и NFC-решения: эмуляция виртуального номера карты (tokenization) и изоляция криптографических операций в Secure Element (SE) или Trusted Execution Environment (TEE) — мои утверждения о слабой аутентификации были ошибочны, потому как на практике установление сеанса включает взаимную аутентификацию по протоколу Elliptic Curve Diffie-Hellman (ECDH) и вывод уникального ключа для каждого платежа — а вот уязвимости типа BlueBorne, упомянутые мной, относятся к программному стеку Bluetooth классических версий и не затрагивают изолированные платёжные апплеты в SE

3. Реализация в российских банках: дополнительные слои защиты — системы «Вжух» (Сбер) и Т-Банка реализуют двухэтапную верификацию:

  • на 1️⃣ этапе устройство аутентифицируется в банковском приложении через биометрию или PIN.
  • на 2️⃣ этапе генерируется платёжный токен, подписываемый ключом внутри Secure Element — для передачи данных используется не стандартный BLE-протокол, а его модифицированная версия с обязательным шифрованием на канальном уровне

4. Почему предлагаемые мною в ч.1 «улучшения» избыточны — предложение по внедрению ортогональных кодов или частотной сегрегации игнорируют факт: проблема перехвата решена на криптографическом уровне. Шифрование с использованием одноразовых ключей исключает необходимость усложнения физического уровня — динамические токены и так по сути являются стандартом технологии, так что дополнительное кодирование не повысит безопасность, но увеличит latency и потребление энергии смартфона и POS терминала

Заключение BLE-платежи не менее безопасны, чем NFC-решения. На текущий момент защищённость обеспечивается криптографией, а не физическими свойствами среды передачи.

Вынужден признать, что моя критика, основанная на анализе raw BLE, некорректна — сейчас реализация в платёжных системах использует жестко контролируемую надстройку над протоколом, соответствующую стандартам EMV и PCI DSS.