Alien2001 писал(а):При этом в Москве уже давным-давно можно активировать "Тройку" через смартфон с NFC.
Меня гораздо больше раздражает, что в отличии от "Тройки", для Подорожника вообще нет никаких официальных приложений, которые позволили бы его банально считать.
Раньше я думал, что на каждой карте хранится только её уникальный ID, а при валидации происходит обращение к базе данных. Но так как иногда он срабатывает даже там, где подключения не может быть в принципе (под землёй, например), то значит, какие-то данные о текущем балансе на нём хранятся, для возможности оффлайн-оплаты.
Но кажется, что они там зашифрованы, причём асимметрично (то есть для считывания и для записи нужны разные ключи шифрования). Это просто уровень "минимум" в современном мире.
Так вопрос: почему бы не дать пассажирам возможность хотя бы просто посмотреть на текущий баланс при помощи телефона.
Вроде, в какой-то момент появлялось неофициальное приложение, которое так делало, но его быстро удалили. Дело было давно, так что уже и не вспомнить.
Даже без возможности записи, чтение Подорожника может быть полезно просто чтобы определиться, готовить ли заранее наличку, или посмотреть, не провалидировали ли тебе его дважды (что раньше встречалось в маршрутках, сейчас уже не знаю как с этим дела обстоят).
К тому же, идут разговоры про транспорт без кондукторов. Это когда все сами оплачивают проезд, а потом, если зайдут контролёры, должны будут предъявить билет.
А что если валидатор на поручне показал сначала зелёную стрелочку и жёлтый кружок (оплата прошла), а потом у контролёра выясняется, что, дескать, не прошла на самом деле? Так хотя бы можно будет приложить Подорожник к телефону и убедиться: да, всё верно. Или наоборот, сказать водителю, что валидаторы не работают и как-нибудь это зафиксировать.
Ну а в идеале ещё и какая-никакая, но запись нужна. Для этого необязательно ключ шифрования отправлять на устройство. Можно как у ОктЖД: сначала с Подорожника считывается ID, отправляется на сервер, на сервере генерируется "прошивка" для микросхемы (покрывается ключом шифрования на стороне сервера), отправляется на телефон, и телефон по NFC её записывает. ID микросхемы поменять невозможно, он обычно выставляется при производстве.
А дальше, собственно, валидатор будет сверять реальный ID чипа с тем ID, который был записан дополнительно в данные.
Это позволит избежать чисто гипотетического варианта "а давайте заплатим один раз и запишем эту информацию на десять Подорожников", потому что у каждого Подорожника будет свой ID.
Защиту от многократной перезаписи Подорожника одной прошивкой, где будет баланс, скажем, 100 рублей, тоже реализовать достаточно просто (сейчас же всякие блокчейны популярны и всё такое). Пусть валидаторы при каждой оплате записывают зашифрованный номер предыдущей транзакции. Ну и проверяют его при считывании. Вот и всё.
Технических проблем для реализации здесь вообще нет.
Да, приложение будет работать не на всех смартфонах (нужен NFC, плюс он должен уметь работать с конкретными микросхемами в Подорожнике, я не знаю, что там используется). Но сама возможность будет.