Смарт-карта и токен: в чём отличие
Электронная подпись должна храниться на защищённом носителе. Есть разные виды носителей, но их можно разделить две категории: смарт-карта и токен. Они выполняют одни и те же функции, но у каждого типа есть свои особенности.
Чем отличаются друг от друга эти носители и что лучше купить? Мы расскажем подробно в этой статье.
Виды смарт — карт
Смарт — карты можно разделить на 2 основных вида:
- контактные;
- бесконтактные.
По функциональности они также делятся на 2 типа:
- карты памяти — такие карты содержат какое-то количество информации и функцию их разграничения;
- интеллектуальные карты — имеют возможность управления информацией, содержащиеся на микропроцессоре.
Теперь разберемся в видах и функционале подробнее.
Контактные смарт — карты, интерфейс ISO 7816
Такие смарт — карты содержат зону соприкосновения, в которой заключены несколько своеобразных лепестков. В момент, когда карту помещают в считыватель, происходит прикосновения чипа и коннекторов, благодаря считыватель может получить или записать данные с чипа.
Такие контактные карты не требуют батареек — вся энергия подается со считывателя. Распространение таких карта заключается в SIM-картах, банковских картах и т.д.
Контактные смарт — карты, USB — интерфейс
Идентичны микросхемы интерфейса ISO 7816, но в дополнение находится USB считыватель, оба интерфейса совмещены в едином корпусе. Такие карты более удобны для компьютерной аутентификации.
Бесконтактные смарт — карты
В данном виде карта имеет связь со считывателем при помощи техники RFID. Чтобы связь была установлена, карту нужно поднести максимально близко к считывателю для проведения какой-либо операции. Подобные карты необходимы для проведения процедуры в кратчайшие сроки, а именно: в общественном транспорте, в торговых центрах и т.д.
Карты памяти
Содержат определенные данные, а также встроенный механизм разграничения. Часто это карты для быстрых платежей в аквапарке, транспортах, метро и др.
Интеллектуальные карты
Карты имеют микропроцессоры и возможность загрузки алгоритма работы. Применяются такие карты в основном в сложных аутентификационных действиях, протоколах обмена и т.д.
Монитор текущего состояния ридеров
Ниже описана одна из самых распространенных проблем, возникающих при работе с карточками. Как приложение может узнать о том, извлечена карта или нет? Мы создадим поток, который будет оповещать приложение о произошедших событиях (в данном случае применяется функция PostMessage, но с равным успехом можно воспользоваться PostThreadMessage или функциями синхронизации).
В качестве параметра потока ему передается указатель на структуру SCREADERS_SCANER_PROC_PARAM, описываемую в Листинге 2. Функция потока приведена в Листинге 3. Возникает соблазн передать этой структуре ранее полученное значение SCARDCONTEXT, но в MSDN отмечено, что использовать в разных потоках одно значение этого параметра нельзя. Под Windows 2000 ошибка не проявляется, но под Windows 9x происходит взаимная блокировка потоков.
Поле nMessage заполняется значением, возвращаемым функцией RegisterWindowMessage ( LPCTSTR szMessageName ). Например:
Параметры wpCardPutInValue и wpCardTakeOutValue могут принимать любые значения, удобные для использования в приложении. Полю lphExitEvent присваивается значение адреса соответствующей переменной в родительском потоке. Переменная должна быть равна NULL. Когда потребуется завершить поток, следует вызвать функцию CreateEvent, и ее результат присвоить переменной, адрес которой мы передали в функцию потока. После чего нужно дождаться его окончания с помощью вызова WaitForSingleObject (hThread,dwTime). Параметр hThread, очевидно, был возвращен приложению функцией CreateThread. Поле hWnd содержит описатель окна, которому будут передаваться сообщения о событиях со смарт-картами. Ну а о том, как создать значения полей dwReadersCount и lpReaderState, я рассказал выше.
Теперь создадим поток, функция которого приведена в Листинге 3. Напомню, что вызов функции CreateThread под Windows 9x закончится неудачей, если последний параметр — LPDWORD lpdwThreadID — будет равен NULL. Но под Windows NT/2k/XP этот указатель можно не передавать. Функция потока реализована обычным для подобных задач образом. В первую очередь следует проверить, нет ли необходимости завершить поток. Это делается с помощью функции WaitForSingleObject, которой передается параметр, задающий значение времени ожидания 0. Это означает, что, если событие не произошло, управление сразу возвращается, а если произошло, то результат функции WAIT_OBJECT_0. В последнем случае мы освобождаем память и завершаем цикл.
Далее мы проверяем состояние ридеров и, если какой-то из них изменил состояние, сообщаем об этом родительскому потоку. В данном случае используется функция PostMessage, так как сообщения отправляются окну. В противном случае, если созданный поток не имеет цикла обработки сообщений в окнах, нужно использовать функцию PostThreadMessage и вместо идентификатора окна передавать идентификатор потока, в который вы отправляете сообщение. Отмечу, что приведенная функция не отслеживает ситуацию, когда добавляется новый ридер или когда устройство чтения смарт-карт извлекают из компьютера. Реализацию этой возможности пользователь может взять на себя. Здесь я отмечу лишь, что список ридеров, который хранится в родительском потоке, должен быть идентичен списку ридеров из потока монитора.
Контактные смарт-карты
- Контактные смарт-карты — цена от 20 рублей
- Контактные смарт-идентификаторы — цена от 20 рублей
Стандартный вид контактов чипа смарт-карт
Контактные карты памяти
- прямая
- защищенная
- карты памяти с сохраненным значением
- Контактная карта с прямым типом памяти — цена от 83 рублей
Контактные карты с защищенным / сегментированным типом памяти
Эти карты имеют встроенную логику для контроля доступа к памяти карты. Иногда называемые интеллектуальными картами памяти, эти устройства можно настроить для защиты от записи части или всего массива памяти. Некоторые из этих карт могут быть настроены так, чтобы ограничивать доступ как для чтения, так и для записи. Обычно это делается с помощью пароля или системного ключа. Сегментированные карты памяти можно разделить на логические разделы для планируемой многофункциональности. Эти карты отслеживаются по идентификатору на карте. В картах такого типа на борту имеется от 3 Кбит до 64 Кбит памяти типа EEPROM.
- Ключи ibutton — цена от 20 рублей
- USB etoken — цена от 1200 рублей
- Смарт карты jacarta — цена от 1000 рублей
Контактные микропроцессорные (CPU / MPU) карты
- CPU — центрального процессора, это 8-, 16- или 32-разрядный RISC-процессор;
- оперативной памяти RAM объемом от 256 байт до 4 — 16 Кбайт;
- запоминающего устройства ROM объемом от 16 до 256 Кбайт;
- энергонезависимой (None Volatile Memory) перезаписываемой памяти EEPROM объемом 2 — 72 Кбайт и пользовательской памяти (User Memory);
- MMU (Memory Management Unit) — модуля управления памяти, который обеспечивает доступ CPU к оперативной, энергонезависимой и постоянной памяти;
- Data Bus — магистральной шины;
- UART (Universal Asinchronous Reciever Transmitter) — универсального асинхронного приемопередатчика ввода/вывода последовательного интерфейса;
- генератора тактовой частоты (Internal Timing Circuitry), криптопроцессоров (crypto), генератора случайных чисел (RNG), внутренних сенсоров и фильтров;
- если карта бесконтактная, то добавляется радио приемо-передатчик для бесконтактного интерфейса.
В смарт-картах используется энергонезависимая память (NVM — None Volatile Memory), которая позволяет сохранять данные даже после удаления источника питания.
Самым дешевым видом энергонезависимой памяти является ROM (Read Only Memory), известная также как ПЗУ (постоянное запоминающее устройство). В ней массив ячеек представляет собой набор проводников, организованных в матричную структуру. Запись данных в ROM производится «путем» прожигания маски ROM, т.е. часть проводников разрушается, а часть остается целыми. Данные, загруженные в ROM нельзя перезаписать, операция записи выполнима только 1 раз. Поэтому в ROM записывается операционная система и некоторые статические приложения (программы обслуживания файловой системы, обеспечения связи, криптографических операций).
Память RAM (или оперативное запоминающее устройство) также является энергонезависимой и самой дорогостоящей памятью смарт-карты. Она используется процессором для хранения фрагментов исполняемого кода и промежуточных данных при выполнении операций, поскольку это самый быстрый вид памяти. Время доступа к ОЗУ составляет несколько десятков наносекунд.
Еще в смарт-картах для хранения данных используются память типа EPROM, EEPROM, FLASH и FRAM. Про них в разделе «Безопасные интегральные схемы и смарт-карты».
Сравнительные размеры реализации на кристалле разных типов памяти размером 1 бит
Микропроцессорные карты имеют встроенные возможности динамической обработки данных. Внутри карты находится микропроцессор или микроконтроллер, который управляет распределением памяти и доступом к файлам. Этот тип микросхем аналогичен чипам, установленным на персональных компьютерах. При имплантации в смарт-карту такой микропроцессор через операционную систему карты (COS — Card Operating System) управляет данными и файловой структурой, а также контролирует доступ к пользовательской памяти на карте.Такая функциональность позволяет карте работать с несколькими различными приложениями одновременно. Т.е. компании, выпустившие карту, поддерживают на ней сразу несколько «продуктов». Например бонусная система банка эмитента, привязанная к платежной карте пользователя. В конце концов, было бы неплохо обходиться всего одной картой для платежей, бонусов, скидок, накоплений, транспортных платежей и удостоверения личности.
Микропроцессорные карты используют алгоритмы шифрования для защиты данных, например, 8 битный симметричный алгоритм шифрования, или, более надежный, 8, 16 и 32 битный ассиметричный динамический алгоритм, во втором случае кроме основного процессора смарт-карты используются также сопроцессоры (подробнее об алгоритмах шифрования в разделе «безопасность данных»).
Самые известные микропроцессорные карты — это, конечно, банковские карты , SIM — карты , электронные карты-удостоверения или ID-карты.
Контактные двухинтерфейсные карты
- Линейка двухинтерфейсных карт — цена от 1800 рублей
- Смарт-карта с контактным чипом и чипом Em-Marine — цена 355 рублей
Использование смарт-карты
Теперь мы имеем рабочую смарт-карту с сертификатом пользователя. Для того чтобы начать ее использовать, не требуется никаких особых настроек на компьютере пользователя, кроме установки драйверов для смарт-карт-ридера и ПО смарт-карты. После этого достаточно вставить смарт-карту в карт-ридер (или токен в USB-разъем), как стандартное окно запроса пароля при входе в систему сменится на запрос PIN-кода (см. рис. 5).
Рисунок 5. Вход в систему с использованием смарт-карты
Сменить PIN-код пользователь может с помощью ПО смарт-карты. В случае если PIN-код забыт, администратор с помощью административного пароля может установить новый PIN-код, а если утерян и административный PIN-код, можно повторно инициализировать смарт-карту с помощью системного PIN-кода. В этом случае все данные, содержащиеся на смарт-карте, будут уничтожены. Если утерян и системный PIN-код, смарт-карту можно смело выбрасывать.
На одну смарт-карту можно поместить несколько сертификатов, однако для входа в систему Windows XP/2003 будет использоваться только один – так называемый «контейнер по умолчанию». Его можно определить с помощью ПО смарт-карты. Для Windows Vista этого ограничения уже нет – в этой ОС можно указать, какой сертификат из имеющихся на карте нужно использовать для входа – по крайней мере это заявлено в документации.
Смарт-картой можно пользоваться и при входе на удаленные компьютеры по RDP-протоколу. Для этого в свойствах RDP-подключения надо на вкладке Local Resources (локальные ресурсы) нажать кнопку More (еще) и установить опцию Smart Card (смарт-карта) – однако и тут надо помнить о том, что на удаленном компьютере должно стоять все необходимое для работы смарт-карты ПО, иначе вы получите ошибку, о которой говорилось ранее в разделе «Общие сведения».
Что касается пользовательских настроек Active Directory, то для работы со смарт-картами предусмотрены две опции. Обе доступны в ветке: Local Computer Policy → Computer Configuration → Windows Settings → Security Settings → Local policies → Security Options («Локальная политика компьютера → Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Параметры безопасности»).
Первая опция Interactive logon: Require smart card (вход в систему: требуется смарт-карта) может принимать состояние Enable (включено) или Disable (выключено) и при включении означает безусловную необходимость в смарт-карте при входе в систему. В этом случае без смарт-карты пользователь не сможет осуществить вход. Это надо иметь в виду, так как может возникнуть ситуация, когда пользователь забыл или потерял смарт-карту, или же требуется войти в домен через компьютер, на котором не установлены драйвер карт-ридера или ПО смарт-карты.
Вторая опция: Interactive logon: Smart card removal behavior (вход в систему: поведение при извлечении смарт-карты) означает поведение рабочей станции при изъятии смарт-карты из карт-ридера. Допустимыми состояниями являются No action (бездействие), Lock workstation (блокировка рабочей станции) и Force Logoff (выход из системы). Эта опция работает только при включенной первой опции.
Как я уже говорил, применение смарт-карты не ограничивается только входом в систему. В настоящее время многие приложения умеют хранить сертификаты на смарт-карте, например Mozilla Firefox, OpenVPN, TrueCrypt и др. Как использовать смарт-карту – это уже решать вам, но надеюсь, что эта статья поможет вам в самом начале процесса внедрения смарт-карт в домене.
Преимущества смарт-карты для ТВ
Для пользователя такого устройства очевиден ряд преимуществ, которые он получает вместе с его приобретением.
С установкой карты SMART (типа Триколор, НТВ+ или МТС) абонент:
- Открывает доступ к большему количеству программ телепередач.
- Получает возможность самостоятельно составить список просматриваемых каналов.
- Смотрит передачи в отличном цифровом вещании с пониженной чувствительностью к помехам.
- Можетпользоваться текстовым вариантом программ на экране, если позволяют технические возможности модели телевизора и оператора.
- Наслаждается четким изображением и качественным звуком, что помогает максимально вникнуть в происходящее на телеэкране.
Активация смарт-карты
Процедура активации смарт-карты позволяет оператору идентифицировать абонента в системе платного телевидения. В зависимости от оператора, порядок активации может отличаться.
- МТС предлагают активировать карту одним из четырех методов: через оператора горячей линии, посредством отправки смс-сообщения, в месте приобретения смарт-карты (у дилера) либо онлайн на сайте компании.
- Триколор предлагает всего два варианта: заполнить специальную форму на сайте либо отправить смс (какое именно и куда — указано на обратной стороне карточки).
- Активация смарт-карты НТВ-Плюс происходит на сайте оператора.
Область использования контактных и бесконтактных карт
Удобство применения, максимальная скорость считывателя и многофункциональность за небольшой срок сделали смарт — карты весьма популярными. Такие карты находят свое применение практически во всех сферах жизни:
- телефония — картами можно расплатиться в таксофонах;
- транспортные связи — в троллейбусах в приборе кондуктора или метрополитенах;
- здравоохранение — медицинские карты пациентов, полисы;
- карты потребителей — благодаря картам происходит начисление баллов, это могут быть скидочные карты и т.д.
Особо важны такие карты в приложениях, чувствительных к безопасности и обеспечивающих гарантию надежности. К подобным приложениям относят:
- разнообразные банковские действия, оплата товаров/услуг, дебетовые/кредитные карты, карты, направленные на начисление стипендий, пенсий и заработных плат и пр.
- хранение личных конфиденциальных данных;
- гарантия информационной безопасности — засекречивание данных пользователей компьютерных сетей, контроль доступа в зданиях и т.д.
Некоторые смарт — карты имеют функцию самоблокировки. Что это означает? В какой-то момент смарт — карта может самостоятельно заблокироваться, тогда дальнейшая работа с ней не будет возможна. Самостоятельно и беспричинно однако она не блокируется. Такое действие может произойти в том случае, когда карта отмечает попытки несанкционированного доступа.
Smart — карты контроля используются для управления доступом определенного владельца этой карты в здания, комнаты, автомобильные стоянки и т.д. Интеллектуальные же смарт — карты позволяют управлять доступом к компьютерам, а также информацией на них содержащейся. И в том, и в другом случае для того чтобы открыть доступ, потребуется поместить карту в считыватель, а затем ввести индивидуальный код, который должен знать лишь владелец (PIN-код). В некоторых случаях введение кода не требуется, достаточно просто провести картой по считывателю.
Также карты смарт способствуют упрощению процедуры идентификации клиента. Чтобы проверить правильность введенного пин кода, используется специальный алгоритм, позволяющий избавиться от необходимости централизованной проверки. ПО устанавливает несколько уровней безопасности, которые строго контролируются системным администратором. Определенный уровень доступа может быть выдана всем лицам, некоторые же уровни предназначаются исключительно группе лиц. Кроме того, некоторые лица имеют право на присвоение индивидуальную форму доступа.
Все отмеченные выше функции позволяют прийти к выводу, что смарт — карты — это карты, защищенные универсальным инструментом, позволяющие использование в приложениях, которые выставляют высокие требования к безопасности. Помимо гарантии защиты, смарт — карты являются удобными и практичными, что помогает тысячам клиентам совершать различного рода манипуляции в максимально быстрые сроки.