- Смарт карты своими руками
- Устройство для чтения смарт-карт
- Смарт-карты. Часть 1. Принципы работы
- Применение смарт-карты
- Работа смарт-карты
- Карты Native и Javacard
- Как создаются смарт-карты? Какие типы карт существуют?
- Как создаются смарт-карты?
- Типы смарт-карт:
- Контактные смарт-карты:
- Бесконтактные смарт-карты:
- Гибридные карты:
- Карты памяти:
- Микропроцессорные карты:
Смарт карты своими руками
Эта страничка предназначена для пытливых зрителей, знакомы с радиолюбительством.
Для того, чтобы изготовить самый простой и наиболее распространенный имитатор смарт-карты, известный как NORDIC необходимо следующее:
Двухчиповая карта Multimac II дополнительно содержит память — EEPROM 24LC16
Эта карта хранит все коды во встроенной в PIC EEPROM, емкость которой всего 64 байта -по этому туда помещается всего 9 кодов (каждый код имеет длину 56 бит и требует 7 байт).
Обратите внимание — Во время работы карты ввод-вывод чипа осуществляется через RB7, а тактовая частота подается с вывода 16 — OSC . Но для программирования карты тактовую частоту необходимо подавать на вывод 12 — RB6 — именно для этого оба этих вывода подключены к площадке CLOCK.
Вместо PIC 16C84 можно использовать PIC 16F84, но тогда обязательно нужно использовать прошивку для 16F84, в которой Power Up Timer — Enabled, или при программировании установить эту опцию в софте программатора.
Если у вас нет фирменного программатора для карты целиком — поставьте чип в панельку, тогда для перепрограммирования его не нужно будет выпаивать.
При этом возможно, что у вас все заработает !
Редакция и оформление — ©Александр Борзов СПб-Washington D.C.. | e-mail : aborzov@hotmail.com | Информация только для частного использования! Коммерческое использование запрещено! |
(Вся информацияа только в образовательных целях и не является пособием по несанкционированому просмотру телеканалов. Авторы не несут ответственности за использование приведенной информации)
Источник
Устройство для чтения смарт-карт
Данное устройство предназначено только для чтения смарт-карт (телефонных карт) и как программатор данных карточек использоваться не может. Вы не сможете с помощью этого устройства переписать содержимое карты, взломать или произвести какие-либо незаконные действия.
Цель этого проекта – ознакомление с последовательным протоколом, понятие процесса чтения микроконтроллером карты для возможности построения своих устройств разграничения доступа (например, Электронный замок со смарт-картой в роли ключа), либо устройство контроля оставшихся «единиц» на карте.
Устройство позволяет считывать содержимое памяти смарт-карты. При разработке тестировалась карта с объемом памяти 64 байта (512 бит), первые 8 байт (64 бита) защищены от записи и предназначены только для чтения.
Для отображения прочитанных данных, а также с целью снижения затрат на устройство, используется персональный компьютер с программой Hyper Terminal. Данные передаются по последовательному интерфейсу (RS232).
Схема устройства очень простая и изображена на рисунке.
Основой является микроконтроллер AT90S2313 с запрограммированной памятью программ и EEPROM памятью. Преобразователь логических уровней интерфейса RS232 (+-12 В) к уровню TTL и обратно собран на специализированной микросхеме MAX232. После сборки схемы, подключите устройство к порту RS232 компьютера, запустите программу Hiper Terminal и проведите настройку (скорость обмена: 19200 бит/с; биты данных: 8; четность: нет; стоповые биты: 1).
Далее, подключив питание устройства, вставьте в слот карту, которую необходимо прочитать и нажмите кнопку для старта процесса чтения. Если при сборке устройства использовать специальный слот для смарт-карт, то имеется возможность задействовать концевой переключатель слота и процесс чтения карты будет автоматизирован.
Для тестирования была использована греческая смарт-карта (ISO7816) для доступа к услугам телевидения.
Считанная карта памяти этой карты показана на рисунке ниже.
Первый байт (85) и второй байт (FC) – код страны. Третий байт (0B) – количество «единиц», четвертый – код пользователя (оператора, клиента). Эти результаты были получены при тестировании 50 различных греческих смарт-карт для доступа к услугам телевидения
Байты 5,6,7,8 – серийный номер карты в шестнадцатеричном формате. Если перевести шестнадцатеричное число 4A037AA0 в десятичный формат, то получите серийный номер карты указанный на ней (1241741984).
Байты 9, 10, 11,12,13 – это счетчик оставшихся единиц, 5 уровневый октальный счетчик, уменьшающий количество единиц до 0.
Перевод: Vadim по заказу РадиоЛоцман
Источник
Смарт-карты. Часть 1. Принципы работы
Все мы пользуемся разными видами смарт-карт в повседневной жизни. Наиболее яркими примерами смарт-карт являются: SIM-карты, кредитные карты, электронные документы и т.д.
По сути, смарт-карта — это оптимизированный для криптографии микроконтроллер с повышенным уровнем безопасности. Что это означает? В отличие от стандартного микроконтроллера доступ к памяти смарт-карты строго контролируется процессором. Таким образом, чтение данных с карты их написание на ней регулируются ПО самой карты. Более того, производители чипов предпринимают меры по предотвращению несанкционированного доступа (копирования всей памяти, перепрограммирования) к карте на электронном и физическом уровне.
Применение смарт-карты
Смарт-карта используется в тех случаях, когда необходимо удостоверить подлинность ее обладателя. Примером тому служит SIM-карта. Ее главной ролью является доказать оператору, что телефон, подключившийся к сети, принадлежит конкретному абоненту. После подобной проверки оператор сможет направлять коммуникацию с номера и на номер абонента именно тому телефону, а также регистрировать платежный баланс абонента.
С технической точки зрения карта наделена следующими функциями:
- Сохранение идентификационных данных обладателя карты (чаще всего ID-номера, а не контактные данные обладателя).
- Сохранение и проверка PIN-кодов для осуществления двухфакторной аутентификации.
- Генерация и сохранение криптографических ключей и сертификатов. Обычно данные ключи используются исключительно для исполнения других функции внутри карты и не подлежат чтению.
- Генерация цифровой подписи.
- Аутентификация по схеме «Вызов-ответ».
- Иные специфические функции, присущие тому или иному виду карты.
Работа смарт-карты
Карты не работают автономно, а только в связке с так называемым терминалом (телефон, банкомат, иной проводной или беспроводной электронный читатель). Читатель обеспечивает карту электричеством и посылает команды. Карта никогда не инициирует коммуникацию, а всегда обязательно отвечает на любые посланные ей терминалом команды. В случае отсутствия ответа карта будет считаться «MUTED», т.е. не работающей. В подобной ситуации терминал либо никак не реагирует на ошибку, либо пытается восстановить общение с картой после осуществления RESET.
На логическом уровне коммуникация между терминалом и картой происходит в формате APDU, описанном стандартом ISO7816-4. Что касается физического уровня, то выше упомянутое общение регулируется не каким-то одним определенным стандартом, а их множеством. К примеру, существуют стандарты для контактного (ISO7816-3 T=0 и T=1, USB и т.д.) и бесконтактного (ISO14443, NFC/SWP) общения.
Я бы хотел поподробнее описать коммуникацию терминал с картой. Она происходит следующим образом:
- Инициализация физического канала (Cold reset, ATR, и т.д.)
- Выбор с помощью команды SELECT желаемой программы. Данный шаг является опциональным. В случае если он не исполняется, то общение будет осуществляться с программой, выбранной по умолчанию при инициализации канала
- Дальнейшее общение для реализации конкретных задач
Стоит упомянуть, что на карте может быть установлена более чем одна программа. К тому же, терминал имеет возможность параллельного общения с одной или несколькими программами с помощью так называемых логических каналов. Количество поддерживаемых логических каналов зависит от конкретной карты. Стандарт ISO7816-4 позволяет карте поддерживать не более чем 20 каналов. Однако, на практике большинство карт поддерживают только 4 канала.
Карты Native и Javacard
Некоторые смарт-карты выходят в производство с уже заранее установленными на них и не подлежащими изменению, дополнению, либо удалению одной или более программами, предназначенными для исполнения конкретных функций (SIM и USIM, EMV и т.д.). Подобные карты, носящие название Native, являются привлекательными благодаря их низкой цене (при оптовых закупках) и относительной простоте используемого для их программирования кода, что уменьшает вероятность проблем с безопасностью карты. Однако наиболее интересными, на мой взгляд, картами являются карты на основе JavaCard и Global Platform, в которых ОС карты — это платформа, на которой можно установить различные приложения. Приложения, написанные для JavaCard, с использованием стандартных API, можно будет загрузить на все карты, поддерживающие совместимую версию платформы, вне зависимости от производителя карты. Что касается Global Platform, то это набор спецификаций, регулирующий безопасную администрацию карты, в том числе установку, блокировку либо удаление тех или иных приложений, а также управление жизненным циклом (Life Cycle) карты.
Маленькое примечание по поводу администрации карты. Пользователь карты, как правило, не является владельцем и администратором карты. К примеру, администратором SIM-Карты является оператор мобильной связи, а не абонент. Только оператор имеет право устанавливать или удалять приложения на/с карты. Тем не менее, существует также возможность приобрести «пустые» карты для собственной разработки приложений.
Таким образом, в данной части своей статьи я коснулся базиса работы смарт-карты, как на внешнем, так и на внутреннем уровне, а также дал краткое определение понятия смарт-карты. Следующие части статьи я хотел бы посвятить:
- краткому описанию формата APDU по стандарту ISO7816-4
- описанию формата BER-TLV
- понятию и сущности JavaCard
- различным аспектам Global Platform
Источник
Как создаются смарт-карты? Какие типы карт существуют?
Мы живем в мире, в котором технологии стремительно развиваются и делают нашу жизнь легче. Благодаря им, все становится «умнее» и работает в режиме онлайн. Технология смарт-карт сейчас очень распространена во всем мире, и, скорее всего, нет ни одной страны, которая ее не использует. Основная идея данной технологии — снизить риск, связанный с воровством и грабежами.
Просто представьте, что вы хотите купить дорогой компьютер или ноутбук, и если бы не смарт-карты, то вам пришлось бы взять с собой много наличных денег. Это всегда вызывает страх и опасения, потому что их можно украсть или потерять. Но благодаря технологии смарт-карт, такой риск значительно снижается.
Как создаются смарт-карты?
- Фреймворк
Первое, что нужно сделать для производства смарт-карт, это выделить объем памяти для чипа, а затем указать тактовую частоту и операционную систему. Программист выполняет все вышеперечисленные шаги, а после их завершения создает программное приложение для карты, в котором указывает ее тип. - Формирование чипа
На этом этапе к карте прикрепляется чип, изготовленный из кремния. Соединительные провода припаиваются или склеиваются, чтобы соединить этот чип с разъемами. Затем используется эпоксидная смола, которая крепит чип к пластиковой подложке. - Кодирование
На этом этапе в микросхему вводятся коды, с помощью специальных команд. Простыми словами, можно сказать, что на этом шаге смарт-карте дается жизнь. - Загрузка данных
На этом последнем шаге, в чип загружаются персональные данные пользователя.
На видео: Процесс кодирования смарт карты
Типы смарт-карт:
Контактные смарт-карты:
Это наиболее распространенный тип смарт-карт. Под эту категорию попадают большинство кредитных карт, сим-карт и банкоматных карт. Они контактируют с любым считывателем смарт-карт, что облегчает передачу информации с карты на считывающее устройство.
Бесконтактные смарт-карты:

Данные карты не нуждаются в физическом контакте с интерфейсом. Именно поэтому они называются бесконтактными. Для совершения цифровых транзакций используются радиочастоты или NFC, которая обеспечивает беспроводное соединение.
Гибридные карты:
Эти карты являются мощным сочетанием обоих типов карт, рассмотренных выше. Их можно использовать в качестве контактных и бесконтактные смарт-карт по мере необходимости.
Карты памяти:
Это временные смарт-карты, память у них очень мала, и именно поэтому их функции ограничены некоторыми конкретными видами деятельности, такими как чтение, запись данных, хранение ограниченного объема информации, которая необходима для любой конкретной функции. Еще один важный момент заключается в том, что записанные на них данные нельзя редактировать или изменять. Она может выполнять только одну работу за раз и в большинстве случаев выбрасывается после использования.
Микропроцессорные карты:
Они похожи на мини-компьютеры, потому что оснащенные микропроцессором и портативны. Такие карты имеют большую память для хранения большого количества данных. Они работают под управлением операционной системы, вы можете считывать с них информацию, записывать на нее данные, перезаписывать и вносить любые изменения.
Главной особенностью смарт-карты является ее безопасность, которую она обеспечивает своим пользователям при покупках.
Источник