November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Tuesday, September 11th, 2012 10:27 am

Захожу сегодня в автобус, прикладываю к считывателю бумажник, где у меня бесконтактный проездной билет лежит, а считыватель пищит нехорошим голосом и говорит, что “Too many cards found”.

Вскрытие показало, что помимо проездного он обнаружил эту самую contactless visa debit. Для оплаты проезда она, понятное дело, не подошла, но на запрос считывателя отозвалась и помешала транзакции с проездным билетом. Теперь придётся каждый раз вынимать его из бумажника, что несколько неудобно..

Оригинал этой записи в личном блоге.

Wednesday, September 12th, 2012 10:18 am (UTC)
А как такие коллизии резолвятся? Как в ethernet (CSMA/CD) или чего похитрее изобрели?
Wednesday, September 12th, 2012 10:35 am (UTC)
У каждой карты есть UID, от 4 до 10 байтов (4, 7 или 10).
И там, когда несколько карт отзываются на инициализацию ридером поля и подачу команды просыпания ридер может бинарным поиском по битам UID'а найти и пробудить только одну карту из всех, а остальным велеть заткнуться. К концу поиска у него будут все UID'ы в поле в любом случае. Дальше -- включаем карты по одной и смотрим что на них записано. Так как по UID, конечно, не понять, что за карта -- наша, не наша, или вообще пустая.
Wednesday, September 12th, 2012 10:43 am (UTC)
Это и есть обычные смарт-0карты. Но ATR это уже следующий щаг -- Answer To Request. После того как бесконтакту пробудили.
Вот если в ATR у нас коллизия -- то начинается процедура анти-коллизии, когда всех карт просят заткнутся и общаются с ними по одной.
Wednesday, September 12th, 2012 11:02 am (UTC)
Да, да, я перпутал, reset, конечно. Ну вот антиколлизия если ATR'ы столкнулись начинаются.