Тройка карта виртуальная карта как оформить

Содержание
  1. Как удалить с iPhone автоматизацию для NFC
  2. Как обменять накопленные бонусы
  3. Обменивайте бонусы на скидки у партнеров
  4. Получение скидки по купону
  5. Партнёры программы лояльности «Город»
  6. Кто такие офлайн-партнёры
  7. Кто такие онлайн-партнёры
  8. Карта «Тройка» как идентификатор
  9. FAQ
  10. Социальная карта москвича и жителя Московской области
  11. Когда завершится тестирование?
  12. Первый прототип
  13. Как использовать накопленные бонусы
  14. Пересадки в транспорте Москвы
  15. Пересадки между метро, монорельсом, МЦК, МЦД и наземным транспортом
  16. Пожалуйста, не нужно больше карт!
  17. Как совершать поездки?
  18. Как проверить билет и историю поездок?
  19. Частые вопросы
  20. Штрафы
  21. Все СКУД неудобные
  22. Face Pay
  23. Система Face Pay
  24. Тариф «Единый»
  25. Считыватель Parsec
  26. Ключевые особенности считывателя PNR-P03E
  27. В Москве запустили виртуальную карту «Тройка»
  28. Тарифная зона
  29. Бесконтактная оплата
  30. Контроллер БОРЕЙ
  31. Управление контроллером
  32. Как тестируют виртуальную «Тройку»
  33. Бюро пропусков в Telegram
  34. Какие задачи можно назначить на NFC-метку
  35. Удобство использования
  36. Оплата наличными
  37. Как использовать NFC-метки с iPhone
  38. Как купить виртуальную карту «Тройка»?
  39. Новая транспортная реальность
  40. Apple/Android Pay и банковские карты
  41. Читаем EMV-карты на коленке
  42. Начало коммуникации — команда SELECT (PPSE)
  43. Старт платежного приложения — SELECT AID
  44. Обработка PDOL (Processing Options Data Object List)
  45. Поиск PAN-номера

Как удалить с iPhone автоматизацию для NFC

Тройка карта виртуальная карта как оформить

Шаг 1. Открываем приложение «Команды».

Шаг 2. Переходим в раздел программы «Автоматизация».

Шаг 3. Определяем автоматизацию, которую необходимо удалить.

Шаг 4. Смахиваем по ней от правого края к левому и выбираем возможность удалить.

Как обменять накопленные бонусы

  • Накопленными бонусами можно пополнить билет «Кошелек» карты «Тройка» прямо в своем личном кабинете на сайте или в мобильном приложении. При этом бонусов со статусом «Доступно» должно быть больше 100. Для пополнения можно использовать любое количество бонусов в диапазоне от 100 до 2500, но баланс карты «Тройка» не должен превышать 3000 рублей.
  • После пополнения карты «Тройка» таким способом и перед использованием карты для оплаты проезда, пополнение нужно записать на карту с помощью смартфона с поддержкой NFC или жёлтых информационных терминалов (валидаторов), расположенных в каждом вестибюле станций ГУП «Московский метрополитен»: нажмите на «Удаленное пополнение электронного кошелька», приложите карту к ридеру и дождитесь подтверждения записи удалённого пополнения.

Обменивайте бонусы на скидки у партнеров

Обменять накопленные бонусы можно у партнёров в Москве и Московской области.

  • Оплачивая товары и услуги в супермаркетах, аптеках, кафе, ресторанах и у других партнёров в Москве, спросите на кассе заведения возможно ли списание бонусов программы лояльности «Город» или обменять бонусы на скидку. Если списание возможно, озвучьте количество бонусов к списанию и покажите карту «Тройка» либо ее электронный аналог в мобильном приложении «Город» принимающему оплату сотруднику. Кассир может попросить назвать код из SMS-уведомления о списании бонусов.
  • После того, как сотрудник торговой точки занесет данные карты «Тройка» в кассовый аппарат, на указанный вами при регистрации номер мобильного телефона придет код подтверждения операции. Сообщите его принимающему оплату сотруднику и оплачивайте покупку с учетом скидки.

Получение скидки по купону

  • При оплате товаров или услуг у некоторых партнеров программы можно получить скидку по купону. Купоны находятся в Магазине в мобильном приложении «Город».
  • Обменяйте бонусы на купон и покажите его на кассе перед оплатой покупки или введите код в специальное поле при заказе онлайн.
  • Далее оплачивайте покупку у партнера с учетом скидки.

Партнёры программы лояльности «Город»

Партнёры — это сотни торговых точек, интернет-магазинов, кафе, аптек, полезных сервисов и других компаний, находящихся на территории Москвы и Московской области. С полным списком партнёров можно ознакомиться в личном кабинете на сайте или в приложении «Город».

Кто такие офлайн-партнёры

Офлайн партнёры «Города» — это магазины и заведения Москвы, например, супермаркеты Магнит, Спортмастер, аптеки «36,6».

Кто такие онлайн-партнёры

Онлайн-партнёры — это интернет-магазины, маркетплейсы, приложения, например , , и пр., в которых участники программы лояльности «Город» могут совершать покупки или получать услуги и возвращать себе на счёт за это бонусы и скидки.

Тройка карта виртуальная карта как оформить

Карта «Тройка» как идентификатор

Карта «Тройка» — пополняемая карта для оплаты проезда на всех видах общественного транспорта Москвы. Это наиболее выгодный и удобный способ оплаты общественного транспорта и некоторых городских услуг: планетарий, каток, зоопарки, Третьяковская галерея, парковка. Поэтому «Тройка» есть у каждого москвича, который регулярно пользуется общественным транспортом. Приобрести карту можно в кассах метрополитена за ≈1$.

Технически карта выполнена на базе чипа Mifare Plus, работающего в режиме SL1 — режим эмуляции Mifare Classic 1K. На обратной стороне карты находится 10-значный номер, который используется для удаленного пополнения баланса карты. Этот номер удобно использовать в качестве идентификатора в СКУД.

Тройка карта виртуальная карта как оформить

Номер карты «Тройка», записан в памяти карты в 32-м блоке 8-го сектора. Для чтения защищенной области памяти необходим шестибайтный ключ, который давно не является таким уж секретным.

Номер карты «Тройка» (не путать c UID чипа) хранится в защищенной памяти в блоке 32 со второго байта по младшие четыре бита седьмого байта. Для чтения этой области памяти необходим А-ключ от сектора 8. Эти ключи давно не являются секретом и легко находятся в интернете вместе с подробным описанием формата хранения данных. Так как мы не собираемся записывать никакие данные на карту, нам достаточно ключа А для чтения нужного сектора.

Таким образом, для занесения нового пропуска в базу данных достаточно визуально считать номер карты и сообщить его администратору. Это можно сделать даже удаленно.

Вопросы безопасности такого подхода рассматриваются в FAQ в конце статьи. Примеры кода для чтения номера карты Тройка с помощью Arduino есть в главе «Первый прототип».

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

