MorePC - Главная страница


О сайте

Регистрация

Обратная связь

Реклама на сайте

Публикации на сайте

Карикатуры

  Категории СВТ     Тесты и методики испытаний     Новости СВТ     Проблемы информатизации     Форум     Опросы     Словарь     Поиск  

     Средства защиты информации : Ключи для защиты программ : ALADDIN Software Security R.D. Hardlock  

Сравнить московские цены на ALADDIN Software Security R.D. Hardlock

ALADDIN Software Security R.D. Hardlock

версия для печати


Hardlock - электронный ключ, предназначенный для защиты приложений и связанных с ними файлов данных, позволяющий программировать ключи защиты и лицензировать авторское ПО. Механизм работы ключей Hardlock базируется на заказном ASIC-чипе (Application Specific Integrated Circuit) со встроенной EEPROM-памятью - уникальной разработке компании ALADDIN.

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

Чип программируется только с использованием специальной платы Crypto Programmer Card, после чего позволяет шифровать данные блоками по 64 бит. Количество комбинаций кода - 248. Напряжение питание ASIC-чипа - всего 1.5V, поэтому он устойчиво работает на всех портах в любых режимах. А малый ток потребления позволяет каскадировать практически любое количество ключей.

Компоненты защиты

Система защиты Hardlock (HL) базируется на трех компонентах:

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

Прозрачное шифрование

Hardlock осуществляет защиту 16- и 32-разрядных приложений и связанных с ними файлов данных в "прозрачном" режиме. При чтении данные автоматически расшифровываются, при записи - зашифровываются с использованием заданного аппаратно реализованного алгоритма. Эта возможность может использоваться для хранения и безопасной передачи информации в сети Интернет.

Шифрование производится блоками по 64 бит, причем для каждого нового блока ASIC-чип генерирует новый сеансовый ключ длиной 48 бит.

Простота защиты

Надежная защита обеспечивается очень простыми для пользователя средствами - Hardlock Bistro, и не требует длительного изучения, тестирования и отладки.

Espresso Wizard поможет установить защиту всего за 8 шагов.

Компоненты настройки

HL-Bistro включает в себя четыре компонента: Espresso, Espresso Wizard, Cappuccino и Latteccino.

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

Cappuccino - предназначен для программирования и тестирования ключей Hardlock. Параметры программирования берутся напрямую из HL Espresso или из проектного файла.

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

Система диагностирования HL-Diag - мощная инструментальная система для пользователей ключей, позволяющая быстро определить и устранить возникшую проблему при работе в DOS, Win16, Win32 или в сетях.

HL-Web - защита информации на Web- и FTP-сайтах методом "прозрачного" шифрования с использованием ключа Hardlock. Это решение не зависит от платформы Web-сервера, не требует его модификации и запуска на нем специфических приложений. Программа поддерживает удаленные сервера.

Работа в сетях

Для защиты приложений и баз данных, работающих в сети, необходим всего один ключ HL-Server. Он может быть установлен на выделенном или невыделенном сервере или на любой рабочей станции. Помимо функций защиты, ключ обеспечивает процедуру лицензирования в сети, позволяя, таким образом, задействовать только то количество лицензий, за которые они заплатили. HL-Server может работать в любых сетях с протоколами IPX, NetBIOS и TCP/IP.

Совместимость

Отличная совместимость ключей Hardlock обеспечивается за счет использования собственного ASIC-чипа, специально спроектированного для работы на любых PC , включая ноутбуки. А модель Hardlock Twin может работать как с параллельным портом, так и с последовательным, позволяя подключать через него практически любые устройства - принтеры, сканеры, модемы и т.п.

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

Программное обеспечение

Программное обеспечение для электронного ключа Hardlock включает в себя:

  • универсальное API для всех моделей ключей
  • автоматическую защиту приложений без модификации исходного кода
  • использование Мастера (Wizard) для защиты и программирования ключей
  • интерактивное руководство по встраиванию HL-API в приложения
  • систему тестирования

Поддержка

