| Главная | Гостевая книга | |
|
|
Электронные ключи Одним из самых надежных способов борьбы с нелегальным копированием является использование электронных ключей. Эти компактные устройства обычно устанавливаются на порты компьютера (параллельный ил последовательный), но существуют также решения для шины USB или для установки в слот ISA. При использовании ключа защищенное программное обеспечение "привязывается" не к конкретному компьютеру, а именно к ключу. Поэтому на практике пользователь может взять ключ с собой и продолжить работу с защищенными данными, скажем, на домашнем компьютере. В основе электронных ключей лежат ASIC-процессоры (Application Specific Integrated Circuit). Так, например, современный ASIC-чип, разработанный инженерами компании Aladdin, производится по 1,5-микронной Е2-технологии и содержит более 2500 вентилей на кристалле. По информации производителей электронных ключей (Aladdin, Rainbow), эти устройства, устанавливаемые на порты компьютера, "прозрачны" для периферийного оборудования и не мешают его работе. Многие электронные ключи позволяют осуществлять их касдирование (то есть подсоединять несколько таких устройств друг к другу, образуя цепь ключей длиной 10 и более штук). Электронные ключи, входящие в состав аппаратно-программной инструментальной системы серии Aladdin HASP, не содержат элементов питания, имеют до 496 байт EPROM-памяти, доступной для чтения и записи, и возможность генерации уникальной серии кодов с использованием функции y=f(x), где х - отправляемое в ключ целое число в диапазоне от 0 до 65 535, а у - возвращаемые ключом четыре целых числа из того же диапазона. Система HASP предоставляет широкий выбор различных методов защиты: 1.С использованием защитного "конверта" (Envelope) для уже готовых DOS и 16/32-разрядных Windows-приложений без вмешательства в исходный код программы. Защищаются программные файлы (в том числе и содержащие внутренние оверлеи). Тело программы кодируется, и в нее добавляется специальный модуль, который при запуске защищенной программы перехватывает управление. 2. С использованием функций API. Программа может осуществлять вызовы функции обращения к ключу из многих мест; результаты могут быть разбросаны по всему телу программы или библиотек DLL и хорошо замаскированы. Встраивание в программу вызовов API требует от разработчика некоторых усилий при программировании и модернизации программы. 3. С использованием структурного кода PCS (Pattern Code Security), который предполагает наличие в теле программы множества структур специального вида. При вызове обращения к ключу HASP в различных частях программы происходит изменение значений переменных во всех структурах, причем отследить причинно-следственную связь и логику происходящих изменений крайне сложно. Пожалуй, одним из основных достоинств электронных ключей с точки зрения разработчиков программного обеспечения является возможность применять известные методы маркетинга программ. Например, использование ключей со встроенным таймером позволяет предоставлять программы в лизинг (долгосрочную аренду с правом последующего выкупа), аренду и для ограниченного по времени использования (например, ключи серии TimeHASP). Не менее перспективной идеей для заинтересованных разработчиков является возможность контроля оплаты лицензии за установку новых клиентских частей сетевых программных продуктов. Электронные ключи, имеющие некоторый объем внутренней памяти, могут хранить идентификационную информацию о продукте, иметь счетчик запусков, определять тип версии (демонстрационная или рабочая), разрешать выполнение отдельных модулей программы, "помнить" таблицы адресов переходов, пароли и настройки программ. Такие ключи могут контролировать сотни выполняемых программ. В частности, электронный ключ Rainbow Sentinel SuperPro содержит 128 байт собственной памяти, доступной для чтения и записи. Она организована в виде шестидесяти четырех 16-битных слов, куда может быть записана служебная и пользовательская информация (тот же счетчик запусков программ и другие функции). Один сетевой электронный ключ позволяет организовать процедуру лицензирования в сети, то есть контролировать и ограничивать количество одновременно запущенных копий программы. Ключ может устанавливаться на выделенном или невыделенном сервере или на рабочей станции. Например, при подключении ключа NetHASP к серверу запускается специальная программа HASP-server (VAP, NLM, VxD или TSR-драйвер). Реальное количество лицензий задается при заводском программировании ключа (от 5 до Unlimited пользовательских лицензий). Но имеется возможность изменять количество сетевых лицензий в сторону уменьшения самим разработчиком защищаемых программ. Пользователь защищенных программ также может получить возможность дистанционного перепрограммирования ключа (при урегулировании с производителем программ всех финансовых вопросов): переустановить счетчик запусков программы, продлить срок аренды, увеличить число лицензий, перейти из демонстрационного режима в рабочий, обеспечить доступ к заблокированным модулям программы и многое другое. Выгода для производителей ясна: применение электронных ключей позволяет гибко выбирать схему защиты программного обеспечения и контроля за его оборотом. Процедура тиражирования защищенного программного продукта упрощается, так как защита на программу ставится только один раз, а потом тиражируется эталонный мастер-диск. Возникает вопрос: какая категория конечных пользователей заинтересована в такой защите? Напрашивается одна интересная аналогия: во всем мире, несмотря на доказанное преимущество использования пластиковых карт, при частных расчетах "приветствуются" наличные (по налоговым соображениям). Для естественного воспитания высокого уровня компьютерной культуры должны пройти десятилетия, причем сопровождаться этот процесс, на мой взгляд, должен уступками со стороны производителей, "шагами навстречу простым людям" (существенным снижением цен), а не демонстрацией силы и навязыванием многоуровневых защитных систем. Остается лишь добавить, что существует огромное множество вариаций электронных ключей, совместимых со всеми сетевыми средами, операционными системами (в том числе UNIX) и предназначенными для различных интерфейсов (в том числе для Macintosh ADB-порта, USB, японского стандарта Centronics36 и других). Одним из самых защищенных в мире считается электронный ключ Hardlock. ASIC-чип этих устройств программируется только с использованием специальной платы Crypto Programmer Card, что обеспечивает почти полностью безопасное хранение ключевой информации. Каждый экземпляр этой платы является уникальным и позволяет задать 43 680 векторов инициализации алгоритма кодирования, которые могут быть использованы при программировании ключа ASIC-чипа. По словам представителей компании Aladdin, логику работы чипа практически невозможно воспроизвести, а содержащийся в его памяти микрокод невозможно эмулировать или декодировать. Чип кодирует данные блоками по 64 бита. Количество комбинаций кода - 2 в 48-й степени. Сила тока, потребляемая этим устройством, составляет всего 100 мкА. Hardlock осуществляет защиту DOS/Windows-приложений и связанных с ними файлов данных в "прозрачном" режиме. При чтении данные автоматически декодируются, а при записи кодируются с использованием заданного аппаратно-реализованного алгоритма. Эту возможность данного устройства можно использовать для хранения и безопасной передачи информации в Internet. Большинство описанных выше систем защиты данных возводит препятствия для осуществления "кражи" данных (то есть их изъятия в момент отсутствия хозяина). Но существует и другой вариант: например, когда вас принуждают к снятию всех паролей и других степеней защиты, то есть происходит то, что на языке юристов квалифицируется как разбой. Представим себе достаточно маловероятную ситуацию, когда злоумышленники стоят за спиной и вежливо, но "аргументированно" просят открыть доступ к защищенным данным. Существуют системы защиты персональных данных, которые позволяют при этом побарахтаться. Одной из таких перспективных систем является SecretDisk 95, предназначенная для пользователей настольных и мобильных компьютеров, работающих под управлением Windows 95. Защищаемые данные хранятся на секретном логическом диске вашего винчестера в закодированном виде. Для доступа к данным необходимо предъявление пароля и электронного идентификатора. В качестве электронного идентификатора могут использоваться различные конфигурации электронных ключей (в том числе и для PCMCIA) и устройства для чтения смарт-карт. В памяти электронного идентификатора хранится главный ключ, без которого получение доступа к данным на секретном диске невозможно. Пользователи могут создать злоумышленникам (как, впрочем, и самим себе) дополнительные сложности, установив парольную защиту на секретный логический диск. В случае корректного входа в системе "появляется" новый диск, при записи на который данные кодируются, а при чтении - декодируются. Утилита администрирования позволяет менять размер секретных логических дисков (они могут быть и сетевыми), изменять пароли и настраивать систему защиты. |
| Главная | Гостевая книга | |