Пластиковая карта «Тройка» продаётся в кассах метро, пригородных ж/д кассах, в билетных киосках «Мосгортранса». За неё нужно заплатить 80 ₽. Если картой не пользуетесь, её можно сдать и вернуть залог. Срок действия карты — 5 лет со дня последнего пополнения. Способы пополнения

«Тройкой» оплачивают проезд в любом виде транспорта Москвы: в метро, автобусах, электробусах, трамваях, на монорельсе и МЦД. Карту прикладывают к валидатору или турникету при входе.

На «Тройку» можно записывать разовые билеты и абонементы, в том числе на электрички. Ещё можно пополнять баланс карты и списывать стоимость поездок по тарифу «Кошелёк». Если на «Тройке» есть и билеты, и деньги в «Кошельке», то в первую очередь списывается билет, а потом уже применяется тариф «Кошелёк».

В 2021 году в столице запустили виртуальную «Тройку». Она продаётся в приложении «Метро Москвы» и пока работает только в смартфонах на Андроиде с NFC. С её помощью можно пройти через турникеты, которые принимают банковские карты. Пока на виртуальной «Тройке» доступны не все тарифы, а только «ТАТ» на 30, 90 и 365 дней и «Единый» на 30, 90, 365 дней.

Плюсы виртуальной карты:

  • при покупке не нужно платить 80 ₽ за пластик;
  • её нельзя потерять, потому что она всегда в приложении.

«Тройку» в виде брелока, силиконового браслета и керамического кольца можно приобрести в сувенирных магазинах и на информационных стойках метро Москвы. Работает она как обычная карта. Подробнее

Стоимость проезда по «Тройке» зависит от тарифа, покупатель выбирает его сам.

Это тариф «Тройки», при котором её используют практически так же, как банковскую карту. Чтобы подключить «Кошелёк», положите деньги на счёт любым способом. После удалённого пополнения счёта нужно активировать карту на жёлтом валидаторе в метро, трамвае или автобусе.

Подносите карту к турникету при каждом входе, а на МЦД и при выходе тоже.

Тарифы «Кошелька» подойдут тем, кто ездит нерегулярно и не хочет переплачивать за абонемент, например командированным и туристам.

По «Кошельку» можно ездить во всех видах транспорта Москвы, включая МЦД. Если делать пересадку с метро на МЦД и наоборот, то стоимость поездки автоматически считается по тарифу «90 минут» (нужно успеть пересесть в этот временной промежуток). В «Дальней» зоне стоимость проезда, как в электричках, зависит от расстояния. Подробнее о зонах МЦД

FAQ

В процессе работы над системой мне часто задавали одни и те же вопросы, которые наверняка возникнут и в комментариях. Я собрал самые популярные:

  • Если отключится интернет, все сломается?
    Нет, если у контроллера пропадет доступ в интернет, система продолжит работать, так как вся база данных хранится локально на контроллере. Без интернета нельзя будет внести изменения в конфигурацию. При этом доступ в веб-интерфейс сохранится из локальной сети.
  • Можно создать клон карты «Тройка» и сделать поддельный пропуск!
    Да, это так. Можно подсмотреть номер карты у пользователя и создать клон. Однако для этого потребуется оборудование для записи карты (смартфон на Android c NFC тоже подойдет), знание ключей доступа к сектору и навыки работы с картами Mifare. В нашей модели угроз, такая уязвимость не является критической, так как на входе всех встречает администратор у ресепшена. Учитывая, что большинство систем контроля доступа в СНГ работают на картах EM-Marine, которые можно клонировать на расстоянии метра от человека без знаниях каких-либо ключей вообще, наша система намного более безопасна и требует от атакующего бо́льших усилий.
  • Вы сможете скопировать мою банковскую карту и украсть деньги.
    Это очень популярное заблуждение. Протокол EMV защищен от подобных атак и бегло разбирается в главе «Читаем EMV карты на коленке». На пальцах, защита работает так: карта хранит приватный ключ подписанный банком-эмитентом, который прошивается в память на этапе выпуска карты. Банк-эмитент (который выпустил карту) хранит у себя отпечаток приватного ключа карты. Чтобы списать деньги с карты, POS-терминал передает случайную последовательность данных вместе с суммой, которую собирается списать. Карта подписывает эти данные своим ключом и отвечает POS-терминалу. Результат передается в банк-эмитент, который проверяет подпись. Так как секрет знает только карта, и он не может быть извлечен из карты, скопировать карту так, чтобы с нее можно было списывать деньги — невозможно.
  • Но вы можете скопировать открытые данные карты, такие как номер, срок действия и имя владельца.
    Да, это возможно. Но этих данных, в большинстве случаев, недостаточно для оплаты. CVV-номер в них не содержится. Кроме того, реквизиты, полученные из Apple Pay не будут работать для оплаты в интернете. Однако эти опасения вполне справедливы, и для тех, кто не хочет использовать банковские карты, всегда есть возможность использовать карту «Тройка».
  • Можно узнать номер EMV карты и подделать пропуск.
    В теории да, но мне не известно доступное оборудование для эмуляции EMV карт. Существуют аппаратные эмуляторы вроде ChameleonMini, однако работают они достаточно плохо. Есть также Android Host-based Card Emulation, который в теории позволяет эмулировать любую карту на Android смартфоне. Но мне опять же не известны реально существующие реализации таких эмуляторов, позволяющие загружать произвольный дамп карты.

Спасибо всем, кто помогал мне в этом проекте:

Иллюстрации к статье — aquamine
Помощь в написании кода — ValdikSS
Написание Telegram бота — Alexey Tsverov
Разработка прошивки считывателя — компания Parsec и лично Леонид Стасенко
Помощь в настройке контроллера — компания ИТРИУМ и лично Глеб rgmih Рыбаков

Тройка карта виртуальная карта как оформить

Социальная карта студента. Источник фото

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

Стоимость проездных для учащихся

На МЦД в пригородной и дальней зоне для учащихся действует скидка 50% от полной стоимости тарифа. Билет со скидкой оформляется в кассе перед поездкой.

Социальная карта москвича и жителя Московской области

Остальные категории льготников, зарегистрированные в Москве, имеют право ездить бесплатно. Кто может получить социальную карту москвича. Льготный проездной оформляется в кассе. Для проезда в пригородной зоне МЦД льготный билет нужно оформлять в кассе перед каждой поездкой, если на соцкарту не подключена опция FastTrack.

Также в Москве могут бесплатно ездить льготники с регистрацией в Подмосковье — по социальной карте жителя Московской области.

Когда завершится тестирование?

В пресс-службе Московского метрополитена рассказали Москве 24, что пилотный проект будет длиться до 12 декабря.

В ноябре начался второй этап тестирования виртуальной «Тройки» с участием 5 тысяч пассажиров. Пилотный проект продлится до 12 декабря. Мы учтем пожелания участников тестирования, внесем необходимые доработки и после этого запустим виртуальную «Тройку» для всех пассажиров.

