Статья обозревателя Computerworld, Элен Месмер "Алгоритмы шифрования надежны только в теории", перепечатанная в Computerworld Россия от 03.12.96, не только заинтересовала наших читателей, но и подвигнула одного из них на письмо в редакцию. Мы, в свою очередь, решили его напечатать, сочтя изложенные в письме соображения резонными.

Сознаюсь честно, подобно многим российским программистам, я на заре компьютеризации грешил тем, что нынче принято называть хакерством. Потому мне кажется, я понимаю тонкую душу хакера и хочу предостеречь горячие головы от напрасных творческих мук. Поскольку наша компания уже более четырех лет работает на российском рынке смарт-технологий, статья Элен Месмер "Алгоритмы шифрования надежны только в теории", CW от 03.12.96 вызвала у нас неподдельный интерес. Начнем с названия. Ее лучше было бы назвать "Несколько полезных советов по взлому смарт-карт" или как-нибудь в этом роде, поскольку фраза о том, что алгоритм (читай - описание процесса, теоретическое положение) устойчив теоретически, выглядит чистейшей тавтологией. А как он еще может быть устойчив? Между тем в статье сформулировано одно из базовых положений криптографической защиты данных: не только алгоритм, но и его реализация должны быть достаточно совершенны для обеспечения требуемой стойкости. Смарт-карты объективно уязвимы для взлома по многим причинам: они общедоступны, они содержат ключи, алгоритмы шифрования и данные одновременно, и, самое главное, они являются хранилищем денег. Поэтому взламывать смарт-карты не только интересно и престижно, но еще и выгодно. Как специалист, к предложенным Месмер методам могу добавить как минимум еще два. Первый метод - понижение тактовой частоты процессора смарт- карты для выполнения операций пошаговой трассировки. Делается это так: на контактной группе смарт-карты в стандарте ISO 7816-3 есть такая "ножка" - CLOCK (CPU Clock Frequency), вот ее-то и надо отключить, и вместо, например, 5 МГц подать 5 Гц. Это замедлит процессы, текущие в карте, в один миллион раз. Дальше, как говорится, дело техники.

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

А теперь прошу притормозить тех, кто уже вооружился нужным количеством "железа", программ и ноу-хау и приготовился к атаке на неизведанное.

Для того чтобы перевести разговор в практическую плоскость, возьмем конкретный тип смарт-карт - карты производства французской компании GEMPLUS Int. семейства MCOS, PCOS. Они изготавливаются с помощью электронных компонентов производства фирмы SGS-THOMPSON. Вот эти компоненты и называются в просторечии микропроцессором смарт-карты. Главная идея состоит в том, что микропроцессор проектируется и изготавливается только после всестороннего анализа потенциальных устремлений злоумышленников и возможных методик взлома. Так, например, все поле энергонезависимой памяти EEPROM на логическом и физическом уровне защищено контролем четности, как программы, так и данные, которые хранятся совместно. Поэтому случайное или умышленное искажение битов под внешним воздействием (нагрев или облучение) не останется незамеченным, а правильное функционирование случайно искаженных кодов процессора карты выглядит вообще фантастикой. Вместе с тем криптографические методы, описанные в обсуждаемой статье, предполагают, что нагрев и облучение искажают только ключи шифрования и данные и никак не сказываются на программных кодах.

Кроме того, микропроцессор содержит набор датчиков-сенсоров (SECURITY LOGIC) внешних воздействий различной физической природы. Датчики температуры, напряжения питания и тактовой частоты процессора (CLOCK) являются интервальными. Значение любого параметра вне допустимого интервала автоматически фиксируется. Открытие крышки микропроцессора или послойное спиливание (необходимое для применения электронного микроскопа) также контролируется специальными физическими датчиками. Таким образом, смарт-карта представляет собой высокоинтегрированное защищенное устройство, предназначенное для обработки секретной информации в условиях, если угодно, враждебной окружающей среды.

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

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


ВладимирЕвтушенко - начальник отдела системных разработок компании BGS Industrial. С ним можно связаться по электронной почте по адресу: bgs@bgs.ru