Ох, ребята, смотрю затронула вас тема таксофонных карт за живое место. Да и не лишь вас, меня тоже. Вышло две большие статьи на эту тему, а отзывов хватило бы на “Войну и мир”. Подумал я тут, подумал и решил выдать вам цикл статей, конечной целью которого будет создание общими усилиями эмулятора таксофонной карты. Прошу всех желающих присоединяться ко мне. Вся информация, которая будет изложена в данном цикле, является как собственной, так и творческой переработкой других источников. Так что не плюйтесь и не кричите, что этим дерьмом заполнен весь И-нет. Заполнен то он заполнен, но вот систематизировать эту информацию никто не берется и плюс ко всем большинство инфы устарело и к делу не относится. Потому в данном цикле статей будет разбираться пошаговое изготовление эмулятора таксофонной карты на основе лишь самой свежей и проверенной инфы, что будет весьма полезным для начинающих “умельцев”. Но информация будет подаваться малыми порциями, чтобы можно было проверять ее актуальность. Так что статьи будут небольшие, но содержательные. Итак, приступим.
Шаг первый. Что представляет собой таксофонная карта и какие они бывают.
Первые смарт-карты (карты основанные на чипах) появились в середине 80-х годов и буквально моментом вытеснили магнитные карты и карты на аналоговых элементах в области телекоммуникаций. Новое поколение карт обеспечивало и обеспечивает (к сожалению 🙁 ) более высокую степень защиты и устойчивости к различного рода взломам.
Основное применение смарт-карты нашли в области общественной телефонии, и специальные таксофоны заменили привычные всем автоматы с монетками. До нас этот процесс докатился где-то к середине 90-х годов, ну а бум таксофонных карт приходится на нынешний момент. Ну а поскольку есть бум, то есть и монополия телефонных компаний, что нам, хакерам, ессесно, весьма не по вкусу. Потому, и начали люди выдумать способы обмануть эту плоскую вещицу, весом в несколько граммов, но содержащей в себе слишь халявы, что и представить трудно. Мыслимое ли дело, иметь девайс, при помощи которого можно звонить кенту в Штаты или в Бундес, общаться с ним часами и не платить за это ни копейки. Нравится такая перспектива? Мне тоже, поэтому давайте попробуем общими усилиями создать такой девайс и утереть всем нос.
Таксофонная карта представляет собой пластиковую карточку со встроенным чипом (рис.1). Чип представляет собой комбинированную микросхему памяти, которая содержит как область для записи данных, так и область лишь для чтения. (обычно область read-only содержит некоторые данные о типе карты, ее производителе и кое-что еще). Эта микросхема не что иное как EPROM — чип (ПЗУ программируемое постоянным напряжением) на основе NMOS или CMOS технологии и объемом 256 или 128 бит. Другие технические характеристики приведены ниже:
-
- протокол обмена данными: синхронный;
- потребляемая мощность: 85 мВт в режиме чтения, 125 мВт в режиме записи (NMOS — технология, господа!);
- напряжение программирования: 21 В;
- время доступа: 500 нс;
- рабочий диапазон температур: -100…+170 0С.
Насколько я знаю, все современные смарт-карты основаны на стандарте ISO-7816, описывающем микросхемы синхронного обмена данными для таксофонных карт.
Но почему же мы не можем перезаписывать эти карты, если это ПЗУ, которое как мы знаем стирается либо ультрафиолетом, либо постоянным напряжением, и перезаписывается при помощи специальных девайсов, называемых программаторами? Ну стереть-то карту УФ-лучами мы сможем, предварительно аккуратно вырезав чип из карты, но вместе с информацией о том, сколько у нас единиц на карте, мы сотрем и служебную информацию. А вот эта служебная информация и находится как раз-таки в той read only области, которая закрывается путем пережигания специального предохранителя, встроенного в чип, и делается это производителем карты. Вот это и есть основная степень защиты. Т.е., если бы сумели восстановить эту проволочку внутри самого чипа, мы могли бы перепрограммировать карту, но мы не Левши, поэтому вряд ли у кого получится такой фокус.
Потому нам остается лишь один вариант — создать эмулятор таксофонной карты. Чтобы его создать, нам нужно знать служебную информацию записанную в той самой read only области, адресацию сегментов памяти внутри чипа и “разводку” чипа, т.е. назначение его контактов.
На сегодняшний день используются два вида чипов: AFNOR и ISO. Отличаются они лишь расположением контактов. На рисунке 2 показаны типы чипов, используемых в современных смарт-картах, (там же – разводка контактов) так что сверяясь с рисунком и своей картой, ты можешь определить тип своей карты. Сейчас мной создается БД чипов по внешнему виду, потому что она явно не полная, так что если у кого есть возможность просьба скинуть на мыло изображение чипа.. Упрощенная схематика чипа показана на рисунке 3.
Назначение контактов для старых карт (по стандарту ISO 7816):
1 — Vcc (напряжение питания, 5 В)
2 — R/W (управляющий контакт чтения-записи)
3 — Clock (контакт синхронизации)
4 — Reset (сброс состояния)
5 — Ground (общий вывод)
6 — Vpp (напряжение программирования, 21 В)
7 — I/O (контакт чтения/записи данных)
8 — Fuse (тот самый пережженный предохранитель)
Назначение контактов для новых карт (по стандарту ISO 7816-1):
1 — Vcc (напряжение питания, 5 В)
2 – Reset (сброс состояния)
3 — Clock (контакт синхронизации)
4 — R/W (управляющий контакт чтения-записи)
5 — Ground (общий вывод)
6 — Vpp (напряжение программирования, 21 В)
7 — I/O (контакт чтения/записи данных)
8 — Fuse (тот самый пережженный предохранитель)
Назначение контактов для модифицированных новых карт (по стандарту ISO 7816-2):
1 — Vcc (напряжение питания, 5 В)
2 – Reset (сброс состояния)
3 — Clock (контакт синхронизации)
4 – not connected
5 — Ground (общий вывод)
6 — not connected
7 — I/O (контакт чтения/записи данных)
8 — not connected
** Для этих карт используется одно напряжение 5В как для питания самого чипа, так и в качестве напряжения программирования.
На сегодня все, в следующий раз мы поговорим о стандарте ISO 7816 и о его спецификациях и тем самым определим методику создания эмулятора.
Эта стать по сути своей туфта, т.к. надо было бы сделать описания и схемы всех видов чипов и конечно же софт для этого нужен. Вот к примеру я собрал карточку и она у меня «вечная», т.е. единицы не кончаются и работает она безотказно и вообще без всякого программирования на одной микросхеме к561ИЕ10 — это обычный двоичный 4-хразрядный счетчик. Вот так если кому интересно то мыльте. Я вообще живу в Омске и как данная схема будет работать в другом городе…
С одной стороны надо все-же быть благодарным по отношению к Стефану Бауссону, кусок чьего ФАКа здесь перессказан и хотя-бы упомянуть его имя. С другой стороны все те ляпы, которые в его ФАКе содержались, здесь совершенно бездумно продублированы. Ну не знал он как называется чип SLE4406, протокол которого разобрал. И поэтому обозвал его ISO7816-2. Ну зачем это нелепое наименование повторять ещё и ещё раз. И вообще Бауссон под аббревиатурами ISO7816-1 и ISO7816-2 понимал что-то свое, к стандарту ISO7816 имеющее мало отношения. Что за мифические чипы ISO и AFNOR ? Почему обьем чипов лишь 128 и 256 бита ? А наиболее распространенные в России чипы SLE4436 и отечественный Т192 (192-битный) даже не упомянуты ! Для того, чтобы писать о чем-то недостаточно изучить весь тот хлам, что об этом предмете валяется в Инете. Инет это отстойник информации, а не источник ее. Надо сначала досконально изучить предмет, потрогать его ручками, тестером и осциллографом, а не заниматься пересказом где-то прочитанного.
Спасибо тем, кто откликнуля на вопрос об промышленном аналоге. Чип Siemens SLE 4432, действительно существует. На сайте сименса можно скачать прекрасное описание любого чипа из этого семейства. Только аналог уж очень промышленный :-), в свободной продаже его нет, наверняка можно купить партию 1000 шт., но нафиг стока :-). Un4GiveN, если знаешь серию нормального чипа (типа микросхема), тот оказался готовой телефонной картой :-), то пожалуйста скажи буду признателен. И jlmax, кинь плз ссылку (если она есть) на описание чипа от томсона, а то на их сайте ни черта не найти :-(.
Предлагаю оригинальный метод: кладешь карту между двумя магнитами повернутых дуг к другу одинаковыми полюсами и так что бы чип был зажат между центрами магнитов и водишь одним из магнитов над чипом, так что бы расстояние от поверхности карты былo ~1мм, в течении 5-6 минут. Если руки не из задницы растут, то карта перезарядится.