пресс-служба Московского метрополитена

«На первом этапе пассажиры смогут покупать на виртуальную карту «длинные» абонементы на безлимитные поездки со сроком действия 30, 90 и 365 дней. В дальнейшем мы добавим «Кошелек» и другие типы билетов», – пояснили в пресс-службе.

Пассажиры смогут оформить виртуальную «Тройку» в личном кабинете приложения «Метро Москвы». Для начала работы карту нужно будет добавить в кошелек, который используется по умолчанию в телефоне.

Читайте также:  Как проверить подорожник через интернет спб

Первый прототип

Было решено использовать в качестве идентификатора пользователя 10-значный номер, который будет формироваться либо из десяти последних цифр PAN-номера платежной карты, либо из номера карты «Тройка». Идентификатор должен передаваться контроллеру, который будет сверять его с хранящимися в базе данных номерами и решать, открывать дверь, или нет.

Всю работу по распознаванию карты должен выполнять считыватель, и на выходе отдавать 10-значный номер. В базе данных достаточно хранить только сами номера, без необходимости отмечать тип карты.

Так родился первый прототип считывателя на Arduino + PN532 breakout board.
Видео с демонстрацией работы прототипа: www.youtube.com/watch?v=aXNvjuRrCQk

Скетч для Arduino, показанный в видео, выложен здесь: github.com/zhovner/Adafruit-PN532, в папке examples/ApplePay_Troyka_ACS
Данный код довольно плохой, потому как не генерирует ответ PDOL, из-за чего не все EMV-карты будут успешно прочитаны. Однако он позволяет понять общую логику работы системы описанной в статье.

Как использовать накопленные бонусы

Накопленные бонусы можно использовать при пополнении билета «Кошелёк» карты «Тройка» или обменивать на скидки у партнёров программы с помощью мобильного приложения или на сайте в личном кабинете.

Пересадки в транспорте Москвы

С 1 сентября 2021 года в автобусах, трамваях и электробусах Москвы можно совершать пересадки бесплатно. Но есть ряд условий:

— Бесплатная пересадка действует только при оплате проезда картой «Тройка» по тарифам «Кошелёк» или «Единый на 60 поездок». При поездке по тарифу «Кошелёк» за первую поездку списывается 50 ₽, за последующие — 0 ₽. При поездке по «Единому» списывается только одна поездка, сколько бы видов транспорта вы ни сменили.

— Пассажир должен совершить пересадки в течение 90 минут и при этом сменить маршрут. Например, сначала он едет на автобусе №40, потом пересаживается на трамвай №67 или электробус №25, а затем на автобус №43. Если в течение этих 90 мин снова сесть на транспорт по тому же маршруту (№40), то повторный проезд будет платным.

— В каждом последующем транспорте «Тройку» нужно приложить к валидатору, иначе проезд будет считаться безбилетным.

— Чтобы подключить бесплатные пересадки, пассажир должен зарегистрировать свою «Тройку» в личном кабинете на сайте или в приложении «Метро Москвы». Пересадки подключатся не сразу, а через 12 часов.

Пересадки между метро, монорельсом, МЦК, МЦД и наземным транспортом

При пересадке с метро, монорельса, МЦК или МЦД на наземный транспорт (автобусы, трамваи, электробусы) на карте «Тройка» действует тариф «90 минут». По этому тарифу стоимость проезда со всеми пересадками в течение 90 мин составляет 75 ₽: 50 ₽ списываются в метро, монорельсе, на МЦК или МЦД, 25 ₽ — при первой поездке в наземном транспорте.

Чтобы тариф действовал, нужно соблюсти следующие условия:

— все поездки и пересадки совершить в течение 90 минут;

— в каждом виде транспорта прикладывать «Тройку» к валидатору или турникету;

— за эти 90 минут допускается только одна поездка на метро, монорельсе, МЦК или МЦД, за вторую поездку плата списывается как обычно.

Пожалуйста, не нужно больше карт!

Тройка карта виртуальная карта как оформить

Сейчас каждый хочет всучить вам свою карту: магазины, фитнес-клубы, парковки, бизнес-центры, VIP-скидки-баллы-накопления. Предлагать человеку носить с собой еще одну карту просто унизительно. А учитывая, что карты стандарта EM-Marine (125kHz), которые популярны в системах контроля доступа на территории СНГ, имеют толщину в три раза больше обычных ISO 7810 — это втройне унизительно.
Поэтому первое требование к нашей системе — никаких дополнительных карт.

Тройка карта виртуальная карта как оформить

Сравнение толщины карт Em-Marine и ISO7810

Помимо физических размеров, карты EM-Marine технологически отсталые. Такую карту можно легко клонировать с расстояния полуметра прямо из кармана прохожего.

Видео с демонстрацией: www.youtube.com/watch?v=qvIIUny4EWI
На видео показано считывание тонкой карты em4100 с расстояния 50см, толстые карты читаются с большего расстояния.

Как совершать поездки?

«Тройка» в Samsung Pay работает в фоновом режиме – смартфон
можно прикладывать даже с заблокированным или выключенным экраном.

Не запуская Samsung Pay, поднесите
смартфон к турникету.

Удерживайте смартфон у считывателя карт, пока не появится зеленый
индикатор успешного прохода.

ВАЖНО: Виртуальная «Тройка» работает только на турникетах,
которые поддерживают банковские карты с NFC. На них наклеены специальные стикеры.

* Подключение к сети Интернет в момент операции не требуется.

Не беспокойтесь, что оплата случайно пройдет по банковской карте – они
работают только после подтверждения по отпечатку или PIN-коду, а виртуальная «Тройка» – только в фоновом
режиме.

Тройка карта виртуальная карта как оформить

Как проверить билет
и историю поездок?

История поездок обновляется только при подключении к сети Интернет – после
совершения операции или при открытии информации о билете.

Частые вопросы

Если у вас возникли вопросы, свяжитесь с нами:

Свяжитесь с нами, если карта «Тройка» находится в разделах «Банковские карты» и «Оплата».

Штрафы

Штраф за проезд зайцем в Москве — 1 000 ₽, за использование чужой социальной или льготной карты — 2 500 ₽.

Владельцы соцкарт и безлимитных проездных должны подносить карту к считывателю при каждой поездке, иначе проезд будет считаться безбилетным. Льготникам при себе нужно иметь удостоверение личности на тот случай, если контролёр захочет убедиться, что карта принадлежит пассажиру.

По правилам Московского транспорта, по безлимитному билету может ехать только один человек. Оплатить им проезд другому человеку нельзя.

Все СКУД неудобные

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

В некоторых случаях сложные СКУД необходимы: в крупных зданиях с множеством зон доступа, турникетами, охраной, временными пропусками.

