Создание «фальшивой» чип-карты
Что такое чип-карта и ее применение для санкционированного доступа к информации
Чип-карта – это пластина из полимерного материала размерами 85×54 мм и толщиной 0,76 мм, с расположенными внутри ее микропроцессором, памятью, и с контактной площадкой, служащей для «общения» карты с терминалом. Чип-карты (в дальнейшем просто карта) используются во многих областях: в банковской сфере, для оплаты разговоров с телефонов-автоматов, для просмотра кодированных каналов с помощью абонентских приемников, в сотовых телефонах (там используется меньшая по размерам карта, названная SIM-картой). Упрощенно принцип работы карты можно описать так: в памяти карты хранятся некие секретные ключи, и терминал, желая проверить, имеет ли пользователь право доступа, посылает на карту запрос, который обрабатывает микропроцессор карты, выдавая нужный ключ. В случае спутникового терминала, этим ключем производится расшифровка цифрового телевизионного сигнала, так что никакие переделки в самом приемнике не помогут «на халяву» смотреть зашифрованные программы – нужно знать ключи и алгоритм обмена ключами между картой и спутниковым приемником. Пример французской телекарты: Первоначально контактные площадки карт выполнялись по стандарту AFNOR (контактная площадка была сдвинута к верхнему краю карты), затем был принят стандарт ISO 7816–2 и все совремменые карты выполняются по этому стандарту (как раз такая и показана на рисунке выше). Назначение выводов контактной площадки стандарта ISO 7816:
Вообще существуют три разновидности стандарта ISO 7816: ISO 7816–1 определяет физические характеристики карт ISO 7816–2 задает размеры и расположение контактов ISO 7816–3 стандартизирует сигналы и протоколы связи. Карты бывают синхронные и асинхронные. Телефонные карты обычно синхронные, они менее защищены (зачастую там даже нет процессора – только память). В системах шифрования телевизионных сигналов используются асинхронные карты. Любая асинхронная карта согласно стандарту ISO 7816–3 должна выдавать особое сообщение длинной не более чем в 33 байт сразу после посылки комманды Reset. Этот ответ называется ATR (answer to reset) и служит своеобразной «личной» подписью карты (его можно видеть в некоторых программах для работы с картами, но об этом позднее). Самый первый байт имеет особое значение, и должен быть равен 3Fh или 3Bh. Если карта в выдает другое значение – значит это нестандартная либо синхронная, либо дефектная карта. Обмен данными с картой происходит в полудуплексном режиме с помощью контакта номер 7 (I/O). Для посылки и приема команд с помощью компьютера на карту используется так называемый connector. Обычно в качестве connector'а используется Smartmouse или Phoenix ‑интерфейс, который подсоединяется к последовательному (COM) порту компьютера. (Отмечу широко распространенное заблуждение о том, что Smartmouse/Phoenix является программатором. Это не программаторы! Ими нельзя ничего запрограммировать!) Создание «фальшивой» чип-карты
«Фальшивую» чип-карту, которая действует так же или почти так же, как и настоящая можно создать, используя микрочипы семейства PIC (обычно используется PIC16F84) компании Microchip, а так же ATMEL AT90S8515 компании Atmel. Чип Atmel гораздо мощнее, чем PIC16F84, однако пиратские карты на его основе (получившие название FunCard) пока еще менее распространены. В этом разделе мы рассмотрим создание карты на микросхеме PIC16F84.
Краткая характеристика PIC16F84: Законченный 10 Mhz CMOS микроконтроллер; 1 К энергонезависимой памяти для программ (по 14 бит); 64 байт энергонезависимой памяти данных; 36 регистров общего назначения; возможность программирования последовательным способом (по любому проводу данных); сверхнизкое энергопотребление – 2V – 5V; возможность подключения дополнительной EEPROM; стоимость меньше 2.5 USD
Подробнее о чипе 16C84 (у 16F84 с ним много общего) можно прочитать здесь (на русском языке): 16c84.zip. Так как в чипе PIC16F84 очень мало энергонезависимой памяти, в современных пиратских картах для хранения данных дополнительно используют отдельный чип памяти: EEPROM 24C16, емкостью 16 килобит или 2 килобайта (2048x8). Стоит 24C16 недорого (~0.5 USD).
Обмен данными с чипом памяти происходит по протоколу I2C, который состоит из двух линий (не считая общего провода Vss и питания Vcc): SCL (синхронизация) и SDA (данные). Протокол I2C поддерживает адресацию устройств, что позволяет подсоединять к шине несколько устройств разного типа. Более подробно о микросхеме 24C16 и о протоколе I2C можно прочитать в этом файле: x24c16.pdf или здесь (на русском языке): I2C.html. Карточки Итак, для просмотра кодированных каналов в кодировке SECA/Mediaguard или IRDETO нужна карточка, содержащая микрочип PIC16F84 и энергонезависимую память EEPROM 24C16 (эти карточки называют двухчиповыми, в отличие от одночиповых, содержащих только PIC). Внешний вид такой карточки представлен на рисунке. PIC16F84 EEPROM 24C16 В микросхему PIC программатором зашивается микропрограмма, а в EEPROM коды для раскодировки каналов и другая служебная информация. PIC можно прошивать через контактную площадку карточки, а EEPROM для перепрошивки нужно выпаивать из карточки или воспользоваться Smartmouse/Phoenix‑интерфейсом. Т.к. коды приходится менять довольно часто, то удобнее сделать карточку с панельками (в народе их называют «кроватки»), чтобы было легко вынимать микросхему перед перепрошивкой:
Электрическая схема карточки проста:
Печатную схему двухчиповой карточки (для микросхем с формат-фактором корпуса DIP) от Solo можно взять здесь: SoloPicCard.rar. Если же у вас микросхемы в корпусе для поверхностного монтажа (SMD), схему можно взять отсюда smd-piccard.html.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|