Бесконтактная оплата эпохи мамонтов + самодельный картридер

в 17:00, , рубрики: diy или сделай сам, банковские карты, длиннопост, магнитные карточки, платежные системы, самоделки
всем привет моя новая статья

всем привет моя новая статья

Магнитная полоса

Замечали эту штучку у себя на карте? Нет? А ведь это та самая деталь которая делает из скругленного прямоугольника - платежный инструмент в эмоджи.

Почему в России не было магнитных полос? Они были, но не везде. В основном это связано с тем что банковские карты пришли в Россию поздно, и сразу с чипом. А вот в США, стране изобретения банковских карт, до сих пор куча терминалов которые чип не принимают.

Как она работает? Если говорить простыми словами - магнитная полоса это накопитель данных. Такой же например как бумага, или микросхема памяти(не микропроцессор). Кстати, бумагу тоже использовали для оплаты, даже до магнитных полос, для этого с помощью специального прибора импринтера, делали отпечаток выдавленных на карте цифр.

Если интересно узнать про физические аспекты хранения данных на полосе: битовое кодирование, контрольную сумму, намагниченость частиц - ссылки на такое внизу.
Здесь рассмотрим только 2 и 3 уровни представления.

1. Физическое кодирование информации
2. Логическое кодирование
3. Уровень приложения

Собираем картридер

Ну да, а вы думаете он у каждого есть дома?

Можно купить готовый маленький заводской приборчик из Китая, но стоит он там слишком дорого - от 1000 рублей на распродаже. Чтобы пару раз поиграть и написать статью это несколько дороговато, поэтому я создам свой.

Что нам понадобится:

  1. Что-то имеющее магнитную головку

  2. Старые наушники (провод с миниджеком)

  3. 2-3х позиционный переключатель (или можно пальцами)

    Где есть магнитная головка: устройства работающие с кассетами, платежные терминалы.
    Но так как у меня дома нет устройств читающих кассеты, единственным выходом было купить платежный терминал (подойдет любой даже самый старый) магнитная головка редко выходит из строя и по этому можно купить любой самый дешевый терминал, чтобы было не жалко его разбирать. Я смог купить сразу 2 аппарата всего за ~600р.

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

    Как вышло у меня:

на 400 рублей экономии я покушал в макдоналдс

на 400 рублей экономии я покушал в макдоналдс

Я соединил с переключателем 1ю и 2ю катушки магнитной головки так как на 3-ей дорожке(треке) обычно ничего нет.

Важно помнить что 1 дорожка - находится в самом верху карты, то есть маппится на нижнюю катушку считывателя, а 3 получается в самом верху.

Софтвёрная часть

Собрать такой считыватель это - пол дела. Надо еще как-то декодировать полученные данные. Я нашел только такую программу - magstripper и в принципе она работает.
Как ей пользоваться (нужна java):

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

Установить этот вход как устройство записи по умолчанию в настройках звука

Скачиваем
Кликаем 2 раза на .jar файл
Открывается такое окно:

магстриппер

магстриппер

Жмем на кнопочку с микрофоном и зеленой стрелочкой и проводим карту (переключатель на 2-м треке)

жду вопросы зачем тут эти банеры

жду вопросы зачем тут эти банеры

Карты с магнитной полосой в культуре

Задание из игры Among Us (2018). Нужно провести картой, не быстро и не медленно.

Задание из игры Among Us (2018). Нужно провести картой, не быстро и не медленно.

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

Анализируем полученные данные

Да, номер я обрезал по самый BIN. Кратко про формат данных на 2-м треке банковской карты (перевел википедию):