Hardlock может работать в DOS, Windows (включая 3.xx, NT, 95, 98), OS/2, Unix/Xenix, Linux, Solaris, в различных сетях (с протоколами IPX, NetBIOS, TCP/IP).



Концепция защиты системы Hardlock:



Уникальный ASIC-чип

Ключ Hardlock имеет специальную микросхему Application Specific Integrated Circuit или коротко ASIC. Все права на этот чип, который используется для хранения конфиденциальной информации во всех продуктах Hardlock, принадлежат компании ALADDIN. Этот чип изготовлен с использованием CMOS технологии с ячейками EEPROM памяти. Такая технология позволяет добиться высокой степени интеграции и в настоящее время является наилучшей защитой против неавторизованного доступа к записанной информации. Высокая степень интеграции позволяет использовать сложные алгоритмы, которые невозможно воспроизвести с использованием стандартных компонент (PAL, GAL и PEEL).

Принципы защиты

Защита программных приложений на базе электронного ключа Hardlock осуществляется следующим образом:  

  • Код хранится в распределенных EEPROM ячейках ASIC-чипа. Логическая структура ASIC гарантирует, что этот код не будет доступен через интерфейс чипа.
  • При программировании переменные, необходимые для работы прикладной программы, вводятся в качестве кода, а не открытого текста. Когда эти данные потребуются для выполняемой программы, они передаются программе шифрования в зашифрованном виде.
  • Программа расшифровывает их при помощи кода, хранящегося в ASIC, и возвращает открытый текст в программу. ASIC не посылает сам ключ в программу шифрования. Вместо этого, данные посылаются в ASIC, преобразуются с использованием хранящегося там кода и возвращаются в программу шифрования. Программа выполняет шифрование и расшифровывание, используя “временный” (сеансовый) ключ, генерируемый в процессе работы.
  • Ключевая информация, хранящаяся в ключе, защищена, поскольку никто - ни мы, ни разработчик, защитивший свою программу при помощи ключа, не имеет к ней доступа.
  • Разработчики ПО могут сами создавать свои ключи с использованием специальной платы Crypto Programmer Card.

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

Программу, грамотно защищенную ручным методом (API) или автоматически (Envelope) при помощи системы Hardlock, практически невозможно проанализировать и/или нелегально скопировать.

Шифрование данных

  •  шифрование данных производится блоками по 64 бит, за одно обращение к ключу может обрабатываться от 64 бит до 64Кбайт
  • длина ключа шифрования - 64 бит
  • ключ шифрования хранится в памяти ASIC-чипа, записывается туда с помощью платы Crypto Programmer Card самим разработчиком ПО
  • ключ шифрования хранится в ASIC-чипе
  • при работе ASIC не посылает сам ключ в программу шифрования
  • программа шифрования выполняет преобразование, используя аппаратно генерируемый ASIC-чипом “сеансовый” ключ
  • длина сеансового ключа 48 бит
  • пространство сеансовых ключей - 248
  • поддерживается как симметричное, так и асимметричное шифрование.

Сравнительные скорости шифрования:

CPU Скорость (Мбайт/сек)
AMD486DX4-100 1.2
Pentium-133 2.6
Pentium-150 2.9
Pentium-166 MMX 3.5
 
  • Шифрование производилось по 59 Кбайт за одно обращение к ключу
  • Весь буфер разбивался на блоки по 8 байт.

Особенности шифрования

Система шифрования данных Hardlock состоит из двух компонент:

  • аппаратной - электронного ключа Hardlock
  • программной - драйвера устройства Hardlock

Hardlock всегда имеет ASIC-чип и может иметь внешнюю энергонезависимую память, разделенную на две части: RAM и ROM. ASIC-чип ключа имеет встроенную энергонезависимую EEPROM-память, разделенную на два регистра:

  • Первый регистр содержит Master Key размером 64 бита. Master Key определяет криптографическое поведение системы. Регистр не доступен для чтения через интерфейс ASIC-чипа и может быть записан только с помощью криптоплаты (CPC) в процессе программирования ключа.
  • Второй регистр используется для обмена данными между ASIC-чипом и драйвером.