В случаях, когда контролировать доступ нужно к одной или двум дверям, такие усложнения не оправданы. Даже содержание отдельного компьютера с программой под СКУД — перебор для нас.

У нас нет отдельных сотрудников, занимающихся выпуском пропусков, нет временных пропусков и охраны. Администрирование системы должно быть настолько простым, чтобы любой новый человек мог быстро её освоить без инструкций. Так как ответственного за СКУД человека может не быть на месте, управление системой должно быть удаленным.

Face Pay

Это ещё один вид бесконтактной оплаты проезда в московском метро. Пассажиру для прохода через турникеты достаточно показать своё лицо. Для использования Face Pay нужно заранее установить на смартфон приложение «Метро Москвы», привязать к нему «Тройку» и банковскую карту и загрузить свою фотографию. Как подключить Face Pay

В метро найдите турникет с напольной чёрной наклейкой «Оплата по биометрии», встаньте на неё, снимите маску и посмотрите в камеру. Когда система распознает вас, турникет откроется. Плата за проезд автоматически спишется с привязанной банковской карты.

Стоимость проезда по Face Pay в метро и на МЦД в центральной зоне — 46 ₽, в пригородной зоне МЦД — 60 ₽. В дальней зоне МЦД этот способ оплаты не работает. Для бесплатной пересадки с метро на МЦК и МЦД нужно приложить к турникету банковскую карту, привязанную к приложению «Метро Москвы». Начинать поездку можно только с метро — при входе на МЦК и МЦД Face Pay пока не работает.

Система Face Pay

Еще 52 турникета в столичном метро подключили к системе Face Pay

Оплатить проезд «лицом» можно через несколько часов после регистрации. Чтобы воспользоваться сервисом, пассажиру нужно посмотреть в камеру перед турникетом, который отмечен специальным стикером. После этого у человека автоматически списываются средства за проезд и он может спуститься в подземку.

Прозрачные очки и маски не станут помехой для распознавания лица пассажира, если хотя бы 40% его лица остаются открытыми. Если же закрыта большая часть лица, то потребуется чуть больше времени для распознавания пассажира. При проходе через турникет сдвиньте вниз маску – тогда система распознает вас быстрее.

заммэра Москвы по вопросам транспорта

В Дептрансе прогнозируют, что системой Face Pay начнут регулярно пользоваться 10–15% жителей столицы в ближайшие 2–3 года. При этом, по словам Ликсутова, по мере роста спроса на новый сервис власти будут корректировать количество турникетов для прохода при помощи биометрии. Сейчас их уже : в каждом вестибюле – минимум по одному, а на многих станциях даже больше.

«На «Смоленской» их уже три. Ни в одном городе мира сервис оплаты проезда по биометрии не реализован в таком масштабе», – сообщил заммэра Москвы по вопросам транспорта.

Он также подчеркнул, что данные пользователей Face Pay надежно зашифрованы, поэтому им не о чем беспокоиться: приватность пассажиров остается «на самом высоком уровне».

Тариф «Единый»

Это абонемент, который бывает двух видов:

  • на количество поездок,
  • на определённый срок.

Проездной можно купить в виде картонной карточки красного цвета (платить отдельно за неё не нужно) или в электронном виде записать на «Тройку».

Бумажный «Единый» продаётся только в метро — в кассах и билетных автоматах. В электронном виде купить абонемент и записать на «Тройку» можно в приложениях «Тройка» и «Мой проездной».

«Единый» на количество поездок

По такому «Единому» можно совершить ограниченное число поездок: 1, 2 и 60.

Билеты на 1-2 поездки удобны для разовых поездок на общественном транспорте, например, тем, кто проездом в Москве и не хочет покупать «Тройку». Срок действия билетов — 5 дней, включая день приобретения.

Билет на 60 поездок записывают только на «Тройку». Поездки нужно успеть потратить в течение 45 дней, иначе они сгорают.

Ездить по «Единому» на 60 поездок по МЦД можно только в центральной зоне, в пригородной зоне проехать не получится.

«Единый» на определённый срок (безлимитный)

Такой билет действует в течение конкретного периода, причём ездить за это время можно сколько угодно раз.

Билет «ТАТ» используют только в автобусах и трамваях. Раньше по нему можно было ездить в троллейбусах (отсюда название ТАТ: троллейбус, автобус, трамвай), но в 2020 году троллейбусы в Москве перестали ходить.

Билеты на 1 и 3 суток подойдут тем, кто приехал в Москву на короткое время и планирует много ездить в течение дня, например туристам или командированным.

Покупать единый билет на 90 и 365 дней гораздо выгоднее, чем каждый месяц покупать на 30 дней.

У безлимитных билетов есть ограничение — повторный проход возможен через некоторое время:

  • по билету на 1-3 суток — через 20 минут;
  • по билету на 30, 90 и 365 дней — через 7 минут.

Это сделано для того, чтобы по одному билету не могли пройти двое пассажиров. По правилам метрополитена, у каждого пассажира должен быть свой билет.

Считыватель Parsec

С самого начала мы не хотели городить кустарные поделки на arduino или raspberry pi, поэтому стали искать решение на базе промышленного оборудования.

Так как на рынке готовых решений не существует устройств даже примерно похожих на то, что нам было нужно, мы стали спрашивать у всех производителей СКУД, кто сможет реализовать наши извращенные фантазии в своем оборудовании.

Единственной компанией, которая стала с нами разговаривать, были Parsec.ru
В итоге они согласились реализовать наши идеи в прошивке своего считывателя PNR-P03E.

Тройка карта виртуальная карта как оформить

Parsec PNR-P03E позвоялет запрограммировать любой нестандартный алгоритм чтения карт

Большинство RFID-считывателей, которые доступны в продаже, поддерживают только определенный формат идентификаторов. Например Mifare, HiD iClass и т.д.

Нам же требовалось, чтобы считыватель поддерживал одновременно несколько форматов карт, и реализовывал нестандартный протокол чтения EMV-карт.

Ключевые особенности считывателя PNR-P03E

  • Программируемый алгоритм чтения карт — возможность загрузки нестандартной прошивки позволяет реализовать любую логику считывания карт, в том числе одновременную поддержку карт EMV, «Тройки» и любых других. Функциональность считывателя может быть расширена обновлением прошивки.
  • Поддержка различных интерфейсов подключения контроллера — считанный идентификатор передается на контроллер по любому из доступных протоколов: Wiegand от 26 до 58 бит, OSDP (RS-485, RS-232), Touch memory (I-Button) и собственный проприетарный протокол Parsec
  • Отделяемый антенный модуль — плата имеет линию перфорации, позволяющую отделить антенну от основного модуля для удобства интеграции в корпус
  • SDK для разработки — библиотеки с примерами кода позволяют интегрировать считыватель в свои проекты

Блок-схема, иллюстрирующая работу считывателя. При успешном считывании идентификатора, он передается на контроллер по протоколу Wiegand.

Тройка карта виртуальная карта как оформить

