Данный материал подготовлен Городом и нашими друзьями из Музея криптографии
Сегодня бесконтактная карта «Тройка» — это самый популярный способ оплаты проезда на общественном транспорте в Москве, а «Тройка в регионах России» — лучшая программа смарт-билетов по версии Transport Ticketing Global 2021.
«Тройка» открывает доступ ко множеству сервисов. Наиболее популярным является мобильное приложение Город — программа лояльности, благодаря которой пользователи «Тройки» могут получать кешбэк в виде бонусов за пополнения «Тройки» и покупки у 5000+ магазинов и сервисов услуг. Также бонусы можно использовать для оплаты проезда, связи и получения до 100% скидок у партнеров Города. Но где популярность и выгода, там особенно важен вопрос безопасности.
Каким образом работает «Тройка»?
С помощью технологии NFC (Near Field Communication) — высокочастотной беспроводной связи. NFC позволяет обмениваться данными устройствам, находящимся на расстоянии 4-10 сантиметров. Внутри каждой карты «Тройка» встроена антенна и небольшая микросхема радиочастотной идентификации (RFID). Благодаря этим технологиям вы можете оплачивать проезд, узнавать информацию о балансе, дате и времени последнего прохода. Информация обновляется каждый раз, когда вы производите оплату или прикладываете карту к терминалам для «записи» дистанционного пополнения кошелька.
Могут ли злоумышленники подделать карту?
Чтобы идентифицировать вашу «Тройку», в ее небольшой памяти (от 2 до 4 килобайт) записаны уникальный серийный номер и уникальный идентификатор микросхемы (UID), а для проверки подлинности данных — код аутентификации. UID для карт «Тройка» назначаются во время производства и этот номер невозможно изменить в готовой микросхеме. Дублирование UID в двух разных картах «Тройка» практически невозможно — длина UID 7 байт, с помощью которых можно записать более квадриллиона уникальных номеров — это число с 15 нулями. Если более точно, то 72 057 594 037 927 936 уникальных UID. Так что случайно или намерено сделать карту с «вашим» UID у злоумышленника не получится.
Как защищены денежные средства на карте «Тройка»?
Алгоритм симметричного шифрования Crypto-1 используется для защиты передачи данных между картой и турникетом, а также при выполнении процесса аутентификация карты, т.е. подтверждения ее подлинности. Для защиты от записи данных на карту используются специальные пароли доступа. Дополнительной и самой надежной защитой от подделки является код аутентификации (MAC). Этот код формируется с помощью криптографического алгоритма из уникального идентификатора чипа карты (UID) и секретного ключа. Этот код записывается на карту после изменения баланса или покупки билетов и при выполнении любой операции этот МАС проверяется системой оплаты.
А какие-то уязвимости у «Тройки» есть?
Карта «Тройка» остается уязвимой лишь к некоторым атакам хакеров. Самая распространенная из них — подделывание баланса. Хакеры научились сохранять состояние памяти карты «Тройка», а после оплаты проезда повторно перезаписывать предыдущее состояние на карту и таким способом «восстанавливать» баланс карты. Такую атаку возможно провести только на собственной карте, а пользоваться лазейками в безопасности получится только некоторое время. Когда сервер обнаружит, что данные, записанные на карту, не совпадают с информацией в центральной базе данных, он вносит ее в стоп-лист и «Тройка» перестает приниматься валидаторами по всему городу. Такой подход позволяет Мосгортрансу оперативно выявлять и блокировать поддельные карты.
Может ли кто-то посторонний воспользоваться вашим электронным кошельком?
Как мы говорили ранее, подделать карту или незаметно снять с нее ваши деньги невозможно, поскольку злоумышленники не знают секретного ключа и не могут вычислить MAC. Соответственно, посторонний человек может воспользоваться вашей «Тройкой», только если вы ее потеряете, собственноручно отдадите или ее украдут.
Подробнее о технологиях шифрования, шифровальной технике и многом другом расскажет первый в России Музей криптографии, который откроется в конце 2021 года в Москве.