Архивы: по дате | по разделам | по авторам

PC + смарт-карты

Архив
автор : АНДРЕЙ ЮШКОВ    02.06.1997

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

PC/SC Workgroup объединила известных производителей аппаратных средств, ПО и микропроцессорных карт - компании Microsoft, Hewlett-Packard, Siemens Nixdorf, Schlumberger, CP8 Transac (Bull Company). В апреле к альянсу присоединились Gevplus, IBM, Sun Microsystems, Toshiba и Verifone. В настоящее время речь идет о разработке так называемых PC/SC-спецификаций, которые предполагается использовать в качестве официальных открытых стандартов.

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

Характерной особенностью таких карт является встроенный недорогой, но достаточно производительный микропроцессор. В итоге появляются возможности реализации на уровне пластиковой карты оперативных вычислений, обеспечения надлежащего уровня конфиденциальности и сохранности данных в блоках памяти, а также применения аппаратных методов шифрования. Таким образом, доступ к данным на карте может быть осуществлен только при предъявлении соответствующих секретных кодов и паролей, включая индивидуальный личный пароль держателя карточки (так называемый ПИН - персональный идентификационный номер).

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

PC и карты

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

В итоге доступ к вычислительной системе (или к отдельным ресурсам) станет возможным лишь при наличии пользовательской пластиковой карты. Правда, самой карты для доступа к компьютеру еще недостаточно. Пользователь обязан будет ввести с клавиатуры свой индивидуальный ПИН, который и будет проверен процессором карты.

Большинство карт уже имеет внутренние счетчики серии неправильных попыток ввода ПИН-кода. В итоге, перебор возможных значений становится для злоумышленника проблематичным. Чаще всего после третьей попытки (как это реализовано в платежно-банковских системах на смарт-картах, используемых в качестве электронного кошелька и хранящих в своей памяти условные единицы, соответствующие "живым" деньгам), микросхема карты самоблокируется, после чего использование карты вообще становится проблематичным.

Но самое главное, что на одной и той же карте может быть реализовано сразу несколько ключей к различным системным или информационным ресурсам. Рабочее место пользователя может быть доступно при предъявлении нескольких типов карт или вообще любой карты (почему бы нет), однако доступ к тем или иным ресурсам (системным, сетевым, информационным, персональным) легко ограничить определенным списком предъявляемых электронных документов.

В итоге, на одной карте может содержаться список полномочий пользователя для доступа к многочисленным ресурсам, причем в каждом случае речь будет идти о соответствующих ПИН-кодах. Заметим, что технология карт с микросхемой позволяет помимо использования нескольких ПИН-кодов еще и их оперативную замену по желанию пользователя - это можно сделать самостоятельно, предъявив карте старый ПИН для подтверждения полномочий.

Безопасность в Интернете

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

Действительно, специфика открытой сети в определенной степени сковывает операции электронной торговли или перевода платежей. К тому же, остается открытым вопрос о передаче вообще любой конфиденциальной информации.

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

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

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

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

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

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

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

При условии, что компьютер, подключенный к Интернет, поддерживает использование смарт-карт, появляется возможность совершать платежные операции с соблюдением высочайшей степени конфиденциальности и защищенности. Кстати, индивидуальная полезность смарт-карты вовсе не ограничивается платежными функциями или доступом к рабочему месту. Ту же самую пластиковую карточку можно одновременно использовать, скажем, как медицинский полис, содержащий всю необходимую на крайний случай информацию (сейчас подобные экспериментальные системы на смарт-картах широко внедряются в программах медицинского страхования в Германии и во Франции), в качестве индивидуального паспорта для предъявления налоговой службе или, скажем, "штрафной карты" ГАИ...

PC/SC

Разрабатываемые в рамках альянса PC/SC Workgroup спецификации должны в итоге составить пакет открытых стандартов, регламентирующих использование микропроцессорных карточек совместно с персональными компьютерами. Пока общепризнанные стандарты в этой области отсутствуют, хотя компании, предлагающие те или иные решения, как правило, руководствуются собственными соображениями на этот счет, что естественным образом приводит к хорошо заметному хаосу.

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

Для согласования этих и других стандартов в области использования смарт-карт совместно с PC, 10 сентября 1996 года была создана рабочая группа PC/SC Workgroup.