Считыватель самостоятельно определяет тип карты и выполняет считывание нужной области памяти. Если определить тип карты не удалось, считыватель игнорирует её. Прочитанная область памяти конвертируется в десятизначный идентификатор и передается на контроллер.

В Москве запустили виртуальную карту «Тройка»

Время на прочтение

В Москве запустили виртуальную транспортную карту «Тройка». Пока она работает на Android-устройствах в приложении «Метро Москвы».

Тройка карта виртуальная карта как оформить

В настоящий момент на виртуальную карту можно записать абонементы, а функцию «Кошелька» обещают добавить в 2022 году.

Расплатиться виртуальной «Тройкой» можно на всех видах городского транспорта с помощью валидаторов и турникетов, оборудованных для приема банковских карт.

Согласно планам столичных властей, к концу 2022 года эта опция будет доступна на любом турникете в метро.

Выпустить виртуальную «Тройку» можно в личном кабинете приложения «Метро Москвы». Там доступны следующие абонементы: «ТАТ» на 30 дней для поездок на наземном транспорте Москвы, «Единый» на 30, 90 и 365 дней — с возможностью безлимитных поездок в зонах «Центральная» и «Пригород». Их стоимость будет такой же, как и у физических карт.

В августе дептранс Москвы объявил о начале испытаний виртуальной транспортной карты «Тройка». Для этого набрали фокус-группу, которая получала на почту разного рода задания.

Читайте также:  Электронный подорожник спб на телефон

В ноябре виртуальную «Тройку» добавили в Samsung Pay.

В марте этого года мэр Москвы Сергей Собянин писал в своем блоге, что виртуальные карты введут в оборот уже в 2021 году. Он также указал, что администрация проводит переговоры с другими регионами для внедрения «Тройки» в региональные транспортные сети. В прошлом году она добралась до Тулы и Тульской области.

Тарифная зона

Тройка карта виртуальная карта как оформить

Единая тарифная зона Москвы c 1 сентября 2021 года

С 1 сентября 2021 года в транспортной системе Москвы действует единая тарифная зона. В неё входят 8 округов Москвы в пределах МКАД и Новомосковский, Зеленоградский и Троицкий административные округа. В разных видах транспорта тарифной зоны можно ездить по единому билету. В Московской области приняты свои тарифы.

Общественный транспорт Москвы включает автобусы, электробусы, трамваи, метро, монорельс, МЦК, МЦД.

Московское центральное кольцо (МЦК) — это круговой маршрут московского метро, только наземный. По маршруту ходят современные комфортные «Ласточки». В них есть места для провоза велосипедов. При пересадке с подземки на МЦК и наоборот повторная плата не снимается, если совершить пересадку в течение 90 минут.

Московские центральные диаметры (МЦД) объединяют метро и пригородные электрички. На схеме метро диаметры обозначены линиями D1 и D2. У МЦД есть зоны: «Центральная», «Пригород» и «Дальняя». Пересадка с метро на диаметры в пределах центральной и пригородной зоны и наоборот бесплатная. Проезд в центральной зоне МЦД стоит столько же, сколько в метро. В «Пригороде» и «Дальней» действуют тарифы пригородной пассажирской компании. Проездной надо подносить к валидатору и при входе, и при выходе, чтобы списалась плата с учётом тарифной зоны. Про оплату проезда на МЦД у нас есть отдельная статья.

Бесконтактная оплата

NFC — технология бесконтактной оплаты, которой оснащены современные смартфоны и банковские карты. Чтобы оплачивать проезд с помощью смартфона, на него надо заранее установить платёжное приложение МИР Pay, Yandex Pay, Сбер Pay и привязать к нему банковскую карту. С конца февраля 2022 года платёжные приложения Google Pay и Apple Pay не поддерживают выпущенные в России карты Visa и MasterCard, оплатить смартфонами с этими приложениями проезд не получится.

Тройка карта виртуальная карта как оформить

Валидатор для бесконтактной оплаты в автобусе

Бесконтактная оплата действует в большинстве видов транспорта Москвы: в метро, автобусах, трамваях, на МЦД. Для оплаты проезда поднесите телефон или банковскую карту к валидатору или турникету и дождитесь подтверждающего сигнала на экране. В метро бесконтактную оплату обычно принимают крайние турникеты, на них есть специальные наклейки.

Бесконтактная оплата на МЦД действует только в зонах «Центральная» и «Пригород».

Стоимость проезда при бесконтактной оплате со 2 января 2023 года:

Контроллер БОРЕЙ

Контроллер — это устройство, на которое передается идентификатор карты от считывателя. Оно хранит базу данных идентификаторов карт и решает, кого пропускать, а кого нет, управляя замком двери.

Часто контроллеры СКУД состоят из нескольких блоков управления и компьютера с базой данных. Мы принципиально не хотели держать отдельный компьютер и искали компактное решение в виде одного устройства, которым можно управлять через API для интеграции с Telegram-ботом.

Поиск такого устройства занял больше месяца, пока я не наткнулся на старую статью на хабре «Обзор СКУД с бесплатным программным обеспечением». В комментариях пользователь rgmih упомянул, что их компания производит именно такой контроллер.

Так мы нашли контроллер БОРЕЙ от компании ИТРИУМ.

Тройка карта виртуальная карта как оформить

Плата контроллера БОРЕЙ в настенном корпусе

Устройство работает под управлением Linux на базе ARM-процессора.

Основные достоинства устройства, которые редко можно встретить у других контроллеров:

  • Полностью автономный — все функции выполняет одно устройство. Для управления не нужно дополнительных программ или отдельного компьютера. База данных хранится на SD-карте. При отключении интернета контроллер продолжит работать.
  • Web интерфейс и REST API — возможность управлять контроллером через браузер и интегрировать с Telegram-ботом через API. Позволяет управлять пропусками удаленно.
  • Подключение по Ethernet — устройство подключается в IP-сеть. Имеет встроенный коммутатор на 2 порта.
  • Идентификаторы произвольной длины до 64 бит — возможность интегрировать контроллер с нестандартными идентификаторами разной длины. Позволяет иметь гибридную систему с идентификаторами разной длины.

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

Если можно, контроллер размыкает реле магнитного замка на двери и посылает сигнал световой и звукой индикации на считыватель. Считыватель издает одобрительный писк и загорается зеленым цветом.

Если доступ запрещен, контроллер посылает сигнал индикации на считыватель, и тот горит красным цветом и пищит о том, что доступ не разрешен.

Управление контроллером

Учетные записи заводятся в меню «Бюро пропусков». Чтобы не вводить идентификатор карты вручную, его можно поднести к считывателю в момент создания учетной записи.

Создание нового пропуска в веб-интерфейсе контроллера БОРЕЙ

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

Как тестируют виртуальную «Тройку»

