(Notes) Notes (2003 год)

Устройство Смарт-карт

Работая администратором ИМПЭ, я в основном занимался вопросами безопасности сети и ее устойчивости от вторжений. Не удивительно, что я заинтересовался возможностями смарт-карт. Поразило меня то, что мощность этой карточки практически не уступает первым персональным компьютерам, на которых я работал - ДВК,ЕС1840. Я также был очень удивлен, когда осознал, что это самый распространенный на нашей планете тип компьютера) количество сотовых телефонов и кредитных карт во много раз превышает количество всех остальных компьютеров, вместе взятых.

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


Например, вот такая карточка слева: только с виду - просто кусочек пластмассы c контактами. На самом деле она имеет 32К памяти, мощный процессор со встроенными криптографическими алгоритмами, множество команд управления и развитую внутреннюю файловую систему (на рисунке внизу).

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

Если же вы уже подошли к практической стороне дела, то здесь я дам рекомендации, где стоит, а где не стоит покупать Development Kit




Саму по себе смарт карту как либо перепрограммировать невозможно, банковский POS-терминал просто подает на вход смарт-карты введенный вами PIN-код, и карта выдает свой ответ: либо вход в ее файловую систему разрешен, либо запрещен. Если же говорить о специальных средствах программиста (APDU), то набор команд, которые можно подать на вход каждой карты строго специфицирован и ограничен. Подать какие-либо несанкционированные сигналы на контакты (отличающиеся от стандарта PC/SC - рисунок внизу) и перепрошить операционную систему невозможно принципиально, т.к. дорожки записи к ячейкам памяти c операционной системой смарт-карты специально пережгли еще на этапе производства микропроцессора - в неизменности и стабильности карточной операционной системы и содержится весь секрет надежности хранения данных (закрытого ключа шифрования) в смарт-карте. К области памяти, где хранится закрытый ключ шифрования, имеет доступ только неизменяемая и надежная операционная система, а она дает доступ к этим ячейкам только после правильно введенного PIN-кода и в принципе не может выводить закрытый ключ шифрования на наружные контакты, а только способна прямо внутри карты проводить с этим закрытым кодом криптографические операции.

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


 

Изучая идеи, заложенные в смарт-карты, я также очень проникся ценностью мысли о выносе закрытой половины ключа (а фактически даже вместе с сертификатом) за пределы компьютера - в специализированное криптографическое устройство (которое лишь кажется скромным клочком пластмассы, но по степени защиты ключа, пожалуй, превышает и ЭНИАК и шифровальную машину Гитлера!) Многие не знают, что задача поддержки смарт-карт уже встроена в Windows, начиная от Windows 95. И обороты карточного бизнеса на Западе составляют многие миллиарды долларов... Правда, в нашей стране ФАПСИ пока удалось затормозить технический прогресс, наложить лапу на этот бурно растущий бизнес и позволить торговать смарт-картами и программировать для них только по своей лицензии. Но несмотря на это, свое свободное время я с удовольствием трачу на изучение возможностей карт Cryptoflex, Cyberflex, Acos1 (других пока у меня нет). A попутно мне пришлось подтянуться по всем смежным вопросам: инфрастуктуре открытого ключа, серверу сертификатов, DES и RSA алгоритмам и т.д...




К сожалению, мои попытки внедрить хотя бы только вход в Windows по смарт-картам для ИМПЭ полностью провалились.

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

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

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

Но все дело в том, что все сказанное о надежном сервере, это лишь малая часть проблем, которая решается с внедрением смарт-карт в учебном заведении.

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

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

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

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

Но, увы глупость и костность мышления, не позволили мне продвинуть этот проект в ИМПЭ - несмотря на то, что карта с фотографией стоит всего 5 долларов, а карт-ридер оптом около 10 долларов...



Комментарии к этой страничке ( )
ссылка на эту страничку: http://www.vb-net.ru/card/index.htm
<Назад>  <На главную>  <В раздел ASP>  <В раздел NET>  <В раздел SQL>  <В раздел Разное>  <Написать автору>  < Поблагодарить>