Чіп карти

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

1. Що таке чіп-карта та її застосування для санкціонованого доступу до інформації
Чіп-картка - це пластина з полімерного матеріалу розмірами 85 × 54 мм і товщиною 0,76 мм, з розташованими усередині її мікропроцесором, пам'яттю, і з контактною площадкою, що служить для «спілкування» карти з терміналом. Чіп-карти (надалі просто карта) використовуються в багатьох галузях: в банківській сфері, для оплати розмов з телефонів-автоматів, для проглядання кодованих каналів за допомогою абонентських приймачів, в стільникових телефонах (там використовується менша за розмірами карта, названа SIM-картою ).
Спрощено принцип роботи карти можна описати так: у пам'яті карти зберігаються якісь секретні ключі, і термінал, бажаючи перевірити, чи має користувач право доступу, посилає на карту запит, який обробляє мікропроцесор карти, видаючи потрібний ключ. У випадку супутникового терміналу, цим ключем проводиться розшифровка цифрового телевізійного сигналу, так що ніякі переробки в самому приймальнику не допоможуть «на халяву» дивитися зашифровані програми - потрібно знати ключі та алгоритм обміну ключами між картою і супутниковим приймачем.
Приклад французької телекарти:
Спочатку контактні майданчики карт виконувалися за стандартом AFNOR (контактна площадка була зрушена до верхнього краю карти), потім був прийнятий стандарт ISO 7816-2 і всі совреммение карти виконуються за цим стандартом (саме така і показана на малюнку вище).
Призначення висновків контактної площадки стандарту ISO 7816:


1 Vcc
Напруга живлення (+5 В)
2 Reset
Сигнал скидання картки
3 Clock
Синхронізація
4 Reserved
5 Gnd.
Загальний
6 Reserved
7 I / O
Лінія послідовного введення / виведення даних
8 Reserved
Взагалі існують три різновиди стандарту 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 є програматором. Це не програматори! Ними не можна нічого запрограмувати!)
2. Створення «фальшивої» чіп-карти
«Фальшиву» чіп-карту, яка діє так само або майже так само, як і справжня можна створити, використовуючи мікрочіпи сімейства 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-інтерфейсом. Оскільки коди доводиться міняти досить часто, то зручніше зробити картку з панельками (в народі їх називають «ліжка»), щоб було легко виймати мікросхему перед перепрошиванням:
Електрична схема картки проста:
Контактна
майданчик
PIC16F84
24C16
5
(Vss)
-
5
(Vss)
-
1,2,3,4,7
(A0, A1, A2, Vss)
1
(Vcc)
-
14
(Vcc)
-
8
(Vcc)
2
(RST)
-
4
(MCLR)
3
(CLK)
-
12, 16
(RB6, CLKIN)
7
(I / O)
-
13
(RB7)
10
(RB4)
-
5
(SDA)
11
(RB5)
-
6
(SCL)
Друковану схему двочіпової картки (для мікросхем з формат-фактором корпусу DIP) від Solo можна взяти тут: SoloPicCard.rar. Якщо ж у вас мікросхеми в корпусі для поверхневого монтажу (SMD), схему можна взяти звідси smd-piccard.html.
3. Збірка програматора типу Ludipipo / JDM
Для програмування чіп-карти потрібен програматор. Одним з найбільш простих у виготовленні є програматор Solo JDM, що є модифікацією традиційного програматора Ludipipo. Його електричну схему можна взяти тут: JDM_Scheme.gif. Цим програматором можна програмувати мікросхеми PIC і EEPROM, просто вставивши їх у відповідні панельки (по черзі, звичайно), а так само PIC, упаяний в карту. EEPROM на карті запрограмувати їм не можна, тому що на контактну площадку карти не виведені контакти Data і Clock від EEPROM'а. Але це аж ніяк не означає, що намертво упаяний в карту мікросхему пам'яті не можна запрограмувати ніяким чином. Для цього існує інтерфейси Smartmouse або Phoenix, про які піде мова в п'ятій частині цієї статті. Повний опис програматора JDM від Solo є в цьому архіві: jdm_prog.rar. Від себе лише додам, що для з'єднання программатора з комп'ютером нуль-модемний кабель не підійде, тим більше, що на програматорі упаюється стандартний 9-контактний RS232 разьем типу «мама». При бажанні, можна обійтися взагалі без кабелю, вставивши плату прграмматора прямо в гніздо COM на задній стінці системного блоку.
4. Програмування чіп-карт
Отже, все дуже просто:
A. Вставляємо мікросхему PIC в панельку програм (при цьому намагаємося вставити її прямо, а не шкереберть), запускаємо програму IC-Prog (її, а так само інші програми, що згадуються в цій статті, можна знайти у мене в розділі софт) .
Спочатку потрібно налаштувати програму, для чого в меню «Settings - Hardware» вибрати тип програматора JDM, і номер COM-порту, до якого він приєднаний. Далі:
1. Вибираємо тип мікросхеми: «PIC 16F84»
2. Завантажуємо файл прошивки
3. Вибираємо Oscillator «XT»
4. Прибираємо галочку CP (Code Protect), якщо ми не хочемо захистити записувану прошивку від зчитування.
5. Натискаємо кнопку програмування. Після того, як пройшов процес програмування, програма автоматично виконає верифікацію (перевірку), що все коректно запісалость. Якщо ви поставили галочку CP, перевірка не пройде, тому що з мікросхеми інформацію вважати буде неможливо.
Якщо при прошивці будуть виникати помилки, спробуйте погратися з настройками. Мені довелося поставити I / O Delay на максимум (меню «Settings - Hardware») для коректного програмування. Для зчитування згодом прошивки з pic'а скористайтеся кнопкою Read All (6).
B. Виймаємо прошиту мікросхему PIC і вставляємо в сусідню панельку мікросхему EEPROM. Вибираємо в налаштуваннях прогамм «24C16» і далі поступаємо аналогічно попередньому пункту. Настройок при прошивці пам'яті навіть менше ніж для PIC. Мікрочіп PIC можна прошивати не виймаючи його з карти. Необхідно просто вставити картку в card-reader програматора і далі слідувати до пункту A.