Крупнейшая французская промышленная группа Bull CP8, одним из направлений деятельности которой является разработка и производство всевозможных типов пластиковых карт на микросхемах (примерно 60% мирового рынка карт), а также всевозможного оборудования для работы с ними, включая банкоматы, электронные терминалы, считывающие устройства и ПО, в рамках альянса занимается вопросами разработки считывающих устройств для смарт-карт. В настоящее время уже создано устройство для чтения микропроцессорных карт, работающее под Windows NT. Hewlett-Packard занята разработкой спецификаций для считывающих устройств под свои персональные компьютеры, а Schlumberger Electronic Transaction, крупная французская компания, работающая в области автоматизации нефтегазовой промышленности, банковской деятельности, а также в области смарт-карт, отвечает за создание эффективных механизмов криптозащиты. Разработкой устройств чтения карт и ряда сопутствующих программных продуктов занята Siemens Nixdorf, в то время как Microsoft готовит к выпуску инструментальные средства для разработки программ обмена информацией между компьютерами и микропроцессорными картами, разумеется, делая все, чтобы закрепить и здесь позиции Wintel.

Первые итоги

5 декабря 1996 года рабочая группа опубликовала первую версию спецификаций, получившую название Interoperability Specification for ICCs and Personal Computer Systems, Draft Revision 0.9., а совсем недавно их разработка дошла до финиша. Правда, скорее всего - промежуточного. Соответствующие документы содержат введение и обзор архитектуры, требования к интерфейсам "карта-считывающее устройство", "считывающее устройство-персональный компьютер" и самим считывающим устройствам. Кроме того, уже описаны блок управления ресурсами, требования к интерфейсу "блок управления ресурсами-прикладная программа", прикладные программы и, наконец, рекомендации по использованию устройств шифрования и защиты данных на базе микропроцессорных карт.

Во многом эти стандарты ориентируются на уже существующие (например, сами карты и считывающие устройства должны удовлетворять стандартам ISO 7816 - 1-2-3). Явно центральную роль занимает блок управления ресурсами (Integrated Circuit Card Recource Manager) - главный программный компонент, который, вероятнее всего, будет встраиваться в операционную систему. В его функции входят идентификация всех подключенных считывающих устройств, обеспечение доступа к ним и самим смарт-картам, хранение информации обо всех поддерживаемых системой типах карт, контроль "карта вставлена/извлечена". Кроме того, этот блок должен контролировать действия, инициируемые картой, и гарантировать четкое соблюдение всех механизмов безопасности системы. Подробную информацию можно обнаружить на www.smartcardsys.com.

 
Смарт-карта

Платежная карта с микросхемой внутри представляет значительно больше возможностей по сравнению с магнитными и просто пластиковыми карточками. Впервые такого рода карта была предложена французским инженером Роланом Морено (Innovatron Engineering) в середине 70-х годов. Но лишь в конце 80-х технологические достижения сделали ее достаточно удобной и недорогой для практического использования. Что представляет собой такая карта?

В первую очередь, она должна соответствовать спецификациям (ISO), устанавливающим физические размеры карты, ее поведение при различных механических, физических и химических воздействиях.

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

Основные составляющие смарт-карт - это центральный процессор, ОЗУ, ПЗУ, EPROM (ППЗУ - память, которая может быть прочитана много раз, но записывается однократно. Как правило, организация, эмитировавшая карточку, записывает в ПЗУ данные о ее владельце), EEPROM (ЭСППЗУ - память, которая может быть перезаписана и считана многократно: здесь хранятся регулярно изменяемые данные), система обмена данными с внешними устройствами, операционная система и встроенная система защиты данных.


 
Карты для NC

Пока союз PC и смарт-карт только складывается, производители сетевых компьютеров уже используют специализированные смарт-карты (NC Card) в качестве одного из важнейших компонентов клиентского оборудования.

По сути дела, NC Card является "сетевым паспортом". Это обыкновенная смарт-карта, позволяющая уникальным образом идентифицировать каждого пользователя. Кроме того, сам пользователь избавляется от необходимости помнить и периодически вводить с клавиатуры довольно сложные символьные комбинации, специфицирующие работу прикладного ПО или процесс подключения к сетевым ресурсам: телефонные номера провайдера, сетевые имена и пароли. После проверки персонального идентификационного номера (PIN), система предоставляет пользователю доступ к любым разрешенным ресурсам - базам данных, электронной почте, приложениям Интернет или коммерческим системам. При этом большинство забот по авторизации тоже берет на себя смарт-карта.

Процедура использования NC Card мало отличается от привычной по кредитным картам технологии. Пользователь вставляет в считывающее устройство карту, а после включения компьютера вводит в ответ на запрос свой PIN и после успешной авторизации может приниматься за работу.

Для обеспечения возможности работы со своей смарт-картой на любом другом сетевом компьютере, произведенном согласно рекомендациям NC Reference Profile, компании NCI, IBM, Netscape и Sun Microsystems осуществляют программу OpenCard Framework, которая в итоге должна привести к полной стандартизации применения смарт-карт вместе с сетевыми компьютерами.

Денис Викторов

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.