ASIC-чип реализует функцию, которая, используя данные из двух 64-битных регистров, генерирует выходную 48 битную последовательность. Эта функция используется для генерации сеансовых ключей.

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

Два режима шифрования

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

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

Режим шифрования неявно определяется способом вызова функции. Если при обращении к функции Hardlock API, осуществляющей шифрование, будет указан блок данных длиной 64 бита, то к нему будет применен режим строгого шифрования. Если размер блока больше 64 бит, то будет применен режим нестрогого шифрования. На рисунке ниже, поясняется работа системы при "строгом" шифровании одного 64-битного блока данных.

Для того чтобы зашифровать или расшифровать блок данных, необходимо использовать функцию HL_CODE(...), входящую в Hardlock API. При вызове ей требуется указать два параметра: адрес блока данных и его размер в блоках по 64 бита. Второй параметр определяет так же режим шифрования. Если второй параметр равен 1, то будет использован режим строгого шифрования.

При вызове функции HL_CODE(data_addr, 1) по адресу data_addr будет считан 64-битный блок данных. После этого блок данных помещается во входной буфер процедуры шифрования и в регистр ASIC-чипа. После получения блока данных ASIC-чип электронного ключа Hardlock сгенерирует сеансовый ключ на базе этого блока данных и Master-ключа. Таким образом, сеансовый ключ ВСЕГДА ЗАВИСИТ ОТ ДАННЫХ. Сгенерированный сеансовый ключ так же помещается во входной буфер процедуры шифрования. После этого процедура шифрует данные с использованием полученного сеансового ключа, и возвращает уже зашифрованный блок данных в Hardlock API, далее, полученный блок данных будет записан по тому же адресу, откуда был взят исходный блок данных.

При вызове функции HL_CODE(data_addr, n) по адресу data_addr будет считан блок данных длиной 64*n бит (или 8*n байт) и помещен во внутренний буфер драйвера. Для первого 64-битного блока данных будет применено "строгое" шифрование, как было описано в предыдущем абзаце, для следующих n-1 блоков, начиная со второго, будет применено "нестрогое" шифрование с генерацией сеансовых ключей на базе сеансового ключа, полученного для первого блока.

Функция HL_CODE(...)

Функция HL_CODE(...) содержит симметричный и несимметричный блочные алгоритмы преобразования данных K-EYE. При использовании вместе с ключом Hardlock, он шифрует данные 64-битными (8-байтными) блоками.

Функция HL_CODE(...) должна использоваться с указателем на определенную область данных и число зашифрованных 8-байтных блоков. За один вызов функции можно зашифровать до 64 Kб информации, т.е. 8192 блоков.

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

Программа 1: Программа 2:
Byte Block1 [8]; Byte Blockl [8];
Byte Block2 [8]; Byte Block2 [8];
HL_CODE (Blockl,1); HL_CODE (Blockl,2);
HL_CODE (Block2,1);

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

Скорость HL_CODE(...)

Функция HL_CODE(...) при длине блока 1 выполняет шифрование со скоростью около 8Kб в секунду (ключ на параллельном порту) на компьютере с процессором 486SX 20MHz. Это физическая скорость шифрования битов ключом Hardlock. Однако такая скорость реально не достигается, поскольку интерфейс API выполняет еще дополнительное тестирование и защиту данных от потери при шифровании или из-за недоступности ключа. Если функция HL_CODE(...) вызывается с большим количеством блоков, то не все биты посылаются в ключ Hardlock. Это гарантирует более высокую скорость шифрования больших объемов данных. Например, 64 блока (или 512 байт) шифруются примерно в 10 раз быстрее.

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


Hardlock не относится к криптографическим средствам и не требует наличия лицензии ФАПСИ (письмо отдела лицензирования и сертификации ФАПСИ № ОЛиС-1244 от 29.08.97).




Источник: ALADDIN Software Security R.D.

ALADDIN Software Security R.D. Hardlock Вы можете обсудить на форуме.




вверх
  Copyright by MorePC - обзоры, характеристики, рейтинги мониторов, принтеров, ноутбуков, сканеров и др. info@morepc.ru  
разработка, поддержка сайта -Global Arts