TI лучше сразу оторвать и выбросить. CC2541, например — то еще удовольствие. Код ужасный, просто жесть какая-то… 2640 я после этого даже смотреть не хочу. Но у 2541 есть хорошая цена по BOM, так что наверняка найдутся мазохисты, которые захотят ее использовать.
На сегодня оптимальным (исходя из своего большого опыта работы с BLE и всем, что около него) я считаю поделки Nordic (nRF51822, nRF52832 и иже с ними). Там прекрасно все: и чип сам по себе классный, технологически все круто, и код суперский и доки отличные. А еще и коммьюнити для разработчиков очень хорошее. Приятно работать, в общем.
А никто не заморачивался вопросом поднятия фрейм-рейта? У Lepton или у Seek? Насколько мне известно (возможно, моя информация уже устарела), лептон высокоинтегрированный изначально и с ним сложно (разве что, какая-нибудь недокументированная команда или перемычка). А вот сенсор Seek, вроде бы, достаточно туп, и ограничение вводит МК, который опрашивает матрицу. Может кто-нибудь пролить свет на эту тайну, покрытую мраком?
Утилиты и подробности Crypto1 в свободном доступе, например:
https://github.com/nfc-tools/mfoc
https://github.com/nfc-tools/mfcuk
+ можно посмотреть репы проксмарка на предмет издохников утилит mfkey32 и mfkey64.
Купить без регистрации и СМС:
https://www.kickstarter.com/projects/1980078555/chameleonmini-a-versatile-nfc-card-emulator-and-mo
http://hydrabus.com/buy-online/
https://store.ryscc.com/products/elechouse-proxmark3
+ еще у китов на ебэе периодически бывает проксмарк недорого.
(не знаю, правда, можно ли публиковать ссылки)
Я знаю как минимум одного школьника, который при наличии просто относительно непустой головы, относительно прямых рук, целеустремленности и желания все это делает. Вы недооцениваете современную школоту :)
Давайте не будем кривить душой. Тройка — Mifare Plus. Она уже, как слон, «есть быть куплена». И бизнесу в этой плоскости доказывать ничего не надо. В SL3/SL2 никакой проблемы проксировать обмен с картой в приложении для смартфона нет, сделав систему очень устойчивой (я намеренно избегаю «абсолютно безопасной», так как разные косяки могут быть всегда). И бизнесу тоже это доказывать не надо — это работа небольшой пряморукой команде разработчиков на примерно столько же часов, может чуть поболее. То есть, для бизнеса это все стоит ничуть не сильно дороже в итоге.
Следовательно, вывода всего два: а) криворукие разработчики, которые не умеют и не хотят; б) более глубинные проблемы (обратной совместимости).
Я думаю, в данном случае и то, и то. Как минимум потому, что можно было начать с SL2 где можно пользоваться AES, а где _пока еще_ нельзя, из-за проблем с обратной совместимостью, пользоваться crypto1 по старому. Подготовить почву и нормально постепенно обновлять старье, через некоторое время полностью выведя его из строя и перещелкнув все в SL3 полностью, вообще незаметно для юзера.
Потому, что это нельзя сделать так легко и просто. И еще, практически ни одна /официальная/ реализация не даст подставить свой уид, такой, какой нужен. А на уид все завязано.
Насчет «железа» (как комбинации собственно железа и его эмбеддед софта), вы видимо, не знаете всей печали и глубины. Описанная проблема, может быть и не в железе (и то явно, а не косвенно). Но существует и масса других проблем, гораздо более печальных.
1. Ключи всегда утекали через известные (и неизвестные) фундаментальные уязвимости закрытой технологии шифрования Crypto1, которая издревле использовалась в Mifare Classic. От активного и пассивного мониторинга эфира до оффлайн атак на карты и атак на ридеры. Также, ключи утекали через реверс-инжиниринг железа метро, МГТ и их софта.
2. По технологии, есть два ключа, роли которых можно выбирать. Но в нашем случае, да — один «на чтение», один «на запись». Так повелось.
3. Нулевого блока. Нулевой блок на всех Classic (и совместимых) картах — некая «заводская зона», которая по уму на заводе пишется один раз, содержит в себе в том числе относительно уникальный серийный номер карты и не подлежит перезаписи. Сериный номер используется в том числе для организации защиты (от клонирования, например). В некоторых специальных китайских картах сделано так, что нулевой блок возможно перезаписывать.
4. Да, возможно. Это один из методов «доставания» ключей, в том числе и из «пофиксенных» новых Plus в режиме совместимости, так как некоторые базовые косяки Crypto1 устранить уже не выйдет, грубо говоря.
Цель и мошенничество еще надо доказать, особенно когда автор выкладывает в свет свои эксперименты (то есть, фактически, обкладывается говном загодя, чтобы на сраной козе было подъехать труднее, что правильно). Но с другой стороны, у нас ведь как — был бы человек…
Нет. Чтобы «умник не хакнул» нужно просто делать нормально, вы уж меня извините. Используется карта Plus, но не используются все ее возможности (и я даже не хочу вступать в спор почему). Существует асимметричная криптография, которую можно запускать с очень хорошим результатом по времени даже на мелких современных ARM-МК… Я недавно участвовал в разработке одной городской транспортной системы (не в России), делал железо с нуля (защищенный ридер, грубо говоря) и имею представление, как все можно организовать безопасно и без потери удобства.
То, что происходит у нас — куча Legacy (от которого тяжело избавиться, потому, что изначально все через жопу было сделано), наплевательское отношение «на авось и так сойдет» и отличные продажи этого всего за классные конкурентные цены. Ну вот так, увы.
На сегодня оптимальным (исходя из своего большого опыта работы с BLE и всем, что около него) я считаю поделки Nordic (nRF51822, nRF52832 и иже с ними). Там прекрасно все: и чип сам по себе классный, технологически все круто, и код суперский и доки отличные. А еще и коммьюнити для разработчиков очень хорошее. Приятно работать, в общем.
Но вот по теме, в сухом остатке имеем то, что имеем.
https://github.com/aczid/crypto1_bs
https://github.com/nfc-tools/mfoc
https://github.com/nfc-tools/mfcuk
+ можно посмотреть репы проксмарка на предмет издохников утилит mfkey32 и mfkey64.
Купить без регистрации и СМС:
https://www.kickstarter.com/projects/1980078555/chameleonmini-a-versatile-nfc-card-emulator-and-mo
http://hydrabus.com/buy-online/
https://store.ryscc.com/products/elechouse-proxmark3
+ еще у китов на ебэе периодически бывает проксмарк недорого.
(не знаю, правда, можно ли публиковать ссылки)
Я знаю как минимум одного школьника, который при наличии просто относительно непустой головы, относительно прямых рук, целеустремленности и желания все это делает. Вы недооцениваете современную школоту :)
P.S. Я пока еще не нарушил подписанное NDA ;)
Следовательно, вывода всего два: а) криворукие разработчики, которые не умеют и не хотят; б) более глубинные проблемы (обратной совместимости).
Я думаю, в данном случае и то, и то. Как минимум потому, что можно было начать с SL2 где можно пользоваться AES, а где _пока еще_ нельзя, из-за проблем с обратной совместимостью, пользоваться crypto1 по старому. Подготовить почву и нормально постепенно обновлять старье, через некоторое время полностью выведя его из строя и перещелкнув все в SL3 полностью, вообще незаметно для юзера.
2. По технологии, есть два ключа, роли которых можно выбирать. Но в нашем случае, да — один «на чтение», один «на запись». Так повелось.
3. Нулевого блока. Нулевой блок на всех Classic (и совместимых) картах — некая «заводская зона», которая по уму на заводе пишется один раз, содержит в себе в том числе относительно уникальный серийный номер карты и не подлежит перезаписи. Сериный номер используется в том числе для организации защиты (от клонирования, например). В некоторых специальных китайских картах сделано так, что нулевой блок возможно перезаписывать.
4. Да, возможно. Это один из методов «доставания» ключей, в том числе и из «пофиксенных» новых Plus в режиме совместимости, так как некоторые базовые косяки Crypto1 устранить уже не выйдет, грубо говоря.
Хотя, возможно.
То, что происходит у нас — куча Legacy (от которого тяжело избавиться, потому, что изначально все через жопу было сделано), наплевательское отношение «на авось и так сойдет» и отличные продажи этого всего за классные конкурентные цены. Ну вот так, увы.