Участники эксперимента оформили карту в специальной версии мобильного приложения «Метро Москвы», которая доступна только фокус-группе. На виртуальную «Тройку» им предложили записать шесть видов билетов. В качестве поощрения тестировщикам предоставили скидки от 10 до 50% на пять тысяч «длинных» абонементов, их стоимость они оплачивали самостоятельно:

  • «Единый 30 дней» Москва – 1 122 рубля
  • «Единый 30 дней» Пригород – 1 330 рублей
  • «Единый 90 дней» Москва – 3 801 рубль
  • «Единый 90 дней» Пригород – 4 858 рублей
  • «Единый 365 дней» Москва – 17 550 рублей
  • «Единый 365 дней» Пригород – 22 005 рублей

Оплачивать проезд можно, поднеся телефон к валидатору или турникету, который принимает банковские карты в метро, трамваях, электробусах, городских автобусах, МЦД и МЦК. Уточняется, что смартфоны с кошельком Samsung Pay снимать с блокировки не нужно, поскольку система поймет, что человек находится в транспорте, и автоматически выберет «Тройку» для оплаты проезда. При этом на гаджетах с Google Pay достаточно включить экран.

По словам Ликсутова, скорость срабатывания виртуальной «Тройки» та же, что и при оплате проезда банковской картой: от 0,8 до 1,5 секунды. Но эту технологию планируют еще больше ускорить.

Тройка карта виртуальная карта как оформить

Бюро пропусков в Telegram

Чтобы каждый раз не обучать нового администратора, как пользоваться веб-интерфейсом контроллера, мы решили создать Telegram бота, через которого будет происходить добавление/удаление пропусков. Это возможно благодаря наличию в контроллере БОРЕЙ REST API.

Тройка карта виртуальная карта как оформить

Управление пропусками через Telegram-бота.

Какие задачи можно назначить на NFC-метку

Исходящие вызовы. Сначала кажется, что в совершении исходящих вызовов с помощью NFC-меток нет ровным счетом никакого смысла. Тем не менее, и у этой возможности есть очень интересные сценарии использования. К примеру, многие механизмы для автоматического открытия ворот можно использовать не только с помощью пульта, но и по звонку. Да, достаточно позвонить на заданный номер, и ворота начнут открываться. Если установить NFC-метку на удобное место в автомобиле, не нужно будет искать пульт или ковыряться в приложении «Телефон». Чтобы запустить механизм, достаточно будет лишь приложить iPhone к тегу.

Активация музыки. С помощью NFC-метки можно запустить воспроизведение альбома, плейлиста или любого другого перечня музыкальных записей и даже выбрать источник, через который это нужно сделать. Тег, как вариант, можно разместить аккурат на домашнем тренажере — например, на орбитреке, если такой имеется. Приклеиваем метку на любое удобное место, становимся на указанный тренажер и тут же слушаем любимую музыку для тренировок. Можно даже редакторский плейлист из Apple Music для подобных целей использовать — в фирменном музыкальном стриминговом сервисе компании таких предостаточно.

Создание будильника. Все используют данный способ контроля времени абсолютно по разному. Некоторые с помощью него только утром вовремя просыпаются, но есть и те, кто через него даже напоминания создает. Через NFC-метки логично активировать будильник на утро, если он нужен не каждый день. Если вы, как вариант, работаете посуточно, и просыпаться рано не нужно регулярно, можно решить это с помощью тега. Достаточно будет лишь прикоснуться к нему перед сном, и проспать выход на работу уже не выйдет. Это лишь один из сценариев, который вы можете додумать по своему усмотрению.

Запуск таймера. Если хотите значительно повысить свою эффективность на протяжении рабочего времени, лучше начать с фотографии дня. Для этого нужно хотя бы раз в 15 минут фиксировать то, чем вы сейчас занимаетесь. Нужно положить рядом блокнот, разметить его по заданным промежуткам и писать дела — работа, отдых, социальные сети и мессенджеры, прочее. Таймер на iPhone для этого нужно снова и снова ставить раз в заданный промежуток времени. Чтобы не сойти с ума от этого, проще всего использовать NFC-метку, которая активирует отсчет времени. «Тройка», которая всегда под рукой, подойдет.

Включение Apple TV. С помощью специального тега можно также активировать свою фирменную телевизионную приставку Apple, если она находится в режиме сна. Можно даже выполнить сразу две команды — сначала включить Apple TV, а потом запустить на iPhone пульт для ее управления. NFC-метку в этом случае логично бросить в том месте, куда вы обычно усаживаетесь, чтобы потреблять контент на большом телевизионном экране.

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

  • Какой телефон купить в феврале 2023: рейтинг лучших моделей под любой бюджет
  • Какой телефон купить на 2023 год: рейтинг лучших моделей под любой бюджет
  • Какой смартфон купить в ноябре 2022: рейтинг лучших моделей на любой бюджет
  • Обзор iPhone 14 Plus: лучше простого iPhone 14 и в чём-то обходит 14 Pro Max
  • Какой смартфон купить в октябре 2022: рейтинг лучших моделей на любой бюджет

Удобство использования

Для прохода достаточно достать телефон и поднести его к турникету без разблокировки экрана (для прохода доступны только турникеты, принимающие оплаты по банковским картам). Подтверждать транзакцию пальцем, лицом или пин-кодом не нужно. Считывание происходит примерно за 1-2 секунды. Для сравнения — оплата по банковской карте примерно в 2 раза дольше.

В приложении Метро Москвы фиксируется вся история проходов (в какое время на какой станции осуществлялся проход). На наземном транспорте пока не тестировал.

В приложении Samsung Pay история отображается не полностью — отсутствует время совершения поездки, только дата.

Оплата наличными

В большинстве видов транспорта Москвы наличные больше не принимаются. Более того, водители в принципе больше не продают билеты. Поэтому если заранее не купили билет, оплатите проезд банковской картой или телефоном.

Как использовать NFC-метки с iPhone

Для этого достаточно приложить NFC-метку, которой может стать даже «Тройка», к задней части iPhone. Если на 11-м шаге предыдущего пункта переключатель «Спрашивать до запуска» переведен в активное положение, на экране смартфона появится предложение выполнить указанную тегом команду.

Если вы отказались от необходимости подтверждения, указанная последовательность действий будет происходить автоматически сразу после соприкосновения с NFC-меткой. При этом на экране также будет появляться уведомление, которое вкратце расскажет, что тег удалось удачно распознать.

Кстати, «Тройка» отлично справляется с тем, чтобы быть NFC-меткой. iPhone распознает ее и выполняет указанный список задач в 99% случаев. За все время, когда я пользуюсь данной фишкой, у меня было только одно неудачное происшествие, когда тег не сработал. Но тогда тестовая версия iOS, которой я пользуюсь, сама по себе решила зависнуть.

Как купить виртуальную карту «Тройка»?

Обновите Samsung Pay до последней версии (4.1.78)
и
убедитесь, что
он выбран в качестве платежного сервиса по умолчанию.

Выберите тип билета и способ оплаты,
нажмите Выпустить.