Этот формат был разработан банковской индустрией (ABA). Этот трек записывается по 5битовой схеме (4 бита данных + 1 четность), которая позволяет записать 16 символов, среди которых числа 0-9 и 6 символов  : ; < = > ?. Выбор 6 символов пунктуации может показаться странным, но именно эти 6 символов легко проецируются на ASCII диапазон 0x30 - 0x3f что содержит именно 10 чисел и эти 6 символов. Формат данных:

  • Указатель начала — один символ (обычно ';')

  • Номер счета (PAN) — до 19 символов. Обычно, но не всегда, совпадает с номером кредитной карты напечатаным на самой карте.

  • Разделитель — один символ (обычно '=')

  • Срок действия — четыре символа в формате ГГММ.

  • Сервисный код — три цифры. Первая означает правила приема, вторая правила авторизации и третья диапазон сервисов предастовляемых держателю. (ниже)

  • Непредсказуемые данные — нужны для проверки подлинности карты

  • Указатель конца — один символ (обычно '?')

  • Продольный контроль целостности (LRC) — контрольная сумма.

    Сервисный код

    Первая цифра (Правила приема карты к использованию)

  • 1 Международное использование разрешено

  • 2 Международное использование разрешено, обязательно чип если поддерживается мерчантом(если терминал с чип ридером)

  • 5 Только национальное использование, если нет договоренности с иностранным банком.

  • 6 Только национальное использование, если нет договоренности с иностранным банком, обязательно чип если поддерживается мерчантом(если терминал с чип ридером)

  • 7 Принимается только в сети банков партнеров

    Вторая цифра (Правила авторизации платежа)

  • 0 Нормально (Можно оффлайн)

  • 2 Связаться с банком-эмитеном через интернет

  • 4 Связаться с банком-эмитеном через интернет, за исключением двухстороннего соглашения между банками

    Третья цифра (Диапазон сервисов предоставляемых держателю)

  • 0 Без ограничений, нужен ввод PIN (personal identification number)

  • 1 Без ограничений, без PIN

  • 2 Товары и сервисы (нельзя снимать налик)

  • 3 Использование только в банкомате, нужен ввод PIN

  • 4 Только налик

  • 5 Товары и сервисы (нельзя снимать налик), нужен ввод PIN

  • 6 Без ограничений, нужен ввод PIN (если поддерживается, необязательно)

  • 7 Товары и сервисы (нельзя снимать налик), нужен ввод PIN (если поддерживается, необязательно)

Попробуем разобрать то, что мы считали с карточки.
;5536910000000000=29122013000032100000?

Номер: 5536910000000000
Срок действия: 2912
Сервисный код: 201

  • Международное использование разрешено, обязательно чип если поддерживается мерчантом(если терминал с чип ридером)

  • Нормально (Можно оффлайн)

  • Без ограничений, без PIN

Проверяем

просьба деньги не спи

просьба деньги не списывать, карта мамы

Почти выводы

В 2023 году магнитная полоса почти канула в лету. И к 2025 году основные платежные системы заявили намерение убрать их вообще.

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

Где используется магнитная полоса в 202x году?

Если вы прямо сейчас возьмете свою карту и проведете ее в ближайшей пятерочке, то 101% что у вас ничего не получиться. Терминал попросит вставить карту чипом (сервис код). И ведь это сделано не просто так.

Представьте ситуацию: вы маленький мальчик пятиклассник которому мама скинула 2000 рублей на обед после школы. Вы купили булочку и сок и у вас осталось еще 1900 рублей. Но тут из-за угла выходит злой дядя и отбирает детскую карту. Если бы этой меры защиты не существовало, то грабитель с легкостью бы провел магнитной полосой и списал все деньги без пина в первом же магазине. Но так как терминал видит что на карте есть чип он не даст мошеннику и шанса. (Да да я знаю про NFC но там порог 1000р на операцию, а по полосе его нет)

Вот же раньше люди жили хочу также

Где взять карту с магнитной полосой?

Да, это все еще возможно. Где-то пишут что visa и mastercard уже давно запретили эмиссию карт без чипа, только с полосой. Но что нам их правила. Есть 1 российский банк, который под своим брендом подарочных карт продолжает их выпускать по сей день. Погуглите: <<подарочная карта с деньгами>> 1 или 2 ссылка - то что вы ищите.

Моя одна

las vegas

las vegas

Сервисный код 121

  • Международное использование разрешено

  • Связаться с банком-эмитеном через интернет

  • Без ограничений, без PIN

Но PIN все-таки 1 раз терминал запросил, в терминале McDonalds. (потому что транзакции с использованием магнитной полосы должны быть проверенны кассиром на совпадение подписи на чеке и обороте карты, а так как терминал самообслуживания - пин)

Вообще с ней больше проблем, в основном конечно кассирша удивится и еще пара людей в очереди, но когда после 3 свайпа - ничего, и приходится доставать apple pay не совсем круто =/

А еще она физически изнашивается, после 20 оплат она уже вся в продольных царапинах.

Но это не единственный банк который выпускает карты без чипа, есть еще карты разных МФО. Кобейдж MasterCard + Золотая Корона. И как раз на 3 полосе золотая корона и хранит свои данные, которые представляют собой трек 2 с небольшими отличиями.

Почему банки продолжают выпускать карты без чипа, ведь это не безопасно? - дешевизна карт без чипа

Крутые ссылки

https://habr.com/ru/company/timeweb/blog/701206/
https://en.wikipedia.org/wiki/Digital_card

Автор:
seeklay1337

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js