|
От
|
Иван
|
|
К
|
Александр Н.
|
|
Дата
|
04.01.2001 00:48:37
|
|
Рубрики
|
Прочее;
|
Re (7): Спасибо Л.Тихонову за ссылку и я об этой карте говорил. Читайте...
Моменты, на которые хотелось бы обратить внимание, выделены жирным Описание транспортной карты http://www.metro.ru/fare/newcard2-1.html Благодаря Артемию Лебедеву и Алексу Пастору в нашем распоряжении появилось описание микросхем, применяемых в Московских метрошных бесконтактных карточках. Я взялся изложить его по-русски, чем и занимаюсь. Итак, речь пойдет о карточках, применяемых в метро, а точнее об интегральных схемах «MIFARE 1 S50». Сами микросхемы никак с метро не связаны и могут применяться для решения любых задач с бесконтактными ключевыми картами. Тем не менее, для простоты и ввиду причин совершенно очевидных я буду ссылаться на них, как на бесконтактные карты метро. Сама карта содержит всего два элемента собственно, микросхему и плоскую обмотку-антенну, используемую как для электропитания карты, так и для связи с хост-системой (турникетом). Наведенное турникетом в антенне напряжение достаточно велико для того, чтобы после выпрямления и стабилизации снабдить карту энергией, необходимой для обработки информации и посылки обратного сигнала. Работает радиосвязь на частоте 13.56 МГц и скорость связи достигает 106 КБод. При этом карта должна находиться на расстоянии никак не более 10 см от турникета. Как правило, для проведения классических операций с картой достаточно 0.1 секунды за это время можно провести один-два десятка элементарных обменов информацией, таких, как считывание, запись и инкремент блока. Что представляет собой карта с точки зрения программиста? Фактически, это просто один килобайт энергонезависимой памяти. Он делится на 16 секторов по 4 16-байтных блока в каждом. Блок наименьшая адресуемая единица при работе с картой. Сектор единица, с которой сопоставляются отдельные права доступа и ключи для проведения операций. Каждый сектор хранит собственную пару ключей, а права доступа указывают, какой доступ при указании какого ключа возможен. Тонкость в том, что карта сама по себе многофункциональна и может поддерживать до 15 функций. Например, быть электронным кошельком, «билетом» в метро, пропуском в клуб, ключом для домофона и хранителем «пароля» от компьютера. Каждой функции выделяется сектор, в котором хранятся необходимые для нее данные, два персональных ключа и карта прав доступа. Карта определяет, что хост-система может делать с тем или иным блоком, и какой ключ для этого необходим. Например, при использовании карты в качестве электронного кошелька можно позволить снимать деньги с карты с помощью одного ключа, а класть с помощью другого, известного лишь банку. Метро использует только секторы 0 и 15 карты. Нулевой сектор специальный и в его нулевом блоке хранится уникальный идентификатор карты, который используется для того, чтобы отличать ее от других. В 15, по всей видимости, пишется специфическая для метрошной системы информация к примеру, номер месяца для месячного проездного, число поездок для «счетного» проездного и т.п. Итак, как же все это работает. Вы подходите к турникету и подносите карту к датчику. Передающая система датчика наводит в антенне карты электрический ток, который поступает в карту и снабжает ее энергией. Этот же ток несет в себе кодированную информацию запроса турникета к карте. Карта отвечает на него (через ту же антенну, используя накопленную энергию) идентификатором, который определяет протокол дальнейшего общения. По идентификатору турникет узнает тип карты и «разговаривает» с ней соответственно типу. Далее идет считывание серийного номера карты. Если в этот момент в поле радиосистемы турникета оказалось более одной карты, происходит коллизия и считывание повторяется до тех пор, пока не будут чисто и без всяких коллизий считаны номера всех находящихся в пределах доступности карт. В частности, если в вашем кошельке две карты и лишь одна из них метрошная, турникет сможет включить лишь ее и попросить остальные карты пока «помолчать». Общение будет происходить с конкретно этой картой. Затем происходит выбор сектора карты, с которым турникет (или иное устройство для работы с бесконтактными картами) хочет обменяться информацией. Для данного сектора производится обмен шифровками, призванный убедить турникет и карту в том, что они действительно те, за кого себя выдают. При этом используется способ «я тут дам тебе числецо, а ты его зашифруй, и ответ пришли мне. А я погляжу, так ли ты зашифровал, как положено». Эта проверка выполняется с обеих сторон, после чего все уже уверены в том, что они это они. Включается шифорвание канала и турникет может, в соответствии с разрешенным ему его ключом доступом читать и модифицировать данные в карте. Следует отметить, что карта, обладая уникальным неподделывабельным серийным номером уже на этом уровне является многофункциаональным ключом. Ведь для того, чтобы считать серийный номер карты не нужно знать никаких паролей! А значит, прописав номера «разрешенных» карт в замок можно сделать систему доступа на базе этих карт, попросту присоседившись к метро. Пастор сообщил нам, присылая документы, что по его информации на базе этих карт уже разработан замок для домофона и система доступа к компьютеру. Так что на продвинутости московского метро уже можно делать деньги косвенным путем. :-) Ссылка: http://www.metro.ru/fare/newcard2-1.html