Следуйте инструкциям на экране для оплаты билета
и добавления его в Samsung Pay.

Тройка карта виртуальная карта как оформить

Новая транспортная реальность

Тройка карта виртуальная карта как оформить

В августе 2021 года столичный департамент транспорта объявил о первом этапе тестирования виртуальной карты «Тройка» среди пассажиров. Участниками испытаний стали 1 000 человек – москвичи уже успели совершить более 20 тысяч поездок при помощи нового сервиса.

По словам заместителя мэра Москвы по вопросам транспорта Максима Ликсутова, после этого этапа учли все предложения и внесли изменения в проект.

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

Второй этап тестирования стартовал в ноябре. Ликсутов сообщил, что сервис заработал еще для 4 000 участников. Пока он будет доступен только на Android-смартфонах с Google Pay и Samsung Pay. При этом, по словам заммэра, вопрос внедрения виртуальной «Тройки» обсуждается и с другими крупными производителями мобильных телефонов.

Читайте также:  Подорожник спб 2023 карта стоимость

Билетная система карт «Тройка» считается одной из самых лучших в мире. В 2020 и 2021 годах ее признали самой умной ‎на международных премиях Transport Ticketing Global и Transport Ticketing Awards.

В московском метро начали тестировать виртуальную «Тройку»

Apple/Android Pay и банковские карты

Тройка карта виртуальная карта как оформить

Платежные инструменты с разными названиями работают по одному протоколу EMV

Все платежные инструменты, изображенные на картинке выше, работают по одному протоколу EMV, свободно доступному на сайте EMVco.com. Поэтому говоря «EMV-карта», мы будем подразумевать одновременно Apple Pay, Android Pay, Samsung Pay, Visa PayWave, MasterCard PayPass.

Существует заблуждение, будто POS-терминал должен отдельно поддерживать Apple/Android Pay, поэтому пользователи предпочитают искать на кассе специальную пиктограмму, чтобы быть уверенным, что их платежный инструмент поддерживается. На самом деле, почти везде, где поддерживается бесконтактная оплата, будет работать любое устройство.

Бесконтактные EMV-карты (и контактные тоже) позволяют без авторизации, то есть без ввода PIN-кода, считать данные, обозначенные ниже. В последней главе мы рассмотрим, почему это достаточно безопасно.

Некоторые карты не передают реквизиты Cardholder Name и лог транзакций, но PAN (номер карты) передается всегда. Этот номер не изменяется на протяжении всего срока действия карты.

Поэтому именно PAN мы решили использовать в качестве идентификатора для пропуска в СКУД. Для простоты и большой приватности, было решено использовать последние 10 цифр от номера карты. Таким образом, формат идентификатора получается такой же длины, как и номер карты Тройка.

В итоге, в базе данных идентификаторов мы имеем однородные записи длинной в 10 цифр, без необходимости дополнительно помечать где карта Тройка, а где EMV-карта.

Читаем EMV-карты на коленке

Чтобы изготовить прототип считывателя, мне потребовалось бегло изучить протокол EMV. Под спойлером — краткий разбор протокола EMV с примерами чтения на Arduino и компьютере.

Читаем банковские карты на коленке с примерами. (Много текста)

Для чтения EMV карт подойдут такие устройства:

  • PN532 breakout board + Arduino — pn532 лучше всего подключать к Arduino по SPI. Логические уровни чипа pn532 — 3.3V, поэтому удобнее использовать Arduino pro 3.3V, чтобы избавиться от конвертера уровней. Пример кода для чтения EMV-карт есть в моем форке библиотеки Adafruit PN532, c исправлениями для чтения EMV-карт.
  • PN532 breakout board + адаптер USB-TTL — плату PN532 можно подключать через UART-адаптер к компьютеру и пользоваться набором библиотек libnfc
  • Любой PC/SC-совместимый ридер — такие как ACR122U, HiD Omnikey и многие другие.

Описанный ниже процесс не является корректной реализацией протокола EMV. Приведенные команды APDU содержат ошибки и нарушают рекомендации EMVco, из-за чего могут не работать с некоторыми картами.

Для изучения протокола EMV рекомендуется читать официальную документацию, которую я, к своему стыду, почти не читал.

Приведенные APDU-команды будут одинаковыми не зависимо от выбранного оборудования. Однако в случае с PC/SC ридером не нужно заботиться о низкоуровневых командах, настраивать модуляцию и т.д.

Я буду использовать программу SmartCard Scripter, в связке с PC/SC-ридером HiD Omnikey. Программа SmartCard Scripter имеет наиболее компактный pascal-подобный синтаксис из всего что я видел. Краткое описание синтаксиса infintuary.org/scs_tut.php

Для того чтобы послать произвольную APDU команду на карту, достаточно такого когда:

// Программа для чтения UID карты
begin
APDU(‘FF CA 00 00 00’);
end.

Начало коммуникации — команда SELECT (PPSE)

Официальное описание: EMV Contactless Specifications — PPSE and Application Management for Secure Element

Начало общения с EMV-картой всегда происходит с чтения файла PPSE (Payment System Environment) командой SELECT.

APDU-команда SELECT PPSE

’00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00′
00 A4 04 00 // команда select
0E // длина command data (14 байт)
32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 // command data 2PAY.SYS.DDF01
00 // завершающий маркер

Старт платежного приложения — SELECT AID

В ответ на SELECT PPSE карта должна вернуть FCI (File Control Information) со списком приложений, существующих на карте. Помимо платежных приложений (VISA, MasterCard, AmericanExpress) карта может содержать неплатежные приложения, используемые для других нужд.

Ответ карты VISA на SELECT PPSE

‘6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 03 10 10 87 01 01 90 00’

Для удобства проанализируем ответ с помощью онлайн-парсера формата TVL emvlab.org/tlvutils/. Тот же ответ карты VISA, обработанный парсером:

Тройка карта виртуальная карта как оформить

Из всего этого нас интересует только идентификатор платежного приложения (AID). В данном случае, это значение A0000000031010, означающее Visa International.

AID помечается маркером 4F. Вторым битом после маркера следует длина данных, в нем содержащихся. Несмотря на то, что длина AID может варьироваться от 5 до 16 байт, в большинстве случаев она равна 7 байтам. Поэтому для простоты поиска AID в ответе, мы будем искать маркер 4F 07 и считать 7 байт после него как AID. Такой подход очень примитивный и может не работать в случаях, если длина AID будет другой, но для нашей задачи это не важно, так мы скорее всего никогда не столкнемся с картами, отличными от Visa и MasterCard. Поэтому наш самодельный парсер PPSE-ответа можно упростить до такой логики: если ответ начинается с 6F, заканчивается на 90 00 и содержит внутри последовательность 4F 07, ответ считается корректным.

Полный список AID: eftlab.co.uk/knowledge-base/211-emv-aid-rid-pix

Некоторые популярные AID

