Интеллектуальные и физические возможности ключа во многом зависят от той элементной базы, на которой он собран. В настоящее время большинство ключей собираются на базе микросхем энергонезависимой электрически перепрограммируемой памяти. Это так называемая память EEPROM (Electrically Erasable Programmable Read-Only Memory) на базе заказных ASIC (Application Specific Integrated Circuit).
Ключи на базе EEPROM-микросхемы
Как правило, это одни из самых простых и недорогих ключей. Они выпускаются для параллельных портов Centronics. Для обеспечения их каскадирования в большинстве случаев используется мультиплексор. Количество ключей, которые могут работать каскадно, обычно не более трех. Ключи такого класса имеют "прозрачность", как правило, только для принтеров, работающих в стандартном протоколе Centronics. Двунаправленные протоколы, используемые многими струйными и лазерными принтерами, ими не поддерживаются. Размер памяти этих ключей, доступный для чтения-записи, в основном, не превышает 128 байт. Память в ключе организуется полями и требует дополнительной процедуры предварительного форматирования и структурирования. Кроме того, данный тип электронных ключей предъявляет очень высокие требования к качеству порта. Причем, чем мощнее и современнее компьютер, на который вы устанавливаете такой ключ, тем хуже он будет работать. В общем, главным преимуществом данного ключа является только его невысокая цена.
Ключи на базе ASIC-чипа
Этот тип ключей, наверное, самый привлекательный, т.к. все особенности их функционирования закладываются на стадии проектирования ASIC-чипа (заказной интегральной микросхемы специального применения). Перед изготовлением такого ключа под конкретного заказчика сначала с помощью специальной аппаратуры программируется ASIC-чип. Как минимум, в него заносится уникальный код, присвоенный этому заказчику, и, может быть, даже уникальный серийный номер изготавливаемого ключа. Эта информация доступна потом только для чтения и ее нельзя будет изменить никакими средствами. Ключ на базе ASIC-чипа имеет дополнительную защиту от эмуляции, при этом, как обещают разработчики, ее статистический анализ невозможно провести за приемлемое время.
Ключи на базе микропроцессора
Электронные ключи, выполненные на базе микропроцессора, как правило, предназначены для работы в открытых системах для защиты UNIX-приложений. Обычно микропроцессорные ключи подключаются к последовательному порту RS-232/423 рабочей станции и поддерживают платформы IBM RS6000, SUN, DEC Alpha, Silicon Graphics, HP, IBM-PC и т.д. Такие ключи выполняются как платформонезависимые. Внутренний микропроцессор ключа реализует некий сложный алгоритм преобразования данных. При работе защищенное приложение посылает ключу стандартный запрос. Ключ обрабатывает этот запрос и по заданному алгоритму выполняет некоторое преобразование данных. Микропроцессорные ключи обычно поставляются разработчикам программ чистыми с "исходными" кодами процедур доступа к ключу, так что разработчики сами могут их программировать в той среде или на той платформе, для которой пишется их приложение. Протокол обмена между ключом и компьютером (или рабочей станцией) динамически шифруется.
Sentinel Pro, NetSentinel Pro, Sentinel SuperPro.
Эти ключи выполнены на базе мощного ASIC-чипа компании RAINBOW Technologies. Каждый из чипов имеет уникальный код, присваиваемый производителю программного обеспечения, и реализует уникальный алгоритм преобразования входной последовательности данных в выходную. Эти ключи подключаются к параллельному порту и "прозрачны" для любых внешних устройств. Допустимо каскадное соединение ключей, но не более 5 ключей на один порт. Кроме того, ключи должны иметь различный Developer ID или разного производителя. Возможна совместная работа с другими ключами фирмы Rainbow Technologies, поддерживающими каскадирование, но при этом ключ Sentinel Pro должен стоять последним в цепочке. Если же необходимо отредактировать содержимое памяти ключа, то необходимо извлечь его из цепочки и программировать отдельно от других ключей.
Модель ключа | Sentinel Pro | NetSentinel Pro | Sentinel SuperPro |
Память | Нет | Нет | 56 байт |
Работа в сети | Нет | Да | Нет |
Размер (длина) | 54 мм | 54 мм | 42 мм |
Более подробную информацию об электронных ключах Sentinel можно получить на web-страничке RAINBOW Technologies по адресу: www.rainbow.com или в СП "Software Security Belarus" в Минске.
Электронный ключ MicroSENTINEL-UX предназначен для работы на рабочих станциях, в том числе Sun, DEC, Silicon Graphics, Apollo, HP и в различных операционных системах: UNIX, VMS, Sun, OS/2, Windows и другие. Ключ выполнен на базе 8-битного микропроцессора, имеет 32 байта доступной на чтение-запись EEPROM-памяти, поддерживает протоколы RS-232/423.
Ключ SentinelEve3 предназначен для подключения к ADB-порту компьютеров Apple Macintosh, PowerBook и совместимых, "прозрачен" для клавиатуры и других ADB-устройств, подключаемых каскадно. Ключ выполнен на микропроцессоре и имеет 32 слова EEROM-памяти, часть из которой доступна только на чтение, другая же часть предназначена для перезаписывания и хранения пользовательской информации - паролей, счетчиков и т.д. Операция записи защищена 16-битным паролем. Каждый ключ имеет четыре 16-ти разрядных счетчика, которые можно использовать для автоматического выбора алгоритма защиты. Количество возможных комбинаций возвращаемого кода, используемых в защитном алгоритме - 232. Ключи нельзя подсоединять к компьютеру при включенном питании и соединять каскадно более 5-ти штук.
HASP
Новое поколение ключей HASP (версия R3) выполнено на новом заказном ASIC-чипе. Новый ASIC-чип разработан инженерами компании ALADDIN и производится по 1,5-микронной технологии. Он содержит порядка 2500 вентилей на кристалле. Новый кристалл обеспечивает более высокий уровень защиты и полностью совместим с предыдущей версией, на основе которого производились ранние версии ключей HASP. Новый ключ HASP имеет существенно меньшие размеры, чем его предшественник. Его длина составляет всего 39 мм. Ключ HASP (R3) обеспечивает повышенную совместимость и прозрачность. Ключ сохраняет работоспособность при напряжении питания всего 1.8 B и потребляет ток менее 12 мкА. На этапе изготовления ASIC-чипа для ключей семейства HASP компанией ALADDIN Knowledge Systems определяется идентификационный код пользователя, уникальный серийный номер чипа и уникальная функция f(x). Далее в процессе эксплуатации чипа или ключа эта информация в нем не может быть изменена никакими средствами. Реализуемая чипом функция является генератором последовательности, где на каждое целое беззнаковое входное число из диапазона от 0 до 64К возвращается четыре целых беззнаковых числа. Эти значения постоянны для одной партии ключей. Использование механизма генерации чисел качественно усложняет задачу взлома программ, т.к. ключевая информация (пароли, шифровальные ключи, условия переходов) не хранится ни в теле самой программы, ни в памяти ключа ни в открытом, ни в зашифрованном виде. Память ключей HASP составляет в среднем до 4 Кбит. Для параллельного порта ключи выпускаются в различных модификациях - без памяти, с одним или четырьмя Кбит памяти. В Internet фирму ALADDIN можно найти по адресу: www.aladdin.ru.
HardLock
ASIC-чип компании FAST Software Security AG (в 1996 году приобретена компанией ALADDIN) производится по CMOS-технологии, содержит порядка 1200 вентилей и обеспечивает диапазон уникальных кодов до 248. Чип программируется только с использованием специальной платы Crypto Programmer Card (она поставляется отдельно и стоит порядка 150 DM). Эта плата вставляется в слот компьютера и позволяет записывать или повторно перезаписывать в чип уникальный код пользователя и настраивать алгоритм шифрования. Время программирования составляет порядка 1 секунды, напряжение программирования - 18 вольт. Используемый в чипе алгоритм шифрования не может быть воспроизведен с помощью стандартных программируемых логических матриц и т.п. Шифрование данных производится блоками по 64 бит.
Ключ HardLock E-Y-E имеет 128 байт памяти. Из них 96 байт программируются только с использованием платы Crypto Programmer Card и доступны из программ только на чтение. Остальные 32 байта памяти ключа могут использоваться из программы на чтение-запись.
Ключ HardLock Twin может подключаться либо к последовательному порту RS/232, либо к параллельному порту компьютера, обеспечивая этим максимальную свободу выбора для пользователя. В этом ключе используется ASIC-чип нового поколения, специально разработанный компанией для подобного применения.
Ключ HardLock PCMCIA выполнен на базе ASIC-чипа и полностью совместим со своим аналогом - ключом для параллельного порта HardLock E-Y-E и не требует внесения каких-либо изменений в программу. Ключ выполнен в стандарте Type II и имеет толщину 5 мм. Также как и HardLock E-Y-E, программирование ключа для PCMCIA-слота производится с помощью специальной платы Crypto Programmer Card. Ключи выпускаются в двух модификациях: без памяти и с памятью 128 байт (96 байт доступно только для чтения, 32 байта - для чтения/записи).
HardLock Double Face - это плата полный аналог ключа HardLock E-Y-E. Она предназначена для подключения к ISA-шине PC/AT-совместимых компьютеров одной своей стороной, а другой - к MCA-шине (Micro Channel) компьютеров PS/2.
WIBU-KEY
Ключ WIBU-KEY выпускает немецкая компания WIBU Systems. Основа этого ключа - программируемый с помощью специального адаптера ASIC-чип. ASIC имеет режим шифрования байта или блока с заданного адреса одним из 65536 выбранных алгоритмов. Алгоритмы кодирования различны для разных производителей или пользователей. Ключ обеспечивает скорость шифрования порядка 50 Кбайт за 500 мс на PC AT с тактовой частотой 25 МГц. В одном ключе может быть записано до 10 кодов различных производителей или пользователей. Код производителя или код фирмы (24 бита) задается производителем ключей и не может быть изменен, код пользователя (24 бита) и номер кодирующего алгоритма (16 бит) программируется перед поставкой защищенного программного обеспечения. Для обеспечения дополнительного уровня защищенности защищаемого приложения может использоваться еще 70 байт памяти ключа, куда записывается специальная сигнатура. Ключи WIBU-KEY имеют довольно приличные размеры (56*54*16 мм). Они выпускаются как для параллельного, так и для последовательных портов. Для их использования сначала необходимо приобрести Demo-Kit и лицензию, которые довольно прилично стоят (по моим данным, около 500 DM).
CryptoBox
Ключ CryptoBox немецкой компании Marx Datentechnik собран на базе PAL-чипа, выполненного по 1.5-микронной CMOS-технологии (Complementary Metal-Oxide-Semiconductor), имеет порядка 2800 вентилей. Этот ключ имеет 128 байт перезаписываемой EEPROM-памяти, из них доступно только 68 байт. Эта память может использоваться для хранения счетчика запусков или инсталляций, идентификационного кода и серийного номера программы, ключа шифрования (до 8 байт). Ключи "прозрачны" для принтера и могут работать каскадно. Этот тип ключей имеет довольно внушительный размер (62*53*17 мм), их вес составляет 45 грамм. CryptoBox выпускается в двух модификациях: для параллельного и для последовательного порта.
MicroGuard
Этот ключ выпускается компанией MicroMacro на базе ASIC-чипа. Ключ может иметь от 1 Кбит до 4 Кбит программируемой памяти (опционально). ASIC-чип имеет собственную память, в которую записывается код компании (8 байт), и 4 блока служебной памяти (3 * 8 + 3 байт). ASIC-чип реализует некоторый математический механизм, для активизации которого на вход необходимо подать 64-битную последовательность. То есть количество возможных комбинаций, используемых в защитном алгоритме - 264. Для доступа к памяти ключа как на чтение, так и на запись, используется 64-битный пароль. Ключи можно соединять каскадно до 15 штук.
Павел БЫЛЬ,
byll@saltus.belpak.minsk.by
Горячие темы