33
Новое поколение ключей HASP (версия R3) выполнено на заказном
ASIC-чипе, разработанном инженерами компании ALLADIN. Этот чип произ-
водится по 1,5-микронной технологии и содержит порядка 2500 вентилей на
кристалле. Кристалл обеспечивает более высокий уровень защиты и полностью
совместим с предыдущей версией, на основе которой производились ключи
HASP. Ключ HASP (R3) имеет существенно меньшие размеры, чем его предше-
ственник. Его длина составляет всего 39 мм.
На этапе изготовления ASIC-чипа для ключей семейства HASP компа-
нией ALLADIN Knowledge Systems определяется идентификационный код
пользователя, уникальный серийный номер чипа и уникальная функция f(х). В
процессе эксплуатации чипа или ключа эта информация не может быть измене-
на никакими средствами. Реализуемая чипом функция является генератором
последовательности, где на каждое
целое входное число без знака из диапазона
от 1 до 64 Кбайтов возвращается четыре целых числа без знака. Эти значения
постоянны для одной партии ключей. Использование механизма генерации чи-
сел качественно усложняет задачу взлома программ, так как ключевая инфор-
мация (пароли, шифровальные ключи, условия переходов, ветвлений програм-
мы или часть самого кода
и т.д.) не хранится ни в теле самой программы, ни в
памяти ключа ни в открытом, ни в зашифрованном виде. В этом случае из про-
граммы может быть исключено самое уязвимое звено любой защиты – условие
проверки элемента защиты.
Ключи на базе микропроцессоров
Электронные ключи, выполненные на базе микропроцессора, в основ-
ном предназначены для работы в открытых системах для защиты UNIX – при-
ложений. Обычно микропроцессорные ключи подсоединяются к последова-
тельному порту RS-232/432 рабочей станции и поддерживают платформы IBM
RS6000, SUN, DEC Alpfa, Silicon Grapfics, HP, IBM-PC. Эти ключи выполняют-
ся как платформонезависимые.
Внутренний микропроцессор ключа реализует некий сложный алго-
ритм преобразования данных. При
работе защищенное приложение посылает
ключу стандартный запрос. Ключ его обрабатывает и по заданному алгоритму
выполняет некие преобразования данных. Ключи разных производителей мо-
гут выполнять различные функции. Это - либо функция шифрования данных,
реализуемая процессором ключа, либо иной алгоритм общения защищенного
приложения с ключом.
Микропроцессорные ключи обычно поставляются разработчикам про-
грамм “чистыми” с
исходными кодами процедур доступа к ключу, так что раз-
работчики сами могут их программировать в той среде или на той платформе,
для которой пишется приложение. Протокол обмена между ключом и компью-
тером (рабочей станцией) динамически шифруется.