ЧТО ЕЩЁ МОЖЕТ NFC В ВАШЕМ ТЕЛЕФОНЕ

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

Сразу опишу, что будет в статье:

1. Как нынче оплачивать с помощью NFC.

2. NFC метки и команды

3. Считывание домофонных ключей и пропусков.

Дисклеймер: автор статьи не рекомендует выполнять действия в пункте 3, т.к. это может попадать под статью о неправомерном доступе к информации. Все, что описывается в статье проводится сугубо с личными данными автора, а так же не используется для извлечения выгоды. Все ниже описанные действия были проверены на android-устройстве, у apple с NFC дела обстоят по другому. Владельцам яблок будет полезен только п. 2

1. Как оплачивать с помощью NFC?

Сейчас оплачивать с помощью Google Pay/Apple Pay не предоставляется возможным. Но есть альтернатива, которая в данный момент работает, но с некоторым НО. Рассмотрим вариант, которым пользуюсь - MirPay

По порядку:

- Заводим карту платежной системы МИР. Это как раз то самое НО. В приложении банка можно выпустить виртуальную карту, это нам подойдёт. Но зачастую банки дают выпустить только дебетовые карты МИР, с кредитными только visa/mastercard.

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

- И наконец, жмём снизу "настройки" и выбираем это приложение для оплаты по умолчанию

- Вы молодец!

Теперь можете оплачивать покупки как раньше - приложив телефон к терминалу.

2. NFC метки - зачем нужны, что могут, сколько стоят?

Это некие nfc чипы, которые могут быть оформлены в разных форм-факторах и содержат в себе небольшой объём информации - от 144 до 888 байт. Сразу скажу, что читать метку могут и android-телефон, и iphone.

Но писать 100% может андроид, для iphone нет возможности проверить. Однако можете попробовать - NFC tag writer by NXP (ios 13 и выше).

Вот таких 10 штук стоят 100 рублей, метки перезаписываемые, такие себе и взял.

Что можно сделать с таким объемом информации?

- Добавить текст (1 байт на латиницу/цифры и 2 на русские буквы). При считывании метки любым устройством можно увидеть этот текст.

- Сделать URL метку. При считывании предложит перейти по адресу, можно использовать для соц. сетей или меню в ресторане вместо QR кода.

- Добавить action на е-мейл, номер телефона, геотег. Если прислонить телефон к метке - можно заставить телефон перейти в приложение телефона с уже набранным номером, написать email или открыть карты с маршрутом до геолокации, зашитой в метку.

- Добавить action на подключение wifi сети сразу с паролем или подключение к bluetooth устройству. Фишка с wifi наверняка полезна для отелей или комнат ожидания.

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

Как записать метку? Качаем следующее приложение: NFC TOOLS

Открываем, и видим сверху четыре вкладки:

Чтение - мы можем получить информацию о метке: чтобы ней записано и сколько байт доступно, а так же много ненужной технической информации.

Запись - можем записать и перезаписать на метку наши действия, описанные выше. Добавляем запись, и когда убедились что все ок - жмём "писать метку"

Другое - можно заблокировать метку от записи навсегда, поставить пароль на метку от записи, массово копировать, и т.д.

Задачи - можно поставить приложение на телефон и ставить задачи при считывании метки - от регулировки уровня громкости и яркости экрана до вибрации азбукой морзе. Этим не пользуюсь, т.к. доступно только тем, у кого есть это самое приложение, и такая метка будет полезна только вам.

Как я использую метку

Одна метка наклеена на торпеде в машине. Когда сажусь - провожу телефоном и сразу подключаюсь к bluetooth системе. Т.к. машинка древних годов, то блютуз паял самостоятельно в магнитолу, мини-платка за 100 рублей достаточно тупая и сама не коннектится к телефону.

3. Считывание, а иногда и запись домофонных ключей, пропусков и прочих изделий с полноценным NFC чипом

Начнем со считывания - телефон способен прочитать почти любой NFC тэг с частотой 13.56мгц. Такие используются в беспроводных пропусках (например, в университет или на работу), в некоторых домофонных ключах, а так же в проездных и банковских картах. Что это нам даёт? Вы можете, к примеру, считать ваши домофонные ключи и записать с них серийник и информацию в память телефона. В будущем, если потеряете - можете попросить мастера вбить этот серийник на новый ключ, или купить болванки на каком-нибудь популярном маркетплейсе и записать с помощью ардуинки или телефона (с некоторыми НО) информацию.

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

Давайте заглянем, что внутри такой карточки.

Для этого качаем следующее приложение: MIFARE Classic Tool

Заходим, жмём кнопку Read tag. Выбираем пак ключей std, прислоняем карту и жмём Start mapping and read tag. Карточку от телефона не отводим пока не откроется следующая кракозябра:

- Самая первая фиолетовая строчка (далее - блок) - зачастую самая важная. Это именно тот самый id карты, который читают домофоны и турникеты на КПП.

- Каждый четвертый блок - 3, 7, 11... - это параметры сектора (предыдущих трёх блоков). Собственно, где записаны FFFF-ки - это ключи А и Б. Не зная этих ключей вы не сможете прочитать метку. Да и никто не сможет, если их поменять и забыть. Это дефолтные ключи, и если посмотреть в тот самый std файлик, о котором выше шла речь - можно их увидеть. В общем не трогаем.

- То, что находится между ключей в каждом четвертом блоке - параметры чтения/записи/доступа. Есть много конфигураций, их описание можно найти внутри этой программы, вкратце можно сделать так, чтобы зная ключ А можно было только читать, ключ Б только писать. Или зная только ключ Б вы имели полный доступ к тегу, а ключ А не нужен.

Зачем нужны остальные сектора и блоки? В них, например, хранит информацию о балансе и поездках проездные карты, или другую информацию банковская карта. Но естественно без ключей А и Б так просто вы эти сектора не прочитаете. :)

С этим понятно, а что насчёт записи? Можно писать любой блок в любом секторе... Кроме блока 0. Связано это с тем, что NFC в телефоне может выполнять простые команды на запись. Нулевой же блок можно записать только с помощью спец. команд, в которые nfc чип в телефоне не умеет.

Есть несколько выходов:

1. Купить тэг с rewriteable block 0, они прямо так и называются.

2. Купить Proxmark3/ACR-122u и подключить к телефону или компьютеру. Или использовать ардуинку с RFID 13.56 - мой вариант.

Когда-нибудь запилю пост, как писать нулевой блок в таких тэгах с помощью ардуинки.

Данный же пост рассказывает о возможностях NFC чипа в телефоне, так что освящать этот аспект тут не буду.

Дополнение: Android позволяет эмулировать тэги, если у вас есть root. То есть вместо эмуляции банковской карты, которая постоянно транслирует свои данные через nfc чип чтобы произвести оплату при поднесении к терминалу - можно эмулировать любой другой тэг. Тот же пропуск, ключ от домофона, проездной... Но автор статьи не имеет телефона с root доступом, т.к. достаточно ленив, да и хрен знает, может ли стороннее ПО получить NFC-tag данные вашей банковской карты и передать третьим лицам.

11
Начать дискуссию