Что ещё может NFC в вашем телефоне⁠⁠

Специальный корреспондент
Собака

Собака

Пресс-служба
Команда форума
Private Club
Регистрация
13/10/15
Сообщения
55.044
Репутация
62.840
Реакции
277.292
RUB
0
Приобретение телефона с 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 наверняка полезна для отелей или комнат ожидания.
  • И ещё несколько функций, на которые не буду заострять внимания. Интерфейс у программы русский, выше перечислил самое основное и полезное.

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



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



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

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



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

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

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



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

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



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





Заходим, жмём кнопку 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 данные вашей банковской карты и передать третьим лицам.












 
Сверху Снизу