5. Збірка інтерфейсу Smartmouse / Phoenix
Як вже було сказано вище, мікросхему пам'яті, запаяну в карті, програматором JDM прошити неможливо. Але ж її найчастіше необхідно прошивати, тому що коди до пакетів каналів зберігаються саме в ній. Але вихід є, причому досить хитрий. Справа в тому, що карта, як вже було сказано вище, влаштована так, що термінал посилає запити карті, а мікропроцесор карти відповідає на них відповідним чином. Такий діалог між картою і терміналом відбувається скрізь: у банкоматах, супутникових приймачах, телефонах-автоматах. Існує відповідний пристрій сполучення і для комп'ютера, називається воно Smartmouse / Phoenix. Використовуючи його і відповідну програму можна посилати запити карті й одержувати на них відповіді, вивчаючи таким чином карту. Інтерфейс Smartmouse / Phoenix може працювати з будь-асинхронної картою, легальної і нелегальної, зроблене відповідно до стандарту. Наприклад, за допомогою цього пристрою можна посилати запити на оновлення ключів в легальних картах (якщо зламана відповідна система кодування, інакше невідомо, який запит надсилати). Так от, можна запрограмувати процесор pic-карти так, що б все посилають дані на карту процесор пересилав в мікросхему EEPROM (адже у процесора немає ніяких проблем з доступом до чіпу пам'яті). Відповідна прошивка процесора називається завантажувачем (Loader).
Алгоритм прошивки всієї карти такий:
Беремо програматор JDM і прошиваємо в PIC програму-завантажувач (вона зазвичай йде в комплекті з програмою WinPhoenix).
За допомогою Phoenix-інтерфейсу програмою WinPhoenix пересилаємо на карту прошивку EEPROM'а, яка благополучно (я сподіваюся) потрапляє туди, куди треба, тобто в мікросхему EEPROM.
Знову беремо програматор JDM і зашиваємо в PIC ту прошивку, з якою повинна працювати карта.
Взяти схему інтерфейсу SmartMouse / Phoenix, та ще й + Season можна тут: 3in1.rar (авторська розробка SOLO). Інтерфейси Smartmouse і Phoenix відрізняються між собою лише частотою (у Phoenix 3.5Mhz, у Smartmouse 6Mhz) і у Smartmouse до того ж інверсний скидання. Тому, якщо вам потрібний тільки Phoenix, кварцовий резонатор на 6 Mhz можна не шукати. Кабель від COM-порту до інтерфейсу той же, що і для JDM.
Додати в блог або на сайт

Цей текст може містити помилки.

Комунікації, зв'язок, цифрові прилади і радіоелектроніка | Реферат
39.7кб. | скачати


Схожі роботи:
Чіп-карти
Кобрендингові карти
Географічні карти
Пластикові карти
Банківські пластикові карти
Оригінальні карти і атласи
Мережеві адаптери карти
Опис навчальної геологічної карти 17
Технологічні карти на запечені яблука і пончики
© Усі права захищені
написати до нас