A0000000031010 Visa International
A0000000032020 Visa International
A0000000041010 Mastercard International
A0000000043060 Mastercard International United States Maestro (Debit)

Получив значение AID, его нужно запустить командой SELECT. В данном случае мы запускаем приложение Visa International, полученное из ответа на PPSE SELECT

APDU-команда SELECT AID

’00 A4 04 00 07 A0 00 00 00 03 10 10′
00 A4 04 00 // команда select
07 // длина command data (7 байт)
A0 00 00 00 03 10 10 // AID Visa International

Обработка PDOL (Processing Options Data Object List)

В ответ на запуск платежного приложения карта может затребовать от считывателя PDOL (Processing Options Data Object List). Это набор параметров POS-терминала — поддерживаемые протоколы и стандарты, валюта, в которой будет производиться расчет, дата, случайное число для криптографии, и так далее.

Список PDOL может различаться у разных карт. Общее число параметров PDOL — несколько десятков. Полный список параметров PDOL можно посмотреть здесь: eftlab.co.uk/index.php/site-map/knowledge-base/145-emv-nfc-tags.
Сложность состоит в том, что список PDOL у разных карт, даже выпущенных одним банком в разное время, может существенно различаться. Некоторые карты запрашивают два-три параметра, другие — десяток.

Это очень важный момент, так как некоторые карты могут отказаться работать без корректного ответа PDOL. Поэтому, для получения PAN-номера от всех карт, нам придется прикинуться настоящим POS-терминалом. Напомню, что единственной нашей целью является получения PAN-номера. Поэтому попытаемся сформировать максимально простой, но при этом корректный ответ PDOL.

Ответ карты на старт платежного приложения. Содержит запрос PDOL.

‘6F 31 84 07 A0 00 00 00 03 10 10 A5 26 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 BF 0C 08 9F 5A 05 60 08 40 06 43 90 00’

Пропустим этот ответ через парсер:

Тройка карта виртуальная карта как оформить

Видно, что значение PDOL начинается с маркера 9F38 и равно 9F66049F02069F03069F1A0295055F2A029A039C019F3704. Парсер emvlab.org не умеет парсить значения PDOL, поэтому воспользуемся программой для Android-смартфонов Credit Card Reader.

Вот тот же ответ, обработанный более умным парсером. Видно каждый параметр PDOL:

Тройка карта виртуальная карта как оформить

Данный парсер не скрывает байт длины после маркера, как это делает emvlab.org. Поэтому последний байт каждого маркера следует читать как длину.

Разберем запрос PDOL подробнее

9F 38 18 // Маркер начала PDOL. Длина 18 (24 байта)
9F 66 (длина 04) // Terminal Transaction Qualifiers (TTQ). Параметры платежного терминала
9F 02 (длина 06) // Сумма списания
9F 03 (длина 06) // вторая сумма
9F 1A (длина 02) // Код странцы в формате ISO3166-1
95 (длина 05) // Terminal Verification Results
5F 2A (длина 02) // Код валюты, в которой работает терминал, в формате ISO4217
9A (длина 03) // Дата в формате YYMMDD
9C (длина 01) // Тип транзакции
9F 37 (длина 04) // Случайное число для криптографии

Подробное описание всех возможных параметров PDOL можно найти в EMV Contactless Specifications Book C-1/2/3 Kernel 1/2/3 Specification.

Карта ожидает ответ на PDOL в том же порядке, в котором следуют запросы, и ровно той длины, которая указана после каждого параметра PDOL. Если сложить длину всех параметров (последний байт каждого параметра), получится 33 байта. Значит карта ожидает от считывателя PDOL длиной в 33 байта.

Так как мы не собираемся списывать с карты деньги, наша задача — сформировать самый простой из возможных ответ PDOL, который удовлетворит карту. Если наш ответ не понравится карте, она ответит кодом 6985 Conditions of use not satisfied.

Экспериментальным путем я выяснил, что почти на все запросы PDOL можно ответить нолями, кроме Terminal Transaction Qualifiers (TTQ). В случае с VISA, нам нужно убедить карту в том, что терминал соответствует спецификации VCPS 2.1.1. Для этого ответ на TTQ должен выглядеть так:

‘F0 00 00 00’

Подробнее про формат TTQ здесь.

Карты MasterCard, которые мне довелось испытать, позволяли игнорировать PDOL и отдавали PAN-номер без корректного ответа на PDOL.

Вот как будет выглядеть минимальный рабочий ответ на запрошенный выше PDOL:

’80A80000238321F0000000000000000000000000000000000000000000000000000000000000000000′
80 A8 00 00 // Команда GET PROCESSING OPTIONS (GPO)
23 // длина всего запроса (35 байт)
83 // маркер PDOL-ответ
21 // длина PDOL-ответа (33 байта)
F0 00 00 00 // Terminal Transaction Qualifiers (TTQ)
00 00 00 00 00 00 // Сумма списания
00 00 00 00 00 00 // Вторая сумма
00 00 // Код страны считывателя
00 00 00 00 00 // Terminal Verification Results (TVR)
00 00 // Валюта
00 00 00 // дата
00 // тип транзакции
00 00 00 00 // Случайное число

Если наш ответ удовлетворил карту, мы получим сообщение, начинающееся с маркера 77 с кодом SW2=9000. Этот ответ может содержать нужный нам PAN-номер, а может и не содержать. (офигеть)

Поиск PAN-номера

Так как нам лень писать полную имплементацию протокола EMV, разбирать все структуры ответов и формировать корректные запросы, мы поступим глупым способом, а именно пошлем все возможные запросы и будем просто искать в ответах нужный маркер, содержащий PAN-номер.

PAN-номер может содержаться в трех местах:

  • Track 2 Equivalent Data — маркер 57. Может иметь длину от 0 до 19 байт, но обычно всегда равен 13 (19 байтам). Поэтому как маркер можно использовать последовательность 57 13. Первые 8 байт всегда содержат PAN-номер.
  • Application Primary Account Number (PAN) — маркер 5A. Всегда имеет длину 8 байт, поэтому можно искать как маркер последовательность 5A 08. Содержит только PAN номер.
  • Track 2 Data — маркер 9F 6B» — . Длина обычно 13 байт. Содержит PAN номер и другую информацию.

APDU-команды (что они значат вообще? Хз, нужно прочитать)

’00 b2 01 1c 00′
’00 b2 01 0c 00′
’00 b2 02 0c 00′
’00 b2 01 14 00′
’00 b2 02 14 00′
’00 b2 04 14 00′

И парсим все ответы на предмет маркеров 57 13 либо 5A 08. Найденные 8 байт карты можно дополнительно чекнуть на контрольную сумму с помощью Алгоритма Луна.

Если номер валидный, берем его последние десять цифр.

В итоге наш примитивный алгоритм чтения PAN-номера можно изобразить в виде блок-схемы

Тройка карта виртуальная карта как оформить

Оцените статью
Подорожник