Смарт карты своими руками

Смарт карты своими руками

Эта страничка предназначена для пытливых зрителей, знакомы с радиолюбительством.

Для того, чтобы изготовить самый простой и наиболее распространенный имитатор смарт-карты, известный как 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) общения.

Я бы хотел поподробнее описать коммуникацию терминал с картой. Она происходит следующим образом:

  1. Инициализация физического канала (Cold reset, ATR, и т.д.)
  2. Выбор с помощью команды SELECT желаемой программы. Данный шаг является опциональным. В случае если он не исполняется, то общение будет осуществляться с программой, выбранной по умолчанию при инициализации канала
  3. Дальнейшее общение для реализации конкретных задач

Стоит упомянуть, что на карте может быть установлена более чем одна программа. К тому же, терминал имеет возможность параллельного общения с одной или несколькими программами с помощью так называемых логических каналов. Количество поддерживаемых логических каналов зависит от конкретной карты. Стандарт ISO7816-4 позволяет карте поддерживать не более чем 20 каналов. Однако, на практике большинство карт поддерживают только 4 канала.

Карты Native и Javacard

Некоторые смарт-карты выходят в производство с уже заранее установленными на них и не подлежащими изменению, дополнению, либо удалению одной или более программами, предназначенными для исполнения конкретных функций (SIM и USIM, EMV и т.д.). Подобные карты, носящие название Native, являются привлекательными благодаря их низкой цене (при оптовых закупках) и относительной простоте используемого для их программирования кода, что уменьшает вероятность проблем с безопасностью карты. Однако наиболее интересными, на мой взгляд, картами являются карты на основе JavaCard и Global Platform, в которых ОС карты — это платформа, на которой можно установить различные приложения. Приложения, написанные для JavaCard, с использованием стандартных API, можно будет загрузить на все карты, поддерживающие совместимую версию платформы, вне зависимости от производителя карты. Что касается Global Platform, то это набор спецификаций, регулирующий безопасную администрацию карты, в том числе установку, блокировку либо удаление тех или иных приложений, а также управление жизненным циклом (Life Cycle) карты.

Маленькое примечание по поводу администрации карты. Пользователь карты, как правило, не является владельцем и администратором карты. К примеру, администратором SIM-Карты является оператор мобильной связи, а не абонент. Только оператор имеет право устанавливать или удалять приложения на/с карты. Тем не менее, существует также возможность приобрести «пустые» карты для собственной разработки приложений.

Таким образом, в данной части своей статьи я коснулся базиса работы смарт-карты, как на внешнем, так и на внутреннем уровне, а также дал краткое определение понятия смарт-карты. Следующие части статьи я хотел бы посвятить:

  1. краткому описанию формата APDU по стандарту ISO7816-4
  2. описанию формата BER-TLV
  3. понятию и сущности JavaCard
  4. различным аспектам Global Platform

Источник

Как создаются смарт-карты? Какие типы карт существуют?

Мы живем в мире, в котором технологии стремительно развиваются и делают нашу жизнь легче. Благодаря им, все становится «умнее» и работает в режиме онлайн. Технология смарт-карт сейчас очень распространена во всем мире, и, скорее всего, нет ни одной страны, которая ее не использует. Основная идея данной технологии — снизить риск, связанный с воровством и грабежами.
Просто представьте, что вы хотите купить дорогой компьютер или ноутбук, и если бы не смарт-карты, то вам пришлось бы взять с собой много наличных денег. Это всегда вызывает страх и опасения, потому что их можно украсть или потерять. Но благодаря технологии смарт-карт, такой риск значительно снижается.

Как создаются смарт-карты?

  1. Фреймворк
    Первое, что нужно сделать для производства смарт-карт, это выделить объем памяти для чипа, а затем указать тактовую частоту и операционную систему. Программист выполняет все вышеперечисленные шаги, а после их завершения создает программное приложение для карты, в котором указывает ее тип.
  2. Формирование чипа
    На этом этапе к карте прикрепляется чип, изготовленный из кремния. Соединительные провода припаиваются или склеиваются, чтобы соединить этот чип с разъемами. Затем используется эпоксидная смола, которая крепит чип к пластиковой подложке.
  3. Кодирование
    На этом этапе в микросхему вводятся коды, с помощью специальных команд. Простыми словами, можно сказать, что на этом шаге смарт-карте дается жизнь.
  4. Загрузка данных
    На этом последнем шаге, в чип загружаются персональные данные пользователя.

На видео: Процесс кодирования смарт карты

Типы смарт-карт:

Контактные смарт-карты:

Это наиболее распространенный тип смарт-карт. Под эту категорию попадают большинство кредитных карт, сим-карт и банкоматных карт. Они контактируют с любым считывателем смарт-карт, что облегчает передачу информации с карты на считывающее устройство.

Бесконтактные смарт-карты:

Данные карты не нуждаются в физическом контакте с интерфейсом. Именно поэтому они называются бесконтактными. Для совершения цифровых транзакций используются радиочастоты или NFC, которая обеспечивает беспроводное соединение.

Гибридные карты:

Эти карты являются мощным сочетанием обоих типов карт, рассмотренных выше. Их можно использовать в качестве контактных и бесконтактные смарт-карт по мере необходимости.

Карты памяти:

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

Микропроцессорные карты:

Они похожи на мини-компьютеры, потому что оснащенные микропроцессором и портативны. Такие карты имеют большую память для хранения большого количества данных. Они работают под управлением операционной системы, вы можете считывать с них информацию, записывать на нее данные, перезаписывать и вносить любые изменения.

Главной особенностью смарт-карты является ее безопасность, которую она обеспечивает своим пользователям при покупках.

Источник

Читайте также:  Простые регуляторы температуры своими руками
Оцените статью