Начну с простого вопроса: кто из вас пользуется общественным транспортом? А кому нравится за него платить? Если такие все же найдутся, то могут смело переставать читать статью. Для остальных у меня есть рассказ о том, как четверо старшеклассников из Массачусетса взломали местную транспортную систему.
Жителям Бостона статья поможет получить бесплатные поездки, а для всех остальных этот материал будет неплохим уроком по реверс-инжинирингу. Ну или, по крайней мере, вы узнаете любопытную историю.
Разные авторы неоднократно писали на Хабре о взломе транспортных карт. В 2016-м досталось «Тройке», затем «Подорожнику», «Ситикард» и Metromoney. Первые статьи из этой серии вскоре загадочно исчезли со страниц сайта, но исправить проблему дырявых транспортных систем в реальности оказалось несколько сложнее. Иначе почему она актуальна и сегодня, спустя 7 лет, в крупных городах по всему миру?
На этот раз тему исследовали простые старшеклассники Мэтти Харрис, Захари Бертокки, Ноа Гибсон и Скотт Кэмпбелл. В итоге они выступили с докладом на DEF CON 31. Давайте разберемся, как и чего они добились.
Краткая предыстория
Итак, хакерской атаке подверглось "the T" (оно же MBTA) — транспортное управление залива Массачусетс. Американское государственное агентство, которое координирует работу местного метро, пригородных поездов, паромов и большинства автобусов в Бостоне. Еще это самая старая транспортная система в США, и в 2008 году у нее уже были проблемы с хакерами.
Тогда группа студентов MIT поняла, как взломать карты Charlie с магнитной полосой и начислить на них до $600. Они хотели выступить на DEF CON с презентацией, но MBTA такая идея не понравилась. Агентство наложило судебный запрет, и доклад не состоялся.
Ирония в том, что, когда на них подали в суд, согласно американским законам презентация и все материалы исследования перешли в общественное достояние. Эти записи и вдохновили новое поколение хакеров на еще одну попытку.
Шило на мыло
В прошлый раз взлом транспортных карт начался с покупки считывателя магнитных полос. Поэтому MBTA отказалась от этой технологии и теперь использует бесконтактные проездные.
Захари Бертокки начал собственное исследование и выяснил, что в «современных» бостонских проездных используется технология MIFARE. У нее есть множество разновидностей: MIFARE Plus, Ultralight, DESfire, но самая печально известная — MIFARE Classic. Конечно, именно она используется в картах Charlie. Захари поискал подходящий считыватель NFC и, перебрав несколько вариантов, остановился на PN532. Это небольшая красная платка стоимостью около $9, которая продается на Aliexpress и работает в паре с Raspberry Pi.
В MIFARE Classic применяется проприетарный 48-битный алгоритм шифрования NXP под названием Crypto1, который основан на принципе security through obscurity. При поверхностном погружении в криптографию может показаться, что это неплохо. На самом деле подобное шифрование реально взломать примерно за час, что было неоднократно продемонстрировано на практике. В отличие от обычного шифрования, в котором есть один или два ключа, в MIFARE Classic суммарно насчитывается 32 Sector keys. Чтобы их получить, можно использовать два вида атак: nested и dark side. В сети нетрудно найти ряд инструментов для их реализации и всю необходимую справочную информацию.
Захари нашел в сети стандартные ключи MIFARE, загрузил их в утилиту под названием MFOC, которая реализует атаку nested, и получил все шестнадцать пар ключей A и B.
Очевидно, что при внедрении бесконтактных проездных MBTA попросту не позаботилась о смене стандартных ключей. Это развязывает руки всем желающим манипулировать данными, записанными на карточки.
Сперва Захари сделал дамп двоичных данных с проездного Charlie, чтобы провести атаку на подобие той, которая получилась у студентов MIT. Он записал дамп на пустую болванку — китайскую карту с бэкдором, позволяющим изменять UID. И это сработало.
Терминал снял деньги с болванки, но на оригинальной карте осталась прежняя сумма. Следовательно, в этой транспортной системе нет источника истины в виде некой базы данных. Вся информация о балансе хранится непосредственно на карте.
Не все так просто
Такое клонирование напоминает чит-код на бесконечные деньги, но с ним связан ряд проблем. Чтобы эксплуатировать подобную уязвимость, сперва нужно купить и пополнить оригинальную карту. Притом пары одинаковых проездных довольно быстро блокируют — их многократное использование вызывает срабатывание систем защиты. Совсем другое дело — подделка карт. Но для этого пришлось внимательно изучить шестнадцатеричный дамп.
Выяснилось, что при преобразовании первых четырех байтов (UID) в десятичный вид они соответствуют напечатанному на проездном числу — серийному номеру.
Затем Захари вспомнил, что в старых билетах Charlie была контрольная сумма, и нашел нечто похожее в свежем дампе.
К сожалению, ни один из десятков популярных алгоритмов хэширования не сработал с этими строками.
Расшифровка хэша
Где-то на этом этапе к проекту присоединились Скотт Кэмпбелл и Мэтти Харрис. Вместе исследователи начали сравнивать дампы разных карт.
В приведенном примере одинаковые строки из двух дампов с разных проездных имеют разную контрольную сумму. Значит, к ним добавлена криптографическая соль. Понимание этого могло бы стать следующим шагом в расшифровке хэша. Но исследователи порядка трех недель проверяли стандартные калькуляторы контрольных сумм с солью и все равно ничего не добились.
Прорыв обеспечил поиск математических закономерностей между контрольными суммами. Оказалось, если взять пару строк с одинаковыми данными из разных проездных и применить к ним функцию XOR, получается одно и то же значение.
Как это можно использовать? Первый шаг — поиск двух одинаковых строк. Проще всего взять те, которые содержат одни нули. Затем идет расчет модификатора контрольных сумм. Так исследователи назвали значение, которое получается при XOR двух контрольных сумм. Это значение можно использовать для переноса строк с одной карты на другую.
Для этого нужно скопировать любую строку из дампа карты, а затем применить XOR к старой контрольной сумме, и получить новую. После этого остается записать её в соответствующий слот, и строка скопирована.
Возможности для реверс-инжиниринга
На первый взгляд, такой подход мало отличается от простого клонирования, но он позволяет не просто переносить дампы с карты на карту, а редактировать данные. К тому же значительно расширяются возможности для реверс-инжиниринга.
Допустим, вы пополнили проездной на $50 и клонировали его. Если проездной заблокируют, то эти средства пропадут. Но можно скопировать строку с деньгами со старой карты на новую и пользоваться ей дальше. Для этого нужно определить, в какой строке дампа закодирована информация о хранящихся на карте средствах. Естественно, это значение должно меняться после оплаты, так что требуется только найти нужные переменные.
Казалось бы, не похоже на сумму в долларах, но тут начинается математическая магия. Если преобразовать значения из шестнадцатеричного в десятичный вид, то получаются следующие числа.
Все еще и отдаленно не напоминает баксы, но если поделить эти значения на два, то они начинают выглядеть знакомо. Повторив такие операции еще с несколькими картами, исследователи поняли, что именно в этой переменной хранятся деньги. Только они почему-то выражены в половинках — 0,5 цента. Примерно также выяснилось, что в памяти каждой карты есть два регистра транзакций: по одному для текущего и предыдущего значений.
Как изменить содержимое карты и «накрутить» деньги
Первым делом нужно изолировать переменные. Как видите, единственные различающиеся между этими двумя строками данные выделены красным.
Затем исследователи попробовали выполнить XOR двух значений в разных версиях. По своему логично, ведь эта операция была ключом к копированию данных между картами. Так удалось получить выделенное зелёным значение, которое назвали модификатором данных. Затем операции XOR подвергли две контрольные суммы, что дало помеченное красным значение — модификатор контрольных сумм.
Далее исследователи взяли карту, на которой лежало ноль долларов и ноль центов и выполнили XOR с модификатором данных. Параллельно XOR-у подвергли контрольную сумму с модификатором контрольных сумм.
Сработало: получилась новая строка, которую записали на карту. И считыватель принял ее.
Впрочем, этих изменений оказалось недостаточно даже для одной поездки. Чтобы значительно увеличить сумму, на карту сперва пришлось положить еще 25 центов.
Дополнительный четвертак понадобился, поскольку в этом методе используется XOR двух значений. Как видно из примера выше, со значением 15 невозможно выполнять XOR и дальше. Необходимо добавить внешнее значение, чтобы получить ещё один бит, и только после этого продолжать «накрутку».
Имея на руках карту с двумя долларами и шестьюдесятью центами, можно повторять описанные операции раз за разом:
выполнить XOR, чтобы получить модификатор данных и модификатор контрольной суммы;
взять карту с нулём, сделать XOR денег с модификатором данных и контрольной суммы с модификатором контрольной суммы;
получить новую строку с $4,95;
И так по кругу.
Модификаторы данных и контрольной суммы удваиваются, пока не упираются в предельное значение $327,67. Это притом, что обычно карту Charlie нельзя пополнить более чем на $100.
Позже исследователи усовершенствовали процесс так, чтобы не приходилось каждый раз добавлять 25 центов: собрали все модификаторы в большую таблицу и автоматизировали модификацию дампа.
Таким образом:
Необходимо выбрать, что менять, например: 0x32 ($0,25) на 0xC8 ($1) в столбце 7.
Найти модификатор данных: XOR 0x32 c 0xC8 и получить 0xFA.
Найти модификатор контрольной суммы: подставить 0xFA и столбец 7 в таблицу поиска.
XOR модифицированной контрольной суммы (0xDE81) с прежней контрольной суммой, чтобы получить целевую контрольную сумму.
С учетом автоматизации в конечном счете взлом транспортной системы Бостона свелся к двум шагам:
Купить карту за 25 центов;
Изменить данные на $327.
Post-mortem
Самое интересное в дампе — переменные, которые отвечают за деньги и тип карты. Первые позволяют изготовить Charlie на $300, а вторые — делать проездные для людей с нарушением зрения, пенсионеров, студентов и сотрудников метро.
Для демонстрации своих достижений Харрис, Бертокки, Гибсон и Кэмпбелл собрали автомат для записи транспортных карт и обратились в MBTA.
Хотя взлом транспортных карт незаконен, на этот раз транспортное агентство не стало подавать в суд. Более того, он даже разрешило нашим героям сделать доклад о своем проекте на DEF CON.
Исследователей пригласили на совещание в головной офис управления и выслушали их рекомендации. По сути они сводятся к следующему:
при реализации системы оплаты поездок не следует хранить деньги на карте;
стоит использовать готовые защищённые системы наподобие Apple и Google Pay;
данные о картах, транзакциях и пользователях желательно хранить в отдельной базе данных;
подобные системы необходимо поддерживать и регулярно модернизировать после развертывания.
Сделало ли транспортное управление залива Массачусетс какие-то выводы из всей этой истории? Кажется, что да. Bostonglobe пишет, что MBTA совместно с исследователями разработало автоматизированные сценарии, которые могут распознавать поддельные карты и удаленно деактивировать их каждые 24 часа. Тем не менее, окончательное решение проблемы явно потребует замены нынешней системы CharlieCard. Модернизацию планируется завершить к марту 2025 года.
Комментарии (133)
Pyhesty
07.11.2023 09:16+4совершенно не понятно, что мешало разработчикам системы изначально использовать алгоритмы шифрования с известной криптостойкостью, а не городить собственный не стойкий алгоритм кодирования?...
mmMike
07.11.2023 09:16+1Конечные терминалы приема. Все это очень древнее. В какой ни будь старый mc/avr с 16Кб памяти ничего толком и не запихнуть.
Да и смысл. Ну взломали. Утерянная выгода от проезда 5-10 человек на общем фоне это смешно.
Goron_Dekar
07.11.2023 09:16+27>при реализации системы оплаты поездок не следует хранить деньги на карт
а где их хранить, с учётом того, что каждый турникет обязан продолжать работать даже если на всей станции нет доступа в сеть? Конечно же данные о балансе должны находиться на карте, это единственный источник данных для офлайн турникета. А отказываться от офлайн турникетов это огромный даунгрейд в юзабилити.
Поэтому это нормально, что рано или поздно цифровую систему оплаты общественного транспорта взломают, и будет такая история. Эти риски просто должны быть заложены в проект. Просто надо оперативно обновляться и менять алгоритмы шифрования, а не пытаться закрывать и прятать инфу об уязвимостях. Что они и осознали, судя по истории.
dprotopopov
07.11.2023 09:16вы абсолютно правы. и добавлю, что бессмысленно делать хранение какого либо долговременного ключа в турникете (который должен иметь возможность работать автономно) - поскольку к нему всегда будет доступ посторонних. ну а если к железяке есть свободный доступ - то её можно и механически посмотреть что внутри.
danial72
07.11.2023 09:16+8на сервере
-
1 раз в сутки, 2 раза в сутки синхронизировать базы данных
RealSaniok
07.11.2023 09:16+102 раза в сутки синхронизировать базы данных
... и после покупки/пополнения карты нужно подождать 12 часов
Arhammon
07.11.2023 09:16+6Зачем? Находиться расхождение, карта в подозреваемые, второй раз - блочиться.
Sap_ru
07.11.2023 09:16+5То есть за две поездки за первые 12 часов новые легитимные карты будут блочится, но при этом можно будет 12 или 24 часа ездить по фейковой карте до её блока? Утром карту сгененировал и катайся?
Удобно.SinsI
07.11.2023 09:16+1С какой стати легитимные карты будут блокировать?
У турникета есть информация, что по карте такой-то было совершено X поездок. На легитимной карте будет информация что было совершено либо X (если турникет успешно синхронизирован), либо больше.
Блокировать будут те карты, на которых оказалось меньше совершённых поездок, чем в БД турникета.
Фейковую карту можно использовать только на несинхронизированых терминалах, при этом после такой поездки и её синхронизации блокируется оригинальная карта, поэтому при залоговой стоимости больше стоимости поездки финансовую выгоду мошеннику получить проблематично.
georgevp
07.11.2023 09:16+1И результат? Например, Легитимный пользователь (А) в первый день с утра прошел турникет. Где-то в транспорте к нему пристроился фрик (Б) со считывателем и получил данные с карты А, клонировал в карту Б и целый день катался, используя данные карты А. На следующий день, по предложенной Вами схеме карта Б будет заблокирована, но также будет заблокирована и карта А (легитимная), поскольку, с высокой долей вероятности, в указанной БД единственным параметром, идентифицирующем карту, будет только её номер. В итоге пользователь А остается с заблокированной картой А, негодует, ругается, требует жалобную книгу. Ну а дальше... новая модификация системы оплаты.
SinsI
07.11.2023 09:16+2Это только если можно клонировать чужую карту бесконтактным считывателем в полевых условиях - а это уж такая дыра в безопасности, что за неё нужно увольнять всех разработчиков карты. Тут же на взлом нужен целый час, который ваш фрик (стоя над душой легитимного пользователя) потратил на клонирование одной-единственной карты, и для того, чтобы он "целый день катался", ему нужно весь этот "целый день" проходить исключительно через оффлайн терминалы.
В реальности у пользователя А на карте окажется максимум пара неучтённых поездок, так что ему разблокируют карту в любой кассе, перепрошив её с другими данными (может быть, потребовав штраф в виде стоимости этой пары поездок).
Oska2
07.11.2023 09:16Хмм, в нерезиновой была такая система? Раньше было несколько раз: берешь проездной на месяц, через пару дней карта дохнет, сдаёшь на проверку в кассу метро - тебя шлют нафиг, покупай мол новое... Стал каждый раз сдавать старую карту и брать новую, типа риск размагничивания меньше, но не панацея. Сейчас не знаю, как обстоят дела, стал редко кататься, пользуюсь разовыми поездками, записанными на "тройку". Есть статистика где-то в свободном доступе, интересно?
MoonArsenii
07.11.2023 09:16Это только если нет подключения к интернету. А вообще возможно сделать такую систему: Вы пополнили карту с телефона - сервис пополнения сообщает вам секретный токен, валидность которого можно проверить без интернета - вы обновляете данные в системе, которая находится оффлайн. При работе сети - данные обновляются сами и ничего самому делать не придётся.
LF69ssop
07.11.2023 09:16-1Всегда изумляли новости о том что "хакеры проникли в сеть пентагона" или "в сеть управления дорожным движением" ну и всякое такое.
Не понимал каким боком связаны интернет и подобная сеть. Но если подобные системы разрабатывают люди с идеями подобными вашим, то многое становится понятным.
MoonArsenii
07.11.2023 09:16К.м.к. проще использовать интернет и поверх него какуй-нибудь vpn, чем свою сеть городить. И да, у такой системы не очень нужен выход в мир, но если вам нужно управлять хоть-сколько нибудь удаленно - то без глобального интернета будет больно. И светофоры находится не очень близко, кабель проводить дорого (я так думаю). Думаю privateLTE будет тоже не дёшево. А использовать общедоступную сеть 4g - получится просто и быстро. А вообще я не эксперт и не претендую, просто поделился мнением.
MoonArsenii
07.11.2023 09:16Ну системы московского транспорта точно находится в интернете. Вы-же можете с телефона пополнять "тройку". А при отсутсвии выхода в глобальный интернет - теряется такая возможность. Пополнение только на станции, продление социальных карт - тоже. Так что я считаю, что на теоретический (или не очень) риск взлома стоит идти ради комфорта пассажиров.
Heggi
07.11.2023 09:16+15Ну навскидку можно сделать так: на карте храним ее идентификатор и криптографическую подпись. Турникет имеет публичный ключ для проверки подписи.
Если у турникета связь с сервером есть, то проверяет подпись и запрашивает сервер для списания денег за проход. Если связи нет, пропускает так, но в локальной БД отмечает проход и списание отправляет позже.
Конечно, в случае отсутствия связи, смогут проходить люди с заблоченными картами или без денег (и тогда их загонит в минус), но это аварийная ситуация и таких "умных" будет не слишком много.
censor2005
07.11.2023 09:16+9Примерно так реализованы транспортные карты в Ташкенте. Для доп.защиты, каждый турникет в метро (и каждый валидатор в автобусах) имеет локальную базу заблокированных карт, которые обновляются каждые 15 (если не ошибаюсь) минут. Если связи с сервером нет, турникет работает оффлайн, как только связь восстанавливается, транзакции синхронизируются с сервером и обновляется база заблокированных карт.
dprotopopov
07.11.2023 09:16https://habr.com/ru/companies/bastion/articles/772222/comments/#comment_26132348
и ассиметричное шифрование в туникете - это только вопрос цены - вернее цены/риска потерь
Heggi
07.11.2023 09:16+3Если использовать ассиметричный алгоритм, то на публичный ключ можно хоть засмотреться. И терминал хоть по молекулам разобрать и понять как оно работает. Но это ничем не поможет в принципе.
dprotopopov
07.11.2023 09:16-7... то на публичный ключ можно хоть засмотреться ...
неоднозначная тема в современном мире
см. https://ru.wikipedia.org/wiki/Алгоритм_Шора
и мои публикации
- [Изучаем Q#. Обучаем перцептрон](https://habr.com/p/772172/)
- [Изучаем Q#. Статистическое сравнение двух последовательностей чисел](https://habr.com/p/769148/)
- [Изучаем Q#. Алгоритм Гровера. Не будите спящего Цезаря](https://habr.com/p/768666/)
- [Изучаем Q#. Делаем реализацию биноминального распределения](https://habr.com/p/766512/)
- [Первые шаги в Q#. Алгоритм Дойча](https://habr.com/p/759352/)
Goron_Dekar
07.11.2023 09:16+2Слишком категорично. Стойка в 200GPU и годный алгоритм подбирут ключ, который может поместиться в карточку. Конечно, при доступе к краденому турникету. Поэтому механизм обновления ключей каждый месяц отлично дополнит эту схему. (старые ключи остаются валидными пока живы их карточки, то есть максимум год для годовых абониментов)
Heggi
07.11.2023 09:16В карточку и RSA 4096 можно кмк засунуть или что-то из ECDsa, главное чтобы памяти хватило. В данном случае карточка тупо бесконтактная флешка, а все расчеты на терминале.
me21
07.11.2023 09:16+2200 GPU правда могут подобрать приватный ключ AES-128 за разумное время?
Kragius
07.11.2023 09:16+3Ну во первых - AES это симметричный алгоритм с одним секретным, которым и шифруют и дешифруют. У него нет публичной части. И всей вычислительной мощности Земли потребуются некоторое количество миллиардов лет, чтобы подобрать один такой ключик. Сомневаюсь что 200GPU справятся ????
MikalaiR
07.11.2023 09:16Стойка в 200GPU и годный алгоритм подбирут ключ, который может поместиться в карточку.
Банковские карты и другие смарт-карты передают привет.
konst90
07.11.2023 09:16+3Стойка в 200GPU и годный алгоритм подбирут ключ, который может поместиться в карточку.
Миниатюра "Хакер в столовой". Ради фана можно, практический смысл примерно нулевой.
geher
07.11.2023 09:16+2Стойка в 200GPU
Даже если не учитывать стоимость самой стойки, потраченная электроэнергия с лихвой покроет выгоды от бесплатнооо проезда. А ключ поменять, если что, не проблема. Подбирайте заново.
vikarti
07.11.2023 09:16+2Ну с банковскими ж картами сделали вполне себе работающий офлайн (пусть и ограниченный по сумме) который при этом ломать - устанешь. Вопрос правда стоимости болванки банковской карты и стоимости вот этого.
konst90
07.11.2023 09:16Банковские карты именные, там проще найти и наказать в случае взлома.
vikarti
07.11.2023 09:16+1Совершенно не обязательно.
Другое дело что обычно не принято выдавать пластик с большим балансам без показа документов хоть каких то хоть кем то.
И...ломали, много и часто, пока магнитная полоса была. то что именные - не особо помогало.
anton_reut
07.11.2023 09:16+1Банковские карты кстати хранят какие то данные об остатке на счете? Просто иногда оплата проходит настолько быстро что кажется будто терминал читает баланс не запросом в банк а с карты напрямую.
Kragius
07.11.2023 09:16+3Нет, не хранит. Офлайн при этом есть. Просто есть во первых блеклист, раз в день обновляемый. Более дорогая комиссия транзакции, с увеличенной страховкой. Ну и в худшем случае просто баланс в банке уйдет в минус, который ты все равно пополнишь, если планируешь дальше картой пользоваться. Но баланса на карте в принципе нет, я это знаю точно ????
Harwest
07.11.2023 09:16Тогда вопрос: в Питере контролёры в ОТ каким образом видят на своих сканерах банковских карт совершенную транзакцию? Подтверждение списания практически мгновенно.
Viceroyalty
07.11.2023 09:16+1Может, сканер берет данные с местных терминалов оплаты?
geher
07.11.2023 09:16Их и берет. Замечал, что прежде, чем начнут проверять, контролеры подключают свой терминал к системе транспорта, иногда вслух озвучивая процесс.
Evengard
07.11.2023 09:16+1Не удивлюсь, если списание происходит по офлайн флоу (чтобы не задерживать очередь например), которое сразу после списания верифицируется онлайн (при наличии сети). А терминалы контроллёров уже подтягивают эту информацию тоже по сети.
alamer
07.11.2023 09:16Списание точно происходит оффлайн. Я за последние пару лет на ОТ катался буквально пару-тройку раз. И каждый раз списания с карты приходили поздно вечером. Очевидно когда заканчивалась смена.
geher
07.11.2023 09:16Не знаю, как в Питере, но в других городах бывает по разному. Может быть и чистый онлайн, и сброс данных каждый раз на конечной остановке, и синхронизация через мобильную сеть всякий раз, когда она доступна.
ice938
07.11.2023 09:16У меня было пару раз, что списание и вовсе не происходило. Через 3-4 недели происходил возврат зарезервированных терминалом транспорта средств. Видимо, терминал так и не дождался интернета до того, как у него переполнился буфер. Оба раза ехал рано утром
ice938
07.11.2023 09:16В СПб списание - офлайн 100%, а потом терминал синхронизируется, когда интернет появляется (или в зоне уверенного приема, если есть модем на борту, или в парке - по WiFi)
Kragius
07.11.2023 09:16Что за сканеры банковских карт? Вы покупаете билет условной Визой или Миром и потом приходит контроллер и чекает вашу карту? Тогда вариантов много:
Я видел проездной и банковскую карту на одном куске пластика. Но думаю что вы бы тогда об этом знали.
Скорее всего - быстрая онлайн оплата, к сожалению не помню точного термина. Аналогично бесконтактной оплате. И сканнер у контроллера получает список уже оплаченных транзакций и карт, с которых это было сделано с сервера через 4/5G. А прочитать номер карты и сравнить со списком можно и без финансовой лицензии.
Ну и офлайн вариант - платежи идут в офлайне, с надеждой что деньги у вас все таки найдутся. Контроллер при входе синхронизирует сканнер с сервером автобуса(это может вполне быть платежный терминал) и получает тот же список карт. А дальше все как и во втором случае.
Harwest
07.11.2023 09:16Сканер - небольшая коробка с 3 пачки сигарет, дисплей и в торце сканер.
Проверяются как проездные так и банковские карты (виза, мастер, мир). Валидаторы списывают деньги не моментально судя по времени прихода пуш уведомления. И засада в том что одной картой нельзя оплатить проезд нескольким людям (например семья с детьми). А оплату 'мир пеем' со смартфона этими сканерами почему-то не проверяют: контролер машет рукой и говорит ок.
geher
07.11.2023 09:16И засада в том что одной картой нельзя оплатить проезд нескольким людям (например семья с детьми).
Во многих городах точно можно. Нужно только выждать несколько минут между оплатами, или пока кто-то другой не оплатит. Там что-то вроде защиты от случайной двойной оплаты.
А оплату 'мир пеем' со смартфона этими сканерами почему-то не проверяют: контролер машет рукой и говорит ок.
У нас просят показать оплату в приложении. Это можетбыть потому, что программа передает не данные карты, а случайно сгенерированный одноразовый пакет. А потому проверочный терминал не увидит тождества между двумя касаниями. Другая возможная причина в том, что протокол оплаты несколько отличается от протоккола идентиф;икации. Я пес его знает, как оно там реально реализовано в терминалах и мирпэе.
ice938
07.11.2023 09:16Хмм. Вы меня заинтриговали =)
Гуглпэй (подозреваю, что Эплпэй так же) выдает номер карты, только не сохраненной, а другой, судя по идентификатору, выданной американским банком, номер не меняется при нескольких считываниях. А Мирпэй, при попытке считать номер карты, выдает ошибку - "Невозможно совершить оплату. Попробуйте позже." и считыватель выдает ошибку.
Да, похоже, что разработчики Мирпэй не допили эмуляцию.
ice938
07.11.2023 09:16Есть мифические валидаторы с дисплеем и меню, где, перед оплатой, можно выбрать количество человек. А при оплате смартфоном у меня контроллер попросил показать транзакцию в приложении, когда приложение банка не загрузилось из-за проблем со связью, предложил провести оплату смартфоном "повторно", мол в валидаторах защита от дублей платежей и повторно денег не спишут - так и оказалось, в итоге произошло списание стоимости только одной поездки.
select26
07.11.2023 09:16получает список уже оплаченных транзакций и карт
Есть такой смешной документ: PCI DSS, без прохождения сертификации на соответствие которому доступа к номерам карт у вас не будет. А одним из условия соответствия этому стандарту является хранение PAN (номеров карт) в маскированном виде.
Так что этот вариант исключаем.
geher
07.11.2023 09:16В некоторых городах система оплаты с валидаторами реализована Сбербанком. У него сертификация должна быть. Впрочем, сравниваться могут не сами номера карт, а их хэши или что-то еще производное.
LF69ssop
07.11.2023 09:16-1По опыту, сбер может класть и временами кладет на любые правила.
То за что у любого другого банка отобрали бы лицензию, у сбера даже не замечают.
esaulenka
07.11.2023 09:16доступа к номерам карт у вас не будет
Зато будет доступ к clipped PAN. Это четыре последние цифры номера, их видно на каждом чеке оплаты, и это значение никак не зашифровано.
Для решения задачи "проверить факт оплаты автобусного билета" этих 4 цифр вполне достаточно.
tok720
07.11.2023 09:16Первое попавшееся приложение из Google Play вполне неплохо читает PAN средствами NFC. PN532 кстати тоже. Так что все зависит от конкретной реализации. Ну а то что что-то где-то реализовано через одно место и не соответствует стандартам - ну что поделать. В Красноярске с терминалами оплаты такая же тема. У меня даже статья на тему есть как это можно использовать.
wickated
07.11.2023 09:16Всё чуть проще, сканер контролера предварительно синхронизируется с валидатором в абобусе и с него берёт свеженькую локальную базу.
Lirix_vladimir
07.11.2023 09:16Один раз проглядел, расплатился картой, на которой не хватало для оплаты (банковской). "Оплата" прошла мгновенно на терминале, но потом уже была попытка списания с карты, минут через 5. Карту в системе заблочили до оплаты задолженности. Причем не важно как оплачивать. Через приложение, через терминал кондуктора или через терминал на поручне.
Harwest
07.11.2023 09:16Ну а после пополнения счета списание стоимости поездки произошло? И интересно что бы показал сканер контролера проверке.
Lirix_vladimir
07.11.2023 09:16Да, списали через какое то время после пополнения и разблокировали карту. Но через то же приложение, можно и другую карту привязать и продолжать оплачивать, пока другая карта в бане.
DennisP
07.11.2023 09:16+1При отсутствии связи накапливать данные в самом терминале, потом синхронизировать при появлении такой возможности. Также периодически обновлять список заблокированных карт.
me21
07.11.2023 09:16Ну можно читать баланс карты с сервера, если есть связь с сервером. Тогда для успешного взлома потребуется не только перезаписать карту, но и нарушить связь турникета с сервером, что на порядок сложнее.
vd0
07.11.2023 09:16В Нидерландах деньги хранятся на карте и периодически синхронизируются с сервером. В случае расхождения ищут зайца. Уже несколько "хакеров" попали на серьезные суммы.
makapohmgn
07.11.2023 09:16Турникет все-таки не в поезде, подвести к нему связь вообще не проблема. В том числе с резервными каналами.
Хуже с трамваями, автобусами и т. Д.
Даже при оплате банковской картой, деньги будут пытаться списать, когда транспорт приедет в депо.
Kragius
07.11.2023 09:16+135Mifare Classic не ломал только ленивый, сейчас это действительно уровень школьников. Хотя мне пришлось разрабатывать проездные на их базе, и могу с гордостью сказать что наш вариант школьники бы не взломали ???? достаточно добавить шифрование каким нибуть aes-256 данных в блоке - и удачи это ломануть. Максимум можно сделать клон карты, но это лечится блеклистами и их периодическими обновлениями.
Просто у Бостона старая, слабо поддерживаемая система и минимальные риски настоящего взлома, на котором можно потерять деньги. Если бы ребята сделали бы и распространяли аппликуху для бесплатного прохода, или же продавали бы свои карты - тогда финал истории был бы совсем другой...
P.S. И платите за проезд. С этих денег платят зарплаты водителям и кондукторам, механикам и уборщикам. С этих денег покупается новый транспорт и ремонтируется существующий. Если вам нужен общественный транспорт - заплатите за него.
MountainGoat
07.11.2023 09:16+9Да за проезд по моему и так платят все, кроме студентов-общажников (которые умудряются жить на 3000 в месяц) и алкашей, у которых и столько нет, и гостей с Юга. По крайней мере очереди зайцев в дыру с ж/д платформы состоят только из этих категорий.
DrZlodberg
07.11.2023 09:16+2Ну вот я регулярно стою в эту очередь. Хотя тоже плачУ. Бегать лень. Просто там я выхожу сразу и без очереди, а не пытаюсь пройти в составе всей электрички в три еле работающих турникета. На некоторых станциях народ еще за две-три остановки занимает стратегическое положение в дверях, ближайших к выходу, чтобы не тратить прорву времени на эту пробку.
Gryphon88
07.11.2023 09:16тут странное: в московском метро платят примерно все, а на выходе из пригородных электричек очень часто пытаются прижаться, причем не только описанные категории. Зайцев в районе 9-10 утра на платформе Серп и Молот как бы не треть.
Gordon01
07.11.2023 09:16-2С этих денег платят зарплаты водителям и кондукторам, механикам и уборщикам. С этих денег покупается новый транспорт и ремонтируется существующий. Если вам нужен общественный транспорт - заплатите за него.
Это ложь. Еще ни у кого в мире не получилось сделать нормальный коммерческий ОТ.
В большинстве случаев финансирование идет из городского бюджета.
Иначе получаются либо маршрутки либо Нью-Йоркское метро.
konst90
07.11.2023 09:16+25Так тут и не написано, что зарплаты платятся только из денег за билеты. Но какая-то часть - совершенно точно.
Кроме того, финансирование из городского бюджета обычно привязано к количеству купленных билетов: в самом простом виде - как доплата за каждый проданный билет (хотя здесь нужна защита от махинаций).
Кроме того, про продажам билетов оценивается нужность маршрута, и если билетов продается мало - значит, маршрут не нужен, он закрывается, и водители с кондукторами увольняются.
LF69ssop
07.11.2023 09:16+1Так тут и не написано, что зарплаты платятся только из денег за билеты. Но какая-то часть - совершенно точно.
Тогда какое до этого дело водителям и уборщикам? Это головная боль городского бюджета.
Кроме того, финансирование из городского бюджета обычно привязано к
количеству купленных билетов: в самом простом виде - как доплата за
каждый проданный билет (хотя здесь нужна защита от махинаций).Тогда не было бы такой лютой войны водителей/собственников с терминалами в транспорте. У нас по итогу доходило до того что если терминал не работает то пассажир имеет право не платить за проезд. Только после этого дело как-то сдвинулось с мертвой точки.
Кроме того, про продажам билетов оценивается нужность маршрута, и если
билетов продается мало - значит, маршрут не нужен, он закрывается, и
водители с кондукторами увольняются.Обычно нужность оценивается по тому сколько маршрут приносит прибыли. За прибыльные маршруты идут войны, не прибыльные спихивают администрации.
Финансирование кстати идет под эгидой "при такой стоимости проезда мы доедаем последний без соли, и будем вынужденны поднимать стоимость проезда" на что администрация отвечает "постойте постойте, мы готовы какую-то часть компенсировать..".
А еще, я слышал, что за нужные решения кому то из администрации бывает компенсируют эти усилия. Ложь разумеется, всякому понятно.
konst90
07.11.2023 09:16Тогда не было бы такой лютой войны водителей/собственников с терминалами в транспорте.
Война с терминалами - это война за неучтённый нал, а не просто за деньги. Тридцать рублей от пассажира наличкой без выдачи билета ценнее, чем те же тридцать рублей на счету ООО "Маршрутка". И даже с выдачей билета - ценнее.
serge-sb
07.11.2023 09:16+3"из городского бюджета": вы сейчас удивитесь, но в городской бюджет деньги поступают из вашего кармана.
georgevp
07.11.2023 09:16+1В данном контексте, подразумевается, что вся система ОТ убыточна по своей природе. И да, Вы правы - она дотируется из муниципальных бюджетов, которые формируются из налогов собранных, в том числе, с ФЛ.
serge-sb
07.11.2023 09:16Почти так, только не "в том числе", а "исключительно с физиков". Ибо в конечном итоге бюджет получается только из денег людей. Про убыточность - понятно, откуда она берётся. Если сделать 100% оплату за проезд, то это будет слишком дорого. Будут сложности со сбором этой платы и сложности с недовольством граждан. Поэтому система ищет и находит баланс между "оплата" и "дотация".
georgevp
07.11.2023 09:16Вы, возможно, забыли о налогах с ЮЛ.
serge-sb
07.11.2023 09:16Вы тоже сейчас удивитесь, но у юриков деньги берутся оттуда же. Просто потому, что юрлица не могут печатать деньги. Прокачка денег через юрлиц обеспечивается тоже физлицами. Косвенно (через госзаказы в частности и подряды вообще) или прямо (продажи/услуги гражданам).
befart
07.11.2023 09:16Так это в сферической рыночной экономике должно работать. А в банановой республике возможно, что бюджет пополняется в большей степени за счет продажи "бананов" госмонополиями, и потом государство через бюджетные трансферты дотирует общественный транспорт. И в первом случае взлом метро равносилен воровству у соседа, то во втором это воровство у государства, что многие могут посчитать справедливостью, робингудством.
serge-sb
07.11.2023 09:16Тут есть о чём поговорить, но только я ж не настоящий экономист:) Но точно стоит отметить (коряво и своими словами, извините), что продажа бананов не может пополнить бюджет, ибо в обмен на бананы приходит валюта, а бюджет состоит из тугриков. Государство не может выдавать зарплату в валюте, например. Т.е. в сферической экономике увеличение объёмов продаж бананов должно приводить к удешевлению импортных товаров, но не влиять на зарплаты.
befart
07.11.2023 09:16Государство либо продает на рынке бананодоллары, чтобы граждане потом купили себе айфоны либо скатались на курорты, либо печатает свою деревянною валюту в эквиваленте поступившей валюты, что будет уже похуже , т.к. увеличивает денежную массу и в может разогнать инфляцию. В любом случае у государства появляются лишние деревянные деньги, которые оно может тратить, в том числе и на дотации транспорта.
Arkasha
07.11.2023 09:16Еще ни у кого в мире не получилось сделать нормальный коммерческий ОТ
Можно пруф? У нас вот ОТ - одна из гордостей города: быстрый "зелёный" транспорт с кондиционерами, пандусами и багажниками для велосипедов, выделенные полосы, билетоматы внутри и на остановках, велодорожки, куча приложений, билеты и проездные на любой вкус, а с картой горожанина ещё и дешевле. Всё чистенько и ухожено. И управляется всё это дело акционерным обществом, в которое вполне себе инвестируют, транспорт постоянно обновляется
Ndochp
07.11.2023 09:16Так города или коммерсов? и сколько дотаций от города на эти билетоматы и остановки? неужели 0, и только налоги стригут?
Arkasha
07.11.2023 09:16Так города или коммерсов?
С чего вдруг у вас это взаимоисключающие параграфы? Другие мои вопросы и ответы на все ваши вопросы вы найдёте в моём первом комментарии
Ndochp
07.11.2023 09:16В этой ветке коммент на который я ответил - Ваш первый. Да и вообще на всей странице. У вас мультиакк? под каким имеенем ваш первый комментарий?
А в том комментарии написано ОТ- гордость города. Но не ОТ - окупающаяся вещь (то есть окпупающаяся за счет билетов естественно. Получать кучу бабла от государства и работать в минус по билетам - это не "нормальный коммерческий ОТ")
Gordon01
07.11.2023 09:16Город в студию.
И управляется всё это дело акционерным обществом
Погодите, для того чтобы автобус ездил туда-сюда, точно нужны сложные финансовые инструменты?
SquareRootOfZero
07.11.2023 09:16+2В Японии отличный коммерческий общественный транспорт - чистый, быстрый, удобный. Насколько я знаю, в основном существует с собственной прибыли. В Токио только "Токийское метро" (это имя собственное) наполовину принадлежит городу и на ту же половину финансируется из городского бюджета, всё остальное метро (не имя собственное, а вид транспорта) поделено между частными организациями и бюджетных денег не получает - спрашивал людей, знающих за JR East, Tokyu Railways Company и, собственно, "Tokyo Metro" - никто из них, правда, не близок к финансовой верхушке этих компаний, но данные по финансированию как бы ни разу не секретные.
geher
07.11.2023 09:16+1Это то самое метро, где существуют специально обученные "утрамбовщики", запихивающие людей в вагон? Или я что-то путаю?
SquareRootOfZero
07.11.2023 09:16+1Да, на особо людных станциях в часы пик бывают такие, несколько раз наблюдал, хоть самому ни разу не посчастливилось быть ими утрамбованым. Вопрос задан из праздного любопытства или как аргумент, что метро плохое?
geher
07.11.2023 09:16Просто для уточнения. В Москве, кстати, иногда таких не хватает.
Но таки да. В моем понимании это не "нормальный ОТ", ибо не всегда справляется с пассажиропотоком без перегрузок. Но, как я писал в другом комментарии, нормального ОТ не бывает.
SquareRootOfZero
07.11.2023 09:16По такой логике, утверждение "нормального ОТ не бывает" не фальсифицируемо и, как следствие, бессмысленно. Всегда можно до чего-то докопаться и заявить, что "А вот, яжеговорил, яжеговорил!" Не нужны утрамбовщики - можно возмутиться, что сидячих мест на всех не хватает. Ах, хватает? А чо тогда в вагоне симпатишные девочки виски не разносят и бесплатный массаж пяток не делают? И вообще, по-сравнению с гипотетическим телепортом в каждый дом, мгновенно перемещающим в любую точку мульти-вселенной, эти ваши поезда просто каменный век... (проведут телепорт в каждый дом - есть полная уверенность, что и тогда найдут повод повозбухать)
SinsI
07.11.2023 09:16Насколько я знаю, в основном существует с собственной прибыли.
От трети (JR) до двух третей(JR Kyushu) всех их доходов идёт от коммерческой недвижимости а не с билетов, плюс при приватизации железной дороги правительство забрало себе 14 триллионов йен долгов (это примерно 4 года расходов всех японцев.на весь общественный транспорт)
Так что с прибыли именно "общественного транспорта" он там существует с очень большой натяжкой.
Gordon01
07.11.2023 09:16И вот так всегда, если покопаться.
К сожалению, здесь спорщики и минусаторы могут разве что докопаться до выбора слов ("не полность, а частично").
SquareRootOfZero
07.11.2023 09:16У меня из "экспертов" в шаговой доступности щас только жена, действующий сотрудник JR East - сходил, спросил.
70% прибыли идёт с железной дороги, остальные 30% - с недвижимости (столько заведений в пристанционных зданиях, и все отстёгивают, а ещё у них отели свои есть). И они эти 30% планируют довести до 50%, то есть будет 50/50. Тем не менее, до ковида транспортное направление было и само по себе прибыльно, во время ковида вся компания впервые со своей приватизации в 1987 году понесла убытки, в прошлом году опять вышла в прибыль, но суммарную, транспортные операции остались убыточны, этот год ещё не завершён, но уже по расчётам и транспортное направление опять стало прибыльным. Пассажиропоток достиг 80-90% от доковидного уровня. По этому пункту я никакой "очень большой натяжки" не вижу - вполне распространённая коммерческая практика рубить бабло не только на основном бизнесе, но и на сопутствующих товарах и услугах. Опять же, именно наличие там загруженной пассажирами железной дороги в значительной мере и делает эту недвижимость такой привлекательной для сторонних бизнесов, что они туда лезут, несмотря на драконовскую таксу (вроде, у них не фиксированная арендная плата, а часть прибыли должны отстёгивать, и хорошую часть, чуть не половину). Даже будь собственно перевозка пассажиров сама по себе убыточной - а она нет - в целом бизнес-модель прибыльная, обе части работают в симбиозе, какие тут могут быть вопросы?
JR, насколько я понял, создавался на государственные деньги и на 1987 год имел 37 триллионов йен долга (я не осилю перевести это ни в рубли, ни даже в нынешние доллары, с учётом курса и инфляции, поэтому не буду даже пытаться, но сумма сильная, крепкая такая). Потом этот единый JR поделили на 6 региональных компаний и ещё одну компанию-грузоперевозчика без собственной ж/д инфраструктуры, и в таком виде приватизировали, оставив им 5.9 триллионов йен долга на всех, до сих пор выплачивают. Часть из оставшихся 31 триллионов взяло на себя государство, а на кого повесили оставшуюся часть, я понять не смог. Достаточно ли этого, чтобы признать его "ненормальным" и "некоммерческим"? Я считаю, недостаточно. Если бы требовал постоянных государственных вливаний, прожигал их и ещё просил - тогда да. А тут не тот случай: реорганизовали, себя обеспечивает, прибыль приносит. Что государство поучаствовало - а в каком бизнесе сравнимого масштаба государство так или иначе не поучаствовало? Даже небо, даже Аллах, даже Илон Маск...
SinsI
07.11.2023 09:1670% прибыли идёт с железной дороги
Только не прибыли а доходов, что очень большая разница. Прибыль, как вы сами указали, от именно транспортной деятельности пока что колеблется около нулевой отметки.
какие тут могут быть вопросы
Такие, что им подарили на 14 триллионов йен недвижимости, доходы с которой могли пополнять государственный бюджет, а не частные карманы.
наличие там загруженной пассажирами железной дороги в значительной мере и делает эту недвижимость такой привлекательной
Общественный транспорт всегда так работает - всю прибыль получают владельцы недвижимости, которую этот транспорт делает доступной, сами же пассажирские перевозки - убыточны. Только стандартная форма сбора этой прибыли - через налоги государству (которое из них и субсидирует ОТ), а не в карман частнику. Тут же классическое "государству - убытки, частнику - прибыль".
SquareRootOfZero
07.11.2023 09:16Прибыль, как вы сами указали, от именно транспортной деятельности пока что колеблется около нулевой отметки.
Беглое гугление навело меня на следующие финансовые отчёты, что-то похожее на интересующие нас данные я нашёл в документе "Non-consolidated Financial Statements". Скачиваем CSV-файл, открываем, сравниваем значения в строке "Operating Revenues / Revenues from Railway Operations" со значениями в строке "Operating Expenses". Сравнение неидеально, но это, во-первых, лучшее, что я нашёл (приведите лучшие данные, если у вас есть), а во-вторых, ошибка будет в сторону уменьшения доходности железнодорожных операций, а не наоборот. "Operating Revenues" - это, как я понимаю, все деньги, которые к нам приходят с бизнеса, "Operation Expenses" - все деньги, которые мы тратим на ведение бизнеса, когда мы вычтем из первого второе, мы получаем плюс-минус прибыль. Но я не нашёл строки с расходами именно на железнодорожные операции, поэтому из доходов только с железнодорожных операций буду вычитать все операционные расходы вообще. Взяв, для вящей репрезентативности, годы с 2015 по 2023, получаем следующие грубые значения прибыли от транспортной деятельности, в миллиардах йен:
282, 336.1, 309.4, 312.5, 307, 202.2, -572.1, -319, -66.2
Как видим, только в 2021, 2022 и 2023 гг. выходят операционные убытки, а до этого всё прибыль была, а всего в таблице данные с 1988 года, и за все года прибыль есть. Именно прибыль, не доход.
Вот ещё такие данные удалось найти, там в левой таблице, озаглавленной "Consolidated", раздел "Operation Income", строка "Transportation", 2019-23 гг., в миллиардах йен:
341.9, 250.5, -548.5, -285.3, -24.0
Числа несколько другие, потому что Consolidated, ну и операционные расходы, видимо, там правильные вычли, а не как у меня - в результате, как я и предположил выше, прибыли больше, убытки меньше. Порядок чисел и тенденции те же. Не колеблется оно около нулевой отметки - резкий провал 21 года есть разовый форс-мажор, ситуация постепенно выправляется.
"Ну, Колобок, парируйте." (с) КВН
geher
07.11.2023 09:16+1Еще ни у кого в мире не получилось сделать нормальный коммерческий ОТ.
Тут все упирается в трактовки слов "нормальный", и "коммерческий".
Во-первых, коммерсы вполне могут претендовать на дотации из бюджета. Считаем таких дотационных коммерсантов коммерсантами? Ведь, если что, у них контракт на перевозку пассажиров с городом, от него деньги и получают (вроде даже местами полностью, с людей вообще ничего не берут).
Во-вторых, кому-то и неработающий в непопулярные часы, переполненный, не ходящий по непопулярным направлениям транспорт вполне нормален.
Главная проблема в нормальном (с моей точки зрения) ОТ как раз в том, что если он работает постоянно (в том числе ночью ходит не реже раза в час) и везде (в том числе в малонаселенных районах) с высокой плотностью остановок (чтобы не пришлось несколько километров до ближайшей переться), то автоматически становится убыточным как раз из-за очень низкой загрузки в определенное время и на определенных направлениях при относительно низкой платежеспособности части населения (цену не особо задерешь).
Опять же, для одних автобус пустой, если может втиснуться еще один человек, а для других переполненный, если все сидячие места заняты. Какой уровень заполненности считаем критерием ненормальности?
Впрочем, с моими критериями нормальности нормальный ОТ не может существовать по определению, даже с дотациями из бюджета, ибо даже дотационные ночью не везде катаются.
SergioT4
07.11.2023 09:16Если карты поддерживали проезд в автобусах (особенно лет десять-пятнадцать назад, когда онлайн для каждого автобуса для таких систем был не сильно популярен), то для такого решения на устройствах считывания необходимо хранить ключ шифрования и иметь возможность его поменять.
А если карточку можно было пополнять через веб, то система синхронизации балансов был довольно интересной задачей. т.е. каждый автобус пару раз в сутки должен был синхронизовать локальные базы с основной системой.
SquareRootOfZero
07.11.2023 09:16+11Я тут временно релоцировался ажно в Washington DC, и чо-то как ни пойду в метро - там сплошные хакеры. Методы их ещё более ленивы, чем взлом Mifare Classic: те, что поэнергичнее да поподжарее, взламывают систему приёмом, похожим на прыжок через козла с опорой на брусья, те, что покорпулентнее, в несколько приёмов переваливают носимый жировой запас через дверцы турникета, но, так или иначе, проходят бесплатно все желающие. Их - внимание! - запрещено ловить, задерживать, наказывать - нельзя, законом запрещено (говорят, от того, что когда ещё можно было ловить и их ловили - почти одни негры попадались). И вот поезд проехал, толпа хакнула турникеты, "а я один, вроде, лох получаюсь" - стою и прикладываю карточку к считывающему устройству уже рез десятый (ибо устройства эти у них херового качества), чтобы с этих денег пратили зарплаты водителям и т. п...
PereslavlFoto
07.11.2023 09:16С этих денег платят зарплаты водителям и кондукторам, механикам и уборщикам. С этих денег покупается новый транспорт и ремонтируется существующий. Если вам нужен общественный транспорт - заплатите за него.
Вводные условия. В городе работает общественный транспорт. Его обеспечивает автобусная компания. Каждый год в январе проходит конкурс, на котором побеждает новая компания, не та, которая работала год назад. Все эти компании иногородние, даже из других областей, и все работают со своими автобусами. В каждый следующий год автобусы хуже, чем в предыдущий.
Вопрос. Как правильно платить за проезд, чтобы в следующем году другая компания, которая победит на следующем конкурсе, купила новые автобусы?
Спасибо.
VADemon
07.11.2023 09:16Хотя взлом транспортных карт незаконен, на этот раз транспортное агентство не стало подавать в суд.
Огласите весь список, пожалуйста, причастных к составлению обращения в MBTA. На пустом месте они бы не стали собирать демо-стенд.
GeorgeTudosi
07.11.2023 09:16+33Я помню, вероятно, самый изящный взлом «транспортных карт» из 1990-х при помощи скотча. Нет-нет, никакого насилия над работниками транспорта не было.
Когда в московском метро появились карты с магнитной полосой, быстро стало известно, что на них в открытом виде записано количество оставшихся поездок. Вероятно, для повышения надежности оно было записано дважды — на первую половину длины полосы и на вторую.
Если данные не читались с первой половины полосы, считыватель брал их со второй. Затем новое значение записывалось на обе половины, но без последующего проверочного чтения.
Что делали
ушлыебедные студенты?Покупалась карточка на 10 поездок. Аккуратно заклеивалась первая половина магнитной полосы. Турникет читал данные со второй половины и туда же записывал, поскольку с первой половиной он ничего не мог сделать физически. Так студент ездил 10 раз. Поездки заканчивались.
Скотч отклеивался, турникет радостно читал 10 с первой половины и тут же записывал 9 сразу на первую и на вторую половину. Это еще одна поездка.
Снова заклеивалась первая половина, и студент ездил еще 9 раз.
Операции повторялись до полного исчерпания запаса поездок в количестве
10+1+9+1+8+1+7+1+6+1+5+1+4+1+3+1+2+1+1+1=65 штук.
Потом фишку просекли, и алгоритм записи изменили. В новом стандарте данные были перемешаны по всей длине полосы, так что просто заклеить кусок стало невозможно.
SergioT4
07.11.2023 09:16+3В некоторых системах с магнитной полосой было ещё проще, там уровень сигнала достаточен чтобы разрезав её повдоль, получить нормальный уровень считывания. А при пополнении баланса на карте, тебе выдавалась новая карта. т.е. алгоритм - покупаем карту за 100 руб, разрезаем её - на каждую кладем ещё по 20 рублей, получившиеся две карты опять разрезаем - опять кладём по 20 руб. и т.д.
Самый смак получается, когда можно было остаток с этих карт снять кэшем, тут открывается простор для воображения.
Ни к конечно девайс для чтения/записи магнитных карт стоил порядка $20, так что тем кому это надо, этим занимались на другом уровне.
ice938
07.11.2023 09:16В Питере магнитные проездные метро были с полосой по центру, чтобы можно было вставлять их любой стороной. Данные справа и слева дублировались, только отличались направлением записи.
Такую карту можно было разрезать вдоль, приклеить половинку от другой, использованной карты, предварительно размагнитив ее, и удвоить количество поездок. Из неудобств - надо было помнить, какой стороной вставлять карту в валидатор и карта все время норовила сложиться по разрезу и/или отвалиться от скотча.
Потом нашелся способ элегантней - поверх магнитной полосы карты наклеивался размагниченный кусок пленки от видеокассеты, использовалась одна поездка, и пленка переклеивалась на календарик/визитку подходящего размера
Zara6502
07.11.2023 09:16+8В Новосибирском метро если на карте не хватило денег, то пытаются списать позже в этот же день, если не получилось, то карта уходит в бан. Никакой информации об этом у вас нет, поэтому утром вполне вероятно вы будете с картой на руках, которую вы пополнили вечером, но которая в бане и не обслуживается. На станции этот вопрос не решаем в принципе, даже если вам повезло и касса открыта. Касса к этим картам типа отношения не имеет и отправляют разбираться по адресу в городе, адрес этот работает условно с 10 до 17, по выходным отдыхают, то есть работающий человек туда никогда не попадёт. Они потом запилили сайт, где можно был снять бан повторив оплату, но даже если вы сняли бан, то это не гарантирует что конкретный турникет будет в курсе. За 8 лет я сменил 6-10 карт, благо банки их буквально раздают. На многих станциях не работает NFC с телефоном, поэтому хоть и пользуюсь NFC но вожу ещё и карту. Казалось бы - оформи транспортную карту, но нет, проблемы с баном у неё такие же, как и проблемы с разбаниванием.
konst90
07.11.2023 09:16В Самаре такая же система. И я как-то влип в то, что при оплате через Google Pay что-то не прошло (на балансе деньги были, совершенно точно), и на следующий день эта карта оказалась заблокированной.
Решилась проблема тем, что я удалил карту из Google Pay и привязал заново - у неё обновился виртуальный номер, и в блек-листе нового номера естественно не было.
Так что теоретически можно вообще ездить бесплатно - привязал новую карту, "оплатил" нулевым балансом, на следующий день отвязал и привязал заново.
mixaip
07.11.2023 09:16Так и делают, это очень популярная тема во всяких tg-каналах по скаму. 100 виртуалок выпускаешь, по одной на поездку или на день. Только неудобно же капец, задолбаешься их привязывать.
Zara6502
07.11.2023 09:16формально карты же на определенного человека выпущены, можно и взыскать через суд, если это носит массовый характер, за 1-2 поездки никто конечно бегать не станет.
kkuznetzov
07.11.2023 09:16+3Опять кто то использует Mifare Classic, опять нет нормальной криптографии и опять нет списков карт. И ожидаемый взлом.
uhf
07.11.2023 09:16+4при реализации системы оплаты поездок не следует хранить деньги на карте
Некомпетентная рекомендация на самом деле. Я понимаю, что безопасность, но эти хакеры ездили на автобусе в час пик с двумя баулами в руках, по пригородному маршруту с неустойчивым 4G покрытием?
Я пользовался подобными транспортными картами, оффлайн считыватели списывают оплату мгновенно, даже радует, что хоть что-то электронное не лагает в нашем XXI веке.
andreishe
07.11.2023 09:16А зачем в современном мире вообще какие-то транспортные карты? Приложил бесконтактную банковскую карту к обычному терминалу и проходи. Проблема офлайновых платежей для них, надо полагать, уже решена, ничего не надо изобретать.
Porohovnik
07.11.2023 09:16+1В московском метро и подмосковном транспорте так и есть. Но нюанс в том, что по карточке дешевле где-то в 1,5-3 раза
konst90
07.11.2023 09:16+3У банковских карт есть комиссия за транзакцию, а свои транспортные карты работают "бесплатно".
Кроме того, на транспортной карте можно реализовать льготный проезд (для всяких пенсионеров и студентов), проездные на определенный срок без ограничения числа поездок и тарифные зоны.
andreishe
07.11.2023 09:16Покупка и пополнение транспортных карт наверняка будет происходить с тех же банковских карт с теми же комиссиями. Для всего остального не вижу принципиальных отличий транспортной карты от банковской: все, что можно привязать к транспортной карте можно привязать и к банковской.
В Эдинбурге, например, в автобусах платишь картой бесконтактно. Причем, есть дневные/недельные (может месячные) лимиты: если в день/неделю накатываешь больше, чем на x денег, снимают только x. Причем дневные лимиты очень "демократичные", выбираются буквально за 3-4 поездки.
123150
07.11.2023 09:16Покупка и пополнение транспортных карт наверняка будет происходить с тех же банковских карт с теми же комиссиями
Даже без учета тех, кто будет пополнять транспортные карты за наличные, у многих систем комиссия считается по принципу "фиксированная сумма + процент от транзакции", поэтому одно большое пополнение для перевозчика получается выгоднее, чем несколько маленьких
Поэтому же при оплате непосредственно картой часто практикуются оффлайн-транзакции со списанием наезженной суммы раз в несколько дней
geher
07.11.2023 09:16Кроме того, на транспортной карте можно реализовать льготный проезд (для
всяких пенсионеров и студентов), проездные на определенный срок без
ограничения числа поездок и тарифные зоны.В некоторых регионах это проделали с обычными банковскими картами. Берешь любую карту "МИР", регистрируешь на специальном сайте или в МФЦ, если надо, предъявив документы на предмет прав на льготы, пополняешь и пользуешься как транспортной. При этом той же картой можно в магазинах платить (в том числе с учетом льготных скидок). Именуется это безобразие "Карта жителя <наименование города/региона>". В некоторых регионах под это дело банки даже карты специального дизайна делают.
PereslavlFoto
07.11.2023 09:16Именуется это безобразие "Карта жителя <наименование города/региона>". В некоторых регионах под это дело банки даже карты специального дизайна делают.
Вот это самое в журнале «Огонёк» в 1988 году очень ругали, называя «талонами для местных».
S-Dzucev
07.11.2023 09:16+1Мне кажется, с точки зрения безопасности, не очень хорошая идея платить банковской картой на турникете, карты обычно лежат в кошельке и вытаскивать его каждый раз(особенно в пик) это повышать шанс его потерять. С телефоном еще хуже, рано или поздно он у вас обязательно грохнется на пол.
Я всегда пользуюсь классической Тройкой(Москва), это безопасно и не жалко потерять.konst90
07.11.2023 09:16Транспортная карта обычно тоже лежит в кошельке. Странно, имея кошелек, носить карту за его пределами.
GeorgeTudosi
07.11.2023 09:16У меня когда-то была куртка с карманом для скипасса в рукаве. Поскольку я ненавижу зимние виды спорта, в карман клал транспортную карту — и полгода про нее не вспоминал даже, всегда с собой и наготове.
С точки зрения безопасности, конечно, так себе решение, но в те времена про сканеры карт никто еще даже не слышал. А потом куртка сносилась.
geher
07.11.2023 09:16Можно сделать отдельную банковскую карту для оплаты транспорта.
В некоторых банках можно дополнительную дебетовую карту с отдельным счетом без комиссии получить.
kraidiky
07.11.2023 09:16+1В далёком 2015-ом году ездил а МИФИ на конференцию. В автобусе рядом с институтом видел то, что не встречалось больше ни в какой части города - живого контроллера. Автобусникам пришлось на это пойти, потому что среди МИФИ-шников уже тогда взлом транспортных карт был массовым развлечением.
ProSMD
07.11.2023 09:16ЛОЛ, вот просто МЕГАЛОЛ.
Театр безопасности в наихудшем виде - организация контроля кратно превышает ущерб от клонирования карт, оцененный пессимистично.
Kragius
Mifare Classic не ломал только ленивый, сейчас это действительно уровень школьников. Хотя мне пришлось разрабатывать проездные на их базе, и могу с гордостью сказать что наш вариант школьники бы не взломали ???? достаточно добавить шифрование каким нибуть aes-256 данных в блоке - и удачи это ломануть. Максимум можно сделать клон карты, но это лечится блеклистами и их периодическими обновлениями.
Просто у Бостона старая, слабо поддерживаемая система и минимальные риски настоящего взлома, на котором можно потерять деньги. Если бы ребята сделали бы и распространяли аппликуху для бесплатного прохода, или же продавали бы свои карты - тогда финал истории был бы совсем другой...
P.S. И платите за проезд. С этих денег платят зарплаты водителям и кондукторам, механикам и уборщикам. С этих денег покупается новый транспорт и ремонтируется существующий. Если вам нужен общественный транспорт - заплатите за него.